Discussion:
Umlaute und XeTeX
(zu alt für eine Antwort)
Manfred Lotz
2009-03-28 15:16:40 UTC
Permalink
Hallo,
Ich kriege keine Umlaute mit xetex, wenn ich diese direkt im Dokument
eingebe.

Minimalbeispiel:

<-------------------- snip ------------------------------>
\documentclass[a4paper]{article}

\usepackage[ngerman]{babel}
\usepackage{xltxtra}

\setmainfont[Mapping=tex-text]{TeX Gyre Pagella}

\begin{document}
Hallo World!

Hallöchen Welt!

Hall\"ochen Welt!
\end{document}
<-------------------- snap ------------------------------>


Aufruf: xelatex sample01.tex

\"o wird zu ö im pdf Dokument, aber ö wird verschluckt, d.h. im pdf
Dokument ist ein Leerzeichen.


Was mach ich falsch?
--
Manfred
Philipp Stephani
2009-03-28 15:30:46 UTC
Permalink
Post by Manfred Lotz
Hallo,
Ich kriege keine Umlaute mit xetex, wenn ich diese direkt im Dokument
eingebe.
Hallo,
die Eingabedatei muss UTF-8-kodiert sein.
--
Replace “READ-MY-SIG” by “tcalveu” to answer by mail.
Manfred Lotz
2009-03-28 16:14:10 UTC
Permalink
Post by Manfred Lotz
Post by Manfred Lotz
Hallo,
Ich kriege keine Umlaute mit xetex, wenn ich diese direkt im Dokument
eingebe.
Hallo,
die Eingabedatei muss UTF-8-kodiert sein.
Danke. Aah, mein Fehler war wohl dass ich dachte, 0x00 - 0xff sei bei
UTF8 gleich. Das gilt wohl nur für 0x00-0x7f.

Mein ö ist 0xf6, d.h. in UTF-8 ist dies dann 0xc3f6.


Wie tippt man das als einfacher Mensch im Editor ein?
--
Manfred
Manfred Lotz
2009-03-28 16:39:54 UTC
Permalink
Post by Manfred Lotz
Post by Manfred Lotz
Post by Manfred Lotz
Hallo,
Ich kriege keine Umlaute mit xetex, wenn ich diese direkt im Dokument
eingebe.
Hallo,
die Eingabedatei muss UTF-8-kodiert sein.
Danke. Aah, mein Fehler war wohl dass ich dachte, 0x00 - 0xff sei bei
UTF8 gleich. Das gilt wohl nur für 0x00-0x7f.
Mein ö ist 0xf6, d.h. in UTF-8 ist dies dann 0xc3f6.
Ich meinte 0xc3b6
Rolf Niepraschk
2009-03-28 16:45:23 UTC
Permalink
Manfred Lotz schrieb:
...
Post by Manfred Lotz
Wie tippt man das als einfacher Mensch im Editor ein?
Man drückt auf die Taste, die mit "ö" beschriftet ist ;-) Voraussetzung
ist ein Editor, der in UTF-8 speichern kann. Davon gibt es etliche
(EMACS, TeXmaker,...).

...Rolf
Manfred Lotz
2009-03-28 18:09:22 UTC
Permalink
Post by Rolf Niepraschk
...
Post by Manfred Lotz
Wie tippt man das als einfacher Mensch im Editor ein?
Man drückt auf die Taste, die mit "ö" beschriftet ist ;-) Voraussetzung
ist ein Editor, der in UTF-8 speichern kann. Davon gibt es etliche
(EMACS, TeXmaker,...).
Hmm, ich wusste nicht, dass Emacs das kann.

Ok, ich habe Emacs dazu bekommen, die File in utf-8 zu speichern. Wenn
ich die Datei nun neu lade in Emacs, ist das utf-8 ö (0xc3b6) nicht mehr
als ö erkennbar. Da werde ich wohl einiges lesen müssen, wie man Emacs
passend konfiguriert.
--
Danke,
Manfred
Uwe Siart
2009-03-28 20:31:02 UTC
Permalink
Post by Manfred Lotz
Ok, ich habe Emacs dazu bekommen, die File in utf-8 zu speichern. Wenn
ich die Datei nun neu lade in Emacs, ist das utf-8 ö (0xc3b6) nicht
mehr als ö erkennbar. Da werde ich wohl einiges lesen müssen, wie man
Emacs passend konfiguriert.
Ich kenne mich mit der Codierungsproblematik auch nicht sonderlich aus,
aber es ist wohl schwer bis unmöglich, einen UTF-8-Strom eindeutig von
einem ISO-8859-x-Strom zu unterscheiden. Es gibt genug Fälle, in denen
beides zutreffen kann, das decodierte Ergebnis aber verschieden ist.

