De standaard lettertypen van X11 zijn allerminst ideaal
voor het typische bureaubladprogramma. Grote
presentatielettertypen zien er hoekig en onprofessioneel uit en
kleine lettertypen
zijn bijna onleesbaar. Er zijn diverse gratis, kwalitatief
goede Type1 (PostScript®) lettertypen die meteen gebruikt
kunnen worden met X11. De URW lettertypecollectie (x11-fonts/urwfonts
) heeft
bijvoorbeeld hoge kwaliteit versies van standaard Type1
lettertypen (Times Roman®, Helvetica®, Palatino® en anderen). De
Freefonts collectie (x11-fonts/freefonts
) heeft nog meer
lettertypen, maar de meesten ervan zijn bedoeld om in grafische
software als Gimp gebruikt te worden
en zijn niet compleet genoeg om als schermlettertypen te
gebruiken. Daarbij kan X11 zonder veel moeite ingesteld worden
om TrueType® lettertypen te gebruiken. Meer informatie
staat in X(7) of de paragraaf over TrueType® Lettertypen.
Om de bovenstaande Type1 lettertypecollectie van de Portscollectie te installeren:
#
cd /usr/ports/x11-fonts/urwfonts
#
make install clean
Dat geldt ook voor de freefont en andere collecties. Om de
X server te vertellen dat deze lettertypen bestaan, dient de
volgende regel toegevoegd te worden aan het instellingenbestand
van de X server (/etc/X11/xorg.conf
):
Ook kan op de commando regel in de X sessie het volgende gestart worden:
%
xset fp+ /usr/local/lib/X11/fonts/URW
%
xset fp rehash
Dit werkt wel, maar zodra de X sessie wordt afgesloten is
het weer verdwenen tenzij het is toegevoegd aan het
opstartbestand (~/.xinitrc
voor een
normale startx
sessie of
~/.xsession
als er wordt aangemeld met een
grafische aanmeldmanager als XDM).
Een derde manier is het gebruik van het nieuwe bestand
/usr/local/etc/fonts/local.conf
: zie
hiervoor de paragraaf over Anti-aliasing.
Xorg heeft ingebouwde
ondersteuning voor het renderen van TrueType® lettertypen. Er
zijn twee verschillende modules die deze functionaliteit
activeren. In dit voorbeeld wordt de freetype module gebruikt
omdat deze beter werkt met de andere lettertypen die back-ends
renderen. Om de freetype module te activeren dient de volgende
regel toegevoegd te worden aan het onderdeel
"Module"
van
/etc/X11/xorg.conf
.
Hierna dient een map voor de TrueType® lettertypen gemaakt
te worden (bijvoorbeeld
/usr/local/lib/X11/fonts/TrueType
) en alle
TrueType® lettertypen moeten naar deze map gekopieerd worden.
TrueType® lettertypen kunnen niet direct van een Macintosh®
gehaald worden. Ze moeten in een UNIX®/MS-DOS®/Windows®
formaat zijn voor X11. Zodra de bestanden naar deze map zijn
gekopieerd, kan ttmkfdir gestart
worden om een fonts.dir
bestand te maken
zodat de X lettertyperenderer weet waar deze nieuwe bestanden
zijn geïnstalleerd. ttmkfdir
zit in de
FreeBSD Portscollectie als x11-fonts/ttmkfdir
.
#
cd /usr/local/lib/X11/fonts/TrueType
#
ttmkfdir -o fonts.dir
Nu moet de TrueType® map toe aan het lettertypepad toegevoegd worden. Dit gebeurt op dezelfde wijze als boven is beschreven voor Type1 lettertypen:
%
xset fp+ /usr/local/lib/X11/fonts/TrueType
%
xset fp rehash
of door een FontPath
regel toe te voegen
aan xorg.conf
.
Dat is alles. Nu herkennen Gimp, Apache OpenOffice en alle andere X applicaties de geïnstalleerde TrueType® lettertypen. Extreem kleine lettertypen (zoals hoge resolutie tekst op een webpagina) en extreme grote lettertypen (in StarOffice™) zien er nu veel beter uit.
Alle lettertypen die X11 in de mappen
/usr/local/lib/X11/fonts/
en
~/.fonts/
staan zijn automatisch beschikbaar
voor anti-aliasing in applicaties die Xft ondersteunen. De meeste
recente applicaties ondersteunen Xft, inclusief
KDE, GNOME, en
Firefox.
Om te kunnen regelen welke lettertypen gebruik maken van
anti-alias of om de eigenschappen van anti-aliasing in te
stellen kan
/usr/local/etc/fonts/local.conf
gemaakt
of gewijzigd worden. In dit bestand kunnen speciale
eigenschappen van het Xft lettertypesysteem aangepast worden.
Deze paragraaf beschrijft wat eenvoudige mogelijkheden.
Meer details staan in fonts-conf(5).
Dit bestand moet in het XML formaat opgemaakt worden.
Hoofdletters en kleine letters worden onderscheiden en alle
tags moeten netjes worden afgesloten. Het bestand begint met
de gewone XML header gevolgd door een DOCTYPE definitie en
daarna de <fontconfig>
tag:
Zoals al eerder is vermeld zijn alle lettertypen in
/usr/local/lib/X11/fonts/
en in
~/.fonts/
al geschikt gemaakt voor
Xft applicaties. Als naast deze twee mappen nog een andere
lettertypen moeten kunnen bevatten, dan dient een soortgelijke
regel als de onderstaande aan
/usr/local/etc/fonts/local.conf
toegevoegd
te worden:
Na het toevoegen van nieuwe lettertypen en zeker nieuwe lettertypemappen dienen de lettertypecaches opnieuw opgebouwd worden met:
#
fc-cache -f
Anti-aliasing maakt randen een beetje wazig wat kleine teksten beter leesbaar maakt en voorkomt “trapvorming” van grote letters. Maar het kan oogkramp veroorzaken als het op normale tekst wordt toegepast. Om lettertypen kleiner dan 14 punten uit te sluiten van anti-aliasing moeten de volgende regels toegevoegd worden:
Spatiëring voor sommige enkel gespatieerde lettertypen kan ook ongepast zijn bij anti-aliasing. Dit lijkt vooral een probleem te zijn bij KDE. Een mogelijke oplossing hiervoor is het vergroten van de spatiëring van die lettertypen naar 100:
Het bovenstaande hernoemt de standaardnamen van lettertypen
naar "mono"
). Voeg daarna het volgende
toe:
Bepaalde lettertypen, zoals Helvetica, kunnen problemen
hebben met anti-aliasing. Dit uit zich meestal in een
lettertype dat verticaal door midden lijkt gesneden. Op zijn
ergst kan het applicaties laten crashen. Om dit te
voorkomen kan overwogen worden om ook de volgende regels toe
te voegen aan local.conf
:
Als de wijzigingen in local.conf
zijn
gemaakt dient niet vergeten te worden het bestand te eindigen
met de tag </fontconfig>
tag. Als dit
niet gedaan wordt, dan worden de wijzigingen niet
gezien.
Als laatste kunnen gebruikers hun eigen instellingen aan
een persoonlijk .fonts.conf
bestand
toevoegen. Om dit te doen moet iedere gebruiker het bestand
~/.fonts.conf
maken. Ook dit bestand moet
in het XML formaat zijn.
Nog een laatste punt: bij een LCD scherm kan sub-pixel
sampling prettig zijn. Eigenlijk zorgt dit er voor dat de
(horizontaal gesplitste) rode, groene en blauwe componenten
gewijzigd worden om de horizontale resolutie te verbeteren.
Het resultaat is geweldig. Voeg hiervoor de volgende regels
ergens aan local.conf
toe:
Afhankelijk van het soort beeldscherm kan
rgb
veranderd moeten worden in
bgr
, vrgb
of
vbgr
. Experimenteren levert de beste
instelling op.