Unicode-Double-Mapping

Goran Soderstrom
1.Sep.2006 6.51am
Goran Soderstrom's picture

I ran the FontQA-test on a new typeface.

There was this error:

Some glyphs have Unicode-Double-Mapping.
mu: 00B5, 03BC, Delta: 0394, 2206, Omega: 03A9, 2126
Now, this is actually FontLab that creates two Unicode values, not me.

Then I looked at the Unicode charts, and there IS two codes available for the same glyph according to www.unicode.org/charts

What should I do — take away one number or just let it be?
Thanks in advance, Font Maestro’s



Goran Soderstrom
1.Sep.2006 9.01am
Goran Soderstrom's picture

Sorry, if I am “have-to-make-sure-two-times” but I am very new to this, I have had Fontlab in a week or so only.

But, are you referring to this?

1.5 [23 November 2005]
# - removed duplicated block at end of file
# - changed mappings:
# 2206;Delta;INCREMENT changed to 0394;Delta;GREEK CAPITAL LETTER DELTA
# 2126;Omega;OHM SIGN changed to 03A9;Omega;GREEK CAPITAL LETTER OMEGA
# 03BC;mu;MICRO SIGN changed to 03BC;mu;GREEK SMALL LETTER MU
# - corrected statement above about why ffi is omitted.

...and mean that I should choose the “new” number?
Shouldnt FontLab also get this update in that case, and take away the “older” number?


John Hudson
1.Sep.2006 12.05pm
John Hudson's picture

The FontQA test tool represents FontShop’s workflow and approach, so it flags a couple of things as errors which are not technically errors at all but simply reflect things that FontShop don’t do in their own fonts (or at least think should be checked). This error message suggests that FontShop follows Adobe’s practice of not double-encoding glyphs, so that there is an unambiguous path back from the glyph ID to a single Unicode characters (which Acrobat sometimes needs, in order to be able to restore character strings from a PDF created from a print stream).

It is, however, perfectly permissable to map a single glyph to multiple Unicode codepoints. It is a workflow decision not a font error.


Goran Soderstrom
1.Sep.2006 12.34pm
Goran Soderstrom's picture

John, thank you so very much for your great explanation!

Now, I just hope somone could give a similar great explanation to this one;

http://typophile.com/node/20429


eigi
2.Sep.2006 2.26am
eigi's picture

Thank you John,
it is exactly as you said. It is against the production guidelines of FontShop International, not against the specs, to map multiple Unicode codepoints to a single glyph.
Should i remove this test from the public version of fontQA?


Goran Soderstrom
2.Sep.2006 3.18am
Goran Soderstrom's picture

Andreas, I understand it is you who has developed this fontQA.

Amazing work, in my opinion — and many thanks for letting people use it!


k.l.
2.Sep.2006 6.08am
k.l.'s picture

It is against the production guidelines of FontShop International, not against the specs, to map multiple Unicode codepoints to a single glyph.
Should i remove this test from the public version of fontQA?

Hello! As the test can be useful for some people, maybe add a little note “not required” for the others (like me). :)

Best wishes, Karsten


twardoch
3.Sep.2006 4.18pm
twardoch's picture

Eigi,

perhaps you could demote the error to something like warning.

FontLab Studio 5.0.2 includes three glyphname-to-Unicode mapping tables: Standard Table, AGLFN 1.4 (old) strict and AGLFN 1.6 (new) strict. The AGLFN 1.4 (old) table maps the human-readable glyphnames to the mathematical/scientifical Unicodes, while presuming that the Greek text glyphs would carry uniXXXX glyphnames. The AGLFN 1.6 (new) table reverses the logic: the human-readable glyphnames are mapped only to the Greek text Unicodes while the mathematical/scientifical glyphs would carry uniXXXX names. The Standard Table double-maps the human-readable glyphnames so there is no need to include the uniXXXX glyph names.

If you want to include both Greek text glyphs and scientific glyphs that differ in design, or would like to make sure that Acrobat always precisely guesses the Unicode of a glyph (i.e. it will never confuse the Greek text Unicodes with the scientific Unicodes when doing searches or text extraction in a PDF), I’d use the AGLFN 1.6 (new) strict table. But this will mean that you will need to provide two glyphs for each of the characters.

Otherwise, if you only want to design one set of glyphs, double-encode them (using the Standard Table).

BTW, there some additional explanations in the .NAM files themselves.

Regards,
Adam Twardoch
Fontlab Ltd.


twardoch
10.Mar.2007 7.08pm
twardoch's picture

Fontlab Ltd. recommends using both the “old” and the “new” codes for these glyphs, i.e. double-mapping them. This is what STANDARD.NAM is programmed to do in FontLab Studio 5, but you can also choose just the “old” or the “new” Adobe mapping by choosing a different Unicode-to-glyphname mapping file in FontLab Studio’s preferences.

A.


Thomas Phinney
12.Mar.2007 3.15pm
Thomas Phinney's picture

The other option is to simply use a composite so that from a design perspective it’s one glyph, but in the final font it’s two.

Cheers,

T


twardoch
13.Mar.2007 2.29am
twardoch's picture

To sum up:

If you use the “Standard Table” as your default Unicode-Name mapping table in FLS5, your font should have three glyphs, each of them having two Unicode codepoints assigned:
U+2206 U+0394 “Delta”
U+2126 U+03A9 “Omega”
U+00B5 U+03BC “mu”

If you use the “AGLFN 1.6 (new) strict” as the default Unicode-Name mapping table, your font should have six glyphs, each having just one Unicode codepoint assigned; three of these glyphs can be composites of the other three:
U+2206 “uni2206”, U+0394 “Delta”
U+2126 “uni2126”, U+03A9 “Omega”
U+00B5 “uni00B5”, U+03BC “mu”

For new multilingual “Pro”-type of OpenType fonts, use of “AGLFN 1.6 (new) strict” (aglfn16.nam) is recommended. For other font work (such as fonts converted from older formats etc., plain/simple OpenType fonts without large character sets), “Standard Table” (standard.nam) is recommended.

To set your default Unicode-Name mapping table, go to the General Options / Unicode and OpenType section of FontLab Studio’s Preferences (on Mac) or Options (on Windows).

Adam