Vielleicht hilft es dir, wenn du mit set-coding-system-priority UTF-8
auf höchste Priorität setzt. Ich weiß aber nicht, was das für
Nebenwirkungen haben kann.
--
Uwe
Manfred Lotz
2009-03-28 20:59:37 UTC
Permalink
Post by Uwe Siart
Post by Manfred Lotz
Ok, ich habe Emacs dazu bekommen, die File in utf-8 zu speichern. Wenn
ich die Datei nun neu lade in Emacs, ist das utf-8 ö (0xc3b6) nicht
mehr als ö erkennbar. Da werde ich wohl einiges lesen müssen, wie man
Emacs passend konfiguriert.
Ich kenne mich mit der Codierungsproblematik auch nicht sonderlich aus,
aber es ist wohl schwer bis unmöglich, einen UTF-8-Strom eindeutig von
einem ISO-8859-x-Strom zu unterscheiden. Es gibt genug Fälle, in denen
beides zutreffen kann, das decodierte Ergebnis aber verschieden ist.
Vielleicht hilft es dir, wenn du mit set-coding-system-priority UTF-8
auf höchste Priorität setzt. Ich weiß aber nicht, was das für
Nebenwirkungen haben kann.
Ich habe jetzt folgendes irgendwo in den Weiten des Internets gefunden
und in die ~/.emacs gepflanzt, was dann auch geholfen hat.


