I am working on a layered family with fill and outline layers and I have applied a Custom Parameter (Filter) on an instance to apply the outline based on the filled master. While, inside Glyphs the outline is correctly centered at 50% of the filled master outline, I run into this situation when using the final fonts on Illustrator for instance.
Both text boxes are placed in the same position but the outline is completely shifted, from what I can see, by the width of the stroke.
Which is the best way to fix this? Why it is correctly placed in Glyphs but not when exported?
I suspect this is because Illustrator calculates the offset of the baseline from the top individually. If I recall correctly, it uses the highest point in the letter d as the reference. And since that point is probably 50% of your stroke width higher in the stroke font, compared to your base font, the offset is 100% at the bottom, like in your screenshot.
Does it work with other apps? Do you have the same typo/hhea metrics set in all masters?
It seems an issue related to Illustrator, yes. I am using Illustrator 2026 I got this error, however, on InDesign 2026 this is not happening.
Regarding the typo/hhea metrics, since this is an early typeface I am working on, I haven’t set them. However, what would you recommend me to do in this case?
Your only solution is to add a minimal outline at a common highest point in your letter d in both masters. That way, Illustrator will use that reference for the baseline offset.
I assume this is the solution because I cannot use vertical metrics in one specific master to shift the outline instance n units to make if work for illustrator as it will break it on InDesign, right?
So wen you are saying adding a minimal outline, you mean a path without any stroke at the top of the characters?
Then, how could I make this work in both Adobe apps and other possible text apps? I didn’t quite understand this “add a minimal outline at a common highest point in your letter”.
So, to fix this issue in Illustrator, I need to add this 1x1 unit to the filled master, right? The outline is now an instance with a custom parameter but then I should make it a master so that the outline is not applied to that tiny rectangle, right?
In what glyphs did you add this? It was the “d”, but maybe it is not a single glyph any more. Maybe put a tall enough box in .notdef and exclude it from the offset filter.