ryanoasis / nerd-fonts

Iconic font aggregator, collection, & patcher. 3,600+ icons, 50+ patched fonts: Hack, Source Code Pro, more. Glyph collections: Font Awesome, Material Design Icons, Octicons, & more
https://NerdFonts.com
Other
52.6k stars 3.59k forks source link

U+276F prompt character (❯) got smaller between 3.1.1 and 3.2.1 #1611

Closed gibfahn closed 2 months ago

gibfahn commented 2 months ago

🗹 Requirements

🎯 Subject of the issue

Experienced behavior:

Prompt character is now small.

Expected behavior:

Prompt character is large and easy to spot in the terminal.

Example symbols:

🔧 Your Setup

★ Screenshots

Screenshots taken at the same zoom in kitty.app on old and new font versions:

3.1.1 3.2.1
3.1.1 3.2.1
Finii commented 2 months ago

Sorry to hear of your size problem.

I can see it directly in the font :thinking:

image

Suspect

Because from these heavy brackets people DO expect excessively big icons :thinking:

Finii commented 2 months ago

In this example the icon is (far) less tall than the small letter T, which is strange

image

I will example in detail.

Finii commented 2 months ago

The cell heights difference is quite huge here?

image

image

Not the case 'globally':

image

image

68% vs 76% ?

Hmm, thanks for reporting. This needs some consideration and a systematic check. I see the effect by the reason is not quite clear; and maybe that should have been marked with the ^ (fit to full height) modifier.

Finii commented 2 months ago

Ahh, one should read ...

image

Finii commented 2 months ago

Ah, the heavy brackets are now two times shrunken, there was an old rule that already sized them down relative to the full cell:

image

The rule needs to be changed to ^pa1! ....

Finii commented 2 months ago

@allcontributors please add @gibfahn for bug

allcontributors[bot] commented 2 months ago

@Finii

I've put up a pull request to add @gibfahn! :tada:

martinpelikan commented 2 months ago

Apologies if this is unrelated or intended, but I noticed an increase in the size of some symbols in ttf-firacode-nerd, going from 3.2.0 -> 3.2.1 in my i3 status bar.

3.2.0 3.2.1
2024-04-18_19-08 2024-04-18_19-09

U+F120 (nf-fa-terminal) and U+F11B (nf-fa-gamepad)

Finii commented 2 months ago

Where is the PR @Finii !!!?

gibfahn commented 2 months ago

Thanks for the detailed explanation and the solution! I don't know if it's helpful, but I filed your proposed solution as a PR. I think that's right, don't have much experience in this area. https://github.com/ryanoasis/nerd-fonts/pull/1617

It's your change, so if you want to file your own PR for it fine by me, just trying to reduce some cycles for you 😁 .

Finii commented 2 months ago

Most probably you already read it, but if not... the cryptic rules have some explanation

# Stretch 'xz' or 'pa' (preserve aspect ratio)
# Supported params: overlap | careful | xy-ratio | dont_copy | ypadding    
# Overlap value is used horizontally but vertically limited to 0.01
# Careful does not overwrite/modify existing glyphs
# The xy-ratio limits the x-scale for a given y-scale to make the ratio <= this value (to prevent over-wide glyphs)
# '1' means occupu 1 cell (default for 'xy')
# '2' means occupy 2 cells (default for 'pa')
# '!' means do the 'pa' scaling even with non mono fonts (else it just scales down, never up)
# '^' means that scaling shall fill the whole cell and not only the icon-cap-height (for mono fonts, other always use the whole cell)
# Dont_copy does not overwrite existing glyphs but rescales the preexisting ones
#
# Be careful, stretch may not change within a ScaleRule!
'align': 'c', 'valign': 'c', 'stretch': '^pa1!', 'params': {'ypadding': 0.3, 'careful': True}