Subject: (Windows) menu-set-font doesn't work for all font styles

From: Juhani Åhman <[email-masked]>
Date: Sun, 14 Aug 2016 23:28:34 +0300

"Options->Set Default Font..." (or menu-set-font) font selection menu 
doesn't let you select
certain fonts styles, eg. "Source Code Pro ExtraLight" font
(https://github.com/adobe-fonts/source-code-pro). Only "Regular" works.

It complains:

set-face-attribute: Font not available: #<font-spec nil nil Source\ 
Code\ Pro\ ExtraLight nil nil light nil nil 12.0 nil nil nil ((:name . 
"Source Code Pro ExtraLight-12:light") (user-spec . "Source Code Pro 
ExtraLight-12:light"))>

However, in emacs config file, I can set the font explicitly with command

(set-face-attribute 'default nil :font "-outline-Source Code Pro 
ExtraLight-extralight-normal-normal-mono-16-*-*-*-c-*-iso8859-1")

, but not through the menu. This font name came from "describe-char" 
command.

In GNU Emacs 24.5.1 (i686-pc-mingw32)
  of 2015-04-11 on LEG570
Windowing system distributor `Microsoft Corp.', version 6.3.9600
Configured using:
  `configure --prefix=/c/usr --host=i686-pc-mingw32'

Important settings:
   value of $LANG: FIN
   locale-coding-system: cp1252

Major mode: Emacs-Lisp

Minor modes in effect:
   global-subword-mode: t
   subword-mode: t
   global-hl-line-mode: t
   cua-mode: t
   diff-auto-refine-mode: t
   shell-dirtrack-mode: t
   show-paren-mode: t
   delete-selection-mode: t
   tooltip-mode: t
   electric-indent-mode: t
   mouse-wheel-mode: t
   menu-bar-mode: t
   file-name-shadow-mode: t
   global-font-lock-mode: t
   font-lock-mode: t
   blink-cursor-mode: t
   auto-composition-mode: t
   auto-encryption-mode: t
   auto-compression-mode: t
   column-number-mode: t
   line-number-mode: t
   transient-mark-mode: t

Recent messages:
Mark set
Send this bug report to the Emacs maintainers? (y or n) y
Saving file c:/Users/Administrator/.emacs.d/init.el...
Wrote c:/Users/Administrator/.emacs.d/init.el [2 times]
Sending...
Mark set [2 times]
Sending via mail...
Sending...done
C-c x is undefined
Buffer *unsent mail to [email-masked]*<2> modified; kill anyway? 
(y or n) y

Load-path shadows:
c:/emacs/share/emacs/site-lisp/org/ox hides 
c:/emacs/share/emacs/24.5/lisp/org/ox
c:/emacs/share/emacs/site-lisp/org/ox-texinfo hides 
c:/emacs/share/emacs/24.5/lisp/org/ox-texinfo
c:/emacs/share/emacs/site-lisp/org/ox-publish hides 
c:/emacs/share/emacs/24.5/lisp/org/ox-publish
c:/emacs/share/emacs/site-lisp/org/ox-org hides 
c:/emacs/share/emacs/24.5/lisp/org/ox-org
c:/emacs/share/emacs/site-lisp/org/ox-odt hides 
c:/emacs/share/emacs/24.5/lisp/org/ox-odt
c:/emacs/share/emacs/site-lisp/org/ox-md hides 
c:/emacs/share/emacs/24.5/lisp/org/ox-md
c:/emacs/share/emacs/site-lisp/org/ox-man hides 
c:/emacs/share/emacs/24.5/lisp/org/ox-man
c:/emacs/share/emacs/site-lisp/org/ox-latex hides 
c:/emacs/share/emacs/24.5/lisp/org/ox-latex
c:/emacs/share/emacs/site-lisp/org/ox-icalendar hides 
c:/emacs/share/emacs/24.5/lisp/org/ox-icalendar
c:/emacs/share/emacs/site-lisp/org/ox-html hides 
c:/emacs/share/emacs/24.5/lisp/org/ox-html
c:/emacs/share/emacs/site-lisp/org/ox-beamer hides 
c:/emacs/share/emacs/24.5/lisp/org/ox-beamer
c:/emacs/share/emacs/site-lisp/org/ox-ascii hides 
c:/emacs/share/emacs/24.5/lisp/org/ox-ascii
c:/emacs/share/emacs/site-lisp/org/org hides 
c:/emacs/share/emacs/24.5/lisp/org/org
c:/emacs/share/emacs/site-lisp/org/org-w3m hides 
c:/emacs/share/emacs/24.5/lisp/org/org-w3m
c:/emacs/share/emacs/site-lisp/org/org-version hides 
c:/emacs/share/emacs/24.5/lisp/org/org-version
c:/emacs/share/emacs/site-lisp/org/org-timer hides 
c:/emacs/share/emacs/24.5/lisp/org/org-timer
c:/emacs/share/emacs/site-lisp/org/org-table hides 
c:/emacs/share/emacs/24.5/lisp/org/org-table
c:/emacs/share/emacs/site-lisp/org/org-src hides 
c:/emacs/share/emacs/24.5/lisp/org/org-src
c:/emacs/share/emacs/site-lisp/org/org-rmail hides 
c:/emacs/share/emacs/24.5/lisp/org/org-rmail
c:/emacs/share/emacs/site-lisp/org/org-protocol hides 
c:/emacs/share/emacs/24.5/lisp/org/org-protocol
c:/emacs/share/emacs/site-lisp/org/org-plot hides 
c:/emacs/share/emacs/24.5/lisp/org/org-plot
c:/emacs/share/emacs/site-lisp/org/org-pcomplete hides 
c:/emacs/share/emacs/24.5/lisp/org/org-pcomplete
c:/emacs/share/emacs/site-lisp/org/org-mouse hides 
c:/emacs/share/emacs/24.5/lisp/org/org-mouse
c:/emacs/share/emacs/site-lisp/org/org-mobile hides 
c:/emacs/share/emacs/24.5/lisp/org/org-mobile
c:/emacs/share/emacs/site-lisp/org/org-mhe hides 
c:/emacs/share/emacs/24.5/lisp/org/org-mhe
c:/emacs/share/emacs/site-lisp/org/org-macs hides 
c:/emacs/share/emacs/24.5/lisp/org/org-macs
c:/emacs/share/emacs/site-lisp/org/org-macro hides 
c:/emacs/share/emacs/24.5/lisp/org/org-macro
c:/emacs/share/emacs/site-lisp/org/org-loaddefs hides 
c:/emacs/share/emacs/24.5/lisp/org/org-loaddefs
c:/emacs/share/emacs/site-lisp/org/org-list hides 
c:/emacs/share/emacs/24.5/lisp/org/org-list
c:/emacs/share/emacs/site-lisp/org/org-irc hides 
c:/emacs/share/emacs/24.5/lisp/org/org-irc
c:/emacs/share/emacs/site-lisp/org/org-install hides 
c:/emacs/share/emacs/24.5/lisp/org/org-install
c:/emacs/share/emacs/site-lisp/org/org-inlinetask hides 
c:/emacs/share/emacs/24.5/lisp/org/org-inlinetask
c:/emacs/share/emacs/site-lisp/org/org-info hides 
c:/emacs/share/emacs/24.5/lisp/org/org-info
c:/emacs/share/emacs/site-lisp/org/org-indent hides 
c:/emacs/share/emacs/24.5/lisp/org/org-indent
c:/emacs/share/emacs/site-lisp/org/org-id hides 
c:/emacs/share/emacs/24.5/lisp/org/org-id
c:/emacs/share/emacs/site-lisp/org/org-habit hides 
c:/emacs/share/emacs/24.5/lisp/org/org-habit
c:/emacs/share/emacs/site-lisp/org/org-gnus hides 
c:/emacs/share/emacs/24.5/lisp/org/org-gnus
c:/emacs/share/emacs/site-lisp/org/org-footnote hides 
c:/emacs/share/emacs/24.5/lisp/org/org-footnote
c:/emacs/share/emacs/site-lisp/org/org-feed hides 
c:/emacs/share/emacs/24.5/lisp/org/org-feed
c:/emacs/share/emacs/site-lisp/org/org-faces hides 
c:/emacs/share/emacs/24.5/lisp/org/org-faces
c:/emacs/share/emacs/site-lisp/org/org-eshell hides 
c:/emacs/share/emacs/24.5/lisp/org/org-eshell
c:/emacs/share/emacs/site-lisp/org/org-entities hides 
c:/emacs/share/emacs/24.5/lisp/org/org-entities
c:/emacs/share/emacs/site-lisp/org/org-element hides 
c:/emacs/share/emacs/24.5/lisp/org/org-element
c:/emacs/share/emacs/site-lisp/org/org-docview hides 
c:/emacs/share/emacs/24.5/lisp/org/org-docview
c:/emacs/share/emacs/site-lisp/org/org-datetree hides 
c:/emacs/share/emacs/24.5/lisp/org/org-datetree
c:/emacs/share/emacs/site-lisp/org/org-ctags hides 
c:/emacs/share/emacs/24.5/lisp/org/org-ctags
c:/emacs/share/emacs/site-lisp/org/org-crypt hides 
c:/emacs/share/emacs/24.5/lisp/org/org-crypt
c:/emacs/share/emacs/site-lisp/org/org-compat hides 
c:/emacs/share/emacs/24.5/lisp/org/org-compat
c:/emacs/share/emacs/site-lisp/org/org-colview hides 
c:/emacs/share/emacs/24.5/lisp/org/org-colview
c:/emacs/share/emacs/site-lisp/org/org-clock hides 
c:/emacs/share/emacs/24.5/lisp/org/org-clock
c:/emacs/share/emacs/site-lisp/org/org-capture hides 
c:/emacs/share/emacs/24.5/lisp/org/org-capture
c:/emacs/share/emacs/site-lisp/org/org-bibtex hides 
c:/emacs/share/emacs/24.5/lisp/org/org-bibtex
c:/emacs/share/emacs/site-lisp/org/org-bbdb hides 
c:/emacs/share/emacs/24.5/lisp/org/org-bbdb
c:/emacs/share/emacs/site-lisp/org/org-attach hides 
c:/emacs/share/emacs/24.5/lisp/org/org-attach
c:/emacs/share/emacs/site-lisp/org/org-archive hides 
c:/emacs/share/emacs/24.5/lisp/org/org-archive
c:/emacs/share/emacs/site-lisp/org/org-agenda hides 
c:/emacs/share/emacs/24.5/lisp/org/org-agenda
c:/emacs/share/emacs/site-lisp/org/ob hides 
c:/emacs/share/emacs/24.5/lisp/org/ob
c:/emacs/share/emacs/site-lisp/org/ob-tangle hides 
c:/emacs/share/emacs/24.5/lisp/org/ob-tangle
c:/emacs/share/emacs/site-lisp/org/ob-table hides 
c:/emacs/share/emacs/24.5/lisp/org/ob-table
c:/emacs/share/emacs/site-lisp/org/ob-sqlite hides 
c:/emacs/share/emacs/24.5/lisp/org/ob-sqlite
c:/emacs/share/emacs/site-lisp/org/ob-sql hides 
c:/emacs/share/emacs/24.5/lisp/org/ob-sql
c:/emacs/share/emacs/site-lisp/org/ob-shen hides 
c:/emacs/share/emacs/24.5/lisp/org/ob-shen
c:/emacs/share/emacs/site-lisp/org/ob-screen hides 
c:/emacs/share/emacs/24.5/lisp/org/ob-screen
c:/emacs/share/emacs/site-lisp/org/ob-scheme hides 
c:/emacs/share/emacs/24.5/lisp/org/ob-scheme
c:/emacs/share/emacs/site-lisp/org/ob-scala hides 
c:/emacs/share/emacs/24.5/lisp/org/ob-scala
c:/emacs/share/emacs/site-lisp/org/ob-sass hides 
c:/emacs/share/emacs/24.5/lisp/org/ob-sass
c:/emacs/share/emacs/site-lisp/org/ob-ruby hides 
c:/emacs/share/emacs/24.5/lisp/org/ob-ruby
c:/emacs/share/emacs/site-lisp/org/ob-ref hides 
c:/emacs/share/emacs/24.5/lisp/org/ob-ref
c:/emacs/share/emacs/site-lisp/org/ob-R hides 
c:/emacs/share/emacs/24.5/lisp/org/ob-R
c:/emacs/share/emacs/site-lisp/org/ob-python hides 
c:/emacs/share/emacs/24.5/lisp/org/ob-python
c:/emacs/share/emacs/site-lisp/org/ob-plantuml hides 
c:/emacs/share/emacs/24.5/lisp/org/ob-plantuml
c:/emacs/share/emacs/site-lisp/org/ob-picolisp hides 
c:/emacs/share/emacs/24.5/lisp/org/ob-picolisp
c:/emacs/share/emacs/site-lisp/org/ob-perl hides 
c:/emacs/share/emacs/24.5/lisp/org/ob-perl
c:/emacs/share/emacs/site-lisp/org/ob-org hides 
c:/emacs/share/emacs/24.5/lisp/org/ob-org
c:/emacs/share/emacs/site-lisp/org/ob-octave hides 
c:/emacs/share/emacs/24.5/lisp/org/ob-octave
c:/emacs/share/emacs/site-lisp/org/ob-ocaml hides 
c:/emacs/share/emacs/24.5/lisp/org/ob-ocaml
c:/emacs/share/emacs/site-lisp/org/ob-mscgen hides 
c:/emacs/share/emacs/24.5/lisp/org/ob-mscgen
c:/emacs/share/emacs/site-lisp/org/ob-maxima hides 
c:/emacs/share/emacs/24.5/lisp/org/ob-maxima
c:/emacs/share/emacs/site-lisp/org/ob-matlab hides 
c:/emacs/share/emacs/24.5/lisp/org/ob-matlab
c:/emacs/share/emacs/site-lisp/org/ob-makefile hides 
c:/emacs/share/emacs/24.5/lisp/org/ob-makefile
c:/emacs/share/emacs/site-lisp/org/ob-lob hides 
c:/emacs/share/emacs/24.5/lisp/org/ob-lob
c:/emacs/share/emacs/site-lisp/org/ob-lisp hides 
c:/emacs/share/emacs/24.5/lisp/org/ob-lisp
c:/emacs/share/emacs/site-lisp/org/ob-lilypond hides 
c:/emacs/share/emacs/24.5/lisp/org/ob-lilypond
c:/emacs/share/emacs/site-lisp/org/ob-ledger hides 
c:/emacs/share/emacs/24.5/lisp/org/ob-ledger
c:/emacs/share/emacs/site-lisp/org/ob-latex hides 
c:/emacs/share/emacs/24.5/lisp/org/ob-latex
c:/emacs/share/emacs/site-lisp/org/ob-keys hides 
c:/emacs/share/emacs/24.5/lisp/org/ob-keys
c:/emacs/share/emacs/site-lisp/org/ob-js hides 
c:/emacs/share/emacs/24.5/lisp/org/ob-js
c:/emacs/share/emacs/site-lisp/org/ob-java hides 
c:/emacs/share/emacs/24.5/lisp/org/ob-java
c:/emacs/share/emacs/site-lisp/org/ob-io hides 
c:/emacs/share/emacs/24.5/lisp/org/ob-io
c:/emacs/share/emacs/site-lisp/org/ob-haskell hides 
c:/emacs/share/emacs/24.5/lisp/org/ob-haskell
c:/emacs/share/emacs/site-lisp/org/ob-gnuplot hides 
c:/emacs/share/emacs/24.5/lisp/org/ob-gnuplot
c:/emacs/share/emacs/site-lisp/org/ob-fortran hides 
c:/emacs/share/emacs/24.5/lisp/org/ob-fortran
c:/emacs/share/emacs/site-lisp/org/ob-exp hides 
c:/emacs/share/emacs/24.5/lisp/org/ob-exp
c:/emacs/share/emacs/site-lisp/org/ob-eval hides 
c:/emacs/share/emacs/24.5/lisp/org/ob-eval
c:/emacs/share/emacs/site-lisp/org/ob-emacs-lisp hides 
c:/emacs/share/emacs/24.5/lisp/org/ob-emacs-lisp
c:/emacs/share/emacs/site-lisp/org/ob-dot hides 
c:/emacs/share/emacs/24.5/lisp/org/ob-dot
c:/emacs/share/emacs/site-lisp/org/ob-ditaa hides 
c:/emacs/share/emacs/24.5/lisp/org/ob-ditaa
c:/emacs/share/emacs/site-lisp/org/ob-css hides 
c:/emacs/share/emacs/24.5/lisp/org/ob-css
c:/emacs/share/emacs/site-lisp/org/ob-core hides 
c:/emacs/share/emacs/24.5/lisp/org/ob-core
c:/emacs/share/emacs/site-lisp/org/ob-comint hides 
c:/emacs/share/emacs/24.5/lisp/org/ob-comint
c:/emacs/share/emacs/site-lisp/org/ob-clojure hides 
c:/emacs/share/emacs/24.5/lisp/org/ob-clojure
c:/emacs/share/emacs/site-lisp/org/ob-calc hides 
c:/emacs/share/emacs/24.5/lisp/org/ob-calc
c:/emacs/share/emacs/site-lisp/org/ob-C hides 
c:/emacs/share/emacs/24.5/lisp/org/ob-C
c:/emacs/share/emacs/site-lisp/org/ob-awk hides 
c:/emacs/share/emacs/24.5/lisp/org/ob-awk
c:/emacs/share/emacs/site-lisp/org/ob-asymptote hides 
c:/emacs/share/emacs/24.5/lisp/org/ob-asymptote

Features:
(mailalias mailclient cus-edit pp shadow sort mail-extr misearch
multi-isearch goto-addr noutline outline view finder finder-inf lisp-mnt
emacsbug sendmail eieio-opt speedbar sb-image ezimage dframe help-mode
face-remap version-modified cc-styles cc-align cc-engine info package
epg-config superword subword bs hl-line edmacro kmacro server
deeper-blue-theme cua-base cus-start cus-load htmlize-view w32-winprint
htmlize psvn log-edit message rfc822 mml mml-sec mm-decode mm-bodies
mm-encode mail-parse rfc2231 rfc2047 rfc2045 ietf-drums mailabbrev
mail-utils gmm-utils mailheader pcvs-util add-log diff-mode poly-R
poly-markdown poly-noweb easy-mmode polymode poly-base polymode-weave
polymode-export polymode-debug polymode-methods poly-lock
polymode-compat polymode-classes polymode-core eieio-custom wid-edit
eieio-base color preview-latex tex-site auto-loads ido ess-toolbar
ess-mouse ess-dde mouseme thingatpt browse-url ess-menu ess-swv
ess-noweb ess-noweb-font-lock-mode ess-bugs-l essd-els ess-sas-d
ess-sas-l ess-sas-a ess-sta-d ess-sta-l cc-vars cc-defs make-regexp
ess-sp6w-d ess-sp3-d ess-julia julia-mode ert find-func ewoc debug
ess-r-d ess-r-syntax ess-r-completion ess-roxy essddr hideshow ess-help
ess-r-package eldoc ess-s-l ess ess-inf ess-tracebug compile tramp
tramp-compat auth-source eieio byte-opt bytecomp byte-compile cl-extra
cconv eieio-core gnus-util mm-util mail-prsvr password-cache
tramp-loaddefs cl-macs trampver shell pcomplete comint ansi-color ring
format-spec advice help-fns ess-mode ess-noweb-mode ess-utils
ess-generics cl gv cl-loaddefs cl-lib ess-custom executable easymenu
ess-compat ess-site paren delsel time-date tooltip electric uniquify
ediff-hook vc-hooks lisp-float-type mwheel dos-w32 ls-lisp
w32-common-fns disp-table w32-win w32-vars tool-bar dnd fontset image
regexp-opt fringe tabulated-list newcomment lisp-mode prog-mode register
page menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock
font-lock syntax facemenu font-core frame cham georgian utf-8-lang
misc-lang vietnamese tibetan thai tai-viet lao korean japanese hebrew
greek romanian slovak czech european ethiopic indian cyrillic chinese
case-table epa-hook jka-cmpr-hook help simple abbrev minibuffer nadvice
loaddefs button faces cus-face macroexp files text-properties overlay
sha1 md5 base64 format env code-pages mule custom widget
hashtable-print-readable backquote make-network-process w32notify w32
multi-tty emacs)

Memory information:
((conses 8 294701 41708)
  (symbols 32 37411 0)
  (miscs 32 246 652)
  (strings 16 79506 8316)
  (string-bytes 1 2168438)
  (vectors 8 31098)
  (vector-slots 4 635725 14978)
  (floats 8 313 696)
  (intervals 28 2401 36)
  (buffers 508 24))