printf(" <tableVersion value='0x5000'/>\n");
printf(" <numGlyphs value='%d'/>\n", (int)nglyphs);
printf(" </maxp>\n");
+
+ printf(" <OS_2>\n");
+ printf(" <version value='4'/>\n");
+ printf(" <xAvgCharWidth value='%d'/>\n", (int)(XSIZE * XPIX));
+ printf(" <usWeightClass value='%d'/>\n", weight->ttfweight);
+ printf(" <usWidthClass value='%d'/>\n", width->ttfwidth);
+ printf(" <fsType value='00000000 00000000'/>\n");
+ /* Sub/Superscript are three by five pixels */
+ printf(" <ySubscriptXSize value='%d'/>\n",
+ (int)(YSIZE * YPIX * 3 / (XSIZE - 1)));
+ printf(" <ySubscriptYSize value='%d'/>\n",
+ (int)(YSIZE * YPIX * 5 / (YSIZE - 3)));
+ printf(" <ySubscriptXOffset value='0'/>\n");
+ printf(" <ySubscriptYOffset value='%d'/>\n", (int)(2 * YPIX));
+ printf(" <ySuperscriptXSize value='%d'/>\n",
+ (int)(YSIZE * YPIX * 3 / (XSIZE - 1)));
+ printf(" <ySuperscriptYSize value='%d'/>\n",
+ (int)(YSIZE * YPIX * 5 / (YSIZE - 3)));
+ printf(" <ySuperscriptXOffset value='0'/>\n");
+ printf(" <ySuperscriptYOffset value='%d'/>\n", (int)(2 * YPIX));
+ printf(" <yStrikeoutSize value='%d'/>\n", (int)(YPIX));
+ printf(" <yStrikeoutPosition value='%d'/>\n", (int)(3 * YPIX));
+ printf(" <sFamilyClass value='%d'/>\n", 0x080a);
+ dopanose();
+ /* XXX These were generated by FontForge and should be checked. */
+ printf(" <ulUnicodeRange1 "
+ "value='10100000 00000000 00001010 10111111'/>\n");
+ printf(" <ulUnicodeRange2 "
+ "value='01010010 00000000 11111001 11111011'/>\n");
+ printf(" <ulUnicodeRange3 "
+ "value='00000011 00000000 00000000 00110000'/>\n");
+ printf(" <ulUnicodeRange4 "
+ "value='00000000 00000000 00000010 00000000'/>\n");
+ printf(" <achVendID value='PfEd'/>\n");
+ printf(" <fsSelection value='00000001 1%c%c00000'/>\n",
+ /* Fixed: use typo metrics; WWS */
+ weight->ttfweight == 500 && width->ttfwidth == 5 ? '1' : '0',
+ weight->ttfweight > 500 ? '1' : '0'); /* Bold? */
+ printf(" <usFirstCharIndex value='32'/>\n");
+ printf(" <usLastCharIndex value='65535'/>\n");
+ printf(" <sTypoAscender value='%d'/>\n", (int)(ASCENT * YPIX));
+ printf(" <sTypoDescender value='%d'/>\n", (int)(-DESCENT * YPIX));
+ printf(" <sTypoLineGap value='0'/>\n");
+ printf(" <usWinAscent value='%d'/>\n", (int)(ASCENT * YPIX));
+ printf(" <usWinDescent value='%d'/>\n", (int)(DESCENT * YPIX));
+ /* XXX These were generated by FontForge and should be checked. */
+ printf(" <ulCodePageRange1 "
+ "value='01100000 00000000 00000000 00111111'/>\n");
+ printf(" <ulCodePageRange2 "
+ "value='11010111 11110111 00000000 00000000'/>\n");
+ printf(" <sxHeight value='%d'/>\n", (int)(XHEIGHT * YPIX));
+ printf(" <sCapHeight value='%d'/>\n", (int)(CAPHEIGHT * YPIX));
+ printf(" <usDefaultChar value='0'/>\n");
+ printf(" <usBreakChar value='32'/>\n");
+ printf(" <usMaxContext value='1'/>\n"); /* No pair subs. */
+ printf(" </OS_2>\n");
/* printf("FontName: %s\n", fullname_to_fontname(get_fullname())); */
/* printf("FullName: %s\n", get_fullname()); */
/* printf("FamilyName: Bedstead\n"); */
/* 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"); */
* DuckRat = XRat = 5/7
*/
panose[9] = 7; /* Ducking/Large */
- printf("Panose: %d %d %d %d %d %d %d %d %d %d\n",
+ printf(" <panose>\n"
+ " <bFamilyType value='%d'/><bSerifStyle value='%d'/>\n"
+ " <bWeight value='%d'/><bProportion value='%d'/>\n"
+ " <bContrast value='%d'/><bStrokeVariation value='%d'/>\n"
+ " <bArmStyle value='%d'/><bLetterForm value='%d'/>\n"
+ " <bMidline value='%d'/><bXHeight value='%d'/>\n"
+ " </panose>\n",
panose[0], panose[1], panose[2], panose[3], panose[4],
panose[5], panose[6], panose[7], panose[8], panose[9]);
}