﻿{"id":219,"date":"2005-04-05T22:01:24","date_gmt":"2005-04-05T21:01:24","guid":{"rendered":"http:\/\/xavier.borderie.net\/blog\/2005\/03\/23\/femme-femme-femme-bruit\/"},"modified":"2005-04-21T14:34:06","modified_gmt":"2005-04-21T13:34:06","slug":"fontes-et-codages","status":"publish","type":"post","link":"https:\/\/xavier.borderie.net\/blog\/2005\/04\/05\/fontes-et-codages\/","title":{"rendered":"Fontes et Codages"},"content":{"rendered":"<span class=\"span-reading-time rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">Temps de lecture \/ Reading time\u00a0: <\/span> <span class=\"rt-time\"> 5<\/span> <span class=\"rt-label rt-postfix\">minutes.<\/span><\/span><p>Je re\u00e7ois de nombreux livres. Mon boulot \u00e0 <a href=\"http:\/\/developpeur.journaldunet.com\/\">JDN Dev<\/a> inclut la t\u00e2che de parler de deux livres toutes les deux semaines. Ces livres ne sont pas choisis par moi \u00e0 la librairie du coin, mais au sein des nouveaut\u00e9s qui nous sont gracieusement envoy\u00e9es par les services de presse de certains \u00e9diteurs (surtout Eyrolles, O&rsquo;Reilly, CampusPress et Dunod, en ce qui me concerne). \u00c0 moi d&rsquo;en choisir quelques-uns dans la pile de la semaine, et d&rsquo;en faire une review. Celle-ci doit faire dans les 8 lignes, et vanter les m\u00e9rites de l&rsquo;ouvrage (aucun int\u00e9r\u00eat \u00e0 casser un livre).<\/p>\n<p>Par exemple, cette semaine, j&rsquo;ai re\u00e7u \u00ab\u00a0Eclipse 3\u00a0\u00bb de Berthold Daum chez Dunod, et \u00ab\u00a0PHP 5 &#038; MySQL 5\u00a0\u00bb de Luke Welling &#038; Laura Thompson chez CampusPress\/PearsonEd.<\/p>\n<p>Forc\u00e9ment, le choix d&rsquo;un livre est biais\u00e9 : non seulement celui-ci doit entrer dans le cadre JDN D\u00e9veloppeurs (donc, couvrir un sujet touchant aux th\u00e8mes du site), mais \u00e9galement m&rsquo;int\u00e9resser (m\u00eame lu en diagonale, un livre sur les processeurs Itanium reste un peu lourd, d\u00e9sol\u00e9 aux auteurs). Oui, les livres sont lus en diagonale, car cette lecture s&rsquo;ajoute \u00e0 mon quota hebdomadaire de 2 tutoriels, 2 pratiques, 1 \u00ab\u00a0ma question\u00a0\u00bb, 5 news, et d&rsquo;autres choses encore. Bref.<\/p>\n<p>Certains de ces ouvrages, d\u00e8s la review r\u00e9dig\u00e9e, corrig\u00e9e et valid\u00e9e, vont dans la biblioth\u00e8que du Benchmark. Je m&rsquo;en ressers parfois\/souvent pour v\u00e9rifier une information ou appr\u00e9cier un point de vue diff\u00e9rent du mien, bref construire. Une fois par an, nombre de ces ouvrages sont donn\u00e9s \u00e0 une association qui peut en avoir besoin. D&rsquo;autres, je l&rsquo;avoue, atterrissent chez moi, o\u00f9 j&rsquo;apprends, encore, toujours (je remercie d&rsquo;ailleurs Eyrolles qui ne manque pas d&rsquo;envoyer certains livres en deux, trois, voire parfois quatre exemplaires, ce qui me permet d&rsquo;en emprunter un sans me sentir coupable).<\/p>\n<p>D&rsquo;autres, enfin, trouvent une place \u00e0 port\u00e9e de main, sous mon bureau. Ce sont ceux qui m&rsquo;ont plu au point de vouloir les lire enti\u00e8rement, et que j&rsquo;appr\u00e9cie comme on appr\u00e9cie un bon roman. \u00c9tant donn\u00e9 que je ne peux pas d\u00e9cemment lire un roman pendant mes pauses-mains (<a href=\"http:\/\/www.rsiguard.com\/\">RSI Guard<\/a> powah), je lis ceux-l\u00e0, par intermittence, et au maximum pendant 7 minutes et 17 secondes. C&rsquo;est peu, donc je n&rsquo;avance pas vite, surtout si la section que je lis est int\u00e9ressante (et donc, que je ne saute aucun paragraphe).<\/p>\n<p><img src='https:\/\/xavier.borderie.net\/blog\/wp-images\/uploads\/0504livrefontesetcodages.gif' alt='Fontes et Codages' align=\"right\" \/>Le livre sur lequel je tourne en ce moment (erm, en fait, le livre qui a fait que j&rsquo;ai commenc\u00e9 \u00e0 pratiquer cette lecture-de-pause au boulot) s&rsquo;intitule \u00ab\u00a0<a href=\"http:\/\/www.oreilly.fr\/catalogue\/284177273X.html\">Fontes et Codages<\/a>\u00a0\u00bb de <a href=\"http:\/\/omega.enstb.org\/yannis\/\">Yannis Haralambous<\/a>, chez <a href=\"http:\/\/www.oreilly.fr\/\">O&rsquo;Reilly<\/a>. J&rsquo;en ai fait un commentaire, mmmh, impossible de retrouver la page, donc \u00e7a doit faire une paye. C&rsquo;est un livre formidable, ou en tout cas que j&rsquo;aime beaucoup. Sous-titr\u00e9 \u00ab\u00a0<i>Glyphes et caract\u00e8res \u00e0 l&rsquo;\u00e8re du num\u00e9rique<\/i>\u00ab\u00a0, c&rsquo;est une somme de connaissances assez incroyable, \u00ab\u00a0condens\u00e9e\u00a0\u00bb en 990 pages et r\u00e9dig\u00e9e par une sommit\u00e9 du genre, professeur d&rsquo;informatique \u00e0 l&rsquo;<a href=\"http:\/\/www.enst-bretagne.fr\/\">ENST Bretagne<\/a>, chercheur en typographie num\u00e9rique et cod\u00e9veloppeur du logiciel <a href=\"http:\/\/omega.enstb.org\/\">&Omega;<\/a> (extension et successeur voulu de TeX).<br \/>\nUn livre que j&rsquo;aime beaucoup, donc, car m\u00eame si je n&rsquo;en suis pas bien loin dans ma lecture s\u00e9quentielle (seulement la page 300!), j&rsquo;ai l&rsquo;impression de me plonger tout \u00e0 la fois dans un dictionnaire, une encyclop\u00e9die, un livre d&rsquo;histoire, un article pol\u00e9mique et un mode d&#8217;emploi technique. Ah, et aussi dans une bande dessin\u00e9e. <\/p>\n<p>Je ne peux bien s\u00fbr parler que de l&rsquo;infime partie que j&rsquo;ai lue (et encore, j&rsquo;ai saut\u00e9 des parties qui m&rsquo;int\u00e9ressaient moins), mais j&rsquo;explique ici ces diff\u00e9rents points.<br \/>\nDictionnaire et encyclop\u00e9die : mmmh, oui, bon, les deux sont redondants, mais comprenez-moi. Je m\u00e9lange les deux, car le livre lui-m\u00eame me semble tendre autant vers le d\u00e9tail qui ne servira qu&rsquo;\u00e0 5% du lectorat (dictionnaire), que vers les grandes lignes qui entra\u00eenent tout le monde (encyclop\u00e9die). Des d\u00e9tails dans de grandes lignes, au final je pourrais presque croire que je sors d&rsquo;un d\u00e9jeuner avec Donald Knuth.<\/p>\n<p>Livre d&rsquo;histoire : c&rsquo;est un corolaire sympathique \u00e0 l&rsquo;aspect dico\/encyclo : de nombreuses pages sont consacr\u00e9es \u00e0 la gen\u00e8se d&rsquo;Unicode, et ce qui l&rsquo;a pr\u00e9c\u00e9d\u00e9. Plomb, ASCII\/EBCDIC, ISO 2022, ISO 8859-[1-16], Shift-JIS et d&rsquo;autres sont pr\u00e9sent\u00e9s dans les grandes lignes, grille de caract\u00e8res \u00e0 l&rsquo;appui et petit historique. L&rsquo;auteur y place d&rsquo;ailleurs nombre d&rsquo;anecdotes parfois sympathiques sur les querelles et les prises de d\u00e9cisions.<\/p>\n<p>Article pol\u00e9mique : ces anecdotes sont parfois pol\u00e9miques. Rappelong que l&rsquo;auteur, Yannis Haralambous, est d&rsquo;origine grecque, chercheur en langues orientales de surcro\u00eet, et enfin n&rsquo;a pas sa langue dans sa poche. Il ne manque donc pas de donner son avis sur certaines d\u00e9cisions, notamment sur la langue grecque et son \u00e9volution au fil du temps et au sein d&rsquo;Unicode. Cela donne \u00e9galement des passages amusants, comme page 98 :<\/p>\n<blockquote><p>\n&#8211; Sc (symbole mon\u00e9taire). Exemple : le caract\u00e8re du dollar \u00ab\u00a0$\u00a0\u00bb, dont le glyphe est parfois utilis\u00e9 \u00e9galement pour le caract\u00e8re \u00ab\u00a0s\u00a0\u00bb, comme dans \u00ab\u00a0Micro$oft\u00a0\u00bb ou \u00ab\u00a0U$A\u00a0\u00bb;\n<\/p><\/blockquote>\n<p>Quelle finesse.<\/p>\n<p>Mode d&#8217;emploi technique : restons simple : l&rsquo;ouvrage comporte des chapitres entiers sur l&rsquo;utilisation d&rsquo;Unicode sous WinXP\/OS X\/X Window, sur le fonctionnement de TeX, LaTeX et &Omega;, sur les usages avec XHTML&#8230; Et je n&rsquo;en suis qu&rsquo;au tiers.<\/p>\n<p>Bande dessin\u00e9e : les glyphes, leurs imbrications, leurs collaborations&#8230; Un monde merveilleux o\u00f9 les langues copulent joyeusement et de mani\u00e8re tr\u00e8s visuelle, gr\u00e2ce aux innombrables repr\u00e9sentations de glyphes donn\u00e9es en exemple.<\/p>\n<p>Et l\u00e0, vous vous demandez, mais boudiou, quelle est la diff\u00e9rence entre une fonte, une police, un glyphe et un caract\u00e8re. Moi, je le sais (j&rsquo;ai le bouquin sous les yeux), mais je ne voudrais pas vous g\u00e2cher le plaisir de la d\u00e9couverte.<\/p>\n<p>Je vais cependant vous mentionner deux parties int\u00e9ressantes de la lecture, ci-apr\u00e8s.<\/p>\n<p>La premi\u00e8re concerne les algorithmes bidirectionnels, permettant la typographie dans les deux directions (pp.130-133). J&rsquo;ai d\u00e9couvert ce probl\u00e8me par ce bouquin, car bien que je connaissais les diff\u00e9rentes m\u00e9thodes d&rsquo;\u00e9critures (gauche-droite\/occidental et droite-gauche\/moyen-oriental), je n&rsquo;avais pas imagin\u00e9 la possibilit\u00e9 cit\u00e9e : l&rsquo;int\u00e9gration d&rsquo;un texte arabe au sein d&rsquo;un texte occidental (et vice-versa). Une bonne illustration valant quatre-cent-soixante-quinze-mille-milliards de mots, voici-voil\u00e0 quelques scans, r\u00e9alis\u00e9s sans permission, mais c&rsquo;est du fair use et je fais de la pub au bouquin alors bon :<\/p>\n<div align=\"center\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/xavier.borderie.net\/blog\/wp-images\/uploads\/0504fontesbidifrar.gif\" width=\"450\" height=\"292\" alt=\"Deux exemples bidirectionnels\" title=\"Deux exemples bidirectionnels\" \/><\/div>\n<p>Voici donc deux mani\u00e8res de pr\u00e9senter cette insertion : dans la premi\u00e8re, le texte arabe est imbriqu\u00e9, c&rsquo;est-\u00e0-dire  que le texte arabe ins\u00e9r\u00e9 dans la continuit\u00e9 du texte occidental. La deuxi\u00e8me mani\u00e8re est une d\u00e9couverte : l&rsquo;arrangement s\u00e9quentiel permet de combiner textes gauche-droite et droite-gauche de telle mani\u00e8re que les deux modes soient plus lisibles. Cela requiert cependant un travail certain, comme le montre le scan suivant :<\/p>\n<div align=\"center\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/xavier.borderie.net\/blog\/wp-images\/uploads\/0504bidirepresentation.gif\" width=\"425\" height=\"177\" alt=\"Parcours bidirectionnel\" title=\"Parcours bidirectionnel\" \/><\/div>\n<p>Comme l&rsquo;indique l&rsquo;auteur : \u00ab\u00a0bel exercice de mobilit\u00e9 oculaire !\u00a0\u00bb Unicode prend en compte le probl\u00e8me, mais le probl\u00e8me lui-m\u00eame est tellement \u00e9l\u00e9gant que j&rsquo;en ai \u00e9t\u00e9 souffl\u00e9.<\/p>\n<p>La seconde partie qui m&rsquo;a fait lever le sourcil, rel\u00e8ve plus de la cocasserie (hohoho), et est bien \u00e9loign\u00e9e de l&rsquo;admiration que peut procurer la r\u00e9flexion n\u00e9cessaire aux algorithmes bidirectionnels.<br \/>\nLes langues id\u00e9ographiques (extr\u00eame Orient et voisins) sont mutantes : malgr\u00e9 l&rsquo;insertion de plus de 70 000 id\u00e9ogrammes au sein d&rsquo;Unicode, de nouvelles combinaisons se font tous les jours, au besoin du temps qui passe. Unicode a donc mis au point des caract\u00e8res de commandes permettant \u00e0 l&rsquo;utilisateur de combiner lui-m\u00eame des id\u00e9ogrammes simples en un id\u00e9ogramme plus compliqu\u00e9 (p. 147) :<\/p>\n<div align=\"center\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/xavier.borderie.net\/blog\/wp-images\/uploads\/0504fontescaracterescommand.gif\" width=\"450\" height=\"32\" alt=\"Caract\u00e8res de commande\" title=\"Caract\u00e8res de commande\" \/><\/div>\n<p>Et l&rsquo;auteur de nous donner quelques exemples  simples :<\/p>\n<div align=\"center\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/xavier.borderie.net\/blog\/wp-images\/uploads\/0504fontesexemplescombinais.gif\" width=\"450\" height=\"156\" alt=\"Exemples de combinaisons\" title=\"Exemples de combinaisons\" \/><\/div>\n<p>On admire alors toute la beaut\u00e9 de cette \u00e9criture, qui forme des mots gr\u00e2ce \u00e0 des combinaisons plus ou moins logiques. Femme+9 mois ? Grossesse, bien s\u00fbr ! Toit + femme ? Euh, \u00ab\u00a0tranquillit\u00e9 \u00ab\u00a0, ah, d&rsquo;accord. Boite+grand = cause, allons bon. Promenade+rivi\u00e8re = patrouille, admettons, on mettra \u00e7a sur les traumatismes du Vietnam.<\/p>\n<p>Puis l&rsquo;auteur donne deux exemples compos\u00e9s, dont celui-ci :<\/p>\n<div align=\"center\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/xavier.borderie.net\/blog\/wp-images\/uploads\/0504fontesfemmesbruit.gif\" width=\"450\" height=\"37\" alt=\"Femme+femme+femme=bruit\" title=\"Femme+femme+femme=bruit\" \/><\/div>\n<p>&#8230;<\/p>\n<p>R\u00e9sumons donc :<br \/>\n &#8211; Femme + 9e mois, grossesse. Ok.<br \/>\n &#8211; Toit + femme, tranquillit\u00e9. Genre tu peux aller au bar, madame reste \u00e0 sa place. Surpris de ne pas trouver Cuisine + femme, mais \u00e7a doit faire partie des coutumes occidentales&#8230;<br \/>\n &#8211; Femme + femme + femme, bruit. Je crois que cet id\u00e9ogramme parle pour lui-m\u00eame.<\/p>\n<p>C&rsquo;\u00e9tait donc une nouvelle fois l&rsquo;occasion de sourire le long de cette lecture passionnante. Le texte foisonne litt\u00e9ralement de r\u00e9f\u00e9rences \u00e0 droite et \u00e0 gauche, donnant ainsi vie \u00e0 ce qui ne serait autrement qu&rsquo;un n-i\u00e8me encodage, Unicode. Ce livre me permet d&rsquo;appr\u00e9cier \u00e0 leur juste valeur les geeks allant jusqu&rsquo;\u00e0 se faire un <a href=\"http:\/\/www.ianalbert.com\/misc\/unichart.php\">poster de tous les caract\u00e8res d&rsquo;Unicode<\/a>, et me donne presque envie d&rsquo;en faire de m\u00eame&#8230;<\/p>\n<p>\u00ab\u00a0Fontes et Codages\u00a0\u00bb de Yannis Haralambous. A lire.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Je re\u00e7ois de nombreux livres. Mon boulot \u00e0 JDN Dev inclut la t\u00e2che de parler de deux livres toutes les deux semaines. Ces livres ne sont pas choisis par moi \u00e0 la librairie du coin, mais au sein des nouveaut\u00e9s qui nous sont gracieusement envoy\u00e9es par les services de presse de certains \u00e9diteurs (surtout Eyrolles, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7,14,3,8],"tags":[],"class_list":["post-219","post","type-post","status-publish","format-standard","hentry","category-amusant","category-critiques","category-lectures","category-offline"],"_links":{"self":[{"href":"https:\/\/xavier.borderie.net\/blog\/wp-json\/wp\/v2\/posts\/219","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/xavier.borderie.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/xavier.borderie.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/xavier.borderie.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/xavier.borderie.net\/blog\/wp-json\/wp\/v2\/comments?post=219"}],"version-history":[{"count":0,"href":"https:\/\/xavier.borderie.net\/blog\/wp-json\/wp\/v2\/posts\/219\/revisions"}],"wp:attachment":[{"href":"https:\/\/xavier.borderie.net\/blog\/wp-json\/wp\/v2\/media?parent=219"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/xavier.borderie.net\/blog\/wp-json\/wp\/v2\/categories?post=219"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/xavier.borderie.net\/blog\/wp-json\/wp\/v2\/tags?post=219"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}