diff options
author | Peter Breitenlohner <peb@mppmu.mpg.de> | 2012-09-18 17:55:36 +0000 |
---|---|---|
committer | Peter Breitenlohner <peb@mppmu.mpg.de> | 2012-09-18 17:55:36 +0000 |
commit | e3167f2329da4174fd1332e069788693de96b72a (patch) | |
tree | 39ca6dd621ecfbbec729afb0354cb1e023e903de /Build/source/texk/ttf2pk/subfont.c | |
parent | cf6f2edfb33cb21fb49e4c182f43aab5e031f80a (diff) |
ttf2pk: Adapt to W32TeX (from Akira)
Extend the test to cover vert feature from GSUB table
git-svn-id: svn://tug.org/texlive/trunk@27715 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/ttf2pk/subfont.c')
-rw-r--r-- | Build/source/texk/ttf2pk/subfont.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/Build/source/texk/ttf2pk/subfont.c b/Build/source/texk/ttf2pk/subfont.c index c919028dbe3..89619f11e01 100644 --- a/Build/source/texk/ttf2pk/subfont.c +++ b/Build/source/texk/ttf2pk/subfont.c @@ -35,7 +35,7 @@ static realsubfont *real_sfd_name = NULL, *real_lig_name = NULL; static realsubfont * really_init_sfd(char *name, Boolean fatal); static Boolean -really_get_sfd(Font *fnt, Boolean next, realsubfont *rsf); +really_get_sfd(Font *fnt, Boolean next, realsubfont *rsf, Boolean new_sfd); static void really_close_sfd(realsubfont *real_name); @@ -163,14 +163,14 @@ really_init_sfd(char *name, Boolean fatal) Boolean get_sfd(Font *fnt, Boolean is_sfd) { if (is_sfd) - return really_get_sfd(fnt, False, real_sfd_name); + return really_get_sfd(fnt, False, real_sfd_name, True); else - return really_get_sfd(fnt, False, real_lig_name); + return really_get_sfd(fnt, False, real_lig_name, False); } static Boolean -really_get_sfd(Font *fnt, Boolean next, realsubfont *rsf) +really_get_sfd(Font *fnt, Boolean next, realsubfont *rsf, Boolean new_sfd) { long i, offset; long begin, end = -1; @@ -229,7 +229,7 @@ again: if (*bufp == '\0') oops("Invalid subfont entry in `%s'.", rsf->name); - if (next) + if (next || !new_sfd) { if (strcmp(fnt->subfont_name, buffer)) goto again; @@ -309,7 +309,7 @@ again: if (!next) while ((rsf = rsf->next)) - (void)really_get_sfd(fnt, True, rsf); + (void)really_get_sfd(fnt, True, rsf, new_sfd); return True; } |