Chapter 2

Chapter 2 | Implementation Path

Before..

As of written in CH1, we are going to implement the digital font. Make sure yourself to be clear that Not Encoding or Linguistical sound like __creating new universal encoding system*__ nor __creating new 21st century beautiful myanmar character(s) you've never seen before*__. If you wanted to do those, please go to respective "Proper Organizations" mentioned in CH1 and claim your invention(s). At this point, we already have encoding algorithm and myanmar characters which our major role to implement the computer digital font. We have to implement what of standard given by those systems accordingly.

Myanmar | (Burmese) Characters

Myanmar Unicode 4.1 stated only sudden Burmese characters and just that codepoints you couldn't achieve complete Burmese writing. This is the reason why you should extend the Opentype, AAT and UTN11. To create complete or perfect Burmese support writing, you have to:

  1. read Myanmar-English Disctionary by Myanmar Language Commission
  2. visit your Father's Office and analysis the Old Myanmar Typewriter


Photo courtesy of http://mlcr.nagaokaut.ac.jp/museum/Myanmar1.htm

It's true that i also did it :-). Please also read Ko Zaw Htut's Features of Myanmar Language Document Style documentation for some resources. From then you have to think about what additional characters to include aside from UTN11 and so on.. It could be better glyph processing or other purposes but Remember Don't break the Unicode Core Rules.

Examples of Complex Rendering

Myanmar, Burmese script is one the complex rendering script. Either renderer or font itself must has the ability to display burmese script in proper. This is also known as Complex Rendering or Smart Font Technology. Here are some good article about complex script rendering. sil:CmplxRndExamples and ibm:IndicExample. For the unicode compliant digital font implementation path, the three major technologies that we need to imply are:

  1. Opentype
  2. Apple Advance Typography
  3. Graphite

Now we need to scope down what to follow. Yes, we have to look for Core OS implementation. Lists of breakdown are as follow:

    A. Microsoft renderer Uniscribe, of course, align with Opentype table specifications. Gnome renderer Pango and KDE renderer QT support the Opentype specifications. AAT is respect to ATSUI, Apple Mac OS. AAT and Opentype has back and front portable conversion (Sometime people say Apple support Opentype. But not directly. It still needs some conversion). Though Graphite is not core module with any Core OS, but only Graphite project is the most first runner up for complex script rendering, espcially for Asia region. This includes many ASEAN countries and Myanmar.

    B. (A little history)90s.. The list of most historical documents on Myanmar unicode script can be found on NLP documents page and the most myanmar unicode battlefront would be Michael Everson(Evertype) documents and Ko Zaw Htut(Win Myanmar) documents on that page. In 1999, Myanmar languages (Burmese, minority) have chosen to include unicode block codepoint U1000 - U109F which can refer to Dr.Kyaw Thein report in details. Graphite complex script implementation is Initiative project from SIL and Martin Hosken from SIL who goes for Burmese script to unicode and later with Maung Tuntunlwin, the current encoding algorithm called UTN#11 has certified by Unicode Consortium in 2004. Indeed, i still might miss out some pioneer re-searchers within Myanmar to express out here(_pls forgive me or inform me_), like MyaZedi in 2003 created codepoint mapping for bumese script solution before UTN#11 has emerged which including UniBurma and most of those partial myanmar unicode font using the similar or same technic. After my thoughfully consideration by technical point, i've agreed the MyaZedi license claim to include in UniBurma Font and requested the developer for Common Deeds(NonCommercial-ShareAlike) who approved. After i understood the UTN#11, i started UniMM Truetype Open in late 2005 and it took seamlessly delay due to tight schedule and some lack of leveling.

    C. Padauk library has least implementation by means of implementing opentype font but it totally relys on Graphite module(GDL). In late 2005, Myanmar1(till now) from NLP has 90% succeeded in Opentype implementation and there are some new and review proposals submitted in 2006 for future enhance development.

So, what we are going to do now is that we have to use current unicode 4.0 standard codepoint, implement the UTN#11 encoding in Opentype and AAT. Additionally, we can make support for Graphite by writing GDL and making of Graphite font as well. Oh all?? Yes, it is.

Tools

To implement the computer digital font, you have to choose which tools to use. Depands on how much skills you have on using of that tools, your work will be metered. As for UniBurma - UniMM project, I use:

  • Fontforge [Opensource]
  • Ukelele [SIL Free License]
  • MSKLC [Require Genuine Microsoft Windows]
  • sil:ViewGlyph
  • Myanmar Character Picker
  • gEdit or any text editor to map Layout in X
  • A computer which has a lot of RAM and a Graphic Card which also has as Big Memory as you can.
    • 1G DDR
    • 512MB ATI X1600Pro
    • Flat Monitor

Above mentioned are essential tools for UniBurma - UniMM and the following tools are also using for evaluating and some are recommadation.

Glyph ArtWorks

You can use whichever suit you. Perhaps, Gimp or even Inkscape or Adobe ImageReady/Photoshop. Or you can hand write on paper, scan it then import. This is just art work of typeface and what you can register for your own. If you do so, remember whether you wanted to be free or commercial. For example, Microsoft already provided FontSigning Tool for free of charge. For example glyph art,

I also recommand to read one of Ko Zaw Htut's expert contribution document for some fundamental of glyph arts. Quick for this step, you can just easily adopt the existed typeface design but remember to check the license and terms. Either you imply from existed typeface or draw your own, there is a lot of steps to become good hinted font. This is another core area of implementing font, popularly called "Microsoft:hinting | Apple:Instructing Fonts" or wiki:Font rasterization. I'm afraid that this topic is too broad to cover and also rely on the font tool that you use. You can refer some books and links.

Encourage...

There is no programming directly involving. You do not have to know any coding style of C, Perl and etc. It is more on how much you can use on the tool which you forge your font(s). However, having strong knownledge on Mathematical concepts and famililar with Software design pattern would enchance your implementation. Start from next chapter, i would mention only the aspect of Fonting technology called Opentype and Truetype which related to Myanmar Unicode encoding. Perhaps, ping-point to those related pages. You can refer to Library for reuseable work and explaination for next chapter.

Footnote:
* These can not be done without proper organizations.
^ Never try before.
Read Also: