Microsoft Typography | Developer information | Specifications | OpenType Layout tag registry | |||||||||||||||||||||||||||
This section defines the standard OpenType Layout baseline tags that Microsoft supports. A registered baseline tag has a specific meaning when used in the horizontal writing direction (used in the 'BASE' table's HorizAxis table), vertical writing direction (used in the 'BASE' table's VertAxis table), or both, and conveys information to font users about a baseline's use. For example, the "romn" baseline tag is commonly used to identify the baseline to layout Latin text in the horizontal, vertical, or both directions for Latin text layout. For compatibility and ease of use, Microsoft encourages font developers to use registered baseline tags. This version of the Tag Registry identifies the baselines that Microsoft has implemented to date. All baseline tags are 4-byte character strings composed of a limited set of ASCII characters in the 0x20-0x7E range. Baseline tags consist of four lowercase letters.
[ The notation <Axis>.<Baseline Tag> is used in the following description to mean the baseline tag as defined in the specified axis. For example, HorizAxis.ideo means the ideo baseline tag as defined in the HorizAxis of the BASE table. See above for a list of registered baseline tags. ] A font's ideographic em-box is the rectangle that defines a standard escapement around the full-width ideographic glyphs of the font, for both the horizontal and vertical writing directions. It is usually a square, but may be non-square as in the case of fonts used in Japanese newspaper layout that have a vertically condensed design. The left, right, top and bottom edges of the ideographic em-box are to be determined as follows:
Determining whether a font is CJK (Chinese, Japanese, or Korean) or not, as in the second-last "Else" clause above, can be done by checking the CJK-related bits of the OS/2.ulUnicodeRange fields. Note that font designers can specify a HorizAxis.ideo baseline in their non-CJK fonts; this can be used by applications when aligning the font with an ideographic font used on the same line of text, when the user has specified ideographic em-box alignment. The ideographic em-box center baseline is defined as halfway between the ideographic em-box top and bottom baselines in the horizontal axis, and halfway between the ideographic em-box left and right baselines in the vertical axis. These center baselines are defined in whole character units. The division used in the calculation must round to the character unit nearest 0 if needed. Thus, for maximal precision of center baseline placement, vendors should ensure that opposite edges of the ideographic em-box box are an even number of character units apart. Example: The values of the ideographic baseline tags for the Kozuka Mincho font family (designed on a 1000-unit em) are:
Compatibility notes:
See the section "OpenType CJK Font Guidelines" for more information about constructing CJK fonts. [ The notation <Axis>.<Baseline Tag> is used in the following description to mean the baseline tag as defined in the specified axis. For example, HorizAxis.icfb means the icfb baseline tag as defined in the HorizAxis of the BASE table. See above for a list of registered baseline tags. ] The ideographic character face (ICF), also known as the average character face (ACF), specifies the approximate bounding box of the full-width ideographic and kana glyphs in a CJK font. (This is different from the FontBBox, as described in the PostScript programming language, which is the bounding box of all glyphs in the font.) In Japanese, the term for ICF is heikin jizura. It is typically expressed as a percentage that represents the ratio of the length of an ICF box edge to the length of an ideographic em-box edge, and is conceptualized as a square centered within the ideographic em-box. However, in OpenType, the ICF box's left, bottom, right, and top edges are specified as the VertAxis.icfb, HorizAxis.icfb, VertAxis.icft, and HorizAxis.icft baselines, respectively, thus giving font designers the flexibility to specify a non-square and/or non-centered ICF box. Font designers should set the value of the ICF box edges based on how tight or loose they want the font to appear when text is set with no tracking or kerning (beta gumi in Japanese). Therefore, the left-over boundary of the ideographic em-box around the ICF box is the default escapement of the font. Applications can use the ICF box as an alignment tool, to ensure that glyphs touch the edges of the text frame and page objects are visually aligned to text edges. It is also useful for aligning glyphs of different sizes on the same line. In Japanese traditional paper-based workflow, the ICF box was often used for these purposes. It provides optically aligned results that are superior to using the ideographic em-box. HorizAxis.icfb is the mininum piece of information required to define the ICF, in a CJK font. First, the ideographic em-box dimensions must be calculated as in the section "Ideographic Em-Box" above. The ICF edges are then calculated in the following order:
For the last case above, i.e. fonts that don't have ICF information in their 'BASE' table, an application may choose to apply a heuristic such as calculating the bounding box of some or all of the ideographic and kana glyphs, and then averaging its margin with the ideographic em-box. The ICF center baseline is defined as halfway between the ICF top and bottom baselines in the horizontal axis, and halfway between the ICF left and right baselines in the vertical axis. These center baselines are defined in whole character units. The division used in the calculation must round to the character unit nearest 0 if needed. Thus, for maximal precision of center baseline placement, vendors should ensure that opposite edges of the ICF box are an even number of character units apart. Example: The values of the ICF baselines for the Extra Light and Heavy weights of the Kozuka Mincho font family (designed on a 1000-unit em, with ideographic em-box as given in the example in the previous section) are:
It is strongly recommended that each of the edges of the ICF box be equidistant from the corresponding edge of the ideographic em-box. Following this will result in more predictable results in applications that use these values. That is, for fonts based on a square ideographic em-box, the ICF box should be a centered square. See the section "OpenType CJK Font Guidelines" for more information about constructing CJK fonts.
|
|||||||||||||||||||||||||||
Microsoft Typography | Developer information | Specifications | OpenType Layout tag registry | |||||||||||||||||||||||||||