Spec-Zone.ru › Elisp

Наборы символов

Набор символов (или charset) в Emacs — это множество символов, где каждому символу присвоен числовой код. (Стандарт Unicode называет это кодированным набором символов.) Каждый набор символов Emacs имеет имя, которое является символом. Один символ может принадлежать любому количеству различных наборов символов, но его код будет отличаться в каждом наборе. Примеры наборов символов включают ascii, iso-8859-1, greek-iso8859-7, и windows-1255. Код символа в наборе символов обычно отличается от его кода в буферах и строках Emacs.

Emacs определяет несколько специальных наборов символов. Набор символов unicode включает все символы, чьи коды в Emacs находятся в диапазоне 0..#x10FFFF. Набор символов emacs включает все символы ASCII и не-ASCII символы. Наконец, набор символов eight-bit включает 8-битные сырые байты; Emacs использует его для представления сырых байтов, встречающихся в тексте.

Функция: charsetp объект

Возвращает t, если объект — это символ, обозначающий набор символов, nil в противном случае.

Переменная: charset-list

Значение — это список всех определённых имён наборов символов.

Функция: charset-priority-list &optional highestp

Эта функция возвращает список всех определённых наборов символов, упорядоченных по приоритету. Если highestp — не nil, функция возвращает единственный набор символов наивысшего приоритета.

Функция: set-charset-priority &rest charsets

Эта функция делает charsets наборами символов наивысшего приоритета.

Функция: char-charset символ &optional restriction

Эта функция возвращает имя набора символов наивысшего приоритета, к которому принадлежит символ. ASCII-символы являются исключением: для них эта функция всегда возвращает ascii.

Если restriction — не nil, он должен быть списком наборов символов для поиска. В качестве альтернативы, он может быть кодировочной системой, в этом случае возвращаемый набор символов должен поддерживаться этой кодировочной системой (см. Кодировочные системы).

Функция: charset-plist charset

Эта функция возвращает список свойств набора символов charset. Хотя charset — это символ, это не то же самое, что список свойств этого символа. Свойства набора символов включают важную информацию о наборе символов, например, его строку документации, короткое имя и т. д.

Функция: put-charset-property charset propname value

Эта функция устанавливает свойство propname набора символов charset в заданное значение value.

Функция: get-charset-property charset propname

Эта функция возвращает значение свойства charset с именем propname.

Команда: list-charset-chars charset

Эта команда отображает список символов в наборе символов charset.

Emacs может преобразовывать между своим внутренним представлением символа и кодом символа в конкретном наборе символов. Следующие две функции поддерживают эти преобразования.

Функция: decode-char charset code-point

Эта функция декодирует символ, которому присвоен code-point в charset, в соответствующий символ Emacs и возвращает его. Если charset не содержит символа с этим кодом, значение равно nil.

Для обратной совместимости, если code-point не помещается в целочисленную переменную Lisp (см. most-positive-fixnum), он может быть указан как cons-ячейка (high . low), где low — нижние 16 бит значения, а high — верхние 16 бит. Это использование устаревает.

Функция: encode-char char charset

Эта функция возвращает код символа char в наборе символов charset. Если charset не имеет кода для char, значение равно nil.

Следующая функция полезна для применения определённой функции ко всем или части символов в наборе символов:

Функция: map-charset-chars function charset &optional arg from-code to-code

Вызовите function для символов в charset. function вызывается с двумя аргументами. Первый — cons-ячейка (from . to), где from и to указывают диапазон символов в charset. Второй аргумент, передаваемый function, — arg или nil, если arg опущено.

По умолчанию диапазон кодов, передаваемых function, включает все символы в charset, но необязательные аргументы from-code и to-code ограничивают его диапазоном символов между этими двумя кодами в charset. Если какой-либо из них равен nil, он по умолчанию устанавливается в первый или последний код символа в charset соответственно. Обратите внимание, что from-code и to-code — это коды символов в charset, а не коды символов в Emacs; в отличие от этого, значения from и to в передаваемой cons-ячейке в function являются кодами символов Emacs. Эти коды символов Emacs — это либо коды Unicode, либо внутренние коды символов Emacs, которые расширяют Unicode и выходят за пределы диапазона Unicode 0..#x10FFFF (см. Представления текста). Последнее случается редко, с устаревшими наборами символов CJK для кодов в charset, которые указывают символы, ещё не объединённые с Unicode.

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/Character-Sets.html

Spec-Zone.ru

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