Может ли ваш терминал отображать эмодзи? Насколько они большие?=news.ycombinator.com=

Может ли ваш терминал делать эмодзи? Насколько большие? ( dgl.cx )

b0a04gl 13 минут назад [–]
Ошибки ширины эмодзи в основном связаны с тем, как терминалы интерпретируют «кластеры графем» Unicode, «кодовые точки» и «ячейки отображения». Эмодзи — это не одна кодовая точка, а часто несколько, объединенных с помощью соединителей нулевой ширины, селекторов вариаций, модификаторов тона кожи. Поэтому терминал запрашивает wcwidth(), получает 1 или 2, но фактический глиф может отображаться шире или объединяться в одну форму.

некоторые эмодзи даже меняют ширину в зависимости от шрифта. Семейные эмодзи состоят из 7 кодовых точек и отображаются как один глиф. Большинство терминалов не отслеживают это. Они просто считают кодовые точки и молятся.

Если терминал не использует графемо-распознающий рендерер и не синхронизируется с движком формирования шрифта (например, freetype или coretext), он всегда будет угадывать неправильно. wezterm и kitty часто анализируют его правильно


Рассмотрите возможность подачи заявки на набор в YC на осень 2025 года! Заявки принимаются до 4 августа

Source: news.ycombinator.com

Leave a Reply

Your email address will not be published. Required fields are marked *