# Solutions aux problèmes rencontrés avec les polices

Version n° 2 – provisoire

Ce guide tente de recenser les problèmes les plus fréquemment rencontrés avec les polices et essaie de donner des règles ou des solutions pour en venir à bout. Les problèmes décrits ici font référence aux versions 641D et 1.0 d'OpenOffice.org sur des plateformes Linux ou Solaris. Si vous rencontrez des difficultés avec des versions plus anciennes, il serait bon que vous installiez une version récente et stable afin de vérifier si le problème a déjà été réglé.

Ce guide a été écrit dans le but d'être utile. Néanmoins n'espérez pas qu'il soit complet ou sans erreur. C'est un travail en progression. Si vous avez des améliorations, corrections ou additions à faire, merci de vous adresser soit directement (en anglais) au projet concerné : dev@gsl.openoffice.org ou sur la liste de discussion française : discuss_fr@lang.openoffice.org

L'écriture <openoffice_dir> fait référence au répertoire dans lequel vous avez installé Openoffice.org

Table des matières

Solutions aux problèmes rencontrés avec les polices 1

Termes utilisés : 1

L'anti-crénelage des polices ne fonctionne pas 2

Symptôme 2

Désactiver les polices anti-crénelées 3

Les polices anti-crénelées disparaissent après la seconde ou aux ouvertures ultérieures dOpenOffice.org. 3

Mauvaise qualité de la rasterisation des polices à l'écran 4

Ajouter des polices TrueType ou de Type 1 dans Openoffice.org 4

L'application plante 6

Mauvaise apparence des polices dans les documents PDF 7

Les polices de l'interface utilisateur sont illisibles 8

Changer les polices de l'interface utilisateur 9

Rapporter un problème relatif aux polices 9

#

## Termes utilisés :

Anti-crénelage (anti-aliasing): technique permettant de faire apparaître les pixels de façon moins crénelée

Rasterisation : transforme une image en pixels

Rendering : fait de créer des images réalistes sur un écran en utilisant des modèles mathématiques pour le lissage, les couleurs...

## L'anti-crénelage des polices ne fonctionne pas

## Symptôme

Les polices n'apparaissent pas anti-crénelées mais crénelées

Situation

Comme expliqué ci-dessous, Openoffice.org utilise aussi bien Xfonts que les polices affichées par FreeType. Alors qu'il est possible d'avoir des polices rasterisées de type anti-aliasing avec FreeType, ceci n'est pas implémenté dans Xfonts.

De plus, tous les affichages ne permettent pas l'anti-crénelage. L'anti-crénelage est à la fois fourni par l'extension de XRendering d'un serveur X Xfree86 ou en dessinant le texte (XgetImage/XPutImage) depuis et vers l'écran.

Remèdes

Les polices XFonts ne sont pas affichées anti-crénelées. Cependant, constater que les polices de votre interface utilisateur sont crénelées n'est pas suffisant pour conclure à un dysfonctionnement du moteur d'anti-crénelage. L'interface des polices est choisie en fonction de la forme des polices et non pour donner la priorité à l'anti-crénelage.

Pour vérifier les polices anti-crénelées, ouvrez un document texte Openoffice.org. Une vérification rapide peut être effectuée en naviguant dans la fenêtre déroulante des polices. Pour examiner la liste complète des polices, vous devez ouvrir la fenêtre de dialogue 'Format -> Caractères' et sélectionner l'onglet 'Polices'. Sous cet onglet vous pouvez sélectionner toutes les polices présentes sous différents attributs (standard, gras, italique,...). Si l'une d'entre elles est de type anti-crénelé, c'est que l'anti-crénelage fonctionne en principe. Si vous avez des doutes, vous pouvez utiliser le programme 'xmag' pour agrandir l'exemple de police affiché. Vérifiez que la police 'OpenSymbol' est présente et apparaît de type anti-crénelé. 'Open Symbol' est fournie avec Openoffice.org et doit être affichée anti-crénelée.

