<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="http://typographisme.net/feed/rss2/xslt" ?><rss version="2.0"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:wfw="http://wellformedweb.org/CommentAPI/"
  xmlns:content="http://purl.org/rss/1.0/modules/content/"
  xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
  <title>Typographisme - Design Web</title>
  <link>http://typographisme.net/</link>
  <atom:link href="http://typographisme.net:443/feed/category/articles/Design-Web/rss2" rel="self" type="application/rss+xml"/>
  <description>Un site tenu par des amoureux de la typo, sur le Web comme ailleurs.</description>
  <language>fr</language>
  <pubDate>Mon, 03 Jul 2017 21:38:45 +0200</pubDate>
  <copyright></copyright>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Dotclear</generator>

  
  <item>
    <title>De la césure et du Web</title>
    <link>http://typographisme.net/post/De-la-cesure-et-du-Web</link>
    <guid isPermaLink="false">urn:md5:ec81a7878ff63c5e253cb53e2f623dea</guid>
    <pubDate>Tue, 06 Mar 2012 09:00:00 +0100</pubDate>
    <dc:creator>Jeremie</dc:creator>
        <category>Design Web</category>
        
    <description>&lt;p&gt;La césure (ou «&amp;#160;hyphen&amp;#160;» en anglais) est une coupure de mot qui survient en fin de ligne. Il s&amp;#8217;agit d&amp;#8217;un artifice bien connu des composeurs pour gérer les lignes de texte justifié depuis des siècles. Jusqu&amp;#8217;à présent, son usage sur le Web était difficile, on la disait même parfois impossible. Cependant, comme vous allez le voir, beaucoup de choses sont en fait possibles. Entre solutions des temps anciens et nouveautés de CSS3, voyons comment démocratiser l&amp;#8217;usage des césures sur le Web. &lt;/p&gt;
&lt;img src=&quot;http://typographisme.net/fichiers/2012-03/cesure/cesure.jpg&quot; alt=&quot;&quot; /&gt;
&lt;p class=&quot;caption&quot;&gt;Photo&amp;#160;: &lt;a href=&quot;http://pages.videotron.com/schamp&quot;&gt;Stéphane Champagne&lt;/a&gt;&lt;/p&gt;    &lt;h2&gt;Au début était HTML&lt;/h2&gt;
&lt;p&gt;Contrairement à une idée reçue, la césure est un mécanisme relativement ancien sur le Web. En effet, des possibilités de césure existaient déjà dans les vieilles versions d&amp;#8217;Internet Explorer (avant même sa version 6) et font partie de la norme HTML depuis au moins sa version 3.2.&lt;/p&gt;
&lt;p&gt;Historiquement donc, HTML définit deux méthodes permettant de spécifier des opportunités de césure &lt;a href=&quot;http://typographisme.net/post/De-la-cesure-et-du-Web#note1&quot; id=&quot;note1b&quot; title=&quot;une opportunité de césure, c'est un endroit où le navigateur aura le droit de réaliser une césure. Par contre, le fait qu'il y ait ou non une césure à cet endroit spécifique dépend de ses propre règles internes.&quot;&gt;[1]&lt;/a&gt;&amp;#160;: &lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;strong&gt;L&amp;#8217;entité de caractère &lt;/strong&gt;&lt;code&gt;&lt;strong&gt;&amp;amp;shy;&lt;/strong&gt;&lt;/code&gt;&lt;br /&gt;Cette entité HTML représente le caractère «&amp;#160;césure douce&amp;#160;» &lt;a href=&quot;http://typographisme.net/post/De-la-cesure-et-du-Web#note2&quot; id=&quot;note2b&quot; title=&quot;« Soft hyphen » dans la langue de Shakespeare, nom de code U+00AD en Unicode&quot;&gt;[2]&lt;/a&gt;. Ce caractère est invisible jusqu’à ce qu&amp;#8217;une césure soit réellement pratiquée, auquel cas, il apparaît comme un tiret.&lt;/li&gt;
&lt;li&gt;&lt;a title=&quot;La balise WBR sur MDN&quot; hreflang=&quot;en&quot; href=&quot;https://developer.mozilla.org/en/HTML/Element/wbr&quot;&gt;&lt;strong&gt;La balise &lt;code&gt;&amp;lt;wbr&amp;gt;&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;Cette balise fait quasiment la même chose que l&amp;#8217;entité &lt;code&gt;&amp;amp;shy;&lt;/code&gt;. La seul différence tient au fait que cette balise ne matérialisera pas les césures sous forme d&amp;#8217;un tiret. À l&amp;#8217;origine c&amp;#8217;est une balise non standard largement implémentée dans les navigateurs (à commencer par Internet Explorer) qui, au vu de son large support, a finalement été &lt;a hreflang=&quot;en&quot; href=&quot;http://www.w3.org/TR/html5-author/the-wbr-element.html&quot;&gt;standardisée dans HTML5&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Un des usages les plus courants de ces deux éléments consiste à définir soi-même les opportunités de césure sur des mots particuliers&amp;#160;:&lt;/p&gt;
&lt;pre&gt;&amp;lt;p&amp;gt;Des opportunités de césures pour le mot « anti&amp;amp;shy;con&amp;amp;shy;sti&amp;amp;shy;tu&amp;amp;shy;tion&amp;amp;shy;nel&amp;amp;shy;lement »&amp;lt;/p&amp;gt;&lt;/pre&gt;
&lt;p&gt;La balise &lt;code&gt;&amp;lt;wbr&amp;gt;&lt;/code&gt; est plus appropriée pour les cas où un tiret de césure induirait une ambiguïté comme dans les URL&amp;#160;:&lt;/p&gt;
&lt;pre&gt;&amp;lt;p&amp;gt;http://&amp;lt;wbr&amp;gt;typographisme.net/&amp;lt;wbr&amp;gt;post/&amp;lt;wbr&amp;gt;De-la-cesure-et-du-Web&amp;lt;/p&amp;gt;&lt;/pre&gt;&lt;p&gt;J&amp;#8217;ai réalisé une petite page de test où vous pouvez voir toutes &lt;a hreflang=&quot;fr&quot; href=&quot;http://typographisme.net/fichiers/2012-03/cesure/index.html#test1&quot;&gt;ces techniques en action&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Le principal problème de cette méthode, c&amp;#8217;est qu&amp;#8217;elle requiert que vous définissiez vous-même, à la main, toute les opportunités de césure. Autant ce peut être acceptable pour un mot de-ci de-là, autant cela relève de l&amp;#8217;utopie lorsqu&amp;#8217;il s&amp;#8217;agit de gérer un texte complet. Ceci dit, rien ne vous empêche de gérer ces opportunités de césure via &lt;a hreflang=&quot;en&quot; href=&quot;http://phphyphenator.yellowgreen.de/&quot;&gt;un script côté serveur&lt;/a&gt;, qui fera le travail pour vous.&lt;/p&gt;
&lt;p&gt;Du point de vue de l&amp;#8217;accessibilité par contre il faut vous méfier, ces deux mécanismes étant gérés de manière assez disparate par les assistances techniques. Selon les outils utilisés le rendu peut alors être assez différent. A titre d&amp;#8217;exemple, VoiceOver avec Safari a tendance à vocaliser les mots sous forme de syllabes. Si vous avez des retours d’expérience concret sur ce point, les commentaires vous tendent les bras.&lt;/p&gt;
&lt;h2&gt;Puis vint JavaScript&lt;/h2&gt;
&lt;p&gt;Pour automatiser tout ça, une autre option consiste à utiliser JavaScript. Pour cela, il existe plusieurs solutions, de &lt;a hreflang=&quot;en&quot; href=&quot;http://ejohn.org/blog/injecting-word-breaks-with-javascript/&quot;&gt;la plus frustre&lt;/a&gt; (à base d&amp;#8217;expressions régulières) à &lt;a hreflang=&quot;en&quot; href=&quot;http://code.google.com/p/hyphenator/&quot;&gt;la plus élégante&lt;/a&gt; (via hyphenator.js). &lt;/p&gt;
&lt;p&gt;À titre d&amp;#8217;exemple, l&amp;#8217;utilisation du script &lt;em&gt;hyphenator&lt;/em&gt; (qui, soulignons-le, fait les choses dans les règles de l&amp;#8217;art) est redoutablement simple&amp;#160;:&lt;/p&gt;
&lt;pre&gt;&amp;lt;p class=&quot;hyphenate&quot;&amp;gt;D'abord un gardien de Camargue...&amp;lt;/p&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;script src=&quot;http://typographisme.net/post/Hyphenator/Hyphenator.js&quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;script&amp;gt;&lt;br /&gt;Hyphenator.run();&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;/pre&gt;&lt;p&gt;Toujours sur la page de test, vous pouvez voir &lt;a hreflang=&quot;fr&quot; href=&quot;http://typographisme.net/fichiers/2012-03/cesure/index.html#test3&quot;&gt;ce script en action&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Au-delà de cette simplicité de façade, ce script offre de nombreuses possibilités de personnalisation que je ne vous détaillerai pas ici mais qui vous permettront de raffiner vos césures en fonction de vos besoins.&lt;/p&gt;
&lt;p&gt;Ceci dit, l&amp;#8217;utilisation de ce genre de script peut avoir un coût particulièrement significatif pour les performances de votre site. En effet, au-delà des calculs que doit faire le navigateur pour positionner les entités &lt;code&gt;&amp;amp;shy;&lt;/code&gt; là où il le faut, une bonne gestion des césures nécessite ce que l&amp;#8217;on appelle un «&amp;#160;dictionnaire de césure&amp;#160;». En effet, une césure, ça ne se place pas n&amp;#8217;importe où et chaque langue a ses propres règles en la matière. Ainsi, pour éviter les césures disgracieuses, il faut définir toutes les règles d&amp;#8217;application. &lt;/p&gt;
&lt;p&gt;Ces règles peuvent, selon les langues, être assez volumineuses et alourdir considérablement le poids de votre page. À titre d&amp;#8217;exemple, le dictionnaire de césure d&amp;#8217;hyphenator pour le hongrois fait 455Ko (!), pour l&amp;#8217;allemand 79Ko et pour l&amp;#8217;anglais britannique encore 45ko… mais pour le français, seulement 8ko et moins de 2ko pour l&amp;#8217;italien. Soyez donc prudent si vous utilisez cette solution, en particulier dans un environnement à faible bande passante comme les réseaux mobiles.&lt;/p&gt;
&lt;h2&gt;Enfin apparut CSS&lt;/h2&gt;
&lt;p&gt;Ainsi, jusqu&amp;#8217;à présent, les solutions dont nous disposions n&amp;#8217;étaient pas forcément très aisées à mettre en oeuvre pour gérer les césures. Néanmoins, les choses changent. Ainsi le module &lt;a hreflang=&quot;en&quot; href=&quot;http://www.w3.org/TR/css3-text/&quot;&gt;CSS3 Text&lt;/a&gt; définit une nouvelle propriété nommée &lt;code&gt;hyphens&lt;/code&gt;. Elle va nous permettre de gérer la césure automatique des mots à l&amp;#8217;aide d&amp;#8217;une simple déclaration CSS&amp;#160;: bonheur et simplicité.&lt;/p&gt;
&lt;pre&gt;&amp;lt;style&amp;gt;&lt;br /&gt;.hyphenate {&lt;br /&gt;    hyphens: auto;&lt;br /&gt;}&lt;br /&gt;&amp;lt;/style&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;p class=&quot;hyphenate&quot;&amp;gt;D'abord un gardien de Camargue...&amp;lt;/p&amp;gt;&lt;/pre&gt;&lt;p&gt;Cette propriété étant encore jeune, elle n&amp;#8217;est pas encore bien répandue. Cependant, au moment où j’écris ces lignes, elle commence à être disponible en version préfixée&amp;#160;: &lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Firefox (avec le préfixe &lt;code&gt;-moz-&lt;/code&gt;) a été le premier à la mettre en œuvre pour &lt;a hreflang=&quot;en&quot; href=&quot;https://developer.mozilla.org/en/CSS/hyphens#Browser_compatibility&quot;&gt;une trentaine de langues environ&lt;/a&gt; à l&amp;#8217;heure actuelle,&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Chrome et Safari (avec le préfixe &lt;code&gt;-webkit-&lt;/code&gt;) sont également dans la course, mais les langues supportées en dehors de l&amp;#8217;anglais ne sont pas connues.&lt;/li&gt;
&lt;li&gt;Enfin, Internet Explorer 10 (avec le préfixe &lt;code&gt;-ms-&lt;/code&gt;) va s&amp;#8217;y mettre à son tour avec une vingtaine de langues à son actif.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Là aussi, la page de test vous permet de voir &lt;a hreflang=&quot;fr&quot; href=&quot;http://typographisme.net/fichiers/2012-03/cesure/index.html#test4&quot;&gt;le résultat de cette propriété CSS&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Le principal intérêt de cette méthode est que les dictionnaires de césure dont nous parlions précédemment sont directement embarqués au sein du navigateur et n&amp;#8217;alourdissent donc pas votre page. Ceci dit, comme nous l&amp;#8217;avons vu, ces dictionnaires peuvent être volumineux et certains éditeurs de navigateur font le choix de ne pas les fournir sur les versions mobile de leur navigateur, afin que celles-ci restent le plus compactes possible sur des plateformes à faibles capacités. Il n&amp;#8217;y a donc pas de garantie de fonctionnement systématique de cette solution qui, rappelons-le, reste expérimentale.&lt;/p&gt;
&lt;h2&gt;Le mot de la fin&lt;/h2&gt;
&lt;p&gt;Avec ce tour d&amp;#8217;horizon, vous n&amp;#8217;avez désormais plus d&amp;#8217;excuse, vous pouvez utiliser les césures sur le Web. En fonction de vos prérequis, vous êtes libre de choisir la technique qui vous convient le mieux&amp;#160;: toutes ont leurs avantages et leurs inconvénients. À vous de peser le pour et le contre mais maintenant, vous le savez, c&amp;#8217;est possible.&lt;/p&gt;
&lt;p&gt;Ceci étant dit, ce n&amp;#8217;est pas parce que c&amp;#8217;est possible qu&amp;#8217;il faut le faire. À titre très personnel, je fais partie de ces gens qui ont toujours trouvé que les césures sont horriblement disgracieuses. En ces temps modernes de l&amp;#8217;informatique, il existe d&amp;#8217;autres solutions plus élégantes pour répartir les blancs au sein des lignes sans avoir à couper les mots. Les utilisateurs de technologies comme LaTex le savent bien, il existe des algorithmes mathématiques capables de créer des textes justifiés sans césure ni rivière de blanc en son sein. Peut-être un jour verrons-nous cela dans nos navigateurs mais, &lt;a hreflang=&quot;en&quot; href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=630181&quot;&gt;pour des raisons extrêmement techniques&lt;/a&gt;, ce n&amp;#8217;est malheureusement pas pour tout de suite. En attendant, et bien… s&amp;#8217;il le faut vraiment, coupez les mots.&lt;/p&gt;
&lt;ol class=&quot;note&quot;&gt;
&lt;li id=&quot;note1&quot;&gt;Une opportunité de césure, c&amp;#8217;est un endroit où le navigateur aura le droit de réaliser une césure. Par contre, le fait qu&amp;#8217;il y ait ou non une césure à cet endroit spécifique dépend de ses propre règles internes. &lt;a href=&quot;http://typographisme.net/post/De-la-cesure-et-du-Web#note1b&quot; title=&quot;reprendre la lecture là où vous l'avez laissée&quot;&gt;[retour]&lt;/a&gt;&lt;/li&gt;
&lt;li id=&quot;note2&quot;&gt;«&amp;#160;Soft hyphen&amp;#160;» dans la langue de Shakespeare, nom de code U+00AD en Unicode &lt;a href=&quot;http://typographisme.net/post/De-la-cesure-et-du-Web#note2b&quot; title=&quot;reprendre la lecture là où vous l'avez laissée&quot;&gt;[retour]&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;</description>

    

      </item>
  
  <item>
    <title>Macro-typographie sur le Web – Une grille dynamique</title>
    <link>http://typographisme.net/post/Macro-typographie-sur-le-Web-%E2%80%93-Less-is-more</link>
    <guid isPermaLink="false">urn:md5:c9a149eba57954f342f375cd2429a272</guid>
    <pubDate>Fri, 29 Apr 2011 08:37:00 +0200</pubDate>
    <dc:creator>Vincent</dc:creator>
        <category>Design Web</category>
        
    <description>&lt;p&gt;«&amp;#160;Une grille typographique est une structure à deux dimensions faite de séries d&amp;#8217;axes verticaux et
horizontaux s&amp;#8217;intersectant utilisés pour structurer le contenu.&amp;#160;»&lt;/p&gt;
&lt;p&gt;Passé cette &lt;a href=&quot;http://fr.wikipedia.org/wiki/Grille_%28mise_en_page%29&quot;&gt;définition trouvée sur Wikipedia&lt;/a&gt; un peu abrupte, je retiendrai pour ma part l’explication qu’en faisait Anne-Sophie lors du dernier cycle de conférence Paris-Web&amp;#160;: &lt;strong&gt;notre cerveau a besoin pour pouvoir anticiper au mieux de ne pas être distrait dans sa tâche principale.&lt;/strong&gt; Lui proposer une structure logique et répétitive permettra donc de faciliter la lecture.&lt;/p&gt;
&lt;p&gt;L’analogie avec les marches d’escalier m&amp;#8217;a d&amp;#8217;ailleurs terriblement convaincu… C&amp;#8217;est quand même plus agréable de ne pas devoir regarder ses pieds à chaque marche&amp;#160;!&lt;/p&gt;
&lt;p style=&quot;margin-bottom:0&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;http://typographisme.net/fichiers/macro-typo/escalier.jpg&quot; /&gt;&lt;/p&gt;
&lt;p class=&quot;caption&quot;&gt;Photographie sous licence Creative Commons par &lt;a href=&quot;http://www.flickr.com/photos/pierrebedat/2585849105/&quot;&gt;Pierre Bédat&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Après avoir passé en revue &lt;a href=&quot;http://typographisme.net/post/Macro-typographie-sur-le-Web-Quelques-outils&quot;&gt;outils&lt;/a&gt; et &lt;a href=&quot;http://typographisme.net/post/Macro-typographie-sur-le-Web-Mise-en-pratique&quot;&gt;techniques&lt;/a&gt; pour travailler correctement avec des grilles de mise en page verticales et horizontales,&amp;nbsp; il est temps de s&amp;#8217;affranchir des défauts inhérents à la bibliothèque précédemment choisie (Blueprint)&amp;#160;; mais aussi y apporter une plus grande… Soup–Less–e&amp;#160;!
&lt;/p&gt;
&lt;p&gt;Voyons ensemble les avantages à compiler les feuilles de style&amp;#160;! (Et c&amp;#8217;est promis, plus de jeu de mots.)&lt;/p&gt;    &lt;h2&gt;Rappels&lt;/h2&gt;
&lt;p&gt;Nous avions identifié trois défauts importants à l’utilisation d&amp;#8217;un &lt;em lang=&quot;en&quot;&gt;framework&lt;/em&gt; &lt;abbr&gt;CSS&lt;/abbr&gt;&amp;#160;:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;des &lt;strong&gt;classes non-sémantiques&lt;/strong&gt; présentes dans le code HTML&amp;#160;;&lt;/li&gt;
&lt;li&gt;une &lt;strong&gt;portabilité&lt;/strong&gt; de la structure qui s’en retrouve &lt;strong&gt;compliquée&lt;/strong&gt;&amp;#160;;&lt;/li&gt;
&lt;li&gt;un &lt;strong&gt;poids&lt;/strong&gt; de fichiers assez &lt;strong&gt;important&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Essayons de nous en affranchir au mieux à l’aide de Less.&lt;/p&gt;
&lt;h2&gt;Less&lt;/h2&gt;
&lt;p&gt;&lt;a hreflang=&quot;en&quot; href=&quot;http://lesscss.org/&quot;&gt;Less&lt;/a&gt; est un &lt;strong&gt;compilateur CSS&lt;/strong&gt; (tout comme son «&amp;#160;concurrent&amp;#160;» &lt;a hreflang=&quot;en&quot; href=&quot;http://compass-style.org/&quot;&gt;Compass&lt;/a&gt;) qui permet d&amp;#8217;ajouter des notions de programmation à vos feuilles de style.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Sa syntaxe se veut facile à appréhender puisque basée sur une syntaxe CSS enrichie. On déclare ainsi &lt;code&gt;@variables&lt;/code&gt;, &lt;code&gt;.fonctions(){…}&lt;/code&gt;, et &lt;code&gt;#autres{#imbrications{…}}&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;C&amp;#8217;est très simple et très rapide à comprendre mais surtout, cela permet plein de nouvelles choses… Qu&amp;#8217;on ne soupçonne peut-être pas au premier abord&amp;#160;!&lt;/p&gt;
&lt;h2&gt;Méthodologie&lt;/h2&gt;
&lt;p&gt;Installer Less est assez simple. Vos CSS actuelles renommées avec une nouvelle extension Less seront immédiatement compatibles. Il ne reste plus qu&amp;#8217;à mettre en place le compilateur. Pour cela plusieurs cas de figure en fonction de votre environnement&amp;#160;:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Les Linuxiens adeptes de la ligne de commande préféreront sans doute passer par &lt;a hreflang=&quot;en&quot; href=&quot;http://lesscss.org/#-server-side-usage&quot;&gt;une version serveur du compilateur&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Les Maqueux adeptes de la simplicité auront la chance de pouvoir compiler en toute transparence leurs fichiers à l&amp;#8217;aide d&amp;#8217;&lt;a hreflang=&quot;en&quot; href=&quot;http://incident57.com/less/&quot;&gt;un petit logiciel résident&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Les Windowsiens adeptes des mauvaises idées devront se contenter d&amp;#8217;&lt;a hreflang=&quot;en&quot; href=&quot;http://lesscss.org/#-client-side-usage&quot;&gt;un compilateur en JavaScript&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a hreflang=&quot;en&quot; href=&quot;http://incident57.com/less/&quot;&gt;&lt;img alt=&quot;Less.app&quot; src=&quot;http://typographisme.net/fichiers/macro-typo/less.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Oubliez les trolls (merci d’avance), je ne souhaite que pointer du doigt la mauvaise idée qui consiste bien évidemment à laisser en production le compilateur &lt;abbr title=&quot;JavaScript&quot;&gt;JS&lt;/abbr&gt;. Dans ce cas, la présentation de vos pages dépendrait uniquement du support JavaScript de votre client…&lt;/p&gt;
&lt;p&gt;N&amp;#8217;oubliez donc pas si vous utilisez le compilateur côté client de le débrancher en fin de développement. Et de lier de manière tout à fait conventionnelle votre toute nouvelle CSS compilée par ses soins.&lt;/p&gt;
&lt;p&gt;Il existe d’ailleurs sous Windows &lt;a hreflang=&quot;en&quot; href=&quot;http://www.vertstudios.com/blog/less-app-windows-sorta/&quot;&gt;quelques solutions à creuser&lt;/a&gt; qui permettront de contourner l’obstacle.&lt;/p&gt;
&lt;h2&gt;Une grille configurable&lt;/h2&gt;
&lt;p&gt;Maintenant que notre nouvel outil est en place, il est possible d’imaginer de nouvelles choses.&lt;/p&gt;
&lt;p&gt;Pour rappel Blueprint propose par défaut une grille verticale de &lt;strong&gt;24 colonnes de 30 pixels de large&lt;/strong&gt; séparées entre elles par &lt;strong&gt;des gouttières de 10 pixels.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;En modifiant la bibliothèque et définissant quelques variables, on peut alors facilement composer n&amp;#8217;importe quelle autre grille. Il suffit pour cela de &lt;strong&gt;configurer&lt;/strong&gt; la largeur de colonnes, leur nombre, et la largeur de leurs gouttières.&lt;/p&gt;
&lt;p&gt;La bibliothèque tout entière sera alors générée en fonction de ces paramètres et même #grid (l&amp;#8217;outil bien pratique utilisé en surimpression de la page) s&amp;#8217;adaptera aux nouvelles exigences.&lt;/p&gt;
&lt;p&gt;Envie d’essayer &lt;a hreflang=&quot;en&quot; href=&quot;http://960.gs/&quot; lang=&quot;en&quot;&gt;960 Grid System&lt;/a&gt; par exemple&amp;#160;? Hop&amp;#160;:&lt;/p&gt;
&lt;pre&gt; @column: 60px; // des colonnes confortables  ;&lt;br /&gt; @margin: 20px; // des gouttières plus larges ;
@columns: 12;   // et un nombre de colonnes divisible par 2, 3, 4 et 6.&lt;/pre&gt;
&lt;p&gt;C&amp;#8217;est très simple et tout peut-être ainsi configuré à notre convenance&amp;#160;: grilles, marges, bordures, couleurs, &lt;abbr title=&quot;et cætera&quot; lang=&quot;en&quot;&gt;etc&lt;/abbr&gt;.&lt;/p&gt;
&lt;h2&gt;Une séparation stricte du contenu et de la présentation&lt;/h2&gt;
&lt;p&gt;On reproche aussi souvent aux bibliothèques CSS d&amp;#8217;introduire un code non-sémantique dans les fichiers HTML. Ce qui pose bien évidemment quelques soucis lorsqu&amp;#8217;il s&amp;#8217;agit
d&amp;#8217;adapter la grille à différents périphériques, nous l&amp;#8217;avons vu précédemment.&lt;/p&gt;
&lt;p&gt;Pour illustrer mon propos, partons de ce bout code très classique (un contenu principal composé d&amp;#8217;un titre, d&amp;#8217;un paragraphe d&amp;#8217;introduction et de contenu standard&amp;#160;; une colonne secondaire)&amp;#160;:&lt;/p&gt;
&lt;pre&gt;&amp;lt;div class=&quot;clearfix&quot; lang=&quot;la&quot;&amp;gt;&lt;br /&gt;   &amp;lt;div class=&quot;span-6&quot;&amp;gt;&lt;br /&gt;      &amp;lt;p&amp;gt;Lorem ipsum dolor…&amp;lt;/p&amp;gt;&lt;br /&gt;   &amp;lt;/div&amp;gt;&lt;br /&gt;&amp;nbsp;  &amp;lt;div class=&quot;span-18 last&quot;&amp;gt;&lt;br /&gt;      &amp;lt;h1&amp;gt;Sit amet !&amp;lt;/h1&amp;gt;&lt;br /&gt;      &amp;lt;p class=&quot;large&quot;&amp;gt;Magna aliquam erat volutpat…&amp;lt;/p&amp;gt;&lt;br /&gt;      &amp;lt;p&amp;gt;Consectetur adipiscing elit…&amp;lt;/p&amp;gt;&lt;br /&gt;   &amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;/pre&gt;
&lt;p&gt;Avec Less, notre code HTML va se simplifier et devenir bien &lt;strong&gt;plus sémantique&lt;/strong&gt; (plus aucune classe ne traîne, si ce n&amp;#8217;est le &lt;code&gt;first-child&lt;/code&gt;, présent ici pour des raisons de compatibilité avec le plus ancien des navigateurs du moment)&amp;#160;:&lt;/p&gt;
&lt;pre&gt;&amp;lt;div id=&quot;page&quot; lang=&quot;la&quot;&amp;gt;&lt;br /&gt;   &amp;lt;div id=&quot;sidebar&quot;&amp;gt;&lt;br /&gt;      &amp;lt;p&amp;gt;Lorem ipsum dolor…&amp;lt;/p&amp;gt;&lt;br /&gt;   &amp;lt;/div&amp;gt;&lt;br /&gt;&amp;nbsp;  &amp;lt;div id=&quot;content&quot;&amp;gt;&lt;br /&gt;      &amp;lt;h1&amp;gt;Sit amet !&amp;lt;/h1&amp;gt;&lt;br /&gt;      &amp;lt;p class=&quot;first-child&quot;&amp;gt;Magna aliquam erat volutpat…&amp;lt;/p&amp;gt;&lt;br /&gt;      &amp;lt;p&amp;gt;Consectetur adipiscing elit…&amp;lt;/p&amp;gt;&lt;br /&gt;   &amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;/pre&gt;
&lt;p&gt;Notre feuille de style au format Less récupère alors simplement les informations de présentation&amp;#160;:&lt;/p&gt;
&lt;pre&gt;#page&lt;br /&gt;{&lt;br /&gt;   .clearfix;&lt;br /&gt;&lt;br /&gt;   #sidebar&lt;br /&gt;   {&lt;br /&gt;      .span(6);&lt;br /&gt;   }&lt;br /&gt;   #content&lt;br /&gt;   {&lt;br /&gt;      .span(18);&lt;br /&gt;      .last;&lt;br /&gt;&lt;br /&gt;      p.first-child&lt;br /&gt;      {&lt;br /&gt;         .large;&lt;br /&gt;      }&lt;br /&gt;   }&lt;br /&gt;}&lt;/pre&gt;
&lt;p&gt;On pourra alors adapter facilement sa présentation en fonction de la taille d&amp;#8217;écran du terminal client, notamment à l&amp;#8217;aide des &lt;a hreflang=&quot;en&quot; href=&quot;http://www.w3.org/TR/css3-mediaqueries/&quot;&gt;&lt;code&gt;media-queries&lt;/code&gt;&lt;/a&gt;.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Il suffira par exemple de ne plus positionner la colonne et le contenu l&amp;#8217;un à côté de l&amp;#8217;autre, mais l&amp;#8217;un au dessus de l&amp;#8217;autre, séparés visuellement par une bordure. Plus besoin ici de s’embêter avec &lt;code&gt;first-child&lt;/code&gt;&amp;#160;: &lt;abbr title=&quot;Internet Explorer&quot;&gt;IE&lt;/abbr&gt; 6 ne supportant pas de toute manière les &lt;code&gt;media-queries&lt;/code&gt;.&lt;/p&gt;
&lt;pre&gt;@media (max-device-width: 480px)&lt;br /&gt;   #page&lt;br /&gt;   {&lt;br /&gt;      #sidebar&lt;br /&gt;      {&lt;br /&gt;         border-bottom: 1px solid #000;&lt;br /&gt;         margin-top: -1px;&lt;br /&gt;         .append-bottom();&lt;br /&gt;      }&lt;br /&gt;      #content&lt;br /&gt;      {         &lt;br /&gt;         p:first-child&lt;br /&gt;         {&lt;br /&gt;            .large;&lt;br /&gt;         }&lt;br /&gt;      }&lt;br /&gt;   }&lt;/pre&gt;&lt;h2&gt;Comment ça marche&amp;#160;?&lt;/h2&gt;
&lt;p&gt;Deux techniques sont employées ici&amp;#160;:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;strong&gt;l&amp;#8217;héritage,&lt;/strong&gt; qui nous permet de ne pas réécrire inutilement des portions de code&amp;#160;;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;les fonctions,&lt;/strong&gt; qui nous permettent de produire un code CSS différent en fonction de variables.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Dans Blueprint nous avons&amp;#160;:&lt;/p&gt;
&lt;pre&gt;.large
{&lt;br /&gt;   font-size: 1.2em;&lt;br /&gt;   line-height: 2.5em;&lt;br /&gt;   margin-bottom: 1,25em;&lt;br /&gt;} &lt;/pre&gt;
&lt;p&gt;Il n&amp;#8217;est pas besoin de copier/coller les propriétés du sélecteur&amp;#160;: il suffit &lt;strong&gt;d&amp;#8217;en hériter.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;De la même manière pour les colonnages, au lieu de passer par&amp;#160;:&lt;/p&gt;
&lt;pre&gt;.span-6&lt;br /&gt;{&lt;br /&gt;   width: 230px;&lt;br /&gt;}&lt;br /&gt;.span-6&lt;br /&gt;{&lt;br /&gt;   float: left;&lt;br /&gt;   margin-right: 10px;&lt;br /&gt;}&lt;/pre&gt;
&lt;p&gt;Il suffira de coder une petite fonction pour en automatiser la tâche&amp;#160;:&lt;/p&gt;
&lt;pre&gt;.span(@level)&lt;br /&gt;{&lt;br /&gt;   float: left;&lt;br /&gt;   margin-right: @margin;&lt;br /&gt;   width: (@level * @column) + ((@level - 1) * @margin);&lt;br /&gt;}&lt;/pre&gt;&lt;p&gt;Ce qui revient à calculer automatiquement&amp;#160;:&lt;/p&gt;
&lt;pre&gt;.span(6)&lt;br /&gt;{&lt;br /&gt;   float: left;&lt;br /&gt;   margin-right: 10px;&lt;br /&gt;   width: (6 * 30px) + (5 * 10px); // soit 230 pixels&lt;br /&gt;}&lt;/pre&gt;&lt;p&gt;Il sera même possible de «&amp;#160;casser&amp;#160;» la grille par moments en passant en paramètre un nombre à virgule et créer ainsi des demi-colonnes par exemple…&lt;/p&gt;
&lt;h2&gt;Simplifier les calculs en &lt;code&gt;em&lt;/code&gt;&lt;/h2&gt;
&lt;p&gt;Puisqu’il est possible d&amp;#8217;effectuer des calculs simples, cela va grandement simplifier tout ce que nous devions réaliser sur la base de règles de trois. En particulier les calculs sur les tailles de textes.&lt;/p&gt;
&lt;p&gt;Voici une petite fonction d&amp;#8217;exemple&amp;#160;:&lt;/p&gt;
&lt;pre&gt;.font-size(@after)&lt;br /&gt;{&lt;br /&gt;   @before     : 12;    // la taille de texte par défaut (en pixels après calculs)&lt;br /&gt;   @line-height: 1.5em; // la hauteur de ligne par défaut&lt;br /&gt;   @ratio      : 3 / 2; // le ratio entre la hauteur de ligne et la taille de texte&lt;br /&gt;&lt;br /&gt;       font-size: @line-height / @ratio * @after / @before;              // la nouvelle taille  de texte calculée (exprimée en em)&lt;br /&gt;     line-height: @line-height * (@before * @ratio) / (@after * @ratio); // la nouvelle hauteur de ligne calculée (exprimée en em)&lt;br /&gt;   margin-bottom: @line-height * (@before * @ratio) / (@after * @ratio); // la marge ajoutée en bas de l’élément égale à la nouvelle hauteur de ligne&lt;br /&gt;}&lt;/pre&gt;
&lt;p&gt;Elle facilitera grandement la mise en place d&amp;#8217;un corps de texte sur un paragraphe&amp;#160;:&lt;/p&gt;
&lt;pre&gt;p.de-bonne-taille&lt;br /&gt;{&lt;br /&gt;   .font-size(15); // on demande 15 pixels mais les résultats seront bien exprimés en em&lt;br /&gt;}&lt;/pre&gt;
&lt;p&gt;Le code CSS une fois compilé aura cette allure&amp;#160;:&lt;/p&gt;
&lt;pre&gt;p.de-bonne-taille&lt;br /&gt;{&lt;br /&gt;   font-size: 1.25em;    // soit 15 pixels&lt;br /&gt;   line-height: 1.2em;   // soit 18 pixels&lt;br /&gt;   margin-bottom: 1.2em; // soit 18 pixels&lt;br /&gt;}&lt;/pre&gt;&lt;h2&gt;Des fichiers optimisés&lt;/h2&gt;
&lt;p&gt;Dernier avantage à cette technique&amp;#160;: le poids de vos fichiers CSS s’en trouve optimisé. Plus besoin de prévoir tous les cas de figure pour vos colonnages, vous n’embarquez dans vos fichiers compilés que ce qui vous est nécessaire. Exit donc ce défaut également.&lt;/p&gt;
&lt;p&gt;Sans compter que – cerise sur le gâteau – le code CSS une fois compilé peut-être automatiquement compressé. &lt;/p&gt;
&lt;p&gt;Blueprint passe ainsi de 13,2&amp;#160;Ko à 6,6&amp;#160;Ko par défaut&amp;#160;!&lt;/p&gt;
&lt;p&gt;La prudence s&amp;#8217;impose néanmoins&amp;#160;: mesurez bien l&amp;#8217;impact de vos héritages et de vos imbrications car cela peut peser parfois lourd lors de la compilation.&lt;/p&gt;
&lt;h2&gt;grid.less&amp;#160;?&lt;/h2&gt;
&lt;p&gt;Il ne tient maintenant plus qu&amp;#8217;à vous de produire votre bibliothèque CSS dans un format dynamique. Non seulement vous découvrirez sans doute plein de choses sur la bibliothèque elle-même, mais vous pourrez aussi produire quelque chose qui correspondra parfaitement à vos attentes.&lt;/p&gt;
&lt;p&gt;J&amp;#8217;ai, pour ma part, fait ce travail (déjà à améliorer, c&amp;#8217;est certain) et je vous propose si vous le souhaitez de vous en inspirer&amp;#160;: &lt;a style=&quot;font-weight: bold;&quot; href=&quot;http://typographisme.net/fichiers/macro-typo/blueprint.less.zip&quot;&gt;blueprint.less.zip&lt;/a&gt;. L’archive est accompagnée d’un petit fichier texte explicatif et inclut déjà quelques &lt;code&gt;media-queries&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;La compilation dynamique de vos &lt;em lang=&quot;en&quot;&gt;framework&lt;/em&gt; &lt;abbr&gt;CSS&lt;/abbr&gt; est une solution élégante pour continuer à utiliser les grilles de mise en page encore plus simplement, j&amp;#8217;en suis convaincu, j’espère que vous le serez également&amp;#160;!&lt;/p&gt;</description>

    

      </item>
  
  <item>
    <title>Les ligatures dans les navigateurs</title>
    <link>http://typographisme.net/post/Les-ligatures-dans-les-navigateurs</link>
    <guid isPermaLink="false">urn:md5:82bd64df6b592d7792b1a87488edf310</guid>
    <pubDate>Wed, 06 Apr 2011 09:00:00 +0200</pubDate>
    <dc:creator>Jeremie</dc:creator>
        <category>Design Web</category>
        
    <description>&lt;p&gt;On sait tous que les navigateurs ne sont pas les champions du monde de la gestion typographique. Ceci étant, ils s&amp;#8217;améliorent tous les jours et parmi toutes les chipoteries typographiques il y en a une qui commence timidement à faire son apparition dans les navigateurs&amp;#160;: la gestion des ligatures. C&amp;#8217;est loin d&amp;#8217;être parfait, mais il y a déjà moyen de faire quelques petites choses.&lt;/p&gt;
&lt;img title=&quot;La ligature ft de la Garamond, avr. 2011&quot; alt=&quot;La ligature ft de la Garamond&quot; src=&quot;http://typographisme.net/fichiers/2011-04/garamond-ft.jpg&quot; /&gt;
&lt;p class=&quot;caption&quot;&gt;La ligature traditionnelle des lettres &amp;#8220;f&amp;#8221; et &amp;#8220;t&amp;#8221; de la police Garamond.&lt;/p&gt;    &lt;h2&gt;C&amp;#8217;est quoi une ligature&amp;#160;?&lt;/h2&gt;
&lt;p&gt;Avant de rentrer dans le vif du sujet, rappelons brièvement ce que sont les ligatures typographiques. Pour faire simple, une ligature typographique consiste à lier&amp;nbsp;&lt;a href=&quot;http://typographisme.net/post/Les-ligatures-dans-les-navigateurs#note1&quot; id=&quot;note1b&quot; title=&quot;Étymologiquement, « lier » et « ligature » ont la même origine, s'il y a des sémiologue parmi vous, faites vous plaisir dans les commentaires :)&quot;&gt;[1]&lt;/a&gt; deux glyphes pour en former un nouveau. Les ligatures ont évolué au cours de l&amp;#8217;histoire de l&amp;#8217;écriture puis de la typographie et toutes les langues ne sont pas égales face à cette notion. Par exemple, l&amp;#8217;alphabet arabe ou certains alphabets asiatiques en font un usage très important. Ici, je vais me concentrer sur les ligatures des langues reposant sur l&amp;#8217;alphabet latin (rien que ça ce n&amp;#8217;est déjà pas simple).&lt;/p&gt;
&lt;p&gt;Les ligatures des langues en alphabet latin sont, grosso modo, de 4 ordres&amp;nbsp;&lt;a href=&quot;http://typographisme.net/post/Les-ligatures-dans-les-navigateurs#note2&quot; id=&quot;note2b&quot; title=&quot;Amis typographes qui nous lisez, n'hésitez pas à compléter/corriger mes explications superficielles spécial noob dans les commentaires.&quot;&gt;[2]&lt;/a&gt;&amp;#160;: les ligatures obligatoires, Les ligatures ordinaires, les ligatures esthétiques et les ligatures spécifiques.&lt;/p&gt;
&lt;h3&gt;Ligatures obligatoires&lt;/h3&gt;
&lt;p&gt;Il s&amp;#8217;agit de ligatures locales, liées à une langue précise et qui, si
elles ne sont pas faites, consistent le plus souvent en une faute
d&amp;#8217;orthographe. Par exemple, en français, la ligature du «&amp;#160;o&amp;#160;» et du «&amp;#160;e&amp;#160;»
est obligatoire («&amp;#160;oeil&amp;#160;» est une faute, là ou «&amp;#160;œil&amp;#160;» ne l&amp;#8217;est pas). C&amp;#8217;est
la même chose pour le caractère «&amp;#160;ß&amp;#160;» (&lt;em&gt;Eszett&lt;/em&gt;) en allemand qui est en fait la ligature obligatoire des lettres «&amp;#160;s&amp;#160;» et «&amp;#160;z&amp;#160;»&amp;nbsp;&lt;a href=&quot;http://typographisme.net/post/Les-ligatures-dans-les-navigateurs#note3&quot; id=&quot;note3b&quot; title=&quot;ou « s » et « s », cette ligature a une histoire complexe et je vous invite à lire cet article de Jacques Poitou si vous voulez en savoir plus : http://j.poitou.free.fr/pro/html/typ/allemand.html&quot;&gt;[3]&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;Ligatures ordinaires&lt;/h3&gt;
&lt;p&gt;Elles sont des ligatures optionnelles (mais vivement recommandées) qui correspondent à des pratiques issues de la typographie au plomb. Elles permettent de résoudre élégamment des problèmes d&amp;#8217;esthétique liés à l&amp;#8217;approche des caractères. Par exemple, lorsque vous accolez un «&amp;#160;T&amp;#160;» et un «&amp;#160;o&amp;#160;», le «&amp;#160;o&amp;#160;» donne l&amp;#8217;impression de flotter car l&amp;#8217;espace sous la barre du «&amp;#160;T&amp;#160;» est vide. Pour corriger ce problème visuel, il faut réduire l&amp;#8217;approche entre les deux caractères. Si de nos jours, il est possible de véritablement modifier l&amp;#8217;approche entre les caractères, à l&amp;#8217;époque du plomb, la seule solution consistait à fondre un seul caractère comportant les deux glyphes «&amp;#160;To&amp;#160;». Un autre cas plus épineux se présente si vous accolez un «&amp;#160;f&amp;#160;» et un «&amp;#160;i&amp;#160;». Dans ce cas, l&amp;#8217;approche n&amp;#8217;a pas nécessairement besoin de changer, mais visuellement, la barre du «&amp;#160;f&amp;#160;» rentre en collision avec le point du «&amp;#160;i&amp;#160;». Pour corriger ce défaut visuel, il est possible de réaliser une ligature en ne créant qu&amp;#8217;un seul caractère qui se permet de redessiner le «&amp;#160;f&amp;#160;» pour faire en sorte qu&amp;#8217;il tombe exactement à la place du point du «&amp;#160;i&amp;#160;» rendant le dessin global plus harmonieux.&lt;/p&gt;
&lt;img title=&quot;Ligature f et i avec Adobe Caslon&quot; alt=&quot;Ligature fi avec Adobe Caslon&quot; src=&quot;http://typographisme.net/fichiers/2011-04/fi.png&quot; /&gt;
&lt;p class=&quot;caption&quot;&gt;C&amp;#8217;est quand même mieux une fois que la ligature est réalisée.&lt;/p&gt;
&lt;h3&gt;Ligatures esthétiques&lt;/h3&gt;
&lt;p&gt;Ce sont, elles aussi, des ligatures provenant de la typographie traditionnelle au plomb. Par contre, contrairement aux ligatures ordinaires qui résolvent de vrais problèmes visuels, elles ne sont là que pour «&amp;#160;faire joli&amp;#160;». C&amp;#8217;est par exemple le cas des ligatures «&amp;#160;c&amp;#160;» et «&amp;#160;t&amp;#160;» ou bien «&amp;#160;s&amp;#160;» et «&amp;#160;t&amp;#160;» (que personnellement j&amp;#8217;adore, en particulier sur les serifs).&lt;/p&gt;
&lt;h3&gt;Ligatures spécifiques&lt;/h3&gt;
&lt;p&gt;On les appelles également ligatures discrétionnaires&amp;#160;: elles sont propres à une police de caractères donnée et ont été créés par le dessinateur de la police à des fin esthétiques spécifiques. En effet, dans l&amp;#8217;absolu, toute association de caractères peut faire l&amp;#8217;objet d&amp;#8217;une ligature et certains dessinateurs de fonte ne s&amp;#8217;en privent pas.&lt;/p&gt;
&lt;img title=&quot;Olicana, de Nick Cooke, avr. 2011&quot; alt=&quot;Olicana, de Nick Cooke&quot; src=&quot;http://typographisme.net/fichiers/2011-04/olicana.png&quot; /&gt;
&lt;p class=&quot;caption&quot;&gt;Olicana, de Nick Cooke, est une manuaire comportant près de 100 ligatures spécifiques afin de lui donner le naturel d&amp;#8217;une véritable écriture manuscrite.&lt;/p&gt;
&lt;p&gt;Enfin, historiquement parlant, certains caractères que nous utilisons quotidiennement dans le Web sont en fait des ligatures qui sont passées dans l&amp;#8217;usage courant et sont désormais des caractères à part entière. C&amp;#8217;est la cas de l&amp;#8217;esperluette «&amp;#160;&amp;amp;&amp;#160;» qui est la ligature de la conjonction «&amp;#160;et&amp;#160;» et il y des soupçons à propos de l&amp;#8217;arobase «&amp;#160;@&amp;#160;» qui serait la ligature du latin «&amp;#160;ad&amp;#160;».&lt;/p&gt;
&lt;h2&gt;Comment ça marche techniquement&lt;/h2&gt;
&lt;p&gt;Donc, les ligatures améliorent la lisibilité et l&amp;#8217;esthétique des fontes. En général, en informatique, la gestion des ligatures fait l&amp;#8217;objet d&amp;#8217;un traitement plus ou moins automatique et cela dépend beaucoup des logiciels qui assurent le rendu typographique. Les navigateurs Web ne font pas exception et ce sont eux qui doivent faire le boulot (souvent en se reposant sur l&amp;#8217;OS sous-jacent). Or donc, comment ça marche dans les navigateurs&amp;#160;?&lt;/p&gt;
&lt;h3&gt;Les ligatures dépendent de la police de caractère…&lt;/h3&gt;
&lt;p&gt;Eh oui&amp;#160;! Avant même de vous demander si votre navigateur va pouvoir afficher ou non les ligatures, la première chose à faire est de vous assurer que les fontes que vous allez utiliser comportent les éléments nécessaires pour les afficher. Pour faire simple, soit votre police embarque directement les caractères ligaturés soit elle est au format OpenType, TrueType ou WOFF&amp;nbsp;&lt;a href=&quot;http://typographisme.net/post/Les-ligatures-dans-les-navigateurs#note4&quot; id=&quot;note4b&quot; title=&quot;Par abus de langage, dans la suite de cet article, je ne parlerai plus que du format OpenType car la plupart du temps les formats TrueType et WOFF sont des dérivés d'OpenType.&quot;&gt;[4]&lt;/a&gt; et comporte les instructions spécifiques permettant de gérer les ligatures automatiquement.&lt;/p&gt;
&lt;p&gt;Si comme moi vous avez l&amp;#8217;habitude d&amp;#8217;utiliser le site &lt;a hreflang=&quot;en&quot; rel=&quot;external&quot; href=&quot;http://www.fontsquirrel.com/fontface/generator&quot;&gt;fontsquirrel.com&lt;/a&gt; pour optimiser vos polices pour le Web, faites attention. En effet, si vous décidez de réduire le jeu de caractère de la police, vous perdrez la gestion des ligatures au sein de la police (même si vous demandez expressément à garder les caractères ligaturés, les automatismes de substitution, eux, seront quand même perdus). Donc, si vous voulez pouvoir disposer à la fois du support des ligatures et d&amp;#8217;une fonte ne comprenant que les caractères qui vous sont nécessaires, il vous faudra soit vous renseigner au près du fondeur de la police pour obtenir une version Web adaptée à vos besoins, soit, si la licence de la police le permet&amp;nbsp;&lt;a href=&quot;http://typographisme.net/post/Les-ligatures-dans-les-navigateurs#note5&quot; id=&quot;note5b&quot; title=&quot;Vérifiez bien ce point car c'est souvent très loin d'être le cas. En gros, avec une autre licence que la OFL ou une licence de type BSD/MIT, c'est mort. Même la GPL est problématique dans ce cas là car il vous faudra publier les sources de votre police modifiée.&quot;&gt;[5]&lt;/a&gt;, passer par un logiciel d&amp;#8217;édition de fonte pour faire ces optimisations vous-même.&lt;/p&gt;
&lt;h3&gt;…et du navigateur&lt;/h3&gt;
&lt;p&gt;Voila, vous êtes sûr que votre police est capable de gérer les ligatures, voyons maintenant comment ça se passe dans le navigateur.&lt;/p&gt;
&lt;h4&gt;Caractères et entités XML&lt;/h4&gt;
&lt;p&gt;Un certain nombre de ligatures sont normées au niveau d&amp;#8217;Unicode. En conséquence, il est tout à fait possible d&amp;#8217;utiliser directement les caractères ou les entités XML correspondants pour les utiliser dans vos texte HTML&lt;/p&gt;
&lt;pre&gt;&amp;lt;p&amp;gt;Une &amp;amp;#xFB01;lle de cœur&amp;lt;/p&amp;gt;&lt;/pre&gt;
&lt;p&gt;Le problème de cette méthode c&amp;#8217;est que d&amp;#8217;une part toutes les ligatures ne font pas partie de la norme Unicode et d&amp;#8217;autre part, si pour une raison ou une autre, votre police ne comporte pas le caractère correspondant (par exemple, votre fonte déclarée via @font-face ne s&amp;#8217;est pas chargée), vous aurez droit à un joli symbole de glyphe introuvable, ce qui n&amp;#8217;est pas forcément très heureux&amp;#160;! Personnellement, je vous conseille de n&amp;#8217;utiliser cette technique que pour les ligatures obligatoires (comme le «&amp;#160;œ&amp;#160;» en français).&lt;/p&gt;
&lt;h4&gt;SVG text-rendering&lt;/h4&gt;
&lt;p&gt;La norme SVG&amp;nbsp;&lt;a href=&quot;http://typographisme.net/post/Les-ligatures-dans-les-navigateurs#note6&quot; id=&quot;note6b&quot; title=&quot;Oui, encore elle ! Vous aurez noté que j'aime beaucoup SVG :)&quot;&gt;[6]&lt;/a&gt; étend CSS en définissant &lt;a hreflang=&quot;en&quot; rel=&quot;external&quot; href=&quot;http://www.w3.org/TR/SVG/painting.html#TextRenderingProperty&quot;&gt;la propriété text-rendering&lt;/a&gt;. Cette propriété permet de dire au navigateur s&amp;#8217;il doit privilégier la lisibilité des polices ou bien les performances d&amp;#8217;affichage. La norme ne spécifie pas explicitement ce qui améliore la lisibilité ou les performances. Chaque navigateur est libre de faire ce qu&amp;#8217;il veut.&lt;/p&gt;
&lt;p&gt;Chrome, Safari et Firefox 3.6 sont les premiers navigateurs à gérer l&amp;#8217;automatisation des ligatures disponibles dans les fontes OpenType. Ils considèrent également que les ligatures ordinaires servent à améliorer la lisibilité. Ainsi, il est possible d&amp;#8217;activer (ou pas) le support des ligatures ordinaires en utilisant cette propriétés CSS.&lt;/p&gt;
&lt;pre&gt;p {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; text-rendering : optimizeLegibility;&lt;br /&gt;}&lt;/pre&gt;&lt;pre&gt;&amp;lt;p&amp;gt;Le trafic est fluide.&amp;lt;/p&amp;gt;&lt;/pre&gt;&lt;p&gt;Dans l&amp;#8217;exemple précédent, vous noterez que les ligatures ordinaires «&amp;#160;f&amp;#160;» et «&amp;#160;i&amp;#160;» ainsi que «&amp;#160;f&amp;#160;» et «&amp;#160;l&amp;#160;» sont bien réalisées mais pas la ligature esthétique «&amp;#160;s&amp;#160;» et «&amp;#160;t&amp;#160;». &lt;/p&gt;
&lt;img title=&quot;Ligatures communes, avr. 2011&quot; alt=&quot;Ligatures communes&quot; src=&quot;http://typographisme.net/fichiers/2011-04/ligatures.png&quot; /&gt;
&lt;p class=&quot;caption&quot;&gt;Quelques unes des ligatures les plus communes. «&amp;#160;ct&amp;#160;» et «&amp;#160;st&amp;#160;» étant esthétiques, elles ne seront pas affichées par défaut dans les navigateurs.&lt;/p&gt;
&lt;p&gt;Par défaut, Firefox 3.6 affiche systématiquement les ligatures ordinaires pour tout texte d&amp;#8217;une taille supérieure ou égale à 20&amp;nbsp;px. Donc, si vous voulez explicitement désactiver les ligatures (Ah bon&amp;#160;! Vraiment&amp;#160;?), vous devrez utiliser la propriété &lt;code&gt;text-rendering&lt;/code&gt; avec la valeur &lt;code&gt;optimizeSpeed&lt;/code&gt;. Dans Chrome et Safari, c&amp;#8217;est l&amp;#8217;inverse si vous voulez forcer l&amp;#8217;affichage des ligatures, vous devrez explicitement utiliser la valeur &lt;code&gt;optimizeLegibility&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Cette utilisation de la propriété &lt;code&gt;text-rendering&lt;/code&gt; est largement sujette à caution, et chaque navigateur y va de son interprétation&amp;#160;: &lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Firefox 3.6 l&amp;#8217;utilise pour activer ou non les ligatures ordinaires sous Windows et Linux, mais pas sous Mac OSX. &lt;/li&gt;
&lt;li&gt;Firefox 4 ne l&amp;#8217;utilise plus&amp;#160;! Il affiche toujours les ligatures (sous tous les OS) par défaut et considère qu&amp;#8217;il n&amp;#8217;est pas possible d&amp;#8217;accélérer encore plus l&amp;#8217;affichage du texte par rapport à ce qu&amp;#8217;il fait déjà et ne tiendra donc pas compte de cette propriété qui sera sans effet. Il ne serait donc pas possible de désactiver les ligatures sous Firefox 4&amp;#160;? Si, si, j&amp;#8217;y viens.&lt;/li&gt;
&lt;li&gt;Chrome (10) et Safari (5) fonctionnent comme Firefox 3.6 (si ce n&amp;#8217;est mieux), mais uniquement sous Mac OSX et Windows 7. Sous Windows XP, au contraire,&amp;nbsp;&lt;a hreflang=&quot;en&quot; rel=&quot;external&quot; href=&quot;https://bugs.webkit.org/show_bug.cgi?id=42140&quot;&gt;cette fonctionnalité est sérieusement buguée&lt;/a&gt; &lt;a href=&quot;http://typographisme.net/post/Les-ligatures-dans-les-navigateurs#note7&quot; id=&quot;note7b&quot; title=&quot;Ne pas troller, surtout ne pas troller.&quot;&gt;[7]&lt;/a&gt;&amp;#160;: Si vous utilisez @font-face avec une police OpenType et que vous appliquez la propriété &lt;code&gt;text-rendering&lt;/code&gt;, votre police ne sera pas affichée si votre texte comporte au moins une espace inter-mot (alors qu&amp;#8217;avec une police TrueType, il n&amp;#8217;y a aucun problème, mais la qualité de rendu est moindre)&amp;#160;!&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;CSS3 font-feature-settings&lt;/h4&gt;
&lt;p&gt;Le module CSS3 Font est bien connu pour définir tout le mécanisme des déclarations @font-face, mais il fait bien plus que ça. En effet, il définit également comment les différentes fonctionnalités des polices peuvent être activées ou non.&lt;/p&gt;
&lt;p&gt;Je ne rentrerai pas trop dans les détails ici car pour l&amp;#8217;instant ce module est en pleine discussion et beaucoup de choses changent quasiment tous les jours à son propos. Néanmoins, il y a une propriété qui est &lt;a hreflang=&quot;en&quot; href=&quot;https://developer.mozilla.org/en/CSS/-moz-font-feature-settings&quot;&gt;disponible expérimentalement dans Firefox 4&lt;/a&gt; (donc préfixée par &lt;code&gt;-moz-&lt;/code&gt;)&amp;#160;: &lt;code&gt;font-feature-settings&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Cette propriété permet d&amp;#8217;activer ou non l&amp;#8217;ensemble des fonctionnalités et effets spéciaux des fontes OpenType un par un. L&amp;#8217;exemple ci-après montre comment activer l&amp;#8217;ensemble des ligatures possibles dans Firefox 4&amp;#160;:&lt;/p&gt;
&lt;pre&gt;p {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; -moz-font-feature-setting : &quot;liga=1,clig=1,dlig=1,hlig=1,rlig=1&quot;;&lt;br /&gt;}&lt;/pre&gt;&lt;pre&gt;&amp;lt;p&amp;gt;la star des fillettes.&amp;lt;/p&amp;gt;&lt;/pre&gt;&lt;p&gt;C&amp;#8217;est actuellement le seul moyen de gérer les ligatures dans Firefox 4. À terme, d&amp;#8217;autres propriétés CSS3 viendront simplifier l&amp;#8217;accès à certaines fonctionnalités&amp;#160;: les ligatures, les petites capitales, les glyphes alternatifs, etc. En effet, la propriété &lt;code&gt;font-feature-setting&lt;/code&gt; est une propriété générique de «&amp;#160;bas niveau&amp;#160;» permettant d&amp;#8217;accéder à l&amp;#8217;ensemble des fonctionnalités OpenType. Il y a donc, parmi d&amp;#8217;autres, une proposition pour que les ligatures puissent être gérées indépendamment via une propriété spécifique&amp;#160;: la propriété &lt;code&gt;font-variant-ligature&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Au niveau du CSS working group, tout cela est encore hautement volatile et j&amp;#8217;aurai l&amp;#8217;occasion de vous détailler un peu tout ça dans un futur article quand les choses commenceront à se tasser et à faire consensus (et si possible avec des débuts d&amp;#8217;implémentation). Mais pour l&amp;#8217;instant, c&amp;#8217;est un peu prématuré.&lt;/p&gt;
&lt;h2&gt;Le pour et le contre&lt;/h2&gt;
&lt;p&gt;Bon, une fois qu&amp;#8217;on s&amp;#8217;est dit tout ça, on fait quoi&amp;#160;? Ligature ou pas ligature&amp;#160;?&lt;/p&gt;
&lt;p&gt;Comme on l&amp;#8217;a vu, techniquement parlant, il est assez difficile de bien contrôler les ligatures que l&amp;#8217;on souhaite appliquer à son texte. En particulier, chaque navigateur ayant sa propre approche du sujet, cela ne reste finalement qu&amp;#8217;un joli plus mais dont il faudra apprendre à vous passer. Comme souvent sur le Web, il y a trop de facteurs inconnus pour être sûr que l&amp;#8217;on contrôle correctement l&amp;#8217;affichage. En outre, le Web se caractérise par des choix à faire, parfois difficiles, entre esthétique et performance. Il est, hélas, impossible d&amp;#8217;avoir des fontes aussi belles que dans un livre sans en payer le coût en terme de poids des fichiers de police.&lt;/p&gt;
&lt;p&gt;Néanmoins, ce serait vraiment dommage de vous passer des ligatures, en particulier sur les titrailles où les glyphes sont visuellement plus «&amp;#160;présents&amp;#160;» que dans le texte courant. L’esthétique globale des polices en bénéficiera toujours et donc le design de vos pages aussi en général.&lt;/p&gt;
&lt;p&gt;Comme d&amp;#8217;habitude en termes de web design, je prêche le pragmatisme lié à votre contexte de déploiement (par exemple, les contraintes du «&amp;#160;mobile&amp;#160;» et du «&amp;#160;desktop&amp;#160;» sont différentes). Le plus important de mon point de vue (et souvent le plus mal fait) consistant à bien optimiser vos fontes pour le Web (messieurs les fondeurs, si vous nous lisez, ce serait vraiment du bonheur si vous pouviez proposer des outils de construction des fichiers de fonte pour le Web à la demande… si possible accessibles directement en ligne).&lt;/p&gt;
&lt;ol class=&quot;note&quot;&gt;
&lt;li id=&quot;note1&quot;&gt;Étymologiquement, «&amp;#160;lier&amp;#160;» et «&amp;#160;ligature&amp;#160;» ont la même origine, s&amp;#8217;il y a des sémiologues parmi vous, faites-vous plaisir dans les commentaires :) &lt;a href=&quot;http://typographisme.net/post/Les-ligatures-dans-les-navigateurs#note1b&quot; title=&quot;reprendre la lecture là où vous l'avez laissée&quot;&gt;[retour]&lt;/a&gt;&lt;/li&gt;
&lt;li id=&quot;note2&quot;&gt;Amis typographes qui nous lisez, n&amp;#8217;hésitez pas à compléter/corriger mes explications superficielles spécial noob dans les commentaires. &lt;a href=&quot;http://typographisme.net/post/Les-ligatures-dans-les-navigateurs#note2b&quot; title=&quot;reprendre la lecture là où vous l'avez laissée&quot;&gt;[retour]&lt;/a&gt;&lt;/li&gt;
&lt;li id=&quot;note3&quot;&gt;ou «&amp;#160;s&amp;#160;» et «&amp;#160;s&amp;#160;», cette ligature a une histoire complexe et je vous invite à lire cet article de Jacques Poitou si vous voulez en savoir plus&amp;#160;: &lt;a hreflang=&quot;fr&quot; href=&quot;http://j.poitou.free.fr/pro/html/typ/allemand.html&quot;&gt;http://j.poitou.free.fr/pro/html/typ/allemand.html&lt;/a&gt;. &lt;a href=&quot;http://typographisme.net/post/Les-ligatures-dans-les-navigateurs#note3b&quot; title=&quot;reprendre la lecture là où vous l'avez laissée&quot;&gt;[retour]&lt;/a&gt;&lt;/li&gt;
&lt;li id=&quot;note4&quot;&gt;Par abus de langage, dans la suite de cet article, je ne parlerai plus que du format OpenType car la plupart du temps les formats TrueType et WOFF sont des dérivés d&amp;#8217;OpenType. &lt;a href=&quot;http://typographisme.net/post/Les-ligatures-dans-les-navigateurs#note4b&quot; title=&quot;reprendre la lecture là où vous l'avez laissée&quot;&gt;[retour]&lt;/a&gt;&lt;/li&gt;
&lt;li id=&quot;note5&quot;&gt;Vérifiez bien ce point car c&amp;#8217;est souvent très loin d&amp;#8217;être le cas. En gros, avec une autre licence que la OFL ou une licence de type BSD/MIT, c&amp;#8217;est mort. Même la GPL est problématique dans ce cas là car il vous faudra publier les sources de votre police modifiée. &lt;a href=&quot;http://typographisme.net/post/Les-ligatures-dans-les-navigateurs#note5b&quot; title=&quot;reprendre la lecture là où vous l'avez laissée&quot;&gt;[retour]&lt;/a&gt;&lt;/li&gt;
&lt;li id=&quot;note6&quot;&gt;Oui, encore elle&amp;#160;! Vous aurez noté que j&amp;#8217;aime beaucoup SVG :) &lt;a href=&quot;http://typographisme.net/post/Les-ligatures-dans-les-navigateurs#note6b&quot; title=&quot;reprendre la lecture là où vous l'avez laissée&quot;&gt;[retour]&lt;/a&gt;&lt;/li&gt;
&lt;li id=&quot;note7&quot;&gt;Ne pas troller, surtout ne pas troller. &lt;a href=&quot;http://typographisme.net/post/Les-ligatures-dans-les-navigateurs#note7b&quot; title=&quot;reprendre la lecture là où vous l'avez laissée&quot;&gt;[retour]&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;</description>

    

      </item>
  
  <item>
    <title>Pourquoi les fontes SVG sont-elles différentes des autres ?</title>
    <link>http://typographisme.net/post/Pourquoi-les-fontes-SVG-sont-elles-diff%C3%A9rentes-des-autres</link>
    <guid isPermaLink="false">urn:md5:daf449190d3e70d60851bf1da44e5a36</guid>
    <pubDate>Mon, 07 Feb 2011 09:00:00 +0100</pubDate>
    <dc:creator>Jeremie</dc:creator>
        <category>Design Web</category>
        
    <description>&lt;p&gt;Je suis un peu triste de constater que le format de police SVG est très mal compris. J’ai lu beaucoup d&amp;#8217;articles et de récriminations à propos de ce format de police, le dernier d’entre eux étant &lt;a hreflang=&quot;en&quot; href=&quot;http://limi.net/articles/firefox-acid3&quot;&gt;l’article d&amp;#8217;Alexander Limi&lt;/a&gt; où il explique pourquoi il n&amp;#8217;est pas prévu que Firefox passe le test Acid3, essentiellement à cause d&amp;#8217;une absence de support des fontes SVG.&lt;/p&gt;
&lt;p&gt;De bien des façons, toutes ces critiques sont déplacées tout simplement parce que ce format de police est incompris. Vraiment&amp;#160;? Mais dans ce cas, à quoi sert-il&amp;#160;? Voyons ça.&lt;/p&gt;    &lt;h2&gt;Oubliez le texte courant&lt;/h2&gt;
&lt;p&gt;L&amp;#8217;idée fausse, la plus répandue, à propos des fontes SVG, c&amp;#8217;est de penser qu&amp;#8217;elles sont adaptées au texte courant. Désolé, mais ce n&amp;#8217;est pas le cas. À mon sens, cette idée fausse est essentiellement due à Apple. Jusqu&amp;#8217;à iOS 4.2, SVG était le seul format disponible pour définir des fontes personnalisées sur iPhone et iPad. Malheureusement, ce support était (est&amp;#160;?) quelque peu approximatif, ce qui a desservi la réputation de ce format de police.&lt;/p&gt;
&lt;p&gt;Quoi qu&amp;#8217;il en soit, au delà de ce qui existait sur iOS, il est notoire que les fontes SVG ne supportent pas le hinting &lt;a href=&quot;http://typographisme.net/post/Pourquoi-les-fontes-SVG-sont-elles-diff%C3%A9rentes-des-autres#note1&quot; id=&quot;note1b&quot; title=&quot;Si vous avez une bonne traduction de « hinting », je suis preneur.&quot;&gt;[1]&lt;/a&gt;. Pour bien comprendre ce soit disant «&amp;#160;manque&amp;#160;», il est important de revenir sur les spécificités du format d&amp;#8217;image SVG. Les formes vectorielles d&amp;#8217;un document SVG sont placées de manière absolue par rapport à un point de référence unique et le texte dans ces documents ne bénéficie pas d&amp;#8217;un système de flux automatique comparable à HTML. En outre, les documents SVG n&amp;#8217;ont pas nécessairement une taille ajustée au pixel près et l&amp;#8217;ensemble des formes vectorielles peut être sujet à des transformations mathématiques (rotation, changement d&amp;#8217;échelle, déformation, etc.). Tout cela fait que les glyphes typographiques peuvent être placés n&amp;#8217;importe où, n&amp;#8217;importe comment et la plupart du temps ne vont pas se retrouver placés sur une grille calée au pixel près. Dans de tels cas, le hinting, qui ne donne le meilleur de lui-même que lorsque la fonte se retrouve alignée sur une jolie grille, n&amp;#8217;a que peu ou pas d&amp;#8217;influence sur la qualité du rendu.&lt;/p&gt;
&lt;p&gt;Si, par exemple, vous essayez d&amp;#8217;appliquer une transformation CSS à un texte rendu avec une police WOFF, vous vous rendrez compte que le hinting ne change visuellement pas grand-chose à la qualité du rendu. Au contraire, si vous appliquez une police SVG sur du texte courant HTML (qui est aligné au cordeau, lui), le texte ne sera pas aussi joli, en particulier avec un petit corps de texte. Donc oui, utiliser les fontes SVG sur du texte courant ce n&amp;#8217;est pas terrible. Mais ça tombe bien car ce n&amp;#8217;est pas du tout ce pourquoi elles sont faites.&lt;/p&gt;
&lt;h2&gt;Le pouvoir du dessin&lt;/h2&gt;
&lt;p&gt;Un des plus gros avantages des fontes SVG par rapport aux autres formats, c&amp;#8217;est la façon dont il est possible de dessiner la forme des glyphes.
Techniquement parlant, les courbes des fontes SVG peuvent être de n&amp;#8217;importe quel type (courbe de Bézier quadratique ou cubique et même définition d&amp;#8217;arc de cercle) là où les fontes TrueType n&amp;#8217;utilisent que les courbes de Bézier quadratiques. Les fontes OpenType sont un tout petit peu mieux pourvues dans la mesure où elles utilisent les courbes de Bézier cubiques, mais à ma connaissance, seules les fontes SVG supportent la définition d&amp;#8217;arc de cercle. Ainsi, en théorie, les formes produites pour les fontes SVG peuvent être bien plus optimisées que dans les autres formats. Ok soyons honnêtes, ce n&amp;#8217;est quasiment jamais le cas dès qu&amp;#8217;on parle de dessin de fontes classiques. Mais il y a mieux. Puisque les fontes SVG bénéficient de toute la puissance de dessin de SVG, il est possible de dessiner des formes particulièrement complexes en superposant des formes arbitraires et des formes de base (cercle, rectangle, etc.) tout en vous laissant un contrôle très fin sur votre design. Grâce à cela, si vous voulez dessiner une police ornementale, SVG vous offrira des outils bien plus efficaces pour le faire.&lt;/p&gt;
&lt;p&gt;D&amp;#8217;un point de vue pratique, il est possible d&amp;#8217;utiliser n&amp;#8217;importe quel logiciel capable de produire du SVG pour dessiner vos polices. Cela inclut les logiciels de création de fontes classiques comme FontForge par exemple, mais également les logiciels de dessin vectoriel comme Adobe Illustrator ou Inkscape (ce dernier ayant des outils intéressants pour le dessin de fontes). Bien sûr, il est possible d&amp;#8217;utiliser ces logiciels pour dessiner des formes utilisables dans d&amp;#8217;autres formats de police. Néanmoins, vous aurez toujours besoin de les passer à la moulinette d&amp;#8217;un logiciel de fontes pour s&amp;#8217;assurer que les formes seront définies avec les bons types de courbes (ce qui peut avoir une incidence sur la qualité de votre dessin). Avec SVG, non. Vous pouvez utiliser directement ce qui sort de votre logiciel favori.&lt;/p&gt;
&lt;h2&gt;Animations, filtres, vidéo… \o/&lt;/h2&gt;
&lt;p&gt;Allons un peu plus loin. SVG, au-delà de ses capacités de dessin, dispose d&amp;#8217;extensions assez impressionnantes telles que les dégradés, les motifs, les découpes, les masques, les animations, les filtres et même la possibilité d&amp;#8217;inclure des éléments d&amp;#8217;autres langages (HTML, MathML, etc.). Bien sûr, tout est utilisable dans vos polices SVG. Oui, grâce à SVG on peut produire de vraies fontes animées. Grâce aux filtres, il est possible d&amp;#8217;imaginer des fontes floutées ou texturées. Et grâce à l&amp;#8217;inclusion d&amp;#8217;autres langages… Wow&amp;#160;! Il n&amp;#8217;y a plus de limite. En effet, pourquoi ne pas imaginer une police ayant un fond sonore&amp;#160;? Oui, c&amp;#8217;est possible, il vous suffit juste d&amp;#8217;inclure une balise HTML audio et voila.&lt;/p&gt;
&lt;p&gt;Bien évidement, ce n&amp;#8217;est pas nécessairement une très bonne idée de faire un truc pareil. En particulier si vous prévoyez de l&amp;#8217;utiliser sur du texte courant (même si, comme on l&amp;#8217;a vu avant ce n&amp;#8217;est pas spécialement fait pour ça). Mais réfléchissez-y. Le format de fonte SVG vous permet de vous lâcher d&amp;#8217;un point de vue créatif. Dîtes au revoir à la vieille typographie au plomb et allez hardiment là où nul ne s&amp;#8217;est aventuré en créant des polices POUR le web (et pas simplement adaptées au web).&lt;/p&gt;
&lt;h2&gt;Inclusion et arbre DOM&lt;/h2&gt;
&lt;p&gt;Vous trouvez ça incroyable&amp;#160;? Faisons un pas supplémentaire et entrons dans la 4e dimension.&lt;/p&gt;
&lt;p&gt;Il y a 10 ans de ça, le format de fonte SVG était le seul format qui pouvait être embarqué directement au sein d&amp;#8217;un document SVG. Cette fonctionnalité était nécessaire pour s&amp;#8217;assurer que les polices d&amp;#8217;un document seraient affichées de manière cohérente quel que soit le système de rendu, navigateur ou autre. Aujourd&amp;#8217;hui, grâce au module @font-face de CSS associé avec les Data URI, il est possible d&amp;#8217;embarquer n&amp;#8217;importe quel type de format de police. Néanmoins, SVG garde encore un petit avantage ici.&lt;/p&gt;
&lt;p&gt;Comme vous le savez, SVG est un format XML et donc, les fontes SVG le sont également. Cela signifie que vous pouvez inclure directement votre police dans n&amp;#8217;importe quel document XML (par exemple, une image SVG, bien sûr, mais également dans un document XHTML ou, dans un futur proche, grâce à HTML5, dans n&amp;#8217;importe quel document HTML) et continuer d&amp;#8217;avoir accès aux glyphes via l&amp;#8217;arbre DOM du document XML. Et ça, c&amp;#8217;est énorme car vous pouvez alors faire deux choses&amp;#160;:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;
Vous pouvez accéder au contenu des polices via Javascript et le changer comme vous voulez. Le format de fonte SVG vous donne un contrôle total sur chacun des glyphes à tous moment.&lt;/li&gt;
&lt;li&gt;Vous pouvez utiliser CSS pour changer le style de chaque glyphe individuellement ce qui vous donne un contrôle incroyable sur la manière dont vos polices vont être affichées.
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Aucun autre format de fonte ne permet un accès aussi facile et complet aux glyphes et à leur dessin.&lt;/p&gt;
&lt;h2&gt;Sécurité, accessibilité, bla, bla, bla…&lt;/h2&gt;
&lt;p&gt;Avec un tel pouvoir, vous héritez des responsabilités qui vont avec. La sécurité est un sujet important dès que l&amp;#8217;on parle des fontes SVG. Comme &lt;a hreflang=&quot;en&quot; href=&quot;http://developers.slashdot.org/comments.pl?sid=1713004&amp;amp;cid=32847010&quot;&gt;le fait remarquer Borris Zbarsky&lt;/a&gt;&amp;#160;: &lt;q&gt;À l&amp;#8217;instant où vous mettez une &lt;code&gt;&amp;lt;iframe&amp;gt;&lt;/code&gt; dans un glyphe, tout un tas de problèmes se présentent&lt;/q&gt; et il a sacrément raison. Ce sujet doit effectivement être discuté, mais est-ce une raison pour jeter bébé avec l&amp;#8217;eau du bain&amp;#160;? Personnellement, je ne crois pas.&lt;/p&gt;
&lt;p&gt;L&amp;#8217;accessibilité est un autre point chaud. Avec des fontes aussi malléables, bon nombre de questions se posent. Par exemple, «&amp;#160;Comment un utilisateur peut-il contrôler les animations au sein d&amp;#8217;une police de caractère&amp;#160;?&amp;#160;». Mais toutes ces questions sont fondamentalement les mêmes que celles que posent le format SVG en général. De fait, il est possible de s&amp;#8217;appuyer sur les solutions existant aujourd&amp;#8217;hui pour SVG.&lt;/p&gt;
&lt;p&gt;Bien évidement, il est nécessaire que les fabriquants de navigateurs et les web designers fassent attention à ces contraintes. Oui, c&amp;#8217;est vrai, des créateurs malveillants feront n&amp;#8217;importe quoi avec les fontes SVG. Oui, c&amp;#8217;est vrai, tous les fabriquants de navigateurs (oui, tous) ne mettent pas beaucoup de bonne volonté à supporter ce format. Ainsi soit-il&amp;#160;! Ceci étant, je pense que les fontes SVG sont un vrai tournant dans l&amp;#8217;histoire de la typographie et qu&amp;#8217;elles devraient être prises pour ce qu&amp;#8217;elles sont&amp;#160;: un outil incroyable pour apporter un nouveau souffle graphique à la typographie et une opportunité pour donner des polices vraiment adaptées au design pour le web. Et surtout, il faut se souvenir que les fontes SVG n&amp;#8217;ont pas le même usage que les fontes WOFF sur le Web. Chacun de ces formats a ses avantages et ses inconvénients mais ils ne sont finalement pas mutuellement exclusifs.&lt;/p&gt;
&lt;ol class=&quot;note&quot;&gt;
&lt;li id=&quot;note1&quot;&gt;Si vous avez une bonne traduction de «&amp;#160;hinting&amp;#160;», je suis preneur. &lt;a href=&quot;http://typographisme.net/post/Pourquoi-les-fontes-SVG-sont-elles-diff%C3%A9rentes-des-autres#note1b&quot; title=&quot;Reprendre la lecture là où vous l'avez laissée&quot;&gt;[retour]&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;</description>

    

      </item>
  
  <item>
    <title>La justification sur le web : usages et précautions</title>
    <link>http://typographisme.net/post/La-justification-sur-le-web-%3A-usages-et-pr%C3%A9cautions</link>
    <guid isPermaLink="false">urn:md5:1ca3a47bc2e788a962350e4ffdae5ee8</guid>
    <pubDate>Mon, 31 Jan 2011 14:07:00 +0100</pubDate>
    <dc:creator>Anne-So</dc:creator>
        <category>Design Web</category>
        
    <description>&lt;p&gt;Les lecteurs nous demandent souvent comment faire pour avoir une chevelure aussi souple et brillante que nous &lt;a href=&quot;http://typographisme.net/post/La-justification-sur-le-web-%3A-usages-et-pr%C3%A9cautions#note1&quot; id=&quot;note1b&quot; title=&quot;Oui, mais alors moi je sors du coiffeur et j'ai les cheveux courts... comment ça ce n'est pas le sujet ? Non, mais... je... bon, ok.&quot;&gt;[1]&lt;/a&gt;, mais ils nous interrogent aussi régulièrement sur un parti pris du design de notre site qui contrevient aux principes qu&amp;#8217;ils connaissent&amp;#160;: la justification au pavé du texte courant.&lt;/p&gt;
&lt;img src=&quot;http://typographisme.net/fichiers/2011-01/Justification/courbet.jpg&quot; alt=&quot;Le Désespéré, par Gustave Courbet&quot; title=&quot;Le Désespéré, par Gustave Courbet, janv. 2011&quot; /&gt;
&lt;p class=&quot;caption&quot;&gt;Gustave Courbet découvrant du texte justifié sur un site prétendument ami de la typographie.&lt;/p&gt;    &lt;p&gt;Effectivement, on dit et on répète depuis longtemps (enfin, pas trop longtemps non plus puisque tout cela ne date que d&amp;#8217;avant-hier) qu&amp;#8217;il ne faut pas justifier le texte sur le Web, qu&amp;#8217;il faut s&amp;#8217;en tenir à une composition en drapeau. Les raisons à cela sont bonnes parce qu&amp;#8217;elles résident dans une caractéristique du support Web&amp;#160;: la pauvreté des paramètres d&amp;#8217;ajustement de l&amp;#8217;espace dans un texte.&lt;/p&gt;
&lt;a href=&quot;http://typographisme.net/fichiers/2011-01/Justification/Justification.jpg&quot;&gt;&lt;img src=&quot;http://typographisme.net/fichiers/2011-01/Justification/Justification_small.jpg&quot; alt=&quot;Interface de paramétrage de la justification dans InDesign&quot; title=&quot;Interface de paramétrage de la justification dans InDesign&quot; /&gt;&lt;/a&gt;
&lt;p class=&quot;caption&quot;&gt;L&amp;#8217;interface de paramétrage de la justification dans InDesign (j&amp;#8217;ai bien vu que c&amp;#8217;était en anglais&amp;#160;; je pense que ça reste explicite quand même).&lt;/p&gt;
&lt;p&gt;Lorsqu&amp;#8217;on compose du texte au pavé, que ce soit en typographie au plomb ou dans InDesign, on peut couper les mots en fin de ligne &lt;a href=&quot;http://typographisme.net/post/La-justification-sur-le-web-%3A-usages-et-pr%C3%A9cautions#note2&quot; id=&quot;note2b&quot; title=&quot;Le terme typographique c'est : césure&quot;&gt;[2]&lt;/a&gt;, modifier l&amp;#8217;espace qui sépare les mots &lt;a href=&quot;http://typographisme.net/post/La-justification-sur-le-web-%3A-usages-et-pr%C3%A9cautions#note3&quot; id=&quot;note3b&quot; title=&quot;Là, on parle d'espace-mot&quot;&gt;[3]&lt;/a&gt;, voire ajuster légèrement celui qui sépare les lettres &lt;a href=&quot;http://typographisme.net/post/La-justification-sur-le-web-%3A-usages-et-pr%C3%A9cautions#note4&quot; id=&quot;note4b&quot; title=&quot;Et là il s'agit de l'approche et plus précisément de l'interlettrage&quot;&gt;[4]&lt;/a&gt;, afin d&amp;#8217;obtenir une répartition harmonieuse du texte, sans lézardes ni blancs disgracieux. On réserve la justification au pavé aux lignes suffisamment longues car il est impossible d&amp;#8217;obtenir quelque chose d&amp;#8217;uniforme en n&amp;#8217;ayant que quelques mots par ligne&amp;#160;: vous avez sans doute déjà vu ces affreuses colonnes étroites de texte justifié où parfois les mots sont tout bonnement écartelés pour occuper tout l&amp;#8217;espace disponible – et vous avez pleuré des larmes de sang.&lt;/p&gt;
&lt;h2&gt;Les contraintes techniques du Web&lt;/h2&gt;
&lt;p&gt;Sur le Web, le seul paramètre d&amp;#8217;ajustement est l&amp;#8217;espace-mot, que le navigateur étend de façon à ce que chaque ligne occupe toute la largeur du bloc si vous avez spécifié &lt;code&gt;text-align: justify;&lt;/code&gt;. Il est évident que ça ne suffit pas. Si l&amp;#8217;on manipule uniquement l&amp;#8217;espace mot, le risque est grand que des blancs très moches apparaissent partout dans le texte (d&amp;#8217;ailleurs, si vous plissez les yeux, vous y verrez apparaître le visage de Satan). La propriété &lt;code&gt;letter-spacing&lt;/code&gt; ne permet pas de définir la tolérance d&amp;#8217;élasticité de l&amp;#8217;espace interlettres comme dans un logiciel de composition, mais uniquement à modifier ponctuellement et uniformément l&amp;#8217;approche d&amp;#8217;un mot ou d&amp;#8217;un groupe de mot, dans un titre tout en capitales par exemple.&lt;/p&gt;
&lt;p&gt;Il semble donc évident qu&amp;#8217;actuellement, il est impossible de composer du texte au pavé correctement sur le Web. De plus, ce support est par nature fuyant et imprévisible, ce qu&amp;#8217;il faut comprendre comme «&amp;#160;Par principe, tout est susceptible d&amp;#8217;être bien pire que ce qu&amp;#8217;on imagine&amp;#160;». C&amp;#8217;est le monde merveilleux du &lt;em&gt;worst-case scenario&lt;/em&gt;. Tout le monde s&amp;#8217;est ainsi tacitement ou ouvertement mis d&amp;#8217;accord pour renoncer définitivement à justifier du texte sur le Web, puisque ça allait créer des rivières larges comme le Saint-Laurent et introduire des blancs tellement grands entre les mots qu&amp;#8217;on ne verrait plus qu&amp;#8217;ils sont sur la même ligne.&lt;/p&gt;
&lt;img src=&quot;http://typographisme.net/fichiers/2011-01/Justification/tadoussac.jpg&quot; alt=&quot;Le fleuve Saint-Laurent à Tadoussac&quot; title=&quot;Le fleuve Saint-Laurent à Tadoussac, janv. 2011&quot; /&gt;
&lt;p class=&quot;caption&quot;&gt;Le fleuve Saint-Laurent à la hauteur de Tadoussac. Effectivement, on ne voit pas l&amp;#8217;autre rive. C&amp;#8217;est ça l&amp;#8217;Amérique, tout est plus grand.&lt;/p&gt;
&lt;p&gt;Certes, beaucoup de facteurs doivent être réunis pour que la justification au pavé fonctionne sur le Web. Le bloc doit être suffisamment large (autour de 60 caractères pour un texte en français). Vous aurez en outre plus de chances avec une langue contenant beaucoup de mots courts comme l&amp;#8217;anglais. Le choix des caractères joue également beaucoup&amp;#160;: si vos caractères sont étroits &lt;a href=&quot;http://typographisme.net/post/La-justification-sur-le-web-%3A-usages-et-pr%C3%A9cautions#note5&quot; id=&quot;note5b&quot; title=&quot;Cette fois le terme technique c'est : la chasse... qui n'a rien à voir avec de petits animaux à plume ou poils ni même avec un petit poney.&quot;&gt;[5]&lt;/a&gt; et que leur approche est faible, chaque mot a une apparence compacte qui contraste plus fortement avec le blanc de l&amp;#8217;espace-mot. Lorsque le navigateur agrandit cette dernière &lt;a href=&quot;http://typographisme.net/post/La-justification-sur-le-web-%3A-usages-et-pr%C3%A9cautions#note6&quot; id=&quot;note6b&quot; title=&quot;Oui, c'est un peu comme la mort chez Terry Pratchett qui est de genre masculin, en typographie l'espace est de genre féminin.&quot;&gt;[6]&lt;/a&gt; pour justifier le texte, cela se voit beaucoup plus que si vos caractères sont larges et que le mot a une apparence plus aérée. Si vous choisissez de justifier le texte, votre chaîne de substitution de fontes CSS devra tenir compte de cet aspect.&lt;/p&gt;
&lt;p&gt;D&amp;#8217;autre part, il existe des outils qui permettent de contourner les limitations du Web, notamment un bidule en JavaScript qui gère automatiquement la césure, dans le respect de la langue du texte&amp;#160;: &lt;a href=&quot;http://code.google.com/p/hyphenator/&quot;&gt;hyphenator.js&lt;/a&gt;. Le résultat est assez spectaculaire&amp;#160;: la césure se fait de façon dynamique côté client en fonction de la largeur du bloc, et les tirets disparaissent si vous copiez et collez du texte. Toutefois, ce script n&amp;#8217;offre pas les réglages disponibles dans InDesign, par exemple, pour limiter le nombre de césures successives ou spécifier le nombre de caractères minimum devant précéder la césure ou lui succéder. Cette solution est donc loin d&amp;#8217;être idéale, même si elle peut apporter un mieux certain d&amp;#8217;un point de vue visuel.&lt;/p&gt;
&lt;a href=&quot;http://typographisme.net/fichiers/2011-01/Justification/Cesure.jpg&quot;&gt;&lt;img src=&quot;http://typographisme.net/fichiers/2011-01/Justification/Cesure_small.jpg&quot; alt=&quot;Interface de paramétrage de la césure dans InDesign&quot; title=&quot;Interface de paramétrage de la césure dans InDesign, janv. 2011&quot; /&gt;&lt;/a&gt;
&lt;p class=&quot;caption&quot;&gt;À titre de comparaison, l&amp;#8217;interface de paramétrage de la césure dans InDesign, encore en anglais.&lt;/p&gt;
&lt;h2&gt;Un peu d&amp;#8217;accessibilité aussi&lt;/h2&gt;
&lt;p&gt;Au-delà des considérations esthétiques, dès que l&amp;#8217;on parle de Web, les notions d&amp;#8217;accessibilité ne sont pas loin. À cet égard, la composition au pavé est souvent mise à l&amp;#8217;index car elle aurait le défaut d&amp;#8217;être plus difficile à lire d&amp;#8217;un point de vue cognitif. Ce grief n&amp;#8217;est pas nouveau est existe déjà dans la composition classique des livres. Malheureusement, il est amplifié sur le Web car, comme nous l&amp;#8217;avons vu ci-avant, seul l&amp;#8217;espace-mot varie, et parfois de manière significative si l&amp;#8217;on n&amp;#8217;y prend pas garde. Or, cela peut être problématique dans certains cas de dyslexie par exemple &lt;a href=&quot;http://typographisme.net/post/La-justification-sur-le-web-%3A-usages-et-pr%C3%A9cautions#note7&quot; id=&quot;note7b&quot; title=&quot;À ce sujet je vous invite à lire cet article en trois parties de Mel Pedley : Designing for dyslexics&quot;&gt;[7]&lt;/a&gt;. &lt;/p&gt;
&lt;p&gt;Mais sans en arriver jusque là, il peut être plus difficile de lire un texte au pavé si les lignes sont trop longues, l&amp;#8217;œil pouvant alors avoir du mal à passer d&amp;#8217;une ligne à l&amp;#8217;autre (il peut glisser en sautant une ligne ou bien rester sur la même ligne). En fait cela tient aussi beaucoup à la nature du Web qui offre un cadre beaucoup moins rigide que le papier. Ainsi, l&amp;#8217;œil dispose de moins de points de repère stables sur lesquels s&amp;#8217;appuyer lors de la lecture. Donc selon le contexte de la mise en page, la composition au carré peut renforcer les lignes de force verticales de votre mise en page (ce qui va accentuer l&amp;#8217;effet de «&amp;#160;ratage de ligne&amp;#160;») ou au contraire asseoir les lignes de force horizontales qui vont apaiser la lecture. Ah oui, si vous avez cru qu&amp;#8217;il y aurait une réponse facile du type «&amp;#160;c&amp;#8217;est bien&amp;#160;», «&amp;#160;c&amp;#8217;est mal »&amp;#8230; désolé, mais notre élevage de bisounours n&amp;#8217;est pas encore un franc succès.&lt;/p&gt;
&lt;p&gt;Dans le même ordre d&amp;#8217;idée, mais sur un aspect plus technique, les outils qui vont compenser les manques des navigateurs, comme hyphenator.js ou &lt;a hreflang=&quot;en&quot; href=&quot;http://letteringjs.com/&quot;&gt;lettering.js&lt;/a&gt;, ne doivent pas être utilisés les yeux fermés sans un minimum de précautions. En effet, ces outils peuvent complètement modifier ou simplement perturber l&amp;#8217;arbre DOM des documents, ce qui peut avoir un effet non négligeable sur tout les outils d&amp;#8217;aide à l&amp;#8217;accessibilité qui reposent sur le DOM (certaines revues d&amp;#8217;écran par exemple). Donc, prudence, modération et sens du «&amp;#160;lâcher prise&amp;#160;» sont toujours de rigueur.&lt;/p&gt;
&lt;h2&gt;Ite missa est&lt;/h2&gt;
&lt;p&gt;L&amp;#8217;Histoire avec un grand &lt;em&gt;i&lt;/em&gt; nous a maintes fois prouvé que les dogmes entraînent souvent des bains de sang et qu&amp;#8217;il est donc préférable de les remettre en question tout de suite avant qu&amp;#8217;ils ne s&amp;#8217;installent. De plus, l&amp;#8217;interdit qui pèse sur la justification s&amp;#8217;apparente furieusement à un principe de précaution, dont les débordements ont les conséquences que l&amp;#8217;on sait dans notre société malade. Je vous propose autre chose&amp;#160;: faites preuve de bon sens, essayez, vous saurez tout de suite si ça marche.&lt;/p&gt;
&lt;p&gt;Sur ce site, le texte est justifié parce que j&amp;#8217;ai &lt;em&gt;essayé pour voir&lt;/em&gt; et que j&amp;#8217;ai été toute étonnée de voir que &lt;em&gt;ça marchait&lt;/em&gt;. Je me suis dit que j&amp;#8217;allais devoir faire preuve d&amp;#8217;une grande diplomatie pour faire passer ça auprès des autres, qui m&amp;#8217;ont en fait répondu&amp;#160;: «&amp;#160;Ah ouais c&amp;#8217;est vrai ça marche, et c&amp;#8217;est mieux, chic alors&amp;#160;» &lt;a href=&quot;http://typographisme.net/post/La-justification-sur-le-web-%3A-usages-et-pr%C3%A9cautions#note8&quot; id=&quot;note8b&quot; title=&quot;Oui mais en fait, on a tendance a être pas mal d'accord sur plein de trucs, surtout lorsqu'il s'agit de faire preuve de modération et d'esprit critique.&quot;&gt;[8]&lt;/a&gt;. Le résultat n&amp;#8217;est pas parfait, mais nous avons jugé que nous préférions les imperfections de la justification au déséquilibre de la composition en drapeau, dans la mesure où les imperfections ne nous semblaient pas faire obstacle à la lisibilité du texte. C&amp;#8217;est une affaire de choix, de priorité et de bon sens.&lt;/p&gt;
&lt;p&gt;Faites-vous confiance, bon sang. Si vous connaissez les principes et leurs raisons, alors c&amp;#8217;est votre œil qui doit avoir le dernier mot.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Les notes de cet article et la section sur l&amp;#8217;accessibilité vous sont gracieusement offertes par Jérémie&lt;br /&gt;&lt;/em&gt;&lt;/p&gt;
&lt;ol class=&quot;note&quot;&gt;&lt;li id=&quot;note1&quot;&gt;Oui, mais alors moi je sors du coiffeur et j&amp;#8217;ai les cheveux courts&amp;#8230; comment ça ce n&amp;#8217;est pas le sujet&amp;#160;? Non, mais&amp;#8230; je&amp;#8230; bon, ok. &lt;a href=&quot;http://typographisme.net/post/La-justification-sur-le-web-%3A-usages-et-pr%C3%A9cautions#note1b&quot; title=&quot;Reprendre la lecture là où vous l'avez laissée&quot;&gt;[retour]&lt;/a&gt;&lt;/li&gt;
&lt;li id=&quot;note2&quot;&gt;Le terme typographique c&amp;#8217;est&amp;#160;: césure &lt;a href=&quot;http://typographisme.net/post/La-justification-sur-le-web-%3A-usages-et-pr%C3%A9cautions#note2b&quot; title=&quot;Reprendre la lecture là où vous l'avez laissée&quot;&gt;[retour]&lt;/a&gt;&lt;/li&gt;
&lt;li id=&quot;note3&quot;&gt;Là, on parle d&amp;#8217;espace-mot &lt;a href=&quot;http://typographisme.net/post/La-justification-sur-le-web-%3A-usages-et-pr%C3%A9cautions#note3b&quot; title=&quot;Reprendre la lecture là où vous l'avez laissée&quot;&gt;[retour]&lt;/a&gt;&lt;/li&gt;
&lt;li id=&quot;note4&quot;&gt;Et là il s&amp;#8217;agit de l&amp;#8217;approche et plus précisément de l&amp;#8217;interlettrage &lt;a href=&quot;http://typographisme.net/post/La-justification-sur-le-web-%3A-usages-et-pr%C3%A9cautions#note4b&quot; title=&quot;Reprendre la lecture là où vous l'avez laissée&quot;&gt;[retour]&lt;/a&gt;&lt;/li&gt;
&lt;li id=&quot;note5&quot;&gt;Cette fois le terme technique c&amp;#8217;est&amp;#160;: la chasse&amp;#8230; qui n&amp;#8217;a rien à voir avec de petits animaux à plume ou poils ni même avec un petit poney. &lt;a href=&quot;http://typographisme.net/post/La-justification-sur-le-web-%3A-usages-et-pr%C3%A9cautions#note5b&quot; title=&quot;Reprendre la lecture là où vous l'avez laissée&quot;&gt;[retour]&lt;/a&gt;&lt;/li&gt;
&lt;li id=&quot;note6&quot;&gt;Oui, c&amp;#8217;est un peu comme la mort chez Terry Pratchett qui est de genre masculin, en typographie l&amp;#8217;espace est de genre féminin. &lt;a href=&quot;http://typographisme.net/post/La-justification-sur-le-web-%3A-usages-et-pr%C3%A9cautions#note6b&quot; title=&quot;Reprendre la lecture là où vous l'avez laissée&quot;&gt;[retour]&lt;/a&gt;&lt;/li&gt;
&lt;li id=&quot;note7&quot;&gt;A ce sujet je vous invite à lire cet article en 3 partie de Mel Pedley&amp;#160;: &lt;a hreflang=&quot;en&quot; href=&quot;http://accessites.org/site/2006/10/designing-for-dyslexics-part-1-of-3/&quot; lang=&quot;en&quot;&gt;Designing for dyslexics&lt;/a&gt; &lt;a href=&quot;http://typographisme.net/post/La-justification-sur-le-web-%3A-usages-et-pr%C3%A9cautions#note7b&quot; title=&quot;Reprendre la lecture là où vous l'avez laissée&quot;&gt;[retour]&lt;/a&gt;&lt;/li&gt;
&lt;li id=&quot;note8&quot;&gt;Oui mais en fait, on a tendance a être pas mal d&amp;#8217;accord sur plein de trucs, surtout lorsqu&amp;#8217;il s&amp;#8217;agit de faire preuve de modération et d&amp;#8217;esprit critique. &lt;a href=&quot;http://typographisme.net/post/La-justification-sur-le-web-%3A-usages-et-pr%C3%A9cautions#note8b&quot; title=&quot;Reprendre la lecture là où vous l'avez laissée&quot;&gt;[retour]&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;</description>

    

      </item>
  
  <item>
    <title>Maîtriser le délai d'affichage des fontes</title>
    <link>http://typographisme.net/post/Maitriser-le-d%C3%A9lais-d-affichage-des-fontes</link>
    <guid isPermaLink="false">urn:md5:8f9805c649537e9ea5ab9e50d683c73b</guid>
    <pubDate>Mon, 24 Jan 2011 09:30:00 +0100</pubDate>
    <dc:creator>Jeremie</dc:creator>
        <category>Design Web</category>
        
    <description>&lt;p&gt;Avez-vous remarqué que lorsque vous utilisez une déclaration @font-face avec un navigateur qui utilise le moteur de rendu Webkit (Safari, Chrome) ou bien avec Internet Explorer votre texte n&amp;#8217;est affiché qu&amp;#8217;une fois que la police est téléchargée&amp;#160;? En surfant confortablement assis avec une connexion ADSL, on ne s&amp;#8217;en rend pas bien compte. Par contre, lorsqu&amp;#8217;on utilise un téléphone ou une tablette qui tourne sous iOS ou Androïd, ce n&amp;#8217;est pas rare.&lt;/p&gt;
&lt;p&gt;De leur côtés, Firefox et Opera ont une autre approche&amp;#160;: ils affichent le texte à l&amp;#8217;aide des fontes de substitution déclarées dans les feuilles de style et modifient le rendu des polices une fois que celles-ci ont été chargées. Cela peut provoquer un clignotement un peu disgracieux mais au moins, si votre réseau est lent (ce qui est souvent le cas avec les réseau de téléphonie mobile) vous pouvez toujours commencer à lire le texte.&lt;/p&gt;    &lt;h2&gt;Avantages et inconvénients des deux solutions&lt;/h2&gt;
&lt;p&gt;Ces deux manières de gérer l&amp;#8217;affichage des polices personnalisées fait l&amp;#8217;objet d&amp;#8217;un débat assez virulent chez les web designers anglo-saxons. Il est difficile, voire impossible de départager les deux camps car les avantages des uns sont les inconvénient des autres et réciproquement. Mais de quoi parle-t-on exactement&amp;#160;?&lt;/p&gt;
&lt;h3&gt;Afficher les fontes uniquement après leur chargement&lt;/h3&gt;
&lt;p&gt;Le principal avantage de cette technique est que vous avez un meilleur contrôle de votre design. Vous ne risquez pas de vous retrouver avec une fonte toute moche à la place de votre police d&amp;#8217;origine. Par contre, si par malheur votre police met du temps à se télécharger, il n&amp;#8217;y a rien à lire.&lt;/p&gt;
&lt;h3&gt;Afficher les fontes de substitution en attendant le chargement&lt;/h3&gt;
&lt;p&gt;De l&amp;#8217;autre coté, afficher le texte avec les polices de substitution prévues dans la chaîne CSS permet au navigateur d&amp;#8217;afficher le texte dès que possible, même si la fonte personnalisée n&amp;#8217;est pas encore là. Par contre selon la vitesse de chargement, vous allez exposer vos visiteurs à un effet de clignotement somme toute assez disgracieux.&lt;/p&gt;
&lt;h3&gt;Et c&amp;#8217;est quoi le mieux&amp;#160;?&lt;/h3&gt;
&lt;p&gt;Difficile à dire et il n&amp;#8217;y a pas de réponse absolue à cette question. Certains pensent que ce n&amp;#8217;est qu&amp;#8217;un détail anodin, et je ne leur donnerai pas tort dans la mesure où une fois que la police a été téléchargée, si le navigateur l&amp;#8217;a correctement mise en cache, les prochains chargements de page ne souffriront plus ni d&amp;#8217;un clignotement ni d&amp;#8217;une absence de rendu.&lt;/p&gt;
&lt;p&gt;À titre personnel, je suis plutôt partisan de la méthode choisie par Firefox et Opera. En effet, le Web est un milieu hostile où l&amp;#8217;on ne maîtrise pas les conditions de rendu ni la latence réseau. En conséquence je préfère être sûr que mes visiteurs pourront lire le texte plutôt que d&amp;#8217;être sûr que celui-ci sera joli (mais si je peux avoir les deux, je préfère encore plus). Ceci étant, si vous construisez des sites où le design est primordial et où le contenu textuel n&amp;#8217;est qu&amp;#8217;un soutien graphique, il est effectivement souhaitable d&amp;#8217;avoir un comportement comme celui de Safari, Chrome ou Internet Explorer. Ah&amp;#160;! Cruel dilemme.&lt;/p&gt;
&lt;h2&gt;Limiter le clignotement&lt;/h2&gt;
&lt;p&gt;Allons courage, il n&amp;#8217;y a pas de fatalité, et il est possible de réduire les inconvénients liés à l&amp;#8217;une ou l&amp;#8217;autre des solutions d&amp;#8217;affichage. D&amp;#8217;abord voyons comment limiter l&amp;#8217;effet de clignotement de Firefox et Opera.&lt;/p&gt;
&lt;h3&gt;Bien choisir votre chaîne de polices CSS&lt;/h3&gt;
&lt;p&gt;La première chose à faire pour réduire l&amp;#8217;effet de clignotement c&amp;#8217;est de choisir avec soin la liste des polices typographiques à déclarer dans la propriété CSS &lt;code&gt;font-family&lt;/code&gt;. &lt;/p&gt;
&lt;ol&gt;&lt;li&gt;Assurez-vous que le dessin des polices est proche (évitez de déclarer une fonte manuaire avec une fonte de substitution de type linéal) &lt;/li&gt;
&lt;li&gt;Assurez-vous que la hauteur d&amp;#8217;x de chacune des polices est équivalente. Le clignotement perçu sera plus important avec un changement de hauteur d&amp;#8217;x plutôt qu&amp;#8217;avec un changement de chasse.&lt;/li&gt;
&lt;/ol&gt;
&lt;pre&gt;/* A éviter */&lt;br /&gt;p {&lt;br /&gt;    font-family : &quot;Garamond&quot;, sans-serif;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/* C'est mieux */&lt;br /&gt;p {&lt;br /&gt;    font-family : &quot;Garamond&quot;, &quot;Times New Roman&quot;, Times, serif;&lt;br /&gt;}&lt;/pre&gt;
&lt;h3&gt;Harmoniser les hauteurs d&amp;#8217;x&lt;/h3&gt;
&lt;p&gt;Comme je vous le disais, c&amp;#8217;est le changement de hauteur d&amp;#8217;x qui est le plus perturbant lorsqu&amp;#8217;une fonte est substituée à une autre. Pour harmoniser les hauteurs d&amp;#8217;x, vous pouvez utiliser la propriété CSS &lt;code&gt;font-size-adjust&lt;/code&gt;. Cette propriété fait partie du module &amp;#8220;&lt;a hreflang=&quot;en&quot; href=&quot;http://www.w3.org/TR/css3-fonts/#relative-sizing-the-font-size-adjust-pro&quot;&gt;CSS3 Font&lt;/a&gt;&amp;#8221;. Malheureusement, à ce jour, &lt;a href=&quot;https://developer.mozilla.org/en/CSS:font-size-adjust&quot;&gt;seul Firefox l&amp;#8217;implémente&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Cette propriété permet d&amp;#8217;ajuster la taille des fontes de manière à ce que chacune des polices déclarées dans la propriété &lt;code&gt;font-family&lt;/code&gt; ait la même hauteur d&amp;#8217;x apparente. La valeur de cette propriété est un nombre décimal, à vous de voir quelle est la valeur la plus adaptée à votre chaîne de déclaration de fonte. Il n&amp;#8217;y a malheureusement pas de recette miracle ici… il faut tester.&lt;/p&gt;
&lt;pre&gt;/* C'est beaucoup mieux */&lt;br /&gt;p {&lt;br /&gt;    font-family : &quot;Garamond&quot;, &quot;Times New Roman&quot;, Times, serif;&lt;br /&gt;    font-size-adjust : 0.5;&lt;br /&gt;}&lt;/pre&gt;
&lt;h2&gt;Choisir le comportement que l&amp;#8217;on veut.&lt;/h2&gt;
&lt;p&gt;L&amp;#8217;idéal, ce serait de pouvoir choisir le comportement que l&amp;#8217;on souhaite selon les cas d&amp;#8217;utilisation. S&amp;#8217;il existe beaucoup de ressources qui expliquent&amp;nbsp;&lt;a hreflang=&quot;en&quot; href=&quot;http://paulirish.com/2009/fighting-the-font-face-fout/&quot;&gt;comment faire en sorte que Firefox réagisse comme Safari et Chrome&lt;/a&gt;, il est par contre beaucoup plus difficile de trouver comment faire l&amp;#8217;inverse.&lt;/p&gt;
&lt;p&gt;Les équipes de Google et de Typekit ont travaillé dur sur la question et proposent une solution assez élégante à base de Javascript qui vous permet de choisir le comportement de votre choix&amp;#160;: &lt;a hreflang=&quot;en&quot; href=&quot;http://code.google.com/intl/fr/apis/webfonts/docs/webfont_loader.html&quot;&gt;Web Font Loader&lt;/a&gt;. Cette bibliothèque Javascript vous permet de contrôler très finement le chargement de vos polices et leur affichage. Son utilisation est des plus simples.&lt;/p&gt;
&lt;p&gt;Tout d&amp;#8217;abord, il vous faut une feuille de style qui comporte uniquement vos déclarations &lt;code&gt;@font-face&lt;/code&gt; (vous pouvez aussi faire appel directement aux feuilles de style fournies par certains services de fontes comme &lt;a hreflang=&quot;en&quot; href=&quot;http://fontdeck.com/&quot;&gt;FontDeck&lt;/a&gt; ou &lt;a hreflang=&quot;en&quot; href=&quot;http://code.google.com/webfonts&quot;&gt;Google Font Directory&lt;/a&gt;)&lt;/p&gt;
&lt;pre&gt;@font-face{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; font-family : &quot;maFonte&quot;;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; src : url('maFonte.eot');&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; src : local('☺'),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;       url('maFonte.woff') format('woff'),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;       url('maFonte.svg#abcd') format('svg'),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;       url('maFonte.ttf') format('truetype');&lt;br /&gt;}&lt;/pre&gt;
&lt;p&gt;Ensuite, il vous faut appeler cette feuille de style via le script Web Font Loader&lt;/p&gt;
&lt;pre&gt;&amp;lt;script&amp;gt;&lt;br /&gt;WebFontConfig = {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; custom: { families: ['maFonte'],&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; urls: [ 'http://yourwebsite.com/styles.css' ] }&lt;br /&gt;};&lt;br /&gt;&amp;nbsp;&lt;br /&gt;(function() {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var wf = document.createElement('script');&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; wf.src = ('https:' == document.location.protocol ? 'https' : 'http') + '://ajax.googleapis.com/ajax/libs/webfont/1/webfont.js';&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; wf.async = 'true';&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var s = document.getElementsByTagName('script')[0];&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; s.parentNode.insertBefore(wf, s);&lt;br /&gt;})();&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;/pre&gt;&lt;p&gt;De cette manière, le chargement des polices va être monitoré par le script qui va, selon l&amp;#8217;état du chargement (en cours, terminé ou échoué, globalement ou bien fonte par fonte), attacher des classes à votre page HTML, ce qui va vous permettre de choisir le comportement que vous voulez simplement via CSS.&lt;/p&gt;
&lt;p&gt;En admettant que votre chaîne de déclaration de fonte soit la suivante&lt;/p&gt;
&lt;pre&gt;p {&lt;br /&gt;    font-family : &quot;maFonte&quot;, Arial, sans-serif;&lt;br /&gt;}&lt;/pre&gt;
&lt;p&gt;Pour toujours avoir un comportement comme celui de Safari il faut rajouter la règle suivante&amp;#160;:&lt;/p&gt;
&lt;pre&gt;.wf-mafonte-n4-loading p {&lt;br /&gt;    visibility:hidden;&lt;br /&gt;}&lt;/pre&gt;
&lt;p&gt;Pour toujours avoir un comportement comme celui de Firefox il faut rajouter la règle suivante&amp;#160;:&lt;/p&gt;
&lt;pre&gt;.wf-mafonte-n4-loading p { &lt;br /&gt;    font-family : Arial, sans-serif;&lt;br /&gt;}&lt;/pre&gt;
&lt;h2&gt;Conclusion&lt;/h2&gt;
&lt;p&gt;Que vous soyez pro Safari ou pro Firefox peu importe, désormais vous êtes équipé pour contrôler le chargement de vos fontes. Dans tous les cas, je vous encourage à toujours penser à vos utilisateurs et à tester au maximum les différents contextes d&amp;#8217;utilisation pour vous rendre compte de ce qui se passe. Tout le monde n&amp;#8217;a pas le dernier navigateur à la mode associé à une connexion haut-débit.&lt;/p&gt;</description>

    

      </item>
  
  <item>
    <title>Bonnes pratiques pour les déclarations @font-face</title>
    <link>http://typographisme.net/post/Bonnes-pratiques-pour-les-d%C3%A9clarations-%40font-face</link>
    <guid isPermaLink="false">urn:md5:bf5f75d1f2a1e1a612d8786bf7c30a6a</guid>
    <pubDate>Tue, 04 Jan 2011 09:00:00 +0100</pubDate>
    <dc:creator>Jeremie</dc:creator>
        <category>Design Web</category>
        
    <description>&lt;p&gt;De vous à moi, je crois qu&amp;#8217;on peut se le dire, 2010 aura été l&amp;#8217;année du retour en force des polices typographiques embarquées dans les navigateurs. Les déclarations @font-face fleurissent un peu partout, et nous ne nous en plaindrons pas. Ceci dit, la compatibilité multi-navigateur de ces déclarations est parfois un peu problématique. Voyons comment s&amp;#8217;en sortir techniquement parlant.&lt;/p&gt;    &lt;h2&gt;Petit rappel historique&lt;/h2&gt;
&lt;p&gt;À l&amp;#8217;origine, les déclarations CSS @font-face faisaient partie de la norme CSS 2.0 et étaient supportées aussi bien par Internet Explorer 6 que par Netscape 4. Nous étions alors à la fin des années 90 et la guerre entre ces deux navigateurs faisait rage. Malheureusement, les constructeurs ainsi que les fondeurs ne parvinrent pas à se mettre d&amp;#8217;accord à l&amp;#8217;époque sur un format de fonte et le haut débit n&amp;#8217;étant pas encore généralisé, cette technologie ne fut que peu ou pas utilisée. En conséquence, lors de l&amp;#8217;écriture de la norme CSS 2.1, cette fonctionnalité fut purement et simplement supprimée.&lt;/p&gt;
&lt;p&gt;Avec CSS 3, c&amp;#8217;est le grand retour en force des fontes web à travers le module &lt;a hreflang=&quot;en&quot; href=&quot;http://www.w3.org/TR/css3-fonts/&quot;&gt;CSS Fonts&lt;/a&gt; qui redéfinit la méthode d&amp;#8217;insertion des fontes personnalisées dans les navigateurs. Les spécifications c&amp;#8217;est bien, mais comme d&amp;#8217;habitude avec CSS, il faut voir au cas par cas ce que cela donne avec les différents navigateurs.&lt;/p&gt;
&lt;h2&gt;Déclaration simplifiée&lt;/h2&gt;
&lt;p&gt;Une déclaration simple ressemble à ça&amp;#160;:&lt;/p&gt;
&lt;pre&gt;@font-face{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; font-family : &quot;maFonte&quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; src : url('maFonte.ttf');&lt;br /&gt;}&lt;/pre&gt;&lt;p&gt;La propriété &lt;code&gt;font-family&lt;/code&gt; permet de définir le nom de la fonte tel qu&amp;#8217;il sera utilisé par la suite dans les déclarations de style. La propriété &lt;code&gt;src&lt;/code&gt; quant à elle permet de spécifier le fichier source de la fonte qui sera utilisé par le navigateur pour rendre la police. L&amp;#8217;utilisation de la police se fera très simplement de la façon suivante&amp;#160;:&lt;/p&gt;
&lt;pre&gt;p {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; font-family : &quot;maFonte&quot;, Helvetica, Arial, sans-serif;&lt;br /&gt;}&lt;/pre&gt;
&lt;h2&gt;Gestion des formats de fonte&lt;/h2&gt;
&lt;p&gt;Le problème de l&amp;#8217;exemple précédent, c&amp;#8217;est qu&amp;#8217;il ne fonctionnera qu&amp;#8217;avec les navigateurs qui supportent les polices au format TrueType. Hélas, &lt;a href=&quot;http://typographisme.net/post/Les-formats-de-polices-typographiques-pour-le-Web&quot;&gt;tous les navigateurs ne supportent pas ce format&lt;/a&gt; particulier. Donc, pour vous assurez que votre rendu typographique sera cohérent &lt;a href=&quot;http://typographisme.net/post/Bonnes-pratiques-pour-les-d%C3%A9clarations-%40font-face#note1&quot; id=&quot;note1b&quot; title=&quot;Enfin, a peu près cohérent, je ne vous parlerai pas ici des différents type de rendu typographique qui peuvent fortement varier selon le moteur de rendu utilisé qui change en fonctions des différentes combinaisons : navigateur + OS&quot;&gt;[1]&lt;/a&gt; entre les divers navigateurs, vous devez proposer vos fontes dans un format compréhensible par chacun d&amp;#8217;entre eux. Si ce n&amp;#8217;est pas possible, les règles de la cascade CSS s&amp;#8217;appliqueront et, dans le cas de l&amp;#8217;exemple précédente le texte s&amp;#8217;affichera alors en Helvetica, Arial ou, en dernier ressort, dans la fonte sans empattement par défaut disponible.&lt;/p&gt;
&lt;p&gt;Il n&amp;#8217;y a qu&amp;#8217;une seule façon de déclarer plusieurs fichiers alternatifs pour une même fonte, c&amp;#8217;est en séparant les déclarations d&amp;#8217;url par une virgule (pratique assez courante avec CSS3).&lt;/p&gt;
&lt;pre&gt;@font-face{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; font-family : &quot;maFonte&quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; src : url('maFonte.woff') format('woff'),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;       url('maFonte.svg#abcd') format('svg'),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;       url('maFonte.ttf') format('truetype');&lt;br /&gt;}&lt;/pre&gt;
&lt;p&gt;Comme vous pouvez le voir, la propriété &lt;code&gt;src&lt;/code&gt; requiert l&amp;#8217;url d&amp;#8217;un fichier de fonte et peut comporter une déclaration de format. Déclarer le format permet de dire explicitement aux navigateurs le type de fonte qui se cache derrière l&amp;#8217;url d&amp;#8217;un fichier. La déclaration de format n&amp;#8217;est pas obligatoire mais si vous ne la rajoutez pas, le navigateur va devoir télécharger la fonte pour vérifier son format, ce qui du point de vue des performances (et donc du rendu de vos polices) peut être vite catastrophique.&lt;/p&gt;
&lt;p&gt;Notez la présence de l&amp;#8217;ancre nommée sur l&amp;#8217;url de la police SVG. Il est nécessaire pour Safari afin de lui dire explicitement où, dans le fichier SVG, se trouve la déclaration de police. À première vue, ça peut paraitre un peu idiot, mais il faut se rappeler qu&amp;#8217;un fichier SVG peut contenir bien d&amp;#8217;autres choses que des polices de caractères ou bien en contenir plusieurs.&lt;/p&gt;
&lt;p&gt;Notez également, l&amp;#8217;ordre de déclaration des formats&amp;#160;: d&amp;#8217;abord WOFF, puis SVG et enfin TrueType. Il est important de respecter cet ordre-ci car certains navigateurs savent utiliser plusieurs de ces formats. Or ils utiliseront le premier qu&amp;#8217;ils comprennent dans la liste. Il est donc important de bien déclarer vos formats du plus léger au plus lourd pour des questions de performances (SVG est plus léger que TrueType si vous faîtes attention à le servir en version compressée).&lt;/p&gt;
&lt;h3&gt;Le cas Internet Explorer&lt;/h3&gt;
&lt;p&gt;Le type de déclaration vu précédemment va marcher avec tous les navigateurs sauf Internet Explorer (ne riez pas). Certes d&amp;#8217;une part cette déclaration ne comporte pas le seul format connu par IE (le format EOT) mais de toute façon, IE ne comprend pas la syntaxe CSS3, à base de déclarations multiples séparées par des virgules, utilisée pour la propriété &lt;code&gt;src&lt;/code&gt;. Néanmoins, on peut facilement utiliser les règles de la cascade CSS pour fournir un fichier alternatif pour IE.&lt;/p&gt;
&lt;pre&gt;@font-face{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; font-family : &quot;maFonte&quot;;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* pour IE */&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; src : url('maFonte.eot');&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* pour les autres */&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; src : url('maFonte.woff') format('woff'),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;       url('maFonte.svg#abcd') format('svg'),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;       url('maFonte.ttf') format('truetype');&lt;br /&gt;}&lt;/pre&gt;
&lt;p&gt;Mais même comme cela ce n&amp;#8217;est toujours pas suffisant. En effet, malgré les règles de la cascade CSS, IE souffre d&amp;#8217;un bug qui va le pousser à essayer de comprendre la deuxième déclaration &lt;code&gt;src&lt;/code&gt; et il va donc envoyer une requête HTTP vers&amp;#160;: &lt;code title=&quot;maFonte.woff)%20format('woff'),%20url(maFonte.svg#abcd)%20format('svg'),%20url(maFonte.ttf)%20format('truetype&quot;&gt;maFonte.woff)%20format('woff'),%20url(m [...] tf)%20format('truetype&lt;/code&gt;&amp;#160;! Je sais, c&amp;#8217;est assez surprenant, mais il y a longtemps que j&amp;#8217;ai appris à ne plus m&amp;#8217;étonner des bugs de IE.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Attention, ce qui suit sur la fonction local() n&amp;#8217;est plus d&amp;#8217;actualité, reportez vous à &lt;a href=&quot;http://typographisme.net/post/Bonnes-pratiques-pour-les-d%C3%A9clarations-%40font-face#maj&quot;&gt;la mise à jour en fin d&amp;#8217;article&lt;/a&gt; pour en savoir plus&lt;/em&gt;&lt;/p&gt;
&lt;del&gt;
&lt;p&gt;Pour résoudre ce problème, il suffit d&amp;#8217;utiliser l&amp;#8217;appel aux fontes locales via la fonction CSS &lt;code&gt;local()&lt;/code&gt;. Cette fonction CSS permet de dire à un navigateur d&amp;#8217;aller chercher une police dans la liste des polices locales installées sur la machine de l&amp;#8217;utilisateur&lt;/p&gt;
&lt;pre&gt;@font-face{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; font-family : &quot;maFonte&quot;;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; src : url('maFonte.eot');&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; src : local('maFonte'),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;       url('maFonte.woff') format('woff'),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;       url('maFonte.svg#abcd') format('svg'),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;       url('maFonte.ttf') format('truetype');&lt;br /&gt;}&lt;/pre&gt;&lt;p&gt;Voila, comme IE ne connait pas la fonction &lt;code&gt;local()&lt;/code&gt;, il va considérer que la deuxième déclaration n&amp;#8217;est pas valide pour lui et, en respectant la cascade CSS, il va se rabattre sur la première déclaration qui, elle, est valide pour lui. Oui, mais nos ennuis ne sont pas tout à fait finis.&lt;/p&gt;
&lt;p&gt;Le problème avec les appels aux fontes locales, c&amp;#8217;est que rien ne vous garantit que la police locale corresponde bien à celle que vous voulez utiliser. Donc, si vous voulez garder un minimum de contrôle sur l&amp;#8217;affichage de vos polices typographiques, il faut vous assurer d&amp;#8217;appeler une police locale qui n&amp;#8217;existe pas. Le problème vient du fait que d&amp;#8217;une part, n&amp;#8217;importe quelle suite de caractères peut faire référence à une police installée localement, et d&amp;#8217;autre part, la fonction &lt;code&gt;local()&lt;/code&gt; doit impérativement contenir une chaine de caractères. Heureusement, la solution vient cette fois d&amp;#8217;une restriction existant chez les Mac. En effet, la spécification OpenType définie clairement que la plate-forme Macintosh d&amp;#8217;Apple ne peut pas avoir de fonte nommée sur 2 bytes. Il est donc hautement improbable qu&amp;#8217;une police ait un jour un nom aussi court. On peut donc utiliser n&amp;#8217;importe quel caractère Unicode codé sur 2 bytes pour définir un appel à une fonte locale qui n&amp;#8217;existe pas. Et tant qu&amp;#8217;à faire, puisque tout marche enfin, pourquoi ne pas utiliser ce caractère&amp;#160;: ☺&lt;/p&gt;
&lt;pre&gt;@font-face{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; font-family : &quot;maFonte&quot;;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; src : url('maFonte.eot');&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; src : local('☺'),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;       url('maFonte.woff') format('woff'),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;       url('maFonte.svg#abcd') format('svg'),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;       url('maFonte.ttf') format('truetype');&lt;br /&gt;}&lt;/pre&gt;&lt;/del&gt;
&lt;h2&gt;Les alternatives&lt;/h2&gt;
&lt;p&gt;Maintenant qu&amp;#8217;on s&amp;#8217;en est sorti avec les différents formats de fontes, vous avez peut-être envie de gras et d&amp;#8217;italique&amp;#160;? @font-face permet de déclarer ces alternatives de manière explicite, mais tous les navigateurs ne les gèrent pas correctement.&lt;/p&gt;
&lt;p&gt;La manière la plus simple de gérer vos alternatives consiste à avoir une déclaration @font-face pour chaque police avec un nom différent.&lt;/p&gt;
&lt;pre&gt;@font-face{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; font-family : &quot;maFonte&quot;;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; src : url('maFonte.eot');&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; src : local('☺'),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;       url('maFonte.woff') format('woff'),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;       url('maFonte.svg#abcd') format('svg'),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;       url('maFonte.ttf') format('truetype');&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;@font-face{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; font-family : &quot;maFonteGras&quot;;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; src : url('maFonteGras.eot');&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; src : local('☺'),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;       url('maFonteGras.woff') format('woff'),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;       url('maFonteGras.svg#abcd') format('svg'),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;       url('maFonteGras.ttf') format('truetype');&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;p {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; font-family : &quot;maFonte&quot;, Helvetica, Arial, sans-serif;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;p strong {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; font-family : &quot;maFonteGras&quot;, Helvetica, Arial, sans-serif;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; font-weight : normal;&lt;br /&gt;}&lt;/pre&gt;&lt;p&gt;Le problème de cette approche, c&amp;#8217;est que si vous êtes dans un contexte où vous ne maîtrisez pas absolument votre style (avec un CMS par exemple) vous pouvez vous retrouver avec des polices affichées avec des faux gras ou des faux italiques, ce qui est généralement assez moche. D&amp;#8217;un autre côté, dans l&amp;#8217;exemple de code précédent, si pour une raison ou une autre, la police &lt;em&gt;myFonteGras&lt;/em&gt; n&amp;#8217;est pas chargée, vous perdez le gras sur les polices de substitution.&lt;/p&gt;
&lt;p&gt;Heureusement, @font-face dispose d&amp;#8217;un mécanisme de gestion des alternatives assez simple pour résoudre ces questions. Il vous suffit de rajouter les propriétés &lt;code&gt;font-weight&lt;/code&gt; (pour le gras) &lt;code&gt;font-variant&lt;/code&gt; (pour les petites capitales) et &lt;code&gt;font-style&lt;/code&gt; (pour l&amp;#8217;italique) dans vos déclarations.&lt;/p&gt;
&lt;pre&gt;@font-face{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; font-family : &quot;maFonte&quot;;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; src : url('maFonte.eot');&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; src : local('☺'),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;       url('maFonte.woff') format('woff'),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;       url('maFonte.svg#abcd') format('svg'),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;       url('maFonte.ttf') format('truetype');&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; font-weight:normal;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; font-style:normal;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; font-variant:normal;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;@font-face{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; font-family : &quot;maFonte&quot;;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; src : url('maFonteGras.eot');&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; src : local('☺'),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;       url('maFonteGras.woff') format('woff'),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;       url('maFonteGras.svg#abcd') format('svg'),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;       url('maFonteGras.ttf') format('truetype');&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; font-weigth : bold;&lt;br /&gt;}&lt;/pre&gt;&lt;p&gt;Normalement, vous ne devriez pas avoir besoin de déclarer les variantes &lt;code&gt;normal&lt;/code&gt;, mais il s&amp;#8217;avère que cela est nécessaire pour Safari et Chrome qui, sinon, ont du mal à gérer les alternatives. En fait, de manière générale, cette méthode est encore très buggée dans la plupart des navigateurs et pas du tout supportée par Internet Explorer. C&amp;#8217;est donc à vous de voir dans quels cas de figure vous tolérerez du faux gras ou du faux italique ou pas.&lt;/p&gt;
&lt;h2&gt;Conclusion&lt;/h2&gt;
&lt;p&gt;Le support de @font-face étant ce qu&amp;#8217;il est à l&amp;#8217;heure actuelle, il restera toujours nécessaire de faire des tests multi-navigateurs pour s&amp;#8217;assurer du bon rendu de vos polices typographiques. Ceci étant, avec le contenu de cet article vous avez un terrain solide sur lequel vous reposer. De manière générale, je vous invite à utiliser &lt;a hreflang=&quot;en&quot; href=&quot;http://www.fontsquirrel.com/fontface/generator&quot;&gt;le générateur de fontes du site fontsquirrel.com&lt;/a&gt; qui vous permet de packager vos polices pour le web aux petits oignons et qui vous générera en plus les déclarations de styles qui vont bien.&lt;/p&gt;
&lt;p&gt;Cet article est fortement inspiré des articles de Paul Irish sur le même sujet. Si vous voulez plus de détails sur les contraintes techniques qu&amp;#8217;imposent chaque navigateur en terme de support de @font-face je ne saurais trop vous recommander d&amp;#8217;y jeter un coup d&amp;#8217;œil&amp;#160;: &lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://paulirish.com/2009/bulletproof-font-face-implementation-syntax/&quot; hreflang=&quot;en&quot; lang=&quot;en&quot;&gt;Bulletproof @font-face syntax&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://paulirish.com/2010/font-face-gotchas/&quot; hreflang=&quot;en&quot; lang=&quot;en&quot;&gt;@font-face gotchas&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Une autre excellente ressource à lire, l&amp;#8217;article de Tim Brown (en anglais)&amp;#160;: &lt;a hreflang=&quot;en&quot; href=&quot;http://nicewebtype.com/notes/2009/10/30/how-to-use-css-font-face/&quot;&gt;How to use CSS @font-face&lt;/a&gt; &lt;/p&gt;
&lt;h2 id=&quot;maj&quot;&gt;MAJ du 4 Fevrier 2011&lt;/h2&gt;
&lt;p&gt;Depuis que j&amp;#8217;ai écris cet article, des bugs on été trouvés liés à l&amp;#8217;usage de la fonction local() sous Androïd et donc, cette méthode de déclaration n&amp;#8217;est plus recommandée. Heureusement, des solutions ont été trouvé pour résoudre ce souci. Dans un premier temps, les principaux fournisseurs de fontes en ligne se sont rabattus sur &lt;a hreflang=&quot;en&quot; href=&quot;http://readableweb.com/mo-bulletproofer-font-face-css-syntax/&quot;&gt;la solution que proposait Richard Fink&lt;/a&gt; qui marche très bien mais est un peu &amp;#8220;moche&amp;#8221;. Néanmoins, &lt;a hreflang=&quot;en&quot; href=&quot;http://www.fontspring.com/blog/the-new-bulletproof-font-face-syntax&quot;&gt;les gens de chez FontSpring ont trouvé une solution&lt;/a&gt; à la fois plus élégante et vraiment passe partout&amp;#160;:&lt;/p&gt;
&lt;pre&gt;@font-face{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; font-family : &quot;maFonte&quot;;&lt;br /&gt;&lt;br /&gt;    src : url('maFonte.eot'); /* Pour IE9 Compat mode */&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; src : url('maFonte.eot?') format('eot),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;       url('maFonte.woff') format('woff'),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;       url('maFonte.svg#abcd') format('svg'),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;       url('maFonte.ttf') format('truetype');&lt;br /&gt;}&lt;/pre&gt;&lt;p&gt;Comme je l&amp;#8217;explique ci-avant, les version d&amp;#8217;Internet Explorer 6, 7 et 8 souffrent d&amp;#8217;un bug de parsing qui leur font croire que l&amp;#8217;adresse de la fonte est la chaine de caractère comprise entre la première parenthèse ouvrante et la toute dernière parenthèse fermante de la déclaration &lt;code&gt;src&lt;/code&gt;. Le coup de génie de FontSpring a été de rajouter un &amp;#8220;?&amp;#8221; à la fin de l&amp;#8217;adresse de la fonte EOT. De cette manière, les vieilles versions de IE vont bien charger le fichier de police et tout ce qui sera après le &amp;#8220;?&amp;#8221; ne servira à rien mais évitera un appel vers une adresse qui n&amp;#8217;existe pas puisque ce sera compris comme étant un paramètre d&amp;#8217;URL.&lt;/p&gt;
&lt;p&gt;Vous noterez qu&amp;#8217;il est requis de préciser le format des fontes, y compris celui de la fonte EOT pour que les autres navigateurs ne la charge pas &amp;#8220;pour voir s&amp;#8217;ils la comprennent&amp;#8221;. Par contre, ce qu&amp;#8217;il faut savoir, c&amp;#8217;est que le vrai nom de format pour les fontes EOT, ce n&amp;#8217;est pas &amp;#8220;eot&amp;#8221; mais &amp;#8220;embedded-opentype&amp;#8221;. Pourquoi ne pas utiliser le vraie nom de format me diriez-vous&amp;#160;? Et bien c&amp;#8217;est tout simplement pour IE9. En effet, IE9 peut utiliser aussi bien les fontes EOT que les fontes WOFF. Si vous voulez qu&amp;#8217;il utilise les fontes WOFF, vous devez faire en sorte qu&amp;#8217;il ignore la fonte EOT. Comme IE9 comprend les déclarations de fichier multiple de la propriété &lt;code&gt;src&lt;/code&gt;, il suffit juste de fournir un nom de format qu&amp;#8217;il ne comprendra pas pour la fonte EOT et il passera alors à la fonte suivante dans la liste, à savoir dans ce cas, la fonte WOFF.&lt;/p&gt;
&lt;ol class=&quot;note&quot;&gt;&lt;li id=&quot;note1&quot;&gt;Enfin, à peu près cohérent, je ne vous parlerai pas ici des différents types de rendu typographique qui peuvent fortement varier selon le moteur de rendu utilisé, qui change en fonction des différentes combinaisons&amp;#160;: navigateur + OS. &lt;a href=&quot;http://typographisme.net/post/Bonnes-pratiques-pour-les-d%C3%A9clarations-%40font-face#note1b&quot; title=&quot;Reprendre la lecture là où vous l'avez laissée&quot;&gt;[retour]&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;</description>

    

      </item>
  
  <item>
    <title>Macro-typographie sur le Web - Mise en pratique</title>
    <link>http://typographisme.net/post/Macro-typographie-sur-le-Web-Mise-en-pratique</link>
    <guid isPermaLink="false">urn:md5:a9845a9b90368f96c1643b3acf2a5ef8</guid>
    <pubDate>Thu, 16 Dec 2010 10:29:00 +0100</pubDate>
    <dc:creator>Vincent</dc:creator>
        <category>Design Web</category>
        
    <description>&lt;p&gt;Vous êtes convaincu par l&amp;#8217;utilisation des grilles typographiques&amp;#160;? Voilà qui fait plaisir.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://typographisme.net/post/Macro-typographie-sur-le-Web-Quelques-outils&quot;&gt;Nous avons choisi dans le billet précédent nos outils&lt;/a&gt; et il ne reste donc plus qu&amp;#8217;à passer à la pratique&amp;#160;!&lt;/p&gt;    &lt;h2&gt;Mise en place du modèle&lt;/h2&gt;
&lt;p&gt;Vous avez peut-être déjà un modèle personnalisé tout prêt que
vous utilisez pour débuter vos intégrations. Si ce n&amp;#8217;est
pas le cas, créez un document HTML basique de ce type. &lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Strict//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&quot;&amp;gt;&lt;br /&gt;&amp;lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; xml:lang=&quot;fr&quot; lang=&quot;fr&quot;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;head&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;!--[if IE]&amp;gt;&amp;lt;![endif]--&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html;charset=UTF-8&quot; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;title&amp;gt; &amp;lt;/title&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/head&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;!--[if gte IE 8]&amp;gt;&amp;lt;body class=&quot;ie ie8&quot;&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;![endif]--&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;!--[if IE 7]&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;body class=&quot;ie ie7&quot;&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;![endif]--&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;!--[if IE 6]&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;body class=&quot;ie ie6&quot;&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;![endif]--&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;!--[if !IE]&amp;gt;--&amp;gt;&amp;nbsp; &amp;lt;body class=&quot;not-ie&quot;&amp;gt;&amp;lt;!--&amp;lt;![endif]--&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;script type=&quot;text/javascript&quot; src=&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js&quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/body&amp;gt;&lt;br /&gt;&amp;lt;/html&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Je déplace par habitude les fichiers utiles de travail à Blueprint
dans le répertoire CSS. Je les lie ensuite simplement à mon fichier HTML.&lt;/p&gt;
&lt;p&gt;On liste&amp;#160;:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;la CSS destinée à l&amp;#8217;affichage écran&amp;#160;;&lt;/li&gt;
&lt;li&gt;la CSS destinée à l&amp;#8217;impression&amp;#160;;&lt;/li&gt;
&lt;li&gt;la CSS destinée aux correctifs pour Internet Explorer.&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Strict//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&quot;&amp;gt;&lt;br /&gt;&amp;lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; xml:lang=&quot;fr&quot; lang=&quot;fr&quot;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;head&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;!--[if IE]&amp;gt;&amp;lt;![endif]--&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html;charset=UTF-8&quot; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;title&amp;gt; &amp;lt;/title&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;!-- Blueprint --&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;http://typographisme.net/post/css/screen.css&quot; media=&quot;screen&quot; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;http://typographisme.net/post/css/print.css&quot;&amp;nbsp; media=&quot;print&quot;&amp;nbsp; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;!--[if lt IE 8]&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;http://typographisme.net/post/css/ie.css&quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; media=&quot;screen&quot; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;![endif]--&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/head&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;!--[if gte IE 8]&amp;gt;&amp;lt;body class=&quot;ie ie8&quot;&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;![endif]--&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;!--[if IE 7]&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;body class=&quot;ie ie7&quot;&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;![endif]--&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;!--[if IE 6]&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;body class=&quot;ie ie6&quot;&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;![endif]--&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;!--[if !IE]&amp;gt;--&amp;gt;&amp;nbsp; &amp;lt;body class=&quot;not-ie&quot;&amp;gt;&amp;lt;!--&amp;lt;![endif]--&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;script type=&quot;text/javascript&quot; src=&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js&quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/body&amp;gt;&lt;br /&gt;&amp;lt;/html&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Habituellement, je concatène les deux fichiers &lt;em&gt;screen.css&lt;/em&gt; et
&lt;em&gt;print.css&lt;/em&gt; grâce aux medias queries. J&amp;#8217;économise ainsi une requête. Veillez cependant à placer les instructions
destinées à l&amp;#8217;impression en fin de fichier pour que cela marche sans
souci sous Internet Explorer.&lt;/p&gt;
&lt;p&gt;J&amp;#8217;en profite ensuite pour installer #grid auquel j&amp;#8217;ajoute une
feuille de style. Je prends le soin de commenter mon code pour préciser
qu&amp;#8217;il ne doit pas se retrouver dans un environnement de production.&lt;/p&gt;
&lt;p&gt;Notez que #grid nécessite également l&amp;#8217;utilisation de jQuery (que je chargeais déjà dans mon template initial).&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Strict//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&quot;&amp;gt;&lt;br /&gt;&amp;lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; xml:lang=&quot;fr&quot; lang=&quot;fr&quot;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;head&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;!--[if IE]&amp;gt;&amp;lt;![endif]--&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html;charset=UTF-8&quot; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;title&amp;gt; &amp;lt;/title&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;!-- Blueprint --&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;http://typographisme.net/post/css/bp.css&quot; media=&quot;all&quot; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;!--[if lt IE 8]&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;http://typographisme.net/post/css/ie.css&quot; media=&quot;all&quot; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;![endif]--&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;!-- #grid --&amp;gt;&amp;lt;!-- à supprimer en production --&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;http://typographisme.net/post/css/hashgrid.css&quot; media=&quot;all&quot; /&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/head&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;!--[if gte IE 8]&amp;gt;&amp;lt;body class=&quot;ie ie8&quot;&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;![endif]--&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;!--[if IE 7]&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;body class=&quot;ie ie7&quot;&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;![endif]--&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;!--[if IE 6]&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;body class=&quot;ie ie6&quot;&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;![endif]--&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;!--[if !IE]&amp;gt;--&amp;gt;&amp;nbsp; &amp;lt;body class=&quot;not-ie&quot;&amp;gt;&amp;lt;!--&amp;lt;![endif]--&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;div class=&quot;container&quot;&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/div&amp;gt;&lt;br /&gt;&lt;br /&gt;        &amp;lt;script type=&quot;text/javascript&quot; src=&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js&quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;!-- #grid --&amp;gt;&amp;lt;!-- à supprimer en production --&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;script type=&quot;text/javascript&quot; src=&quot;http://typographisme.net/post/js/hashgrid.js&quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/body&amp;gt;&lt;br /&gt;&amp;lt;/html&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;La feuille de style &lt;em&gt;hashgrid.css&lt;/em&gt;
correspondante à la grille Blueprint est la suivante. Elle permet
d&amp;#8217;afficher successivement la grille horizontale, la grille verticale, ou
les deux.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#grid&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; width:950px;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; position:absolute;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; top:0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; left:50%;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; margin-left:-475px;&lt;br /&gt;}&lt;br /&gt;#grid div.vert&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; width:9px;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; border:dotted darkturquoise;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; border-width:0 1px;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; margin-right:29px;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; content:' ';&lt;br /&gt;}&lt;br /&gt;#grid div.first-line&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; margin-left:29px;&lt;br /&gt;}&lt;br /&gt;#grid div.horiz&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; height:1.5em;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; border-bottom:1px dotted darkturquoise;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; margin-bottom:-1px;&lt;br /&gt;}&lt;br /&gt;#grid #grid-horiz.first-line&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; margin-left:0;&lt;br /&gt;}&lt;br /&gt;#grid.grid-1 div.horiz&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; border-color:transparent;&lt;br /&gt;}&lt;br /&gt;#grid.grid-2 div.vert&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; border-color:transparent;&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Les plus impatients d&amp;#8217;entre vous &lt;a hreflang=&quot;en&quot; href=&quot;http://www.typographisme.net/fichiers/macro-typo/sample.html&quot;&gt;se réfèreront directement au résultat en ligne&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Remarquez que j&amp;#8217;ai modifié légèrement le fichier JavaScript pour y supprimer une
espace insécable gênante (en mode CSS désactivées) (lignes 123 et 128) et
également passer le nombre de grilles à trois (verticale, horizontale
et la combinaison des deux) (ligne 337). Je casse du coup la compatibilité avec Internet Explorer mais je n&amp;#8217;ai pas pour habitude de caler ma grille avec ce navigateur.&lt;/p&gt;
&lt;h2&gt;Insérer le contenu&lt;/h2&gt;
&lt;p&gt;Reste à placer le contenu au sein de votre page. Celui-ci vient à
l&amp;#8217;intérieur du conteneur justement nommé &lt;em&gt;.container&lt;/em&gt;. On réalise le
colonnage sans difficulté&amp;#160;: la grille verticale proposée est robuste.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ce n&amp;#8217;est pas
le cas de la grille horizontale qui va nécessiter plus d&amp;#8217;attention.&lt;/strong&gt; Quelques éléments du contenu avec une hauteur fixe exprimée en pixels venant perturber notre mise
en page. Et nous l&amp;#8217;avons
vu&amp;#160;: tout ce qui est vertical devrait (en théorie) être exprimé en em.&lt;/p&gt;
&lt;p&gt;Heureusement il
existe des astuces.&lt;/p&gt;
&lt;h3&gt;Contourner le problème des images&lt;/h3&gt;
&lt;img alt=&quot;&quot; src=&quot;http://typographisme.net/fichiers/macro-typo/image.jpg&quot; /&gt;
&lt;p&gt;Forcer la hauteur de l&amp;#8217;image en em semble évidement à proscrire,
c&amp;#8217;est non seulement une mauvaise pratique mais cela va surtout la
déformer. Fort heureusement, il est facile de placer un conteneur
supplémentaire autour de l&amp;#8217;image et de lui donner à son tour une taille
en em.&lt;/p&gt;
&lt;p&gt;Pour exemple, l&amp;#8217;image contenue dans le pied de page sera codée ainsi&amp;#160;:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;p style=&quot;height:3em;&quot;&amp;gt;&lt;br /&gt;    &amp;lt;a href=&quot;http://validator.w3.org/check?uri=referer&quot;&amp;gt;&lt;br /&gt;        &amp;lt;img src=&quot;http://typographisme.net/post/img/valid.png&quot; alt=&quot;Valid XHTML 1.0&quot; height=&quot;31&quot; width=&quot;88&quot; class=&quot;top&quot; /&amp;gt;&lt;br /&gt;    &amp;lt;/a&amp;gt;&lt;br /&gt;&amp;lt;/p&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;31 pixels n&amp;#8217;étant pas un multiple de 18, je prend le multiple immédiatement supérieur.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;36 / 18&amp;nbsp; = 2&lt;br /&gt;&amp;nbsp;2 * 1.5 = 3&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Pour éviter toute marge sur vos images, n&amp;#8217;oubliez pas également de forcer leur affichage en bloc si nécessaire.&lt;/p&gt;
&lt;p&gt;Cette technique ne s&amp;#8217;applique évidemment pas aux images flottées dans le corps de texte.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Détail intéressant&amp;#160;:&lt;/strong&gt; l&amp;#8217;alignement des images bien que parfaitement calé sur la grille n&amp;#8217;est en fait pas correct, &lt;a hreflang=&quot;fr&quot; href=&quot;http://www.slideshare.net/Mitternacht/la-macrotypographie-de-la-page-web-5499736/47&quot;&gt;comme l&amp;#8217;explique Anne-Sophie&lt;/a&gt;.
Il est toutefois possible d&amp;#8217;obtenir un effet similaire (au niveau de
zoom par défaut) en bidouillant un peu… Je ne m&amp;#8217;attarde pas, le résultat
est aléatoire. Analysez si besoin le résultat en ligne proposé en fin d&amp;#8217;article.&lt;/p&gt;
&lt;p&gt;&lt;img title=&quot;alignement.jpg, déc. 2010&quot; alt=&quot;alignement.jpg&quot; src=&quot;http://typographisme.net/fichiers/macro-typo/alignement.jpg&quot; /&gt;&lt;/p&gt;
&lt;h3&gt;Contourner le problème des tableaux&lt;/h3&gt;
&lt;p&gt;C&amp;#8217;est cette même parade qui sera bien souvent la plus pratique à
mettre en place pour les tableaux de données (et tout les autres cas
récalcitrants). Calculer la taille d&amp;#8217;une cellule de tableau sur laquelle s&amp;#8217;appliquent
bordures (fusionnées ou non aux cellules adjacentes) et marges internes est un véritable casse-tête.&lt;/p&gt;
&lt;p&gt;Il est plus simple (là encore) de placer un conteneur autour de votre tableau et de lui fixer une hauteur, pourvu qu&amp;#8217;elle soit exprimée en em et calculée pour tomber sur la grille.&lt;/p&gt;
&lt;p&gt;Prenez garde néanmoins&amp;#160;: en fonction de votre contenu, il sera peut-être plus
préférable de «&amp;#160;casser&amp;#160;» la grille plutôt que de limiter la hauteur d&amp;#8217;un conteneur. À vous de
peser le pour et le contre en fonction de votre contexte. N’oubliez pas le &lt;code&gt;min-height&lt;/code&gt; (et son équivalent pour IE 6) qui fait des miracles&amp;#160;!&lt;/p&gt;
&lt;h3&gt;Contourner le problème des bordures&lt;/h3&gt;
&lt;p&gt;Notre page d&amp;#8217;exemple comporte quelques &lt;code&gt;&amp;lt;hr&amp;gt;&lt;/code&gt; qui
sont rendus par une bordure haute d&amp;#8217;un pixel. Il est assez rare de travailler avec cette balise mais elle fera un exemple révélateur du problème.&lt;/p&gt;
&lt;p&gt;Ce simple pixel peut venir
perturber notre beau rythme vertical (d&amp;#8217;autant plus si il est répété à plusieurs endroits de la page). Il faut donc y trouver une
solution et heureusement plusieurs techniques sont possibles.&lt;/p&gt;
&lt;h5&gt;Tout calculer en em&lt;/h5&gt;
&lt;p&gt;Une ligne faisant 18 pixels pour 1.5&amp;#160;em, 1 pixel fait donc 0.08333em.
En y ajoutant la ou les marges nécessaires pour compenser, on peut
aisément retomber sur la grille.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;1.5 / 18&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0.8333&lt;br /&gt;1.5 - 0.8333 = 1.4166&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;hr&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; border:none;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; background-color:#DDD;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; color:#DDD;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; height:0.08333em;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; margin:0 0 1.4166em;&lt;br /&gt;}&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Seul inconvénient&amp;#160;: au zoom, cette bordure de 1 pixel pourra prendre de l&amp;#8217;épaisseur, ce qui peut s&amp;#8217;avérer disgracieux.&lt;/p&gt;
&lt;h5&gt;Ajouter une marge négative&lt;/h5&gt;
&lt;p&gt;Plus pratique, la &lt;strong&gt;marge négative&lt;/strong&gt; va nous permettre de rétablir
l&amp;#8217;alignement sur la grille sans pour autant nous empêcher de travailler
en pixels.&lt;/p&gt;
&lt;p&gt;Ainsi&amp;#160;:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;hr&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; border:none;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; background-color:#DDD;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; color:#DDD;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; height:1px;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; margin:-1px 0 1.5em;&lt;br /&gt;}&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Il
est même possible (voire conseillé) de replacer ensuite la bordure
exactement où elle aurait dû apparaître en la décalant visuellement&amp;#160;:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;hr&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; border:none;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; background-color:#DDD;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; color:#DDD;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; height:1px;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; margin:-1px 0 1.5em;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; position:relative;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; top:1px;&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;J&amp;#8217;utilise personnellement extrêmement souvent cette technique et je vous la conseille.&lt;/p&gt;
&lt;h5&gt;Jouer avec l&amp;#8217;interlignage&lt;/h5&gt;
&lt;p&gt;Autre astuce, qui n&amp;#8217;est pas très pertinente avec le &lt;code&gt;&amp;lt;hr&amp;gt;&lt;/code&gt; de l&amp;#8217;exemple précédent, mais qui prend plus de sens lorsqu&amp;#8217;il s&amp;#8217;agit de faire tenir sur la grille un champ de formulaire.&lt;/p&gt;
&lt;p&gt;En effet, c&amp;#8217;est un véritable challenge de devoir styler les champs de
formulaire&amp;#160;: en fonction du navigateur une marge interne plus ou moins
incompressible s&amp;#8217;ajoute à vos calculs et vient les fausser. &lt;/p&gt;
&lt;p&gt;La solution que je mets en place ressemble alors à ça&amp;#160;:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;p style=&quot;line-height:3em&quot;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;label for=&quot;text&quot;&amp;gt;Texte&amp;lt;/label&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;input type=&quot;text&quot; id=&quot;text&quot; name=&quot;text&quot; /&amp;gt;&lt;br /&gt;&amp;lt;/p&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Je m&amp;#8217;assure ainsi de centrer verticalement mon champ dans son conteneur et d&amp;#8217;y aligner correctement les textes. C&amp;#8217;est facile et fonctionnel.&lt;/p&gt;
&lt;p&gt;Blueprint inclut une technique similaire dans sa partie destinée aux formulaires… Mais encore une fois je ne trouve pas cette partie correctement finalisée, je préfère donc habituellement la contourner.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Ces quelques astuces mises en place, nous obtenons finalement un &lt;a hreflang=&quot;en&quot; href=&quot;http://www.typographisme.net/fichiers/macro-typo/sample.html&quot;&gt;modèle fonctionnel qui répond à nos attentes&lt;/a&gt;. Je vous laisse le &lt;strong&gt;tester&lt;/strong&gt; vous-même avec Firebug, #grid et la fonction zoom de votre navigateur pour l&amp;#8217;éprouver.&lt;/p&gt;
&lt;p&gt;Et j&amp;#8217;espère bien sûr que vous mettrez vous aussi tout ça en pratique bientôt&amp;#160;!&lt;/p&gt;</description>

    

      </item>
  
  <item>
    <title>Macro-typographie sur le Web – Quelques outils</title>
    <link>http://typographisme.net/post/Macro-typographie-sur-le-Web-Quelques-outils</link>
    <guid isPermaLink="false">urn:md5:8de843d9a03ce1498a1b0b441cd368bd</guid>
    <pubDate>Tue, 14 Dec 2010 11:07:00 +0100</pubDate>
    <dc:creator>Vincent</dc:creator>
        <category>Design Web</category>
        
    <description>&lt;p&gt;&lt;a href=&quot;http://typographisme.net/post/Typographie-%C3%A0-Paris-Web&quot;&gt;Anne-Sophie présentait en octobre dernier à Paris Web une conférence sur
la macro-typographie&lt;/a&gt;. Elle y abordait les problématiques des mises en
page sur le Web et plus particulièrement de l’utilisation des grilles. Vous pouvez d’ailleurs enfin &lt;a href=&quot;http://www.paris-web.fr/2010/programme/macrotypographie-page-web.php&quot;&gt;(re)visionner sa conférence si vous le souhaitez sur le site de Paris Web&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Bien que les solutions pour les mettre en place ne soient pas nouvelles, je
constate qu’elles ne sont pas pour autant adoptées facilement. En
partageant mon expérience pratique sur le sujet dans ce billet, j’espère faciliter leur adoption.&lt;/p&gt;    &lt;p&gt;Le framework CSS Blueprint a été le premier à me taper dans l’œil et je l&amp;#8217;avais donc expérimenté sur des projets personnels. C&amp;#8217;est aussi celui qui est utilisé par mes collègues designers, ce qui m&amp;#8217;a permis de le découvrir plus largement au jour le jour. C&amp;#8217;est donc sur celui-ci que j&amp;#8217;appuierai ma démonstration. Notez cependant qu&amp;#8217;il s&amp;#8217;agit d&amp;#8217;un simple choix technique et que ce n&amp;#8217;est pas ce qui importera le plus. Adaptez mon discours à vos outils si le besoin s&amp;#8217;en fait sentir, pourvu que vous utilisiez une grille ou que le sujet retienne votre attention&amp;#160;!&lt;/p&gt;
&lt;p&gt;&lt;iframe src=&quot;http://player.vimeo.com/video/17261057?title=0&amp;amp;byline=0&amp;amp;portrait=0&amp;amp;color=D45C38&quot; width=&quot;463&quot; height=&quot;347&quot; frameborder=&quot;0&quot;&gt;&lt;/iframe&gt;&lt;/p&gt;
&lt;p&gt;L&amp;#8217;objectif à atteindre sera simple et ressemblera à ce qui est présenté &lt;a style=&quot;font-weight: bold;&quot; hreflang=&quot;fr&quot; href=&quot;http://vimeo.com/17261057&quot;&gt;sur la vidéo ci-dessus&lt;/a&gt;&lt;strong&gt;,&lt;/strong&gt; à savoir&amp;#160;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&amp;nbsp;une mise en page sur plusieurs colonnes&amp;#160;;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;un contenu composé de titres, sous-titres, paragraphes, images&amp;#160;;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;le tout aligné sur &lt;strong&gt;deux&lt;/strong&gt; grilles&amp;#160;: une verticale et une horizontale&amp;#160;;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;le tout s&amp;#8217;adaptant automatiquement à la taille du texte choisi par l&amp;#8217;internaute (les grilles s&amp;#8217;adapteront elles-aussi).&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;&lt;a href=&quot;http://typographisme.net/post/Blueprint&quot;&gt;Blueprint&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a hreflang=&quot;en&quot; href=&quot;http://www.blueprintcss.org/&quot;&gt;Blueprint est proposé au téléchargement&lt;/a&gt; sous forme d&amp;#8217;une archive contenant une série de fichiers CSS. Publiée en version 1.0 depuis fin septembre, la bibliothèque a été élaborée en plus de deux ans, signe du sérieux travail accompli. Elle n&amp;#8217;est pas exempte de défauts pour autant mais nous en reparlerons.&lt;/p&gt;
&lt;p&gt;La bibliothèque est disponible &lt;a hreflang=&quot;en&quot; href=&quot;https://github.com/joshuaclayton/blueprint-css/wiki/License&quot;&gt;sous licence MIT&lt;/a&gt; et &lt;a hreflang=&quot;en&quot; href=&quot;https://github.com/joshuaclayton/blueprint-css/wiki/Browser-compatibility-list&quot;&gt;promet une compatibilité complète avec les navigateurs du marché&lt;/a&gt;&amp;#160;: elle se veut donc facilement utilisable et robuste.&lt;/p&gt;
&lt;p&gt;Une fois l&amp;#8217;archive décompressée, nous découvrons outre les habituels fichiers textes explicatifs, plusieurs répertoires&amp;#160;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;blueprint&lt;/em&gt; qui contient les fichiers utiles de travail (dans leurs versions normales et compressées)&amp;#160;;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;templates&lt;/em&gt; qui contient un gabarit destiné à Photoshop (avec fonds semi-transparents et règles)&amp;#160;;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;lib&lt;/em&gt; qui contient des scripts Ruby permettant de modifier et de compresser automatiquement la bibliothèque (ne faisant pas de Ruby, je n&amp;#8217;ai jamais eu la curiosité de fouiller plus avant ce répertoire)&amp;#160;;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;test&lt;/em&gt; qui propose des exemples simples de pages mise en forme à l&amp;#8217;aide de Blueprint.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;On trouve également dans le répertoire &lt;em&gt;blueprint&lt;/em&gt; un sous-répertoire nommé &lt;em&gt;plugins&lt;/em&gt; qui comme son nom l&amp;#8217;indique, contient des extensions qui permettent à Blueprint de réaliser encore plus de choses. Ne trouvant pas ses plugins aboutis, je ne les utilise pas et n&amp;#8217;en parlerai donc pas.&lt;/p&gt;
&lt;h3&gt;La grille verticale&lt;/h3&gt;
&lt;p&gt;La grille verticale proposée par défaut avec Blueprint se compose de 24 colonnes d&amp;#8217;une largeur de 30 pixels séparées entre elles par des gouttières de 10 pixels. Aucune gouttière avant la première colonne, ni après la dernière colonne&amp;#160;: cela n&amp;#8217;aurait aucune utilité. La largeur totale de la page fait donc 950 pixels.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;nbsp;24 * 30&amp;nbsp; = 720&lt;br /&gt;&amp;nbsp;23 * 10&amp;nbsp; = 230&lt;br /&gt;&lt;br /&gt;720 + 230 = 950&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Par défaut il est donc proposé un grand nombre de colonnes mais il est bien sûr conseillé de composer votre grille sur un nombre plus restreint. Ça tombe plutôt bien car 24 est facilement divisible par 2, 3, 4, 6, 8 et 12&amp;#160;: ce qui permet de composer aisément des grilles avec des colonnes plus larges.&lt;/p&gt;
&lt;p&gt;6 colonnes par exemple&amp;#160;:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;nbsp;24 / 6&amp;nbsp;&amp;nbsp; = 4&lt;br /&gt;&lt;br /&gt;&amp;nbsp; 4 * 30&amp;nbsp; = 120&lt;br /&gt;&amp;nbsp; 3 * 10&amp;nbsp; = 30&lt;br /&gt;120 + 30&amp;nbsp; = 150&lt;br /&gt;&lt;br /&gt;&amp;nbsp; 6 * 150 = 900&lt;br /&gt;&amp;nbsp; 5 * 10&amp;nbsp; = 50&lt;br /&gt;900 + 50&amp;nbsp; = 950&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;L&amp;#8217;alignement sur les colonnes se fait simplement à l&amp;#8217;aide des classes &lt;code&gt;.span-X&lt;/code&gt;, &lt;code&gt;append-X&lt;/code&gt;, &lt;code&gt;prepend-X&lt;/code&gt;, &lt;code&gt;push-X&lt;/code&gt;, &lt;code&gt;pull-X&lt;/code&gt;… Le nombre &lt;strong&gt;X&lt;/strong&gt; indiquant le nombre de colonnes souhaité. Ces classes sont complétées par l&amp;#8217;habituel &lt;code&gt;.clearfix&lt;/code&gt;, &lt;code&gt;.clear&lt;/code&gt; mais aussi par les classes &lt;code&gt;.last .border&lt;/code&gt; ou &lt;code&gt;.colborder&lt;/code&gt;.
C&amp;#8217;est ainsi très pratique de construire un layout extrêmement rapidement. Cette tâche fastidieuse de mise en place des colonnes est donc totalement prise en charge par la bibliothèque. &lt;/p&gt;
&lt;p&gt;Si cette syntaxe ne vous est pas familière je ne saurais vous conseiller de &lt;a hreflang=&quot;en&quot; href=&quot;http://www.blueprintcss.org/tests/parts/grid.html&quot;&gt;parcourir le code source d&amp;#8217;un des exemples proposés sur le site de Blueprint&lt;/a&gt;. Accompagné si besoin de &lt;a hreflang=&quot;fr&quot; href=&quot;http://windowslinux.net/index.php/BluePrint#Tutorial_de_D.C3.A9marrage_rapide&quot;&gt;la traduction du tutoriel de démarrage rapide officiel&lt;/a&gt;.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;Si toutefois cette grille ne vous convenait pas, sachez que vous pouvez sans souci vous en confectionner une autre, la philosophie reste la même, seules les valeurs dans la CSS changeront.&lt;/p&gt;
&lt;h3&gt;La grille horizontale&lt;/h3&gt;
&lt;p&gt;Chose plus rare (&lt;a hreflang=&quot;en&quot; href=&quot;http://960.gs/&quot;&gt;la plus connue des bibliothèque CSS&lt;/a&gt; ne le propose pas par exemple) mais aussi extrêmement intéressante&amp;#160;: le framework propose une grille horizontale. Cette dernière se compose d&amp;#8217;une succession de lignes ayant pour hauteur 18 pixels. Cette valeur de 18 pixels est en fait calculée, puisque exprimée en réalité dans une unité relative et fixée à 1.5em.&lt;/p&gt;
&lt;p&gt;Les textes par défaut étant fixés à 12 pixels (1em), cela respecte scrupuleusement les &lt;a hreflang=&quot;fr&quot; href=&quot;http://www.w3.org/Translations/WCAG20-fr/#visual-audio-contrast-visual-presentation&quot;&gt;spécifications d&amp;#8217;accessibilité (WCAG 2) qui indiquent que l&amp;#8217;interlignage des paragraphes doit être d&amp;#8217;une valeur d&amp;#8217;au moins 1.5 fois la taille du texte&lt;/a&gt;.&amp;nbsp;
&lt;/p&gt;
&lt;pre&gt; 1em * 1.5 = 1.5em&lt;br /&gt;12px * 1.5 = 18px&lt;/pre&gt;&lt;p&gt;Pour changer la taille par défaut des textes (pour un titre de niveau trois à 15 pixels par exemple) on complète sa feuille de style ainsi&amp;#160;:&lt;/p&gt;
&lt;pre&gt;h3.exemple {&lt;br /&gt;    font-size:1.25em;&lt;br /&gt;    line-height:1.2;&lt;br /&gt;    margin-bottom:1.2em;&lt;br /&gt;}&lt;/pre&gt;
&lt;p&gt;Ce résultat étant obtenu par une simple règle de trois.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;15 / 12 = 1.25&lt;br /&gt;18 / 15 = 1.2&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Notez que la marge basse est également redéfinie, l&amp;#8217;initiale fixée à 1.5em n&amp;#8217;étant plus juste pour suivre convenablement la grille.&lt;/p&gt;
&lt;p&gt;On se souviendra plus simplement que&amp;#160;:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Taille de texte en em = taille du texte voulue en pixels divisé par taille initiale du texte en pixels.&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Interlignage et marges = interlignage initial en pixels divisé par taille du texte voulue en pixels.&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Là encore, si vous souhaitez changer la valeur par défaut de la grille horizontale c&amp;#8217;est tout à fait possible. Il faut seulement (manuellement ou via un générateur) recalculer l&amp;#8217;ensemble des marges verticales de la bibliothèque.&lt;/p&gt;
&lt;h4&gt;Pourquoi est-ce intéressant de travailler avec des unités relatives&amp;#160;?&lt;/h4&gt;
&lt;p&gt;Sans doute pas pour le plaisir de compliquer les choses, n&amp;#8217;est-ce pas&amp;#160;?&lt;/p&gt;
&lt;p&gt;C&amp;#8217;est en fait une question complexe et je crois que personne n&amp;#8217;a de réponse aboutie et argumentée à ce sujet&amp;#160;: la plus grande confusion règne entre le zoom page, le zoom texte ainsi que les polices exprimées en unités fixes ou relatives.&lt;/p&gt;
&lt;p&gt;Ne pas confondre le zoom page et le zoom texte est primordial. Ce sont deux outils différents, et l&amp;#8217;un ne remplace pas l&amp;#8217;autre.&lt;/p&gt;
&lt;h5&gt;Le zoom page&lt;/h5&gt;
&lt;p&gt;Cet outil va agir comme le ferait une loupe&amp;#160;: tout le contenu de la page est zoomé sans distinction. Cela pouvant obliger à panoter afin d&amp;#8217;obtenir une vision globale de la page. En gros, ce n&amp;#8217;est ni plus ni moins que le bon vieil outil loupe, mais intégré au navigateur&amp;#160;: rien de nouveau donc, si ce n&amp;#8217;est de l&amp;#8217;avoir toujours sous la main.&lt;/p&gt;
&lt;p&gt;Notez en passant que cet outil n&amp;#8217;est pas proposé sous IE 6.&lt;/p&gt;
&lt;h5&gt;Le zoom texte&lt;/h5&gt;
&lt;p&gt;Le zoom texte, quand à lui ne grossira que les éléments textuels&amp;#160;; si votre page est bien construite, elle devrait donc pouvoir s&amp;#8217;étendre en hauteur sans pour autant se dégrader visuellement.&lt;/p&gt;
&lt;p&gt;Autre point important&amp;#160;: faut-il préférer les unités fixes ou les unités relatives&amp;#160;?&lt;/p&gt;
&lt;aside&gt;&lt;p style=&quot;margin-bottom: 1.2em;&quot;&gt;On ne le dira jamais assez&amp;#160;: le web est un média flexible.&lt;/p&gt;
&lt;/aside&gt;
&lt;p&gt;Bien que travailler avec des unités fixes ne pose pas de problème, sachez d&amp;#8217;abord que sous Internet Explorer cela empêchera toute modification de la taille du texte par l&amp;#8217;utilisateur. Préférant toujours laisser le choix à l&amp;#8217;utilisateur (le pauvre, il est déjà sous IE&amp;#160;!), je trouve intéressant de ne pas le brider d&amp;#8217;avantage.&lt;/p&gt;
&lt;p&gt;Enfin, autre point bloquant&amp;#160;: en mode zoom texte (comme nous l&amp;#8217;avons vu plus haut), les marges exprimées en pixels ne s&amp;#8217;adaptent pas à la taille du texte. Elles restent donc fixées en hauteur. Cela empêche directement de composer avec tout rythme vertical. Pouvoir aligner horizontalement les titres de deux colonnes quelle que soit la taille du texte ne sera possible qu&amp;#8217;avec une grille horizontale bien construite.&lt;/p&gt;
&lt;p&gt;Par ailleurs, les spécifications et les bonnes pratiques viennent appuyer cette démonstration&amp;#160;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://checklists.opquast.com/11/criteria/641/&quot;&gt;&lt;q&gt;La taille des polices destinées à l&amp;#8217;affichage écran est exprimée en taille variable et non en taille fixe.&lt;/q&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.la-grange.net/w3c/WAI-WEBCONTENT-TECHS/#style-sheets-guidelines&quot;&gt;&lt;q&gt;Utilisez l&amp;#8217;unité &amp;#8220;em&amp;#8221; pour définir les tailles de police.&lt;/q&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a hreflang=&quot;fr&quot; href=&quot;http://www.braillenet.org/accessibilite/referentiel-aw21/liste-deploye.php#crit-10-4&quot;&gt;&lt;q&gt;Dans les feuilles de styles du site Web, les tailles de polices utilisent-elles uniquement des unités relatives&amp;#160;?&lt;/q&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Mais quoi qu&amp;#8217;il en soit, c&amp;#8217;est le choix qui a été fait avec Blueprint.&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Retenez que les tailles concernant la largeur doivent être exprimées en pixels et que celles concernant la hauteur doivent être exprimées en em.&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a hreflang=&quot;en&quot; href=&quot;http://baselinecss.com/&quot;&gt;D&amp;#8217;autres bibliothèques n&amp;#8217;ont pas fait ce choix&lt;/a&gt;, n&amp;#8217;hésitez pas les étudier (voire à les adopter) si vous n&amp;#8217;êtes pas convaincu par cette démonstration.&lt;/p&gt;
&lt;h5&gt;Pourquoi faut-il être méticuleux dans les calculs&amp;#160;?&lt;/h5&gt;
&lt;p&gt;Travailler avec des valeurs relatives (de surcroît arrondies ensuite en pixels) doit se faire avec beaucoup de méthode. Vous savez tous en effet que les navigateurs ont des techniques parfois bien différentes pour arrondir vos résultats. Ce qui peut se révéler rapidement gênant et casser votre grille horizontale sans que vous ne vous en rendiez compte.&lt;/p&gt;
&lt;p&gt;Aussi trois conseils&amp;#160;:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&amp;nbsp;appuyez toujours votre démarche sur un raisonnement mathématique (une simple règle de trois en général, pas de panique), le pifomètre ne marche pas&amp;#160;;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;arrondissez vos résultats au moins à quatre chiffres après la virgule pour vous assurer un calcul suffisamment précis&amp;#160;;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;le pixel est une unité indivisible, vos résultats doivent donc tomber (le plus souvent) sur des chiffres ronds lorsqu&amp;#8217;ils sont exprimés en pixels.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Pour les personnes intéressées plus particulièrement par la grille horizontale, je vous recommande chaudement &lt;a hreflang=&quot;en&quot; href=&quot;http://lamb.cc/typograph/&quot;&gt;cet outil&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;Revers de la médaille&lt;/h3&gt;
&lt;p&gt;Cette facilité de construction a évidemment un prix. C&amp;#8217;est une évidence mais il faut avant tout que le design de votre page soit initialement prévu pour la grille. Aussi étonnant que cela puisse paraître de nombreux designers ne l&amp;#8217;entendent pas de cette oreille et crient à la contrainte lorsqu&amp;#8217;il s&amp;#8217;agit de s&amp;#8217;y conformer. De nombreux ouvrages traitant du sujet, de nombreux exemples prouvant le contraire, je ne m&amp;#8217;attarderai donc pas sur ce point. Je conseille aux plus irréductibles de visionner la conférence d&amp;#8217;Anne-Sophie qui démontre brillamment l&amp;#8217;utilité des grilles.&lt;/p&gt;
&lt;p&gt;Autre reproche souvent évoqué&amp;#160;: l&amp;#8217;ajout de classes non-sémantiques sur le contenu html. &lt;strong&gt;Ce point est tout à fait pertinent.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;On se retrouve en effet à placer petit à petit un grand nombre de données concernant la présentation au sein du HTML. Ce qui peut être problématique à long terme en cas d&amp;#8217;évolution de site. Il faudra alors non seulement retoucher aux fichiers CSS, mais aussi au HTML. Dans la pratique, j&amp;#8217;avoue sans honte que c&amp;#8217;est extrêmement rare comme cas de figure et en aucun cas problématique. Aussi, je passe bien volontiers sur ce défaut au regard des avantages apportés par ailleurs. Que celui qui n&amp;#8217;a jamais placé de classe &lt;code&gt;.clearfix&lt;/code&gt; dans son HTML me jette le premier commentaire…&lt;/p&gt;
&lt;p&gt;Plus grave cette fois, &lt;strong&gt;ces classes empêchent toute portabilité de la structure.&lt;/strong&gt; À moins de surcharger allègrement le framework, il sera difficile d&amp;#8217;adapter une page Web à son équivalent mobile… La magie de la feuille de style adaptée au média en prend un sacré coup. Attention donc à ce point&amp;#160;: d&amp;#8217;autant que c&amp;#8217;est de plus en plus d&amp;#8217;actualité.&lt;/p&gt;
&lt;p&gt;De nouvelles bibliothèques &lt;a hreflang=&quot;en&quot; href=&quot;http://lessframework.com/&quot;&gt;promettent de s&amp;#8217;affranchir du sujet&lt;/a&gt;. Elles choisissent par contre un parti-pris plus radical en ne proposant un fonctionnement sous IE qu&amp;#8217;à l&amp;#8217;aide de JavaScript. C&amp;#8217;est osé… Mais c&amp;#8217;est une décision qui vous revient au final.&lt;/p&gt;
&lt;p&gt;Notez enfin que Blueprint ne pèse pas moins de 12&amp;#160;Ko, ce qui n&amp;#8217;est pas négligeable. Chargez donc la bibliothèque à bon escient et utilisez-en les ressources au maximum. &lt;a hreflang=&quot;en&quot; href=&quot;http://www.1kbgrid.com/&quot;&gt;Une fois encore si besoin est, les alternatives existent…&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;&lt;a href=&quot;http://typographisme.net/post/grid&quot;&gt;#grid&lt;/a&gt;&lt;/h2&gt;
&lt;img alt=&quot;&quot; src=&quot;http://typographisme.net/fichiers/macro-typo/img/hashgrid.jpg&quot; /&gt;
&lt;p&gt;En parallèle de Blueprint, j&amp;#8217;ai découvert #grid, un outil très pratique qui permet de superposer la grille au travail en cours. &lt;a hreflang=&quot;en&quot; href=&quot;http://hashgrid.com/&quot;&gt;#grid est disponible (actuellement en version 5) au téléchargement&lt;/a&gt; sous forme d&amp;#8217;une archive qui ne contient qu&amp;#8217;un fichier JS et un exemple de travail.&lt;/p&gt;
&lt;p&gt;Pour fonctionner il faudra lui adjoindre quelques règles CSS. &lt;/p&gt;
&lt;p&gt;À l&amp;#8217;utilisation, il suffira de donner le focus à la page puis d&amp;#8217;appuyer ou de combiner les bonnes touches du clavier&amp;#160;:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&amp;nbsp;&lt;em&gt;F&lt;/em&gt; permet jouer avec le z-index de la grille&amp;#160;;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&lt;em&gt;G&lt;/em&gt; permet d&amp;#8217;afficher la grille&amp;#160;;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&lt;em&gt;H&lt;/em&gt; permet de conserver l&amp;#8217;état courant (à combiner donc avec la touche&amp;nbsp;&lt;em&gt;G&lt;/em&gt;)&amp;#160;;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&lt;em&gt;J&lt;/em&gt; permet de basculer d&amp;#8217;une grille à l&amp;#8217;autre.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Détails appréciables&amp;#160;:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&amp;nbsp;l’état courant est automatiquement sauvegardé via un cookie&amp;#160;;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;la grille ne viendra pas interférer avec Firebug, ce sont bien vos éléments de page qui seront sélectionnés au survol&amp;#160;;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;l&amp;#8217;outil ne réclame aucune image supplémentaire pour fonctionner, tout est géré par CSS&amp;#160;;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;la grille horizontale peut être configurée à l&amp;#8217;aide d&amp;#8217;unités relatives&amp;#160;! Elle s&amp;#8217;adaptera donc à la taille de votre texte.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Firebug&lt;/h2&gt;
&lt;img alt=&quot;&quot; src=&quot;http://typographisme.net/fichiers/macro-typo/img/firebug.jpg&quot; /&gt;
&lt;p&gt;&lt;a hreflang=&quot;en&quot; href=&quot;http://getfirebug.com/&quot;&gt;L&amp;#8217;extension de Firefox Firebug&lt;/a&gt; (passée récemment en version 1.6) est bien connue des développeurs Web front-office. Elle viendra compléter notre petit panel d&amp;#8217;outils et sera d&amp;#8217;une grande aide pour s&amp;#8217;assurer de la bonne composition de la page sur la grille.&lt;/p&gt;
&lt;p&gt;Après avoir sélectionné un élément HTML en parcourant l&amp;#8217;arbre du document ou en survolant la page, son inspection fera apparaître&amp;#160;:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;les valeurs verticales exprimées en em dans l&amp;#8217;onglet &lt;em&gt;Style&lt;/em&gt;&amp;#160;;&lt;/li&gt;
&lt;li&gt;les valeurs verticales &lt;strong&gt;calculées&lt;/strong&gt; par le navigateur exprimées en pixels dans l&amp;#8217;onglet Apparence.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Et aussi&amp;#160;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;les tailles de textes et d&amp;#8217;interlignages exprimées en em dans l&amp;#8217;onglet &lt;em&gt;Style&lt;/em&gt;&amp;#160;;&lt;/li&gt;
&lt;li&gt;les tailles de textes et d&amp;#8217;interlignages &lt;strong&gt;calculées&lt;/strong&gt; par le navigateur exprimées en pixels dans l&amp;#8217;onglet &lt;em&gt;Calculé&lt;/em&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;On s&amp;#8217;assure ainsi très facilement que ses valeurs correspondent à la grille employée.&lt;/p&gt;
&lt;p&gt;Autre technique plus empirique mais tout aussi pratique&amp;#160;: la mise en surbrillance des éléments survolés combinée à l&amp;#8217;affichage de la grille à l&amp;#8217;aide de #grid.&lt;/p&gt;
&lt;p&gt;Bref, le compagnon idéal une fois de plus&amp;#160;; je ne m&amp;#8217;attarde pas.&lt;/p&gt;
&lt;h2&gt;Mise en pratique&lt;/h2&gt;
&lt;p&gt;Il ne nous reste plus qu&amp;#8217;à mettre tout ça en musique. Ce sera l&amp;#8217;objet d&amp;#8217;un &lt;a href=&quot;http://typographisme.net/post/Macro-typographie-sur-le-Web-Mise-en-pratique&quot;&gt;second article dans lequel nous détaillerons étape par étape la construction de la page&lt;/a&gt;. Vous le verrez, il reste encore quelques astuces à mettre en place.&lt;/p&gt;</description>

    

      </item>
  
  <item>
    <title>Web Font Specimen traduit et adapté en français</title>
    <link>http://typographisme.net/post/Web-Font-Specimen-traduit-et-adapt%C3%A9-en-fran%C3%A7ais</link>
    <guid isPermaLink="false">urn:md5:6fe4228e36647b07981d124486d3e253</guid>
    <pubDate>Mon, 08 Nov 2010 10:47:00 +0100</pubDate>
    <dc:creator>Vincent</dc:creator>
        <category>Design Web</category>
        
    <description>&lt;p&gt;Une page pour tester en profondeur le rendu de vos polices Web à l’écran&amp;#160;: ce serait chouette, non&amp;#160;? C’est exactement ce que propose le &lt;em lang=&quot;en&quot;&gt;Web Font Specimen&lt;/em&gt;. Et cet outil est aujourd’hui disponible en français, documentation comprise.&lt;/p&gt;    &lt;p&gt;Je me suis intéressé au &lt;em&gt;&lt;a hreflang=&quot;en&quot; href=&quot;http://webfontspecimen.com/&quot; lang=&quot;en&quot;&gt;Web Font Specimen&lt;/a&gt;&lt;/em&gt; suite à la lecture de l’une des traductions réalisées sur (l’excellent) Pompage&amp;#160;: &lt;a hreflang=&quot;fr&quot; href=&quot;http://www.pompage.net/pompe/de-la-vraie-typographie-pour-le-web&quot;&gt;&lt;em&gt;De la vraie typographie pour le Web&lt;/em&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;span lang=&quot;en&quot;&gt;Tim Brown&lt;/span&gt;, l’auteur de l’article original (&lt;a hreflang=&quot;en&quot; href=&quot;http://www.alistapart.com/articles/real-web-type-in-real-web-context/&quot;&gt;publié sur &lt;span lang=&quot;en&quot;&gt;A List Apart&lt;/span&gt;&lt;/a&gt;) y explique en détail pourquoi il est nécessaire de tester le rendu des polices à l’écran sur différents navigateurs avant de faire ses choix typographiques.&lt;/p&gt;
&lt;p&gt;Il propose pour cela une page Web pratique et facile à configurer,
qu’il convient de s’approprier pour réaliser ensuite ses propres tests.&lt;/p&gt;
&lt;p&gt;Ayant trouvé son projet intéressant, j’ai décidé de pousser un peu plus loin le travail de traduction en réalisant celle du site Web hébergeant le spécimen lui-même.&lt;/p&gt;
&lt;p&gt;J’en ai également profité pour modifier légèrement le spécimen de test en l’adaptant à nos contraintes francophones. On retrouve ainsi dans la page des &lt;a hreflang=&quot;fr&quot; href=&quot;http://fr.wikipedia.org/wiki/Pangramme&quot;&gt;pangrammes&lt;/a&gt; francisés ainsi que les lettres accentuées, quelques &lt;a hreflang=&quot;fr&quot; href=&quot;http://fr.wikipedia.org/wiki/Ligature_%28typographie%29&quot;&gt;ligatures&lt;/a&gt; et la plupart des signes de ponctuations utilisés dans nos contrées.&lt;/p&gt;
&lt;p&gt;Le document n’est pas parfait (les &lt;a hreflang=&quot;fr&quot; href=&quot;http://fr.wikipedia.org/wiki/Espace_typographique#Variations&quot;&gt;espaces fines&lt;/a&gt; se comportent mal avec le navigateur Opera par exemple), mais il est tout à fait conseillé de se l’approprier et de l’adapter à ses besoins. La licence sous laquelle il est publié le permet&amp;#160;; et l’auteur l’encourage.&lt;/p&gt;
&lt;p&gt;J’espère avec cette traduction faciliter le difficile travail des &lt;span lang=&quot;en&quot;&gt;designers&lt;/span&gt; Web qui, tout heureux de pouvoir personnaliser enfin les polices sur le Web, écopent également de quelques nouvelles contraintes…&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Découvrez (et utilisez&amp;#160;!) le &lt;a hreflang=&quot;fr&quot; href=&quot;http://wfs.typographisme.net&quot;&gt;&lt;span lang=&quot;en&quot;&gt;Web Font Specimen&lt;/span&gt;, en français&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;</description>

    

      </item>
  
  <item>
    <title>Les formats de polices typographiques pour le Web</title>
    <link>http://typographisme.net/post/Les-formats-de-polices-typographiques-pour-le-Web</link>
    <guid isPermaLink="false">urn:md5:ba85b1e45e6466d8252efb07bd61ee06</guid>
    <pubDate>Wed, 03 Nov 2010 12:20:00 +0100</pubDate>
    <dc:creator>Jeremie</dc:creator>
        <category>Design Web</category>
        
    <description>&lt;p&gt;Comme les images, les vidéos ou le son, les polices typographiques sur un ordinateur ne sont jamais que des fichiers ayant un format spécifique. Seulement voila, des formats de fichiers pour les polices typographiques il y en a une ribambelle. Tous ont des avantages et parfois des inconvénients. Je vous propose de nous pencher plus en détail sur ceux qui sont, aujourd&amp;#8217;hui, exploitables dans un contexte Web, c&amp;#8217;est à dire au sein des déclarations @font-face.&lt;/p&gt;    &lt;h2&gt;Commençons par une petite analyse macroscopique&lt;/h2&gt;
&lt;p&gt;Un fichier de police typographique contient toutes les informations requises pour qu&amp;#8217;un ordinateur puisse afficher les caractères correspondant. Cela comprend en général&amp;#160;:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt; L&amp;#8217;ensemble des tracés vectoriels de chacun des caractères (il existe également des formats de polices typographiques Bitmap, mais leur usage est ultra spécifique et jamais sur le Web)&lt;/li&gt;
&lt;li&gt;Des meta-données diverses et variées&lt;/li&gt;
&lt;li&gt;Des informations supplémentaires pour gérer le lissage de la police à l&amp;#8217;écran et de manière générale le changement d&amp;#8217;échelle des caractères vectoriels (on utilise souvent l&amp;#8217;anglicisme «&amp;#160;Hinting &amp;#160;»)&lt;/li&gt;
&lt;li&gt;Des informations supplémentaires pour gérer les approches entre caractères (on utilise souvent l&amp;#8217;anglicisme «&amp;#160;Kerning&amp;#160;»)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Outre le fait que tous les formats de polices typographiques ne sont pas égaux face à ces 4 points, chacun répond à des problématiques parfois différentes et il peut être difficile de s&amp;#8217;y retrouver. Passons donc au vif du sujet&lt;/p&gt;
&lt;h2&gt;Le format de police SVG (.svg)&lt;/h2&gt;
&lt;p&gt;Ce format date de la fin des années 90 et fait partie de la norme du format d&amp;#8217;image vectoriel SVG. À cette époque, les concepteurs de SVG cherchent un moyen pour embarquer les polices typographiques des documents SVG directement au sein de ces documents afin d&amp;#8217;assurer la cohérence du rendu graphique quel que soit le terminal utilisé. Ils décident finalement de créer leur propre format qui, grossièrement, consiste à relier n&amp;#8217;importe quel tracé SVG à un caractère unicode.&lt;/p&gt;
&lt;aside&gt;&lt;p&gt;Du fait d&amp;#8217;un support navigateur de plus en plus important, le format d&amp;#8217;image SVG va très vite devenir un outil du quotidien pour les Web&amp;nbsp;designers.&lt;/p&gt;
&lt;/aside&gt;
&lt;p&gt;Ce format offre une souplesse de création sans précédent reposant sur toute la puissance de SVG. Il est ainsi possible d&amp;#8217;utiliser tout les outils de SVG comme les motifs, les dégradés, les filtres, les animations, etc. Il est même possible d&amp;#8217;imaginer des polices typographiques exploitant la vidéo, le son ou des comportements gérés via des scripts Javascript.&lt;/p&gt;
&lt;p&gt;Cette souplesse créative est compensée par un défaut que certains qualifient de majeur aujourd&amp;#8217;hui mais qui à l&amp;#8217;époque ne paraissait pas si important. En effet, le format SVG ne dispose d&amp;#8217;aucun mécanisme lui permettant d&amp;#8217;embarquer des informations de hinting. Cela peut se faire sentir sur les écrans de faible résolution ou dans les petits corps de texte.&lt;/p&gt;
&lt;p&gt;Enfin, le format SVG étant un format XML, les fichiers peuvent vite devenir assez lourds. Pour palier à ce problème, il existe une variante compressée de ce format et qui porte l&amp;#8217;extension &lt;code&gt;.svgz&lt;/code&gt;. Elle reste cependant peu ou pas supportée par les navigateurs. En outre, si votre serveur sait gérer la compression des requêtes HTTP, cet artifice n&amp;#8217;est pas très utile.&lt;/p&gt;
&lt;h2&gt;Les formats de police TrueType et OpenType (.ttf, .otf)&lt;/h2&gt;
&lt;p&gt;TrueType est sans doute le format le plus ancien utilisé sur le Web. Il a été créé à la fin des année 80 par Apple en réponse au format PostScript Type 1 de Adobe. Outre un changement dans la façon de définir les points de contrôle de chaque lettre, la principal caractéristique de ce format tiens à l&amp;#8217;apparition du hinting. En effet, grâce à TrueType, les polices typographiques deviennent «&amp;#160;intelligentes&amp;#160;» et donnent directement aux logiciels tout un jeux d&amp;#8217;instructions permettant l&amp;#8217;optimisation de leur rendu, en particulier pour les petits corps de caractères.&lt;/p&gt;
&lt;p&gt;Le format OpenType est une évolution du format TrueType datant de la fin des années 90 et réalisé sous l&amp;#8217;égide de Adobe et Microsoft. En fait c&amp;#8217;est une sur-couche qui utilise indifféremment la description des glyphes de TrueType ou de PostScript Type 1. Il normalise également l&amp;#8217;encodage des caractères en se reposant sur unicode et rajoute la possibilité de gérer des DRM. Ce format offrant plus de souplesse à la chaîne graphique traditionnelle tout en permettant aux fonderies de contrôler leurs créations, son adoption fut massive et c&amp;#8217;est à présent le format dominant sur le marché.&lt;/p&gt;
&lt;p&gt;En fait, désormais, la plupart des fichiers de polices typographiques ayant l&amp;#8217;extension .ttf sont en réalité des fichiers OpenType qui utilisent la description des glyphes TrueType. À l&amp;#8217;inverse, les fichiers ayant l&amp;#8217;extension .otf sont le plus souvent des fichiers utilisant la description des glyphes du format PostScript Type&amp;nbsp;1. Les différences entre les deux sont extrêmement subtiles et généralement peu ou pas perceptibles hors de cas particuliers spécifiques à chaque police.&lt;/p&gt;
&lt;p&gt;Ces deux formats sont particulièrement riches et contiennent généralement énormément d&amp;#8217;informations destinées à optimiser le rendu des polices. De fait, ce sont des formats idéaux pour la chaîne graphique traditionnelle mais qui conviendront assez difficilement aux usages Web. D&amp;#8217;une part, dans la mesure où ces formats de fichier ne sont pas (ou peu) compressés et contiennent généralement des jeux de caractères complets, leur poids est prohibitif (les fichiers font facilement plusieurs centaines de Ko). D&amp;#8217;autre part, les fondeurs traditionnels n&amp;#8217;autorisent généralement pas la duplication des fichiers de polices ni la créations de jeux de caractères réduits, il est donc légalement difficile d&amp;#8217;utiliser des polices typographiques issues des bibliothèques des grandes fonderies (Adobe, ITC, Linotype, etc.).&lt;/p&gt;
&lt;h2&gt;Le format de police Embedded OpenType (.eot)&lt;/h2&gt;
&lt;p&gt;Afin de résoudre la plupart des problèmes que peut poser OpenType dans un cadre Web, Microsoft, à la fin des années 90, a proposé un format de fichier allégé pour embarquer les polices typographiques dans Internet Explorer. En particulier, il permet de réduire assez efficacement le poids des fichiers en proposant des sous-ensembles de caractères et en compressant le fichier. L&amp;#8217;idée est séduisante mais souffre de deux défauts. Premièrement, seul Internet Explorer supporte ce format de fichier (son concurrent de l&amp;#8217;époque, Netscape Navigator, ayant fait le choix d&amp;#8217;un autre format, disparu depuis). Deuxièmement, ce format arrive (trop&amp;#160;?) tôt dans l&amp;#8217;histoire du Web et à l&amp;#8217;époque, les grandes fonderies sont hésitantes sur la marche à suivre et finalement ne participeront guère à l&amp;#8217;effort de promotion de ce format.&lt;/p&gt;
&lt;p&gt;Du point de vue des designer Web, ce format souffrait aussi d&amp;#8217;un autre problème&amp;#160;: il est fermé (ce qui contribue au fait, qu&amp;#8217;aujourd&amp;#8217;hui encore, il n&amp;#8217;y a toujours aucun autre navigateur qui le supporte), non interopérable et les outils disponibles pour créer des fichiers à ce format n&amp;#8217;existaient que chez Microsoft. Ainsi, entre un manque d&amp;#8217;information, des outils fermés et une époque où le haut débit n&amp;#8217;était pas encore là, ce format est resté longtemps inconnu et sous-utilisé malgré ses qualités.&lt;/p&gt;
&lt;h2&gt;Le format de police &lt;abbr title=&quot;Web Open Font Format&quot; lang=&quot;en&quot;&gt;WOFF&lt;/abbr&gt; (.woff)&lt;/h2&gt;
&lt;p&gt;Petit nouveau dans l&amp;#8217;univers des formats de fichier pour les polices typographiques, le format WOFF date de 2008 et est une proposition de Mozilla pour fournir un format de fichier spécialement pensé pour le Web. Pour faire simple, il reprend toutes les bonnes idées du format EOT (sous-ensemble de caractères et compression du fichier) tout en en supprimant ses défauts. En particulier, ce format est ouvert et fait l&amp;#8217;objet d&amp;#8217;un processus de normalisation au sein du W3C. Il a donc vocation à devenir le format de référence pour les polices typographiques sur Internet. D&amp;#8217;ailleurs, tous les grands fabricants de navigateur sont en train de franchir le pas et commencent à implémenter son support.&lt;/p&gt;
&lt;p&gt;De manière un peu surprenante, les fonderies font un bon accueil à ce format de fichier dans lequel elles voient un bon moyen de proposer leur catalogue pour des usages Web (d&amp;#8217;une manière bien plus clairement distincte que ce que pouvait proposer le format EOT). Ceci dit, ce format de fichier ne propose pas spécialement de système de DRM et donc rien n&amp;#8217;empêche techniquement l&amp;#8217;usage de ce format de fichier ailleurs que sur le Web ou dupliqué d&amp;#8217;un site à l&amp;#8217;autre. Ceci étant, les fonderies ont revu leur position depuis 10 ans et font tout pour négocier au mieux le virage du numérique. Dans cette optique, elles suivent et soutiennent activement les démarches qui visent à proposer une utilisation légaliste des polices typographiques sur le Web, d&amp;#8217;où le support de ce format et le soutien donné aux nouvelles formes de distribution (l&amp;#8217;exemple de TypeKit est emblématique de cette politique).&lt;/p&gt;
&lt;h2&gt;Support navigateur&lt;/h2&gt;
&lt;p&gt;Tous ces formats de fichiers peuvent être utilisés par l&amp;#8217;un ou l&amp;#8217;autre de nos navigateurs préférés, mais qui supporte exactement quoi&amp;#160;?&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;td rowspan=&quot;2&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;th colspan=&quot;2&quot; scope=&quot;col&quot;&gt;&lt;img alt=&quot;Internet Explorer&quot; src=&quot;http://typographisme.net/fichiers/icons/ie32.png&quot; /&gt;&lt;/th&gt;
&lt;th colspan=&quot;2&quot; scope=&quot;col&quot;&gt;&lt;img alt=&quot;Firefox&quot; src=&quot;http://typographisme.net/fichiers/icons/firefox32.png&quot; /&gt;&lt;/th&gt;
&lt;th colspan=&quot;2&quot; scope=&quot;col&quot;&gt;&lt;img alt=&quot;Chrome&quot; src=&quot;http://typographisme.net/fichiers/icons/chrome32.png&quot; /&gt;&lt;/th&gt;
&lt;th colspan=&quot;2&quot; scope=&quot;col&quot;&gt;&lt;img alt=&quot;Safari&quot; src=&quot;http://typographisme.net/fichiers/icons/safari32.png&quot; /&gt;&lt;/th&gt;
&lt;th scope=&quot;col&quot;&gt;&lt;img alt=&quot;Opera&quot; src=&quot;http://typographisme.net/fichiers/icons/opera32.png&quot; /&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th scope=&quot;col&quot;&gt;6-8&lt;/th&gt;
&lt;th scope=&quot;col&quot;&gt;9&lt;/th&gt;
&lt;th scope=&quot;col&quot;&gt;3.5&lt;/th&gt;
&lt;th scope=&quot;col&quot;&gt;3.6&lt;/th&gt;
&lt;th scope=&quot;col&quot;&gt;4-6&lt;/th&gt;
&lt;th scope=&quot;col&quot;&gt;7&lt;/th&gt;
&lt;th scope=&quot;col&quot;&gt;3.1&lt;/th&gt;
&lt;th scope=&quot;col&quot;&gt;iOS&lt;/th&gt;
&lt;th scope=&quot;col&quot;&gt;10&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th scope=&quot;row&quot;&gt;SVG&lt;/th&gt;
&lt;td class=&quot;ko&quot;&gt;non&lt;/td&gt;
&lt;td class=&quot;ko&quot;&gt;non&lt;/td&gt;
&lt;td class=&quot;ko&quot;&gt;non&lt;/td&gt;
&lt;td class=&quot;ko&quot;&gt;non&lt;/td&gt;
&lt;td class=&quot;ko&quot;&gt;non&lt;/td&gt;
&lt;td class=&quot;ko&quot;&gt;non&lt;/td&gt;
&lt;td class=&quot;ok&quot;&gt;oui&lt;/td&gt;
&lt;td class=&quot;ok&quot;&gt;oui&lt;/td&gt;
&lt;td class=&quot;ok&quot;&gt;oui&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th scope=&quot;row&quot;&gt;TTF&lt;/th&gt;
&lt;td class=&quot;ko&quot;&gt;non&lt;/td&gt;
&lt;td class=&quot;ko&quot;&gt;non&lt;/td&gt;
&lt;td class=&quot;ok&quot;&gt;oui&lt;/td&gt;
&lt;td class=&quot;ok&quot;&gt;oui&lt;/td&gt;
&lt;td class=&quot;ok&quot;&gt;oui&lt;/td&gt;
&lt;td class=&quot;ok&quot;&gt;oui&lt;/td&gt;
&lt;td class=&quot;ok&quot;&gt;oui&lt;/td&gt;
&lt;td class=&quot;ko&quot;&gt;non&lt;/td&gt;
&lt;td class=&quot;ok&quot;&gt;oui&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th scope=&quot;row&quot;&gt;OTF&lt;/th&gt;
&lt;td class=&quot;ko&quot;&gt;non&lt;/td&gt;
&lt;td class=&quot;ko&quot;&gt;non&lt;/td&gt;
&lt;td class=&quot;ok&quot;&gt;oui&lt;/td&gt;
&lt;td class=&quot;ok&quot;&gt;oui&lt;/td&gt;
&lt;td class=&quot;ok&quot;&gt;oui&lt;/td&gt;
&lt;td class=&quot;ok&quot;&gt;oui&lt;/td&gt;
&lt;td class=&quot;ok&quot;&gt;oui&lt;/td&gt;
&lt;td class=&quot;ko&quot;&gt;non&lt;/td&gt;
&lt;td class=&quot;ok&quot;&gt;oui&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th scope=&quot;row&quot;&gt;EOT&lt;/th&gt;
&lt;td class=&quot;ok&quot;&gt;oui&lt;/td&gt;
&lt;td class=&quot;ok&quot;&gt;oui&lt;/td&gt;
&lt;td class=&quot;ko&quot;&gt;non&lt;/td&gt;
&lt;td class=&quot;ko&quot;&gt;non&lt;/td&gt;
&lt;td class=&quot;ko&quot;&gt;non&lt;/td&gt;
&lt;td class=&quot;ko&quot;&gt;non&lt;/td&gt;
&lt;td class=&quot;ko&quot;&gt;non&lt;/td&gt;
&lt;td class=&quot;ko&quot;&gt;non&lt;/td&gt;
&lt;td class=&quot;ko&quot;&gt;non&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th scope=&quot;row&quot;&gt;WOFF&lt;/th&gt;
&lt;td class=&quot;ko&quot;&gt;non&lt;/td&gt;
&lt;td class=&quot;ok&quot;&gt;oui&lt;/td&gt;
&lt;td class=&quot;ko&quot;&gt;non&lt;/td&gt;
&lt;td class=&quot;ok&quot;&gt;oui&lt;/td&gt;
&lt;td class=&quot;ko&quot;&gt;non&lt;/td&gt;
&lt;td class=&quot;ok&quot;&gt;oui&lt;/td&gt;
&lt;td class=&quot;ko&quot;&gt;non&lt;/td&gt;
&lt;td class=&quot;ko&quot;&gt;non&lt;/td&gt;
&lt;td class=&quot;ko&quot;&gt;non&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;</description>

    

      </item>
  
  <item>
    <title>Vos avis sur @font-face</title>
    <link>http://typographisme.net/post/Vos-avis-sur-%40font-face</link>
    <guid isPermaLink="false">urn:md5:b23bec23383dabe26946b0895cda4775</guid>
    <pubDate>Tue, 26 Oct 2010 20:05:00 +0200</pubDate>
    <dc:creator>Anne-So</dc:creator>
        <category>Design Web</category>
        
    <description>&lt;p&gt;&lt;a href=&quot;http://typographisme.net/post/Un-avis-sur-%40font-face&quot;&gt;Le billet précédent sur @font-face&lt;/a&gt; a suscité de réactions nombreuses, vives et intéressantes, et je pense qu&amp;#8217;il est utile d&amp;#8217;en faire une synthèse, pour éclaircir les points de vue, voire dissiper quelques malentendus, et surtout compléter et enrichir ce que j&amp;#8217;avais écrit et qui n&amp;#8217;avait nullement la prétention d&amp;#8217;être exhaustif, vous vous en doutez bien.&lt;/p&gt;    &lt;h3&gt;Quelques malentendus, donc&amp;#8230;&lt;/h3&gt;
&lt;p&gt;La formulation était peut-être un peu lapidaire, mais (Pas Pirate, si tu m&amp;#8217;entends) je n&amp;#8217;ai nullement voulu décrédibiliser le libre ni sous-entendre que les utilisateurs de dafont.com étaient des pirates en puissance. Je crois au logiciel libre, et je suis très sérieuse en disant cela. Il y a notamment un très beau projet en matière de typographie, la police &lt;a href=&quot;http://scripts.sil.org/cms/scripts/page.php?item_id=Gentium&quot;&gt;Gentium&lt;/a&gt;, dont j&amp;#8217;espère que nous aurons l&amp;#8217;occasion de parler. Derrière «&amp;#160;les utilisateurs de dafont.com&amp;#160;», je voyais surtout une masse d&amp;#8217;internautes qui sont plus en quête de polices fantaisie que de rigueur typographique (oui, il y a des fontes de qualité sur dafont, mais elles sont rares) et qui apprécient justement qu&amp;#8217;elles soient gratuites et librement utilisables. Dans cette masse d&amp;#8217;internautes, il y a des libristes effectivement, mais aussi une masse de gens qui n&amp;#8217;ont pas envie de se soucier des licences, et dont c&amp;#8217;est parfaitement le droit.&lt;/p&gt;
&lt;p&gt;Quant à l&amp;#8217;ancienneté d&amp;#8217;@font-face, c&amp;#8217;est effectivement une vieille propriété, mais son usage est devenu vraiment possible à partir de l&amp;#8217;année dernière, d&amp;#8217;où la datación de la revolución.&lt;/p&gt;
&lt;h3&gt;@font-face sous Windows&lt;/h3&gt;
&lt;p&gt;La conclusion&amp;#160;: ce n&amp;#8217;est pas du tout au point visiblement. La faute au format EOT qui fait des pâtés et à l&amp;#8217;anti-aliasing du système d&amp;#8217;exploitation. &lt;a href=&quot;http://www.stpo.fr/&quot;&gt;STPo&lt;/a&gt; a notamment pointé du doigts des problèmes de crénage (kerning, letter-spacing, approche, appelez ça comme vous voulez). &lt;a href=&quot;http://all-for-design.com/portfolio&quot;&gt;Auré&lt;/a&gt; choisit de se rabattre sur les polices websafe par sécurité et souci d&amp;#8217;homogénéité d&amp;#8217;un navigateur à l&amp;#8217;autre. Il y aurait donc plusieurs solutions à cela&amp;#160;: utiliser Cufon comme le suggère &lt;a href=&quot;http://kaelig.fr/&quot;&gt;Kaelig&lt;/a&gt; (bien que cela puisse être délicat du point de vue de la licence – encore), patienter gentiment que la technologie progresse (Typekit se pencherait sur le problème), ou faire de l&amp;#8217;espionnage à coup de Javascript pour servir autre chose à vos visiteurs sous Windows (solution qu&amp;#8217;on peut légitimement qualifier de sale).&lt;/p&gt;
&lt;h3&gt;Licences et piratage&lt;/h3&gt;
&lt;p&gt;Plusieurs problèmes ont été soulevés, d&amp;#8217;autant plus pertinents qu&amp;#8217;il s&amp;#8217;agit souvent de retours d&amp;#8217;expérience. Ainsi les designers et les agences, loin d&amp;#8217;être vertueux, ne se soucient pas toujours de payer les licences requises. À cela je réponds&amp;#160;: c&amp;#8217;est très mal. Quand on est pro, on peut se faire contrôler. Faites un peu attention. Il a également été signalé que le modèle Typekit, s&amp;#8217;il est attractif et pratique, n&amp;#8217;est pas idéal dans la mesure où il faut renouveler sa licence tous les ans. &lt;a href=&quot;http://ofaurax.free.fr/&quot;&gt;Olivier&lt;/a&gt; a toutefois rappelé un point intéressant&amp;#160;: les chartes graphiques incluent des polices, et s&amp;#8217;il devient possible pour une entreprise d&amp;#8217;utiliser les polices de sa charte sur son site Web, elle a tout intérêt à se préoccuper des droits sur le web comme elle le fait pour le print.&lt;/p&gt;
&lt;p&gt;Concernant les craintes que peuvent avoir les fonderies, les avis sont partagés&amp;#160;: certains considèrent qu&amp;#8217;effectivement le piratage est déjà facile et pratiqué, donc la différence est faible. Pour d&amp;#8217;autres, @font-face peut être une menace. Je penche toujours pour la première option, mais je vais répondre&amp;#160;: le temps nous le dira ma bonne dame.&lt;/p&gt;
&lt;p&gt;Et pour enfoncer le clou, il existe effectivement des polices libres de qualité, j&amp;#8217;ai cité Gentium plus haut mais quand j&amp;#8217;étais sous Linux j&amp;#8217;aimais bien la famille des Luxi, certaines Bitstream Vera, et j&amp;#8217;en passe. Mais l&amp;#8217;intérêt de l&amp;#8217;utilisation de ces polices avec @font-face reste à discuter dans la mesure où elles ont plus vocation à être «&amp;#160;standard&amp;#160;» et lisibles qu&amp;#8217;originales.&lt;/p&gt;
&lt;h3&gt;C&amp;#8217;est scandaleux, les espaces ne sont pas insécables devant les ponctuations doubles&amp;#160;!&lt;/h3&gt;
&lt;p&gt;Maintenant, si. Merci à &lt;a href=&quot;http://open-time.net/&quot;&gt;Franck&lt;/a&gt; et à son beau plugin Dotclear (non rétroactif)&amp;#160;: &lt;a href=&quot;http://plugins.dotaddict.org/dc2/details/typo&quot;&gt;Typo&lt;/a&gt;.&lt;/p&gt;</description>

    

      </item>
  
  <item>
    <title>Un avis sur @font-face</title>
    <link>http://typographisme.net/post/Un-avis-sur-%40font-face</link>
    <guid isPermaLink="false">urn:md5:97b6c13473f25284487e630daf3283e6</guid>
    <pubDate>Fri, 22 Oct 2010 11:07:00 +0200</pubDate>
    <dc:creator>Anne-So</dc:creator>
        <category>Design Web</category>
        
    <description>&lt;p&gt;La bonne représentation de la typographie à Paris Web a été l&amp;#8217;occasion d&amp;#8217;aborder brièvement @font-face, la révolution de 2009 qui devait nous délivrer des polices websafe autant que du sIFR et des scripts PHP douteux, employés pour rendre du texte dans la police de son choix.&lt;/p&gt;
&lt;p&gt;La nouvelle de la prise en charge d&amp;#8217;@font-face sur les grands navigateurs actuels ne pouvait que susciter l&amp;#8217;enthousiasme, mais une fois les brumes du délire dissipées, il reste un certain nombre de problèmes et de questions qui font que papoter @font-face peut, contre toute attente, virer au pugilat. Cet article étant un poil long, la maison fournit gracieusement le sommaire&amp;#160;:&lt;/p&gt;
&lt;ol&gt;&lt;li&gt;&lt;a href=&quot;http://typographisme.net/post/Un-avis-sur-%40font-face#utilite&quot;&gt;A-t-on vraiment besoin de @font-face&amp;#160;?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://typographisme.net/post/Un-avis-sur-%40font-face#support&quot;&gt;Du côté du support et de l&amp;#8217;implémentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://typographisme.net/post/Un-avis-sur-%40font-face#legalite&quot;&gt;Faire les choses dans les règles&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://typographisme.net/post/Un-avis-sur-%40font-face#piratage&quot;&gt;L&amp;#8217;angoisse du vilain pirate tipiak&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;    &lt;h2 id=&quot;utilite&quot;&gt;A-t-on vraiment besoin de @font-face&amp;#160;?&lt;/h2&gt;
&lt;p&gt;Avant même de m&amp;#8217;interroger sur son utilisation, j&amp;#8217;ai commencé, en bonne réactionnaire, à me demander si @font-face était vraiment nécessaire. La question peut paraître un peu bizarre dans la mesure où ça fait des années qu&amp;#8217;on se cogne les mêmes font-stacks et qu&amp;#8217;Arial, Verdana et Times nous sortent par les yeux. Pourtant, certaines polices websafe (Verdana et Georgia) ont été dessinées spécifiquement pour l&amp;#8217;écran, elles sont particulièrement lisibles grâce à leur gros oeil, et elles sont fort bien rendues. En plus, Georgia est très esthétique, c&amp;#8217;est une vraie réussite sur le plan du dessin. Pas besoin d&amp;#8217;avoir @font-face pour composer des textes lisibles et agréables&amp;#160;: on avait déjà les outils optimisés pour.&lt;/p&gt;
&lt;img src=&quot;http://typographisme.net/fichiers/2010-10/Elzevir_copy.jpg&quot; alt=&quot;Casse d'Elzévir à l'Atelier des Arquebusiers, par Mitternacht&quot; title=&quot;Casse d'Elzévir à l'Atelier des Arquebusiers, par Mitternacht, oct. 2010&quot; /&gt;
&lt;p&gt;D&amp;#8217;autre part, je me fais souvent la réflexion qu&amp;#8217;à l&amp;#8217;époque du plomb, les imprimeurs n&amp;#8217;avaient pas 1500 typos dans leurs ateliers. Imaginez&amp;#160;: une casse par corps et par variante. Ça prend de la place. Les typographes s&amp;#8217;appuyaient en général sur une dizaine de typos qui répondaient à 99% de la demande. Les polices Websafe ne font que reproduire ces conditions, et comme toutes les contraintes en matière de design, elles poussent à faire preuve d&amp;#8217;originalité dans la composition de la page. En tombant sur des designs inattendus, des usages originaux, j&amp;#8217;ai vraiment redécouvert le Times et le Georgia que je ne voyais plus.&lt;/p&gt;
&lt;p&gt;Donc dans l&amp;#8217;absolu je dirais qu&amp;#8217;@font-face n&amp;#8217;est pas indispensable. Par contre, c&amp;#8217;est un vrai bonheur, une liberté nouvelle – et un gage d&amp;#8217;accessibilité, dans la mesure où il n&amp;#8217;est plus nécessaire de passer par l&amp;#8217;image pour afficher du texte dans une typo non websafe. Sur le plan du design, ça fait environ la même chose que d&amp;#8217;ouvrir la fenêtre en grand au retour des beaux jours. Pourtant, quelques voix s&amp;#8217;élèvent régulièrement contre @font-face, principalement pour deux raisons&amp;#160;: l&amp;#8217;inégalité de la prise en charge et la crainte du piratage des polices mises à disposition sur le serveur.&lt;/p&gt;
&lt;h2 id=&quot;support&quot;&gt;Du côté du support et de l&amp;#8217;implémentation&lt;/h2&gt;
&lt;p&gt;Effectivement, côté prise en charge (et donc implémentation), c&amp;#8217;est pas vraiment le temps des cerises. Chaque navigateur a son format préféré, si bien que pour utiliser @font-face vous devez fournir et déclarer le fichier de police en trois formats (TTF, EOT et SVG) pour assurer un minimum d&amp;#8217;interopérabilité. Si en plus vous vous souvenez que vous devez prévoir un fichier pour chaque variante ou graisse que vous comptez utiliser, vous pouvez rapidement arriver à 3 fichiers x 4 variantes (romain, italique, gras, italique gras (enfin celui-là vous pouvez vraiment vous en passer – si si, j&amp;#8217;insiste)), soit 12 fichiers, plein de lignes de CSS, et on n&amp;#8217;a pas encore intégré le facteur poids.&lt;/p&gt;
&lt;img src=&quot;http://typographisme.net/fichiers/2010-10/fontface.jpg&quot; alt=&quot;Déclarations @font-face&quot; title=&quot;Déclarations @font-face, oct. 2010&quot; /&gt;
&lt;p&gt;L&amp;#8217;espace de stockage n&amp;#8217;est pas vraiment le problème, c&amp;#8217;est plutôt la bande passante et le débit des utilisateurs (et puis c&amp;#8217;est un peu fastidieux tout ça, il faut le reconnaître). Je vous rappelle tout de même, au passage, que le visiteur ne charge que les fichiers dont son navigateur a besoin. On peut diminuer cette charge de plusieurs façons. D&amp;#8217;abord en limitant le nombre de polices utilisées, ce qui est de toutes façons préférable d&amp;#8217;un point de vue strictement esthétique, mais aussi en créant des subsets, c&amp;#8217;est à dire en ne conservant, dans les fichiers de police, que les caractères vraiment utiles. Vous pouvez le faire vous-même avec une appli de création de fontes, mais vous pouvez aussi demander à un service Web de le faire pour vous, ce qui prend 97% de temps en moins d&amp;#8217;après une étude. Je pense notamment à &lt;a href=&quot;http://www.fontsquirrel.com/fontface/generator&quot; title=&quot;FontSquirrel : générateur de font-face&quot;&gt;FontSquirrel&lt;/a&gt;&amp;#160;: vous lui donnez votre police, vous choisissez votre subset selon des critères aussi simples ou compliqués que vous voulez, et il vous donne un gros zip contenant votre subset dans tous les formats demandés, accompagné du bout de CSS qui va bien. Formidable.&lt;/p&gt;
&lt;h2 id=&quot;legalite&quot;&gt;Faire les choses dans les règles&lt;/h2&gt;
&lt;p&gt;Naturellement, vous savez bien que vous ne pouvez pas utiliser n&amp;#8217;importe quelle police de cette façon. Surtout pas celles que vous avez fauchées à vos copains, parce que sur le Web, &lt;em&gt;ça se voit&lt;/em&gt;. A priori, on pense aux polices gratuites qu&amp;#8217;on trouve un peu partout. C&amp;#8217;est effectivement une bonne idée, surtout si on les choisit bien. Et contrairement à la légende, il y a des polices gratuites très bien réalisées, pour la simple raison que ce sont des fonderies qui les diffusent pour se faire un peu de pub. Profitez-en. Elles sont rares mais faciles à trouver.&lt;/p&gt;
&lt;p&gt;Ça c&amp;#8217;est la solution Jamendo. Allons faire un tour du côté d&amp;#8217;iTunes. Il existe tout un tas de services Web qui s&amp;#8217;associent aux fonderies pour proposer des licences Web pour des polices de grande qualité, autant pour le titrage que le texte courant. Les tarifs sont, selon moi, raisonnables. L&amp;#8217;avantage de cette solution&amp;#160;: le service héberge les polices et les sécurise. Les fonderies font confiance et n&amp;#8217;ont pas peur de voir leur marchandise téléchargée impunément. Résultat&amp;#160;: vous avez à disposition un choix de plus en plus grand de belles polices, et vous n&amp;#8217;avez pas besoin de lire la licence de vos typos dans son intégralité pour savoir si vous êtes dans la légalité.&lt;/p&gt;
&lt;h2 id=&quot;piratage&quot;&gt;L&amp;#8217;angoisse du vilain pirate tipiak&lt;/h2&gt;
&lt;p&gt;Les fonderies ont une trouille, qui explique le développement très rapide des services comme Typekit, Webfonts et autres. Que les gens utilisent des polices payantes sur le Web avec @font-face, sans aucune sécurité. En moins de 5 secondes, n&amp;#8217;importe quel utilisateur peut récupérer le ttf. Mon avis, c&amp;#8217;est que la télévision a trop parlé de la prétendue ruine de l&amp;#8217;industrie du disque causée par le téléchargement illégal, et que les fonderies regardent trop la télé. Elles omettent un élément essentiel&amp;#160;: la musique, c&amp;#8217;est du divertissement. Une police, c&amp;#8217;est un outil de travail.&lt;/p&gt;
&lt;aside&gt;&lt;p&gt;Les fonderies omettent un élément essentiel&amp;#160;: la musique, c&amp;#8217;est du divertissement. Une police, c&amp;#8217;est un outil de travail.&lt;/p&gt;
&lt;/aside&gt;
&lt;p&gt;D&amp;#8217;abord, mettons-nous d&amp;#8217;accord. Le vrai danger, pour les fonderies, est que leurs ventes baissent. Pas que Gaëlle Madec, vétérinaire à Plougastel, ait une police à 300&amp;nbsp;€ sur son ordi sans l&amp;#8217;avoir payée. Puisque si Gaëlle Madec est vétérinaire et pas designer, ça ne représente pas un manque à gagner pour la fonderie, dans la mesure où il ne serait jamais venu à l&amp;#8217;esprit de Gaëlle Madec de mettre 300&amp;nbsp;€ dans une famille, fût-elle jolie (il y a même fort à parier que Gaëlle Madec ne se doute pas qu&amp;#8217;un famille de polices puisse coûter ce prix-là mais passons).&lt;/p&gt;
&lt;p&gt;Ensuite – je ne voudrais pas choquer les fonderies, s&amp;#8217;il y en a dans l&amp;#8217;assistance, qu&amp;#8217;elles s&amp;#8217;assoient (comment une fonderie peut-elle s&amp;#8217;asseoir, je me le demande) – les polices payantes circulent depuis longtemps sur Internet dans l&amp;#8217;anarchie la plus totale. Sans vouloir être brutale, trouver un torrent ne prend pas beaucoup plus de temps que d&amp;#8217;explorer une CSS pour y trouver une URL. Or, en dépit de cette piraterie, Jean-François Porchez n&amp;#8217;a toujours pas été englouti par un calamar géant.&lt;/p&gt;
&lt;img src=&quot;http://typographisme.net/fichiers/2010-10/kraken.jpg&quot; alt=&quot;Kraken&quot; title=&quot;Kraken, oct. 2010&quot; /&gt;
&lt;p class=&quot;caption&quot;&gt;Kraken invoqué par des pirates pour couler une fonderie dans l&amp;#8217;Interweb déchaîné.&lt;/p&gt;
&lt;p&gt;Et pour revenir au point que je citais précédemment, en faisant un peu de psychologie de comptoir, on se rend compte que le danger est assez mince. Qui est susceptible d&amp;#8217;utiliser @font-face avec des polices payantes de fonderies&amp;#160;? Des designers. Qui est obligé d&amp;#8217;avoir une licence légale pour sa suite Adobe&amp;#160;? Les designers. Qui peut passer les achats de licences de police en frais professionnels&amp;#160;? Les designers. Qui a des chances d&amp;#8217;avoir une vague idée du travail que représente une typo et un minimum de respect pour les dessinateurs de caractères&amp;#160;? Les designers. Qui utilise une version craquée d&amp;#8217;Adobe et va redécorer son blog avec @font-face en se fichant complètement des histoires de licence&amp;#160;? Des fans de dafont.com.&lt;/p&gt;
&lt;p&gt;Je ne dis pas que @font-face ne va pas, dans une certaine mesure, faciliter la circulation non réglementée de polices payantes à succès. Je ne dis pas non plus que cela n&amp;#8217;aura aucun impact sur les ventes des fonderies. Mais je pense que celles-ci ont eu la réaction la plus saine qui soit en optant immédiatement pour des modèles commerciaux comme celui de &lt;a href=&quot;http://typekit.com/&quot;&gt;Typekit&lt;/a&gt;. Elles ont réagi très rapidement et ce nouveau modèle de licence a été très bien accueilli par la communauté. Contrairement aux maisons de disque, les fonderies n&amp;#8217;ont pas attendu, en proposant tout de suite une offre légale, simple d&amp;#8217;utilisation et abordable. La relation fonderie-designer (Web ou print) n&amp;#8217;a rien à voir avec celle qu&amp;#8217;EMI entretient avec ses clients finaux, et c&amp;#8217;est en s&amp;#8217;appuyant sur cette base et en la renforçant que les fonderies continueront de prospérer.&lt;/p&gt;
&lt;p&gt;Cet article ayant suscité de nombreux commentaires - et nous vous en remercions - il a fait l&amp;#8217;objet d&amp;#8217;une deuxième partie&amp;#160;: &lt;a href=&quot;http://typographisme.net/post/Vos-avis-sur-%40font-face&quot;&gt;Vos avis sur @font-face&lt;/a&gt;.&lt;/p&gt;</description>

    

      </item>
  
</channel>
</rss>
