[Macemacsjp-users 1081] utf-8で保存したファイル中のキリル文字、ギリシア文字のフォントについて

Back to archive index

suzu****@readm***** suzu****@readm*****
2006年 5月 30日 (火) 00:23:39 JST


 こちらでは初めましてになります、玉野と申します。
 Carbon Emacsの最新版(3月版)を使わせていただいて 
います。環境はMac mini(PPC)、OSは10.4.6です。

 carbon-font.elに手を入れて、日本語文字にモトヤアポロとい 
うフォント、ラテンアルファベットにmonacoを使うようにしてい 
ます。そこで、以前FreeBSDのEmacs21で作成した 
utf-8のファイルを表示させようとしました。当該ファイルには、アク 
セント記号付きのラテン文字、日本語の文字、大陸中国の簡体字、中華 
民国の正体字、キリル文字、ギリシア文字が含まれています。簡体字、 
正体字はサイズが少々おかしいのですが、それのために用意されている 
フォントで表示されました。
 ところがキリル文字が日本語文字のフォント(モトヤアポロで 
すね)で表示されてしまいました。ギリシア文字の場合はもっと 
ややこしくて、アクセント記号や気息記号がついていたりしてモトヤア 
ポロに入っていない部分だけ、別のいわゆる半角フォントで表示されて 
います。
 キリル文字とギリシア文字をmonacoに準じたフォントで表示さ 
せるのには、どう設定したらよいのでしょうか。carbon-font.el 
をいかに載せますので、識者のご指導を仰ぎたいと思います。 
(一部割愛しています)

 表示させようとしているファイルは、各国の国歌の歌詞のファイル 
で、元々はEmacs19.34+Mule2.3の内部コードで作ったものでし 
た。それを確かEmacs21.3にコピー&ペーストして、Mule- 
UCSの助けを借りてutf-8にしたんだったと思います。 
FreeBSDのX.orgではそれぞれそれにふさわしいフォントで表示さ 
れていました。

------------------------------------------------------------------------ 
-----

;;; carbon-font.el -- fontsets for Carbon Emacs -*- coding:  
iso-2022-7bit -*-

;; Copyright (C) 2004-2005 by T. Hiromatsu  
<matsu****@users*****>
;; Version 1_5_4
;; 2005-11-20

;; --中略--

(require 'fixed-width-fontset)

(defvar fixed-width-encode-reg-alist
   '((japanese-jisx0208 . "iso10646-*")
     (katakana-jisx0201 . "iso10646-*")
     (japanese-jisx0212 . "iso10646-*")
     (thai-tis620 . "iso10646-*")
     (chinese-gb2312 . "iso10646-*")
     (chinese-big5-1 . "iso10646-*")
     (korean-ksc5601 . "iso10646-*")
     (latin-iso8859-1 . "mac-roman")
     (latin-iso8859-2 . "mac-centraleurroman")
     (cyrillic-iso8859-5 . "mac-cyrillic")))


(defvar fixed-width-xlfd-template
   "-apple-%s-medium-r-normal--%d-*-*-*-*-*-iso10646-1")

(defalias 'fixed-width-create-fontset-func 'create-fontset-from-mac- 
roman-font)

(defalias 'carbon-font-create-fontset 'fixed-width-create-fontset)

;;
;; fontset definition section
;;

