Willkommen Gast!  

Newsbeiträge

Linux und Open Source

Font-Handling in teTeX 2.0

Eingereicht von gap am 24. Apr 2004 - 15:15 Uhr

Linux und Open Source

Die Anleitung beschreibt, wie Fonts installiert werden können, so daß sie anschließend mit \usepackage{<fontname>} in Dokumenten eingebunden werden können. Sie wurde auf unserer Mailingliste Lynn gepostet und wird hiermit allen Interessierten zur Verfügung gestellt.
Die folgende Anleitung wurde von Amelie Zapf am 14. Januar 2004 auf unserer Mailingliste Lynn gepostet. Eva Brucherseifer hat sie dann bei Ihrer Einrichtung des Firmenfonts genutzt und mit kleinen Verbesserungen und Ergänzungen (wie man die Fonts dann auf mehrere Systeme verteilt) am 27. März 2004 fortgeschrieben. Getestet ist das Ganze auf einer SuSE 9.0.

1. Fonts in ein temporäres Verzeichnis kopieren und TeX-konform benennen:

1. Buchstabe: Supplier (z.B. Bitstream wird b)
2.+3. Buchst.: Kürzel f. Fontbezeichnung (z.B. eg für Elegant Garamond)
4. Buchst.: Variante (b (bold), r (regular), i (kursiv))
5.+6. Buchst: Encoding (immer Adobe Standard nehmen, also 8a).

Jetzt heißen also meine Fonts begr8a.ttf, begb8a.ttf, begi8a.ttf und begbi8a.ttf.

2. Alle Fonts nach Type 1 konvertieren:
  $> ttf2pt1 -a -e begr8a.ttf begr8a
Wir benötigen ausserdem die pfb-Dateien:
  $> ttf2pt1 -a -b begr8a.ttf begr8a
Im Output des Scripts nach FontName suchen und diesen aufschreiben.

3. fontinst.sty bemühen:
  $> tex fontinst.sty
  *> \latinfamily{beg}{} \bye
  $> for a in *.pl; do pltotf $a; done
  $> for a in *.vpl; do vptovf $a; done
  $> rm *.pl *.vpl *.mtx
4. Alles richtig hinkopieren:
  $> for a in tfm vf pfa afm ttf; do
  >  mkdirhier /usr/share/texmf/fonts/$a/bitstream/eleggar;
  >  mv *.$a /usr/share/texmf/fonts/$a/bitstream/eleggar;
  >  done

  $> mkdirhier /usr/share/texmf/fonts/type1/bitstream/eleggar
  $> mv *.pfb /usr/share/texmf/fonts/type1/bitstream/eleggar
  $> mkdirhier /usr/share/texmf/tex/latex/psnfss
  $> mv *.fd /usr/share/texmf/tex/latex/psnfss
Eigentlich benötigt man hier nur die tfm, pfb und fd-Files im System. Der Rest ist mehr der Vollständigkeit halber.

Die fd-Files kann man alternativ auch zu den Styles kopieren, die man später noch baut. Sie lassen sich gut unter
  /usr/share/texmf/tex/latex/<hersteller></hersteller>

oder

  /usr/share/texmf/tex/latex/<fontname></fontname>

unterbringen.
5. Mapfile schreiben:

Eine Datei, z.B. eleggar.map erzeugen, folgendes hineinschreiben (für jeden Font eine eigene Zeile):
  begr8r ElegantGaramondBT-Roman "TeXBase1Encoding ReEncodeFont" <8r.enc pre>
Sofern man mehrere Fonts von einem Hersteller hat, lassen sie sich auch alle 
in einem Map-File unterbringen, z.B. <herstellername>.map.

6. dvips aufbohren:

Mapfile kopieren nach /var/lib/texmf/dvips/config;
Befehl absetzen:
  $> texhash
  $> updmap --enable MixedMap eleggar.map
(texhash wird zwar auch von updmap aufgerufen, aber bevor updmap die Map einbinden kann, muss sie per texhash erst mal gefunden sein.)
BTW, bei mir (Eva) hat
  updmap --enable Map eleggar.map
also Map statt MIxedMap völlig ausgereicht und habe das auch so in anderen Dokus gefunden. Weiß jemand, wann man MixedMap benötigt?

7. Stylefile schreiben

Datei eleggar.sty erstellen mit folgendem Inhalt:
  \ProvidesPackage{eleggar}
  [2002/05/25 ElegantGaramond font as default sf font]
  %%
  \renewcommand{\rmdefault}{beg}
  %%
  \AtEndDocument{\PackageWarningNoLine{eleggar.sty}%
  {Ensure to use dvips with the option -j0}}
  %%
  \endinput
Hier kann man auch noch weitere Fonts vorkonfigurieren, z.B. kann man mit
  \renewcommand{\bfdefault}{sb}
beispielsweise einen mitgelierten semibold-Font statt dem Bold verwenden soll. 'sb' würde dann dem Kürzel bei der Benennung der Files entsprechen. Für einen Serifenfont würde man evtl. vielleicht auch nicht  \rmdefault verändern (das ist eigentlich der Standard-Serifen-Font), sondern mit  \sfdefault den Tex-Serifenfont.

Siehe dazu auch http://web.bham.ac.uk/C.Tambyraja/fntguide/node3.html

Die Styles lassen sich systemweit gut unter
/usr/share/texmf/tex/latex/<hersteller>

oder 

/usr/share/texmf/tex/latex/<fontname>

</fontname></hersteller>
unterbringen und werden dort automatisch von LaTeX gefunden.

Dieses File am besten nach /usr/share/texmf/tex/latex/misc/ kopieren.

8. Font verwenden:

In die LaTeX-Präambel schreiben:
  \usepackage{eleggar}
Und fertig!
So, hoffentlich war das verständlich. Bei mir geht das einwandfrei!

Wenn man nun das ganze für mehrere Rechner klonen möchte macht man das am besten folgendermaßen:

Einen seperaten Baum für alles erzeugen, was in /usr/share/texmf hinzukopiert wurde, also:
  texmf/fonts/.../<hersteller>/<fontname>
  texmf/tex/latex/<hersteller>/
  texmf/dvips/config/<...>.map
</hersteller></fontname></hersteller>
Kommentar: Auf einer SuSE ist /var/lib/dvips/config ist gelinkt nach /usr/share/texmf/dvips/config
Danach folgendes ausführen:
  $> texhash
  $> updmap --enable Map <name der="der">
</name>
Hat man übrigens das Map-File mit dem Hersteller-Namen angelegt, so kann man später für weitere Fonts übrigens diese einfach in dem File hinzufügen und braucht nur nochmal updmap ohne Argumente aufzurufen.
 

Weitere Beiträge in Linux und Open Source:

Rating

Bislang noch keine Bewertung erfolgt

  • Currently 0/5 Stars.

Noch keine Kommentare vorhanden.

Nur angemeldete Benutzer dürfen kommentieren. Registrierung oder Anmeldung.

Aktuelle Umfrage

Nutzt Du Deinen privaten Mailaccount exklusiv?

 

Ergebnisse | Weitere Umfragen

Online sind

0 registrierte Benutzer und 4 Gäste online.

Noch nicht registriert oder angemeldet. Hier registrieren.

Weitere Artikel

Samstag, Dezember 19
Dienstag, Juni 16
Mittwoch, Mai 13
Mittwoch, März 25
Sonntag, Februar 22
Sonntag, Januar 18
Mittwoch, Januar 07
Samstag, Januar 03
Dienstag, August 05
Sonntag, März 09