¿Cómo se relacionan las codificaciones de caracteres con las fuentes?


Respuestas:


7

Para comenzar con lo básico, todo se basa en US-ASCII, que es un código de 7 bits con 128 puntos de código en el conjunto, numerado de hexadecimal 00 a 7F o decimal 0-127. Esto se asigna a códigos de control, caracteres alfanuméricos en inglés y signos de puntuación básicos.

Agregar 1 bit a esto para un código de 8 bits (byte) nos da otros 128 puntos de código o ASCII extendido.

Los juegos de caracteres / páginas de códigos se requirieron desde el principio para cambiar la forma en que los puntos de código en los 128 bits superiores se asignaron a los caracteres para cubrir el alfabeto del idioma particular que deseaba representar. Esto funciona razonablemente bien para la mayoría de los idiomas de Europa occidental. ISO 8859-1 / Latin-1 es un ejemplo de dicho conjunto de caracteres. Otro es Windows-1252 que tiene cambios de ISO 8859-1 para ayudarlo a cubrir más o diferentes caracteres.

Los idiomas con conjuntos de caracteres más complejos como el chino, el japonés y el coreano superan las capacidades del conjunto de 256 puntos de código y utilizan un código de doble byte para permitir su representación.

Unicode UTF-8 es un esquema de codificación de caracteres de varios bytes (1-4 bytes) con compatibilidad hacia atrás con ISO 8859-1 / Latin-1 siendo sus primeros 128 caracteres. Tiene espacio para más de 1 millón de puntos de código, lo que significa que cada punto de código en realidad puede representar un carácter, a diferencia del mucking realizado con ASCII extendido, lo que significa que un punto de código se asigna a un carácter diferente, dependiendo del conjunto de caracteres / página de códigos / codificación

Las fuentes son glifos que se asignan a puntos de código y representan caracteres visualmente. El contenido de una fuente depende de los idiomas que originalmente debía cubrir. Puede usar el Mapa de caracteres para ver qué glifos están contenidos dentro de la fuente.

Las fuentes Unicode no necesariamente cubren todos los puntos de código, debe ver dónde estaban destinados a ser utilizados. Por ejemplo, en Windows 7, inicie el Mapa de caracteres y vea los caracteres en Calibri y luego compárelos con Ebrima, Meiryo y Raavi. Tenga en cuenta que son muy diferentes porque cada uno está diseñado para una región geográfica diferente.

En cuanto a las fuentes Unicode y el conjunto de caracteres de Windows-1252, Windows utiliza una tabla de asignación para traducir Windows-1252 a Unicode donde no coincide con ISO 8859-1 para un escenario de "Mejor ajuste" donde algunos caracteres en el carácter de Windows-1252 el conjunto puede no mostrarse.


5

Conjunto de caracteres

Un conjunto de caracteres es una colección de caracteres, a cada uno de los cuales se le asigna un número.

Un conjunto de caracteres bien conocido es ASCII. Este es un conjunto de 128 caracteres numerados del 0 al 127. Todos estos números se pueden expresar en 7 bits (por lo tanto, es un conjunto de caracteres de 7 bits)

La mayoría, pero no todos los demás juegos de caracteres, incluyen el juego ASCII con la misma numeración. Los ejemplos de conjuntos de caracteres que no son como ASCII incluyen EBCDIC. También hubo variantes europeas en ASCII que tenían caracteres diferentes en ciertas posiciones (por ejemplo, para incluir £)

Codificaciones

Los conjuntos de caracteres grandes como Unicode, con más de un millón de caracteres, requerirían tres o cuatro bytes por carácter para acomodar el amplio rango de números que se han asignado a los caracteres. En su lugar, utilizan un sistema que permite que ese número se "codifique" como uno, dos, tres o más bytes. Con el esquema de codificación UTF-8, los caracteres que son los mismos que los caracteres ASCII se codifican con bytes individuales con el mismo valor de byte que en ASCII.

Las codificaciones anteriores se utilizan al almacenar texto en archivos.

Tipos de letra

Un tipo de letra es un diseño específico de la representación visual (es decir, la forma) de un conjunto de caracteres. Las formas se llaman glifos. Un tipo de letra puede tener varios glifos para un carácter (considere "a"). Puede tener glifos para pares de caracteres llamados ligaduras (por ejemplo, "ff" o "fi"). En un tipo de letra, el conjunto de caracteres para el que se diseñó un glifo, por lo tanto, a menudo difiere del conjunto de caracteres en conjuntos de caracteres conocidos (los tipos de letra generalmente no incluyen glifos para los caracteres de control ASCII).

Fuentes

En el contexto de las computadoras, una fuente significa un archivo que contiene glifos ordenados de acuerdo con algún esquema de numeración (que a menudo no es lo mismo que la numeración en cualquier conjunto de caracteres conocido). Históricamente, había fuentes con mapas de bits que representaban un tamaño específico (en píxeles o puntos) de un tipo de letra. Actualmente, la mayoría de las fuentes usan curvas matemáticas para describir glifos y, por lo tanto, se pueden escalar para representar cualquier tamaño de letra.

Poniendolo todo junto

Cuando visualiza un archivo de texto, se le debe decir a la computadora (o adivinar) la codificación utilizada en el archivo. Luego usará una numeración diferente (por ejemplo, una variante de Unicode de 16 bits) para representar el texto en la memoria, luego usará información en un archivo de fuente para asignar la representación interna a la numeración (codificación) utilizada en el archivo de fuente.


3

¿Una fuente tiene que soportar cada codificación de caracteres?

No. No sé si alguno realmente lo hace.
Eso significaría que tendrían todos los personajes imaginables "en ellos". Las fuentes más comunes que utilizamos para admitir codificaciones de culturas occidentales (latín).

¿O una codificación de caracteres tiene que admitir cada fuente?

La codificación de caracteres no "soporta", de alguna manera, así que esta es realmente la forma incorrecta de verlo.

¿Qué significan las fuentes Unicode? ¿Son fuentes que solo admiten Unicode y no admiten, por ejemplo, windows-1252?

Unicode es un estándar (o al menos está tratando de ser uno), que tiene soporte para una gran cantidad de caracteres, por lo que muchas codificaciones son un subconjunto de sí mismo. Windows 1252 o CP1252 es una codificación que tiene caracteres latinos más algunos caracteres de Europa central. La mayoría de ellos también están "cubiertos" por Unicode. Casi todas las fuentes Unicode también cubren, CP1252.


1
Unicode sin ambigüedades es un estándar, numerado ISO 10646.
MSalters
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.