[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[cgreek-ja:01123] Re: search in cgreek21



高橋です。

haruichi yabuki writes:

> 今 fontforge で etl24-unicode.bdf を開いて眺めたところ,
> 文字の一覧表の始めの方に アクセント付きη があり, 文字情報として, 
> 942  (0x03ae) U+03AE GREEK GREEK SMALL LETTER ETA WITH TONOS
> と示されます. 
> それからずっと下の方に 鋭アクセント付きη があり, 文字情報として,
> 8053 (0x1f75) U+1f75 GREEK GREEK SMALL LETTER ETA WITH OXIA
> と示されます.

> あっ, そうですね. 
> 鋭アクセントη(古典) が 1つ, アクセントη(現代) が 1つ です. 
> この理解で良いですか?

はい、おっしゃる通りです。

> というわけで
> 鋭アクセント付きη(古典)を アクセント付きη(現代)へ置換したのでした. 
> これが 私のしたことです.

それならよくわかります。表現したいのが現代ギリシア語なのですから、
U+1F75ではなくてU+03AEを使うのが正解です。

> 私は, iso8859-7 と Unicode は別の体系だとは理解していましたが, 
> 前者は後者の真部分集合で内部への忠実な埋め込み, と思っていました. 
> そんな簡単なことではないのですね. 

ISO8859-7はUnicodeの真部分集合です。また、ISO8859-7における文字の並び
の順番は、Unicodeにおいても保存されています。ですが文字コードの絶対値
は違っています。

> 私が実験した元のファイル を test-orig.txt とします.       
>        日英希の混合テキストです.
>        これは, Cgreek20 で作成した TeX ファイルを Cgreek21 で読み込んで 
>        'Save unicode file' というメニューから出力したファイルです.
> 上に述べた置換後のファイルを test.txt とします.
>        これは, test-orig.txt を emacs21 で C-x C-f として読み込んだ後に,
>        emacs21 の 置換機能を使って 上記を置き換えをし,
>        (ミニバッファ中で Query replace: の所へ マウスでテキスト中から
>        コピーした鋭アクセント付きηをいれて, ENTER. 次に
>        ...with: の所へは greek 入力環境でキーボードから h ; と順に
>        入力. このようにして置換しました)
>        その後, emacs21 で C-x C-s としてセーブしたものです.
>        どのコード体系でセーブするかの問い合わせには utf-8 としたと
>        思いますが, ここは記憶が確かではありません. あるいは, 問い合わせは
>        無かったかもしれません. 
> 元の test-orig.txt から 一部分のみ 上記の置換を行い,
>        鋭アクセント付きη と アクセント付きηを混在させたファイル を
>        test-mix.txt とします.

> 上記いずれのファイルも emacs21 で C-x C-f として読み込むと,
> 全く同じ動作をするように見えます. 
> まず, 直ちに 日英希 がきちんと表示されます.
> 鋭アクセント付きη と アクセント付きη が区別されて現れます.
> 前者はアクサンテギュ, 後者は短い縦棒 です.
> 検索は,
> I-search[Ω]: のミニバッファー に キー入力で h ; とすると,
> アクセント付きη(現代)が見付かります.
> テキスト中の 鋭アクセント付きη(古典)をマウスでコピーしておいて,
> I-search[Ω]: のミニバッファー に張り付けると, 目的のものが見付かります.
> この emacs21 の検索は, 鋭アクセントつきη と アクセントつきη を区別します.

>> ・ファイルの内ではギリシア文字もラテン文字も漢字も全部Unicodeで記録
> とおっしゃるように, これらのファイルは 3 つとも全て unicode encoding の
> ものだと思われます.

はい、上記を読む限り、すべてUnicodeの文字として保存されていると思われ
ます。"greek"という名前の入力メソッドは、ISO8859-7のギリシア文字を生成
するので、Emacsのバッファの中ではISO8859-7のギリシア文字として表現され
るのですが、おそらく

>        その後, emacs21 で C-x C-s としてセーブしたものです.
>        どのコード体系でセーブするかの問い合わせには utf-8 としたと
>        思いますが, ここは記憶が確かではありません. あるいは, 問い合わせは
>        無かったかもしれません. 

この部分でMule-UCSがISO8859-7からUnicodeへの自動変換をしているのでしょ
う。もしMule-UCSを入っていなければ、ISO8859-7の文字が含まれているバッ
ファをutf-8でセーブすることはできない筈です。

> 私にとっては, 検索が かなり大切な道具になりますので, 
> cgreek21 で isearch が機能し始めるまで, 何とかしたいと思っています.

ええっと、私がこんなことを言うのはちょっとアレなんですが、矢吹さんの立
場でしたら無理にCGreek21を使う必要はないのではないでしょうか。Mule-UCS
さえ使っていれば、

・バッファの中のギリシア語はISO8859-7
・ファイルの中のギリシア語はUnicode

という環境が特別な努力なく構築できるわけです。これでいいのなら、現代ギ
リシア語の入力と検索は "greek" という名前の入力メソッドで実現できます。

TeXとかTLGを使うのでない限り、CGreek21にこだわる必要はないように思えま
すが。

-- 
TAKAHASHI Naoto
ntakahas@xxxxxxxx
http://www.m17n.org/ntakahas/