# Tutorial #8

- Font Creation
- Creating a character (tracing outlines)
- Navigating to other characters
- On to the next character (consistent directions)
- Consistent serifs and stem widths
- Building accented characters
- Building a ligature
- Examining metrics
- Kerning
- Character variants
- Anchoring marks
- Checking your font
- Generating it
- Font Families
- Final Summary
- Notes on various scripts

## Special thoughts for special scripts

Microsoft provides some information on what features a word processor should support by default for certain scripts.

### Latin

There are not many special complications in latin. Latin fonts can generally fit in a single byte encoding with no (or few) font tables. There are a plethora of accented characters which should be built. Kerning should be generated for some character combinations. A few ligatures need to be generated (the "f" ligatures: ff, fi, fl, ffi, ffl and perhaps st).

You may want to add a set of smallcaps. If you do, Adobe has reserved a block in the private use area for latin small-caps.

Some languages have specific requirements of their own

- For Polish

### Greek

Greek also does not have many complications. Modern Greek fonts generally fit in a single byte encoding. There are a few accented characters that need to be built. Kerning should be generated. I am not aware of any standard ligatures for modern greek (ancient greek had ligatures and varients on some of the characters though).

Small caps are again an option, and I have reserved a block in the private use area for them.

### Cyrillic

Cyrillic fonts also fit in a single byte encoding. There are a few accented characters. Kerning should be generated. I am not aware of any standard ligatures.

I am not aware of any need for small caps (in most cyrillic fonts most lower case letters are already small caps).

Again some languages need different glyphs

- Serbian/Macedonian

### Arabic

Arabic needs a complete set of initial, medial, final and isolated forms -- Unicode has reserved space for these. Arabic also needs a vast set of ligatures -- Unicode has reserved space for many, but I'd guess that extra ligatures will be needed sometimes. Arabic also needs a set of mark (mark to base, mark to ligature) attachments to position vowels above letters. Arabic may need a character decomposition table.

I'm told that in good Arabic typography there need to be many more than 4 forms per glyph. I'm not sure how this should be supported.

Right to left.

### Hebrew

Hebrew has a few final forms but no special tables are needed for these. Hebrew may need kerning. Hebrew should have a set of mark (mark to base) tables to position vowels over letters. Hebrew may need a character decomposition table. I am not aware of any needed ligatures.

Right to left

### Indic scripts

Indic scripts need a set of ligatures.

(they probably need a lot more but I'm not aware of what)

### Korean Hangul

The Hangul script consists of a set of syllables built out of a phonetic alphabet. Generally fonts consist of a set of precomposed syllables.

Complications are introduced by the massive combinatorial explosion of all these syllables. These are eased in postscript by CID-keyed fonts.

Vertical writing and left to right writing are used, and some characters have a different orientation when drawn vertically (parentheses for example).

### Japanese and Chinese (and Korean Hanja)

Again a massive collection of glyphs is needed, and postscript uses CID keyed fonts to deal with this.

Vertical writing and left to right writing are used, and some characters have a different orientation when drawn vertically (parentheses for example).

-- Prev -- TOC -- Next --