Список имен доступных шрифтов можно просмотреть следующими операторами:

Font[] fonts = Toolkit.getGraphicsEnvironment.getAllFonts(); for (Font f: fonts)

System.out.println(f.getFontName());

В состав Java SE входит семейство шрифтов Lucida. Установив JDK, вы можете быть уверены, что эти шрифты есть в вашей системе.

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

□ fonteonfig.properties; □ fonteonfig.2003.properties;

□ fontconfig.Me.properties; □ fontconfig.RedHat.properties

□ fontconfig.2000.XP.properties; и т. д.

□ fontconfig.XP.properties;

Эти файлы должны быть расположены в JDK в каталоге jdk1.7.0/jre/lib или каком-либо другом подкаталоге lib корневого каталога JDK той машины, на которой выполняется приложение.

Файлы хранятся в исходном виде, с расширением src, и в откомпилированном виде, с расширением bfc.

Нужный файл выбирается виртуальной машиной Java по названию операционной системы. Если такой файл не найден, то применяется файл fonteonfig.properties, не соответствующий никакой конкретной операционной системе.

Поэтому можно оставить в системе только один файл fontconfig.properties, переписав в него содержимое нужного файла или создав файл заново. Для любой операционной системы будет использоваться именно он.

В листинге 9.1 показано сокращенное содержимое файла fontconfig.properties.src из Java SE 7 для платформы MS Windows.

Листинг 9.1. Примерный файл fontconfig.properties.src

#

# Copyright © 2003, 2010, Oracle and/or its affilates. All rights reserved.

#

# Version version=1

# Component Font Mappings allfonts.chinese-ms936=SimSun allfonts.chinese-gb18030=SimSun-18030 allfonts.chinese-hkscs=MingLiU HKSCS allfonts.devanagari=Mangal allfonts.dingbats=Wingdings allfonts.lucida=Lucida Sans Regular allfonts.symbol=Symbol

allfonts.thai=Lucida Sans Regular

serif.plain.alphabetic=Times New Roman serif.plain.chinese-ms950=MingLiU serif.plain.hebrew=David serif.plain.japanese=MS Mincho serif.plain.korean=Batang

serif.bold.alphabetic=Times New Roman Bold

# И так далее

serif.italic.alphabetic=Times New Roman Italic

# И так далее

serif.bolditalic.alphabetic=Times New Roman Bold Italic

# И так далее

sansserif.plain.alphabetic=Arial

# И так далее

monospaced.plain.alphabetic=Courier New

# И так далее

dialog.plain.alphabetic=Arial

# И так далее

dialoginput.plain.alphabetic=Courier New

# И так далее

# Search Sequences

sequence.allfonts=alphabetic/default,dingbats,symbol

# И так далее

# Exclusion Ranges

exclusion.alphabetic=0700-1e9f,1f00-20ab,20ad-f8ff exclusion.chinese-gb18030=0390-03d6,2200-22ef,2701-27be exclusion.hebrew=0041-005a,0060-007a,007f-00ff,20ac-20ac

# Monospaced to Proportional width variant mapping

# (Experimental private syntax) proportional.MS Gothic=MS PGothic proportional.MS Mincho=MS PMincho proportional.MingLiU=PMingLiU

# Font File Names filename.Arial=ARIAL.TTF filename.Arial Bold=ARIALBD.TTF filename.Arial Italic=ARIALI.TTF filename.Arial Bold Italic=ARIALBI.TTF filename.Courier New=COUR.TTF filename.Courier New Bold=COURBD.TTF filename.Courier New Italic=COURI.TTF filename.Courier New Bold Italic=COURBI.TTF

filename.Times New Roman=TIMES.TTF

filename.Times New Roman Bold=TIMESBD.TTF

filename.Times New Roman Italic=TIMESI.TTF

filename.Times New Roman Bold Italic=TIMESBI.TTF

filename.SimSun=SIMSUN.TTC

filename.SimSun-18030=SIMSUN18030.TTC

filename.MingLiU=MINGLIU.TTC

filename.PMingLiU=MINGLIU.TTC

filename.MingLiU HKSCS=hkscsm3u.ttf

filename.David=DAVID.TTF

filename.David Bold=DAVIDBD.TTF

filename.MS_Mincho=MSMINCHO.TTC

filename.MS_PMincho=MSMINCHO.TTC

filename.MS_Gothic=MSGOTHIC.TTC

filename.MS_PGothic=MSGOTHIC.TTC

filename.Gulim=gulim.TTC

filename.Batang=batang.TTC

filename.GulimChe=gulim.TTC

filename.Lucida Sans Regular=LucidaSansRegular.ttf filename.Mangal=MANGAL.TTF filename.Symbol=SYMBOL.TTF filename.Wingdings=WINGDING.TTF

Большая часть этого файла занята сопоставлениями логических и физических имен. Вы видите, что:□ логическому имени "dialog" сопоставлено имя семейства "Arial";□ логическому имени "dialoginput" сопоставлено имя семейства "Courier New";□ логическому имени "serif" сопоставлено имя семейства "Times New Roman";□ логическому имени "sansserif" сопоставлено имя семейства "Arial";□ логическому имени "monospaced" сопоставлено имя семейства "Courier New".Там, где указан стиль: dialog.italic, dialog.bold и т. д., подставлен соответствующий физический шрифт.В строках листинга 9.1, начинающихся со слова filename, указаны файлы с соответствующими физическими шрифтами, например:

filename.Arial=ARIAL.TTF

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

Теперь посмотрите на другие строки листинга 9.1. Строка

exclusion.alphabetic=0700-1e9f,1f00-20ab,20ad-f8ff

означает, что в алфавитных шрифтах не станут отыскиваться начертания (glyphs) символов с кодами в диапазонах '\u07 00' — '\u1e9f', '\u1f00 ' —' \u20ab' и ' \u20ad' —' \ uf8ff'.

Они будут взяты из шрифта, следующего далее в строке

Перейти на страницу:

Все книги серии В подлиннике

Похожие книги