FontLab fatal, yet another compilation error:

Andreas Stötzner's picture

[FATAL] aborting because of errors:
syntax error at "-"
[/Users/andreasstotzner/Library/Application Support/FontLab/Studio 5/Features/fontlab.fea 24]

This is the message I get when compiling.
Does anyone understand this? Help very much appreciated.

Andreas Stötzner's picture

I added the ccmp to the existing feature code. Now I wonder if the hyphens in my special glyphs names may have caused the trouble. The beginning looks as follows:

feature ccmp {# Dania Akzentkombinationen
sub uni0252 uni0324 by d-a2-1;
sub d-a4 uni030A by d-a4-1;
sub d-ae-1 uni030A by d-ae1-1;
sub d-ae-1 gravecomb by d-ae1-2;
sub d-ae2 uni030A by d-ae2-1;
sub d-c2 uni0307 by d-c2-1;

d-a4-1 and the like are special custom glyphs in the font.

John Hudson's picture

Yes, hyphens in glyph names could well be a problem. See section 4 of the relevant Adobe developer document:
http://www.adobe.com/devnet-archive/opentype/archives/glyphnamelimits.html

Andreas Stötzner's picture

I did an alternative try out with all the hyphens in names eliminated.
The same error.
– ?

eliason's picture

Names changed not only in the glyphs but in any classes and OT features referencing them?

charles ellertson's picture

Don't do things like this.

Maybe, if your font is intended for dilettantes' only -- an author who will not ever make use of an editor, designer, or compositor, and whose work will never, ever be rendered in any font other than yours, and where no XML document will ever be needed, it is passable, but not really.

Unicode is suppose to end all the nonsense of special encodings -- what character you get depends on what font you're in -- and that means ccmp should allow decompiling to canonical Unicode. Look up the proper form.

And take some pity on the poor editor, designer, typesetter, too. The author will supply his/her text in Times, (or Gentium if everyone's terribly lucky), and someone's going to have to figure out how to use your font with the text string supplied.

With that in mind, what does

sub d-ae-1 uni030A by d-ae1-1;

involve?

a d, ligatured with an ash character (variant 1) with a ring accent?

If that's the case, I'd make up the ash with a ring & substitute variant one in the same set where I substituted the variant ash character, then lig it with the d.

And if ae is a ligature rather than the ash character, make that clear (work), too.

Everything should all work seamlessly with your font if the (original) text stream is in canonically correct Unicode, with the designer/typesetter having to figure out only which character variant to select. And once a pdf is made, extracting text should be seamless, too.

* * *

As for debugging, the old rule is get something that works, and add one thing until that works, too. Then add the next. In a play file. You've got my sympathy here -- been there.

Andreas Stötzner's picture

> Names changed not only in the glyphs but in any classes and OT features referencing them?

no classes involved but names changed for glyphs *and* in OT features.

Syndicate content Syndicate content