static void dogsub(void);
static void doaltsubs(void);
static void dosinglesubs(char const *suffix);
+static void dogpos(void);
static void glyph_complement(void);
static void bdf_gen(int size);
static void doglyph(struct glyph *);
(int)realglyph(&glyphs[i])->left_sidebearing);
printf(" </hmtx>\n");
dogsub();
+ dogpos();
printf("</ttFont>\n");
return EXIT_SUCCESS;
}
glyphs[i].name, glyphs[i].name);
}
+
+static void
+dogpos(void)
+{
+
+ /* We only support one 'GPOS' lookup, 'palt'. */
+ printf(" <GPOS>\n");
+ TTXS(Version, "0x00010000");
+ printf(" <ScriptList>\n");
+ printf(" <ScriptRecord>\n");
+ TTXS(ScriptTag, "DFLT");
+ printf(" <Script><DefaultLangSys>\n");
+ TTXI(ReqFeatureIndex, 0xffff); /* No required feature. */
+ TTXI(FeatureIndex, 0);
+ printf(" </DefaultLangSys></Script>\n");
+ printf(" </ScriptRecord>\n");
+ printf(" </ScriptList>\n");
+ printf(" <FeatureList>\n");
+ printf(" <FeatureRecord>\n");
+ TTXS(FeatureTag, "palt");
+ printf(" <Feature>\n");
+ TTXI(LookupListIndex, 0);
+ printf(" </Feature>\n");
+ printf(" </FeatureRecord>\n");
+ printf(" </FeatureList>\n");
+ printf(" <LookupList>\n");
+ printf(" <Lookup>\n");
+ TTXI(LookupType, 1);
+ TTXI(LookupFlag, 0);
+ printf(" </Lookup>\n");
+ printf(" </LookupList>\n");
+ printf(" </GPOS>\n");
+}
+
/* Emit a charstring for a glyph. */
static void
doglyph(struct glyph *g)