Para ser más específicos, supongamos que tengo una fuente monoespaciada con algunos glifos más grandes que el ancho de caracteres normal (por ejemplo, iconos de fontawesome).
En la mayoría de los emuladores de terminal, los caracteres más grandes simplemente se superponen al carácter de la derecha, mientras que en el cromo, por ejemplo, los caracteres más grandes empujarán el resto de la línea para hacerse espacio.
¿Porqué es eso? ¿Qué representa el texto en esas aplicaciones? ¿Es la aplicación en sí? ¿Es un componente del sistema operativo? ¿Los terminales están específicamente diseñados para evitar este problema?
Y la pregunta complementaria: ¿hay alguna forma de hacer que el cromo se comporte como la mayoría de los terminales, de modo que las fuentes monoespaciadas permanezcan monoespaciadas incluso cuando hay glifos más grandes?
Para proporcionar algunos antecedentes, estoy trabajando en Hyper , que es básicamente un terminal en cromo, y esto está causando problemas con la alineación de los caracteres.
fuente
Respuestas:
La mayoría de las aplicaciones (incluidos los navegadores) obedecen las dimensiones de los glifos como se define en la fuente. De hecho, probablemente usan métodos que muestran cadenas más largas en un solo paso (aunque no conozco los detalles). Si algunos de los glifos son un poco más anchos que el resto, entonces no es una fuente totalmente monoespacial, es casi monoespacial con algunas excepciones.
Los emuladores de terminal usan un método de dibujo especial, posicionan a cada personaje de forma independiente porque necesitan forzar a los personajes a una cuadrícula, de lo contrario el diseño general simplemente se desmoronaría. Puedes ver esto especialmente bien en acción si eliges una fuente que no sea monoespacio (el resultado se verá feo, pero permanecerá alineado con la cuadrícula). (Tenga en cuenta que
konsole
podría ser una excepción, lo he visto haciendo cosas raras).Para que los navegadores se comporten como emuladores de terminal, le recomiendo que intente colocar cada carácter por separado en sí mismo
span
odiv
conposition: absolute
ofixed
, o algo similar.fuente
span
s en hyperterm para arreglar el comportamiento, desafortunadamente está afectando un poco el rendimiento.Los sistemas operativos proporcionan una serie de facilidades de dibujo de texto que los desarrolladores pueden elegir. Los emuladores de terminal generalmente requieren fuentes mono espaciadas y la representación de texto que ve es un resultado natural de esta restricción. Los navegadores usan instalaciones más sofisticadas que permiten fuentes proporcionales y mucho más. Eso no significa que se proporcionarán muchas opciones al usuario. Por lo general, se preferiría la representación del navegador que ve. Por supuesto, no todos estarán de acuerdo.
¿Puede Chromium procesar el texto como desee? Lo dudo pero puedes consultar las opciones de texto.
fuente