¿Cuál es la diferencia práctica entre un 'glifo' y un 'personaje'?

26

Vi esta pregunta en la propuesta del sitio de Typography y me molestó que no supiera la respuesta. Siempre traté 'glifo' y 'personaje' como intercambiables.


Después de leer una explicación en la página Modelo de codificación de caracteres Unicode , entiendo más o menos esto:

  • Los caracteres se definen por su significado en el lenguaje, glifos, por su apariencia . Entonces, la ligadura para la combinación estética fi es un glifo, pero dos caracteres.

Entonces, mi creencia es (corríjame si me equivoco) que la diferencia práctica sería:

  • Los analizadores de texto que no están interesados ​​en la estética del texto leerán los glifos como sus respectivos caracteres. Asi que:
    • Si tuviera que copiar y pegar texto que contenga glifos en un editor de texto sin formato, los glifos se convertirían a sus respectivos caracteres ( se convertiría en un glifo de ligadura fy i)
    • Cualquier sistema automatizado bien hecho basado en el análisis de texto (por ejemplo, rastreadores de motores de búsqueda, lectores de pantalla, correctores ortográficos) interpretaría los glifos como sus respectivos caracteres.
    • Un personaje puede tener muchos glifos o conjuntos de glifos. Quiero decir que un glifo solo puede tener un carácter, pero esto claramente no es correcto, ya que hay un ejemplo en el artículo vinculado de 3 glifos y conjuntos de glifos que parecen corresponder a un carácter y a un conjunto de caracteres. No entiendo cómo podría funcionar esto: ¿seguramente eso significa que habrá inconsistencia o ambigüedad en la forma en que se interpretan esos glifos, que varían según el intérprete? (¿o varía según el idioma o la fuente?)
    • Mientras que los navegadores de glifos (por ejemplo, el de Illustrator) contienen el conjunto completo de glifos de una fuente, los mapas de caracteres (por ejemplo, el mapa de caracteres de Windows) solo contienen caracteres, no glifos que son múltiples caracteres como ligaduras (algo que no había notado antes)

Siento que estoy a punto de llegar, pero claramente he entendido mal algo en algún punto: no solo lo de "Un glifo de múltiples caracteres", sino también, copiar y pegar el comportamiento con ligaduras no es exactamente lo que esperaba:

  • Copie la ligadura de Illustrator en este cuadro de entrada: pega como fi(dos caracteres) como se esperaba.
  • Pegue el código HTML para ello ( fi): se muestra como la ligadura cuando no está en un bloque de código (fi - que en esta fuente no se parece mucho a una ligadura, pero verá que es una si intenta seleccionar solo la mitad de él), y el código cuando está en un bloque de código ( fi), como se esperaba.
  • Copie y pegue la ligadura representada sin bloque de código en el cuadro de entrada: se pega como el carácter de ligadura y se representa como la ligadura independientemente de si está en un bloque de código o no (fi y ). Del mismo modo, las palabras que lo contienen: fit tt mistits ( fit misfits) se pegan como tt mistiets ( fit misfits). ¿Quizás depende de si el lugar donde se está pegando comprende la codificación utilizada?

¿Cuán equivocado está mi entendimiento de esto? ¿Alguien puede corregirme: establecer una definición clara de la diferencia entre los glifos y los caracteres (si el mío es incorrecto o puede mejorarse), y dar ejemplos más claros / precisos que el mío de lo que eso significa en la práctica ?

user56reinstatemonica8
fuente
2
Se vuelve mucho más complicado cuando tienes guiones como árabe donde tienes caracteres combinados.
Restablecer a Monica - M. Schröder
1
@ MartinSchröder +1 Suena como la oración inicial de una excelente respuesta ... :)
user56reinstatemonica8

Respuestas:

4

Los glifos se relacionan con la forma en que se representa el texto, los caracteres con la forma en que se interpreta. Cuando copia y pega, la aplicación de origen generalmente ofrece varios formatos. El texto sin formato descompondrá la ligadura de fi en f e i, el formato HTML puede traducirlo a la entidad char que ha citado o también descomponerlo en f e i.

En general, la relación entre caracteres y glifos es n: m. En los idiomas índicos, algunos caracteres se dividen en dos glifos que se colocan en diferentes lugares de la palabra. En latín, lo más cercano a esa situación sería representar é como dos glifos (e y ´). En árabe, cada carácter tiene diferentes glifos dependiendo de su posición dentro de una palabra: inicial, media, final o aislada.

