Comments (6)
Hey Titus, could you provide a bit more background? If I understood correctly, the fonts used to compile but they don't anymore. What did you do to them in the meantime? Added more anchors? More kerning?
Could you also clarify what script you're using for generating the mark and mkmk features? Is it this one https://github.com/adobe-type-tools/fontlab-scripts/blob/master/Anchors/MarkFeatureGenerator.py ?
from afdko.
Thanks for your reply Miguel and sorry for being unclear.
The source is a MM .vfb from which I create instances with the FDK tool 'InstanceGenerator.py'. I've added additional anchors in additional glyphs, as well as modified the kerning - note that the latter works fine though, there are only issues if I include the mark.fea file. It's difficult to track which changes might have caused the problem, as I was testing only the Regular intermittently, without ever running into the problem I did now with the other instances.
I've also tried using the script you referenced directly, but I believe the instance generator uses the same modules for the creation of mark and kern features.
As far as I can see, the mark features of the 5 instances all look very similar and not conspicuous. They all have similar sizes too: around 70kb.
from afdko.
Right, the InstanceGenerator.py you're using will call the same Python module to generate the mark features.
The reason why I mentioned the kerning was because it's a GPOS feature, and since the overflow is happening in a GPOS lookup the kerning data could be playing an indirect role in the situation. Tell me, if you comment out the kerning, does the font compile?
I don't remember ever running into this kind of overflow. The mark
feature lookups may have to be rearranged or broken up to avoid the overflow. I've had to deal with kern
feature overflows many times, and the solution there is sorting the class kerning pos adjustments by script, and then insert subtable breaks between them. I'm not sure if makeotf allows the insertion of subtable breaks in between mark
or mkmk
lookups. You may have to email me one of the fonts that doesn't compile so I can have a look and try out a few things.
from afdko.
Your hunch was spot-on: when the kern feature is commented out, all compiles fine. I'll reply to you by email and send the files.
from afdko.
Update: this issue is solved - the table overflow in the mark feature was caused by upstream overflow in the kern feature.
from afdko.
Cool ๐
from afdko.
Related Issues (20)
- Unify format of external glyph names files across AFDKO tools
- [otfautohint/otfstemhist] Add tests
- use TTX tools to compile a otf file HOT 10
- [spot] alternate metrics ignored in class kern proof
- [otfautohint] (minor) outdated tool names
- [otfautohint] points โoptimized awayโ in flex-like scenario (print only) HOT 15
- [tx] Crashing without error when using -decid option in -t1 mode
- Reordering of ligature substitution rules is considered harmful HOT 10
- [otfautohint] Mishinting of glyph? HOT 7
- [otfautohint] Consider adding flag to selectively skip overlap processing for some glyphs
- [makeotf] silently fails when GOADB has unexpected data
- [makeinstancesufo] & [checkoutlinesufo] multiprocessing vs progress bar, output improvement
- building fails on manjaro HOT 2
- [makeotf] substitution without target item does not fail HOT 8
- Pytest Error Encountered During AFDKO Compilation on Arch Linux HOT 6
- [checkoutlinesufo] XMLSyntaxError reading fontinfo.plist of temp UFO font HOT 3
- [makeotf] -r reports all unhinted glyphs individually HOT 1
- [buildmasterotfs] incompatible sources produced HOT 1
- [makeinstancesufo] allow public.skipExportGlyphs in instances HOT 1
- support newer antlr4? HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from afdko.