Update 1.5.2001
Konqueror v KDE2 je asi jedna z prvních aplikací, u které si člověk může všimnout, že není něco v pořádku s fonty. Spousty stránek se ukazují s moc malým písmem, moc velkým písmem, prakticky nečitelným písmem nebo příšerně kostkatým písmem. Zpočátku jsem myslel, že je to chyba Konquerora, nakonec ISO-8859-1 stránky byly naprosto v pořádku. Jenže chyba je ve skutečnosti v nastavení fontů pro XServer.
Jednak je většinou s X Windows dodáváno málo fontů ( a hlavně málo ISO-8859-2 a Unicode fontů, proto se problémy ukazují hlavně na českých stránkách ). Druhým problémem je, že fonty jsou při konfiguraci špatně seřazené, takže i když je jich dost, občas se vybere méně kvalitní než je ve skutečnosti k dispozici, případně dostanou přednost nějaké špatné. Fonty jsou totiž hledány v seznamu fontů podle toho, jak jsou uvedeny v konfiguračním souboru, takže musí být seřazeny podle kvality, nejkvalitnější první.
Nejdříve k problému nedostatku dobrých fontů : Je dobré sehnat si TrueType fonty, kdo má MS Windows, může si je vzít přímo z Windows ( soubory *.ttf ), jinak se dá jít na http://www.dcs.ed.ac.uk/home/jec/programs/xfsft/fonts.html, kde je i odkaz na stránku Microsoftu, odkud by přímo měly jít legálně stahnout nějaké TTF fonty ( jen se nesmí redistribuovat ) - .exe soubory pro Windows 3.1 se dají rozbalit i na Unixech příkazem 'unzip -L <soubor.exe>'. Takže stačí fonty umístnit např. do /usr/share/fonts/ttf a pak v tom adresáři pustit 'ttmkfontdir >fonts.scale' a potom 'mkfontdir' ( ttmkfontdir se dá případně stáhnout z http://www.joerg-pommnitz.de/TrueType/xfsft.html ).
Dalšími chybějícími fonty mohou být Unicode fonty. Stačí stáhnout
tady a tady a rozbalit např. do /usr/share/fonts/ucs-75dpi a
/usr/share/fonts/ucs-100dpi a v obou těchto adresářích pustit 'mkfontdir'.
Tenhle text napsaný kurzívou není nejlepší řešení, já třeba osobně jsem oba tyhle archívy fontů
zase brzy smazal. True Type fonty poslouží daleko lépe, jen se musí zkontrolovat, že ttmkfontdir
vygeneroval seznam fontů dobře ( což většinou nebude ten případ a bude se to muset opravit ).
Místo pouštění rovnou 'mkfontdir' je lepší ještě předtím si ten vygenerovaný fonts.scale
soubor prohlédnout. Musí tam být řádky typu
verdana.ttf -microsoft-Verdana-medium-r-normal--0-0-0-0-p-0-iso10646-1
důležité je to iso10646-1 na konci. Pokud tam takové řádky nejsou,
je nejlepší v nějakém editoru každý řádek typu
verdana.ttf -microsoft-Verdana-medium-r-normal--0-0-0-0-p-0-iso8859-2
zduplikovat a pak v té kopii iso8859-2 zaměnit za iso10646-1 a až potom pustit 'mkfontdir'.
Například můj fonts.scale u ttf vypadá takhle ( jak je vidět, vesele
využívám fontů podarovaných naším kamarádem Microsoftem, a mám ttf fonty prakticky všude,
font Verdana jako default ).
Druhým krokem je správné nakonfigurování XServeru tak, aby byly fonty správně vybírány. XFree86 4.x už umí TrueType fonty přímo, takže seznam stačí psát jako položky FontPath v /etc/X11/XF86Config v sekci Files. Pokud je z nějakého důvodu použito xfs, tak seznam bude v konfiguračním souboru /etc/X11/fs/config . Jak už bylo řečeno, fonty se musí řadit podle kvality, takže mezi prvními musí být TrueType fonty, Type1 fonty a bitmapové unscaled fonty a až pak případně zbytek. Úplně přesné pořadí asi není definováno, třeba to, jestli dříve budou 75dpi a pak 100dpi fonty nebo obráceně, záleží spíše na okolnostech ( při 100dpi prvních fonty na některých místech v KDE vypadají ještě lépe, ale v některých obvykle starých aplikacích zase se některé fonty zvětší ). Navíc ještě co se týče Type1 fontů, já osobně je mám zakomentované, protože někde způsobují problémy ( např. na při prohlížení http://root.cz ).
Dále je ještě pro XFree 4.x nutné zapnout moduly pro TTF a případně Type1
fonty - v /etc/X11/XF86Config v sekci Module přidat řádky
Load "freetype" Load "type1"
FontPath "/usr/share/fonts/ttf" FontPath "/usr/X11R6/lib/X11/fonts/local/:unscaled" FontPath "/usr/share/fonts/ISO8859-2/misc:unscaled" FontPath "/usr/X11R6/lib/X11/fonts/misc/:unscaled" FontPath "/usr/share/fonts/ucs-100dpi:unscaled" FontPath "/usr/share/fonts/ucs-75dpi:unscaled" FontPath "/usr/share/fonts/ISO8859-2/100dpi/:unscaled" FontPath "/usr/X11R6/lib/X11/fonts/100dpi/:unscaled" FontPath "/usr/share/fonts/ISO8859-2/75dpi/:unscaled" FontPath "/usr/X11R6/lib/X11/fonts/75dpi/:unscaled" # FontPath "/usr/share/fonts/ISO8859-2/Type1" # FontPath "/usr/X11R6/lib/X11/fonts/Type1" FontPath "/usr/X11R6/lib/X11/fonts/Speedo" FontPath "/usr/X11R6/lib/X11/fonts/local" FontPath "/usr/share/fonts/ISO8859-2/misc" FontPath "/usr/X11R6/lib/X11/fonts/misc" FontPath "/usr/share/fonts/ucs-100dpi" FontPath "/usr/share/fonts/ucs-75dpi" FontPath "/usr/share/fonts/ISO8859-2/100dpi" FontPath "/usr/X11R6/lib/X11/fonts/100dpi" FontPath "/usr/share/fonts/ISO8859-2/75dpi" FontPath "/usr/X11R6/lib/X11/fonts/75dpi" # FontPath "unix/:7100"
Teď už by mělo stačit jen restartovat X, případně i xfs ( úplně restartovat, ne jen se odlogovat z KDE a nalogovat znovu - kdyžtak to řeší reboot ), pro jistotu v Ovládacím centru překontrolovat a kdyžtak přenastavovat fonty a najednou by písmenka měla vypadat daleko lépe.
Třeba takhle : pic1 pic2 pic3 pic4 pic5 pic6 pic7 pic8. Obrázky 1-5 jsou ještě bez preferování ttf, obrázky 6-8 už mají jako default nastaveny True Type fonty, ten rozdíl je docela vidět např.tady vs tady.
Další zlepšení vzhledu se dá vyřešit pomocí antialiasingu ( AA ) - musí se provést upgrade na min. XFree 4.0.2 a Qt 2.3.0 ( např. v Mandrake 8.0 už by AA mělo v pohodě fungovat, když se zapne v Ovládacím centru ). Pak už to vypadá dost dobře, např. takhle, takhle nebo třeba takhle, navíc Konqueror pak správně zobrazuje entity ( mě bez AA místo nich občas píše otazníky :( ). Ale AA už je zase trochu jiná věc...
Tak tak. Může se stát, že ty fonty přeci jen ještě nevypadají úplně dobře. Třeba jsou o drobet větší nebo menší než by měly a měnění jejich velikosti už změní tu velikost moc. Pak možná pomůže přepnout X na jiné dpi. Standardně je skoro všude nastaveno 75dpi, což údajně odpovídá 640x480 na 13" monitoru. Já třeba mám dpi nastaveno na 92.
Pokud se X pouští pomocí startx, mělo by stačit jen přidat parametr -dpi <cislo> . Pokud se X
pouští pomocí KDM, musí se udělat změna v souboru /etc/X11/xdm/Xservers ( ta cesta se může
na jiných distribucích lišit ). Tady stačí řádek, který vypadá např.
:0 local /usr/X11R6/bin/X :0
změnit na např.
:0 local /usr/X11R6/bin/X :0 -dpi 92
a je to. Chybu to mám v tom, že občas ta velikost fontu nesedí. Co se dá dělat. Mimochodem,
dají se tu udělat i další zajímavé věci, já tam mám třeba
:0 local /bin/nice -n -10 /usr/X11R6/bin/X vt12 :0 -deferglyphs 16 -dpi 92
tj. zvýšená priorita pro X, běží na 12 consoli ( a to deferglyphs netuším k čemu je :) ).
|
![]() |
![]() |