FL Aliases File Bug? Commaaccent or Cedilla?

Bendy's picture

I'm wondering what sort of bug this is. When I compose Ncommaaccent for example, FL puts a cedilla, rather than a commaaccent on the N base glyph. This happens for all commaaccent glyphs. I know there has been extensive discussion about Romanian/Moldavian S and T cedilla/commaaccent characters, but haven't seen anything about the G, K, N or R commaaccent characters.

So I'm wondering if this is a problem with the FL alias file which is telling the 'create glyph' command to look for U+0327 (cedilla) instead of U+0326 (commaaccent), or if it's a naming problem where the glyphs are supposed to be made with cedillas despite having commaaccent names?

twardoch's picture

You are right!

alias.dat is buggy in that regard, it says:

Ncommaaccent N+~uni0327.case
Ncommaaccent N+uni0327
Ncommaaccent N+commaaccent

but it should say

Ncommaaccent N+~uni0326.case
Ncommaaccent N+uni0326
Ncommaaccent N+commaaccent

This is the result of the -- now considered errorneous -- canonical decomposition in the Unicode Standard, which decomposes U+0145 to U+004E U+0327.

Also, please note that in the meantime, we've changed the recommendation for glyph naming. Rather than "Ncommaaccent", the glyph should be named "uni0145".

(Of course this also applies to all the other "commaaccent"-related glyphs).

We'll rebuild alias.dat to improve this, but it will take some time, since building it is a kind of a complicated process.

Thank you for catching this!

Bendy's picture

Phew, I was hoping you'd respond, Adam :)

Glad the poking around inside FL dat files paid off!

twardoch's picture

Actually, the funny thing is that you seem to have uni0327 (the combining cedilla, properly named) in your font (right?) -- which most people do not have. That's the reason why the problem was not discovered earlier.

As you may notice, after the "N+uni0327" recipe, the next in queue is "N+commaaccent". And the way alias.dat works is that FLS tries to find the best match by stepping through the entries with the same glyph name, until it finds the largest number of fitting composites.

Since most fonts don't have "uni0327" but they do have "commaaccent", the first rule got ignored, and the second one kicked in for most of them. So they did not experience your problem.

Anyhow, many thanks!

twardoch's picture

Also, I shall mention that "uni0145" is a better name than "Ncommaaccent" because it will work in OTFs under Mac OS X 10.4, while "Ncommaaccent" won't. The "*commaaccent" names were removed from AGLFN (Adobe Glyph List for New Fonts), so the "uni****" names are the recommended form for them.

Bendy's picture

Well, I only put in the combining cedilla at U+0327 to test my suspicion the aliases file was at fault...it took me several hours to figure out how FL builds the composites! My commaaccent must have had a weird name to start with, or FL would have found it without needing the unicode.

I'll make sure to call Ncommaaccent uni0145 henceforth. Thanks for your help.

Bendy's picture

Is it me or is Ocaron not defined in the aliases?

oldnick's picture

If you're also using Fontographer in your workflow, the alias.dat file should also include

Ncommaaccent N+commasubnosp

Syndicate content Syndicate content