On 2025-04-26 12:51, Eli Zaretskii via Unicode wrote:
From: Dilyan Palauzov <b...@bapha.be>
Cc: unicode@corp.unicode.org
Date: Sat, 26 Apr 2025 12:00:50 +0300

From: Eli Zaretskii <e...@gnu.org>
Subject: Re: Is emoji +VC15, +VC16, without VC one or two columns with 
monospace font?🏝️
Date: 26/04/25 10:02:48

I think you have very outdated mental model of how the Windows console works 
and how it represents and encodes characters.
In particular, the width of a character is NOT determined by the length of its 
byte sequence, but by the font glyphs used to display those characters.
I am confused.  Does the width of an emoji/a character depend on the font (thus 
font designers decide this), or does it depend on EastAsianWidth.txt ?
It depends on the font, but the font is supposed to go by what
EastAsianWidth.txt says.

It is worse. We are discussing monospaced fonts, and so terminals may select where to display each characters (skipping all font hints) and overwriting part of character.

Also note: I do not like the division Unix/non-Unix:. "Unix" terminal had different interpretations. E.g. if we look the initial Unicode support of xterm (so the mother of many "unix pseudoterminals), we learn that it supported only "Unicode level 1" (and obsolete terminology in old Unicode standards, or just in ISO). So it did interpret each codepoint independently (so no combining codepoints).

Also a good documentation on width of characters in terminals: problems, solutions, and interpretation of width in many implementations, from gosthy (the new kid in the block): https://mitchellh.com/writing/grapheme-clusters-in-terminals.

giacomo





Reply via email to