(prefer-coding-system 'utf-8)
(set-default-coding-systems 'utf-8)
(set-terminal-coding-system 'utf-8)
(set-keyboard-coding-system 'utf-8)
(setq default-buffer-file-coding-system 'utf-8)
;; From Emacs wiki
(setq x-select-request-type '(UTF8_STRING COMPOUND_TEXT TEXT STRING))


Jetzt wird ein 0xc3b6 ö auch als ein solches angezeigt.

Ob das so letzlich empfehlenswert ist, weiss ich auch nicht. Ich hoffe,
es beisst mich nicht in einer anderen Situation.
--
Manfred
Uwe Siart
2009-03-29 06:47:57 UTC
Permalink
Post by Manfred Lotz
Ob das so letzlich empfehlenswert ist, weiss ich auch nicht. Ich
hoffe, es beisst mich nicht in einer anderen Situation.
Wenn du nicht gleich in einem Rundumschlag alle Defaults ändern willst,
kannst du UTF-8-codierten Files auch am Anfang die Kommentarzeile

<Comment character> -*- coding: utf-8-dos; -*-

geben. Dann klappt die Erkennung auch.

Außer in den Weiten des Internets gibt es natürlich aktuelle und
gesicherte Information im Info-System:

(info "(emacs) International").
--
Uwe
Manfred Lotz
2009-03-29 08:17:56 UTC
Permalink
Post by Uwe Siart
Post by Manfred Lotz
Ob das so letzlich empfehlenswert ist, weiss ich auch nicht. Ich
hoffe, es beisst mich nicht in einer anderen Situation.
Wenn du nicht gleich in einem Rundumschlag alle Defaults ändern willst,
kannst du UTF-8-codierten Files auch am Anfang die Kommentarzeile
<Comment character> -*- coding: utf-8-dos; -*-
Yepp, das geht. Da hatte schon Sebastian Waschik drauf verwiesen.
Post by Uwe Siart
geben. Dann klappt die Erkennung auch.
Außer in den Weiten des Internets gibt es natürlich aktuelle und
(info "(emacs) International").
Ja, da habe ich auch gelesen. Aber die Kombination dieser Parameter, die
jemand gefunden hat und die für ihn funktioniert, das erleichtert den
Start schon. Sowas habe ich so nicht in den Info Seiten gefunden
(Vielleicht am Ende auch nicht genug gelesen?!).


Vermutlich ist die lokale Einstellung bei mir besser. Denn wenn ich bei
den globalen utf8 Einstellungen ein LaTeX Dokument neu erstelle und beim
ersten Abspeichern ein nicht ASCII Zeichen gefunden wird, speichert
emacs es in utf8 ab, was latex nicht so sehr gutiert. :-)
--
Manfred
Sebastian Waschik
2009-03-28 23:30:04 UTC
Permalink
Hallo,
Post by Manfred Lotz
Ok, ich habe Emacs dazu bekommen, die File in utf-8 zu speichern. Wenn
ich die Datei nun neu lade in Emacs, ist das utf-8 ö (0xc3b6) nicht
mehr als ö erkennbar. Da werde ich wohl einiges lesen müssen, wie man
Emacs passend konfiguriert.
Siehe
http://www.gnu.org/software/emacs/manual/html_node/emacs/Specifying-File-Variables.html

|57.3.4.1 Specifying File Variables
|[...]
| You can also specify the coding system for a file in this way: just
| specify a value for the "variable" named coding. The "value" must be
| a coding system name that Emacs recognizes. See Coding
| Systems. `unibyte: t' specifies unibyte loading for a particular
| Lisp file. See Enabling Multibyte.

Viele Grüße
Sebastian Waschik
Ulrike Fischer
2009-03-29 08:36:42 UTC
Permalink
Post by Manfred Lotz
Post by Manfred Lotz
Post by Manfred Lotz
Ich kriege keine Umlaute mit xetex, wenn ich diese direkt im Dokument
eingebe.
Hallo,
die Eingabedatei muss UTF-8-kodiert sein.
Danke. Aah, mein Fehler war wohl dass ich dachte, 0x00 - 0xff sei bei
UTF8 gleich. Das gilt wohl nur für 0x00-0x7f.
Mein ö ist 0xf6, d.h. in UTF-8 ist dies dann 0xc3f6.
Wie tippt man das als einfacher Mensch im Editor ein?
XeTeX kann auch andere Kodierungen. Du musst es nur deklarieren,
z.B.

\XeTeXinputencoding cp1252

an den Anfang jeder Datei die mit cp1252 kodiert ist.
--
Ulrike Fischer
Manfred Lotz
2009-04-04 05:04:03 UTC
Permalink
Post by Ulrike Fischer
Post by Manfred Lotz
Post by Manfred Lotz
Post by Manfred Lotz
Ich kriege keine Umlaute mit xetex, wenn ich diese direkt im Dokument
eingebe.
Hallo,
die Eingabedatei muss UTF-8-kodiert sein.
Danke. Aah, mein Fehler war wohl dass ich dachte, 0x00 - 0xff sei bei
UTF8 gleich. Das gilt wohl nur für 0x00-0x7f.
Mein ö ist 0xf6, d.h. in UTF-8 ist dies dann 0xc3f6.
Wie tippt man das als einfacher Mensch im Editor ein?
XeTeX kann auch andere Kodierungen. Du musst es nur deklarieren,
z.B.
\XeTeXinputencoding cp1252
an den Anfang jeder Datei die mit cp1252 kodiert ist.
Das hatte ich versucht, bin aber gescheitert. Das Problem ist, dass ich
in der Datei Teile habe, die schon Unicode sind. Das sind Sanskrit Sachen.


Sieht dann so aus in der Ausgangssource. die dann sample.skt heisst:

<--------------- snip --------------------->
\documentclass[a4paper]{article}

\usepackage{xltxtra}
\newfontfamily\skt[Script=Devanagari]{Sanskrit 2003}
\newfontfamily\sktx{URW Palladio ITU}

\begin{document}

irgendwas

{\skt bhayaat} \\
{\sktx bhayaat}\\

überall

\end{document}
<--------------- snap --------------------->

Da ich für den Font mit den Diacritics kein Mapping habe, wird das ganze
dann mit einem Preprocessor umgewandelt und dann sind die {\skt ...}
resp. {\sktx ...} Teile in Unicode. Auf diese umgewandelte Source
sample.tex wird dann xelatex drauf losgelassen.


Ich fahre wohl am besten, wenn ich im Emacs die ganze Datei als utf8
Datei bearbeite. Das funktioniert gut soweit.
--
Manfred
Loading...