summaryrefslogtreecommitdiff
path: root/Build
diff options
context:
space:
mode:
authorTakuji Tanaka <ttk@t-lab.opal.ne.jp>2020-11-28 01:32:41 +0000
committerTakuji Tanaka <ttk@t-lab.opal.ne.jp>2020-11-28 01:32:41 +0000
commit02c994fa16d8c5e6b90a0e0c9405ceec13e7a0b4 (patch)
tree2117e62e0266d4e25d528c382da36c29c5dbc751 /Build
parent20727c0760eb75cb2962eb7217916aedd8a2ebac (diff)
texk/dvipsk: Accept Japanese vf without character definitions
git-svn-id: svn://tug.org/texlive/trunk@57024 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build')
-rw-r--r--Build/source/texk/dvipsk/ChangeLog6
-rw-r--r--Build/source/texk/dvipsk/virtualfont.c7
2 files changed, 11 insertions, 2 deletions
diff --git a/Build/source/texk/dvipsk/ChangeLog b/Build/source/texk/dvipsk/ChangeLog
index 6f428e1668e..f3b566aaeea 100644
--- a/Build/source/texk/dvipsk/ChangeLog
+++ b/Build/source/texk/dvipsk/ChangeLog
@@ -1,3 +1,9 @@
+2020-11-28 TANAKA Takuji <ttk@t-lab.opal.ne.jp>
+
+ * virtualfont.c:
+ Accept Japanese virtual fonts without character definitions.
+ https://github.com/texjporg/tex-jp-build/issues/99
+
2020-05-20 Karl Berry <karl@freefriends.org>
* dvips.texi (Virtual fonts): add brief mention of this new vf/jfm
diff --git a/Build/source/texk/dvipsk/virtualfont.c b/Build/source/texk/dvipsk/virtualfont.c
index 6afc4683670..9675a3e467e 100644
--- a/Build/source/texk/dvipsk/virtualfont.c
+++ b/Build/source/texk/dvipsk/virtualfont.c
@@ -213,7 +213,10 @@ virtualfont(register fontdesctype *curfnt)
* Now we look for font definitions.
*/
fm = NULL;
+ id = 0;
while ((cmd=vfbyte())>=243) {
+ if (cmd==248 && (id == 9 || id == 11)) /* parent is jfm and no character definitions */
+ goto close_vf;
if (cmd>246)
badvf("unexpected command in preamble");
newf = vfontdef(scaledsize, cmd-242);
@@ -221,8 +224,7 @@ virtualfont(register fontdesctype *curfnt)
fm->next = newf;
else {
curfnt->localfonts = newf;
- id = 0;
- if (!noptex) {
+ if (!noptex && id==0) {
tfmopen(curfnt->localfonts->desc); /* We check if parent is jfm or not. */
id = tfm16();
fclose(tfmfile);
@@ -307,6 +309,7 @@ virtualfont(register fontdesctype *curfnt)
} while (cmd < 243);
if (cmd != 248)
badvf("missing postamble");
+ close_vf:
fclose(vffile);
curfnt->loaded = 2;
if (maxcc+1<no_of_chars) {