Отображение символов без глифов
Символы без глифов — это символы, которые отображаются особым образом, например, как прямоугольник, содержащий шестнадцатеричный код, вместо буквального отображения. К ним относятся символы, явно определённые как символы без глифов, а также символы, для которых нет доступного шрифта (на графическом дисплее), и символы, которые не могут быть закодированы кодировочной системой терминала (на текстовом терминале).
- Переменная: glyphless-char-display
-
Значение этой переменной — таблица символов, которая определяет символы без глифов и способ их отображения. Каждый элемент должен быть одним из следующих способов отображения:
nil-
Отобразить символ обычным способом.
zero-width-
Не отображать символ.
thin-space-
Отобразить тонкий пробел шириной 1 пиксель на графических дисплеях или шириной 1 символ на текстовых терминалах.
empty-box-
Отобразить пустой прямоугольник.
hex-code-
Отобразить прямоугольник, содержащий числовой код символа в шестнадцатеричном формате.
- строка ASCII
-
Отобразить прямоугольник, содержащий эту строку. Строка должна содержать не более 6 символов ASCII.
- ячейка cons
(graphical . text) Отобразить с помощью graphical на графических дисплеях и с помощью text на текстовых терминалах. Как graphical, так и text должны быть одним из способов отображения, описанных выше.
Способы отображения
thin-space,empty-box,hex-code, и строки ASCII выводятся с помощью шрифтаglyphless-char. На текстовых терминалах прямоугольник эмулируется квадратными скобками, '[]'.Таблица символов имеет дополнительный слот, который определяет способ отображения любого символа, который не может быть отображён с помощью доступного шрифта или не может быть закодирован кодировочной системой терминала. Его значение должно быть одним из вышеперечисленных способов отображения, за исключением
zero-widthили ячейки cons.Если у символа есть запись, отличная от
nilв активной таблице отображения, таблица отображения применяется; в этом случае Emacs вообще не обращается кglyphless-char-display.
- Параметр пользователя: glyphless-char-display-control
-
Этот параметр пользователя предоставляет удобный способ установки
glyphless-char-displayдля групп подобных символов. Не устанавливайте его значение напрямую из кода Lisp; значение вступает в силу только через пользовательскую функцию:set(см. Определения переменных), которая обновляетglyphless-char-display.Его значение должно быть списком элементов
(group . method), где group — символ, определяющий группу символов, а method — символ, определяющий способ их отображения.group должен быть одним из следующих:
c0-control-
Символы управления ASCII
U+0000доU+001F, за исключением символов новой строки и табуляции (обычно отображаются как последовательности escape, например, ‘^A’; см. Как отображается текст в Руководстве GNU Emacs). c1-control-
Символы не-ASCII, непечатаемые символы
U+0080доU+009F(обычно отображаются как восьмеричные последовательности escape, например, ‘\230’). format-control-
Символы категории Unicode [Cf], такие как U+200E ЛЕВОЙ-НА-ПРАВО МАРКА, но не включая символы, которые имеют графические изображения, такие как U+00AD МЯГКИЙ ДЕФИС.
variation-selectors-
Символы Unicode VS-1 по VS-16 (U+FE00 по U+FE0F), которые используются для выбора между различными глифами для одних и тех же кодовых точек (обычно смайлики).
no-fontСимволы, для которых нет подходящего шрифта или которые не могут быть закодированы кодировочной системой терминала, или для которых текстовый терминал не имеет глифов.
Символ method должен быть одним из
zero-width,thin-space,empty-box, илиhex-code. Они имеют те же значения, что и вglyphless-char-display, выше.
Copyright © 1990-1996, 1998-2022 Free Software Foundation, Inc.
Licensed under the GNU GPL license.
https://www.gnu.org/software/emacs/manual/html_node/elisp/Glyphless-Chars.html