[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[cgreek-ja:01121] Re: search in cgreek21
高橋です。
haruichi yabuki writes:
>> 1. Emacs20は等幅フォントしか使えませんが、Emacs21はプロポーショナルフォ
>> ントも使えます。ですから等幅フォントにこだわる必要は特にないと思い
>> ます。
> はい. そうなのですが ---習慣の問題でしょうが--- ワープロではなくエディター
> で proportional font というのが 私には違和感があって, 等幅が欲しかったのです.
> あるいは, proportional font でも等幅のように振る舞わせる設定方法が
> あるのでしょうか ? つまり, 行ごとに桁が揃うような表示が可能でしょうか ?
いや、それは無理だと思います。
> あるいは, 特に 文字iが両側の文字に挟まれて見にくくなるような状況を回避
> するために, 文字間隔を拡げるとかの設定変更が出来るでしょうか?
font-lockモードを使い、iが出てくるたびにそこだけ表示を細工するようにす
ればできないことはないかもしれませんが、かなり汚い方法ですし、何をやっ
ているかをしっかり把握していないと、後々混乱することになりかねません。
それをやるくらいなら、フォント自体に手を入れ、iの両側にスペースを持た
せるようにした方がずっと素直です。
> 既知の問題とは知りませんでした. ギリシア文字の isearch が出来れば
> かなり助かります (特に, 私の場合, 大きなファイル中で単語を参照することが
> しばしばなので).
わかりました。頑張ってみます。
>> > 1. cgreek21 のファイルを utf-8 で保存する.
>> > 2. このファイルを C-x C-f で読み込んで, 言語環境を greek にする.
>> > 3. unicode-0100-24ff の範囲の 鋭アクセント付き母音 を
>> > iso8859-7 の範囲の アクセント付き母音 に置換する.
>> > 4. C-\ で ギリシャ語入力に変えて, C-s で検索.
>> > (Cgreek21 からの '親離れ' ということです)
>>
>> これは何をなさりたいのでしょうか。ギリシア文字だけiso8859-7にして、
>> 和文や欧文はUnicodeという環境ですか? そんなことをしたら混乱するだ
>> けだと思うのですが。
> テキスト中の 文字/単語 の検索がしたいのです.
> でも,じつは, 自分が何をしたのか良く分かっていません.
> こうすれば, 検索が出来たと言うことなのです.
> 今, 問題のテキストを調べてみました.
> 以下のような情報が C-u, C-x, = で得られました.
> 置換前のファイル中の鋭アクセント付きエータは:
> ------------------------------------------------------------------
> character: .. (01234265, 342197, 0x538b5)
> charset: mule-unicode-0100-24ff
> (Unicode characters of the range U+0100..U+24FF.)
> code point: 113 53
> syntax: word
> category: g:Greek u:Mule unicode characters
> buffer code: 0x9C 0xF4 0xF1 0xB5
> file code: 0xE1 0xBD 0xB5 (encoded by coding system utf-8-unix)
> font: -Etl-Fixed-Medium-R-Normal--24-240-72-72-C-120-ISO10646-1
> -----------------------------------------------------------------------
> これに対して,
> 置換後のファイル中のアクセント付きエータは:
> -----------------------------------------------------------------------
> character: .. (05536, 2910, 0xb5e)
> charset: greek-iso8859-7
> (Right-Hand Part of Latin/Greek Alphabet (ISO/IEC 8859-7): ISO-IR-126)
> code point: 94
> syntax: word
> category: g:Greek
> buffer code: 0x86 0xDE
> file code: 0xCE 0xAE (encoded by coding system utf-8-unix)
> font: -ETL-Fixed-Medium-R-Normal--24-240-72-72-C-120-ISO8859-7
> --------------------------------------------------------------------------
> それで, 私は一体何をしたか --- 私は, 単純に unicode の中には
> 鋭アクセントのギリシャ母音が 2つ 定義されており,
いえ、1つしか定義されていません。
> 片方を他方に置き換えたつもりでした.
> それで, この置換後もテキストは unicode で エンコーディング されているんだと
> 思っていました. 何か 変ですか ? 実際, 私には何処が変かも良く分かりません.
えーと、まず「iso8859-7はUnicodeではない」という点はいいでしょうか?
たしかにiso8859-7で表現できる文字はUnicodeでも表現できますが、それぞれ
の文字コードは違っていますし、Emacsの内部では別の文字として管理されて
います。
ただし(ここがややこしいのですが)、Mule-UCSはファイル入出力の際に、
iso8859-7とUnicodeの間の自動変換を行うことができます。ですので、
・ファイルの内ではギリシア文字もラテン文字も漢字も全部Unicodeで記録
・ギリシア文字のiseachが可能になるよう、Emacsに読み込む際にギリシア文
字部分をiso8859-7に自動変換
とすることも可能だと思います。ただ私は普段Mule-UCSを使っていないので、
設定方法に関してはちょっとわかりません。調べればどうにかなるかもしれま
せんが…。
--
TAKAHASHI Naoto
ntakahas@xxxxxxxx
http://www.m17n.org/ntakahas/