Spec-Zone .ru
спецификации, руководства, описания, API
Содержание документации

Конфигурационные файлы шрифта

Платформа Java определяет пять логических имен шрифтов, которые должна поддерживать каждая реализация: Засечка, SansSerif, Моноширинный, Диалоговый, и DialogInput. Эти логические имена шрифтов отображаются на физические шрифты зависящими от реализации способами.

Java Sun Среды выполнения SE использует конфигурационные файлы шрифта, чтобы отобразить логические имена шрифтов на физические шрифты. Есть несколько файлов, чтобы поддерживать различные отображения в зависимости от версии операционной системы узла. Файлы располагаются в каталоге lib в пределах установки JRE. Пользователи могут отредактировать или создать свои собственные конфигурационные файлы шрифта, чтобы скорректировать отображения к их определенной системной установке. Отметьте однако, что это - модификация JRE, и Sun не поддерживает измененный JREs.

Конфигурационные файлы шрифта прибывают в два формата: формат свойств и двоичный формат. Формат свойств описывается подробно в этом документе и может использоваться для определяемых пользователем конфигураций. Двоичный формат недокументирован и используется только для предопределенных конфигураций JRE; соответствующие файлы в формате свойств доступны для ссылки как файлы с ".properties.src" расширением.

Отметьте, что конфигурационные файлы шрифта являются зависящими от реализации. Не все реализации Платформы Java используют их, и формат и контент изменяются между различными средами выполнения так же как между выпусками. Этот документ описывает формат, используемый версией 6 Java Sun Среды выполнения SE.

  1. Загрузка Конфигурационных файлов Шрифта
  2. Имена, Используемые в Конфигурационных файлах Шрифта
  3. Свойства для Всех Платформ
  4. Свойства для Windows
  5. Свойства для Соляриса и Linux

Загрузка Конфигурационных файлов Шрифта

Чтобы найти соответствующий конфигурационный файл шрифта для операционной системы узла, следующая информация используется:

Время выполнения использует первый из следующих файлов, которые оно находит:

        JavaHome/lib/fontconfig.OS.Version.properties
        JavaHome/lib/fontconfig.OS.Version.bfc
        JavaHome/lib/fontconfig.OS.properties
        JavaHome/lib/fontconfig.OS.bfc
        JavaHome/lib/fontconfig.Version.properties
        JavaHome/lib/fontconfig.Version.bfc
        JavaHome/lib/fontconfig.properties
        JavaHome/lib/fontconfig.bfc

Файлы с суффиксом ".properties", как предполагается, являются файлами свойств как определено Properties класс и загружается через тот класс. Файлы без этого суффикса, как предполагается, находятся в двоичном формате.


Имена, Используемые в Конфигурационных файлах Шрифта

Всюду по конфигурационным файлам шрифта используются много различных имен:


Свойства для Всех Платформ

Свойство версии

Свойство версии идентифицирует версию формата конфигурации шрифта. Этот документ определяет версию 1.

У полного свойства есть форма:

version=1

Компонентное Отображение шрифтов

Компонентные свойства отображения шрифтов описывают который физический шрифт использовать, чтобы представить символы от данного символьного подмножества с данным логическим шрифтом в данном стиле.

У ключей есть формы:

        allfonts.CharacterSubsetName
        LogicalFontName.StyleName.CharacterSubsetName

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

Значения являются именами шрифтов платформы, как описано выше.

Так как символьные подмножества, поддерживаемые данными шрифтами часто, накладываются, отдельные поисковые свойства последовательности используются, чтобы определить в который порядок попробовать шрифты, представляя символ.

Поисковые Последовательности

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

У ключей есть форма:

     sequence.allfonts.Encoding.Language.Country
        sequence.LogicalFontName.Encoding.Language.Country
        sequence.allfonts.Encoding.Language
        sequence.LogicalFontName.Encoding.Language
        sequence.allfonts.Encoding
        sequence.LogicalFontName.Encoding
        sequence.allfonts
        sequence.LogicalFontName

