package net.sourceforge.pain.network.console.telnet; /** */ public class AnsiColor { /** java.awt.Color is too expensive to be used here*/ /** Color numbers it's mapping for the different terminal types */ public static final int COLOR_CLEAR = -1; public static final int COLOR_BLACK = 0; public static final int COLOR_RED = 1; public static final int COLOR_GREEN = 2; public static final int COLOR_YELLOW = 3; public static final int COLOR_BLUE = 4; public static final int COLOR_MAGENTA = 5; public static final int COLOR_CYAN = 6; public static final int COLOR_WHITE = 7; /** brighter colors */ public static final int COLOR_DARK_GREY = 8; public static final int COLOR_BRIGHT_RED = 9; public static final int COLOR_BRIGHT_GREEN = 10; public static final int COLOR_BRIGHT_YELLOW = 11; public static final int COLOR_BRIGHT_BLUE = 12; public static final int COLOR_BRIGHT_MAGENTA = 13; public static final int COLOR_BRIGHT_CYAN = 14; public static final int COLOR_BRIGHT_WHITE = 15; // special public static final int COLOR_BEEP = 16; public static int toColor(char c) { int color = COLOR_CLEAR; switch (c) { /* normal colors */ case 'd': case '0': color = COLOR_BLACK; break; case 'r': case '1': color = COLOR_RED; break; case 'g': case '2': color = COLOR_GREEN; break; case 'y': case '3': color = COLOR_YELLOW; break; case 'b': case '4': color = COLOR_BLUE; break; case 'm': case '5': color = COLOR_MAGENTA; break; case 'c': case '6': color = COLOR_CYAN; break; case 'w': case '7': color = COLOR_WHITE; break; /* light colors */ case 'D': case '8': case ')': color = COLOR_DARK_GREY; break; case 'R': case '!': color = COLOR_BRIGHT_RED; break; case 'G': case '@': color = COLOR_BRIGHT_GREEN; break; case 'Y': case '#': color = COLOR_BRIGHT_YELLOW; break; case 'B': // case '$': color = COLOR_BRIGHT_BLUE; break; case 'M': case '%': color = COLOR_BRIGHT_MAGENTA; break; case 'C': case '^': color = COLOR_BRIGHT_CYAN; break; case 'W': case '&': color = COLOR_BRIGHT_WHITE; break; /* special colors */ case 'x': color = COLOR_CLEAR; break; case '*': color = COLOR_BEEP; break; } return color; } }