Seit es die LCDF type tools und Open Type Schriften gibt, ist die Verwendung von beliebigen OP-Schriften viel einfacher geworden. Trotzdem ist es immer noch nicht trivial, ich habe mich gerade wieder drei Stunden damit herumgeärgert. Der Haken ist, dass LCDF ausschliesslich unter Unix voll funktioniert, aber die Mehrheit der Computer unter einer Windows-Version laufen.
Daher will ich mein Vorgehen hier posten, es sollen die Schnitte römisch, kursiv und fett-kursiv der Linotype Sabon, einer klassischen Buchschrift für MikTeX 2.8 unter Microsoft Windows (7) installiert werden.
Verfügbar sein werden Ligaturen (fi, fl ...), sowohl Mediävalziffern als auch Tabellenziffern, Kerning, kursive als auch bloss schräggestellte Schnitte.
Schritt 1: LCDF type tools herunterladen und nach c:\Program files (x86)\ oder ähnlich extrahieren. Am besten setzt man gleich die Umgebungsvariable %PATH% unter Systemsteuerung->System->erweitert->Umgebungsvariablen auf das Verzeichnis mit den binaries von type tool.
Schritt 2: einen Ordner erstellen und folgende Dateien hineinkopieren:
- texnansx.enc aus C:\Program Files (x86)\MiKTeX 2.8\fonts\enc\dvips\fontname
- die drei Textdateien aus C:\Program Files (x86)\MiKTeX 2.8\fonts\map\glyphlist
- alle .otf-Dateien der betreffenden Schrift. Bei mir sind das 4:
- SabonLTStd-Roman.otf
- SabonLTStd-Italic.otf
- SabonLTStd-Bold.otf
- SabonLTStd-BoldItalic.otf
Schritt 3: Eine .bat-Datei im Ordner erzeugen (z.B. Sabon.bat) mit folgendem Inhalt:Wird eine andere Schrift als Linotype Sabon installiert, muss einiges angepasst werden. Als letztes Argument der otftotfm-Befehle kommt immer der Dateiname der OpenType-Schrift. Der Wert des -n Arguments ist der Name der Schrift in LaTeX. Man kann den String "Sabon" hier ersetzen mit dem Namen einer anderen Schift, z.B. "GillSans".Code:@Echo OFF set texmf=d:\localtexmf rem ----------------------------- rem "normaler" Schriftschnitt rem ----------------------------- rem ganz normal otftotfm -a -n Sabon-Roman-hanging -v Linotype -f liga -f kern -f onum -e texnansx --map-file=D:\localtexmf\pdftex\config\Sabon.map SabonLTStd-Roman.otf rem mit grossen Ziffern otftotfm -a -n Sabon-Roman-lining -v Linotype -f liga -f kern -f lnum -e texnansx --map-file=D:\localtexmf\pdftex\config\Sabon.map SabonLTStd-Roman.otf rem schräg mit grossen und mit kleinen Ziffern otftotfm -a -n Sabon-Roman-hanging-sl -v Linotype -S .167 -f liga -f kern -f onum -e texnansx --map-file=D:\localtexmf\pdftex\config\Sabon.map SabonLTStd-Roman.otf otftotfm -a -n Sabon-Roman-lining-sl -v Linotype -S .167 -f liga -f kern -f lnum -e texnansx --map-file=D:\localtexmf\pdftex\config\Sabon.map SabonLTStd-Roman.otf rem Kapitälchen otftotfm -a -n Sabon-Roman-hanging-SC -v Linotype -f liga -f kern -f onum -f smcp -e texnansx --map-file=D:\localtexmf\pdftex\config\Sabon.map SabonLTStd-Roman.otf rem ----------------------------- rem kursiver Schriftschnitt rem ----------------------------- rem ganz normal otftotfm -a -n Sabon-Italic-hanging -v Linotype -f liga -f kern -f onum -e texnansx --map-file=D:\localtexmf\pdftex\config\Sabon.map SabonLTStd-Italic.otf rem mit grossen Ziffern otftotfm -a -n Sabon-Italic-lining -v Linotype -f liga -f kern -f lnum -e texnansx --map-file=D:\localtexmf\pdftex\config\Sabon.map SabonLTStd-Italic.otf rem Schräg und kursiv gleichzeitig macht keinen Sinn! rem Kapitälchen otftotfm -a -n Sabon-Italic-hanging-SC -v Linotype -f liga -f kern -f onum -f smcp -e texnansx --map-file=D:\localtexmf\pdftex\config\Sabon.map SabonLTStd-Italic.otf rem ----------------------------- rem fetter Schriftschnitt rem ----------------------------- rem ganz normal otftotfm -a -n Sabon-Bold-hanging -v Linotype -f liga -f kern -f onum -e texnansx --map-file=D:\localtexmf\pdftex\config\Sabon.map SabonLTStd-Bold.otf rem mit grossen Ziffern otftotfm -a -n Sabon-Bold-lining -v Linotype -f liga -f kern -f lnum -e texnansx --map-file=D:\localtexmf\pdftex\config\Sabon.map SabonLTStd-Bold.otf rem schräg mit grossen und mit kleinen Ziffern otftotfm -a -n Sabon-Bold-hanging-sl -v Linotype -S .167 -f liga -f kern -f onum -e texnansx --map-file=D:\localtexmf\pdftex\config\Sabon.map SabonLTStd-Bold.otf otftotfm -a -n Sabon-Bold-lining-sl -v Linotype -S .167 -f liga -f kern -f lnum -e texnansx --map-file=D:\localtexmf\pdftex\config\Sabon.map SabonLTStd-Bold.otf rem Kapitälchen otftotfm -a -n Sabon-Bold-hanging-SC -v Linotype -f liga -f kern -f onum -f smcp -e texnansx --map-file=D:\localtexmf\pdftex\config\Sabon.map SabonLTStd-Bold.otf rem ----------------------------- rem fetter kursiver Schriftschnitt rem ----------------------------- rem ganz normal otftotfm -a -n Sabon-BoldItalic-hanging -v Linotype -f liga -f kern -f onum -e texnansx --map-file=D:\localtexmf\pdftex\config\Sabon.map SabonLTStd-BoldItalic.otf rem mit grossen Ziffern otftotfm -a -n Sabon-BoldItalic-lining -v Linotype -f liga -f kern -f lnum -e texnansx --map-file=D:\localtexmf\pdftex\config\Sabon.map SabonLTStd-BoldItalic.otf rem Schräg und kursiv gleichzeitig macht keinen Sinn! rem Kapitälchen otftotfm -a -n Sabon-BoldItalic-hanging-SC -v Linotype -f liga -f kern -f onum -f smcp -e texnansx --map-file=D:\localtexmf\pdftex\config\Sabon.map SabonLTStd-BoldItalic.otf rem Lass MikTex die neu generierten Files suchen initexmf -u
Ich verwende für Anpassungen an der MikTeX-Installation einen Ordner unter D:\localtexmf. Diesen Ordner habe ich in den MikTeX Settings im Reiter "Roots" registriert. Natürlich steht es jedem frei, irgend ein anderes Laufwerk oder einen anderen Ordner zu wählen. Nur muss man dann die dritte Zeile im Batch file entsprechend anpassen.
Schritt 4: Ich habe diese zwei font definition files im Ordner D:\localtexmf\tex\latex\sabon:
Code:\ProvidesFile{LY1Sabon-hanging.fd}[Linotype Sabon font definitions] \DeclareFontFamily{LY1}{Sabon-hanging}{} \DeclareFontShape{LY1}{Sabon-hanging}{m}{n}{ <-> Sabon-Roman-hanging }{} \DeclareFontShape{LY1}{Sabon-hanging}{m}{it}{ <-> Sabon-Italic-hanging }{} \DeclareFontShape{LY1}{Sabon-hanging}{m}{sc}{ <-> Sabon-Roman-hanging-SC }{} \DeclareFontShape{LY1}{Sabon-hanging}{m}{sl}{ <-> Sabon-Roman-hanging-sl }{} \DeclareFontShape{LY1}{Sabon-hanging}{b}{n}{ <-> Sabon-Bold-hanging }{} \DeclareFontShape{LY1}{Sabon-hanging}{b}{it}{ <-> Sabon-BoldItalic-hanging }{} \DeclareFontShape{LY1}{Sabon-hanging}{b}{sc}{ <-> Sabon-Bold-hanging-SC }{} \DeclareFontShape{LY1}{Sabon-hanging}{b}{sl}{ <-> Sabon-Bold-hanging-sl }{} \DeclareFontShape{LY1}{Sabon-hanging}{bx}{n}{ <-> ssub * Sabon-hanging/b/n }{} \DeclareFontShape{LY1}{Sabon-hanging}{sb}{n}{ <-> ssub * Sabon-hanging/b/n }{} \endinputWer im batchfile von Schritt 3 den Fontnamen geändert hat, muss hier alle Vorkommen von "Sabon" entsprechend ersetzen.Code:\ProvidesFile{LY1Sabon-lining.fd}[Linotype Sabon font definitions] \DeclareFontFamily{LY1}{Sabon-lining}{} \DeclareFontShape{LY1}{Sabon-lining}{m}{n}{ <-> Sabon-Roman-lining }{} \DeclareFontShape{LY1}{Sabon-lining}{m}{it}{ <-> Sabon-Italic-lining }{} \DeclareFontShape{LY1}{Sabon-lining}{m}{sc}{ <-> Sabon-Roman-lining-SC }{} \DeclareFontShape{LY1}{Sabon-lining}{m}{sl}{ <-> Sabon-Roman-lining-sl }{} \DeclareFontShape{LY1}{Sabon-lining}{b}{n}{ <-> Sabon-Bold-lining }{} \DeclareFontShape{LY1}{Sabon-lining}{b}{it}{ <-> Sabon-BoldItalic-lining }{} \DeclareFontShape{LY1}{Sabon-lining}{b}{sc}{ <-> Sabon-Bold-lining-SC }{} \DeclareFontShape{LY1}{Sabon-lining}{b}{sl}{ <-> Sabon-Bold-lining-sl }{} \DeclareFontShape{LY1}{Sabon-lining}{bx}{n}{ <-> ssub * Sabon-lining/b/n }{} \DeclareFontShape{LY1}{Sabon-lining}{sb}{n}{ <-> ssub * Sabon-lining/b/n }{} \endinput
Schritt 4: Das Batch file starten. Fehler kann es geben, wenn z.B. keine Umgebungsvariable PATH für die Dateien im miktex\bin-Ordner vorhanden ist. In diesem Fall wie unter Schritt 2 vorgehen.
Schritt 5: Start->Alle Programme->Zubehör->Eingabeaufforderung rechtsklicken und als Administrator ausführen. Den Befehl initexmf --admin --edit-config-file=updmap eingeben. Am Ende der Datei eine neue Zeile miterzeugen, oder eben den Dateinamen, welcher man im Batch file für das Map file angegeben hat.Code:map Sabon.map
Wers ohne Admin-Modus versucht, wird sein config-file am falschen Ort erzeugen und unweigerlich scheitern (scheint ein MikTeX-Bug zu sein).
Schritt 6: In der Eingabeaufforderung mit initexmf --mkmaps eine neue Bibliothek der installierten Schriften generieren.
Schritt 7: Fertig! Folgendes Minimalbeispiel testen:Code:\documentclass{scrbook} \usepackage[LY1]{fontenc} \renewcommand{\rmdefault}{Sabon-hanging} \renewcommand{\sfdefault}{Sabon-lining} \begin{document} \chapter{Schrift installiert!} Hallo Welt! \end{document}
Lesezeichen