Wo finde ich den Familiencode für eine benutzerdefinierte Schriftart?

Wo finde ich den Familiencode für eine benutzerdefinierte Schriftart?

Gibt es eine Referenzliste für die Kodierung von Schriftarten in LaTeX? Einen Ort, an dem man nach einer bestimmten Schriftart suchen und den entsprechenden Code erhalten kann, der sie repräsentiert. Einige davon sind nicht einmal logisch, zum Beispiel fürTeX Gyre HerosIch würde mir einen Code wie " tgh" vorstellen, aber der Code ist " qhv":

{\usefont{T1}{qhv}{b}{n}\selectfont\huge}  %"qhv" - TeX Gyre Heros, "b" - bold
{\usefont{T2A}{qcr}{m}{n}qcr\selectfont}   % Another font

Ich suchte nach dem entsprechenden Familiencode fürAlegreyaUndAlegreya Sansaber ich kann es nicht finden. Es muss existieren, denke ich, denn meine Logik sagt mir, dass jeder Schriftart auf der Welt ein solcher Code zugeordnet ist? Oder vielleicht auch nicht? Wo würde man nach einem solchen Code suchen? Ich habe die Schriftart auch erfolglos in meinem Schriftarten-Viewer geöffnet.

Prost!

Antwort1

Eine allgemeinere Methode zum Finden des Familiennamens, bei der Sie keine Dateien öffnen müssen und die nicht von der Existenz einer .styDatei abhängt, ist die Verwendung der Namen der Schriftartdefinitionsdateien ( .fd). Dies funktioniert mit jeder Schriftart, die für die Verwendung mit LaTeX eingerichtet ist, unabhängig davon, ob eine .styDatei bereitgestellt wird oder nicht.

Angenommen, Sie möchten Zapf Chancery verwenden. Dies wird vom zapfchanPaket bereitgestellt und ist in Standard-TeX-Distributionen enthalten. Untersuchen des Inhalts von texmf-dist/tex/latex/zapfchan/(TeX Live):

8ruzc.fd   omluzc.fd  omsuzc.fd  ot1uzc.fd  t1uzc.fd   ts1uzc.fd

In diesem Fall gibt es keine .styDatei. Umso wichtiger ist es, den Familiennamen herauszufinden, da dies die einzige Möglichkeit ist, die Schriftart mit LaTeX zu verwenden.

An dieser Stelle ist es hilfreich, ein wenig über Schriftkodierungen zu wissen. 8r, oml, oms, ot1, t1und ts1sind Kleinbuchstabenversionen verschiedener Schriftkodierungen, die von TeX verwendet werden: 8r, OML, OMS, OT1, T1 und TS1. Um den Familiennamen herauszufinden, ist es nicht wichtig, was diese sind. Wichtig ist nur, dass Sie wissen, dass es sich um Kodierungen handelt.

  • Nehmen Sie den Namen einer beliebigen .fdDatei. -> Z. t1uzc.fdB.
  • Löschen Sie das .fdSuffix. -> Beispiel t1uzc:
  • Löschen Sie das Kodierungspräfix. -> Z. B. uzc.
  • Übrig bleibt der Name einer Schriftfamilie, zB uzc.

Einige Schriftarten können mehrere verschiedene Schriftfamilien und unterschiedliche Kodierungen haben. In diesen Fällen müssen Sie genauer nachforschen, um herauszufinden, welche Familie Sie verwenden möchten. Für Zapf Chancery gibt es jedoch nur eine einzige Familie uzcund diese würden Sie verwenden, um die Schriftart in LaTeX auszuwählen.

Der Name der Schriftartdefinitionsdateien verrät Ihnen noch etwas anderes: Sie geben an, in welchen Kodierungen die Schriftart verfügbar ist. In diesem Fall haben Sie:

  • 8r: Dies ist eine „rohe“ Kodierung – das können Sie vergessen, es sei denn, Sie möchten selbst Schriftpakete erstellen;
  • OML/OMS: Kodierungen zur Unterstützung der Mathematik;
  • OT1: die standardmäßige TeX-Textkodierung, die auch in der Mathematik verwendet wird;
  • T1: eine verbesserte Textkodierung mit deutlich besserer Unterstützung als OT1, insbesondere für Buchstaben mit Akzent;
  • TS1: eine ergänzende Textkodierung, die verschiedene Symbole wie etwa das Copyright-Symbol, Mediävalnummern usw. bereitstellt.

An dieser Stelle werden Sie vielleicht erstaunt sein, dass

\fontencoding{T1}\fontfamily{uzc}\selectfont Is this Zapf Chancery?

produziert immer noch Computer Modern Roman statt Zapf Chancery. LaTeX wird Sie auf der Konsole und im Protokoll warnen, dass es Schriftarten ersetzt hat, und (für pdfTeX) wird Ihr PDF-Viewer Ihnen zeigen, dass CMR immer noch verwendet wird. Warum schlägt die Schriftartauswahl fehl?

Um das herauszufinden, muss man sich anseheninnendie Schriftartdefinitionsdatei. (Ich habe nur gesagt, dass Sie die Dateien nicht öffnen müssen, um die Familie herauszufinden – ich habe nicht gesagt, dass Sie sie verwenden können!)

