PDF: Font-Fallback für Emoji und Sonderzeichen - 2070 Missing-character-Faelle behoben

This commit is contained in:
dschlueter 2026-09-09 19:10:50 +02:00
commit abc7a5693f
8 changed files with 198 additions and 1 deletions

View file

@ -2,5 +2,41 @@
\setmonofont{DejaVu Sans Mono}[
Scale=MatchLowercase
]
% --- Symbol-/Emoji-Fallback ------------------------------------------------
% Times New Roman (Haupttext) kennt weder Emoji noch die Symbole der
% Lernelemente und keine hoch-/tiefgestellten Ziffern. XeLaTeX hat keine
% automatische Fallback-Kette — fehlende Zeichen fielen stillschweigend weg.
% Der Filter pandoc/emoji_fallback.lua schaltet die betreffenden Zeichen
% deshalb auf \symfont um. Symbola ist die einzige Schrift auf dem
% Bausystem, die das komplette Set abdeckt; Noto Color Emoji funktioniert
% unter XeTeX nicht (die Zeichen landen im nullfont). Monochrom — für den
% Drucksatz ohnehin passend.
\newfontfamily\symfont{Symbola}
% --- Automatische Umschaltung für den Diagrammtext --------------------------
% Die SVG-Diagramme werden vom Paket "svg" mit Inkscape nach LaTeX
% exportiert; deren Texte (Achsenbeschriftungen, Knotenlabels wie x₁, σᵀ)
% setzt LaTeX selbst — da erreicht der pandoc-Filter nicht mehr hin. Für
% diese Ebene übernimmt ucharclasses die Umschaltung auf \symfont je
% Unicode-Block. Die Zurück-Umschaltung ist bewusst
% \fontfamily{\familydefault}\selectfont und NICHT \normalfont:
% \normalfont würde auch Fettdruck und Kursiv zurücksetzen — "Aufgabe ⭐ —
% Titel" wäre nach dem Stern nur noch mager. Im Fließtext schaltet der
% pandoc-Filter bereits in geschlossenen Gruppen um; ucharclasses greift
% dort nur innerhalb dieser Gruppen und bleibt unsichtbar.
\usepackage[quiet]{ucharclasses}
\setTransitionsFor{SuperscriptsAndSubscripts}{\symfont}{\fontfamily{\familydefault}\selectfont}
\setTransitionsFor{PhoneticExtensions}{\symfont}{\fontfamily{\familydefault}\selectfont}
\setTransitionsFor{MathematicalOperators}{\symfont}{\fontfamily{\familydefault}\selectfont}
\setTransitionsFor{Arrows}{\symfont}{\fontfamily{\familydefault}\selectfont}
\setTransitionsFor{SupplementalArrowsA}{\symfont}{\fontfamily{\familydefault}\selectfont}
\setTransitionsFor{Dingbats}{\symfont}{\fontfamily{\familydefault}\selectfont}
\setTransitionsFor{MiscellaneousSymbols}{\symfont}{\fontfamily{\familydefault}\selectfont}
\setTransitionsFor{MiscellaneousSymbolsAndArrows}{\symfont}{\fontfamily{\familydefault}\selectfont}
\setTransitionsFor{MiscellaneousSymbolsAndPictographs}{\symfont}{\fontfamily{\familydefault}\selectfont}
\setTransitionsFor{Emoticons}{\symfont}{\fontfamily{\familydefault}\selectfont}
\setTransitionsFor{TransportAndMapSymbols}{\symfont}{\fontfamily{\familydefault}\selectfont}
\setTransitionsFor{SupplementalSymbolsAndPictographs}{\symfont}{\fontfamily{\familydefault}\selectfont}
\usepackage{microtype}
\usepackage{pifont}