I'm going to rebuild this CMS website. Some of the contents and project informations will be updated accordingly in near future.
Chapter 3
Chapter 3 | Journey With Opentype
A.Opentype
Opentype always refer to Microsoft and Adobe joint development. But I would ping to Microsoft Opentype spec webpage for most references. You should also check out Adobe Opentype page. Here, i would pick out the fundamental requirement and opentype which tie to burmese script on UniMM.
Opentype Feature tags specification for Burmese is not officially released either Microsoft or Adobe yet.
B.CMAP Index
In fontforge, this has automatically taken out by creating new unicode bmp. In details, Encoding > Reencode > ISO 10646-1(Unicode, BMP). CMAP is drawn both Opentype and Truetype. Therefore, it needs to point Truetype specification as well.
- Character codes that do not correspond to any glyph in the font should be mapped to glyph index 0.
- No character code should be mapped to glyph index -1.
- If the 'cmap' table contains encoding subtables of types 8.0 or higher, the version number would then be set to 1.
C.GSUB Table Summary
| Value | Type | Description |
| 1 | Single | Replace one glyph with one glyph |
| 2 | Multiple | Replace one glyph with more than one glyph |
| 3 | Alternate | Replace one glyph with one of many glyphs |
| 4 | Ligature | Replace multiple glyphs with one glyph |
| 5 | Context | Replace one or more glyphs in context |
| 6 | Chaining Context | Replace one or more glyphs in chained context |
| 7 | Extension Substitution | Extension mechanism for other substitutions (i.e. this excludes the Extension type substitution itself) |
| 8 | Reverse chaining context single | Applied in reverse order, replace single glyph in chaining context |
| 9+ | Reserved | For future use |
D.GDEF Glyph Classes
- simple glyphs or base glyphs
- ligature glyphs (glyphs representing two or more glyph components)
- combining mark glyphs (glyphs that combine with other classes)
- glyph components (glyphs that represent individual parts of ligature glyphs)
E.Burmese OpenType Layout Tag Registry
- Language System Tag = Burmese
- Language System = BRM
- Script = Myanmar
- Script Tag = mymr
F.OTL Suggested Glyphs
- General punctuation and ‘Latin’ numbers
- The euro
- Suggested glyphs for Microsoft Office
- Suggested glyphs for complex scripts
- Suggested glyphs for right-to-left scripts
G.OTL Specification
| Glyph ID | Glyph name | Unicode value |
| 0 | .notdef | undefined |
| 1 | .null | U+0000 |
| 2 | CR | U+000D |
| 3 | space | U+0020 |
H.Shape of .notdef glyph

I.Feature tags*
- pref
- ccmp
- rlig
- liga
- clig
- calt
- http://www.microsoft.com/typography/OpenType%20Dev/standard/intro.mspx
J.Character Re-Order
{This is the final moment. I'm still working on this issue. I can't say much here. Please read on.}
Renderer Vs smartFont
K.Fontforge
If you were a fontforge user, the following pages must be your references to implement Opentype:
Footnote:
* Note that Opentype Feature tags specification for Burmese is not officially released either Microsoft or Adobe yet. The listed feature tags are working tag along the way of UniMM implementation. These feature tags specification might be changed in future.
^ Disclaimer: Opentype (c) by Microsoft and read Terms of use. Opentype (c) by Adobe and read Terms of use. Truetype (c) by Apple and read Terms of use.


