How do I sort this when generating in FontLab?

Nick Cooke's picture

This warning always appears when I generate an otf in FL 5.1. It never appeared in FL5.0.4.

[WARNING] [internal] Feature block seen before any language system statement. You should place languagesystem statements before any feature definition [/Users/nickcooke/Library/Application Support/FontLab/Studio 5/Features/fontlab.fea 6]

How do I place the languagesystem statements before any feature definition?


eigi's picture


George Thomas's picture

These may help:
This link has a lengthy explanation of why it is happening and tells you how to fix it manually.
That page also has a broken link to a Python script called which will fix the problem for you.

The script can be found now at this link:


George Thomas's picture

Sorry about all the extra posts. Initially, because I included links my comment got flagged as spam and in attempting to get that resolved, the duplicate ones showed up so I edited them out to the extent I could.

Nick Cooke's picture

Thanks Andreas, but that doesn't mean anything to me.

Thanks George, but I still can't find "Upgrade_FEA" on that site.

Hello? Anyone from FontLab? How do I sort this?

Mark Simonson's picture

In that lower right part of the OT Panel, you need to add at least this:

languagesystem DFLT dflt;
languagesystem latn dflt;

Add others if your font support other language systems.

This is all related to the fact that the more recent versions of FontLab include a more recent version of the Adobe Font Development Kit for OpenType (AFDKO), which requires these language systems to be declared. It used to be optional.

Anything you type in the lower right portion of the OT Panel in FontLab gets inserted at the beginning of all your OT code when it is compiled, and that's where you put the language system declarations.

Nick Cooke's picture

Thanks Mark. That seems to have sorted the problem.

jum's picture

i’ve got only a very faint clue of what i hacked here, but your input worked for me as well [aalt]:

@zero_target = [
# ];
languagesystem DFLT dflt;
languagesystem latn dflt;


Syndicate content Syndicate content