Differences between revisions 17 and 20 (spanning 3 versions)
Revision 17 as of 2011-03-20 22:11:33
Size: 12727
Editor: ?JackBates
Comment:
Revision 20 as of 2011-12-12 14:20:34
Size: 5416
Editor: OsamuAoki
Comment:
Deletions are marked like this. Additions are marked like this.
Line 15: Line 15:
   * im-switch
   * scim and its auto-installed packages as follows
    * libscim8c2a etc.
   * scim-anthy and its auto-installed packages as follows
    * anthy
    * libanthy0
    * libscim8c2a etc.
  * Packages to introduce when uim system is deployed. u
   * im-switch
   * uim and its auto-installed packages as follows
    * uim-common
    * uim-utils
    * uim-gtk2.0
    * uim-xim
    * uim-fep (required only for console)
   * uim-anthy and its auto-installed packages as follows
    * anthy
    * libanthy0
    * linuim3
    * uim-common
    * uim-utils
   * im-config
   * ibus and its family of packages: auto-installed packages for ibus-mozc is good choice
   * relogin to X
   * set up ibus via its GUI configuratiourto use mozc
Line 37: Line 20:
  * unifont
  * ttf-kochi-gothic
  * ttf-kochi-mincho
  * ttf-vlgothic
  * fonts-ipafont
  * fonts-vlgothic
Line 56: Line 37:

<!>  Read {{{/usr/share/doc/ibus/README.Debian.gz}}} in detail for input method.

<!>  Read Fonts/FontsProprietaryJapaneseFonts for more font hints
Line 92: Line 78:
Under normal X environment, this is OK with me. But I do not like to use Japanese for console session after system crash or for {{{su}}} session. For such session, I like most robust environment for console thus I set LANG definition for them as:

{{{
LANG="en_US.UTF-8"
}}}
There may be a way to work around this problem using kon2 or frame buffer console. This is purely my taste issue.

But this will make {{{gdm}}} to be in English. (X session itself can be set to Japanese from {{{gdm}}} menu.)

I use PAM to start {{{gdm}}} with Japanese menu as follows. First let's change the following line defining language environment variable in {{{/etc/pam.d/gdm}}} or {{{/etc/pam.d/gdm-autologin}}} (the actual file depends on display manager and its setup):

{{{
auth required pam_env.so read_env=1 envfile=/etc/default/locale
}}}
into

{{{
auth required pam_env.so read_env=1 envfile=/etc/default/locale-gdm
}}}
.Then create a file {{{/etc/defaults/locale-gdm}}} containing:

{{{
LANG="ja_JP.UTF-8"
}}}
.Then GDM becomes Japanese. Actual language (value for LANG) can be set through GDM menu. So you can still use English environment in X.

== Setup of Japanese input in Debian ==
Setup of Japanese input in Debian is simplified by using {{{im-switch}}}.

For complicated setups specific to each Japanese input method is best handled by the accompanying GUI configuration tool for each input method. These configuration tools can be activated by clicking the icon for setup in the toolbar of Japanese input methods or clicking configuration tool icon on Gnome toolbar as [Desktop] -> [Configuration].

First you install {{{im-switch}}} and one of the Japanese input tool chain packages, {{{uim}}} or {{{scim}}}.

For the detail of setup, see {{{/usr/share/doc/im-switch/README.Debian.gz}}}, {{{/usr/share/doc/scim/README.Debian.gz}}} or {{{/usr/share/doc/uim/README.Debian.gz}}}. Here, key points are described.

