4 Prévisualisation

Contenu de cette section

Ghostview est un compagnon du logiciel gs et permet la visualisation de fichiers PostScript sous X. Il permet notamment de sélectionner un sous-ensemble de pages pour être imprimées par lpr. La nouvelle version 1.5 corrige pas mal de choses par rapport à la version précédente (1.4.1). Il appelle gs avec l'option -dSAFER, et possède pas mal de paramètres supplémentaires. Vous le trouverez sur~:

prep.ai.mit.edu:/pub/gnu/ghostview-XXX.tar.gz

Ghostview a besoin de gs pour fonctionner. La nouvelle version de gs (2.6.1) utilise au mieux les fontes X de façon à améliorer la lisibilité particulièrement pour les plus faibles résolutions (un des défauts de ces deux outils dans les versions précédentes par rapport aux outils du commerce). Tout ceci fonctionne très bien, au moins pour moi, avec bon positionnement des caractères (Avec des fontes X ayant des tailles différentes). Ghostview et ghostscript on également une bonne gestion des couleurs.

Vous pouvez aussi faire en sorte que gs utilise les fontes (Type~1) que vous venez d'installer, plutôt que celles du système ou celles livrées avec gs. Pour ce faire, insérez la ligne suivante dans votre fichier .Xdefaults~:

ghostscript.useExternalFonts: false

Voici un message posté par Tim Theisen <ghostview@cs.wisc.edu> dans gnu.ghostscript.bug~:

