Courier ¿Nueva fuente con soporte Unicode?


8

Soy programador y estoy realmente acostumbrado a la fuente Courier New. Soy bastante exigente al respecto: encuentro otras fuentes (incluidas otras fuentes monoespaciales) feas en comparación.

Sin embargo, ahora tengo que trabajar en algún código que incluya cadenas Unicode, y Courier New no tiene soporte completo para Unicode.

¿Alguien podría recomendar una fuente (monoespacio) que sea muy similar a Courier New, pero que tenga soporte Unicode?



3
Courier New tiene una cobertura Unicode mucho mejor que la mayoría de las fuentes. Sería útil si nos dijera exactamente qué caracteres / idiomas / scripts necesita cobertura.
thomasrutter

@ thomasrutter: necesito cobertura de símbolos matemáticos y lógicos.
HighCommander4

Respuestas:


11

Pocos tipos de fuentes tienen "soporte completo para Unicode". Unicode 6.0 tiene 109,449 puntos de código. Es bastante costoso desde una perspectiva de diseño crear manualmente cada uno de esos glifos cuando la mayoría de las personas solo usará una pequeña fracción de ellos, sin mencionar desde una perspectiva de tamaño de archivo.

Courier New se encuentra entre las fuentes con un soporte Unicode relativamente bueno con 3248 glifos (en comparación, Lucida Sans Unicode solo tiene 1776).

Las fuentes MingLiU / PMingLiU también admiten una amplia gama de puntos de código, pero eso se debe a que son fuentes CKJ (chino, coreano, japonés), y la mayoría de los puntos de código admitidos provienen de los bloques CKJ. Entonces, a menos que necesite una fuente CKJ, no son de mucha utilidad. E incluso entonces, se dividen en ~ 6 fuentes diferentes que cubren diferentes bloques de código con 30 ~ 40k puntos de código cada uno.

Para soporte de lenguaje de propósito general, Arial Unicode MS es lo mejor que conozco. Tiene soporte casi completo en 64 bloques de código diferentes, que cubre 50,377 puntos de código.

Más allá de eso, solo está la fuente Unicode BMP Fallback SIL , que es una fuente de depuración. Cubre todos los puntos de código Unicode 5.1, pero cada glifo es solo un cuadro rectangular que contiene el código hexadecimal para ese punto de código. Y la mayoría de los sistemas operativos vienen con esta fuente y la mostrarán cuando una fuente Unicode carezca de un glifo para un personaje en particular.

Quiero decir, es posible que haya un tipógrafo loco o una fundición que haya creado una fuente con glifos para todos los puntos de código Unicode 5.1 o 6.0, pero probablemente sería muy, muy costoso.

La mayoría de las personas preferiría tener fuentes que cubran bloques de idiomas específicos y usar múltiples fuentes para proporcionar soporte multilingüe completo. Especialmente dado que las diferentes familias de idiomas tienen estilos tipográficos intrínsecamente diferentes, los glifos terminarían luciendo muy diferentes de todos modos.

Editar: como señaló el Sr. Lister, actualmente ninguna fuente puede admitir el conjunto completo de caracteres Unicode ya que cada fuente solo puede contener 65536 glifos máx. Es posible que pueda superar este límite con TruTypeCollections, pero seguirían siendo fuentes separadas, solo en un solo archivo.


1
Gracias por una respuesta detallada. No sabía que Unicode era tan grande. Los caracteres Unicode en mi código son símbolos matemáticos y lógicos: ¿conoce una fuente monoespacio de aspecto decente con soporte para esos?
HighCommander4

44
@ HighCommander4: Entonces todo lo que realmente necesita es el bloque de símbolos matemáticos y los bloques de operadores matemáticos. Puede ver la lista de bloques Unicode aquí . Al hacer clic en cada uno, puede encontrar una lista de fuentes comunes que admite cada bloque. O simplemente haga clic en una de las fuentes y luego busque su lista de bloques compatibles, por ejemplo, esta para Code2000 , que muestra todos los bloques que admite y en qué porcentaje.
Lèse majesté

