Discussion:
xterm Unicode geht in CDE nicht, in mwm schon
(zu alt für eine Antwort)
Marco Moock
2023-05-20 13:02:56 UTC
Permalink
Hallo zusammen!

Ich habe heute mal CDE ausprobiert und mir ist aufgefallen, dass manche
Applikationen wie xterm oder dtterm keine kyrillische Zeichen anzeigen
können (z.B. Getippe im vim).

Das gleiche xterm kann das aber, wenn es unter mwm aufgerufen wird.

Womit wird dieses Verhalten beeinflusst?
Muss ich da ggf. beim Kompilieren von CDE drauf achten oder die
gewünschte Sprache in den locales generieren (was ja eigentlich unnötig
ist, unter mwm geht es ja ohne)?
--
Gruß
Marco
Peter J. Holzer
2023-05-20 14:24:45 UTC
Permalink
Post by Marco Moock
Ich habe heute mal CDE ausprobiert und mir ist aufgefallen, dass manche
Applikationen wie xterm oder dtterm keine kyrillische Zeichen anzeigen
können (z.B. Getippe im vim).
Das gleiche xterm kann das aber, wenn es unter mwm aufgerufen wird.
Womit wird dieses Verhalten beeinflusst?
Locale, Font, Command Line Parameter, X Resources.

Was zeigt denn Ctrl-RightClick an?

hp
Marco Moock
2023-05-20 16:52:36 UTC
Permalink
Post by Peter J. Holzer
Locale, Font, Command Line Parameter, X Resources.
Was zeigt denn Ctrl-RightClick an?
UTF8-Encoding und UTF8-Titles sind ausgegraut.
Peter J. Holzer
2023-05-20 19:47:02 UTC
Permalink
Post by Marco Moock
Post by Peter J. Holzer
Locale, Font, Command Line Parameter, X Resources.
Was zeigt denn Ctrl-RightClick an?
UTF8-Encoding und UTF8-Titles sind ausgegraut.
In beiden Fällen? (Wenn Du wissen willst, was der Unterschied ist, musst
Du die beiden Fälle vergleichen. Und wenn Du willst, dass wir Dir
helfen, musst Du auch explizit schreiben, was Du gemacht hast. Wir
können Dir ja nicht über die Schulter schauen)

hp
Marco Moock
2023-05-20 19:52:57 UTC
Permalink
Post by Peter J. Holzer
Post by Marco Moock
Post by Peter J. Holzer
Locale, Font, Command Line Parameter, X Resources.
Was zeigt denn Ctrl-RightClick an?
UTF8-Encoding und UTF8-Titles sind ausgegraut.
In beiden Fällen? (Wenn Du wissen willst, was der Unterschied ist,
musst Du die beiden Fälle vergleichen. Und wenn Du willst, dass wir
Dir helfen, musst Du auch explizit schreiben, was Du gemacht hast. Wir
können Dir ja nicht über die Schulter schauen)
Das waren die Ergebnisse in CDE.
In mwm ist es aber genauso.
Christian Weisgerber
2023-05-20 15:25:29 UTC
Permalink
Post by Marco Moock
Ich habe heute mal CDE ausprobiert und mir ist aufgefallen, dass manche
Applikationen wie xterm oder dtterm keine kyrillische Zeichen anzeigen
können (z.B. Getippe im vim).
Das gleiche xterm kann das aber, wenn es unter mwm aufgerufen wird.
Womit wird dieses Verhalten beeinflusst?
Vom Environment, in dem xterm gestartet wird. Vergleiche das Verhalten
von:

$ LC_CTYPE=en_US.ISO8859-1 xterm &
$ LC_CTYPE=en_US.UTF-8 xterm &

mwm(1) selbst setzt keine Locale, das wird von .xsession o.ä. geerbt.
Keine Ahnung, was CDE macht.
--
Christian "naddy" Weisgerber ***@mips.inka.de
Marco Moock
2023-05-20 16:54:12 UTC
Permalink
Post by Christian Weisgerber
Post by Marco Moock
Ich habe heute mal CDE ausprobiert und mir ist aufgefallen, dass
manche Applikationen wie xterm oder dtterm keine kyrillische
Zeichen anzeigen können (z.B. Getippe im vim).
Das gleiche xterm kann das aber, wenn es unter mwm aufgerufen wird.
Womit wird dieses Verhalten beeinflusst?
Vom Environment, in dem xterm gestartet wird. Vergleiche das Verhalten
Bei beiden erscheinen nur Blöcke.
Post by Christian Weisgerber
$ LC_CTYPE=en_US.ISO8859-1 xterm &
Zusätzlich kommt hier
Warning: locale not supported by C library, locale unchanged
Könnte als am Kompilieren liegen.
Post by Christian Weisgerber
$ LC_CTYPE=en_US.UTF-8 xterm &
mwm(1) selbst setzt keine Locale, das wird von .xsession o.ä. geerbt.
Keine Ahnung, was CDE macht.
***@ryz:~$ echo $LC_CTYPE

