« 2010年11月 | トップページ | 2011年1月 »

2010年12月

2010年12月31日 (金)

azikのシャ行はskkの辞書purge(X)と衝突する

azikのシャ行はskkの辞書purge(X)と衝突する

Time-stamp: "Thu Aug 26 13:20:13 JST 2010"

skkにおいて(漢字)変換開始にはスペースキーを使い次の候補に移るにもス ペースを使う。候補を前の候補に戻すにはスモールエックス(x)を使う。そ して候補を辞書から削除するにはラージエックス(X)を使う。

skkでのローマ字仮名変換の対応表はskk-vars.elの中にある skk-rom-kana-base-rule-listで定義される。スモールエックス(x)が先頭文 字となるローマ字の定義はある。対応する仮名は滅多に使わないものばかり であるがローマ字の先頭文字に「x」を使うことができることは間違いな い。

"xx"  "ッx"  "っx"
"xa"  "ァ"  "ぁ"
"xe"  "ェ"  "ぇ"
"xi"  "ィ"  "ぃ"
"xka"  "ヵ"  "か"
"xke"  "ヶ"  "け"
"xo"  "ォ"  "ぉ"
"xtsu"  "ッ"  "っ"
"xtu"  "ッ"  "っ"
"xu"  "ゥ"  "ぅ"
"xwa"  "ヮ"  "ゎ"
"xwe"  "ヱ"  "ゑ"
"xwi"  "ヰ"  "ゐ"
"xya"  "ャ"  "ゃ"
"xyo"  "ョ"  "ょ"
"xyu"  "ュ"  "ゅ"

azikでは「x」をシャ行のローマ字の先頭文字として使う。skk-vars.elの ローマ字仮名対応表から明らかなようにskkにおいてスモールエックスを ローマ字の先頭文字として使うぶんには問題ない。トラブルはローマ字の先 頭文字としてラージエックスを入力したときに起る。

最初に出会った「X」に関するトラブルは、azik化したskk.vimで「完全手 動」を「Kzzdxudp」と入力したときであった。「かんぜんしゅどう」はskk の基本辞書SKK-JISYO.Lには収録されていない。そしてユーザー辞書にもな い。

「完全手動」は辞書にないため、先ず「Kzzd」と打つ。そうすると「▼完 全」の候補が表示される。普通ならエンターキーで確定しなくても次の文字 (ローマ字の第1字めなど)を入力すると自動的に確定する。それが普通なの で前の候補が未確定のままで次の「Xudp」に取り掛かる。ラージエックスを 打ったとたんにミニバッファに「really purge " かんぜん /完全/ "? (yes or no)」のメッセージが出る。仕方なくnoと答えて「▼完全」に戻りそれを 確定する。その後に改めて「Xudp」を入力しなおさなければならない。

skkにおいて変換候補表示中にラージエックス「X」を押すと、その候補を辞 書から削除する操作になる。このことが災いして予期せぬpurgeするかの メッセージとなる。これには救済策がない。直前の候補が未確定のままで シャ、シュ、ショの読みの漢字が次に来る場合は、アッ、アレカと諦めるし かないなと思う。skkをazik化してもノーマルなローマ字のsya,syu,syoは使 える。滅多にないこれらのケースではsyで回避するしかないなと様子見する ことにする。そのうち解決策が見つかるかもしれない。

次にネット検索で出会ったのが「azikなskkime98でシャ行(Xa)が漢字変換 モードにならない」症例である。早速skkime98の仮名モードで「X」を打っ てみる。画面には何も表示されない。次に「a」を打つと「あ」が表示され る。つまり「Xa」を打っても変換モードにはならないしazik方式の「しゃ」 にもならない。単に「あ」としか表示されない。ネット検索により第2スト ロークを大文字にして「xA」なら変換モードに入ることができてしかもazik ローマ字と解釈して「▽しゃ」になる。スペースキーを押すと「車」「者」 「社」「写」などの変換候補に進める。しかし、これでは操作が不統一とな り使いにくい。

ネット検索によりc:\windows\ime\skkime98\config\default.elを改造する 回避策に気付く。「X」がj-set-henkan-pointに指定されてないために変換 モードに入れない。これを指定しなおすとj-purge-from-jisyoに割り当てた キーがなくなるので新たに「C-k」へマッピングする。

