Txt2dat

Mise à jour de la page : 5 juillet 2013.
    Set 700/1 de 1950
J.C. Tchang
Original page
on author site
Txt2dat
.

Ce programme génère des fichiers LDraw à partir d'une police de caractères.
Par défaut il utilise les Spécifications des autocollants (Sticker).

Ce manuel est une traduction et adaptation des documents d'origine des auteurs respectifs.

 

Navigation rapide

 

Le programme txt2dat en ligne de commande

Le programme txt2dat crée des fichiers LDraw de textes, à partir de polices de caractères.

C'est un utilitaire que j'ai écrit (dixit R. Crawford) de façon basique, pour produire des autocollants virtuels (stickers) pour mes modèles LDraw. Il vous permet de choisir n'importe quelle police de caractères vectorielle, et de créer un fichier LDraw contenant la représentation de n'importe quelle chaîne de caractères dans cette police.

Téléchargement

Vous pouvez télécharger ce programme sur le site de l'auteur, R. Crawford :
Page de Txt2dat, ou Page de Txt2dat.

Historique

Fonctionnalités

Le fichier de l'autocollant généré est composé de commandes LDraw ayant plusieurs fonctions actives ou non :

Par défaut, txt2dat génère une boite (box) orientée suivant le standard LDraw.org Standards: Official Library Specification for Sticker Parts (bibliothèque officielle des standards LDraw pour les pièces "sticker"), dont voici la traduction : Spécifications des autocollants (Sticker). En particulier son épaisseur est de 0.25 LDU (unités LDraw). De nombreux attributs de l'objet final LDraw peuvent être ajustés, en utilisant les options décrites ci-dessous.

Le programme redirige les commandes LDraw vers "stdout", et tous les autres messages vers "stderr". De cette façon, le fichier LDraw peut-être capturé en redirigeant "stdout" vers un fichier.

Utilisation

    txt2dat [options] [fontfile] [> result.dat]

options :

Options des caractères :
-s chaine Ajoute une chaîne de caractères.
Les caractères sont ajoutés dans l'ordre où ils apparaissent dans la ligne de commande. Mettre la chaîne de caractère entre " ", lorsqu'il y a des espaces dans la chaîne. Exemple : "A B C". C'est utile lorsque les lettres du texte son espacés.
-a code Ajoute un caractère ASCII (donné en décimal) dans la chaîne de caractères.
Les caractères sont ajoutés dans l'ordre où ils apparaissent dans la ligne de commande. Plusieurs options -s et -a peuvent être combinées dans la même commande.
Exemple : -a 65 -s BC -a 68 dans la commande donne le texte "ABCD".
-c code_couleur Spécifie la couleur des caractères suivant le standard LDraw ou - (-c-) pour transparent.
Par défaut la couleur des caractères est 0 pour "black" (noir).
Sélectionner une couleur de caractère transparente, ou une couleur de fond transparente, est différent du choix de la couleur 47 "trans-white" (blanc transparent). Le programme ne crée pas de facettes triangulaires dans le premier cas, et dans le second crée des facettes avec la couleur 47.
-p valeur Spécifie la taille du texte en points (définition standard des polices de caractères). 1 point vaut environ 0.64 LDU. La valeur par défaut est de 12 points.
Nota : Pour une meilleure qualité avec de petites tailles de texte, augmentez cette valeur. Vous pourrez ultérieurement changer la valeur d'échelle avec MLCad par exemple.
-r valeur Résolution des courbes Splines. Doit être plus grand ou égal à 0.
    0 = Bon compromis (par défaut)
    1 = Maximum
  >1 = Réduit la résolution.