La traducción de caracteres a glifos es específica para cada aplicación y las características tipográficas que admite. Para el texto latino, esta traducción solía ser sencilla, pero las fuentes OpenType introdujeron características adicionales como ligaduras, caracteres decorativos, formas alternativas, mayúsculas, etc.

Por razones prácticas, solo te preocupas por los glifos cuando implementas cómo una aplicación renderiza texto, o cuando diseñas una fuente, o cuando quieres aplicar una función OpenType que reemplaza algunos glifos por otros (por ejemplo, ligaduras). De lo contrario, los puntos de código Unicode son tus amigos.

usuario322483
fuente
Hola usuario322483, bienvenido a GDSE y gracias por su respuesta. Si tiene alguna pregunta, consulte el centro de ayuda o haga ping a uno de nosotros en Graphic Design Chat una vez que su reputación sea suficiente (20). ¡Sigue contribuyendo y disfruta del sitio!
Vincent
1
Escribe "En árabe, cada carácter tiene glifos diferentes según su posición dentro de una palabra: inicial, media, final o aislada". <--- ¿No serían personajes diferentes? El inglés tiene A y a, pero en informática, A y a son caracteres diferentes. cada glifo se asigna a un código diferente. El hebreo tiene chaf y chaf final (la letra chaf al final de una palabra se ve diferente) y estoy seguro de que se denomina como un carácter diferente en informática.
barlop
14

No creo que su comprensión sea incorrecta, solo está viendo sistemas que intentan ayudar al usuario pegando lo que cree que quiere. Dado que algunas ligaduras ('fi', 'fl') son bastante comunes fuera de los sistemas de composición tipográfica, el software reconoce que el usuario probablemente no ingresó ese glifo, sino que otra aplicación transformó sus caracteres mecanografiados.

En resumen: el carácter se refiere a una unidad lingüística. Glifo se refiere a una instancia diseñada de esa unidad, ya sea mayúscula, minúscula, minúscula, variante histórica o estilística.

vestido de civil
fuente
En informática, A y a son caracteres diferentes. ASCII tiene 128 caracteres y el término carácter allí incluye A y a como caracteres distintos.
barlop
Los ingenieros usan muchas palabras que no se alinean con precedentes en otras industrias. El tuyo es un buen ejemplo.
vestidos de civil
¿A quién se le ocurrió primero el término "personaje" y "glifo"? diseñadores gráficos o ingenieros informáticos? Pensé que las computadoras llegaron antes del diseño gráfico. Pero puede haber una industria de impresión que precedió al diseño gráfico y a las computadoras precedibles discutibles de alguna manera o a las computadoras modernas anteriores. Aunque creo que la gente que podría responder mejor para lo que ahora es diseño gráfico, es la industria de la impresión, pero no hay intercambio de la industria de la impresión. Pero sería interesante saber quién tomó prestado de quién y de qué manera se trata el término Carácter.
barlop
1
La tipografía llegó mucho antes que la ingeniería de software. Publique aquí si realiza la investigación y encuentra los orígenes. Supongo que será en algún momento del siglo XVII. Posiblemente ya desde los primeros tipógrafos a mediados del siglo XVI.
vestidos de civil
6

Aquí hay un par de respuestas que brindan buena información sobre los glifos y los caracteres, pero en realidad no abordan la fuente de su confusión con respecto a copiar y pegar.

En primer lugar, su comprensión es fundamentalmente correcta:

Los caracteres se definen por su significado en el lenguaje, glifos, por su apariencia . Entonces, la ligadura para la combinación estética de fi es un glifo, pero dos caracteres.

Vale la pena enfatizar que la lista de caracteres está definida por el estándar Unicode, que es publicado por el Consorcio Unicode, debido al hecho de que son la autoridad para codificar texto en un formato legible por máquina. La definición anterior es esencialmente la directriz principal que usan los miembros del Consorcio Unicode para determinar si alguna adición propuesta a Unicode es un carácter y, por lo tanto, digno de inclusión, o un glifo y debe ser manejado por los renderizadores de fuentes.

Menciono esto porque la confusión que experimentó anteriormente se debió al hecho de que existen varios caracteres de ligadura (no glifos ) en Unicode. Por ejemplo, U+FB01es el personaje de la fi bratura: http://unicode.org/charts/PDF/UFB00.pdf