;(define-key skkinput-base-map "\13" 'j-kill-line)
(define-key skkinput-base-map "\13" 'j-purge-from-jisyo)
;(define-key skkinput-map "\130" 'j-purge-from-jisyo)
(define-key skkinput-map "\130" 'j-set-henkan-point)

これが希望通りに動いたことで、今まで放置していた「skk.vimで変換候補 表示中に続けてシャ行の漢字を打とうと「X」を使うと辞書purgeするかと聞 かれる」問題が解決できるかもしれないと思う。辞書purgeキーを「X」から 他の文字に変更すればよいと考える。

skkime98の場合にならって「C-k」にしようとする。しかし、skk.vimにおい て「C-k」はすでにskk_autofill_toggle_keyに割り当てられているので使え ない。vimでは使われていないらしい「^A, ^C, ^O, ^S, ^X」(^はctrlを押 しながらを意味する)を指定しても受け付けない。アルファベット26文字は すべて予約済みであることは間違いない。残っているのは記号だけである。

そこで「!」をskk_purge_cand_keyに指定するべくskk-azik.vimに次を付け 足す。

let skk_purge_cand_key = "!"

これでskk.vimの辞書purge問題はなくなる。しかしキー指定を換えたことで 思わぬところで副作用が出るかもしれない。とりあえず変換候補が未確定の 状態で次の文字として「!」を打つことはできなくなる。それ以外の不都合 が起こるかどうかは今のところ分からない。そうなったらそのときにまた回 避策を考えなおすことにする。

ここに来て本家のskk-azik.elでは辞書purgeが効かないことに気付く。とり あえずskk.vimのような問題は起こらない。「Kzzd」の入力で「▼完全」と なり候補確定操作をしないですぐに「X」を打つと「完全▽x」となり辞書 purgeするかのメッセージを出すことなくシャ行の漢字入力に進める。さす がは本家skkだけのことはある。不必要な辞書purgeを持ち出さない。

しかし、色々と試しているうちに「X」が辞書purgeとして機能しないことに 気付く。現在の候補が未確定の状態(塗り潰された三角形▼が前置された状 態)で「X」を押すと表示中の候補で確定してしまい「▽x」が後置される。

skk-azik.vimの辞書purgeキーの設定をそのまま使うことにして~/.skkに次 を書き加えたら辞書purgeできるようになる。こちらも意外なところで副作 用がでるかもしれない。

; 現在の候補を辞書から削除するキー(skk-azik.elのため)
(setq skk-rom-kana-rule-list 
     (cons '("!" nil skk-purge-from-jisyo) skk-rom-kana-rule-list))
なお、これらをブラウザで閲覧すると文字化けします。ブラウザのencodingを Shift_JISに変更してください。

azikにして打鍵速度が目に見えて上ったとは言えない。頭に浮かんだ言葉の 仮名書きをazik方式のローマ字に置き換えるのに時間がかかる。例えば「か んご」は、「k-ann-go」に分解してからazik式の「kzgo」に置き換える。そ れからキー位置を思いおこしながら指を動かす。仮名をazik式ローマ字に置 き換える手順に一呼吸かかる。ノーマルなローマ字を使うより時間がかか る。これは訓練次第で速くなってゆくものだろう。

azikローマ字化で頭はフル回転になる一方で指先はゆっくりな動きになり疲 れない。打鍵が楽になったなと感じたのは文案を考えながら打つのではなく て、出来合いの文章を丸写しする場面である。

最近ネット検索で次の記事をみつける。コピープロテクトがかかっているの でpdf上の文字を選択できない。是非ともエディタで丸写ししておきたい内 容だったのでadobe reader画面を見ながらキーボードで手打ちする。azik拡 張ローマ字の関連情報を調べてゆくうちに分かち書きを考える。その延長線 上でのことである。

その昔の我が国で日本語をローマ字化してしまおうという過激な意見があっ たらしい。それでも日本は漢字を捨てることをしなかった。ここには書かれ ていないが、お隣の韓国では漢字を捨てて表音文字のハングルにしてしま う。そのため漢字を学んでない若い人が自国の数十年前に書かれた文章が読 めないという困った現実があるらしい。

「明治維新によって、短期間に大量の情報が欧米からもたらされた。情報 は、英語、フランス語、ドイツ語などの欧米言語で書かれた大量の書籍や文 書である。欧米からの情報を日本が受け入れ、消化し、自国のものとするた めには、これらの書籍や文書を日本語に翻訳しなくてはならない。しかし、 欧米言語に対応付けるには、当時の日本語はあまりにも不備であった。江戸 末期までは、情報の輸入先は、断然、中国である。日本語には、漢語、漢 文、漢籍への対応の仕組みは出来上がっていたが、欧米言語、欧米情報への 対応は、貧弱そのものという状態であった。
 この際、日本語をやめて、国語を英語にしてしまおうという主張も持ち出さ れた。急進的な欧化主義者であった初代文部大臣の森 有礼の主張である。 ただし、森 有礼は、外国語の導入がやがては国を上層階級と下層階級への 分裂に導くものとなると考え、日本語の近代化に傾注することになる。そし て、明治憲法発布の前年、国粋主義者の手に倒れる。
 まず、日本語には、欧米言語が表す概念に対応できる語彙が大幅に欠けてい た。新しい語彙が大量に作られた。漢字がもつ豊かな造語能力が最大限に利 用され、大量の和製漢語が作られた。「政治」「法律」「裁判」「産業」 「交通」「通信」「機械」「電気」「電話」など1万以上に渡る新語が作ら れ、欧米の概念に対応できるようになった。中国語においては、漢字は、一 文字が一単語で一音節である。漢字二文字を組み合わせることによって新し い複合漢語が生れる。1万字の漢字があれば、1万×1万=1億の漢語を作るこ とが出来る。三文字、四文字の漢語もあるが、ほとんどが二文字である。こ の時に作られた和製漢語は、現代日本語の概念語の骨格を構成しており、こ れらの多くを日本から導入し中国も使っている。そして、特許用語も、この 和製漢語の大量生産の延長線上にある。
 日本語には、句読点がなかった。というより用法が定かでなかった。外国語 のセンテンスに対応する翻訳和文を区切るものとして、句点で切る文という 単位が定められた。「~である」などの文末語が作られ、動詞止め文体も明 確化された。そして、「しかし」「けれども」などの接続詞、「彼」「彼 等」などの代名詞なども作り出された。
 明治維新によって西欧文明を取り込んだ日本は、国力をつけ対外進出に向 う。「言霊のさきはう国」として、日本語も神格化されていく。そして、敗 戦、神国日本の幻想は消え、アメリカ進駐軍の前に後進国の姿をさらすこと になる。
 日本の教育の実情調査にきたアメリカ教育使節団は、日本の教育レベルは低 く、その原因のひとつに漢字を使う日本語の改革が必要であると進言した。 一転して、外国語に対する言語コンプレックスが生まれ、山本有三や志賀直 哉など日本語の専門家であるべき人達でさえ、日本語は不完全で不便なもの と断じる有様であった。
 アメリカにおけるタイプライタを日常的に使う文書作成は、その効率の良さ に目を見張るものがあった。旧式の邦文タイプライタや手書きに頼っていた 日本の文書作成の効率の悪さは、歴然であった。米軍と日本軍の戦力の差に 情報戦力の差があった。情報戦力の差は、タイプライタ文化の差でもある。 とくに、日本の産業復興を担う経済人の目には、この差を埋める切実さが実 感された。タイプライタ文化を根付かせるために、仮名文字日本語やローマ 字日本語などの超簡易化表記の日本語の普及が提唱された。
 漢字制限や表記法の統一による日本語の簡易化に向けた国語改革が始まる。 国語審議会を舞台に、論議が展開されることになる。国語左派は、改革推進 派で、超党派の国会議員を交え1957年に結成された「言語政策を話合う会」 にまとまる表音指向派である。国語右派は、改革反対派で、1959年に結成さ れた「国語問題協議会」にまとまる表意指向派である。
 改革の焦点は、表記法にあった。左派は、表音化を目指し、漢字の制限から ローマ字化までを主張した。対する右派は、慎重論から絶対反対までを主張 した。改革論議の火種は、文部省によって次々と世に出されていった。 1946年に当用漢字表と現代かなづかいが、それぞれ内閣訓令、内閣告示とし て出され、1947年に当用漢字別表と当用漢字音訓表、1948年に当用漢字字体 表、1951年に人名漢字別表、1958年に送りがなのつけ方が出された。
 改革成果の評価は分かれる。しかし、意外に世の中に受け入れられていっ た。マスコミや教育の分野にとっては、少々の難点があろうと全国統一の規 格は必要不可欠であったからである。」

ブラウザ上のhtmlのコピペは問題なくできるがpdfの場合はコピペできない ものがある。いわゆるコピープロテクトがかかっているpdfは文章をマウス で選択することができない。仕方ないので人海戦術でpdfを見ながら人手に よりエディタに打ち込む。adobe readerとエディタをパソコンの上下二分割 画面に表示させて作業する。

エディタだけを上下半分幅表示としadobe readerは全画面表示でもエディタ への打ち込みはできる。しかし、adobe readerをスクロールさせるためにア クティブにするとエディタ画面が引っ込んでしまう。逆にエディタを全画面 表示にしてadobe readerを上下半分幅にすると、エディタに入力しようとし た途端にadobe readerが消えてしまう。これでは仕事にならない。エディタ とadobe readerが常にパソコン画面から消えないようにするにはそれぞれを 上下二段に表示させるしかない。左右分割では不必要な行の折り返しになっ たり横スクロールが必要になったりで使いにくい。

いちばんよいのはパソコンをデュアルディスプレイにすることである。一台 のパソコンに付属するディスプレイに加えてもう一個のディスプレイを増設 する。現在のパソコンはそのためのディスプレイ増設端子を備えており windowsなどのオペレーティグシステムはデフォルトでデュアルディスプレ イに対応できるようになっているらしい。

証券取引所がからむニュースで三つのディスプレイを前にする人の姿をよく 見かける。三面鏡のようにディスプレイを配置してその前に一つのキーボー ドが置かれている。これを見てパソコンを三台並べていると誤解してはいけ ない。キーボードは一つだけであり一台のパソコン本体に三つの画面をつな げている。

新聞紙大のテーブル上でノートパソコンを使っている私にとってマルチディ スプレイは遥か彼方の遠い世界である。それはともかくとしてpdfファイル である上記の記事をテキストエディタに丸写しする作業ではazik拡張ローマ 字で打鍵数が減りずいぶん楽になったと実感できた。文章を考えながら打ち 込んでいるときには文案でつっかえ、azikローマ字でつっかえしているので azikにしたから速いという感じはしない。すでにあるものを複製とか清書す るときにはタイピングが楽になったとはっきり分かる。

ネット上でazikな話題を提供するのはazikを使いはじめて間もない人が多 い。これを書いている私もazik歴は二ヶ月でしかない。習い憶えたことを自 分なりに整理して書き留めておくというスタイルの記事が多い。長らくazik を使い続けているという発言を見ることは少ない。azikに慣れてしまい日常 的に使うようになると、いわば環境となってしまいとくに付け加えることは なくなるということであろうか。

それともazikに触発されてより高速なキー配列に移行してしまったのだろう か。azikの原作者はQWERTY配列からDvorak配列に変えているらしい。

「私自身Dvorak配列に移行して、今はACT+SandSという環境で快適なキー ボード入力をしています。(2002.5)」

| | コメント (0) | トラックバック (0)

2010年12月21日 (火)

azikなskkime98でシャ行(Xa)が漢字変換モードにならない

azikなskkime98でシャ行(Xa)が漢字変換モードにならない

Time-stamp: "Sat Aug 21 12:05:58 JST 2010"

未だにwindows meのもとでmeadowとvimを動かしている。どちらも漢字変換 にはskkを使う。しかもそれぞれに専用なskkとなっている。まずはmeadowで 本家skkを使い始める。meadowでskkを使うには少し手間がかかるが、ネット 上にある多くの情報に助けられて簡単に導入できる。

残念ながらskkの印刷されたマニュアルはない。使用者数が多いms-imeや atokにも解説本は殆どない。これは仕方ない。漢字変換は試行錯誤のうちに 自然に使いこなせるようになる。そうでなければ誰でも使えることにならな い。ワープロソフトを使うまえに漢字変換でつまずくようでは目的地にたど りつけない。ヘルプなしで何とか使えるように出来ているものである。

meadowの次にテキストエディタとしてwindows版のvimを動かすようになる。 初めのうちはms-imeやatokで日本語入力するけれど使い勝手が悪い。もとも と英語圏で開発されたmeadowやvimで日本語を扱うこと自体に無理がある。 最初から日本語を扱うために作られたms-imeやatokとは相性が悪い。 meadowのskkに慣れていたこともあってvimでskkを使うためにskk.vimを入れ る。

vimでskkを使うにはたった一つのファイルskk.vimと辞書ファイルさえあれ ばよい。meadowに本家skkを入れるときの関連ファイルの多さに比べると拍 子抜けしてしまうほどの軽量である。skk.vimに関する情報は極端 に少ない。使い方などは本家skkの解説を見るしかない。

meadowやvimはコンピュータプログラムを書く人達に便利な道具としてあ る。素人には呪文に見えるコマンドの羅列を考えだすプログラマであっても 成果物にはマニュアルとか説明書きをつけなければならない。普通の文章を 書くにも日頃のプログラミングで使い慣れたmeadowやvimをそのまま使うだ ろう。そのためだけに専用のものを取り出したりはしない。だからプログラ ミング専用ではなくて普通の物書きにも不自由しないよう改良されている。 英文を書くには苦労しない(だろう?私は英文が書けないのでタシカなこと はいえない)。

私はプログミングをしたことがあるにはある、という程度で日常的にはまっ たくプログラムとは縁がない。プログラムでなければ処理できないような大 量なデータを抱えて困っているのでもない。meadowやvimを使うのは日本語 の文章を書くためだけである。

どうして普通の物書きにプログラミング用のエディタを使っているのかの理 由は編集画面を覆い隠すように出てくる検索ダイアログが嫌いということに 尽きる。横合いからヌーッと画面を隠すように出てくる検索キーワード入力 ボックスが我慢ならない。

「さて、この後、「次を検索」ボタンを順にクリックして、マーカーされた 部分を順番に確認してゆくわけですが、その際気になるのが、文書ウィンド ウを塞ぐように開いたままのダイアログボックスです。いちおうWordが、検 索結果を塞ぐことがないようダイアログボックスをこまめに移動してくれる のですが、文書全体を見渡せないというのはやはり不便でした。」
「しかしこのダイアログ・ボックスは,表示するだけでも手間がかかる。そ れ以上に呆れるのは,検索結果がこのダイアログ・ボックスの下に隠れてし まうことだ。一瞬,何も見つからなかったのかと思ってダイアログ・ボック スを閉じると,その下にヒットした言葉が見つかったりする。
どうしてこんなに不便なのかを考えてみると,「そもそもユーザーは検索な どあまりしないのだから検索用のダイアログ・ボックスなど使いにくくてよ い」という思いが開発者にあるのではないかと疑ってしまう。使われない機 能なら手を抜いたっていい,という考え方だ。しかし,実態は「検索機能が 使いにくいからユーザーは検索をしない」の方が近いのではないだろうか。
この点優れているのが,UNIXで広く使われている「Emacs」というエディタ である。Emacs自体は操作体系が複雑怪奇で,決して素直に使いやすいと言 えない代物だ。ただ検索機能の使い勝手は良い。「ミニバッファ」と呼ばれ る画面の最下部の領域を使って検索したい言葉を入力するため,ダイアログ ・ボックスに邪魔されることなく検索できる。
さらに優れている点は,キーボードを1文字打つたびに検索が進むことだ。 例えば「sch」と最初の3文字を打つだけで「scheme」という言葉の検索に成 功する。このような検索はインクリメンタル検索と呼ばれ,古くから存在し ている。Macintoshのユーザー・インタフェースの産みの親とされるJeff Raskin氏は,インクリメンタル検索を重視し,インクリメンタル検索専用の キーを備えたワープロ専用機を設計している。氏によれば,インクリメンタ ル検索は手早く利用できるだけでなく,一つキーを打つごとにユーザーに フィードバックが返るという点においても優れているとのことだ。
筆者が開発したMigemoというソフトウェアは,日本語でのインクリメンタル 検索を可能にしたものである。かな漢字変換という日本語特有の手間を省略 し,ローマ字のまま日本語をインクリメンタル検索できる。」

画面上にあるキーワードが画面外の他の部分でも使われていないかと検索す る際には、見えているキーワードをダイアログが隠してしまうかもしれな い。先にキーワードを選択しておけばよいのだがそれを忘れると厄介であ る。キーワードの入力が終わって、いざ検索になるとキーワードを表示する ダイアログは消滅する。そのまま残れば画面の本文が見えないから消えるし かない。

検索結果を見ているうちに何を探していたのか分からなくなったりする。 meadowやvimの検索ではキーワードを画面最下行にあるミニバッファという 定位置に入力する。それは編集画面を邪魔しないからキーワードの表示は消 えない。

検索ダイアログボックスには文字以外にも何かを選ぶチェック項目、いわゆ るラジオボタンがある。例えばアルファベットの大文字小文字を区別した検 索にするかしないかなどである。これをキーボードから選ぶのは面倒であ る。ついマウスに手が伸びる。

ミニバッファは文字入力しか受け付けないからキーボードだけで用事が済 む。meadowやvimが作られたころにマウスはすでに発明されていたがコン ピュータの入出力装置として一般化してない。そのためこれらのエディタは マウスを使わない設計になっている。そのため検索キーワード以外の指定は 検索コマンド自体をそれ専用のものに分けるとかキーワードと一緒に指定す ることになる。

普通の検索ではキーワードのスペル(綴り字)を全部入力する(正規表現検索 では全部の文字でないこともある)。そうではなくてキーワードの先頭文字 から一字ずつ増やしながら検索できるインクリメンタルサーチがmeadowにあ る。vimにも同様なincsearchがある。それはmeadowのインクリメンタルサー チと少し使い勝手が違う。

例えばmeadowでtomatoを検索するとき、先ず「t」をインクリメンタルサー チのキーワード入力欄である編集画面最下行にあるミニバッファに打ち込 む。そうすると現在カーソルの位置から後方で最初に見つかった「t」に カーソルが移動する。次に「o」を、ミニバッファに表示されている検索 キーワード「t」の後ろに打ち込んで「to」にする。そうすると現在カーソ ルのある「t」以降で最初に見つかる「to」にカーソルが移動する。綴りの 文字を一文字増やすごとにカーソルがその綴り字のある場所へ移動する。運 がよければ先頭の二、三文字の入力で目的のtomatoを見つけだすことができ る。

インクリメンタルサーチは特別なものではなく目視による検索では普通にや っている手順である。tomatoを探すときは文面を上から下へ流し読みして先 ずイニシャル「t」を探す。それが見つかったら二文字目が「o」かどうかを 見る。そうでなかったら再びそれより先にあるイニシャル「t」に進む。早 ければ「tom」で目的のtomatoに到達できるかもしれない。

インクリメンタルサーチでは現在検索中のキーワードが常に表示されてなけ れば困る。どんどん検索語の字数を増やしてゆくための文字入力場所とし て、さらに何を検索しているかを明示する場所としても必要である。それに は編集画面を塞ぐ形式の検索ダイアログでは不味いのである。

インクリメンタルサーチに慣れると、単に文中からキーワードを探しだすだ けではなく、最も高速なカーソル移動手段として使うようになる。キーワー ドの先頭文字から順次打ち込めばその度にカーソルが移動してゆく。なかな か希望の場所が見つからない場合は字数を増やしてゆけばよい。検索ダイア ログボックスは、検索途中にキーワードの文字数を増やす芸当ができない。 検索を開始する前に決めたキーワードしか探せない。必要なら検索文字を換 えて再検索するしかない。

時折ダイアログボックスが出るのはよいとしても検索場面で、しょっちゅう ダイアログボックスが出るようではウザッたい。検索をカーソルの移動手段 として使うなどという気にはならない。

エディタで文字入力中もマウスポインタ(たいていは矢印とか「I」字形のも の)が表示されている。それも現在入力場所を表すカーソルとは連動しない 位置にポツンと取り残されたようにある。画面を隠すものではないが神経質 な人には目障りらしい。そういう人向けに文字入力中はマウスポインタを消 す設定がある。マウスポインタですら邪魔とする人が検索ダイアログに抵抗 がないのはソフトウェアの仕様に慣らされているせいだろう。

検索ダイアログを表示するにはマシンパワーが必要だろう。検索したいと キーボードなりマウスを操作してから一秒後にようやくダイアログボックス が表示されるというのでは検索しようとする意欲が殺がれる。ソフトウェア 的には画期的なアイデアであってもそれを快適に実現できる高性能な機械が なければ採用できない。

例えば我々が日常的に使っているパソコン文字入力で、一文字入力する毎に 画面を再描画する(行末に新しい文字が次々に継ぎ足されていく)ことがもの すごく高性能なことであった時代があるらしい。昔の機械はその能力不足で キーを叩いてからその文字が画面に現われるまでに時間がかかったに違いな い。一瞬で表示するのが当たり前の現代からは想像できない。キー入力から その文字が画面表示されるまでに0.5秒かかるようにモッサリとしか動かな いパソコンは実用にならない。瞬時に処理できる高性能機械が出現するまで 「のんびり」ソフトウェアは封印されることになる。

たぶん見当違いだろうが、meadowやvimでは編集画面の上にダイアログボッ クスを重ねて表示するには機械の性能が不足だったのかもしれない。表示ま でに時間がかかりユーザーに受け入れられないのでミニバッファを使うこと を余儀無くされた。それはともかくとして、こと検索に関してはミニバッ ファ入力式が軽快で心地良いのである。ダイアログボックスが現われると思 考の流れを妨げられるような気がする。検索キーワードの入力だから本文の 一部が隠れていても構わないとはいかない。隣りに居る人にパソコン画面を 掌(てのひら)で隠されているようなイラツキを感じる。

meadowの日本語入力でskkを使うようになった切っ掛けはインクリメンタル サーチがms-imeやatokでは面倒だったことがある。とくに日本語の検索がや やこしい(ローマ字入力のままで漢字変換することなく日本語が検索できる mimegoがある。これは使っていない)。

またvimはコマンドモードに入ったときms-imeやatokが生きているとそれを 切らないとコマンドの入力に不自由がある。それらの最も簡単な解決法が skkということになる。専用のものだから問題なく動くのである。

普段の物書きにはskkを使うとしてもグーグル検索のキーワード入力では ms-imeやatokを使うしかない。skkime98を加えてwindowsで使える漢字変換 が三つになったとしても、どれかを自由に選んで使うことができる。気に入 らなければ使わないようにすればよいだけである。ならば入れてみようと なった。

平成22年7月に拡張ローマ字入力azik方式を知る。キーボード配列を入れ換 えることはしないでQWERTY配列のままとし、ローマ字と仮名の対応を増やす ことで省打鍵化をはかるのがazikである。

ローマ字入力において仮名一文字を三文字までの英字列に対応させる。母音 の「あいうえお」は一文字のa,i,u,e,oとし、拗音は三文字英字列の中央にy を挟む。その他の仮名は二文字の英字列に対応させる。ここで特徴的なこと は仮名一文字に対応するローマ字英字列の末尾文字は必らず母音英字 a,i,u,e,oになることである。ms-imeやatokのプロパティからローマ字仮名 対応を見れば分かる。

仮名一文字に対応するローマ字英字列の末尾文字を母音英字a,i,u,e,oの五 つに限定しないでその他の全ての英字を使おうとするのが拡張ローマ字 azik方式になる。普通の訓令式とかヘボン式のローマ字仮名対応が200個く らいだがazikになると600個くらいにもなる。そんなに多くては憶えきれな いと心配することはない。ノーマルなローマ字の200個でもすべてを憶えて はいない。ms-imeやatokのプロパティから見るローマ字仮名対応で、こんな 入力法もあったのかと再発見することは多い。

ノーマルなローマ字では仮名一文字に対するローマ字英字列の対応だけであ るが、azikな拡張ローマ字では拗音が混ってなくても「kn」を「かん」に割 り当てるような二文字以上の仮名に対するローマ字割り付けがある。しかも 打ち難さを解消するために同じ仮名に複数個のローマ字英字列を割り付けた りもする。

それにしても600個は多すぎると感じる。私もazikを使い始めてからそのこ とに気付いた。それでも使えたのはノーマルなローマ字打ちのほとんどが通 るからである。今迄と同じローマ字入力をちゃんと受け付けてくれる。とく に違うのは促音の「っ」である。ノーマルなローマ字では直後の子音英字の 二度打ちで「っ」が挟み込まれる。それがazikでは使えなくなり「っ」専用 キーを使うことになる。

meadowで使う本家skkのazik化は簡単だった。実はazikを知る切っ掛けが skkのマニュアルだったのである。skk-azik.elというファイル一個を入れる だけでよい。それはskk本体に付属するskk-vars.elにあるローマ字仮名変換 テーブルのノーマルなローマ字にazik拡張ローマ字部分を付け加える仕事を する。

勢いに乗ってskk.vimのazik化も済ませる。最後にskkime98をazik化する。 azikが考え出されたのは1995年のちょうどwindows 95が出たころらしい。 後継のskkime1.0やskkime1.5をazik化した情報はあるがskkime98に関しては 情報がない。要はローマ字仮名変換テーブルを拡張すればよいのだからと lispで書かれたc:\windows\ime\skkime98\config\default.elのその部分を 改造したらazikが使えるようになった。

ブラウザで内容が見れるように拡張子を「.txt」にしています。なお、ブラ ウザでの閲覧では文字化けします。ブラウザのencodingをShift_JISに変更 してください。これをダウンロードしてリネームで「.txt」を取り除いたも のをskk.vimのあるpluginディレクトリに入れるとazikが動きます。
ブラウザからファイル内容が見えるようにファイル拡張子を「.txt」にして います。なお、これをブラウザで閲覧すると文字化けします。ブラウザの encodingをShift_JISに変更してください。このファイルをダウンロードし て拡張子「.txt」を取り去ったものにリネームして c:\windows\ime\skkime98\config\default.elと置き換えるとazik化された skkime98になります。
(注)DEFAULT.EL (azik版)では「っ」を「tt」に割り付けています。「っ」 で送り仮名が始まる場合は「Tt」か「TT」を使います(Ttのほうが無難)。 「ん」はノーマルな「nn」になります。

長い文章はmeadowの本家skkとかskk.vimを使うvimでしか書かない。 skkime98を使うのはもっぱらグーグル検索のキーワード入力である。ココロ グの投稿記事もローカルでhtmlタグ入りの原稿を作って記事入力画面にコピ ペで貼り付けている。そのためazik化skkime98を使うことが少ない。もし、 それに不具合があっても気付きにくい状態にある。

あるときネット上で「azikなskkime98でシャ行(Xa)が漢字変換モードになら ない」という症例を知る。早速試してみる。「しゃ」を打とうと「X」を押 しても画面には何も出ない。続けて「a」を押すと「あ」が表示されるだけ である。ネット検索を続けると「xA」のように2ストローク目を大文字にす ると「▽しゃ」となる。これでともかくも漢字変換はできる。しかし操作が 不統一になりややこしい。

2チャンネル情報により「X」がj-purge-from-jisyoになっていることが原 因と知る。「X」をj-henkan-pointにして「C-k」を j-purge-from-jisyoにすることで解決できるという。

そこでdefault.elを次のように変更した。C-kを辞書purgeの「X」として使 う。「X」でシャ行の変換ができるようにする。

;(define-key skkinput-base-map "\13" 'j-kill-line)
(define-key skkinput-base-map "\13" 'j-purge-from-jisyo)
;(define-key skkinput-map "\130" 'j-purge-from-jisyo)
(define-key skkinput-map "\130" 'j-set-henkan-point)

上記のなかで\13や\130は八進数である。perlでは「0」を前置して013や 0130と書く。十六進数なら「0x」を前置して0xc(vt、C-k)と0x58(X)にな る。十進数ならそのままに11と88とする。

「\130」などの数字が八進数とは気がつかなかった。2チャンネル情報でよ うやく分かる。開発者自身が実名で投稿したりとか匿名でヒントを出したり しているみたいで藁にもすがりたい者には有用なサイトである。扱う問題が 種々雑多にすぎて殆どはチンプンカンプンであるが最後に頼るのはここしか ない。メーリングリストと違って少々怪しげなものでも構わずに出してしま うブレインストーミングなところがよい。

「20040601
C-x C-k、X のコマンドを入れ替えることにより、一文字目に「X」を打てる ようにした。skkimeのプロパティのダイアログを開き、「キーの設定」タブ で、「C-k(CTRL-k)」に j-purge-from-jisyo、「X(大文字x)」に j-set-henkan-point をそれぞれ割当てる。
「x」で始まる単語(しゃ、しゅ、しょ で始まる単語)を入力するときは、2 ストローク目を大文字で入力します(20040601:Xakuyou で打てるように「 キー設定」を変更することにしました)例:借用(xAkuyou)、小学校 (xPga;kp)」

| | コメント (0) | トラックバック (0)

2010年12月11日 (土)

azikで使えなくなるローマ字(romaji)

azikで使えなくなるローマ字(romaji)

Time-stamp: "Fri Aug 06 16:23:41 JST 2010"

シャ行とチャ行の入力(シャ、シュ、ショ:チャ、チュ、チョ)

シャ行は訓令式では「sy」、ヘボン式では「sh」を使う。
チャ行は訓令式では「ty」、ヘボン式では「ch」を使う。

「すう(sh)」と「ちゅう(ch)」がazikの二重母音拡張で使われるためヘボ ン式のsh, chは使えない。訓令式のsy, tyはそのままazikでも使える。3スト ロークから2ストロークの省打鍵になるようにazikではシャ行には「x」を、チャ 行には「c」を使う。QWERTY配列の「s」キーの下にある「x」キーを使うとこ じつける。また、「ch」の語感から「c」キーをチャ行に当てる。「ch」は二 重母音拡張で予約済みなので単独の「c」を使う。

azikを使い始めた頃にシャ行に「x」を、チャ行に「c」を使うと聞いて唐突 な感じをもつ。どうしてこの二つだけが特別扱いなのだろうと思う。そこに はヘボン式の「sh」と「ch」が使えないという自縄自縛があったのである。 3ストロークから2ストロークへの省打鍵効果を強調する裏にはsh(すう)、 ch(ちゅう)をazik二重母音拡張で先に予約された弱点がある。それを逆手に 取った抜け道としてxとcにより省打鍵に結びつけた事情が隠されている。

azik独自のch(ちゅう)、 dh(づう)、 sh(すう)、 th(つう)及びdy(でぃ)が ある。そのためazikにすると訓令式ローマ字のなかに使えなくなるものがで きる。skk-azik.elにskk-azik-unnecessary-base-rule-listがある。そこに 使えなくなるノーマルなローマ字が設定されている。

  "cha" "che" "chi" "cho" "chu"  (ちゃ ちぇ ちぃ ちょ ちゅ)
  "dha" "dhe" "dhi" "dho" "dhu"  (でゃ でぇ でぃ でょ でゅ)
  "sha" "she" "shi" "sho" "shu"  (しゃ しぇ しぃ しょ しゅ)
  "tha" "the" "thi" "tho" "thu"  (てぁ てぇ てぃ てょ てゅ)
  "dya" "dye" "dyi" "dyo" "dyu"  (ぢゃ ぢぇ ぢぃ ぢょ ぢゅ)

(注)thaのみ「てゃ」ではなくて「てぁ」になっている。要確認! skk-vars.elでは「tha」が「てぁ」になっている。

もしch(ちゅう)と一緒にcha, che, chi, cho, chuに定義されているとchを 打っただけでは「ちゅう」が確定しない。

「dy」に「でぃ」を割り付けた理由は分からない。字面(じづら)から「 でぃ」は分かりやすいので問題はない。どうしてそう決めたかに拘ることは ない。アルファベットを使ってはいても目的は仮名文字列の入力である。途 中で何を使おうが仮名になりさえすればよいのである。

QWERTY配列キーボードの英字キーによりローマ字という中継装置を使って日 本語仮名文字列を入力する。そのためにローマ字仮名変換テーブルを定義す る。最終目標の仮名文字列が入力できればよいのであって途中で使うローマ 字が由緒正しい訓令式やヘボン式に則っていようがいまいが一向に差し支え ない。

パソコンが一家に一台の時代なら誰でも使えるようにローマ字仮名変換テー ブルは学校式の誰もが納得するものでなければならない。しかし今や一人で 仕事用とプライベート用そして持ち歩き用にネットブックを持つ時代であ る。文字入力を速くしたい、打鍵数を減らして楽をしたい。そのためには ローマ字仮名変換テーブルを自分用に改造してしまえばよいのである。

何人もが共用するパソコンなら学術的に正しいとされるローマ字仮名変換規 則に従って「始めよければ終わりよし」となる機械でなければならない。し かし、個人が自分専用パソコンとして使うのであれば途中経過がどうであれ 最終目的の仮名文字列が得られればよい。自分に都合のよいローマ字仮名変 換規則に改造したとしても「終わりよければ全てよし」である。

促音「っ」の入力

ローマ字における促音「っ」は直後の子音字の繰り返しを使う。例えば「 かった」は「katta」と入力する。まず「ka」で「か」を表示する。次に 「tt」と打つと表示は「かっt」に変わる。つまり、ローマ字「tt」には 「っt」が対応する。ここで仮名としては未確定な「t」を「残す文字」とい う。もし「ss」なら残す文字を「s」として「っs」の表示になる。続けて 「a」を打つと「ta」に相当する仮名「た」で「t」が置き換わる。もし 「e」としたなら「かって」になる。

(注)skk-vars.elでは「tt」に対して「っt」となるように残す文字が設定さ れている。ms-imeやatokではローマ字仮名変換テーブルにそのような設定は ない。これらではローマ字の末尾文字が「a, e, i, o, u」のものしか設定 されていない。単独の促音(っ)は「ltsu, ltu, xtu」などで打てるように なっている。直後の子音字を繰り返した場合についてはローマ字仮名変換 テーブルに設定がなくても自動的に「っ」を挟み込むように処理するらし い。

拡張ローマ字入力azik方式において子音英字の二連打を考える。残す文字が 設定されてないものは、直後の子音字を繰り返す方法で促音「っ」を挿入す ることができない。長年にわたってローマ字入力してきた経験では促音の 「っ」を直後の子音字二連打で済ませており単独の「ltu」を使ったことは ない気がする。どうしても単独の「っ」が欲しい場合は「tt」とかを入力し て残った文字の「t」を消していたようである。「っ」を単独で入力する方 法を知らなくても困らなかったと思う。

azik方式では「っ」を直後の子音字二連打で入力することを諦めなければな らない(実は直後子音字二連打による「っ」の挿入はローマ字入力の一大難 点である。ローマ字や英語に不慣れ年寄りには難しいものという)。この弱 点の解決をazikでは専用キーの新設で切り抜ける。QWERTY配列のホームポジ ションにあるキーの中で唯一つの記号キーであるセミコロンを使う。azikで は「っ」キーを新設した利点を強調しているがその裏には新設止むなしの事 情があったといえる。何処かをいじれば思わぬところに歪みが出る。それを 如何に回避するかに苦労する。

bb(っb), cc(ちゃ), dd(でん), ff(っf), gg(っg), hh(ふう), jj(じゅん), kk(きん), mm(-), nn(ん), pp(ぽう), rr(られ), ss(せい), tt(たち), vv(っv), ww(っw), xx(-), yy(っy), zz(ざん)

以上は次の三つに分類される。

  1. 残す文字を設定できるもの
    bb(っb), ff(っf), gg(っg), vv(っv), ww(っw), yy(っy)
  2. ローマ字割り付けがないもの
    mm(-), nn(ん), xx(-)
    なお、skk-azikではxxを拗音の前置キーとして使う。正統azikでは「q」に 「nn」を割り付ける。skkでは「q」がひらがなカタカナトグルキーとして使 う。事情次第で普通の「nn」を使うこともある(skk-azik.elでは「q」を 「ん」として使うようになっている)。
  3. azik特有割り付けになるもの
    cc(ちゃ), dd(でん), hh(ふう), jj(じゅん), kk(きん), pp(ぽう), rr(ら れ) ss(せい), tt(たち), zz(ざん)
(注)rr(られ), ss(せい), tt(たち)は特種拡張になる。cc(ちゃ)の割り付け 理由は便利のためだろう。

仮名漢字変換プログラムは仮名文字列を受け取り、それを漢字混じり文にす る。仮名配列を習得することが出来なかった者にはローマ字入力で何とかな る救済策が設けてある。途中がどうであっても仮名文字列を流し込むことが できればプログラムは動く。受け取った仮名文字列をプログラムが漢字混じ り文に変換するに際して参照する辞書は読み仮名に対する漢字が登録されて いる。その読みは仮名であってローマ字ではない。辞書引きには仮名読みが 使われる。ヘンテコリンな拡張ローマ字を定義したとしてもちゃんとした仮 名文字列になるなら問題ない。

| | コメント (0) | トラックバック (0)

« 2010年11月 | トップページ | 2011年1月 »