Hallo zusammen,

hier einmal meine erste Frage in der Textwelt, übt ggf. bitte ein bisschen Nachsicht ...

Mein Problem ist gerade die Typografie in LuaLaTeX, bei der ich einfach noch nicht die gewünschten Ergebnisse habe. Und zwar handelt es sich beispielsweise um den Fall von "Anführungszeichen + W":

Open in writeLaTeX
\documentclass{scrartcl}
\usepackage[ngerman]{babel} 
\usepackage{csquotes}
\usepackage{microtype}
\usepackage{fontspec}
\setmainfont[Ligatures=TeX]{AGaramondPro-Regular}

\begin{document}

WA AV Test Type off fit fly office baffle
"`World Wide Web"'
„World Wide Web“ (warum das allerdings ein anderes Anführungszeichen gibt, weiß ich nicht ...)
Währenddessen
VAN GOGH
I “Ask Jeff” or ‘Ask Jeff’.
\textit{Two of [of] (of) ‘of’ “of” of? of! of*}
Two of [of] (of) ‘of’ “of” of? of! of*.

\end{document}

Kompiliert mit LuaLaTeX (TexLive 2014, die aktuellen Pakete) gibt es nur eine hässliche Leerstelle zwischen dem Anführungszeichen und dem W.

Scheinbar funktioniert das Paket "microtype" mit LuaLaTeX bzgl. Kerning nicht ... aus diesem Grund habe ich auch schon folgende Sache versucht: Wie kann man das Kerning von Zeichenpaaren ändern?

Hat aber nicht funktioniert ...

Wie sieht der aktuelle Status bzgl. Kerning und LuaLaTeX aus?` Habt ihr Hinweise? Hab ich etwas übersehen?

Mit Dank und Gruß!

Ergänzungen:

Also Kerning scheint ja bei LuaLaTeX grundsätzlich zu funktionieren -- soweit ich das mal aus lualatex-doc-DE geschlossen hab, was sagt, dass das ja über fontspec geht, das luaotfload lädt.

Um mein beschriebenes Problem zu verdeutlichen, hab ich mal den Quelltext oben angepasst (kann man den hier auch irgendwie schöner formatieren lassen?) und zwei Screenshots der PDF gemacht. Einmal mit Adobe Garamond und einmal Linux Libertine.

Kerning mit der Libertine

Kerning mit der Garamond

Bei mir scheinen die Anführungszeichen durch babel schon unterschliedlich zu sein. Kann man die vielleicht verändern?

Mit einem

Open in writeLaTeX
"`\kern-2pt World Wide Web"'

Kerning manuell angepasst

hat es die Sache etwas verbessert, aber wie könnte man das für das ganze Dokument machen?

gefragt 13 Sep '14, 20:19

Tuxjoe's gravatar image

Tuxjoe
3313
Akzeptiert: 100%

bearbeitet 14 Sep '14, 11:55

Clemens's gravatar image

Clemens
19.0k113060

1