(XFree, le serveur X de linux, est simplement une version améliorée de la contribution du MIT nommée i386 X-server (X386) qui inclut le rastériseur mot accepté(?) en français. raster: pixellisation, transformation d'une image vectorielle en bitmap Type~1 d'origine IBM (sauf erreur de ma part).

Ghostscript utilise maintenant le kit de développement X (X Toolkit) pour charger ses ressources. Il utilise les règles standard de X permettant aux ressources spécifiques d'écraser des ressources plus globales, et donne donc à l'utilisateur un meilleur contrôle. Il permet également à l'administrateur de définir un fichier pour l'application avec les ressources par défaut spécifiques à l'installation.

La personnalisation mentionnée dans le fichier make.doc se trouve maintenant dans le fichier des ressources X et la configuration se fait à l'exécution et non plus à la compilation. A ce propos, le fichier make.doc n'a pas été mise à jour pour la version 2.6.1. Veuillez nous excuser.

Si la ressource useBackingPixmap est utilisée, ghostscript essaiera d'allouer de la place pour un fond (pixmap). S'il ne peut pas être alloué, ghostscript émettra un message et demandera au serveur X de gérer lui même le fond. (Puisqu'il n'y a pas de place pour un fond en pixmap, le serveur X peut ne pas être capable de le gérer non plus).

La gestion des couleurs a été complètement revue à partir de la version 2.6 de gs.

Ghostscript recherche d'abord une carte des couleurs standard correcte. Si votre serveur X a des couleurs statiques, il vaudra mieux attacher une propriété à la fenêtre principale décrivant la palette de couleurs. Ghostscript est ensuite capable de tirer pleinement avantage du périphérique. Si vous avez installé une carte des couleurs standard, ghostscript démarrera notablement plus rapidement puisqu'il ne devra pas allouer d'espace tridimensionnel (RVB Rouge, Vert, Bleu ) pour les couleurs.

Si aucune carte des couleurs n'est disponible, ghostscript allouera un espace RGB ou une échelle de niveaux de gris. Ghostscript essaiera d'abord soit un espace de couleur de 5x5x5 pour un périphérique couleur soit 128 niveaux de gris pour les périphériques à niveau de gris. Il ne demandera jamais plus de la moitié des couleurs ou des niveaux de gris. De plus, il tient compte du nombre de bits par pixel (il ne demandera pas 128 niveaux de gris si vous n'en avez que 16).

Ghostscript essaiera ensuite d'allouer des couleurs en dehors de l'espace alloué (échelle) au fur et à mesure de l'interprétation de l'image. Ghostscript garde en mémoire 256 couleurs dynamiques. Après qu'elles ont toutes été allouées, il demande directement au serveur X.

Les ressources concernant la couleur~:

  1. palette (Palette): Valeur par défaut: Color. Autres valeurs possibles: Grayscale (niveaux de gris), Monochrome. Cette ressource permet de limiter la palette utilisée pour l'affichage. On peut par exemple mettre la palette à Monochrome ou Grayscale pour avoir une idée du rendu sur un moniteur couleur. Je l'utilise pour éviter l'extrapolation des gris sur un écran couleurs avec DAC Digital / Analogic Converter : Convertisseur Digital / Analogique 4 bits.
  2. maxGrayRamp (MaxGrayRamp): Valeur par défaut: 128. Nombre maximum de niveaux de gris que ghostscript essaiera d'allouer. (Il n'essaiera pas d'allouer plus sur un périphérique couleur 8 bits, même si mettez une valeur supérieure). Mettez une valeur inférieure pour avoir une échelle réduite et si vous préférez que ghostscript utilise des couleurs dynamiques.
  3. maxRGBCube (MaxRGBCube): Valeur par défaut: 5. Nombre maximum de couleurs que ghostscript essaiera d'allouer. Même remarque que ci-dessus.

Je pense que ces valeurs sont un bon compromis entre l'allocation dynamique et l'extrapolation.

Vous pouvez jouer avec les couleurs de fond et d'avant-plan pour faire de l'inversion vidéo. Cependant, si vous avez un périphérique à niveaux de gris, il est préférable d'inverser l'échelle de gris en utilisant le bout de code PostScript suivant:

[{1 exch sub} /exec load currenttransfer /exec load] cvx settransfer

Le pilote X11 supporte désormais les fontes natives X11. Ghostscript est capable d'utiliser les fontes standard pour effectuer des rotations, des effets de miroir, ou des modifications de tailles.

Le pilote X11 fait de son mieux en travaillant en "silence" (sans traces). Vous pouvez lui demander de décrire les fontes qu'il utilise en positionnant la ressource logExternalFonts dans vos ressources X.

Le pilote X11 est fait pour utiliser les fontes standard distribuées avec X11R5 (et X11R6). Nous avons fait l'acquisition de Adobe Type Manager et du paquetage Adobe Plus. Ils donnent l'ensemble des fontes que l'on trouve normalement avec la LaserWriter Plus de Apple. Le pilote X11 peut également utiliser ces fontes (sur-ensemble des fontes livrées avec X11).

Vous pouvez positionner les ressources regularFonts, symbolFonts ou dinbatFonts si vous possédez d'autres fontes. Chaque nom complet de fonte doit posséder 7 tirets sinon il sera ignoré. Réduisez au maximum l'utilisation des jokers pour obtenir une correspondance plus rapide. J'ai vu un serveur X prendre plusieurs secondes pour afficher une fonte, en raison d'une mauvaise utilisation des jokers.

Il existe une liste de fontes pour chaque type d'encodage. Les fontes régulières peuvent être utilisées via l'encodage ISO~Latin~1. Les fichiers bdf livrés avec X11 sont aussi encodés en ISO~Latin~1. Cela laisse de côté les ligatures. Heureusement elles sont présentes dans les fichiers bdf, mais ne sont pas encodées. Vous pouvez utiliser le programme fixfont dans le paquetage xproof pour ré-encoder les fichiers bdf et construire les fontes X11 contenant des ligatures (encodage standard)~:

Ftp.Cs.Wisc.Edu:/Pub/X/Xproof.Tar.Z
Ftp.X.Org:/Contrib/Xproof.Tar.Z

Si vous possédez les fontes de Type~1 mentionnées ci-dessus ainsi que le rastériseur raster : pixelliser vous pouvez utiliser le fichier fonts.scale tel que ci-après pour nommer vos fontes afin que ghostscript puisse les utiliser.

Les ressources pour les fontes~:

  1. useExternalFonts (UseExternalFonts): Valeur par défaut~: true. Définit si les fontes X11 sont utilisées ou non.
  2. useScalableFonts (UseScalableFonts): Valeur par défaut~: true. Définit si les fontes variables sont utilisées ou non. Si vous possédez par ailleurs un outil capable de dimensionner des fontes, positionnez (true) cette ressource. Si vous possédez un terminal X, vous obtiendrez de meilleures performances si cette ressource est vraie (true). Les fontes dimensionnées par le dimensionneur `bitmap' rendent moins bien que les fontes livrées avec ghostscript.
  3. logExternalFonts (LogExternalFonts): Valeur par défaut~: false. Définit si l'utilisation des fontes doit être tracé ou non.

Le fichier fonts.scale ci-dessous permet aux fontes des paquetages Adobe Type Manager et Adobe Plus d'être disponibles en standard et encodées au format ISO~Latin~1~:

70
agw_____.pfb -Adobe-ITC Avant Garde Gothic-Book-r-normal--0-0-0-0-p-0-iso8859-1
agwo____.pfb -Adobe-ITC Avant Garde Gothic-Book-o-normal--0-0-0-0-p-0-iso8859-1
agd_____.pfb -Adobe-ITC Avant Garde Gothic-Demi-r-normal--0-0-0-0-p-0-iso8859-1
agdo____.pfb -Adobe-ITC Avant Garde Gothic-Demi-o-normal--0-0-0-0-p-0-iso8859-1
bkl_____.pfb -Adobe-ITC Bookman-Light-r-normal--0-0-0-0-p-0-iso8859-1
bkli____.pfb -Adobe-ITC Bookman-Light-i-normal--0-0-0-0-p-0-iso8859-1
bkd_____.pfb -Adobe-ITC Bookman-Demi-r-normal--0-0-0-0-p-0-iso8859-1
bkdi____.pfb -Adobe-ITC Bookman-Demi-i-normal--0-0-0-0-p-0-iso8859-1
com_____.pfb -Adobe-Courier-Medium-r-normal--0-0-0-0-m-0-iso8859-1
coo_____.pfb -Adobe-Courier-Medium-o-normal--0-0-0-0-m-0-iso8859-1
cob_____.pfb -Adobe-Courier-Bold-r-normal--0-0-0-0-m-0-iso8859-1
cobo____.pfb -Adobe-Courier-Bold-o-normal--0-0-0-0-m-0-iso8859-1
hv______.pfb -Adobe-Helvetica-Medium-r-normal--0-0-0-0-p-0-iso8859-1
hvo_____.pfb -Adobe-Helvetica-Medium-o-normal--0-0-0-0-p-0-iso8859-1
hvb_____.pfb -Adobe-Helvetica-Bold-r-normal--0-0-0-0-p-0-iso8859-1
hvbo____.pfb -Adobe-Helvetica-Bold-o-normal--0-0-0-0-p-0-iso8859-1
hvn_____.pfb -Adobe-Helvetica-Medium-r-Narrow--0-0-0-0-p-0-iso8859-1
hvno____.pfb -Adobe-Helvetica-Medium-o-Narrow--0-0-0-0-p-0-iso8859-1
hvnb____.pfb -Adobe-Helvetica-Bold-r-Narrow--0-0-0-0-p-0-iso8859-1
hvnbo___.pfb -Adobe-Helvetica-Bold-o-Narrow--0-0-0-0-p-0-iso8859-1
ncr_____.pfb -Adobe-New Century Schoolbook-Medium-r-normal--0-0-0-0-p-0-iso8859-1
nci_____.pfb -Adobe-New Century Schoolbook-Medium-i-normal--0-0-0-0-p-0-iso8859-1
ncb_____.pfb -Adobe-New Century Schoolbook-Bold-r-normal--0-0-0-0-p-0-iso8859-1
ncbi____.pfb -Adobe-New Century Schoolbook-Bold-i-normal--0-0-0-0-p-0-iso8859-1
por_____.pfb -Adobe-Palatino-Medium-r-normal--0-0-0-0-p-0-iso8859-1
poi_____.pfb -Adobe-Palatino-Medium-i-normal--0-0-0-0-p-0-iso8859-1
pob_____.pfb -Adobe-Palatino-Bold-r-normal--0-0-0-0-p-0-iso8859-1
pobi____.pfb -Adobe-Palatino-Bold-i-normal--0-0-0-0-p-0-iso8859-1
sy______.pfb -Adobe-Symbol-Medium-r-normal--0-0-0-0-p-0-iso8859-1
tir_____.pfb -Adobe-Times-Medium-r-normal--0-0-0-0-p-0-iso8859-1
tii_____.pfb -Adobe-Times-Medium-i-normal--0-0-0-0-p-0-iso8859-1
tib_____.pfb -Adobe-Times-Bold-r-normal--0-0-0-0-p-0-iso8859-1
tibi____.pfb -Adobe-Times-Bold-i-normal--0-0-0-0-p-0-iso8859-1
zcmi____.pfb -Adobe-ITC Zapf Chancery-Medium-i-normal--0-0-0-0-p-0-iso8859-1
zd______.pfb -Adobe-ITC Zapf Dingbats-Medium-r-normal--0-0-0-0-p-0-iso8859-1
agw_____.pfb -Adobe-ITC Avant Garde Gothic-Book-r-normal--0-0-0-0-p-0-adobe-fontspecific
agwo____.pfb -Adobe-ITC Avant Garde Gothic-Book-o-normal--0-0-0-0-p-0-adobe-fontspecific
agd_____.pfb -Adobe-ITC Avant Garde Gothic-Demi-r-normal--0-0-0-0-p-0-adobe-fontspecific
agdo____.pfb -Adobe-ITC Avant Garde Gothic-Demi-o-normal--0-0-0-0-p-0-adobe-fontspecific
bkl_____.pfb -Adobe-ITC Bookman-Light-r-normal--0-0-0-0-p-0-adobe-fontspecific
bkli____.pfb -Adobe-ITC Bookman-Light-i-normal--0-0-0-0-p-0-adobe-fontspecific
bkd_____.pfb -Adobe-ITC Bookman-Demi-r-normal--0-0-0-0-p-0-adobe-fontspecific
bkdi____.pfb -Adobe-ITC Bookman-Demi-i-normal--0-0-0-0-p-0-adobe-fontspecific
com_____.pfb -Adobe-Courier-Medium-r-normal--0-0-0-0-m-0-adobe-fontspecific
coo_____.pfb -Adobe-Courier-Medium-o-normal--0-0-0-0-m-0-adobe-fontspecific
cob_____.pfb -Adobe-Courier-Bold-r-normal--0-0-0-0-m-0-adobe-fontspecific
cobo____.pfb -Adobe-Courier-Bold-o-normal--0-0-0-0-m-0-adobe-fontspecific
hv______.pfb -Adobe-Helvetica-Medium-r-normal--0-0-0-0-p-0-adobe-fontspecific
hvo_____.pfb -Adobe-Helvetica-Medium-o-normal--0-0-0-0-p-0-adobe-fontspecific
hvb_____.pfb -Adobe-Helvetica-Bold-r-normal--0-0-0-0-p-0-adobe-fontspecific
hvbo____.pfb -Adobe-Helvetica-Bold-o-normal--0-0-0-0-p-0-adobe-fontspecific
hvn_____.pfb -Adobe-Helvetica-Medium-r-Narrow--0-0-0-0-p-0-adobe-fontspecific
hvno____.pfb -Adobe-Helvetica-Medium-o-Narrow--0-0-0-0-p-0-adobe-fontspecific
hvnb____.pfb -Adobe-Helvetica-Bold-r-Narrow--0-0-0-0-p-0-adobe-fontspecific
hvnbo___.pfb -Adobe-Helvetica-Bold-o-Narrow--0-0-0-0-p-0-adobe-fontspecific
ncr_____.pfb -Adobe-New Century Schoolbook-Medium-r-normal--0-0-0-0-p-0-adobe-fontspecific
nci_____.pfb -Adobe-New Century Schoolbook-Medium-i-normal--0-0-0-0-p-0-adobe-fontspecific
ncb_____.pfb -Adobe-New Century Schoolbook-Bold-r-normal--0-0-0-0-p-0-adobe-fontspecific
ncbi____.pfb -Adobe-New Century Schoolbook-Bold-i-normal--0-0-0-0-p-0-adobe-fontspecific
por_____.pfb -Adobe-Palatino-Medium-r-normal--0-0-0-0-p-0-adobe-fontspecific
poi_____.pfb -Adobe-Palatino-Medium-i-normal--0-0-0-0-p-0-adobe-fontspecific
pob_____.pfb -Adobe-Palatino-Bold-r-normal--0-0-0-0-p-0-adobe-fontspecific
pobi____.pfb -Adobe-Palatino-Bold-i-normal--0-0-0-0-p-0-adobe-fontspecific
sy______.pfb -Adobe-Symbol-Medium-r-normal--0-0-0-0-p-0-adobe-fontspecific
tir_____.pfb -Adobe-Times-Medium-r-normal--0-0-0-0-p-0-adobe-fontspecific
tii_____.pfb -Adobe-Times-Medium-i-normal--0-0-0-0-p-0-adobe-fontspecific
tib_____.pfb -Adobe-Times-Bold-r-normal--0-0-0-0-p-0-adobe-fontspecific
tibi____.pfb -Adobe-Times-Bold-i-normal--0-0-0-0-p-0-adobe-fontspecific
zcmi____.pfb -Adobe-ITC Zapf Chancery-Medium-i-normal--0-0-0-0-p-0-adobe-fontspecific
zd______.pfb -Adobe-ITC Zapf Dingbats-Medium-r-normal--0-0-0-0-p-0-adobe-fontspecific

4.1 gspreview

Un autre utilitaire pour GhostScript. Je l'ai compilé et apprécie son interface utilisateur mais il comporte des bugs. De plus il ne semble pas aussi puissant que ghostview (et dieu sait que ghostview est bourré de possibilités).

4.2 xdvi

Un logiciel de prévisualisation pour fichiers dvi très bien réalisé, très lisible, avec une fonction zoom variable. Il n'interprète pas certaines caractéristiques PostScript que seul dvips est capable de faire. Pour visualiser un fichier faire xdvi~fichier.dvi. Cet utilitaire est livré avec \TeX\ et/ou certaines distributions (slackware, MCC, ...). La plupart des serveurs l'ont.

4.3 Xtex

Xtex est similaire à xdvi. Il est disponible dans certaines distributions et sur~:

ftp.x.org:/contrib/xtex-2.18.5.tar.z

4.4 gxditview

Cet utilitaire permet la prévisualisation d'un source au format troff, en utilisant des fontes X. La commande~:

groff -TX100 -mandoc PAGE_MANUEL

lancera gxditview pour affichier la page du manuel. -TX75 est possible pour avoir une taille réduite. Beaucoup de distributions ne l'incluent pas. Une version est distribuée avec les sources de groff que vous pouvez obtenir notamment sur prep.ai.mit.edu:/pub/gnu/groff-XXXX.tar.z

4.5 Prévisualisation sans X-Window

GhostScript est livré avec des pilotes vidéo qui n'auront pas grand intérêt sous Unix. Cependant gs est capable d'utiliser la librairie VGA Linux (svgalib). Le périphérique à utiliser s'appelle "linux", ce qui donne une commande comme celle-ci~: gs~-sDEVICE=linux~fichier.ps pour visualiser un fichier PostScript. La variable d'environnement GSVGAMODE définit le numéro du mode vidéo désiré. Consultez le fichier vga.h livré avec les sources de svgalib pour connaître les valeurs possibles.

Si vous avez besoin de ce pilote, il existe un patch pour l'inclure dans la librairie svgalib~:

ws105.zfn.uni-bremen.de:/pub/gs261-linuxdriver.sh
ws105.zfn.uni-bremen.de:/pub/gs261-svgalib.tar.gz
ftp.cdrom.com:/pub/linux/misc

Le pilote svgalib complet est disponible sur sunsite et ses miroirs.

Texmgr est un programme permettant la prévisualisation des fichiers dvi sous MGR. Je ne crois pas que cela fonctionne sous linux, mais si c'est le cas, il utilise très peu de ressources (mémoire et disque) et peut être intéressant pour certains.

Dvgt permet également la prévisualisation des fichiers dvi avec la librairie svgalib et sur différents types de terminaux graphiques tels que vt, tek, ou n'importe quel PC disposant de Kermit. Il est disponible sur sunsite.

Chapitre Suivant , Chapitre Précédent

Table des matières de ce chapitre, Table des matières générale

Début du document, Début de ce chapitre