Personnage de dessin de boîte - Box-drawing character

Midnight Commander utilisant des caractères de dessin de boîte dans un émulateur de terminal

Les caractères de dessin de boîte , également connus sous le nom de caractères de dessin de ligne , sont une forme de semi - graphique largement utilisée dans les interfaces utilisateur de texte pour dessiner divers cadres et boîtes géométriques. Les caractères de dessin de boîte ne fonctionnent généralement bien qu'avec des polices à espacement fixe . Dans les interfaces utilisateur graphiques , ces caractères sont beaucoup moins utiles car il est plus simple et approprié de dessiner des lignes et des rectangles directement avec des API graphiques . Cependant, ils sont toujours utiles pour les interfaces de ligne de commande et les commentaires en texte brut dans le code source .

Les éléments de bloc , les caractères d'ombrage et les caractères graphiques terminaux sont utilisés avec les caractères de dessin de boîte . Ceux-ci peuvent être utilisés pour remplir des zones de l'écran et représenter des ombres portées .

Encodages

Unicode

Dessin de la boîte

Unicode inclut 128 de ces caractères dans le bloc Box Drawing . Dans de nombreuses polices Unicode, seul le sous-ensemble qui est également disponible dans le jeu de caractères IBM PC (voir ci-dessous) existera, car il est défini comme faisant partie du jeu de caractères WGL4 .

Box Dessin
officiel Unicode Consortium graphique de code (PDF)
  0 1 2 3 4 5 6 7 8 9 UNE B C E F
U+250x ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??
U+251x ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??
U+252x ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??
U+253x ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??
U+254x ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??
U+255x ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??
U+256x ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??
U+257x ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??
Remarques
1. ^ À partir de la version Unicode 13.0

L'image ci-dessous est fournie à titre de référence rapide pour ces symboles sur les systèmes qui ne peuvent pas les afficher directement :

Dessins de boîte Unicode (2500 - 27FF).svg

Éléments de bloc

Le bloc Block Elements Unicode comprend des caractères d'ombrage. 32 caractères sont inclus dans le bloc.


Tableau des codes du Consortium Unicode officiel de Block Elements (PDF)
  0 1 2 3 4 5 6 7 8 9 UNE B C E F
U+258x ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??
U+259x ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??
Remarques
1. ^ À partir de la version Unicode 13.0

Symboles pour l'informatique héritée

Dans la version 13.0, Unicode a été étendu avec un autre bloc contenant de nombreux caractères graphiques, Symbols for Legacy Computing , qui comprend quelques caractères de dessin de boîte et d'autres symboles utilisés par les systèmes d'exploitation obsolètes (principalement des années 1980):

Symboles pour Legacy Computing
Tableau des codes officiels du Consortium Unicode (PDF)
  0 1 2 3 4 5 6 7 8 9 UNE B C E F
U+1FB0x ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??
U+1FB1x ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??
U+1FB2x ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??
U+1FB3x ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??
U+1FB4x ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??
U+1FB5x ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??
U+1FB6x ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??
U+1FB7x ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??
U+1FB8x ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??
U+1FB9x ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??
U+1FBAx ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??
U+1FBBx ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??
U+1FBCx ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??
U+1FBDx
U+1FBEx
U+1FBFx ?? ?? ?? ?? ?? ?? ?? ?? ?? ??
Remarques
1. ^ À partir de la version Unicode 13.0
2. ^ Les zones grises indiquent les points de code non attribués

L'image ci-dessous est fournie à titre de référence rapide pour ces symboles sur les systèmes qui ne peuvent pas les afficher directement :

Symboles pour Legacy Computing Unicode block.png

DOS

La page de code matériel du PC IBM d'origine fournissait les caractères de dessin de boîte suivants, dans ce que DOS appelle maintenant la page de code 437 . Ce sous-ensemble de caractères de dessin de boîte Unicode est donc beaucoup plus populaire et susceptible d'être rendu correctement :

0 1 2 3 4 5 6 7 8 9 UNE B C E F
B ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??
C ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??
?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??

Leur nombre est en outre limité à 22 sur les pages de codes qui remplacent les 18 caractères qui combinent des lignes simples et doubles avec d'autres caractères, généralement alphabétiques (comme la page de codes 850 ):

0 1 2 3 4 5 6 7 8 9 UNE B C E F
B ?? ?? ?? ?? ?? ?? ??
C ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??
?? ??

