Publicado 2026-10-02
tag(s): #español #emacs
El domingo hice un post
relatando los
pasos que seguí para tener fuente del sistema y de aplicaciones Flatpak en japonés. Así
puedo ver sitios en japonés sin que sean un mar de cuadraditos.[1] Ah, y
ver letras de canciones en Cider. =P
También compartí un pequeño snippet de Elisp para complementar mi fuente normal con
otra para caracteres que corresponden a un cierto alfabeto particular.
Cuando llegó la hora de poner todo en mi repositorio de configuración, encontré que ya había
usado fontsets antes. Sólo que no lo tenía muy presente.
De fábrica, Emacs usa la fuente "Noto Color Emoji", pero yo prefiero los emoji en
blanco y negro....excepto en la laptop del trabajo. Ahi prefiero no instalar una fuente
adicional, entonces uso la mismo que el resto de las apps de Windows:
;; En mi configuración del trabajo (sólo para Windows)
(set-fontset-font t 'emoji (font-spec :family "Segoe UI Emoji"))
;; En mi laptop
(set-fontset-font t 'emoji (font-spec :family "Noto Emoji"))
;; Código del post anterior - para referencia
(set-fontset-font (frame-parameter nil 'font)
'japanese-jisx0208
'("Noto Sans Mono CJK JP" . "unicode-bmp"))
En el código del otro post, el primer parámetro era (frame-parameter nil 'font),
que devuelve la configuración de fuente del frame actual.
Pero en realidad, lo que queremos en el 99% de los casos es usar la fuente CJK
en TODOS los casos que aplique, sin importar el frame. Y eso es lo que hace
pasar t como primer parámetro.
Finalmente, en lugar de usar un cons cell para representar el fontspec,
queda más prolijo (subjetivo, lo sé) generarlo a través de su constructor.
Y así el código final queda:
(set-fontset-font t 'japanese-jisx0208 (font-spec :family "Noto Sans Mono CJK JP"))
Al usar C-\ (toggle-input-method), si no hay un valor pre-establecido
de input method secundario, Emacs preguntará cuál utilizar. Creo que tiene sentido
que ya lo tenga elegido desde la inicialización.
Bueno, es cierto que normalmente abro el editor una vez por reboot de la computadora que estoy
usando, pero me parece lógico que no me lo pregunte nunca 🤷 así que:
;; En el repositorio, esto está en un último setopt que
;; configura todo lo que no está atado a un package en particular
(setopt default-input-method "japanese")
Estoy seguro que voy a encontrar algunas cosas más que ajustar, con el tiempo. Por ahora esto me sobra, dado que no tengo vocabulario para hacer mas que un saludo. 🤣