En typographie, on désigne sous le nom d'une espace le blanc placé entre les lettres ou les mots. On remarquera qu'en typographie le mot "espace" est au féminin quand il s'agit du caractère.

Les espaces sont de deux sortes :

- les espaces-mots à valeur variable, ou espaces fortes, dont l'expansion permet la justification à la ligne.

- les espaces à valeur fixe, qui sont toujours insécables.

L'espace insécable est une espace qui lie le mot qui la précède au mot qui la suit. Ces deux mots ou caractères ne peuvent pas se retrouver sur deux lignes différentes.

Les espaces insécables sont divisés ainsi : le cadratin, le demi-cadratin, le quart de cadratin.

Le cadratin ou quadratin (En anglais = em) était à l'origine, une « espace ou blanc (à l'origine un bloc de plomb parallélépipédique) de forme carrée ayant la valeur du corps du caractère “M” ou d'un double zéro (“00”) utilisé pour renfoncer un alinéa ou aligner des listes dans un tableau ». Dans les faits ce dernier équivaut à la largeur des corps. Exemple : dans un texte tapé en corps 12, un cadratin mesurera 12 points.

Le demi-cadratin (En anglais = en) mesure, comme son nom l'indique, la moitié d'un cadratin.

Le quart de cadratin (ou thin space en anglais) mesure le quart d'un cadratin. Il sert pour précéder les points d'interrogation, d'exclamation, point-virgule, etc.

En HTML, nous avons à disposition :

  pour "non breaking space" = "espace insécable"

  pour "thin space" = espace fine ou espace quart de cadratin

  pour "en space" = espace demi-cadratin

  pour "em space" = espace cadratin

Il est a noté que seul   est insécable, alors que par définition, les 3 autres devrait l'être aussi. C'est le cas sur Safari sous Mac... ce n'est peut-être pas le cas partout.

Cela règle un peu le problème du choix, faute de moyen. En effet, l'espace qui sépare les milliers dans un nombre devrait être un quart de cadratin. Si j'utilise  , mon nombre sera sécable, ce qui n'est pas du tout approprié.

Lorsque j'ai fais mes recherches sur internet, je me suis rendu compte que l'utilisation des différents espaces est sujet à polémique. Pour les curieux :

http://www.porchez.com/article/272/Lesespacesparentspauvres

http://www.typographe.com/forum/viewtopic.php?id=941

Donc si l'on simplifie, en HTML, l'utilisation de &npsp; pour tous les espaces insécables il faudrait l'utiliser :

- avant et après le point-virgule
- avant les deux-points
- après le point abréviatif
- avant le point d'exclamation
- avant le point d'interrogation
- avant les pour-cents, pour-milles et les devises
- après les guillemet ouvrant à la française
- avant les guillemet fermant à la française
- avant et après le h des heures (ex. : 16 h 30)
- avant et après les signes arithmétique

Il pourrait être intéressant, de régler ces espaces lors du rendu de la page, plutôt que dans le HTML, à l'aide du javascript (facile à mettre en place, même si ça me gène un peu de faire faire ça au JS) ou mieux, à l'aide de PHP / Ruby, mais cela demande d'anticiper ce problème lors de la conception du site.