Mit babel erhält man auch die gleichen Glyphen, wenn man \defineshorthand{"`}{„} und \defineshorthand{"'}{“} in der Präambel hinzufügt.

(14 Sep '14, 09:34) Clemens

Super Clemens! mit defineshorthand{"`}{„} und defineshorthand{"'}{“} sind die Anführungszeichen wenigstens schon einmal richtig. Vielleicht findet sich ja sogar noch was bzgl. des Kernings ....

(14 Sep '14, 10:09) Tuxjoe

Die unterschiedlichen Glyphen mit "`"' und „“ lassen sich beheben, indem man mit

Open in writeLaTeX
\defineshorthand{"`}{}
\defineshorthand{"'}{}

das Shorthand umdefiniert. Definiert sind sie von babel als \defineshorthand{"`}{\glqq} bzw. \defineshorthand{"'}{\grqq} aber babel definiert \glqq und \grqq nur für die T1 und OT1 Schrift-Kodierungen. Für LuaLaTeX braucht man aber EU2. Daher wird OT1 mit cmr als Schrift als Fallback verwendet:

Open in writeLaTeX
LaTeX Font Warning: Font shape `OT1/LinuxLibertineO(0)/m/n' undefined
(Font)              using `OT1/cmr/m/n' instead
(Font)              for symbol `glqq' on input line 31.

Die Kerning-Werte kann man wie in der verlinkten Frage bzw. Antwort anpassen. Dazu muss man sich notfalls den Namen der benötigten Zeichen in der Glyphenliste von Adobe nachschauen, vielleicht muss man sich vorher noch die Codenummer des Zeichens nachschlagen.

Open in writeLaTeX
% arara: lualatex
\documentclass{article}
\usepackage{fontspec}

\usepackage[ngerman]{babel}

\defineshorthand{"`}{}
\defineshorthand{"'}{}

\usepackage{filecontents}
\begin{filecontents*}{mykern.fea}
languagesystem DFLT dflt;
languagesystem latn dflt;
feature kern {
  pos quotedblbase W -180;  # „W
  pos quoteleft A -200;     # ‘A
  pos quotedblleft A -150;  # “A
  pos quotedblleft o -30;   # “o
  # pos ff quotedblright 100;  # ff” <= verursacht seltsame Dinge
  # pos ff quotedblright 100;  # ff’ <= verursacht seltsame Dinge
} kern;
\end{filecontents*}

\setmainfont[Ligatures=TeX,FeatureFile=mykern.fea]{Linux Libertine O}

\begin{document}

WA AV Test Type off fit fly office baffle

"`World Wide Web"'

„World Wide Web“

VAN GOGH

I “Ask Jeff” or ‘Ask Jeff’.

\textit{Two of [of] (of) ‘of’ “of” of? of! of*}

Two of [of] (of) ‘of’ “of” of? of! of*.

\end{document}

Die Syntax solcher Feature-Dateien kann ebenfalls bei Adobe nachlesen.

Beim Versuch, das Kerning im Zusammenhang mit der ff-Ligatur anzupassen, geschehen aber seltsame Dinge (einfach mal die oben markierte(n) auskommentierte(n) Zeile(n) verwenden, um das nachzuvollziehen). Wo der Bug sitzt (LuaTeX?, fontspec?), habe ich auf die Schnelle nicht herausgefunden.

alt text

Permanenter link

beantwortet 14 Sep '14, 10:59

Clemens's gravatar image

Clemens
19.0k113060

bearbeitet 14 Sep '14, 11:44

Super danke! Bei mir funktionieren auch die Ligaturen. Ich wundere mich, dass anscheinend vor allem bei Satzzeichen das Kerning noch nicht (wirklich) vorhanden ist, aber das ist immerhin ein Anfang ... (Btw: Die Glyphen kann man super mit dem Programm "Fontmatrix" (für Linux) nachschauen.)

(14 Sep '14, 11:37) Tuxjoe

Dass die Ligaturen nicht funktionieren würden, habe ich nicht behauptet. Entferne mal das Kommentarzeichen (#) bei # pos ff quotedblright 100; und schaue, was passiert, dann weißt Du, was ich meine... (welche Seltsamheiten genau passieren, scheint übrigens von der gewählten Schrift abzuhängen).

(14 Sep '14, 11:42) Clemens
1

Das Kerning hängt soweit ich weiß von der Schrift ab, nicht von LuaLaTeX. Mit pdfLaTeX bekomme ich mit libertine auch kein anderes Kerning

(14 Sep '14, 11:51) Clemens

Ergänzend zur sehr schönen Antwort @Clemens, sei darauf hingewiesen, dass auch in diesem Fall wieder das Paket csquotes, das Du ja sogar schon lädst, bezüglich der korrekten Auswahl der Zeichen hilfreich ist:

Open in writeLaTeX
\documentclass{scrartcl}
\usepackage[ngerman]{babel} 
\usepackage{csquotes}
\usepackage{microtype}
\usepackage{fontspec}
\setmainfont[Ligatures=TeX]{Linux Libertine O}

\begin{document}

"`World Wide Web"' (babel ohne Änderung)

„World Wide Web“ (UTF8-Eingabe der richtigen Zeichen)

\textquote{World Wide Web} (\verb|\textquote|)

\end{document}

Ich habe im Beispiel Linux Libertine verwendet, weil ich diese im Gegensatz zur AGaramond-Pro Regular habe. Aber auch daran zeigt sich genau das Problem, des Ersatzfonts bei der babel-Eingabe und die korrekten Zeichen bei Verwendung der csquotes-Anweisung:

unterschiedliche Anführungen

Eine weitere für LuaLaTeX (und XeLaTeX) interessante Möglichkeit ist die Verwendung von polyglossia:

Open in writeLaTeX
\documentclass{scrartcl}
\usepackage{polyglossia}
\setdefaultlanguage{german}
\setkeys{german}{babelshorthands}
\usepackage{csquotes}
\usepackage{microtype}
\usepackage{fontspec}
\setmainfont[Ligatures=TeX]{Linux Libertine O}

\begin{document}

"`World Wide Web"' (babel via polyglossia ohne Änderung)

„World Wide Web“ (UTF8-Eingabe der richtigen Zeichen)

\textquote{World Wide Web} (\verb|\textquote|)

\end{document}

Die über die Option babelshorthands aktivierten babel-Eingabemöglichkeiten verwenden in diesem Fall ebenfalls die korrekten Anführungszeichen aus dem gewählten Font:

Ausgabe mit klzzwxh:0010

Das Kerning ist in der Tat eine Entscheidung (oder ggf. ein Versäumnis) des Font-Designers. Siehe dazu die Antwort @Clemens.

Permanenter link

beantwortet 14 Sep '14, 13:09

Ijon%20Tichy's gravatar image

Ijon Tichy
4.4k618

bearbeitet 15 Sep '14, 01:25

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:

×14
×13
×3

Frage gestellt: 13 Sep '14, 20:19

Frage wurde angeschaut: 2,797 Mal

Zuletzt aktualisiert: 15 Sep '14, 01:25