Box-drawing characters, also known as line-drawing characters, are a form of semigraphics widely used in text user interfaces to draw various geometric frames and boxes. In graphical user interfaces, these characters are much less useful as it is more simple and appropriate to draw lines and rectangles directly with graphical APIs. Box-drawing characters work only with monospaced fonts; however, they are still useful for plaintext comments on websites.
Unicode includes 128 such characters. In many Unicode fonts only the subset that is also available in the IBM PC character set (see below) will exist, due to it being defined as part of the WGL4 character set.
Official Unicode Consortium code chart (PDF)
The hardware code page of the original IBM PC supplied the following box-drawing characters, in what DOS now calls code page 437. This subset of the Unicode box-drawing characters is thus far more popular and likely to be rendered correctly:
Their number is further limited to 22 on those code pages that replace the 18 "single/double hybrid" characters with other, usually alphabetic, characters (such as code page 850):
Note: The non-double characters are the "thin" ones (U+2500, U+2502), not the "wide" ones (U+2501, U+2503).
Unix, CP/M, BBS
On many Unix systems and early dial-up bulletin board systems the only common standard for box-drawing characters was the VT100 alternate character set. The escape sequence
Esc ( 0 switched the codes for lower-case ASCII letters to draw this set, and the sequence
Esc ( B switched back:
A Bash script that displays all of the semigraphic characters:
$ 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 │
On some terminals, these characters are not available at all, and the complexity of the escape sequences discouraged their use, so often only ASCII characters that approximate box-drawing characters are used, such as - (hyphen-minus), | (vertical bar), _ (underscore), = (equal sign) and + (plus sign) in a kind of ASCII art fashion.
Modern Unix terminal emulators use Unicode and thus have access to the line-drawing characters listed above.
Many microcomputers of the 1970s and 1980s had their own proprietary character sets, which also included box-drawing characters. Some of these sets, such as Commodore's PETSCII, include box-drawing symbols with no corresponding Unicode character.
The BBC Micro could utilise the Teletext 7-bit character set, which had 128 box-drawing characters, whose code points were shared with the regular alphanumeric and punctuation characters. Control characters were used to switch between regular text and box drawing.
MouseText is a set of display characters for the Apple IIc, IIe, and IIgs that includes box-drawing characters.
Some recent embedded systems also use proprietary character sets, usually extensions to ISO 8859 character sets, which include box-drawing characters or other special symbols.
The World Standard Teletext (WST) uses pixel-drawing characters for some graphics. A character cell is divided in 2×3 regions, and 26 = 64 code positions are allocated for all possible combinations of "pixels". However, these characters are not included in the Unicode standard.
Sample diagrams made out of the standard box-drawing characters, using a monospaced font:
┌─┬┐ ╔═╦╗ ╓─╥╖ ╒═╤╕ │ ││ ║ ║║ ║ ║║ │ ││ ├─┼┤ ╠═╬╣ ╟─╫╢ ╞═╪╡ └─┴┘ ╚═╩╝ ╙─╨╜ ╘═╧╛ ┌───────────────────┐ │ ╔═══╗ Some Text │▒ │ ╚═╦═╝ in the box │▒ ╞═╤══╩══╤═══════════╡▒ │ ├──┬──┤ │▒ │ └──┴──┘ │▒ └───────────────────┘▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
|Wikimedia Commons has media related to Text mode box drawing.|
- Unicode symbols
- Box Drawing (Unicode Block)
- Block Elements (Unicode Block)
- Geometric Shapes (Unicode Block)
- List of Unicode characters
- Text-based (computing)
- Text semigraphics
- ASCII art and ANSI art