TrueType Font unter Windows mit XeTeX

Schriftbild, Absätze und Auflistungen einstellen


jabaa
Forum-Anfänger
Forum-Anfänger
Beiträge: 13
Registriert: Do 16. Apr 2009, 00:03

TrueType Font unter Windows mit XeTeX

Beitrag von jabaa »

Hallo,

ich brauche für ein Projekt ein TrueType Font. Sowas mache ich zum ersten Mal und habe im Internet erfahren, dass ich zumindest für dieses Projekt von PDFLaTeX auf XeLaTeX umsteigen sollte, da ich mir so unglaublich viel Frustration und Zeit spare. So weit, so gut. Ich habe das TTF unter Windows installiert und finde es unter meinen Schriftarten. Auch in Office finde ich das TTF unter DIN 6776 und kann es nutzen. Wenn ich jedoch im TeX Dokument versuche, das TTF zu laden, bekomme ich
fontspec error: "font-not-found" The font "DIN 6776" cannot be found. For immediate help type H <return>. \setmainfont{DIN 6776}
Nun habe ich versucht, das TTF direkt im Projektordner zu platzieren und direkt anzusprechen. Das klappt. Also ist die Datei in Ordnung. In Windows kann man sie auch nutzen. Nur mache ich wohl irgendwas falsch. Vermutlich muss ich den Namen irgendwie anders schreiben. Da es bei dem Projekt um mehrere Dokumente geht und ich ungern für jedes Dokument eine Kopie des TTF speichere, hoffe ich, dass mir jemand einen Hinweis geben kann, was ich falsch mache. Mein Beispiel:
\documentclass{scrartcl}
\usepackage{fontspec}
\setmainfont{DIN 6776}
%\setmainfont{ufonts.com_din-6776.ttf}
\begin{document}
Text
\end{document}
Diese Version funktioniert nicht. Wenn ich die auskommentierten Zeilen austausche, klappt es. Ich habe einfach mal Stichprobenartig 10 beliebige, installierte Schriftarten ausprobiert und alle werden gefunden. Nur die DIN 6776 nicht.

Stamm-

Zu anderem Setzer wechseln

Beitrag von Stamm- »

Soweit ich weiß, findet Xe(La)TeX nur Schriften im Format TTF (oder OTF), wenn diese sich im TeX-Baum befinden. Versuche mal dein Beispiel mit Lua(La)TeX zu bearbeiten. Das findet auch Systemschriften.

Benutzeravatar
u_fischer
Forum-Meister
Forum-Meister
Beiträge: 4268
Registriert: Do 22. Nov 2012, 11:09
Kontaktdaten:

Beitrag von u_fischer »

Soweit ich weiß, findet Xe(La)TeX nur Schriften im Format TTF (oder OTF), wenn diese sich im TeX-Baum befinden.
Nein, Systemschriften werden normalerweise ohne Problem gefunden. Wenn xelatex Schriften nicht findet, dann ist entweder der Name nicht richtig, oder man muss mal fc-cache ausführen.

Beinschuss
Forum-Meister
Forum-Meister
Beiträge: 809
Registriert: Di 2. Okt 2012, 21:42
Wohnort: NRW

Beitrag von Beinschuss »

Wenn die Schriften im Windows-Systemordner installiert sind, findet fontspec sie problemlos - wenn man sie mit dem richtigen Namen anspricht (Groß- und Kleinschreibung, Leerzeichen etc. beachten). Der kleine Freeware-Fontviewer dp4 ist hilfreich, weil er die genauen Fontnamen sehr gut anzeigt.

jabaa
Forum-Anfänger
Forum-Anfänger
Beiträge: 13
Registriert: Do 16. Apr 2009, 00:03

Beitrag von jabaa »

Ich habe mal mit dp4 den Namen nochmal geprüft. Ich konnte da keinen Fehler feststellen. Es scheint alles in Ordnung. fc-cache habe ich ausgeführt. Das hat nicht geholfen. Als Test habe ich LuaLaTeX ausprobiert. Dort klappt es. Wieso findet LuaLaTeX das TTF aber XeLaTeX nicht? XeLaTeX findet sonst bisher alle anderen getesteten TTFs, auch System TTFs, die ich im Tex Tree nicht finden konnte. Also findet XeLaTeX wohl die meisten System Fonts. Nur das eine Font nicht, das aber von LuaLaTeX gefunden wird. Was ist da los???

Ich habe jetzt mal ausprobiert, die TTFs per Dateinamen zu laden. Das klappt in XeLaTeX und in LuaLaTeX. Nur der Fontname klappt in XeLaTeX nicht. Jemand eine Idee?
Sorry, but miktex-makemf did not succeed for the following rea

son: The DIN source file could not be found. The log file hopefully contains the information to get MiKTeX going again: C:/Users/user/AppData/Local/MiKTeX/2.9/miktex/log/miktex-makemf.log You may want to visit the MiKTeX project page, if

you need help.

hbf2gf (CJK ver. 4.8.4) Couldn't find `DIN 67.cfg'

Benutzeravatar
Johannes_B
Moderator
Moderator
Beiträge: 5079
Registriert: Do 1. Nov 2012, 14:55
Kontaktdaten:

