基本的に East Asian Ambiguous Width問題の修正ロケール の手順で行うが、Ubuntu には /etc/locale.gen が無いので一部即興した。 この方法で正しいのかどうかは知らないし、今後パッケージのアップデートで 変更を取り消されてしまうかもしれない。なお、language-pack-ja と language-pack-ja-base の両パッケージがインストールされている状態で行っ た。

  1. /usr/share/i18n/charmapsUTF-8-EAW-FULLWIDTH.gz をコピーする。 ここまでは同じ。

  2. /var/lib/locales/supported.d/local に以下の行を追加する。

     ja_JP.UTF-8 UTF-8-EAW-FULLWIDTH
    
  3. ロケールの変更情報を削除する。これをやらないと locale-gen で更新されなかった。

     sudo rm /var/lib/belocs/*
    
  4. locale-gen を走らせる。

     $ sudo locale-gen
     Generating locales...
       en_AG.UTF-8... done
       en_AU.UTF-8... done
       en_BW.UTF-8... done
       en_CA.UTF-8... done
       en_DK.UTF-8... done
       en_GB.UTF-8... done
       en_HK.UTF-8... done
       en_IE.UTF-8... done
       en_IN.UTF-8... done
       en_NG.UTF-8... done
       en_NZ.UTF-8... done
       en_PH.UTF-8... done
       en_SG.UTF-8... done
       en_US.UTF-8... done
       en_ZA.UTF-8... done
       en_ZM.UTF-8... done
       en_ZW.UTF-8... done
       ja_JP.UTF-8... done
       ja_JP.UTF-8-EAW-FULLWIDTH... done
     Generation complete.
    

これで ja_JP.UTF-8 で曖昧幅が全角に解決されるようになる。