2
Creo que leí en alguna parte que 65536 glifos es el máximo que puede contener cualquier archivo de fuente, por lo que nunca encontrará una fuente con soporte "completo" de Unicode.
Sr. Lister

1
@ Mr Lister: esa es probablemente la limitación de algunos editores de fuentes , pero los puntos de código Unicode van hasta E0FFF (o 10FFFF, incluido el área de uso privado). Entonces, si una fuente puede hacer referencia a estos puntos de código de gama alta, tendrían que poder hacer referencia a cualquier cosa debajo de ella.
Lèse majesté

2
@ Lèsemajesté No, eso no es realmente cierto. No se requiere que las fuentes contengan todos los caracteres hasta el que tenga el índice Unicode más alto que tengan. ¡De lo contrario, cada fuente compatible con Windows-1252 tendría que contener más de 8400 caracteres!
Sr. Lister el

3

Prueba el mono gratuito de GNU Free Font . De hecho, hasta ahora es la única fuente monoespacial que he encontrado que es legible y relativamente completa en términos de cobertura unicode.

Aún más ideal para su caso particular, de hecho, en última instancia, se basa en Courier.


2

Siempre puede usar Courier New como su fuente principal, y recurrir a otra fuente con una paleta de caracteres más amplia (como DejaVu Sans Mono o quizás Everson Mono) para los símbolos que faltan.

Esto es lo que hace su navegador si configura Courier New como su fuente monoespaciada preferida y luego le pide que muestre algo así ∀x: ∃y: x ∊ y. (Bueno, excepto por el hecho de que este sitio ya especifica su propia lista de fuentes monoespaciales preferidas, con Courier New bastante abajo en la lista, por lo que probablemente no verá xy más yarriba en Courier New a menos que también desactive o anule el estilo SE sábana.)

Por supuesto, esto no siempre se verá demasiado bien, pero en su caso, usted dice que los caracteres adicionales que necesita son en su mayoría símbolos matemáticos. De todos modos, se ven bastante distintas de las letras latinas normales, por lo que la falta de coincidencia entre las diferentes fuentes puede no ser tan evidente como podría ser, de lo contrario, especialmente si elige la fuente alternativa con cuidado.


Interesante ... No sabía que los navegadores hicieran eso. ¿Es este un comportamiento universal en todos los navegadores?
Lèse majesté

2
Bastante sí. Hasta donde yo sé, todos los principales navegadores modernos admiten la sustitución de glifos. IE 6 y versiones anteriores no lo hicieron, pero en realidad no deberías estar diseñando para IE 6 en estos días de todos modos: se ha ido como los dinosaurios, y también es bueno.
Ilmari Karonen

Esa es una buena idea, pero requiere que la aplicación en la que estoy trabajando con el código (mi editor, en este caso), admita este tipo de mecanismo "alternativo", que desafortunadamente no es así.
HighCommander4

1

Sé que esta es una vieja pregunta, pero pensé que como programador podría ofrecer algunos consejos. Uso FreeMono en todos mis editores de texto e IDEs. Se parece bastante a Courier New y tiene un mejor soporte para Unicode. De la información que puedo obtener de los propios archivos de fuentes, Courier New admite 3,248 caracteres diferentes, mientras que FreeMono admite 4,177 caracteres. No estoy seguro exactamente cuánto apoyo tiene FreeMono para las matemáticas y lógicas símbolos Unicode, pero sí sé que es mejor que Courier New por un margen considerable.


1
¿Qué significa "tiene mejor soporte para Unicode"? ¿Cómo? ¡Por favor compara!
Mensch

@ Kurt ¡Perdón por la confusión! Courier new tiene soporte para 3,248 caracteres Unicode, mientras que mono gratis soporta 4,177 caracteres Unicode. Espero que eso ayude.
Zack Frost
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.