Tener caracteres de ligadura en Unicode no está realmente en el espíritu de la definición anterior de qué tipo de cosas deberían incluirse en el estándar Unicode como caracteres, ya que las ligaduras realmente no tienen un significado independiente de la composición de otros dos caracteres. La gente de Unicode es naturalmente consciente de esto, y las Preguntas frecuentes de Unicode sobre ligaduras admiten lo mismo:

Las ligaduras existentes existen básicamente por compatibilidad y disparos redondos con juegos de caracteres no Unicode. Se desaconseja su uso.

La existencia de este personaje es, en última instancia, la fuente de tu confusión.

En el software implementado correctamente, la copia de texto siempre debe copiar los caracteres que se especificaron, no los glifos , y eso es exactamente lo que sucede en los tres ejemplos.

1) En el primer ejemplo, escribió fy ien Illustrator, que generó un solo glifo de ligadura . Cuando seleccionó y copió ese glifo representado, Illustrator copió correctamente los caracteres f( U+0066) y i( U+0069) en su portapapeles.

2) En el segundo ejemplo, escribió el código HTML para el carácter de ligadura ( &#64257) en el cuadro de entrada y obtuvo correctamente el glifo de ligadura que representa el carácter de ligadura (. Dado que el carácter subyacente es en realidad el carácter de ligadura oscuro y relativamente inútil que mencioné arriba, al seleccionar ese glifo se copiará un solo carácter U+FB01.

3) En el tercer ejemplo, está copiando el carácter de ligadura representado U+FB01que se representó en la parte 2, que siempre se pegará como ese carácter. Su principal confusión parece estar relacionada con la diferencia entre los códigos de entidad HTML y los caracteres, particularmente con respecto a cómo se representan dentro y fuera de los bloques de código.

El código de entidad HTML &#64257;es una cadena de 8 caracteres distintos. El renderizador HTML de su navegador web sustituye esos 8 caracteres U+0026 U+0023 U+0036 U+0032 U+0035 U+0037 U+0023con el único carácter Unicode U+FB01, que luego representa adecuadamente. Sin embargo, la <code>etiqueta en HTML deshabilita este comportamiento, dejando esos 8 caracteres como están.

Cuando copia de HTML renderizado, copia los caracteres renderizados (que son diferentes de los glifos renderizados ). Por lo tanto, cuando copia su entidad HTML representada, el U+FB01carácter único se copia en su portapapeles.

Cuando U+FB01vuelve a pegar el carácter en el HTML, no es necesario realizar ninguna sustitución, lo que significa que el carácter se representa como una ligadura independientemente de si se encuentra o no dentro de un <code>bloque.

rana aérea
fuente
1

Los caracteres son los que se almacenan en archivos de texto, procesados ​​por aplicaciones y movidos, mientras que los glifos son su representación visual.

Para tener una imagen clara, veamos qué sucede cuando una aplicación intenta representar una cadena de texto en la pantalla (de una manera un poco simplificada):

  • La aplicación primero leyó la cadena de texto, que es la cadena de caracteres almacenados en el disco o en la memoria.
  • Luego lo enviaría a un motor de diseño de texto, entre otras propiedades como la fuente deseada, el idioma del texto, etc.
    • El motor de diseño de texto básicamente abre el archivo de fuente, le pide los glifos correspondientes a cada carácter y realiza una sustitución de glifos (como reemplazar el glifo por fy icon el glifo de ligadura fi) y posicionamiento (como interletraje).
    • Al final, el motor de diseño tiene una secuencia de glifos, sus posiciones relativas entre sí y un mapeo entre los caracteres de entrada y los glifos de salida. El mapeo de caracteres a glifos es para que sepa que los dos primeros caracteres de la palabra filecorresponden a dos el primer glifo (la filigadura), el tercer carácter al segundo glifo y el cuarto carácter al tercer glifo.
  • Luego se usa una biblioteca de representación de gráficos para "dibujar" esos glifos en la pantalla usando formas de la fuente.
  • Cuando el usuario selecciona "glifos" en la pantalla, la aplicación consultará el mapeo de glifos a texto proporcionado por el motor de diseño para encontrar qué parte del texto de entrada corresponde a lo que el usuario está seleccionando y enviar ese texto al portapapeles cuando el El usuario lo copia.
  • Lo mismo sucede cuando el usuario inserta el cursor en el medio del texto y comienza a escribir, la asignación determina en qué parte del texto de entrada insertar los nuevos caracteres, y el texto actualizado se envía al motor de diseño para procesarlo y volver a dibujarlo, etc.
Khaled Hosny
fuente