ESTHÉTIQUE
SIMPLICITÉ
EFFICACITÉ

Aneartiste sur deviantartAneartiste sur twitter Aneartiste sur scoop-it

Du livre imprimé à l’Internet des écrits

Les intuitions éclairées de Gutenberg

L’imprimerie en tant qu'industrie apparaît au XVe siècle et constitue le premier moyen de communication permettant de démocratiser la production de l’écrit et sa circulation. En dépit de l'affirmation établie, Johannes Gutenberg n'a pas totalement inventé l'imprimerie. L’impression à l'aide de bois en relief existait en Chine dès la fin du premier millénaire, ainsi que la presse, et les caractères mobiles étaient déjà utilisés depuis le XIVe siècle comme en atteste leurs présences sur des almanachs de cette époque. Mais il a perfectionné et développé les techniques qui allaient faire de l'imprimerie une industrie à part entière. Ses compétences d’orfèvre et de chimiste lui permirent d'expérimenter les alliages nécessaires et de mettre au point la gravure des poinçons, initiant ainsi la méthode de réutilisation des caractères.

Mais historiquement, le livre imprimé n’a pris sa forme connue qu'un demi siècle après. Dans les premières années, les imprimeurs imitaient les scribes, avec des caractères reproduisant l’é­cri­tu­re ma­nus­crite des moines-copistes. On retrouvera ces caractères dans certaines fontes modernes (Textura, Rotunda, Schwabacher, Fraktur) bien qu'elles s'avèrent le plus souvent difficilement lisibles. C'est le livre couplé à l'invention des premières polices de caractères par les imprimeurs Antoine Augereau, Claude Garamont... qui initiera l'accès de tous à l'information comme étant la véritable première révolution, ainsi qu'en témoigne l'affaire des placards en 1534. Cette simplification des caractères imprimés trouvera son apogée avec la police Futura crée par Paul Renner en 1927. La courbe de cette évolution contribuera de manière décisive à la démocratisation du savoir, et à la libre circulation des livres anticipant celle de l'information sur les réseaux cablés du XXIe siècle. Cinq siècles plus tard, deux inventions concourront à la disparition du plomb : l’offset et la photocomposition. La fabrication des caractères sera alors réduite à la photographie des lettres et à leur gravure.

Caractères d'imprimerie en plomb,Image PixabayImage Pixabay

« Mieux vaut un mauvais caractère que pas de caractère du tout. »
—Georges Bernanos


De la fonte d'imprimerie à la police vectorielle

Ultérieurement, la convergence de l'informatique et des métiers du secrétariat provoquera l'apparition des machines à écrire raccordés aux terminaux. IBM, leader en informatique invente la bureautique et produit en 1961 sa fameuse "machine à boule" permettant de disposer de caractères à chasse variable. Cette technologie ouvre la voie aux systèmes de traitement de texte qui impulsera l'invention des polices de caractères numériques actuelles. ce dé­ve­lop­pe­ment apparait comme une mutation décisive. À la manière d'un écho se prolongeant dans le couloir des siècles, le travail archaïque des graveurs de poinçons resurgit sous une nouvelle forme à la faveur de la vectorisation des formes. D'une certaine manière, la technologie effectue un retour aux sources de l'écriture imprimée en mimant la procédure qui l'a construite. Le caractère n'apparait plus comme la reproduction d'une image mais se définit désormais comme un contour que l’on remplit.

Néanmoins, sur les ordinateurs qui ac­com­pa­gnaient les premiers balbutiement d'internet, le travail consistant à mettre un place une collection de caractères typographiques qui puissent être utilisable par le plus grand nombre, au-delà des frontières et des cultures allait nécessiter plusieurs décennies. On retrouve ainsi dans cette volonté de lisibilité – Il importe que le contenu formel d'un message conserve son intégrité qu'elle que soit le récepteur et à quelque endroit du monde il se trouve – qui conduisait les premiers typographes à simplifier les caractères et à normaliser les règles d'écriture (ponctuation, signes diacritiques, etc.). Selon toute logique, l'accessibilité rime toujours avec l'adoption progressive de règles communes alliée à un compromis entre l'épure des supports et la complexité des fonctions.

Caractères de machine à écrire,Image PixabayImage Pixabay

Bureautique, BBS et ASCII-ART

L'ASCII es apparu en 1963, faisant suite au BCD développé par IBM, lui-même précédé du RADIX50, langage du premier ordinateur électronique, le Mark I (1948). L'ASCII prend en charge les principaux caractères latins et anglais, sur sept bits (2⁷ soit 128 caractères). Cette limitation à générée la technique des mainframes, images composées de caractères qui permettait de montrer ce qu'il était possible de faire avec une imprimante bien menée. Les images étaient alors d'une largeur de 120 ou 132 caractères pour une longueur variable, et autorisaient les superpositions. La pratique, reconnue ensuite sous le nom d'ASCII Art s'est répandue par le biais des premiers BBS, sur lesquels il n'était pas possible d'afficher autre chose que du texte. Cette utilisation disparut à mesure que les écrans remplaçaient les terminaux de type machine à écrire.

