logo
Литература_1 / photon_old

Требуемые шрифты

Теперь давайте посмотрим на шрифты. Бывает, что приложение рассчитывает на какой-то определённый шрифт и обращается непосредственно к этому шрифту. В таком случае Вам необходимо явным образом включить каждый шрифт, необходимый приложению. Если Вы стандартизировали приложение в определённом наборе семейств/стилей шрифтов или Вам нет необходимости заботиться о том, какие именно шрифты у вас есть (до тех пор, пока их размеры Вас устраивают), то Вы можете урезать набор шрифтов и использовать один шрифт для замены нескольких других семейств шрифтов. Так, например, шрифт Times может использоваться в качестве замены Helvetica и Courier.

А теперь самое время построить сцену, на которой начнём тестирование нашей встроенной системы. Создадим под рутом поддиректорию /phembed. Внутри неё создадим поддиректории:

Теперь вернёмся к шрифтам. В нашем примере мы хотим использовать шрифт primasansbts TrueType почти во всех случаях. Для наших (необязательных) окон терминала pterm мы будем использовать шрифт фиксированной ширины pcterm. Также время от времени нам понадобится использовать мышь, так что мы подключим файл phcursor.phf.

Вот какие файлы нам требуются:

-rw-rw-r-- 1 root root 707 Nov 29 15:20 fontdir

-rw-rw-r-- 1 root root 104 Mar 20 2000 fontext

-rw-rw-r-- 1 root root 697 Nov 29 15:19 fontmap

-rw-rw-r-- 1 root root 12393 Mar 20 2000 pcterm12.phf

-rw-rw-r-- 1 root root 12905 Mar 20 2000 pcterm14.phf

-rw-rw-r-- 1 root root 17437 Mar 20 2000 pcterm20.phf

-rw-rw-r-- 1 root root 2868 Mar 20 2000 phcursor.phf

-rw-rw-r-- 1 root root 75784 Mar 20 2000 tt2001m_.ttf

-rw-rw-r-- 1 root root 77924 Mar 20 2000 tt2002m_.ttf

-rw-rw-r-- 1 root root 71200 Mar 20 2000 tt2003m_.ttf

-rw-rw-r-- 1 root root 82452 Mar 20 2000 tt2004m_.ttf

-rw-rw-r-- 1 root root 56156 Mar 20 2000 tt2009m_.ttf

-rw-rw-r-- 1 root root 58748 Mar 20 2000 tt2011m_.ttf

Скопируйте эти файлы из /usr/photon/font_repository в нашу /phembed/font_repository, затем измените директории на /phembed/font_repository.

Нам надо модифицировать файлы fontdir, fontmap и fontext, чтобы отразить шрифты и отображения (mappings), которые нужны нам в нашей встроенной системе.

Вот модифицированный файл fontdir:

;

; fontdir config file, Tue Jan 18 15:34:42 2000

;

phcursor,.phf,Photon Cursor,0,,E900-E921,Np,32x32,3K

primasansbts,0@tt2001m_.ttf,PrimaSans BT,0,,0020-F002,MIp,133x129,75K

primasansbtsi,0@tt2002m_.ttf,PrimaSans BT,0,I,0020-F002,MIp,134x129,77K

primasansbtsb,0@tt2003m_.ttf,PrimaSans BT,0,B,0020-F002,MIp,143x130,70K

primasansbtsbi,0@tt2004m_.ttf,PrimaSans BT,0,BI,0020-F002,MIp,145x129,81K

primasansmonobts,0@tt2009m_.ttf,PrimaSansMono BT,0,,0020-F002,MIf,60x129,55K

primasansmonobtsb,0@tt2011m_.ttf,PrimaSansMono BT,0,B,0020-F002,MIf,60x130,58K

pcterm12,.phf,PC Terminal,12,,0000-00FF,Nf,6x12,13K

pcterm14,.phf,PC Terminal,14,,0000-00FF,Nf,8x14,13K

pcterm20,.phf,PC Terminal,20,,0000-00FF,Nf,10x19,18K

Как можно видеть из вышеприведенного списка:

Шрифты pcterm12/14/20 предназначены для наших сессий pterm, и phcursor – для изображений курсора мыши. Вот модифицированный файл fontmap:

;

; fontmap config file, Tue Jan 18 15:34:42 2000

;

BalloonFont = primasansbts

FixedFont = primasansmonobts

HeadingFont = primasansbts

MenuFont = primasansbts

MessageFont = primasansbts

TextFont = primasansbts

TitleFont = primasansbts

Helvetica = primasansbts

Verdana = primasansbts

monospace = primasansmonobts

sans-serif = primasansbts

serif = primasansbts

web = primasansbts

arial = primasansbts

term = pcterm

geneva = primasansbts

monaco = primasansbts

ny = primasansbts

courier = primasansmonobts

dutch = primasansbts

swiss = primasansbts

times = primasansbts

wingbats = primasansbts

helv = primasansbts

ncen = primasansbts

time = primasansbts

? = primasansmonobts

Вы можете ещё ужать этот файл, отобразив все незаданные шрифты в шрифт "?". Это зависит от того, какие шрифты Вы хотите иметь фиксированной ширины, а какие – пропорциональными.

Вот модифицированный файл fontext:

;

; fontext config file, Mon Dec 13 15:36:21 1999

;

+normal = primasansbts, primasansmonobts, phcursor

Yandex.RTB R-A-252273-3
Yandex.RTB R-A-252273-4