使用 uim 输入日语
本页面介绍如何使用 uim 实现日语输入。
如果您使用 SCIM,请参阅 Smart Common Input Method platform。
如果您使用 IBus,请参阅 IBus。
安装
您需要以下软件包来输入日语。
- 日文字体
- 日语输入法(假名到汉字转换引擎)
- 输入法框架:uim
日文字体
推荐的日文字体如下。
无衬线字体
- 由 Adobe 开发的开源 OTF 字体。
衬线字体和无衬线字体
- 由日本信息技术振兴机构 (IPA) 提供的开源 OTF 字体集,包括无衬线字体(哥特体)和衬线字体(明朝体)字形。
如果您想正确显示 2channel Shift JIS 艺术字,请使用以下字体
- Monapo 字体 (AUR: ttf-monapoAUR)
uim
输入法
Anthy
Anthy 是开源世界中最流行的日语输入法之一。但是,它已经很久没有维护了。Debian 从 2010 年 5 月开始接手维护。 Debian succeeds it from May 2010.
从官方软件仓库安装 anthy。
额外词典
Anthy 的默认词典不包含 EUC-JP (JIS X 0208) 中未指定的几个字符,例如 “①”、“♥” 等。 alt-cannadic 提供了包含这些字符的额外词典。
获取 alt-cannadic 词典 并将其放在您的 ~/.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/
更多详情请参阅 官方 Wiki(日语)。
修改版 Anthy (anthy-ut)
修改版 Anthy 是一组补丁和庞大的扩展词典,旨在提高原始 Anthy 的假名到汉字转换质量。
Modified Anthy 由两个不同的上游组成
- G-HAL 提供的 Anthy 补丁源代码
- UTSUMI 提供的庞大扩展词典
- Modified Anthy 仅适用于 Anthy (UTF-8)。因此,您必须在 uim 上选择 Anthy (UTF-8) 作为默认输入法。
- Modified Anthy 与原始 Anthy 的词典和学习数据不兼容。
Mozc
Mozc 是一款日语输入法编辑器 (IME),专为 Chromium OS、Windows、Mac 和 Linux 等多平台设计,起源于 Google 日语输入法。
虽然 MozcAUR 仅适用于 ibus 输入法框架,但 macuim 提供了 uim-mozc 插件。
Mozc (原生版)
uim-mozcAUR 在 AUR 上可用。
您可以从非官方的 pnsft-pur 用户仓库安装它。
您可以通过指定组名来选择安装 mozc-im 组中的所有软件包。
或者,直接指定单个软件包名称。例如,安装 uim-mozcAUR。
mozc-ut
mozc-ut2AUR[链接失效:未找到软件包] 可以构建 uim-mozc。
要构建 uim-mozc,请编辑 PKGBUILD 文件,例如,取消注释 _uim_mozc=
行
## If you will not be using ibus, comment out below. _ibus_mozc="yes" ## 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.
_ibus_mozc=
行。注册 Mozc
# uim-module-manager --register mozc
Google 日语输入 CGI API
Google 日语输入 CGI API (Google-CGIAPI-Jp) 是 Google 提供的在互联网上进行日语转换的 CGI 服务。它可以在 网页浏览器 上使用。其转换引擎似乎与 Google 日语输入法相当,因此转换质量可能比 Mozc 更好。
您可以通过 uim 使用它。在 uim-im-switcher-gtk/gtk3/qt4 或 uim-pref-gtk/gtk3/qt4 上选择 “Google-CGIAPI-Jp”。
设置
环境变量
自动启动 以下内容于 Xorg 启动时
export GTK_IM_MODULE='uim' export QT_IM_MODULE='uim' uim-xim & export XMODIFIERS='@im=uim'
工具栏实用程序
如果您想使用 UimToolbar 实用程序来显示和控制 uim 模式,也请添加以下内容之一。
uim-toolbar-gtk/qt
使用工具栏以窗口形式显示。
对于 GTK 2
uim-toolbar-gtk &
对于 GTK 3
uim-toolbar-gtk3 &
对于 Qt4
uim-toolbar-qt4 &
uim-toolbar-gtk-systray
使用工具栏用于系统托盘。
对于 GTK 2
uim-toolbar-gtk-systray &
对于 GTK 3
uim-toolbar-gtk3-systray &
使用 systemd
如果您 使用 systemd 管理 X 会话,您需要在 systemd 会话中设置环境变量,而不是在 init 脚本中。
~/.config/systemd/user/uim-env.service
[Unit] Description=uim environment initialization Before=xorg.target [Service] Type=oneshot ExecStart=/usr/bin/systemctl --user set-environment XMODIFIERS=@im=uim ExecStart=/usr/bin/systemctl --user set-environment GTK_IM_MODULE=uim ExecStart=/usr/bin/systemctl --user set-environment QT_IM_MODULE=uim
~/.config/systemd/user/uim.service
[Unit] Description=uim daemon Wants=uim-env.service After=xorg.target [Service] ExecStart=/usr/bin/uim-xim Restart=on-abort [Install] WantedBy=xorg.target
~/.config/systemd/user/uim-toolbar.service
[Unit] Description=uim toolbar PartOf=uim.service [Service] ExecStart=/usr/bin/uim-toolbar-of-your-choice Restart=on-abort [Install] WantedBy=uim.service
最后,您需要 启用 uim.service
和 uim-toolbar.service
用户单元。
uim 偏好设置
运行 来配置 uim 偏好设置,这将弹出一个 GUI。
$ uim-pref-gtk (Or, uim-pref-gtk3/uim-pref-qt4)
which brings forth a GUI.
选择您偏好的输入法作为 “默认输入法”。
您可以运行 uim-xim
或重启 X 来测试您的设置。
如果一切顺利,您应该能够在 X 中输入日语了。
在 Emacs 中输入日语
uim 提供了 uim.el,这是 Emacs 和 uim 之间的桥梁软件。这是一个在 Emacs 上使用 uim 和 utf-8 编码的示例。
更多详情请参阅 官方 Wiki。
LEIM 或 minor-mode
您可以从 Emacs 中以两种方式调用 uim.el:直接调用或使用 LEIM(Emacs 输入法库)框架。虽然它们的设置不同,但基本功能是相同的。如果您想在 uim.el 和其他 Emacs IM 之间频繁切换,则应使用 LEIM 框架。
minor-mode 的设置
如果您将要在次要模式下使用,请将以下设置写入您的 .emacs.d/init.el
或其他用于 Emacs 自定义的文件中。
;; 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)
LEIM 的设置
如果您将要通过 LEIM 使用,请将以下设置写入您的 .emacs.d/init.el
或其他用于 Emacs 自定义的文件中,并选择默认输入法。
;; 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
首选字符编码
uim.el 默认使用 euc-jp 字符编码。要将 UTF-8 设置为首选编码,请将以下内容添加到您的 .emacs.d/init.el
或其他用于 Emacs 自定义的文件中。
;; 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)))
默认启用内联候选项显示模式
内联候选项显示模式在预编辑文本下方(或上方)垂直显示转换候选项,而不是在回显区域中显示。如果您想默认启用内联候选项显示模式,请按如下方式写入。
;; set inline candidates displaying mode as default (setq uim-candidate-display-inline t)
默认设置平假名输入模式
要在激活 uim 时设置平假名输入模式,请添加如下所示的设置
;; Set Hiragana input mode at activating uim. (setq uim-default-im-prop '("action_anthy_utf8_hiragana" "action_google-cgiapi-jp_hiragana" "action_mozc_hiragana"))
忽略 uim.el 上的 C-SPC
当您将输入法的激活/停用分配给 C-SPC 时,C-SPC 会在 uim.el 激活时被占用以切换输入模式。为了防止被占用并将其用于 set-mark-command,请将以下内容添加到您的 .emacs.d/init.el
或其他用于 Emacs 自定义的文件中。
(add-hook 'uim-load-hook '(lambda () (define-key uim-mode-map [67108896] nil) (define-key uim-mode-map [0] nil)))
在 Emacs 上禁用 XIM
当您在桌面上使用输入法并将输入法的激活/停用分配给 C-SPC 时,您将无法在 Emacs 上使用 C-SPC/C-@ 作为 set-mark-command。为了避免这个问题,请将以下内容添加到您的 ~/.Xresources
或 ~/.Xdefaults
中。xim 将在 Emacs 上被禁用。
Emacs*UseXIM: false
故障排除
设置 GTK_IM_MODULE 变量,但 uim 仍然无法在 GTK 2 应用程序中工作
如果您已经设置了 GTK_IM_MODULE 环境变量,但 uim 仍然无法在 GTK 2 应用程序中工作,则需要指定 gtk.immodules 的位置,它是由 gtk-query-immodules-2.0
创建并可以使用其生成的。
对于 GTK 2,默认位置是 /etc/gtk-2.0/gtk.immodules
。
您可以使用 GTK_IM_MODULE_FILE 变量(不推荐,它会导致 GTK 3 应用程序看到不兼容的模块)或 im_module_file 设置(推荐)来完成此操作。
将以下内容添加到 /etc/gtk-2.0/gtkrc
或 ~/.gtkrc-2.0
im_module_file "/etc/gtk-2.0/gtk.immodules"
无法在 Opera 上输入日语
如果您使用 Opera 并且无法使用 uim 输入日语,请尝试按如下方式编辑环境变量:确保将以下内容添加到 /usr/bin/opera 的开头。
export XMODIFIERS='@im=uim' export QT_IM_MODULE='xim'
无法在全角模式下输入辅音
如果您无法在全角模式下输入辅音,请将以下内容添加到您的配置文件中。
e.g. vi ~/.uim.d/customs/custom-google-cgiapi-jp.scm (define ja-rk-rule-hoge (map (lambda (c) (list (cons (list c) ()) (list c c c))) '("b" "c" "d" "f" "g" "h" "j" "k" "l" "m" "p" "q" "r" "s" "t" "v" "w" "x" "y" "z" "A" "B" "C" "D" "E" "F" "G" "H" "I" "J" "K" "L" "M" "N" "O" "P" "Q" "R" "S" "T" "U" "V" "W" "X" "Y" "Z"))) (if (symbol-bound? 'ja-rk-rule-hoge) (set! ja-rk-rule (append ja-rk-rule-hoge ja-rk-rule)))
uim-toolbar-gtk-systray:托盘图标被挤压/显示不正常
尽管某些 DE、WM 或面板应用程序可能在系统托盘/通知区域上仅为每个应用程序提供一个图标空间,但 uim-toolbar-gtk-systray 默认情况下会在其上显示一些图标,因此这些图标被挤压/显示不正常。选择其中一个即可解决问题。例如,仅显示“输入模式”图标的步骤如下
- 运行
uim-pref-gtk
。 - 在“Group”列表上点击“Toolbar”。
- 取消选中所有复选标记。
- 在“Group”列表上点击您正在使用的“Anthy”、“Anthy (UTF-8)”或“Mozc”。
- 点击“Toolbar”框中的“Edit”按钮 > “Enable toolbar buttons”行。
- 仅启用“Input mode”,然后点击“Close”按钮。
- 点击“OK”按钮以关闭 uim-pref-gtk。
托盘图标将显示 “あ”(平假名模式)或 “ー”(直接模式)。
我使用较暗的主题,我无法看清 uim 模式图标
您可以选择用于较暗背景的图标(uim 1.6.0 或更高版本)。
- 运行
uim-pref-gtk
。 - 在“Group”列表上点击“Toolbar”。
- 选中“Use icon for dark background”。