lundi 28 décembre 2009

Typographie automatique

La langue française est carrément merdique du point de vue de la typographie, d'autant plus quand on la voit du point de vue de l'informatique — qui est conçue par et principalement pour les anglophones, quoi qu'on essaye de faire. Du coup, sur Wikipédia, dès qu'on essaye d'écrire quoi que ce soit, on se retrouve en butte à l'inadéquation de la langue au médium (ou inversement).

Alors on contourne, on bricole et on s'arrange — parfois au détriment de la lisibilité du code des articles et au risque de perdre en route les nouveaux contributeurs — bref, on fait des modèles.

Voici quelques uns de ces bricolages :

{{formatnum:}}

Magic Word ajouté au logiciel MediaWiki depuis sa version 1.7 (du 7 juillet 2006). Il sert à poser le séparateur décimal dans les nombres et à gérer les séparateur des milliers selon la langue du wiki (respectivement en français la virgule et l'espace insécable, ou en anglais le point et la virgule). Le seul inconvénient du truc — du point de vue de l'utilisateur francophone — c'est qu'il faut utiliser le point comme séparateur décimal pour afficher une virgule.
{{formatnum:1234567.89}}1 234 567,89

{{Unité}}

Modèle assez ancien, qui commence à être assez répandu, qui sert principalement à mettre une espace insécable entre le nombre et son unité pour éviter les renvois à la ligne malheureux. Il sait gérer plusieurs unités à la fois, éventuellement assorties d'exposants, et les puissances de 10. Comme il utilise {{formatnum:}}, il faut faut utiliser le point comme séparateur décimal (voir ci-dessus).
{{Unité|1.23456|e=9|J|2|K|3|s|-1}}1,23456×109 J2⋅K3⋅s-1

Bref, un modèle assez puissant, mais pas toujours utilisé au maximum de sa capacité.

{{Numéro}} et {{Numéros}}

Ces modèles, plus confidentiels, servent à remplacer les « n°6 », « nos.5-6 », etc. par la forme correcte (avec le o en exposant et l'espace insécable). De plus, il ajoute une bulle d'information contextuelle (tooltip) qui donne la traduction en français lisible de l'abréviation. Ce modèle est en particulier utilisé par le modèle {{article}}, qui sert à formater les références bibliographiques.
Pas très rentable en terme de nombre de caractères dans les articles, à moins d'utiliser les alias {{nº}} ou {{n°}} pour le singulier et {{nos}} pour le pluriel.
{{numéro|12}}no 12

{{p.}} et {{pp.}}

Dans le même ordre d'idées, ce modèle sert à donner le numéro de page dans les références bibliographiques selon le Lexique des règles typographiques en usage à l'Imprimerie nationale. Pour corser les choses, en France on doit utiliser {{p.}} qui donne « p. », l'abréviation de « page(s) » (au singulier et au pluriel), alors qu'en Suisse et au Canada on peut utiliser {{pp.}} qui donne « pp. » pour le pluriel. Je crois bien que le français n'est pas fait pour être écrit, ou alors de manière très confidentielle.
{{p.|12-19}} ou {{p.}}12-19p. 12-19
On peut citer aussi {{folio}}/{{folios}}, {{vol}}, {{tome}}, {{chap.}}, {{art.}} et {{vv.}}, qui servent aux références bibliographiques et qui sont principalement utilisés dans des modèles plus complexes comme {{ouvrage}}, {{chapitre}} ou {{article}}.
Partout, la typo correcte, l'espace insécable qui va bien et le tooltip — il paraît que c'est bon pour l'accessibilité, je n'y connais rien mais j'en parle quand même.

{{heure}}

Ce modèle me permet de formater les lecteurs de ce blog pour qu'ils soient à l'heure, remerciez-moi. Non, je déconne.
Ça sert aux durées en heures, minutes et/ou secondes. J'avais déjà parlé de cette faute courante il y a quelque temps. Ici encore, espaces insécables et depuis peu (depuis aujourd'hui, en fait) tooltips.
{{Heure|22|34|45}} → 22 h 34 min 45 s

{{température}}

J'ai gardé mon préféré pour la fin, parce qu'il est mastoc, celui-là. Il sert à formater les températures en degrés Celsius, on peut mettre dedans tout un tas d'autres unités de température (Celsius, Farhenheit, Kelvin, Réaumur, Delisle et Rankine) en Celsius — qu'il convertit —, et il donne par son tooltip la conversion en Farhenheit et en Kelvin. Le modèle sait gérer deux températures en même temps (dans la même unité, faut pas déconner non plus). L'inévitable {{formatnum:}} impose de faire attention au séparateur décimal.
Ce modèle a un alias, on gagnera de la place (et de l'usure du bout des doigts) en utilisant {{tmp}}.
{{tmp|100|°C}}100 °C
{{tmp|78|80|°F}}25,5 à 26,6 °C
J'ai découvert ce modèle la semaine dernière, je n'ai pas encore eu le temps de m'en servir.

9 commentaires:

Olympi a dit…

Finalement, le seul problème à ne pas utiliser les modèles c'est de ne pas voir les espaces insécables dans l'éditeur.

Puis, je trouve au contraire la typographie française bien plus harmonieuse que l'anglaise par exemple.

Jean-Fred a dit…

{{Unité}}, ou l'exemple type du modèle utilisé en dépit du bon sens : « jouable jusqu'à {{Unité|4|joueurs}} ». Véridique, et même pas par un bot.

P. Lechien a dit…

Sans compter qu'en Suisse romande on écrit 1'000 et pas 1 000.
Quand je vois passer des formatnum, je ne dis rien mais j'en pense pas moins.

Coyau a dit…

@Olympi: La typo anglaise est quand même plus simple : on colle tout aux mots, on se sert du clavier selon le mode d'emploi, on ne se demande pas s'il faut mettre une espace fine avant ou après, ou si c'est une espace insécable ou bien si il faut une espace fine insécable ou une espace justifiante.
Et je ne parle pas de l'apostrophe typographique ou des guillemets que mon clavier ne connaît pas, ni du tiret cadratin (ou demi-cadratin), ni du trait d'union (poilant, ce sujet, surtout si on considère la francophonie dans son ensemble)...

@Jean-Fred: Arf... j'ai dû vérifier. Comme ça, j'aurais dit qu'un renvoi à la ligne était assez désagréable à cet endroit, mais la bible n'en parle pas. Tu as sans doute raison.

@Popo le Chien: Tu devrais demander à ce que ce soit paramétrable par le CSS, ça ferait plaisir à DarkoNeko. Ou bien continue à ne rien dire (ça vaut peut-être mieux).

Jean-Fred a dit…

@Coyau : Sans doute. Mais pour le coup, la bonne solution ne serait-elle pas d'écrire quatre en toutes lettres ?

Et la lecture comme le wikitexte en furent grandement simplifiés...

Coyau a dit…

Tu ne devineras jamais... c'est dans les recommandations !

Jastrow a dit…

Tu peux utiliser n{{o}} à la place de {{numéro}}. C'est quand même plus court ! Sinon, tu oublies ce qui est l'un de mes principaux cauchemars (Hellenopedia power !) : la typo des siècles, qui débouche sur des modèles pas piqués des hannetons, comme {{sp}}.

Jastrow a dit…

J'oubliais : la typo anglo-saxonne connaît aussi des problèmes de tirets, par exemple avec l'emploi du demi-cadratin pour les intervalles (exemple typique, les dates comme « 1914–1918 »).

Au final, c'est coton de traduire des articles en<->fr : il ne suffit pas de virer/ajouter des espaces avant les signes de ponctuation. J'avais noté par exemple pp.->p., le placement des notes après le signe de ponctuation et pas avant, le fait que les Anglo-Saxons écrivent « p.35–9 » là on le Français écrit « p. 35-39 », etc.

Coyau a dit…

Ah oui, mais non, c'est pas pareil. {{o}} ne gère pas du tout l'espace insécable, contrairement à {{numéro}} (ou les redirections moins longues : {{nº}} ou {{n°}}).

Pour les siècles, c'est vrai qu'on pourrait faire un billet au moins aussi gros que celui-ci, avec des petites majuscules, des espaces insécables, des siècles avant ou après J.-C., des exposants... des tas de trucs sympathiques. Peut-être un jour si j'ai le courage de me replonger dans ces trucs à rallonge.

Un filon, ça, de parler des modèles !
Je note.

(et je suis heureux d'apprendre que la typo n'est pas merdique qu'en français. Pas de raisons qu'on soit les seuls à s'abîmer les yeux sur des trucs inutiles.)

Enregistrer un commentaire