* epa.el: Use :weight or :slant keywords to define faces, if
[elisp/epg.git] / epa.el
diff --git a/epa.el b/epa.el
index a53db29..57dcb70 100644 (file)
--- a/epa.el
+++ b/epa.el
@@ -49,64 +49,97 @@ the separate window."
   :group 'epa)
 
 (defface epa-validity-high
-  '((((class color) (background dark))
-     (:foreground "PaleTurquoise" :bold t))
+  `((((class color) (background dark))
+     (:foreground "PaleTurquoise"
+                 ,@(if (assq ':weight custom-face-attributes)
+                       '(:weight bold)
+                     '(:bold t))))
     (t
-     (:bold t)))
+     ,@(if (assq ':weight custom-face-attributes)
+          '(:weight bold)
+        '(:bold t))))
   "Face used for displaying the high validity."
   :group 'epa-faces)
 
 (defface epa-validity-medium
-  '((((class color) (background dark))
-     (:foreground "PaleTurquoise" :italic t))
+  `((((class color) (background dark))
+     (:foreground "PaleTurquoise"
+                 ,@(if (assq ':slant custom-face-attributes)
+                       '(:slant italic)
+                     '(:italic t))))
     (t
-     ()))
+     (,@(if (assq ':slant custom-face-attributes)
+           '(:slant italic)
+         '(:italic t)))))
   "Face used for displaying the medium validity."
   :group 'epa-faces)
 
 (defface epa-validity-low
-  '((t
-     (:italic t)))
+  `((t
+     (,@(if (assq ':slant custom-face-attributes)
+           '(:slant italic)
+         '(:italic t)))))
   "Face used for displaying the low validity."
   :group 'epa-faces)
 
 (defface epa-validity-disabled
-  '((t
-     (:italic t :inverse-video t)))
+  `((t
+     (,@(if (assq ':slant custom-face-attributes)
+           '(:slant italic)
+         '(:italic t))
+       :inverse-video t)))
   "Face used for displaying the disabled validity."
   :group 'epa-faces)
 
 (defface epa-string
-  '((((class color)
-      (background dark))
+  '((((class color) (background dark))
      (:foreground "lightyellow"))
-    (((class color)
-      (background light))
-     (:foreground "blue4"))
-    (t
-     ()))
+    (((class color) (background light))
+     (:foreground "blue4")))
   "Face used for displaying the string."
   :group 'epa-faces)
 
 (defface epa-mark
-  '((((class color) (background dark))
-     (:foreground "orange" :bold t))
+  `((((class color) (background dark))
+     (:foreground "orange"
+                 ,@(if (assq ':weight custom-face-attributes)
+                       '(:weight bold)
+                     '(:bold t))))
+    (((class color) (background light))
+     (:foreground "red"
+                 ,@(if (assq ':weight custom-face-attributes)
+                       '(:weight bold)
+                     '(:bold t))))
     (t
-     (:foreground "red" :bold t)))
+     (,@(if (assq ':weight custom-face-attributes)
+           '(:weight bold)
+         '(:bold t)))))
   "Face used for displaying the high validity."
   :group 'epa-faces)
 
 (defface epa-field-name
-  '((((class color) (background dark))
-     (:foreground "PaleTurquoise" :bold t))
-    (t (:bold t)))
+  `((((class color) (background dark))
+     (:foreground "PaleTurquoise"
+                 ,@(if (assq ':weight custom-face-attributes)
+                       '(:weight bold)
+                     '(:bold t))))
+    (t
+     (,@(if (assq ':weight custom-face-attributes)
+           '(:weight bold)
+         '(:bold t)))))
   "Face for the name of the attribute field."
   :group 'epa)
 
 (defface epa-field-body
-  '((((class color) (background dark))
-     (:foreground "turquoise" :italic t))
-    (t (:italic t)))
+  `((((class color) (background dark))
+     (:foreground "turquoise"
+                 ,@(if (assq ':slant custom-face-attributes)
+                       '(:slant italic)
+                     '(:italic t))))
+    (t
+     (,@(if (assq ':slant custom-face-attributes)
+           '(:slant italic)
+         '(:italic t)))))
   "Face for the body of the attribute field."
   :group 'epa)