Box-drawing characters
   HOME

TheInfoList



OR:

Box-drawing characters, also known as line-drawing characters, are a form of
semigraphics Text-based semigraphics or pseudographics is a primitive method used in early text mode video hardware to emulate raster graphics without having to implement the logic for such a display mode. There are two different ways to accomplish the emu ...
widely used in
text user interface In computing, text-based user interfaces (TUI) (alternately terminal user interfaces, to reflect a dependence upon the properties of computer terminals and not just text), is a retronym describing a type of user interface (UI) common as an ear ...
s to draw various geometric frames and boxes. Box-drawing characters typically only work well with
monospaced A monospaced font, also called a fixed-pitch, fixed-width, or non-proportional font, is a font whose letters and characters each occupy the same amount of horizontal space. This contrasts with variable-width fonts, where the letters and spaci ...
fonts In metal typesetting, a font is a particular size, weight and style of a typeface. Each font is a matched set of type, with a piece (a " sort") for each glyph. A typeface consists of a range of such fonts that shared an overall design. In mod ...
. 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. However, they are still useful for command-line interfaces and plaintext comments within
source code In computing, source code, or simply code, is any collection of code, with or without comments, written using a human-readable programming language, usually as plain text. The source code of a program is specially designed to facilitate the w ...
. Used along with box-drawing characters are
block elements Block Elements is a Unicode block containing square block symbols of various fill and shading. Used along with block elements are box-drawing characters, shade characters, and terminal graphic characters. These can be used for filling regions of th ...
, shade characters, and terminal graphic characters, these can be used for filling regions of the screen and portraying drop shadows.


Encodings


Unicode


Box Drawing

Unicode Unicode, formally The Unicode Standard,The formal version reference is is an information technology standard for the consistent encoding, representation, and handling of text expressed in most of the world's writing systems. The standard, wh ...
includes 128 such characters in the Box Drawing block. 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. The image below is provided as a quick reference for these symbols on systems that are unable to display them directly: :


Block Elements

The
Block Elements Block Elements is a Unicode block containing square block symbols of various fill and shading. Used along with block elements are box-drawing characters, shade characters, and terminal graphic characters. These can be used for filling regions of th ...
Unicode block includes shading characters. 32 characters are included in the block.


Symbols for Legacy Computing

In version 13.0, Unicode was extended with another block containing many graphics characters,
Symbols for Legacy Computing Symbols for Legacy Computing is a Unicode block containing graphic characters that were used for various home computers from the 1970s and 1980s and in Teletext broadcasting standards. It includes characters from the Amstrad CPC, MSX, Mattel Aqu ...
, which includes a few box-drawing characters and other symbols used by obsolete operating systems (mostly from the 1980s): The image below is provided as a quick reference for these symbols on systems that are unable to display them directly: :


DOS

The hardware code page of the original IBM PC supplied the following box-drawing characters, in what
DOS DOS is shorthand for the MS-DOS and IBM PC DOS family of operating systems. DOS may also refer to: Computing * Data over signalling (DoS), multiplexing data onto a signalling channel * Denial-of-service attack (DoS), an attack on a communicat ...
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 characters that combine single and double lines with other, usually alphabetic, characters (such as
code page 850 Code page 850 ( CCSID 850) (also known as CP 850, IBM 00850, OEM 850, DOS Latin 1) is a code page used under DOS and Psion's EPOC16 operating systems in Western Europe. Depending on the country setting and system configuration, code page 850 i ...
): Note: The non-double characters are the thin (light) characters (U+2500, U+2502), not the bold (heavy) characters (U+2501, U+2503). Some OEM DOS computers supported other character sets, for example the Hewlett-Packard HP 110 / HP Portable and HP 110 Plus / HP Portable Plus, where in a modified version of the character set box-drawing characters were added in reserved areas of their normal HP Roman-8 character set.


Unix, CP/M, BBS

On many
Unix Unix (; trademarked as UNIX) is a family of multitasking, multiuser computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, an ...
systems and early dial-up bulletin board systems the only common standard for box-drawing characters was the
VT100 The VT100 is a video terminal, introduced in August 1978 by Digital Equipment Corporation (DEC). It was one of the first terminals to support ANSI escape codes for cursor control and other tasks, and added a number of extended codes for special ...
alternate character set (see also: DEC Special Graphics). The
escape sequence In computer science, an escape sequence is a combination of characters that has a meaning other than the literal characters contained therein; it is marked by one or more preceding (and possibly terminating) characters. Examples * In C and ma ...
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 ASCII ( ), abbreviated from American Standard Code for Information Interchange, is a character encoding standard for electronic communication. ASCII codes represent text in computers, telecommunications equipment, and other devices. Because ...
characters that approximate box-drawing characters are used, such as - ( hyphen-minus), ,  ( vertical bar), _( underscore), =(
equal sign The equals sign (British English, Unicode) or equal sign (American English), also known as the equality sign, is the mathematical symbol , which is used to indicate equality in some well-defined sense. In an equation, it is placed between two ...
) and + ( plus sign) in a kind of ASCII art fashion. Modern Unix
terminal emulator A terminal emulator, or terminal application, is a computer program that emulates a video terminal within some other display architecture. Though typically synonymous with a shell or text terminal, the term ''terminal'' covers all remote term ...
s use Unicode and thus have access to the line-drawing characters listed above.


