名前 | 形式 | 使用条件 | 機能説明 | ファイル | 注意事項
SUNWjc0u
cs00 は XCI (xci(7)) などから受け取った文字列に対してかな漢字変換を行い、 結果を送り手に返すデーモンです。
cs00 は、連文節方式 (n 文節最大一致法)によるかな漢字変換方式を採用しており、最大 512 文字までの文字列を一度に変換することができます。メイン辞書には 50,000 を超える単語が登録されており、ユーザー辞書に対する辞書登録も可能です (メイン辞書も mdicm(1) を用いることによって変更可能)。辞書登録の詳細については、udicmtool(1) と udicm(1) のマニュアルページを参照してください。
cs00 は受け取った文字コードに対して、現在の入力モードに応じた変換を外部ファイルに記述された変換規則に基づいて行います。ローマ字かな変換、文字種の相互変換もこの変換機能を用いて行われます。
文字コード変換規則は以下のファイルに定義されます。
ひらがなモード用
全角カタカナモード用
半角カタカナモード用
全角英数モード用
半角英数モード用
半角英数モード用の変換規則は区点入力モードでも用いられます。
上記のファイル名をもつコード変換定義ファイルは、以下のディレクトリに置くことができます。cs00 は、各ファイルごとにこれらのディレクトリを下記の順序で検索し、最初に見つかったファイルを用います。
$HOME/.mle/locale/cs00/
/usr/lib/mle/locale/cs00/
cs00 の用いるコード変換定義ファイル名を変更したい場合は、 resources ファイルまたは config ファイルに以下の設定値を追加してください。
ひらがなモード用
全角カタカナモード用
半角カタカナモード用
全角英数モード用
半角英数モード用
*xci*cs00.config.CC_HR:my_hiragana.ccv
CC_HR = "my_hiragana.ccv"
各変換規則は、1 行で構成されています。書式は以下のとおりです。
string1 string2 [ number | s ] |
変換を行う文字列を指定します。
変換結果となる文字列を指定します。
number (数字) を指定した場合は、string1 の文字列の後ろから 再評価する文字数を表します。この文字数は string1 の文字数より小さくなければなりません。省略した場合は 0 を指定したものとみなします。数字のかわりに s を指定した場合は、未決の文字列は変換しないことを 表します。「未決」とは、入力文字列が複数の規則に一致する可能性がある状態 のことをいいます。s を指定した場合には、再評価する文字数を指定する ことはできません。たとえば、"kitto" の入力に対して "きっと" に変換するためには、以下の変 換規則が必要です。
入力文字列 "kitto" は、まず "ki" に一致するので "き" に変換されます。次に "tto" に一致するので "っ" に変換されます。さらに "tto" の後ろか ら 2 文字の "to" が再評価されます。これは "to" に一致するので "と" に変換されます。全体として "きっと" に変換されます。
入力文字列 "kitto" から "きっと" を得る変換規則には以下の方法もありますが、これらの方法には、それぞれ問題点があります。
まず、以下のように定義した場合には、"ttttt" が "っっっっt" に変換されて しまいます。
また、以下のように定義した場合には、"to" を別の文字列に変換するよう に変更すると、"tto" もそれに合わせて変更する必要があります。
次に未決の "n" に対する変換規則について説明します。以下の変換規則が定義されているとします。
この場合には、入力文字列 "n" は、"n" に一致しますが、s が指定されていて、かつ未決であるため "ん" には変換されません。次に "a" あるいは "i" が入力された場合は、"な" あるいは "に" に変換されます。未決を解決する文字が入力されて初めて "n" は "ん" に変換されます。s が指定されていない場合は、"n" は "ん" にいったん変換されますが、次に "a" あるいは "i" が入力されると、"ん" は "な" あるいは "に" に変わります。
1 行は、改行文字が現れるまでの最大 1024 文字です。"#" で始まる行は コメント行として扱われます。変換規則のフィールドの区切り記号は、空白文字もしくはタブ文字です。
制御文字などを string1、string2 に指定する場合には、 以下の拡張記号を使用する必要があります。
改行
復帰
タブ
改ページ
空白文字 (0x20)
(
)
#
\
^
8 進数 (\001、\012)
8 進数 (\100、\123)
2 桁の 16 進数 (\x01、\xff)
4 桁の 16 進数 (\w0101、\wabcd)
8 桁の 16 進数 (\q00000101、\q8000cdab)
区点コード (\k0101、\k1616)
かな漢字変換メイン辞書
かな漢字変換ユーザー辞書
文字コード変換規則定義ファイル(ひらがなモード用)
文字コード変換規則定義ファイル(全角カタカナモード用)
文字コード変換規則定義ファイル(半角カタカナモード用)
文字コード変換規則定義ファイル(全角英数モード用)
文字コード変換規則定義ファイル(半角英数モード用)