Spec-Zone.ru › Elisp

Другие параметры отображения

Вот другие типы параметров отображения, которые вы можете использовать в свойстве display текста.

string

Отобразить строку вместо текста, у которого есть это свойство.

Рекурсивные параметры отображения не поддерживаются — свойства строки display, если таковые имеются, не используются.

(image . image-props)

Этот вид параметра отображения — это описание изображения (см. Описание изображений). При использовании в качестве параметра отображения он означает отображение изображения вместо текста, имеющего этот параметр отображения.

(slice x y width height)

Этот параметр вместе с image задаёт фрагмент (частичную область) изображения для отображения. Элементы y и x задают верхний левый угол фрагмента внутри изображения; width и height задают ширину и высоту фрагмента. Целые числа представляют количество пикселей. Вещественное число в диапазоне от 0,0 до 1,0 соответствует той части ширины или высоты всего изображения.

((margin nil) string)

Параметр отображения в этом формате означает отображение строки вместо текста, имеющего этот параметр отображения, в той же позиции, что и этот текст. Это эквивалентно просто использованию строки, но делается как особый случай граничного отображения (см. Границы отображения).

(left-fringe bitmap [face])
(right-fringe bitmap [face])

Этот параметр отображения для любого символа строки текста вызывает отображение указанной битовой карты на левой или правой границе этой строки вместо символов, имеющих этот параметр отображения. Необязательный face указывает шрифт, цвета которого используются для отображения битовой карты. Подробнее см. Битовые карты полей.

(space-width factor)

Этот параметр отображения влияет на все пробелы в тексте, имеющем это свойство. Он отображает все эти пробелы в factor раз шире обычных. Элемент factor должен быть целым или вещественным числом. Символы, отличные от пробелов, не затрагиваются; в частности, это не влияет на символы табуляции.

(height height)

Этот параметр отображения делает текст выше или ниже. Возможные значения для height:

(+ n)

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

(- n)

Это означает использование шрифта, который на n пунктов меньше.

число, factor

Число factor означает использование шрифта, который в factor раз выше по высоте, чем шрифт по умолчанию.

символ, function

Символ — это функция для вычисления высоты. Она вызывается с текущей высотой в качестве аргумента и должна вернуть новую высоту для использования.

любое другое значение, form

Если значение height не подходит под предыдущие варианты, это форма. Emacs вычисляет её, чтобы получить новую высоту, при этом символ height привязан к текущей заданной высоте шрифта.

(raise factor)

Этот тип параметра отображения перемещает текст вверх или вниз относительно базовой линии строки. В основном он предназначен для поддержки отображения подстрочных и надстрочных символов.

factor должен быть числом, которое интерпретируется как кратное высоте затронутого текста. Если оно положительное, это означает отображение символов надстрочно. Если отрицательное, это означает отображение их ниже.

Обратите внимание, что если текст также имеет параметр отображения height, который был задан ранее (т. е. слева от) raise, последний повлияет на величину поднятия или опускания в пикселях, потому что это основано на высоте поднимаемого текста. Поэтому, если вы хотите отобразить подстрочный или надстрочный символ, меньший, чем высота обычного текста, рассмотрите возможность задания raise перед height.

Вы можете сделать любой параметр отображения условным. Для этого упакуйте его в другой список в формате (when condition . spec). Затем параметр spec применяется только тогда, когда condition вычисляется как не-nil значение. Во время вычисления object привязывается к строке или буферу, имеющему свойство условного display. position и buffer-position привязаны к позиции в object и позиции буфера, где было найдено свойство display, соответственно. Обе позиции могут отличаться, когда object является строкой.

Обратите внимание, что condition будет вычисляться только при повторном отображении, когда рассматривается текст, в котором находится этот параметр отображения, поэтому эта функция лучше всего подходит для условий, которые относительно стабильны, т. е. для каждой конкретной позиции буфера при каждом вычислении дают те же результаты. Если результаты меняются для одной и той же позиции текста, например, если результат зависит от позиции курсора, то условный параметр, возможно, не сделает того, что вы хотите, потому что повторное отображение рассматривает только те части текста буфера, где есть основания полагать, что что-то изменилось с момента последнего цикла отображения.

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/Other-Display-Specs.html

Spec-Zone.ru

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