A fonte padrão do Emacs não funciona com novos quadros

2

Eu tenho este código no meu arquivo .emacs (set-default-font "Monaco 16") . Quando eu inicio o emacs quando ele não está aberto (clicando no atalho por exemplo) ele começa com o Monaco 16, mas quando eu crio um novo frame com C-x 5 2 , ele começa com a fonte padrão antiga, que é muito pequena para ler para mim . Existe uma maneira de contornar isso?

EDITAR

Ao carregar o emacs, um erro aparece e o problema parece estar com (set-default-font "Monaco 16" nil t) no meu .emacs . O que está errado? Eu copio a cópia de depuração do emacs:

Debugger entered--Lisp error: (wrong-number-of-arguments #[(font-name &optional$
3^X^@546\"7 _^Q540\"1 _^P23 4^KBC\"0
39^@23 65        7 \"B05^H1 \"BD\"0*670\$
  set-default-font("Monaco 16" nil t)
  eval-buffer(#<buffer  *load*> nil "/Users/a/.emacs" nil t)  ; Reading at buff$
  load-with-code-conversion("/Users/a/.emacs" "/Users/a/.emacs" t t)
  load("~/.emacs" t t)
  #[nil "^H56^@   6=3^Q^@7^H0Q2A^@ 1=33^@27$
  command-line()
  normal-top-level()
    
por Zeynel 23.12.2013 / 12:45

5 respostas

3

set-default-font está obsoleto. Mas, de qualquer forma, parece que está fazendo por você o que a string doc diz. Do jeito que você está chamando, ele deve mudar a fonte somente para o quadro atual .

Se você quiser alterar a fonte padrão para todos os quadros, passe t como o terceiro argumento. Por exemplo: (set-default-font "Monaco 16" nil t) .

Faça C-h f set-default-font e você verá algo assim:

,----
| set-default-font is an alias for 'set-frame-font' in 'frame.el'.
| 
| (set-default-font FONT &optional KEEP-SIZE FRAMES)
| 
| This function is obsolete since 23.1;
| use 'set-frame-font' instead.
| 
| Set the default font to FONT.
| When called interactively, prompt for the name of a font, and use
| that font on the selected frame.  When called from Lisp, FONT
| should be a font name (a string), a font object, font entity, or
| font spec.
| 
| If KEEP-SIZE is nil, keep the number of frame lines and columns
| fixed.  If KEEP-SIZE is non-nil (or with a prefix argument), try
| to keep the current frame size fixed (in pixels) by adjusting the
| number of lines and columns.
| 
| If FRAMES is nil, apply the font to the selected frame only.
| If FRAMES is non-nil, it should be a list of frames to act upon,
| or t meaning all graphical frames.  Also, if FRAME is non-nil,
| alter the user's Customization settings as though the
| font-related attributes of the 'default' face had been "set in
| this session", so that the font is applied to future frames.
'----
    
por 24.12.2013 / 01:56
1

Se isto não funcionar para uma versão GUI do Emacs, então outra configuração provavelmente está em conflito com ele:

(set-face-attribute 'default nil :background "black" :foreground "white"
  :font "Courier" :height 180)
    
por 23.12.2013 / 18:26
0

No Emacs 24.3 no Mac OS X 10.9, (set-frame-font "Monaco 10" nil t) falha para mim com um erro "número errado de argumentos", mas (fonte de quadro fixo "Monaco 10") é bem-sucedida. No entanto, só é eficaz no quadro selecionado / inicial.

Felizmente, (set-face-attribute 'default nil :font "Monaco 10") funciona para mim e é eficaz em todos os frames.

    
por 05.08.2014 / 21:54
0

Veja a resposta aceita de: Configurações de fonte do Emacs não funcionam no novo frame

ou seja:

(add-to-list 'default-frame-alist
             '(font . "Source Code Pro-15:style=Light"))

mantém a fonte especificada em novos frames, confirmada no Emacs 24.4

    
por 21.11.2014 / 06:10
0

Uma solução alternativa é personalizar default-frame-alist . C-h v default-frame-alist click 'customize' If there is no 'font' paramater, click 'INS' and add 'font' as the Parameter. As the value, add "Monaco 16" (the double quotes are essential)

Em seguida, "Aplique-o" a esta sessão (e teste-o abrindo um novo quadro C-x 5 2 ) e "Aplique e salve" no seu arquivo de inicialização.

    
por 26.01.2018 / 18:36

Tags