***@ryz:~$
Michael Bäuerle
2023-05-20 17:59:57 UTC
Permalink
Post by Marco Moock
Post by Christian Weisgerber
Post by Marco Moock
Ich habe heute mal CDE ausprobiert und mir ist aufgefallen, dass
manche Applikationen wie xterm oder dtterm keine kyrillische
Zeichen anzeigen können (z.B. Getippe im vim).
Das gleiche xterm kann das aber, wenn es unter mwm aufgerufen wird.
Womit wird dieses Verhalten beeinflusst?
Vom Environment, in dem xterm gestartet wird. Vergleiche das Verhalten
Bei beiden erscheinen nur Blöcke.
Post by Christian Weisgerber
$ LC_CTYPE=en_US.ISO8859-1 xterm &
Zusätzlich kommt hier
Warning: locale not supported by C library, locale unchanged
Könnte als am Kompilieren liegen.
Eventuell heißt die Locale bei dir anders. Versuche mal folgendes:
|
| $ locale -a
Post by Marco Moock
Post by Christian Weisgerber
$ LC_CTYPE=en_US.UTF-8 xterm &
mwm(1) selbst setzt keine Locale, das wird von .xsession o.ä. geerbt.
Keine Ahnung, was CDE macht.
So würde man nur Werte von explizit gesetzten Variablen sehen.
Anzeigen der aktuellen Einstellung:
|
| $ locale
Marco Moock
2023-05-20 19:55:20 UTC
Permalink
Post by Michael Bäuerle
Post by Marco Moock
Post by Christian Weisgerber
Post by Marco Moock
Ich habe heute mal CDE ausprobiert und mir ist aufgefallen, dass
manche Applikationen wie xterm oder dtterm keine kyrillische
Zeichen anzeigen können (z.B. Getippe im vim).
Das gleiche xterm kann das aber, wenn es unter mwm aufgerufen wird.
Womit wird dieses Verhalten beeinflusst?
Vom Environment, in dem xterm gestartet wird. Vergleiche das
Bei beiden erscheinen nur Blöcke.
Post by Christian Weisgerber
$ LC_CTYPE=en_US.ISO8859-1 xterm &
Zusätzlich kommt hier
Warning: locale not supported by C library, locale unchanged
Könnte als am Kompilieren liegen.
|
| $ locale -a
***@ryz:~$ locale -a
C
C.utf8
de_DE.utf8
en_US.utf8
POSIX
Post by Michael Bäuerle
Post by Marco Moock
Post by Christian Weisgerber
$ LC_CTYPE=en_US.UTF-8 xterm &
mwm(1) selbst setzt keine Locale, das wird von .xsession o.ä.
geerbt. Keine Ahnung, was CDE macht.
So würde man nur Werte von explizit gesetzten Variablen sehen.
|
| $ locale
***@ryz:~$ locale
LANG=de_DE.UTF-8
LANGUAGE=
LC_CTYPE="de_DE.UTF-8"
LC_NUMERIC="de_DE.UTF-8"
LC_TIME="de_DE.UTF-8"
LC_COLLATE="de_DE.UTF-8"
LC_MONETARY="de_DE.UTF-8"
LC_MESSAGES="de_DE.UTF-8"
LC_PAPER="de_DE.UTF-8"
LC_NAME="de_DE.UTF-8"
LC_ADDRESS="de_DE.UTF-8"
LC_TELEPHONE="de_DE.UTF-8"
LC_MEASUREMENT="de_DE.UTF-8"
LC_IDENTIFICATION="de_DE.UTF-8"
LC_ALL=
***@ryz:~$
Christian Weisgerber
2023-05-20 17:40:11 UTC
Permalink
Post by Marco Moock
Post by Christian Weisgerber
$ LC_CTYPE=en_US.ISO8859-1 xterm &
Zusätzlich kommt hier
Warning: locale not supported by C library, locale unchanged
Musst halt schauen, wie die entsprechenden Locales auf deinem System
heißen. Die Namen sind leider nicht standardisiert.
LANG, LC_ALL?
--
Christian "naddy" Weisgerber ***@mips.inka.de
Peter J. Holzer
2023-05-20 19:39:26 UTC
Permalink
Post by Christian Weisgerber
Post by Marco Moock
Post by Christian Weisgerber
$ LC_CTYPE=en_US.ISO8859-1 xterm &
Zusätzlich kommt hier
Warning: locale not supported by C library, locale unchanged
Musst halt schauen, wie die entsprechenden Locales auf deinem System
heißen. Die Namen sind leider nicht standardisiert.
Auf Linux-Systemen sind sie ziemlich standardisiert (ist ja alles
glibc), das Format <sprache>_<region>.<encoding> war/ist m.E.n. auch bei
anderen Unixen ziemlich verbreitet.

