summaryrefslogtreecommitdiff
path: root/Build/source/texk/ttf2pk2/subfont.c
diff options
context:
space:
mode:
authorPeter Breitenlohner <peb@mppmu.mpg.de>2012-09-18 17:56:42 +0000
committerPeter Breitenlohner <peb@mppmu.mpg.de>2012-09-18 17:56:42 +0000
commitbcf4f5c089878ad822ed4073e7de63b12344b978 (patch)
tree7947195be8a18a343b2b238bd4d6b758203dc17a /Build/source/texk/ttf2pk2/subfont.c
parente3167f2329da4174fd1332e069788693de96b72a (diff)
ttf2pk: Adapt to W32TeX (from Akira)
Start handling the GSUB table Extend the test to cover vert feature from GSUB table git-svn-id: svn://tug.org/texlive/trunk@27716 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/ttf2pk2/subfont.c')
-rw-r--r--Build/source/texk/ttf2pk2/subfont.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/Build/source/texk/ttf2pk2/subfont.c b/Build/source/texk/ttf2pk2/subfont.c
index c919028dbe3..89619f11e01 100644
--- a/Build/source/texk/ttf2pk2/subfont.c
+++ b/Build/source/texk/ttf2pk2/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;
}