¿Existe una versión de la fuente Arial o Tahoma con dígitos y espacios monoespaciados?

5

Los dígitos en la fuente Arial suministrada con Windows son monoespaciados, ya que cada uno ocupa el mismo espacio horizontal, pero parece que han olvidado proporcionar una versión "monoespaciada" del carácter de espacio. Esto significa que no puede formatear una columna de dígitos justificados a la derecha en (por ejemplo) 12 espacios y que el borde derecho esté alineado. Por ejemplo:

         1
        12
       123
      1234
     12345
   1234567
  12345678
 123456789
1234567890 

funciona porque la fuente utilizada para los ejemplos de código tiene espacios del mismo ancho que los dígitos. Sin embargo, esto no funciona si se muestra el mismo texto en Arial (¡no puedo demostrarlo porque no puedo descubrir cómo derrotar el cambio de formato de la SU en este momento!).

Da la casualidad de que con Tahoma 8 puedes hacer trampa porque un espacio es exactamente la mitad de píxeles que un dígito, pero eso es complicado y muy específico.

rossmcm
fuente

Respuestas:

6

Intenta usar un espacio de figuras que debería tener el mismo ancho que un dígito incluso en una fuente proporcional:

Un espacio de figura es una unidad tipográfica igual al tamaño de una sola   Figura tipográfica (número o letra), menos a la izquierda. Su tamaño puede   fluctúa un poco dependiendo de qué fuente se está utilizando. En fuentes   con dígitos monoespaciados, es igual al ancho de un dígito.

user1458424
fuente
Perfecto. Combiné esto con un 'espacio delgado' para obtener representaciones de dinero bellamente alineadas. Déjame aclarar en una respuesta por separado.
Timo
2

Sí, si estás dispuesto a pagarlo, el monotipo tiene un variante de arial para la venta que es monoespaciado .

Por otro lado, si quieres una buena fuente sans serif que sea gratuita y que funcione bien en muchas situaciones, te sugiero que mires droid sans mono

Journeyman Geek
fuente
Hmm Quería solo los dígitos y el espacio mono, me gustan bastante el tahoma y el texto proporcional arial. Además, la demostración en la página que proporcionó no baja a 8pt - 12px es 9pt en mi máquina. También, por alguna razón, mi pantalla se mete con las fuentes y en realidad las hace Menos legible
rossmcm
2

Usé el espacio de figuras (según lo sugerido por el usuario 1458424) para alinear números y espacio delgado para separar miles.

En, digamos, JavaScript o C, puede escribir los códigos de caracteres Unicode correspondientes en cualquier parte de una cadena:

  • \u2007: Figura del espacio.
  • \u202F: Espacio fino.

Usar el espacio delgado como un separador de miles tiene algunas ventajas significativas:

  • La intención es clara para los lectores estadounidenses y europeos, en lugar de utilizar un , o ..
  • Puedes agregarlo sin importar si el valor es >= 1000, ya que el espacio es invisible al ojo.
  • Es más delgado que el espacio regular que separa el signo de la moneda del valor, lo que lo hace ver mejor cuando solo hay un espacio después del signo de la moneda.

A continuación, describiré lo que hice para obtener el siguiente formato (separador decimal europeo , en este ejemplo):

  • € 1,75
  • € 100,00
  • 199,97 €
  • € 10350,00
  • 21003,18 €
  • € 121018,33

    1. Eliminar de la entrada todos los caracteres que no sean dígitos: price.replace(/[^\d]+/g, '').
    2. Cuente los 'personajes que faltan': missingDigits = maxDigits - price.length.
    3. Establezca el valor de salida en '€'.
    4. Para cada dígito faltante, agregue un espacio de figura a la salida: '\u2007'.
    5. Agregue todos los dígitos de entrada excepto los dos últimos, luego un separador decimal, luego los últimos dos dígitos de la entrada.
    6. Devuelve todos los caracteres de la salida excepto los últimos seis, agregados por un espacio delgado '\u202F', anexado por los últimos seis personajes.

La entrada puede ser cualquier representación de cadena de un número, con o sin puntuación y caracteres ilegales. La salida será como se ve arriba. Tienes que elegir el número máximo de dígitos permitido.

Timo
fuente
Tenga en cuenta que hay otros personajes relacionados interesantes que se pueden encontrar, como el guión de la figura.
Timo
Piensa que podrías ser mejor editar la respuesta original para incluir estos extras útiles. Aunque útil
O'Rooney