From: Ben Harris Date: Sat, 2 Nov 2024 13:53:55 +0000 (+0000) Subject: Generate 'OS/2' table for TTX X-Git-Tag: bedstead-3.246~73 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~bjharris/git?a=commitdiff_plain;h=d4d22234292277dcc44f4bb43f5d864e8bb75a54;p=bedstead.git Generate 'OS/2' table for TTX --- diff --git a/bedstead.c b/bedstead.c index ba7c22a..74064df 100644 --- a/bedstead.c +++ b/bedstead.c @@ -2899,6 +2899,62 @@ main(int argc, char **argv) printf(" \n"); printf(" \n", (int)nglyphs); printf(" \n"); + + printf(" \n"); + printf(" \n"); + printf(" \n", (int)(XSIZE * XPIX)); + printf(" \n", weight->ttfweight); + printf(" \n", width->ttfwidth); + printf(" \n"); + /* Sub/Superscript are three by five pixels */ + printf(" \n", + (int)(YSIZE * YPIX * 3 / (XSIZE - 1))); + printf(" \n", + (int)(YSIZE * YPIX * 5 / (YSIZE - 3))); + printf(" \n"); + printf(" \n", (int)(2 * YPIX)); + printf(" \n", + (int)(YSIZE * YPIX * 3 / (XSIZE - 1))); + printf(" \n", + (int)(YSIZE * YPIX * 5 / (YSIZE - 3))); + printf(" \n"); + printf(" \n", (int)(2 * YPIX)); + printf(" \n", (int)(YPIX)); + printf(" \n", (int)(3 * YPIX)); + printf(" \n", 0x080a); + dopanose(); + /* XXX These were generated by FontForge and should be checked. */ + printf(" \n"); + printf(" \n"); + printf(" \n"); + printf(" \n"); + printf(" \n"); + printf(" \n", + /* Fixed: use typo metrics; WWS */ + weight->ttfweight == 500 && width->ttfwidth == 5 ? '1' : '0', + weight->ttfweight > 500 ? '1' : '0'); /* Bold? */ + printf(" \n"); + printf(" \n"); + printf(" \n", (int)(ASCENT * YPIX)); + printf(" \n", (int)(-DESCENT * YPIX)); + printf(" \n"); + printf(" \n", (int)(ASCENT * YPIX)); + printf(" \n", (int)(DESCENT * YPIX)); + /* XXX These were generated by FontForge and should be checked. */ + printf(" \n"); + printf(" \n"); + printf(" \n", (int)(XHEIGHT * YPIX)); + printf(" \n", (int)(CAPHEIGHT * YPIX)); + printf(" \n"); + printf(" \n"); + printf(" \n"); /* No pair subs. */ + printf(" \n"); /* printf("FontName: %s\n", fullname_to_fontname(get_fullname())); */ /* printf("FullName: %s\n", get_fullname()); */ /* printf("FamilyName: Bedstead\n"); */ @@ -2922,31 +2978,13 @@ main(int argc, char **argv) /* weight->suffix[0] ? width->suffix : */ /* width->suffix[0] ? width->suffix+1 : ""); */ /* printf("Weight:%s\n", weight->suffix[0] ? weight->suffix : " Medium"); */ - /* printf("OS2_WeightWidthSlopeOnly: 1\n"); */ /* printf("Copyright: Dedicated to the public domain\n"); */ /* printf("Version: 002.009\n"); */ /* printf("ItalicAngle: 0\n"); */ /* printf("UnderlinePosition: %g\n", (double)(-3 * YPIX / 2)); */ /* printf("UnderlineWidth: %g\n", (double)(YPIX)); */ - /* printf("OS2StrikeYPos: %d\n", (int)(3 * YPIX)); */ - /* printf("OS2StrikeYSize: %d\n", (int)(YPIX)); */ /* printf("Ascent: %g\n", (double)(8 * YPIX)); */ /* printf("Descent: %g\n", (double)(2 * YPIX)); */ - /* /\* Sub/Superscript are three by five pixels *\/ */ - /* printf("OS2SubXSize: %d\n", (int)(YSIZE * YPIX * 3 / (XSIZE - 1))); */ - /* printf("OS2SupXSize: %d\n", (int)(YSIZE * YPIX * 3 / (XSIZE - 1))); */ - /* printf("OS2SubYSize: %d\n", (int)(YSIZE * YPIX * 5 / (YSIZE - 3))); */ - /* printf("OS2SupYSize: %d\n", (int)(YSIZE * YPIX * 5 / (YSIZE - 3))); */ - /* printf("OS2SubXOff: 0\n"); */ - /* printf("OS2SupXOff: 0\n"); */ - /* printf("OS2SubYOff: %d\n", (int)(2 * YPIX)); */ - /* printf("OS2SupYOff: %d\n", (int)(2 * YPIX)); */ - /* printf("FSType: 0\n"); */ - /* printf("TTFWeight: %d\n", weight->ttfweight); */ - /* printf("TTFWidth: %d\n", width->ttfwidth); */ - /* dopanose(); */ - /* printf("OS2Vendor: 'PfEd'\n"); */ - /* printf("OS2FamilyClass: %d\n", 0x080a); */ /* printf("LayerCount: 2\n"); */ /* printf("Layer: 0 0 \"Back\" 1\n"); */ /* printf("Layer: 1 0 \"Fore\" 0\n"); */ @@ -3181,7 +3219,13 @@ dopanose(void) * DuckRat = XRat = 5/7 */ panose[9] = 7; /* Ducking/Large */ - printf("Panose: %d %d %d %d %d %d %d %d %d %d\n", + printf(" \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n", panose[0], panose[1], panose[2], panose[3], panose[4], panose[5], panose[6], panose[7], panose[8], panose[9]); }