;;; fontset.el --- commands for handling fontset
;; Copyright (C) 1995, 1997 Electrotechnical Laboratory, JAPAN.
-;; Licensed to the Free Software Foundation.
+;; Licensed to the Free Software Foundation.
;; Copyright (C) 2001 Free Software Foundation, Inc.
+;; Copyright (C) 2003
+;; National Institute of Advanced Industrial Science and Technology (AIST)
+;; Registration Number H13PRO009
;; Keywords: mule, i18n, fontset
("muleipa" . ipa)
("ethiopic-unicode" . ethiopic)
("is13194-devanagari" . indian-is13194)
- ("devanagari-cdac" . devanagari-glyph)
-;; These would be necessary for supporting the complete set of Indian
-;; scripts. See also mule-conf.el.
-;; ("sanskrit-cdac" . sanskrit-glyph)
-;; ("bengali-cdac" . bengali-glyph)
-;; ("assamese-cdac" . assamese-glyph)
-;; ("punjabi-cdac" . punjabi-glyph)
-;; ("gujarati-cdac" . gujarati-glyph)
-;; ("oriya-cdac" . oriya-glyph)
-;; ("tamil-cdac" . tamil-glyph)
-;; ("telugu-cdac" . telugu-glyph)
-;; ("kannada-cdac" . kannada-glyph)
-;; ("malayalam-cdac" . malayalam-glyph)
+ ("Devanagari-CDAC" . devanagari-cdac)
+ ("Sanskrit-CDAC" . sanskrit-cdac)
+ ("Bengali-CDAC" . bengali-cdac)
+ ("Assamese-CDAC" . assamese-cdac)
+ ("Punjabi-CDAC" . punjabi-cdac)
+ ("Gujarati-CDAC" . gujarati-cdac)
+ ("Oriya-CDAC" . oriya-cdac)
+ ("Tamil-CDAC" . tamil-cdac)
+ ("Telugu-CDAC" . telugu-cdac)
+ ("Kannada-CDAC" . kannada-cdac)
+ ("Malayalam-CDAC" . malayalam-cdac)
+ ("Devanagari-Akruti" . devanagari-akruti)
+ ("Bengali-Akruti" . bengali-akruti)
+ ("Punjabi-Akruti" . punjabi-akruti)
+ ("Gujarati-Akruti" . gujarati-akruti)
+ ("Oriya-Akruti" . oriya-akruti)
+ ("Tamil-Akruti" . tamil-akruti)
+ ("Telugu-Akruti" . telugu-akruti)
+ ("Kannada-Akruti" . kannada-akruti)
+ ("Malayalam-Akruti" . malayalam-akruti)
("muleindian-2" . indian-2-column)
("muleindian-1" . indian-1-column)
("mulelao-1" . mule-lao)
;; a vector [ FAMILY WEIGHT SLANT ADSTYLE REGISTRY ],
;; or a cons (FAMILY . REGISTRY),
;; or a string FONT-NAME.
-;;
+;;
;; FAMILY, WEIGHT, SLANT, and ADSTYLE may be nil, in which case, the
;; the corresponding name of default face is used. If REGISTRY
;; contains a character `-', the string before that is embedded in
;; `char-script-table'. SCRIPT may be a charset specifying the range
;; of characters.
-(new-fontset
- "fontset-default"
- '( ;; for each script
- (latin (nil . "ISO8859-1")
- (nil . "ISO8859-2")
- (nil . "ISO8859-3")
- (nil . "ISO8859-4")
- (nil . "ISO8859-9")
- (nil . "ISO8859-10")
- (nil . "ISO8859-13")
- (nil . "ISO8859-14")
- (nil . "ISO8859-15")
- (nil . "VISCII1.1-1"))
-
- (thai (nil . "TIS620*")
- (nil . "ISO8859-11"))
-
- (devanagari (nil . "iso10646.indian-1"))
-
- (lao (nil . "MuleLao-1"))
-
- ;; both for script and charset.
- (tibetan (nil . "muletibetan-2"))
-
- ;; both for script and charset.
- (ethiopic (nil . "ethiopic-unicode"))
-
- (greek (nil . "ISO8859-7"))
-
- (cyrillic (nil . "ISO8859-5"))
-
- (arabic (nil . "MuleArabic-0")
- (nil . "MuleArabic-1")
- (nil . "MuleArabic-2")
- (nil . "ISO8859-6"))
-
- (hebrew (nil . "ISO8859-8"))
-
- (kana (nil . "JISX0208*")
- (nil . "GB2312.1980-0")
- (nil . "KSC5601.1987*")
- (nil . "JISX0201*"))
-
- (bopomofo (nil . "sisheng_cwnn-0"))
-
- (han (nil . "GB2312.1980-0")
- (nil . "JISX0208*")
- (nil . "JISX0212*")
- (nil . "big5*")
- (nil . "KSC5601.1987*")
- (nil . "CNS11643.1992-1")
- (nil . "CNS11643.1992-2")
- (nil . "CNS11643.1992-3")
- (nil . "CNS11643.1992-4")
- (nil . "CNS11643.1992-5")
- (nil . "CNS11643.1992-6")
- (nil . "CNS11643.1992-7")
- (nil . "gbk-0")
- (nil . "JISX0213.2000-1")
- (nil . "JISX0213.2000-2"))
-
- (cjk-misc (nil . "GB2312.1980-0")
- (nil . "JISX0208*")
- (nil . "JISX0212*")
- (nil . "big5*")
- (nil . "KSC5601.1987*")
- (nil . "CNS11643.1992-1")
- (nil . "CNS11643.1992-2")
- (nil . "CNS11643.1992-3")
- (nil . "CNS11643.1992-4")
- (nil . "CNS11643.1992-5")
- (nil . "CNS11643.1992-6")
- (nil . "CNS11643.1992-7")
- (nil . "gbk-0")
- (nil . "JISX0213.2000-1")
- (nil . "JISX0213.2000-2"))
-
- (hangul (nil . "KSC5601.1987-0"))
-
- ;; for each charset
- (ascii (nil . "ISO8859-1"))
- (arabic-digit ("*" . "MuleArabic-0"))
- (arabic-1-column ("*" . "MuleArabic-1"))
- (arabic-2-column ("*" . "MuleArabic-2"))
- (indian-is13194 (nil . "is13194-devanagari"))
- (indian-1-column ("*" . "muleindian-2"))
- (devanagari-glyph ("altsys-dv_ttsurekh" . "devanagari-cdac"))
-;; These would be necessary for supporting the complete set of Indian
-;; scripts.
- ;; fixme: family name
-;; (sanskrit-glyph ("*" . "sanskrit-cdac"))
-;; (bengali-glyph ("*" . "bengali-cdac"))
-;; (assamese-glyph ("*" . "assamese-cdac"))
-;; (punjabi-glyph ("*" . "punjabi-cdac"))
-;; (gujarati-glyph ("*" . "gujarati-cdac"))
-;; (oriya-glyph ("*" . "oriya-cdac"))
-;; (tamil-glyph ("*" . "tamil-cdac"))
-;; (telugu-glyph ("*" . "telugu-cdac"))
-;; (kannada-glyph ("*" . "kannada-cdac"))
- (malayalam-glyph ("altsys-ml_ttkarthika" . "malayalam-cdac"))
- (ipa (nil . "MuleIPA-1"))
- ))
-
-;; Append Unicode fonts.
-;; This may find fonts with more variants (bold, italic) but which don't cover
-;; many characters.
-(set-fontset-font "fontset-default" '(0 . #xFFFF)
- '(nil . "iso10646-1") nil 'append)
-;; These may find fonts that cover many characters but with fewer variants.
-(set-fontset-font "fontset-default" '(0 . #xFFFF)
- '("gnu-unifont" . "iso10646-1") nil 'append)
-(set-fontset-font "fontset-default" '(0 . #xFFFF)
- '("mutt-clearlyu" . "iso10646-1") nil 'append)
+(defun setup-default-fontset ()
+ "Setup the default fontset."
+ (new-fontset
+ "fontset-default"
+ '(;; for each script
+ (latin (nil . "ISO8859-1")
+ (nil . "ISO8859-2")
+ (nil . "ISO8859-3")
+ (nil . "ISO8859-4")
+ (nil . "ISO8859-9")
+ (nil . "ISO8859-10")
+ (nil . "ISO8859-13")
+ (nil . "ISO8859-14")
+ (nil . "ISO8859-15")
+ (nil . "VISCII1.1-1"))
+
+ (thai (nil . "TIS620*")
+ (nil . "ISO8859-11"))
+
+ (devanagari (nil . "iso10646.indian-1"))
+
+ (lao (nil . "MuleLao-1"))
+
+ ;; both for script and charset.
+ (tibetan (nil . "muletibetan-2"))
+
+ ;; both for script and charset.
+ (ethiopic (nil . "ethiopic-unicode"))
+
+ (greek (nil . "ISO8859-7"))
+
+ (cyrillic (nil . "ISO8859-5"))
+
+ (arabic (nil . "MuleArabic-0")
+ (nil . "MuleArabic-1")
+ (nil . "MuleArabic-2")
+ (nil . "ISO8859-6"))
+
+ (hebrew (nil . "ISO8859-8"))
+
+ (kana (nil . "JISX0208*")
+ (nil . "GB2312.1980-0")
+ (nil . "KSC5601.1987*")
+ (nil . "JISX0201*"))
+
+ (bopomofo (nil . "sisheng_cwnn-0"))
+
+ (han (nil . "GB2312.1980-0")
+ (nil . "JISX0208*")
+ (nil . "JISX0212*")
+ (nil . "big5*")
+ (nil . "KSC5601.1987*")
+ (nil . "CNS11643.1992-1")
+ (nil . "CNS11643.1992-2")
+ (nil . "CNS11643.1992-3")
+ (nil . "CNS11643.1992-4")
+ (nil . "CNS11643.1992-5")
+ (nil . "CNS11643.1992-6")
+ (nil . "CNS11643.1992-7")
+ (nil . "gbk-0")
+ (nil . "JISX0213.2000-1")
+ (nil . "JISX0213.2000-2"))
+
+ (cjk-misc (nil . "GB2312.1980-0")
+ (nil . "JISX0208*")
+ (nil . "JISX0212*")
+ (nil . "big5*")
+ (nil . "KSC5601.1987*")
+ (nil . "CNS11643.1992-1")
+ (nil . "CNS11643.1992-2")
+ (nil . "CNS11643.1992-3")
+ (nil . "CNS11643.1992-4")
+ (nil . "CNS11643.1992-5")
+ (nil . "CNS11643.1992-6")
+ (nil . "CNS11643.1992-7")
+ (nil . "gbk-0")
+ (nil . "JISX0213.2000-1")
+ (nil . "JISX0213.2000-2"))
+
+ (hangul (nil . "KSC5601.1987-0"))
+
+ ;; for each charset
+ (ascii (nil . "ISO8859-1"))
+ (arabic-digit ("*" . "MuleArabic-0"))
+ (arabic-1-column ("*" . "MuleArabic-1"))
+ (arabic-2-column ("*" . "MuleArabic-2"))
+ (indian-is13194 (nil . "is13194-devanagari"))
+ (indian-1-column ("*" . "muleindian-2"))
+ ;; Indian CDAC
+ (devanagari-cdac (nil . "Devanagari-CDAC"))
+ (sanskrit-cdac (nil . "Sanskrit-CDAC"))
+ (bengali-cdac (nil . "Bengali-CDAC"))
+ (assamese-cdac (nil . "Assamese-CDAC"))
+ (punjabi-cdac (nil . "Punjabi-CDAC"))
+ (gujarati-cdac (nil . "Gujarati-CDAC"))
+ (oriya-cdac (nil . "Oriya-CDAC"))
+ (tamil-cdac (nil . "Tamil-CDAC"))
+ (telugu-cdac (nil . "Telugu-CDAC"))
+ (kannada-cdac (nil . "Kannada-CDAC"))
+ (malayalam-cdac (nil . "Malayalam-CDAC"))
+ ;; Indian AKRUTI
+ (devanagari-akruti (nil . "Devanagari-Akruti"))
+ (bengali-akruti (nil . "Bengali-Akruti"))
+ (punjabi-akruti (nil . "Punjabi-Akruti"))
+ (gujarati-akruti (nil . "Gujarati-Akruti"))
+ (oriya-akruti (nil . "Oriya-Akruti"))
+ (tamil-akruti (nil . "Tamil-Akruti"))
+ (telugu-akruti (nil . "Telugu-Akruti"))
+ (kannada-akruti (nil . "Kannada-Akruti"))
+ (malayalam-akruti (nil . "Malayalam-Akruti"))
+ ;;(devanagari-glyph ("altsys-dv_ttsurekh" . "devanagari-cdac"))
+ ;;(malayalam-glyph ("altsys-ml_ttkarthika" . "malayalam-cdac"))
+ (ipa (nil . "MuleIPA-1"))
+ ))
+
+ ;; Append Unicode fonts.
+ ;; This may find fonts with more variants (bold, italic) but which
+ ;; don't cover many characters.
+ (set-fontset-font "fontset-default" '(0 . #xFFFF)
+ '(nil . "iso10646-1") nil 'append)
+ ;; These may find fonts that cover many characters but with fewer
+ ;; variants.
+ (set-fontset-font "fontset-default" '(0 . #xFFFF)
+ '("gnu-unifont" . "iso10646-1") nil 'append)
+ (set-fontset-font "fontset-default" '(0 . #xFFFF)
+ '("mutt-clearlyu" . "iso10646-1") nil 'append))
;; These are the registered registries/encodings from
;; ftp://ftp.x.org/pub/DOCS/registry 2001/06/01
(aset xlfd-fields index "*")
(setq index (1+ index))))))
(unless ascii-font
- (error "No fonts founds"))
+ (error "No fonts found"))
ascii-font))
This alist is used by the function `create-fontset-from-fontset-spec'
to map charsets to scripts.")
-;;;###autoload
(defun create-fontset-from-fontset-spec (fontset-spec
&optional style-variant noerror)
"Create a fontset from fontset specification string FONTSET-SPEC.