unicode fonts special-characters glyph

unicode - ¿Hay un carácter de "glifo no encontrado"?



fonts special-characters (8)

Además, (por lo que he oído), los japoneses usan GETA MARK 〓 U + 3013

Símbolos y puntuación CJK

Supongamos que tenemos un texto que contiene un carácter Unicode que no se puede mostrar porque nuestra fuente no tiene un glifo correspondiente. Por lo general, se muestra un marcador de posición en su lugar, por ejemplo, un bloque rectangular cosita (ver captura de pantalla).

¿Hay un carácter de "glifo no encontrado" que produzca de forma confiable este glifo? Me gustaría escribir algo como "If the following text contains <insert character here> then you need another font..." en una interfaz de usuario.

Por cierto, no estoy hablando de ( personaje de reemplazo ). Este se muestra cuando un carácter Unicode no se puede descodificar correctamente de un flujo de datos. No necesariamente produce el mismo glifo:


De la especificación de Unicode:

U+25A1 □ PLAZA BLANCA

  • Puede ser usado para representar un ideograma faltante.

  • U+20DE $ ⃞ combinando cuadrado cerrado


El carácter de glifo no encontrado se especifica mediante el motor de fuente y por la fuente; No hay un carácter fijo para ello.



Hay un carácter notdef que significa que no se encuentra el glifo. Pero no tiene un código de caracteres. Puede usar los códigos de caracteres de los caracteres de control para insertar un carácter notdef (como "", U + 0002)


No, no hay un carácter de "glifo no encontrado". Diferentes programas utilizan diferentes presentaciones gráficas. Un rectángulo estrecho vacío es una representación común, pero no la única. También podría ser un rectángulo con un signo de interrogación en él o con el número de código del carácter, en hexadecimal, en él.

Por lo tanto, es mejor, por ejemplo, mostrar una pequeña imagen del personaje junto con el propio personaje, para que el lector pueda compararlos.


Unicode usa estos términos:

  • glifo de reemplazo
  • glifo faltante
  • carácter interpretable pero irremplazable

El Estándar de Unicode (10.0) no define cómo deben verse, pero sugiere en el capítulo 5.3 [ PDF ] que las implementaciones muestran

[...] glifos distintivos que dan alguna indicación general de su tipo [...]

para distinguirlos de "puntos de código sin asignar". Dan algunos ejemplos:

La entrada del glosario de Unicode dice :

A menudo se muestra como un rectángulo abierto o negro.

tl; dr: No hay un aspecto / glifo estandarizado, depende de la implementación. Para ayudar a los usuarios, las implementaciones podrían mostrar glifos que indican qué tipo de carácter es que no se puede mostrar.


Use un no-carácter como U + 10FFFF (al final del espacio Unicode) que es 99.99% seguro de no encontrarse en la tabla de cmap de cualquier fuente sana. Al menos ninguna fuente de sistema de Windows conocida asigna ese no-carácter a un glifo, y tampoco es muy probable que haya una fuente de sistema de Linux / Mac. Incluso la fuente All Resort que abarca todo ( http://www.unicode.org/policies/lastresortfont_eula.html ) no parece asignarla. Entonces, si bien no hay un carácter oficial de "glifo no encontrado" definido en Unicode que se asigne al glifo .notdef, en la práctica se garantiza que el no-carácter anterior muestra ese glifo, independientemente del diseño del glifo en esa fuente en particular. El glifo .notdef (glifo id 0 en OpenType) puede ser un simple rectángulo hueco (estándar), cuadro con x, cuadro con signo de interrogación, espacio en blanco ocasionalmente (lo que es una mala práctica) y, a veces, cosas extrañas como espirales (en Palatino Linotype) .