chiark / gitweb /
Note what the various Unicode-range and code-page bits in 'OS/2' mean
authorBen Harris <bjh21@bjh21.me.uk>
Fri, 22 Nov 2024 14:17:55 +0000 (14:17 +0000)
committerBen Harris <bjh21@bjh21.me.uk>
Fri, 22 Nov 2024 14:17:55 +0000 (14:17 +0000)
I haven't actually checked whether they're right, though.

bedstead.c

index 9cae9187dc24fe5544115dea1b36e1e0137cddea..cf9c46a1d69902706bfeff0623f93682e131a964 100644 (file)
@@ -3039,7 +3039,45 @@ main(int argc, char **argv)
        TTXI("yStrikeoutPosition", 3 * YPIX);
        TTXI("sFamilyClass", 0x080a); /* Sans-serif / Matrix */
        dopanose();
-       /* XXX These were generated by FontForge and should be checked. */
+       /*
+        * Unicode ranges that are considered "functional" in this
+        * font.  XXX These are currently the ones chosen by FontForge
+        * and should be checked. XXX
+        *
+        * The set bits correspond with:
+        * 0: Basic Latin
+        * 1: Latin-1 Supplement
+        * 2: Latin Extended-A
+        * 3: Latin Extended-B
+        * 4: IPA Extensions + Phonetic Extensions + Supplement
+        * 5: Spacing Modifier Letters
+        * 7: Greek and Coptic
+        * 9: Cyrillic + Supplement + Extended-A + -B
+        * 11: Hebrew
+        * 29: Latin Extended Additional + -C + -D
+        * 31: General Punctuation + Supplemental Punctuation
+        * 32: Superscripts and Subscripts
+        * 33: Currency Symbols
+        * 35: Letterlike Symbols
+        * 36: Number Forms
+        * 37: Arrows + Supplemental Arrows-A + -B + Misc Symbols and Arrows
+        * 38: Mathematical Operators + Supp + Misc -A + -B
+        * 39: Miscellaneous Technical
+        * 40: Control Pictures
+        * 43: Box Drawing
+        * 44: Block Elements
+        * 45: Geometric Shapes
+        * 46: Miscellaneous Symbols
+        * 47: Dingbats
+        * 57: Non-Plane 0 (any at all, need not be "functional")
+        * 60: Private Use Area (plane 0)
+        * 62: Alphabetic Presentation Forms
+        * 68: Halfwidth and Fullwidth Forms
+        * 69: Specials
+        * 88: Byzantine Musical Symbols + Musical Symbols + Ancient Greek Musical Notation
+        * 89: Mathematical Alphanumeric Symbols
+        * 105: Shavian
+        */
        TTXS("ulUnicodeRange1", "10100000 00000000 00001010 10111111");
        TTXS("ulUnicodeRange2", "01010010 00000000 11111001 11111011");
        TTXS("ulUnicodeRange3", "00000011 00000000 00000000 00110000");
@@ -3056,7 +3094,34 @@ main(int argc, char **argv)
        TTXI("sTypoLineGap", 0);
        TTXI("usWinAscent", ASCENT * YPIX);
        TTXI("usWinDescent", DESCENT * YPIX);
-       /* XXX These were generated by FontForge and should be checked. */
+       /*
+        * Code ranges that are considered "functional" in this
+        * font.  XXX These are currently the ones chosen by FontForge
+        * and should be checked. XXX
+        *
+        * The set bits correspond with:
+        * 0:  CP1252 Latin 1
+        * 1:  CP1250 Latin 2: Eastern Europe
+        * 2:  CP1251 Cyrillic
+        * 3:  CP1253 Greek
+        * 4:  CP1254 Turkish
+        * 5:  CP1255 Hebrew
+        * 29: Macintosh Character Set (US Roman)
+        * 30: OEM Character Set
+        * 48: CP869 IBM Greek
+        * 49: CP866 MS-DOS Russian
+        * 50: CP865 MS-DOS Nordic
+        * 52: CP863 MS-DOS Canadian French
+        * 53: CP862 Hebrew
+        * 54: CP861 MS-DOS Icelandic
+        * 55: CP860 MS-DOS Portuguese
+        * 56: CP857 IBM Turkish
+        * 57: CP855 IBM Cyrillic; primarily Russian
+        * 58: CP852 Latin 2
+        * 60: CP737 Greek; former 437 G
+        * 62: CP850 WE/Latin 1
+        * 63: CP437 US
+        */
        TTXS("ulCodePageRange1", "01100000 00000000 00000000 00111111");
        TTXS("ulCodePageRange2", "11010111 11110111 00000000 00000000");
        TTXI("sxHeight", XHEIGHT * YPIX);