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
54.16k stars 3.63k forks source link

Certain symbols have more space around them in WebStorm console/terminal. #1459

Closed sebygreen closed 9 months ago

sebygreen commented 9 months ago

🗹 Requirements

🎯 Subject of the issue

Experienced behavior: In WebStorm's console/terminal, certain symbols (see below) have more space to the left and right, leading to an unwanted new line.

Expected behavior: As in all other of my tools, the symbols should be of consistent width.

Example symbols: \udb80\udd2c \udb80\udd59

🔧 Your Setup

★ Screenshots

WebStorm (check and close symbols have more space around them.)

Screenshot 2023-12-16 at 16 42 21

iTerm2 (correct)

Screenshot 2023-12-16 at 16 28 49

macOS Terminal (correct)

Screenshot 2023-12-16 at 16 28 50

VSCode (correct)

Screenshot 2023-12-16 at 16 53 03

WebStorm Settings

Screenshot 2023-12-16 at 16 44 22
Finii commented 9 months ago

If it works 'everywhere' except with WebStorm, is it not most likely a problem of WebStorm and not of Nerd Fonts?

Can you copy and paste the two glyphs as text here in a comment? I could check if they have "ambiguous width". You already did :woman_facepalming:

Finii commented 9 months ago

\udb80\udd2c -> F012C -> nf-md-check

Lets see what Unicode has to say [1]...

<group age="2.0" na="" JSN="" ccc="0" dt="none" dm="#" nt="None" nv="NaN" bpt="n" bpb="#" Bidi_M="N" bmg="" suc="#" slc="#" stc="#" uc="#" lc="#" tc="#" scf="#" cf="#" jt="U" jg="No_Joining_Group" lb="XX" sc="Zzzz" scx="Zzzz" Dash="N" WSpace="N" Hyphen="N" QMark="N" Radical="N" Ideo="N" UIdeo="N" IDSB="N" IDST="N" hst="NA" DI="N" ODI="N" Alpha="N" OAlpha="N" Upper="N" OUpper="N" Lower="N" OLower="N" Math="N" OMath="N" Hex="N" AHex="N" VS="N" Bidi_C="N" Join_C="N" Gr_Base="N" Gr_Ext="N" OGr_Ext="N" Gr_Link="N" STerm="N" Ext="N" Term="N" Dia="N" Dep="N" IDS="N" OIDS="N" XIDS="N" IDC="N" OIDC="N" XIDC="N" SD="N" LOE="N" Pat_WS="N" Pat_Syn="N" GCB="XX" WB="XX" SB="XX" CE="N" Comp_Ex="N" NFC_QC="Y" NFD_QC="Y" NFKC_QC="Y" NFKD_QC="Y" XO_NFC="N" XO_NFD="N" XO_NFKC="N" XO_NFKD="N" FC_NFKC="#" CI="N" Cased="N" CWCF="N" CWCM="N" CWKCF="N" CWL="N" CWT="N" CWU="N" NFKC_CF="#" InSC="Other" InPC="NA" PCM="N" RI="N" blk="Sup_PUA_A" isc="" na1="" Emoji="N" EPres="N" EMod="N" EBase="N" EComp="N" ExtPict="N" NFKC_SCF="#" ID_Compat_Math_Start="N" ID_Compat_Math_Continue="N" IDSU="N" InCB="None"> <char first-cp="F0000" last-cp="FFFFD" gc="Co" bc="L" ea="A" NChar="N" vo="U"/>

So, the ea is A for all codepoints F0000 to FFFFD.

A means ambiguous width; can be one or two cells wide, the standard does not know. In principle each terminal may display it as one or two cells wide. Obviously most terminals choose one cell. If this does not suit you, you have to complain at the terminal programmers. Some terminals have options to adjust this; maybe Webstorm does also? Usually the option has something with 'ambiguous' in the name.

iTerm2 for example renders all ambiguous glyphs as one width, except if you request otherwise:

image

[1] https://www.unicode.org/Public/UCD/latest/ucdxml/ucd.all.grouped.zip

sebygreen commented 9 months ago

hello, thank you for your insight. i replaced the check symbol with a standard unicode tick in my p10k configuration, and the issue goes away, corroborating your explanation. i guess i will see if i post a bug report on youtrack, but those don't seem to ever get far quickly. regardless, i appreciate the time taken.

github-actions[bot] commented 3 months ago

This issue has been automatically locked since there has not been any recent activity (i.e. last half year) after it was closed. It helps our maintainers focus on the active issues. If you have found a problem that seems similar, please open a new issue, complete the issue template with all the details necessary to reproduce, and mention this issue as reference.