summaryrefslogtreecommitdiff
path: root/Build
diff options
context:
space:
mode:
Diffstat (limited to 'Build')
-rw-r--r--Build/source/texk/web2c/Makefile.in28
-rw-r--r--Build/source/texk/web2c/omegafonts/ChangeLog9
-rw-r--r--Build/source/texk/web2c/omegafonts/Makefile.am5
-rw-r--r--Build/source/texk/web2c/omegafonts/Makefile.in10
-rw-r--r--Build/source/texk/web2c/omegafonts/char_routines.c8
-rw-r--r--Build/source/texk/web2c/omegafonts/dimen_routines.c8
-rw-r--r--Build/source/texk/web2c/omegafonts/header_routines.c94
-rw-r--r--Build/source/texk/web2c/omegafonts/header_routines.h2
-rwxr-xr-xBuild/source/texk/web2c/omegafonts/shorten.test28
-rw-r--r--Build/source/texk/web2c/omegafonts/tests/realnum.out1
-rw-r--r--Build/source/texk/web2c/omegafonts/tests/shorten.opl108
-rw-r--r--Build/source/texk/web2c/omegaware/ChangeLog6
-rw-r--r--Build/source/texk/web2c/omegaware/am/omegaware.am7
-rwxr-xr-xBuild/source/texk/web2c/omegaware/shorten.test26
-rw-r--r--Build/source/texk/web2c/omegaware/tests/shorten.opl107
15 files changed, 335 insertions, 112 deletions
diff --git a/Build/source/texk/web2c/Makefile.in b/Build/source/texk/web2c/Makefile.in
index 546e03073fd..67704b3663b 100644
--- a/Build/source/texk/web2c/Makefile.in
+++ b/Build/source/texk/web2c/Makefile.in
@@ -2226,13 +2226,14 @@ EXTRA_DIST = PROJECTS cftests cpascal.h help.h w2c/config.h \
omegaware/tests/realnum.out omegaware/tests/repeat.opl \
omegaware/tests/repeated.opl omegaware/tests/sample.out \
omegaware/tests/sample.ovp omegaware/tests/sample0-h.opl \
- omegaware/tests/specialhex.ovp omegaware/tests/vrepeat0.ofm \
- omegaware/tests/vrepeat0.opl omegaware/tests/vrepeat1.ofm \
- omegaware/tests/vrepeat1.opl omegaware/tests/vrepeat1.ovf \
- omegaware/tests/vrepeat1.ovp $(aleph_web_srcs) \
- $(aleph_ch_srcs) alephdir/ChangeLog alephdir/aleph.defines \
- alephdir/aleph.version $(aleph_tests) synctexdir/ChangeLog \
- synctexdir/README.txt synctexdir/synctex_parser_readme.txt \
+ omegaware/tests/shorten.opl omegaware/tests/specialhex.ovp \
+ omegaware/tests/vrepeat0.ofm omegaware/tests/vrepeat0.opl \
+ omegaware/tests/vrepeat1.ofm omegaware/tests/vrepeat1.opl \
+ omegaware/tests/vrepeat1.ovf omegaware/tests/vrepeat1.ovp \
+ $(aleph_web_srcs) $(aleph_ch_srcs) alephdir/ChangeLog \
+ alephdir/aleph.defines alephdir/aleph.version $(aleph_tests) \
+ synctexdir/ChangeLog synctexdir/README.txt \
+ synctexdir/synctex_parser_readme.txt \
synctexdir/synctex_parser_version.txt synctexdir/tests \
synctexdir/synctex-common.h synctexdir/synctex.c \
synctexdir/synctex.defines synctexdir/synctex.h \
@@ -2309,10 +2310,11 @@ DISTCLEANFILES = $(EXTRA_LIBRARIES) CXXLD.sh tangle.c tangle.h \
omegaware/tests/xrealnum.* omegaware/tests/xrepeated.* \
omegaware/tests/sample*.ofm omegaware/tests/sample*.ovf \
omegaware/tests/sample1-h.opl omegaware/tests/xsample*.out \
- omegaware/tests/specialhex.ofm omegaware/tests/specialhex.opl \
- omegaware/tests/specialhex.ovf omegaware/tests/xspecialhex.* \
- omegaware/tests/yrepeat* $(nodist_aleph_SOURCES) aleph.web \
- aleph.ch aleph-web2c aleph.p aleph.pool aleph-tangle
+ omegaware/tests/shortend.* omegaware/tests/specialhex.ofm \
+ omegaware/tests/specialhex.opl omegaware/tests/specialhex.ovf \
+ omegaware/tests/xspecialhex.* omegaware/tests/yrepeat* \
+ $(nodist_aleph_SOURCES) aleph.web aleph.ch aleph-web2c aleph.p \
+ aleph.pool aleph-tangle
CLEANFILES =
TRIPTRAP_CLEAN = $(am__append_9) $(am__append_17) $(am__append_26) \
$(am__append_31) $(am__append_37) $(am__append_43) \
@@ -3308,8 +3310,8 @@ OTANGLE_tests = omegaware/odvicopy.test omegaware/odvitype.test \
OMFONTS_tests = omegaware/charwd.test omegaware/level1.test omegaware/ofonts.test \
omegaware/omfonts.test omegaware/overbmp.test \
omegaware/realnum.test omegaware/repeat.test \
- omegaware/selectfont.test omegaware/specialhex.test \
- omegaware/vrepeat.test
+ omegaware/selectfont.test omegaware/shorten.test \
+ omegaware/specialhex.test omegaware/vrepeat.test
al_tangle = WEBINPUTS=.:$(srcdir) AM_V_P=$(AM_V_P) $(SHELL) ./tangle-sh $@ $(OTANGLE)
diff --git a/Build/source/texk/web2c/omegafonts/ChangeLog b/Build/source/texk/web2c/omegafonts/ChangeLog
index e4efc82b404..ccf39392ded 100644
--- a/Build/source/texk/web2c/omegafonts/ChangeLog
+++ b/Build/source/texk/web2c/omegafonts/ChangeLog
@@ -1,3 +1,12 @@
+2014-08-03 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * dimen_routines.c (set_indices): Fixed a dimen rounding bug.
+ * header_routines.[ch]: Drop unused code.
+ Always output SEVENBITSAFEFLAG for TFM files.
+ * shorten.test, tests/shorten.opl, (new): Shell script and data
+ for a new test.
+ * Makefile.am: Add the new test.
+
2014-08-02 Peter Breitenlohner <peb@mppmu.mpg.de>
* dimen_routines.c: Fixed a bug in the computation of nw, nh,
diff --git a/Build/source/texk/web2c/omegafonts/Makefile.am b/Build/source/texk/web2c/omegafonts/Makefile.am
index 4c5bfd00405..d62abcf2e86 100644
--- a/Build/source/texk/web2c/omegafonts/Makefile.am
+++ b/Build/source/texk/web2c/omegafonts/Makefile.am
@@ -97,7 +97,7 @@ endif OTANGLE
## Tests
##
OMFONTS_tests = charwd.test level1.test ofonts.test omfonts.test overbmp.test \
- realnum.test repeat.test selectfont.test specialhex.test
+ realnum.test repeat.test selectfont.test shorten.test specialhex.test
if OTANGLE
TESTS = $(OMFONTS_tests)
endif OTANGLE
@@ -136,6 +136,9 @@ DISTCLEANFILES += tests/xrepeated.*
## selectfont.test
EXTRA_DIST += tests/sample.out tests/sample.ovp tests/sample0-h.opl
DISTCLEANFILES += tests/sample*.ofm tests/sample*.ovf tests/sample1-h.opl tests/xsample*.out
+## shorten.test
+EXTRA_DIST += tests/shorten.opl
+DISTCLEANFILES += tests/shortend.*
## specialhex.test
EXTRA_DIST += tests/specialhex.ovp
DISTCLEANFILES += tests/specialhex.ofm tests/specialhex.opl \
diff --git a/Build/source/texk/web2c/omegafonts/Makefile.in b/Build/source/texk/web2c/omegafonts/Makefile.in
index 01f690fa300..978c96ea922 100644
--- a/Build/source/texk/web2c/omegafonts/Makefile.in
+++ b/Build/source/texk/web2c/omegafonts/Makefile.in
@@ -710,8 +710,9 @@ DISTCLEANFILES = pl-parser.output tests/charwdr.* tests/charwdv.* \
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/specialhex.ofm \
- tests/specialhex.opl tests/specialhex.ovf tests/xspecialhex.*
+ tests/sample1-h.opl tests/xsample*.out tests/shortend.* \
+ tests/specialhex.ofm tests/specialhex.opl tests/specialhex.ovf \
+ tests/xspecialhex.*
linked_programs = ofm2opl opl2ofm ovf2ovp ovp2ovf
bin_links = \
omfonts$(EXEEXT):ofm2opl \
@@ -720,7 +721,7 @@ bin_links = \
omfonts$(EXEEXT):ovp2ovf
OMFONTS_tests = charwd.test level1.test ofonts.test omfonts.test overbmp.test \
- realnum.test repeat.test selectfont.test specialhex.test
+ realnum.test repeat.test selectfont.test shorten.test specialhex.test
@OTANGLE_TRUE@TESTS = $(OMFONTS_tests)
EXTRA_DIST = $(OMFONTS_tests) tests/charwd-r.pl tests/charwd-v.vpl \
@@ -732,7 +733,8 @@ EXTRA_DIST = $(OMFONTS_tests) tests/charwd-r.pl tests/charwd-v.vpl \
tests/OCherokee.ovp tests/inbmp.opl tests/overbmp.opl \
tests/overbmp.ovp tests/realnum.opl tests/realnum.out \
tests/repeat.opl tests/repeated.opl tests/sample.out \
- tests/sample.ovp tests/sample0-h.opl tests/specialhex.ovp
+ tests/sample.ovp tests/sample0-h.opl tests/shorten.opl \
+ tests/specialhex.ovp
all: all-am
.SUFFIXES:
diff --git a/Build/source/texk/web2c/omegafonts/char_routines.c b/Build/source/texk/web2c/omegafonts/char_routines.c
index 5f7678a7313..52e32de0f87 100644
--- a/Build/source/texk/web2c/omegafonts/char_routines.c
+++ b/Build/source/texk/web2c/omegafonts/char_routines.c
@@ -966,6 +966,14 @@ compute_ofm_character_info(void)
}
void
+calculate_check_sum(void)
+{
+/*
+ not_yet_done("checksum calculation");
+*/
+}
+
+void
output_ofm_character_info(void)
{
unsigned plane, index;
diff --git a/Build/source/texk/web2c/omegafonts/dimen_routines.c b/Build/source/texk/web2c/omegafonts/dimen_routines.c
index 74a34041adb..384f6f099d7 100644
--- a/Build/source/texk/web2c/omegafonts/dimen_routines.c
+++ b/Build/source/texk/web2c/omegafonts/dimen_routines.c
@@ -194,21 +194,21 @@ set_indices(int h, int d)
L1 = measure_list[h]; m = 0;
while (lval(L1) != WEB_INFINITY) {
L2 = L1;
- m++; l = lval(L1);
- L1->index = m;
+ m++; l = lval(L1);
while (lval(L1->ptr) <= (l+d)) {
L1 = L1->ptr; excess--;
if (excess==0) d = 0;
}
lprime = l + (lval(L1)-l) / 2;
lval(L1) = lprime;
+ L1->index = m;
while (L2 != L1) {
lval(L2) = lprime;
L2->actual = L1;
L2->index = m;
L2 = L2->ptr;
}
- L1 = L1->ptr; L2 = L1;
+ L1 = L1->ptr;
}
measure_max[h] = m;
}
@@ -290,7 +290,7 @@ print_dimen_tables(void)
if (measure_max[i] != 0) {
left(); out("COMMENT"); out_ln();
for (j=0; j<measure_max[i]; j++) {
- left();
+ left();
out_character_measure(i); out("_ENTRY");
out(" "); out_int(j,10);
out(" "); out_fix(dimen_tables[i][j]);
diff --git a/Build/source/texk/web2c/omegafonts/header_routines.c b/Build/source/texk/web2c/omegafonts/header_routines.c
index b67be3119e1..3e19955d7bb 100644
--- a/Build/source/texk/web2c/omegafonts/header_routines.c
+++ b/Build/source/texk/web2c/omegafonts/header_routines.c
@@ -160,23 +160,6 @@ set_header_word(unsigned index, unsigned val)
}
static void
-store_header_word(void)
-{
- av_list L = header_list;
- unsigned ctr = HEADER_MIN;
-
- header = (string) xmalloc(4*(header_max+1));
- while (L != NULL) {
- while (ctr<lattr(L)) {
- store_header_int(ctr*4,0);
- ctr++;
- }
- store_header_int(ctr*4,lval(L));
- ctr++; L = L->ptr;
- }
-}
-
-static void
retrieve_header_word(void)
{
unsigned j = HEADER_MIN, value, header_no=lh;
@@ -220,34 +203,18 @@ init_check_sum(void)
void
set_check_sum(unsigned cs)
{
+ if (check_sum_specified==TRUE)
+ warning_0("CHECKSUM previously defined; old value ignored");
check_sum = cs;
check_sum_specified = TRUE;
}
void
-store_check_sum(void)
-{
-
- calculate_check_sum();
- store_header_int(LOC_CHECK_SUM, check_sum);
-}
-
-void
retrieve_check_sum(void)
{
retrieve_header_int(LOC_CHECK_SUM, &check_sum);
}
-void
-calculate_check_sum(void)
-{
-/*
- if (check_sum_specified == FALSE) {
- not_yet_done("checksum calculation");
- }
-*/
-}
-
/* DESIGNSIZE */
@@ -485,16 +452,6 @@ set_ofm_level(unsigned level)
/* FONTDIR */
-#if 0
-/* Not yet used */
-static void
-init_font_dir(void)
-{
- font_dir = DIR_ORD+DIR_TL;
- font_dir_specified = FALSE;
-}
-#endif
-
void
set_font_dir(unsigned direction)
{
@@ -571,42 +528,6 @@ init_header(void)
}
void
-store_header(void)
-{
-
- store_header_word();
- store_check_sum();
- store_design_size();
- store_coding_scheme();
- store_family();
- store_face();
- store_seven_bit_safe_flag();
-
-/*
- { int i;
- for (i=0; i<(4*(header_max+1)); i++) {
- if (!(i%4)) fprintf(stdout, "\n");
- fprintf(stdout, "%d: %c (%d, %2x) ",
- i, header[i], header[i], header[i]);
- }
- fprintf(stdout, "\n");
-*/
- if (header_list!=NULL) {
- av_list L1 = header_list, L2;
- while (L1 != NULL) {
- L2 = L1->ptr;
- free(L1);
- L1 = L2;
- }
- }
- lh = header_max;
- header_list = NULL;
- header_max = HEADER_MIN-1;
-
- retrieve_header();
-}
-
-void
retrieve_header(void)
{
retrieve_header_word();
@@ -621,12 +542,14 @@ retrieve_header(void)
void
output_ofm_header(void)
{
- unsigned i=0, j, k1, k2;
+ unsigned i = 1 + LOC_SEVEN_FLAG / 4, j, k1, k2;
av_list L = header_list;
- out_ofm_4(check_sum); i++;
- out_ofm_4(design_size); i++;
+ if (check_sum_specified==FALSE)
+ calculate_check_sum();
+ out_ofm_4(check_sum);
+ out_ofm_4(design_size);
k1 = strlen(coding_scheme);
out_ofm(k1);
for (j=0; j<k1; j++) out_ofm(coding_scheme[j]);
@@ -635,12 +558,11 @@ output_ofm_header(void)
out_ofm(k2);
for (j=0; j<k2; j++) out_ofm(family[j]);
for (j=k2; j<LEN_FAMILY; j++) out_ofm(0);
- if ((ofm_level==OFM_TFM) && (seven_bit_specified==TRUE))
+ if (ofm_level==OFM_TFM)
out_ofm(seven_bit ? 0x80 : 0);
else
out_ofm(0);
out_ofm(0); out_ofm(0); out_ofm(face);
- i = 1 + LOC_SEVEN_FLAG / 4;
lh = header_max + 1;
while(L != NULL) {
j=lattr(L);
diff --git a/Build/source/texk/web2c/omegafonts/header_routines.h b/Build/source/texk/web2c/omegafonts/header_routines.h
index b6d1fddf9a5..b418af27dce 100644
--- a/Build/source/texk/web2c/omegafonts/header_routines.h
+++ b/Build/source/texk/web2c/omegafonts/header_routines.h
@@ -64,7 +64,6 @@ extern void set_header_word(unsigned, unsigned);
extern void init_check_sum(void);
extern void set_check_sum(unsigned);
-extern void store_check_sum(void);
extern void retrieve_check_sum(void);
extern void calculate_check_sum(void);
@@ -96,7 +95,6 @@ extern void retrieve_seven_bit_safe_flag(void);
extern void calculate_seven_bit_safe_flag(void);
extern void init_header(void);
-extern void store_header(void);
extern void retrieve_header(void);
extern void print_header(void);
diff --git a/Build/source/texk/web2c/omegafonts/shorten.test b/Build/source/texk/web2c/omegafonts/shorten.test
new file mode 100755
index 00000000000..10ede611451
--- /dev/null
+++ b/Build/source/texk/web2c/omegafonts/shorten.test
@@ -0,0 +1,28 @@
+#! /bin/sh
+
+# Copyright (C) 2014 Peter Breitenlohner <tex-live@tug.org>
+# You may freely use, modify and/or distribute this file.
+
+tests=tests
+
+test -d $tests || mkdir -p $tests
+
+TEXMFCNF=$srcdir/../../kpathsea
+export TEXMFCNF
+
+sed -e'/CHECKSUM/d' $srcdir/$tests/shorten.opl >$tests/shortend.in
+
+echo && echo "pltotf $tests/shortend.in $tests/shortend.tfm" && \
+ ../pltotf $tests/shortend.in $tests/shortend.tfm || exit
+
+echo && echo "omfonts -ofm2opl $tests/shorten.tfm $tests/shortend.pl" && \
+ ./omfonts -ofm2opl $tests/shortend.tfm $tests/shortend.pl || exit
+
+echo && echo "omfonts -opl2ofm $tests/shorten $tests/shortend" && \
+ ./omfonts -opl2ofm $srcdir/$tests/shorten $tests/shortend || exit
+
+echo && echo "omfonts -ofm2opl $tests/shorten $tests/shortend" && \
+ ./omfonts -ofm2opl $tests/shortend $tests/shortend || exit
+
+diff $tests/shortend.pl $tests/shortend.opl || exit
+
diff --git a/Build/source/texk/web2c/omegafonts/tests/realnum.out b/Build/source/texk/web2c/omegafonts/tests/realnum.out
index 97091f7d828..2ce85862405 100644
--- a/Build/source/texk/web2c/omegafonts/tests/realnum.out
+++ b/Build/source/texk/web2c/omegafonts/tests/realnum.out
@@ -5,6 +5,7 @@
(COMMENT DESIGNSIZE IS IN POINTS)
(COMMENT OTHER SIZES ARE MULTIPLES OF DESIGNSIZE)
(CHECKSUM H 0)
+(SEVENBITSAFEFLAG TRUE)
(COMMENT
(CHARWD_ENTRY D 0 R 0.0)
(CHARWD_ENTRY D 1 R 0.0)
diff --git a/Build/source/texk/web2c/omegafonts/tests/shorten.opl b/Build/source/texk/web2c/omegafonts/tests/shorten.opl
new file mode 100644
index 00000000000..d9f951d67ae
--- /dev/null
+++ b/Build/source/texk/web2c/omegafonts/tests/shorten.opl
@@ -0,0 +1,108 @@
+(COMMENT More that 15 non-zero depths and heights)
+(CHECKSUM H 77A61937)
+(CHARACTER H A
+ (CHARWD R 1.1)
+ (CHARHT R 0.1)
+ (CHARDP R 0.1)
+ )
+(CHARACTER H B
+ (CHARWD R 1.11)
+ (CHARHT R 0.11)
+ (CHARDP R 0.11)
+ )
+(CHARACTER H C
+ (CHARWD R 1.12)
+ (CHARHT R 0.12)
+ (CHARDP R 0.12)
+ )
+(CHARACTER H D
+ (CHARWD R 1.13)
+ (CHARHT R 0.13)
+ (CHARDP R 0.13)
+ )
+(CHARACTER H E
+ (CHARWD R 1.14)
+ (CHARHT R 0.14)
+ (CHARDP R 0.14)
+ )
+(CHARACTER H F
+ (CHARWD R 1.15)
+ (CHARHT R 0.15)
+ (CHARDP R 0.15)
+ )
+(CHARACTER H 10
+ (CHARWD R 1.16)
+ (CHARHT R 0.16)
+ (CHARDP R 0.16)
+ )
+(CHARACTER H 11
+ (CHARWD R 1.17)
+ (CHARHT R 0.17)
+ (CHARDP R 0.17)
+ )
+(CHARACTER H 12
+ (CHARWD R 1.18)
+ (CHARHT R 0.18)
+ (CHARDP R 0.18)
+ )
+(CHARACTER H 13
+ (CHARWD R 1.19)
+ (CHARHT R 0.19)
+ (CHARDP R 0.19)
+ )
+(CHARACTER H 14
+ (CHARWD R 1.2)
+ (CHARHT R 0.2)
+ (CHARDP R 0.2)
+ )
+(CHARACTER H 15
+ (CHARWD R 1.21)
+ (CHARHT R 0.21)
+ (CHARDP R 0.21)
+ )
+(CHARACTER H 16
+ (CHARWD R 1.22)
+ (CHARHT R 0.22)
+ (CHARDP R 0.22)
+ )
+(CHARACTER H 17
+ (CHARWD R 1.23)
+ (CHARHT R 0.23)
+ (CHARDP R 0.23)
+ )
+(CHARACTER H 18
+ (CHARWD R 1.24)
+ (CHARHT R 0.24)
+ (CHARDP R 0.24)
+ )
+(CHARACTER H 19
+ (COMMENT explict vanishing dimensions)
+ (CHARWD R 1.24)
+ (CHARHT R 0)
+ (CHARDP R 0)
+ (CHARIC R 0)
+ )
+(CHARACTER H 1A
+ (COMMENT height rounded to 0.12)
+ (CHARWD R 1.12)
+ (CHARHT R 0.1201)
+ (CHARDP R 0.12)
+ )
+(CHARACTER H 1B
+ (COMMENT height rounded to 0.12)
+ (CHARWD R 1.12)
+ (CHARHT R 0.1199)
+ (CHARDP R 0.12)
+ )
+(CHARACTER H 1C
+ (COMMENT depth rounded to 0.22)
+ (CHARWD R 1.22)
+ (CHARHT R 0.22)
+ (CHARDP R 0.2199)
+ )
+(CHARACTER H 1D
+ (COMMENT depth rounded to 0.22)
+ (CHARWD R 1.22)
+ (CHARHT R 0.22)
+ (CHARDP R 0.2201)
+ )
diff --git a/Build/source/texk/web2c/omegaware/ChangeLog b/Build/source/texk/web2c/omegaware/ChangeLog
index 9398c4d3bf3..df1717b0643 100644
--- a/Build/source/texk/web2c/omegaware/ChangeLog
+++ b/Build/source/texk/web2c/omegaware/ChangeLog
@@ -1,3 +1,9 @@
+2014-08-03 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * shorten.test, tests/shorten.opl, (new): Shell script and data
+ for a new test.
+ * am/omegaware.am: Add the new test.
+
2014-07-31 Peter Breitenlohner <peb@mppmu.mpg.de>
* opl2ofm.web, ovp2ovf.web: Fixed a bug in computation of lf.
diff --git a/Build/source/texk/web2c/omegaware/am/omegaware.am b/Build/source/texk/web2c/omegaware/am/omegaware.am
index a9339fb9bf6..33c27ba643e 100644
--- a/Build/source/texk/web2c/omegaware/am/omegaware.am
+++ b/Build/source/texk/web2c/omegaware/am/omegaware.am
@@ -102,8 +102,8 @@ OTANGLE_tests = omegaware/odvicopy.test omegaware/odvitype.test \
OMFONTS_tests = omegaware/charwd.test omegaware/level1.test omegaware/ofonts.test \
omegaware/omfonts.test omegaware/overbmp.test \
omegaware/realnum.test omegaware/repeat.test \
- omegaware/selectfont.test omegaware/specialhex.test \
- omegaware/vrepeat.test
+ omegaware/selectfont.test omegaware/shorten.test \
+ omegaware/specialhex.test omegaware/vrepeat.test
EXTRA_DIST += $(OTANGLE_tests) $(OMFONTS_tests)
if OTANGLE
@@ -162,6 +162,9 @@ EXTRA_DIST += omegaware/tests/sample.out omegaware/tests/sample.ovp \
omegaware/tests/sample0-h.opl
DISTCLEANFILES += omegaware/tests/sample*.ofm omegaware/tests/sample*.ovf \
omegaware/tests/sample1-h.opl omegaware/tests/xsample*.out
+## omegaware/shorten.test
+EXTRA_DIST += omegaware/tests/shorten.opl
+DISTCLEANFILES += omegaware/tests/shortend.*
## omegaware/specialhex.test
EXTRA_DIST += omegaware/tests/specialhex.ovp
DISTCLEANFILES += omegaware/tests/specialhex.ofm omegaware/tests/specialhex.opl \
diff --git a/Build/source/texk/web2c/omegaware/shorten.test b/Build/source/texk/web2c/omegaware/shorten.test
new file mode 100755
index 00000000000..3d89e45af41
--- /dev/null
+++ b/Build/source/texk/web2c/omegaware/shorten.test
@@ -0,0 +1,26 @@
+#! /bin/sh
+
+# Copyright (C) 2014 Peter Breitenlohner <tex-live@tug.org>
+# You may freely use, modify and/or distribute this file.
+
+tests=omegaware/tests
+
+test -d $tests || mkdir -p $tests
+
+TEXMFCNF=$srcdir/../kpathsea
+export TEXMFCNF
+
+echo && echo "pltotf $tests/shorten.opl $tests/shortend.tfm" && \
+ ./pltotf $srcdir/$tests/shorten.opl $tests/shortend.tfm || exit
+
+echo && echo "wofm2opl $tests/shorten.tfm $tests/shortend.pl" && \
+ ./wofm2opl $tests/shortend.tfm $tests/shortend.pl || exit
+
+echo && echo "wopl2ofm $tests/shorten $tests/shortend" && \
+ ./wopl2ofm $srcdir/$tests/shorten $tests/shortend || exit
+
+echo && echo "wofm2opl $tests/shorten $tests/shortend" && \
+ ./wofm2opl $tests/shortend $tests/shortend || exit
+
+diff $tests/shortend.pl $tests/shortend.opl || exit
+
diff --git a/Build/source/texk/web2c/omegaware/tests/shorten.opl b/Build/source/texk/web2c/omegaware/tests/shorten.opl
new file mode 100644
index 00000000000..ab6c3341699
--- /dev/null
+++ b/Build/source/texk/web2c/omegaware/tests/shorten.opl
@@ -0,0 +1,107 @@
+(COMMENT More that 15 non-zero depths and heights)
+(CHARACTER H A
+ (CHARWD R 1.1)
+ (CHARHT R 0.1)
+ (CHARDP R 0.1)
+ )
+(CHARACTER H B
+ (CHARWD R 1.11)
+ (CHARHT R 0.11)
+ (CHARDP R 0.11)
+ )
+(CHARACTER H C
+ (CHARWD R 1.12)
+ (CHARHT R 0.12)
+ (CHARDP R 0.12)
+ )
+(CHARACTER H D
+ (CHARWD R 1.13)
+ (CHARHT R 0.13)
+ (CHARDP R 0.13)
+ )
+(CHARACTER H E
+ (CHARWD R 1.14)
+ (CHARHT R 0.14)
+ (CHARDP R 0.14)
+ )
+(CHARACTER H F
+ (CHARWD R 1.15)
+ (CHARHT R 0.15)
+ (CHARDP R 0.15)
+ )
+(CHARACTER H 10
+ (CHARWD R 1.16)
+ (CHARHT R 0.16)
+ (CHARDP R 0.16)
+ )
+(CHARACTER H 11
+ (CHARWD R 1.17)
+ (CHARHT R 0.17)
+ (CHARDP R 0.17)
+ )
+(CHARACTER H 12
+ (CHARWD R 1.18)
+ (CHARHT R 0.18)
+ (CHARDP R 0.18)
+ )
+(CHARACTER H 13
+ (CHARWD R 1.19)
+ (CHARHT R 0.19)
+ (CHARDP R 0.19)
+ )
+(CHARACTER H 14
+ (CHARWD R 1.2)
+ (CHARHT R 0.2)
+ (CHARDP R 0.2)
+ )
+(CHARACTER H 15
+ (CHARWD R 1.21)
+ (CHARHT R 0.21)
+ (CHARDP R 0.21)
+ )
+(CHARACTER H 16
+ (CHARWD R 1.22)
+ (CHARHT R 0.22)
+ (CHARDP R 0.22)
+ )
+(CHARACTER H 17
+ (CHARWD R 1.23)
+ (CHARHT R 0.23)
+ (CHARDP R 0.23)
+ )
+(CHARACTER H 18
+ (CHARWD R 1.24)
+ (CHARHT R 0.24)
+ (CHARDP R 0.24)
+ )
+(CHARACTER H 19
+ (COMMENT explict vanishing dimensions)
+ (CHARWD R 1.24)
+ (CHARHT R 0)
+ (CHARDP R 0)
+ (CHARIC R 0)
+ )
+(CHARACTER H 1A
+ (COMMENT height rounded to 0.12)
+ (CHARWD R 1.12)
+ (CHARHT R 0.1201)
+ (CHARDP R 0.12)
+ )
+(CHARACTER H 1B
+ (COMMENT height rounded to 0.12)
+ (CHARWD R 1.12)
+ (CHARHT R 0.1199)
+ (CHARDP R 0.12)
+ )
+(CHARACTER H 1C
+ (COMMENT depth rounded to 0.22)
+ (CHARWD R 1.22)
+ (CHARHT R 0.22)
+ (CHARDP R 0.2199)
+ )
+(CHARACTER H 1D
+ (COMMENT depth rounded to 0.22)
+ (CHARWD R 1.22)
+ (CHARHT R 0.22)
+ (CHARDP R 0.2201)
+ )