Résolution des Splines : La meilleure résolution pour chaque spline dépend de la taille en points de la police de caractères. Les grandes tailles nécessitent plus de segments. Plus de segments, nécessite plus de temps de calcul, et aussi de plus de mémoire. La valeur par défaut produit généralement un bon résultat, sauf pour de très petites tailles. Je ne recommande pas d'utiliser de hautes résolutions de Splines (valeurs de -r basses) avec une taille supérieure à 64, mais vous êtes libres d'expérimenter ;)
-k Crénage des paires de caractères, pour les polices le supportant, c'est-à-dire ajuste au mieux l'espace entre les lettres. Exemple "WA" et "HI" n'ont pas un espacement fixe entre les lettres.
Options de la boîte englobante de l'autocollant (sticker) :
-h valeur Spécifie la hauteur de la boite englobante (en unités LDU).
Par défaut, la hauteur est le premier multiple de 8 LDU (hauteur d'une pièce "plate"), plus grand que la hauteur totale des caractères. La ligne de base de la police de caractère est sur l'axe x.
La boite n'a pas de face inférieure (plus au standard actuel). Mais il est facile d'en ajouter une manuellement, si vous en voulez une. Je peux le mettre en option, si de nombreuses personnes le demandent.
-w valeur Spécifie la largeur de la boite englobante (en unités LDU).
Par défaut, la largeur est le premier multiple de 20 LDU (largeur d'une brique 1x1), plus grand que la largeur totale des caractères. Le texte est centré dans la boite, et sur l'axe z.
-b code_couleur Spécifie la couleur de fond suivant le standard LDraw ou - (-b-) pour transparent (voir option -c).
Par défaut la couleur de fond est 15 pour "white" (blanc).
Vous pouvez utiliser des couleurs non définies dans les spécifications LDraw, en choisissant parmi les numéros de couleur utilisateur, et en définissant cette couleur comme vous le voulez dans votre fichier LDraw.
-x Ne crée pas la boite englobante.
Options de bord vertical et ligne de bord :
-g Crée un bord vertical autour des caractères, seulement si l'une des options de couleur transparente -b- ou -c- est utilisée (pas les deux), et sauf si -l est utilisé.
Des lignes verticales sont également crées à chaque fin de segment droit de la police, donc en fonctions des polices utilisées, vous pouvez avoir plus de lignes verticales que nécessaire. La police interne par défaut est dans ce cas, puisque tous les caractères sont facettisés (composés de segments droits et non de courbes). Cela peut être réduit par l'option -m ci-dessous.
Cette option -g n'est pas à utiliser pour faire des autocollants mais pour créer des textes embossés sur/dans les pièces au format LDraw.
-m angle Convertit les lignes de bord verticaux en lignes conditionnelles, si 0 <= angle < 90. Par défaut angle = 10°. Utilisé conjointement à l'option -g.
-l Ne crée pas les lignes de bords des caractères et/ou de la boite. A utiliser par défaut pour respecter le standard actuel des autocollants.
Options du fichier de sortie :
-d nom_piece Spécifie le nom descriptif de la pièce. Cela est mis comme commentaire dans la première ligne du fichier. Par défaut le nom est "Sticker file".
-f nom_fichier Spécifie le nom du fichier de la pièce. Cela génère une ligne LDraw dans le fichier "0 Name: nom_fichier". Le fichier de sortie n'est pas crée avec cette option (voir -o). Par défaut le nom est "sticker.dat".
-o nom_fichier Spécifie le nom du fichier de sortie. Toutes les lignes de commandes LDraw générées vont dans ce fichier. Annule -f si spécifié. Par défaut la sortie est "stdout" (sortie standard, c'est-à-dire la fenêtre si aucune redirection n'est donnée vers une fichier : > result.dat par exemple).
-e nom_fichier Spécifie le nom du fichier d'erreur. Tous les messages d'erreur vont dans ce fichier. Par défaut les messages sont envoyés sur "stderr" (sortie des erreurs, la fenêtre par défaut).
-D valeur Spécifie le niveau de déverminage (Seulement disponible lorsque cela est compilé à partir de la source. La valeur par défaut est 3.

fontfile :

fontfile Le chemin complet d'un fichier de police de caractères vectorielle existante, mais pas forcément installée.

Si cela n'est pas fourni, une police de caractères par défaut, interne au programme est utilisée. Cette police a été générée à partir des briques LDraw 1x1 comportant des lettres, par Tore Eriksson. Elle contient seulement les caractères "espace", les chiffres de 0 à 9, et les caractères majuscules A à Z. Les caractères minuscules sont remplacés par leur équivalent majuscule. J'ai choisi cette police car elle est assez petite, et je ne veux pas augmenter de trop la taille de l'exécutable (.exe). Elle peut être changée, seulement, en recompilant la source. Les instructions sont fournies dans le fichier build.txt, inclus avec les sources.

Les variantes de polices de caractères Bold (Gras), et Italic (Italique), sont généralement dans des fichiers différents, en conséquence, vous devez choisir le fichier approprié. text2dat ne peut créer automatiquement les polices grasses ou en italique. Par exemple : la famille de polices "Arial" est composé de : arial.ttf, arialbd.ttf, ariali.ttf et arialbi.ttf.

Les polices le plus souvent utilisées tournent autour des polices "Arial" avec, suivant l'épaisseur du jambage : arial.ttf pour le plus fin, arialbd.ttf pour une épaisseur moyenne, ariblk.ttf pour une forte épaisseur.

Pour rechercher rapidement une police correspondant au besoin, j'utilise le programme FontList, programme libre de Edwin Martin, qui génère automatiquement une page HTML de toutes les polices installées avec un exemple, solution la plus rapide. Egalement pour aller plus loin AMP Font Viewer, programme libre de Alberto Martinez Pérez, qui affiche un exemple de chaque police disponible installée ou non.

Certains utilisent une recherche via le site : http://www.identifont.com ou http://www.whatfontis.com/, mais le résultat n'est pas toujours convainquant, et cela renvoi souvent vers des polices de caractères commerciales.

Pour le thème architecture, la police utilisée par certains est : Font Myriad Web Pro.ttf.

Mais, pour moi, les caractères "c" ou "e" ne sont pas assez fermés, et la font arial.ttf est préférable, en attendant d'avoir la police de caractères officielle disponible. Dans les 2 cas certaines lettres doivent être reprises manuellement avec un programme de création de motif comme Quad2dat ou LD Pattern Creator (LPC). Voir : Création d'autocollant textuel.

Exemple

    txt2dat -s Hello -c 4 -p 72 c:\windows\fonts\arial.ttf > hello.dat

Génère un fichier "hello.dat" contenant la chaîne de caractères "Hello" en rouge, avec une police "Arial" d'une hauteur en point de 72, sur un fond blanc.

Hello!

 

Exemple d'utilisation avec des caractères spéciaux

Voici un petit exemple d'utilisation de txt2dat avec des caractères spéciaux, en utilisant l'option -a. Nota : L'interface GUItx2d ne passant pas cette option, ne peut être utilisée.

La première chose à faire est de rechercher le code des caractères que l'on a besoin avec la "Table des caractères" de Windows. Après sélection de la police et du caractère, il suffit de noter sa valeur hexadécimal (base 16) :

Pour obtenir le code en valeur décimal à obtenir, on peut utiliser la Calculatrice de Windows, en mode d'affichage Scientifique :

Cocher "Hex" pour rentrer la valeur en hexadécimal, puis cocher "Déc" pour en obtenir la conversion en décimal. Dans l'exemple la valeur hexadécimal 042C donne la valeur décimale 1068.
Nota : On peut aussi faire le calcul à la main (4*16*16 + 2*16 + 12 = 1068), en mettant A=10, B=11, C=12, D=13, E=14, F=15.

Pour obtenir le texte qui nous intéresse il faut plusieurs caractères spéciaux et plusieurs caractères standard. Nous allons utiliser la commande suivante combinant les caractères. Il est préférable de mettre cette commande dans un fichier .BAT, puis de l'exécuter en faisant un double clic, et obtenir le résultat dans le fichier result.dat.

txt2dat -a 1054 -a 1055 -s ACH -a 1054 -s CT -a 1068 -c 4 -p 72 C:\Windows\Fonts\arialbd.ttf > C:\Lego\txt2dat\result.dat

Voici le résultat, modifié en largeur avec un facteur 0.7 (avec MLCad) pour être plus proche du résultat escompté :

 

Le programme txt2dat "en ligne"

Vous pouvez accéder à une version de txt2dat "en ligne" sur Internet, sur le site de Jim DeVona : txt2dat-online.

 

L'interface graphique GUItx2d

Il s'agit de l'interface graphique de txt2dat crée par Anders Isaksson.

Téléchargement

Vous pouvez pouviez télécharger ce programme ici :
guitx2d.zip.
Nota : Ce programme semble avoir disparu d'Internet. Il n'était plus mis a jour, et n'incorpore pas les dernières options ajoutées à txt2dat. Mais depuis le 05-07-2013 on peut le trouver sur le forum LDraw.org (version d'origine) :
Re: Putting comments into LDraw projects....

Utilisation

A la première utilisation cliquez sur l'onglet "Setting" :


... et indiquez le chemin du programme txt2dat, et du visualisateur de résultat (ici L3Lab).
Lorsque le programme considère le chemin comme bon, le champ correspondant passe en vert.

Sinon restez sur le premier onglet :


... où vous pouvez entrer les paramètres nécessaires à la création du "sticker", et vous en montrant un aperçu en dessous.
Nota : le centrage du texte n'apparaît pas dans l'aperçu, ainsi que les paramètres "Transparent".

Entrez dans le champ :

Vous pouvez également cliquer, si besoin, sur la case :

Nota : avec certaines versions de Windows, il n'est pas possible de sélectionner la police de caractère avec la boite de dialogue. Il faut rentrer son nom manuellement.
Pour voir le nom réel du fichier d'une police installée, cliquez dans la liste avec le bouton droit de la souris et sélectionnez "Détail".

Pour utiliser la police de caractères par défaut de txt2dat, allez chercher le fichier brick.ttf dans les sources, et copiez-le dans le dossier d'installation de txt2dat (par exemple).

Lorsque tout est bien paramétré, vous pouvez cliquer sur le bouton "Do It!", pour lancer la génération du résultat.

Le programme passe alors automatiquement sur l'onglet "Output" :


Dans le champ inférieur apparaît la liste des commandes LDraw générées, mais ce champ est non modifiable.

Vous pouvez cliquer sur les boutons suivants pour :

Exemples

En cas de soucis

Supprimez le fichier GUItx2d.INI dans le dossier Windows, pour retrouver les paramètres par défaut.

 

Intégration dans LD Part Editor

Txt2Dat a été intégré dans l'éditeur de pièce LD Part Editor, voir la page : LD Part Editor, et particulièrement le chapitre Génération de motif texte : Txt2Dat.

 

Droits et Copyright

Droits d'utilisation de txt2dat

Ce programme a été écrit par R. Crawford :

Ce programme est un logiciel libre. Vous pouvez le redistribuer et/ou le modifier sous les termes de la licence GNU General Public License publiée par la Free Software Foundation. Soit en version 2 de la licence, soit (à votre convenance) n'importe quelle version ultérieure.

Ce programme est distribué dans l'espoir qu'il vous soit utile, mais SANS AUCUNE GARANTIE. Sans même la garantie implicite de CAPACITE MARCHANDE ou d'APTITUDE POUR UN BUT PARTICULIER. Voyez la licence GNU General Public License pour plus de détails.

C'est encore un programme en version Beta. Utilisez-le à vos propres risques. Veuillez envoyer tous commentaires/suggestions/bugs à txt2dat@br-eng.info.

Droits d'utilisation de GUItx2d

Anders Isaksson a écrit une interface graphique pour txt2dat, appelée GUItx2d, qui facilite son utilisation. Vous pouvez lire à ce sujet le forum Lugnet (en anglais).
Nota : Je n'ai pas contribué à ce programme (dixit R. Crawford). Veuillez contacter Anders pour toute information !

Droits d'utilisation de ce manuel

Adaptation de ce manuel, traduction en français, J.C. Tchang.

Ce manuel est libre de droits, et n'engage nullement les auteurs des programmes.