Historical

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 Commodore may refer to: Ranks * Commodore (rank), a naval rank ** Commodore (Royal Navy), in the United Kingdom ** Commodore (United States) ** Commodore (Canada) ** Commodore (Finland) ** Commodore (Germany) or ''Kommodore'' * Air commodore ...
's
PETSCII PETSCII (''PET Standard Code of Information Interchange''), also known as CBM ASCII, is the character set used in Commodore Business Machines (CBM)'s 8-bit home computers, starting with the PET from 1977 and including the C16, C64, C116, C1 ...
, include box-drawing symbols with no corresponding Unicode character.


Sinclair

The
Sinclair ZX80 The Sinclair ZX80 is a home computer launched on 29 January 1980 by Science of Cambridge Ltd. (later to be better known as Sinclair Research). It is notable for being one of the first computers available in the United Kingdom for less than a h ...
, ZX81 and
Spectrum A spectrum (plural ''spectra'' or ''spectrums'') is a condition that is not limited to a specific set of values but can vary, without gaps, across a continuum. The word was first used scientifically in optics to describe the rainbow of colors ...
included a set of text semigraphics with block elements and dithering patterns in the ZX80 character set.


BBC and Acorn

The
BBC Micro The British Broadcasting Corporation Microcomputer System, or BBC Micro, is a series of microcomputers and associated peripherals designed and built by Acorn Computers in the 1980s for the BBC Computer Literacy Project. Designed with an emphas ...
could utilize 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. Teletext G1 Block Mosaics Set: The BBC Master and later Acorn computers have the soft font by default defined with line drawing characters.


Amstrad

The Amstrad CPC character set also has soft characters defined by default as block and line drawing characters. The CP/M Plus character set used on various
Amstrad Amstrad was a British electronics company, founded in 1968 by Alan Sugar at the age of 21. The name is a contraction of Alan Michael Sugar Trading. It was first listed on the London Stock Exchange in April 1980. During the late 1980s, Amstra ...
computers of the CPC, PCW and
Spectrum A spectrum (plural ''spectra'' or ''spectrums'') is a condition that is not limited to a specific set of values but can vary, without gaps, across a continuum. The word was first used scientifically in optics to describe the rainbow of colors ...
families included a rich set of line-drawing characters as well:


Apple

MouseText is a set of display characters for the Apple IIc, IIe, and
IIGS The Apple IIGS (styled as II), the fifth and most powerful of the Apple II family, is a 16-bit personal computer produced by Apple Computer. While featuring the Macintosh look and feel, and resolution and color similar to the Amiga and Atari ST ...
that includes box-drawing characters.


Teletext

The World System 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. These characters were added to the Unicode standard in Version 13.


Others

Some recent embedded systems also use proprietary character sets, usually extensions to
ISO 8859 ISO/IEC 8859 is a joint ISO and IEC series of standards for 8-bit character encodings. The series of standards consists of numbered parts, such as ISO/IEC 8859-1, ISO/IEC 8859-2, etc. There are 15 parts, excluding the abandoned ISO/IEC 8859-12. ...
character sets, which include box-drawing characters or other special symbols.


Character code

On many platforms, the character shape is determined programmatically from the character code. * ZX Spectrum block characters: *: * Amstrad CPC block characters: *: * Amstrad CPC line characters: *: * BBC Master line characters: *: * Teletext block characters: *: * DOS line draw characters are not ordered in any programmatic manner, and calculating a particular character shape needs to use a look-up table.


Examples

Sample diagrams made out of the standard box-drawing characters, using a monospaced font:
┌─┬┐  ╔═╦╗  ╓─╥╖  ╒═╤╕
│ ││  ║ ║║  ║ ║║  │ ││
├─┼┤  ╠═╬╣  ╟─╫╢  ╞═╪╡
└─┴┘  ╚═╩╝  ╙─╨╜  ╘═╧╛
┌───────────────────┐
│  ╔═══╗ Some Text  │▒
│  ╚═╦═╝ in the box │▒
╞═╤══╩══╤═══════════╡▒
│ ├──┬──┤           │▒
│ └──┴──┘           │▒
└───────────────────┘▒
 ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒


