Спецификация пикселей для пространств
Значение свойств :width, :align-to, :height, и :ascent может быть особым видом выражения, которое вычисляется во время повторного отображения. Результат вычисления используется в качестве абсолютного числа пикселей.
Поддерживаются следующие выражения:
expr ::= num | (num) | unit | elem | pos | image | xwidget | form num ::= integer | float | symbol unit ::= in | mm | cm | width | height
elem ::= left-fringe | right-fringe | left-margin | right-margin
| scroll-bar | text
pos ::= left | center | right
form ::= (num . expr) | (op expr ...)
op ::= + | -
Форма num указывает дробную часть от высоты или ширины шрифта по умолчанию. Форма (num) указывает абсолютное число пикселей. Если num является символом, symbol, используется его локальная переменная; эта привязка может быть либо числом, либо ячейкой конса с формами, показанными выше (включая еще одну ячейку конса, чьё car — символ, имеющий локальную привязку в буфере).
Единицы in, mm, и cm обозначают число пикселей на дюйм, миллиметр и сантиметр соответственно. Единицы width и height соответствуют умолчанию ширины и высоты текущего шрифта. Спецификация изображения в форме (image . props) (см. Описание изображений) соответствует ширине или высоте указанного изображения. Аналогично, спецификация xwidget в форме (xwidget . props) обозначает ширину или высоту указанного xwidget. См. Xwidgets.
Элементы left-fringe, right-fringe, left-margin, right-margin, scroll-bar, и text задают ширину соответствующей области окна. Когда окно отображает номера строк (см. Размер отображаемого текста), ширина области text уменьшается на место, занимаемое отображением номеров строк.
Позиции left, center, и right могут использоваться с :align-to для задания позиции относительно левого края, центра или правого края области текста. Когда окно отображает номера строк, позиции left и center смещаются с учетом места, занимаемого отображением номеров строк.
Любой из перечисленных выше элементов окна (кроме text) также может использоваться с :align-to для задания позиции относительно левого края данной области. После того, как начальное смещение для относительной позиции было установлено (первым вхождением одного из этих символов), последующие вхождения этих символов интерпретируются как ширина указанной области. Например, чтобы выровнять по центру левого отступа, используйте
:align-to (+ left-margin (0.5 . left-margin))
Если для выравнивания не установлено конкретное начальное смещение, оно всегда относительно левого края области текста. Например, ‘:align-to 0’ в строке заголовка выравнивается с первой текстовой колонкой в области текста. При отображении номеров строк в окне, текст считается начинающимся там, где заканчивается место, используемое для отображения номеров строк.
Значение в форме (num . expr) представляет собой произведение значений num и expr. Например, (2 . in) указывает ширину 2 дюйма, а (0.5 .
image) указывает половину ширины (или высоты) указанного image (который должен быть задан с помощью его спецификации изображения).
Форма (+ expr ...) складывает значения выражений. Форма (- expr ...) отрицает или вычитает значения выражений.
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/Pixel-Specification.html