

This 0xF100 is stripped off again by the code I already pointed out in my earlier post. However these arrays are sparse and the unmapped entries contain values that match (0xF100 + ASCII). To provide a translation between a certain character within such a mode and the font there are several arrays to map a character to a specific glyph (see windows/winucs.c, struct unicode_data *ucsdata, they are called unitab_*). The terminal emulation layer has several modes that can be used to draw lines or other special characters. If you get some feedback please keep me in the loop: Email me at investigated the putty source code more deeply and have a theory what the intention of this problematic code is. Either it's a problem with the terminals or fontawesome should not use this range for its Have you get received any feedback from those developers? My email to the Putty developers has not yet been answered. Maybe this causes your problem as well and somehow helps the developers of MobaXterm to fix it. Also, unicode code points outside that range from fontawesome are not messed with, e.g. For me, the clue was the lock icon \uF023 that is used by p10k configure. You could try to fiddle around with different values for the last byte to verify this theory. Taking your example of \uF17C this results in 0x7C or | in ASCII. If a character is within that range, they effectively cut off the higher byte (value & 0xFF) to force it down into ASCII range. That range is ((value & 0xFFFFFE00) = 0xF000) and checked by the DIRECT_FONT macro. There is a range of unicode code points that is treated in a special way for some reason I haven't yet figured out.

I have looked at the putty source code and found an interesting special case when rendering glyphs to the screen. This bug is specific to any font that uses a certain unicode code point range for its glyphs (from the fontawesome range in nerd fonts). Anyway I contacted the putty developers a few days ago (and haven't heard back from them yet) about a similar problem. I think I remember having read somewhere that putty and MobaXterm share a common code base, but I can't find it right now. Since I'm having a similar problem with putty, I'll share my findings here.
