Chienomi

AURに(fcitx-)mozc-ut-unifiedを上げました

Live With Linux::manjaro

要約

AURに従来の(fcitx-)mozc-neologd-utに加え、(fcitx-)mozc-ut-unifiedを追加した。

これは従来のfcitx-mozc-neologd-ut+ut2相当であり、(fcitx-)mozc-neologd-utよりも高い変換力を持つ。

現在(fcitx-)mozc-neologd-utも残ってはいるが、AURの強化版Mozcを使いたい人は(fcitx-)mozc-ut-unifiedを使うことを推奨する。

内容

(fcitx-)mozc-ut-unifiedはアップストリームとしてutuhiro氏のmozcdic-utを持つ。

これは従来のmozc-ut2とmozcdic-neologd-utをマージしたものである。

オリジナルのパッケージ名は(fcitx-)mozc-utだが、旧mozc-utと区別しづらいこと、AURにfcitx-mozc-utが残っており処理が面倒であることなどから、よりわかりやすい名前である“ut-unified”をつけ、またパッケージdescriptionに関してもAURヘルパーを使ったときによりわかりやすいように工夫している。

この都合で非本質的箇所においてアップストリームのPKGBUILDをある程度いじったものになっている。

従来のfcitx-mozc-neologd-ut+ut2と全く同じというわけではなく、ニコニコ大百科の辞書を有効にするオプションなどはなく、またiBus用のパッケージも提供されている。

歴史と用語

mozc

Chrome OS向けに開発されているGoogle日本語入力のOSS版。

ChromiumとGoogle Chromeの違いと比べるとその差異はかなり大きく、Mozc自体は2年以上開発が停滞している。

Linuxの他のかな漢字変換機構と比べると効率は良いが、ごく基本的な語彙が足りなかったりして、他のプラットフォームのかな漢字変換が改善されている中かなり苦しい状況である。

例えば「隙」という語を変換するのが非常に難しい。

通常のmozc自体はiBusバインディングとなっている。

mozc-ut

utuhiro氏(UTUMI Hirosi氏)による拡張辞書のUT Dictionaryが組み込まれたものである。

Anthyに関してもModified Anthyとして存在していた。

これはデータを失ってしまったことにより開発終了となったという。

mozc-neologd-ut

utuhiro氏が新たにmecab-ipadic-NEologd Neologisnという形態素解析エンジンの単語分かち書き用の辞書をMozc用に変換して組み込んだもの。

UTに代えて開発され、UTにあったライセンス的な問題もない。 新語や固有表現に強い、とされている。 実際、流行語やネットスラングなんかに強い。

AURではボ氏がメンテナンスしていたのだが、氏が後述するmozc-ut2に移行したことからパッケージ放棄しており、私がメンテナンスを引き継いだ。

ちなみに、ボ氏はアップストリームをforkしてソースの所在を確保しているのだが、私はアップストリームの更新に直ちに追従する方針をとっているため、私がメンテナンスしているものはutuhiro氏のOSDNリポジトリからダウンロードする。

mozc-ut2

開発終了となったUTの後継となる作り直したUTがUT2。 utuhiro氏自身による作。

基本的な内容はUTと同じ方向性。 Neologdよりも後に登場したので、復活のUTなのだが、2017年から開発が停滞していた。

AURではボ氏がfcitx-mozc-ut2のメンテナを務めていた。

mozcdic-neologd-ut

アップストリームにはmozc-neologd-utとは別にmozcdic-neologd-utというものがあり、これがmozc-neologd-utのソースになっていたのだが、途中からmozcdic-neologd-utからmozc-neologd-ut及びfcitx-mozc-neologd-utがビルドできるようになっており、mozc-neologd-utが微妙になっていた。

そして、2020年1月にmozc-neologd-utのPKGBUILDが大改修され、mozcdic-neologd-utを使うように変更されていて、ところがAUR方式ではこれがこのまま動かないので、それをベースにさらに大きな改修が必要になったのだけど、翌日mozc-neologd-ut.txtというファイルが置かれ、mozcdic-neologd-utを使うように変更になってしまう。

そのため、2020年1月からAURの(fcitx-)mozc-neologd-utはmozcdic-neologd-utをアップストリームとするように変更している。

2020-05の事件

mozcdic-neologd-utの更新のあった次の日にmozcdic-neologd-ut.PKGBUILDというファイルが追加された。

同一リビジョンで、やっていることは同じなのだが、Mozc自体が更新されていないせいで、依存しているprotobufが古く、Arch Linuxでprotobufが更新されたため使えなくなる、という出来事に対応したらしい。 これについてはAURではfcitx-mozc-neologd-ut+ut2のほうが対応が早く、Manjaroを使っている私はその出来事が遅れて発生したためmozc-neologd-utのほうが対応が遅れた。

アップストリームでは同一リビジョンだったが、前日にすでに同バージョンのパッケージを上げていたのでリビジョン2としてアップした。

mozcdic-ut

2020-06にmozcdic-neologd-utの更新があったのだが、翌日にmozcdic-neologd-ut及びmozc-ut2がテキストファイルに変更された。

そこでmozcdic-utに移行した旨が示されていたため、私はこれを前述のように(fcitx-)mozc-ut-unifiedとしてアップロードし、(fcitx-)mozc-neologd-utをOut-of-dateとした。 また、影響が出るであろうボ氏にもその旨連絡した。

mozcdic-ut-neologd

だが、さらに翌日、ut関連のファイルが現行のmozcdic-utを除きごっそり削除され、代わりにmozcdic-ut-neologdというものが登場していた。

utuhiro氏によれば

Mozc UT Dictionary is so big. You can disable some dictionaries to reduce the size and simplify the license.

ということである。

中身をチェックしたところ、基本的に従来の(fcitx-)mozc-neologd-utとして扱って支障なさそうであったため、mozcdic-ut-neologdベースとしてAURの(fcitx-)mozc-neologd-utパッケージをresumeした。

2020-06-24追記

mozc-ut-unifiedについてはmake-dictionaries.shで有効にする辞書をコントロールしているが、これは前提としてこのファイルを含むソースを編集することになり、このPKGBUILDmakepkgすると有効にするチャンスがない。

(上流PKGBUILDでは2020-06-24版でまたソースコードをローカルに用意する形式に変更されたが、これも一回untarしてtarする必要がある。)

このことから、上流のPKGBUILDに書き足す形でmake-dictionaries.shを編集して全辞書を有効にするようにした。

恐らくmozc-ut-unifiedを使う人はライセンス的問題を乗り越えて辞書を有効にしたいだろうし(気にする人はneologdを使うだろうし)、特にAURで使う人はそうだろうから、デフォルト全有効とした。

また、mozcdic-ut-jawikiというものが登場しているが、これは「人名辞書を追加する」ことが主目的であり、AURで欲しい人がいるとは思えなかったので、私はこのパッケージは扱っていない。 そんなに難しい作業ではないので、AURでメンテナをしたい、という人は挑戦してみてもいいかもしれない。ただし、やるからにはちゃんと責任は果たすこと。