Unterschied zwischen Inputencoding (inputenc
) und Fontencoding (fontenc
)
inputenc
(bzw. dessen Anweisung \inputencoding
) deklariert die Eingabecodierung der Datei, also welches Zeichen der Eingabe welche Bedeutung hat. Das sorgt beispielsweise dafür, dass bei ansinew
die Eingabe eines Zeichens mit dem Zeichencode 233 dazu führt, dass ein \ss
ausgeführt wird. Die entsprechenden Festlegungen finden sich in der Regel in Dateien mit den Namen Codierung.def
, also beispielsweise ansinew.def
. Näheres zu den dort verwendeten Befehlen ist in der Anleitung zu inputenc
zu finden.
fontenc
(bzw. \fontencoding
) legt fest, welches Zeichen eines Fonts welche Bedeutung hat. Das sorgt beispielsweise dafür, dass ein \ss
bei OT1 auf \char 25
abgebildet wird, während es bei T1 auf \char 255
abgebildet wird. Normalerweise sind die Fontencodings in Dateien codierungenc.def
definiert, also beispielsweise ot1enc.def
für OT1
. fontenc
versucht daher für noch unbekannte Fontencodings eine solche Datei zu laden. Die dort verwendeten Befehle sind im fntguide
zu finden.
Während also inputenc
die Übersetzung von Zeichen bzw. Zeichencodes der Eingabe in ihre Bedeutung vornimmt, ordnet fontenc
den Bedeutungen ein konkretes Zeichen des aktuellen Fonts zu.
Einordnung von selinput
selinput
wiederum ermittelt lediglich über Beispieleingabezeichen, welche Codierung über inputenc
zu aktivieren ist! Es erleichtert also nur die Auswahl der Eingabecodierung hat aber nichts mit der Auswahl eines Fontencodings zu tun!
Fontencoding C19
Bei C19
handelt es sich um ein Fontencoding zum CJK
-Paket (das wird übrigens im encguide
auch erwähnt). Diese Fontencodings können nur mit CJK
sinnvoll verwendet werden, weil sie Befehle dieses Pakets verwenden. Dabei sind diese Befehle auch nur im entsprechenden CJK
-Kontext definiert. Vermutlich aus diesem Grund existiert auch kein c19enc.def
. Stattdessen wird das entsprechende Encoding über interne CJK
-Befehle in CJK.enc
definiert.
Am Rande erwähnt und für das Verständnis unerheblich: C19
ist eine GBK
-song
-Codierung. Dagegen wäre beispielsweise C00
eine Bg5
-song
-Codierung, C05
eine HK
-song
-Codierung, C09
eine Bg5+
-song
-Codierung etc. Und nein, auch diese Codierungen kann man nicht einfach per \fontencoding
laden, sondern sie sind nur im Kontext von CJK
verfügbar. Näheres ist der CJK
-Anleitung zu entnehmen, falls es jemanden ganz genau interessiert.
Vorschlag
Bevor Du ein Fontencoding laden willst, solltest Du also prüfen, ob es auch geladen werden kann, beispielsweise:
Open in writeLaTeX\IfFileExists{C19enc.def}{%
% Hier alles, was Du mit dem Fontencoding unternehmen willst
% beispielsweise:
\usefont{C19}{fs}{m}{n}\char 10
}{%
Das Font-Encoding C19 steht leider nicht für
\texttt{\string\fontencoding\{C19enc\}\string\selectfont}
oder
\texttt{\string\usefont\{C19enc\}\{\dots\}\{\dots\}\{\dots\}}
zur Verfügung! Eine Verwendung von Fontfamilie \texttt{fs}
im Fontencoding \texttt{C19} ist demnach nur mit speziellen
Paketen möglich.
}
beantwortet
19 Jun '14, 09:21
gast3
(ausgesetzt)
Akzeptiert-Rate:
53%
Du scheinst den Unterschied zwischen Dateikodierung (selinput, inputenc) und Schriftkodierungen (fontenc) nicht ganz verstanden zu haben. Abgesehen davon: Wenn du eine "C19"-kodierte Schrift nutzen willst, dann musst du die Kodierungen deklarieren - entweder durch laden der .def-Datei oder indem du die Deklarationen in deine Präambel schreibst.
"dann musst du die Kodierungen deklarieren - entweder durch laden der .def-Datei oder indem du die Deklarationen in deine Präambel schreibst."
OK, und wie geht das?
Ich finde bei mir keine Datei
c19enc.def
, wohl aber Schriften, dieC19
verwenden - kann das sein, daß das hier anders geht?\usepackage[C19]{fontenc}
geht ja, wie gesagt, nicht.Eine Schriftkodierung deklarierst du mit
\DeclareFontEncoding{T1}{}{}
. Informationen über den Befehl findest du in fntguide.pdf oder z.B. im LaTeX Companion. encguide.pdf ist auch interessant. Wenn du wissen willst, was die def-Dateien sonst noch tun: Schau einfach mal rein.