<!> {{{im-switch}}} command behaves differently depending on whether it is executed by root or a normal user.

 * SCIM system (I use this)
  * Install packages with scim as its part of name and looking interesting to you. (Search them using "l" in {{{aptitude}}}) {{{scim, scim-anthy (Japanese), ...}}} etc.
  * Execute "{{{im-switch -c}}}" from user's shell and select "scim".
  * Relogin to user's account.
  * Set up input method and mode by clicking GUI toolbar. (You can reduce menu choice of input method)
  * Start SCIM input method by CTRL-SPACE
 * SCIM system with using X session
  * Install packages with scim as its part of name and looking interesting to you. (Search them using "l" in {{{aptitude}}}) {{{scim, scim-anthy (Japanese), ...}}} etc.
  * Execute "{{{im-switch -c}}}" from user's shell and select "scim".
  * You manually change im-switch configuration setup not to start scim. (Ugly but this is the current limitation of im-switch infrastructure.)
{{{
$ cd ~/.xinput.d
$ ls -l
lrwxrwxrwx 1 osamu osamu 28 2006-11-25 00:50 ja_JP -> /etc/X11/xinit/xinput.d/scim
$ cat ja_JP | sed 's/XIM_PROGRAM=.*/XIM_PROGRAM=/;s/XIM_ARGS=.*/XIM_ARGS=/'>ja.JP.file
$ mv ja.JP.file ja.JP
}}}
 * Register "{{{scim -d}}} in session manager started by Desktop->Preferences->Session .
 * Relogin to user's account and refresh X session.
 * Setup input method and mode by clicking GUI toolbar. (You can reduce menu choice of input method)
 * Start SCIM input method by CTRL-SPACE
 * UIM system using gnome-session (following the explanation in README.Debian of im-switch)
  * Install packages with uim as its part of name and looking interesting to you. (Search them using "l" in {{{aptitude}}}) {{{uim, uim-anthy (Japanese), uim-gtk2.0, uim-xim, ...}}} etc.
  * Execute "{{{im-switch -c}}}" from user's shell and select "uim".
  * To display indicator as toolbar, register "{{{uim-toolbar-gtk}}}" to be started in session manager started by Desktop->Preferences->Session .
   * To display indicator in systray, register "{{{uim-toolbar-gtk-systray}}}" instead.
   * For KDE, register "{{{uim-toolbar-qt}}}" instead.
  * Relogin to user's account and refresh X session.
  * Setup input method and mode by clicking GUI toolbar. (You can reduce menu choice of input method)
  * Start UIM input method by CTRL-SPACE
  * Toggle (on/off) input method mode with SHIFT-SPACE (Usually, direct input mode)
The variation of above UIM configuration to register start of UIM to the session manager is to start UIM as toolbar from shell as "{{{uim-toolbar-gtk >/dev/null 2>dev/null &}}}" and let it get auto registered to start upon restart. (I did not test if the delayed start of it after stabilizing uim-xim.)

 * UIM system without using gnome-session (following the explanation in README.Debian of uim)
  * Install packages with uim as its part of name and looking interesting to you. (Search them using "l" in {{{aptitude}}}) {{{uim, uim-anthy (Japanese), uim-gtk2.0, uim-xim, ...}}} etc.
  * Execute "{{{im-switch -c}}}" from user's shell and select "uim-toolbar".
   * To display indicator in systray, select "uim-systray" instead.
   * For KDE, select "uim-toolbar-qt" instead.
   * For no indicator to be displayed, select "uim" instead.
  * Relogin to user's account and refresh X session.
  * Setup input method and mode by clicking GUI toolbar. (You can reduce menu choice of input method)
  * Start UIM input method by CTRL-SPACE
  * Toggle (on/off) input method mode with SHIFT-SPACE (Usually, direct input mode)
In above, toolbar is started without relying on session manager. In order to prevent duplicate toolbars to be started upon relogin, you may register s * Relogin to user's account and refresh X session. ession manager not to (re)start "{{{uim-toolbar-gtk}}}".

Japanese input in console can be enabled by {{{uim-fep}}} package. (I am not familiar with {{{jfbterm}}} which enables Japanese display in console.) UIM has a merit in this functionality.

 * Obtain standard en_US environment by unsetting {{{MODIFIERS}}}.
  * Execute "{{{im-switch -c}}}" and select "none".
  * Relogin to user's account and refresh X session.
 * Regain default behavior.
  * Execute "{{{im-switch -a}}}".
  * Relogin to user's account and refresh X session.
 * Verify setting
  * Execute "{{{im-switch -l}}}" .
<!> Input method started by {{{im-switch}}} depends on the value of locale.

<!> Japanese input method may be started under English environment using {{{im-switch}}}. It is quite useful to have Japanese input method under {{{en_US.UTF-8}}} environment.

<!> In order to start SCIM under non-CJK locale, you need to add list of those locales to {{{~/.scim/global}}} or {{{/etc/scim/global}}} :

{{{
/SupportedUnicodeLocales = en_US.UTF-8,en_GB.UTF_8,fr_FR.UTF-8
}}}
<!>  Some people may consider setting a different immodule mechanism to the GTK_IM_MODULE variable, but currently setting it to xim seems to give the most stable environment by experience. It is discussed under {{{/usr/share/doc/scim/README.Debian.gz}}} in detail.
Line 213: Line 97:
For wheezy, please make sure to use {{{im-config}}}.

