Nejsnaz╣φ cesta k TrueType font∙m
Ka╛d² kdo mß co do Φin∞nφ s kombinacφ XFree86 a Linux asi vφ, ╛e fonty, kterΘ jsou p°ibaleny p°φmo v distribuci se sice dob°e hodφ na tlaΦφtka, popisky nebo zßhlavφ oken, ale t°eba v prohlφ╛eΦi www strßnek u╛ je to slab╣φ, o pou╛itφ v grafick²ch programech typu Gimp ani nemluv∞. Font server sice umφ pracovat s postscriptov²mi fonty Type1, ale t∞ch je zase v k≤dovßnφ ISO8859-2 po Φertech mßlo. Jak z toho tedy ven?
Celkem snadno: pou╛itφm font serveru s podporou TrueType font∙, kterΘ se b∞╛n∞ pou╛φvajφ ve Windows. Mo╛nß v∙bec nevφte, ╛e to jde, mo╛nß jste jenom p°φli╣ pohodlnφ (jako jß :) na to, abyste patchovali zdrojßky Xek. Pokud tomu tak je, je tento Φlßnek urΦen p°esn∞ vßm.
Popφ╣u zde asi nejjednodu╣╣φ postup, jak zabudovat podporu TrueType font∙ do Xek s minimßlnφmi zßsahy do systΘmu. Slu╣φ se ov╣em °φct, ╛e tento postup je v podstat∞ pouze p°ekladem dokumentu TrueType for XFree86 Mini-Howto, jeho╛ autorem je Ying Zhang. Ve snaze zv²╣it svoje zßsluhy jsem doplnil n∞kolik poznatk∙ z praxe :)
Co budete pot°ebovat
- XFree86 3.3.x (ov∞°eno s 3.3.2 a 3.3.3, star╣φ verze by m∞ly rovn∞╛ fungovat)
- freetype 1.2 (p°φpadn∞ je╣t∞ freetype-devel p°i pou╛itφ rpm balφk∙)
- xfsft 1.0.3
- ttmkfdir
- a samoz°ejm∞ n∞jakΘ TrueType fonty
V╣echny uvedenΘ programy v rpm jsem umφstil sem. Pokud nepou╛φvßte RedHat, hledejte na domovsk²ch strßnkßch jednotliv²ch program∙.
Instalace
V p°φpad∞ pou╛itφ rpm balφk∙ je instalace snadnß:
rpm -Uvh freetype-1.2-i386.rpm
rpm -Uvh freetype-devel-1.2-i386.rpm
rpm -Uvh xfsft-1.0.3-1.i386.rpm
Pokud pou╛ijete zdrojovΘ k≤dy, bude nutnΘ programy a knihovny zkompilovat. Popis kompilace by byl ov╣em nad rßmec tohoto dokumentu.
Dal╣φm krokem, u╛ op∞t spoleΦn²m pro v╣echny distribuce, je kompilace programu ttmkfdir. Ta se provßdφ pomocφ jedinΘho povelu:
make FREETYPE_BASE=/usr
parametr FREETYPE_BASE urΦuje zßkladnφ adresß°, kde je knihovna FreeType nainstalovßna. P°i ruΦnφ kompilaci knihovny p∙jde pravd∞podobn∞ o adresß° /usr/local
Vytvo°enφ adresß°∙ s fonty
Nynφ je ji╛ v╣e pot°ebnΘ p°ipraveno a tak m∙╛eme p°ikroΦit p°φmo k instalaci font∙. Pokud chcete sdφlet stejnΘ fonty s Windows, je mo╛nΘ ud∞lat pouze symbolick² odkaz na adresß° z Windows
ln -s /mnt/c/windows/fonts /usr/X11R6/lib/X11/fonts/ttf
V p°φpad∞, ╛e instalujete novΘ fonty pouze pro Linux, vytvo°te si pro n∞ adresß° a tam je zkopφrujte.
A╗ u╛ jste adresß° pouze p°ilinkovali z Windows nebo zalo╛ili nov², je nynφ t°eba vytvo°it dva soubory s informacemi o fontech: fonts.scale a fonts.dir. To provedeme pomocφ program∙ ttmkfdir, kter² jsem si zkompilovali ji╛ d°φve, a mkfontdir, kter² je souΦßstφ XFree86:
cd /usr/X11R6/lib/X11/fonts/ttf
ttmkfndir >fonts.scale
mkfontdir
Konfigurace programu xfsft
D∙le╛it² je obsah dvou soubor∙. Prvnφm z nich je soubor /usr/etc/xfsft.conf, kter² vypadß p°ibli╛n∞ takto:
clone-self = off
client-limit = 20
catalogue = /usr/X11R6/lib/X11/fonts/Type1,
/usr/X11R6/lib/X11/fonts/misc,
/usr/X11R6/lib/X11/fonts/Speedo,
/usr/X11R6/lib/X11/fonts/75dpi,
/usr/X11R6/lib/X11/fonts/ttf
/usr/X11R6/lib/X11/fonts/100dpi
use-syslog = off
error-file = /var/log/xfsft-errors.log
default-point-size = 120
default-resolutions = 100,100,75,7
PodstatnΘ jsou cesty k jednotliv²m adresß°∙m s fonty v parametru catalogue.
Druh² soubor je vlastnφ konfigurace XFree86 (/etc/X11/XF86Config). V n∞m je t°eba zakomentovat v╣echny existujφcφ °ßdky FontPath a p°idat jednu novou °ßdku dle p°φkladu. Definice cest k font∙m by po t∞chto ·pravßch m∞la vypadat p°ibli╛n∞ nßsledovn∞:
FontPath "tcp/localhost:7100"
#FontPath "/usr/X11R6/lib/X11/fonts/Type1"
#FontPath "/usr/X11R6/lib/X11/fonts/Speedo"
#FontPath "/usr/X11R6/lib/X11/fonts/75dpi"
#FontPath "/usr/X11R6/lib/X11/fonts/100dpi"
Moudr² Φtenß° ji╛ jist∞ pochopil, ╛e se v╣echny cesty k font∙m p°esunuly do re╛ie xfsft, kter² se o n∞ u╛ postarß tak, jak to doposud d∞lal internφ font server z XFree. Asi namφtnete, ╛e to byla zbyteΦnß prßce. Nebyla. Xfsft mß toti╛ jednu genißlnφ vlastnost. Umφ provßd∞t p°ek≤dovßnφ za b∞hu, co╛ v praxi znamenß, ╛e lze font, kter² je v k≤dovßnφ CP1250 nebo Unicode pou╛φt jako by byl v k≤dovßnφ ISO8859-2. A tahle bßjeΦnß funkce nenφ limitovanß jenom na TT fonty, ale funguje i s Type1 (vyzkou╣eno) a Speedo fonty.
Pokud jste toto v╣echno provedli, spus╗te program xfsft. P°i pou╛itφ rpm
/etc/rc.d/init.d/xfsft start
p°φpadn∞ ruΦn∞
/usr/X11R6/bin/xfsft -port 7100 -config /usr/etc/xfsft.conf
Program xfsft musφ v╛dy b∞╛et p°ed startem Xek. Pak u╛ staΦφ jenom spustit (nebo restartovat) Xka a to je v╣e.
Je╣t∞ jedna praktickß rada: pokud je instalovan² font prokazateln∞ Φesk² a p°esto Φesky nepφ╣e (nebo t°eba pφ╣e mφsto v╣ech znak∙ ΦtvereΦky), pom∙╛e upravit soubor fonts.scale tak, ╛e na pro inkriminovan² font zm∞nφte k≤dovßnφ na iso8859-2. K≤dovßnφ je ·pln∞ poslednφ ·daj na °ßdce a t∞sn∞ mu obvykle p°edchßzφ sekvence znak∙ -0-
Po tΘto ·prav∞ je nutnΘ spustit znovu mkfontdir a restartovat xfsft i Xka.
Neposlu╣nΘ fonty se pak umoud°φ.
A ·pln∞ na zßv∞r snad u╛ jenom pßr odkaz∙ na fonty ke sta╛enφ:
Microsoft Free TTF
Acid Fonts
The Font RingAutor: Michal Krause (jinΘ Φlßnky tohoto autora)
Sekce: Software
Diskuse
19. 2. 2000 23:44:09 - Zajimalo by me jakym zpusobem ... (David Belohrad)
Zajimalo by me jakym zpusobem lze vyrobit soubory
fonts.alias a fonts.dir. Zkousel jsem s tim experimentovat
a nejak se mi zadarilo par souboru spatne prepsat
a nevim jak to vratit zpet. Take by me zajimalo,
ve kterem souboru je ulozeno ktere fonty se pouzivaji
napr na napisy tlacitek apod.
Diky