allfonts формы используются, если последовательность используется для всех пяти логических шрифтов. Формы, определяющие логические имена шрифтов, используются, если различные последовательности используются для различных логических шрифтов.

Для каждого логического шрифта Среда выполнения Java использует значение свойства с первым из вышеупомянутых ключей. Это свойство определяет основную поисковую последовательность для логического шрифта.

Файл может также определить единственную последовательность поиска нейтрализации. Ключ для свойства последовательности поиска нейтрализации:

     sequence.fallback

У значений всех поисковых свойств последовательности есть форма:

SearchSequenceValue:
        CharacterSubsetName
        CharacterSubsetName , SearchSequenceValue

Основные поисковые свойства последовательности определяют символьные имена подмножества для необходимых шрифтов, которые используются и для AWT и для 2-D рендеринга шрифта. Свойство последовательности поиска нейтрализации дает символьные имена подмножества для дополнительных шрифтов, которые используются в качестве нейтрализаций для всех логических шрифтов, но только для 2-D рендеринга шрифта. Время выполнения автоматически добавляет Lucida Sans Регулярный шрифт как шрифт нейтрализации для 2-D рендеринга, если это уже не определяется. Если у среды выполнения есть каталог, lib/fonts/fallback, и этот каталог содержит допустимый TrueType или шрифты Типа 1, время выполнения автоматически добавляет эти шрифты как шрифты нейтрализации для 2-D рендеринга. На Windows, если есть система EUDC (Конечный пользователь Определенные Символы) шрифт, зарегистрированный в Windows, время выполнения автоматически добавляет этот шрифт так же как шрифт нейтрализации для 2-D рендеринга.

Свойства последовательности определяют, в котором компонентные шрифты последовательности пробуют, чтобы представить данный символ. Например, учитывая следующие свойства:

sequence.monospaced=japanese,alphabetic
sequence.fallback=korean
monospaced.plain.alphabetic=Arial
monospaced.plain.japanese=MSGothic
monospaced.plain.korean=Gulim

время выполнения сначала попытается представить символ со шрифтом MSGothic. Если тот шрифт не обеспечит глифа для символа, то он будет делать попытку шрифта Arial. Для 2-D рендеринга это также попробует Gulim и Lucida Sans Регулярный шрифт так же как любой TrueType или шрифты Типа 1 в каталоге lib/шрифтов/нейтрализации времени выполнения. Для 2-D рендеринга на Windows, если есть система шрифт EUDC, зарегистрированный в Windows, время выполнения наконец попробует этот шрифт EUDC.

Вычисляя метрики шрифта для логического шрифта независимо от строки, только необходимые шрифты учитываются. Для примера выше, метод FontMetrics.getMaxDescent возвратил бы результаты, основанные на шрифтах MSGothic и Arial, но не шрифтах Gulim и Lucida Sans. Таким образом на простые элементы пользовательского интерфейса, такие как кнопки, которые иногда вычисляют их размер, основанный на метриках шрифта, не влияет расширенный список компонентных шрифтов, которые обычно не используют их метки. С другой стороны текстовые компоненты обычно вычисляют метрики, основанные на тексте, который они содержат и таким образом получат корректные результаты.

Свойства последовательности, которые время выполнения получает для пяти логических шрифтов, должны перечислить те же самые символьные подмножества, но могут перечислить их в различном порядке.

Диапазоны исключения

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

У ключей есть форма:

     exclusion.CharacterSubsetName

У значений есть форма:

ExclusionRangeValue:
        Range
        Range , ExclusionRangeValue
 
Range:
        Char - Char
 
Char:
        HexDigit HexDigit HexDigit HexDigit
        HexDigit HexDigit HexDigit HexDigit HexDigit HexDigit

Случайная работа является символом Unicode, представленным как шестнадцатеричное значение.

