Postać do rysowania w pudełku - Box-drawing character

Midnight Commander używający znaków do rysowania w emulatorze terminala

Znaki do rysowania ramek , znane również jako znaki do rysowania linii , są formą semigrafiki szeroko stosowaną w tekstowych interfejsach użytkownika do rysowania różnych geometrycznych ramek i ramek. Znaki do rysowania w ramce zazwyczaj działają dobrze tylko z czcionkami o stałej szerokości . W graficznym interfejsie użytkownika znaki te są znacznie mniej przydatne, ponieważ prostsze i odpowiednie jest rysowanie linii i prostokątów bezpośrednio za pomocą graficznych interfejsów API . Jednak nadal są przydatne w interfejsach wiersza poleceń i komentarzach w postaci zwykłego tekstu w kodzie źródłowym .

Używane razem ze znakami do rysowania w pudełku są elementy blokowe , znaki cieniujące i znaki graficzne terminalu. Można ich używać do wypełniania obszarów ekranu i przedstawiania cieni .

Kodowanie

Unicode

Rysunek w pudełku

Unicode zawiera 128 takich znaków w bloku Box Drawing . W wielu czcionkach Unicode istnieje tylko podzbiór, który jest również dostępny w zestawie znaków IBM PC (patrz poniżej), ponieważ jest on zdefiniowany jako część zestawu znaków WGL4 .

Box Drawing
Oficjalna tabela kodów Unicode Consortium (PDF)
  0 1 2 3 4 5 6 7 8 9 A b C D mi F
U+250x
U+251x
U+252x
U+253x
U+254x
U+255x
U+256x
U+257x
Uwagi
1. ^ Od wersji Unicode 13.0

Poniższy obraz stanowi szybkie odniesienie do tych symboli w systemach, które nie są w stanie wyświetlić ich bezpośrednio:

Rysunki w pudełku Unicode (2500 - 27FF).svg

Blokuj elementy

Zablokuj elementy blok Unicode zawiera znaki cieniowania. Blok zawiera 32 znaki.

Block Elements
Oficjalna tabela kodów Unicode Consortium (PDF)
  0 1 2 3 4 5 6 7 8 9 A b C D mi F
U+258x ?
U+259x
Uwagi
1. ^ Od wersji Unicode 13.0

Symbole dla starszych komputerów

W wersji 13.0 Unicode został rozszerzony o kolejny blok zawierający wiele znaków graficznych, Symbols for Legacy Computing , który zawiera kilka znaków do rysowania w pudełkach i inne symbole używane przez przestarzałe systemy operacyjne (głównie z lat 80.):

Symbole dla Legacy Computing
Oficjalny wykres kodów Unicode Consortium (PDF)
  0 1 2 3 4 5 6 7 8 9 A b C D mi 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 🯰 🯱 🯲 🯳 🯴 🯵 🯶 🯷 🯸 🯹
Uwagi
1. ^ Od wersji Unicode 13.0
2. ^ Szare obszary oznaczają nieprzypisane punkty kodowe

Poniższy obraz stanowi szybkie odniesienie do tych symboli w systemach, które nie są w stanie wyświetlić ich bezpośrednio:

Symbole dla Legacy Computing Unicode block.png

DOS

Strona kodowa sprzętu oryginalnego IBM PC dostarczane następujące znaki materacem rysunku, na co DOS teraz nazywa CP437 . Ten podzbiór znaków Unicode do rysowania w pudełku jest znacznie bardziej popularny i prawdopodobnie będzie poprawnie renderowany:

0 1 2 3 4 5 6 7 8 9 A b C D mi F
b
C
D

Ich liczba jest dodatkowo ograniczona do 22 na tych stronach kodowych, które zastępują 18 znaków, które łączą pojedyncze i podwójne wiersze z innymi, zwykle alfabetycznymi, znakami (np. strona kodowa 850 ):

0 1 2 3 4 5 6 7 8 9 A b C D mi F
b
C
D

Uwaga: Znaki inne niż podwójne to cienkie (jasne) znaki (U+2500, U+2502), a nie pogrubione (grube) znaki (U+2501, U+2503).

Niektóre komputery OEM DOS obsługiwały inne zestawy znaków, na przykład Hewlett-Packard HP 110  / HP Portable i HP 110 Plus  / HP Portable Plus , gdzie w zmodyfikowanej wersji zestawu znaków znaki do rysowania w polu zostały dodane w zarezerwowanych obszarach ich normalnego Zestaw znaków HP Roman-8 .

0 1 2 3 4 5 6 7 8 9 A b C D mi F
8
9

Unix, CP/M, BBS

