I would like to hide the x-Height
metric for some scripts, but when I use Scope with scripts, it seems to break the calculation of sidebearings in Italic masters.
The slanted bounding box is calculate on the half x-height. If you remove that, you need to manually define that. Add a “Slant Height” metrics with a value that is half the x-height.
But could it be possible to always use x-Height value in calcul even if a scope is used ?
Instead to have to set an additional “Slant Height” metric ?
A font needs some “default” vertical metrics (e.g. for the OS/2 table). And to calculate the stuff like the italic bounding box.
I’ll see if I can tone down the latin metrics in other scripts.
Or you could “reuse” the x-height by adding a “Thai” x-height with a value that could make sense. e.g. the top hight for the glyphs instead of the guide.
Maybe something like:
if another x-Height parameter is set and has a scope using a script,
then hide all other x-Height metrics in this script.
So for example if a font have :
x-Height
x-Height [Thai]
x-Height [Hebrew]
Then in Thai glyphs, hide both x-Height
and x-Height [Hebrew]
I’m not an expert in multiscript, but I assume that if users set a new x-Height Metric for a specific script, it’s probably because the default x-Height metric didn’t fit their needs.
That is already working like this.
Yeah, sorry. I meant that if an x-Height metric is set with a scope using a script, then hide the default x-Height for that script.
That should behave exactly like the already.
It’s true, but for this, a new metric needs to be set to overwrite the default ones.
For Thai, I set a new x-Height
with a custom name, but the default x-Height
still shows up.
It seems that both metrics need to have the same custom name to let Glyphs overwrite one with the other.
Also, this is totally different, but it could be really useful to group metrics, especially in a complex multiscript .glyphs file. I would love to group all my metrics by script.
Don’t add a name, just the script filter. Then the default x-height is hidden.