Converting a legacy ASCII based Indic font to an Unicode compliant Open Type Font

Sayamindu Dasgupta

Ankur Bangla Group

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts , and with no Back-Cover Texts . A copy of the license is included in Appendix B entitled "GNU Free Documentation License".

All copyrights are held by their respective owners, unless specifically noted otherwise. Use of a term in this document should not be regarded as affecting the validity of any trademark or service mark.


Table of Contents

Foreword
1. Introduction - The Basics
Text Handling - Inside a Computer
ASCII
Unicode
Fonts (for computers)
The special features of Indic scripts
2. Converting a font
Initial tour of the Fontforge interface
Starting up Fontforge
The interface
Basic Tasks with Fontforge
Opening, Saving and Exporting Fonts
Copying, Pasting and Cutting Glyphs.
Rotating, Shifting and Scaling Glyphs
Indic Fonts with Fontforge
Choosing a font and getting the glyphs
Getting the glyphs in place
Adding the substitution tables
Adding the Positioning Information
3. Testing and Packaging your Font
Testing your font
Part 1 - Testing Substitution
Part 2 - Testing Positioning
Part 3 - Actual Real World Testing (simulated)
Releasing Your Font
A. Appendix A - Miscellaneous information
Extracting glyphs from *.mf files
Using kerning to increase the visual appeal of the font
Non Indic glyphs in your font
Installing Fonts in different platforms
Using a template system for faster work
Legal issues with respect to fonts and glyphs
B. Appendix B - GNU Free Documentation License
PREAMBLE
APPLICABILITY AND DEFINITIONS
VERBATIM COPYING
COPYING IN QUANTITY
MODIFICATIONS
COMBINING DOCUMENTS
COLLECTIONS OF DOCUMENTS
AGGREGATION WITH INDEPENDENT WORKS
TRANSLATION
TERMINATION
FUTURE REVISIONS OF THIS LICENSE
ADDENDUM: How to use this License for your documents

List of Figures

1.1. Different glyphs for a single character
1.2. The "fi" ligature
1.3. The Devanagri conjunct kshha
1.4. Positioning of ukaar on ka (Bengali)
1.5. Reordering of ekaar on ka (Bengali)
1.6. Ka Okaar (Bengali)
1.7. The Devanagri conjunct kshha
1.8. Components of a Syllable
1.9. Linguistic interpretation of a syllable vs the Unicode interpretation
2.1. Font View
2.2. Outline View
2.3. File chooser
2.4. Export dialog
2.5. Tool palette
2.6. The init feature
2.7. Modifying ligature information
2.8. Adding a new anchor class
2.9. Adding a new anchor point
A.1. Difference between an unkerned font and its kerned counterpart
A.2. Metrics Window in Fontforge