Mercurial > emacs
changeset 29234:c9a5f356fe77
Set family names of non-latin charsets in default fontset to "*".
author | Kenichi Handa <handa@m17n.org> |
---|---|
date | Fri, 26 May 2000 07:33:01 +0000 |
parents | a09ee5c15dcb |
children | 497da61dfe91 |
files | lisp/international/fontset.el |
diffstat | 1 files changed, 67 insertions(+), 70 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/international/fontset.el Fri May 26 07:27:30 2000 +0000 +++ b/lisp/international/fontset.el Fri May 26 07:33:01 2000 +0000 @@ -24,73 +24,75 @@ ;;; Code: -;; Set standard REGISTRY of characters in the default fontset to find -;; an appropriate font for each charset. This is used to generate a -;; font name for a fontset if the fontset doesn't specify a font name -;; for a specific character. If the value contains a character `-', -;; the string before that is embedded in `CHARSET_REGISTRY' field, and -;; the string after that is embedded in `CHARSET_ENCODING' field. If -;; the value does not contain `-', the whole string is embedded in -;; `CHARSET_REGISTRY' field, and a wild card character `*' is embedded -;; in `CHARSET_ENCODING' field. -;; The REGISTRY for ASCII characters are predefined as "ISO8859-1". +;; Set standard fontname specification of characters in the default +;; fontset to find an appropriate font for each charset. This is used +;; to generate a font name for a fontset if the fontset doesn't +;; specify a font name for a specific character. The specification +;; has the form (FAMILY . REGISTRY). FAMILY may be nil, in which +;; case, the family name of default face is used. If REGISTRY +;; contains a character `-', the string before that is embedded in +;; `CHARSET_REGISTRY' field, and the string after that is embedded in +;; `CHARSET_ENCODING' field. If it does not contain `-', the whole +;; string is embedded in `CHARSET_REGISTRY' field, and a wild card +;; character `*' is embedded in `CHARSET_ENCODING' field. The +;; REGISTRY for ASCII characters are predefined as "ISO8859-1". -(let ((l `((latin-iso8859-1 . "ISO8859-1") - (latin-iso8859-2 . "ISO8859-2") - (latin-iso8859-3 . "ISO8859-3") - (latin-iso8859-4 . "ISO8859-4") - (thai-tis620 . "TIS620") - (greek-iso8859-7 . "ISO8859-7") - (arabic-iso8859-6 . "ISO8859-6") - (hebrew-iso8859-8 . "ISO8859-8") - (katakana-jisx0201 . "JISX0201") - (latin-jisx0201 . "JISX0201") - (cyrillic-iso8859-5 . "ISO8859-5") - (latin-iso8859-9 . "ISO8859-9") - (japanese-jisx0208-1978 . "JISX0208.1978") - (chinese-gb2312 . "GB2312") - (japanese-jisx0208 . "JISX0208.1983") - (korean-ksc5601 . "KSC5601") - (japanese-jisx0212 . "JISX0212") - (chinese-cns11643-1 . "CNS11643.1992-1") - (chinese-cns11643-2 . "CNS11643.1992-2") - (chinese-cns11643-3 . "CNS11643.1992-3") - (chinese-cns11643-4 . "CNS11643.1992-4") - (chinese-cns11643-5 . "CNS11643.1992-5") - (chinese-cns11643-6 . "CNS11643.1992-6") - (chinese-cns11643-7 . "CNS11643.1992-7") - (chinese-big5-1 . "Big5") - (chinese-big5-2 . "Big5") - (chinese-sisheng . "sisheng_cwnn") - (vietnamese-viscii-lower . "VISCII1.1") - (vietnamese-viscii-upper . "VISCII1.1") - (arabic-digit . "MuleArabic-0") - (arabic-1-column . "MuleArabic-1") - (arabic-2-column . "MuleArabic-2") - (ipa . "MuleIPA") - (ethiopic . "Ethiopic-Unicode") - (ascii-right-to-left . "ISO8859-1") - (indian-is13194 . "IS13194-Devanagari") - (indian-2-column . "MuleIndian-2") - (indian-1-column . "MuleIndian-1") - (lao . "MuleLao-1") - (tibetan . "MuleTibetan-0") - (tibetan-1-column . "MuleTibetan-1") - (latin-iso8859-14 . "ISO8859-14") - (latin-iso8859-15 . "ISO8859-15") - (mule-unicode-0100-24ff . "ISO10646-1") - (japanese-jisx0213-1 . "JISX0213") - (japanese-jisx0213-2 . "JISX0213") +(let ((l `((latin-iso8859-1 . (nil . "ISO8859-1")) + (latin-iso8859-2 . (nil . "ISO8859-2")) + (latin-iso8859-3 . (nil . "ISO8859-3")) + (latin-iso8859-4 . (nil . "ISO8859-4")) + (thai-tis620 . ("*" . "TIS620")) + (greek-iso8859-7 . ("*" . "ISO8859-7")) + (arabic-iso8859-6 . ("*" . "ISO8859-6")) + (hebrew-iso8859-8 . ("*" . "ISO8859-8")) + (katakana-jisx0201 . ("*" . "JISX0201")) + (latin-jisx0201 . (nil . "JISX0201")) + (cyrillic-iso8859-5 . ("*" . "ISO8859-5")) + (latin-iso8859-9 . (nil . "ISO8859-9")) + (japanese-jisx0208-1978 . ("*" . "JISX0208.1978")) + (chinese-gb2312 . ("*" . "GB2312")) + (japanese-jisx0208 . ("*" . "JISX0208.1983")) + (korean-ksc5601 . ("*" . "KSC5601")) + (japanese-jisx0212 . ("*" . "JISX0212")) + (chinese-cns11643-1 . ("*" . "CNS11643.1992-1")) + (chinese-cns11643-2 . ("*" . "CNS11643.1992-2")) + (chinese-cns11643-3 . ("*" . "CNS11643.1992-3")) + (chinese-cns11643-4 . ("*" . "CNS11643.1992-4")) + (chinese-cns11643-5 . ("*" . "CNS11643.1992-5")) + (chinese-cns11643-6 . ("*" . "CNS11643.1992-6")) + (chinese-cns11643-7 . ("*" . "CNS11643.1992-7")) + (chinese-big5-1 . ("*" . "Big5")) + (chinese-big5-2 . ("*" . "Big5")) + (chinese-sisheng . (nil . "sisheng_cwnn")) + (vietnamese-viscii-lower . (nil . "VISCII1.1")) + (vietnamese-viscii-upper . (nil . "VISCII1.1")) + (arabic-digit . ("*" . "MuleArabic-0")) + (arabic-1-column . ("*" . "MuleArabic-1")) + (arabic-2-column . ("*" . "MuleArabic-2")) + (ipa . (nil . "MuleIPA")) + (ethiopic . ("*" . "Ethiopic-Unicode")) + (ascii-right-to-left . (nil . "ISO8859-1")) + (indian-is13194 . ("*" . "IS13194-Devanagari")) + (indian-2-column . ("*" . "MuleIndian-2")) + (indian-1-column . ("*" . "MuleIndian-1")) + (lao . ("*" . "MuleLao-1")) + (tibetan . ("*" . "MuleTibetan-0")) + (tibetan-1-column . ("*" . "MuleTibetan-1")) + (latin-iso8859-14 . (nil . "ISO8859-14")) + (latin-iso8859-15 . (nil . "ISO8859-15")) + (mule-unicode-0100-24ff . (nil . "ISO10646-1")) + (japanese-jisx0213-1 . ("*" . "JISX0213")) + (japanese-jisx0213-2 . ("*" . "JISX0213")) )) - charset registry arg) + charset font-spec arg) (while l - (setq charset (car (car l)) registry (cdr (car l)) l (cdr l)) - (or (string-match "-" registry) - (setq registry (concat registry "*"))) + (setq charset (car (car l)) font-spec (cdr (car l)) l (cdr l)) + (or (string-match "-" (cdr font-spec)) + (setcdr font-spec (concat (cdr font-spec) "*"))) (if (symbolp charset) (setq arg (make-char charset)) (setq arg charset)) - (set-fontset-font t arg registry))) + (set-fontset-font "fontset-default" arg font-spec))) ;; Set arguments in `font-encoding-alist' (which see). (defun set-font-encoding (pattern charset encoding) @@ -283,15 +285,10 @@ ;; If font for ASCII is not specified, add it. (unless ascii-font - (let ((registry (cdr (fontset-font t 0))) - (encoding nil)) - (if (string-match "-" registry) - (setq encoding (substring registry (match-end 0)) - registry (substring registry 0 (match-beginning 0)))) - (aset xlfd-fields xlfd-regexp-registry-subnum registry) - (aset xlfd-fields xlfd-regexp-encoding-subnum encoding) - (setq ascii-font (x-compose-font-name xlfd-fields)) - (setq fontlist (cons (cons 'ascii ascii-font) fontlist)))) + (aset xlfd-fields xlfd-regexp-registry-subnum "iso8859") + (aset xlfd-fields xlfd-regexp-encoding-subnum "1") + (setq ascii-font (x-compose-font-name xlfd-fields)) + (setq fontlist (cons (cons 'ascii ascii-font) fontlist))) ;; If the font for ASCII also supports the other charsets, and ;; they are not specified in FONTLIST, add them.