フランス語のスペルチェックNo.08436
colder さん 14/10/08 13:52
 
colderです。

フランス語のスペルチェックを行なったところいくつか不具合を見つけました。
・スペルミス修正ダイアログ下部の辞書の言語が英語になっている。
・oとeの合字であるœを含む語のスペルチェックが失敗する。(単語として認識
されていない?)
・右クリックメニューで出る修正候補が文字化けしている。
以上3点です。

環境 秀丸ver8.50β6 スペルチェックアドインver 1.00β9 win7

[ ]
RE:08436 フランス語のスペルチェックNo.08437
秀まるお さん 14/10/08 14:18
 
 バグでお手数かけてすみません。

 フランス語も一応テストしてたはずなんですが、たぶん、地域別対応(英語の
英国/米国/カナダとかの区別)をした段階でレベルダウンしてしまったような気
がします。

 調べてまたお返事させていただきます。

[ ]
RE:08436 フランス語のスペルチェックNo.08438
秀まるお さん 14/10/08 15:12
 
 今確認できまして…

> ・スペルミス修正ダイアログ下部の辞書の言語が英語になっている。

 たしかにバグってました。修正させていただきます。

> ・oとeの合字であるœを含む語のスペルチェックが失敗する。(単語として認識
> されていない?)

 これもバグというか、コードページがフランス語用になってなくて、結果とし
て、欧文専用の文字がスペルチェック対象外の文字扱いになってしまってました。
フランス語の場合は欧文コードページで動くはずが、地域対応の処理の関係で英
語扱いになってしまってました。

 これまた修正させていただきます。

> ・右クリックメニューで出る修正候補が文字化けしている。

 これは秀丸エディタの方で、メニューのコードページが日本語なのに、欧文の
文字列(内部的な特殊な形式の物)をそのまま出そうとしておかしくなってるよ
うでした。これまた修正させていただきます。

 とりあえず、右クリックメニューは別にして、秀丸スペルチェックアドインだ
け先に、もう一回β版としてアップロードさせていただきます。

[ ]
RE:08438 フランス語のスペルチェックNo.08439
秀まるお さん 14/10/08 17:28
 
 秀丸スペルチェックアドインだけ先にアップロードしました。とりあえずこれ
で、右ボタンメニューの文字化け以外は直ります。

 http://hide.maruo.co.jp/software/bin3/hmspell100b10_signed.exe

 よろしくお願いします。

[ ]
RE:08439 フランス語のスペルチェックNo.08440
colder さん 14/10/08 20:13
 
colderです。
β10を試しましたが、œを含む単語のスペルチェックが相変わらず出来ていない
です。

[ ]
RE:08440 フランス語のスペルチェックNo.08441
colder さん 14/10/08 23:56
 
colderです

よくよく調べてみるとAspellの辞書がœをうまく扱えなくて、代わりにoeを使っ
ているっぽい?
とりあえず、この件は引っ込めます。

[ ]
RE:08441 フランス語のスペルチェックNo.08442
秀まるお さん 14/10/09 09:18
 
 まずですが、ことの経緯として、colderさんからバグ報告いただいて調べた時
に、とりあえず、フランス語のスペルチェックをする時のコードページが欧文に
なってなくて、0x80以上の文字コードの文字がすべて英単語扱いから除外されて
たってバグがありました。

 とりあえずそれを直してもう大丈夫だと思いまして、その「oe」のように見え
る#339;の文字とか「CE」みたいな文字とか、他にもいくつかの文字が、本来英
単語用の文字とすべきなのになってないバグを見逃してしまいしました。

 ということで、今さらですが、追加で修正させていただきます。

 っと修正してテストしたら、colderさんの後の書き込みにあるように、そもそ
もaspellさんが「oe」や「ae」に見える合体文字をうまく英単語用の文字と扱え
てないようで、例えば

    xxxxœyyyy

 みたいな単語を書いて、コマンドプロンプトを「chcp 1252」してから
「aspell --lang=fr check xxx.txt」みたいなコマンドラインでチェックしても、
上記の単語が「xxxx」と「yyyy」の2つのスペルミス単語がある扱いになってし
まうようです。

 あと、aspellの辞書を無理矢理秀丸で開いて見ても、œ相当の文字はまっ
たく入って無くて,例えば

    cœur

 って単語は

    coeur

 って単語で登録されてるようでした。

 なので、あえてaspellさんとの互換性を重視するなら、意図してœの文字
は英単語扱いから外した方がいいようです。

 ということで、とりあえずそれはそのままにさせていただくというか、むしろ
逆に、英単語扱いしてる文字を外さないといけない文字が他にもありそうです。

 その辺調べて、aspellと同じになるようにもう一度チェックしてみます。

[ ]
RE:08442 フランス語のスペルチェックNo.08443
秀まるお さん 14/10/09 10:38
 
 欧文エンコードで以下のマクロを実行してファイルを作成し、それを、

   aspel --lang=fr list <input.txt >output.txt

 みたいにした結果から文字コードを拾うようにします。いろんな言語で試してみま
す。

マクロ:
    #code = 0x80;
    while( #code <= 0xFF ) {
        insert "xxxx" + char(#code) + "\n";
        #code = #code + 1;
    }
    endmacro;

[ ]
RE:08442 フランス語のスペルチェックNo.08445
Iranoan さん 14/10/11 15:21
 
 秀まるおさん今日は、Iranoan です。
>  っと修正してテストしたら、colderさんの後の書き込みにあるように、そもそ
> もaspellさんが「oe」や「ae」に見える合体文字をうまく英単語用の文字と扱え
> てないようで、
 解決策ではありませんが、--encoding=ut-8 にしてやると、一単語として
扱ってくれるようです。ただこの方法だと、辞書登録した時に、全く別の文字
列が登録され、もとの coeur 等と登録された別単語の両方が、スペル・
チェックをくぐり抜けてしまいます。
 後はパイプを使うのではなく、DLL 関数を使う方法なら、扱えると思います
が、ユーザー辞書ファイルで oe 等が扱えないようです。(読み込みに失敗す
る)

 P.S Aspell のマニュアル
http://aspell.net/man-html/The-Options.html
と見ると、この為のオプションが有りそうですが、オフィシャルにある
Windows 版バイナリは 0.50 系列のため、未実装のようですorz

[ ]
RE:08445 フランス語のスペルチェックNo.08446
秀まるお さん 14/10/15 11:37
 
 今さらではありますが、dllを呼び出す形にすると、64bit版秀丸エディタで面
倒なことになる(自分でコンパイルしたdllを用意しないといけない)ってのが
あって、それの関係もあってexeファイル呼び出しって形にしています。

 スペルチェック自体もそんなに強い要望があって対応した訳でもないし、さら
にフランス語でってことになると、たぶん使う人は片手で足りる程度も居ない可
能性が高いだろと思うので、この辺でやめときます。

[ ]