ラベル skk の投稿を表示しています。 すべての投稿を表示
ラベル skk の投稿を表示しています。 すべての投稿を表示

2009年4月9日木曜日

SKK用三国志辞書

 SKK用三国志辞書を作るためのシェルスクリプトを作ってみました。
 ginka さんが公開して下さっている しんぷる三国志辞書 を元にSKK用辞書に変換しています。
 蒼天航路も始まったことだし、三国志辞書などいかがでせう。

 変換には nkf と skkdic-expr2 が必要です。
sudo apt-get nkf skktools
としてあらかじめインストールして置いて下さい。
 あとは以下のスクリプト sangokusi2skk.sh としてを保存し、

#!/bin/sh
# -*- coding: euc-jisx0213 -*-
# last updated : 2009/04/09 20:41:45 JST

#wget http://homepage.mac.com/ginka/sanguo/data/simplesan_ver02otf.txt
TMP="sangokusi.tmp"
nkf -W16B --oc=EUC-JIS-2004 -Lu $1 > $TMP
cat $TMP | sed \
-e 's/\//,/g' \
-e 's/\t人名$//' \
-e 's/\t地名$//' \
-e 's/\t名詞$//' \
-e 's/\t/ \//' \
-e 's/(/;(/' \
-e 's/$/\//' | skkdic-expr2 > $TMP
echo ";; -*- mode: skk-jisyo-edit; coding: euc-jp -*-" | \
cat - $TMP > SKK-SANGOKUSI.JISYO
rm $TMP
 保存したら後は、ginkaさんのサイトから しんぷる三国otf02 Unicode(UTF-16) simplesan_ver02otf.txt というファイルを落としてきます。後は、
sangokusi2skk.sh simplesan_ver02otf.txt
とでもして実行すれば、SKK-SANGOKUSI.JISYO というSKK辞書が出来上がります。

 注意点としてはシェルスクリプトの文字コードに注意してください。
 もし変換して出来た辞書を配布する場合は、元データの作成者のginkaさんに許諾を取ってください。
 適当にでっち上げただけですのでうまくいっているかどうかわかりません。一応手元のDDSKKとEmacsの環境ではちゃんと動いています。
 しかし蒼天航路のOPの映像は素晴しい。

2008年1月19日土曜日

SKKサーバーを入れてみた

Emacsで、初回に辞書を読み込む時の時間に苛立ちを憶え、SKKサーバを入れてみることにしました。
複数の辞書を使用しているので、uim-skkDDSKKで両方で使用したいというのもありますし、メモリの節約にもなると思ったからです。

とりあえず、ubuntuのリポジトリに複数の辞書を扱えるskkserverは、skksearchしかなかったので、skksearchを入れました。
sudo apt-get install skksearch tinycdb skkdic-cdb

ちなみにうちの環境では、skksearch を入れたら、らnetkit-inetdからopenbsd-inetdに変わりました。
skksearchはcdb形式の辞書を扱いますので、手持ちの辞書をcdb形式に変換します。
cd /usr/share/skk/
sudo skk2cdb SKK-JISYO.L SKK-JISYO.L.cdb
また手持ちの2ch辞書、顔文字辞書、カタカナ英語変換辞書、をそれぞれ同じようにcdb形式に変換しました。

次に /etc/skksearch.conf を開いて、
cdb:/usr/share/skk/SKK-JISYO.cdb
cdb:/usr/share/skk/SKK-JISYO.2ch.cdb
cdb:/usr/share/skk/SKK-JISYO.KAO.cdb
cdb:/usr/share/skk/katakana-eigo.jisyo.L.cdb
な感じで使用する辞書を登録。
事前準備が出来たので、inetdを起動する。
sudo /etc/init.d/openbsd-inetd start
念の為、~/.skk に、
(setq skk-aux-large-jisyo nil)
と書いておいて、Emacsを起動。おもむろにユーザ辞書にない単語を入力してみて、変換。
瞬時に変換候補が出た。以前のように初回辞書読み込みが発生することもなく、あっという間。
う〜ん、素晴しい。こんなことならもっと早くやれば良かった。

uim-skk の方は、uim-pref-gtk で、辞書ファイルの変わりにSKKサーバを使用にチェックを入れるだけ。

これで複数の辞書を、EmacsのSKKとuim-skkとで共通に利用できて、Emacsでも初回辞書読み込みに待たされることもなくなった

2007年11月21日水曜日

DDSKKで複数の辞書を追加する

WindowsのATOKで使っていたカタカナ→英語変換辞書が便利だったので、skkでも辞書の追加をしてみました。

とりあえず、顔文字辞書と、2ch用語辞書も追加w

以下のような感じで~/.skkに記述。

;; 顔文字
;; http://www.bookshelf.jp/pukiwiki/pukiwiki.php?SKK%20%BC%AD%BD%F1#content_1_5
(add-to-list 'skk-search-prog-list
'(skk-search-jisyo-file
"/home/hogehoge/skk-dic/SKK-JISYO.KAO"
10000)
t)
;; 2ch用語
;; http://omaemona.wiki.sourceforge.net/2chDic
(add-to-list 'skk-search-prog-list
'(skk-search-jisyo-file
"/home/hogehoge/skk-dic/SKK-JISYO.2ch"
10000)
t)