Beim Lesen t1uzc.fdfinden wir die folgende Zeile:

\DeclareFontShape{T1}{uzc}{mb}{it}{
   <-> uzcmi8t
}{}

mbDaraus lässt sich erkennen, dass die Familie eine Schriftart (mittelfett) und eine Form (kursiv) der Serie umfasst it.

Die nächsten beiden Formdeklarationen:

\DeclareFontShape{T1}{uzc}{m}{it}{<->ssub * uzc/mb/it}{}
\DeclareFontShape{T1}{uzc}{mb}{sl}{<->ssub * uzc/mb/it}{}

teilen Sie uns mit, dass diese einzelne Schriftart ( uzc/mb/it) stillschweigend (d. h. ohne Warnung) ersetzt wird, wenn die Kursivform in mittlerer Stärke ( mSerie) oder die schräge Form ( sl) in der Serie mittlerer Fettschrift angefordert wird.

Die endgültige Formdeklaration:

\DeclareFontShape{T1}{uzc}{m}{sl}{<->ssub * uzc/mb/sl}{}

sagt uns, dass uzc/mb/slstillschweigend ersetzt wird, wenn die schräge Form in der mittleren Reihe angefordert wird. Da die kursive, mittlere Fettschrift sowieso ersetzt wird uzc/mb/sl, bedeutet dies effektiv, dass wir immer die kursive, mittlere Fettschrift erhalten, egal welche von Kursivschrift und Schrägschrift angefordert wird und egal welche von mittlerer und mittlerer Fettschrift.

Für die normale, aufrechte Form ist jedoch nichts definiert. Um Zapf Chancery tatsächlich verwenden zu können, müssen wir also auch auf die kursive oder schräge Form wechseln. Um auf Nummer sicher zu gehen, sollten wir am besten auch die Stärke angeben. Auf diese Weise erhalten wir beispielsweise bei aktivierter Fettschrift nichts Unerwartetes (wie CMR in Fettschrift).

\fontencoding{T1}\fontfamily{uzc}\fontshape{it}\fontseries{mb}\selectfont Is this Zapf Chancery?

Beachten Sie, dass diese Methode zum Finden des Familiennamens funktioniert, unabhängig davon, ob der Schriftname dem Berry-Schema folgt oder nicht. Beispiel:

texmf-dist/tex/latex/ebgaramond/T1EBGaramond-OsF.fd

sagt uns, dass eine Schriftfamilie in der T1-Kodierung mit dem Namen verfügbar ist EBGaramond-OsF, die wir bei Bedarf ebenfalls mit auswählen könnten \fontfamily{}. [Obwohl es in diesem Fall im Allgemeinen besser wäre, die .styvom Paket bereitgestellte Datei zu verwenden.)

Antwort2

Die Alegreya-Schriftarten (Serifen und Sans) verwenden nicht das Berry-Schema, bei dem der Familienname eine Abkürzung aus drei (oder vier) Buchstaben ist.

Die Familiennamen finden Sie in Alegreya.styund AlegreyaSans.sty.

Alegreya

220 \else % type1
221 
222   \def\Alegreyafamily{Alegreya-\Alegreya@figurealign \Alegreya@figurestyle}
223   \def\Alegreya{\fontfamily{\Alegreyafamily}\selectfont}
224   \def\AlegreyaLF{\fontfamily{Alegreya-LF}\selectfont}
225   \def\AlegreyaOsF{\fontfamily{Alegreya-OsF}\selectfont}
226   \def\AlegreyaTLF{\fontfamily{Alegreya-TLF}\selectfont}
227   \def\AlegreyaTOsF{\fontfamily{Alegreya-TOsF}\selectfont}

AlegreyaSans

235 \else % type1
236 
237   \def\AlegreyaSansfamily{AlegreyaSans-\AlegreyaSans@figurealign \AlegreyaSans@figurestyle}
238   \def\AlegreyaSans{\fontfamily{\AlegreyaSansfamily}\selectfont}
239   \def\AlegreyaSansLF{\fontfamily{AlegreyaSans-LF}\selectfont}
240   \def\AlegreyaSansOsF{\fontfamily{AlegreyaSans-OsF}\selectfont}
241   \def\AlegreyaSansTLF{\fontfamily{AlegreyaSans-TLF}\selectfont}
242   \def\AlegreyaSansTOsF{\fontfamily{AlegreyaSans-TOsF}\selectfont}

Ich habe die Zeilennummern als Referenz hinzugefügt. Die letzten vier Zeilen in jedem Codeausschnitt sagen Ihnen, was Sie als Argument verwenden müssen \fontfamily.

Die Akronyme LF, OsF, TLFund TOsFstehen für „Versalziffern“, „Oldtimerziffern“, „Tabellen-Versalziffern“ und „Tabellen-Oldtimerziffern“.

Für XeLaTeX oder LuaLaTeX ist es einfacher: Geben Sie ein

\newfontfamily{\alegreyasans}[
  <options>
]{AlegreyaSans}

und verwenden Sie \alegreyasansdiese Schriftart, wenn Sie sie möchten.

verwandte Informationen