7 Commits

Author SHA1 Message Date
Mitchell Hashimoto
c45747bf1f font: implement many rendering, caching functions for SharedGrid 2024-04-05 20:50:35 -07:00
Mitchell Hashimoto
c61de49082 renderer/metal: port 2024-03-22 20:27:44 -07:00
Mitchell Hashimoto
1907c58972 renderer: consider powerline box glyphs whitespace for PUA scaling
This adds to the heuristics introduced for #1071. Please read that issue
and associated PRs in their entirety to understand this commit.

This extends our concept of "whitespace" to include powerline box
glyphs. We don't want to constrain nerd symbols next to powerline box
glyphs because box glyphs are often used to style and contain nerd
glyphs. For example, its common to see a right-facing semi-circle, then
a nerd font glyph, then a left-facing semi-circle to create a
pill-shaped label.

This allows those nerd font symbols to be rendered full size. Test
script below (copy the bytes):

    printf "󰃰\n"
    printf "󰃰 \n"
    printf "󰃰\n"
2024-01-25 15:35:48 -08:00
Mitchell Hashimoto
f7c558e733 renderer: constrain dingbats category to cell size
Dingbats are generally symbolic glyphs that frequently overflow the
cell. Their defined codepoint width is "1" so they take one cell but
very often overflow to the next.

This extends the previously created logic for Nerd Font symbols such
that when a dingbat is next to whitespace, we allow it to use the full
size, but when a dingbat is next to an occupied cell we constrain it to
the cell size.
2024-01-07 14:54:15 -08:00
Chris Marchesi
fad0b9a49c renderer: don't constrain Powerline glyphs
This adds the Powerline glyphs to the exemptions from the PUA
constraints put in as a part of #1110.

While Powerline is considered to part of the Nerd Font group, the
constraint behavior seems to cause issues with some setups - e.g.
powerlevel10k prompts where characters immediately follow a Powerline
character.

Only the codes given as shapes below are included:
  https://github.com/ryanoasis/powerline-extra-symbols/blob/master/img/fontforge.png

Fixes #1113, where the issue can be seen.
2023-12-16 23:18:49 -08:00
Mitchell Hashimoto
9178fabc5d renderer: also constrain PUA chars if preceded by PUA 2023-12-16 20:18:14 -08:00
Mitchell Hashimoto
0b658c8217 renderer/metal: constrain PUA glyphs if they aren't next to space 2023-12-16 20:07:25 -08:00