See also

*
Unicode symbols In computing, a Unicode symbol is a Unicode character which is not part of a script used to write a natural language, but is nonetheless available for use as part of a text. Many of the symbols are drawn from existing character sets or ISO/IEC or ...
*
Dingbat In typography, a dingbat (sometimes more formally known as a printer's ornament or printer's character) is an ornament, specifically, a glyph used in typesetting, often employed to create box frames, (similar to box-drawing characters) or as ...
*
Box Drawing (Unicode Block) Box Drawing is a Unicode block containing characters for compatibility with legacy graphics standards that contained characters for making bordered charts and tables, i.e. box-drawing characters. Its block name in Unicode 1.0 was Form and Chart ...
*
Block Elements (Unicode Block) Block Elements is a Unicode block containing square block symbols of various fill and shading. Used along with block elements are box-drawing characters, shade characters, and terminal graphic characters. These can be used for filling regions of th ...
*
Geometric Shapes (Unicode Block) Geometric Shapes is a Unicode block of 96 symbols at code point range U+25A0–25FF. U+25A0–U+25CF The BLACK CIRCLE is displayed when typing in a password field, in order to hide characters from a screen recorder or shoulder surfing. U+2 ...
*
List of Unicode characters As of Unicode version 15.0, there are 149,186 characters with code points, covering 161 modern and historical scripts, as well as multiple symbol sets. This article includes the 1062 characters in the Multilingual European Character Set 2 (ME ...
*
Text-based (computing) In computing, text-based user interfaces (TUI) (alternately terminal user interfaces, to reflect a dependence upon the properties of computer terminals and not just text), is a retronym describing a type of user interface (UI) common as an ear ...
* Text semigraphics * ASCII art and
ANSI art The American National Standards Institute (ANSI ) is a private non-profit organization that oversees the development of voluntary consensus standards for products, services, processes, systems, and personnel in the United States. The organi ...
* MouseText


References

{{reflist, refs= Box Drawing U+2500-U+257F
The Unicode Standard Code Charts
{{cite book , title=Hewlett-Packard - Technical Reference Manual - Portable PLUS , date=August 1985 , edition=1 , id=45559-90001 , publisher= Hewlett-Packard Company, Portable Computer Division , location=Corvallis, OR, USA , url=https://archive.org/details/bitsavers_hpportableblePLUSTechnicalReferenceManualAug1985_25919880 , access-date=2016-11-27 {{cite book , title=Hewlett-Packard - Technical Reference Manual - Portable PLUS , date=December 1986 , orig-year=August 1985 , edition=2 , id=45559-90006 , publisher= Hewlett-Packard Company , location=Portable Computer Division, Corvallis, OR, USA , url=http://www.jeffcalc.hp41.eu/hpplus/files/techrefman.pdf , access-date=2016-11-27 , url-status=live , archive-url=https://web.archive.org/web/20161128194426/http://www.jeffcalc.hp41.eu/hpplus/files/techrefman.pdf , archive-date=2016-11-28 Broadcast Teletext Specification, September 1976 (a
HTML
o
scans of original document
{{cite book , title=Spectrum +3 CP/M Plus manual , chapter=Appendix II: CP/M Plus character sets / II.1 The complete character set (Language 0) , chapter-url=http://www.worldofspectrum.org/Plus3CPMManual/appendix2.html , type=User Manual , access-date=2017-07-10 , url-status=live , archive-url=https://web.archive.org/web/20091015151318/http://www.worldofspectrum.org/Plus3CPMManual/appendix2.html , archive-date=2009-10-15}

/ref> {{cite web , author-first=John C. , author-last=Elliott , date=2015-04-04 , title=Amstrad Extended BIOS Internals , work=Seasip.info , url=http://www.seasip.info/Cpm/xbiosint.html , access-date=2017-07-15 , url-status=live , archive-url=https://web.archive.org/web/20170715103636/http://www.seasip.info/Cpm/xbiosint.html , archive-date=2017-07-15 {{cite web , title=Amstrad CP/M Plus character set , url=http://fileformats.archiveteam.org/wiki/Amstrad_CP/M_Plus_character_set , access-date=2017-07-15 , url-status=live , archive-url=https://web.archive.org/web/20170715103000/http://fileformats.archiveteam.org/wiki/Amstrad_CP/M_Plus_character_set , archive-date=2017-07-15 {{cite web , title=TeleText - Het Protocol , language=nl , author=Wiels , url=https://www.wiels.nl/teletext/ , at=Mosaic characters , access-date=2017-12-21 , url-status=live , archive-url=https://web.archive.org/web/20171222002304/https://www.wiels.nl/teletext/ , archive-date=2017-12-22 Unicode Box drawing Character sets