(Japanese) Wiki links

Japanese Environment

I hereby describe methods to set up a Japanese environment under Debian etch for your reference. (This should give good reference to other non-European languages.)

Each command is not explained here in detail. Please refer to the manpages.

<!> In order to set up and use not only Japanese environment but also multilingual environment smoothly, please select the locale with UTF-8 encoding.

Required packages for Japanese environment

Following lists required packages for Japanese environment. (For other languages, refer to the language task contents.)

  • Input method for Japanese
    • Packages to introduce when scim system is deployed. (I use this)
      • im-config
      • ibus and its family of packages: auto-installed packages for ibus-mozc is good choice
      • relogin to X
      • set up ibus via its GUI configuratiourto use mozc
  • Japanese fonts
    • fonts-ipafont
    • fonts-vlgothic
  • Japanese messages
    • manpages-ja
    • manpages-ja-dev
    • openoffice.org-help-ja
    • openoffice.org-l10n-ja
    • iceweasel-l10n-ja
      • (firefox-locale-ja is old and should be removed)
    • kde-i18n-ja (required only when KDE is deployed)
  • Japanese documentations
    • doc-linux-ja-text
    • doc-linux-ja-html
  • Japanese related tools
    • lv
    • nkf
    • jfbterm

<!>  Read /usr/share/doc/ibus/README.Debian.gz in detail for input method.

<!>  Read Fonts/FontsProprietaryJapaneseFonts for more font hints

What is locale

The locale is used for LANG environment variable to define language environment. It has a structure of xx_YY.ZZZZ and has following meanings:

xx

language codes

yy

country codes 

zzzz

encoding

The language region of Japan is ja_JP but if it is used alone it is treated as tradional ja_JP.eucJP . The language region of US (the best supported) is en_US but if it is used alone it is treated as tradional en_US.ISO8859-1.

For example, the encoding system often used for Japanese are:

UTF-8

recent standard, multilingual compatibility

eucJP

old UNIX standard, only for Japanese

Shift-JIS

old Microsoft standard, only for Japanese

ISO-2022-JP

standard for Japanese e-mail, use only 7 bit code, only for Japanese

ISO-8859-1

old standard for western European languages, ASCII+accented characters, 8 bit code

ASCII

US standard, 7 bit code Simply set LANG=C

These encodings are well thought out to keep them compatible within ASCII code ranges.

If you accidentally haven't created the ja_JP.UTF-8 locale, please execute the following to enable Japanese UTF-8 environment.

$ sudo dpkg-reconfigure locales

Each program behaves differently depending on the set up of language related environment variables.

Here, you have to pay attention to the fact that some program uses PAM (pluggable Authentification Module) and the environment variable set by PAM has priority.

Both /etc/environment and /etc/defaults/locale files define

LANG="ja_JP.UTF-8"

when Japanese is selected during the etch installation process under etch (as of December 2006).

Working with key programs

emacs situation

  • emacs is quite smart and copes well with many encoding systems. So please pay extra attention to it.
  • emacs has its own unique Japanese input infrastructure (egg etc.) which does not rely on external programs such as X nor FEP.
  • If you wish to input without going through XIM, set XMODIFIERS value to "none" while starting emacs. From shell, execute as:

$ XMODIFIERS=none emacs

In order to adjust Debian menu, place customized configuration in /etc/menu following the method described in /usr/share/doc/menu/html.

vim situation

  • vim is also quite smart and copes well with many encoding syatems. So please pay extra attention to it and basically try to use vim under UTF-8. No special input method configuration needed. Please refer to "Method to edit non-UTF-8 encoded text files under UTF-8 vim" (English) (Japanese)

IBus

Recently IBus has become the most widely used input framework - it's probably the best choice for Japanese input in Debian

There are two Japanese IBus engines: ibus-anthy and ibus-mozc. ibus-mozc is a client of another input project, sponsored by Google? ibus-anthy is more mature? The Ubuntu language-support-input-ja package depends on ibus-anthy - ibus-anthy is probably what you want,

For wheezy, please make sure to use im-config.

$ sudo aptitude -DR install ibus-anthy

The Ubuntu language-support-fonts-ja package depends on ttf-takao-gothic and ttf-takao-mincho,

$ sudo aptitude -DR install ttf-takao