+(defcustom org-priority-faces nil
+ "Faces for specific Priorities.
+This is a list of cons cells, with priority character in the car
+and faces in the cdr. The face can be a symbol, or a property
+list of attributes, like (:foreground \"blue\" :weight bold :underline t)."
+ :group 'org-faces
+ :group 'org-todo
+ :type '(repeat
+ (cons
+ (character :tag "Priority")
+ (sexp :tag "face"))))
+
+(defvar org-tags-special-faces-re nil)
+(defun org-set-tag-faces (var value)
+ (set var value)
+ (if (not value)
+ (setq org-tags-special-faces-re nil)
+ (setq org-tags-special-faces-re
+ (concat ":\\(" (mapconcat 'car value "\\|") "\\):"))))
+
+(defface org-checkbox
+ (org-compatible-face 'bold
+ '((t (:bold t))))
+ "Face for checkboxes"
+ :group 'org-faces)
+
+
+(org-copy-face 'org-todo 'org-checkbox-statistics-todo
+ "Face used for unfinished checkbox statistics.")
+
+(org-copy-face 'org-done 'org-checkbox-statistics-done
+ "Face used for finished checkbox statistics.")
+
+(defcustom org-tag-faces nil
+ "Faces for specific tags.
+This is a list of cons cells, with tags in the car and faces in the cdr.
+The face can be a symbol, or a property list of attributes,
+like (:foreground \"blue\" :weight bold :underline t).
+If you set this variable through customize, it will immediately be effective
+in new buffers and in modified lines.
+If you set it with Lisp, a restart of Emacs is required to activate the
+changes."
+ :group 'org-faces
+ :group 'org-tags
+ :set 'org-set-tag-faces
+ :type '(repeat
+ (cons
+ (string :tag "Tag")
+ (sexp :tag "Face"))))
+