¿Es posible ajustar el espaciado entre líneas verticales de la consola (y otras aplicaciones CLI)?

¿Es posible ajustar el espaciado entre líneas verticales de la consola (y otras aplicaciones CLI)?

¿Es posible reducir el espacio entre líneas verticales en Konsole?

En Configuración/Avanzado, hay una opción de Interlineado, pero solo baja a 0 e incluso en 0 hay un espacio considerable entre líneas (es decir, demasiado de lo que comúnmente se conoce en tipografía comoprincipal, el espacio vertical en blanco entre líneas de texto). Estoy usando la fuente Inconsolata, muy conservadora verticalmente, que tiene un espacio vertical mínimo en comparación con Monospace, por ejemplo, pero incluso con esta fuente todavía hay demasiado espacio entre líneas en el tamaño de puntos que uso (13).

¿Hay alguna forma de reducir aún más el espacio entre líneas verticales, sin tener que modificar la fuente para compensar? Muchos editores permiten esto, pero no encuentro ninguna manera de hacerlo en Konsole (bajo cero), o quizás en todo KDE en general como algún tipo de configuración del sistema.

Respuesta1

Para cualquiera que esté interesado, he descubierto una manera de hacer esto, pero implica la edición de fuentes. Esto debería ahorrarle horas, si no días, de buscar en Google y frustración, porque sé que pasé una cantidad excesiva de tiempo tratando de resolver todo esto. Por favor, no se desanime por la pared de texto que son los pasos. Todo el proceso toma literalmentemenos de cinco minutos. Me he esforzado mucho para explicarlo completamente, por lo que puede tomar cinco minutos :) y hayla menor ambigüedad posiblecon respecto a qué hacer y en qué secuencia.

