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

[cgreek-ja:01026] Re: emacs上でのギリシャ語フォントの表示



矢吹 さん、

メール拝受しました。

> 水落 さん,
> 詳しいご説明ありがとうございます.
> おかげさまで, 基本的な部分はうまく行きました.
> 私の質問.1 は(基本的には)解決しました.

うまく行って良かったです。

> 以下, 現状を報告致します.
> ずいぶん長くなってしまいました.
> 皆さんには御迷惑でしょうね. ごめんなさい.

そのようなことはありません。むしろ、CGreek がどのように使われているのか
フィードバックされるので、わたしたちにとってはありがたいです。

>  > (1) Emacs のバージョン
>  >    ...バージョンは 20 ということでよろしいでしょうか。
> はい. 20 です. 
> 一日の殆んどの部分を cgreek-emacs20 で過ごしています.
> バージョンを 21 に上げる自信がなくて, 20 のままでやっています.
> でも, 遅かれ早かれ, 21 に変えるつもりにはしています.

私も、別メールで書きましたようについ最近 21 に変えた所です。
そこで書きましたように、インストールはかなり簡単になっている
ので、ずいぶん楽だと思います。

  # 感謝します。>高橋さん

ただ、まだちょっと気になる細かい部分が幾つか残っているので、インストールは
それらの問題が落ち着いてからでもよいかも知れません。

  # 昨日、Emacs 21 で入力した UTF-8 のテキストを less で覗いていて
  # ラテン文字のコンバートでちょっと気になることが出てきました。も
  # う少し調べてメールします。
  #
  #      >高橋さん

> 水落さんに今度もマニュアルを書いて頂けたらいいなと,虫の良いことを
> 夢想しています.

  日本語マニュアルのことについては、この ML で以前高橋さんとやりとり
  しました。その時の高橋さんのご意見は

    「ギリシア語を使うくらいの人には、日本語マニュアルは必要ないのでは」

  ということだったのですが、もし必要であればまた書くことにします。


>  > (2) Emacs 20 のフォント
>  >    ...現代ギリシア語のフォント(iso8859-7) の設定と CGreek のフォン
>  >    ト (mulecgreek-1) の設定とは別と考えてくださってよろしいと思います。
> はい. でも何処がどのように違うのでしょうか ?

  この ML を立ち上げる一番最初 (私が言い出しっぺだったのですが)、CGreek
  の Coding Systme をどのようにするかを高橋さんと大分議論しました。
  当時は Uni-Code が今程認知されておらず、むしろその問題点が語られていた
  し、polytonic Greek には、monotinic Greek では使われない文字が含まれて
  いたからです。

  それで、私がドイツで使っていた Win Greek という MS-Windows 3.1 の Share Ware
  のフォントコード表を参照する形で、Mule の新しい Coding System を作る機能
  を使って、CGreek の Coding System を高橋さんに作っていただき、私がフォント
  を作ったわけです。

    # その Coding System の定義が書かれているのが、Emacs 20 の cgreek.el
    # です。その具体的なコード表は、私の旧マニュアルのどこかに書いた気もす
    # るのですが、今出てきません。

  しかし、その後、Uni-Code への流れが強くなって行き、Uni-Code のフォント
  の中に私たちの必要とするフォントが (koppa や sampi などの古字も含めて)
  すべて定義されていることが分かって来ました (このあたりは高橋さんにやっ
  ていただいたのですが ...)

  また「ギリシア語」という同一の言語が二つの Coding System で定義されている
  ことの問題点も感じられるようになりました。

    # 具体的には、まさに矢吹さんのような方の場合がこれに該当します。

  その結果として、Emacs 21 での Uni-Code 化ということを高橋さんがやって
  くださり、現在に至っているわけです。


> 取りあえず,以下のようにしました.
> 
> emacs*font: -hrnet-grtt-medium-r-normal--31-*-*-*-*-*-*-7          !! <1>
> Emacs*fontSetList: 0,1,2,3
> Emacs.Fontset-0:-hrnet-grtt-medium-r-normal-*-25-*-*-*-*-*-fontset-hrnet25
> Emacs.Fontset-1:-sony-fixed-medium-r-normal-*-24-*-*-*-*-*-fontset-cgreek24
> Emacs.Fontset-2:-alias-fixed-medium-r-normal-*-24-*-*-*-*-*-fontset-24
> Emacs.Fontset-3:-alias-fixed-medium-r-normal-*-20-*-*-*-*-*-fontset-20
> 
> フォントの選択の場面で startup: 31-dot medium が選べるようになりました.
> これで解決しました. 
> 
> しかし,  fontset-hrnet25 を選ぶと 
> 'font not found'
> と emacs に 叱られました. どうしてでしょう ?
> xfontsel は分かってくれているのに...

Emacs はマルチリンガルなので、起動されたときに使われる可能性のある「すべての
定義された Coding System」を表示できるフォントセット(集合)を「期待」(?) しま
す。しかし、fontset-hrnet25 では、 mulecgreek-1 のフォントが排除されてしまう
ので、"font not found" となってしまうわけです (それ以外にも排除されるフォント
があるのかも知れません)。

  # xfontsel が表示するのは、一個のフォントであって「フォントセット」では
  # ないわけです。