;; カタカナ-英語 変換辞書
(add-to-list 'skk-search-prog-list
'(skk-search-jisyo-file
"/home/hogehoge/skk-dic/katakana-eigo.jisyo.L"
10000)
t)
uim-skkのほうは複数辞書の追加は出来ないっぽい。

2007年11月20日火曜日

SKKで全角空白を入力する

DDSKKの場合

~/.skk に以下を追記
(add-to-list 'skk-rom-kana-rule-list
'("z " nil " "))

uim-skkの場合

~/.uim に以下を追記
(require-module "skk")
(define ja-rk-rule
(append '(
((("z" " "). ())(" " " " " "))
)
ja-rk-rule))

~/.uim は文字コードをeuc-jpで書いて下さい。

これで 「z 」(zキーを押してスペースキー)で全角空白が入力出来る。

2007年11月16日金曜日

skk を入れてみた

最近あちこちでskkの話を聞くので、試しに導入してみました。
skk はわかりやすく言うと、日本語入力ソフトに任せている文法解析を人間がやってしまおうというものです。
つまり、紙とペンで文章を書く時と同じということですね。
文法解析を日本語入力ソフトにまかせないわけですから、送り仮名の誤変換がありません。
口語体で文章を書いていてうまく変換されずに、文節の区切りを修正する手間もありません。

自分でいちいち指定するのって面倒くさい〜と思うかもしれませんが、よく考えて下さい。
普段紙とペンで文章を書くとき、自分で漢字を書いて、送り仮名を決定しますよね。この感覚をPC上にも持ち込んだと考えれば、そう、今までの連文節変換の思考から切り替えれば、実は案外すんなりと慣れる事が出来ると思います。まぁ、その切り替えがなかなか難しいのかも知れませんが。

具体的にどんなものかは、以下の説明が分かりやすいと思います。

http://ja.wikipedia.org/wiki/SKK

以下導入メモ


とりあえず、scim-skk を入れてみました。が、辞書から登録語を削除する機能がなかったので使うのをやめました。かわりに、評判のいいuim-skk を入れてみました。
sudo apt-get install scim-uim uim-skk uim-gtk2.0
uim-skkを使うためのscim-uimブリッジを入れて、uimのGUI設定ツールを入れています。
  • GUIでの設定は、 uim-perf-gtk コマンドになります。
ついでにemacsも使っているので、DDSKKも入れました。
sudo apt-get install ddskk
DDSKKのユーザ辞書が、~/.skk-jisyo
UIM-SKKのユーザ辞書が、~/.skk-uim-jisyo
になります。それぞれ別個のファイルとして存在するので、
sudo apt-get install skktools
として辞書ツールを入れて、skkdic-expr と、skkdic-sort コマンドを使って二つの辞書をマージするスクリプトを書いて、crontabで毎回PC起動時に一回実行するように設定しました。
次にメインのラージ辞書は /usr/share/skk/SKK-JISYO.L ですが、これを最新の辞書にするために、ネットから取得するスクリプトを書いて一週間に一回更新するよう/etc/cron.weekly/に放り込みました。


使い始めてまだ一週間も立っていませんが、なかなかに面白い日本語変換ツールだと思います。ともかく変換が賢いですねー。送り仮名の変換ミスが起らないし。ミスったらそれは自分が悪いのだしw
あとは辞書にない単語があると即座に単語登録モードになるのでどんどんユーザ辞書に単語が追加されて行き、どんどん自分用にカスタマイズされて賢くなっていくのが実感できて嬉しいです。


基本的な使い方

  • DDSKKでの起動
    C-x C-j
  • カタカナ入力
    qキーでカタカナモードになる。
    shiftキーで変換モードで、最後にqキーでもカタカナに変換出来る。
  • 半角英数モード
    lキーで透過モード。つまり半角英数モードになる。
    元に戻るには、C-j
  • 全角英数モード
    Lキー
    元に戻るには、C-j

  • よく使う記号の入力は
    • 「〜」波線
      z~」で波線が入力される。

    • 「・」全角中黒
      z/」で全角中黒が入力される。

    • その他
      z- 「〜」に変換
      z. 「…」に変換
      z/ 「・」に変換
      z, 「‥」に変換
      zz 「っ」に変換
      z[ 「『」に変換
      z] 「』」に変換
      zh 「←」に変換
      zj 「↓」に変換
      zk 「↑」に変換
      zl 「→」に変換



    • 辞書登録
      辞書にない単語が入力されると自動的に「単語登録モード」になります。
      そこで「登録語」を入力する。送り仮名は入力する必要はありません。


    • 辞書から単語を削除
      削除したい単語を変換し、未確定状態で「X」キーを 押す。すると削除して良いのか聞いてくるので、 選択するだけ。