Así es como puede ajustar el espacio entre líneas verticales al contenido de su corazón, en todas las aplicaciones GUI de Linux:

  1. Descargue e instale FontForge (el paquete debe llamarse fontforgecon yum, apt-get, dnfo cualquiera que sea el administrador de paquetes que utilice). También está disponible en github si te gusta hacer las cosas manualmente:detalles de instalación de github
  2. Abra la fuente que desea cambiar (Inconsolata en mi caso). Nota: Antes de cambiar una fuente o incluso crear una nueva, lo cual recomiendo encarecidamente, copie las antiguas de a /usr/share/fonts/...y ~/.local/share/fontsrealice todos los cambios (o adiciones de nuevas fuentes) en su fontsdirectorio local, que como beneficio adicional tendrá que escribir privilegios para, sin necesidad de acceso root (para /usr/share/fonts).
  3. Bien, volvamos a FontForge, que puedes ejecutar como: fontforgedespués de la instalación. Comience abriendo la fuente del .local/share/fontsdirectorio en el que copió la fuente original. Simplemente escriba .local/share/fontssuponiendo que inició fontforge desde su directorio de inicio y lo llevará a ese directorio. Tenga en cuenta que a Fontforge no le gusta el ~carácter en lugar de su directorio de inicio, así que use rutas relativas o absolutas, pero no las use ~al abrir el archivo de fuente. Si tiene un subdirectorio para su fuente allí, simplemente haga clic en él para abrirlo y finalmente seleccione y abra la fuente. Antes de cambiar cualquier otra cosa, debemos cambiar el nombre de la fuente. En el menú, seleccione Información de elemento/fuente... para abrir el Font Informationcuadro de diálogo. Vaya a la categoría General en el lado izquierdo y cambiemos el nombre de la fuente poniendo un sufijo después (por ejemplo, cambié Inconsolata a InconsolataDense80, para indicar que reduciré el espacio entre líneas verticales (es decir, interlineado) a 80. por ciento de su valor actual). Asegúrese de realizar este cambio tres veces para cada uno de los campos Nombre de fuente, Apellido y Nombre para humanos, respectivamente.
  4. A continuación, seleccione la categoría OS/2 a la izquierda (¿quién lo hubiera pensado???) y seleccione la pestaña Métricas en la parte superior.
  5. Modificaremos los valores de ascenso y descenso de HHead, los dos únicos valores que afectan el espaciado vertical en Linux. Buena suerte resolviendo esto por tu cuenta. Me tomó mucho tiempo encontrar estas proverbiales agujas en el pajar, diamantes en bruto, ¡tu analogía preferida :)!
  6. Asegúrese de registrar (p. ej., anotar) los valores actuales antes de realizar cualquier cambio.
  7. Ahora, para cambiar el espaciado vertical, necesitamos multiplicar los dos valores por un factor dependiendo de la cantidad que desee reducir el espaciado vertical (para mí, usé el 80% de los valores actuales). Probablemente desee utilizar el mismo factor para ambos en el 99% de los casos. Si eso no funciona o causa artefactos en la visualización, luego puede usar diferentes factores para ajustar los valores individuales como último recurso. Artifacting también podría significar que has reducido demasiado los valores, y por reducir me refiero a moverte hacia cero (es decir, reducir sus magnitudes, sus valores absolutos, ya que el HHead Descent puede ser negativo, por lo que en realidad lo aumentarás en un sentido numérico si lo multiplica por un factor de escala porcentual positivo).
  8. Configure cada uno de los HHead Ascent y Descent con los valores que calculó en el paso 7 (por ejemplo, el 80 % de sus valores anteriores es un buen comienzo).
  9. Hemos terminado con el cuadro de diálogo Información de fuente, así que hagamos clic en el botón Aceptar.
    1. En este punto, guardemos nuestra fuente como un archivo .SDF, así que hagamos Archivo/Guardar como... y debería recordar el nuevo nombre de la fuente que configuró anteriormente.
    2. Ahora, para aplicar nuestros cambios, necesitamos (re)generar la fuente. Seleccione Fuente/Generar fuentes... en el menú FontForge. Si está tratando con una fuente TrueType, asegúrese de que TrueType esté seleccionado debajo del nombre del archivo de fuente. Luego haga clic en el botón Generar. Es posible que se detecten varios errores que puede ignorar con seguridad: haga clic en el botón Generar en ese cuadro de diálogo, si parece continuar con la generación de fuentes.
    3. Ya está listo para comenzar en este punto, pero deberá restablecer el caché de fuentes. Haga esto escribiendo fc-cache -v -r.
    4. Abra una nueva ventana de consola (la nueva fuente o posiblemente incluso los cambios en una fuente existente no se mostrarán en ninguna ventana que ya haya abierto).
    5. Seleccione la nueva fuente yendo a Configuración/Editar perfil actual y seleccionando la pestaña Apariencia. Las opciones de selección de fuente se encuentran en la página de configuración. Haga clic en Seleccionar fuente... y debería ver su nueva fuente en la lista y poder seleccionarla. El cambio se implementará inmediatamente después de hacer clic en Aceptar.
    6. ¡Felicitaciones, ya terminaste! Si las líneas todavía están demasiado separadas o demasiado cerca, regrese al Paso 7 y modifique los valores de HHead Ascent/Descent a otros múltiplos de sus originales. No olvide cambiar (los tres) valores del nombre de la fuente para que describan el porcentaje por el que multiplica, para referencia futura y luego asegúrese de guardar la fuente con un nuevo nombre de archivo (y generarla como una nueva fuente en el nuevo nombre también). Finalmente, no olvide actualizar el caché de fuentes y abrir una nueva ventana para ver los efectos.

Normalmente hago un ls -lo ls -lRantes de cambiar la fuente en Konsole para poder ver el efecto en el espacio entre líneas entre los nombres de archivos enumerados. Es una buena idea tener nombres de archivos que usen ascendentes (como l) y descendentes (como 'y') que estén uno encima o debajo del otro, para que pueda asegurarse de que las líneas no estén demasiado cerca y que los ascendentes y descendentes no se crucen. Puede hacerlo fácilmente creando tres archivos: 'agjpqy', 'mbdfijlt' y 'zgjpqy'. La primera letra de los nombres de los archivos es sólo para ordenar los archivos alfabéticamente como se esperaba. El resto de letras contienen ascendentes, descendentes o ambos. Puedes ver si se cruzan y ajustar el espaciado vertical de la fuente de acuerdo con lo que subjetivamente te agrada (me recuerda a la historia de Ricitos de Oro y los Tres Osos).

Espero que esto te ayude y te ahorre un montón de tiempo y frustración. ¡Los usuarios con TOC serán los que más lo apreciarán!

información relacionada