42.23.4 Глифы

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

Функция: make-glyph-code char &optional face

Эта функция возвращает код глифа, представляющий символ char с шрифтом face. Если face опущен или равен nil, глиф использует шрифт по умолчанию; в этом случае код глифа является целым числом. Если face не равен nil, код глифа не обязательно является объектом целого числа.

Функция: glyph-char glyph

Эта функция возвращает символ кода глифа glyph.

Функция: glyph-face glyph

Эта функция возвращает шрифт кода глифа glyph или nil, если glyph использует шрифт по умолчанию.

Вы можете настроить таблицу глифов (glyph table), чтобы изменить способ отображения кодов глифов в текстовых терминалах. Эта функция частично устарела; вместо нее используйте glyphless-char-display (см. Отображение символов без глифов).

Переменная: glyph-table

Значение этой переменной, если оно не равно nil, — это текущая таблица глифов. Она действует только в текстовых терминалах; в графических дисплеях все глифы отображаются буквально. Таблица глифов должна быть вектором, где gth элемент указывает, как отображать код глифа g, где g — это код глифа, шрифт которого не указан. Каждый элемент должен быть одним из следующих:

nil

Отобразить этот глиф буквально.

строка

Отобразить этот глиф, отправив указанную строку в терминал.

код глифа

Вместо этого отобразить указанный код глифа.

Любой целочисленный код глифа, равный или превышающий длину таблицы глифов, отображается буквально.