Gnu FreeFont support for OpenType OS/2 character ranges

For historical reasons, TrueType classifies Unicode ranges according to an extension of the old OS/2 character ranges. This table shows how many characters FontForge finds in each of the ranges for each face in the family.

OS/2 character ranges vs. font faces
OS/2 character range range
total
SrfSrf ISrf BSrf BISansSans OSans BSans BOMonoMono OMono BMono BO
Basic Latin 98 98 98 98 98 98 98 98 98 98 98 98 98
Latin-1 Supplement 96 96 96 96 96 96 96 96 96 96 96 96 96
Latin Extended-A 128 128 128 128 128 128 128 128 128 128 128 128 128
Latin Extended-B 208 208 208 208 208 177 174 174 174 178 178 178 178
IPA and Phonetic Extensions 288 288 144 241 143 141 96 96 96 96 96 67 67
Spacing Modifier Letters 112 112 80 80 80 80 80 80 80 80 80 80 80
Combining Diacritical Marks (+suppl.) 155 145 112 112 112 112 112 112 112 112 112 112 112
Greek and Coptic 134 134 110 124 109 97 87 87 87 91 91 91 91
Coptic 128 66   53                  
Cyrillic (+suppl., +ext.-A, -B) 408 408 260 272 260 268 236 236 236 265 255 224 224
Armenian 87 87 87 87 87 87 87 87 87 87 87    
Hebrew 87 87 87 87 87 56 52 52 52 56 52 52 52
Vai 300         300              
Arabic (+suppl.) 300 300   300           212      
N'Ko 64                        
Devanagari (+ext.) 155 155 2 127   127   127          
Bengali 92 92 92     92 92            
Gurmukhi 79 79   79   79   79          
Gujarati 84 84                      
Oriya 90 90                      
Tamil 72 72                      
Telugu 94                        
Kannada 86                        
Malayalam 98 98       98              
Thai 87 87 87 87 87                
Lao 128                        
Georgian (+suppl.) 121 83 83 83 83 74 74 74 74 41 41 41 41
Balinese 128                        
Hangul Jamo 256                        
Latin Extended (Additional,C,D) 422 379 270 270 267 256 252 253 252 251 251 251 251
Greek Extended 233 233 233 233 233 233 233 233 233 233 233    
General Punctuation (+suppl.) 151 138 102 102 102 116 115 115 115 116 115 116 115
Superscripts and Subscripts 34 34 34 34 34 34 34 34 34 34 34 34 34
Currency Symbols 26 26 25 24 24 24 24 12 12 23 23 17 17
Combining Diacritical Marks for Symbols 33 33 33 20 20 31 31 25 25 23      
Letterlike Symbols 80 77 71 48 48 69 68 38 38 52 52 37 37
Number Forms 58 58 45 45 45 45 45 45 45 45 45 13 13
Arrows (+suppl.) 519 183 39 77 52 43 43 30 30 128 39 38 38
Mathematical Operators 686 391 84 197 77 187 65 111 52 279 65 59 57
Miscellaneous Technical 232 113 7 10 5 34 6 9 5 196 5 3 3
Control Pictures 39 39 1 1 1 39 1 1 1 39 1 1 1
Optical Character Recognition 11                 11      
Enclosed Alphanumerics 160 10       10       10      
Box Drawing 128 116   105   105       128   128  
Block Elements 32 32   32   32       32   22  
Geometric Shapes 96 96 6 24 6 96 4 5 4 96 3 75 3
Miscellaneous Symbols 256 191 15 17 15 19 15 16 15 84 15 29 15
Dingbats 191 191       1   1          
CJK Symbols and Punctuation 64                        
Hiragana 96                        
Katakana 96                        
Bopomofo 48                        
Hangul Compatibility Jamo 96                        
Kanbun 16                        
Enclosed CJK Letters and Months 256                        
CJK Compatibility 256                        
Hangul Syallables 11172                        
Non-Plane 0 2048                        
Phoenician 29         29              
CJK Unified Ideographs 20992                        
Private Use Area 6400 2448 507 717 63 1647 486 255 20 15 2 1 1
CJK Compatibility Ideographs 512                        
Alphabetic Presentation Forms 58 58 50 50 50 57 57 57 57 52 49 39 39
Arabic Presentation Forms-A 611 169   143           140      
Combining Half Marks 7 7                      
CJK Compatibility Forms 48                        
Small Form Variants 26                        
Arabic Presentation Forms-B 141 141   141           141      
Halfwidth and Fullwidth Forms 240                        
Specials 5 5 5 5 5 5 5 5 5 5 5 5 5
Tibetan 256                        
Syriac 77         77              
Thaana 50 50   50                  
Sinhala 80 80   80                  
Myanmar 160                        
Ethiopic (+suppl., +ext.) 484 345                      
Cherokee 85 85 85 85 85 85 85 85 85 85      
Unified Canadian Aboriginal Syllabics 710         710              
Ogham 32                        
Runic 81                 81      
Khmer (+symbols) 160                        
Mongolian 176                        
Braille Patterns 256                 256      
Yi Syllables, Radicals 304                        
Tagalog Hanunoo Buhid Tagbanwa 100 23                      
Old Italic 35                 35      
Gothic 27 27                      
Deseret 80                        
Byzantine & Western Musical Symbols 466 466                      
Mathematical Alphanumeric Symbols 996 996                      
Private Use (plane 15,16) 69628                        
Variation Selectors (+suppl.) 256                        
Tags 496                        
Limbu 80                        
Tai Le 35 35                      
New Tai Lue 96                        
Buginese 30 30                      
Glagolitic 94 86                      
Tifinagh 57         57 55 55 55        
Yijing Hexagram Symbols 64                        
Syloti Nagri 48                        
Linear B Syllabary etc 320                        
Ancient Greek Numbers 80 5 5 5 5                
Ugaritic 31         31              
Old Persian 51         50              
Shavian 48                        
Osmanya 48         40              
Cypriot Syllabary 64                        
Kharoshthi 96                        
Tai Xuan Jing Symbols 96                        
Cuneiform (+numbers) 1152                        
Counting Rod Numerals 32                        
Sundanese 55                        
Lepcha 80                        
Ol Chiki 48                        
Saurashtra 81                        
Kayah Li 48                 48      
Rejang 37                        
Cham 96                        
Ancient Symbols 64                        
Phaistos Disc 48                        
Carian, Lycian, Lydian 105                        
Domino and Mahjong Tiles 144 144                      
total in Unicode ranges 10537  3291  4777  2715  6272  3036  2911  2403  4178  2251  2035  1796 
total in font 10537  3291  4777  2715  6272  3036  2911  2403  4178  2251  2035  1796 
total in Private Use 2448  507  717  63  1647  486  255  20  15 

Ranges for which (FontForge reports that) the font's OS/2 support bit is set are marked with a bullet.

For many ranges, I took the liberty of reducing the set of characters considered to those listed for the range in the current Unicode charts. The number of characters supported can thus be less than the width of the range.

The totals include glyphs in the Private Use areas (where there are many ligatures, alternative forms, and glyph components). The glyphs in these areas do not correspond to Unicode characters.

Three control characters are inserted at 0x00, 0x01 and 0x0d to satisfy the TrueType recommendations. These are counted under Basic Latin, but other control characters there are not counted.

Note that there is a discrepancy in the Greek Symbols, Hebrew Extended and Arabic Extended ranges, between what FontForge reports here and in its Font Info window under OS/2 Character Ranges. I don't know why, but these ranges are also not well defined in the TrueType standard.

Note the two characters from Devanagri. These are the danda and double-danda used by other Indic scripts.

The ranges beyond Unicode point 0xFFFF, are shaded.

Generated by range_report.py on 02:14:54 PM 04/29/2012 CEST.