Bütünleşik Biçembentler, 2. Aşama | ||
---|---|---|
Önceki | Yukarı | Sonraki |
This appendix is informative, not normative.
There are many different font formats in use by many different platforms. To select a preferred font format, transparent content negotiation is used (see [NEGOT]). It is always possible to tell when a font is being dereferenced, because the URI is inside a font description. A given implementation will know which downloadable font formats it supports and can thus use the format hint to avoid downloading fonts in an unsupported format.
The Family, Serif Style and Proportion numbers are used by Windows95 for font selection and matching.
The meaning of the ten numbers and the allowable values (given
in parentheses) are given below for the most common case, where the
"family" digit is 2, Text and Display
. (If the first digit
has a different value, the remaining nine digits have different
meanings). For further details on Panose-1, see [PANOSE].
Panose-2 (see [PANOSE2]) is a specification for a more comprehensive font classification and matching technology which is not limited to Latin typefaces. For example, the serif characteristics of a Latin face may be compared with the stroke terminations of a Kanji face.
The Panose-2 value is not stored inside any known font formats, but may be measured.
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.
Block | Add | Block name | Unicode range |
---|---|---|---|
0 | 1 | Basic Latin | U+0-7F |
1 | 2 | Latin-1 Supplement | U+80-FF |
2 | 4 | Latin-1 Extended-A | U+100-17F |
3 | 8 | Latin Extended-B | U+180-24F |
4 | 1 | IPA Extensions | U+250-2AF |
5 | 2 | Spacing Modifier Letters | U+2B0-2FF |
6 | 4 | Combining Diacritical Marks | U+300-36F |
7 | 8 | Greek | U+370-3CF |
8 | 1 | Greek Symbols and Coptic | U+3D0-3EF |
9 | 2 | Cyrillic | U+400-4FF |
10 | 4 | Armenian | U+530-58F |
11 | 8 | Hebrew | U+590-5FF |
12 | 1 | Hebrew Extended-A Hebrew Extended-B | ?? what ranges ?? |
13 | 2 | Arabic | U+600-69F |
14 | 4 | Arabic Extended | U+670-6FF |
15 | 8 | Devanagari | U+900-97F |
16 | 1 | Bengali | U+980-9FF |
17 | 2 | Gurmukhi | U+A00-A7F |
18 | 4 | Gujarati | U+A80-AFF |
19 | 8 | Oriya | U+B00-B7F |
20 | 1 | Tamil | U+B80-BFF |
21 | 2 | Telugu | U+C00-C7F |
22 | 4 | Kannada | U+C80-CFF |
23 | 8 | Malayalam | U+D00-D7F |
24 | 1 | Thai | U+E00-E7F |
25 | 2 | Lao | U+E80-EFF |
26 | 4 | Georgian | U+10A0-10EF |
27 | 8 | Georgian Extended | U+10F0-10FF ?? |
28 | 1 | Hangul Jamo | U+1100-11FF |
29 | 2 | Latin Extended Additional | - |
30 | 4 | Greek Extended | U+1F00-1FFF |
31 | 8 | General Punctuation | U+2000-206F |
32 | 1 | Superscripts and Subscripts | - |
33 | 2 | Currency Symbols | U+20A0-20CF |
34 | 4 | Combining Marks for Symbols | U+20D0-20FF |
35 | 8 | Letterlike Symbols | U+2100-214F |
36 | 1 | Number Forms | U+2150-218F |
37 | 2 | Arrows | U+2190-21FF |
38 | 4 | Mathematical Operators | U+2200-22FF |
39 | 8 | Miscellaneous Technical | U+2300-23FF |
40 | 1 | Control Pictures | U+2400-243F |
41 | 2 | Optical Character Recognition | U+2440-245F |
42 | 4 | Enclosed Alphanumerics | U+2460-24FF |
43 | 8 | Box Drawing | U+2500-257F |
44 | 1 | Block Elements | U+2580-259F |
45 | 2 | Geometric Shapes | U+25A0-25FF |
46 | 4 | Miscellaneous Symbols | U+2600-26FF |
47 | 8 | Dingbats | U+2700-27BF |
48 | 1 | CJK Symbols and Punctuation | U+3000-303F |
49 | 2 | Hiragana | U+3040-309F |
50 | 4 | Katakana | U+30A0-30FF |
51 | 8 | Bopomofo | U+3100-312F |
52 | 1 | Hangul Compatibility Jamo | U+3130-318F |
53 | 2 | CJK Miscellaneous | ?? |
54 | 4 | Enclosed CJK Letters and Months | U+3200-32FF |
55 | 8 | CJK compatibility | U+3300-33FF |
56 | 1 | Hangul | U+AC00-D7FF |
59 | 8 | CJK Unified Ideographs | U+4E00-9FFF |
60 | 1 | Private Use Area | U+E000-F8FF |
61 | 2 | CJK Compatibility Ideographs | U+F900-FAFF |
62 | 4 | Alphabetic Presentation Forms | U+FB00-FB4F |
63 | 8 | Arabic Presentation Forms-A | U+FB50-FDFF |
64 | 1 | Combining Half Marks | U+FE20-FE2F |
65 | 2 | CJK compatibility Forms | U+FE30-FE4F |
66 | 4 | Small Form Variants | U+FE50-FE6F |
67 | 8 | Arabic Presentation Forms-B | U+FE70-FEFF |
68 | 1 | Halfwidth and Fullwidth Forms | U+FF00-FFEF |
69 | 2 | Specials | U+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, or other scripts introduced with Unicode 2.0 or later revisions.
Authoring tools should allow style sheet authors to add and edit font descriptors. In some cases, however, authoring tools can help by examining locally installed fonts and automatically generating descriptors for fonts referenced in the style sheet. This is also a function that can be carried out by tools which subset or convert fonts ready for dynamic download.
This table suggests where such information can be found, for common font formats.
Descriptor | Type 1 | TrueType and OpenType | TrueType GX [TRUETYPEGX] |
ascent | 'Ascender' in AFM/PFM file | 'Ascender' in 'hhea' table or (preferably)
'sTypoAscender' in 'OS/2' table | 'horizontalBefore' in 'fmtx' table |
baseline | bsln table, see note | ||
bbox | FontBBox , font dictionary | 'xMin' , 'xMax' , 'yMin' and
'yMax' entries of the 'head' table | |
cap-height | CapHeight in AFM/PFM file | ||
descent | 'Descender' in the AFM/PFM file. | ||
mathline | bsln table | ||
font-family | FamilyName , fontinfo dictionary | name table | |
stemh | StdHW , private dictionary of AFM/PFM file | ||
stemv | /StdVW , private dictionary | cvt table | |
topline | bsln table | ||
unicode-range | cmap file | OS/2 table, see Deducing Unicode Ranges for TrueType | |
units-per-em | FontMatrix , font dictionary | unitsPerEm , head table. | |
widths | hmtx table |
Önceki | Yukarı | Sonraki |
Changes from CSS1 | Bir Linux Kitaplığı Sayfası | BB2 Dilbilgisi Kuralları |