Vor allem aber sind nicht alle Locales auf allen Systemen installiert.
Auf Debian und Ubuntu wird man beim Installieren gefragt, welche Locales
man haben will. Auf meinen Systemen ist die Anzahl der Locales meistens
einstellig:

% locale -a
C
C.utf8
POSIX
de_AT.utf8
en_US.utf8

(Mein Laptop, auf dem Ubuntu bereits vorinstalliert war, ist eine
Ausnahme. Da habe ich über 500 Locales, aber en_US.iso88591 ist auch
nicht dabei, nur en_US.iso885915)

hp
Marco Moock
2023-05-20 19:54:14 UTC
Permalink
Post by Christian Weisgerber
Post by Marco Moock
Post by Christian Weisgerber
$ LC_CTYPE=en_US.ISO8859-1 xterm &
Zusätzlich kommt hier
Warning: locale not supported by C library, locale unchanged
Musst halt schauen, wie die entsprechenden Locales auf deinem System
heißen. Die Namen sind leider nicht standardisiert.
Welche genau?
Probleme gab es mit kyrillische Zeichen, entsprechende Sprachen gibt es
nicht in den Locales, war unter mwm aber nie ein Problem.
Post by Christian Weisgerber
LANG, LC_ALL?
***@ryz:~$ echo $LC_ALL

***@ryz:~$ echo $LANG
de_DE.UTF-8
***@ryz:~$
Sieghard Schicktanz
2023-05-21 18:23:16 UTC
Permalink
Hallo Marco,

Du schriebst am Sat, 20 May 2023 21:54:14 +0200:

