E Appendix E: Aids to Web Fonts implementation

Contents

  1. Meaning of the Panose Digits
  2. Deducing Unicode Ranges for TrueType

This appendix is informative.

E.1 Meaning of the Panose Digits

For further details on Panose-1, see [PANOSE].

Family
Serif Style
Weight
Proportion
Contrast
Stroke Variation
Arm Style
Letterform
Midline
XHeight

E.2 Deducing Unicode Ranges for TrueType

This information is available in the font by looking at the 'ulUnicodeRange' bits in the 'OS/2' table (if it has one), which holds a bitfield representation of the set. This table is defined in revision 1.66 of the TrueType specification, from Microsoft. Considering this information as a set, each element corresponds to a Unicode 1.1 character block, and the presence of that element in the set indicates that the font has one or more glyph representations to represent at least one character in that block. The set has 128 elements as described below. The order generally follows that in the Unicode 1.1 standard. This table may be used to convert the information in a TrueType font into a CSS 'unicode-range' descriptor.

BlockAddBlock nameUnicode range

01Basic LatinU+0-7F
12Latin-1 SupplementU+80-FF
24Latin-1 Extended-AU+100-17F
38Latin Extended-BU+180-24F

41IPA ExtensionsU+250-2AF
52Spacing Modifier LettersU+2B0-2FF
64Combining Diacritical MarksU+300-36F
78GreekU+370-3CF

81Greek Symbols and CopticU+3D0-3EF
92CyrillicU+400-4FF
104ArmenianU+530-58F
118HebrewU+590-5FF

121Hebrew Extended-A
Hebrew Extended-B
?? what ranges ??
132ArabicU+600-69F
144Arabic ExtendedU+670-6FF
158DevanagariU+900-97F

161BengaliU+980-9FF
172GurmukhiU+A00-A7F
184GujaratiU+A80-AFF
198OriyaU+B00-B7F

201TamilU+B80-BFF
212TeluguU+C00-C7F
224KannadaU+C80-CFF
238MalayalamU+D00-D7F

241ThaiU+E00-E7F
252LaoU+E80-EFF
264GeorgianU+10A0-10EF
278Georgian ExtendedU+10F0-10FF ??

281Hangul JamoU+1100-11FF
292Latin Extended Additional-
304Greek ExtendedU+1F00-1FFF
318General PunctuationU+2000-206F

321Superscripts and Subscripts-
332Currency SymbolsU+20A0-20CF
344Combining Marks for SymbolsU+20D0-20FF
358Letterlike SymbolsU+2100-214F

361Number FormsU+2150-218F
372ArrowsU+2190-21FF
384Mathematical OperatorsU+2200-22FF
398Miscellaneous TechnicalU+2300-23FF

401Control PicturesU+2400-243F
412Optical Character RecognitionU+2440-245F
424Enclosed AlphanumericsU+2460-24FF
438Box DrawingU+2500-257F

441Block ElementsU+2580-259F
452Geometric ShapesU+25A0-25FF
464Miscellaneous SymbolsU+2600-26FF
478DingbatsU+2700-27BF

481CJK Symbols and PunctuationU+3000-303F
492HiraganaU+3040-309F
504KatakanaU+30A0-30FF
518BopomofoU+3100-312F

521Hangul Compatibility JamoU+3130-318F
532CJK Miscellaneous??
544Enclosed CJK Letters and MonthsU+3200-32FF
558CJK compatibilityU+3300-33FF

561HangulU+AC00-D7FF
598CJK Unified IdeographsU+4E00-9FFF

601Private Use AreaU+E000-F8FF
612CJK Compatibility IdeographsU+F900-FAFF
624Alphabetic Presentation FormsU+FB00-FB4F
638Arabic Presentation Forms-AU+FB50-FDFF

641Combining Half MarksU+FE20-FE2F
652CJK compatibility FormsU+FE30-FE4F
664Small Form VariantsU+FE50-FE6F
678Arabic Presentation Forms-BU+FE70-FEFF

681Halfwidth and Fullwidth FormsU+FF00-FFEF
692SpecialsU+FFF0-FFFD

The TrueType bitfield system has the problem that it is tied to Unicode 1.1 and is unable to cope with Unicode expansion - it is unable to represent Tibetan for example.