2009/03/13 の NTEmacs 23.0.91 で (view-hello-file) をぜんぶ表示してみた。
なんつーか、コンピュータでただ文字を表示するだけのことに感動しちゃったのって、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 で漢字をそれぞれこれらのフォントで表示できるのか、そういう設定が可能なのかどうか良く分かりません。(以前はできていたので、もしかしたらできるのかも知れません)
使われているフォントは以下のとおり。
- Ethiopic
Ethiopia Jiret Senamirmir Projects: Typeface - Burmese
Padauk Padauk Font - Khmer
Khmer OS Fonts | Khmer Software Initiative - Oriya
ori1Uni Indic encoding in the Unicode Standard & FAQ - Sinhala
KaputaUnicode Kaputa Sinhala Unicode Font download - Consolas
Consolas Font Pack for Microsoft Visual Studio 2005 or 2008 - Microsoft YaHei
Simplified Chinese ClearType fonts for Windows XP - Microsoft JhengHei
Traditional Chinese ClearType fonts for Windows XP - Malgun Gothic
Korean ClearType fonts for Windows XP
ビルマ語、クメール語など、個々のフォントファイルを導入している言語は、探してみると想像以上に多くのフォントがネット上にあるので、必ずコレじゃなきゃダメというわけではないです。ライセンスが GPL や OFL なフォントがいくつもあるのでお好みで。
Arial Unicode MS は Microsoft の Office 製品などに含まれているものです。なんかこれもぐぐるとごにょれるみたいだけど知らない。
fontset-default に fall back して表示されているものもあると思います。点字とか。
追記@Fri Jan 21 23:02:29 2011
- u-ch: fontset-standard を使ったフォント設定
Windows 7 では難しいこと考えなくてもほとんど表示されます。
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!
返信削除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!
返信削除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.
^.^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.
返信削除