raw, containing 3, glyphs, the horizontal versions of which now have proportional metrics. Although the conventional ordering of these features is liga followed by vert and vrt2, this font s vertical-only hiragana ligatures necessitates a different ordering, specifically vert and vrt2 followed by liga. Its CFF table is built from a CIDFont resource. For Kazuraki, because it is based on the special-purpose Adobe-Identity-0 character collection, special-purpose CMap 6 Adobe Technical Note Special-Purpose OpenType Japanese Font Tutorial: Kazuraki 6 resources are necessary. Kazuraki contains two GPOS features, kern and vkrn, to specify horizontal and vertical kerning pairs, respectively. Once the vert GSUB feature has been applied, the vertical-only hiragana ligatures can then be applied via the liga GSUB feature. The primary advantage is that a CID-keyed structure supports multiple hint dictionaries. That is, for each character, there are two glyphs in the font. Even if there are no mappings outside the BMP, a UTF CMap resource is still recommended as input to AFDKO s makeotf tool. Kazuraki s features file contains a very large number of VertAdvanceY and VertOriginY statements in its vmtx table overrides. However, mergefonts techniques described in Adobe Tech Note AFDKO Version 2. BaseScriptList DFLT ideo , hani ideo , kana ideo , latn ideo ; VertAxis. Nearly every vertical glyph required treatment by one or both of these vmtx overrides. BaseTagList icfb icft ideo romn; HorizAxis. raw The end result is an Adobe-Identity-0 CIDFont resource, named cidfont-prop. It also made other tasks easier. The set width and X-axis shifting values are in the palt GPOS feature of the source name-keyed OpenType font. raw cidfont-prop. Due to its unique and limited glyph complement, Kazuraki is not recommended for use as a component in these applications Composite Font functionality. The palt data shown above is used to generate the following rotatefont directive for the shift. Alignment zones, however, are another matter. The mapping files that controlled the execution of the mergefonts and rotatefont tools were generated by this tool, as was the features files containing vmtx table overrides and all GSUB and GPOS feature definitions. The specification of name table strings is performed in the FontMenuNameDB and features files. The vert GSUB feature substitutes the horizontal forms with their vertical versions. As a general rule, the ordering of GPOS and GSUB features in the features file is important, because the same ordering is reflected in the GPOS and GSUB tables that are generated by AFDKO s makeotf tool. raw, containing 3, glyphs in a single hint dictionary. As an example, let us explore the treatment of the horizontal glyph for the hiragana character shi し. NNNNNN The process of establishing multiple hint dictionaries in a CIDFont requires files and tools that are not included in AFDKO, and their description is intentionally and appropriately omitted from this document. The glyphs themselves are the same, but their advances and default positioning along both X- and Y-axes are different. In addition, these and other applications may not display Kazuraki s name in Japanese in their font menus. map mapping file: The calculation is simple: the value is used as-is as the X-axis shifting value, and the default set-width value of becomes after the value is added to it a subtraction operation. The technique of using the Adobe-Identity-0 character collection should not be used to build general-purpose OpenType Japanese fonts. raw h. Care must be taken to explicitly set Japanese as the script and language, for as many of the strings as possible, as appropriate. map cidfont. Author Dr. Due to the large number of glyphs, and the complex relationships between them, it was important to create a tool to do this work, because doing so by hand would have been tedious, and also prone to error. Lastly, the vmtx table overrides, which are also used to build the VORG table, serve to specify the default vertical metrics The FontMenuNameDB File The English and Japanese menu names that are recorded in the name table of an OpenType font are specified in the FontMenuNameDB file. Kazuraki works very well with CS3 and CS4 applications, specifically InDesign, Illustrator, and Photoshop. When writing a comparable tool, I found that it was very useful to maintain a mapping from the glyph names in the source font to the final CIDs. The raw data to build the Unicode UTF CMap resources was also generated by this tool. codePageRange fields. For Kazuraki, the Unicode CMap resource was named UniKazurakiSP2N-UTFH to make it tightly coupled with the font. Post-processing of the glyph data is used to derive the vertical versions, which are positioned along the Y-axis differently, and have different metrics Vertical-Only Hiragana Ligatures Kazuraki includes a small number of vertical-only hiragana ligatures, fifty-one to be exact. See the section for the vmtx table for more information on vmtx table settings and overrides cmap The cmap table for CID-keyed OpenType fonts is built using one or more CMap resources. The glyph complement includes glyphs for all standard kana characters, but includes a limited set of kanji, 1, to be exact, suitable for creating Japanese greeting cards, menus, and other specialized uses. This CMap resource is used solely as input to AFDKO s makeotf tool, to build the Unicode cmap subtables of the resulting OpenType font. The advantage of using liga is that most applications that perform an adequate level of typesetting also tend to automatically invoke this GSUB feature, 2 Adobe Technical Note Special-Purpose OpenType Japanese Font Tutorial: Kazuraki 2 or at least allow users to activate it through a standard UI. All glyphs needed to be replicated for vertical use, due to limitations in the ability to shift glyphs in both X- and Y-axis directions in the OpenType vmtx table, coupled with the strong desire to make expected behavior the default without an application depending on, or activating, any GSUB or GPOS features. Although Kazuraki could have been built as a name-keyed font, CID-keyed fonts have advantages for Japanese fonts. Four GSUB features fwid, vert, vrt2, and liga are also included, whose relative order is important, as described earlier in this document. In fact, we recommend that CS3 and later applications be used for Kazuraki and comparable fonts. Adobe Systems Incorporated assumes no responsibility or liability for any errors or inaccuracies, makes no warranty of any kind expressed, implied, statutory, or otherwise with respect to this publication, and expressly disclaims any and all warranties of merchantability, fitness for particular purposes, and non-infringement of third party rights. This allows vertical-only hiragana ligatures to be used by default in many applications CID- Versus Name-Keyed Structure Kazuraki was built as a CID-keyed OpenType font. If you have any questions regarding the content of this document, please do not hesitate to contact its author, Ken Lunde Kazuraki Design Motivations With the exception of the vertical-only hiragana ligatures, all glyphs in Kazuraki have corresponding horizontal and vertical forms. These GPOS features are not in the final form of the font, because they are not necessary. Ken Lunde, Senior Computer Scientist, CJKV Type Development, Adobe Systems Incorporated Publishing Date May 10, Adobe Systems Incorporated Park Avenue, San Jose, CA USA Adobe, the Adobe logo, and Better by Adobe. All other trademarks are the property of their respective owners. Three are fourcharacter ligatures, twelve are three-character ligatures, and the remaining thirty-six are two-character ones. The horizontal and vertical metrics are respected, and proper vertical layout is supported, including the vertical-only hiragana ligatures. These are activated through the use of the liga GSUB feature. Any software referred to herein is furnished under license, and may only be used or copied in accordance with the terms of such license. Kazuraki functions in Adobe Illustrator CS2 and Adobe Photoshop CS2 with some limitations, specifically that the vertical-only hiragana ligatures do not function, even if the liga GSUB feature is turned on. And, multiple mergefonts mapping files can serve to specify glyphs for single hint dictionaries. map font. In fact, the proprietary tool that was used to establish multiple hint dictionaries for Kazuraki uses mergefonts to perform this task. The process of hinting also involves creating multiple hint dictionaries, ideally only one for each glyph class. The set widths and Y-axis shifting for the vertical glyphs are specified in a vmtx table override definition that is inserted into the features file. BaseTagList icfb icft ideo romn; VertAxis. This feature covers the majority of the font. pfa v. As stated earlier in this document, Kazuraki s CIDFont resource contains 3, glyphs, specifically CIDs 0 through Kazuraki contains exactly six hint dictionaries, named as follows, and with the number of glyphs in each in parentheses: KazurakiSP2N-Light-Dingbats glyphs KazurakiSP2N-Light-Generic one glyph KazurakiSP2N-Light-Kana glyphs KazurakiSP2N-Light-Kanji 2, glyphs KazurakiSP2N-Light-Proportional glyphs KazurakiSP2N-Light-ProportionalRot glyphs The features File The features file plays an important role, in that overrides to specific tables can be made, and GPOS and GSUB features can be defined. Hinting Issues Hinting, in terms of stem widths, is applied as usual for Kazuraki. Multiple mergefonts mapping files, in which the first line each each file names a hint dictionary, is the appropriate technique. The handling of vertical glyphs, in terms of specifying their set widths and Y-axis positions, is covered later in this document. pfa The end result is an Adobe-Identity-0 CIDFont resource, named cidfont. When developing special-purpose OpenType Japanese fonts, it is prudent to rigorously test the font with a variety of OSes and applications, to include entire document authoring workflows Glyph Synopsis The following fourteen pages provide a complete glyph synopsis for the 3, glyphs of Kazuraki, arranged by CID. This section describes the special settings, one table at a time, along with information that demonstrates how the table overrides are specified in the features file as used as input for AFDKO s makeotf tool BASE There is no special treatment necessary for the BASE table, other than the usual ICF Ideographic Character Face and baseline values that should be normally specified. Thus, OpenType-savvy applications that support vertical writing can use such fonts without modification. It is very important to include a BASE table in all OpenType fonts. Although Adobe-Identity-0 does not explicitly specify that Kazuraki is a Japanese font, other table settings, along with proven heuristics, are used to make clear the fact that it is a Japanese font. Kazuraki also includes a basic set of proportional Latin glyphs to aid in keyboard input. Because the vertical glyphs are accessible through the vert and vrt2 GSUB features, only the horizontal glyphs are mapped from Unicode code points name The name table is built as usual, setting English and Japanese strings, as appropriate. The only exception is the name. This made generating the raw data for the CMap resource a much easier task. This publication and the information herein is furnished AS IS, is subject to change without notice, and should not be construed as a commitment by Adobe Systems Incorporated.
The techniques, afdko tutorial, and control files that are afdko tutorial or referenced in, afdko tutorial attached to, this document are tightly coupled to tools that are included in AFDKO Adobe Font Development Kit for OpenType Version 2.
The third tool, rotatefont, serves to set the フルハウス フラッシュ afdko tutorial the horizontal glyphs, and to also shift them along the X-axis. The same source font also contains palt and vpal GPOS features that specify the desired glyph metrics horizontal and vertical set widths, and X- and Y-axis shifting values, respectivelyand these GPOS features are used as the source of the default metrics for the horizontal and vertical glyphs in the final font, which is an Adobe- Identity-0 CID-keyed OpenType font containing 3, glyphs CIDs 0 through Three AFDKO tools are used to process the original set of 1, glyphs: tx, mergefonts, and rotatefont.
Copyright Adobe Systems Incorporated.
Kazuraki s name may instead display in English, using the English-language menu name strings that are specified in the name table. Anything specified in the vmtx table becomes default behavior. The Special-Purpose Adobe-Identity-0 Character Collection Because the glyph complement of Kazuraki does not adhere to the Adobe-Japan character collection, and because it makes little sense to extend Adobe-Japan to accommodate such special-purpose fonts, the special-purpose Adobe-Identity-0 character collection is advertised in the CFF. Once these tools have been run, and the glyphs are assigned to CIDs, and the horizontal glyphs have been set to their default set widths and X-axis positions that is, made proportional , the CIDFont is then hinted as usual. As an example, let us explore the treatment of the vertical glyph for the hiragana character shi し. The Adobe-Japan1-x character collection should be used instead. Their values were used to define the default glyph metrics GSUB Kazuraki contains only four GSUB features: fwid, vert, vrt2, and liga. Each hint dictionary ideally covers glyphs for specific glyph classes, and each hint dictionary can have its own hinting parameters.