ホームにもどる      「パソコンについて」にもどる

Anthy

  1. ubuntu Linuxには、標準でAnthyというIMEがついています。Atokを使っていた者がAnthyを使うとなりますと、どうしてもユーザー辞書の問題がひっかかります。Atokのユーザー辞書が使えなくなると、入力が手間取りますし、せっかく手間暇かけてつくったものが役に立たなくなるのかという徒労感も感じます。それでコードを書いて、自動的に移すことを考えることになります。下記のコードで移すことができることを確認しました。ただし単漢字や名詞だけです。ubuntuは8.04を使っています。
    https://smdn.invisiblefulmoon.net/programming/tips/atokdictoanthy/にあるコードを参照して作成しました。
    Atok辞書ユーティリティの一覧出力から登録した単語を出力し、atok_user_dic.txt というファイル名にします。Windowsdからとってくることを前提にしているので、文字コードはShift-Jisを前提としていますが、UTF8でも問題ありません。
    atok_user_dic.txt をホームディレクトリにコピーします。
    次にテキストエディタに次のコードをコピーし、diclistwrite.pl というファイル名でホームディレクトリに保存します。これは/etc/anthy/diclist にユーザー辞書名を登録するためだけのものですが、手動でしても手間はたいしてかかりません。
    #!/usr/bin/perl
    use strict;
    use warnings;
    open(FILE,'>>/etc/anthy/diclist') or die "$!";
    print FILE "atok_ude.t\n";
    close(FILE);

    次にテキストエディタに次のコードをコピーし、atokhenkan.pl というファイル名でホームディレクトリに保存します。これはAtok式のユーザー辞書をAnthy式のユーザー辞書に変えるものです。
    #!/usr/bin/perl
    use strict;
    use warnings;
    my $line;
    my $line2;
    my @file;
    my @file2;
    my $yomi;
    my $tango;
    my $hinshi;
    my $hinshi2;
    open(FILE,'atok_user_dicw.txt') or die "$!";
    @file=<FILE>;
    close(FILE);
    foreach $line(@file){
      if($line=~/([^\t]+)\t([^\t]+)\t([^\t]+)(\*|\$)/){
        $yomi=$1;
        $tango=$2;
        $hinshi=$3;
        if($hinshi eq "独立語" or $hinshi eq "単漢字"){
          $hinshi2="KJ*500";
        }
        elsif($hinshi eq "名詞サ変" or $hinshi eq "名詞ザ変"){
          $hinshi2="T30*500";
        }
        elsif($hinshi eq "固有人名"){
          $hinshi2="JNM*500";
        }
        elsif($hinshi eq "名詞" or $hinshi =~/固有.*/){
          $hinshi2="T35*500";
        }
        elsif($hinshi eq "感動詞"){
          $hinshi2="CK*500";
        }
        $line2="$yomi "."#$hinshi2 "."$tango\n";
        push(@file2,$line2);
        }
    }
    open(NEWFILE,'>atok_udw.t') or die "$!";
    print NEWFILE @file2;
    close(NEWFILE);

    次にテキストエディタに次のコードをコピーし、 atok_dic_install.bash というファイル名でホームディレクトリに保存します。
    #!/bin/bash
    sudo perl diclistwrite.pl
    nkf -w atok_user_dic.txt > atok_user_dicw.txt
    perl atokhenkan.pl
    nkf -e atok_udw.t > atok_ude.t
    sudo cp atok_ude.t /usr/share/anthy/dic
    sudo update-anthy-dics
    echo "終了しました。"
    echo "再起動して下さい。"

    次に端末を開くます。nkf がインストールされていないと動きませんので、まずsudo apt-get install nkf と打ち込んで 、Enterキーを押し、nkf をインストールします。
    次に sh atok_dic_install.bash と打ち込み、Enterキーを押します。
    "再起動して下さい。" の表示が出れば再起動します。
    これでAtokのユーザー辞書がAnthyで使えるようになります。
  2. 単語登録の画面を開くには、F12を押す。登録単語編集の画面を開くには、F11を押す。

ホームにもどる      「パソコンについて」にもどる