Graphic character
A graphic character, also known as a printing character or a printable character, is a grapheme intended to be rendered in a form that can be read by a human. In other words, it is any encoded character that is associated with one or more glyphs.
ISO/IEC 646
In ASCII, 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 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 be considered as a character with a visible form or, in contexts such as teleprinters, a control character that advances the print head without printing a character.
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 standards including Unicode. However, many other character sets deviate from ISO 646, and as a result a graphic character might occupy the position originally reserved for the delete character.
Unicode
In Unicode, Graphic characters are those with General Category Letter, Mark, Number, Punctuation, Symbol or Zs=space. Other code points are Format, Control, Private Use, Surrogate, Noncharacter or Reserved.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 monospace typefaces, each spacing character occupies one rectangular character box of equal sizes.. 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 the non-spacing characters are modifiers, 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 mark, but it applies to a character box of another character, a spacing one. In some historical systems such as typewriters, this was implemented as 'backspace and overstrike'.
Note that not all modifiers are non-spacing the Unicode block "Spacing Modifier Letters" list a number of others.