2009-03-14

NTEmacs 23 で (view-hello-file) ぜんぶ表示してみた

2009/03/13 の NTEmacs 23.0.91 で (view-hello-file) をぜんぶ表示してみた。

NTEmacs 23.0.91 2009/03/13 HELLOPNG 171KB

なんつーか、コンピュータでただ文字を表示するだけのことに感動しちゃったのって、PC-88 で日本語を表示したとき以来な気がする。

同じアジアにいながら、ほとんどの文字をぼくは読めないわけで、左から右に書くのか右から左に書くのか分からないし、フォントが正しく表示されているかどうかも分からないけど、いろんな文字が綺麗すぎてうまく言葉にできない感じです。

こういうのを見ちゃうと、やっぱり Unicode には、二つの中国語と日本語の漢字に、それぞれ別の文字コードを割り当てて欲しかったなぁと思ってしまう。

;;
;; fontset-u1
;; Consolas + MS Gothic + Arial Unicode MS + いろいろ
;;
(create-fontset-from-ascii-font "Consolas 10" nil "u1")

(set-fontset-font "fontset-u1" 'korean-ksc5601
		  '("Malgun Gothic" . "ksc5601.1987-0") nil 'append)
(set-fontset-font "fontset-u1" 'chinese-big5-1
		  '("Microsoft JhengHei" . "big5-0") nil 'append)
(set-fontset-font "fontset-u1" 'chinese-big5-2
		  '("Microsoft JhengHei" . "big5-0") nil 'append)
(set-fontset-font "fontset-u1" 'chinese-gb2312
		  '("Microsoft Yahei" . "gb2312.1980-0") nil 'append)

(set-fontset-font "fontset-u1" 'japanese-jisx0208
		  '("MS Gothic" . "jisx0208-sjis"))
(set-fontset-font "fontset-u1" 'katakana-jisx0201
		  '("MS Gothic" . "jisx0208-sjis"))
(set-fontset-font "fontset-u1" 'japanese-jisx0208-1978
		  '("MS Gothic" . "jisx0208-sjis"))

(set-fontset-font "fontset-u1" 'mule-unicode-0100-24ff
		  "Arial Unicode MS" nil 'append)
(set-fontset-font "fontset-u1" 'mule-unicode-2500-33ff
		  "Arial Unicode MS" nil 'append)
(set-fontset-font "fontset-u1" 'mule-unicode-e000-ffff
		  "Arial Unicode MS" nil 'append)

(set-fontset-font "fontset-u1" 'latin-iso8859-1
		  '("Consolas" . "iso8859-1"))
(set-fontset-font "fontset-u1" 'latin-iso8859-2
		  '("Consolas" . "iso8859-2"))
(set-fontset-font "fontset-u1" 'latin-iso8859-3
		  '("Consolas" . "iso8859-3"))
(set-fontset-font "fontset-u1" 'latin-iso8859-4
		  '("Consolas" . "iso8859-4"))
(set-fontset-font "fontset-u1" 'cyrillic-iso8859-5
		  '("Consolas" . "iso8859-5"))
(set-fontset-font "fontset-u1" 'greek-iso8859-7
		  '("Consolas" . "iso8859-7"))
(set-fontset-font "fontset-u1" 'hebrew-iso8859-8
		  '("Arial Unicode MS" . "iso8859-8"))
(set-fontset-font "fontset-u1" 'latin-iso8859-9
		  '("Consolas" . "iso8859-9"))
(set-fontset-font "fontset-u1" 'thai-tis620
		  '("Arial Unicode MS" . "tis620-0"))

;; Ethiopic / jiret.ttf
(set-fontset-font "fontset-u1" 'ethiopic
		  '("Ethiopia Jiret" . "iso10646-1") nil 'append)
;; Burmese ビルマ語 / Padauk.ttf
(set-fontset-font "fontset-u1" 'mule-unicode-0100-24ff
		  '("Padauk" . "iso10646-1") nil 'append)
;; Khmer クメール語 / KhmerOS.ttf
(set-fontset-font "fontset-u1" 'mule-unicode-0100-24ff
		  '("Khmer OS" . "iso10646-1") nil 'append)
;; Oriya オリヤー語 / ori1UniMed.ttf
(set-fontset-font "fontset-u1" 'mule-unicode-0100-24ff
		  '("ori1Uni" . "iso10646-1") nil 'append)
;; Sinhala / Sinhalese: the Indic language spoken by the people of Sri Lanka
(set-fontset-font "fontset-u1" 'mule-unicode-0100-24ff
		  '("KaputaUnicode" . "iso10646-1") nil 'append)

(set-fontset-font "fontset-u1" nil "Arial Unicode MS" nil 'append)

正直、むちゃくちゃな設定だと思います…。

CJK については、japanese-jisx0208, chinese-gb2312, chinese-big5-1 / 2, korean-ksc5601 で漢字をそれぞれこれらのフォントで表示できるのか、そういう設定が可能なのかどうか良く分かりません。(以前はできていたので、もしかしたらできるのかも知れません)

使われているフォントは以下のとおり。

ビルマ語、クメール語など、個々のフォントファイルを導入している言語は、探してみると想像以上に多くのフォントがネット上にあるので、必ずコレじゃなきゃダメというわけではないです。ライセンスが GPL や OFL なフォントがいくつもあるのでお好みで。

Arial Unicode MS は Microsoft の Office 製品などに含まれているものです。なんかこれもぐぐるとごにょれるみたいだけど知らない。

fontset-default に fall back して表示されているものもあると思います。点字とか。

追記@Fri Jan 21 23:02:29 2011

4 件のコメント:

  1. hi, could you tell me how to type khmer in your emacs? I tried it long time but still can not handle it, thanks in advanced!

    返信削除
  2. Khmer use "left-to-right" method, just like english, the difference is khmer has subscript which means one letter overlay the other one, sometimes three letter together. Thanks for your help!

    返信削除
  3. oops! please forgive my ignorance.
    On my PC, Notepad on Windows, with Khmer(Cambodia) keyboard setting, seems to handle Khmer well. but it is not able to type Khmer on Emacs. hmmm.

    返信削除
  4. ^.^It's ok! I just want use Emacs to edit latex, but no one handle it, so I use Texworks or Notepad++ instead of which performances well. Thanks in advanced.

    返信削除