summaryrefslogtreecommitdiff
path: root/Build/source
diff options
context:
space:
mode:
authorTakuji Tanaka <ttk@t-lab.opal.ne.jp>2022-02-27 10:34:32 +0000
committerTakuji Tanaka <ttk@t-lab.opal.ne.jp>2022-02-27 10:34:32 +0000
commit89919853af98366b60aa89e21803ba5e54278957 (patch)
tree3399ed767168d6078f0b1544b7de74d7f9fa77aa /Build/source
parent901b17cb4863c29f2ad8eae27cbc34edf49735cb (diff)
dvips: Interpret FONTDIR RT in OFM as pTeX vertical writing
git-svn-id: svn://tug.org/texlive/trunk@62223 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source')
-rw-r--r--Build/source/texk/dvipsk/ChangeLog10
-rw-r--r--Build/source/texk/dvipsk/Makefile.am4
-rw-r--r--Build/source/texk/dvipsk/Makefile.in8
-rw-r--r--Build/source/texk/dvipsk/testdata/Makefile_upjf6
-rw-r--r--Build/source/texk/dvipsk/testdata/upjf-g00.ofmbin0 -> 292 bytes
-rw-r--r--Build/source/texk/dvipsk/testdata/upjf-g00.opl33
-rw-r--r--Build/source/texk/dvipsk/testdata/upjv-g00.ofmbin0 -> 276 bytes
-rw-r--r--Build/source/texk/dvipsk/testdata/upjv-g00.opl28
-rw-r--r--Build/source/texk/dvipsk/tfmload.c5
-rwxr-xr-xBuild/source/texk/dvipsk/uptex-vf.test4
10 files changed, 94 insertions, 4 deletions
diff --git a/Build/source/texk/dvipsk/ChangeLog b/Build/source/texk/dvipsk/ChangeLog
index 564f1cb9103..4d8ef6bc155 100644
--- a/Build/source/texk/dvipsk/ChangeLog
+++ b/Build/source/texk/dvipsk/ChangeLog
@@ -1,3 +1,13 @@
+2022-02-27 TANAKA Takuji <ttk@t-lab.opal.ne.jp>
+
+ * tfmload.c:
+ Interpret FONTDIR RT in OFM as pTeX vertical writing.
+ https://github.com/texjporg/tex-jp-build/issues/135
+ * Makefile.{am,in}, uptex-vf.test,
+ testdata/Makefile_upjf, testdata/upjf-g00.{opl,ofm},
+ testdata/upjf-g00.{opl,ofm}:
+ Add a new test for pTeX & OFM FONTDIR.
+
2022-02-24 TANAKA Takuji <ttk@t-lab.opal.ne.jp>
* Makefile.{am,in}, uptex-vf.test,
diff --git a/Build/source/texk/dvipsk/Makefile.am b/Build/source/texk/dvipsk/Makefile.am
index 8d5b677f007..80d0e370d32 100644
--- a/Build/source/texk/dvipsk/Makefile.am
+++ b/Build/source/texk/dvipsk/Makefile.am
@@ -191,8 +191,10 @@ EXTRA_DIST += testdata/Makefile_upjf testdata/upjf.tex testdata/upjf.dvi testdat
testdata/upjf_full.vf testdata/upjf_omit.vf \
testdata/upjv.tfm testdata/upjv-g.tfm testdata/upjv-r.tfm \
testdata/upjv_full.vf testdata/upjv_omit.vf \
+ testdata/upjf-g00.opl testdata/upjf-g00.ofm \
+ testdata/upjv-g00.opl testdata/upjv-g00.ofm \
testdata/upjf_full.cnf testdata/upjf_omit.cnf
-DISTCLEANFILES += upjf.vf upjv.vf upjf_full.ps upjf_omit.ps
+DISTCLEANFILES += upjf.vf upjv.vf upjf-g.ofm upjv-g.ofm upjf_full.ps upjf_omit.ps
EXTRA_DIST += \
NEWS \
diff --git a/Build/source/texk/dvipsk/Makefile.in b/Build/source/texk/dvipsk/Makefile.in
index c518d11e55f..f4795061df3 100644
--- a/Build/source/texk/dvipsk/Makefile.in
+++ b/Build/source/texk/dvipsk/Makefile.in
@@ -722,8 +722,8 @@ dvips_TEXINFOS = contrib/config.proto dvips.help
DISTCLEANFILES = $(DVIS) $(PSS) beginfontk1.ps eepic-nan.ps pfbincl.ps \
*badnews* same-name.out afmtest.tfm dvipstst.ps missfont.log \
mtest.ps missing-image.ps overflow-color-push.ps \
- overflow-epsfile.ps overflow-psbox.ps upjf.vf upjf_full.ps \
- upjf_omit.ps
+ overflow-epsfile.ps overflow-psbox.ps upjf.vf upjf-g.ofm \
+ upjv-g.ofm upjf_full.ps upjf_omit.ps
enc_DATA = dvips-all.enc
prolog_DATA = $(prologues)
dist_prologues = \
@@ -763,7 +763,9 @@ EXTRA_DIST = $(dist_prologues) texc.script $(TESTS) testdata/8r.enc \
testdata/upjf_omit.vf testdata/upjf_full.cnf \
testdata/upjf_omit.cnf testdata/upjv.tfm testdata/upjv-g.tfm \
testdata/upjv-r.tfm testdata/upjv_full.vf \
- testdata/upjv_omit.vf testdata/upjf_full.cnf \
+ testdata/upjv_omit.vf testdata/upjf-g00.opl \
+ testdata/upjf-g00.ofm testdata/upjv-g00.opl \
+ testdata/upjv-g00.ofm testdata/upjf_full.cnf \
testdata/upjf_omit.cnf NEWS TODO testdata/intoverflow.dvi \
testdata/vfnameoverflow.dvi atari cmfonts.map config.ps \
contrib/afm-extra contrib/colorsep.lpro contrib/configs \
diff --git a/Build/source/texk/dvipsk/testdata/Makefile_upjf b/Build/source/texk/dvipsk/testdata/Makefile_upjf
index 413ec221240..bfea81918d9 100644
--- a/Build/source/texk/dvipsk/testdata/Makefile_upjf
+++ b/Build/source/texk/dvipsk/testdata/Makefile_upjf
@@ -26,6 +26,12 @@ upjv_omit.vf: upjv.tfm upjf_omit.cnf
makejvf -i -u custom -e -t upjf_omit.cnf upjv.tfm -K upjv-g upjv-r
mv upjv.vf upjv_omit.vf
+upjf-g00.ofm:
+ opl2ofm upjf-g00.opl
+
+upjv-g00.ofm:
+ opl2ofm upjv-g00.opl
+
upjf.dvi: upjf.tex
uplatex upjf.tex
dvispc -a upjf.dvi upjf.dvitxt
diff --git a/Build/source/texk/dvipsk/testdata/upjf-g00.ofm b/Build/source/texk/dvipsk/testdata/upjf-g00.ofm
new file mode 100644
index 00000000000..507aa833b4e
--- /dev/null
+++ b/Build/source/texk/dvipsk/testdata/upjf-g00.ofm
Binary files differ
diff --git a/Build/source/texk/dvipsk/testdata/upjf-g00.opl b/Build/source/texk/dvipsk/testdata/upjf-g00.opl
new file mode 100644
index 00000000000..9b3a71d34c6
--- /dev/null
+++ b/Build/source/texk/dvipsk/testdata/upjf-g00.opl
@@ -0,0 +1,33 @@
+(OFMLEVEL H 1)
+(FONTDIR TL)
+(FAMILY UPJF)
+(FACE F MRR)
+(CODINGSCHEME UNSPECIFIED)
+(DESIGNSIZE R 10.0)
+(COMMENT DESIGNSIZE IS IN POINTS)
+(COMMENT OTHER SIZES ARE MULTIPLES OF DESIGNSIZE)
+(CHECKSUM H 0)
+(SEVENBITSAFEFLAG FALSE)
+(FONTDIMEN
+ (SLANT R 0.0)
+ (SPACE R 0.0)
+ (STRETCH R 0.1)
+ (SHRINK R 0.0)
+ (XHEIGHT R 1.0)
+ (QUAD R 1.0)
+ )
+(CHARREPEAT H 2600 H B00
+ (CHARWD R 1.0)
+ (CHARHT R 0.9)
+ (CHARDP R 0.1)
+ )
+(CHARREPEAT H 6000 H 9EFF
+ (CHARWD R 1.0)
+ (CHARHT R 0.9)
+ (CHARDP R 0.1)
+ )
+(CHARREPEAT H FF00 H FF
+ (CHARWD R 0.5)
+ (CHARHT R 0.9)
+ (CHARDP R 0.1)
+ )
diff --git a/Build/source/texk/dvipsk/testdata/upjv-g00.ofm b/Build/source/texk/dvipsk/testdata/upjv-g00.ofm
new file mode 100644
index 00000000000..e5a9f6c7992
--- /dev/null
+++ b/Build/source/texk/dvipsk/testdata/upjv-g00.ofm
Binary files differ
diff --git a/Build/source/texk/dvipsk/testdata/upjv-g00.opl b/Build/source/texk/dvipsk/testdata/upjv-g00.opl
new file mode 100644
index 00000000000..a5d83d7f53a
--- /dev/null
+++ b/Build/source/texk/dvipsk/testdata/upjv-g00.opl
@@ -0,0 +1,28 @@
+(OFMLEVEL H 1)
+(FONTDIR RT)
+(FAMILY UPJF)
+(FACE F MRR)
+(CODINGSCHEME UNSPECIFIED)
+(DESIGNSIZE R 10.0)
+(COMMENT DESIGNSIZE IS IN POINTS)
+(COMMENT OTHER SIZES ARE MULTIPLES OF DESIGNSIZE)
+(CHECKSUM H 0)
+(SEVENBITSAFEFLAG FALSE)
+(FONTDIMEN
+ (SLANT R 0.0)
+ (SPACE R 0.0)
+ (STRETCH R 0.1)
+ (SHRINK R 0.0)
+ (XHEIGHT R 1.0)
+ (QUAD R 1.0)
+ )
+(CHARREPEAT H 2600 H B00
+ (CHARWD R 1.0)
+ (CHARHT R 0.5)
+ (CHARDP R 0.5)
+ )
+(CHARREPEAT H 6000 H 9FFF
+ (CHARWD R 1.0)
+ (CHARHT R 0.5)
+ (CHARDP R 0.5)
+ )
diff --git a/Build/source/texk/dvipsk/tfmload.c b/Build/source/texk/dvipsk/tfmload.c
index cd507d0c2bd..0c721bbebc2 100644
--- a/Build/source/texk/dvipsk/tfmload.c
+++ b/Build/source/texk/dvipsk/tfmload.c
@@ -175,6 +175,11 @@ tfmload(register fontdesctype *curfnt)
bc = tfm32(); ec = tfm32();
nw = tfm32();
for (i=0; i<8; i++) li=tfm32();
+ if (!noptex && font_level==1 && ec>=0x2E00) {
+ curfnt->iswide = 1;
+ if (li==5) /* interpret FONTDIR RT as pTeX vertical writing */
+ curfnt->dir = 9;
+ }
if (font_level>1 || hd<2 || bc<0 || ec<0 || nw<0
|| bc>ec+1 || ec>65535 || nw>65536)
badtfm("header");
diff --git a/Build/source/texk/dvipsk/uptex-vf.test b/Build/source/texk/dvipsk/uptex-vf.test
index 27ac6e29c89..4d0f05c3de5 100755
--- a/Build/source/texk/dvipsk/uptex-vf.test
+++ b/Build/source/texk/dvipsk/uptex-vf.test
@@ -7,6 +7,8 @@ TEXFONTS="$srcdir/testdata;."
SOURCE_DATE_EPOCH=1588474800
export TEXFONTS SOURCE_DATE_EPOCH
+rm -f upjf.vf upjv.vf upjf-g.ofm upjv-g.ofm
+
cp $srcdir/testdata/upjf_full.vf ./upjf.vf && \
cp $srcdir/testdata/upjv_full.vf ./upjv.vf && \
./dvips -d 4 $srcdir/testdata/upjf.dvi -o upjf.ps -u $srcdir/testdata/upjf.map && \
@@ -14,6 +16,8 @@ mv upjf.ps upjf_full.ps || exit 1
cp $srcdir/testdata/upjf_omit.vf ./upjf.vf && \
cp $srcdir/testdata/upjv_omit.vf ./upjv.vf && \
+cp $srcdir/testdata/upjf-g00.ofm ./upjf-g.ofm && \
+cp $srcdir/testdata/upjv-g00.ofm ./upjv-g.ofm && \
./dvips -d 4 $srcdir/testdata/upjf.dvi -o upjf.ps -u $srcdir/testdata/upjf.map && \
mv upjf.ps upjf_omit.ps || exit 2