Remarque : Les caractères non doubles sont les caractères fins (légers) (U+2500, U+2502), et non les caractères gras (lourds) (U+2501, U+2503).

Certains ordinateurs OEM DOS prenaient en charge d'autres jeux de caractères, par exemple le Hewlett-Packard HP 110  / HP Portable et HP 110 Plus  / HP Portable Plus , où dans une version modifiée du jeu de caractères des caractères de dessin de boîte ont été ajoutés dans des zones réservées de leur Jeu de caractères HP Roman-8 .

0 1 2 3 4 5 6 7 8 9 UNE B C E F
8 ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??
9 ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??

Unix, CP/M, BBS

Sur de nombreux systèmes Unix et les premiers systèmes de babillards commutés, le seul standard commun pour les caractères de dessin de boîte était le jeu de caractères alternatif VT100 (voir aussi : DEC Special Graphics ). La séquence d'échappement a Esc ( 0 basculé les codes des lettres ASCII minuscules pour dessiner cet ensemble, et la séquence Esc ( Best revenue :

0 1 2 3 4 5 6 7 8 9 UNE B C E F
6 ?? ?? ?? ?? ??
7 ?? ?? ?? ?? ?? ??

Un script Bash qui affiche tous les caractères semi-graphiques :

$ for i in 6a 6b 6c 6d 6e 71 74 75 76 77 78; do printf "0x$i \x$i \x1b(0\x$i\x1b(B\n"; done

0x6a j ┘
0x6b k ┐
0x6c l ┌
0x6d m └
0x6e n ┼
0x71 q ─
0x74 t ├
0x75 u ┤
0x76 v ┴
0x77 w ┬
0x78 x │

Sur certains terminaux, ces caractères ne sont pas disponibles du tout, et la complexité des séquences d'échappement a découragé leur utilisation, si souvent seuls les caractères ASCII qui se rapprochent des caractères de dessin de boîte sont utilisés, tels que - ( tiret-moins ), | ( barre verticale ), _  ( trait de soulignement ), =  ( signe égal ) et + ( signe plus ) dans une sorte d' art ASCII .

Les émulateurs de terminaux Unix modernes utilisent Unicode et ont donc accès aux caractères de dessin de ligne répertoriés ci-dessus.

Historique

De nombreux micro - ordinateurs des années 1970 et 1980 avaient leurs propres jeux de caractères propriétaires, qui comprenaient également des caractères de dessin de boîte. Certains de ces ensembles, tels que le PETSCII de Commodore , incluent des symboles de dessin de boîte sans caractère Unicode correspondant.

Sinclair

Les Sinclair ZX80 , ZX81 et Spectrum comprenaient un ensemble de semi-graphiques de texte avec des éléments de bloc et des motifs de tramage.

   
ZX81 semi-graphiques

BBC et gland

Le BBC Micro pouvait utiliser le jeu de caractères 7 bits du télétexte , qui comportait 128 caractères de dessin de boîte, dont les points de code étaient partagés avec les caractères alphanumériques et de ponctuation normaux. Les caractères de contrôle ont été utilisés pour basculer entre le texte normal et le dessin de la boîte.

Ensemble de mosaïques télétexte G1 Block :

0 1 2 3 4 5 6 7 8 9 UNE B C E F
2 NBSP Caractère TRS-80 0x81.png Caractère TRS-80 0x82.png Caractère TRS-80 0x83.png Caractère TRS-80 0x84.png Caractère TRS-80 0x85.png Caractère TRS-80 0x86.png Caractère TRS-80 0x87.png Caractère TRS-80 0x88.png Caractère TRS-80 0x89.png Caractère TRS-80 0x8A.png Caractère TRS-80 0x8B.png Caractère TRS-80 0x8C.png Caractère TRS-80 0x8D.png Caractère TRS-80 0x8E.png Caractère TRS-80 0x8F.png
3 Caractère TRS-80 0x90.png Caractère TRS-80 0x91.png Caractère TRS-80 0x92.png Caractère TRS-80 0x93.png Caractère TRS-80 0x94.png Caractère TRS-80 0x95.png Caractère TRS-80 0x96.png Caractère TRS-80 0x97.png Caractère TRS-80 0x98.png Caractère TRS-80 0x99.png Caractère TRS-80 0x9A.png Caractère TRS-80 0x9B.png Caractère TRS-80 0x9C.png Caractère TRS-80 0x9D.png Caractère TRS-80 0x9E.png Caractère TRS-80 0x9F.png
6 Caractère TRS-80 0xA0.png Caractère TRS-80 0xA1.png Caractère TRS-80 0xA2.png Caractère TRS-80 0xA3.png Caractère TRS-80 0xA4.png Caractère TRS-80 0xA5.png Caractère TRS-80 0xA6.png Caractère TRS-80 0xA7.png Caractère TRS-80 0xA8.png Caractère TRS-80 0xA9.png Caractère TRS-80 0xAA.png Caractère TRS-80 0xAB.png Caractère TRS-80 0xAC.png Caractère TRS-80 0xAD.png Caractère TRS-80 0xAE.png Caractère TRS-80 0xAF.png
7 Caractère TRS-80 0xB0.png Caractère TRS-80 0xB1.png Caractère TRS-80 0xB2.png Caractère TRS-80 0xB3.png Caractère TRS-80 0xB4.png Caractère TRS-80 0xB5.png Caractère TRS-80 0xB6.png Caractère TRS-80 0xB7.png Caractère TRS-80 0xB8.png Caractère TRS-80 0xB9.png Caractère TRS-80 0xBA.png Caractère TRS-80 0xBB.png Caractère TRS-80 0xBC.png Caractère TRS-80 0xBD.png Caractère TRS-80 0xBE.png Caractère TRS-80 0xBF.png


