]> code.delx.au - gnu-emacs/blobdiff - lisp/international/fontset.el
*** empty log message ***
[gnu-emacs] / lisp / international / fontset.el
index d2f83f62f1910c347a0ec6c439ab1a4040ec3295..d0ededdc6d82c1f167da0f113d4251fc436a3b9c 100644 (file)
@@ -1,8 +1,11 @@
 ;;; 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
@@ -449,7 +472,7 @@ Value is name of that font."
           (aset xlfd-fields index "*")
           (setq index (1+ index))))))
     (unless ascii-font
-      (error "No fonts founds"))
+      (error "No fonts found"))
     ascii-font))
 
 
@@ -589,7 +612,6 @@ Done when `mouse-set-font' is called."
 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.