Vi esta pregunta en la propuesta del sitio de tipografía y me molestó que no «No sé la respuesta. Siempre había tratado» glifo «y» carácter «como intercambiables.
Después de leer una explicación sobre Unicode Página del modelo de codificación de caracteres , mi comprensión es más o menos esto:
- Los caracteres se definen por su significado en el idioma, glifos, por su apariencia . Entonces, la ligadura para combinar estéticamente
fi
es un glifo, pero dos caracteres.
Entonces, mi creencia es (corríjame si » Estoy equivocado) que la práctica diferencia 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. Entonces:
- Si tuviera que copiar y pegar texto que contiene glifos en un editor de texto sin formato, los glifos se convertirían a sus respectivos caracteres (un
fi
glifo de ligadura se convertiría enf
yi
) - 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 carácter 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 cada uno a un carácter y conjunto de caracteres. No veo muy bien cómo podría funcionar esto: seguramente eso significa que habrá inconsistencia o ambigüedad en cómo se interpretan esos glifos, variando 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 varios caracteres como ligaduras (algo que no había notado antes)
- Si tuviera que copiar y pegar texto que contiene glifos en un editor de texto sin formato, los glifos se convertirían a sus respectivos caracteres (un
Siento que «estoy casi allí, pero claramente he entendido mal algo en algún momento: no solo el asunto de» Un glifo con varios caracteres «, pero también, copiar y pegar el comportamiento con ligaduras no es bastante lo que esperaba:
- Copie la ligadura
fi
de Illustrator a este cuadro de entrada: pega comofi
(dos caracteres) como se esperaba . - Pegue el código HTML correspondiente (): 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 es uno si intenta seleccionar sólo la mitad), y el código cuando está en un bloque de código (
fi
), como se esperaba. - Copie y pegue la ligadura renderizada sin bloque de código en el cuadro de entrada: se pega como el carácter de ligadura y se renderiza como ligadura independientemente de si está en un bloque de código o no (fi y
fi
). Asimismo, las palabras que lo contienen: fi t mis fi ts (fit misfits
) pega como se ajustan mal (fit misfits
). Tal vez depende de si el lugar donde se va a pegar comprende la codificación utilizada.
¿Qué tan equivocada es mi comprensión de esto? ¿Alguien puede corregirme: declarando un definición de la diferencia entre glifos y 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 ?
Comentarios
- Se vuelve mucho más complicado cuando tienes scripts como el árabe donde tienes caracteres combinados.
- @MartinSchr ö der +1 Suena como la oración inicial de una excelente respuesta … 🙂
Respuesta
Los glifos se relacionan con cómo se representa el texto, los caracteres con cómo se interpreta. Cuando copia & pegar, la aplicación de origen suele ofrecer una opción de varios formatos. El texto sin formato descompondrá la ligadura fi en f e i, el formato HTML puede traducirlo a la entidad char que citó o también descomponerlo en f e i.
En general, la relación entre caracteres y glifos es n: metro. 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 traducir é como dos glifos (e y ´).En árabe, cada carácter tiene diferentes glifos según su posición dentro de una palabra: inicial, intermedia, 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, versalitas, etc.
Por razones prácticas, solo se preocupa por los glifos cuando implementa cómo una aplicación renderiza texto, o cuando diseña una fuente, o cuando desea 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.
Comentarios
- Hola user322483, bienvenido a GDSE y gracias por tu respuesta. Si tiene alguna pregunta, consulte el centro de ayuda o haga ping a uno de nosotros en el Graphic Design Chat una vez que tu reputación sea suficiente (20). ¡Sigue contribuyendo y disfruta del sitio!
- Escribe » En árabe, cada carácter tiene diferentes glifos según su posición dentro de una palabra: inicial, intermedia, final o aislada. . » < — No serían ‘ caracteres diferentes. El inglés tiene A y a, pero en la conversación 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 ‘ s denominado como un carácter diferente en informática.
Respuesta
No creo que tu comprensión sea incorrecta » Solo estamos 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 escritos.
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 en mayúsculas, minúsculas, versalitas, variante histórica o estilística.
Comentarios
- En informática, A y a son caracteres diferentes. ASCII tiene 128 caracteres y el término carácter incluye A y a como caracteres distintos.
- Los ingenieros usan muchas palabras que no ‘ no se alinea con precedentes en otras industrias. El suyo es un buen ejemplo.
- ¿Quién inventó el término » carácter » y » glifo » f primero? diseñadores gráficos o ingenieros informáticos? ‘ hubiera pensado que las computadoras llegaron antes que el diseño gráfico. Pero puede haber una industria de la impresión que precedió al diseño gráfico y que, de alguna manera, precedió a las computadoras o fue anterior a las computadoras modernas. Creo que la gente que podría responder mejor a lo que ahora es el diseño gráfico es la industria de la impresión, pero ‘ no hay intercambio de pilas en la industria de la impresión. Pero ‘ sería interesante saber quién tomó prestado de quién y de qué manera el término Personaje.
- La tipografía llegó mucho antes 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 desde los primeros tipógrafos a mediados del siglo XVI.
Respuesta
Aquí hay un par de respuestas que brindan buena información sobre glifos y 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 idioma, los glifos, por su apariencia . Entonces, la ligadura para combinar estéticamente fi es un glifo, pero dos caracteres.
Vale la pena enfatizar que la lista de caracteres está definida por Unicode estándar, que publica el Consorcio Unicode, debido al hecho de que ellos «son la autoridad en la codificación de texto en un formato legible por máquina. La definición anterior es esencialmente la pauta principal que los miembros del Consorcio Unicode utilizan para determinar si algunos addit ion a Unicode es un carácter y por lo tanto digno de ser incluido, o un glifo y debe ser manejado por renderizadores de fuentes.
Menciono esto porque la confusión que experimentó anteriormente se debe al hecho de que existen varios caracteres de ligadura (no glifos ) en Unicode.Por ejemplo, U+FB01
es el carácter de la ligadura: 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 sobre qué tipo de cosas deberían incluirse en el estándar Unicode como caracteres, ya que las ligaduras no tienen realmente un significado independiente de la composición de otros dos personajes. La gente de Unicode es consciente de esto, y las Preguntas frecuentes sobre Unicode sobre ligaduras admiten lo siguiente:
Las ligaduras existentes existen básicamente por compatibilidad y conexión con juegos de caracteres que no son Unicode. Se desaconseja su uso.
La existencia de este personaje es, en última instancia, la fuente de su confusión.
En software correctamente implementado, copiar el texto siempre debe copiar los caracteres que se especificaron, no los glifos , y eso es exactamente lo que sucede en sus tres ejemplos.
1) En el primer ejemplo, escribiste f
y i
en Illustrator, que representó un solo glifo de ligadura. . Cuando seleccionó y copió ese glifo renderizado, Illustrator copió correctamente f
(U+0066
) y i
(U+0069
) caracteres en su portapapeles.
2) En el segundo ejemplo, escribiste el código HTML para el carácter de ligadura (fi
) en el cuadro de entrada y Obtuve 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é anteriormente, seleccionando ese glifo copiará un solo carácter U+FB01
.
3) En el tercer ejemplo, «estás copiando el carácter U+FB01
que se renderizó 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, especialmente con respecto a cómo se renderizan dentro y fuera de los bloques de código.
El código de entidad HTML fi
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+0023
con el carácter único Unicode U+FB01
, que luego representa de forma adecuada. Sin embargo, la etiqueta <code>
en HTML deshabilita este comportamiento, dejando esos 8 caracteres como están.
Cuando copia el HTML renderizado, copia el caracteres (que son diferentes de los glifos renderizados). Por lo tanto, cuando copia su entidad HTML renderizada, el carácter único U+FB01
se copia en su portapapeles.
Cuando pega el fi
U+FB01
carácter de nuevo 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 cae o no dentro de un <code>
bloque.
Responder
Los caracteres son lo que se almacena 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 lee la cadena de texto, que es la cadena de caracteres almacenados en el disco o en la memoria.
- Luego la envía a un motor de diseño de texto, entre algunos otras propiedades como la fuente deseada, el idioma del texto, etc.
- T El motor de diseño de texto básicamente abre el archivo de fuente, le pide el glifo (s) correspondiente a cada carácter y realiza alguna sustitución de glifo (como reemplazar el glifo por
f
yi
con el glifo de ligadura defi
) y posicionamiento (como kerning). - 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. La asignación de caracteres a glifo es para que sepa que los dos primeros caracteres de la palabra
file
corresponden al primer glifo (lafi
ligadura ), el tercer carácter al segundo glifo y el cuarto carácter al tercer glifo.
- T El motor de diseño de texto básicamente abre el archivo de fuente, le pide el glifo (s) correspondiente a cada carácter y realiza alguna sustitución de glifo (como reemplazar el glifo por
- Una biblioteca de representación de gráficos se utiliza para «dibujar» esos glifos en la pantalla usando formas de la fuente.
- Cuando el usuario selecciona «glifos» en la pantalla, la aplicación luego consulta el glifo al mapeo de texto proporcionado por el motor de diseño para encontrar qué parte del texto de entrada corresponde a lo que el usuario selecciona y envía ese texto al portapapeles cuando el usuario lo copia.
- Lo mismo sucede cuando el usuario inserta el cursor en el medio del texto y comienza a escribir, el mapeo determina en qué lugar del texto de entrada insertar los nuevos caracteres, y el texto de actualización se envía al motor de diseño para proceso y redibujado y así sucesivamente.