From WikiChip
irc/colors
Revision as of 18:10, 10 May 2014 by 65.78.114.251 (talk) (Color formatting)

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.