Immer wieder mal: SCIM für Chinesisch/Japanisch

i18n

Well-Known Member
Seit einem Monat habe ich endlich wieder FreeBSD zu laufen, sogar auf dem Firmenrechner. Nur, leider verändern sich Ansprüche und auch Software -- panta rhei.
Kurz zur Hardware: AMD 64, 2-GHz-Prozessor, 512 MB RAM. Fertigteil von HASEE, nennt sich Tang-Dynasty.
Seit einiger Zeit gibt es scim-bridge in den ports, sowohl für GTK als auch für QT4. Während einer kurzen Episode mit Ubuntu :eek: ließ sich die Variante über scim-bridge zum Laufen bringen. Das soll heißen, unter Linux funktioniert der Kram.
Warum die bridge? Es gibt so einige Programme, die mit scim nicht wollen, OpenOffice.org z.B., scim-bridge umschifft die Klippen (war irgendwas mit altem C-Code, was ich als Laie nicht verstehe).
Vor einiger Zeit ging man beim Benutzen von scim folgendermaßen vor:
  • scim aus dem ports installieren
  • scim-pinyin sowie scim-tables aus /usr/ports/chinese installieren
  • in die .tcshrc "setenv LANG de_DE.UTF-8" und "setenv LC_CTYPE de_DE.UTF-8"
  • dorthin auch "setenv XMODIFIERS @im=SCIM"
  • sowie "setenv GTK_IM_MODULE scim"
  • und "setenv QT_IM_MODULE scim"
Für die .profile sind entspr. "export"-Befehle auch eingetragen. Nutze aber die tcsh.
Der Befehl "scim -d" startete das Programm, bei allen GTK-Anwendungen konnte man mittels scim Chinesisch, Japanisch etc. eingeben (nur eine Frage der installierten Module). QT-Sachen habe ich, zumindest unter Linux, damit auch ansprechen können.
Neuerdings funktioniert das nicht mehr, unter GNOME wird das Icon von scim im Panel angezeigt, ich kann aber nicht zwischen den Methoden umschalten. Auch wenn ich die Einstellungen auf "setenv GTK_IM_MODULE scim-bridge" und äquivalent für QT ändere, einstellbar ist alles, nur nicht als Eingabemethode nutzbar.
Hat jemand Erfahrungen damit gesammelt? Leider ist die Dokumentation auf scim-im.org sehr dürftig, und wenn vorhanden, dann auf Linux bezogen. Die ausführlichste Dokumentation zum Thema gab es bei Ubuntu: http://wiki.ubuntuusers.de/Schriftunterstützung?highlight=scim -- leider funktionieren die Sachen nicht für FreeBSD, Befehle wie "im-switch -z de_DE -s scim-immodule" kennt man nicht.

Besonders würde mich die Variante der scim-bridge interessieren. Wenn ich QT mitnutzen könnte (z.B. für Skype), wäre das phantastisch. Wenn sich noch jemand mit asiatischen Sprachen beschäftigt und über das Problem der Eingabe gestolpert ist und sogar eine Lösung gefunden hat, ich bitte dringend um Hilfe!
 
So, eine Antwort nach sehr langer Zeit, da ich beim Suchen nach einer sehr ähnlichen Problematik auch diesen Thread gefunden habe und inzwischen eine Lösung bieten kann. Bei mir ging es zwar um Japanisch, aber das Ganze sollte sich relativ simpel auf Chinesisch und weitere Sprachen umfrickeln lassen.

Zuerst probierte ich es mit SCIM, da man bei Google recht viel darüber findet. Leider wollte SCIM nicht wirklich, wie bei dir funktionierte es nicht wirklich. Dann sagte ein Kollege zu mir "Yamagi, SCIM ist nicht wirklich optimal. Nimm lieber UIM". Also schaute ich mir das an. Auch das funktionierte nicht gleich, ging am Ende aber. Wie SCIM integriert auch UIM sich in GTK, QT und per XIM auch in X.org selbst. Damit erwischt es ca. 98% aller Anwendungen. Außerdem gibt es noch eine Brücke in rohe Terminals, die habe ich allerdings nicht probiert, da sie unter FreeBSD im Moment reichtlich sinnlos ist. Syscons kann eh noch kein Unicode, auch wenn man endlich aktiv dran arbeitet. Eine Brücke in EMACS gibs auch, aber auch das Ding nutze ich nicht.

Zur Installation:
Zuerst wird das Basisystem aus textproc/uim installiert. Anschließend die Brücken. Das sind im Einzelnen textproc/uim-gtk für GTK und textproc/uim-qt für QT. Wer nun gar kein GTK oder QT nutzt kann die entsprechende Brücke weglassen. Außerdem können KDE und Gnome-Nutzer noch Integrationsplugins bauen. Das sind textproc/uim-gnome und textproc/uim-kde. Nun wird eine "Engine" benötigt, also ein Eingabemodul. Ich habe dafür japanese/uim-anthy genommen, es gäbe dort noch einige mehr. Für Chinesisch würde man sicherlich uim-pinyin wollen, aber das hat noch niemand auf FreeBSD portiert. Müsste man also an den Ports vorbeiinstallieren oder einen Port bauen.

Konfiguration:
Ich gehe davon aus, dass auf dem System entsprechende Schriften installiert sind. Ohne japanische Schrift keine japanischen Zeichen, logisch. Auch sollte Unicode konfiguriert sein, als $LANG also etwas wie "de_DE.UTF-8" gesetzt sein. Ist das getan, müssen nur noch einige VAriablen gesetzt und die uim-xim Brücke zur X.org-Integration gestartet werden. Beides muss vor dem Start des Windowmanagers passieren, also am besten vor diesem in ~/.xinitrc eintragen:
Code:
export GTK_IM_MODULE=uim
export QT_IM_MODULE=uim
export XMODIFIERS="@im=uim"
uim-xim & # --engine=anthy &
Die letzte Zeile natürlich auf die gewünschte Engine ändern. Dann wird in einem Terminal "uim-pref-gtk" gestartet. Das dauert einen Moment länger. Sobald es denn da ist, wird auf der ersten Seite oben der Haken bei "Specify default IM" gesetzt und als "Default input method" "Direct" gesetzt. Nun editiert man "Enabled input methods" so, dass auch nur wirklich installierte Engines darin auftauchen.
Weiter unten setzt man den haken bei "Enable input method toggle by hot keys". Da FreeBSD anscheinend eine andere Meta-taste hat, als er erwartet, setzt man die Tasten neu. Ich habe <alt>-space genommen. Nun bei "Alternative input method" die entsprechende Engine einschalten. Diese noch in ihren eigenen Optionen konfigurieren, dann per "OK" das Tool schließen.
Nun muss X.org neu gestartet werden. Ohne geht es nicht. Anschließend kann man durch die oben gesetzte Tastenkombination UIM einschalten und in Japanisch oder was anderem schreiben. Zum Deaktivieren wieder die Tasten drücken.

Zubehör:
Es gibt eine Toolbar, einmal für GTK und für QT. Das sind uim-toolbar-gtk und uim-toolbar-qt. Zudem noch ein Systrayplugin uim-toolbar-gtk-systray.
 
Zurück
Oben