Display, graphic, or printable characters?
Lassi Kortela
(11 Nov 2019 13:34 UTC)
|
||
Re: Display, graphic, or printable characters?
John Cowan
(11 Nov 2019 21:57 UTC)
|
||
Re: Display, graphic, or printable characters?
Lassi Kortela
(11 Nov 2019 22:07 UTC)
|
||
(missing)
|
||
(missing)
|
||
(missing)
|
||
Re: Display, graphic, or printable characters? Lassi Kortela (12 Nov 2019 11:53 UTC)
|
||
Re: Display, graphic, or printable characters?
John Cowan
(12 Nov 2019 17:13 UTC)
|
||
Re: Display, graphic, or printable characters?
Lassi Kortela
(18 Nov 2019 19:46 UTC)
|
||
Re: Display, graphic, or printable characters?
Lassi Kortela
(22 Nov 2019 12:56 UTC)
|
||
Re: Display, graphic, or printable characters?
Lassi Kortela
(22 Nov 2019 13:18 UTC)
|
||
Re: Display, graphic, or printable characters?
Lassi Kortela
(22 Nov 2019 13:20 UTC)
|
||
Re: Display, graphic, or printable characters?
Lassi Kortela
(11 Nov 2019 23:34 UTC)
|
>>>>> A character is "graphic" if it takes up room on the display surface: thus a >>>>> letter, number, punctuation mark, symbol, combining character (none in >>>>> ASCII), or any of Unicode's various space separator characters. It is >>>>> "printable" if it also leaves ink on the display surface, which excludes >>>>> the last group. (Unicode does not define "printable", but ISO C and C++ >>>>> do.) >>>> >>>> Based on BSD manual pages, isprint() is like isgraph() but also includes >>>> the space character. isprint() does not include tab or newline. >>> >>> Right. Those move you around on the display surface as opposed to >>> occupying it. >> >> I guess the distinction is somewhat moot nowadays on video displays, and >> especially in GUIs. A tab's width is still N characters' width. >> >> The BSD graphic vs printable distinction is also swapped from your >> explanation. > > Yes, sorry to confuse things further. Printable includes space characters, > graphic excludes them. I checked more carefully this time. No problem. Which name would you recommend for SRFI 175; will you be using some of this terminology for Unicode procedures in R7RS-large? I like the symmetry of "display" with Scheme's "display", and dislike proliferating the word "print" for things that don't have anything to do with paper printing / 3D printing (which is what laypeople think it is). Then again, a procedure that checks for graphic characters _and_ space is probably more useful than one that checks only for graphic chars. Space is the only ASCII whitespace character that is "trivial to handle" display-wise. Tab and newline bring small surprises; form feed and vertical tab are just weird nowadays. By using the word "display" we can weasel our way out of the "print"/"printable" terminology and be more Scheme-like, but if you're adding something like "char-graphic?" to -large, we'll have extra terminology. Common Lisp has `graphic-char-p` as standard; it doesn't have `printable-char-p`. Common Lisp also uses the term "graphic character" in the way that you and BSD use "printable character": graphic adj. (of a character) being a ``printing'' or ``displayable'' character that has a standard visual representation as a single glyph, such as A or * or =. Space is defined to be graphic. Of the standard characters, all but newline are graphic. See non-graphic. <http://clhs.lisp.se/Body/26_glo_g.htm#graphic> "Cache invalidation and naming things."