[Glean] ANSI Escape Codes
ANSI Escape Codes
We can use printf("\033[XXX ") to beautify our c++ log info.
e.g.,
printf("\033[1;33m Hello World. \033[0m \n");
// \033 [ (1;) 33 m xxxx \033[0m
// | | | | | |
// ESC bg color font color end your char reset
\033 represents Esc in ANSI Escape Code.
ANSI Control Code
ANSI escape sequences are a standard for in-band signaling to control the cursor location, color, and other options on video text terminals and terminal emulators.1
| Code | Effect | Note |
|---|---|---|
| 0 | Reset / Normal | All attributes off |
| 1 | Bold or increased intensity | As with faint, the color change is a PC (SCO / CGA) invention.[33][better source needed] |
| 2 | Faint or decreased intensity | aka Dim (with a saturated color). May be implemented as a light font weight like bold.[34] |
| 3 | Italic | Not widely supported. Sometimes treated as inverse or blink.[33] |
| 4 | Underline | Style extensions exist for Kitty, VTE, mintty and iTerm2.[35][36] |
| 5 | Slow Blink | less than 150 per minute |
| 6 | Rapid Blink | MS-DOS ANSI.SYS, 150+ per minute; not widely supported |
| 7 | Reverse video | swap foreground and background colors, aka invert; inconsistent emulation[37] |
| 8 | Conceal | aka Hide, not widely supported. |
| 9 | Crossed-out | aka Strike, characters legible but marked as if for deletion. |
| 10 | Primary (default) font | |
| 11–19 | Alternative font | Select alternative font n − 10 |
| 20 | Fraktur | Rarely supported |
| 21 | Doubly underline or Bold off | Double-underline per ECMA-48.[5]:8.3.117 See discussion |
| 22 | Normal color or intensity | Neither bold nor faint |
| 23 | Not italic, not Fraktur | |
| 24 | Underline off | Not singly or doubly underlined |
| 25 | Blink off | |
| 26 | Proportional spacing | ITU T.61 and T.416, not known to be used on terminals |
| 27 | Reverse/invert off | |
| 28 | Reveal | conceal off |
| 29 | Not crossed out | |
| 30–37 | Set foreground color | See color table below |
| 38 | Set foreground color | Next arguments are 5;n or 2;r;g;b, see below |
| 39 | Default foreground color | implementation defined (according to standard) |
| 40–47 | Set background color | See color table below |
| 48 | Set background color | Next arguments are 5;n or 2;r;g;b, see below |
| 49 | Default background color | implementation defined (according to standard) |
| 50 | Disable proportional spacing | T.61 and T.416 |
| 51 | Framed | |
| 52 | Encircled | Implemented as "emoji variation selector" in mintty.[38] |
| 53 | Overlined | |
| 54 | Not framed or encircled | |
| 55 | Not overlined | |
| 58 | Set underline color | Kitty, VTE, mintty, and iTerm2. (not in standard)[35][36] Next arguments are 5;n or 2;r;g;b, see below |
| 59 | Default underline color | Kitty, VTE, mintty, and iTerm2. (not in standard)[35][36] |
| 60 | ideogram underline or right side line | Rarely supported |
| 61 | ideogram double underline or double line on the right side | |
| 62 | ideogram overline or left side line | |
| 63 | ideogram double overline or double line on the left side | |
| 64 | ideogram stress marking | |
| 65 | ideogram attributes off | reset the effects of all of 60–64 |
| 73 | superscript | mintty (not in standard)[38] |
| 74 | subscript | |
| 90–97 | Set bright foreground color | aixterm (not in standard) |
| 100–107 | Set bright background color |
Colours: 30-49, 90-109.

-
ANSI escape code. https://en.wikipedia.org/wiki/ANSI_escape_code ↩