Typophile

Trying to understand OT Languagesystem

Deus Lux

What is the real purpose of these tags as declared by themselves in the lower right panel of the OpenType window in Fontlab? I can understand how they are used in individual features to run substitutions for certain glyphs in certain languages, but what is the point of them sitting there in the beginning by themselves? Apparently you have to declare at least one, or you will get build errors now, but should I declare every system that my font supports? A fixed and certain set of them across all my fonts (as long as the font supports them), or as few as possible, or what? Should they be declared in the order their glyphs appear in unicode? Order of most widely used? Does the order not matter at all?

Have you read the documentation at Adobe's developer web site?

http://partners.adobe.com/public/developer/opentype/index_tag3.html

Also, there should be explanations specific to FontLab's documentation. I believe it s a free download from their web site.

I don't see "languagesystem" anywhere on the page you linked to.

Fontlab 5 manual had this to say:

Language system
In practice, most or all of the features in a font will be registered under the
same set of language systems, and a particular feature's lookups will be
identical across the language systems that the feature is registered under.
The "languagesystem" statement takes advantage of this fact. It is the
simplest way to specify a language system in the feature file. One or more
such statements may be present in the feature file at global scope (i.e.
outside of the feature blocks or any other blocks) and before any of the
feature blocks:
languagesystem ;
When these statements are present, then each feature that does not contain
an explicit "script" or "language" statement will be registered under every
language system specified by the "languagesystem" statement(s).
If no "languagesystem" statement is present, then the implementation will
behave exactly as though the following statement were present at the
beginning of the feature file:
languagesystem latn DFLT;

It doesn't really explain why or in which order to use multiple languagesystem tags.

How do you deal with the languagesystem tag yourself, George?

I switched from FontLab to Glyphs; it takes care of all that automatically.

Captured from web.archive.org on 11 Nov 2014. view this capture