Fonts installeren

> Xfree86/OS2 Index <

Fonts installeren

Ontbrekende fonts

True type fontserver



De The XFree86/OS2 FAQ geeft veel informatie over de X server.

Christian Hennecke biedt in de The OS/2 Files een goed overzicht van de gotcha's.

Een standaard XFree86/OS2 systeem komt met aardig wat fonts. De fontpaden worden in het bestand \xfree86\lib\X11\XF86config aangeven:

FontPath "/XFree86/lib/X11/fonts/misc/"

Let er op dat alle ingangen in het fontpad netjes staan weergegeven. Als de X server een pad niet kan vinden start hij niet op. Bij twijfel plaats u een # teken voor een dubieus fontpad. Gebruik een / aan het eind van de directory (Unix maakt weinig onderscheid tussen mappen en bestanden) en geef een schijfletteraanduiding als het fontpad niet in de Xfree86 rootdirectory staat:

FontPath "i:/gstools/fonts/"

De fonts mogen zelf wat de X server betreft ontbreken.

Ontbrekende fonts

> Top <

Programma's geven wel foutmeldingen bij ontbrekende fonts. Soms probeert een X server vervangende fonts te gebruiken, maar de resultaten kunnen tegenvallen.

Voorbeeld: Tijdens het starten van Applixware voor Linux via een telnetverbinding met de zolder PC bleken veel fonts te ontbreken. Applixware weigert op te starten.

sjoerd@zolder:~ > X-Server problem - unable to access fonts

The font path being used is: '/opt/applix/axfonts/all_pcf'

If this is not appropriate for your display, restart Applixware specifying '-fp your_font_path' on the command line. For further info, see the 'Fonts' section of the installation notice.

Deze fonts worden door Applixware zelf meegebracht. Aangezien de OS/2 XFree86 server ze van Applixware wel moet laden moeten ze vanuit OS/2 te bereiken zijn.

De gemakkelijkste oplossing was hier de benodigde fonts onder OS/2 te installeren. D.w.z. ze via het netwerk van de Linux PC naar de OS/2 PC te kopieren en in het pad van de OS/2 X server te plaatsen. Aan het bestand \xfree86\lib\X11\XF86config werd een regel toegevoegd:

# FontPath "/XFree86/lib/X11/fonts/local/"

FontPath "/XFree86/lib/X11/fonts/all_pcf/"

Mocht u ruimteproblemen hebben, dan zou u kunnen overwegen de fonts via samba of beter een via aparte fontserver over het netwerk ter beschikking te stellen.

Zo bevat de /etc/services onder Applixware:

axnet 5492/tcp # Applix Server

aagtwy 5493/tcp # Applix Anyware

True type fontserver

> Top <

Zonder twijfel zijn de True Type fonts de mooiste die er zijn. Zeker in de kleine formaten. Ze staan bij mij o.a. in:

I:\OS2\MDOS\WINOS2\SYSTEM\*.ttf

Doel was om ze onder de X11 Font Server for TT fonts (Xfstt) te gebruiken.

Dit kan op twee manieren:

  1. via een aparte tcd deamon die gestart wordt met tt.cmd

  2. via de internet daemon inetd

Ik bespreek de eerste manier.

De volgende regel werd aan \etc\services (bij mij \mptm\etc\services) toegevoegd.

ffst 7103/tcp # TrueType X fontserver

De derde regel verteld de X server true type fonts op poort 7103 van de loopback interface te zoeken.

Ik heb I:\OS2\MDOS\WINOS2\SYSTEM\*.ttf naar J:\XFree86\lib\X11\fonts\TrueType gekopieerd en met de File Case van File Commander/2 in kleine letters veranderd. UNIX programma's die de fonts aanroepen verwachten kleine letters. Nu zal het niet case-sensitieve OS/2 een grote letters geschreven font ook wel leveren, maar er wordt door xfstt ook een font database aangemaakt en daarin mogen de fonts niet in grote letters staan.

De opdracht hiervoor luidt:

[I:\]xfstt --once

De server zoekt de True Type Fonts zonder --dir variabele blijkbaar in \XFree86\lib\X11\fonts\TrueType en maakt daar de TTFont database aan.

loading `wingdin0.ttf'...loaded.

loading `wingding.ttf'...loaded.

Found 48 fonts.

loading `J:/XFree86/lib/X11/fonts/TrueType/ttinfo.dir'...loaded.

loading `J:/XFree86/lib/X11/fonts/TrueType/ttname.dir'...loaded.

Het gaat om de bestanden ttinfo.dir en tttname.dir.

J:\XFree86\lib\X11\fonts\TrueType>xfstt --once --dir I:\OS2\MDOS\WINOS2\SYSTEM\

