IRC Colors (or mIRC Colors) is a light-weight sub-protocol designed to added support for various text formatting to IRC. The protocol usually supports foreground, background, bold, italics, underline, and reverse.
Overview
Text formatting is done via a set of special character sequences that are parsed by the IRC client. Every new text format starts with one of the formatting control character. The same control character can be used at the end of the format in order to terminate it. The caret notation is used to represent such characters. For example, the ^B character is used to specify bold text. ^BHello World^B
will display on supported IRC client as Hello World
Format characters
Most clients support at least bold and underline. Below are the common shortcuts for those characters:
Format | Code point | Shortcuts | Example |
---|---|---|---|
Bold | 0x02 | Ctrl+B / ⌘ Cmd+B | ^BAA^BBB^BCC^BDD = AABBCCDD
|
Italics | 0x1D | Ctrl+I / ⌥ Opt+⌘ Cmd+I | ^IAA^IBB^ICC^IDD = AABBCCDD
|
Underline | 0x1F | Ctrl+U / ⌥ Opt+⌘ Cmd+U | ^UAA^UBB^UCC^UDD = AABBCCDD
|
Reverse | 0x16 | Ctrl+R / ⌥ Opt+⌘ Cmd+R | ^RAA^RBB^RCC^RDD = AABBCCDD
|
Plain | 0x0F | Ctrl+O / ⌥ Opt+⌘ Cmd+O | ^I^B^UAAA^OBBB = AAABBB
|
The plain text character is used to restore all formatting back to default.
Color formatting
The sub-protocol supports both background and foreground coloring via the 0x03 code point. On most IRC client, the character can be generated via the Ctrl+K shortcut key. The syntax for coloring text is ^KN
for just foreground color or ^KN,M
for a background color as well. Where N and M represent any integer between 0 and 15 inclusively, allowing up to sixteen colors. ^K
alone can be used to terminate the previous sequence of colored text.
While most client allow the user to change the meaning of those values, the default values are:
Value | Name | RGB | HTML |
---|---|---|---|
0 | While | 255,255,255 | #FFFFFF |
1 | Black | 0,0,0 | #000000 |
2 | Navy | 0,0,127 | #00007F |
3 | Green | 0,147,0 | #009300 |
4 | Red | 255,0,0 | #FF0000 |
5 | Maroon | 127,0,0 | #7F0000 |
6 | Purple | 156,0,156 | #9C009C |
7 | Olive | 252,127,0 | #FC7F00 |
8 | Yellow | 255,255,0 | #FFFF00 |
9 | Light Green | 0,252,0 | #00FC00 |
10 | Teal | 0,147,147 | #009393 |
11 | Cyan | 0,255,255 | #00FFFF |
12 | Royal blue | 0,0,252 | #0000FC |
13 | Magenta | 255,0,255 | #FF00FF |
14 | Gray | 127,127,127 | #7F7F7F |
15 | Light Gray | 210,210,210 | #D2D2D2 |
Any new sequence of colors will override the previous (or default). If the ^K character is used without any numbers, it will reset the text format back to default. If a color sequence defines a background color and a new color sequence starts without a background color, the previous background color will be used. For example ^K0,1Hello ^4There!
will generate the Hello There!
Using the ^K character as a color terminator will not terminate any other king of formatting such as bold. For example ^B^K0,1Hello ^KThere!
will generate Hello There!
where the bold continues on to the rest of the line. Using the ^O key, however, will restore all formats to default from that point onward.