   "Personal favor font list for language zh in descendent order.")
 
 
-(defconst dw-default-font-name (first dw-favor-en-font-list)
+(defun dw-font-exsits-p (font-name-pattern)
+  "Return t if any available font matches `font-name-patterm', else nil."
+  (x-list-fonts font-name-pattern))
+
+(defun dw-first-available-font (font-list)
+  "Return first available font in `font-list'."
+  (find-if #'dw-font-exsits-p font-list))
+
+
+(defconst dw-default-font-name (dw-first-available-font dw-favor-en-font-list)
   "Default frame font name.")
 
 (defconst dw-default-font
   (format "%s-%s" dw-default-font-name dw-favor-font-size)
   "Default frame font desc.")
 
-
-(defun dw-font-exsits-p (font-name-pattern)
-  "Return t if any available font matches `font-name-patterm', else nil."
-  (x-list-fonts font-name-pattern))
 
 (defun dw-set-font (en-font-list
                     en-font-size

its value comes from `en-font-size'."

  (or zh-font-size (setq zh-font-size en-font-size))
  (let* ((en-font-name (find-if #'dw-font-exsits-p en-font-list))
         (zh-font-name (find-if #'dw-font-exsits-p zh-font-list)))
    (unless (and en-font-name zh-font-name)
      (error "no available font in font list en: %s and zh: %s"
             en-font-list zh-font-list))

;; Copyright (C) 2013 Dylan.Wen

;; Author: Dylan.Wen <hhkbp2@gmail.com>
;; Time-stamp: <2013-12-15 12:19>

;; This file is free software: you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