loading `I:\OS2\MDOS\WINOS2\SYSTEM\/ttinfo.dir'...loaded.

loading `I:\OS2\MDOS\WINOS2\SYSTEM\/ttname.dir'...loaded.

De volgende keer dat u de opdracht draait worden de bestanden ttinfo.dir en tttname.dir meteen geladen. Als u fonts toevoegt of verwijdert moet xfstt --once opnieuw draaien.

De server wordt daarna met de opdracht tt (/XFree86/bin/tt.cmd) geladen. Dit script functioneert onafhankelijk van de internet deamon (inetd). De X server moet dan al lopen, anders krijgt u de volgende foutmelding (hier met Ctrl-C beeindigd):

[I:\]tt

Starting xfstt as local tcp daemon not using inetd...

Message log to /dev/console$. Now listening on port 7103...

Adding fontpath tcp/127.0.0.1:7103.... Please verify you put:

##########################################################

ffst 7103/tcp # TrueType X fontserver

##########################################################

into I:\MPTN\ETC/services!

_X11TransSocketINETConnect: Can't connect: errno = 61

_X11TransSocketINETConnect: Can't connect: errno = 61

_X11TransSocketINETConnect: Can't connect: errno = 61


Process terminated by SIGINT

Als u de fonts altijd onder X wilt gebruiken kunt u de opdracht '/XFree86/bin/tt.cmd' in het het rexxscript \XFree86\lib\X11\xinit\xinitrc.cmd plaatsten. Overigens is het een kleine moeite tt te tikken op de OS/2 prompt of in een xterminal.

[I:\]tt

Starting xfstt as local tcp daemon not using inetd...

Message log to /dev/console$. Now listening on port 7103...

Adding fontpath tcp/127.0.0.1:7103.... Please verify you put:

##########################################################

ffst 7103/tcp # TrueType X fontserver

##########################################################

into I:\MPTN\ETC/services!

Adding was successful. Stop with 'xset fp- tcp/127.0.0.1:7103'.

Uit deze melding blijkt dat tt.cmd het fontpad van de X server dynamisch aanpast.

Als u:

FontPath "inet/127.0.0.1:7103"

van tevoren in configuratiebestandXF86config plaatst zal de X server niet opstarten, tenzij inetd daadwerkelijk loopt en volgens de README.OS2 is aangepast en het betreffende fontpad aan de X server te serveren. Dit zal waarschijnlijk ook de reden zijn waarom de X server niet opstart als xfstt met corrupte TTF fonts vastloopt.

Nu nog testen:

Uit xterm --help blijkt dat de fn optie nodig is.

[I:\]xterm --help

xterm: bad command line option "--help"


usage: xterm [-version] [-help] [-display displayname] [-geometry geom]

[-/+rv] [-bg color] [-fg color] [-bd color] [-bw number] [-fn fontname]

[-iconic] [-name string] [-title string] [-xrm resourcestring] [-/+132]

[-/+ah] [-/+ai] [-fi fontname] [-b number] [-/+bdc] [-/+cb]

[-cc classrange] [-/+cm] [-/+cn] [-cr color] [-/+cu] [-/+dc] [-fb fontname]

[-hc] [-/+im] [-/+j] [-/+l] [-lf filename] [-/+ls] [-/+mb]

[-mc milliseconds] [-ms color] [-nb number] [-/+nul] [-/+aw] [-/+pc]

[-/+rw] [-/+s] [-/+sb] [-rightbar] [-leftbar] [-/+sf] [-/+si] [-/+sk]

[-sl number] [-/+sp] [-/+t] [-tm string] [-tn name] [-/+ulc] [-/+ut]

