Mit PDF-LaTeX ist es relativ einfach die unter dem Windows Betriebssystem gängigen true type fonts (TTF) mit LaTeX zu nutzen. Obwohl das Vorgehen an sich einfach ist, stellt es eine gewisse Fleißaufgabe dar, weil einige Abbildungsdateien (mappings) erstellt werden müssen. Das konkrete Vorgehen möchte ich am Beispiel der News-Gothic-Schnitte illustrieren.

Im Groben sieht das Vorgehen wie folgt aus:
  Erstellung der TTF-Kodierungsbeschreibung (newsgoth.enc)
  Extrahieren der Zeichensatz-Meta-Informationen (.tfm)
  Zuordnung: TTF – symbolischer Namen (newsgoth.map)
  Zuordnung: symbolischer Namen – LaTeX-Zeichensatzschema (.fd)
  Einbindung des mapping in PDF-LaTeX (pdftex.cfg)
  Defintion der high-level Zeichensatzbefehle (newsgoth.sty)

Als erstes erstellen wir also die Kodierungsbeschreibung (encoding) der TTF-Datei. Dabei kann die Unicode-Zeichentabelle von Windows (Startmenü – Programme – Zubehör – Zeichentabelle) wertvolle Dienste leisten. Die Kodierung wird (z.B. im Verzeichnis \localtexmf\tex\latex\local\newsgoth) in der Datei newsgoth.enc gespeichert (siehe untenstehenden Dateiauszug).

