ConEmu icon indicating copy to clipboard operation
ConEmu copied to clipboard

no support for new Nerd Font Unicode range

Open markonop93 opened this issue 1 year ago • 7 comments

Versions

ConEmu build: 221218 x64 OS version: Windows 10 x64 Used shell version: whatever, for example Powershell7

Problem description

Conemu does not display correct Unicode from this ranges https://github.com/ryanoasis/nerd-fonts/issues/1059#issuecomment-1404891287 For example "`u{f45d} `u{f1a5e} `u{e0c3} `u{f1a5f}" in Powershell 7 does not display correct f1a5e and f1a5f. Windows Terminal displays it correct

Steps to reproduce

  1. Use "`u{f45d} `u{f1a5e} `u{e0c3} `u{f1a5f}" command in Conemu Powershell 7

Actual results

Squares (or other unknown character depend on font) display at position 2 and 4 image

Expected results

Regular character from nerd font should display image

markonop93 avatar May 26 '23 22:05 markonop93

Maybe the title of this should include "5 digit unicode". The 5 digits means more than 2 bytes, windows with 16 bit chars this is 4 bytes.

Also compare

  • #2128
  • https://conemu.github.io/en/UnicodeSupport.html

Also, the unicode-support page linked above talks about 'Font charset'. In fact there is a bitfield in fonts that inform about the unicode ranges that font contains. If I remember correctly fontforge has a bug that does NOT set the appropriate bit for PUA-A (i.e. 5 digit Nerd Font icons). I have never noticed any application that checks that bits, but maybe it is different here.

Finii avatar May 27 '23 05:05 Finii

@markonop93 for testing purposes I can provide you with a manually corrected charset-bitfield Agave font set, so that we could rule that out (or fix the problem, but I doubt that)?

Finii avatar May 27 '23 06:05 Finii

@Finii sure feel free sending me anything for test ^^ Pls notice I have caching issue so other font which unused by me still would be better . for example Ubuntu Nerd Font

markonop93 avatar May 27 '23 09:05 markonop93

@Finii sorry for ping , only to make sure you did not forgot :)

markonop93 avatar Jun 02 '23 01:06 markonop93

:-) Sorry, of course I did forget. Let my quickly implement that.

Finii avatar Jun 02 '23 03:06 Finii

We need to have bit 90 set:

image

https://learn.microsoft.com/en-us/typography/opentype/spec/os2#ulunicoderange1-bits-031ulunicoderange2-bits-3263ulunicoderange3-bits-6495ulunicoderange4-bits-96127

image

The left byte of the third block holds bits 88 to 95. The 00 resp. 04 is then bit 90.

AgaveNF-Regular.zip

(It was Agave, right?)


I hope .NET is not involved here...: :unamused:

image https://learn.microsoft.com/en-us/dotnet/api/system.text.unicode.unicoderange?view=net-8.0#remarks

Finii avatar Jun 02 '23 04:06 Finii

@Finii unfortunately it did not help . same characters dont work

markonop93 avatar Jun 03 '23 16:06 markonop93