Hallo!

Ich habe hier eine ttf-Schriftart gefunden, die man als 'Old Computer Font' bezeichnen könnte. Da ich im tug-FontCatalogue nichts Vergleichbares fand, habe ich mich gefragt, wie ich eine ttf-Schrift in LaTex einbinde. Nach dieser Anleitung scheint es nicht gerade einfach zu sein (ich verstehe da auch viele Schritte nicht). Allerdings ist die Anleitung für MikTeX, bei TeXLive (was ich nutze) wird es vermutlich etwas anders laufen.

Das ist jetzt keine dringliche Frage oder so, aber ggf. auch fürs Archiv geeignet.

alt text

gefragt 25 Mai '14, 18:04

cis's gravatar image

cis
5.4k861169
Akzeptiert: 68%

bearbeitet 26 Mai '14, 02:32

Bes's gravatar image

Bes
1411516


Für das klassische pdflatex kann man Fonts mit Hilfe des Pakets fontinst installieren. Dazu ist es von Vorteil, wenn die Fonts im Type-1-Format vorliegen. Zwar kann pdfTeX auch TrueType-Fonts verarbeiten, für dvips gilt das aber nicht. Außerdem kann fontinst die Adobe-Font-Metrik-Datei auswerten, die bei TrueType-Fonts nicht existiert. Um aus einer TrueType-Schrift eine solche afm-Datei zu erzeugen, kann man das Programm ttf2afm verwenden. Das Vorgehen für Type-1-Fonts beschreibt der Font Installation Guide sehr gut. Das ist auch für TrueType-Fonts mit afm-Datei anzuwenden. Im einfachsten Fall muss man als erstes den Font umbenennen (das ist ein Anachronismus, denn eigentlich geht es auch ohne, dann muss man aber deutlich mehr Angaben machen), damit er ins sog. Berry-Schema passt, angeben, dass es sich um eine lateinische Schrift handelt, einen TeX-Lauf starten und erhält danach TeX-Font-Quelldateien für virtuelle Fonts und Metriken und eine map-Datei und ein LaTeX-Paket mit zugehöriger fd-Datei. Die Quelldateien für virtuelle Fonts muss man dann noch mit vptpvf in echte virtuelle Fonts übersetzen und die Metrik-Quellen mit pltotf. Dann muss man die Dateien in die entsprechenden Verzeichnisse des lokalen oder privaten TEXMF-Baums kopieren, texhash (TeX Live) bzw. Update Filename Database (MiKTeX) aufrufen, mit updmap die neue Map-Datei eintragen und kann dann das neue Font-Paket verwenden. Häufig ist allerdings schon der Schritt der Umbenennung eine Herausforderung.

Alternativ gibt es übrigens die Möglichkeit, mit ttf2tfm oder fontforge auch direkt TeX-Font-Metriken zu erzeugen. Allerdings muss man dann die map-Datei und ggf. eine zugehörige enc-Datei, die fd-Datei und das LaTeX-Paket selbst erstellen. Das kann recht aufwändig werden. Ich empfehle daher den Umweg über fontinst.

Eine deutliche Arbeitserleichterung ist in vielen Fällen, die Verwendung von installfont. Dabei handelt es sich um ein bash-Script, das den oben skizzierten Prozess automatisiert. Allerdings benötigen Windows-Anwender dafür die Installation von Standard-Unix-Werzeugen wie eben der bash, beispielsweise via cygwin oder MSYS. Dann ist die ganze Arbeit theoretisch mit einem Programmaufruf getan, wobei dieses Programm nicht nur Adobe font Metrik aus TrueType-Fonts erzeugt, sondern einen komplette Umwandlung in einen Type-1-Font mit Hilfe von ttftopt1 vornimmt.

Sehr viel einfacher geht das Ganze, indem man XeLaTeX oder LuaLaTeX verwendet. Dann muss man den Font lediglich als Systemfont installieren und kann ihn anschließend über das Paket fontspec und die Anweisung \setmainfont einfach laden. Auch ohne Installation geht es ggf. wenn man einen Font nur mal eben ausprobieren will. Dazu gibt man beim Laden über Option Path den Pfad zum Font an. Statt über den Namen des Fonts muss man ihn dann über den Namen der Fontdatei laden, beispielsweise:

Open in writeLaTeX
\listfiles
\documentclass{article}
\usepackage{fontspec}
\setmainfont[Path=/meinfontverzeichnis/bitwise/]{bitwise.ttf}% Laden über Verzeichnis und Dateinamen
\begin{document}
\centering
ABCDEFGHIJKLMNOP\\
QRSTUVWXYZabcdefg\\
hijklmnopqrstuvwxyz\\
0123456789\\
.,:;"'!?@\#\$\%\&*\{(/|\textbackslash)\}
\end{document}

was nach dem Lauf mit xelatex zu dem gewünschten Beispielergebnis:

bitwise

führt. Man beachte, dass der Pfad mit abschließendem Slash angegeben wurde. Windows-Anwender sollten ggf. auch den Laufwerksbuchstaben mit angeben, also beispielsweise C:/meinfontverzeichnis/bitwise/.

Wenn der Font als Systemfont installiert wurde, kann man ihn alternativ auch über den Fontnamen (aber auch weiterhin über den Dateinamen ohne Path-Option) ansprechen:

Open in writeLaTeX
\listfiles
\documentclass{article}
\usepackage{fontspec}
\setmainfont{Bitwise}% Laden über den Fontnamen
%\setmainfont{bitwise.ttf}% Laden über Dateinamen des Systemfonts
\begin{document}
\centering
ABCDEFGHIJKLMNOP\\
QRSTUVWXYZabcdefg\\
hijklmnopqrstuvwxyz\\
0123456789\\
.,:;"'!?@\#\$\%\&*\{(/|\textbackslash)\}
\end{document}

Da dieser Weg sehr viel einfacher als die zuvor umrissenen Installationen für pdflatex ist, empfehle ich sehr, sich gar nicht erst lange mit der recht aufwändigen Font-Installation für pdflatex aufzuhalten.

Permanenter link

beantwortet 26 Mai '14, 02:09

Bes's gravatar image

Bes
1411516

bearbeitet 26 Mai '14, 04:39

Deine Antwort auf die Frage (nicht auf andere Antworten)
Knebel-Vorschau

Folge dieser Frage

Per E-Mail:

Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

Per RSS:

Antworten

Antworten und Kommentare

Aktuelle Buch-Infos

LaTeX Cookbook

LaTeX Beginners Guide

Limitierter Rabatt ebook
50% Coupon code tDRet6Y

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs füge einfach zwei Leerzeichen an die Stelle ein, an der die neue Zeile sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Zugeordnete Themen:

×32
×30

Frage gestellt: 25 Mai '14, 18:04

Frage wurde angeschaut: 6,800 Mal

Zuletzt aktualisiert: 26 Mai '14, 06:05