Unfreie Schriften installieren Thema ist als GELÖST markiert

Alles rund um das System für Linux, Mac & Windows.


M0M0
Forum-Anfänger
Forum-Anfänger
Beiträge: 45
Registriert: So 24. Nov 2019, 18:59

Unfreie Schriften installieren

Beitrag von M0M0 »

Mein Problem ist ähnlich dem hier beschriebenen:

viewtopic.php?f=18&t=15153

Zusätzlich zur dort beschriebenen manuellen Installation, habe ich auch probiert UWS Classico mittels getnonfreefonts zu installieren. Habe alles sowohl Systemweit als auch für den Benutzer probiert.

Lasse ich

getnonfreefonts --user --lsfonts

laufen erhalte ich auch

classico       Classico (URW)                                       [installed]

Dennoch liefert

\documentclass{article}
\usepackage{fontspec}
\setmainfont{UWS Classico}
\begin{document}
  Hallo Welt!
\end{document}

den Fehler

! Package fontspec Error: The font "UWS Classico" cannot be found.

Benutzeravatar
KOMA
TeX-Entwickler
TeX-Entwickler
Beiträge: 2802
Registriert: Fr 4. Jul 2008, 17:28
Kontaktdaten:

Re: Unfreie Schriften installieren

Beitrag von KOMA »

getnonfreefonts installiert die URW Classico. Man kann diese selbstverständlich nicht mit dem Namen UWS Classico laden. Mit

%!TeX lualatex
\documentclass{article}
\usepackage{fontspec}
\setmainfont{URW Classico}
\begin{document}
  Hallo Welt!
\end{document}

wird bei mir hingegen laut log-Datei /usr/local/texlive/texmf-local/fonts/opentype/urw/classico/URWClassico-Regular.otf geladen. Ob ich die per getnonfreefonts installiert habe, müsste ich erst einmal überprüfen. Jedenfalls ist sie bei mir vorhanden und funktioniert.

Ebenso geht:

\documentclass{article}
\usepackage[sfdefault]{classico}
\begin{document}
  \sffamily Hallo Welt!
\end{document}

Bei Verwendung von PDFLaTeX wird statt der OTF-Datei natürlich /usr/local/texlive/texmf-local/fonts/type1/urw/classico/URWClassico-Regular.pfb, also die Type-1-Variante, verwendet.

Hier im Online-Compiler funktioniert leider beides nicht, da die Fonts nicht installiert sind.

Zuletzt geändert von KOMA am Mi 24. Nov 2021, 08:16, insgesamt 1-mal geändert.

M0M0
Forum-Anfänger
Forum-Anfänger
Beiträge: 45
Registriert: So 24. Nov 2019, 18:59

Re: Unfreie Schriften installieren

Beitrag von M0M0 »

KOMA hat geschrieben:
Di 23. Nov 2021, 18:17

getnonfreefonts installiert die URW Classico.

Oh, da hätte ich mein Minimalbeispiel mir nochmal durchlesen müssen... Jedoch habe ich im "echten" Dokument tatsächlich

\setsansfont{URW Classico}

korrekt geschrieben, bekomme jedoch trotzdem besagten Fehler


Benutzeravatar
KOMA
TeX-Entwickler
TeX-Entwickler
Beiträge: 2802
Registriert: Fr 4. Jul 2008, 17:28
Kontaktdaten:

Re: Unfreie Schriften installieren

Beitrag von KOMA »

Generell sollte man den Helfen als Minimalbeispiel nur das verkaufen, was man auch wirklich als Minimalbeispiel getestet hat. Alles andere demotiviert die Helfer ganz schnell. Ich fühle mich dann wirklich verarscht, weil ich Zeit in etwas investiert habe, was so gar nicht wahr und schon gar nicht relevant ist. Deshalb ein Minimalbeispiel immer in den Beitrag kopieren und weder abtippen und noch vor dem Posten eben schnell etwas daran ändern. Das ist dann nicht getestet und genau genommen irrelevant und kann das Problem komplett verfälschen.

XeLaTeX oder LuaLaTeX? XeLaTeX hat desöfteren ein Problem damit, Fonts per Namen zu finden.

Du kannst auch noch überprüfen, ob die Font-Datei überhaupt vorhanden ist. Name habe ich ja oben angegeben.

Übrigens: Das Paket classico erkennt LuaLaTeX und XeLaTeX selbständig und funktioniert auch mit diesen und stellt dann die Font-Familie \classico zur Verfügung.

Ich mache jetzt Feierabend. Der Bereich ist ohnehin nicht meine Baustelle.


M0M0
Forum-Anfänger
Forum-Anfänger
Beiträge: 45
Registriert: So 24. Nov 2019, 18:59

Re: Unfreie Schriften installieren

Beitrag von M0M0 »

KOMA hat geschrieben:
Di 23. Nov 2021, 20:47

Generell sollte man den Helfen als Minimalbeispiel nur das verkaufen, was man auch wirklich als Minimalbeispiel getestet hat. Alles andere demotiviert die Helfer ganz schnell. Ich fühle mich dann wirklich verarscht, weil ich Zeit in etwas investiert habe, was so gar nicht wahr und schon gar nicht relevant ist. Deshalb ein Minimalbeispiel immer in den Beitrag kopieren und weder abtippen und noch vor dem Posten eben schnell etwas daran ändern. Das ist dann nicht getestet und genau genommen irrelevant und kann das Problem komplett verfälschen.

Das sehe ich vollkommen ein. Möchte aber im konkreten Fall anmerken, dass das Testen meines falschen Minimalbeispiels ja genau denselben Fehler hervorruft wie bei korrekter Schreibweise, nämlich dass keine Schrift mit diesem Namen vorliegt. Daher ist mir der Fehler nicht aufgefallen. Ich bitte um Entschuldigung ;)

