Although EPIC is a text-based irc client, it still has many ways of marking text such that it stands out from the rest. The simplest kinds of text highlighting are boldface, underline, and reverse video. They work simply by surrounding the desired text with the appropriate control characters:
Char | Input | Name | Description |
---|---|---|---|
^B | B | BOLD | toggles boldfacing on/off |
^C | C | COLOR | begins a color code sequence |
^E | E | ALT_CHAR | toggles alternate character set on/off |
^F | F | BLINK | toggles blinking video on/off |
^S | S | ND_SPACE | inserts a non-destructive space |
^V | V | REVERSE | toggles reverse video on/off |
^_ | _ | UNDERLINE | toggles underlining on/off |
^O | O | ALL_OFF | turns off all highlighting |
The “char” is the default keybinding for the desired effect; ^B means control-b, etc. The “input” is how the character appears if typed on the input line. The “name” is how the effect is referred to with set mangle_display and set mangle_logfiles and so on. You can suppress the effect by including it in the set value.
All highlight characters, including color, are always guaranteed to be cumulative. In older versions, turning certain highlight characters on or off might (or might not) turn off other highlight characters, in unpredictable ways. EPIC5 guarantees cumulative behavior.
BOLD + COLOR | The foreground color is made “bright” |
REVERSE + COLOR | Foreground color and background color are swapped |
BLINK + COLOR | The background color is made “bright” |
However, although EPIC supports this, not all terminal emulators do. No, really. If your terminal emulator doesn't show bold/reverse/blink along with colors, check with another emulator before deciding EPIC is behaving wrongly.
For legacy reasons, EPIC also supports the use of ANSI escape sequences. Historically, this was used by preformatted “ascii art”. A description of ascii art is beyond the scope of this document. If set mangle_display contains NORMALIZE (and it does by default), ansi escape sequences are converted into things that are supported by EPIC, or stripped out if they are not supported by EPIC.
The color code character control-C is followed by one or two comma-separated numbers. The first number sets the text color. The second number, if any, sets the background color. None of the other characters take an argument.
All color numbers are converted into a canonical color number 0 to 7, and unconditionally turn bold (for fg colors) and blink (for bg colors) on or off.
Canonical Color | Color Name |
---|---|
0 | Black |
1 | Red |
2 | Green |
3 | Yellow |
4 | Blue |
5 | Magenta |
6 | Cyan |
7 | White |
Code | Canonical Color | Bold/Blink |
---|---|---|
0 | 7 | Yes |
1 | 0 | No |
2 | 4 | No |
3 | 2 | No |
4 | 1 | Yes |
5 | 1 | No |
6 | 5 | No |
7 | 3 | No |
8 | 3 | Yes |
9 | 2 | Yes |
10 | 6 | No |
11 | 6 | Yes |
12 | 4 | Yes |
13 | 5 | Yes |
14 | 0 | Yes |
15 | 7 | No |
16 | 7 | Yes |
30 | 0 (fg only) | No |
31 | 1 (fg only) | No |
32 | 2 (fg only) | No |
33 | 3 (fg only) | No |
34 | 4 (fg only) | No |
35 | 5 (fg only) | No |
36 | 6 (fg only) | No |
37 | 7 (fg only) | No |
40 | 0 (bg only) | No |
41 | 1 (bg only) | No |
42 | 2 (bg only) | No |
43 | 3 (bg only) | No |
44 | 4 (bg only) | No |
45 | 5 (bg only) | No |
46 | 6 (bg only) | No |
47 | 7 (bg only) | No |
50 | 0 | Yes |
51 | 1 | Yes |
52 | 2 | Yes |
53 | 3 | Yes |
54 | 4 | Yes |
55 | 5 | Yes |
56 | 6 | Yes |
57 | 7 | Yes |
It is important to note that if you want to set the background color but leave the foreground color alone, you omit the foreground color:
^C,47 (set the background to white)