Contents in 1999-06-04-13 of release-21-2.
[chise/xemacs-chise.git.1] / lisp / msw-faces.el
index b2e52f4..f4e4125 100644 (file)
 (defun mswindows-init-frame-faces (frame)
   )
 
+;; Other functions expect these regexps
+(defconst mswindows-font-regexp
+  (let
+      ((-              ":")
+       (fontname       "\\([a-zA-Z ]+\\)")
+       (weight "\\([a-zA-Z]*\\)?")
+       (style  "\\( [a-zA-Z]*\\)?")
+       (pointsize      "\\([0-9]+\\)?")
+       (effects        "\\([a-zA-Z ]*\\)?")
+       (charset        "\\([a-zA-Z 0-9]*\\)")
+       )
+    (concat "^"
+           fontname - weight style - pointsize - effects - charset "$")))
 
 ;;; Fill in missing parts of a font spec. This is primarily intended as a
 ;;; helper function for the functions below.
@@ -145,6 +158,9 @@ font. If it fails, it returns nil."
 (defun mswindows-find-smaller-font (font &optional device)
   "Loads a new version of the given font (or font name) 1 point smaller.
 Returns the font if it succeeds, nil otherwise."
+  (if (stringp font) (setq font (make-font-instance font device)))
+  (if (font-instance-p font) (setq font (font-instance-truename font)))
+  (if (stringp font) (setq font (make-font-instance font device)))
   (if (font-instance-p font)
       (let (old-size (name (mswindows-font-canonicalize-name font)))
        (string-match "^[a-zA-Z ]+:[a-zA-Z ]*:\\([0-9]+\\):" name)
@@ -160,6 +176,9 @@ Returns the font if it succeeds, nil otherwise."
 (defun mswindows-find-larger-font (font &optional device)
   "Loads a new version of the given font (or font name) 1 point larger.
 Returns the font if it succeeds, nil otherwise."
+  (if (stringp font) (setq font (make-font-instance font device)))
+  (if (font-instance-p font) (setq font (font-instance-truename font)))
+  (if (stringp font) (setq font (make-font-instance font device)))
   (if (font-instance-p font)
       (let (old-size (name (mswindows-font-canonicalize-name font)))
        (string-match "^[a-zA-Z ]+:[a-zA-Z ]*:\\([0-9]+\\):" name)