How to make a Unicode south east asian font and modified text
The demo will show you how to make a Unicode south east asian font and modified text from C-strings in 6 simple steps.
South East Asian texts are written as a combination of basic characters and diacritics that has to be combined before they can be displayed. IconEdit can find texts in C-strings, make fonts with combined characters and modify the C-string texts for use on normal displays.
Original C-string with separate diacritics:
Modified C-string with combined characters in the Unicode private area:
With this procedure you can make C-source code fonts and modified texts for any south east asian language supported by Unicode and Windows.
How to make the same font and modified text from the commandline
Start IconEdit:
C:\IconEdit\IconEdit.exe
First set up the parameters for the master font.
Specify the height of the Windows master font with :32, this have to be the first parameter:
C:\IconEdit\IconEdit.exe :32
Set 4 bit per pixel for anti-alias with :Z4:
C:\IconEdit\IconEdit.exe :32 :Z4
Choose a Windows font with :T, the names should be entered exactly as they are in IconEdit font selector, typical values are Times_New_Roman:18 serifed font or Arial:34 sans serif font:
C:\IconEdit\IconEdit.exe :32 :Z4 :TTimes_New_Roman:18
Choose between regular or bold with :W, here bold:
C:\IconEdit\IconEdit.exe :32 :Z4 :TTimes_New_Roman:18 :Wb
Setup of master font is finished.
Read the text for the optimized font with :O, IconEdit finds the C_Strings and makes a font for the texts in the C-Strings:
C:\IconEdit\IconEdit.exe :32 :Z4 :TTimes_New_Roman:18 :Wb :OC:\T*ext\Indian.cpp
Set output font name with :F, the name should be related to the input text:
C:\IconEdit\IconEdit.exe :32 :Z4 :TTimes_New_Roman:18 :Wb :OC:\Text\Indian.cpp :FC:\Font\Indian_cpp.c
Set modified output text name with :J, the name should be related to the input text, and have the same type:
C:\IconEdit\IconEdit.exe :32 :Z4 :TTimes_New_Roman:18 :Wb :OC:\Text\Indian.cpp :FC:\Font\Indian_cpp.c :JC:\Text\Indian__cpp.cpp
Set modified output text C-String type :U, use u for normal Unicode:
C:\IconEdit\IconEdit.exe :32 :Z4 :TTimes_New_Roman:18 :Wb :OC:\Text\Indian.cpp :FC:\Font\Indian_cpp.c :JC:\Text\Indian__cpp.cpp :Uu
Show combined characters as hexadecimal for human readability with :H, choose yes y:
C:\IconEdit\IconEdit.exe :32 :Z4 :TTimes_New_Roman:18 :Wb :OC:\Text\Indian.cpp :FC:\Font\Indian_cpp.c :JC:\Text\Indian__cpp.cpp :Uu :Hy
Choose classic \x or modern \u with :X, Choose between classic with x or modern with u:
C:\IconEdit\IconEdit.exe :32 :Z4 :TTimes_New_Roman:18 :Wb :OC:\Text\Indian.cpp :FC:\Font\Indian_cpp.c :JC:\Text\Indian__cpp.cpp :Uu :Hy :Xx
This generates the text optimized font Indian_cpp.c and a modified text Indian__cpp.cpp