Beitrag von Johannes_B »

TeXwelt - Fragen und Antworten Schaut vorbei und stellt Fragen.
LaTeX-Vorlagen?

Der Weg zum Ziel: Ruhe bewahren und durchatmen, Beiträge und unterstützende Links aufmerksam lesen, Lösungsansätze verstehen und ggf. nachfragen.

Benutzeravatar
u_fischer
Forum-Meister
Forum-Meister
Beiträge: 4268
Registriert: Do 22. Nov 2012, 11:09
Kontaktdaten:

Beitrag von u_fischer »

jabaa hat geschrieben:Ich habe mal mit dp4 den Namen nochmal geprüft. Ich konnte da keinen Fehler feststellen. Es scheint alles in Ordnung. fc-cache habe ich ausgeführt. Das hat nicht geholfen. Als Test habe ich LuaLaTeX ausprobiert. Dort klappt es. Wieso findet LuaLaTeX das TTF aber XeLaTeX nicht?
lualatex benützt ein anderes System.
Du kannst aber mal in der Namensliste von luatex nachschauen, was die über die verschiedene Namen der Schrift sagt (in %APPDATA%/Local/MiKTeX/2.9/luatex-cache/generic/names/luaotfload-names.lua). Probier dann alle durch.
Ich habe jetzt mal ausprobiert, die TTFs per Dateinamen zu laden. Das klappt in XeLaTeX und in LuaLaTeX.
Dann nimm doch den Dateinamen, ist sowieso sicherer.
Nur der Fontname klappt in XeLaTeX nicht. Jemand eine Idee?
Du hast halt den richtigen noch nicht gefunden. XeLaTeX ist da ein bisschen wählerisch und manche Schriften (besonders alte) sind auch seltsam.

jabaa
Forum-Anfänger
Forum-Anfänger
Beiträge: 13
Registriert: Do 16. Apr 2009, 00:03

Beitrag von jabaa »

Das Problem an den Dateinamen ist, dass das Projekt von mehreren Leuten an mehreren PCs bearbeitet wird. Bei Windows wird ja der Dateiname gespeichert, den der TTF bei der Installation hatte. Wenn Leute nun das Font von unterschiedlichen Quellen beziehen, kommt es schnell vor, dass die Dateinamen sich unterscheiden (die Struktur ist meist url.font.ttf). So habe ich alleine schon am PC und am Laptop einen anderen Dateinamen für das gleiche Font. Das ist natürlich sehr unpraktisch, wenn ich jedes Mal den Header ändern muss, wenn ich an einem anderen System arbeite oder jemand anderes damit gearbeitet hat. Man kann dann auch nicht Live zusammen arbeiten.

Ich vermute mal, dass das der Eintrag ist:
{
["basename"]="ufonts.com_din-6776.ttf",
["familyname"]="din6776",
["fontname"]="din6776",
["format"]="ttf",
["fullname"]="din6776",
["fullpath"]="c:/windows/fonts/ufonts.com_din-6776.ttf",
["index"]=783,
["italicangle"]=0,
["location"]="texmf",
["plainname"]="DIN 6776",
["size"]=false,
["splainname"]="din6776",
["splitstyle"]="din6776",
["subfamily"]="regular",
["subfont"]=false,
["version"]="1.0",
["weight"]=400,
}
In LuaLaTeX funktionieren beide Namen: DIN 6776 und din6776. In XeLaTeX funktionieren beide nicht. Auf diesem System ist der Dateiname ufonts.com_din-6776.ttf, auf einem anderen System ist der Dateiname Din6776.ttf.

Ich habe jetzt auch mal einfach einen andere Font von ufonts.com runtergeladen, der noch nicht auf dem System installiert war und es hat alles normal funktioniert. Also liegt es speziell an dem Font und XeLaTeX. Sehr seltsam

jabaa
Forum-Anfänger
Forum-Anfänger
Beiträge: 13
Registriert: Do 16. Apr 2009, 00:03

Beitrag von jabaa »

Ich habe die Datei jetzt mal mit FontForge geöffnet und den Font neu generiert. Danach hat es funktioniert. Anscheinend ist irgendwas mit einem der vielen Fontnamen oder irgendwas an der Datei, mit dem XeLaTeX so nicht umgehen kann, aber LuaLaTeX schon.

Benutzeravatar
u_fischer
Forum-Meister
Forum-Meister
Beiträge: 4268
Registriert: Do 22. Nov 2012, 11:09
Kontaktdaten:

Beitrag von u_fischer »

jabaa hat geschrieben:Ich habe die Datei jetzt mal mit FontForge geöffnet und den Font neu generiert. Danach hat es funktioniert. Anscheinend ist irgendwas mit einem der vielen Fontnamen oder irgendwas an der Datei, mit dem XeLaTeX so nicht umgehen kann, aber LuaLaTeX schon.
Inwieweit hilft dir das bei deinem Problem mit mehreren Benutzern? Wenn du denen schon nicht zumuten willst/kannst die Schrift umzubennen, damit sie überall gleich heißt, dann werden sie ja wohl auch kaum erstmal Fontforge anwerfen.

Antworten