J'essaie de définir [Inconsolata-dz] [1] comme police par défaut sur Emacs. Inconsolata ordinaire fonctionne bien, mais la version dz ne fonctionne pas correctement. La plupart des fonctions que j'utilise continuent de générer cette erreur (ont suivi toutes les instructions en ligne sur la façon de définir la police Emacs):
set-face-attribute: Invalid font name: "-*-Inconsolata-dz-normal-normal-normal-*-13-*-*-*-m-0-iso10646-1"
Je l'ai finalement fait fonctionner en faisant ceci dans mon init.el
:
(setq initial-frame-alist '((font . "Inconsolata-dz-13")))
(setq default-frame-alist '((font . "Inconsolata-dz-13")))
J'ai également ceci dans init.el
, qui a été généré par customize-faces
, mais il semble changer la police en Helvetica (sauf si le code ci-dessus le remplace):
(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")))))
Maintenant, le problème avec le premier code ci-dessus est que faire une Ctrl+N
, pour créer une nouvelle fenêtre générera la même erreur de nom de police invalide.
J'ai installé Inconsolata et Inconsolata-dz de la même manière sur mon Mac. Juste la façon habituelle et par défaut d'installer des polices sur OS X.
Est-ce que quelqu'un sait ce que je fais mal et comment utiliser correctement Inconsolata-dz?
*Scratch*
tampon:(insert (prin1-to-string (x-list-fonts "*")))
S'il n'y en a pas, alors il n'est pas disponible.((set-face-attribute 'default nil :family "-*-Inconsolata-g-normal-normal-normal-*-*-*-*-*-m-0-iso10646-1"))
j'obtiens «Fonderie de visage non valide». Des idées pourquoi? Quel est exactement le nom supposé être? Inconsolata fonctionne mais Inconsolata-g et Inconsolata-dz ne fonctionnent pas, même s'ils sont tous disponibles et installés de la même manière. Je soupçonne que c'est le tiret dans le nom?Réponses:
Emacs n'autorise pas les polices contenant des tirets. Je renommerais la police en quelque chose qui ne contient pas de tirets.
Vous pouvez le faire en utilisant ttx . Par exemple, en supposant que vous avez une police nommée
Inconsolata-dz for Powerline.otf
dans votre répertoire de travail actuel:Vous pouvez ensuite renommer le
otf
fichier produit comme vous le souhaitez et le déplacer vers votre répertoire de polices.la source
font_parse_name
fonction, vous constaterez qu'elle analyse la chaîne XFT en la divisant au niveau des tirets, en supposant que le nom de police entier est contenu entre deux tirets.ttx
ni convertir les fichiers de police. J'ai visité les fichiers de policeInconsolata-g.otf
,Inconsolata-g.sfd
etInconsolata-g.ttf
avecEmacs
et remplacé toutes les occurrences de « Inconsolata-g » et « Inconsolata-d » avec « Inconsolata_g » et « Inconsolata_d ». Ce texte apparaît également mélangé avec "^ @" comme dans "I ^ @ n ^ @ c ^ @ o ^ @ n ^ @ s ^ @ o ^ @ l ^ @ a ^ @ t ^ @ a ^ @ - ^ @ g ^ @ Inconsolata-g "que j'ai remplacé par" I ^ @ n ^ @ c ^ @ o ^ @ n ^ @ s ^ @ o ^ @ l ^ @ a ^ @ t ^ @ a ^ @ _ ^ @ g ^ @Inconsolata_g ". J'ai ensuite renommé les noms de fichiers enInconsolata_g.*
les glissant-déposant dansFont Book.app
, ce qui a fonctionné.