Japaneseando mi laptop (Fedora Silverblue, Flatpak, Emacs)

Published 2026-09-27

tag(s): #español #linux #emacs

Se me ocurrió que esto es algo que es mejor escribir en español, simplemente porque ya hay documentación de cómo hacerlo en inglés. ¡Es la que seguí hasta ahora!
Para ser sinceros, no sé por qué asumo que hay menos información en español. En realidad no tengo ni idea, porque siempre que busco algo, lo hago en inglés.

Capaz hay una comunidad gigante de estudiantes de japonés en alguna región de España, o Colombia, y todos usan Linux, con apps en Flatpak. Y además editan documentos en Emacs.
🦄

Fedora (Silverblue): Priorizar japonés en Noto Sans CJK

La fuente original de la información está en este repositorio de GitHub.

Y hablando de fuentes (je), la fuente de Fedora para caracteres CJK (Chinos, Japoneses, Coreanos-pero-con-K-pues-inglés) es Noto Sans CJK, de Google. Sin dar una indicación explícita, tiende a mostrar caracteres chinos en lugar de japoneses. Entiendo que esto afecta puntualmente a los kanji.
Como no sé ningún kanji[1], al principio no me di cuenta de esto, pero viendo los ejemplos en el repositorio y comparando con mis resultados, pude confirmar que tenía el mismo problema.

La solución

Primero, instalar las fuentes como está descripto en el link, con dos cambios: reemplazando dnf por rpm-ostree, y también instalé el package oficial para japonés. No estoy 100% seguro que lo segundo fue necesario, pero tampoco tengo ganas de desintalar el package y ver si el sistema se rompe, sólo para que esta guía sea más precisa. =P
Si no lo instalan y algo no anda, ya saben...


sudo rpm-ostree install langpacks-fonts-ja
sudo rpm-ostree install google-noto-sans-mono-cjk-fonts
    

En mi caso, seguí el proceso de instalación manual, sólo que lo hice todo "a pedal" en Emacs. Básicamente, hay que crear el directorio ~/.config/fontconfig/conf.d y poner un archivo 50-user-jp-fonts.conf con el contenido listado abajo. Yo uso Berkeley Mono como fuente monoespacio, así que hice ese pequeño ajuste en la última sección:


<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>
<description>A simple and robust font configuration for Japanese.</description>

<!-- Default sans-serif font -->
 <match target="pattern">
   <test qual="any" name="family"><string>sans-serif</string></test>
   <edit name="family" mode="prepend" binding="strong"><string>Noto Sans CJK JP</string></edit>
 </match>

<!-- Default serif fonts -->
 <match target="pattern">
   <test qual="any" name="family"><string>serif</string></test>
   <edit name="family" mode="prepend" binding="strong"><string>Noto Serif CJK JP</string></edit>
 </match>

<!-- Default monospace fonts -->
 <match target="pattern">
   <test qual="any" name="family"><string>monospace</string></test>
   <edit name="family" mode="prepend" binding="strong">
     <!-- Prioritize a dedicated Latin mono font for code, with CJK as a fallback -->
     <family>Berkeley Mono</family>
     <family>Noto Sans Mono CJK JP</family>
   </edit>
 </match>
</fontconfig>
    

Finalmente, fc-cache -fv ~/.config/fontconfig para que el reconstruir el font cache.

Aplicaciones instaladas via Flatpak

La fuente original de la información está en este otro repositorio de GitHub.

La verdad es que todo esto empezó por Cider, que desde hace un tiempo estoy instalando desde Flathub.
Hoy estaba escuchando una canción en Cider, y puse la parte de las letras (que no, aún no entiendo, pero está lindo ver los mo y ka y reconocerlos =D) y muchos caracteres aparecían con cuadraditos. Al toque me di cuenta que no eran los hiragana...y ahí abrí el browser[2] y me puse a buscar...

La solución

El repositorio, igual que el anterior, tiene una solución medio automática, pero a mí me interesaba aplicarla sólo a Firefox y Cider, y quería ver un poquito más en detalle que hacía.[3]
Básicamente, hay que crear un archivo 99-flatpak-cjk-host-fonts.conf en el directorio ~/.var/app/{Nombre-Aplicación}/config/fontconfig/conf.d/. Los {Nombre-Aplicación} en mi caso fueron org.mozilla.firefox y sh.cider.Cider, debería ser fácil identificar cuál es el directorio correcto en otros casos.
El archivo indica a la app en cuestión que use configuración de fuentes del host system, en lugar de lo que sea que usa o tiene el container donde está ejecutándose.
Sinceramente, esperaba que esto se arregle instalando algo de los cosos eso Freedesktop que normalmente se usan para códecs de video...


<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
<fontconfig>
  <dir>/run/host/fonts</dir>
  <dir>/run/host/local-fonts</dir>
  <dir>/run/host/user-fonts</dir>
</fontconfig>
    

Y eso es todo! Aunque para este punto ya tenía instaladas todas las fuentes Noto CJK que me había cruzado. Si me faltó algo, lo agregaré después acá...

Emacs: fontsets

Esta información la saqué de este blog, actualizado por última vez en 2011. Sin embargo, como suele suceder en el mundillo de Emacs, el código funciona perfectamente al día de hoy.

Esto es algo que ya sabía, pero Emacs tiene un soporte ESPECTACULAR para ingresar texto en todo tipo de idiomas, y configuraciones de fuentes mixta (mostrar diferentes alfabetos en el mismo buffer).
Es aún más impresionante que muchas de estas capacidades las está madurando desde los 90s...
Sin embargo, al día de hoy la mitad de la web se rompe cuando yo pongo "Sebastián" como mi nombre.

El link también habla de los input methods, que es similar a como en Linux/Windows podés cambiar entre configuraciones de teclado. En este caso esa configuración se puede cambiar en cada buffer de forma independiente.
Yendo puntualmente a la parte de las fuentes, el código final para mí terminó siendo:


(set-fontset-font (frame-parameter nil 'font)
  'japanese-jisx0208
  '("Noto Sans Mono CJK JP" . "unicode-bmp"))
    

Al ser esto lo último que configuré, ya sabía que quería usar puntualmente Noto Sans Mono CJK JP y no otra variante, ni dejar la parte JP sin especificar.
Pero no andaba!!! Y pensé un poquito por qué. Asumí que había escrito mal el nombre de la fuente, ya que a veces el nombre que usa Emacs es diferente del que uno esperaría. Abrí el diálogo de opciones y la fuente "Noto Sans CJK" no aparecía en ninguna variante.
Y unos segundos después se me prendió la lamparita. Yo compilo mi propio Emacs en un container de Toolbx. De hecho hace poquito creé una imagen nueva basada en Fedora 44, y compilé Emacs 31.
El paso que me faltaba era dentro del container instalar las fuentes correspondientes:


;; M-x shell (total, ya estoy dentro del container)
sudo dnf install google-noto-sans-cjk-fonts
;; luego M-x kill-emacs, y arrancar todo de cero
    

Y ahora puedo ver perfectamente caracteres japoneses en mis buffers

Conclusión

Aprendí varias cosas, y toda la jodita me llevo menos tiempo de lo que esperaba.
De hecho, ¡escribir este post me llevo bastante más tiempo que hacer lo cambios!

Footnotes
  1. Al menos por ahora...je.
  2. Qué artesanal. Le debería haber preguntado a Claude cómo arreglarlo. =P
  3. Qué artesanal. Le debería haber preguntado a Claude cómo funcionaba. =P

Share your thoughts (via email)

Back to top

Back to homepage