Атрибуты лица
Атрибуты лица определяют визуальный вид лица. В следующей таблице перечислены все атрибуты лица, их возможные значения и их влияние.
Помимо значений, приведенных ниже, каждый атрибут лица может иметь значение unspecified. Это специальное значение означает, что лицо не указывает этот атрибут напрямую. Атрибут unspecified сообщает Emacs обращаться к родительскому лицу (см. описание атрибута :inherit ниже); или, если это не удаётся, к основному лицу (см. Отображение лиц). Лицо default должно указывать все атрибуты.
Некоторые из этих атрибутов имеют смысл только на определённых типах отображения. Если ваше устройство не поддерживает определённый атрибут, он игнорируется.
:family-
Название семейства шрифтов (строка). Подробнее см. Шрифты в Руководстве пользователя GNU Emacs. Функция
font-family-list(см. ниже) возвращает список доступных названий семейств. :foundry-
Название производителя шрифтов для семейства шрифтов, указанного атрибутом
:family(строка). См. Шрифты в Руководстве пользователя GNU Emacs. :width-
Относительная ширина символов. Должно быть одно из значений
ultra-condensed,extra-condensed,condensed,semi-condensed,normal,semi-expanded,expanded,extra-expandedилиultra-expanded. :height-
Высота шрифта. В простейшем случае — целое число в единицах 1/10 пункта.
Значение также может быть дробным или функцией, которая определяет высоту относительно базового шрифта (см. Отображение шрифтов). Дробное значение указывает величину масштабирования высоты базового шрифта. Значение функции вызывается с одним аргументом — высотой базового шрифта, и возвращает высоту нового шрифта. Если функции передаётся целое число, она должна вернуть целое число.
Высота стандартного шрифта должна указываться целым числом; дробные значения и функции недопустимы.
:weight-
Начертание шрифта — одно из значений (от самого плотного до самого слабого)
ultra-bold,extra-bold,bold,semi-bold,normal,semi-light,light,extra-lightилиultra-light. На терминалах, поддерживающих переменную яркость текста, любое начертание, более толстое, чем стандартное, отображается как очень яркое, а любое начертание, более тонкое, чем стандартное, — как полуяркое. :slant-
Наклон шрифта — одно из значений
italic,oblique,normal,reverse-italicилиreverse-oblique. На терминалах, поддерживающих переменную яркость текста, наклонный текст отображается как полуяркий. :foreground-
Цвет переднего плана, строка. Значение может быть именем системного цвета или шестнадцатеричным представлением цвета. См. Имена цветов. На черно-белых дисплеях некоторые оттенки серого реализуются узорами.
:distant-foreground-
Альтернативный цвет переднего плана, строка. Это похоже на
:foreground, но цвет используется только как цвет переднего плана, когда цвет фона близок к цвету переднего плана, который должен был бы использоваться. Это полезно, например, при выделении текста (например, область выделения). Если текст имеет цвет переднего плана, который виден с цветом области выделения, используется этот цвет переднего плана. Если цвет переднего плана близок к цвету фона области выделения, используется:distant-foreground, чтобы текст был читаемым. :background-
Цвет фона, строка. Значение может быть именем системного цвета или шестнадцатеричным представлением цвета. См. Имена цветов.
:underline-
Подчёркивание символов и способ подчёркивания. Возможные значения атрибута
:underline:nil-
Без подчёркивания.
t-
Подчёркивание цветом переднего плана шрифта.
- color
-
Подчёркивание цветом color, строкой, задающей цвет.
(:color color :style style)color — это строка или символ
foreground-color, означающий цвет переднего плана шрифта. Опускание атрибута:colorозначает использование цвета переднего плана шрифта. style должен быть символомlineилиwave, означающим использование сплошной или волнистой линии. Опускание атрибута:styleозначает использование сплошной линии.
:overline-
Надчеркивание символов и цвет. Если значение равно
t, надчеркивание использует цвет переднего плана шрифта. Если значение — строка, надчеркивание использует указанный цвет. Значениеnilозначает отсутствие надчёркивания. :strike-through-
Зачеркивание символов и цвет. Значение используется как в атрибуте
:overline. :box-
Отображение рамки вокруг символов, её цвет, толщина линий рамки и 3D-эффект. Возможные значения атрибута
:boxи их значение:nil-
Без рамки.
t-
Рамка с линиями толщиной 1 пиксель в цвете переднего плана.
- color
-
Рамка с линиями толщиной 1 пиксель в цвете color.
(:line-width (vwidth . hwidth) :color color :style style)-
Этот способ позволяет явно указать все аспекты рамки. Значения vwidth и hwidth указывают соответственно ширину вертикальных и горизонтальных линий; по умолчанию они равны (1 . 1). Отрицательная горизонтальная или вертикальная ширина -n означает рисование линии шириной n, занимающей пространство подлежащего текста, что предотвращает увеличение высоты или ширины символов. Для упрощения ширина может быть указана одним числом n вместо списка, в этом случае это эквивалентно
((abs n) . n).Значение style указывает, рисовать ли 3D-рамку. Если это
released-button, рамка выглядит как 3D-кнопка, которая не нажата. Если этоpressed-button, рамка выглядит как 3D-кнопка, которая нажата. Если этоnil,flat-buttonили опущено, используется простая 2D-рамка.Значение color задаёт цвет рисования. По умолчанию для 3D-рамок и
flat-button— цвет фона шрифта, для других рамок — цвет переднего плана шрифта.
:inverse-video-
Использование инверсии цветов. Должно быть
t(да) илиnil(нет). :stipple-
Узор фона, растровое изображение.
Значение может быть строкой — именем файла с внешним форматом данных растрового изображения X. Файл находится в каталогах, перечисленных в переменной
x-bitmap-file-path.Альтернативно, значение может задать растровое изображение напрямую в виде списка вида
(width height data). Здесь width и height задают размер в пикселях, а data — строка, содержащая сырые биты растрового изображения, построчно. Каждая строка занимает (width + 7) / 8 последовательных байтов в строке (которая должна быть строкой с байтами для наилучших результатов). Это означает, что каждая строка всегда занимает как минимум один целый байт.Если значение равно
nil, это означает, что узор фона не используется.Обычно задавать атрибут узора фона не требуется, поскольку он используется автоматически для обработки определённых оттенков серого.
:font-
Шрифт, используемый для отображения шрифта. Значение должно быть объектом шрифта или набором шрифтов. Если это объект шрифта, то он задаёт шрифт, используемый шрифтом для отображения символов ASCII. Подробнее о шрифтовых объектах, спецификациях шрифтов и сущностях шрифтов см. Шрифт низкого уровня. Подробнее о наборах шрифтов см. Наборы шрифтов.
При указании этого атрибута с помощью
set-face-attributeилиset-face-font(см. Функции атрибутов), вы также можете указать спецификацию шрифта, сущность шрифта или строку. Emacs преобразует такие значения в соответствующий объект шрифта и сохраняет этот объект шрифта как фактическое значение атрибута. Если вы указываете строку, содержимое строки должно быть именем шрифта (см. Шрифты в Руководстве пользователя GNU Emacs); если имя шрифта представляет собой XLFD, содержащее подстановочные знаки, Emacs выбирает первый шрифт, соответствующий этим подстановочным знакам. Указание этого атрибута также изменяет значения атрибутов:family,:foundry,:width,:height,:weightи:slant. :inherit-
Имя шрифта, унаследующего атрибуты, или список имён шрифтов. Атрибуты унаследованных шрифтов объединяются со шрифтом, как если бы был базовый шрифт, с более высоким приоритетом, чем базовые шрифты (см. Отображение шрифтов). Если наследование происходит от шрифта
unspecified, это обрабатывается так же, какnil, поскольку Emacs никогда не объединяет атрибуты:inherit. Если используется список шрифтов, атрибуты шрифтов, расположенных раньше в списке, переопределяют атрибуты шрифтов, расположенных позже. :extend-
Указывает, будет ли шрифт расширяться за пределы конца строки и повлияет ли это на отображение пустого пространства между концом строки и краем окна. Должно быть значение
t, чтобы отображать пустое пространство между концом строки и краем окна с использованием этого шрифта, илиnil, чтобы не использовать этот шрифт для пространства между концом строки и краем окна. При объединении Emacs нескольких шрифтов для отображения пустого пространства за пределами конца строки, будут объединены только те шрифты, у которых:extendнеnil. По умолчанию этот атрибут установлен только для небольшого числа шрифтов, в частности, дляregion. Этот атрибут отличается от других тем, что, когда тема не указывает явного значения для шрифта, значение из исходного определения шрифтаdeffaceнаследуется (см. Определение шрифтов).Некоторые режимы, например
hl-line-mode, используют шрифт с свойством:extendдля выделения всей текущей строки. Однако обратите внимание, что Emacs всегда позволяет перемещать точку за последний символ в буфере, и если буфер заканчивается символом новой строки, точка может быть помещена на то, что кажется строкой в конце буфера — но Emacs не может выделить эту «строку», потому что она фактически не существует.
- Функция: font-family-list &optional frame
Эта функция возвращает список доступных имён семейств шрифтов. Необязательный аргумент frame указывает окно, в котором должен отображаться текст; если он равен
nil, используется выбранное окно.
- Параметр пользователя: underline-minimum-offset
Эта переменная задаёт минимальное расстояние между базовой линией и нижней линией подчёркивания в пикселях при отображении подчёркнутого текста.
- Параметр пользователя: x-bitmap-file-path
Эта переменная задаёт список каталогов для поиска файлов растровых изображений для атрибута
:stipple.
- Функция: bitmap-spec-p объект
Возвращает
t, если объект является допустимой спецификацией растрового изображения, подходящей для использования с:stipple(см. выше). В противном случае возвращаетnil.
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/Face-Attributes.html