Configuración de fuente japonesa / CJK para una alineación horizontal adecuada

8

He tenido esto en un momento en el pasado en una máquina con un cierto tipo de fuente en un tamaño de fuente en particular, pero parece que no puedo hacerlo bien nuevamente.

Mire, por ejemplo, cómo se ven mis tablas de modo de organización una vez que agrego caracteres japoneses. Aquí hay dos ejemplos que usan fuentes que supuestamente se alinean correctamente (leí en alguna parte).

DejaVu Sans Mono Libro 10

Insolata Medium 10

¡Ayuda!

Esta es la version

GNU Emacs 24.4.1 (x86_64-pc-linux-gnu, GTK + Versión 3.14.5) de 2014-12-10 en gaia, modificado por Debian

Editar Una versión copiable y pegable de un montón de problemas de alineación para cualquiera que quiera probarse a sí mismo:

| a 漢字       |   |
| b はどう     |   |
| f デショウ a |   |
| ハーフ          |   |
| whole   |   |
| half         |   |
| ○            |   |
Eugene Beresovsky
fuente

Respuestas:

2

Hay una solución que puede ser la mejor actualmente (uso esta solución):

http://coldnew.github.io/blog/2013/11/16_d2f3a.html

Aunque el artículo está en chino, aún puede leer el código Emacs Lisp fácilmente para comprender qué mecanismo ha hecho.

Mi ejemplo de configuración puede ser útil.

kuanyui
fuente
Gracias kuanyui. Todavía no lo he probado, porque mientras tanto descubrí una solución simple (parcial). ¿ emacs-font-size-pair-listQuizás está abordando el problema del tamaño de fuente que describo en mi respuesta?
Eugene Beresovsky
No puedo estar seguro Pero la lista de pares de tamaños se basa en pruebas y errores para las fuentes que está utilizando (es posible que necesite algunos ajustes por su cuenta). Por lo tanto, cada escala de zoom sería adecuada si se configura correctamente.
kuanyui
1

La solución resultó ser sorprendentemente fácil. Después de agregar

(set-default-font "Inconsolata-12")

hasta el final de mi ~/.emacs, algo así (ver más abajo para más detalles) funcionó.

Emacs Inconsolata 12


La historia completa:

Después de copiar y pegar la tabla en LibreOffice, noté que Inconsolata funcionaba, mientras que DejaVu Sans Mono no, lo que depende, supongo, de mi configuración de sustitución de fuentes xorg. (Mi configuración de sustitución de fuente LibreOffice está vacía.) A saber:

Representación de LibreOffice del formato de tabla de organización

Eso me llevó a jugar un poco más con Inconsolata en emacs y a la set-default-fontsolución mencionada anteriormente.

Sin embargo, no todos los tamaños de fuente funcionan, y si aumento / disminuyo el tamaño de fuente, la alineación se vuelve a estropear. Aquí están los resultados para los tamaños que probé:

━━━━━━━━━━━
 size  ok? 
───────────
    6  ok  
    8      
   10      
   12  ok  
   14      
   16      
   18  ok  
   20      
   22  ok  
   24      
   26      
━━━━━━━━━━━

También hay un problema menor que supongo que debe atribuirse a org-table, es decir, cuando uso la TABtecla para navegar por las celdas, el formato a veces cambia para peor. El siguiente es el resultado de presionar TABen la celda más a la izquierda:

TAB en org-table

Afortunadamente, un rápido C-c C-creparará toda la mesa nuevamente.

Editar Resulta que todavía hay algunos caracteres que no se alinean correctamente. Ni en LibreOffice, ni en emacs. Ejemplo:

character: ○ (displayed as ○) (codepoint 9675, #o22713, #x25cb)

Captura de pantalla correspondiente:

algunos caracteres aún no se alinean

Eugene Beresovsky
fuente