Hallo!

Nach Wie stelle ich die Codierung meines Dokumentes am besten ein? dachte ich, das selinput-Paket ermittelt automatisch die Kodierungen.

Ich habe bei einigen Schriftarten, aufgerufen duch \usefont{<encoding>}... (siehe unten), Fehlermeldungen wie Encoding scheme LY1 unknown.

Wenn ich nun LY1 in der Form \usepackage[T1, LY1]{fontenc} ergänze, tut es - das geht aber nicht immer, z.B. das Encoding scheme C19 (siehe unten), U und sicher noch weitere kann ich so nicht einbinden (Am Rande: Ich weiß, daß es für die Schrift im Minimalbeispiel auch eine T1-Kodierung gibt, ist aber hier nicht der Punkt).

Wenn ich nämlich das Gleiche mit C19 mache, also \usepackage[T1, LY1, C19]{fontenc} erhalte ich die Fehlermeldung C19enc.def not found. (Am Rande: C19 ist wohl Chinesisch oder sowas - der Beispielsatz sollte etwas Seltsames liefern, ist aber hier nicht der Punkt)

Was könnte ich hier machen?

alt text

Open in writeLaTeX
\documentclass[]{scrartcl}
%\usepackage[utf8]{inputenc}
 \usepackage{selinput}
 \SelectInputMappings{adieresis={ä},  germandbls={ß}}
%\SelectInputEncodingList{utf8,ansinew,mac-roman, latin1, LY1}
%\SelectInputEncodingSet{latin1,latin9}

% Scheints nötig
\usepackage[T1, LY1]{fontenc}     %T5, T1, LY1, LTH, TS1, LAE

 %\usepackage[utf8]{inputenx}

%
\usepackage[ngerman]{babel}

\usepackage{xcolor}

\begin{document}
Hier ein Text.....

\usefont{LY1}{AccanthisADFStdNoThree-LF}{b}{it}
Hier ein Text.....

%Geht gar nicht
%\usefont{C19}{fs}{b}{it}
%Hier ein Text.....

\end{document}

gefragt 18 Jun '14, 22:08

cis's gravatar image

cis
9.5k74452491
Akzeptiert-Rate: 29%

bearbeitet 20 Aug '14, 14:08

cgnieder's gravatar image

cgnieder
22.1k243463

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.

(18 Jun '14, 22:57) Ulrike Fischer

"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?

(18 Jun '14, 23:01) cis

Ich finde bei mir keine Datei c19enc.def, wohl aber Schriften, die C19 verwenden - kann das sein, daß das hier anders geht? \usepackage[C19]{fontenc} geht ja, wie gesagt, nicht.

(18 Jun '14, 23:42) cis

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.

(19 Jun '14, 11:37) Ulrike Fischer

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.
}
Permanenter link

beantwortet 19 Jun '14, 09:21

gast3's gravatar image

gast3
(ausgesetzt)
Akzeptiert-Rate: 53%

bearbeitet 19 Jun '14, 12:12

Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×76
×48
×18
×7
×2

gestellte Frage: 18 Jun '14, 22:08

Frage wurde gesehen: 9,950 Mal

zuletzt geändert: 20 Aug '14, 14:08