[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[cgreek-ja:01122] Re: search in cgreek21
矢吹 です.
高橋さん, 早速の回答ありがとうございます.
> それをやるくらいなら、フォント自体に手を入れ、iの両側にスペースを持た
> せるようにした方がずっと素直です。
なるほど, そういう手がありましたか.
私は, proportional font の場合, 時によっては, οι が α に見えたりします.
いつか, 高橋さんの言われるようなフォントを作ってみたいと思います.
今からどんどん, 極度の近視 + 老眼 + 乱視が進行するでしょうから.
> > 既知の問題とは知りませんでした. ギリシア文字の isearch が出来れば
> > かなり助かります (特に, 私の場合, 大きなファイル中で単語を参照することが
> > しばしばなので).
>
> わかりました。頑張ってみます。
はい. お願い致します.
さて次が, 私には難しい話で,...
> > それで, 私は一体何をしたか --- 私は, 単純に unicode の中には
> > 鋭アクセントのギリシャ母音が 2つ 定義されており,
>
> いえ、1つしか定義されていません。
今 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つ です.
この理解で良いですか?
私は良く分かっていないせいで, 不正確な(いい加減な)言い方をしていました.
> > 片方を他方に置き換えたつもりでした.
というわけで
鋭アクセント付きη(古典)を アクセント付きη(現代)へ置換したのでした.
これが 私のしたことです.
(私の意図通りの結果になっているかどうかは良く分かりません.
この上の文字情報と, C-u C-x = で得られた文字情報が
うまく噛み合わないです. 変ですね.)
> えーと、まず「iso8859-7はUnicodeではない」という点はいいでしょうか?
> たしかにiso8859-7で表現できる文字はUnicodeでも表現できますが、それぞれ
> の文字コードは違っていますし、Emacsの内部では別の文字として管理されて
> います。
私は, iso8859-7 と Unicode は別の体系だとは理解していましたが,
前者は後者の真部分集合で内部への忠実な埋め込み, と思っていました.
そんな簡単なことではないのですね.
> ただし(ここがややこしいのですが)、Mule-UCSはファイル入出力の際に、
> iso8859-7とUnicodeの間の自動変換を行うことができます。ですので、
>
> ・ファイルの内ではギリシア文字もラテン文字も漢字も全部Unicodeで記録
>
> ・ギリシア文字のiseachが可能になるよう、Emacsに読み込む際にギリシア文
> 字部分をiso8859-7に自動変換
>
> とすることも可能だと思います。ただ私は普段Mule-UCSを使っていないので、
> 設定方法に関してはちょっとわかりません。調べればどうにかなるかもしれま
> せんが…。
ここのところは, かなり(と言うか, 全く)私には難しいです.
そこで, 次のような調査をしてみました.
私が実験した元のファイル を 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 の
ものだと思われます.
mlterm という terminal で, 例えば
$ lv -Au8 lex-mm-mix.txt
としてみると, きちんとテキストが通常の less の時のように表示されます.
また, mozilla でも表示できています.
いずれも, 鋭アクセントつきη と アクセントつきη は区別されて表示されます.
> ・ギリシア文字のiseachが可能になるよう、Emacsに読み込む際にギリシア文
> 字部分をiso8859-7に自動変換
>
> とすることも可能だと思います。ただ私は普段Mule-UCSを使っていないので、
> 設定方法に関してはちょっとわかりません。調べればどうにかなるかもしれま
> せんが…。
設定に関して, 私は特別のことは何もしていません.
Vine がそういう設定になっているのかも知れません(?).
(version が Mule-UCS-0.84-0vl8 と表示されるので,
Vine が何かしていることは確かですが. でも, 元々の Mule-UCS が
そうなっている可能性の方が高いと私には思えます.)
いずれにしても, 私の実験結果から見ると, 私のマシンは
正に, 高橋さんが言われる通りの動作をしているようです.
今回の実験で意外だったのは, 上で述べたように
鋭アクセント付きη(古典),
053 (0x1f75) U+1f75 GREEK GREEK SMALL LETTER ETA WITH OXIA
も emacs21 で検索出来てしまうということです.
ただ, これは キー入力 出来ないので, 実用的ではないですね.
以上, 随分要領の悪い報告になってしまいました.
私にとっては, 検索が かなり大切な道具になりますので,
cgreek21 で isearch が機能し始めるまで, 何とかしたいと思っています.
よろしくお願い致します.
--
矢吹治一