From 02c994fa16d8c5e6b90a0e0c9405ceec13e7a0b4 Mon Sep 17 00:00:00 2001 From: Takuji Tanaka Date: Sat, 28 Nov 2020 01:32:41 +0000 Subject: texk/dvipsk: Accept Japanese vf without character definitions git-svn-id: svn://tug.org/texlive/trunk@57024 c570f23f-e606-0410-a88d-b1316a301751 --- Build/source/texk/dvipsk/ChangeLog | 6 ++++++ Build/source/texk/dvipsk/virtualfont.c | 7 +++++-- 2 files changed, 11 insertions(+), 2 deletions(-) (limited to 'Build') 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 + + * virtualfont.c: + Accept Japanese virtual fonts without character definitions. + https://github.com/texjporg/tex-jp-build/issues/99 + 2020-05-20 Karl Berry * 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