W wielu systemach uniksowych i wczesnych tablicach biuletynów dial-up jedynym powszechnym standardem znaków do rysowania w skrzynkach był alternatywny zestaw znaków VT100 (patrz także: DEC Special Graphics ). Sekwencja ucieczki Esc ( 0 włączony kody małymi literami ASCII zwrócić ten zestaw, a sekwencja Esc ( Bprzełączony:

0 1 2 3 4 5 6 7 8 9 A b C D mi F
6
7

Bash skrypt, który wyświetla wszystkie semigraphic znaków:

$ 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 │

Na niektórych terminalach znaki te w ogóle nie są dostępne, a złożoność sekwencji specjalnych zniechęcała do ich używania, dlatego często używane są tylko znaki ASCII, które są przybliżone do znaków z ramką, takie jak - ( łącznik-minus ), | ( pionowa kreska ), _  ( podkreślenie ), =  ( znak równości ) i + ( znak plus ) w stylu sztuki ASCII .

Nowoczesne emulatory terminali uniksowych używają Unicode i dzięki temu mają dostęp do wymienionych powyżej znaków rysowania linii.

Historyczny

Wiele mikrokomputerów z lat 70. i 80. miało własne zestawy znaków, które zawierały również znaki do rysowania w pudełku. Niektóre z tych zestawów, takie jak komandora „s PETSCII zawierać symbole pole rysunek bez odpowiadających Unicode.

Sinclair

Sinclair ZX80 , ZX81 i Spectrum zawiera zestaw semigraphics tekstu z elementami blokowymi i wzorów ditheringu.

   
Semigrafika ZX81

BBC i Żołądź

BBC Micro mógłby wykorzystać teletekstu 7-bitowy zestaw znaków, który miał 128 materacem rysowanie postaci, których punkty kodowe były dzielone z regularnych alfanumerycznych i interpunkcyjnych znaków. Znaki kontrolne służyły do ​​przełączania między zwykłym tekstem a rysowaniem ramek.

Zestaw mozaiki bloku teletekstu G1:

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


Komputery BBC Master i późniejsze Acorn mają domyślnie miękką czcionkę zdefiniowaną ze znakami rysowania linii.

0 1 2 3 4 5 6 7 8 9 A b C D mi F
A
b

Amstrad

Zestaw znaków Amstrad CPC zawiera również miękkie znaki zdefiniowane domyślnie jako znaki do rysowania bloków i linii.

0 1 2 3 4 5 6 7 8 9 A b C D mi F
8
9

CP zestaw znaków / M Plus stosowany na różnych Amstrad komputerów z CPC , PCW i Spectrum rodzin zawarte bogaty zestaw znaków do rysowania, a także:

0 1 2 3 4 5 6 7 8 9 A b C D mi F
8
9

jabłko

MouseText to zestaw znaków wyświetlanych dla Apple IIc , IIe i IIgs , który zawiera znaki do rysowania w polu.

Teletekst

Światowy system teletekstu (WST) używa pikseli rysowanie znaków dla niektórych grafik. Komórka znakowa jest podzielona na regiony 2×3, a 2 6  = 64 pozycje kodu są przydzielane dla wszystkich możliwych kombinacji pikseli. Te znaki zostały dodane do standardu Unicode w wersji 13.

Inni

Niektóre najnowsze systemy wbudowane również używają własnych zestawów znaków, zwykle rozszerzeń zestawów znaków ISO 8859 , które zawierają znaki do rysowania w ramkach lub inne symbole specjalne.

Kod znaku

Na wielu platformach kształt znaku jest określany programistycznie na podstawie kodu znaku.

Znaki blokowe ZX Spectrum: 0x80 + górny prawy*1 + górny lewy*2 + dolny prawy*4 + dolny lewy*8

Znaki blokowe Amstrad CPC: 0x80 + górny lewy*1 + górny prawy*2 + dolny lewy*4 + dolny prawy*8

Znaki wiersza Amstrad CPC: 0x90 + góra*1 + prawo*2 + dół*4 + lewo*8

Znaki linii BBC Master: 0xA0 + dół*1 + prawo*2 + lewo*4 + góra*8

Znaki bloku teletekstu: 0xA0 + górny lewy*1 + górny prawy*2 + środkowy lewy*4 + środkowy prawy*8 + dolny lewy*16 + dolny prawy*64

Znaki do rysowania wierszy w systemie DOS nie są uporządkowane w żaden programowy sposób, a obliczenie określonego kształtu znaku wymaga użycia tabeli przeglądowej.

Przykłady

Przykładowe diagramy wykonane ze standardowych znaków do rysowania w pudełku, czcionką o stałej szerokości:

┌─┬┐ ╔═╦╗ ╓─╥╖ ╒═╤╕
│ ││ ║ ║║ ║ ║║ │ ││
├─┼┤ ╠═╬╣ ╟─╫╢ ╞═╪╡
└─┴┘ ╚═╩╝ ╙─╨╜ ╘═╧╛
┌───────────────────┐
│ ╔═══╗ Jakiś tekst │▒
│ ╚═╦═╝ w pudełku │▒
╞═╤══╩══╤═══════════╡▒
├──┬──┤
└──┴──┘
└───────────────────┘▒
 ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒

Zobacz też

Bibliografia