Yes, if you learn LaTeX you often have to read a lot about fonts. It seems that there isn’t a standard for many things, for example, “1 ex” is the height of the letter “x”. For one font, this 1 ex is one size in millimeters, and for a different font, it has a different value. So they are both 1 ex, but with different real sizes. Same with the value “1 em” which is the value of the width of the letter “M”.
And the typographical world uses all sorts of strange units like points (pt), big points (Adobe points?), and picas (pc).
Thank you and vocx, you are always warm hearted.
I’ve read you recommended article, and can understand that font design affect font size.
But in this case, the variation level obviously exceeds the font design factor.
In my new test, all weird size fonts are Chinese fonts.
HYSWLongFangSong.ttf
minliub.ttc (Win10 stock)
simsun.ttc (Win10 stock)
But there are still normal size Chinese fonts.
Can’t download your fonts, so I am using others with similar names.
Arial renders to almost perfect height, hysw is about double what it should be and simsun is a massive 7x what it should be.
If I compare hysw, simsun and arial in fontforge, the parameters (em size, ascender, descender, advance etc) are vastly different, so I’m not completely surprised that they render differently.
We only do a simple scaling of desired_height / em_size, so if the font uses an unusual em size or draws the glyphs in only part of the em square we won’t get the intended size. We could use a more complex scaling algorithm, but it still would not guarantee the right size.
Another issue is that some fonts have bitmaps (which we don’t use) for various sizes inside the font file, so if a program uses the bitmap(s) to render the glyphs, there is no guarantee that we (using the contours) will generate the same size glyphs.
You can make a feature request for more accurate font scaling, but I imagine it will be a long wait.