Пропорциональные Шрифты

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

У ключей есть форма:

     proportional.PlatformFontName

Пробелы в имени шрифта платформы должны быть заменены символами подчеркивания (" _ ").

У значений есть форма:

     PlatformFontName

В значениях пробелы оставляют неизмененными.

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

Имена файлов шрифта

Свойства имени файла шрифта обеспечивают имена файлов, содержащих физические шрифты, используемые в конфигурационном файле шрифта. Имена файлов требуются для всех физических шрифтов на Windows и рекомендуются для всех физических шрифтов на Солярисе и Linux.

У ключей есть форма:

     filename.PlatformFontName

Пробелы в имени шрифта платформы должны быть заменены символами подчеркивания (" _ ").

Значения являются именами файлов файлов, содержащих шрифты. На Windows используются простые имена файлов; и среда выполнения ищет каждый файл сначала в его собственном lib/fonts каталог, затем в каталоге шрифтов Windows. На Солярисе и Linux, абсолютных путях, пути, запускающиеся с "$JRE_LIB_FONTS" для собственной среды выполнения lib/fonts каталог, или имена xlfd используется.

Добавленный Путь Шрифта

Среда выполнения Java может автоматически определить много каталогов, которые содержат файлы шрифта, такой как его собственное lib/fonts каталог или папка шрифтов Windows. Дополнительные каталоги могут быть определены, чтобы быть добавленными к пути шрифта.

У ключа есть форма:

     appendedfontpath

У значения есть форма:

AppendedFontPathValue:
        Directory
        Directory PathSeparator AppendedFontPathValue

Разделитель пути является платформой зависимое значение java.io. File.pathSeparator.


Свойства для Windows

Нет никаких специфичных для платформы свойств для Windows. Однако, есть специальная форма символьного имени подмножества, используемого в поисковых последовательностях. "Алфавитное" имя может взять суффикс, указывающий на кодировку символов, связанную с подмножеством:

     alphabetic
        alphabetic/default
        alphabetic/1252

Эта информация только используется для AWT, не для 2-D. "/" суффикс по умолчанию ограничивает использование компонентных шрифтов для этого символьного подмножества к набору символов кодировки по умолчанию; "/1252" снабжают суффиксом к набору символов Windows 1252. Для того, чтобы получить доступ к компонентному отображению шрифтов и диапазонам исключения, опускается суффикс кодировки символов. Для всех других символьных подмножеств кодировка символов AWT определяется внутренне Средой выполнения Java.


Свойства для Соляриса и Linux

Компонентное Отображение шрифтов мотива

Текстовые компоненты AWT, которые полагаются на Основанные на мотиве коллеги для текстового рендеринга, не могут всегда использовать те же самые шрифты платформы в качестве других компонентов AWT и 2-D. Ища компонентные шрифты для этих компонентов, дополнительные ключи распознаются. Полный набор ключей, искавших в этом случае:

     allfonts.CharacterSubsetName.motif
        LogicalFontName.StyleName.CharacterSubsetName.motif
        allfonts.CharacterSubsetName
        LogicalFontName.StyleName.CharacterSubsetName

AWT X11 Путь Шрифта

Свойства пути шрифта AWT определяют каталоги платформы, которые должны быть добавлены к пути шрифта сервера X11. У ключей есть форма:

   awtfontpath.CharacterSubsetName

У значений есть форма:

AWTFontPathValue:
        Directory
        Directory : AWTFontPathValue

Каталоги должны быть допустимыми каталогами шрифта X11. Среда выполнения Java гарантирует, что каталоги для всех символьных подмножеств основной поисковой последовательности, найденной поисковым поиском последовательности, являются частью пути шрифта X11. Реализация предполагает, что все логические шрифты используют тот же самый набор символьных подмножеств для данной среды кодирования, языка, и страны.


Oracle и/или его филиалы Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.
Свяжитесь с Нами