/NewsGothEncoding [
 % 0x00 (encoded characters from Adobe Standard not in Windows 3.1)
  /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
  /.notdef /.notdef /.notdef /.notdef /fi /fl /.notdef /.notdef
 % 0x10 (TeX characters from, e.g., Lucida Bright)
 %/dotlessi /.notdef /grave /acute /caron /breve /macron /degree
  /dotlessi /.notdef /grave /acute /caron /breve /.notdef /degree
 % /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
  /cedilla /germandbls /ae /oe /oslash /AE /OE /Oslash
 % 0x20 (ASCII begins)
  /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright
  /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash
 % 0x30
  /zero /one /two /three /four /five /six /seven
  /eight /nine /colon /semicolon /less /equal /greater /question
 % 0x40
  /at /A /B /C /D /E /F /G
  /H  /I /J /K /L /M /N /O
 % 0x50
 ...

Die Erzeugung der Zeichensatz-Meta-Informationen (TFM-Dateien) erfolgt aus den TTF-Dateien mit Hilfe des in der MiKTeX-Distribution enthaltenen Befehls: ttf2tfm.
Folgender Quellcode zeigt die Batch-Datei, die für die gesamte Zeichensatzfamilie die Meta-Informationen erzeugt. Die resultierenden TFM-Dateien werden schließlich in das Verzeichnis \localtexmf\fonts\tfm\public\newsgoth kopiert/verschoben.

ttf2tfm NEWSGOTI.TTF -T newsgoth.enc ng001.tfm
ttf2tfm NEWSGOTC.TTF -T newsgoth.enc ng002.tfm
ttf2tfm NEWSGOTL.TTF -T newsgoth.enc ng003.tfm
ttf2tfm NEWSGOTN.TTF -T newsgoth.enc ng004.tfm
ttf2tfm NEWSGOTD.TTF -T newsgoth.enc ng005.tfm
ttf2tfm NEWSGOTB.TTF -T newsgoth.enc ng006.tfm

Als nächstes werden symbolische Namen vergeben, unter denen die einzelnen Zeichensätze von TeX angesprochen werden können. Dazu wird in einem ersten Schritt in der Mapping-Datei newsgoth.map die Abbildung von dem physischen TTF-Dateinamen auf einem symbolischen Namen vorgenommen (wird in das Verzeichnis \localtexmf\pdftex\config gespeichert).

ng001 NewsGoth-Italic "NewsGothic ReEncodeFont" <NEWSGOTI.TTF <newsgoth.enc
ng002 NewsGoth-Condensed "NewsGothic ReEncodeFont" <NEWSGOTC.TTF <newsgoth.enc
ng003 NewsGoth-Light "NewsGothic ReEncodeFont" <NEWSGOTL.TTF <newsgoth.enc
ng004 NewsGoth-Medium "NewsGothic ReEncodeFont" <NEWSGOTN.TTF <newsgoth.enc
ng005 NewsGoth-Demi "NewsGothic ReEncodeFont" <NEWSGOTD.TTF <newsgoth.enc
ng006 NewsGoth-Bold "NewsGothic ReEncodeFont" <NEWSGOTB.TTF <newsgoth.enc

Im zweiten Schritt muss für die Zeichensatzfamilie eine font definition-Datei (FD) angelegt werden, welche die Abbildung zwischen dem symbolischen Zeichensatznamen und dem Bezeichnungsschema von LaTeX vornimmt. Das folgende Beispiel zeigt die Datei lnewsgot.fd (der vorangestellte Buchstabe »l« steht für »lokal« und folgt damit dem für LaTeX vorgeschlagenen Bezeichnungsschema für Zeichensätze).

\DeclareFontFamily{L}{newsgot}{}{}
\DeclareFontShape{L}{newsgot}{m}{it}{<-> ng001}{}
\DeclareFontShape{L}{newsgot}{cx}{n}{<-> ng002}{}
\DeclareFontShape{L}{newsgot}{lc}{n}{<-> ng003}{}
\DeclareFontShape{L}{newsgot}{m}{n}{<-> ng004}{}
\DeclareFontShape{L}{newsgot}{sbsx}{n}{<-> ng005}{}
\DeclareFontShape{L}{newsgot}{bx}{n}{<-> ng006}{}
\endinput

Nun muss man PDF-LaTeX noch das mapping des News-Gothic-Zeichensatzes bekannt geben. Dies geschieht in der Datei \texmf\pdftex\config\pdftex.cfg durch hinzufügen der Zeile map +newsgoth.map

pk_resolution 600
output_format 1
compress_level 9
decimal_digits 3
page_width 210 true mm
page_height 297 true mm
horigin 1 true in
vorigin 1 true in
map psfonts.map
map +newsgoth.map

Nun können die neuen Zeichensätze eigentlich schon verwendet werden (mit dem Befehl \selectfont). Allerdings ist die Nutzung etwas schreibintensiv, so dass ich in einem extra Paket (\localtexmf\tex\latex\local\newsgoth\newsgoth.sty) noch einige high-level Befehle definiert habe, die mir die Nutzung der neuen Zeichensätze in alt bekannter LaTeX-Weise ermöglichen. Im Folgenden ist ein kleiner Auszug aus dieser Defintion dargestellt.

  ...
\input{lngenc.def}
\DeclareFontSubstitution{L}{newsgot}{m}{n}
\DeclareErrorFont{L}{newsgot}{m}{n}{10}
\renewcommand{\encodingdefault}{L}
\fontencoding{L}\selectfont

\renewcommand{\sfdefault}{newsgot}
\renewcommand{\sldefault}{it}
\newcommand{\cndefault}{cx}
\newcommand{\lidefault}{lc}
\newcommand{\sbdefault}{sbsx}
  ...
\DeclareRobustCommand\sbseries
        {\not@math@alphabet\sbseries\relax
         \fontseries\sbdefault\selectfont}
  ...
\DeclareTextFontCommand{\textsb}{\sbseries}

\renewcommand{\familydefault}{newsgot}
\renewcommand{\seriesdefault}{m}
  ...

Der Aufmerksame Leser hat sicherlich die Verwendung der Datei lngenc.def bemerkt (diese wird am besten ebenfalls im Verzeichnis \localtexmf\tex\latex\local\newsgoth\ abgelegt). Sie enthält die Zuordnung zwischen den Zeichencodes und den entsprechenden LaTeX-Befehlen.

Bevor man jetzt konkret an die Nutzung der Zeichensätze geht, sollte man noch daran denken, die TeX-Datenbank zu aktualisieren, damit die Dateien mit der Mapping-Tabelle, der Kodierung, der font definition, etc. auch gefunden werden. Dazu gibt man in der Eingabeaufforderung den Befehl initexmf -u ein.

Die neuen Zeichensätze können in einem Dokument jetzt einfach durch die Einbindung des newsgoth-Paketes verwendet werden (siehe folgenden Quelldateiauszug).

\documentclass[a4paper,11pt]{article}
  ...
\usepackage[latin1]{inputenc} % Umlaute können direkt verwendet werden
\usepackage{newsgoth}         % neue Zeichensatzbefehle
  ...

\begin{document}
  ...
  Provided by \textsb{Jochen Rütschlin}.
\end{document}

Der Befehl \textsb wurde in dem Paket newsgoth analog zu den in LaTeX üblichen Textauszeichnungen definiert und stellt auf eine halbfette (semi-bold) Schriftart um.
(Anm.: Obiges Beispiel zeigt auch, wie unter Zuhilfenahme des Pakets inputenc im Quellcode Umlaute direkt eingegeben werden können, ohne die umständliche, unter LaTeX übliche Kodierung mittels \" – bzw. bei der Verwendung von dem Paket babel mittels " – zu verwenden.)