summaryrefslogtreecommitdiff
path: root/Build/source/texk/web2c/omegafonts
diff options
context:
space:
mode:
authorPeter Breitenlohner <peb@mppmu.mpg.de>2014-08-15 13:34:11 +0000
committerPeter Breitenlohner <peb@mppmu.mpg.de>2014-08-15 13:34:11 +0000
commit15d75b35e0fe2d87ffbd38f6e017bf525130c62b (patch)
tree93c75e4572fdc61ec04e6d379aba8fbc50e87e10 /Build/source/texk/web2c/omegafonts
parent88eaeeb11e3cb2592cd51985bb58a8a15bc101dc (diff)
texk/web2c/omegafonts: Fix some bugs and add a Lig/Kern test
git-svn-id: svn://tug.org/texlive/trunk@34942 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/web2c/omegafonts')
-rw-r--r--Build/source/texk/web2c/omegafonts/ChangeLog13
-rw-r--r--Build/source/texk/web2c/omegafonts/Makefile.am14
-rw-r--r--Build/source/texk/web2c/omegafonts/Makefile.in27
-rw-r--r--Build/source/texk/web2c/omegafonts/char_routines.c11
-rwxr-xr-xBuild/source/texk/web2c/omegafonts/ligkern.test78
-rw-r--r--Build/source/texk/web2c/omegafonts/ligkern_routines.c72
-rw-r--r--Build/source/texk/web2c/omegafonts/ligkern_routines.h2
-rw-r--r--Build/source/texk/web2c/omegafonts/manifests.h5
-rw-r--r--Build/source/texk/web2c/omegafonts/print_routines.c10
-rw-r--r--Build/source/texk/web2c/omegafonts/print_routines.h1
-rw-r--r--Build/source/texk/web2c/omegafonts/tests/OCherokee.ovp2
-rw-r--r--Build/source/texk/web2c/omegafonts/tests/arabic.ovp2
-rw-r--r--Build/source/texk/web2c/omegafonts/tests/inbmp.opl2
-rw-r--r--Build/source/texk/web2c/omegafonts/tests/level1.opl2
-rw-r--r--Build/source/texk/web2c/omegafonts/tests/ligall.opl64
-rw-r--r--Build/source/texk/web2c/omegafonts/tests/ligbch.opl65
-rw-r--r--Build/source/texk/web2c/omegafonts/tests/ligbdy.opl66
-rw-r--r--Build/source/texk/web2c/omegafonts/tests/ligblb.opl575
-rw-r--r--Build/source/texk/web2c/omegafonts/tests/ligblv.opl573
-rw-r--r--Build/source/texk/web2c/omegafonts/tests/ligblv.ovp577
-rw-r--r--Build/source/texk/web2c/omegafonts/tests/ligloop1.ofmbin0 -> 204 bytes
-rw-r--r--Build/source/texk/web2c/omegafonts/tests/ligloop1.opl39
-rw-r--r--Build/source/texk/web2c/omegafonts/tests/ligloop2.opl24
-rw-r--r--Build/source/texk/web2c/omegafonts/tests/ofontr2.opl2
-rw-r--r--Build/source/texk/web2c/omegafonts/tests/ofontr2.ovp2
-rw-r--r--Build/source/texk/web2c/omegafonts/tests/ofontr3.opl2
-rw-r--r--Build/source/texk/web2c/omegafonts/tests/ofontr3.ovp2
-rw-r--r--Build/source/texk/web2c/omegafonts/tests/ofontv5.opl2
-rw-r--r--Build/source/texk/web2c/omegafonts/tests/ofontv5.ovp2
-rw-r--r--Build/source/texk/web2c/omegafonts/tests/ofontv6.opl2
-rw-r--r--Build/source/texk/web2c/omegafonts/tests/ofontv6.ovp2
-rw-r--r--Build/source/texk/web2c/omegafonts/tests/overbmp.opl2
-rw-r--r--Build/source/texk/web2c/omegafonts/tests/overbmp.ovp2
-rw-r--r--Build/source/texk/web2c/omegafonts/tests/repeated.opl2
-rw-r--r--Build/source/texk/web2c/omegafonts/tests/sample.out2
-rw-r--r--Build/source/texk/web2c/omegafonts/tests/specialhex.ovp2
36 files changed, 2211 insertions, 39 deletions
diff --git a/Build/source/texk/web2c/omegafonts/ChangeLog b/Build/source/texk/web2c/omegafonts/ChangeLog
index 4540c5de071..5d197de7a98 100644
--- a/Build/source/texk/web2c/omegafonts/ChangeLog
+++ b/Build/source/texk/web2c/omegafonts/ChangeLog
@@ -1,3 +1,16 @@
+2014-08-15 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * print_routines.c (print_ofm_level), tests/*.opl, tests/*.ovp:
+ Output OFMLEVEL in hex (as in Web2C version).
+
+ * char_routines.c, ligkern_routines.[ch], manifests.h,
+ print_routines.[ch]: Handle BOUNDARYCHAR.
+
+ * ligkern.test, tests/lig{all,bch,bdy,blb}.opl,
+ tests/ligblv.{opl,ovp}, tests/ligloop1.{ofm,opl},
+ tests/ligloop2.opl: Shell script and data for a new test.
+ * Makefile.am: Add the new test.
+
2014-08-10 Peter Breitenlohner <peb@mppmu.mpg.de>
* ligkern_routines.c (l_hash_input): Fixed another bug.
diff --git a/Build/source/texk/web2c/omegafonts/Makefile.am b/Build/source/texk/web2c/omegafonts/Makefile.am
index b3f297d8b73..87b7879a200 100644
--- a/Build/source/texk/web2c/omegafonts/Makefile.am
+++ b/Build/source/texk/web2c/omegafonts/Makefile.am
@@ -96,9 +96,9 @@ endif OTANGLE
## Tests
##
-OMFONTS_tests = charwd.test level1.test ofonts.test omfonts.test overbmp.test \
- realnum.test repeat.test selectfont.test shorten.test specialhex.test \
- yannis.test
+OMFONTS_tests = charwd.test level1.test ligkern.test ofonts.test omfonts.test \
+ overbmp.test realnum.test repeat.test selectfont.test shorten.test \
+ specialhex.test yannis.test
if OTANGLE
TESTS = $(OMFONTS_tests)
endif OTANGLE
@@ -110,7 +110,13 @@ EXTRA_DIST += tests/charwd-r.pl tests/charwd-v.vpl
DISTCLEANFILES += tests/charwdr.* tests/charwdv.*
## level1.test
EXTRA_DIST += tests/level1.opl
-DISTCLEANFILES += tests/xlevel1.ofm tests/xlevel1.opl
+DISTCLEANFILES += tests/xlevel1.*
+## ligkern.test
+EXTRA_DIST += \
+ tests/ligall.opl tests/ligbch.opl tests/ligbdy.opl \
+ tests/ligblb.opl tests/ligblv.opl tests/ligblv.ovp \
+ tests/ligloop1.ofm tests/ligloop1.opl tests/ligloop2.opl
+DISTCLEANFILES += tests/xlig*.*
## ofonts.test
EXTRA_DIST += tests/ofontr0.pl \
tests/ofontr1.pl tests/ofontr1.vpl \
diff --git a/Build/source/texk/web2c/omegafonts/Makefile.in b/Build/source/texk/web2c/omegafonts/Makefile.in
index bb3cd3a87a0..cb99142d003 100644
--- a/Build/source/texk/web2c/omegafonts/Makefile.in
+++ b/Build/source/texk/web2c/omegafonts/Makefile.in
@@ -705,14 +705,14 @@ call_omfonts_CPPFLAGS = -DEXEPROG=\"omfonts.exe\"
nodist_call_omfonts_SOURCES = ../callexe.c
call_omfonts_LDADD =
DISTCLEANFILES = pl-parser.output tests/charwdr.* tests/charwdv.* \
- tests/xlevel1.ofm tests/xlevel1.opl 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/xlevel1.* tests/xlig*.* 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*
linked_programs = ofm2opl opl2ofm ovf2ovp ovp2ovf
bin_links = \
omfonts$(EXEEXT):ofm2opl \
@@ -720,13 +720,16 @@ bin_links = \
omfonts$(EXEEXT):ovf2ovp \
omfonts$(EXEEXT):ovp2ovf
-OMFONTS_tests = charwd.test level1.test ofonts.test omfonts.test overbmp.test \
- realnum.test repeat.test selectfont.test shorten.test specialhex.test \
- yannis.test
+OMFONTS_tests = charwd.test level1.test ligkern.test ofonts.test omfonts.test \
+ overbmp.test realnum.test repeat.test selectfont.test shorten.test \
+ specialhex.test yannis.test
@OTANGLE_TRUE@TESTS = $(OMFONTS_tests)
EXTRA_DIST = $(OMFONTS_tests) tests/charwd-r.pl tests/charwd-v.vpl \
- tests/level1.opl tests/ofontr0.pl tests/ofontr1.pl \
+ tests/level1.opl tests/ligall.opl tests/ligbch.opl \
+ tests/ligbdy.opl tests/ligblb.opl tests/ligblv.opl \
+ tests/ligblv.ovp tests/ligloop1.ofm tests/ligloop1.opl \
+ tests/ligloop2.opl tests/ofontr0.pl tests/ofontr1.pl \
tests/ofontr1.vpl tests/ofontr2.opl tests/ofontr2.ovp \
tests/ofontr3.opl tests/ofontr3.ovp tests/ofontv4.pl \
tests/ofontv4.vpl tests/ofontv5.opl tests/ofontv5.ovp \
diff --git a/Build/source/texk/web2c/omegafonts/char_routines.c b/Build/source/texk/web2c/omegafonts/char_routines.c
index 2b0fe601ac5..fc8a0ef7a7f 100644
--- a/Build/source/texk/web2c/omegafonts/char_routines.c
+++ b/Build/source/texk/web2c/omegafonts/char_routines.c
@@ -657,6 +657,13 @@ adjust_labels(boolean play_with_starts)
label_table = (label_entry *)xmalloc((no_labels+2)*sizeof(label_entry));
label_ptr = 0;
label_table[0].rr = -1; /* sentinel */
+
+ if (bchar_label != 0) {
+ label_ptr = 1;
+ label_table[1].cc = -1;
+ label_table[1].rr = bchar_label;
+ }
+
FOR_ALL_CHARACTERS(
unsigned c = plane*PLANE + index;
if ((c>=bc) && (c<=ec) && (entry->tag == TAG_LIG)) {
@@ -699,6 +706,10 @@ adjust_labels(boolean play_with_starts)
}
}
}
+ if (bchar_label != 0) {
+ lig_kern_table[nl-1].entries[2] = (bchar_label + lk_offset) / (max_start + 1);
+ lig_kern_table[nl-1].entries[3] = (bchar_label + lk_offset) % (max_start + 1);
+ }
}
void
diff --git a/Build/source/texk/web2c/omegafonts/ligkern.test b/Build/source/texk/web2c/omegafonts/ligkern.test
new file mode 100755
index 00000000000..e6ec4675eda
--- /dev/null
+++ b/Build/source/texk/web2c/omegafonts/ligkern.test
@@ -0,0 +1,78 @@
+#! /bin/sh
+
+# Copyright (C) 2014 Peter Breitenlohner <tex-live@tug.org>
+# You may freely use, modify and/or distribute this file.
+
+test -d tests || mkdir -p tests
+
+TEXMFCNF=$srcdir/../../kpathsea
+OFMFONTS='.;./tests'
+export TEXMFCNF OFMFONTS
+
+ligfiles='ligall ligbch ligblb'
+
+for f in $ligfiles; do
+
+echo && echo "*** opl2ofm $f x$f"
+./omfonts -opl2ofm $srcdir/tests/$f tests/x$f || exit 1
+
+echo && echo "*** ofm2opl x$f x$f"
+./omfonts -ofm2opl tests/x$f tests/x$f || exit 1
+
+echo && echo "*** diff $f.opl x$f.opl"
+diff $srcdir/tests/$f.opl tests/x$f.opl || exit 1
+
+done
+
+ligfiles='ligbdy'
+
+for f in $ligfiles; do
+
+echo && echo "*** opl2ofm $f x$f"
+./omfonts -opl2ofm $srcdir/tests/$f tests/x$f || echo '*** failed ***'
+
+echo && echo "*** ofm2opl x$f x$f"
+./omfonts -ofm2opl tests/x$f tests/x$f || echo '*** failed ***'
+
+echo && echo "*** diff $f.opl x$f.opl"
+diff $srcdir/tests/$f.opl tests/x$f.opl || echo '*** failed ***'
+
+if false; then
+
+echo && echo "*** opl2ofm $f x$f"
+../wopl2ofm $srcdir/tests/$f tests/x$f || exit 1
+
+echo && echo "*** ofm2opl x$f x$f"
+./omfonts -ofm2opl tests/x$f tests/x$f || echo '*** failed ***'
+
+echo && echo "*** diff $f.opl x$f.opl"
+diff $srcdir/tests/$f.opl tests/x$f.opl || echo '*** failed ***'
+
+fi
+
+done
+
+echo && echo "*** ovp2ovf ligblv xligblv xligblv"
+./omfonts -ovp2ovf $srcdir/tests/ligblv tests/xligblv tests/xligblv || echo '*** failed ***'
+
+echo && echo "*** ofm2opl xligblv xligblv"
+./omfonts -ofm2opl tests/xligblv tests/xligblv || echo '*** failed ***'
+
+echo && echo "*** diff ligblv.opl xligblv.opl"
+diff $srcdir/tests/ligblv.opl tests/xligblv.opl >/dev/null || echo '*** failed ***'
+
+echo && echo "*** ofm2opl ligloop1 xligloop1"
+./omfonts -ofm2opl $srcdir/tests/ligloop1 tests/xligloop1 || exit 1
+
+echo && echo "*** diff ligloop1.opl xligloop1.opl"
+diff $srcdir/tests/ligloop1.opl tests/xligloop1.opl || exit 1
+
+echo && echo "*** opl2ofm xligloop1 xligloop1"
+./omfonts -opl2ofm tests/xligloop1 tests/xligloop1 || exit 1
+
+echo && echo "*** ofm2opl xligloop1 xligloop2"
+./omfonts -ofm2opl tests/xligloop1 tests/xligloop2 || exit 1
+
+echo && echo "*** diff ligloop1.opl xligloop1.opl"
+diff $srcdir/tests/ligloop2.opl tests/xligloop2.opl || exit 1
+
diff --git a/Build/source/texk/web2c/omegafonts/ligkern_routines.c b/Build/source/texk/web2c/omegafonts/ligkern_routines.c
index e92eb020048..50d8dd0a481 100644
--- a/Build/source/texk/web2c/omegafonts/ligkern_routines.c
+++ b/Build/source/texk/web2c/omegafonts/ligkern_routines.c
@@ -47,6 +47,7 @@ unsigned lk_step_ended=FALSE;
#define LIG_KERN_CHUNK 512
four_entries *lig_kern_table;
+unsigned char *activity;
static int lig_kern_size;
void
@@ -92,6 +93,7 @@ set_label_command(unsigned c)
if (min_nl <= nl) { min_nl = nl+1; }
lk_step_ended = FALSE;
no_labels++;
+
}
void
@@ -238,11 +240,13 @@ print_ligkern_table(void)
if (nl>0) {
left(); out("LIGTABLE"); out_ln();
for (i=0; i<nl; i++) {
- while ((sort_ptr<=label_ptr) && (i==label_table[sort_ptr].rr)) {
- print_label_command(label_table[sort_ptr].cc);
- sort_ptr++;
+ if (activity[i] != A_PASS_THROUGH) {
+ while ((sort_ptr<=label_ptr) && (i==label_table[sort_ptr].rr)) {
+ print_label_command(label_table[sort_ptr].cc);
+ sort_ptr++;
+ }
+ print_one_lig_kern_entry(lig_kern_table+i, TRUE);
}
- print_one_lig_kern_entry(lig_kern_table+i, TRUE);
}
right();
}
@@ -395,9 +399,11 @@ check_ligature_ends_properly(void)
if (nl>0) {
if (bchar_label != 0) {
/* make room for it; the actual label will be stored later */
+ lig_kern_table[nl].entries[0] = 255;
lig_kern_incr();
}
while (min_nl > nl) {
+ lig_kern_table[nl].entries[0] = 255;
lig_kern_incr();
}
if (lig_kern_table[nl].entries[0] == 0) {
@@ -490,7 +496,7 @@ doublecheck_ligatures(void)
if (nl>0) {
for (i=0; i<nl; i++) {
if (lig_kern_table[i].entries[2] < KERN_FLAG) {
- if (lig_kern_table[i].entries[0] != CHAR_BOUNDARY) {
+ if (lig_kern_table[i].entries[0] < 255) {
doublecheck_existence(
lig_kern_table[i].entries[1],
ligature_commands[lig_kern_table[i].entries[2]],
@@ -516,6 +522,42 @@ output_ofm_ligkern(void)
unsigned i;
four_entries *entry;
+ if (extra_loc_needed) { /* lk_offset==1 */
+ if (ofm_level == OFM_TFM) {
+ out_ofm(255); out_ofm(bchar); out_ofm(0); out_ofm(0);
+ } else {
+ out_ofm_2(255); out_ofm_2(bchar); out_ofm_2(0); out_ofm_2(0);
+ }
+ } else { /* output the redirection specs */
+ if (ofm_level == OFM_TFM) {
+ for (sort_ptr = 1; sort_ptr <= lk_offset; sort_ptr++) {
+ unsigned t = label_table[label_ptr].rr;
+ if (bchar != CHAR_BOUNDARY) {
+ out_ofm(255); out_ofm(bchar);
+ } else {
+ out_ofm(254); out_ofm(0);
+ }
+ out_ofm_2(t+lk_offset);
+ do {
+ label_ptr--;
+ } while(label_table[label_ptr].rr == t);
+ }
+ } else {
+ for (sort_ptr = 1; sort_ptr <= lk_offset; sort_ptr++) {
+ unsigned t = label_table[label_ptr].rr;
+ if (bchar != CHAR_BOUNDARY) {
+ out_ofm_2(255); out_ofm_2(bchar);
+ } else {
+ out_ofm_2(254); out_ofm_2(0);
+ }
+ out_ofm_2(t+lk_offset / 256); out_ofm_2(t+lk_offset % 256);
+ do {
+ label_ptr--;
+ } while(label_table[label_ptr].rr == t);
+ }
+ }
+ }
+
if (ofm_level == OFM_TFM) {
for (i=0; i<nl; i++) {
entry = lig_kern_table+i;
@@ -572,6 +614,26 @@ retrieve_ligkern_table(unsigned char *ofm_lig_table,
+ ((*(table_entry+7)) & 0xff);
}
}
+
+ activity = (unsigned char *) xcalloc(lig_kern_size, sizeof(unsigned char));
+
+ if (lig_kern_table[0].entries[0] == 255) {
+ bchar = lig_kern_table[0].entries[1];
+ print_boundary_char(bchar);
+ activity[0] = A_PASS_THROUGH;
+ }
+ if (lig_kern_table[nl-1].entries[0] == 255) {
+ unsigned r = 256 * lig_kern_table[nl-1].entries[2] + lig_kern_table[nl-1].entries[3];
+ if (r >= nl) {
+ fprintf(stderr, "Ligature/kern starting index for boundarychar is too large;\n"
+ "so I removed it.\n");
+ } else {
+ bchar_label = r;
+ activity[r] = A_ACCESSIBLE;
+ }
+ activity[nl-1] = A_PASS_THROUGH;
+ }
+
kern_table = (fix *) xmalloc((nk+1)*sizeof(int));
for (i=0; i<nk; i++) {
table_entry = ofm_kern_table+(4*i);
diff --git a/Build/source/texk/web2c/omegafonts/ligkern_routines.h b/Build/source/texk/web2c/omegafonts/ligkern_routines.h
index 8c53f9895f7..5fbaf524a3c 100644
--- a/Build/source/texk/web2c/omegafonts/ligkern_routines.h
+++ b/Build/source/texk/web2c/omegafonts/ligkern_routines.h
@@ -22,7 +22,9 @@ along with Omega; if not, write to the Free Software Foundation, Inc.,
*/
extern unsigned bchar;
+extern unsigned bchar_label;
extern four_entries *lig_kern_table;
+extern unsigned char *activity;
extern void set_label_command(unsigned);
extern void set_ligature_command(unsigned, unsigned, unsigned);
diff --git a/Build/source/texk/web2c/omegafonts/manifests.h b/Build/source/texk/web2c/omegafonts/manifests.h
index b44981998a0..f665ca7e654 100644
--- a/Build/source/texk/web2c/omegafonts/manifests.h
+++ b/Build/source/texk/web2c/omegafonts/manifests.h
@@ -79,6 +79,11 @@ along with Omega; if not, write to the Free Software Foundation, Inc.,
#define L_MAX 11
+/* Lig/Kern activities */
+#define A_UNREACHABLE 0 /* a program step not known to be reachable */
+#define A_PASS_THROUGH 1 /* a program step passed through on initialization */
+#define A_ACCESSIBLE 2 /* a program step that can be relevant */
+
/* Xerox faces */
#define F_MIN 0
diff --git a/Build/source/texk/web2c/omegafonts/print_routines.c b/Build/source/texk/web2c/omegafonts/print_routines.c
index 90f4226e86a..2a17e955f4f 100644
--- a/Build/source/texk/web2c/omegafonts/print_routines.c
+++ b/Build/source/texk/web2c/omegafonts/print_routines.c
@@ -97,6 +97,14 @@ print_font_dimension(void)
}
void
+print_boundary_char(unsigned val)
+{
+ left();
+ out("BOUNDARYCHAR");
+ out(" "); out_char(val); right();
+}
+
+void
print_ligature_table(void)
{
left();
@@ -390,7 +398,7 @@ print_ofm_level(unsigned val)
{
left();
out("OFMLEVEL");
- out(" "); out_int(val,10);
+ out(" "); out_int(val,16);
right();
}
diff --git a/Build/source/texk/web2c/omegafonts/print_routines.h b/Build/source/texk/web2c/omegafonts/print_routines.h
index b95a36faf76..24d509d4ae9 100644
--- a/Build/source/texk/web2c/omegafonts/print_routines.h
+++ b/Build/source/texk/web2c/omegafonts/print_routines.h
@@ -28,6 +28,7 @@ extern void print_family(void);
extern void print_face(void);
extern void print_seven_bit_safe_flag(void);
extern void print_font_dimension(void);
+extern void print_boundary_char(unsigned);
extern void print_ligature_table(void);
extern void print_character(unsigned);
extern void print_parameter(unsigned, fix);
diff --git a/Build/source/texk/web2c/omegafonts/tests/OCherokee.ovp b/Build/source/texk/web2c/omegafonts/tests/OCherokee.ovp
index ecbfd13f40f..5512218f8c7 100644
--- a/Build/source/texk/web2c/omegafonts/tests/OCherokee.ovp
+++ b/Build/source/texk/web2c/omegafonts/tests/OCherokee.ovp
@@ -1,5 +1,5 @@
(VTITLE )
-(OFMLEVEL D 0)
+(OFMLEVEL H 0)
(FONTDIR TL)
(FAMILY CHEROKEE)
(FACE F MRR)
diff --git a/Build/source/texk/web2c/omegafonts/tests/arabic.ovp b/Build/source/texk/web2c/omegafonts/tests/arabic.ovp
index 9a55575833a..55e3191d853 100644
--- a/Build/source/texk/web2c/omegafonts/tests/arabic.ovp
+++ b/Build/source/texk/web2c/omegafonts/tests/arabic.ovp
@@ -1,4 +1,4 @@
-(OFMLEVEL D 0)
+(OFMLEVEL H 0)
(FONTDIR TL)
(FAMILY YARABIC)
(FACE F MRR)
diff --git a/Build/source/texk/web2c/omegafonts/tests/inbmp.opl b/Build/source/texk/web2c/omegafonts/tests/inbmp.opl
index 46eab47d831..7f23d0b8298 100644
--- a/Build/source/texk/web2c/omegafonts/tests/inbmp.opl
+++ b/Build/source/texk/web2c/omegafonts/tests/inbmp.opl
@@ -1,4 +1,4 @@
-(OFMLEVEL D 0)
+(OFMLEVEL H 0)
(FONTDIR TL)
(FAMILY UNSPECIFIED)
(FACE F MRR)
diff --git a/Build/source/texk/web2c/omegafonts/tests/level1.opl b/Build/source/texk/web2c/omegafonts/tests/level1.opl
index 048e6b14f0e..f9c40f531fb 100644
--- a/Build/source/texk/web2c/omegafonts/tests/level1.opl
+++ b/Build/source/texk/web2c/omegafonts/tests/level1.opl
@@ -1,4 +1,4 @@
-(OFMLEVEL D 1)
+(OFMLEVEL H 1)
(FONTDIR TL)
(FAMILY UNSPECIFIED)
(FACE F MRR)
diff --git a/Build/source/texk/web2c/omegafonts/tests/ligall.opl b/Build/source/texk/web2c/omegafonts/tests/ligall.opl
new file mode 100644
index 00000000000..10ebf7ac5f6
--- /dev/null
+++ b/Build/source/texk/web2c/omegafonts/tests/ligall.opl
@@ -0,0 +1,64 @@
+(OFMLEVEL H 0)
+(FONTDIR TL)
+(FAMILY UNSPECIFIED)
+(FACE F MRR)
+(CODINGSCHEME LIGKERN TEST: NOT A REAL FONT)
+(DESIGNSIZE R 10.0)
+(COMMENT DESIGNSIZE IS IN POINTS)
+(COMMENT OTHER SIZES ARE MULTIPLES OF DESIGNSIZE)
+(CHECKSUM H B28E428D)
+(SEVENBITSAFEFLAG FALSE)
+(LIGTABLE
+ (LABEL H 41)
+ (LIG H 41 H 44)
+ (LIG/ H 42 H 44)
+ (/LIG H 43 H 44)
+ (STOP)
+ (LABEL H 42)
+ (/LIG/ H 41 H 44)
+ (LIG/> H 42 H 44)
+ (/LIG> H 43 H 44)
+ (STOP)
+ (LABEL H 43)
+ (/LIG/> H 41 H 44)
+ (/LIG/>> H 42 H 44)
+ (KRN H 43 R 0.125)
+ (STOP)
+ (LABEL H 44)
+ (KRN H 41 R 0.25)
+ (KRN H 42 R 0.375)
+ (KRN H 43 R 0.5)
+ (STOP)
+ )
+(CHARACTER H 41
+ (CHARWD R 0.0)
+ (COMMENT
+ (LIG H 41 H 44)
+ (LIG/ H 42 H 44)
+ (/LIG H 43 H 44)
+ )
+ )
+(CHARACTER H 42
+ (CHARWD R 0.125)
+ (COMMENT
+ (/LIG/ H 41 H 44)
+ (LIG/> H 42 H 44)
+ (/LIG> H 43 H 44)
+ )
+ )
+(CHARACTER H 43
+ (CHARWD R 0.25)
+ (COMMENT
+ (/LIG/> H 41 H 44)
+ (/LIG/>> H 42 H 44)
+ (KRN H 43 R 0.125)
+ )
+ )
+(CHARACTER H 44
+ (CHARWD R 0.5)
+ (COMMENT
+ (KRN H 41 R 0.25)
+ (KRN H 42 R 0.375)
+ (KRN H 43 R 0.5)
+ )
+ )
diff --git a/Build/source/texk/web2c/omegafonts/tests/ligbch.opl b/Build/source/texk/web2c/omegafonts/tests/ligbch.opl
new file mode 100644
index 00000000000..05e1dc7bef6
--- /dev/null
+++ b/Build/source/texk/web2c/omegafonts/tests/ligbch.opl
@@ -0,0 +1,65 @@
+(OFMLEVEL H 0)
+(FONTDIR TL)
+(FAMILY UNSPECIFIED)
+(FACE F MRR)
+(CODINGSCHEME TEX TEST: NOT A REAL FONT)
+(DESIGNSIZE R 10.0)
+(COMMENT DESIGNSIZE IS IN POINTS)
+(COMMENT OTHER SIZES ARE MULTIPLES OF DESIGNSIZE)
+(CHECKSUM H B28E428D)
+(SEVENBITSAFEFLAG FALSE)
+(BOUNDARYCHAR H 44)
+(LIGTABLE
+ (LABEL H 41)
+ (LIG H 41 H 44)
+ (LIG/ H 42 H 44)
+ (/LIG H 43 H 44)
+ (STOP)
+ (LABEL H 42)
+ (/LIG/ H 41 H 44)
+ (LIG/> H 42 H 44)
+ (/LIG> H 43 H 44)
+ (STOP)
+ (LABEL H 43)
+ (/LIG/> H 41 H 44)
+ (/LIG/>> H 42 H 44)
+ (KRN H 43 R 0.125)
+ (STOP)
+ (LABEL H 44)
+ (KRN H 41 R 0.25)
+ (KRN H 42 R 0.375)
+ (KRN H 43 R 0.5)
+ (STOP)
+ )
+(CHARACTER H 41
+ (CHARWD R 0.0)
+ (COMMENT
+ (LIG H 41 H 44)
+ (LIG/ H 42 H 44)
+ (/LIG H 43 H 44)
+ )
+ )
+(CHARACTER H 42
+ (CHARWD R 0.125)
+ (COMMENT
+ (/LIG/ H 41 H 44)
+ (LIG/> H 42 H 44)
+ (/LIG> H 43 H 44)
+ )
+ )
+(CHARACTER H 43
+ (CHARWD R 0.25)
+ (COMMENT
+ (/LIG/> H 41 H 44)
+ (/LIG/>> H 42 H 44)
+ (KRN H 43 R 0.125)
+ )
+ )
+(CHARACTER H 44
+ (CHARWD R 0.5)
+ (COMMENT
+ (KRN H 41 R 0.25)
+ (KRN H 42 R 0.375)
+ (KRN H 43 R 0.5)
+ )
+ )
diff --git a/Build/source/texk/web2c/omegafonts/tests/ligbdy.opl b/Build/source/texk/web2c/omegafonts/tests/ligbdy.opl
new file mode 100644
index 00000000000..1616d72cdb8
--- /dev/null
+++ b/Build/source/texk/web2c/omegafonts/tests/ligbdy.opl
@@ -0,0 +1,66 @@
+(OFMLEVEL H 0)
+(FONTDIR TL)
+(FAMILY UNSPECIFIED)
+(FACE F MRR)
+(CODINGSCHEME TEX TEST: NOT A REAL FONT)
+(DESIGNSIZE R 10.0)
+(COMMENT DESIGNSIZE IS IN POINTS)
+(COMMENT OTHER SIZES ARE MULTIPLES OF DESIGNSIZE)
+(CHECKSUM H B28E428D)
+(SEVENBITSAFEFLAG FALSE)
+(BOUNDARYCHAR H 44)
+(LIGTABLE
+ (LABEL H 41)
+ (LIG H 41 H 44)
+ (LIG/ H 42 H 44)
+ (/LIG H 43 H 44)
+ (STOP)
+ (LABEL H 42)
+ (/LIG/ H 41 H 44)
+ (LIG/> H 42 H 44)
+ (/LIG> H 43 H 44)
+ (STOP)
+ (LABEL H 43)
+ (/LIG/> H 41 H 44)
+ (/LIG/>> H 42 H 44)
+ (KRN H 43 R 0.125)
+ (STOP)
+ (LABEL BOUNDARYCHAR)
+ (LABEL H 44)
+ (KRN H 41 R 0.25)
+ (KRN H 42 R 0.375)
+ (KRN H 43 R 0.5)
+ (STOP)
+ )
+(CHARACTER H 41
+ (CHARWD R 0.0)
+ (COMMENT
+ (LIG H 41 H 44)
+ (LIG/ H 42 H 44)
+ (/LIG H 43 H 44)
+ )
+ )
+(CHARACTER H 42
+ (CHARWD R 0.125)
+ (COMMENT
+ (/LIG/ H 41 H 44)
+ (LIG/> H 42 H 44)
+ (/LIG> H 43 H 44)
+ )
+ )
+(CHARACTER H 43
+ (CHARWD R 0.25)
+ (COMMENT
+ (/LIG/> H 41 H 44)
+ (/LIG/>> H 42 H 44)
+ (KRN H 43 R 0.125)
+ )
+ )
+(CHARACTER H 44
+ (CHARWD R 0.5)
+ (COMMENT
+ (KRN H 41 R 0.25)
+ (KRN H 42 R 0.375)
+ (KRN H 43 R 0.5)
+ )
+ )
diff --git a/Build/source/texk/web2c/omegafonts/tests/ligblb.opl b/Build/source/texk/web2c/omegafonts/tests/ligblb.opl
new file mode 100644
index 00000000000..8c005ef2ea7
--- /dev/null
+++ b/Build/source/texk/web2c/omegafonts/tests/ligblb.opl
@@ -0,0 +1,575 @@
+(OFMLEVEL H 0)
+(FONTDIR TL)
+(FAMILY UNSPECIFIED)
+(FACE F MRR)
+(CODINGSCHEME TEX TEST: NOT A REAL FONT)
+(DESIGNSIZE R 10.0)
+(COMMENT DESIGNSIZE IS IN POINTS)
+(COMMENT OTHER SIZES ARE MULTIPLES OF DESIGNSIZE)
+(CHECKSUM H B28E428D)
+(SEVENBITSAFEFLAG FALSE)
+(LIGTABLE
+ (LABEL H 41)
+ (LIG H 41 H 44)
+ (LIG/ H 42 H 44)
+ (/LIG H 43 H 44)
+ (STOP)
+ (LABEL H 42)
+ (/LIG/ H 41 H 44)
+ (LIG/> H 42 H 44)
+ (/LIG> H 43 H 44)
+ (STOP)
+ (LABEL H 43)
+ (/LIG/> H 41 H 44)
+ (/LIG/>> H 42 H 44)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (STOP)
+ (LABEL BOUNDARYCHAR)
+ (LABEL H 44)
+ (KRN H 41 R 0.25)
+ (KRN H 42 R 0.375)
+ (KRN H 43 R 0.5)
+ (STOP)
+ )
+(CHARACTER H 41
+ (CHARWD R 0.0)
+ (COMMENT
+ (LIG H 41 H 44)
+ (LIG/ H 42 H 44)
+ (/LIG H 43 H 44)
+ )
+ )
+(CHARACTER H 42
+ (CHARWD R 0.125)
+ (COMMENT
+ (/LIG/ H 41 H 44)
+ (LIG/> H 42 H 44)
+ (/LIG> H 43 H 44)
+ )
+ )
+(CHARACTER H 43
+ (CHARWD R 0.25)
+ (COMMENT
+ (/LIG/> H 41 H 44)
+ (/LIG/>> H 42 H 44)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ )
+ )
+(CHARACTER H 44
+ (CHARWD R 0.5)
+ (COMMENT
+ (KRN H 41 R 0.25)
+ (KRN H 42 R 0.375)
+ (KRN H 43 R 0.5)
+ )
+ )
diff --git a/Build/source/texk/web2c/omegafonts/tests/ligblv.opl b/Build/source/texk/web2c/omegafonts/tests/ligblv.opl
new file mode 100644
index 00000000000..02d7d0b8682
--- /dev/null
+++ b/Build/source/texk/web2c/omegafonts/tests/ligblv.opl
@@ -0,0 +1,573 @@
+(FAMILY UNSPECIFIED)
+(FACE F MRR)
+(CODINGSCHEME TEX TEST: NOT A REAL FONT)
+(DESIGNSIZE R 10.0)
+(COMMENT DESIGNSIZE IS IN POINTS)
+(COMMENT OTHER SIZES ARE MULTIPLES OF DESIGNSIZE)
+(CHECKSUM H B28E428D)
+(SEVENBITSAFEFLAG TRUE)
+(LIGTABLE
+ (LABEL H 41)
+ (LIG H 41 H 44)
+ (LIG/ H 42 H 44)
+ (/LIG H 43 H 44)
+ (STOP)
+ (LABEL H 42)
+ (/LIG/ H 41 H 44)
+ (LIG/> H 42 H 44)
+ (/LIG> H 43 H 44)
+ (STOP)
+ (LABEL H 43)
+ (/LIG/> H 41 H 44)
+ (/LIG/>> H 42 H 44)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (STOP)
+ (LABEL BOUNDARYCHAR)
+ (LABEL H 44)
+ (KRN H 41 R 0.25)
+ (KRN H 42 R 0.375)
+ (KRN H 43 R 0.5)
+ (STOP)
+ )
+(CHARACTER H 41
+ (CHARWD R 0.0)
+ (COMMENT
+ (LIG H 41 H 44)
+ (LIG/ H 42 H 44)
+ (/LIG H 43 H 44)
+ )
+ )
+(CHARACTER H 42
+ (CHARWD R 0.125)
+ (COMMENT
+ (/LIG/ H 41 H 44)
+ (LIG/> H 42 H 44)
+ (/LIG> H 43 H 44)
+ )
+ )
+(CHARACTER H 43
+ (CHARWD R 0.25)
+ (COMMENT
+ (/LIG/> H 41 H 44)
+ (/LIG/>> H 42 H 44)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ )
+ )
+(CHARACTER H 44
+ (CHARWD R 0.5)
+ (COMMENT
+ (KRN H 41 R 0.25)
+ (KRN H 42 R 0.375)
+ (KRN H 43 R 0.5)
+ )
+ )
diff --git a/Build/source/texk/web2c/omegafonts/tests/ligblv.ovp b/Build/source/texk/web2c/omegafonts/tests/ligblv.ovp
new file mode 100644
index 00000000000..3d2c2ada826
--- /dev/null
+++ b/Build/source/texk/web2c/omegafonts/tests/ligblv.ovp
@@ -0,0 +1,577 @@
+(VTITLE Kig/Kern Test)
+(FAMILY UNSPECIFIED)
+(FACE F MRR)
+(CODINGSCHEME TEX TEST: NOT A REAL FONT)
+(DESIGNSIZE R 10.0)
+(COMMENT DESIGNSIZE IS IN POINTS)
+(COMMENT OTHER SIZES ARE MULTIPLES OF DESIGNSIZE)
+(CHECKSUM H B28E428D)
+(SEVENBITSAFEFLAG FALSE)
+(MAPFONT D 0
+ (FONTNAME sample0-h)
+ )
+(LIGTABLE
+ (LABEL H 41)
+ (LIG H 41 H 44)
+ (LIG/ H 42 H 44)
+ (/LIG H 43 H 44)
+ (STOP)
+ (LABEL H 42)
+ (/LIG/ H 41 H 44)
+ (LIG/> H 42 H 44)
+ (/LIG> H 43 H 44)
+ (STOP)
+ (LABEL H 43)
+ (/LIG/> H 41 H 44)
+ (/LIG/>> H 42 H 44)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (STOP)
+ (LABEL BOUNDARYCHAR)
+ (LABEL H 44)
+ (KRN H 41 R 0.25)
+ (KRN H 42 R 0.375)
+ (KRN H 43 R 0.5)
+ (STOP)
+ )
+(CHARACTER H 41
+ (CHARWD R 0.0)
+ (COMMENT
+ (LIG H 41 H 44)
+ (LIG/ H 42 H 44)
+ (/LIG H 43 H 44)
+ )
+ )
+(CHARACTER H 42
+ (CHARWD R 0.125)
+ (COMMENT
+ (/LIG/ H 41 H 44)
+ (LIG/> H 42 H 44)
+ (/LIG> H 43 H 44)
+ )
+ )
+(CHARACTER H 43
+ (CHARWD R 0.25)
+ (COMMENT
+ (/LIG/> H 41 H 44)
+ (/LIG/>> H 42 H 44)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ (KRN H 43 R 0.125)
+ )
+ )
+(CHARACTER H 44
+ (CHARWD R 0.5)
+ (COMMENT
+ (KRN H 41 R 0.25)
+ (KRN H 42 R 0.375)
+ (KRN H 43 R 0.5)
+ )
+ )
diff --git a/Build/source/texk/web2c/omegafonts/tests/ligloop1.ofm b/Build/source/texk/web2c/omegafonts/tests/ligloop1.ofm
new file mode 100644
index 00000000000..702dea1f517
--- /dev/null
+++ b/Build/source/texk/web2c/omegafonts/tests/ligloop1.ofm
Binary files differ
diff --git a/Build/source/texk/web2c/omegafonts/tests/ligloop1.opl b/Build/source/texk/web2c/omegafonts/tests/ligloop1.opl
new file mode 100644
index 00000000000..e4dd7432996
--- /dev/null
+++ b/Build/source/texk/web2c/omegafonts/tests/ligloop1.opl
@@ -0,0 +1,39 @@
+(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 F50C994A)
+(SEVENBITSAFEFLAG FALSE)
+(LIGTABLE
+ (LABEL H 0)
+ (LABEL H 1)
+ (/LIG H 0 H 1)
+ (/LIG H 1 H 0)
+ (STOP)
+ )
+(CHARACTER H 0
+ (CHARWD R 0.242)
+ (CHARHT R 0.554)
+ (COMMENT
+ (/LIG H 0 H 1)
+ (/LIG H 1 H 0)
+ )
+ )
+(CHARACTER H 1
+ (CHARWD R 0.51)
+ (CHARHT R 0.24)
+ (CHARDP R 0.306)
+ (COMMENT
+ (/LIG H 0 H 1)
+ (/LIG H 1 H 0)
+ )
+ )
+(CHARACTER H 2
+ (CHARWD R 0.51)
+ (CHARHT R 0.24)
+ (CHARDP R 0.306)
+ )
diff --git a/Build/source/texk/web2c/omegafonts/tests/ligloop2.opl b/Build/source/texk/web2c/omegafonts/tests/ligloop2.opl
new file mode 100644
index 00000000000..ab23832f9f6
--- /dev/null
+++ b/Build/source/texk/web2c/omegafonts/tests/ligloop2.opl
@@ -0,0 +1,24 @@
+(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 F50C994A)
+(SEVENBITSAFEFLAG FALSE)
+(CHARACTER H 0
+ (CHARWD R 0.242)
+ (CHARHT R 0.554)
+ )
+(CHARACTER H 1
+ (CHARWD R 0.51)
+ (CHARHT R 0.24)
+ (CHARDP R 0.306)
+ )
+(CHARACTER H 2
+ (CHARWD R 0.51)
+ (CHARHT R 0.24)
+ (CHARDP R 0.306)
+ )
diff --git a/Build/source/texk/web2c/omegafonts/tests/ofontr2.opl b/Build/source/texk/web2c/omegafonts/tests/ofontr2.opl
index 1e0b5b44b4e..1e64c09e5a4 100644
--- a/Build/source/texk/web2c/omegafonts/tests/ofontr2.opl
+++ b/Build/source/texk/web2c/omegafonts/tests/ofontr2.opl
@@ -1,4 +1,4 @@
-(OFMLEVEL D 0)
+(OFMLEVEL H 0)
(FONTDIR TL)
(FAMILY UNSPECIFIED)
(FACE F MRR)
diff --git a/Build/source/texk/web2c/omegafonts/tests/ofontr2.ovp b/Build/source/texk/web2c/omegafonts/tests/ofontr2.ovp
index 2b953d253e3..46aa33dab95 100644
--- a/Build/source/texk/web2c/omegafonts/tests/ofontr2.ovp
+++ b/Build/source/texk/web2c/omegafonts/tests/ofontr2.ovp
@@ -1,5 +1,5 @@
(VTITLE Mapping ofontr2 to ofontr0)
-(OFMLEVEL D 0)
+(OFMLEVEL H 0)
(FONTDIR TL)
(FAMILY UNSPECIFIED)
(FACE F MRR)
diff --git a/Build/source/texk/web2c/omegafonts/tests/ofontr3.opl b/Build/source/texk/web2c/omegafonts/tests/ofontr3.opl
index 5a005f10f05..d447e79a9d8 100644
--- a/Build/source/texk/web2c/omegafonts/tests/ofontr3.opl
+++ b/Build/source/texk/web2c/omegafonts/tests/ofontr3.opl
@@ -1,4 +1,4 @@
-(OFMLEVEL D 1)
+(OFMLEVEL H 1)
(FONTDIR TL)
(FAMILY UNSPECIFIED)
(FACE F MRR)
diff --git a/Build/source/texk/web2c/omegafonts/tests/ofontr3.ovp b/Build/source/texk/web2c/omegafonts/tests/ofontr3.ovp
index 608376df9ab..9754904a816 100644
--- a/Build/source/texk/web2c/omegafonts/tests/ofontr3.ovp
+++ b/Build/source/texk/web2c/omegafonts/tests/ofontr3.ovp
@@ -1,5 +1,5 @@
(VTITLE Mapping ofontr3 to ofontr0)
-(OFMLEVEL D 1)
+(OFMLEVEL H 1)
(FONTDIR TL)
(FAMILY UNSPECIFIED)
(FACE F MRR)
diff --git a/Build/source/texk/web2c/omegafonts/tests/ofontv5.opl b/Build/source/texk/web2c/omegafonts/tests/ofontv5.opl
index 19aac187c26..625e1371cc2 100644
--- a/Build/source/texk/web2c/omegafonts/tests/ofontv5.opl
+++ b/Build/source/texk/web2c/omegafonts/tests/ofontv5.opl
@@ -1,4 +1,4 @@
-(OFMLEVEL D 0)
+(OFMLEVEL H 0)
(FONTDIR TL)
(FAMILY UNSPECIFIED)
(FACE F MRR)
diff --git a/Build/source/texk/web2c/omegafonts/tests/ofontv5.ovp b/Build/source/texk/web2c/omegafonts/tests/ofontv5.ovp
index f01e8b7797a..a2e96f943c2 100644
--- a/Build/source/texk/web2c/omegafonts/tests/ofontv5.ovp
+++ b/Build/source/texk/web2c/omegafonts/tests/ofontv5.ovp
@@ -1,5 +1,5 @@
(VTITLE Mapping ofontv5 to ofontr2+ofontr3+ofontr1)
-(OFMLEVEL D 0)
+(OFMLEVEL H 0)
(FONTDIR TL)
(FAMILY UNSPECIFIED)
(FACE F MRR)
diff --git a/Build/source/texk/web2c/omegafonts/tests/ofontv6.opl b/Build/source/texk/web2c/omegafonts/tests/ofontv6.opl
index 8a7b6b7027b..410d69c0705 100644
--- a/Build/source/texk/web2c/omegafonts/tests/ofontv6.opl
+++ b/Build/source/texk/web2c/omegafonts/tests/ofontv6.opl
@@ -1,4 +1,4 @@
-(OFMLEVEL D 1)
+(OFMLEVEL H 1)
(FONTDIR TL)
(FAMILY UNSPECIFIED)
(FACE F MRR)
diff --git a/Build/source/texk/web2c/omegafonts/tests/ofontv6.ovp b/Build/source/texk/web2c/omegafonts/tests/ofontv6.ovp
index babf355c922..68edcd92a42 100644
--- a/Build/source/texk/web2c/omegafonts/tests/ofontv6.ovp
+++ b/Build/source/texk/web2c/omegafonts/tests/ofontv6.ovp
@@ -1,5 +1,5 @@
(VTITLE Mapping ofontv6 to ofontr3+ofontr1+ofontr2)
-(OFMLEVEL D 1)
+(OFMLEVEL H 1)
(FONTDIR TL)
(FAMILY UNSPECIFIED)
(FACE F MRR)
diff --git a/Build/source/texk/web2c/omegafonts/tests/overbmp.opl b/Build/source/texk/web2c/omegafonts/tests/overbmp.opl
index 7cc4615c3ff..c80f889b8b2 100644
--- a/Build/source/texk/web2c/omegafonts/tests/overbmp.opl
+++ b/Build/source/texk/web2c/omegafonts/tests/overbmp.opl
@@ -1,4 +1,4 @@
-(OFMLEVEL D 1)
+(OFMLEVEL H 1)
(FONTDIR TL)
(FAMILY UNSPECIFIED)
(FACE F MRR)
diff --git a/Build/source/texk/web2c/omegafonts/tests/overbmp.ovp b/Build/source/texk/web2c/omegafonts/tests/overbmp.ovp
index 06886a456a9..9110397b8d8 100644
--- a/Build/source/texk/web2c/omegafonts/tests/overbmp.ovp
+++ b/Build/source/texk/web2c/omegafonts/tests/overbmp.ovp
@@ -1,5 +1,5 @@
(VTITLE JVF with characters above the Basic Multilingual Plane)
-(OFMLEVEL D 1)
+(OFMLEVEL H 1)
(FONTDIR TL)
(FAMILY UNSPECIFIED)
(FACE F MRR)
diff --git a/Build/source/texk/web2c/omegafonts/tests/repeated.opl b/Build/source/texk/web2c/omegafonts/tests/repeated.opl
index 5fdcaab97fa..0f986d2f088 100644
--- a/Build/source/texk/web2c/omegafonts/tests/repeated.opl
+++ b/Build/source/texk/web2c/omegafonts/tests/repeated.opl
@@ -1,4 +1,4 @@
-(OFMLEVEL D 1)
+(OFMLEVEL H 1)
(FONTDIR TL)
(FAMILY UNSPECIFIED)
(FACE F MRR)
diff --git a/Build/source/texk/web2c/omegafonts/tests/sample.out b/Build/source/texk/web2c/omegafonts/tests/sample.out
index 095881a95a3..b2940ac14be 100644
--- a/Build/source/texk/web2c/omegafonts/tests/sample.out
+++ b/Build/source/texk/web2c/omegafonts/tests/sample.out
@@ -1,5 +1,5 @@
(VTITLE JVF for SAMPLE)
-(OFMLEVEL D 0)
+(OFMLEVEL H 0)
(FONTDIR TL)
(FAMILY UNSPECIFIED)
(FACE F MRR)
diff --git a/Build/source/texk/web2c/omegafonts/tests/specialhex.ovp b/Build/source/texk/web2c/omegafonts/tests/specialhex.ovp
index eb205298eaa..98215896d06 100644
--- a/Build/source/texk/web2c/omegafonts/tests/specialhex.ovp
+++ b/Build/source/texk/web2c/omegafonts/tests/specialhex.ovp
@@ -1,5 +1,5 @@
(VTITLE Test SPECIALHEX handling)
-(OFMLEVEL D 0)
+(OFMLEVEL H 0)
(FONTDIR TL)
(FAMILY UNSPECIFIED)
(FACE F MRR)