This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages) This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: "Graphic character" – news · newspapers · books · scholar · JSTOR (December 2009) (Learn how and when to remove this message) This article includes a list of general references, but it lacks sufficient corresponding inline citations. Please help to improve this article by introducing more precise citations. (July 2019) (Learn how and when to remove this message) (Learn how and when to remove this message)

In ISO/IEC 646 (commonly known as ASCII) and related standards including ISO 8859 and Unicode, a graphic character, also known as printing character (or printable character), is any character intended to be written, printed, or otherwise displayed in a form that can be read by humans. In other words, it is any encoded character that is associated with one or more glyphs.

ISO/IEC 646

In ISO 646, graphic characters are contained in rows 2 through 7 of the code table. However, two of the characters in these rows, namely the space character SP at row 2 column 0 and the delete character DEL (also called the rubout character) at row 7 column 15, require special mention.

The space is considered to be both a graphic character and a control character in ISO 646. It can have a visible form, and also a control function (moving the print head).[1]

The delete character is strictly a control character, not a graphic character. This is true not only in ISO 646, but also in all related[clarification needed] standards including Unicode. However, many other character sets deviate from ISO 646, and as a result a graphic character might[a] occupy the position originally reserved for the delete character.[b]

Unicode

In Unicode, Graphic characters are those with General Category Letter, Mark, Number, Punctuation, Symbol or Zs=space. Other code points (General categories Control, Zl=line separator, Zp=paragraph separator) are Format, Control, Private Use, Surrogate, Noncharacter or Reserved (unassigned).[2]

Spacing and non-spacing characters

Most graphic characters are spacing characters, which means that each instance of a spacing character has to occupy some area in a graphic representation. For a teletype or a typewriter this implies moving of the carriage after typing of a character. In the context of text mode display, each spacing character occupies one rectangular character box of equal sizes. Or maybe two adjacent ones, for non-alphabetic characters of East Asian languages. If a text is rendered using proportional fonts, widths of character boxes are not equal, but are positive.

There exist also non-spacing graphic characters. Most of non-spacing characters are modifiers, also called combining characters in Unicode, such as diacritical marks. Although non-spacing graphic characters are uncommon in traditional code pages, there are many such in Unicode. A combining character has its distinct glyph, but it applies to a character box of another character, a spacing one. In some historical systems such as line printers this was implemented as overstrike.

Note that not all modifiers are non-spacing – there exists Spacing Modifier Letters Unicode block.

See also

Notes

  1. ^ as is the case in code page 437 and related standards
  2. ^ This does not mean the delete character is absent; it just means 0x7F is overloaded, and outputting it will either print the graphical character or perform a deletion, depending on the routine used. For example in most BASIC implementations, using the PRINT command with 0x7F will delete, but using POKE will output the graphical character.

References

  1. ^ L.R. Henderson; A.M. Mumford (20 May 2014). The Computer Graphics Metafile: Butterworth Series in Computer Graphics Standards. Elsevier Science. p. 102. ISBN 978-1-4831-4484-9.
  2. ^ https://www.unicode.org/versions/Unicode5.2.0/ch02.pdf#G25564 Chapter 2, table 2.3