Die Idee, das lang geschriebene S (ſ) im Antiqua-Satz unter LaTeX auszuprobieren brachte mich an den Punkt festzustellen, daß das nicht geht. Zumindest nicht mit pdfLaTeX, das einen großen Teil
der OpenType-Möglichkeiten üppig designter Schriftarten wie die Linux Libertine gar nicht ausreizt, vor allem was zusätzliche Ligaturen und Buchstabenvariationen
wie die des langen ſ betrifft.
Das hatte mich ohnehin schon des längeren gestört: LaTeX setzt Standard-Ligaturen wie fi und fl, sofern diese in der Schriftart enthalten sind. Aber weiterführende Ligaturen wie Qu, ffi, tz oder
ck spricht pdfLaTeX gar nicht an, auch wenn sie – wie im Fall der Schriftart Linux Libertine – enthalten sind.
Nach etwas Recherche war die Lösung gefunden: XeTeX, eine Art Erweiterungspaket für LaTeX,
das von J. Kew entwickelt wurde und wird. Offiziell ist XeTeX noch in der Testphase, kann aber schon produktiv eingesetzt werden. Und hinsichtlich seiner Vorteile sollten man wirklich mal einen
Versuch riskieren.
XeLaTeX kann alternativ statt pdfLaTeX verwendet werden. Es bietet im Gegensatz zu diesem eine native Unicode-Unterstützung und reizt OpenType-Schriftarten mit ihrem vollständigen Glyphensatz und allen typographischen Möglichkeiten aus. Das sind meiner Meinung nach die zwei wichtigsten Vorteile.
Im Prinzip stimmt das. Allerdings muß man daran denken, daß pdfLaTeX aus einer Zeit kommt, als noch weithin ASCII verwendet wurde. Erst nachträglich wurde die Unicode-Unterstützung implementiert, sodaß man nun auch die gängigen Umlaute der europäischen Sprachen direkt eingeben kann: statt "A kann man nun direkt Ä verwenden usw. Das funktioniert auch mit anderen Unicode-Zeichen der vordefinierten Tabellen sehr gut. Ist beispielsweise der Unicode-Platz für die °C-Glyphe in der Schriftart belegt (bei der Schriftart Linux Libertine ist er das), kann die Glyphe aus der Zeichentabelle herauskopiert und sowohl im pdfLaTeX- als auch im XeTeX-Quellcode eingefügt werden. Beim Übersetzen erscheint entsprechend die Glyphe. So weit, so gut.
Nun gibt es aber auch den sog. Private-Area-Bereich in Unicode, einen Block von mehreren tausend Zeichen, der für kreative Schriftdesigner reserviert ist, d.h. der Schriftendesigner kann diese Plätze nutzen, um ihn mit ganz individuell gezeichneten Glyphen zu füllen. Dazu zählen geometrische Symbole, spezielle Smileys oder Ligaturen aus römischen Zahlzeichen. Kopiert man eine dieser Glyphen in den pdfLaTeX-Quellcode, gibt es beim Kompilieren eine Fehlermeldung. XeTeX übersetzt dagegen, egal was man aus der Zeichentabelle im Quellcode einbringt, eben weil XeTeX (und LuaTeX), als Weiterentwicklung von pdfLaTeX, von vornherein mit einer vollständigen Unicode-Unterstützung programmiert worden sind.
Mit XeTeX und LuaTeX kann also eine Schriftart mit vielen Unicode-Belegungen erst richtig ausgereizt werden.
Ein Vorteil der modernen OpenType-Schriftarten ist, daß zu ein- und demselben Buchstaben gleich mehrere Varianten gespeichert werden können, wie es z.B. bei der Zapfino-Schriftart der Fall ist (sog. kontextsensitive Alternativen). Diese werden manuell
oder automatisch an Stellen gesetzt, wo besondere Buchstaben-Kombinationen auftreten, die ggf. einander stören. Zum Beispiel könnte bei zwei nebeneinanderstehenden Buchstaben mit langer
Unterlänge (Minuskel-f und Minuskel-y) eine Glyphe gesetzt werden, die einer f-y-Kombination ohne sich überschneidende Anhänge entspricht. Oder man denke an einen Buchstaben mit langer Oberlänge
und einem folgenden Trema wie in »ä«. Wenn die Oberlänge in einen Trema-Punkt
hineinreicht, sieht das unschön aus; besser gelöst wird das mit einem speziellen Ersatz, wie ihn manche OpenType-Schriftarten mitbringen. Nach einer kurzen Anweisung im XeTeX-Dokument wird beim
Kompilieren automatisch die Ersetzung vorgenommen, ohne daß man auf etwas zu achten hat.
Neben den bekannten Standard-Ligaturen f-i und f-l kann eine OpenType-Schriftart auch viele weitere Ligaturen gespeichert haben, z.B. t-z, f-b oder Schmuckligaturen.
In manchen Fällen gestattet die OpenType-Schriftart die Kontrolle über Texte, die in unterschiedlicher Sprache gesetzt wurden. Denn fast jeder Text (Englisch, Deutsch, Russisch) bringt seine
eigenen Besonderheiten hinsichtlich typographischer Feinheiten, Ligaturen und Wortumbruch (Silbentrennung!) mit. Beispielsweise ist die f-b-Ligatur in englischen Texten recht häufig, während
diese Buchstaben-Kombination in deutschen Texten fast immer an Wortfugen steht und daher nicht als Ligatur gesetzt werden sollte. Mit einer kurzen Anweisung im XeTeX-Dokument kann man die Sprache
für einen bestimmten Abschnitt oder das ganze Dokument deklarieren, wodurch z.B. f-b-Ligaturen in deutschen Texten generell abgeschaltet werden.
Durchaus! OpenType-Schriftarten enthalten meistens mehrere Ziffern-Sets aus proportionalen oder gleichbreiten Mediäval- oder Versalziffern. Während in herkömmlichen Textverarbeitungen meist nur eines dieser Sets zugänglich ist (Voreinstellung), kann man in XeTeX beliebig umschalten. Auf diese Weise kann man proportionale Mediävalziffern für den Mengentext nutzen und in Tabellen gleichbreite Versalziffern, die perfekt untereinanderstehen und für Ordnung sorgen.
Mit XeTeX sind nicht nur die in der TeX-Distribution mitgelieferten Schriftarten nutzbar, sondern alle auf dem System installierten Schriften (ttf oder otf)! Dafür wird einfach in der Präambel des XeTeX-Dokuments auf den Namen der Schriftart verwiesen und schon kann man in seiner Wunsch-Schriftart los-TeXen.
PS: Es ist eindeutig der im System hinterlegte Schriftartenname zu verwenden. Das ist manchmal knifflig. Wer mit Arial setzen will, kann »Arial« angeben; wer mit »Vollkorn« setzen will, kann »Vollkorn« angeben. Daneben gibt es aber auch Namen, die sich nicht sofort erschließen: »TheSans,TheSans 4\-SemiLight«, »Overpass,Overpass Light«, oder »Electrum ADF Exp«. Wer mit Linux arbeitet, kann sich eine Liste mit nutzbaren Schriftartennamen über die Konsole ausgeben lassen:
fc-list | cut -d\ -f2-99 | cut -d: -f1 | sort -u
Achtung: zwei Leerzeichen vor "-fs-99"!
Wird der gleiche Inhalt eines Quellcodes einmal mit pdfLaTeX und einmal mit XeTeX gesetzt, zeigt sich, daß die mit XeTeX-kompilierte PDF erheblich kleiner bezüglich Dateigröße ist. An mehreren Beispielen konnte ich feststellen, daß die Dateigröße zum Teil auf rund 10 % abgefallen ist (z.B. von 235 kb auf 15 kb). An dieser Stelle kann ich nur mutmaßen, daß das etwas damit zu tun hat, ob in das PDF nur ein Teil der Schriftart oder die gesamte Schriftart eingebettet wurde. (Wenn das irgendwer weiß, lasse ich mich gerne berichtigen!)
Prinzipiell sollte jede große TeX-Distribution (MikTeX, TeXLive) ein Paket namens xetex mitbringen. Wer unter GNU-Linux arbeitet und auf die Ubuntu-Paketquellen zugreift, kann z.B. das Paket texlive-xetex finden und installieren. Die Arbeit verläuft dann genauso wie bei pdfLaTeX: Quelldokument + Kompilieren ergibt PDF. Auch der Aufbau der Quellcode-Datei ist weitgehend identisch. In der Präambel gibt es eine kleine Änderung, die Zeilen für fontenc und inputenc sind überflüssig, dafür werden andere Pakete geladen (siehe Beispieldokument). Kompiliert wird das ganze entweder auf der Konsole per
xelatex Dokument.tex
oder man richtet sich direkt im Editor einen Starter fürs XeLaTeX-Kompilieren ein (manche Editoren haben so einen Button bereits – z.B. die aktuelle Version vom TeXMaker).
Nun, einige Pakete arbeiten noch nicht richtig mit XeTeX zusammen,
Ich habe selbst XeTeX noch nicht umfassend mit allen Paketen getestet und würde mich freuen, wenn wir über die Kommentare eine kleine Liste zusammenstellen könnten, was funktioniert und was
nicht. Bisher liefen alle meine sonst verwendeten Pakete problemlos durch, url gebrauche ich ohnehin nur selten. Eine Fehlermeldung betraf ein eingebundenes PDF, das unter
pdfLaTeX problemlos funktionierte, für XeTeX aber aus dem ursprünglichen SVG neu erzeugt werden mußte. Angeblich enthält die neue TeXLive-Version 2015 eine Überarbeitung des XeTeX-Pakets, bei dem
Korrekturen an der Bild-Verarbeitung gelöst wurden.
Außerdem habe ich beobachtet, daß man sich häufiger verleitet fühlt, Unicode-Glyphen direkt in den Quelltext einzugeben, anstatt ein entsprechendes, aus ASCII-konformen Zeichen bestehendes
Kommando einzutippen. Zum Beispiel die Glyphe für das Promille-Zeichen anstatt \textperthousand. Dadurch verliert man natürlich wieder etwas von der Unabhängigkeit, die LaTeX ja
so auszeichnet. Auch kann der Text nicht mal so eben wieder mit pdfLaTeX kompiliert werden, wenn er voller Unicode-Glyphen steckt!
Noch ein nicht unwesentlicher Aspekt: Das Kompilieren des Quellcodes mit XeLaTeX dauert etwas länger als bei pdfLaTeX. Mit LuaLaTeX ist es sogar noch langsamer. Zuweilen dauert es einige Sekunden, bevor das Kompilieren überhaupt startet.