Difference between revisions of "Mozc"

From ArchWiki
Jump to navigation Jump to search
(simplification and beautification of wikilinks (interactive))
Tag: wiki-scripts
 
(36 intermediate revisions by 13 users not shown)
Line 1: Line 1:
[[Category:Internationalization]]
+
[[Category:Input methods]]
 
[[ja:Mozc]]
 
[[ja:Mozc]]
[http://code.google.com/p/mozc/ Mozc] is a Japanese Input Method Editor (IME) designed for multi-platform such as Chromium OS, Windows, Mac and Linux. This open-source project originates from [http://www.google.com/intl/ja/ime/ Google Japanese Input]. Detailed differences between Mozc and Google Japanese Input are described in [http://code.google.com/p/mozc/wiki/AboutMozc About Mozc] (In short, Mozc does not have equivalent conversion quality to Google Japanese Input).
+
From the project [https://github.com/google/mozc home page]:
 +
:'''Mozc''' is a Japanese [[input method]] editor (IME) designed for multi-platform such as Android OS, Apple OS X, Chromium OS, GNU/Linux and Microsoft Windows. This OpenSource project originates from [http://www.google.com/intl/ja/ime/ Google Japanese Input]. […] Detailed differences between Google Japanese Input and Mozc are described in [https://github.com/google/mozc/blob/master/docs/about_branding.md About Branding].
 +
(In short, Mozc does not have equivalent conversion quality to Google Japanese Input).
  
 
== Installation ==
 
== Installation ==
You can install mozc using unofficial user repository or build yourself from AUR.
 
  
{{Note|Mozc works with {{Pkg|ibus}}. Please see also [[IBus]] for installation and configuration.}}
+
Depending on your target setup, there are several available Mozc packages to choose from. Firstly, you will likely need to install both the Mozc core package and an integration for the Input Method Framework of your choice (such as [[Fcitx]], [[IBus]], or [[Uim]]), though some Fcitx packages come bundled with the core. Secondly, there exist some unofficial dictionaries: The '''UT''' (discontinued) and '''UT2''' dictionaries, which are combined from several sources with hit numbers coming from Google/Yahoo and Wikipedia, respectively, and the '''NEologd UT''' dictionary based on the mecab-ipadic-NEologd Neologism dictionary.
Mozc is available on [https://aur.archlinux.org/packages.php?K=mozc&SeB=x AUR]. This package consists as follows:
+
 
{| class="wikitable" style="text-align:center;margin:0 2em auto"
+
The following table shows the packages corresponding to certain combinations of the components and dictionaries; colored cells indicate split packages. Some of the packages are also available from the [[Unofficial user repository#pnsft-pur|pnsft-pur]] repository.
!Package !! mozc !! description
+
 
 +
{| class="wikitable"
 +
|+IMF integration packages
 +
! Dictionary !! [[Fcitx]] !! [[IBus]] !! [[Emacs]] !! [[Uim]]
 
|-
 
|-
!Group
+
! Official
| mozc-im ||  
+
| {{Pkg|fcitx-mozc}}
 +
| style="background:#d7d7ff" | {{AUR|ibus-mozc}}
 +
| style="background:#d7d7ff" | {{AUR|emacs-mozc}}
 +
| {{AUR|uim-mozc}}
 
|-
 
|-
!rowspan="3" | Component
+
! [http://www.geocities.jp/ep3797/mozc-ut.html UT]
| mozc || Server part of the Mozc
+
| {{AUR|fcitx-mozc-ut}}
 
|-
 
|-
| ibus-mozc || IBus engine module
+
! [http://www.geocities.jp/ep3797/mozc-ut2.html UT2]
 +
| style="background:#d7d7ff" | {{AUR|fcitx-mozc-ut2}}
 +
| style="background:#d7d7ff" | {{AUR|ibus-mozc-ut2}}
 +
| style="background:#d7d7ff" | {{AUR|emacs-mozc-ut2}}
 +
| style="background:#d7d7ff" | {{AUR|uim-mozc-ut2}}
 
|-
 
|-
| emacs-mozc || Mozc for Emacs (optional)
+
! [http://www.geocities.jp/ep3797/mozc-neologd-ut.html NEologd UT]
 +
| {{AUR|fcitx-mozc-neologd-ut}}
 
|}
 
|}
  
{{Tip|[[#Mozc variants on AUR|Unofficial plugins for the other IM frameworks are available]]}}
+
Some of the above packages also contain definitions at the top of their respective [[PKGBUILD]]s that can be altered to (de)activate certain features. Most notably, to build the Emacs packages you need to uncomment the {{ic|_emacs_mozc}} line:
 +
## If you will be using mozc.el on Emacs, uncomment below.
 +
_emacs_mozc="yes"
 +
Likewise, you must also enable uim-mozc-ut2 manually to build it.
  
=== Using Unofficial user repository ===
+
Once Mozc is installed, you might need to restart X or your Input Method Framework before you can use it.
There is an unofficial user repository of Mozc. Add the following into your /etc/pacman.conf:
 
[pnsft-pur]
 
SigLevel = Optional TrustAll
 
Server = http://downloads.sourceforge.net/project/pnsft-aur/pur/$arch
 
{{Note|This repo provides x86_64 packages only now.}}
 
And refresh package database:
 
# pacman -Syy
 
You can choose install packages specifying group name as follows:
 
# pacman -S mozc-im
 
Or, specify package names directly. For example:
 
# pacman -S mozc ibus-mozc emacs-mozc
 
  
=== Compiling Mozc using PKGBUILD ===
+
== Configuration ==
You can install from AUR as follows.
 
  
First, get {{AUR|mozc}} tarball from AUR and edit the PKGBUILD if necessary.
+
=== IBus ===
$ wget https://aur.archlinux.org/packages/mo/mozc/mozc.tar.gz
+
''See also [[IBus]] for IBus configuration.''
  $ tar xvf mozc.tar.gz
+
 
$ cd mozc
+
If you use Mozc by default, set it via ''ibus-setup'':
 +
  $ ibus-setup
 +
Choose ''Input Method'' tab and move ''Mozc'' to top of the list.
  
==== Edit PKGBUILD ====
+
You can switch input method by {{ic|Alt+Shift_L}} (by IBus default).
If you will be using mozc.el on Emacs, uncomment {{Ic|_emacs_mozc}} line.
+
 
## If you will be using mozc.el on Emacs, uncomment below.
+
=== uim ===
_emacs_mozc="yes"
+
''See also [[Uim]] for uim configuration.''
  
==== Build and install ====
+
Configure uim preferences by running:
Then, build and install:
+
  $ uim-pref-gtk (Or, uim-pref-gtk3/uim-pref-qt4)
  $ makepkg -s -i
+
which brings forth a GUI.
{{Note|Some of AUR helper does not support split package so it may fail installing mozc. Even in the case, package files ({{Ic|*.pkg.tar.xz}}) should be generated unless makepkg is failed. You can install manually from AUR helper's working directory or $PKGDEST using {{Ic|pacman -U}}.}}
 
  
=== Make available Mozc ===
+
Choose your preferring input method as ''Default input method''.
Restart X or IBus to enable use of Mozc.
+
{{Note|Mozc will be not listed in ''Default input method'' at first time so you will need to add it into ''Enabled input methods'' to use.}}
  
== Configuration ==
+
{{Warning|You '''must''' run the following command whenever you upgrade or (re-)install '''uim'''.<br/>
''See also [[IBus]] for IBus configuration.''
+
# uim-module-manager --register mozc}}
  
If you use Mozc by default, set it via ibus-setup:
+
=== Fcitx ===
$ ibus-setup
+
''See also [[Fcitx]] for Fcitx configuration.''
Choose Input Method tab and move Mozc to top of the list.
 
  
You can switch input method by {{Keypress|Alt + Shift_L}} (by IBus default).
+
Open the configuration dialog of Fcitx by running:
 +
$ fcitx-configtool
 +
In the ''Input Method'' tab, click on the plus sign and choose Mozc from the list in the dialog. Depending on your configuration, you might need to disable the ''Only Show Current Language'' option for Mozc to be available. After confirming the dialog, you can activate Mozc as input method using the usual keyboard shortcuts.
  
 
=== Mozc for Emacs ===
 
=== Mozc for Emacs ===
 +
 
You can use mozc.el (mozc-mode) to input Japanese via LEIM (Library of Emacs Input Method). To use mozc-mode, write the following into your {{Ic|.emacs.d/init.el}} or some other file for Emacs customizing:
 
You can use mozc.el (mozc-mode) to input Japanese via LEIM (Library of Emacs Input Method). To use mozc-mode, write the following into your {{Ic|.emacs.d/init.el}} or some other file for Emacs customizing:
 
  (require 'mozc)  ; or (load-file "/path/to/mozc.el")
 
  (require 'mozc)  ; or (load-file "/path/to/mozc.el")
Line 74: Line 80:
 
  (setq mozc-candidate-style 'overlay)
 
  (setq mozc-candidate-style 'overlay)
  
{{Ic|C-\}} (`toggle-input-method') enables/disables use of mozc-mode.
+
{{ic|C-\}} (''toggle-input-method'') enables and disables use of mozc-mode.
  
 
==== Disabling XIM on Emacs ====
 
==== 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 {{Ic|~/.Xresources}} or {{Ic|~/.Xdefaults}}. xim will be disabled 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 {{Ic|~/.Xresources}} or {{Ic|~/.Xdefaults}}. xim will be disabled on Emacs.
 
  Emacs*UseXIM: false
 
  Emacs*UseXIM: false
  
== Tips ==
+
== Tips and tricks ==
 +
 
 
=== Confirming Mozc version which you are using now ===
 
=== Confirming Mozc version which you are using now ===
 +
 
Type "ばーじょん" ("version") and convert it while activating Mozc. The version number of Mozc will be shown in the candidate list like follows:
 
Type "ばーじょん" ("version") and convert it while activating Mozc. The version number of Mozc will be shown in the candidate list like follows:
{{Hc|<u>ばーじょん</u>
+
{{hc|<u>ばーじょん</u>|
|バージョン
+
バージョン
 
ヴァージョン
 
ヴァージョン
 
ばーじょん
 
ばーじょん
Line 91: Line 100:
  
 
=== Launching Mozc tools from command line ===
 
=== Launching Mozc tools from command line ===
The followings are commands to launch mozc tools.
+
 
* Mozc property:{{bc|1=$ /usr/lib/mozc/mozc_tool --mode=config_dialog}}
+
The followings are commands to launch Mozc tools.
* Mozc Dictionary Tool:{{bc|1=$ /usr/lib/mozc/mozc_tool --mode=dictionary_tool}}
+
* Mozc Settings: {{ic|1=$ /usr/lib/mozc/mozc_tool --mode=config_dialog}}
* Mozc Word Register:{{bc|1=$ /usr/lib/mozc/mozc_tool --mode=word_register_dialog}}
+
* Mozc Dictionary Tool: {{ic|1=$ /usr/lib/mozc/mozc_tool --mode=dictionary_tool}}
* Mozc Hand Writing:{{bc|1=$ /usr/lib/mozc/mozc_tool --mode=hand_writing}}
+
* Mozc Word Register: {{ic|1=$ /usr/lib/mozc/mozc_tool --mode=word_register_dialog}}
* Mozc Character Palette:{{bc|1=$ /usr/lib/mozc/mozc_tool --mode=character_palette}}
+
* Mozc Hand Writing: {{ic|1=$ /usr/lib/mozc/mozc_tool --mode=hand_writing}}
 +
* Mozc Character Palette: {{ic|1=$ /usr/lib/mozc/mozc_tool --mode=character_palette}}
 +
 
 +
{{Note|If the handwriting window displays an error when attempting to input handwriting, mozc may not have a handwriting module. One possible solution is to install {{AUR|tegaki-models-zinnia-japanese}} and re-open the window.}}
  
 
=== Use CapsLock as Eisu_toggle key on ASCII layout keyboard ===
 
=== Use CapsLock as Eisu_toggle key on ASCII layout keyboard ===
All of the preset keymap styles of Mozc, command 'ToggleAlphanumericMode' on 'Composition' mode is assigned to {{Keypress|Eisu}} (Eisu_toggle), {{Keypress|Hiragana}}/{{Keypress|Katakana}} or {{Keypress|Muhenkan}} key, but the ASCII keyboard has none of them.
 
  
One of the solution for it is to use CapsLock key as Eisu_toggle (Mozc does not recognize CapsLock key as of r124). The following is way to assign the Eisu_toggle to {{Keypress|CapsLock}} (without any modifier keys) and the Caps_Lock to {{Keypress|Shift + CapsLock}}, like OADG keyboard layout.
+
In all of the preset keymap styles of Mozc, the command ''Toggle alphanumeric mode'' on ''Composition'' mode is assigned to the {{ic|Eisu}} (Eisu_toggle), {{ic|Hiragana/Katakana}} or {{ic|Muhenkan}} key, but the ASCII keyboard has none of them.
{{Warning|This way affects to desktop wide.}}
+
 
 +
One solution for it is to use Caps Lock key as Eisu_toggle (Mozc does not recognize the Caps Lock key as of r124). The following is a way to assign Eisu_toggle to {{ic|Caps Lock}} (without any modifier keys) and Caps_Lock to {{ic|Shift+CapsLock}}, as on the OADG keyboard layout.
 +
{{Warning|This will affect all applications.}}
  
Edit the {{Ic|~/.Xmodmap}} as follows:
+
Edit {{ic|~/.Xmodmap}} as follows:
 
  keycode 66 = Eisu_toggle Caps_Lock
 
  keycode 66 = Eisu_toggle Caps_Lock
 
  clear Lock
 
  clear Lock
  
Then, restart X or run xmodmap to apply immediately:
+
Then, restart X or run ''xmodmap'' to apply the changes immediately:
{{bc|$ xmodmap ~/.Xmodmap}}
+
$ xmodmap ~/.Xmodmap
  
 
== Troubleshooting ==
 
== Troubleshooting ==
 +
 
=== Building Mozc fails (process is killed) ===
 
=== Building Mozc fails (process is killed) ===
If build process is failed with like the following messages:
+
 
 +
If the build process fails with an error message like the following:
 
  ...
 
  ...
 
  /bin/sh: line 1:  xxxx killed
 
  /bin/sh: line 1:  xxxx killed
Line 119: Line 134:
 
  make: *** [xxx/xxx...] error 137
 
  make: *** [xxx/xxx...] error 137
 
  ...
 
  ...
Make sure whether you have run out of memory.
+
Make sure you have not run out of memory.
 +
 
 +
=== New version of Mozc does not appear though I upgraded Mozc and restarted X or Input Method Framework (not rebooted) ===
  
=== New version of Mozc does not appear though I upgraded Mozc and restarted X or IBus (not rebooted) ===
+
The old version of Mozc may be still on your memory. Try to kill the existing ''mozc_server'' process:
Old version of Mozc may be still on your memory. Try to kill existing mozc process:
 
 
  $ killall mozc_server
 
  $ killall mozc_server
  
== Mozc variants on AUR ==
+
=== mozc_server becomes defunct ===
===uim-mozc===
 
Though {{AUR|Mozc}} adapts to only ibus input method framework, [http://code.google.com/p/macuim/ macuim] provides uim-mozc plugin. {{AUR|uim-mozc}}''(AUR)'' is for Mozc (vanilla), {{AUR|mozc-svn}} and {{AUR|mozc-ut}} can build uim-mozc for themselves (see [[Input Japanese using uim]]). You can install uim-mozc from [[#Using Unofficial user repository|Unofficial User Repository as well as Mozc (vanilla)]].
 
 
 
===mozc-svn===
 
{{AUR|mozc-svn}} builds using the published svn repository instead of source tarball and can build uim-mozc and fcitx-mozc plugin. You should use mozc (vanilla) or mozc-ut unless you have any reason. This is exactly similar to mozc (published svn repository is not actually trunk) and run-time of makepkg of mozc-svn will be longer than mozc.
 
  
===mozc-ut===
+
Mozc cannot run in root. Start X in normal user.
{{AUR|mozc-ut}} comes with [http://www.geocities.jp/ep3797/mozc_01.html Mozc UT dictionary] and can build uim-mozc. The dictionary adds over 350,000 words into original.
 
{{Note|Building mozc-ut requires long time to generate dictionary seed.}}
 
{{Note|mozc-ut can work with ibus-mozc, emacs-mozc and uim-mozc of Mozc (vanilla). That is, you don't have to build such as modules of mozc-ut [[#Using Unofficial user repository|by the use of Unofficial User Repository]].}}
 
  
===mozc-fcitx===
+
=== mozc_emacs_helper not found in emacs ===
{{AUR|mozc-fcitx}} is all in one Mozc package dedicated to [[Fcitx]].
 
  
Each packages consist as follows:
+
When installing mozc.el you need to install a helper program called {{ic|mozc_emacs_helper}}.
{| class="wikitable" style="text-align:center;margin:0 2em auto"
 
!Package !! mozc !! mozc-svn !! mozc-ut !! mozc-fcitx !! description
 
|-
 
!Group
 
| mozc-im || mozc-im-svn || mozc-im || mozc-im ||
 
|-
 
!rowspan="6" | Component
 
| mozc || mozc-svn || mozc-ut || -- ||Server part of the Mozc
 
|-
 
| ibus-mozc || ibus-mozc-svn || ibus-mozc-ut || -- || IBus engine module (optional)
 
|-
 
| (uim-mozc) || uim-mozc-svn || uim-mozc-ut || -- || uim plugin module (optional)
 
|-
 
| <small>''N/A''</small> || fcitx-mozc-svn || <small>''N/A''</small> || -- || Fcitx module (optional)
 
|-
 
| emacs-mozc || emacs-mozc-svn || emacs-mozc-ut || -- || Mozc for Emacs (optional)
 
|-
 
| -- || -- || -- || mozc-fcitx || mozc-fcitx package (all in one)
 
|}
 
  
== See also ==
+
You need to install {{AUR|emacs-mozc}} or {{AUR|emacs-mozc-ut2}} for this helper program.
*[http://code.google.com/p/mozc/ Mozc official site]
 
*[[Input Japanese using uim]]
 

Latest revision as of 19:11, 13 June 2019

From the project home page:

Mozc is a Japanese input method editor (IME) designed for multi-platform such as Android OS, Apple OS X, Chromium OS, GNU/Linux and Microsoft Windows. This OpenSource project originates from Google Japanese Input. […] Detailed differences between Google Japanese Input and Mozc are described in About Branding.

(In short, Mozc does not have equivalent conversion quality to Google Japanese Input).

Installation

Depending on your target setup, there are several available Mozc packages to choose from. Firstly, you will likely need to install both the Mozc core package and an integration for the Input Method Framework of your choice (such as Fcitx, IBus, or Uim), though some Fcitx packages come bundled with the core. Secondly, there exist some unofficial dictionaries: The UT (discontinued) and UT2 dictionaries, which are combined from several sources with hit numbers coming from Google/Yahoo and Wikipedia, respectively, and the NEologd UT dictionary based on the mecab-ipadic-NEologd Neologism dictionary.

The following table shows the packages corresponding to certain combinations of the components and dictionaries; colored cells indicate split packages. Some of the packages are also available from the pnsft-pur repository.

IMF integration packages
Dictionary Fcitx IBus Emacs Uim
Official fcitx-mozc ibus-mozcAUR emacs-mozcAUR uim-mozcAUR
UT fcitx-mozc-utAUR
UT2 fcitx-mozc-ut2AUR ibus-mozc-ut2AUR emacs-mozc-ut2AUR uim-mozc-ut2AUR
NEologd UT fcitx-mozc-neologd-utAUR

Some of the above packages also contain definitions at the top of their respective PKGBUILDs that can be altered to (de)activate certain features. Most notably, to build the Emacs packages you need to uncomment the _emacs_mozc line:

## If you will be using mozc.el on Emacs, uncomment below.
_emacs_mozc="yes"

Likewise, you must also enable uim-mozc-ut2 manually to build it.

Once Mozc is installed, you might need to restart X or your Input Method Framework before you can use it.

Configuration

IBus

See also IBus for IBus configuration.

If you use Mozc by default, set it via ibus-setup:

$ ibus-setup

Choose Input Method tab and move Mozc to top of the list.

You can switch input method by Alt+Shift_L (by IBus default).

uim

See also Uim for uim configuration.

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.

Note: Mozc will be not listed in Default input method at first time so you will need to add it into Enabled input methods to use.
Warning: You must run the following command whenever you upgrade or (re-)install uim.
# uim-module-manager --register mozc

Fcitx

See also Fcitx for Fcitx configuration.

Open the configuration dialog of Fcitx by running:

$ fcitx-configtool

In the Input Method tab, click on the plus sign and choose Mozc from the list in the dialog. Depending on your configuration, you might need to disable the Only Show Current Language option for Mozc to be available. After confirming the dialog, you can activate Mozc as input method using the usual keyboard shortcuts.

Mozc for Emacs

You can use mozc.el (mozc-mode) to input Japanese via LEIM (Library of Emacs Input Method). To use mozc-mode, write the following into your .emacs.d/init.el or some other file for Emacs customizing:

(require 'mozc)  ; or (load-file "/path/to/mozc.el")
(setq default-input-method "japanese-mozc")

mozc.el provides "overlay" mode in the styles of showing candidates (from mozc r77) which shows a candidate window in box style close to the point. If you want to use it by default, add the following:

(setq mozc-candidate-style 'overlay)

C-\ (toggle-input-method) enables and disables use of mozc-mode.

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

Tips and tricks

Confirming Mozc version which you are using now

Type "ばーじょん" ("version") and convert it while activating Mozc. The version number of Mozc will be shown in the candidate list like follows:

ばーじょん
バージョン
ヴァージョン
ばーじょん
Mozc-1.6.1187.102  ⇐ Current version of Mozc
...

Launching Mozc tools from command line

The followings are commands to launch Mozc tools.

  • Mozc Settings: $ /usr/lib/mozc/mozc_tool --mode=config_dialog
  • Mozc Dictionary Tool: $ /usr/lib/mozc/mozc_tool --mode=dictionary_tool
  • Mozc Word Register: $ /usr/lib/mozc/mozc_tool --mode=word_register_dialog
  • Mozc Hand Writing: $ /usr/lib/mozc/mozc_tool --mode=hand_writing
  • Mozc Character Palette: $ /usr/lib/mozc/mozc_tool --mode=character_palette
Note: If the handwriting window displays an error when attempting to input handwriting, mozc may not have a handwriting module. One possible solution is to install tegaki-models-zinnia-japaneseAUR and re-open the window.

Use CapsLock as Eisu_toggle key on ASCII layout keyboard

In all of the preset keymap styles of Mozc, the command Toggle alphanumeric mode on Composition mode is assigned to the Eisu (Eisu_toggle), Hiragana/Katakana or Muhenkan key, but the ASCII keyboard has none of them.

One solution for it is to use Caps Lock key as Eisu_toggle (Mozc does not recognize the Caps Lock key as of r124). The following is a way to assign Eisu_toggle to Caps Lock (without any modifier keys) and Caps_Lock to Shift+CapsLock, as on the OADG keyboard layout.

Warning: This will affect all applications.

Edit ~/.Xmodmap as follows:

keycode 66 = Eisu_toggle Caps_Lock
clear Lock

Then, restart X or run xmodmap to apply the changes immediately:

$ xmodmap ~/.Xmodmap

Troubleshooting

Building Mozc fails (process is killed)

If the build process fails with an error message like the following:

...
/bin/sh: line 1:  xxxx killed
...
make: *** [xxx/xxx...] error 137
...

Make sure you have not run out of memory.

New version of Mozc does not appear though I upgraded Mozc and restarted X or Input Method Framework (not rebooted)

The old version of Mozc may be still on your memory. Try to kill the existing mozc_server process:

$ killall mozc_server

mozc_server becomes defunct

Mozc cannot run in root. Start X in normal user.

mozc_emacs_helper not found in emacs

When installing mozc.el you need to install a helper program called mozc_emacs_helper.

You need to install emacs-mozcAUR or emacs-mozc-ut2AUR for this helper program.