(progn
;; Create a default fontset.
(create-fontset-from-fontset-spec default-fontset-spec)
+ ;; Create variants of a default fontset.
+ (create-fontset-from-fontset-spec default-fontset-spec 'bold)
+ (create-fontset-from-fontset-spec default-fontset-spec 'italic)
+ (create-fontset-from-fontset-spec default-fontset-spec 'bold-italic)
- ;; Create fontset specified in X resources.
+ ;; Create fontset specified in X resources "Fontset-N" (N is 0, 1, ...).
(create-fontset-from-x-resource)
- ;; Try to create a fontset from font specification which comes from
- ;; initial-frame-alist, default-frame-alist, or X resource if the font
- ;; name conforms to XLFD and the registry part is `fontset'. A font
- ;; specification in command line argument (-fn XXXX) should be in
- ;; default-frame-alist already. However, any font specification in
- ;; site-start library, user's init file (.emacs), and default.el are
- ;; not yet handled here.
+ ;; Try to create a fontset from a font specification which comes
+ ;; from initial-frame-alist, default-frame-alist, or X resource.
+ ;; A font specification in command line argument (i.e. -fn XXXX)
+ ;; should be already in default-frame-alist as a `font'
+ ;; parameter. However, any font specifications in site-start
+ ;; library, user's init file (.emacs), and default.el are not
+ ;; yet handled here.
(let ((font (or (cdr (assq 'font initial-frame-alist))
(cdr (assq 'font default-frame-alist))
- (x-get-resource "font" "Font")
- (x-get-resource "fontset" "Fontset")))
+ (x-get-resource "font" "Font")))
xlfd-fields fontlist)
(if (and font
(not (query-fontset font))
(setq xlfd-fields (x-decompose-font-name font)))
- (progn
- (if (not (string= "fontset"
- (aref xlfd-fields xlfd-regexp-registry-subnum)))
+ (let (alias)
+ (or (string= "fontset"
+ (aref xlfd-fields xlfd-regexp-registry-subnum))
(progn
- ;; Create a fontset of the name FONT.
+ ;; Create a fontset from FONT. The name is also
+ ;; generated from FONT.
(setq fontlist (list (cons 'ascii font)))
(aset xlfd-fields xlfd-regexp-foundry-subnum nil)
(aset xlfd-fields xlfd-regexp-family-subnum nil)
(aset xlfd-fields xlfd-regexp-adstyle-subnum nil)
- (aset xlfd-fields xlfd-regexp-avgwidth-subnum nil)))
- (new-fontset font (x-complement-fontset-spec xlfd-fields fontlist)))))))
+ (aset xlfd-fields xlfd-regexp-avgwidth-subnum nil)
+ (aset xlfd-fields xlfd-regexp-registry-subnum "fontset")
+ (aset xlfd-fields xlfd-regexp-encoding-subnum "startup")
+ (setq alias font
+ font (x-compose-font-name xlfd-fields))))
+ (new-fontset font
+ (x-complement-fontset-spec xlfd-fields fontlist))
+ (if alias
+ (setq fontset-alias-alist
+ (cons (cons font alias) fontset-alias-alist)))
+ )))))
;; Sun expects the menu bar cut and paste commands to use the clipboard.
;; This has ,? to match both on Sunos and on Solaris.