ASCII alphabet,ASCII alphabetASCII alphabet

« Quand on n'a pas de caractère, il faut bien se donner une méthode. »
—Albert Camus


Élaboration du standard Unicode

Avec le développement des protocoles de communication Internet basés sur 8 bits, il est apparu plus simple de n’avoir à coder les caractères que sur un seul octet. Divers systèmes ont alors été mis au point en fonction des besoins propres à chaque langue (exemples: le KOI8-R pour l’écriture cyrillique ou le BTRON3 au japon). Face à cette multiplicité de solutions incohérentes entre elles et dans un souci de compatiilité, L’ISO met en place un comité technique, mais tarde à publier sa norme (ISO/CEI 10646). De son coté le Consortium Unicode met au point la norme Unicode 1.0 en 1991 mais convient rapidement que plus d’un plan sera finalement nécessaire pour établir une norme universelle. Parallèlement l’ISO développait la norme ISO/CEI 8859-1 sur une base évolué de la variante américaine (ASCII) du jeu ISO 646, à destination des langues européennes occidentales, également nommé « latin-1 ». En 1993 la fusion des normes ISO 10646 et Unicode donne naissance à une mise à jour majeure (Unicode 1.1). À la fin de 2009, le répertoire universel (devenu UTF-8 en novembre 2003) conprenait environ 100 000 caractères (dont plus de la moitié pour les seuls sinogrammes), chacun possédant un unique code entier compris entre 0 et 10FFFF (en valeur hexadécimale, c'est à un peu plus de 1,1 million de possibilités). L'UTF-8 est maintenant utilisé par plus de 95% des sites web.

Logotype du Consortium Unicode,Consortium UnicodeConsortium Unicode

« Ce que la nature a dessiné en nous, le caractère le sculpte. »
—Louis Joseph Mabire


UTF-8 : État des lieux

Pour les développeurs, il existe toutefois un inconvénient difficilement contournable à l'UTF-8. Car les caractères sont représentés par des séquences d'octets de taille variable (de même qu'en UTF-16), ce qui rend certaines opérations sur les chaînes plus compliquées : le repérage d'une postion donnée (exprimée en nombre) dans une chaîne de texte peut s'avérer problématique. Ces incertitudes complique l'exploitation d'algorithmes efficaces en matière de comparaisons de chaines, ainsi que le démontre que l'algorithme de Knuth-Morris-Pratt et pénalise donc fortement les traitements de données en masse, comme par exemple dans l'exploitation des bases de données. En HTML5, on sera confronté à un écueil supplémentaire dans le calcul des longueurs de chaîne. L'instruction javaScript String.length renvoie le nombre de caractères utilisé tandis que l'instruction PHP strlen() renvoie elle, le nombre d'octets... Ces problèmes sont toutefois davantage lié aux aspects de normalisation que d'encodage. De ce point devue, il n'y a que les caractères réservés "<", ">" et "&" qui devront toujours être échappés en &lt; &gt; et &amp;.

L'indicateur d'ordre des octets en Unicode (Byte Order Mark ou BOM) situé au début de certains fichiers texte peut également poser quelques soucis, notamment si un document ainsi codé est affiché sur une page ISO 8859-1 en utilisant par exemple l'instruction PHP "include". Le caractère Unicode U+FEFF (zero-width no-break space) est utilisé pour marquer l'endianness d'une chaîne de caractères UCS/Unicode codée en UTF-16 ou UTF-32 (En informatique, certaines données telles que les nombres entiers peuvent être représentées sur plusieurs octets. Le terme désigne l'ordre dans lequel ces octets sont organisés en mémoire ou dans une communication), et/ou comme marqueur pour indiquer que le texte est codé en UTF-8, UTF-16 ou UTF-32. Lorsqu'il est correctement interprété, ce caractère n'est pas vu par l'utilisateur final du texte codé. En cas d'erreur, l'utilisateur est confronté en début de texte à une courte séquence de caractères incompréhensibles : . De plus, certains caractères régionaux ou accentués, ne seront alors plus affichés correctement dans la suite du texte.

Un des point décisif en faveur de l'UTF-8 réside dans le cas où l'on utilise un système de codage local. Dans ce cas de figure, il importera de référencer les caractères non pris en charge. Ce qui n'apparait pas toujours comme une solution idéale. si l'on doit par exemple afficher un passage en tchèque dans une page au format ISO 8859-1, on se verra contraint de référencer tous les caractères non pris en charge. La phrase suivante : « Jako efektivnější se nám jeví pořádání tzv. » prendra dans le code source la forme : « Jako ef­ek­tiv­n­&#x115; &j­&#x161;­&#xED; se n­&#xE1;m jev­&#xED; po­&#x159;­&#xE1;­&d­&#xE1;n­&#xED; tzv. » Ce qui peut évidemment poser des problèmes de maintenance, en plus de nuire à la lisibilité du code.

Lettres de l'alphabet cyrillique,Alphabet cyrilliqueAlphabet cyrillique

« Le talent se développe dans la retraite ; le caractère se forme dans le tumulte du monde. »
—Johann Wolfgang von Goethe


Une coexistence pas si simple

Il importe donc de distinguer deux familles d'encodage de caractères : les "locaux" et les "internationaux". Les jeux de caractères locaux (dont font partie ISO-8859-1 et ISO-8859-15 sont destinés à des documents dans un seul système d'écriture. Au contraire, les jeux de caractères internationaux (dont fait partie l'UTF-8) sont destinés à encoder des document dans n'importe quel système d'écriture (et donc n'importe quelle langue). La norme ISO-8859 couvre la quasi-totalité des langues latines. Elle est conçue pour l'échange fiable d'informations, et non pour la typographie ; elle omet des symboles nécessaires pour la typographie de qualité professionnelle : ligatures optionnelles (ct, st, ff, fl, ffi, ffl...), guillemets incurvés, tirets, etc. De ce fait, les systèmes de composition avancés utilisent soit des extensions propriétaires ou idiosyncratiques, soit Unicode . Pour ce qui concerne la langue française, L'ISO-8859-1 est minimale mais implique d'utiliser des entités HTML dès que l'on souhaite insérer un caractère ne faisant pas partie des quelques 189 disponibles. L'ISO-8859-15 est dérivé de l'ISO-8859-1. Certains caractères jugés inutiles ont été retirés et d'autres ajoutés à leur place (notamment le symbole de l'euro, «», le «š» ou le «Ÿ», et la ligature «œ»)... Si l'on passe en revue les collections qui la constitue, on trouve successivement :

• Latin-1 ou ISO/CEI 8859-1 concerne l'Europe occidentale : Allemand, Anglais, Basque, Catalan, Danois, Écossais, Espagnol, Féroïen, Finnois, Français, Islandais, Irlandais, Italien, Néerlandais, Norvégien, Portugais, Rhéto-roman et Suédois, mais aussi Albanais, Afrikaans et Swahili.
• Latin-2 ou ISO/CEI 8859-2 concerne l'Europe centrale : Bosnien, Croate, Polonais, Tchèque, Slovaque, Slovène et Hongrois.
• Latin-3 ou ISO/CEI 8859-3 pour l'Europe du Sud : Turc, Maltais, Espéranto.
• Laiin-4 ou ISO/CEI 8859-4 pour l'Europe du Nord : Estonien, Letton, Lituanien, Groenlandais, et Sami.
• Latin-5 ou ISO/CEI 8859-9 : Turc, Kurde.
• Latin-6 ou ISO/CEI 8859-10 (adaptation du latin-4) considéré plus utile pour les langues nordiques.
• Latin-7 ou ISO/CEI 8859-13 (adaptation du latin-4) destinée aux langues baltes.
• Latin-8 ou ISO/CEI 8859-14 couvre des langues celtiques : Irlandais, Gaélique écossais, Mannois, Breton.
• Latin-9 ou ISO/CEI 8859-15 (révision de 8859-1) : Français, Finnois et Estonien.
• Latin-10 ou ISO/CEI 8859-16 concerne l'Europe du Sud-Est : Albanais, Croate, Hongrois, Italien, Polonais, Roumain et Slovène.

Auxquels il faut ajouter pour terminer le cyrillique ou ISO/CEI 8859-5 qui regroupe Biélorusse, Bulgare, Macédonien, Russe, Serbe et Ukrainien. ISO/CEI 8859-6 pour l'arabe limité aux caractères les plus courants. ISO/CEI 8859-7 pour le grec moderne (orthographe monotonique) qui peut aussi être utilisée pour le grec ancien écrit sans accents, mais il manque les signes diacritiques pour l'orthographe polytonique, et ISO/CEI 8859-8 pour l'hébreu moderne.

gif Exemple Mojibake,MojibakeMojibake

« Dans la communication, le plus compliqué n'est ni le message, ni la technique, mais le récepteur. »
—Dominique Wolton


De l'importance du récepteur

En conséquence, il est indispensable lors de l'échange d'information sur Internet de préciser le codage utilisé. Ne pas le faire peut rendre un document totalement illisible. Ce phénomène est appelé "mojibake" (ou "krakozyabry" en cyrillique). Le mot japonais 文字化け (mojibake) est composé de 文字 (moji), qui signifie caractère et 化け (bake), provenant du verbe 化ける (bakeru), qui signifie apparaître de manière déguisée, prendre la forme de, changer pour le pire. Littéralement, mojibake signifie donc « changement de caractère ». Le phénomène mojibake a lieu lorsque le codage des caractères utilisé pour enregistrer un texte est différent de celui utilisé pour l'afficher, ou parce qu'un logiciel intermédiaire n'a pas effectué la conversion nécessaire. Par exemple, une page codée en ISO 8859-5 et interprétée selon la norme ISO 8859-1. Ce type de dysfonctionnement survient lorsque le code ISO approprié n'est pas définit dans le header de la page HTML en utilisant la balise suivante : <meta charset="UTF-8">

publié le 19/05/2021, à 17h10 par Frédéric Schäfer

Précédentsuivant