Following are two problems encountered while generating postscript name, please someone let me know how can I fix them?
Some glyphs get name as afii+5 digit number for example: 062B is mapped to Arabic letter Theh, but using Generate Postscript Name function assigns it as afii57419? While some glyphs are assigned as uni+code (e.g. FB67 is assigned as uniFB67).
If any glyph is left unmapped it does not get name, and name generation stops at this glyph even though next glyph has been properly mapped. Once you mapped the glyph in question it continues generating name until encountering another unmapped glyph.
True, when there are no mappings, Font Craeator can’t determine what postscript names suits the glyph. To solve this, make sure your glyphs have valid mappings.
refering to my earlier question about postscript names using affi.. I had to get help from Mr. Paul Nelson from microsoft who has co-developed Arabic typesetting font. Here is what he had suggseted:
“Because your glyph naming scheme is using “afii” names (a very old and unuseful system for naming). I would encourage you to consider using other names that would be easier for you to remember as you work. Also, it lets me guess that the font originated with an older type foundary. The work may be yours. However, my guess is that afii names would not have any meaning to you and I would wonder where you got them from.”
Is there any option I can use defined names saved in the data file. So instead of pulling affi.. or uni+code, it will substitute with defined name I supplied to generate postscript names?
“Maya words are formed from various combinations of nearly 800 signs, and each sign represents a full syllable-so that the list of signs is called a Syllabary, not an Alphabet.”
I constructed a series of fonts of Mayan heiroglyphics (symbol fonts) with each sign as a glyph where I encoded the name of the sign as the Postscript name. When displayed in a character map these names are shown (ahaw na, hoy_nal, sa, kab, etc.) rather than abcd.
From the above conversation, it would appear than the Postscript names cannot be “user specified”. Well, from my experience you can do whatever you wish with PS names. Even trying to Regenerate Postscript Names doesn’t affect what was manually entered.
Even trying to Regenerate Postscript Names doesn’t affect what was manually entered.
This is true when a glyph is mapped to the Private Use Area, because FontCreator can’t generate PostScript names when they are unknown. This affects all symbol fonts, as they (should!) contain characters mappings in the Unicode range 0xF000 - 0xF0FF (this is located in the Private Use Area that starts with 0xE000 and ends with 0xF8FF).
This is true when a glyph is mapped to the Private Use Area, because FontCreator can’t generate PostScript names when they are unknown.
I have not used symbol fonts very much at all, and then only for learning about them. Is that statement meant to apply only to symbol fonts?
For regular Unicode fonts I have used Private Use Area code points on many occasions. FontCreator adds Postscript names for Private Use Area code points readily, using the format uniPQRS where U+PQRS is the hexadecimal mapping of the code point.
That format of Postscript name is not unique to the Private Use Area. For example, my 10000 font has a glyph for U+2615 HOT BEVERAGE and FontCreator has provided the Postscript name uni2615 when Format Post… Generate Names was used.
My previous statement is indeed incorrect. PostScript names are generated based on information from the Microsoft Unicode full repertoire or Microsoft Unicode BMP only platform, thus fonts without one of these platforms (e.g. with a Microsoft Symbol platform) are ignored. There are a few exceptions, related to the first four recommended glyphs, but I won’t bother you with that.
FontCreator retrieves a name based on the code point. The value is taken from a list that is based on the Adobe Glyph List For New Fonts. If a code point is between 0x0000 and 0xD7FF or between 0xE000 and 0xFFFF the name will be “uni” plus the code point in hexadecimal notation. If a code point is between 0x10000 and 0x10FFFF the name will be “u” plus the code point in hexadecimal notation.