Estoy tratando de establecer [Inconsolata-dz] [1] como mi fuente predeterminada para Emacs. Inconsolata normal funciona bien, pero la versión dz no funciona correctamente. La mayoría de las funciones que uso siguen arrojando este error (seguí todas las instrucciones en línea sobre cómo configurar la fuente Emacs):
set-face-attribute: Invalid font name: "-*-Inconsolata-dz-normal-normal-normal-*-13-*-*-*-m-0-iso10646-1"
Finalmente llegué a trabajar haciendo esto en mi init.el
:
(setq initial-frame-alist '((font . "Inconsolata-dz-13")))
(setq default-frame-alist '((font . "Inconsolata-dz-13")))
También tengo esto init.el
, que fue generado por customize-faces
, pero parece cambiar la fuente a Helvetica (a menos que el código anterior lo anule):
(custom-set-variables
;; custom-set-variables was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
'(custom-safe-themes
(quote
("e16a771a13a202ee6e276d06098bc77f008b73bbac4d526f160faa2d76c1dd0e"
"d677ef584c6dfc0697901a44b885cc18e206f05114c8a3b7fde674fce6180879"
"8aebf25556399b58091e533e455dd50a6a9cba958cc4ebb0aab175863c25b9a4"
default))))
(custom-set-faces
;; custom-set-faces was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
'(default ((t (:inherit nil :stipple nil :inverse-video nil
:box nil :strike-through nil :overline nil
:underline nil :slant normal
:weight normal :height 140 :width normal
:foundry "nil" :family "Inconsolata-dz")))))
Ahora, el problema con el primer código anterior es que hacer un Ctrl+N
, para crear una nueva ventana arrojará el mismo error de nombre de fuente no válido.
Instalé Inconsolata e Inconsolata-dz de la misma manera en mi Mac. Solo la forma habitual y predeterminada de instalar fuentes en OS X.
¿Alguien sabe qué estoy haciendo mal y cómo puedo usar Inconsolata-dz correctamente?
*Scratch*
búfer:(insert (prin1-to-string (x-list-fonts "*")))
si no está allí, entonces no está disponible.((set-face-attribute 'default nil :family "-*-Inconsolata-g-normal-normal-normal-*-*-*-*-*-m-0-iso10646-1"))
obtengo 'Invalid face foundry'. Alguna idea de por qué? ¿Cuál es exactamente el nombre que se supone que es? Inconsolata funciona, pero Inconsolata-g e Inconsolata-dz no funcionan, a pesar de que todos están disponibles e instalados de la misma manera. Sospecho que es el guión en el nombre?Respuestas:
Emacs no permite fuentes que tengan guiones. Cambiaría el nombre de la fuente a algo que no contenga guiones.
Puedes hacer esto usando ttx . Por ejemplo, suponiendo que tenga una fuente nombrada
Inconsolata-dz for Powerline.otf
en su directorio de trabajo actual:Luego puede cambiar el nombre del
otf
archivo producido a lo que desee y moverlo al directorio de fuentes.fuente
font_parse_name
función, encontrará que analiza la cadena XFT dividiéndola en los guiones, suponiendo que el nombre completo de la fuente esté contenido entre dos guiones.ttx
ni convertir los archivos de fuente. Visité los archivos de fuentesInconsolata-g.otf
,Inconsolata-g.sfd
yInconsolata-g.ttf
conEmacs
y sustituye todas las apariciones de "inconsolata-g" y "inconsolata-d" con "Inconsolata_g" y "Inconsolata_d". Este texto también aparece entremezclado con "^ @" como en "I ^ @ n ^ @ c ^ @ o ^ @ n ^ @ s ^ @ o ^ @ l ^ @ a ^ @ t ^ @ a ^ @ - ^ @ g ^ @ Inconsolata-g ", que he reemplazado como" I ^ @ n ^ @ c ^ @ o ^ @ n ^ @ s ^ @ o ^ @ l ^ @ a ^ @ t ^ @ a ^ @ _ ^ @ g ^ @Inconsolata_g ". LuegoInconsolata_g.*
cambié el nombre de los nombres de los archivos como y los arrastréFont Book.app
, lo que funcionó.