Les ordinateurs BBC Master et ultérieurs Acorn ont la police logicielle par défaut définie avec des caractères de dessin au trait.

0 1 2 3 4 5 6 7 8 9 UNE B C E F
UNE ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??
B ?? ?? ?? ??

Amstrad

Le jeu de caractères Amstrad CPC comporte également des caractères souples définis par défaut en tant que caractères de bloc et de dessin au trait.

0 1 2 3 4 5 6 7 8 9 UNE B C E F
8 ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??
9 ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??

Le jeu de caractères CP/M Plus utilisé sur divers ordinateurs Amstrad des familles CPC , PCW et Spectrum comprenait également un riche jeu de caractères de dessin au trait :

0 1 2 3 4 5 6 7 8 9 UNE B C E F
8 ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??
9 ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??

Pomme

MouseText est un ensemble de caractères d'affichage pour Apple IIc , IIe et IIgs qui inclut des caractères de dessin de boîte.

Télétexte

Le télétexte du système mondial (WST) utilise des caractères de dessin en pixels pour certains graphiques. Une cellule de caractère est divisée en 2x3 régions, et 2 6  = 64 positions de code sont attribuées pour toutes les combinaisons possibles de pixels. Ces caractères ont été ajoutés à la norme Unicode dans la version 13.

Autres

Certains systèmes embarqués récents utilisent également des jeux de caractères propriétaires, généralement des extensions des jeux de caractères ISO 8859 , qui incluent des caractères de dessin de boîte ou d'autres symboles spéciaux.

Code de caractère

Sur de nombreuses plates-formes, la forme du caractère est déterminée par programmation à partir du code du caractère.

Caractères du bloc ZX Spectrum : 0x80 + haut à droite*1 + haut à gauche*2 + bas à droite*4 + bas à gauche*8

Caractères de bloc Amstrad CPC : 0 x 80 + haut à gauche * 1 + haut à droite * 2 + bas à gauche * 4 + bas à droite * 8

Caractères de ligne Amstrad CPC : 0x90 + haut*1 + droite*2 + bas*4 + gauche*8

Caractères de la ligne principale BBC : 0xA0 + bas*1 + droite*2 + gauche*4 + haut*8

Caractères du bloc télétexte : 0xA0 + haut-gauche*1 + haut-droit*2 + milieu-gauche*4 + milieu-droit*8 + bas-gauche*16 + bas-droit*64

Les caractères de dessin au trait DOS ne sont ordonnés d'aucune manière par programmation, et le calcul d'une forme de caractère particulière doit utiliser une table de recherche.

Exemples

Exemples de diagrammes réalisés à partir des caractères de dessin de boîte standard, en utilisant une police à espacement fixe :

┌─┬┐ ╔═╦╗ ╓─╥╖ ╒═╤╕
││ ║ ║║ ║ ║║ │ ││
├─┼┤ ╠═╬╣ ╟─╫╢ ╞═╪╡
└─┴┘ ╚═╩╝ ╙─╨╜ ╘═╧╛
??
│ ╔═══╗ Du texte │▒
╚═╦═╝ dans la boite │▒
??
│ ├──┬──┤ │▒
│ └──┴──┘ │▒
??
 ??

Voir également

Les références