-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
OTL table problems #25
Comments
(2) may be a non-issue, and actually an intended efficiency. Because the kerning is identical for all the language system entries, the GPOS is applied as default for all latn text, regardless of language setting. At least, that's what I am seeing in HarfBuzz-enabled InDesign. Would want to confirm behaviour in other environments. |
re. (3) it looks like lookups that are unique to the language system tag, e.g. locl feature lookups, occur only once, while lookups that are shared with dflt and other language system tags are duplicated. |
.fea code in the VFJ sources looks correct, e.g. for the c2sc feature, the lookups are referenced as follows:
[The latn. lookups contain substitutions involving only Latin alphabetic characters; the xxxx. lookups contain numeral substitions. This is future-proofing lookups for extension to other scripts: the xxxx. lookups are applied across all scripts.] |
The aim of an libre build process is to make debugging problems more transparent :) |
I understand the aim, but transparent to whom? Practically, one person's transparent container may be someone else's black box, because one has to know how to examine the contents, which at the moment I don't. So while I am okay using a libre build process, it isn't my build process, and I don't really have a good understanding of the moving parts inside the box. One of those moving parts is duplicating lookup entries for non-dflt language system tags. If I knew which, I would post an issue in the appropriate tool repo. Seeking insight from someone for whom this is actually transparent. |
That is either feaLib or the tool that generated the feature code, I’m not sure which is at fault here. I think what is happening is that, when Does changing feature c2sc {
script latn;
language dflt;
lookup latn.c2sc;
lookup xxxx.c2sc;
language CAT;
language NLD;
language MOL;
language ROM;
language TRK;
} c2sc; If it does, then either this how the feature code should be written, or feaLib is literally interpreting the feature file spec that says the effect of setting |
Thanks, Khaled. I'll experiment as you propose. Would I need to edit all the feature code accordingly? The current fea code is as converted from earlier VOLT version using Volto. Is this an issue we might need to consider in how Volto writes the code? |
[At least, the fea code in the VFJ source is based on a Volto conversion. For the build process, this goes via UFO, and I have not yet confirmed whether the fea code written to the UFO is identical to that in the VFJ.] |
Yes. I think Volto should be appending |
I've confirmed that revising the .fea code for the c2sc feature as @khaledhosny suggested removes the duplicate lookup mappings, so will proceed to do likewise for all the features and push updated sources and fonts shortly. Khaled, I will also open a Volto issue. |
Fixed: v1.19 b011 |
Erwin Denissen has reported problems with the OpenType Layout contents in the output of the current build system, which were not present in the earlier builds from VOLT sources. I have confirmed the problems by analysing the Version 1.17 Build 009 fonts in OTMaster.
In summary:
Only the DFLT/dflt and latn/dflt script and language system combination has correct OTL.
Other latn language system tags are missing GPOS (no kerning).
Other latn language system tags have duplicate lookup references for each feature (probably functionally not an issue, but redundant data.
Investigating possible causes starting at the VFJ sources, but concerned that problems might be further down the tool chain in the automated build process.
The text was updated successfully, but these errors were encountered: