Comment convertir la fonte cmr en images PNG ?

Tout ce qui concerne le langage TeX/LaTeX et ses variantes. Ce langage est utilisable sur le forum via les balises tex.
[participation réservée aux utilisateurs inscrits]
Règles du forum
Merci de soigner la rédaction de vos messages et de consulter ce sujet avant de poster. Pensez également à utiliser la fonction recherche du forum.
e-miel

Comment convertir la fonte cmr en images PNG ?

Message non lu par e-miel »

J'aimerais convertir la fonte cmr de LaTeX en images PNG. Comment faire ? (une image par caractère)
guiguiche
Modérateur général
Modérateur général
Messages : 8215
Inscription : vendredi 06 janvier 2006, 15:32
Statut actuel : Enseignant
Localisation : Le Mans

Message non lu par guiguiche »

Tu écris chacun des caractères de la police cmr sous la forme d'une formule mathématique.
Tu enregistres dans un fichier .tex
Tu compiles en html avec latex2html.
Tu obtiens un dossier du nom de ton fichier dans lequel figure chacune des formules (donc chacun de tes caractères) dans un fichier png.

Si des spécialistes de latex ont une méthode plus simple, ils te la communiqueront sûrement.
e-miel

Message non lu par e-miel »

Merci guiguiche.

Après quelques heures de recherche, j'ai appris certaines choses sur les fontes :

Les caractères sont décris dans des fichiers *.mf (MetaFont) dans un langage nommé MetaFont. Je suppose que c'est du vectoriel.

Dans un fichier DVI, il n'y a que des références : aucun dessin de caractère. Cependant, ces références sont déjà bien positionnées (coordonnées x,y) sur la feuille. L'exécutable tex (ou latex) a donc besoin de connaître les espacements à respecter entre les différents caractères pour positionner les caractères dans le DVI. Pour cela, il va lire les fichiers *.tfm (TeX Font Metric) des fontes utilisées. Ces fichiers *.tfm sont générées à partir des codes source *.mf : si une fonte est utilisée pour la première fois, on voit défiler plein de lignes : c'est la génération des *.tfm manquants.

Dans la création du document imprimable (je prends l'exemple d'un document PostScript en 600 dpi), dvips a besoin d'inclure les dessins des caractères en 600 dpi là où le fichier DVI ne contenait que des références. Les images bitmap des caractères sont stockées dans des fichiers *.600pk (Packed) qui sont simplement des fichiers *.600gf (Generic Font) compressés pour économiser de l'espace disque. Cette compression a l'air ridicule de nos jours : gzip est plus efficace et les fichiers *.600gf qui sont en N&B sont déjà très petits. Ces fichiers *.600gf sont générées à partir des codes source *.mf : si une fonte est utilisée pour la première fois par dvips, on voit défiler plein de lignes : c'est la génération des *.600gf manquants, puis compactés en *.600pk pour le stockage dans /var.

En fait, ce que j'aimerais, c'est extraire les images des fichiers *.600gf, ou au moins être capable de comprendre la structure de ces fichiers pour réaliser l'extraction moi-même.
MB
Administrateur
Administrateur
Messages : 8131
Inscription : samedi 28 mai 2005, 14:23
Statut actuel : Enseignant

Message non lu par MB »

guiguiche a écrit :Si des spécialistes de latex ont une méthode plus simple, ils te la communiqueront sûrement.
Cette méthode est déjà fort simple je trouve ! :wink:
e-miel a écrit :En fait, ce que j'aimerais, c'est extraire les images des fichiers *.600gf, ou au moins être capable de comprendre la structure de ces fichiers pour réaliser l'extraction moi-même.
Ah oui, c'est un autre problème ça !
Tu peux déjà regarder la partie 4 de ce document. L'utilitaire GFtype devrait également t'aider à comprendre la structure de ce format.
MB. Rejoignez notre partenaire pCloud et bénéficiez de 10Go de stockage gratuits ou d'une offre premium !
Pas d'aide en message privé. Merci de consulter ce sujet avant de poster votre premier message.
guiguiche
Modérateur général
Modérateur général
Messages : 8215
Inscription : vendredi 06 janvier 2006, 15:32
Statut actuel : Enseignant
Localisation : Le Mans

Message non lu par guiguiche »

Tes lectures sur les fontes vont bien au-delà de mes maigres connaissances.
Je déclare forfait pour la suite de tes recherches.
e-miel

Message non lu par e-miel »

MB a écrit :Tu peux déjà regarder la partie 4 de ce document. L'utilitaire GFtype devrait également t'aider à comprendre la structure de ce format.
Un grand merci à toi, MB ! C'est exactement ce que je cherchais : un moyen de récupérer les images bitmap des fichiers *.600gf. Bon, un peu de travail de ma part : je dois interpréter le fichier GF en question, je vais me servir de ton document, mais là il est tard :fatigue:.

