Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
2_programmation:encodage:notion_d_encodage [2021/08/22 19:54] – Correction d'un problème d'UTF-8. Mise à jour des liens internes. jejust2_programmation:encodage:notion_d_encodage [2021/12/20 07:41] (Version actuelle) – Traduction de la page. Ajout de liens. yannick.tanguy
Ligne 1: Ligne 1:
-====== What are encodings? ======+====== Que sont les encodages? ======
  
 +Commençons par définir deux notions : 
 +  * un caractère est un « atome » d'une langue ou d'un dialecte : il peut donc s'agir d'une lettre dans une langue alphabétique, d'une syllabe dans une langue syllabique, ou d'un idéogramme dans une langue idéographique ; 
 +  * un glyphe est une marque créée sur écran ou papier qui représente un caractère. 
 + 
 +Bien sûr, pour que la lecture soit possible, il doit y avoir une certaine relation entre le glyphe et le caractère. Ainsi, alors que la forme précise du glyphe peut être affectée par de nombreux autres facteurs, tels que les capacités du support d'écriture ou les choix graphiques du concepteur, l'essence du caractère sous-jacent doit être conservée.
  
-Let's start by defining two conceptsthe //character// and the +Chaque fois qu'un ordinateur doit représenter des caractèresil faut définir la relation entre un ensemble de nombres (que manipule l'ordinateur) et les caractères qu'ils représententC'est là l'essence d'un [[wpfr>Codage_des_caractères|encodage]] : une correspondance entre un ensemble de nombres et un ensemble de choses à représenter.
-//glyph// The character is the abstract idea of the "atom" of a +
-language or other dialogue: so it might be a letter in an alphabetic +
-language, a syllable in a syllabic language, or an ideogram in an +
-ideographic language.  The glyph is the mark created on screen or +
-paper which represents a character.  Of course, if reading is to be possible, +
-there must be some agreed relationship between the glyph and the character, +
-so while the precise shape of the glyph can be affected by many other factors, +
-such as the capabilities of the writing medium and the designer's style, +
-the essence of the underlying character must be retained.+
  
-Whenever a computer has to represent characterssomeone has to define +Bien entendu<latex>\TeX</latex> traite des caractères encodés à longueur de temps les caractères qui lui sont présentés en entrée sont encodés et il émet des caractères encodés dans sa sortie DVI ou PDF. Dans le détail, ces encodages ont des propriétés assez différentes.
-the relationship between a set of numbers and the characters they +
-represent.  This is the essence of an encodingit is a mapping +
-between a set of numbers and a set of things to be represented.+
  
-TeX of course deals in encoded characters all the time: the +===== L'encodage en entrée =====
-characters presented to it in its input are encoded, and it emits +
-encoded characters in its DVI or PDF output.  These +
-encodings have rather different properties.+
  
-The TeX input stream was pretty unruly back in the days when Knuth +Le flux d'entrée de <latex>\TeX</latex> était assez chaotique à l'époque où Knuth a implémenté <latex>\TeX</latex> pour la première fois. Knuth lui-même a préparé des documents sur des terminaux qui produisaient toutes sortes de caractères étranges. Aussi<latex>\TeX</latex> contient des dispositions pour traduire son entrée (même encodéeen quelque chose de régulier
-first implemented the language Knuth himself prepared documents on +
-terminals that produced all sorts of odd charactersand as a result +
-TeX contains some provision for translating its input (however +
-encodedto something regular.  Nowadays,  the operating system translates +
-keystrokes into a code appropriate for the user's language: the encoding used +
-is usually a national or international standard, though some operating systems +
-use "code pages" (as defined by Microsoft).  These standards and code pages +
-often contain characters that may not appear in the TeX system's input stream. +
-Somehow, these characters have to be dealt with --- so an input character like "é" +
-needs to be interpreted by TeX in a way that that at least mimics the way +
-it interprets ''\'e'' +
  
-The TeX output stream is in a somewhat different situation: +De nos jours, le système d'exploitation traduit les saisies de l'utilisateur en un code approprié à sa langue l'encodage utilisé se rattache généralement une norme nationale ou internationale, bien que certains systèmes d'exploitation utilisent des « pages de code » (//code pages// telles que définies par Microsoft). Ces normes et pages de codes contiennent souvent des caractères qui peuvent ne pas apparaître dans le flux d'entrée du système <latex>\TeX</latex>. D'une manière ou d'une autreces caractères doivent être traités --- donc un caractère d'entrée comme « é » doit être interprété par <latex>\TeX</latex> d'une manière qui imite au moins la façon dont il interprète la commande ''\'e''.
-characters in it are to be used to select glyphs from the fonts to be +
-used.  Thus the encoding of the output stream is notionally a font +
-encoding (though the font in question may be a +
-[[5_fichiers:fontes:que_sont_les_fontes_virtuelles|virtual font]]). +
-In principlea fair bit of what appears in the output stream could be +
-direct transcription of what arrived in the input, but the output stream +
-also contains the product of commands in the input, and translations +
-of the input such as ligatures like  ''fi''.+
  
-Font encodings became a hot topic when the +===== L'encodage en sortie (ou encodage de police=====
-[[5_fichiers:fontes:que_sont_les_fontes_ec|Cork encoding]] +
-appeared, because of the possibility of suppressing +
-''\accent'' commands in the output stream (and hence improving the +
-quality of the hyphenation of text in inflected languages, which is +
-interrupted by the ''\accent'' commands --- see +
-[[3_composition:langues:cesure:comment_fonctionne_la_cesure|"how does hyphenation work"]]). +
-To take advantage of the diacriticised characters represented in the +
-fonts, it is necessary to arrange that whenever the command sequence ''\'e'' +
-has been input (explicitly, or implicitly via the sort of mapping of input +
-mentioned above), the character that codes the position of the "é" glyph is used.+
  
-Thus we could have the odd arrangement that the diacriticised character in +Le flux de sortie de <latex>\TeX</latex> diffère quelque peu : les caractères qu'il contient doivent être utilisés pour sélectionner les glyphes des polices à utiliserAinsi, l'encodage du flux de sortie est théoriquement un encodage de police (bien que la police en question puisse être une [[5_fichiers:fontes:que_sont_les_fontes_virtuelles|police virtuelle]]). En principe, une bonne partie de ce qui apparaît dans le flux de sortie peut être une transcription directe de ce qui est arrivé dans l'entrée, mais le flux de sortie contient également le produit de commandes dans l'entrée et de traductions de l'entrée telles que des [[3_composition/texte/mots/desactiver_une_ligature|ligatures]] (par exemple la syllabe « fi »).
-the TeX input stream is translated into TeX commands that would +
-generate something looking like the input character; this sequence of +
-TeX commands is then translated back again into a single +
-diacriticised glyph as the output is created This is in fact +
-precisely what the LaTeX packages [[ctanpkg>inputenc|inputenc]] and +
-[[ctanpkg>fontenc|fontenc]] do, if operated in tandem on (mostcharacters in +
-the ISO Latin-1 input encoding and the T1 font encoding. +
-At first sight, it seems eccentric to have the first package do a thing, and +
-the second precisely undo it, but it doesn't always happen that way: +
-most font encodings can't match the corresponding input encoding +
-nearly so well, and the two packages provide the sort of symmetry the +
-LaTeX system needs.+
  
 +Les encodages de polices sont devenus un sujet important lorsque l'[[5_fichiers:fontes:que_sont_les_fontes_ec|encodage de Cork]] est apparu, en raison de la possibilité de supprimer les commandes ''\accent'' dans le flux de sortie (et donc d'améliorer la qualité de la césure du texte dans les [[wpfr>Langue_flexionnelle|langues flexionnelles]] comme montré à la question « [[3_composition:langues:cesure:comment_fonctionne_la_cesure|Comment fonctionne la césure en TeX ?]]) ». Pour tirer parti des caractères diacritiques présents dans les polices, il est nécessaire de faire en sorte qu'à chaque fois que la séquence de commandes ''\'e'' a été saisie (explicitement, ou implicitement via la correspondance d'entrée mentionnée ci-dessus), le caractère qui code la position du glyphe « é » est utilisé.
 +
 +====== ======
 +Ainsi, nous nous en présence d'un mécanisme en deux temps : 
 +  * un caractère [[wpfr>Diacritique|diacritique]] dans le flux d'entrée <latex>\TeX</latex> est traduit en commandes <latex>\TeX</latex> qui génèrent quelque chose ressemblant au caractère d'entrée ; 
 +  * cette séquence de commandes <latex>\TeX</latex> est ensuite à nouveau traduite en un seul glyphe diacritique au fur et à mesure de la création de la sortie. 
 + 
 +Ceci correspond précisément à ce que font les extensions <latex>\LaTeX</latex> [[ctanpkg>inputenc|inputenc]] et [[ctanpkg>fontenc|fontenc]] qui fonctionnent souvent en tandem avec l'encodage d'entrée ISO Latin-1 et l'encodage de sortie T1. À première vue, il semble excentrique que la première extension fasse une chose tandis que la seconde l'annule. Toutefois, cela ne se passe pas toujours ainsi : la plupart des encodages de sortie (ou encodages de police) ne correspondent pas aussi bien à l'encodage d'entrée correspondant. D'où l'intérêt de ces extensions qui rétablissent les correctifs de correspondances dont <latex>\LaTeX</latex> a besoin. 
  
 ----- -----
Ligne 77: Ligne 34:
  
 {{htmlmetatags>metatag-keywords=(LaTeX,encodage,codage,représentation des caractères,T1,OT1,fontes) {{htmlmetatags>metatag-keywords=(LaTeX,encodage,codage,représentation des caractères,T1,OT1,fontes)
-metatag-og:title=(What are encodings?)+metatag-og:title=(Que sont les encodages)
 metatag-og:site_name=(FAQ LaTeX francophone) metatag-og:site_name=(FAQ LaTeX francophone)
 }} }}
- 
2_programmation/encodage/notion_d_encodage.1629662054.txt.gz · Dernière modification : 2021/08/22 19:54 de jejust
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0