Input Japanese using uim
This page explains how to get the Japanese input to work using uim.
If you use SCIM, see Smart Common Input Method platform.
If you use IBus, see Ibus.
Contents
Installation
You need the following packages to input Japanese.
- Japanese fonts
- Japanese input method (Kana to Kanji conversion engine)
- Input method framework: uim
Japanese fonts
see also Fonts and Font Configuration for configuration or more detail.
Recommended Japanese fonts are as follows.
- IPA fonts (AUR: otf-ipafontAUR)
- A high quality and formal style opensource font set including Gothic (sans-serif) and Mincho (serif) glyphs. Default font of openSUSE-ja.
- VL Gothic (AUR: ttf-vlgothicAUR)
- Default Gothic font of Debian-ja, Fedora-ja, Vine Linux, et al.
- UmePlus Gothic (AUR: ttf-umeplusAUR)
- Default Gothic font of Mandriva Linux ja environment.
If you want to show 2channel Shift JIS art properly, use one of the following fonts:
- ipamona font (AUR: ttf-ipa-monaAUR)
- Monapo font (AUR: ttf-monapoAUR)
uim
Using pacman
Pull down the necessary things with a :
# pacman -S uim
Compiling uim from source using PKGBUILD
For instance, if you want to build uim with your configurationin, you can compile from source.
Arch's configuration
In Arch official repository, uim is built with the following custom configuration (as of 1.7.1):
-
--with-anthy-utf8
: Enable Anthy(UTF-8) support -
--with-qt4
: Build uim-tools for Qt
Please see official wiki for all configure options.
Steps to build
The one of the easy way to build from source is using ABS.
First, install ABS:
# pacman -S abs
Update ABS:
# abs
Then, copy uim's directory to under your $HOME. For example:
$ cp -R /var/abs/extra/uim ~/sources/
Edit PKGBUILD.
Finally, run makepkg under uim directory to make and install package:
$ makepkg -s -i
Input method
Anthy
Anthy is one of the most popular Japanese input methods in the open source world. However, it has not been maintained for a long time. Debian succeeds it from May 2010.
To install Anthy :
# pacman -S anthy
Extra dictionary
Anthy's default dictionary does not include several characters which are not specified on EUC-JP (JIS X 0208) such as "①", "♥", etc. alt-cannadic provides extra dictionaries including those characters.
Get alt-cannadic dictionary and put them under your ~/.anthy/imported_words_default.d
.
$ tar jxvf alt-cannadic-091230.tar.bz2 $ mkdir ~/.anthy/imported_words_default.d (if not exist) $ cp alt-cannadic-091230/extra/*.t ~/.anthy/imported_words_default.d/
Please see official wiki for more detail (Japanese).
Modified Anthy (anthy-ut)
Modified Anthy is a set of patches and huge extended dictionaries which aims to improve the Kana to Kanji conversion quality of original Anthy.
Modified Anthy consists two different upstreams:
Compiling Modified Anthy using PKGBUILD
Modified Anthy is available on AUR named anthy-utAUR.
Get anthy-ut tarball and makepkg to make and install package:
$ wget https://aur.archlinux.org/packages/anthy-ut/anthy-ut.tar.gz $ tar xvf anthy-ut.tar.gz $ cd anthy-ut $ makepkg -s -i
If you already use original Anthy, you have to convert the existing learning data format.
$ rm ~/.anthy/last-record1_*.bin $ anthy-agent --update-base-record $ rm ~/.anthy/last-record1_*.bin $ anthy-agent --update-base-record
(Though this step repeats the same commands twice, it is not mistypes.)
Anthy Kaomoji
Anthy Kaomoji is a modified version of Anthy that converts Hiragana text to Kana Kanji mixed text and has emoticon (顔文字) and 2ch dictionaries. It can be found in the AUR (anthy-kaomojiAUR).
Mozc
See Mozc.
Mozc is a Japanese Input Method Editor (IME) designed for multi-platform such as Chromium OS, Windows, Mac and Linux which originates from Google Japanese Input.
Though MozcAUR adapts to only ibus input method framework, macuim provides uim-mozc plugin which can use with mozc-svnAUR or mozc-utAUR.
To build uim-mozc, edit PKGBUILD like follow, i,e. uncomment _uim_mozc=
line:
## If you will be using uim, uncomment below. _uim_mozc="yes" ## If applying patch for uim-mozc fails, try to uncomment below. #_kill_kill_line="yes" ## This will disable the 'kill-line' function of uim-mozc.
# uim-module-manager --register mozc
Google CGI API for Japanese Input
Google CGI API for Japanese Input (Google-CGIAPI-Jp) is CGI service to provide Japanese conversion on the Internet by Google. It can be used on web browser. Its conversion engine seems to be equivalent to Google Japanese Input, so conversion quality is probably better than Mozc.
You can use it via uim. Choose "Google-CGIAPI-Jp" on uim-im-switcher-gtk/gtk3/qt4 or uim-pref-gtk/gtk3/qt4.
Settings
Add the followings to ~/.xprofile, ~/.xinitrc or ~/.xsession:
Environment variables
export GTK_IM_MODULE='uim' export QT_IM_MODULE='uim' uim-xim & export XMODIFIERS='@im=uim'
Toolbar utilities
If you want to use UimToolbar utilities which shows and controls uim mode, add one of the followings, too.
uim-toolbar-gtk/qt
Using toolbar appears as a window.
For Gtk2:
uim-toolbar-gtk &
For Gtk3:
uim-toolbar-gtk3 &
For Qt:
uim-toolbar-qt4 &
uim-toolbar-gtk-systray
Using toolbar for system tray.
For Gtk2:
uim-toolbar-gtk-systray &
For Gtk3:
uim-toolbar-gtk3-systray &
Panel applet
Or, if you use GNOME, KDE or Xfce, you can use uim-toolbar panel applet (Xfce requires xfce4-xfapplet-plugin to use uim-applet-gnome).
uim preferences
Configure uim preferences by running :
$ uim-pref-gtk (Or, uim-pref-gtk3/uim-pref-qt4)
which brings forth a GUI.
Choose your preferring input method as 'Default input method'.
You can run uim-xim
or restart X to test your settings.
Provided everything went well you should be able to input Japanese in X.
お疲れ様です!
Input Japanese on Emacs
uim provides uim.el the bridge software between Emacs and uim. Here is a sample to use uim on Emacs with utf-8 encoding.
Please see Official wiki for more detail.
LEIM or minor-mode
You can call uim.el from Emacs in two ways; directly or with the LEIM (Library of Emacs Input Method) framework. Though settings of them are different, basic functions are same. If you want to switch between uim.el and other Emacs IMs frequently, you should use LEIM framework.
Settings for the minor-mode
If you will be using on minor-mode, write the following settings into your .emacs.d/init.el
or some other file for Emacs customizing.
;; read uim.el (require 'uim) ;; uncomment next and comment out previous to load uim.el on-demand ;; (autoload 'uim-mode "uim" nil t) ;; key-binding for activate uim (ex. C-\) (global-set-key "\C-\\" 'uim-mode)
Settings for the LEIM
If you will be using via LEIM, write the following settings into your .emacs.d/init.el
or some other file for Emacs customizing and choose default input method.
;; read uim.el with LEIM initializing (require 'uim-leim) ;; set default IM. Uncomment the one of the followings. ;(setq default-input-method "japanese-anthy-utf8-uim") ; Anthy (UTF-8) ;(setq default-input-method "japanese-google-cgiapi-jp-uim") ; Google-CGIAPI-Jp ;(setq default-input-method "japanese-mozc-uim") ; Mozc
Preferred character encoding
uim.el uses euc-jp character encoding by default. To set UTF-8 as preferred encodings, add the followings into your .emacs.d/init.el
or some other file for Emacs customizing.
;; Set UTF-8 as preferred character encoding (default is euc-jp). (setq uim-lang-code-alist (cons '("Japanese" "Japanese" utf-8 "UTF-8") (delete (assoc "Japanese" uim-lang-code-alist) uim-lang-code-alist)))
Enable inline candidates displaying mode by default
The inline candidates displaying mode displays conversion candidates just below (or above) preedit text vertically instead of echo area. If you want to enable inline candidates displaying mode by default, write as follows.
;; set inline candidates displaying mode as default (setq uim-candidate-display-inline t)
Set Hiragana input mode by default
To set Hiragana input mode at activting uim, add the settings like follows:
;; Set Hiragana input mode at activating uim. (setq uim-default-im-prop '("action_anthy_utf8_hiragana" "action_google-cgiapi-jp_hiragana" "action_mozc_hiragana"))
Ignoring C-SPC on uim.el
When you are assigning activation/deactivation of input method to C-SPC, C-SPC is stolen to switch input mode by uim.el while it is activated. To prevent the stealing and use for set-mark-command, add the followings into your .emacs.d/init.el
or some other file for Emacs customizing.
(add-hook 'uim-load-hook '(lambda () (define-key uim-mode-map [67108896] nil) (define-key uim-mode-map [0] nil)))
Disabling XIM on Emacs
When you are using input method on your desktop and assigning activation/deactivation of input method to C-SPC, you will be not able to use C-SPC/C-@ as set-mark-command on Emacs. To avoid this problem, add the following into your ~/.Xresources
or ~/.Xdefaults
. xim will be disabled on Emacs.
Emacs*UseXIM: false
Troubleshooting
Cannot input Japanese on Opera
If you use Opera and cannot input Japanese with uim, try to edit environment variable as follows:
export XMODIFIERS=@im='uim' export QT_IM_MODULE='xim'
uim-toolbar-gtk-systray: tray icon is crushed
Though some of DE, WM or panel application may provide only one icon space per application on system-tray/notification-area, uim-toolbar-gtk-systray displays some icons on it by default so those icons are crushed. Choose just one of them to solve it. The steps to display only 'Input mode' icon for example as follows:
- Run
uim-pref-gtk
. - Click 'Toolbar' on 'Group' list.
- Take the all checkmarks off.
- Click 'Anthy', 'Anthy (UTF-8)' or 'Mozc' which you are using on 'Group' list.
- Click Edit button in 'Toolbar' box -> 'Enable toolbar buttons' line.
- Enable only 'Input mode' and click 'Close' button.
- Click 'OK' button to close uim-pref-gtk.
The tray icon will be displayed "あ" (Hiragana mode) or "ー" (Direct mode).
I use darker theme, I cannot read the uim mode icons
You can choose icons for darker background (uim 1.6.0 or later).
- Run uim-perf-gtk
- Click 'Toolbar' on 'Group' list.
- Check 'Use icon for dark background'.