Pour un bon rendu de l'anti-crénelage, utilisez Xfree86, révisions 4.0.2, 4.0.3, 4.1 ou 4.2 (ou supérieur). L'anti-crénelage n'est pas utilisé quand Openoffice.org détecte l'extension Xrendering (Render) en même temps qu'une extension Xinerama. L'anti-crénelage est également désactivé lors d'un affichage de couleur 8 bit (8 bit PseudoColor visuals).

Pour vérifier si l'extension Xrendering est supportée par votre serveur X, démarrez le programme 'xdpyinfo' et vérifiez les sorties pour la chaîne RENDER dans la liste des extensions. Si vous constatez du texte utilisant l'anti-crénelage dans les applications Mozilla ou KDE, il y a de fortes chances pour que les extensions Xrendering fonctionnent.

Pour vérifier les extensions Xinerama, faites de même avec la chaîne XINERAMA.

Pour l'affichage en couleur 24 bit ou 32 bit et l'affichage de niveaux de gris en 8 bit, l'approche XgetImage/XPutImage est utilisée pour afficher du texte de type anti-crénelé.

Les polices de petites tailles ne sont pas affichées en anti-crénelées. Vous pouvez modifier le seuil de l'anti-crénelage d'un texte en ouvrant la fenêtre de dialogue 'Outils -> Options -> Openoffice.org -> Affichage'. Vérifiez que l'option 'Lissage de Police d'écran' est cochée et modifiez la valeur dans le champ correspondant.

Si vous désirez qu'une police spécifique apparaisse en anti-crénelée et qu'elle n'apparaît pas ainsi, vérifiez qu'elle a été ajoutée correctement (voir plus bas).

Voir également

Les polices anti-crénelées n'apparaissent plus après la seconde ou aux ouvertures ultérieures d'OpenOffice.org.

Ajouter des polices TrueType ou Type 1 dans Openoffice.org.

## Désactiver les polices anti-crénelées

Ouvrez la boite de dialogue 'Outils -> Options -> Openoffice.org -> Affichage. Décochez l'option 'Lissage des polices d'écran'. Quittez la boite de dialogue en appuyant sur le bouton OK. Les modifications prendront effet immédiatement.

##

## Les polices anti-crénelées disparaissent après la seconde ou aux ouvertures ultérieures dOpenOffice.org.

Symptôme :

Les polices, installées aussi bien sur le système que dans l'arborescence d'OpenOffice.org, ne sont utilisables qu'au premier démarrage et disparaissent aux démarrages ultérieurs.

Situation

Le code qui interprète le cache des polices <openoffice_dir>/share/psprint/pspfontcache contient un bug et évalue les attributs de police de manière incorrecte. Alors que les polices avec des attributs d'italique ou de gras sont toujours disponibles en anti-crénelées, celles avec un style standard ne le sont plus. Dans la plupart des cas, ce style est remplacé par une police correspondante trouvée dans le serveur X et donc n'est pas de type anti-crénelé.

Remèdes

Nouveau :

Il y a une bibliothèque disponible sous Linux qui remédie au problème. Copiez le fichier libpsp641li.so à partir de ce lien :

http://gsl.openoffice.org/servlets/ProjectDownloadList?action=download&dlID=48

vers le sous répertoire programme de votre installation OpenOffice.org. Si vous avez déjà appliqué l'ancienne solution (voir ci-dessous), vous devez d'abord enlever le fichier pspfontcache avant de démarrer OpenOffice.org.

Assurez-vous d'avoir bien sauvegardé l'original du fichier libpsp641li.so.

Ancien :

Vous devez supprimer le fichier cache et éviter sa création future. Fermez toutes les instances d'OpenOffice.org. Ouvrez un shell ou un terminal. Rendez-vous dans le répertoire qui contient l'installation d'OpenOffice.org. Si vous avez fait une installation multi-utilisateur (i.e. vous avez installé Openoffice.org avec l'argument /net ou -net) alors changez jusqu'au répertoire de l'installation utilisateur. Maintenant suivez les commandes ci-dessous :

