Juegos de caracteres usados por fuentes
Todas las fuentes usan un juego de caracteres. Un juego de caracteres contiene signos de puntuación, números, letras mayúsculas y minúsculas, y todos los demás caracteres imprimibles. Cada elemento de un juego de caracteres se identifica mediante un número.
La mayoría de los juegos de caracteres que se usan son superconjuntos del juego de caracteres ASCII de EE. UU., que define caracteres para los valores numéricos de 96 de 32 a 127. Hay cinco grupos principales de juegos de caracteres:
- Windows
- Unicode
- OEM (fabricante de equipo original)
- Símbolo
- Específico del proveedor
Juego de caracteres de Windows
El juego de caracteres de Windows es el juego de caracteres más usado. Es esencialmente equivalente al juego de caracteres ANSI. El carácter en blanco es el primer carácter del juego de caracteres de Windows. Tiene un valor hexadecimal de 0x20 (decimal 32). El último carácter del conjunto de caracteres de Windows tiene un valor hexadecimal de 0xFF (decimal 255).
Muchas fuentes especifican un carácter predeterminado. Cada vez que se realiza una solicitud para un carácter que no está en la fuente, el sistema proporciona este carácter predeterminado. Muchas fuentes que usan el juego de caracteres de Windows especifican el punto (.) como carácter predeterminado. Las fuentes TrueType y OpenType suelen usar un cuadro abierto como carácter predeterminado.
Las fuentes usan un carácter de salto denominado quad para separar palabras y justificar texto. La mayoría de las fuentes que usan el juego de caracteres de Windows especifican que el carácter en blanco servirá como carácter de interrupción.
Juego de caracteres Unicode
El juego de caracteres de Windows usa 8 bits para representar cada carácter; por lo tanto, el número máximo de caracteres que se pueden expresar con 8 bits es 256 (2^8). Esto suele ser suficiente para los idiomas occidentales, incluidas las marcas diacríticas utilizadas en francés, alemán, español y otros idiomas. Sin embargo, los idiomas orientales emplean miles de caracteres independientes, que no se pueden codificar mediante un esquema de codificación de un solo byte. Con la proliferación del comercio informático, se desarrollaron esquemas de codificación de doble byte para que los caracteres se pudieran representar en secuencias de 8 bits, de 16 bits, de 24 o de 32 bits. Esto requiere algoritmos de paso complicados; incluso así, el uso de diferentes conjuntos de código podría producir resultados completamente diferentes en dos equipos diferentes.
Para solucionar el problema de varios esquemas de codificación, se desarrolló el estándar Unicode para la representación de datos. Un esquema de codificación de caracteres de 16 bits, Unicode puede representar 65 536 caracteres (2^16), lo que es suficiente para incluir todos los idiomas en el comercio de equipos hoy en día, así como marcas de puntuación, símbolos matemáticos y espacio para la expansión. Unicode establece un código único para cada carácter para garantizar que la traducción de caracteres sea siempre precisa.
Juego de caracteres oem
El juego de caracteres OEM se usa normalmente en sesiones MS-DOS de pantalla completa para la visualización de pantalla. Los caracteres de 32 a 127 suelen ser los mismos en los juegos de caracteres OEM, ASCII de EE. UU. y Windows. Los demás caracteres del juego de caracteres OEM (de 0 a 31 y 128 a 255) corresponden a los caracteres que se pueden mostrar en una sesión ms-DOS de pantalla completa. Estos caracteres suelen ser diferentes de los caracteres de Windows.
Juego de caracteres de símbolos
El juego de caracteres Symbol contiene caracteres especiales que se suelen usar para representar fórmulas matemáticas y científicas.
Juegos de caracteres específicos del proveedor
Muchas impresoras y otros dispositivos de salida proporcionan fuentes basadas en juegos de caracteres que difieren de los conjuntos de Windows y OEM por ejemplo, el juego de caracteres código decimal codificado binario extendido (EBCDIC). Para usar uno de estos juegos de caracteres, el controlador de impresora se traduce del juego de caracteres de Windows al juego de caracteres específico del proveedor.