> 最後に 7 という数字が必要かも知れませんが, 何処に書くべきか.
> encoding 7 のフォントを1つしか選べないというのも変ですね.
> 上の <1> のような行を沢山書いて良いでしょうか.

  xfontsel でフォントを指定する際に使う、最後の二つの * (i.e. Coding System
  を指定する) を Emacs のフォント指定で、

        -fontset-24

  などと書くのは、その部分に様々な Coding System  (e.g. iso8859-1, iso8859-7,
  mulecgreek-0, jisx0208.1983-0 etc.) が入る得るということです (だからこそ、
  この書き方が複数のフォントの指定となり得るわけです) 。

  したがって、最後の部分に 7 を書いても、それは、その前の部分とペアで
  フォントセットの名称とされてしまうだけで、使われるフォントの集合には
  影響を与えません。

> なお, このとき, 
> Mule -> Set font/Fontset とすると cgreek24: 24-dot medium
> だけが, 2重に表示されました.(今回はこれだけです)

  二重に表示されるのは、定義されているフォントセット (fontset-hrnet25, ...
  fontset-20) の二つの集合のなかに同一の cgreek24 が含まれるからだと思いま
  すが ...

> cgreek14, cgreek16 は指定していないのに表示されて,しかも
> 選択するときちんと機能します.

  ウ〜ン、このあたりのことは、デフォルトのフォント指定のことになってくる
  と思うのですが、ちょっとお手上げです。

    # たぶん高橋さんが答えてくださると思います。

> そこで, ふと思い付いて, 
> ~/cgreek-emacs20/dotemacs を眺めてみると,以下のような箇所があり,
> ここに cgreek のフォントが出ていました. これが, 2重表示の原因でしょうか?
> 
> ------
> ; ps-print
> (setq ps-multibyte-buffer nil)
> (setq ps-mule-font-info-database-default
>       (cons '(cgreek (normal bdf "cgreek24.bdf" greek-WinGreek 1))
>             (if (boundp 'ps-mule-font-info-database-default)
>                 ps-mule-font-info-database-default
>               (require 'ps-mule)
>               (cons
>                '(latin-iso8859-1 (normal nil nil iso-latin-1))
>                ps-mule-font-info-database-ps))))
> (setq bdf-directory-list
>       (cons "~/cgreek-emacs20/bdf" bdf-directory-list))
> -----

この部分は、ギリシア文字の「印刷」に使われるフォントの指定なので、画面表示
には関係ありません。

> dotemacs の記述を消して良いものか判断できません.
> TEX を 頻繁に使いますので.

  この部分のコードは、Emacs の CGreek のメニューから Print Buffer、Print
  Region を選択し、Current Buffer ないし範囲指定した部分ををそのまま印刷
  するときに使われるフォントを指定するものなので、画面表示や TeX とは関係
  はありません。

  この機能を使わないのなら消しても影響はありませんが、消したからといって
  ギリシア文字の画面表示が変わるというわけでもありません。

    # 私は、講義ノートを泥縄で作って TeX にする時間的余裕がないときなどに
    # この機能をよく使っています。

> なお, VineLinux2.0 (linux-kernel-2.2 で XF86 version.3 ) の時には
> フォント・メニューで cgreek24/16/14 それぞれについて, 2重表示はなく
> bold/medium/italic が選択できていました.
> 今は, mediun だけです. これで不便ではないですが, 
> どうして変わってしまったのだろうと,不思議に思っています.

  私も、Emacs のフォント設定 (特に v.20 になってから) については、まだ
  十分分かっていません。(マニュアルを見ても、簡単な説明が少し書いてある
  だけですし。)

>>   Fedora Core 1 では文字コードが Unicode に変わりましたが、こうなるとちょっ
>>   と色々欲が出てきて、Emacs 以外の色々な Appli で日本語、独仏やギリシア語が
>>   使えないだろうか、と思い始めました。
> cgreek-emacs20 が素晴しいと思うところは、日本語.ヨーロッパ諸言語.ギリシャ
> 語の混ぜ書きが出来ることです. emacs 以外でもこうなれは 本当にうれしいです.

まさに同感です。

>  >   日本語入力のための kinput2 の設定ファイルを Euc-JP から Unicode にして、
>  >   少し作り替えてもらったら、kinput2 がマルチ言語入力エンジンになりそうな気
>  >   がしています。
> なるほど. そうですか. 私に出来ることならお手伝い致しますが,
> かえって足手まといになることの方を心配します.
> C と perl がほんの少し分かるだけですから.

  高橋さんらが書かれた『マルチリンガル環境の構築(?)』(プレンティスホール)
  に、

    「kinput2 の構造はきちんと階層化されていて、機能の追加、改造はそれほど
     困難ではない」

  と書かれていました。とはいえ、FEP なるものは、キーボードイベントをハック
  して、それを辞書等を参照して変換して返すものですから、それを改造するとな
  ると結構面倒で、片手間にできるものではないだろうと予感しています。

    # NEC PC-98 の頃は、機械語で Keyboard Driver を書いて、半角カナをアク
    # サン付アルファベットなどに変換していたこともあったのですが ...

  というわけで、声高に叫んでどなたかにやってもらおう、という虫のいいことを
  考えています。

では。

たぶん間違っている所もあるだろうと思うので直してください。>高橋さん


==========================================
■■ 水落 健治
■■ 明治学院大学 文学部
■■ mizuochi@xxxxxxxxxxxxxxxxxxxxx
■■ kmizuoch@xxxxxxxxxxxx
==========================================