KOMA hat geschrieben:
Di 23. Nov 2021, 20:47

XeLaTeX hat desöfteren ein Problem damit, Fonts per Namen zu finden.

Das ist in der Tat das Problem, es funktioniert mit LuaLaTeX. Gibt es allgemeine Lösung, wie ich XeLaTeX "beibringen" kann, die richtigen Fonts zu finden?

KOMA hat geschrieben:
Di 23. Nov 2021, 20:47

Ich mache jetzt Feierabend.

Der sei dir gegönnt. Ich jetzt auch :)


M0M0
Forum-Anfänger
Forum-Anfänger
Beiträge: 45
Registriert: So 24. Nov 2019, 18:59

Re: Unfreie Schriften installieren

Beitrag von M0M0 »

XeLaTeX kann anscheinend nur systemweit installierte Fonts verwenden. Ich habe also ein soft link in $USER/.local/share/fonts auf /usr/local/texlive/texmf-local/fonts/opentype/urw/classico/ erstellt und dann fc-cache laufen lassen. Jetzt findet auch XeLaTeX die Schrift


Benutzeravatar
KOMA
TeX-Entwickler
TeX-Entwickler
Beiträge: 2802
Registriert: Fr 4. Jul 2008, 17:28
Kontaktdaten:

Re: Unfreie Schriften installieren

Beitrag von KOMA »

Gibt es einen objektiven Grund, warum Du nicht LuaLaTeX verwenden möchtest? In den allermeisten Fällen und unter Voraussetzung einer aktuellen TeX-Installation hat die Verwendung von LuaLaTeX gegenüber XeLaTeX Vorteile. Es gibt einige, eher seltene Fälle, in denen man mit XeLaTeX besser fährt, aber die sind eher selten. Auch die Behauptung LuaLaTeX wäre generell langsamer, zu der ich früher einmal beigetragen habe, stimmt so schon lange nicht mehr. Wenn man beispielsweise pgfplots verwendet, kann es sehr viel schneller sein.

Und wenn wir schon bei den Gerüchten sind: Das Gerücht, polyglossia wäre mit XeLaTeX und LuaLaTeX besser als babel, stimmt auch schon lange nicht mehr. Das kann abhängig vom Dokument sogar ins genaue Gegenteil umschlagen. Außerdem wird babel weit aktiver gepflegt, so dass man im Fall eines Bug-Reports oder Feature-Requests beim Maintainer meist recht schnell Hilfe bekommt.

Achja: Wenn man will, dass alle OpenType- und Type-1-Fonts von TeX-Live zu Systemfonts werden, einfach eine Datei /etc/fonts/conf.d/00-texlive-2021.conf:

<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>
<dir>/usr/local/texlive/2021/texmf-dist/fonts/opentype/</dir>
<dir>/usr/local/texlive/2021/texmf-dist/fonts/type1/</dir>
</fontconfig>

und eine Datei /etc/fonts/conf.d/00-texlive-local.conf:

<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>
<dir>/usr/local/texlive/texmf-local/fonts/opentype/</dir>
<dir>/usr/local/texlive/texmf-local/fonts/type1/</dir>
</fontconfig>

anlegen und danach natürlich fc-cache laufen lassen. Allerdings spült einem das wirklich eine beträchtliche Anzahl zusätzlicher Fonts in die Fontverwaltung, was bei einigen Programmen erhebliche Auswirkungen auf das Laden des Font-Auswahl-Dialogs haben kann. Es kann daher sinnvoll sein, etwas dedizierter vorzugehen.

Und zum Schluss: Wenn ich bei einem Minimalbeispiel explizit %!TeX lualatex angebe, dann hat das meist einen Grund. :wink:


M0M0
Forum-Anfänger
Forum-Anfänger
Beiträge: 45
Registriert: So 24. Nov 2019, 18:59

Re: Unfreie Schriften installieren

Beitrag von M0M0 »

KOMA hat geschrieben:
Mi 24. Nov 2021, 08:13

Gibt es einen objektiven Grund, warum Du nicht LuaLaTeX verwenden möchtest?

Nein, aber es gibt zwei subjektive.

Ich habe das gesamte Dokument bisher stets mit XeLaTeX kompiliert, wechsele ich nun zu LuaLaTeX werden viele Zeilen anders umgebrochen. Allgemein habe ich den Eindruck, dass XeLaTeX mehr Zeichen in eine Zeile packt, als LuaLaTeX das tut. Dadurch entstehen viele neue "overfull boxes" welche ich in der XeLaTeX version bereits alle ausgemerzt habe.

Der zweite Punkt liegt an dem verwendeten Editor/wie ich das Dokument kompiliere. Ich bin von Vim zu Emacs gewechselt und rufe dann von innerhalb Emacs make auf, im Makefile selbst wird dann latexmk -xelatex ... aufgrufen. Dessen Output lasse ich in Emacs in einem interaktiven Shell Buffer ausgeben, sodass ich, falls ich mit xelatex interagieren möchte, dies einfach tun kann. Probiere ich das Gleiche mit LuaLaTeX "verschluckt" sich eines der Programme auf dem Weg. Jedenfalls hört nach einiger Zeit das Emacs Window, in dem die interaktive Shell läuft, auf automatisch nach unten zu scrollen. Ich muss also manuell nach unten scrollen um mit zubekomme, ob ein Fehler aufgetreten ist.
Das ist sicherlich ein Problem in Emacs (in Kombination mit latexmk) und nicht von LuaLaTeX, die einfachste Lösung für mich ist es trotzdem einfach XeLaTeX zu verwenden.


Antworten