mirror of
https://github.com/wez/wezterm.git
synced 2024-11-27 12:23:46 +03:00
3fae59b01b
we now compute the ratio of the cap height (the height of a capital letter) vs. the em-square (which relates to our chosen point size) to understand what proportion of the font point-size that a given font occupies when rendered. When rendering glyphs from secondary fonts we can use the cap height ratios of both to scale the secondary font such that its effective cap height matches that of the primary font. In plainer-english: if you mix say bold, italic and regular text style in the same line, and you have different font families for those fonts, then they will now appear to be the same height where previously they may have varied more noticeably. For emoji and symbol fonts there may not be a cap-height metric encoded in the font. We can however, improve our scaling: prior to this commit we'd use the ratio of the cell metrics of the two fonts to scale the icon/emoji glyph, but this could cause the glyph to be slightly oversized as seen in https://github.com/wez/wezterm/issues/624 If we know the cap-height of the primary font then we can additionaly apply that factor to scale the emoji to better fit the cell. While looking at this, I noticed that the aspect ratio calculation for when to apply to the allow_square_glyphs_to_overflow_width option had width and height flipped :-( See also: https://tonsky.me/blog/font-size/ refs: https://github.com/wez/wezterm/issues/624 |
||
---|---|---|
.. | ||
src | ||
build.rs | ||
Cargo.toml |