#define CSI "\x1B\x5B"
main(){
printf("%s1;31m This is color text %s0m\n",CSI,CSI);
}
shell:
red text:
printf "\x1b\x5b1;31m Ignoring callcatcher \x1b\x5b0m\n";
green text:
printf "\x1b\x5b2;31m Ignoring callcatcher \x1b\x5b0m\n";
Details:
\x1B is Escape Char, \x5B is '['. They form the control string indicator.
1;31 are two commands
1 means bold color
31-37 are the colors
m: set display attributes command
0m: reset to normal display
color code list:
Black 0;30 Dark Gray 1;30 Red 0;31 Bold Red 1;31 Green 0;32 Bold Green 1;32 Yellow 0;33 Bold Yellow 1;33 Blue 0;34 Bold Blue 1;34 Purple 0;35 Bold Purple 1;35 Cyan 0;36 Bold Cyan 1;36 Light Gray 0;37 White 1;37 Other commands (from Wikipedia)
| Code | Effect | Note |
|---|---|---|
| 0 | Reset / Normal | all attributes off |
| 1 | Bright (increased intensity) or Bold | |
| 2 | Faint (decreased intensity) | not widely supported |
| 3 | Italic: on | not widely supported. Sometimes treated as inverse. |
| 4 | Underline: Single | |
| 5 | Blink: Slow | less than 150 per minute |
| 6 | Blink: Rapid | MS-DOS ANSI.SYS; 150 per minute or more |
| 7 | Image: Negative | inverse or reverse; swap foreground and background |
| 8 | Conceal | not widely supported |
| 9 | Crossed-out | Characters legible, but marked for deletion. |
| 10 | Primary(default) font | |
| 11-19 | n-th alternate font | Select the n-th alternate font. 14 being the fourth alternate font, up to 19 being the 9th alternate font. |
| 20 | Fraktur | |
| 21 | Underline: Double | not widely supported |
| 22 | Normal color or intensity | neither bright, bold nor faint |
| 23 | Not italic, not Fraktur | |
| 24 | Underline: None | not singly or doubly underlined |
| 25 | Blink: off | |
| 26 | Reserved | |
| 27 | Image: Positive | |
| 28 | Reveal | conceal off |
| 29 | Not crossed out | |
| 30–37 | Set text color | 3x, where x is from the color table below |
| 38 | Reserved | |
| 39 | Default text color | implementation defined (according to standard) |
| 40–47 | Set background color | 4x, where x is from the color table below |
| 48 | Reserved | |
| 49 | Default background color | implementation defined (according to standard) |
| 50 | Reserved | |
| 51 | Framed | |
| 52 | Encircled | |
| 53 | Overlined | |
| 54 | Not framed or encircled | |
| 55 | Not overlined | |
| 56-59 | Reserved | |
| 60 | ideogram underline or right side line | |
| 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 | |
| 90–99 | Set foreground color, high intensity | aixterm (not in standard) |
| 100–109 | Set background color, high intensity | aixterm (not in standard) |
No comments:
Post a Comment