"Nicolas Delvaux" 
> ps : Laissons les THINSP de côté pour le moment, ils me semblent avoir
> moins d'importance.

Bonne lecture !

Ce n'est pas si simple: THINSP est présent dans Unicode et ISO/IEC 10646 depuis 
TRES longtemps, ce qui explique 
qu'ile soit si largement supporté dans nombre de polices même sur des systèmes 
déjà très anciens (comme Windows 95 
qui en disposait déjà dans ses premières polices TrueType par défaut pour le 
web comme Arial et Times New Roman).

THINSP était là à la demande des imprimeurs (qui de leur côté ne se souciaient 
guère du fait que ce caractère était 
sécable ou non, puisque concernant la mise en page, il n'était pas encore 
envisagé que celle-ci puisse varier en 
fonction du moteur de rendu utilisé, et de fait ils contrôlait la totalité de 
la mise en page, ce qui n'est pas le 
cas sur le web pour des raisons d'accessibilité et de tailles d'écran 
différentes.)

NNBSP est un ajout encore récent dans Unicode 4.1 (postérieur à la conception 
des polices souvent utilisées), afin 
d'apporter une version insécable de THINSP. Les polices sont supposées "mapper" 
ce caractère exactement de la même 
façon que THINSP, mais nombre de polices l'oublient car NNBSP n'est finalement 
utilisée pratiquement qu'en français, 
et les typographes concepteurs de polices ne connaissent que la typographie 
anglophone usuelle.

Mais cet ajout n'est même pas nécessaire au HTML qui possède d'autres moyens 
pour contrôler l'insécabilité, 
notamment grace à à la propriété de style CSS "white-space: nowrap", ou bien 
grâce à l'ancienne balise texte 
insécable qu'on trouvait sur certaines implémentations de HTML4 et qui a été 
dépréciée on ne sait pas trop 
pourquoi, alors que les documents devraient éviter dans le corps du texte 
l'usage de l'attribut HTML style, au 
profit plutôt d'un balisage par classe et l'utilisation de balises sémantiques.

Les typographes anglophones (y compris les plus connus comme ceux qui 
travaillaient pour Monotype ou Adobe) 
méconnaissaient la typographie traditionnelle anglaise qui faisait aussi 
référence à ces fines insécables anglaises 
(aujourd'hui oubliées depuis que les dactylographes anglophones on décidé de 
supprimer la fine insécable dans les 
nombres et autour des ponctuations, alors que les dactylographes francophones 
ont décider de forcer au minimum 
l'affichage d'une espace puisqu'il n'utilisent pas la virgule mais une fine 
pour séparer les milliers) ! Tout 
d'abord parce que leurs plus nombreux clients ont d'abord été tous anglophones 
!!!

Il y a une raison à cela : la fine insécable anglaise recommandait une valeur 
minimale de 1/8 em (pas pour séparer 
les groupes de chiffres puisqu'ils utilisent la virgule), alors que la fine 
française recommandait 1/6 em (pour 
obtenir une séparation suffisante des groupes de chiffres), les deux 
typographies traditionnelles indiquant aussi un 
maximum de 1/4 em.

Quand la dactylographie est arrivée (à chasse fixe), il était impossible de 
rester entre les deux bornes 
traditionelles :

- Les dactylographes anglophones ont donc décidé de supprimer leur fine autour 
des ponctuations (qui était de toute 
façon très peu visible et souvent incorporée dans la chasse des ponctuations 
dans les polices de caractères à chasse 
variable utilisées par les imprimeurs)

- Les dactylographes francophones ont en revanche fait le choix opposé avec 
leur fine pour s'asssurer qu'elle serait 
bien représentée. Le problème aujourd'hui est qu'on emploie des polices de 
caractères à chasse variable qui incluent 
maintenant le supplément de chasse intégré à droite des ponctuations anglaises 
(le point, la virgule, le point-
virgule). Et du coup l'espace insécable standard (d'une valeur de 1/4 em) est 
beaucoup TROP LARGE en français.

Ces règles **dactylographiques** avaient du sens au temps des machines à écrire 
et premières imprimantes et consoles 
de texte (à cause de la limitation technique à des polices de chasse fixe 
uniquement). Elles sont devenues 
totalement obsolètes depuis qu'on est revenu aux polices à chasse variable.

