summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTakuji Tanaka <ttk@t-lab.opal.ne.jp>2024-04-29 14:27:21 +0000
committerTakuji Tanaka <ttk@t-lab.opal.ne.jp>2024-04-29 14:27:21 +0000
commitba00fec507cef3bfe1dc6619e1cdff812d58713a (patch)
treeef52ab9aee407eea783ecb2ff0d1352c9c2abc00
parentcfa76e7af8bebea38cd9a39f899f8535b1397311 (diff)
omegafonts: ver.2.2, Extend maximum character code
git-svn-id: svn://tug.org/texlive/trunk@71118 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Build/source/texk/web2c/help.h3
-rw-r--r--Build/source/texk/web2c/omegafonts/ChangeLog13
-rw-r--r--Build/source/texk/web2c/omegafonts/Makefile.am5
-rw-r--r--Build/source/texk/web2c/omegafonts/Makefile.in11
-rw-r--r--Build/source/texk/web2c/omegafonts/char_routines.c8
-rw-r--r--Build/source/texk/web2c/omegafonts/omfonts.c18
-rw-r--r--Build/source/texk/web2c/omegafonts/omfonts.h1
-rw-r--r--Build/source/texk/web2c/omegafonts/out_ofm.c1
-rwxr-xr-xBuild/source/texk/web2c/omegafonts/overbmp.test24
-rw-r--r--Build/source/texk/web2c/omegafonts/parse_ofm.c4
-rw-r--r--Build/source/texk/web2c/omegafonts/tests/adbjpn.opl22
-rw-r--r--Build/source/texk/web2c/omegafonts/tests/inbmp.opl12
-rw-r--r--Build/source/texk/web2c/omegafonts/tests/overbmp.opl6
-rw-r--r--Build/source/texk/web2c/omegafonts/tests/overbmp.ovp14
-rw-r--r--Build/source/texk/web2c/omegafonts/tests/overucs.opl46
-rw-r--r--Build/source/texk/web2c/omegafonts/tests/overucs.ovp111
16 files changed, 279 insertions, 20 deletions
diff --git a/Build/source/texk/web2c/help.h b/Build/source/texk/web2c/help.h
index 37f64b4e249..00737bb898a 100644
--- a/Build/source/texk/web2c/help.h
+++ b/Build/source/texk/web2c/help.h
@@ -350,6 +350,9 @@ const_string OVP2OVFHELP[] = {
" Default OVFFILE is basename of OVPFILE extended with `.ovf'.",
" Default OFMFILE is basename of OVFFILE extended with `.ofm'.",
"",
+#ifdef OMFONTS
+ "-omit-ofm do not output OFMFILE",
+#endif
"-help display this help and exit",
"-verbose display progress reports",
"-version output version information and exit",
diff --git a/Build/source/texk/web2c/omegafonts/ChangeLog b/Build/source/texk/web2c/omegafonts/ChangeLog
index d7df7a08bf6..7ee9ac9b7dc 100644
--- a/Build/source/texk/web2c/omegafonts/ChangeLog
+++ b/Build/source/texk/web2c/omegafonts/ChangeLog
@@ -1,3 +1,16 @@
+2024-04-29 TANAKA Takuji <ttk@t-lab.opal.ne.jp>
+
+ * omfonts.{c,h}, out_ofm.c:
+ Add new option '-omit-ofm' for 'omfonts -ovp2ovf'
+ * parse_ofm.c, char_routines.c:
+ Extend maximum character code from 0x10FFFF to 0xFFFFFF
+ to support new encoding of upTeX for combining characters.
+ https://github.com/texjporg/tex-jp-build/issues/46
+ * overbmp.test, tests/inbmp.opl, tests/over{bmp,ucs}.{opl,ovp},
+ tests/adbjpn.opl, Makefile.am: Update tests.
+
+ * omfonts.c: Version 2.2.
+
2023-09-03 TANAKA Takuji <ttk@t-lab.opal.ne.jp>
* {check,repeat,selectfont}.test: Update tests for Windows.
diff --git a/Build/source/texk/web2c/omegafonts/Makefile.am b/Build/source/texk/web2c/omegafonts/Makefile.am
index b7bcd38784a..f52580aa46f 100644
--- a/Build/source/texk/web2c/omegafonts/Makefile.am
+++ b/Build/source/texk/web2c/omegafonts/Makefile.am
@@ -153,8 +153,9 @@ DISTCLEANFILES += tests/Cherokee.tfm tests/OCherokee.ofm \
tests/OCherokee.opl tests/OCherokee.ovf \
tests/xCherokee.* tests/xOCherokee.*
## overbmp.test
-EXTRA_DIST += tests/inbmp.opl tests/overbmp.opl tests/overbmp.ovp
-DISTCLEANFILES += tests/xinbmp* tests/xoverbmp*
+EXTRA_DIST += tests/inbmp.opl tests/overbmp.opl tests/overbmp.ovp \
+ tests/overucs.opl tests/overucs.ovp adbjpn.opl
+DISTCLEANFILES += tests/xinbmp* tests/xoverbmp* tests/xoverucs* tests/xadbjpn*
## realnum.test
EXTRA_DIST += tests/realnum.opl tests/realnum.out
DISTCLEANFILES += tests/realnum.*
diff --git a/Build/source/texk/web2c/omegafonts/Makefile.in b/Build/source/texk/web2c/omegafonts/Makefile.in
index 99e5f6328ca..a63ee7d60b2 100644
--- a/Build/source/texk/web2c/omegafonts/Makefile.in
+++ b/Build/source/texk/web2c/omegafonts/Makefile.in
@@ -108,7 +108,6 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/web2c-disable.m4 \
$(top_srcdir)/../../m4/kpse-harfbuzz-flags.m4 \
$(top_srcdir)/../../m4/kpse-icu-flags.m4 \
$(top_srcdir)/../../m4/kpse-kpathsea-flags.m4 \
- $(top_srcdir)/../../m4/kpse-largefile.m4 \
$(top_srcdir)/../../m4/kpse-lex.m4 \
$(top_srcdir)/../../m4/kpse-lib-version.m4 \
$(top_srcdir)/../../m4/kpse-libpng-flags.m4 \
@@ -752,10 +751,11 @@ DISTCLEANFILES = pl-parser.output bad*.* tests/charwdr.* \
tests/xofont* tests/Cherokee.tfm tests/OCherokee.ofm \
tests/OCherokee.opl tests/OCherokee.ovf tests/xCherokee.* \
tests/xOCherokee.* tests/xinbmp* tests/xoverbmp* \
- tests/realnum.* tests/xrepeated.* tests/sample*.ofm \
- tests/sample*.ovf tests/sample1-h.opl tests/xsample*.out \
- tests/shortend.* tests/specialhex.ofm tests/specialhex.opl \
- tests/specialhex.ovf tests/xspecialhex.* tests/*yarabic*
+ tests/xoverucs* tests/xadbjpn* tests/realnum.* \
+ tests/xrepeated.* tests/sample*.ofm tests/sample*.ovf \
+ tests/sample1-h.opl tests/xsample*.out tests/shortend.* \
+ tests/specialhex.ofm tests/specialhex.opl tests/specialhex.ovf \
+ tests/xspecialhex.* tests/*yarabic*
linked_programs = ofm2opl opl2ofm ovf2ovp ovp2ovf
bin_links = \
omfonts$(EXEEXT):ofm2opl \
@@ -782,6 +782,7 @@ EXTRA_DIST = $(OMFONTS_tests) tests/badofm.ofm tests/badopl.opl \
tests/ofontv5.opl tests/ofontv5.ovp tests/ofontv6.opl \
tests/ofontv6.ovp tests/Cherokee.pl tests/OCherokee.ovp \
tests/inbmp.opl tests/overbmp.opl tests/overbmp.ovp \
+ tests/overucs.opl tests/overucs.ovp adbjpn.opl \
tests/realnum.opl tests/realnum.out tests/repeat.opl \
tests/repeated.opl tests/sample.out tests/sample.ovp \
tests/sample0-h.opl tests/shorten.opl tests/specialhex.ovp \
diff --git a/Build/source/texk/web2c/omegafonts/char_routines.c b/Build/source/texk/web2c/omegafonts/char_routines.c
index 75d370f27d0..61f2fbe4214 100644
--- a/Build/source/texk/web2c/omegafonts/char_routines.c
+++ b/Build/source/texk/web2c/omegafonts/char_routines.c
@@ -986,16 +986,16 @@ compute_ofm_character_info(void)
break;
}
case OFM_LEVEL0: {
- if (ec>0x10ffff)
+ if (ec>0xffffff)
fatal_error_1(
- "Char (%x) too big for OFM level-0 (max 10ffff); use level-2",
+ "Char (%x) too big for OFM level-0 (max ffffff); use level-2",
ec);
break;
}
case OFM_LEVEL1: {
- if (ec>0x10ffff)
+ if (ec>0xffffff)
fatal_error_1(
- "Char (%x) too big for OFM level-1 (max 10ffff); use level-2",
+ "Char (%x) too big for OFM level-1 (max ffffff); use level-2",
ec);
num_char_info = 0;
for (c = bc; c <= ec; c++) {
diff --git a/Build/source/texk/web2c/omegafonts/omfonts.c b/Build/source/texk/web2c/omegafonts/omfonts.c
index 7e8d4d2fa34..9bd87d27b5b 100644
--- a/Build/source/texk/web2c/omegafonts/omfonts.c
+++ b/Build/source/texk/web2c/omegafonts/omfonts.c
@@ -54,6 +54,7 @@ int verbose_option;
int char_format = CHAR_CODE_NUM;
int num_format = NUM_CODE_HEX;
int text_format = TEXT_CODE_MIXED;
+int omit_ofm = 0;
int program;
@@ -91,11 +92,11 @@ static const_string names_program[PROG_NUM] =
static const_string *names_help[PROG_NUM] =
{ OFM2OPLHELP, OPL2OFMHELP, OVF2OVPHELP, OVP2OVFHELP, OMFONTSHELP };
static const_string names_msg[PROG_NUM] = {
- "This is ofm2opl, Version 2.1",
- "This is opl2ofm, Version 2.1",
- "This is ovf2ovp, Version 2.1",
- "This is ovp2ovf, Version 2.1",
- "This is omfonts, Version 2.1"
+ "This is ofm2opl, Version 2.2",
+ "This is opl2ofm, Version 2.2",
+ "This is ovf2ovp, Version 2.2",
+ "This is ovp2ovf, Version 2.2",
+ "This is omfonts, Version 2.2"
};
int no_files=0;
@@ -109,6 +110,7 @@ static struct option long_options[] = {
{"num-format", 1, 0, 0},
{"charcode-format", 1, 0, 0},
{"text-format", 1, 0, 0},
+ {"omit-ofm", 0, 0, 0},
{"ofm2opl", 0, 0, 0},
{"opl2ofm", 0, 0, 0},
{"ovf2ovp", 0, 0, 0},
@@ -163,6 +165,8 @@ main (int argc, string *argv)
} else if (!strcmp(long_options[option_index ].name, "ovp2ovf")) {
if (program == PROG_OMFONTS) program = PROG_OVP2OVF;
else usage (names_program[program]);
+ } else if (!strcmp(long_options[option_index ].name, "omit-ofm")) {
+ omit_ofm = 1;
} else if (!strcmp(long_options[option_index ].name, "char-format")) {
if (!strcmp(optarg, "ascii")) char_format = CHAR_CODE_ASCII;
else if (!strcmp(optarg, "num")) char_format = CHAR_CODE_NUM;
@@ -313,12 +317,12 @@ main (int argc, string *argv)
case PROG_OVP2OVF: {
file_ovp = kpse_open_file(name_ovp, kpse_ovp_format);
rewritebin(file_ovf, name_ovf);
- rewritebin(file_ofm, name_ofm);
+ if (!omit_ofm) rewritebin(file_ofm, name_ofm);
init_tables();
yyin = file_ovp;
(void)yyparse();
output_ofm_file();
- (void)fclose(file_ofm);
+ if (!omit_ofm) (void)fclose(file_ofm);
output_ovf_file();
(void)fclose(file_ovf);
if (num_errors > 0) exit(1);
diff --git a/Build/source/texk/web2c/omegafonts/omfonts.h b/Build/source/texk/web2c/omegafonts/omfonts.h
index 6486c15c0c8..a22b95982d1 100644
--- a/Build/source/texk/web2c/omegafonts/omfonts.h
+++ b/Build/source/texk/web2c/omegafonts/omfonts.h
@@ -35,6 +35,7 @@ extern int verbose_option;
extern int char_format;
extern int num_format;
extern int text_format;
+extern int omit_ofm;
extern unsigned length_ofm;
extern unsigned length_ovf;
diff --git a/Build/source/texk/web2c/omegafonts/out_ofm.c b/Build/source/texk/web2c/omegafonts/out_ofm.c
index 0f8f515cd9a..bd7fbee2f52 100644
--- a/Build/source/texk/web2c/omegafonts/out_ofm.c
+++ b/Build/source/texk/web2c/omegafonts/out_ofm.c
@@ -42,6 +42,7 @@ void
output_ofm_file(void)
{
check_and_correct();
+ if (omit_ofm) return;
compute_ofm_extra_stuff();
compute_ofm_character_info();
compute_ofm_subsizes();
diff --git a/Build/source/texk/web2c/omegafonts/overbmp.test b/Build/source/texk/web2c/omegafonts/overbmp.test
index 809e000be2f..97fef55b62c 100755
--- a/Build/source/texk/web2c/omegafonts/overbmp.test
+++ b/Build/source/texk/web2c/omegafonts/overbmp.test
@@ -58,4 +58,28 @@ $_omfonts -ovf2ovp $tests/xoverbmp1 xoverbmp1 $tests/xoverbmp2 || rc=15
diff $tests/xoverbmp1.ovp $tests/xoverbmp2.ovp || rc=16
+
+#
+# JVF with characters of code points over UCS-range in upTeX encoding
+#
+$_omfonts -ovp2ovf $srcdir/$tests/overucs.ovp $tests/xoverucs || rc=21
+
+$_omfonts -ovp2ovf -omit-ofm $srcdir/$tests/overucs.ovp $tests/xoverucs1 || rc=22
+
+cmp $tests/xoverucs.ovf $tests/xoverucs1.ovf || rc=23
+
+$_omfonts -ofm2opl xoverucs $tests/xoverucs || rc=24
+
+diff $srcdir/$tests/overucs.opl $tests/xoverucs.opl || rc=25
+
+$_omfonts -ovf2ovp $tests/xoverucs xoverucs $tests/xoverucs.ovp || rc=26
+
+diff $srcdir/$tests/overucs.ovp $tests/xoverucs.ovp || rc=27
+
+$_omfonts -opl2ofm $srcdir/$tests/adbjpn $tests/xadbjpn || rc=28
+
+$_omfonts -ofm2opl xadbjpn $tests/xadbjpn || rc=29
+
+diff $srcdir/$tests/adbjpn.opl $tests/xadbjpn.opl || rc=30
+
exit $rc
diff --git a/Build/source/texk/web2c/omegafonts/parse_ofm.c b/Build/source/texk/web2c/omegafonts/parse_ofm.c
index 7aa0dadccbc..6eaea0f2079 100644
--- a/Build/source/texk/web2c/omegafonts/parse_ofm.c
+++ b/Build/source/texk/web2c/omegafonts/parse_ofm.c
@@ -187,14 +187,14 @@ ofm_organize(void)
eval_four_bytes(&ec);
eval_four_bytes(&nw);
eval_four_bytes(&nh);
- eval_four_bytes(&nd);
+ eval_four_bytes(&nd);
eval_four_bytes(&ni);
eval_four_bytes(&nl);
eval_four_bytes(&nk);
eval_four_bytes(&ne);
eval_four_bytes(&np);
eval_four_bytes(&font_dir);
- top_char = 0x10ffff;
+ top_char = 0xffffff;
top_width = 65535;
top_height = 255;
top_depth = 255;
diff --git a/Build/source/texk/web2c/omegafonts/tests/adbjpn.opl b/Build/source/texk/web2c/omegafonts/tests/adbjpn.opl
new file mode 100644
index 00000000000..a395342628a
--- /dev/null
+++ b/Build/source/texk/web2c/omegafonts/tests/adbjpn.opl
@@ -0,0 +1,22 @@
+(OFMLEVEL H 0)
+(FONTDIR TL)
+(FAMILY UNSPECIFIED)
+(FACE F MRR)
+(CODINGSCHEME UNSPECIFIED)
+(DESIGNSIZE R 10.0)
+(COMMENT DESIGNSIZE IS IN POINTS)
+(COMMENT OTHER SIZES ARE MULTIPLES OF DESIGNSIZE)
+(CHECKSUM H 293701E9)
+(SEVENBITSAFEFLAG FALSE)
+(CHARACTER H 2079
+ (CHARWD R 1.0)
+ )
+(CHARACTER H 3408
+ (CHARWD R 1.0)
+ )
+(CHARACTER H 37CA
+ (CHARWD R 1.0)
+ )
+(CHARACTER H 3F51
+ (CHARWD R 1.0)
+ )
diff --git a/Build/source/texk/web2c/omegafonts/tests/inbmp.opl b/Build/source/texk/web2c/omegafonts/tests/inbmp.opl
index 7f23d0b8298..a51e02055a8 100644
--- a/Build/source/texk/web2c/omegafonts/tests/inbmp.opl
+++ b/Build/source/texk/web2c/omegafonts/tests/inbmp.opl
@@ -8,9 +8,21 @@
(COMMENT OTHER SIZES ARE MULTIPLES OF DESIGNSIZE)
(CHECKSUM H AA6297E0)
(SEVENBITSAFEFLAG FALSE)
+(CHARACTER H 304B
+ (CHARWD R 1.0)
+ )
(CHARACTER H 4E00
(CHARWD R 1.0)
)
(CHARACTER H 53F1
(CHARWD R 1.0)
)
+(CHARACTER H 9038
+ (CHARWD R 1.0)
+ )
+(CHARACTER H FA25
+ (CHARWD R 1.0)
+ )
+(CHARACTER H FA6C
+ (CHARWD R 1.0)
+ )
diff --git a/Build/source/texk/web2c/omegafonts/tests/overbmp.opl b/Build/source/texk/web2c/omegafonts/tests/overbmp.opl
index c80f889b8b2..19eaf62f0e3 100644
--- a/Build/source/texk/web2c/omegafonts/tests/overbmp.opl
+++ b/Build/source/texk/web2c/omegafonts/tests/overbmp.opl
@@ -20,3 +20,9 @@
(CHARACTER H 20BB7
(CHARWD R 1.0)
)
+(CHARACTER H 242EE
+ (CHARWD R 1.0)
+ )
+(CHARACTER H 2F9DE
+ (CHARWD R 1.0)
+ )
diff --git a/Build/source/texk/web2c/omegafonts/tests/overbmp.ovp b/Build/source/texk/web2c/omegafonts/tests/overbmp.ovp
index 9110397b8d8..fa92efb4372 100644
--- a/Build/source/texk/web2c/omegafonts/tests/overbmp.ovp
+++ b/Build/source/texk/web2c/omegafonts/tests/overbmp.ovp
@@ -47,3 +47,17 @@
(SETCHAR H 53F1)
)
)
+(CHARACTER H 242EE
+ (CHARWD R 1.0)
+ (MAP
+ (SELECTFONT D 1)
+ (SETCHAR H 242EE)
+ )
+ )
+(CHARACTER H 2F9DE
+ (CHARWD R 1.0)
+ (MAP
+ (SELECTFONT D 1)
+ (SETCHAR H 2F9DE)
+ )
+ )
diff --git a/Build/source/texk/web2c/omegafonts/tests/overucs.opl b/Build/source/texk/web2c/omegafonts/tests/overucs.opl
new file mode 100644
index 00000000000..0a012d5ac30
--- /dev/null
+++ b/Build/source/texk/web2c/omegafonts/tests/overucs.opl
@@ -0,0 +1,46 @@
+(OFMLEVEL H 1)
+(FONTDIR TL)
+(FAMILY UNSPECIFIED)
+(FACE F MRR)
+(CODINGSCHEME UNSPECIFIED)
+(DESIGNSIZE R 10.0)
+(COMMENT DESIGNSIZE IS IN POINTS)
+(COMMENT OTHER SIZES ARE MULTIPLES OF DESIGNSIZE)
+(CHECKSUM H DD8C3992)
+(SEVENBITSAFEFLAG FALSE)
+(CHARACTER H 304B
+ (CHARWD R 1.0)
+ )
+(CHARACTER H 30EF
+ (CHARWD R 1.0)
+ )
+(CHARACTER H 9038
+ (CHARWD R 1.0)
+ )
+(CHARACTER H 242EE
+ (CHARWD R 1.0)
+ )
+(CHARACTER H 2230EF
+ (CHARWD R 1.0)
+ )
+(CHARACTER H 24304B
+ (CHARWD R 1.0)
+ )
+(CHARACTER H 408ED4
+ (CHARWD R 1.0)
+ )
+(CHARACTER H 409038
+ (CHARWD R 1.0)
+ )
+(CHARACTER H 4242EE
+ (CHARWD R 1.0)
+ )
+(CHARACTER H 8242EE
+ (CHARWD R 1.0)
+ )
+(CHARACTER H 849038
+ (CHARWD R 1.0)
+ )
+(CHARACTER H 8642EE
+ (CHARWD R 1.0)
+ )
diff --git a/Build/source/texk/web2c/omegafonts/tests/overucs.ovp b/Build/source/texk/web2c/omegafonts/tests/overucs.ovp
new file mode 100644
index 00000000000..68c610347c5
--- /dev/null
+++ b/Build/source/texk/web2c/omegafonts/tests/overucs.ovp
@@ -0,0 +1,111 @@
+(VTITLE JVF with characters of code points over UCS-range in upTeX encoding)
+(OFMLEVEL H 1)
+(FONTDIR TL)
+(FAMILY UNSPECIFIED)
+(FACE F MRR)
+(CODINGSCHEME UNSPECIFIED)
+(DESIGNSIZE R 10.0)
+(COMMENT DESIGNSIZE IS IN POINTS)
+(COMMENT OTHER SIZES ARE MULTIPLES OF DESIGNSIZE)
+(CHECKSUM H DD8C3992)
+(SEVENBITSAFEFLAG FALSE)
+(MAPFONT D 0
+ (FONTNAME xinbmp)
+ (FONTCHECKSUM H AA6297E0)
+ (FONTAT R 1.0)
+ (FONTDSIZE R 10.0)
+ )
+(MAPFONT D 1
+ (FONTNAME xoverbmp)
+ (FONTCHECKSUM H DD8C3992)
+ (FONTAT R 1.0)
+ (FONTDSIZE R 10.0)
+ )
+(MAPFONT D 2
+ (FONTNAME xadbjpn)
+ (FONTCHECKSUM H DD8C3992)
+ (FONTAT R 1.0)
+ (FONTDSIZE R 10.0)
+ )
+(CHARACTER H 304B
+ (CHARWD R 1.0)
+ (MAP
+ (SETCHAR H 304B)
+ )
+ )
+(CHARACTER H 30EF
+ (CHARWD R 1.0)
+ (MAP
+ (SELECTFONT D 1)
+ (SETCHAR H 30EF)
+ )
+ )
+(CHARACTER H 9038
+ (CHARWD R 1.0)
+ (MAP
+ (SETCHAR H 9038)
+ )
+ )
+(CHARACTER H 242EE
+ (CHARWD R 1.0)
+ (MAP
+ (SELECTFONT D 1)
+ (SETCHAR H 242EE)
+ )
+ )
+(CHARACTER H 2230EF
+ (CHARWD R 1.0)
+ (MAP
+ (SELECTFONT D 2)
+ (SETCHAR H 2079)
+ )
+ )
+(CHARACTER H 24304B
+ (CHARWD R 1.0)
+ (MAP
+ (SELECTFONT D 2)
+ (SETCHAR H 3F51)
+ )
+ )
+(CHARACTER H 408ED4
+ (CHARWD R 1.0)
+ (MAP
+ (SELECTFONT D 1)
+ (SETCHAR H 2F9DE)
+ )
+ )
+(CHARACTER H 409038
+ (CHARWD R 1.0)
+ (MAP
+ (SELECTFONT D 0)
+ (SETCHAR H FA25)
+ )
+ )
+(CHARACTER H 4242EE
+ (CHARWD R 1.0)
+ (MAP
+ (SELECTFONT D 0)
+ (SETCHAR H FA6C)
+ )
+ )
+(CHARACTER H 8242EE
+ (CHARWD R 1.0)
+ (MAP
+ (SELECTFONT D 2)
+ (SETCHAR H 37CA)
+ )
+ )
+(CHARACTER H 849038
+ (CHARWD R 1.0)
+ (MAP
+ (SELECTFONT D 2)
+ (SETCHAR H 3408)
+ )
+ )
+(CHARACTER H 8642EE
+ (CHARWD R 1.0)
+ (MAP
+ (SELECTFONT D 2)
+ (SETCHAR H 37C9)
+ )
+ )