summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/CJK/contrib
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2006-01-11 23:49:47 +0000
committerKarl Berry <karl@freefriends.org>2006-01-11 23:49:47 +0000
commit2f4fdf541dc04813bd2c8e2f3fad9a2ae66b71a3 (patch)
tree8a7953deed6e0f2035d658c473dd6bb1eb6c1468 /Master/texmf-dist/source/latex/CJK/contrib
parent802dd52e36f5dfdf39b9565798a01ac525ff5e48 (diff)
trunk/Master/texmf-dist/source/latex/CJK
git-svn-id: svn://tug.org/texlive/trunk@118 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/CJK/contrib')
-rwxr-xr-xMaster/texmf-dist/source/latex/CJK/contrib/wadalab/fixwada63
-rw-r--r--Master/texmf-dist/source/latex/CJK/contrib/wadalab/fixwada2.pl225
-rwxr-xr-xMaster/texmf-dist/source/latex/CJK/contrib/wadalab/makefont91
-rw-r--r--Master/texmf-dist/source/latex/CJK/contrib/wadalab/makeuniwada.pl316
-rw-r--r--Master/texmf-dist/source/latex/CJK/contrib/wadalab/wadalab.map187
5 files changed, 882 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/CJK/contrib/wadalab/fixwada b/Master/texmf-dist/source/latex/CJK/contrib/wadalab/fixwada
new file mode 100755
index 00000000000..acaded60a4a
--- /dev/null
+++ b/Master/texmf-dist/source/latex/CJK/contrib/wadalab/fixwada
@@ -0,0 +1,63 @@
+# This script fixes the Wadalab fonts which have been created with the
+# `makefont' script of the CJK package version 4.5.1 or earlier.
+#
+# It converts all PFB files in the current directory.
+
+for i in *.pfb; do
+ echo $i
+ mv $i $i.old
+ cat $i.old | \
+ t1disasm | \
+ awk '
+ {
+ sub(/001\.001/, "001.002")
+
+ if (/%%Creation/) {
+ print "%%CreationDate: 2003-Feb-07"
+ next
+ }
+
+ if (/0 -160 rmoveto/ && last_is_hsbw) {
+ last_is_hsbw = 0
+ next
+ }
+
+ if (/hsbw/) {
+ last_is_hsbw = 1
+ waiting_for_Xmoveto = 1
+ }
+ else
+ last_is_hsbw = 0
+
+ if (waiting_for_Xmoveto) {
+ if (/rmoveto/) {
+ printf "\t%d %d rmoveto\n", $1, $2 - 160
+ waiting_for_Xmoveto = 0
+ next
+ }
+ else if (/vmoveto/) {
+ printf "\t%d vmoveto\n", $1 - 160
+ waiting_for_Xmoveto = 0
+ next
+ }
+ else if (/hmoveto/) {
+ printf "\t%d %d rmoveto\n", $1, -160
+ waiting_for_Xmoveto = 0
+ next
+ }
+ }
+
+ if (/moveto/)
+ print "\tclosepath"
+
+ if (/hstem/) {
+ printf "\t%d %d hstem\n", $1 - 160, $2
+ next
+ }
+
+ print
+ }
+ ' | \
+ t1asm > $i
+ rm $i.old
+done
diff --git a/Master/texmf-dist/source/latex/CJK/contrib/wadalab/fixwada2.pl b/Master/texmf-dist/source/latex/CJK/contrib/wadalab/fixwada2.pl
new file mode 100644
index 00000000000..9c4a818da3d
--- /dev/null
+++ b/Master/texmf-dist/source/latex/CJK/contrib/wadalab/fixwada2.pl
@@ -0,0 +1,225 @@
+#! /usr/bin/perl -w
+#
+# This script fixes the Wadalab fonts which have been created with the
+# `makefont' script version 1.0 (from CJK 4.6.0), or which have been updated
+# with the `fixwada' script.
+#
+# . Make all glyph names compliant to the Adobe Glyph List (AGL) to
+# get proper ToUnicode mappings in PDF documents.
+#
+# . Fix the encoding vector in the PFBs to contain only glyphs which
+# actually have an outline.
+#
+# . Update the version number and creation date.
+#
+# . Fix a typo in the original fonts (`UniqueId' -> `UniqueID').
+#
+# The files `JIS0208.TXT' and `JIS0212.TXT' from the `OBSOLETE' directory in
+# the `MAPPINGS' tree on ftp.unicode.org are necessary for running this
+# script. It also reads the file `DNP.sfd' which gives the relationship
+# between JIS X 0208 (and JIS X 0212) in EUC encoding and wadalab's DNP font
+# encoding. Finally, the programs `t1asm' and `t1disasm' must be available
+# (and in the path).
+#
+# Call the script as
+#
+# perl fixwada2.pl wadalab_namestem [JIS0208|JIS0212]
+#
+# Example:
+#
+# perl fixwada2.pl dmj JIS0208
+#
+# `fixwada2' reads all PFB and AFM files from the given wadalab font
+# family and replaces them with new versions.
+
+use strict;
+
+my $prog = $0;
+$prog =~ s@.*/@@;
+
+if ($#ARGV != 1) {
+ die("usage: $prog wadalab_namestem [JIS0208|JIS0212]\n");
+}
+
+my $namestem = $ARGV[0];
+my $encoding = $ARGV[1];
+my $encfile;
+my $doshift;
+
+
+if ("\U$encoding" eq "JIS0208") {
+ $encfile = "JIS0208.TXT";
+ $doshift = 1;
+}
+elsif ("\U$encoding" eq "JIS0212") {
+ $encfile = "JIS0212.TXT";
+ $doshift = 0;
+}
+else {
+ die("$prog: unknown encoding\n");
+}
+
+
+# Read `DNP.sfd'.
+
+my %sfd;
+my @subfonts;
+
+print("Reading \`DNP.sfd'...\n");
+
+open(DNP, "DNP.sfd")
+|| die("$prog: can't open \`DNP.sfd': $!\n");
+
+# This loop doesn't handle the complete syntax of SFD files yet.
+while (<DNP>) {
+ chop;
+ my @field = split(" ");
+ next if ($#field < 0);
+ next if ($field[0] =~ /^#/);
+
+ my $suffix = $field[0];
+ push(@subfonts, $suffix);
+
+ shift(@field);
+ my $index = 0;
+
+ while (@field) {
+ if ($field[0] =~ /(.*):$/) {
+ $index = $1;
+ }
+ elsif ($field[0] =~ /(0x[0-9A-Fa-f]+)_(0x[0-9A-Fa-f]+)/) {
+ foreach my $i (hex($1) .. hex($2)) {
+ $sfd{$suffix . "c" . sprintf("%02X", $index)} = $i;
+ $index++;
+ }
+ }
+ shift(@field);
+ }
+}
+
+
+# Read encoding file.
+
+print("Reading \`$encfile'...\n");
+
+my %jisx;
+
+open(JISX, $encfile)
+|| die("$prog: can't open \`$encfile': $!\n");
+
+while (<JISX>) {
+ chop;
+ my @field = split(" ");
+ next if ($#field < 0);
+ next if ($field[0] =~ /^#/);
+
+ if ($doshift) {
+ shift(@field);
+ }
+
+ my $unicode = $field[1];
+ $unicode =~ s/0x//;
+ my $value = hex($field[0]) + 0x8080;
+ $jisx{$value} = $unicode;
+}
+
+
+# Process AFM files.
+
+foreach my $afm (@subfonts) {
+ my $filename = "$namestem$afm.afm";
+ print("Processing \`$filename'...\n");
+
+ if (!-f $filename) {
+ print("$prog: \`$filename' doesn't exist\n");
+ next;
+ }
+
+ rename($filename, "$filename.old");
+
+ open(INFILE, "$filename.old")
+ || die("$prog: can't open \`$filename.old': $!\n");
+ open(OUTFILE, ">", "$filename")
+ || die("$prog: can't open \`$filename': $!\n");
+
+ while (<INFILE>) {
+ # Replace the `cXX' entries with correct `uniXXXX' glyph names.
+ s/ N (.*?) ;/ N uni$jisx{$sfd{$afm . $1}} ;/;
+
+ # Update version number.
+ s/001\.001/001.004/;
+
+ print(OUTFILE $_);
+ }
+
+ close(INFILE);
+ close(OUTFILE);
+
+ unlink("$filename.old");
+}
+
+
+# Process PFB files.
+
+foreach my $pfb (@subfonts) {
+ my $arg;
+ my $filename = "$namestem$pfb.pfb";
+ print("Processing \`$filename'...\n");
+
+ if (!-f $filename) {
+ print("$prog: \`$filename' doesn't exist\n");
+ next;
+ }
+
+ rename($filename, "$filename.old");
+
+ $arg = "t1disasm < $filename.old > $filename.disasm.old";
+ system("$arg") == 0
+ || die("$prog: calling \`$arg' failed: $?");
+
+ open(INFILE, "$filename.disasm.old")
+ || die("$prog: can't open \`$filename.disasm.old': $!\n");
+ open(OUTFILE, ">", "$filename.disasm")
+ || die("$prog: can't open \`$filename.disasm': $!\n");
+
+ while (<INFILE>) {
+ # Replace the `cXX' entries with correct `uniXXXX' glyph names
+ # (or `.notdef' if there isn't one).
+ if (m@/(c.*?) @) {
+ my $replacement;
+ if (defined ($sfd{$pfb . $1})
+ && defined ($jisx{$sfd{$pfb . $1}})) {
+ $replacement = "uni$jisx{$sfd{$pfb . $1}}";
+ }
+ else {
+ $replacement = ".notdef";
+ }
+ s@/(c.*?) @/$replacement @;
+ }
+
+ # Fix a typo in original fonts.
+ s/UniqueId/UniqueID/;
+
+ # Update version number.
+ s/001\.002/001.004/;
+
+ # Update creation date.
+ s/2003-Feb-07/2005-Jul-29/;
+
+ print(OUTFILE $_);
+ }
+
+ close(INFILE);
+ close(OUTFILE);
+
+ $arg = "t1asm < $filename.disasm > $filename";
+ system("$arg") == 0
+ || die("$prog: calling \`$arg' failed: $?");
+
+ unlink("$filename.disasm.old", "$filename.disasm");
+ unlink("$filename.old");
+}
+
+print("Done.\n");
+
+# eof
diff --git a/Master/texmf-dist/source/latex/CJK/contrib/wadalab/makefont b/Master/texmf-dist/source/latex/CJK/contrib/wadalab/makefont
new file mode 100755
index 00000000000..7c70ef0c1ce
--- /dev/null
+++ b/Master/texmf-dist/source/latex/CJK/contrib/wadalab/makefont
@@ -0,0 +1,91 @@
+#!/bin/sh
+#
+# Version 1.0
+#
+# This script transforms Wadalab PFA and AFM files created by the
+# wftodm program into PFB and TFM files. All files in the current
+# directory and its subdirectories are converted.
+#
+# Additionally, it normalizes the font matrix so that the subfonts work
+# with pdfTeX; for convenience, it also inserts `closepath' commands to
+# end subpaths in glyphs.
+#
+# Note that an older version of this script (without a version number) has
+# some flaws; you should either regenerate all Wadalab subfonts or use the
+# `fixwada' script to fix PFB fonts which have already been created with
+# this older version.
+#
+# The programs t1asm, t1disasm, and afm2tfm must be in the path.
+
+for f in `find . -name '*.pfa' -print`; do
+ echo processing $f
+ name=`basename $f .pfa`
+ t1disasm < $name.pfa > $name.old
+
+ cat $name.old | \
+ awk '
+ {
+ sub(/001\.001/, "001.002")
+ sub(/\[.001 0 0 .001 0 -0.16\]/, "[.001 0 0 .001 0 0]")
+ sub(/\[0 0 1000 1000\]/, "[0 -160 1000 840]")
+
+ if (/%%Creation/) {
+ print "%%CreationDate: 2003-Feb-07"
+ next
+ }
+
+ if (/hsbw/)
+ waiting_for_Xmoveto = 1
+
+ if (waiting_for_Xmoveto) {
+ if (/rmoveto/) {
+ printf "\t%d %d rmoveto\n", $1, $2 - 160
+ waiting_for_Xmoveto = 0
+ next
+ }
+ if (/vmoveto/) {
+ printf "\t%d vmoveto\n", $1 - 160
+ waiting_for_Xmoveto = 0
+ next
+ }
+ if (/hmoveto/) {
+ printf "\t%d %d rmoveto\n", $1, -160
+ waiting_for_Xmoveto = 0
+ next
+ }
+ }
+
+ if (/moveto/)
+ print "\tclosepath"
+
+ if (/hstem/) {
+ printf "\t%d %d hstem\n", $1 - 160, $2
+ next
+ }
+
+ print
+ }
+ ' > $name.asm
+ rm $name.old
+
+ t1asm < $name.asm > $name.pfb
+ rm $name.asm
+done
+
+for f in `find . -name '*.afm' -print`; do
+ echo processing $f
+ name=`basename $f .afm`
+ mv $name.afm $name.old
+
+ cat $name.old | \
+ sed -e "
+ s/FontBBox 0 0 1000 1000/FontBBox 0 -160 1000 840/
+ s/B 0 0 1000 1000/B 0 -160 1000 840/
+ " > $name.afm
+
+ rm $name.old
+
+ afm2tfm $name.afm &> /dev/null
+done
+
+# EOF
diff --git a/Master/texmf-dist/source/latex/CJK/contrib/wadalab/makeuniwada.pl b/Master/texmf-dist/source/latex/CJK/contrib/wadalab/makeuniwada.pl
new file mode 100644
index 00000000000..fa8c205f3c8
--- /dev/null
+++ b/Master/texmf-dist/source/latex/CJK/contrib/wadalab/makeuniwada.pl
@@ -0,0 +1,316 @@
+#! /usr/bin/perl -w
+#
+# This script creates virtual subfonts in Unicode encoding for Wadalab
+# subfonts. It can merge a JIS X 0208 and JIS X 0212 family into a single
+# set of Unicode subfonts.
+#
+# As prerequisites, it needs the files `JIS0208.TXT' and `JIS0212.TXT' from
+# the `OBSOLETE' directory in the `MAPPINGS' tree on ftp.unicode.org. It
+# also needs the file `DNP.sfd' which gives the relationship between JIS X
+# 0208 (and JIS X 0212) in EUC encoding and wadalab's DNP font encoding.
+# The program `vptovf' must be available (and in the path).
+#
+# Call the script as
+#
+# perl makeuniwada.pl namestem1 [namestem2] uni_namestem
+#
+# `namestem1' is the font in JIS X 0208 encoding. The optional `namestem2'
+# argument is the font in JIS X 0212, and `uni_namestem' holds the prefix
+# for the Unicode subfonts. `makeuniwada.pl' reads all AFM files from the
+# given wadalab font families.
+#
+# Example:
+#
+# perl makeuniwada.pl dmj mc2j udmj
+#
+# This call mixes the mincho-0-12 (dmj) with mincho-1-8 (mc2j) families.
+
+use strict;
+
+my $prog = $0;
+$prog =~ s@.*/@@;
+
+if ($#ARGV < 1 || $#ARGV > 2) {
+ die("usage: $prog namestem1 [namestem2] uni_namestem\n");
+}
+
+my $namestem1;
+my $namestem2;
+my $two_encodings = 0;
+my @args = @ARGV;
+
+$namestem1 = $ARGV[0];
+if ($#ARGV == 2) {
+ $namestem2 = $ARGV[1];
+ $two_encodings = 1;
+ shift;
+}
+my $uninamestem = $ARGV[1];
+
+
+# Read `DNP.sfd'.
+
+my %sfd;
+my @subfonts;
+
+read_sfdfile("DNP.sfd", \%sfd, \@subfonts);
+
+
+# Read encoding files.
+#
+# The files `JIS0208.TXT' and `JIS0212.TXT' are from the `OBSOLETE'
+# directory in the `MAPPINGS' tree on ftp.unicode.org.
+
+my %jisx0208;
+my %jisx0212;
+
+read_encfile("JIS0208.TXT", \%jisx0208, 1);
+if ($two_encodings) {
+ read_encfile("JIS0212.TXT", \%jisx0212, 0);
+}
+
+
+# Read AFM files.
+
+my @unicode;
+
+foreach my $sub (@subfonts) {
+ my $afmname = "$namestem1$sub.afm";
+
+ if (-f $afmname) {
+ read_afmfile($afmname, \@unicode, \%sfd, \%jisx0208, $sub);
+ }
+}
+if ($two_encodings) {
+ foreach my $sub (@subfonts) {
+ my $afmname = "$namestem2$sub.afm";
+
+ if (-f $afmname) {
+ read_afmfile($afmname, \@unicode, \%sfd, \%jisx0212, $sub);
+ }
+ }
+}
+
+
+# Write VPL files.
+
+my $index = 0;
+foreach my $i (0 .. 255) {
+ my @entries;
+
+ foreach my $j (0 .. 255) {
+ if (defined ($unicode[$index])) {
+ push(@entries, "$j $unicode[$index]");
+ }
+ $index++;
+ }
+
+ if ($#entries >= 0) {
+ write_vplfile($uninamestem . sprintf("%02x.vpl", $i), \@entries);
+ }
+}
+
+
+# Generate VF and TFM files, then remove the VPL files.
+
+my @vplfiles = glob("$uninamestem*.vpl");
+foreach my $vplfile (@vplfiles) {
+ print("Processing \`$vplfile'...\n");
+ my $arg = "vptovf $vplfile";
+ system($arg) == 0
+ || die("$prog: calling \`$arg' failed: $?");;
+ print("Removing \`$vplfile'...\n");
+ unlink($vplfile);
+}
+
+
+# Read an SFD file.
+#
+# $1: Name of the SFD file.
+# $2: Reference to the target hash file, mapping from the subfont index
+# to the character code. The format of the hash key is the
+# concatenation of the subfont suffix, a space, and the index.
+# $3: Reference to a target array which holds the subfont suffixes.
+
+sub read_sfdfile {
+ my ($sfdfile, $sfdhash, $sfdarray) = @_;
+
+ print("Reading subfont definition file \`$sfdfile'...\n");
+
+ open(SFD, $sfdfile)
+ || die("$prog: can't open \`$sfdfile': $!\n");
+
+ # This loop doesn't handle the complete syntax of SFD files yet.
+ while (<SFD>) {
+ chop;
+ my @field = split(" ");
+ next if ($#field < 0);
+ next if ($field[0] =~ /^#/);
+
+ my $suffix = $field[0];
+ push(@{$sfdarray}, $suffix);
+
+ shift(@field);
+ my $index = 0;
+
+ while (@field) {
+ if ($field[0] =~ /(.*):$/) {
+ $index = $1;
+ }
+ elsif ($field[0] =~ /(0x[0-9A-Fa-f]+)_(0x[0-9A-Fa-f]+)/) {
+ foreach my $i (hex($1) .. hex($2)) {
+ $sfdhash->{"$suffix $index"} = $i;
+ $index++;
+ }
+ }
+ shift(@field);
+ }
+ }
+ close(SFD);
+}
+
+
+# Read encoding file.
+#
+# $1: Name of the encoding file.
+# $2: Reference to the target hash file, mapping from the charset
+# to Unicode.
+# $3: Set to 1 if the needed mapping data is not in field 1 and 2, but in
+# field 2 and 3.
+
+sub read_encfile {
+ my ($encfile, $enchash, $doshift) = @_;
+
+ print("Reading encoding file \`$encfile'...\n");
+
+ open(ENC, $encfile)
+ || die("$prog: can't open \`$encfile': $!\n");
+
+ while (<ENC>) {
+ chop;
+ my @field = split(" ");
+ next if ($#field < 0);
+ next if ($field[0] =~ /^#/);
+
+ if ($doshift) {
+ shift(@field);
+ }
+
+ my $unicode = $field[1];
+ $unicode =~ s/0x//;
+ my $value = hex($field[0]) + 0x8080;
+ $enchash->{$value} = hex($unicode);
+ }
+ close(ENC);
+}
+
+
+# Read AFM file.
+#
+# $1: Name of the AFM file.
+# $2: Reference to the target array which maps from Unicode to the string
+# "<subfont name> <subfont index> <width> <height> <depth>".
+# $3: Reference to the SFD hash (as extracted by `read_sfdfile').
+# $4: Reference to the encoding hash (as extracted by `read_encfile').
+# $5: Suffix.
+
+sub read_afmfile {
+ my ($afmfile, $unicarray, $sfdhash, $enchash, $suffix) = @_;
+
+ print("Reading metric file \`$afmfile'...\n");
+
+ open(AFM, $afmfile)
+ || die("$prog: can't open \`$afmfile': $!\n");
+
+ $afmfile =~ s/\.[^.]*$//;
+ while (<AFM>) {
+ if (/^C (\d+) ;/) {
+ my $key = "$suffix $1";
+ my $value = $sfdhash->{$key};
+ my $unicvalue = $enchash->{$value};
+ my $s = "$afmfile $1";
+
+ # Add advance width.
+ / WX (.*?) ;/;
+ $s .= " $1";
+
+ # Add glyph height and depth.
+ / B .*? (.*?) .*? (.*?) ;/;
+ $s .= " $1 $2";
+
+ $unicarray->[$unicvalue] = $s;
+ }
+ }
+ close(AFM);
+}
+
+
+# Write VPL file.
+#
+# $1: Name of the VPL file.
+# $2: Reference to list which holds the font entries. An entry has the
+# form `<idx> <subfont> <subfont_idx> <adv_width> <height> <depth>'.
+
+sub write_vplfile {
+ my ($vplfile, $glypharray) = @_;
+
+ my %subfonts;
+ my $subcount = 0;
+
+ foreach my $entry (@{$glypharray}) {
+ my @field = split(" ", $entry);
+ my $subfont = $field[1];
+ if (!defined ($subfonts{$subfont})) {
+ $subfonts{$subfont} = $subcount;
+ $subcount++;
+ }
+ }
+
+ print("Writing virtual property list file \`$vplfile'...\n");
+
+ open(VPL, ">", $vplfile)
+ || die("$prog: can't open \`$vplfile': $!\n");
+ my $oldfh = select(VPL);
+
+ print("(VTITLE Created by \`$prog " . join(" ", @args) . "')\n");
+ print("(FAMILY TEX-\U$uninamestem\E)\n");
+ print("(CODINGSCHEME DNPUNICODE)\n");
+ print("(FONTDIMEN\n");
+ print(" (SPACE R 0.5)\n");
+ print(" (XHEIGHT R 0.4)\n");
+ print(" (QUAD R 1)\n");
+ print(" )\n");
+
+ foreach my $subfont
+ (sort { $subfonts{$a} <=> $subfonts{$b} } keys %subfonts) {
+ print("(MAPFONT D $subfonts{$subfont}\n");
+ print(" (FONTNAME $subfont)\n");
+ print(" )\n");
+ }
+
+ foreach my $entry (@{$glypharray}) {
+ my @field = split(" ", $entry);
+ my $index = $field[0];
+ my $subnumber = $subfonts{$field[1]};
+ my $subindex = $field[2];
+ my $adv_width = $field[3] / 1000.0;
+ my $depth = $field[4] / -1000.0;
+ my $height = $field[5] / 1000.0;
+
+ print("(CHARACTER D $index\n");
+ print(" (CHARWD R $adv_width)\n");
+ print(" (CHARHT R $height)\n");
+ print(" (CHARDP R $depth)\n");
+ print(" (MAP\n");
+ print(" (SELECTFONT D $subnumber)\n");
+ print(" (SETCHAR D $subindex)\n");
+ print(" )\n");
+ print(" )\n");
+ }
+
+ close(VPL);
+ select($oldfh);
+}
+
+
+# eof
diff --git a/Master/texmf-dist/source/latex/CJK/contrib/wadalab/wadalab.map b/Master/texmf-dist/source/latex/CJK/contrib/wadalab/wadalab.map
new file mode 100644
index 00000000000..dd008d525fa
--- /dev/null
+++ b/Master/texmf-dist/source/latex/CJK/contrib/wadalab/wadalab.map
@@ -0,0 +1,187 @@
+
+% Wadalab Japanese fonts
+
+dgjgreek dgjgreek <dgjgreek.pfb
+dgjhira dgjhira <dgjhira.pfb
+dgjkata dgjkata <dgjkata.pfb
+dgjkeisen dgjkeisen <dgjkeisen.pfb
+dgjroma dgjroma <dgjroma.pfb
+dgjrussian dgjrussian <dgjrussian.pfb
+dgjsy dgjsy <dgjsy.pfb
+dgjka dgjka <dgjka.pfb
+dgjkb dgjkb <dgjkb.pfb
+dgjkc dgjkc <dgjkc.pfb
+dgjkd dgjkd <dgjkd.pfb
+dgjke dgjke <dgjke.pfb
+dgjkf dgjkf <dgjkf.pfb
+dgjkg dgjkg <dgjkg.pfb
+dgjkh dgjkh <dgjkh.pfb
+dgjki dgjki <dgjki.pfb
+dgjkj dgjkj <dgjkj.pfb
+dgjkk dgjkk <dgjkk.pfb
+dgjkl dgjkl <dgjkl.pfb
+dgjkm dgjkm <dgjkm.pfb
+dgjkn dgjkn <dgjkn.pfb
+dgjko dgjko <dgjko.pfb
+dgjkp dgjkp <dgjkp.pfb
+dgjkq dgjkq <dgjkq.pfb
+dgjkr dgjkr <dgjkr.pfb
+dgjks dgjks <dgjks.pfb
+dgjkt dgjkt <dgjkt.pfb
+dgjku dgjku <dgjku.pfb
+dgjkv dgjkv <dgjkv.pfb
+dgjkw dgjkw <dgjkw.pfb
+dgjkx dgjkx <dgjkx.pfb
+dgjky dgjky <dgjky.pfb
+dgjkz dgjkz <dgjkz.pfb
+
+dmjgreek dmjgreek <dmjgreek.pfb
+dmjhira dmjhira <dmjhira.pfb
+dmjkata dmjkata <dmjkata.pfb
+dmjkeisen dmjkeisen <dmjkeisen.pfb
+dmjroma dmjroma <dmjroma.pfb
+dmjrussian dmjrussian <dmjrussian.pfb
+dmjsy dmjsy <dmjsy.pfb
+dmjka dmjka <dmjka.pfb
+dmjkb dmjkb <dmjkb.pfb
+dmjkc dmjkc <dmjkc.pfb
+dmjkd dmjkd <dmjkd.pfb
+dmjke dmjke <dmjke.pfb
+dmjkf dmjkf <dmjkf.pfb
+dmjkg dmjkg <dmjkg.pfb
+dmjkh dmjkh <dmjkh.pfb
+dmjki dmjki <dmjki.pfb
+dmjkj dmjkj <dmjkj.pfb
+dmjkk dmjkk <dmjkk.pfb
+dmjkl dmjkl <dmjkl.pfb
+dmjkm dmjkm <dmjkm.pfb
+dmjkn dmjkn <dmjkn.pfb
+dmjko dmjko <dmjko.pfb
+dmjkp dmjkp <dmjkp.pfb
+dmjkq dmjkq <dmjkq.pfb
+dmjkr dmjkr <dmjkr.pfb
+dmjks dmjks <dmjks.pfb
+dmjkt dmjkt <dmjkt.pfb
+dmjku dmjku <dmjku.pfb
+dmjkv dmjkv <dmjkv.pfb
+dmjkw dmjkw <dmjkw.pfb
+dmjkx dmjkx <dmjkx.pfb
+dmjky dmjky <dmjky.pfb
+dmjkz dmjkz <dmjkz.pfb
+
+mcjgreek mcjgreek <mcjgreek.pfb
+mcjhira mcjhira <mcjhira.pfb
+mcjkata mcjkata <mcjkata.pfb
+mcjkeisen mcjkeisen <mcjkeisen.pfb
+mcjroma mcjroma <mcjroma.pfb
+mcjrussian mcjrussian <mcjrussian.pfb
+mcjsy mcjsy <mcjsy.pfb
+mcjka mcjka <mcjka.pfb
+mcjkb mcjkb <mcjkb.pfb
+mcjkc mcjkc <mcjkc.pfb
+mcjkd mcjkd <mcjkd.pfb
+mcjke mcjke <mcjke.pfb
+mcjkf mcjkf <mcjkf.pfb
+mcjkg mcjkg <mcjkg.pfb
+mcjkh mcjkh <mcjkh.pfb
+mcjki mcjki <mcjki.pfb
+mcjkj mcjkj <mcjkj.pfb
+mcjkk mcjkk <mcjkk.pfb
+mcjkl mcjkl <mcjkl.pfb
+mcjkm mcjkm <mcjkm.pfb
+mcjkn mcjkn <mcjkn.pfb
+mcjko mcjko <mcjko.pfb
+mcjkp mcjkp <mcjkp.pfb
+mcjkq mcjkq <mcjkq.pfb
+mcjkr mcjkr <mcjkr.pfb
+mcjks mcjks <mcjks.pfb
+mcjkt mcjkt <mcjkt.pfb
+mcjku mcjku <mcjku.pfb
+mcjkv mcjkv <mcjkv.pfb
+mcjkw mcjkw <mcjkw.pfb
+mcjkx mcjkx <mcjkx.pfb
+mcjky mcjky <mcjky.pfb
+mcjkz mcjkz <mcjkz.pfb
+
+mrjgreek mrjgreek <mrjgreek.pfb
+mrjhira mrjhira <mrjhira.pfb
+mrjkata mrjkata <mrjkata.pfb
+mrjkeisen mrjkeisen <mrjkeisen.pfb
+mrjroma mrjroma <mrjroma.pfb
+mrjrussian mrjrussian <mrjrussian.pfb
+mrjsy mrjsy <mrjsy.pfb
+mrjka mrjka <mrjka.pfb
+mrjkb mrjkb <mrjkb.pfb
+mrjkc mrjkc <mrjkc.pfb
+mrjkd mrjkd <mrjkd.pfb
+mrjke mrjke <mrjke.pfb
+mrjkf mrjkf <mrjkf.pfb
+mrjkg mrjkg <mrjkg.pfb
+mrjkh mrjkh <mrjkh.pfb
+mrjki mrjki <mrjki.pfb
+mrjkj mrjkj <mrjkj.pfb
+mrjkk mrjkk <mrjkk.pfb
+mrjkl mrjkl <mrjkl.pfb
+mrjkm mrjkm <mrjkm.pfb
+mrjkn mrjkn <mrjkn.pfb
+mrjko mrjko <mrjko.pfb
+mrjkp mrjkp <mrjkp.pfb
+mrjkq mrjkq <mrjkq.pfb
+mrjkr mrjkr <mrjkr.pfb
+mrjks mrjks <mrjks.pfb
+mrjkt mrjkt <mrjkt.pfb
+mrjku mrjku <mrjku.pfb
+mrjkv mrjkv <mrjkv.pfb
+mrjkw mrjkw <mrjkw.pfb
+mrjkx mrjkx <mrjkx.pfb
+mrjky mrjky <mrjky.pfb
+mrjkz mrjkz <mrjkz.pfb
+
+mc2jka mc2jka <mc2jka.pfb
+mc2jkb mc2jkb <mc2jkb.pfb
+mc2jkc mc2jkc <mc2jkc.pfb
+mc2jkd mc2jkd <mc2jkd.pfb
+mc2jke mc2jke <mc2jke.pfb
+mc2jkf mc2jkf <mc2jkf.pfb
+mc2jkg mc2jkg <mc2jkg.pfb
+mc2jkh mc2jkh <mc2jkh.pfb
+mc2jki mc2jki <mc2jki.pfb
+mc2jkj mc2jkj <mc2jkj.pfb
+mc2jkk mc2jkk <mc2jkk.pfb
+mc2jkl mc2jkl <mc2jkl.pfb
+mc2jkm mc2jkm <mc2jkm.pfb
+mc2jkn mc2jkn <mc2jkn.pfb
+mc2jko mc2jko <mc2jko.pfb
+mc2jkp mc2jkp <mc2jkp.pfb
+mc2jkq mc2jkq <mc2jkq.pfb
+mc2jkr mc2jkr <mc2jkr.pfb
+mc2jks mc2jks <mc2jks.pfb
+mc2jkt mc2jkt <mc2jkt.pfb
+mc2jku mc2jku <mc2jku.pfb
+mc2jkv mc2jkv <mc2jkv.pfb
+mc2jkw mc2jkw <mc2jkw.pfb
+
+mr2jka mr2jka <mr2jka.pfb
+mr2jkb mr2jkb <mr2jkb.pfb
+mr2jkc mr2jkc <mr2jkc.pfb
+mr2jkd mr2jkd <mr2jkd.pfb
+mr2jke mr2jke <mr2jke.pfb
+mr2jkf mr2jkf <mr2jkf.pfb
+mr2jkg mr2jkg <mr2jkg.pfb
+mr2jkh mr2jkh <mr2jkh.pfb
+mr2jki mr2jki <mr2jki.pfb
+mr2jkj mr2jkj <mr2jkj.pfb
+mr2jkk mr2jkk <mr2jkk.pfb
+mr2jkl mr2jkl <mr2jkl.pfb
+mr2jkm mr2jkm <mr2jkm.pfb
+mr2jkn mr2jkn <mr2jkn.pfb
+mr2jko mr2jko <mr2jko.pfb
+mr2jkp mr2jkp <mr2jkp.pfb
+mr2jkq mr2jkq <mr2jkq.pfb
+mr2jkr mr2jkr <mr2jkr.pfb
+mr2jks mr2jks <mr2jks.pfb
+mr2jkt mr2jkt <mr2jkt.pfb
+mr2jku mr2jku <mr2jku.pfb
+mr2jkv mr2jkv <mr2jkv.pfb
+mr2jkw mr2jkw <mr2jkw.pfb
+