Et donc on a vu revenir les fines dans les documents anglophones soignés 
(cependant elles sont implicites dans les 
polices de caractères à chasse variable conçues pour des anglophones, sans 
qu'il soit nécessaire de les coder), et 
les fines anglaises sont donc d'un emploi rarissime.

Quand THINSP a été codé dans ISO 10646, on avait encore assez peu d'utilisation 
des polices TrueType à chasse 
variable : il a été oublié pourtant de le rendre insécable.

Les francophones râlaient depuis assez longtemps pour qu'une version insécable 
soit ajoutée (il a fallu de long 
débats aux sein des comités ISO qui jugeaient que l'insécabilité n'était pas un 
attribut nécessaire, mais il aura 
fallu qu'Unicode indique dans ses algorithmes et propriétés que THINSP était 
bel et bien sécable, pour satisfaire 
les rares usages anglophones et rester compatible avec les polices et moteurs 
de rendu existants). Ils ont obtenu 
NNBSP, mais toutes les polices de caractères déjà distribuées n'ont pas été 
mises à jour afin de mapper NNBSP avec 
le même "glyphe" et la même chasse que THINSP : l'effet produit alors, si le 
caractère n'était pas mappé était un 
affreux rectangle ou un point d'interrogation.

Si on peut commencer à utiliser NNBSP maintenant, ce n'est pas parce que les 
polices de caractères ont changé. C'est 
parce que les moteurs de rendus, pour HTML ou autres, font d'eux-même la 
substitution de NNBSP par THINSP quand le 
premier est absent d'une police mais le second y est mappé, afin de déterminer 
la largeur à appliquer conformément à 
la conception de la police ! Et ces mêmes moteurs de rendu respectent les 
propriétés d'insécabilité des caractères 
codés Unicode, pour leur calcul de la mise en page (donc la substitution de 
NNBSP par THINSP reste transparente et 
ne nuit pas à la mise en page).

C'est en ce sens que je citait THINSP : il est principalement destiné 
maintenant pour servir de substitution 
automatique par les moteurs de rendus, afin de rester compatible avec les 
anciennes polices toujours très largement 
utilisées et dans lesquelles NNBSP ne pouvait pas être présent (puisqu'il 
n'existait pas encore dans Unicode ou ISO 
10646 au moment où ces polices ont été conçues, et que nombre de typographes 
ont encore oublié de le mapper dans les 
versions ultérieures de leurs polices, leurs clients étant essentiellement 
anglophones et ne leur ayant pas signalé 
l'anomalie).

Ce petit rappel historique (assez sommaire) permet de comprendre certaines 
choses. Dans les faits l'histoire est 
encore plus compliquée à cause de la complexité des conventions typographiques 
utilisées au sein même de la même 
langue, et des conventions parfois contradictoires entre elles (une complexité 
qui a été masquée uniquement au temps 
de la dactylographie qui n'était qu'une ébauche très basique de typographie 
mais où ce genre de « détails », y 
compris l'insécabilité, était totalement non pris en compte).

Mais pourtant ça explique pourquoi les anglophones se sont mis à taper deux 
espaces après un point en fin de phrase 
(une convention dactylographique essayant d'imiter une fine anglaise après le 
point, suivie d'une espace normale 
justifiable)

----

Note:

THINSP et NNBSP sont tous les deux non « justifiables ». Ce qui veut dire qu'à 
moins qu'on utilise l'ajustement de 
chasse entre tous les caractères d'une ligne pour la justifier, seuls les 
espaces « justifiables » séparant les mots 
(qu’ils soient sécables ou non) sont réajustés en largeur pour remplir une 
ligne et aligner les mots sur les deux 
marges.

Si l’ajustement des seuls blancs séparateur produit des espacements trop 
importants rendant la lecture des lignes de 
texte difficile, généralement l’ajustement de l'approche entre tous les 
caractères de la ligne (sauf ceux qui sont 
ligaturés) pourra intervenir pour distribuer partout l’excès d’espacement entre 
les mots produit par la 
justification simple (et pourra donc augmenter la chasse par défaut de tous les 
glyphes, y compris les fines 
insécables françaises ou les vieilles fines traditionnelles anglaises, 
utilisées toutes les deux autour des 
ponctuations ou comme séparateurs de groupes de chiffres).

Et cet ajustement de chasse interviendra alors sur TOUS les caractères et 
espaces, qu'ils soient sécables ou non, 
justifiables ou non... SAUF ceux qui précisent une chasse ABSOLUE comme 
l’espace demi-cadratin 1/2 em (différent de 
l'espace normale qui est de taille relative, sécable et justifiable) ou 
l’espace quart de cadratin 1/4 em (différent 
lui aussi de la fine qui est aussi de taille relative, sécable, et non 
justifiable pr défaut sauf en cas de 
justification nécessitant l'interpolation des chasses relatives entre les 
glyphes) : ces espaces à chasse absolue 
sont codés en plus dans Unicode et ISO 10646 depuis longtemps à la demande des 
imprimeurs, mais sont pourtant eux 
aussi sécables !.

Avec tout ça il nous reste une terminologie délicate de toutes ces espaces :

- sécable ou non

- justifiable ou de chasse « fixe » (elle-même soit de chasse « ajustable », 
soit de chasse « absolue »)

Et ça permet de comprendre pourquoi il y en a tant de variantes codées dans 
Unicode/ISO 10646. NNBSP n'est qu'un de 
plus parmi eux pour satisfaire les francophones.

Les Asiatiques extrême-orientaux ont eu droit au codage des espaces à chasse 
fixe absolue, dont ceux de valeur 
plein-cadratin 1 em ou 2 em, utilisés notamment avec les écritures 
sinographique et coréenne hangûl, qui préfèrent 
très nettement les chasses fixes absolues et n’admettent pas qu’on modifie les 
approches entre les sinogrammes ou 
syllabes composées coréennes (pour des raisons de lisibilité de glyphes déjà 
complexes à analyser visuellement). En 
effet, dans ces écritures, TOUS les graphèmes sont sécables (même en milieu de 
mot car ils représentent presque sans 
exception des syllabes complètes, sans qu'il soit besoin de faire appel à un 
tiret de césure comme dans l'écriture 
latine) puisque la plupart des mots sont monosyllabiques et se transcrivent 
avec un seul sinogramme ou un seul 
graphème syllabique coréen, sans même aucune séparation par une espace entre 
les mots ; les espaces ne leur servent 
qu’à séparer les phrases ou les vers, mais doivent s'aligner avec la grille des 
sinogrammes et syllabes (toutes de 
valeur plein-cadratin) ; même leur ponctuation est élargie (comme le point ou 
la virgule) afin d'entrer dans la 
grille à chasse fixe absolue.

Cela va même plus loin pour eux car l'unité de largeur de leurs espaces est le 
« quad » (généralement un carré dans 
lequel s'inscrivent parfaitement tous les sinogrammes ou toutes les syllabes 
coréennes afin que leurs œils soient 
eux-aussi de taille fixe et pas seulement le corps et la chasse), alors que 
dans l’écriture latine, la largeur de 1 
cadratin ne correspond pas nécessairement à la hauteur de 1 cadratin, et peut 
varier donc avec l'interlignage, ce 
qui n’est pas admis dans l'écriture sinographique. Pour les Asiatiques, la 
largeur des espaces utilise l'unité 
principale qui est basé sur la hauteur du corps, contrairement cadratin 
horizontal.

----

Conclusion : (ouf !)

Tout n'est pas simple en typographie. OK laissons THINSP pour l'usage 
anglophone ou les substitutions automatiques 
par les moteurs de rendus devant prendre en charge la typographie française 
avec des polices très majoritairement 
conçues par (et trop souvent uniquement pour) les anglophones.

Mais le bon caractère pour nous est bien NNBSP et il a été codé sur la demande 
expresse et réitérée des typographes 
francophones qui ont eu bien du mal à convaincre les typographes anglophones 
pour qu'ils respectent leur demande et 
prennent en compte le besoin d'une fine réellement insécable.

Si vous utilisez des distributions récentes de Windows, Linux, or MacOSX, les 
polices fournies (et utilisées comme 
polices d'usage général par défaut) contiennent maintenant un mappage correct 
de NNBSP (ce n'est pas encore le cas 
dans des polices de style plus spécifique, alors que nombre de ces polices ont 
pourtant très souvent un THINSP, tout 
bonnement car elles n'ont pas été mises à jour depuis qu'elles ont été créées 
la première fois et sont encore 
livrées car elles sont souvent référencées dans de nombreux documents !).

La solution pour nous vient non pas des polices (dont il est impossible de les 
modifier et les distribuer sans 
violer un droit ou nécessiter une coûteuse licence), mais du moteur de rendu 
qu'il est facile de mettre à jour (ne 
serait-ce qu'avec les mises à jour de sécurité des navigateurs et des lecteurs 
de médias).

Bonne vacances !

Philippe.



_______________________________________________
Mailing list: https://launchpad.net/~lp-l10n-fr
Post to     : lp-l10n-fr@lists.launchpad.net
Unsubscribe : https://launchpad.net/~lp-l10n-fr
More help   : https://help.launchpad.net/ListHelp

Répondre à