Encore un grand merci ! :worthy:
A+
MB
Administrateur
Administrateur
Messages : 8131
Inscription : samedi 28 mai 2005, 14:23
Statut actuel : Enseignant

Message non lu par MB »

De rien. On peut savoir quel est ton objectif exactement ?
MB. Rejoignez notre partenaire pCloud et bénéficiez de 10Go de stockage gratuits ou d'une offre premium !
Pas d'aide en message privé. Merci de consulter ce sujet avant de poster votre premier message.
e-miel

Message non lu par e-miel »

MB a écrit :De rien. On peut savoir quel est ton objectif exactement ?
Je souhaiterais utiliser moi-même les caractères de TeX.

Je vais me servir de gftype -i truc.600gf pour récupérer les images.
MB
Administrateur
Administrateur
Messages : 8131
Inscription : samedi 28 mai 2005, 14:23
Statut actuel : Enseignant

Message non lu par MB »

e-miel a écrit :Je souhaiterais utiliser moi-même les caractères de TeX.
C'est à dire ? (dans quelle application ?)
MB. Rejoignez notre partenaire pCloud et bénéficiez de 10Go de stockage gratuits ou d'une offre premium !
Pas d'aide en message privé. Merci de consulter ce sujet avant de poster votre premier message.
Tryphon
Modérateur honoraire
Modérateur honoraire
Messages : 1839
Inscription : mercredi 01 juin 2005, 18:39
Localisation : Un peu plus à l'Ouest

Message non lu par Tryphon »

J'ai écrit un petit programme en C qui lit les fichiers PK. C'est assez court, j'en fais rien pour l'instant, je voulais écrire un petit programme qui automatise l'installation de fontes Postscript et Truetype dans une arborescence TeX, voire un éditeur de polices vectorielles. Je te file ça si tu veux.

Au passage, si c'est juste pour les caractères, il existe des versions Postscript et Truetype des fontes cmr (ne seraient-ce que les fontes lmodern, qui en plus sont occidentalisées).
e-miel

Message non lu par e-miel »

En fait, je m'en sors très bien avec pktogf suivi de gftype -i : j'ai fait un programme C qui lit (par pipe) ce qui sort de gftype. Ne croyez pas que je veuille m'en servir dans un programme de KDE ou autre truc du genre... le programme en question, c'est moi qui le fait, et c'est juste un moyen de comprendre comment ça marche.

Généralement, quand on comprend quelque chose, on tombe tôt ou tard sur les circonstances qui feront qu'on s'en sert, et c'est avec grand plaisir qu'on se souvient d'avoir cherché. D'après ce principe : ceux qui n'apprennent rien ne savent pas ce qu'ils ratent.

Au fait, Tryphon, ton programme C, il interprète lui-même le contenu des fichiers *.pk ?
e-miel

Message non lu par e-miel »

Quelle(s) commande(s) lancer pour générer les images bitmap (*.gf ou *.pk) à partir des sources *.mf d'une fonte ?
Tryphon
Modérateur honoraire
Modérateur honoraire
Messages : 1839
Inscription : mercredi 01 juin 2005, 18:39
Localisation : Un peu plus à l'Ouest

Message non lu par Tryphon »

Oui, mon programme C interprète lui-même les fichiers .pk. Il est complètement indépendant d'une installation TeX.

Le programme qui génère les pk est Metafont. On obtient un pk en tapant un truc du genre :

Code : Tout sélectionner

mf "\mode:=localfont;" input machin 
ensuite, on utilise gftopk pour générer le pk à partir du gf.
guiguiche
Modérateur général
Modérateur général
Messages : 8215
Inscription : vendredi 06 janvier 2006, 15:32
Statut actuel : Enseignant
Localisation : Le Mans

Message non lu par guiguiche »

C'est du chinois pour moi pour histoires de pk. Et je n'ai toujours pas compris à quoi cela peut vous servir.
e-miel

Message non lu par e-miel »

Tryphon a écrit :Oui, mon programme C interprète lui-même les fichiers .pk. Il est complètement indépendant d'une installation TeX.
Moi aussi, j'aimerai bien faire un programme comme ça, mais pour ça, il faut savoir comment les fichiers *.pk sont structurés. As-tu une documentation (ou un site) qui explique ça ?
Tryphon
Modérateur honoraire
Modérateur honoraire
Messages : 1839
Inscription : mercredi 01 juin 2005, 18:39
Localisation : Un peu plus à l'Ouest

Message non lu par Tryphon »

Primo, si je te file le source, tu sauras comment ça fonctionne.

Deuzio, c'est trouvable dans un vieil article de Tom Rockiki, et un peu aussi dans les annexes de l'ouvrage "Fontes et encodages" de Yannis Haralambous.

Voilà l'article en question :
http://www.tug.org/TUGboat/Articles/tb06-3/tb13pk.pdf

Un article en français sur le sujet, mais je ne crois pas qu'il décrive le mode de compression utilisé par pk :
http://www.gutenberg.eu.org/pub/GUTenbe ... usquer.pdf