[locales]
Post by Marco Moock
Probleme gab es mit kyrillische Zeichen, entsprechende Sprachen gibt es
nicht in den Locales, war unter mwm aber nie ein Problem.
Vielleicht sind auf _diesem_ System einfach keine entsprechenden
_Zeichensätze_ (engl. "fonts") installiert bzw. eingerichtet?
--
(Weitergabe von Adressdaten, Telefonnummern u.ä. ohne Zustimmung
nicht gestattet, ebenso Zusendung von Werbung oder ähnlichem)
-----------------------------------------------------------
Mit freundlichen Grüßen, S. Schicktanz
-----------------------------------------------------------
Marco Moock
2023-05-22 05:25:47 UTC
Permalink
Post by Sieghard Schicktanz
[locales]
Post by Marco Moock
Probleme gab es mit kyrillische Zeichen, entsprechende Sprachen
gibt es nicht in den Locales, war unter mwm aber nie ein Problem.
Vielleicht sind auf _diesem_ System einfach keine entsprechenden
_Zeichensätze_ (engl. "fonts") installiert bzw. eingerichtet?
Wieso geht es dann wenn man eine andere Schrift auswählt?
Sieghard Schicktanz
2023-05-22 18:14:18 UTC
Permalink
Hallo Marco,
Post by Marco Moock
Post by Sieghard Schicktanz
Vielleicht sind auf _diesem_ System einfach keine entsprechenden
_Zeichensätze_ (engl. "fonts") installiert bzw. eingerichtet?
Wieso geht es dann wenn man eine andere Schrift auswählt?
Andere Schrift -> anderer Zeichensatz -> anderer Vorrat an darstellbaren
Zeichen?
(Ich hab' auch ein paar Zeichensätze, bei denen nicht alle Zeichencodes mit
den zugeordneten Zeichendarstellungen belegt sind. Kann man sehr schön mit
einem Programm wie z.B. "gucharmap", Unicode-fähig, sehen. Die "Löcher"
sind oft groß.)
--
(Weitergabe von Adressdaten, Telefonnummern u.ä. ohne Zustimmung
nicht gestattet, ebenso Zusendung von Werbung oder ähnlichem)
-----------------------------------------------------------
Mit freundlichen Grüßen, S. Schicktanz
-----------------------------------------------------------
Peter J. Holzer
2023-05-23 16:31:56 UTC
Permalink
Post by Sieghard Schicktanz
Post by Marco Moock
Post by Sieghard Schicktanz
Vielleicht sind auf _diesem_ System einfach keine entsprechenden
_Zeichensätze_ (engl. "fonts") installiert bzw. eingerichtet?
Es ist - soweit ich Marco verstanden habe - immer das gleiche System.
Nur der Window-Manager ändert sich (und damit möglicherweise ein
Einstellungen).
Post by Sieghard Schicktanz
Post by Marco Moock
Wieso geht es dann wenn man eine andere Schrift auswählt?
Andere Schrift -> anderer Zeichensatz -> anderer Vorrat an darstellbaren
Zeichen?
(Ich hab' auch ein paar Zeichensätze, bei denen nicht alle Zeichencodes mit
den zugeordneten Zeichendarstellungen belegt sind.
Vermutlich nicht nur "ein paar", sondern "fast alle" oder gar "alle".

Moderne Rendering-Libraries suchen sich aus verschiedenen Fonts die
passenden Zeichen zusammen. Vielleicht macht xterm das auch, wenn man
auf "Truetype-Fonts" umschaltet, aber wenn man das alte X11-Font-System
verwendet, gibt es für jede Font-Größe/Typ-Kombination genau einen Font.

hp

Helmut Waitzmann
2023-05-21 00:07:04 UTC
Permalink
Das ist keine verlässliche Art, das eingestellte locale
abzufragen.  Besser ist das Kommando

locale

Das gibt verlässliche Informationen heraus.
Peter J. Holzer
2023-05-20 21:00:31 UTC
Permalink
Post by Marco Moock
Ich habe heute mal CDE ausprobiert und mir ist aufgefallen, dass manche
Applikationen wie xterm oder dtterm keine kyrillische Zeichen anzeigen
können (z.B. Getippe im vim).
Vielleicht sollten wir noch einen Schritt zurückgehen. Kann xterm keine
ausgeben oder kannst du keine eingeben? Das sind zwei verschiedene
Dinge.

Was ist die Ausgabe von

perl -CO -E 'say chr(228); say chr(1103)'

?

Bei mir ist das normalerweise
ä
я
(so sollte es sein).

Wenn ich die Schriftgröße auf "Enormous" stelle, wird das я nicht mehr
angezeigt (der Font enthält offenbar keine kyrillischen Zeichen; wenn
ich Truetype fonts aktiviere, erscheint das я).

Wenn dich das xterm mit

LC_CTYPE=C xterm

starte, wird
ä
Ñ
ausgegeben (typisches UTF-8-wird-als-ISO-8859-x-interpretiert-Syndrom)

hp
Marco Moock
2023-05-21 15:30:07 UTC
Permalink
Post by Peter J. Holzer
Post by Marco Moock
Ich habe heute mal CDE ausprobiert und mir ist aufgefallen, dass
manche Applikationen wie xterm oder dtterm keine kyrillische
Zeichen anzeigen können (z.B. Getippe im vim).
Vielleicht sollten wir noch einen Schritt zurückgehen. Kann xterm
keine ausgeben oder kannst du keine eingeben? Das sind zwei
verschiedene Dinge.
Was ist die Ausgabe von
perl -CO -E 'say chr(228); say chr(1103)'
?
Bei mir ist das normalerweise
ä
я
(so sollte es sein).
Bei mir nicht, zumindest sieht man es nicht.
Kopiere ich es aber in meinen Newsreader (Claws Mail), erscheinen die
Zeichen.

***@ryz:~$perl -CO -E 'say chr(228); say chr(1103)'
ä
я
***@ryz:~$

Ich vermute daher ein Problem bei der Ausgabe dieser Zeichen.

Ich weiß nicht, ob das was mit dtterm oder xterm zu tun hat, aber die
Schrift scheint da gestört zu sein:

~/.dt/errorlog
*** STDERR(1): (/usr/dt/bin/dtexec) /usr/dt/bin/dtstyle: PID 58589: So
Mai 21 17:24:49 2023 Warning: Missing charsets in String to FontSet
conversion [150 bytes]
Post by Peter J. Holzer
Wenn ich die Schriftgröße auf "Enormous" stelle, wird das я nicht mehr
angezeigt (der Font enthält offenbar keine kyrillischen Zeichen; wenn
ich Truetype fonts aktiviere, erscheint das я).
Wenn dich das xterm mit
LC_CTYPE=C xterm
starte, wird
ä
Ñ
ausgegeben (typisches UTF-8-wird-als-ISO-8859-x-interpretiert-Syndrom)
Bingo.
Wenn man einer der xterm-Schriftarten wie Tiny oder Medium nimmt, ist
alles ok. Nur bei Default nicht.
Loading...