Outils de texte
Pourquoi l'art ASCII est-il mal aligné ?
Diagnostiquez l'art ASCII avec quatre vérifications (police, espaces, largeur et cellules de caractères), puis choisissez un format que la destination peut conserver.
Par Vigneshwaran Vijayakumar, développeur et éditeur | | Révisé sous le Politique éditoriale de ClockTools
Table des matières
L'illustration ASCII est généralement mal alignée car la destination utilise une police proportionnelle, réduit les espaces répétés, développe les onglets différemment ou retourne à la ligne avant la fin de l'illustration. Réparez d'abord le conteneur : utilisez un bloc de code clôturé ou un pré élément, choisissez une police à espacement fixe, remplacez les tabulations par des espaces et conservez chaque ligne dans la largeur la plus étroite de la destination. Le ClockTools ASCII Générateur d'art affiche le nombre de colonnes, de lignes, de caractères et d'octets en direct afin que vous puissiez tester la sortie réelle avant de la coller.
Quelles sont les quatre vérifications qui détectent le plus d'échecs d'alignement ?
Utilisez cet ordre car chaque étape exclut une classe de défaillance entière :
1. Police : confirmez que la destination affiche l'illustration dans une police à espacement fixe.
2. Espaces : confirmez que les espaces répétés et les sauts de ligne sont conservés.
3. Largeur : trouvez la rangée la plus longue et comparez-la avec le conteneur de visualisation le plus étroit.
4. Personnages : recherchez les onglets, les symboles Unicode larges, les emoji ou les glyphes de secours qui peuvent occuper des cellules inattendues.
Ne commencez pas par redessiner des lettres individuelles. Si chaque ligne dérive après le même point, la structure est probablement intacte et le moteur de rendu modifie l'espacement.
| Symptôme | Cause probable | Vérification rapide |
|---|---|---|
| Les colonnes dérivent progressivement | Police proportionnelle | Basculez le même texte en monospace |
| L'indentation de début disparaît | Espaces réduits | Enveloppez l'art dans un bloc préformaté |
| Un éditeur semble correct et un autre non | Largeur de tabulation ou police de secours | Remplacez les onglets et inspectez la police |
| Le bord droit passe à une nouvelle ligne | Emballage de conteneurs | Mesurez la rangée la plus longue |
| Seules les lignes contenant des symboles bougent | Largeur de cellule de caractère | Remplacer les glyphes larges ou de secours |
Pourquoi une police proportionnelle casse-t-elle l’image ?
L'art ASCII traite les personnages comme des tuiles dans une grille. Un espace, un trait de soulignement, une barre oblique et un W majuscule doivent avancer de la même largeur de cellule pour que les entités verticales restent alignées. Une police proportionnelle attribue délibérément des largeurs différentes, de sorte qu'une ligne contenant des lettres étroites n'occupe plus la même distance qu'une ligne contenant des lettres larges.
La famille générique CSS monospace demande au navigateur une police d'égale avance. Guide des polices du W3C répertorie monospace comme famille générique, tandis que le CSS 2 définition décrit une police à espacement fixe par sa largeur de glyphe fixe.
Lorsque vous contrôlez la page, utilisez un élément préformaté et une pile monospace :
```html
<pre class="ascii-art">VOTRE ART ICI</pre>
```
```css
.ascii-art {
famille de polices : ui-monospace, "Cascadia Mono", Consolas, monospace ;
espace blanc : pré ;
débordement-x : auto ;
}
```
Cela préserve le dessin sans le forcer à s'enrouler. Un parchemin horizontal est souvent moins dommageable qu’un bord droit cassé.
Comment les espaces, les tabulations et le retour à la ligne modifient-ils les lignes ?
Normal HTML réduit les séries d'espaces et traite les sauts de ligne comme des espaces de flux. Le CSS propriété `espace blanc` contrôle si les espaces, les nouvelles lignes et le retour à la ligne sont préservés. pré préserve les trois ingrédients structurels de l'art ASCII ordinaire : espaces répétés, lignes explicites et aucun retour à la ligne automatique.
Les onglets ne sont pas des unités d'alignement stables. Un éditeur peut utiliser quatre colonnes, un autre huit, et un composant Web peut appliquer une taille d'onglet personnalisée. Remplacez chaque onglet par le nombre d'espaces prévu avant la distribution.
Les espaces de fin sont également fragiles. Certains éditeurs les suppriment lors de l'enregistrement et les outils de révision peuvent les masquer. Préférez un design dont le bord droit significatif ne dépend pas d’un rembourrage final invisible. Les espaces principaux et intérieurs sont plus faciles à préserver à l’intérieur d’un conteneur préformaté.
Qu'est-ce qui a changé dans un test ClockTools contrôlé ?
Un test en direct sur 2026-09-01 entré ALIGN dans la police FIGlet standard. Avec un alignement à gauche, le générateur a signalé 31 colonnes, 6 lignes, 159 caractères, et 159 octets. Le résultat visible était :
```texte
_ _ ___ ____ _ _
/ \ | | |_ _/ ___| \ | |
/ _ \ | | | | | _| \| |
/ ___ \| |___ | | |_| | |\ |
/_/ \_\_____|___\____|_| \_|
```
Le passage à une cible de colonne 40 et à un alignement central a fait du remplissage principal une partie du texte. Le résultat rapporté est passé à 65 colonnes et 380 caractères même si les formes des lettres elles-mêmes n’avaient pas changé. C'est l'observation critique : l'alignement peut ajouter des espaces littéraux, de sorte qu'une bannière qui apparaît centrée dans le générateur peut devenir trop large pour sa destination.
L'outil sépare également la couleur de l'aperçu du texte brut et propose des exportations TXT, Markdown, ANSI et HTML orientées texte plus PNG. Cette séparation permet d'éviter qu'un paramètre d'aperçu décoratif ne modifie silencieusement les caractères que vous copiez.
Comment devez-vous coller l'illustration ASCII dans Markdown ou HTML ?
Sur GitHub, enveloppez le texte dans un bloc de code clôturé. Documentation de GitHub montre les clôtures à triple guillemet et recommande des lignes vierges autour d'elles. Ajoutez le texte lorsque vous ne souhaitez pas qu'un surligneur de langage de programmation colore la ponctuation.
````texte
```texte
VOTRE ASCII ART
```
````
Pour un README, conservez le nom du projet comme en-tête normal avant l'art. Les lecteurs d’écran peuvent annoncer chaque signe de ponctuation, et une bannière décorative ne doit pas être le seul endroit où apparaissent les mots essentiels.
Dans HTML, utilisez pré plutôt que d'insérer une chaîne d'espaces insécables. Testez la vue étroite. Vous pouvez utiliser le Éditeur HTML en temps réel comparer espace blanc : pré, pré-emballage, et un flux normal sans modifier une page de production.
Quand les caractères Unicode créent-ils un problème de largeur ?
Les caractères ASCII stricts sont étroits, mais de nombreux designs modernes « ASCII art » utilisent des caractères de dessin en forme de boîte, des blocs de nuances, des emoji ou d'autres symboles Unicode. Unicode Rapport sur la largeur de l'Asie de l'Est explique que les caractères peuvent être étroits ou larges dans les contextes de mise en page, et que les caractères ambigus peuvent dépendre de l'environnement.
La substitution de police crée une autre variable. Si la police à espacement fixe sélectionnée ne dispose pas d'un symbole, le navigateur peut l'emprunter à une police différente avec des métriques différentes. Testez sur le même terminal, application de chat ou navigateur où l'art sera consommé.
Pour la compatibilité la plus large, choisissez une rampe simple ASCII telle que @%#*+=-:. et évitez les emoji. Utilisez les blocs Unicode uniquement lorsque la destination est connue pour les restituer de manière cohérente.
Quelle exportation devriez-vous utiliser lorsque le texte ne peut pas rester aligné ?
Choisissez le format pour la destination, pas pour l'aperçu du générateur :
| Destination | Meilleur premier choix | Pourquoi |
|---|---|---|
| Commentaire README ou Markdown | Texte de démarque clôturé | Préserve les espaces et reste modifiable |
| Terminal ou journal simple | TXT avec des glyphes ASCII uniquement | Évite les hypothèses de balisage et de couleur |
| Terminal compatible couleur | ANSI | Porte intentionnellement les codes de couleur du terminal |
| Page Web contrôlée | HTML ou prétexte enveloppé | Vous permet de définir la police, les espaces et le débordement |
| Diapositives, publications sociales, applications à texte proportionnel | PNG | Gèle l'apparence exacte |
Avant l'exportation, collez le texte brut dans le Bloc-notes en ligne pour vérifier les onglets accidentels et comparer une version avant et après avec la Vérificateur de différences de texte. La comparaison au niveau des caractères expose un espace supprimé qu'une analyse visuelle peut manquer.
Si la destination refuse le texte à espacement fixe, supprime les barrières de code ou enveloppe de longues lignes, arrêtez de la traiter comme un canevas de texte fiable. Exportez un PNG, conservez une légende de texte normale pour plus d'accessibilité et conservez le texte original séparément pour les modifications futures.
Foire aux questions
Pourquoi l'illustration ASCII est-elle différente une fois que je l'ai collée ?
La destination peut utiliser une police proportionnelle, réduire les espaces répétés, développer les onglets différemment, renvoyer à la ligne de longues lignes ou afficher certains symboles Unicode avec une autre largeur de cellule.
Quelle police dois-je utiliser pour l’illustration ASCII ?
Utilisez une véritable police à espacement fixe pour que chaque caractère avance de la même largeur. Testez la police et la destination exactes, car les glyphes de secours peuvent toujours différer.
Comment puis-je garder l'art ASCII aligné sur GitHub ?
Placez-le dans un bloc de code clôturé, éventuellement étiqueté texte, et gardez la ligne la plus longue suffisamment étroite pour le conteneur README.
L'illustration ASCII doit-elle contenir des onglets ?
Non. Remplacez les tabulations par des espaces, car les éditeurs et les terminaux peuvent attribuer différentes largeurs de tabulation.
Pourquoi les caractères de dessin en forme de boîte rompent-ils l'alignement ?
Ils sont Unicode plutôt que stricts ASCII, et leur largeur d'affichage ou leur police de secours peuvent varier selon les terminaux, les navigateurs et les paramètres régionaux.
Quand dois-je exporter l’illustration ASCII en tant que PNG ?
Utilisez PNG lorsque la destination supprime le texte préformaté, force une police proportionnelle, enveloppe de longues lignes ou doit reproduire exactement la couleur et l'espacement.

