О спецификации CSS2 том 2

       

Дескрипторы для квалификации данных шрифта 'unicoderange'



15.3.3 Дескрипторы для квалификации данных шрифта: 'unicode-range'

Следующий дескриптор не обязателен внутри определения шрифта, но используется для того, чтобы избежать проверки или загрузки шрифта, который не имеет достаточного количества глифов для вывода определённого символа. 'unicode-range' (Дескриптор)

Значение:<urange> [, <urange>]*
Начальное:  U+0-7FFFFFFF
Носитель:  визуальный

Это дескриптор диапазона символов ISO 10646, покрываемого данным шрифтом.

Значения <urange> выражаются с использованием 16-ричных значений с префиксом "U+", соответствующих кодовой позиции в ISO 10646 ([ISO10646]).

Например, U+05D1 это символ ISO 10646 'еврейская буква bet'. Для значений вне Basic Multilingual Plane/BMP (Базовый Многоязычный План) подставляются дополнительные ведущие цифры, соответствующие числу плана, и также 16-ричные, как этот U+A1234 символ Плана 10 с 16-ричной кодовой позицией 1234. Со времени написания, новые символы вне BMP не добавлялись. Ведущие нули (например, 0000004D) верны, но не требуются.

Начальное значение этого дескриптора покрывает не только весь Basic Multilingual Plane (BMP), в пределах U+0-FFFF, но также и весь репертуар ISO 10646. Таким образом, начальное значение говорит о том, что шрифт может содержать глифы любых символов ISO 10646. Спецификация значения 'unicode-range' предоставляет информацию для эффективного поиска, объявляя ограниченный диапазон, в пределах которого шрифт может иметь глифы символов. Шрифт не должен искаться вне указанного диапазона символов.

Значения могут записываться любым количеством цифр. Для единичной цифры символ '?' означает 'любое значение', которое создаёт диапазон позиций символов. Таким образом, используя одиночное число:

unicode-range: U+20A7 нет маски - обозначение одиночной позиции символа (песета - символ испанской валюты) unicode-range: U+215? одна маска, покрывает диапазон от 2150 до 215F (дроби) unicode-range: U+00?? две маски, покрывает диапазон от 0000 до 00FF (Latin-1) unicode-range: U+E?? две маски, покрывает от 0E00 до 0EFF (письмо Lao).

Пара чисел в данном формате в комбинации с дефисом обозначает более широкий диапазон. Например:

unicode-range: U+AC00-D7FF это диапазон от AC00 до D7FF (область Hangul Syllables).

Множественные конечные диапазоны могут быть специфицированы путём разделения запятыми. Как и в других списках CSS с разделением запятыми, любой пробел перед или после запятой игнорируется. Например:

unicode-range: U+370-3FF, U+1F?? покрывает диапазон от 0370 до 03FF (Modern Greek) плюс от 1F00 до 1FFF (Ancient polytonic Greek). unicode-range: U+3000-303F, U+3100-312F, U+32??, U+33??, U+4E00-9FFF, U+F9000-FAFF, U+FE30-FE4F один из наихудших примеров в плане многозначности, очень определённо обозначает, что этот (очень объёмный) шрифт содержит только китайские символы из ISO 10646 без включения любых символов, уникальных для японского и корейского. Диапазон - от 3000 до 303F (CJK символы и пунктуация), плюс от 3100 до 312F (Bopomofo), плюс от 3200 до 32FF (включая CJK символы и месяцы), плюс от 3300 до 33FF (CJK зона совместимости), плюс от 4E00 до 9FFF (CJK унифицированные идеографы), плюс отF900 до FAFF (CJK идеографы совместимости), плюс от FE30 до FE4F (CJK формы совместимости).

Более понятное представление типичного китайского шрифта:

unicode-range: U+3000-33FF, U+4E00-9FFF

unicode-range: U+11E00-121FF этот шрифт покрывает предлагаемую регистрацию пиктограмм Aztec в диапазоне от 1E00 до 21FF в плане 1. unicode-range: U+1A00-1A1F этот шрифт покрывает предлагаемую регистрацию Irish Ogham в диапазоне от1A00 до 1A1F.

Содержание раздела