(defvar carbon-font-defined-sizes '(11 10 12 14 16))

;;
;; motoyaapollo = モトヤアポロ + monaco
;;

(defvar carbon-font-encode-family-list-motoyaapollo
   `((ascii . "monaco")
     (japanese-jisx0208 . "NfMotoyaAporo")
     (katakana-jisx0201 . "NfMotoyaAporo")
     (japanese-jisx0212 . "hiragino maru gothic pro")
     (thai-tis620 . "ayuthaya")
     (chinese-gb2312 . "stheiti*")
     (chinese-big5-1 . ,(if (x-list-fonts "*apple ligothic*")
                            "apple ligothic*" "lihei pro*"))
     (korean-ksc5601 . "applegothic*")))

(carbon-font-create-fontset "motoyaapollo"
                             carbon-font-defined-sizes
                             carbon-font-encode-family-list- 
motoyaapollo)

;; --中略--

;;
;;  変数 section
;;

;;  使用するフォントセットを変えた後、自動で、ボールドをリスケー 
ルさせる。
;;  ボールドをリスケールする為のファクターの定義

(defvar fixed-width-scale-alist-motoyaapollo
   '(("7" . 1.15) ("8" . 1.3) ("9" . 1.35) ("10" . 1.2) ("11" . 1.35)  
("12" . 1.35)
     ("14" . 1.25) ("16" . 1.25) ("18" . 1.25) ("20" . 1.2) ("24" .  
1.2)))

(defvar fixed-width-scale-alist-hiragino
   '(("7" . 1.15) ("8" . 1.35) ("9" . 1.35) ("10" . 1.2) ("12" . 1.2)
     ("14" . 1.2) ("16" . 1.25) ("18" . 1.25) ("20" . 1.2) ("24" .  
1.2)))

(defvar fixed-width-scale-alist-two-byte-bold
   '(("8" . 1.2) ("9" . 1.25) ("10" . 1.1) ("12" . 1.15)
     ("14" . 1.1) ("16" . 1.2) ("18" . 1.2) ("20" . 1.15) ("24" .  
1.15)))

(defvar fixed-width-scale-alist-osaka-normal
   '(("7" . 1.15) ("8" . 1.25) ("9" . 1.35) ("10" . 1.2) ("12" . 1.2)
     ("14" . 1.2) ("16" . 1.25) ("18" . 1.25) ("20" . 1.2) ("24" .  
1.2)))

(defvar fixed-width-scale-alist-osaka-bold
   '(("8" . 1.2) ("9" . 1.25) ("10" . 1.1) ("12" . 1.1)
     ("14" . 1.2) ("16" . 1.2) ("18" . 1.2) ("20" . 1.15) ("24" . 1.2)))

(defvar fixed-width-scale-alist-monaco-bold
   '(("7" . 0.8) ("8" . 0.95) ("9" . 0.9) ("10" . 0.8) ("12" . 0.9)
     ("14" . 0.9) ("16" . 0.95) ("18" . 0.9) ("20" . 0.95) ("24" .  
0.92)))

(defvar fixed-width-get-scale-alist
   `((".*monaco-bold-.*-mac-roman" . ,fixed-width-scale-alist-monaco- 
bold)
     (".*monaco cy-bold-.*-mac-cyrillic" . ,fixed-width-scale-alist- 
monaco-bold)
     (".*courier-bold-.*-mac-roman" . (( "9" . 0.9) ("10" . 0.9)))
     (".*osaka-medium.*" . ,fixed-width-scale-alist-osaka-normal)
     (".*osaka-bold.*" . ,fixed-width-scale-alist-osaka-bold)
     (".*nf.*" . ,fixed-width-scale-alist-motoyaapollo)
     ("^-apple-hiragino.*" . ,fixed-width-scale-alist-hiragino)
     ("^-apple-stheiti-.*" . ,fixed-width-scale-alist-hiragino)
     ("^-apple-lihei pro-.*" . ,fixed-width-scale-alist-hiragino)
     ("^-apple-applegothic-.*" . ,fixed-width-scale-alist-hiragino)
     ("^-apple-applemyungjo-.*" . ,fixed-width-scale-alist-hiragino)
     ("^-apple-lisong pro-.*" . ,fixed-width-scale-alist-hiragino)
     ("^-apple-stkaiti-.*" . ,fixed-width-scale-alist-hiragino)
     ("^-apple-hei-.*" . ,fixed-width-scale-alist-hiragino)
     ("^-apple-apple ligothic-.*" . ,fixed-width-scale-alist-hiragino))
   "ReScale factor alist for each fonts and size.")

(provide 'carbon-font)

;;; carbon-font.el ends here

-----------------------------------------------------------------------

 以上です。よろしくお願いします。

--
;; So I must go before you see me fall
;; 玉野健一@平城京右京五条三坊





Macemacsjp-users メーリングリストの案内
Back to archive index