[-/+vb] [-/+wf] [-e command args ...] [%geom] [#geom] [-T string]

[-n string] [-C] [-Sxxd] [-ziconbeep percent] [-/+sameName]


Type xterm -help for a full description.

Helaas zijn de fontnamen niet zo eenvoudig:

[I:\]start xterm -fn Arial

xterm: unable to open font "Arial", trying "fixed"....

De volledige naam doet het wel:

[I:\]detach xterm -fn -ttf-arial-medium-r-normal-regular-

Het procesidentificatienummer is 432.

Arial blijkt flitsend snel onder X (in ieder geval op mijn VGA kaart). U kunt de volledige naam uit het bestand ttname.dir halen (niet met e.exe openen, maar read-only met een viewer, daarna knippen en plakken o.i.d.). Natuurlijk typt u de waarden niet steeds weer in, maar maakt er een alias of cmd bestand van.

Naam

bestand

volledige naam

Algerian

alger.ttf

-ttf-algerian-medium-r-normal-regular-

Arial

arial.ttf

-ttf-arial-medium-r-normal-regular-

Arial Bold

arialbd.ttf

-ttf-arial-bold-r-normal-bold-

Arial Bold Italic

arialbi.ttf

-ttf-arial-bold-i-normal-bold italic-

Arial Italic

ariali.ttf

-ttf-arial-medium-i-normal-italic-

Arial

arial__0.ttf

-ttf-arial-medium-r-normal-regular-

Arial Rounded MT Bold

arlrdbd.ttf

-ttf-arial rounded mt bold-bold-r-normal-bold-

Bookman Old Style Bold

bookosb.ttf

-ttf-bookman old style-bold-r-normal-bold-

Braggadocio

bragga.ttf

-ttf-braggadocio-medium-r-normal-regular-

Britannic Bold

britani0.ttf

-ttf-britannic bold-medium-r-normal-bold-

Britannic Bold

britanic.ttf

-ttf-britannic bold-medium-r-normal-bold-

Brush Script MT Italic

brushsc0.ttf

-ttf-brush script mt-medium-i-normal-italic-

Brush Script MT Italic

brushsci.ttf

-ttf-brush script mt-medium-i-normal-italic-

Century Schoolbook

cen000.ttf

-ttf-century schoolbook-medium-r-normal-regular-

Century Schoolbook Bold

cen001.ttf

-ttf-century schoolbook-bold-r-normal-bold-

Century Schoolbook Italic

cen002.ttf

-ttf-century schoolbook-medium-i-normal-italic-

Colonna MT

colonna.ttf

-ttf-colonna mt-medium-r-normal-regular-

Courier New

cour.ttf

-ttf-courier new-medium-r-normal-regular-

Courier New Bold

courbd.ttf

-ttf-courier new-bold-r-normal-bold-

Courier New Bold Italic

courbi.ttf

-ttf-courier new-bold-i-normal-bold italic-

Courier New Italic

couri.ttf

-ttf-courier new-medium-i-normal-italic-

Courier New

cour___0.ttf

-ttf-courier new-medium-r-normal-regular-

Desdemona

desdemon.ttf

-ttf-desdemona-medium-r-normal-regular-

Footlight MT Light

ftltlt.ttf

-ttf-footlight mt light-medium-r-normal-regular-

Century Gothic

gothic.ttf

-ttf-century gothic-medium-r-normal-regular-

Impact

impact.ttf

-ttf-impact-medium-r-normal-regular-

Kino MT

kino.ttf

-ttf-kino mt-medium-r-normal-regular-

Wide Latin

latinwd.ttf

-ttf-wide latin-medium-r-normal-regular-

MS LineDraw

linedraw.ttf

-ttf-ms linedraw-medium-r-normal-regular-

Matura MT Script Capitals

maturasc.ttf

-ttf-matura mt script capitals-medium-r-normal-regular-

Times New Roman Special G1

msgeotr1.ttf

-ttf-times new roman special g1-medium-r-normal-regular-

Times New Roman Special G2

msgeotr2.ttf

-ttf-times new roman special g2-medium-r-normal-regular-

MT Extra

mtextra.ttf

-ttf-mt extra-medium-r-normal-regular-

Playbill

playbill.ttf

-ttf-playbill-medium-r-normal-regular-

Symbol

symbol.ttf

-ttf-symbol-medium-r-normal-regular-

Symbol

symbol_0.ttf

-ttf-symbol-medium-r-normal-regular-

Times New Roman

times.ttf

-ttf-times new roman-medium-r-normal-regular-

Times New Roman Bold

timesbd.ttf

-ttf-times new roman-bold-r-normal-bold-

Times New Roman Bold Italic

timesbi.ttf

-ttf-times new roman-bold-i-normal-bold italic-

Times New Roman Bold Italic

timesbi0.ttf

-ttf-times new roman-bold-i-normal-bold italic-

Times New Roman Italic

timesi.ttf

-ttf-times new roman-medium-i-normal-italic-

Times New Roman

times__0.ttf

-ttf-times new roman-medium-r-normal-regular-

Verdana

verdana.ttf

-ttf-verdana-medium-r-normal-regular-

Verdana Bold

verdanab.ttf

-ttf-verdana-bold-r-normal-bold-

Verdana Italic

verdanai.ttf

-ttf-verdana-medium-i-normal-italic-

Verdana Bold Italic

verdanaz.ttf

-ttf-verdana-bold-i-normal-bold italic-

Wingdings

wingdin0.ttf

-ttf-wingdings-medium-r-normal-regular-

Wingdings

wingding.ttf

-ttf-wingdings-medium-r-normal-regular-

Niet alle fonts blijken te werken. De fonts dienen aaneengesloten geschreven te zijn. Arial en Verdana doen het goed, maar Times New Roman niet.

Fonts die u niet nodig hebt kunt u het best weer verwijderen. Dat scheelt geheugen.

> Top <