Installation simple utilisateur | Installation multi-utilisateur
rm share/psprint/pspfontcache | rm user/psprint/pspfontcache
touch share/psprint/pspfontcache | touch user/psprint/pspfontcache
chmod 444 share/psprint/pspfontcache | chmod 444 user/psprint/pspfontcache
Puis redémarrez Openoffice.org. Le problème doit être réglé maintenant. Fermez Openoffice.org et redémarrez-le une seconde fois. Si le problème a réapparu, vérifiez le fichier cache une seconde fois.
Installation simple utilisateur | Installation multi-utilisateur
ls -l share/psprint/pspfontcache | ls -l user/psprint/pspfontcache
devrait reporter un fichier de longeur 0 et sans autorisation d'écriture, similaire à :
-r--r--r-- 1 joe user | 0 May 2 12:32 pspfontcache

Voir également

Jetez un oeil au bug 4336 dans IssueZilla (http://www.openoffice.org/issues/show_bug.cgi?id=4336) pour un aperçu actualisé du problème.

##

## Mauvaise qualité de la rasterisation des polices à l'écran

Symptôme

Les polices TrueType ont une apparence ciselée et angulaire à l'écran et/ou ont un mauvais espacement alors que les mêmes polices s'affichent correctement sous les applications Mozilla, Gnome ou KDE.

Description du problème

Openoffice.org utilise la bibliothèque FreeType pour la rasterisation des polices. La bibliothèque FreeType a été compilée avec auto-hinting activé et byte-hinting désactivé. Alors que auto-hinting fait un travail de rendu raisonnable, ses résultats sont inférieurs à byte-hinting pour beaucoup de polices. Merci de vous rendre sur http://freetype.sourceforge.net/patents.html pour avoir un aperçu des discussions à ce sujet.

Remède

Actuellement, il n'y a pas de remède à ce problème. Il est recommandé d'utiliser un serveur X qui supporte les représentations graphiques anti-crénelées des glyphes pour améliorer la lisibilité

## Ajouter des polices TrueType ou de Type 1 dans Openoffice.org

Symptôme

- Les polices sont installées sur le système, mais elles n'apparaissent pas dans le menu déroulant des polices de Writer.

- Les polices sont installées comme TrueType ou Type1 et doivent être affichées comme anti-crénelées, mais pourtant l'anti-crénelage ne semble pas fonctionner.

Situation

Openoffice.org utilise deux principales sources de polices. La première (héritée) source est le serveur X. Ces polices servent uniquement à l'affichage. Les secondes sont les polices TrueType et Type1 (PostScript) qui sont lues dans un fichier. Elles sont rasterisées en utilisant la bibliothèque FreeType. Elles sont utilisées pour l'affichage et l'impression. Si la police est valable pour les deux sources, le rasterisation est préféré par FreeType.

Writer ne propose que des polices qui sont utilisables à la fois pour l'affichage et l'impression. Dans la mesure ou les polices issues uniquement de serveur X ne sont pas utilisables pour l'impression, elles n'apparaissent jamais dans la liste déroulante des polices de Writer. Elles n'apparaissent que si leur nom correspond à une police résidente pour l'imprimante sélectionnée (des polices standards comme Helvetica, Times, Courier, sont disponibles dans tous les modèles d'imprimante PostScript).

Ajouter des polices

Pour installer des polices utilisables dans toutes les applications Openoffice.org, il suffit qu'elles soient installées dans le système de fichier. Openoffice.org cherche les répertoires suivants pour les polices

| Solaris | Linux
1 | Les répertoires /usr/openwin/lib/X11/fonts/Type1 et /usr/openwin/lib/X11/fonts/Type1/sun | Le répertoire /usr/X11R6/lib/X11/fonts/Type1
2 | Les répertoires locaux dépendants trouvés dans le fichier /usr/openwin/lib/locale/<locale>/ OWfontpath | La sortie de la commande /usr/sbin/chkfontpath or chkfontpath
3 | Le chemin de police retourné par XGetFontPaht() | Pareil que pour Solaris
4 | Les répertoires donnés par la variable d'environnement SAL_FONTPATH_PRIVATE, généralement cette variable est fixée par le script soffice en <openoffice_dir>/share/fonts/truetype | Idem que pour Solaris

Si les polices sont installées dans l'un des répertoires mentionné ci-dessus, elles devraient être disponibles pour Openoffice.org. Le fontpath est une liste de répertoires séparée par des virgules qui est recherchée pour les polices par le serveur X. Veuillez noter que comme indiqué en (4), Openoffice.org recherche ce chemin et ensuite examine le même fichier de police que celui du serveur X, si le serveur X tourne sur la même machine. Ainsi, paramétrer les polices pour votre serveur X local est suffisant.

Si vous voulez ajouter des polices qui sont utilisées exclusivement par Openoffice.org (i.e. pas par le sserveur X), utilisez l'utilitaire spadmin et ajoutez les polices à votre installation Openoffice.org (dans le répertoire <openoffice_dir>/share/font/truetype). La méthode pour ajouter des polices dans spadmin est décrite dans le guide d'installation que vous trouverez à http://www.openoffice-fr.org

La même chose est vraie si vous voulez vous assurer que vos polices sont disponibles sur un affichage distant. Puisque le fontpath est seulement valide sur la machine sur laquelle tourne le serveur X, il est préférable d'installer les polices localement sur votre machine ou dans un répertoire qui est partagé entre le serveur X et Openoffice.org.

La plupart des utilisateurs installeront leur serveur X localement. Ils n'auront besoin d'ajouter les polices qu'au fontpath local.

Remèdes

Openoffice.org peut traiter aussi bien des polices à encodage binaire Type 1(suffixe .pfb) que des polices à encodage texte Type 1(suffixe .pfa). Vous devez néanmoins avoir installé le fichier de police Adobe Font Metric (AFM). Ce fichier doit avoir le même nom de base que le fichier de polices (ie Times.pfa plus Times.afm ou Helvetica.pfa plus Helvetica.afm). Il doit être installé dans le même répertoire que le fichier de polices ou dans un sous répertoire nommé 'afm'.

Si vous doutez d'avoir installé les polices correctement, vous pouvez vérifier le fichier 'user/psprint/pspfontcache'. Si vous avez fait une installation réseau , vérifiez dans 'user/psprint/pspfontcache', sinon dans 'share/psprint/pspfontcache'. Ce fichier est un peu dur à lire, mais néanmoins il reporte tous les fichiers de police qui ont été trouvés pendant la dernière ouverture d'OpenOffice.org. Si vous deviez enlever ce dossier, faites très attention à ne pas le modifier.

Voir aussi

Les polices anti-crénelées n'apparaissent plus à la seconde ou aux ouvertures ultérieures d'openOffice.org

## L'application plante

Symptôme

- Aussi bien soffice ou le setup de l'application ne démarrent pas

- Naviguer dans la liste déroulante des polices fait planter l'application

Situation

Lire ou interpréter les informations d'un fichier de polices peut conduire à une violation de la segmentation dans le FreeType rasterizer. Le plus souvent c'est un problème avec les polices TrueType qui ne suivent pas les spécifications du format de police TrueType.

Remèdes

Dans la mesure où les plantages peuvent être causés pour de multiples raisons, il est important d'identifier explicitement le problème comme étant un problème de polices. Ainsi, il peut être utile de ramener les polices en utilisation à leur strict minimum. Ceci peut être effectué sous Linux en restreignant le fontpath avec la commande 'xset' :

xset fp /usr/X11R6/lib/X11/fonts/100dpi,
/usr/X11R6/lib/X11/fonts/75dpi,/usrX11R6/lib/X11/fonts/Type1,
/usr/X11R6/lib/X11/fonts/misc

Il faut écrire cette commande en une seule ligne, sans laisser d'espace entre les éléments du chemin et les virgules ','. Dans la mesure où Openoffice.org a été testé avec les polices principales de X, il ne devrait plus y avoir de problèmes de crashs relatifs aux polices. Si le problème persiste, c'est que ce n'est pas un problème de police.

La prochaine étape est d'identifier quelle est la police qui provoque le crash. A priori, il faut élargir le nombre de polices utilisées par rapport au fichier original. La commande

xset fp default

restaure les paramètres originaux et devrait faire réapparaître le problème. Le fontpath peut être affiché avec

xset -q

Les commandes

xset fp+ <path>

xset fp- <path>

ajoutent ou enlèvent des éléments de chemins, de et vers le fontpath. En enlevant, à la suite, les répertoires du fontpath jusqu'à ce que le problème disparaisse, il est possible d'identifier le répertoire qui contient la police problématique. Il faut redémarrer Openoffice.org après chaque manipulation de fontpath.

Pour identifier une police problématique dans un répertoire de police, copiez toutes les polices dans un répertoire dans lequel vous avez les droits d'écriture. Laissez le fontpath pointer vers ce répertoire et excluez le répertoire original du fontpath. Déplacez les polices, une par une ou par lots, dans un répertoire différent. Redémarrez Openoffice.org jusqu'à ce que le problème disparaisse. La police défectueuse est dans le dernier lot que vous avez déplacé.

Si vous avez identifié la police qui pose le problème, veuillez, s'il vous plaît, indiquer le bug sur IssueZilla.

Voir aussi

Vous trouverez de plus amples informations à propos de la commande 'xset' dans les pages man en entrant la commande 'man xset'.

## Mauvaise apparence des polices dans les documents PDF

Symptôme

En ouvrant un document PDF avec Acrobat Reader, le contenu est affiché correctement, mais le texte n'est pas anti-crénelé et apparaît grossièrement rasterisé, ce qui le rend très difficile à lire.

Situation

La création d'un document PDF se fait en deux étapes. Le document est imprimé dans un document PostScript temporaire qui lui-même est converti en PDF. Éventuellement les deux documents doivent inscrire les informations concernant les polices pour un rendu correct. La qualité du document final sera lourdement affectée par la façon dont cela est fait. En utilisant un driver d'imprimante avancé qui est capable de comprendre les informations des glyphes TrueType, il est possible d'inscrire les polices TrueType dans le format Type42. Ce format est compris par GhostScript et Acrobat distiller et donc peut être maintenu dans un document PDF. Le pilote Générique oublie d'inscrire le Type42 et forces la création d'informations de police Type3. Pendant la conversion de PostScript vers PDF, ces informations sont converties en une représentation graphique qui s'affiche pauvrement.

Remèdes

N'utilisez pas le pilote Générique pour générer du PDF. Utilisez soit le pilote Distiller ou un pilote d'imprimante plus récent comme HP5 ou la série Xerox.

Voir aussi

L'administration des imprimantes et la création de fichiers PDF est décrite dans le guide d'installation que vous trouverez à l'adresse suivante : http://www.openoffice-fr.org

## Les polices de l'interface utilisateur sont illisibles

Symptôme

Les utilisateurs de Red Hat se plaignent que les menus et les éléments de l'interface utilisateur d'OpenOffice.org sont illisibles ou encore que toutes les polices ne sont pas visibles.

Situation

RedHat 7.2 est livré avec les polices ulT1mo latin2. L'une des polices est installée comme étant de type 'Arial'. Il y a de fortes chances pour qu'Openoffice.org choisissent cette police comme police d'interface utilisateur.

/usr/X11R6/lib/X11/fonts/latin2/Type1

L'une des polices est installée comme étant de type 'Arial'. Il y a de fortes chances pour qu'Openoffice.org choisisse cette police comme police d'interface utilisateur.

RedHat 7.3 est livré avec une police nommée 'Mingti2L, installée dans le répertoire :

/usr/share/fronts/zh_TW/TrueType

Cette police peut également être utilisée comme police pour l'interface utilisateur. A l'origine, elle a été choisie pour les versions Chinoises. Malheureusement, dans la mesure ou elle est installée dans un mode Unicode, elle est utilisée pour tous les langages.

Remèdes

Dans la mesure où enlever la police du fontpath, a résolu le problème pour beaucoup d'utilisateurs, ce serait dommage de ne pas l'essayer.

Vérifiez que vos paramètres fontpath incluent une référence au chemin de police problématique. Saisissez en mode console la commande 'xset -q' et vérifiez que le chemin '/usr/X11R6/lib/X11/fonts/Latin2/Type1' est présent.

Si oui, vous pouvez l'enlever en exécutant la commande 'xset-fp<path_element>', en redémarrant Openoffice.org et en reagardant si le problème est résolu. Pour enlever de façon permanente ce répertoire du fontpath, vous devez éditer la configuration de serveur X, située habituellement dans /etc/X11/Xf86Config-4.

Si vous utilisez un serveur de polices, veuillez exécuter la commande 'chkfontpath' ou si cela ne convient pas la commande 'usr/sbin/chkfontpath'. Vérifiez à nouveau les sorties pour les occurrences du chemin mentionné ci-dessus. Pour enlever le chemin vous devez éditer la configuration du serveur de polices. Habituellement, vous le trouverez dans le fichier /etc/X11/xfs/config. Après avoir modifié la configuration vous devez redémarrer le serveur de polices (exécutez la commande '/etc/rc.d/init.d/xfs restart' avec les permissions root).

Prenez contact avec votre administrateur système avant de changer les fichiers de configuration.

Faites une sauvegarde du fichier avant de le modifier.

Voir aussi

Changer les polices de l'interface utilisateurs

Mauvaise qualité de la rasterisation des polices d'écran.

## Changer les polices de l'interface utilisateur

Il n'y a pas d'options spécifique qui permette de changer la police dans l'interface utilisateur dans les versions d'OpenOffice.org qui sont basées sur la branche 641 (incluse OOo 1.0). Néanmoins, il est possible de changer les polices par un mécanismes de remplacement général. Sélectionnez le menu :

Tools -> Options -> Openoffice.org -> Substitution de polices

Cochez la case 'Appliquer la table de remplacement', remplacez la police :

Andale Sans UI

avec la police désirée. Vous ne trouverez sûrement pas la police Andale Sans UI dans la liste des polices à remplacer, mais vous devrez l'écrire manuellement dans le champ 'Polices'. Choisissez ensuite une police dans la liste déroulant de l'option 'Remplacer avec'. Les paramètres s'appliquent immédiatement après avoir appuyé sur le bouton 'OK'.

## Rapporter un problème relatif aux polices

Pour rapporter un bug relatif aux polices dans Openoffice.org, merci le lire le guide que vous trouverez dans la partie documentation du site http://openoffice-fr.org. Néanmoins pour rapporter un bug de police ,quelques informations complémentaires sont toujours les souhaitables.

Merci d'indiquer vos paramètres d'affichage. Vous pouvez créer un sommaire en exécutant la commande 'xdpyinfo'. Ajouter simplement les réponses comme fichier attaché. Merci d'indiquer également si vous êtes sur un affichage par connexion distante (i.e. le serveur X tourne sur une machine différente de celle sur laquelle fonctionne Openoffice.org).

Merci d'indiquer les paramètres du fontpath. Démarrez simplement le programme 'xset -q' et à nouveau, ajouter les réponses comme fichier attaché. Si vous utilisez un serveur de polices, démarrez le programme 'chkfontpath'. Si ce programme ne peut pas être trouvé par votre shell ou votre interpréteur de commandes, vous devez démarrer '/usr/sbin/chkfontpath'.

Merci d'indiquer également la distribution Linux utilisée. Notez également toutes les mises à jour du système que vous auriez pu faire en ce qui concerne l'affichage ou le bureau (mises à jour du serveur X, bureaux KDE ou Gnome différents).

Mentionnez de même si vous avez ajoutez des polices qui n'étaient pas fournies avec votre distribution.

Auteur Christoph Pintaske Traduction et Adaptation Sophie Gautier.

9