Spec-Zone.ru › Elisp

Отображение символов без глифов

Символы без глифов — это символы, которые отображаются особым образом, например, как прямоугольник, содержащий шестнадцатеричный код, вместо буквального отображения. К ним относятся символы, явно определённые как символы без глифов, а также символы, для которых нет доступного шрифта (на графическом дисплее), и символы, которые не могут быть закодированы кодировочной системой терминала (на текстовом терминале).

Переменная: 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API