Comment rédiger des documents corrects avec OpenOffice.org ou Word ?

Petite introduction :

a été créé à partir de 1977 par le mathématicien Donald Knuth, excédé par la qualité de la typographie de l'époque, lorsqu'il était en train de réviser la première édition de The Art of Computer Programming(source Wikipedia).Aujourd’hui encore, de nombreux personnes utilisent sa surcouche pour composer leurs documents.


L’accès à ce type de programme n’est pas aisé,  les mises en page comprenant de nombreux objets graphiques sont ardues. Les programmes de composition comme Scribus même s’ils sont graphiques sont eux aussi peu faciles d’accès et sont surtout adaptés pour des professionnels ou des amateurs éclairés. Le traitement extrêmement manuel des mises en pages semble devoir réserver ce type de programme à des documents relativement courts comme les journaux et les plaquettes.


Dans toutes les autres situations l’utilisateur se tourne vers un traitement de texte « tel affichage, tel résultat » dit aussi WISIWIG. Or ces logiciels n’ont pas été conçus dès l’origine comme des logiciels de composition mais comme des bloc-notes pour envoyer des télécopies et réaliser des impressions sur des imprimantes matricielles. Un certain nombre éléments sont donc à ajuster malgré les progrès qui ont pu être réalisés par ces logiciels.

NB : L’ensemble des manipulations présentées ici sont gérées automatiquement par .

Fontes de caractères :

Les fontes fournies par les systèmes d’exploitations sont généralement incomplètes et pas forcément de très bonne qualité. Des entreprises spécialisées continuent d’ailleurs de créer de nouvelles fontes comme la Parisine (créé pour la RATP).

Les fontes URW qui contiennent une variante de Garamond et la fonte LM (latin modern, dérivée de Computer Modern, crée par Donald Knuth) me semblent de très bons choix. La fonte DejaVu très complète peut aussi être intéressante. Nous verrons par la suite l’importance de disposer de fontes de qualité. Bien évidemment l’emploi de fontes dite expertes (aux alentours de 100€, la fonte) peut aussi être un très bon choix.

Pour les installer sous Windows copiez les fichiers OTF ou TTF dans le répertoire C:\windows\fonts, sous Linux lancez kcontrol (ou l’outil équivalent de votre choix), puis système, fontes et finalement ajouter des fontes.

Le support du crénage :

Le crénage est un ajustement de l’espace entre les dessins des caractères (glyphes). Si les crénage est bien géré l’espace entre deux lettres est constant. En pratique le crénage automatique est toujours moins bon qu’un crénage manuel. Les fontes correctes contiennent les informations nécessaires pour gérer le crénage. Un texte mal créné est nettement plus fatigant à lire et nettement plus laid.

LatinModern ci-dessous est un bon exemple. (en haut avec crénage, en bas sans).

La fonte Times New Roman (dit « standard de fait », très lassante à force) contient aussi ces informations

La fonte Comic Sans MS (Sans veut dire sans serif, serif signifiant empattement en anglais) ne contient pas ces informations. C’est un bon exemple de fonte vite faite pour s’amuser.

Il convient de vérifier (en copiant le texte ci-dessus) de vérifier que votre traitement de textes favori gère le crénage.

OpenOffice.org gère le crénage depuis la version 1.1.2 il semble que Word gère le crénage depuis la version 2003 (non vérifié).

Si votre logiciel préféré ne supporte pas le crénage il n’est pas adapté à la rédaction.

Les ligatures :

Les ligatures sont généralement la liaison graphique de lettres proches par exemple « ffi » donne en Garamond et en Dejavu sans empattement (le dessin du second F est changé). Alors que « ffi » donne en Times New Roman car les ligatures ne sont pas présentes. Les fontes expertes contiennent bien sûr toutes les ligatures.

Seule une version expérimentale d’OpenOffice.org semble gérer les ligatures (non testé). La ligature la plus connue est l’esperluette « & » qui est la ligature d’un « e » et d’un « t » !

À défaut de gestion native on peut avec des macros remplacer les caractères de notre choix par les bonnes ligatures, en fait le caractère Unicode de la ligature. Certaines ligatures ST par exemple sont néanmoins passées de mode.

Les macros en annexes issues de la page personnelle de M. Pesela permettent d’ajouter et d’enlever des ligatures sous OpenOffice.org. Des macros équivalentes peuvent être créées pour les autres outils.


Espaces :

Les traitements de texte actuels ne gèrent pas correctement tous les espaces. Seule l’espace et l'espace insécable existent sans véritable notion de taille. L’espace fine insécable (caractère Unicode U+202F) n’est généralement pas géré et d’ailleurs presque toujours absente des fontes utilisées. À défaut de son existence on peut la remplace par une espace insécable de taille deux fois plus petite (à mettre avant les points virgules, points d’interrogation et points d’exclamation).

Choix de la fonte :

Pour choisir votre fonte : on considère généralement que les fontes avec empattements, serif en anglais, sont plus lisibles sur des documents imprimés et les fontes sans empattement sont plus lisibles sur des écrans. Les fontes  avec  empattements ont généralement, pour les fontes de qualité suffisante, le bon goût de disposer d’une Italique semi-cursive nettement différente.

La fonte Garamont ci dessous est présentée avec son italique « vraie ».

La fonte Times New Roman avec son italique déjà plus discrète. On remarque aussi le carré indiquant un caractère Unicode non définie dans la fonte pour la ligature « FFI »

La fonte Dejavu sans empattement dispose des ligatures mais n’a pas une « vraie » italique. L’italique est en fait juste composée de caractères penchés.

Exemple :

Les fichiers ligature.odt et ligature.pdf joints comprennent toute une série d’exemples avec des fontes différentes. L'utilisation de pdfcreator ou de ghostscript est conseillée pour créer des pdf avec des fontes exotiques.

Les fichiers ligaturetex.tex et ligaturetex.pdf sont des équivalents fait avec .

Macros :

Sub AddLigatures

oDoc = thisComponent

REM aFind = Array("ffi", "ffl","ff" ,"fi", "fl", "st", "ft")

REM aReplace = Array("ffi", "ffl","ff" ,"fi", "fl", "st", "ſt")

aFind = Array("ffi", "ffl","ff" ,"fi", "fl")

aReplace = Array("ffi", "ffl","ff" ,"fi", "fl")

aRayCount = 0

FandR = oDoc.createReplaceDescriptor

FandR.SearchCaseSensitive = true

FandR.SearchRegularExpression = true

While aRayCount <= uBound(aFind)

FandR.setSearchString(aFind(aRayCount))

FandR.setReplaceString(aReplace(aRayCount))

aRayCount = aRayCount + 1

oDoc.ReplaceAll(FandR)

Wend

End Sub

Sub RemoveLigatures

oDoc = thisComponent

aFind = Array("ffi", "ffl","ff" ,"fi", "fl", "st", "ſt")

aReplace = Array("ffi", "ffl","ff" ,"fi", "fl", "st", "ft")

aRayCount = 0

FandR = oDoc.createReplaceDescriptor

FandR.SearchCaseSensitive = true

FandR.SearchRegularExpression = true

While aRayCount <= uBound(aFind)

FandR.setSearchString(aFind(aRayCount))

FandR.setReplaceString(aReplace(aRayCount))

aRayCount = aRayCount + 1

oDoc.ReplaceAll(FandR)

Wend

End Sub