Comment les encodages de caractères sont-ils liés aux polices?


11

Je veux dire, une police doit-elle prendre en charge chaque codage de caractères? Ou un codage de caractères doit-il prendre en charge toutes les polices?

Que signifient les polices Unicode? S'agit-il de polices qui prennent uniquement en charge Unicode et ne prennent pas en charge, par exemple, Windows-1252?


Réponses:


7

Pour commencer avec les bases, tout est basé sur US-ASCII qui est un code 7 bits avec 128 points de code dans l'ensemble, hexadécimal numéroté 00 à 7F ou décimal 0-127. Ceci est mappé aux codes de contrôle, aux caractères alphanumériques anglais et aux signes de ponctuation de base

L'ajout de 1 bit à cela pour un code 8 bits (octet) nous donne encore 128 points de code ou ASCII étendu.

Des jeux de caractères / pages de codes ont été nécessaires au début pour changer la façon dont le code pointe dans les 128 bits supérieurs mappés sur des caractères pour couvrir l'alphabet pour la langue particulière que vous souhaitez représenter. Cela fonctionne assez bien pour la plupart des langues d'Europe occidentale. ISO 8859-1 / Latin-1 est un exemple d'un tel jeu de caractères. Un autre est Windows-1252 qui a des changements par rapport à ISO 8859-1 pour l'aider à couvrir plus ou différents caractères.

Les langues avec des jeux de caractères plus complexes comme le chinois, le japonais et le coréen dépassent les capacités du jeu de 256 points de code et utilisent un code à deux octets pour permettre leur représentation.

Unicode UTF-8 est un schéma de codage de caractères multi-octets (1-4 octets) avec une compatibilité descendante avec ISO 8859-1 / Latin-1 étant ses 128 premiers caractères. Il a de la place pour plus d'un million de points de code, ce qui signifie que chaque point de code peut réellement représenter un caractère, contrairement au détournement effectué avec Extended ASCII, ce qui signifie qu'un point de code correspond à un caractère différent, en fonction du jeu de caractères / page de code / codage.

Les polices sont des glyphes qui sont mappés à des points de code et représentent visuellement des caractères. Le contenu d'une police dépend des langues qu'elle était censée couvrir à l'origine. Vous pouvez utiliser la table des caractères pour voir quels glyphes sont contenus dans la police.

Les polices Unicode ne couvrent pas nécessairement tous les points de code, vous devez voir où elles étaient destinées à être utilisées. Par exemple, dans Windows 7 , lancez la table des caractères et affichez les personnages dans Calibri, puis comparez-les à Ebrima, Meiryo et Raavi. Notez qu'ils sont très différents car chacun est adapté à une région géographique différente.

En ce qui concerne les polices Unicode et le jeu de caractères Windows-1252, Windows utilise une table de mappage pour traduire Windows-1252 en Unicode où il ne correspond pas à ISO 8859-1 pour un scénario "Best Fit" où certains caractères du caractère Windows-1252 l'ensemble peut ne pas s'afficher.


5

Jeu de caractères

Un jeu de caractères est une collection de caractères, à chacun desquels un numéro est attribué.

Un jeu de caractères bien connu est ASCII. Il s'agit d'un ensemble de 128 caractères numérotés de 0 à 127. Ces nombres peuvent tous être exprimés en 7 bits (il s'agit donc d'un jeu de caractères de 7 bits)

La plupart des jeux de caractères, mais pas tous, incluent le jeu ASCII avec la même numérotation. Des exemples de jeux de caractères qui ne sont pas comme ASCII incluent EBCDIC. Il y avait aussi des variantes européennes sur ASCII qui avaient des caractères différents dans certaines positions (par exemple pour inclure £)

Encodages

Les grands jeux de caractères tels que Unicode, avec plus d'un million de caractères, nécessiteraient trois ou quatre octets par caractère pour s'adapter à la large gamme de nombres qui ont été attribués aux caractères. Au lieu de cela, ils utilisent un système qui permet à ce nombre d'être «codé» comme un, deux, trois octets ou plus. Avec le schéma de codage UTF-8, les caractères identiques aux caractères ASCII se trouvent être codés avec des octets uniques avec la même valeur d'octet qu'en ASCII.

Les encodages ci-dessus sont utilisés lors du stockage de texte dans des fichiers.

Polices de caractères

Une police de caractères est une conception spécifique de la représentation visuelle (c'est-à-dire la forme) d'un ensemble de caractères. Les formes sont appelées glyphes. Une police de caractères peut avoir plusieurs glyphes pour un caractère (considérez "a"). Il peut avoir des glyphes pour des paires de caractères appelés ligatures (par exemple "ff" ou "fi"). Dans une police de caractères, l'ensemble de caractères pour lequel un glyphe a été conçu diffère donc souvent de l'ensemble de caractères dans des jeux de caractères bien connus (les polices de caractères n'incluent généralement pas de glyphes pour les caractères de contrôle ASCII).

Les polices

Dans le contexte des ordinateurs, une police signifie un fichier contenant des glyphes classés selon un schéma de numérotation (qui n'est souvent pas le même que la numérotation dans un jeu de caractères bien connu). Historiquement, il existait des polices bitmap qui représentaient une taille spécifique (en pixels ou en points) d'une police de caractères. Actuellement, la plupart des polices utilisent des courbes mathématiques pour décrire les glyphes et peuvent donc être mises à l'échelle pour représenter n'importe quelle taille de police.

Mettre tous ensemble

Lorsque vous affichez un fichier texte, l'ordinateur doit être informé (ou deviné) de l'encodage utilisé dans le fichier. Il utilisera alors une numérotation différente (par exemple une variante 16 bits d'Unicode) pour représenter le texte en mémoire, il utilisera ensuite les informations dans un fichier de police pour mapper la représentation interne à la numérotation (encodage) utilisée dans le fichier de police.


3

Une police doit-elle prendre en charge chaque codage de caractères?

Non, je ne sais pas si certains le font vraiment.
Cela signifierait qu'ils auraient tous les personnages imaginables "en eux". Les polices les plus courantes que nous utilisons pour prendre en charge les encodages des cultures occidentales (latin).

Ou un codage de caractères doit-il prendre en charge toutes les polices?

L'encodage de caractères ne «supporte» en quelque sorte rien, donc c'est vraiment la mauvaise façon de voir les choses.

Que signifient les polices Unicode? S'agit-il de polices qui prennent uniquement en charge Unicode et ne prennent pas en charge, disons, Windows-1252?

Unicode est un standard (ou du moins essaie de l'être), qui prend en charge un grand nombre de caractères, ce qui fait de beaucoup d'encodages un sous-ensemble de lui-même. Windows 1252 ou CP1252 est un encodage qui a des caractères latins plus quelques caractères européens centraux. La plupart d'entre eux sont également "couverts" par l'unicode. Presque toutes les polices unicode couvrent également le CP1252.


1
Unicode est sans ambiguïté une norme, numérotée ISO 10646.
MSalters
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.