(Soy nuevo tanto en árabe como en cosas relacionadas con Unicode, por lo que podría estar pasando por alto algún detalle evidente).
Entonces, estoy usando la fuente SIL Lateef y quiero acceder al glifo de forma inicial BEH, en HTML. (Porque, en MSA, "with/through" se traduce como prefijo ﺑِ
, por lo que quiero incluirlo en su forma inicial para dejar claro que es un prefijo y no una palabra en sí misma).
El glifo de la forma inicial BEH tiene el código Unicode U+FE91 . Sin embargo, Lateef no incluye el glifo en esta 'ubicación' (no estoy completamente seguro de cómo llamarlo), y en su lugar incluye el glifo en U+1016F ("Griego Acrophonic Carystian Five Hundred"), y luego usa una tabla de sustitución para usar él. (El uso de la tabla de sustitución es lógico, pero no entiendo por qué Lateef coloca el glifo en este lugar extraño).
Como mi aplicación definitivamente usa Lateef, incluida como fuente web, decidí hacer referencia a ella como U+1016F en javascript ( \u{1016F}
) o HTML ( 𐅯
o 𐅯
) --- feo, lo sé, porque no es semántico, pero no pude decidir sobre una mejor manera. Sin embargo, a pesar de que el elemento en cuestión estaba usando Lateef como fuente, Chrome mostró el "Greek Acrophonic Carystian Five Hundred" en su lugar:
Mis preguntas entonces, son:
La razón por la que el glifo no era accesible
Aparentemente, aunque el glifo de la forma inicial de BEH se 'almacenó' en la ubicación 0x1016f, no se le 'asignó' el valor Unicode U+1016f. Por lo que yo entiendo, el glifo no aparecerá en la cmap
tabla, que es el lugar de destino para el proceso de selección de caracteres -> glifos del motor de representación.
Descubrí esto cuando estaba jugando en Fontforge. En FontForge, para ver los caracteres etiquetados por el valor Unicode en lugar de la imagen del glifo, seleccione "Ver" > "Etiquetar glifo por" > "Unicode"; y para configurar el valor Unicode para el glifo en cuestión, seleccione el glifo, haga clic con el botón derecho y luego configure "Información de glifo..." > "Unicode" > "Valor Unicode" de manera adecuada.
Me imagino que esto es un error en nombre de la fuente Lateef; la forma 'correcta' de hacerlo habría sido hacer que el glifo fuera accesible en la cmap
tabla, pero también ponerlo en 0xfe91 en primer lugar, en lugar de 0x1016f (donde no pertenece semánticamente).
Cómo acceder al glifo de todos modos
FÁCIL: solo use U+0640 : بـ
.
VIEJO / COMPLICADO:
Además de modificar la fuente, como se sugiere en la solución del problema anterior, se me ocurrió otra forma original de acceder al glifo, sin modificar la fuente.
<div style="direction: rtl;">ب‍<span style="color:#fff; width: 0px; display: inline-block;">ن</span></div>
Como se puede acceder implícitamente al glifo , cuando se combina con letras posteriores, uno puede simplemente ocultar esas letras posteriores y terminar solo con el glifo de forma inicial BEH. Sin embargo, se debe emplear un truco adicional: agregar un ensamblador de ancho cero ‍
para permitir que los caracteres se conecten a través del <span>
elemento intercalado.
Janus Bahs Jacquet
Kelley van evert
Janus Bahs Jacquet
Kelley van evert
Janus Bahs Jacquet
Kelley van evert
Janus Bahs Jacquet
Janus Bahs Jacquet
Kelley van evert