home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 6 / AACD06.ISO / AACD / System / Mesa-3.1 / src / AOS / palettes / error.c < prev    next >
Text File  |  1999-06-30  |  52KB  |  2,087 lines

  1. /*
  2.  * this maps the error of the red/green/blue components
  3.  * in 1:1:1 to the sum
  4.  * the size of the array is -256 -> 255
  5.  * the operation is a simple abs(number)
  6.  *
  7.  * good for anything (standard match)
  8.  */
  9. static const GLshort error111[ERROR_RANGE][4] = {                        /* make it aligned, red = 0(error, result*8), green = 2(error, result*8), blue = 4(error, result*8) */
  10.   {0x0100,0x0100,0x0100},
  11.   {0x00ff,0x00ff,0x00ff},
  12.   {0x00fe,0x00fe,0x00fe},
  13.   {0x00fd,0x00fd,0x00fd},
  14.   {0x00fc,0x00fc,0x00fc},
  15.   {0x00fb,0x00fb,0x00fb},
  16.   {0x00fa,0x00fa,0x00fa},
  17.   {0x00f9,0x00f9,0x00f9},
  18.   {0x00f8,0x00f8,0x00f8},
  19.   {0x00f7,0x00f7,0x00f7},
  20.   {0x00f6,0x00f6,0x00f6},
  21.   {0x00f5,0x00f5,0x00f5},
  22.   {0x00f4,0x00f4,0x00f4},
  23.   {0x00f3,0x00f3,0x00f3},
  24.   {0x00f2,0x00f2,0x00f2},
  25.   {0x00f1,0x00f1,0x00f1},
  26.   {0x00f0,0x00f0,0x00f0},
  27.   {0x00ef,0x00ef,0x00ef},
  28.   {0x00ee,0x00ee,0x00ee},
  29.   {0x00ed,0x00ed,0x00ed},
  30.   {0x00ec,0x00ec,0x00ec},
  31.   {0x00eb,0x00eb,0x00eb},
  32.   {0x00ea,0x00ea,0x00ea},
  33.   {0x00e9,0x00e9,0x00e9},
  34.   {0x00e8,0x00e8,0x00e8},
  35.   {0x00e7,0x00e7,0x00e7},
  36.   {0x00e6,0x00e6,0x00e6},
  37.   {0x00e5,0x00e5,0x00e5},
  38.   {0x00e4,0x00e4,0x00e4},
  39.   {0x00e3,0x00e3,0x00e3},
  40.   {0x00e2,0x00e2,0x00e2},
  41.   {0x00e1,0x00e1,0x00e1},
  42.   {0x00e0,0x00e0,0x00e0},
  43.   {0x00df,0x00df,0x00df},
  44.   {0x00de,0x00de,0x00de},
  45.   {0x00dd,0x00dd,0x00dd},
  46.   {0x00dc,0x00dc,0x00dc},
  47.   {0x00db,0x00db,0x00db},
  48.   {0x00da,0x00da,0x00da},
  49.   {0x00d9,0x00d9,0x00d9},
  50.   {0x00d8,0x00d8,0x00d8},
  51.   {0x00d7,0x00d7,0x00d7},
  52.   {0x00d6,0x00d6,0x00d6},
  53.   {0x00d5,0x00d5,0x00d5},
  54.   {0x00d4,0x00d4,0x00d4},
  55.   {0x00d3,0x00d3,0x00d3},
  56.   {0x00d2,0x00d2,0x00d2},
  57.   {0x00d1,0x00d1,0x00d1},
  58.   {0x00d0,0x00d0,0x00d0},
  59.   {0x00cf,0x00cf,0x00cf},
  60.   {0x00ce,0x00ce,0x00ce},
  61.   {0x00cd,0x00cd,0x00cd},
  62.   {0x00cc,0x00cc,0x00cc},
  63.   {0x00cb,0x00cb,0x00cb},
  64.   {0x00ca,0x00ca,0x00ca},
  65.   {0x00c9,0x00c9,0x00c9},
  66.   {0x00c8,0x00c8,0x00c8},
  67.   {0x00c7,0x00c7,0x00c7},
  68.   {0x00c6,0x00c6,0x00c6},
  69.   {0x00c5,0x00c5,0x00c5},
  70.   {0x00c4,0x00c4,0x00c4},
  71.   {0x00c3,0x00c3,0x00c3},
  72.   {0x00c2,0x00c2,0x00c2},
  73.   {0x00c1,0x00c1,0x00c1},
  74.   {0x00c0,0x00c0,0x00c0},
  75.   {0x00bf,0x00bf,0x00bf},
  76.   {0x00be,0x00be,0x00be},
  77.   {0x00bd,0x00bd,0x00bd},
  78.   {0x00bc,0x00bc,0x00bc},
  79.   {0x00bb,0x00bb,0x00bb},
  80.   {0x00ba,0x00ba,0x00ba},
  81.   {0x00b9,0x00b9,0x00b9},
  82.   {0x00b8,0x00b8,0x00b8},
  83.   {0x00b7,0x00b7,0x00b7},
  84.   {0x00b6,0x00b6,0x00b6},
  85.   {0x00b5,0x00b5,0x00b5},
  86.   {0x00b4,0x00b4,0x00b4},
  87.   {0x00b3,0x00b3,0x00b3},
  88.   {0x00b2,0x00b2,0x00b2},
  89.   {0x00b1,0x00b1,0x00b1},
  90.   {0x00b0,0x00b0,0x00b0},
  91.   {0x00af,0x00af,0x00af},
  92.   {0x00ae,0x00ae,0x00ae},
  93.   {0x00ad,0x00ad,0x00ad},
  94.   {0x00ac,0x00ac,0x00ac},
  95.   {0x00ab,0x00ab,0x00ab},
  96.   {0x00aa,0x00aa,0x00aa},
  97.   {0x00a9,0x00a9,0x00a9},
  98.   {0x00a8,0x00a8,0x00a8},
  99.   {0x00a7,0x00a7,0x00a7},
  100.   {0x00a6,0x00a6,0x00a6},
  101.   {0x00a5,0x00a5,0x00a5},
  102.   {0x00a4,0x00a4,0x00a4},
  103.   {0x00a3,0x00a3,0x00a3},
  104.   {0x00a2,0x00a2,0x00a2},
  105.   {0x00a1,0x00a1,0x00a1},
  106.   {0x00a0,0x00a0,0x00a0},
  107.   {0x009f,0x009f,0x009f},
  108.   {0x009e,0x009e,0x009e},
  109.   {0x009d,0x009d,0x009d},
  110.   {0x009c,0x009c,0x009c},
  111.   {0x009b,0x009b,0x009b},
  112.   {0x009a,0x009a,0x009a},
  113.   {0x0099,0x0099,0x0099},
  114.   {0x0098,0x0098,0x0098},
  115.   {0x0097,0x0097,0x0097},
  116.   {0x0096,0x0096,0x0096},
  117.   {0x0095,0x0095,0x0095},
  118.   {0x0094,0x0094,0x0094},
  119.   {0x0093,0x0093,0x0093},
  120.   {0x0092,0x0092,0x0092},
  121.   {0x0091,0x0091,0x0091},
  122.   {0x0090,0x0090,0x0090},
  123.   {0x008f,0x008f,0x008f},
  124.   {0x008e,0x008e,0x008e},
  125.   {0x008d,0x008d,0x008d},
  126.   {0x008c,0x008c,0x008c},
  127.   {0x008b,0x008b,0x008b},
  128.   {0x008a,0x008a,0x008a},
  129.   {0x0089,0x0089,0x0089},
  130.   {0x0088,0x0088,0x0088},
  131.   {0x0087,0x0087,0x0087},
  132.   {0x0086,0x0086,0x0086},
  133.   {0x0085,0x0085,0x0085},
  134.   {0x0084,0x0084,0x0084},
  135.   {0x0083,0x0083,0x0083},
  136.   {0x0082,0x0082,0x0082},
  137.   {0x0081,0x0081,0x0081},
  138.   {0x0080,0x0080,0x0080},
  139.   {0x007f,0x007f,0x007f},
  140.   {0x007e,0x007e,0x007e},
  141.   {0x007d,0x007d,0x007d},
  142.   {0x007c,0x007c,0x007c},
  143.   {0x007b,0x007b,0x007b},
  144.   {0x007a,0x007a,0x007a},
  145.   {0x0079,0x0079,0x0079},
  146.   {0x0078,0x0078,0x0078},
  147.   {0x0077,0x0077,0x0077},
  148.   {0x0076,0x0076,0x0076},
  149.   {0x0075,0x0075,0x0075},
  150.   {0x0074,0x0074,0x0074},
  151.   {0x0073,0x0073,0x0073},
  152.   {0x0072,0x0072,0x0072},
  153.   {0x0071,0x0071,0x0071},
  154.   {0x0070,0x0070,0x0070},
  155.   {0x006f,0x006f,0x006f},
  156.   {0x006e,0x006e,0x006e},
  157.   {0x006d,0x006d,0x006d},
  158.   {0x006c,0x006c,0x006c},
  159.   {0x006b,0x006b,0x006b},
  160.   {0x006a,0x006a,0x006a},
  161.   {0x0069,0x0069,0x0069},
  162.   {0x0068,0x0068,0x0068},
  163.   {0x0067,0x0067,0x0067},
  164.   {0x0066,0x0066,0x0066},
  165.   {0x0065,0x0065,0x0065},
  166.   {0x0064,0x0064,0x0064},
  167.   {0x0063,0x0063,0x0063},
  168.   {0x0062,0x0062,0x0062},
  169.   {0x0061,0x0061,0x0061},
  170.   {0x0060,0x0060,0x0060},
  171.   {0x005f,0x005f,0x005f},
  172.   {0x005e,0x005e,0x005e},
  173.   {0x005d,0x005d,0x005d},
  174.   {0x005c,0x005c,0x005c},
  175.   {0x005b,0x005b,0x005b},
  176.   {0x005a,0x005a,0x005a},
  177.   {0x0059,0x0059,0x0059},
  178.   {0x0058,0x0058,0x0058},
  179.   {0x0057,0x0057,0x0057},
  180.   {0x0056,0x0056,0x0056},
  181.   {0x0055,0x0055,0x0055},
  182.   {0x0054,0x0054,0x0054},
  183.   {0x0053,0x0053,0x0053},
  184.   {0x0052,0x0052,0x0052},
  185.   {0x0051,0x0051,0x0051},
  186.   {0x0050,0x0050,0x0050},
  187.   {0x004f,0x004f,0x004f},
  188.   {0x004e,0x004e,0x004e},
  189.   {0x004d,0x004d,0x004d},
  190.   {0x004c,0x004c,0x004c},
  191.   {0x004b,0x004b,0x004b},
  192.   {0x004a,0x004a,0x004a},
  193.   {0x0049,0x0049,0x0049},
  194.   {0x0048,0x0048,0x0048},
  195.   {0x0047,0x0047,0x0047},
  196.   {0x0046,0x0046,0x0046},
  197.   {0x0045,0x0045,0x0045},
  198.   {0x0044,0x0044,0x0044},
  199.   {0x0043,0x0043,0x0043},
  200.   {0x0042,0x0042,0x0042},
  201.   {0x0041,0x0041,0x0041},
  202.   {0x0040,0x0040,0x0040},
  203.   {0x003f,0x003f,0x003f},
  204.   {0x003e,0x003e,0x003e},
  205.   {0x003d,0x003d,0x003d},
  206.   {0x003c,0x003c,0x003c},
  207.   {0x003b,0x003b,0x003b},
  208.   {0x003a,0x003a,0x003a},
  209.   {0x0039,0x0039,0x0039},
  210.   {0x0038,0x0038,0x0038},
  211.   {0x0037,0x0037,0x0037},
  212.   {0x0036,0x0036,0x0036},
  213.   {0x0035,0x0035,0x0035},
  214.   {0x0034,0x0034,0x0034},
  215.   {0x0033,0x0033,0x0033},
  216.   {0x0032,0x0032,0x0032},
  217.   {0x0031,0x0031,0x0031},
  218.   {0x0030,0x0030,0x0030},
  219.   {0x002f,0x002f,0x002f},
  220.   {0x002e,0x002e,0x002e},
  221.   {0x002d,0x002d,0x002d},
  222.   {0x002c,0x002c,0x002c},
  223.   {0x002b,0x002b,0x002b},
  224.   {0x002a,0x002a,0x002a},
  225.   {0x0029,0x0029,0x0029},
  226.   {0x0028,0x0028,0x0028},
  227.   {0x0027,0x0027,0x0027},
  228.   {0x0026,0x0026,0x0026},
  229.   {0x0025,0x0025,0x0025},
  230.   {0x0024,0x0024,0x0024},
  231.   {0x0023,0x0023,0x0023},
  232.   {0x0022,0x0022,0x0022},
  233.   {0x0021,0x0021,0x0021},
  234.   {0x0020,0x0020,0x0020},
  235.   {0x001f,0x001f,0x001f},
  236.   {0x001e,0x001e,0x001e},
  237.   {0x001d,0x001d,0x001d},
  238.   {0x001c,0x001c,0x001c},
  239.   {0x001b,0x001b,0x001b},
  240.   {0x001a,0x001a,0x001a},
  241.   {0x0019,0x0019,0x0019},
  242.   {0x0018,0x0018,0x0018},
  243.   {0x0017,0x0017,0x0017},
  244.   {0x0016,0x0016,0x0016},
  245.   {0x0015,0x0015,0x0015},
  246.   {0x0014,0x0014,0x0014},
  247.   {0x0013,0x0013,0x0013},
  248.   {0x0012,0x0012,0x0012},
  249.   {0x0011,0x0011,0x0011},
  250.   {0x0010,0x0010,0x0010},
  251.   {0x000f,0x000f,0x000f},
  252.   {0x000e,0x000e,0x000e},
  253.   {0x000d,0x000d,0x000d},
  254.   {0x000c,0x000c,0x000c},
  255.   {0x000b,0x000b,0x000b},
  256.   {0x000a,0x000a,0x000a},
  257.   {0x0009,0x0009,0x0009},
  258.   {0x0008,0x0008,0x0008},
  259.   {0x0007,0x0007,0x0007},
  260.   {0x0006,0x0006,0x0006},
  261.   {0x0005,0x0005,0x0005},
  262.   {0x0004,0x0004,0x0004},
  263.   {0x0003,0x0003,0x0003},
  264.   {0x0002,0x0002,0x0002},
  265.   {0x0001,0x0001,0x0001},
  266.   {0x0000,0x0000,0x0000},
  267.   {0x0001,0x0001,0x0001},
  268.   {0x0002,0x0002,0x0002},
  269.   {0x0003,0x0003,0x0003},
  270.   {0x0004,0x0004,0x0004},
  271.   {0x0005,0x0005,0x0005},
  272.   {0x0006,0x0006,0x0006},
  273.   {0x0007,0x0007,0x0007},
  274.   {0x0008,0x0008,0x0008},
  275.   {0x0009,0x0009,0x0009},
  276.   {0x000a,0x000a,0x000a},
  277.   {0x000b,0x000b,0x000b},
  278.   {0x000c,0x000c,0x000c},
  279.   {0x000d,0x000d,0x000d},
  280.   {0x000e,0x000e,0x000e},
  281.   {0x000f,0x000f,0x000f},
  282.   {0x0010,0x0010,0x0010},
  283.   {0x0011,0x0011,0x0011},
  284.   {0x0012,0x0012,0x0012},
  285.   {0x0013,0x0013,0x0013},
  286.   {0x0014,0x0014,0x0014},
  287.   {0x0015,0x0015,0x0015},
  288.   {0x0016,0x0016,0x0016},
  289.   {0x0017,0x0017,0x0017},
  290.   {0x0018,0x0018,0x0018},
  291.   {0x0019,0x0019,0x0019},
  292.   {0x001a,0x001a,0x001a},
  293.   {0x001b,0x001b,0x001b},
  294.   {0x001c,0x001c,0x001c},
  295.   {0x001d,0x001d,0x001d},
  296.   {0x001e,0x001e,0x001e},
  297.   {0x001f,0x001f,0x001f},
  298.   {0x0020,0x0020,0x0020},
  299.   {0x0021,0x0021,0x0021},
  300.   {0x0022,0x0022,0x0022},
  301.   {0x0023,0x0023,0x0023},
  302.   {0x0024,0x0024,0x0024},
  303.   {0x0025,0x0025,0x0025},
  304.   {0x0026,0x0026,0x0026},
  305.   {0x0027,0x0027,0x0027},
  306.   {0x0028,0x0028,0x0028},
  307.   {0x0029,0x0029,0x0029},
  308.   {0x002a,0x002a,0x002a},
  309.   {0x002b,0x002b,0x002b},
  310.   {0x002c,0x002c,0x002c},
  311.   {0x002d,0x002d,0x002d},
  312.   {0x002e,0x002e,0x002e},
  313.   {0x002f,0x002f,0x002f},
  314.   {0x0030,0x0030,0x0030},
  315.   {0x0031,0x0031,0x0031},
  316.   {0x0032,0x0032,0x0032},
  317.   {0x0033,0x0033,0x0033},
  318.   {0x0034,0x0034,0x0034},
  319.   {0x0035,0x0035,0x0035},
  320.   {0x0036,0x0036,0x0036},
  321.   {0x0037,0x0037,0x0037},
  322.   {0x0038,0x0038,0x0038},
  323.   {0x0039,0x0039,0x0039},
  324.   {0x003a,0x003a,0x003a},
  325.   {0x003b,0x003b,0x003b},
  326.   {0x003c,0x003c,0x003c},
  327.   {0x003d,0x003d,0x003d},
  328.   {0x003e,0x003e,0x003e},
  329.   {0x003f,0x003f,0x003f},
  330.   {0x0040,0x0040,0x0040},
  331.   {0x0041,0x0041,0x0041},
  332.   {0x0042,0x0042,0x0042},
  333.   {0x0043,0x0043,0x0043},
  334.   {0x0044,0x0044,0x0044},
  335.   {0x0045,0x0045,0x0045},
  336.   {0x0046,0x0046,0x0046},
  337.   {0x0047,0x0047,0x0047},
  338.   {0x0048,0x0048,0x0048},
  339.   {0x0049,0x0049,0x0049},
  340.   {0x004a,0x004a,0x004a},
  341.   {0x004b,0x004b,0x004b},
  342.   {0x004c,0x004c,0x004c},
  343.   {0x004d,0x004d,0x004d},
  344.   {0x004e,0x004e,0x004e},
  345.   {0x004f,0x004f,0x004f},
  346.   {0x0050,0x0050,0x0050},
  347.   {0x0051,0x0051,0x0051},
  348.   {0x0052,0x0052,0x0052},
  349.   {0x0053,0x0053,0x0053},
  350.   {0x0054,0x0054,0x0054},
  351.   {0x0055,0x0055,0x0055},
  352.   {0x0056,0x0056,0x0056},
  353.   {0x0057,0x0057,0x0057},
  354.   {0x0058,0x0058,0x0058},
  355.   {0x0059,0x0059,0x0059},
  356.   {0x005a,0x005a,0x005a},
  357.   {0x005b,0x005b,0x005b},
  358.   {0x005c,0x005c,0x005c},
  359.   {0x005d,0x005d,0x005d},
  360.   {0x005e,0x005e,0x005e},
  361.   {0x005f,0x005f,0x005f},
  362.   {0x0060,0x0060,0x0060},
  363.   {0x0061,0x0061,0x0061},
  364.   {0x0062,0x0062,0x0062},
  365.   {0x0063,0x0063,0x0063},
  366.   {0x0064,0x0064,0x0064},
  367.   {0x0065,0x0065,0x0065},
  368.   {0x0066,0x0066,0x0066},
  369.   {0x0067,0x0067,0x0067},
  370.   {0x0068,0x0068,0x0068},
  371.   {0x0069,0x0069,0x0069},
  372.   {0x006a,0x006a,0x006a},
  373.   {0x006b,0x006b,0x006b},
  374.   {0x006c,0x006c,0x006c},
  375.   {0x006d,0x006d,0x006d},
  376.   {0x006e,0x006e,0x006e},
  377.   {0x006f,0x006f,0x006f},
  378.   {0x0070,0x0070,0x0070},
  379.   {0x0071,0x0071,0x0071},
  380.   {0x0072,0x0072,0x0072},
  381.   {0x0073,0x0073,0x0073},
  382.   {0x0074,0x0074,0x0074},
  383.   {0x0075,0x0075,0x0075},
  384.   {0x0076,0x0076,0x0076},
  385.   {0x0077,0x0077,0x0077},
  386.   {0x0078,0x0078,0x0078},
  387.   {0x0079,0x0079,0x0079},
  388.   {0x007a,0x007a,0x007a},
  389.   {0x007b,0x007b,0x007b},
  390.   {0x007c,0x007c,0x007c},
  391.   {0x007d,0x007d,0x007d},
  392.   {0x007e,0x007e,0x007e},
  393.   {0x007f,0x007f,0x007f},
  394.   {0x0080,0x0080,0x0080},
  395.   {0x0081,0x0081,0x0081},
  396.   {0x0082,0x0082,0x0082},
  397.   {0x0083,0x0083,0x0083},
  398.   {0x0084,0x0084,0x0084},
  399.   {0x0085,0x0085,0x0085},
  400.   {0x0086,0x0086,0x0086},
  401.   {0x0087,0x0087,0x0087},
  402.   {0x0088,0x0088,0x0088},
  403.   {0x0089,0x0089,0x0089},
  404.   {0x008a,0x008a,0x008a},
  405.   {0x008b,0x008b,0x008b},
  406.   {0x008c,0x008c,0x008c},
  407.   {0x008d,0x008d,0x008d},
  408.   {0x008e,0x008e,0x008e},
  409.   {0x008f,0x008f,0x008f},
  410.   {0x0090,0x0090,0x0090},
  411.   {0x0091,0x0091,0x0091},
  412.   {0x0092,0x0092,0x0092},
  413.   {0x0093,0x0093,0x0093},
  414.   {0x0094,0x0094,0x0094},
  415.   {0x0095,0x0095,0x0095},
  416.   {0x0096,0x0096,0x0096},
  417.   {0x0097,0x0097,0x0097},
  418.   {0x0098,0x0098,0x0098},
  419.   {0x0099,0x0099,0x0099},
  420.   {0x009a,0x009a,0x009a},
  421.   {0x009b,0x009b,0x009b},
  422.   {0x009c,0x009c,0x009c},
  423.   {0x009d,0x009d,0x009d},
  424.   {0x009e,0x009e,0x009e},
  425.   {0x009f,0x009f,0x009f},
  426.   {0x00a0,0x00a0,0x00a0},
  427.   {0x00a1,0x00a1,0x00a1},
  428.   {0x00a2,0x00a2,0x00a2},
  429.   {0x00a3,0x00a3,0x00a3},
  430.   {0x00a4,0x00a4,0x00a4},
  431.   {0x00a5,0x00a5,0x00a5},
  432.   {0x00a6,0x00a6,0x00a6},
  433.   {0x00a7,0x00a7,0x00a7},
  434.   {0x00a8,0x00a8,0x00a8},
  435.   {0x00a9,0x00a9,0x00a9},
  436.   {0x00aa,0x00aa,0x00aa},
  437.   {0x00ab,0x00ab,0x00ab},
  438.   {0x00ac,0x00ac,0x00ac},
  439.   {0x00ad,0x00ad,0x00ad},
  440.   {0x00ae,0x00ae,0x00ae},
  441.   {0x00af,0x00af,0x00af},
  442.   {0x00b0,0x00b0,0x00b0},
  443.   {0x00b1,0x00b1,0x00b1},
  444.   {0x00b2,0x00b2,0x00b2},
  445.   {0x00b3,0x00b3,0x00b3},
  446.   {0x00b4,0x00b4,0x00b4},
  447.   {0x00b5,0x00b5,0x00b5},
  448.   {0x00b6,0x00b6,0x00b6},
  449.   {0x00b7,0x00b7,0x00b7},
  450.   {0x00b8,0x00b8,0x00b8},
  451.   {0x00b9,0x00b9,0x00b9},
  452.   {0x00ba,0x00ba,0x00ba},
  453.   {0x00bb,0x00bb,0x00bb},
  454.   {0x00bc,0x00bc,0x00bc},
  455.   {0x00bd,0x00bd,0x00bd},
  456.   {0x00be,0x00be,0x00be},
  457.   {0x00bf,0x00bf,0x00bf},
  458.   {0x00c0,0x00c0,0x00c0},
  459.   {0x00c1,0x00c1,0x00c1},
  460.   {0x00c2,0x00c2,0x00c2},
  461.   {0x00c3,0x00c3,0x00c3},
  462.   {0x00c4,0x00c4,0x00c4},
  463.   {0x00c5,0x00c5,0x00c5},
  464.   {0x00c6,0x00c6,0x00c6},
  465.   {0x00c7,0x00c7,0x00c7},
  466.   {0x00c8,0x00c8,0x00c8},
  467.   {0x00c9,0x00c9,0x00c9},
  468.   {0x00ca,0x00ca,0x00ca},
  469.   {0x00cb,0x00cb,0x00cb},
  470.   {0x00cc,0x00cc,0x00cc},
  471.   {0x00cd,0x00cd,0x00cd},
  472.   {0x00ce,0x00ce,0x00ce},
  473.   {0x00cf,0x00cf,0x00cf},
  474.   {0x00d0,0x00d0,0x00d0},
  475.   {0x00d1,0x00d1,0x00d1},
  476.   {0x00d2,0x00d2,0x00d2},
  477.   {0x00d3,0x00d3,0x00d3},
  478.   {0x00d4,0x00d4,0x00d4},
  479.   {0x00d5,0x00d5,0x00d5},
  480.   {0x00d6,0x00d6,0x00d6},
  481.   {0x00d7,0x00d7,0x00d7},
  482.   {0x00d8,0x00d8,0x00d8},
  483.   {0x00d9,0x00d9,0x00d9},
  484.   {0x00da,0x00da,0x00da},
  485.   {0x00db,0x00db,0x00db},
  486.   {0x00dc,0x00dc,0x00dc},
  487.   {0x00dd,0x00dd,0x00dd},
  488.   {0x00de,0x00de,0x00de},
  489.   {0x00df,0x00df,0x00df},
  490.   {0x00e0,0x00e0,0x00e0},
  491.   {0x00e1,0x00e1,0x00e1},
  492.   {0x00e2,0x00e2,0x00e2},
  493.   {0x00e3,0x00e3,0x00e3},
  494.   {0x00e4,0x00e4,0x00e4},
  495.   {0x00e5,0x00e5,0x00e5},
  496.   {0x00e6,0x00e6,0x00e6},
  497.   {0x00e7,0x00e7,0x00e7},
  498.   {0x00e8,0x00e8,0x00e8},
  499.   {0x00e9,0x00e9,0x00e9},
  500.   {0x00ea,0x00ea,0x00ea},
  501.   {0x00eb,0x00eb,0x00eb},
  502.   {0x00ec,0x00ec,0x00ec},
  503.   {0x00ed,0x00ed,0x00ed},
  504.   {0x00ee,0x00ee,0x00ee},
  505.   {0x00ef,0x00ef,0x00ef},
  506.   {0x00f0,0x00f0,0x00f0},
  507.   {0x00f1,0x00f1,0x00f1},
  508.   {0x00f2,0x00f2,0x00f2},
  509.   {0x00f3,0x00f3,0x00f3},
  510.   {0x00f4,0x00f4,0x00f4},
  511.   {0x00f5,0x00f5,0x00f5},
  512.   {0x00f6,0x00f6,0x00f6},
  513.   {0x00f7,0x00f7,0x00f7},
  514.   {0x00f8,0x00f8,0x00f8},
  515.   {0x00f9,0x00f9,0x00f9},
  516.   {0x00fa,0x00fa,0x00fa},
  517.   {0x00fb,0x00fb,0x00fb},
  518.   {0x00fc,0x00fc,0x00fc},
  519.   {0x00fd,0x00fd,0x00fd},
  520.   {0x00fe,0x00fe,0x00fe},
  521.   {0x00ff,0x00ff,0x00ff}
  522. };
  523.  
  524. /*
  525.  * this maps the error of the red/green/blue components
  526.  * in 5:6:5 to the sum
  527.  * the size of the array is -256 -> 255
  528.  *
  529.  * good for rgb -> 332 matches
  530.  */
  531. static const GLshort error565[ERROR_RANGE][4] = {                        /* make it aligned, red = 0(error, result*8), green = 2(error, result*8), blue = 4(error, result*8) */
  532.   {0x0500,0x0600,0x0500},
  533.   {0x04fb,0x05fa,0x04fb},
  534.   {0x04f6,0x05f4,0x04f6},
  535.   {0x04f1,0x05ee,0x04f1},
  536.   {0x04ec,0x05e8,0x04ec},
  537.   {0x04e7,0x05e2,0x04e7},
  538.   {0x04e2,0x05dc,0x04e2},
  539.   {0x04dd,0x05d6,0x04dd},
  540.   {0x04d8,0x05d0,0x04d8},
  541.   {0x04d3,0x05ca,0x04d3},
  542.   {0x04ce,0x05c4,0x04ce},
  543.   {0x04c9,0x05be,0x04c9},
  544.   {0x04c4,0x05b8,0x04c4},
  545.   {0x04bf,0x05b2,0x04bf},
  546.   {0x04ba,0x05ac,0x04ba},
  547.   {0x04b5,0x05a6,0x04b5},
  548.   {0x04b0,0x05a0,0x04b0},
  549.   {0x04ab,0x059a,0x04ab},
  550.   {0x04a6,0x0594,0x04a6},
  551.   {0x04a1,0x058e,0x04a1},
  552.   {0x049c,0x0588,0x049c},
  553.   {0x0497,0x0582,0x0497},
  554.   {0x0492,0x057c,0x0492},
  555.   {0x048d,0x0576,0x048d},
  556.   {0x0488,0x0570,0x0488},
  557.   {0x0483,0x056a,0x0483},
  558.   {0x047e,0x0564,0x047e},
  559.   {0x0479,0x055e,0x0479},
  560.   {0x0474,0x0558,0x0474},
  561.   {0x046f,0x0552,0x046f},
  562.   {0x046a,0x054c,0x046a},
  563.   {0x0465,0x0546,0x0465},
  564.   {0x0460,0x0540,0x0460},
  565.   {0x045b,0x053a,0x045b},
  566.   {0x0456,0x0534,0x0456},
  567.   {0x0451,0x052e,0x0451},
  568.   {0x044c,0x0528,0x044c},
  569.   {0x0447,0x0522,0x0447},
  570.   {0x0442,0x051c,0x0442},
  571.   {0x043d,0x0516,0x043d},
  572.   {0x0438,0x0510,0x0438},
  573.   {0x0433,0x050a,0x0433},
  574.   {0x042e,0x0504,0x042e},
  575.   {0x0429,0x04fe,0x0429},
  576.   {0x0424,0x04f8,0x0424},
  577.   {0x041f,0x04f2,0x041f},
  578.   {0x041a,0x04ec,0x041a},
  579.   {0x0415,0x04e6,0x0415},
  580.   {0x0410,0x04e0,0x0410},
  581.   {0x040b,0x04da,0x040b},
  582.   {0x0406,0x04d4,0x0406},
  583.   {0x0401,0x04ce,0x0401},
  584.   {0x03fc,0x04c8,0x03fc},
  585.   {0x03f7,0x04c2,0x03f7},
  586.   {0x03f2,0x04bc,0x03f2},
  587.   {0x03ed,0x04b6,0x03ed},
  588.   {0x03e8,0x04b0,0x03e8},
  589.   {0x03e3,0x04aa,0x03e3},
  590.   {0x03de,0x04a4,0x03de},
  591.   {0x03d9,0x049e,0x03d9},
  592.   {0x03d4,0x0498,0x03d4},
  593.   {0x03cf,0x0492,0x03cf},
  594.   {0x03ca,0x048c,0x03ca},
  595.   {0x03c5,0x0486,0x03c5},
  596.   {0x03c0,0x0480,0x03c0},
  597.   {0x03bb,0x047a,0x03bb},
  598.   {0x03b6,0x0474,0x03b6},
  599.   {0x03b1,0x046e,0x03b1},
  600.   {0x03ac,0x0468,0x03ac},
  601.   {0x03a7,0x0462,0x03a7},
  602.   {0x03a2,0x045c,0x03a2},
  603.   {0x039d,0x0456,0x039d},
  604.   {0x0398,0x0450,0x0398},
  605.   {0x0393,0x044a,0x0393},
  606.   {0x038e,0x0444,0x038e},
  607.   {0x0389,0x043e,0x0389},
  608.   {0x0384,0x0438,0x0384},
  609.   {0x037f,0x0432,0x037f},
  610.   {0x037a,0x042c,0x037a},
  611.   {0x0375,0x0426,0x0375},
  612.   {0x0370,0x0420,0x0370},
  613.   {0x036b,0x041a,0x036b},
  614.   {0x0366,0x0414,0x0366},
  615.   {0x0361,0x040e,0x0361},
  616.   {0x035c,0x0408,0x035c},
  617.   {0x0357,0x0402,0x0357},
  618.   {0x0352,0x03fc,0x0352},
  619.   {0x034d,0x03f6,0x034d},
  620.   {0x0348,0x03f0,0x0348},
  621.   {0x0343,0x03ea,0x0343},
  622.   {0x033e,0x03e4,0x033e},
  623.   {0x0339,0x03de,0x0339},
  624.   {0x0334,0x03d8,0x0334},
  625.   {0x032f,0x03d2,0x032f},
  626.   {0x032a,0x03cc,0x032a},
  627.   {0x0325,0x03c6,0x0325},
  628.   {0x0320,0x03c0,0x0320},
  629.   {0x031b,0x03ba,0x031b},
  630.   {0x0316,0x03b4,0x0316},
  631.   {0x0311,0x03ae,0x0311},
  632.   {0x030c,0x03a8,0x030c},
  633.   {0x0307,0x03a2,0x0307},
  634.   {0x0302,0x039c,0x0302},
  635.   {0x02fd,0x0396,0x02fd},
  636.   {0x02f8,0x0390,0x02f8},
  637.   {0x02f3,0x038a,0x02f3},
  638.   {0x02ee,0x0384,0x02ee},
  639.   {0x02e9,0x037e,0x02e9},
  640.   {0x02e4,0x0378,0x02e4},
  641.   {0x02df,0x0372,0x02df},
  642.   {0x02da,0x036c,0x02da},
  643.   {0x02d5,0x0366,0x02d5},
  644.   {0x02d0,0x0360,0x02d0},
  645.   {0x02cb,0x035a,0x02cb},
  646.   {0x02c6,0x0354,0x02c6},
  647.   {0x02c1,0x034e,0x02c1},
  648.   {0x02bc,0x0348,0x02bc},
  649.   {0x02b7,0x0342,0x02b7},
  650.   {0x02b2,0x033c,0x02b2},
  651.   {0x02ad,0x0336,0x02ad},
  652.   {0x02a8,0x0330,0x02a8},
  653.   {0x02a3,0x032a,0x02a3},
  654.   {0x029e,0x0324,0x029e},
  655.   {0x0299,0x031e,0x0299},
  656.   {0x0294,0x0318,0x0294},
  657.   {0x028f,0x0312,0x028f},
  658.   {0x028a,0x030c,0x028a},
  659.   {0x0285,0x0306,0x0285},
  660.   {0x0280,0x0300,0x0280},
  661.   {0x027b,0x02fa,0x027b},
  662.   {0x0276,0x02f4,0x0276},
  663.   {0x0271,0x02ee,0x0271},
  664.   {0x026c,0x02e8,0x026c},
  665.   {0x0267,0x02e2,0x0267},
  666.   {0x0262,0x02dc,0x0262},
  667.   {0x025d,0x02d6,0x025d},
  668.   {0x0258,0x02d0,0x0258},
  669.   {0x0253,0x02ca,0x0253},
  670.   {0x024e,0x02c4,0x024e},
  671.   {0x0249,0x02be,0x0249},
  672.   {0x0244,0x02b8,0x0244},
  673.   {0x023f,0x02b2,0x023f},
  674.   {0x023a,0x02ac,0x023a},
  675.   {0x0235,0x02a6,0x0235},
  676.   {0x0230,0x02a0,0x0230},
  677.   {0x022b,0x029a,0x022b},
  678.   {0x0226,0x0294,0x0226},
  679.   {0x0221,0x028e,0x0221},
  680.   {0x021c,0x0288,0x021c},
  681.   {0x0217,0x0282,0x0217},
  682.   {0x0212,0x027c,0x0212},
  683.   {0x020d,0x0276,0x020d},
  684.   {0x0208,0x0270,0x0208},
  685.   {0x0203,0x026a,0x0203},
  686.   {0x01fe,0x0264,0x01fe},
  687.   {0x01f9,0x025e,0x01f9},
  688.   {0x01f4,0x0258,0x01f4},
  689.   {0x01ef,0x0252,0x01ef},
  690.   {0x01ea,0x024c,0x01ea},
  691.   {0x01e5,0x0246,0x01e5},
  692.   {0x01e0,0x0240,0x01e0},
  693.   {0x01db,0x023a,0x01db},
  694.   {0x01d6,0x0234,0x01d6},
  695.   {0x01d1,0x022e,0x01d1},
  696.   {0x01cc,0x0228,0x01cc},
  697.   {0x01c7,0x0222,0x01c7},
  698.   {0x01c2,0x021c,0x01c2},
  699.   {0x01bd,0x0216,0x01bd},
  700.   {0x01b8,0x0210,0x01b8},
  701.   {0x01b3,0x020a,0x01b3},
  702.   {0x01ae,0x0204,0x01ae},
  703.   {0x01a9,0x01fe,0x01a9},
  704.   {0x01a4,0x01f8,0x01a4},
  705.   {0x019f,0x01f2,0x019f},
  706.   {0x019a,0x01ec,0x019a},
  707.   {0x0195,0x01e6,0x0195},
  708.   {0x0190,0x01e0,0x0190},
  709.   {0x018b,0x01da,0x018b},
  710.   {0x0186,0x01d4,0x0186},
  711.   {0x0181,0x01ce,0x0181},
  712.   {0x017c,0x01c8,0x017c},
  713.   {0x0177,0x01c2,0x0177},
  714.   {0x0172,0x01bc,0x0172},
  715.   {0x016d,0x01b6,0x016d},
  716.   {0x0168,0x01b0,0x0168},
  717.   {0x0163,0x01aa,0x0163},
  718.   {0x015e,0x01a4,0x015e},
  719.   {0x0159,0x019e,0x0159},
  720.   {0x0154,0x0198,0x0154},
  721.   {0x014f,0x0192,0x014f},
  722.   {0x014a,0x018c,0x014a},
  723.   {0x0145,0x0186,0x0145},
  724.   {0x0140,0x0180,0x0140},
  725.   {0x013b,0x017a,0x013b},
  726.   {0x0136,0x0174,0x0136},
  727.   {0x0131,0x016e,0x0131},
  728.   {0x012c,0x0168,0x012c},
  729.   {0x0127,0x0162,0x0127},
  730.   {0x0122,0x015c,0x0122},
  731.   {0x011d,0x0156,0x011d},
  732.   {0x0118,0x0150,0x0118},
  733.   {0x0113,0x014a,0x0113},
  734.   {0x010e,0x0144,0x010e},
  735.   {0x0109,0x013e,0x0109},
  736.   {0x0104,0x0138,0x0104},
  737.   {0x00ff,0x0132,0x00ff},
  738.   {0x00fa,0x012c,0x00fa},
  739.   {0x00f5,0x0126,0x00f5},
  740.   {0x00f0,0x0120,0x00f0},
  741.   {0x00eb,0x011a,0x00eb},
  742.   {0x00e6,0x0114,0x00e6},
  743.   {0x00e1,0x010e,0x00e1},
  744.   {0x00dc,0x0108,0x00dc},
  745.   {0x00d7,0x0102,0x00d7},
  746.   {0x00d2,0x00fc,0x00d2},
  747.   {0x00cd,0x00f6,0x00cd},
  748.   {0x00c8,0x00f0,0x00c8},
  749.   {0x00c3,0x00ea,0x00c3},
  750.   {0x00be,0x00e4,0x00be},
  751.   {0x00b9,0x00de,0x00b9},
  752.   {0x00b4,0x00d8,0x00b4},
  753.   {0x00af,0x00d2,0x00af},
  754.   {0x00aa,0x00cc,0x00aa},
  755.   {0x00a5,0x00c6,0x00a5},
  756.   {0x00a0,0x00c0,0x00a0},
  757.   {0x009b,0x00ba,0x009b},
  758.   {0x0096,0x00b4,0x0096},
  759.   {0x0091,0x00ae,0x0091},
  760.   {0x008c,0x00a8,0x008c},
  761.   {0x0087,0x00a2,0x0087},
  762.   {0x0082,0x009c,0x0082},
  763.   {0x007d,0x0096,0x007d},
  764.   {0x0078,0x0090,0x0078},
  765.   {0x0073,0x008a,0x0073},
  766.   {0x006e,0x0084,0x006e},
  767.   {0x0069,0x007e,0x0069},
  768.   {0x0064,0x0078,0x0064},
  769.   {0x005f,0x0072,0x005f},
  770.   {0x005a,0x006c,0x005a},
  771.   {0x0055,0x0066,0x0055},
  772.   {0x0050,0x0060,0x0050},
  773.   {0x004b,0x005a,0x004b},
  774.   {0x0046,0x0054,0x0046},
  775.   {0x0041,0x004e,0x0041},
  776.   {0x003c,0x0048,0x003c},
  777.   {0x0037,0x0042,0x0037},
  778.   {0x0032,0x003c,0x0032},
  779.   {0x002d,0x0036,0x002d},
  780.   {0x0028,0x0030,0x0028},
  781.   {0x0023,0x002a,0x0023},
  782.   {0x001e,0x0024,0x001e},
  783.   {0x0019,0x001e,0x0019},
  784.   {0x0014,0x0018,0x0014},
  785.   {0x000f,0x0012,0x000f},
  786.   {0x000a,0x000c,0x000a},
  787.   {0x0005,0x0006,0x0005},
  788.   {0x0000,0x0000,0x0000},
  789.   {0x0005,0x0006,0x0005},
  790.   {0x000a,0x000c,0x000a},
  791.   {0x000f,0x0012,0x000f},
  792.   {0x0014,0x0018,0x0014},
  793.   {0x0019,0x001e,0x0019},
  794.   {0x001e,0x0024,0x001e},
  795.   {0x0023,0x002a,0x0023},
  796.   {0x0028,0x0030,0x0028},
  797.   {0x002d,0x0036,0x002d},
  798.   {0x0032,0x003c,0x0032},
  799.   {0x0037,0x0042,0x0037},
  800.   {0x003c,0x0048,0x003c},
  801.   {0x0041,0x004e,0x0041},
  802.   {0x0046,0x0054,0x0046},
  803.   {0x004b,0x005a,0x004b},
  804.   {0x0050,0x0060,0x0050},
  805.   {0x0055,0x0066,0x0055},
  806.   {0x005a,0x006c,0x005a},
  807.   {0x005f,0x0072,0x005f},
  808.   {0x0064,0x0078,0x0064},
  809.   {0x0069,0x007e,0x0069},
  810.   {0x006e,0x0084,0x006e},
  811.   {0x0073,0x008a,0x0073},
  812.   {0x0078,0x0090,0x0078},
  813.   {0x007d,0x0096,0x007d},
  814.   {0x0082,0x009c,0x0082},
  815.   {0x0087,0x00a2,0x0087},
  816.   {0x008c,0x00a8,0x008c},
  817.   {0x0091,0x00ae,0x0091},
  818.   {0x0096,0x00b4,0x0096},
  819.   {0x009b,0x00ba,0x009b},
  820.   {0x00a0,0x00c0,0x00a0},
  821.   {0x00a5,0x00c6,0x00a5},
  822.   {0x00aa,0x00cc,0x00aa},
  823.   {0x00af,0x00d2,0x00af},
  824.   {0x00b4,0x00d8,0x00b4},
  825.   {0x00b9,0x00de,0x00b9},
  826.   {0x00be,0x00e4,0x00be},
  827.   {0x00c3,0x00ea,0x00c3},
  828.   {0x00c8,0x00f0,0x00c8},
  829.   {0x00cd,0x00f6,0x00cd},
  830.   {0x00d2,0x00fc,0x00d2},
  831.   {0x00d7,0x0102,0x00d7},
  832.   {0x00dc,0x0108,0x00dc},
  833.   {0x00e1,0x010e,0x00e1},
  834.   {0x00e6,0x0114,0x00e6},
  835.   {0x00eb,0x011a,0x00eb},
  836.   {0x00f0,0x0120,0x00f0},
  837.   {0x00f5,0x0126,0x00f5},
  838.   {0x00fa,0x012c,0x00fa},
  839.   {0x00ff,0x0132,0x00ff},
  840.   {0x0104,0x0138,0x0104},
  841.   {0x0109,0x013e,0x0109},
  842.   {0x010e,0x0144,0x010e},
  843.   {0x0113,0x014a,0x0113},
  844.   {0x0118,0x0150,0x0118},
  845.   {0x011d,0x0156,0x011d},
  846.   {0x0122,0x015c,0x0122},
  847.   {0x0127,0x0162,0x0127},
  848.   {0x012c,0x0168,0x012c},
  849.   {0x0131,0x016e,0x0131},
  850.   {0x0136,0x0174,0x0136},
  851.   {0x013b,0x017a,0x013b},
  852.   {0x0140,0x0180,0x0140},
  853.   {0x0145,0x0186,0x0145},
  854.   {0x014a,0x018c,0x014a},
  855.   {0x014f,0x0192,0x014f},
  856.   {0x0154,0x0198,0x0154},
  857.   {0x0159,0x019e,0x0159},
  858.   {0x015e,0x01a4,0x015e},
  859.   {0x0163,0x01aa,0x0163},
  860.   {0x0168,0x01b0,0x0168},
  861.   {0x016d,0x01b6,0x016d},
  862.   {0x0172,0x01bc,0x0172},
  863.   {0x0177,0x01c2,0x0177},
  864.   {0x017c,0x01c8,0x017c},
  865.   {0x0181,0x01ce,0x0181},
  866.   {0x0186,0x01d4,0x0186},
  867.   {0x018b,0x01da,0x018b},
  868.   {0x0190,0x01e0,0x0190},
  869.   {0x0195,0x01e6,0x0195},
  870.   {0x019a,0x01ec,0x019a},
  871.   {0x019f,0x01f2,0x019f},
  872.   {0x01a4,0x01f8,0x01a4},
  873.   {0x01a9,0x01fe,0x01a9},
  874.   {0x01ae,0x0204,0x01ae},
  875.   {0x01b3,0x020a,0x01b3},
  876.   {0x01b8,0x0210,0x01b8},
  877.   {0x01bd,0x0216,0x01bd},
  878.   {0x01c2,0x021c,0x01c2},
  879.   {0x01c7,0x0222,0x01c7},
  880.   {0x01cc,0x0228,0x01cc},
  881.   {0x01d1,0x022e,0x01d1},
  882.   {0x01d6,0x0234,0x01d6},
  883.   {0x01db,0x023a,0x01db},
  884.   {0x01e0,0x0240,0x01e0},
  885.   {0x01e5,0x0246,0x01e5},
  886.   {0x01ea,0x024c,0x01ea},
  887.   {0x01ef,0x0252,0x01ef},
  888.   {0x01f4,0x0258,0x01f4},
  889.   {0x01f9,0x025e,0x01f9},
  890.   {0x01fe,0x0264,0x01fe},
  891.   {0x0203,0x026a,0x0203},
  892.   {0x0208,0x0270,0x0208},
  893.   {0x020d,0x0276,0x020d},
  894.   {0x0212,0x027c,0x0212},
  895.   {0x0217,0x0282,0x0217},
  896.   {0x021c,0x0288,0x021c},
  897.   {0x0221,0x028e,0x0221},
  898.   {0x0226,0x0294,0x0226},
  899.   {0x022b,0x029a,0x022b},
  900.   {0x0230,0x02a0,0x0230},
  901.   {0x0235,0x02a6,0x0235},
  902.   {0x023a,0x02ac,0x023a},
  903.   {0x023f,0x02b2,0x023f},
  904.   {0x0244,0x02b8,0x0244},
  905.   {0x0249,0x02be,0x0249},
  906.   {0x024e,0x02c4,0x024e},
  907.   {0x0253,0x02ca,0x0253},
  908.   {0x0258,0x02d0,0x0258},
  909.   {0x025d,0x02d6,0x025d},
  910.   {0x0262,0x02dc,0x0262},
  911.   {0x0267,0x02e2,0x0267},
  912.   {0x026c,0x02e8,0x026c},
  913.   {0x0271,0x02ee,0x0271},
  914.   {0x0276,0x02f4,0x0276},
  915.   {0x027b,0x02fa,0x027b},
  916.   {0x0280,0x0300,0x0280},
  917.   {0x0285,0x0306,0x0285},
  918.   {0x028a,0x030c,0x028a},
  919.   {0x028f,0x0312,0x028f},
  920.   {0x0294,0x0318,0x0294},
  921.   {0x0299,0x031e,0x0299},
  922.   {0x029e,0x0324,0x029e},
  923.   {0x02a3,0x032a,0x02a3},
  924.   {0x02a8,0x0330,0x02a8},
  925.   {0x02ad,0x0336,0x02ad},
  926.   {0x02b2,0x033c,0x02b2},
  927.   {0x02b7,0x0342,0x02b7},
  928.   {0x02bc,0x0348,0x02bc},
  929.   {0x02c1,0x034e,0x02c1},
  930.   {0x02c6,0x0354,0x02c6},
  931.   {0x02cb,0x035a,0x02cb},
  932.   {0x02d0,0x0360,0x02d0},
  933.   {0x02d5,0x0366,0x02d5},
  934.   {0x02da,0x036c,0x02da},
  935.   {0x02df,0x0372,0x02df},
  936.   {0x02e4,0x0378,0x02e4},
  937.   {0x02e9,0x037e,0x02e9},
  938.   {0x02ee,0x0384,0x02ee},
  939.   {0x02f3,0x038a,0x02f3},
  940.   {0x02f8,0x0390,0x02f8},
  941.   {0x02fd,0x0396,0x02fd},
  942.   {0x0302,0x039c,0x0302},
  943.   {0x0307,0x03a2,0x0307},
  944.   {0x030c,0x03a8,0x030c},
  945.   {0x0311,0x03ae,0x0311},
  946.   {0x0316,0x03b4,0x0316},
  947.   {0x031b,0x03ba,0x031b},
  948.   {0x0320,0x03c0,0x0320},
  949.   {0x0325,0x03c6,0x0325},
  950.   {0x032a,0x03cc,0x032a},
  951.   {0x032f,0x03d2,0x032f},
  952.   {0x0334,0x03d8,0x0334},
  953.   {0x0339,0x03de,0x0339},
  954.   {0x033e,0x03e4,0x033e},
  955.   {0x0343,0x03ea,0x0343},
  956.   {0x0348,0x03f0,0x0348},
  957.   {0x034d,0x03f6,0x034d},
  958.   {0x0352,0x03fc,0x0352},
  959.   {0x0357,0x0402,0x0357},
  960.   {0x035c,0x0408,0x035c},
  961.   {0x0361,0x040e,0x0361},
  962.   {0x0366,0x0414,0x0366},
  963.   {0x036b,0x041a,0x036b},
  964.   {0x0370,0x0420,0x0370},
  965.   {0x0375,0x0426,0x0375},
  966.   {0x037a,0x042c,0x037a},
  967.   {0x037f,0x0432,0x037f},
  968.   {0x0384,0x0438,0x0384},
  969.   {0x0389,0x043e,0x0389},
  970.   {0x038e,0x0444,0x038e},
  971.   {0x0393,0x044a,0x0393},
  972.   {0x0398,0x0450,0x0398},
  973.   {0x039d,0x0456,0x039d},
  974.   {0x03a2,0x045c,0x03a2},
  975.   {0x03a7,0x0462,0x03a7},
  976.   {0x03ac,0x0468,0x03ac},
  977.   {0x03b1,0x046e,0x03b1},
  978.   {0x03b6,0x0474,0x03b6},
  979.   {0x03bb,0x047a,0x03bb},
  980.   {0x03c0,0x0480,0x03c0},
  981.   {0x03c5,0x0486,0x03c5},
  982.   {0x03ca,0x048c,0x03ca},
  983.   {0x03cf,0x0492,0x03cf},
  984.   {0x03d4,0x0498,0x03d4},
  985.   {0x03d9,0x049e,0x03d9},
  986.   {0x03de,0x04a4,0x03de},
  987.   {0x03e3,0x04aa,0x03e3},
  988.   {0x03e8,0x04b0,0x03e8},
  989.   {0x03ed,0x04b6,0x03ed},
  990.   {0x03f2,0x04bc,0x03f2},
  991.   {0x03f7,0x04c2,0x03f7},
  992.   {0x03fc,0x04c8,0x03fc},
  993.   {0x0401,0x04ce,0x0401},
  994.   {0x0406,0x04d4,0x0406},
  995.   {0x040b,0x04da,0x040b},
  996.   {0x0410,0x04e0,0x0410},
  997.   {0x0415,0x04e6,0x0415},
  998.   {0x041a,0x04ec,0x041a},
  999.   {0x041f,0x04f2,0x041f},
  1000.   {0x0424,0x04f8,0x0424},
  1001.   {0x0429,0x04fe,0x0429},
  1002.   {0x042e,0x0504,0x042e},
  1003.   {0x0433,0x050a,0x0433},
  1004.   {0x0438,0x0510,0x0438},
  1005.   {0x043d,0x0516,0x043d},
  1006.   {0x0442,0x051c,0x0442},
  1007.   {0x0447,0x0522,0x0447},
  1008.   {0x044c,0x0528,0x044c},
  1009.   {0x0451,0x052e,0x0451},
  1010.   {0x0456,0x0534,0x0456},
  1011.   {0x045b,0x053a,0x045b},
  1012.   {0x0460,0x0540,0x0460},
  1013.   {0x0465,0x0546,0x0465},
  1014.   {0x046a,0x054c,0x046a},
  1015.   {0x046f,0x0552,0x046f},
  1016.   {0x0474,0x0558,0x0474},
  1017.   {0x0479,0x055e,0x0479},
  1018.   {0x047e,0x0564,0x047e},
  1019.   {0x0483,0x056a,0x0483},
  1020.   {0x0488,0x0570,0x0488},
  1021.   {0x048d,0x0576,0x048d},
  1022.   {0x0492,0x057c,0x0492},
  1023.   {0x0497,0x0582,0x0497},
  1024.   {0x049c,0x0588,0x049c},
  1025.   {0x04a1,0x058e,0x04a1},
  1026.   {0x04a6,0x0594,0x04a6},
  1027.   {0x04ab,0x059a,0x04ab},
  1028.   {0x04b0,0x05a0,0x04b0},
  1029.   {0x04b5,0x05a6,0x04b5},
  1030.   {0x04ba,0x05ac,0x04ba},
  1031.   {0x04bf,0x05b2,0x04bf},
  1032.   {0x04c4,0x05b8,0x04c4},
  1033.   {0x04c9,0x05be,0x04c9},
  1034.   {0x04ce,0x05c4,0x04ce},
  1035.   {0x04d3,0x05ca,0x04d3},
  1036.   {0x04d8,0x05d0,0x04d8},
  1037.   {0x04dd,0x05d6,0x04dd},
  1038.   {0x04e2,0x05dc,0x04e2},
  1039.   {0x04e7,0x05e2,0x04e7},
  1040.   {0x04ec,0x05e8,0x04ec},
  1041.   {0x04f1,0x05ee,0x04f1},
  1042.   {0x04f6,0x05f4,0x04f6},
  1043.   {0x04fb,0x05fa,0x04fb}
  1044. };
  1045.  
  1046. /*
  1047.  * this maps the error of the red/green/blue components
  1048.  * in 0.212671:0.715160:0.072169 to the sum
  1049.  * the size of the array is -256 -> 255
  1050.  *
  1051.  * good for rgb -> grey matches
  1052.  */
  1053. static const GLshort errorRGB[ERROR_RANGE][4] = {                        /* make it aligned, red = 0(error, result*8), green = 2(error, result*8), blue = 4(error, result*8) */
  1054.   {0x1500,0x4800,0x0700},
  1055.   {0x14eb,0x47b8,0x06f9},
  1056.   {0x14d6,0x4770,0x06f2},
  1057.   {0x14c1,0x4728,0x06eb},
  1058.   {0x14ac,0x46e0,0x06e4},
  1059.   {0x1497,0x4698,0x06dd},
  1060.   {0x1482,0x4650,0x06d6},
  1061.   {0x146d,0x4608,0x06cf},
  1062.   {0x1458,0x45c0,0x06c8},
  1063.   {0x1443,0x4578,0x06c1},
  1064.   {0x142e,0x4530,0x06ba},
  1065.   {0x1419,0x44e8,0x06b3},
  1066.   {0x1404,0x44a0,0x06ac},
  1067.   {0x13ef,0x4458,0x06a5},
  1068.   {0x13da,0x4410,0x069e},
  1069.   {0x13c5,0x43c8,0x0697},
  1070.   {0x13b0,0x4380,0x0690},
  1071.   {0x139b,0x4338,0x0689},
  1072.   {0x1386,0x42f0,0x0682},
  1073.   {0x1371,0x42a8,0x067b},
  1074.   {0x135c,0x4260,0x0674},
  1075.   {0x1347,0x4218,0x066d},
  1076.   {0x1332,0x41d0,0x0666},
  1077.   {0x131d,0x4188,0x065f},
  1078.   {0x1308,0x4140,0x0658},
  1079.   {0x12f3,0x40f8,0x0651},
  1080.   {0x12de,0x40b0,0x064a},
  1081.   {0x12c9,0x4068,0x0643},
  1082.   {0x12b4,0x4020,0x063c},
  1083.   {0x129f,0x3fd8,0x0635},
  1084.   {0x128a,0x3f90,0x062e},
  1085.   {0x1275,0x3f48,0x0627},
  1086.   {0x1260,0x3f00,0x0620},
  1087.   {0x124b,0x3eb8,0x0619},
  1088.   {0x1236,0x3e70,0x0612},
  1089.   {0x1221,0x3e28,0x060b},
  1090.   {0x120c,0x3de0,0x0604},
  1091.   {0x11f7,0x3d98,0x05fd},
  1092.   {0x11e2,0x3d50,0x05f6},
  1093.   {0x11cd,0x3d08,0x05ef},
  1094.   {0x11b8,0x3cc0,0x05e8},
  1095.   {0x11a3,0x3c78,0x05e1},
  1096.   {0x118e,0x3c30,0x05da},
  1097.   {0x1179,0x3be8,0x05d3},
  1098.   {0x1164,0x3ba0,0x05cc},
  1099.   {0x114f,0x3b58,0x05c5},
  1100.   {0x113a,0x3b10,0x05be},
  1101.   {0x1125,0x3ac8,0x05b7},
  1102.   {0x1110,0x3a80,0x05b0},
  1103.   {0x10fb,0x3a38,0x05a9},
  1104.   {0x10e6,0x39f0,0x05a2},
  1105.   {0x10d1,0x39a8,0x059b},
  1106.   {0x10bc,0x3960,0x0594},
  1107.   {0x10a7,0x3918,0x058d},
  1108.   {0x1092,0x38d0,0x0586},
  1109.   {0x107d,0x3888,0x057f},
  1110.   {0x1068,0x3840,0x0578},
  1111.   {0x1053,0x37f8,0x0571},
  1112.   {0x103e,0x37b0,0x056a},
  1113.   {0x1029,0x3768,0x0563},
  1114.   {0x1014,0x3720,0x055c},
  1115.   {0x0fff,0x36d8,0x0555},
  1116.   {0x0fea,0x3690,0x054e},
  1117.   {0x0fd5,0x3648,0x0547},
  1118.   {0x0fc0,0x3600,0x0540},
  1119.   {0x0fab,0x35b8,0x0539},
  1120.   {0x0f96,0x3570,0x0532},
  1121.   {0x0f81,0x3528,0x052b},
  1122.   {0x0f6c,0x34e0,0x0524},
  1123.   {0x0f57,0x3498,0x051d},
  1124.   {0x0f42,0x3450,0x0516},
  1125.   {0x0f2d,0x3408,0x050f},
  1126.   {0x0f18,0x33c0,0x0508},
  1127.   {0x0f03,0x3378,0x0501},
  1128.   {0x0eee,0x3330,0x04fa},
  1129.   {0x0ed9,0x32e8,0x04f3},
  1130.   {0x0ec4,0x32a0,0x04ec},
  1131.   {0x0eaf,0x3258,0x04e5},
  1132.   {0x0e9a,0x3210,0x04de},
  1133.   {0x0e85,0x31c8,0x04d7},
  1134.   {0x0e70,0x3180,0x04d0},
  1135.   {0x0e5b,0x3138,0x04c9},
  1136.   {0x0e46,0x30f0,0x04c2},
  1137.   {0x0e31,0x30a8,0x04bb},
  1138.   {0x0e1c,0x3060,0x04b4},
  1139.   {0x0e07,0x3018,0x04ad},
  1140.   {0x0df2,0x2fd0,0x04a6},
  1141.   {0x0ddd,0x2f88,0x049f},
  1142.   {0x0dc8,0x2f40,0x0498},
  1143.   {0x0db3,0x2ef8,0x0491},
  1144.   {0x0d9e,0x2eb0,0x048a},
  1145.   {0x0d89,0x2e68,0x0483},
  1146.   {0x0d74,0x2e20,0x047c},
  1147.   {0x0d5f,0x2dd8,0x0475},
  1148.   {0x0d4a,0x2d90,0x046e},
  1149.   {0x0d35,0x2d48,0x0467},
  1150.   {0x0d20,0x2d00,0x0460},
  1151.   {0x0d0b,0x2cb8,0x0459},
  1152.   {0x0cf6,0x2c70,0x0452},
  1153.   {0x0ce1,0x2c28,0x044b},
  1154.   {0x0ccc,0x2be0,0x0444},
  1155.   {0x0cb7,0x2b98,0x043d},
  1156.   {0x0ca2,0x2b50,0x0436},
  1157.   {0x0c8d,0x2b08,0x042f},
  1158.   {0x0c78,0x2ac0,0x0428},
  1159.   {0x0c63,0x2a78,0x0421},
  1160.   {0x0c4e,0x2a30,0x041a},
  1161.   {0x0c39,0x29e8,0x0413},
  1162.   {0x0c24,0x29a0,0x040c},
  1163.   {0x0c0f,0x2958,0x0405},
  1164.   {0x0bfa,0x2910,0x03fe},
  1165.   {0x0be5,0x28c8,0x03f7},
  1166.   {0x0bd0,0x2880,0x03f0},
  1167.   {0x0bbb,0x2838,0x03e9},
  1168.   {0x0ba6,0x27f0,0x03e2},
  1169.   {0x0b91,0x27a8,0x03db},
  1170.   {0x0b7c,0x2760,0x03d4},
  1171.   {0x0b67,0x2718,0x03cd},
  1172.   {0x0b52,0x26d0,0x03c6},
  1173.   {0x0b3d,0x2688,0x03bf},
  1174.   {0x0b28,0x2640,0x03b8},
  1175.   {0x0b13,0x25f8,0x03b1},
  1176.   {0x0afe,0x25b0,0x03aa},
  1177.   {0x0ae9,0x2568,0x03a3},
  1178.   {0x0ad4,0x2520,0x039c},
  1179.   {0x0abf,0x24d8,0x0395},
  1180.   {0x0aaa,0x2490,0x038e},
  1181.   {0x0a95,0x2448,0x0387},
  1182.   {0x0a80,0x2400,0x0380},
  1183.   {0x0a6b,0x23b8,0x0379},
  1184.   {0x0a56,0x2370,0x0372},
  1185.   {0x0a41,0x2328,0x036b},
  1186.   {0x0a2c,0x22e0,0x0364},
  1187.   {0x0a17,0x2298,0x035d},
  1188.   {0x0a02,0x2250,0x0356},
  1189.   {0x09ed,0x2208,0x034f},
  1190.   {0x09d8,0x21c0,0x0348},
  1191.   {0x09c3,0x2178,0x0341},
  1192.   {0x09ae,0x2130,0x033a},
  1193.   {0x0999,0x20e8,0x0333},
  1194.   {0x0984,0x20a0,0x032c},
  1195.   {0x096f,0x2058,0x0325},
  1196.   {0x095a,0x2010,0x031e},
  1197.   {0x0945,0x1fc8,0x0317},
  1198.   {0x0930,0x1f80,0x0310},
  1199.   {0x091b,0x1f38,0x0309},
  1200.   {0x0906,0x1ef0,0x0302},
  1201.   {0x08f1,0x1ea8,0x02fb},
  1202.   {0x08dc,0x1e60,0x02f4},
  1203.   {0x08c7,0x1e18,0x02ed},
  1204.   {0x08b2,0x1dd0,0x02e6},
  1205.   {0x089d,0x1d88,0x02df},
  1206.   {0x0888,0x1d40,0x02d8},
  1207.   {0x0873,0x1cf8,0x02d1},
  1208.   {0x085e,0x1cb0,0x02ca},
  1209.   {0x0849,0x1c68,0x02c3},
  1210.   {0x0834,0x1c20,0x02bc},
  1211.   {0x081f,0x1bd8,0x02b5},
  1212.   {0x080a,0x1b90,0x02ae},
  1213.   {0x07f5,0x1b48,0x02a7},
  1214.   {0x07e0,0x1b00,0x02a0},
  1215.   {0x07cb,0x1ab8,0x0299},
  1216.   {0x07b6,0x1a70,0x0292},
  1217.   {0x07a1,0x1a28,0x028b},
  1218.   {0x078c,0x19e0,0x0284},
  1219.   {0x0777,0x1998,0x027d},
  1220.   {0x0762,0x1950,0x0276},
  1221.   {0x074d,0x1908,0x026f},
  1222.   {0x0738,0x18c0,0x0268},
  1223.   {0x0723,0x1878,0x0261},
  1224.   {0x070e,0x1830,0x025a},
  1225.   {0x06f9,0x17e8,0x0253},
  1226.   {0x06e4,0x17a0,0x024c},
  1227.   {0x06cf,0x1758,0x0245},
  1228.   {0x06ba,0x1710,0x023e},
  1229.   {0x06a5,0x16c8,0x0237},
  1230.   {0x0690,0x1680,0x0230},
  1231.   {0x067b,0x1638,0x0229},
  1232.   {0x0666,0x15f0,0x0222},
  1233.   {0x0651,0x15a8,0x021b},
  1234.   {0x063c,0x1560,0x0214},
  1235.   {0x0627,0x1518,0x020d},
  1236.   {0x0612,0x14d0,0x0206},
  1237.   {0x05fd,0x1488,0x01ff},
  1238.   {0x05e8,0x1440,0x01f8},
  1239.   {0x05d3,0x13f8,0x01f1},
  1240.   {0x05be,0x13b0,0x01ea},
  1241.   {0x05a9,0x1368,0x01e3},
  1242.   {0x0594,0x1320,0x01dc},
  1243.   {0x057f,0x12d8,0x01d5},
  1244.   {0x056a,0x1290,0x01ce},
  1245.   {0x0555,0x1248,0x01c7},
  1246.   {0x0540,0x1200,0x01c0},
  1247.   {0x052b,0x11b8,0x01b9},
  1248.   {0x0516,0x1170,0x01b2},
  1249.   {0x0501,0x1128,0x01ab},
  1250.   {0x04ec,0x10e0,0x01a4},
  1251.   {0x04d7,0x1098,0x019d},
  1252.   {0x04c2,0x1050,0x0196},
  1253.   {0x04ad,0x1008,0x018f},
  1254.   {0x0498,0x0fc0,0x0188},
  1255.   {0x0483,0x0f78,0x0181},
  1256.   {0x046e,0x0f30,0x017a},
  1257.   {0x0459,0x0ee8,0x0173},
  1258.   {0x0444,0x0ea0,0x016c},
  1259.   {0x042f,0x0e58,0x0165},
  1260.   {0x041a,0x0e10,0x015e},
  1261.   {0x0405,0x0dc8,0x0157},
  1262.   {0x03f0,0x0d80,0x0150},
  1263.   {0x03db,0x0d38,0x0149},
  1264.   {0x03c6,0x0cf0,0x0142},
  1265.   {0x03b1,0x0ca8,0x013b},
  1266.   {0x039c,0x0c60,0x0134},
  1267.   {0x0387,0x0c18,0x012d},
  1268.   {0x0372,0x0bd0,0x0126},
  1269.   {0x035d,0x0b88,0x011f},
  1270.   {0x0348,0x0b40,0x0118},
  1271.   {0x0333,0x0af8,0x0111},
  1272.   {0x031e,0x0ab0,0x010a},
  1273.   {0x0309,0x0a68,0x0103},
  1274.   {0x02f4,0x0a20,0x00fc},
  1275.   {0x02df,0x09d8,0x00f5},
  1276.   {0x02ca,0x0990,0x00ee},
  1277.   {0x02b5,0x0948,0x00e7},
  1278.   {0x02a0,0x0900,0x00e0},
  1279.   {0x028b,0x08b8,0x00d9},
  1280.   {0x0276,0x0870,0x00d2},
  1281.   {0x0261,0x0828,0x00cb},
  1282.   {0x024c,0x07e0,0x00c4},
  1283.   {0x0237,0x0798,0x00bd},
  1284.   {0x0222,0x0750,0x00b6},
  1285.   {0x020d,0x0708,0x00af},
  1286.   {0x01f8,0x06c0,0x00a8},
  1287.   {0x01e3,0x0678,0x00a1},
  1288.   {0x01ce,0x0630,0x009a},
  1289.   {0x01b9,0x05e8,0x0093},
  1290.   {0x01a4,0x05a0,0x008c},
  1291.   {0x018f,0x0558,0x0085},
  1292.   {0x017a,0x0510,0x007e},
  1293.   {0x0165,0x04c8,0x0077},
  1294.   {0x0150,0x0480,0x0070},
  1295.   {0x013b,0x0438,0x0069},
  1296.   {0x0126,0x03f0,0x0062},
  1297.   {0x0111,0x03a8,0x005b},
  1298.   {0x00fc,0x0360,0x0054},
  1299.   {0x00e7,0x0318,0x004d},
  1300.   {0x00d2,0x02d0,0x0046},
  1301.   {0x00bd,0x0288,0x003f},
  1302.   {0x00a8,0x0240,0x0038},
  1303.   {0x0093,0x01f8,0x0031},
  1304.   {0x007e,0x01b0,0x002a},
  1305.   {0x0069,0x0168,0x0023},
  1306.   {0x0054,0x0120,0x001c},
  1307.   {0x003f,0x00d8,0x0015},
  1308.   {0x002a,0x0090,0x000e},
  1309.   {0x0015,0x0048,0x0007},
  1310.   {0x0000,0x0000,0x0000},
  1311.   {0x0015,0x0048,0x0007},
  1312.   {0x002a,0x0090,0x000e},
  1313.   {0x003f,0x00d8,0x0015},
  1314.   {0x0054,0x0120,0x001c},
  1315.   {0x0069,0x0168,0x0023},
  1316.   {0x007e,0x01b0,0x002a},
  1317.   {0x0093,0x01f8,0x0031},
  1318.   {0x00a8,0x0240,0x0038},
  1319.   {0x00bd,0x0288,0x003f},
  1320.   {0x00d2,0x02d0,0x0046},
  1321.   {0x00e7,0x0318,0x004d},
  1322.   {0x00fc,0x0360,0x0054},
  1323.   {0x0111,0x03a8,0x005b},
  1324.   {0x0126,0x03f0,0x0062},
  1325.   {0x013b,0x0438,0x0069},
  1326.   {0x0150,0x0480,0x0070},
  1327.   {0x0165,0x04c8,0x0077},
  1328.   {0x017a,0x0510,0x007e},
  1329.   {0x018f,0x0558,0x0085},
  1330.   {0x01a4,0x05a0,0x008c},
  1331.   {0x01b9,0x05e8,0x0093},
  1332.   {0x01ce,0x0630,0x009a},
  1333.   {0x01e3,0x0678,0x00a1},
  1334.   {0x01f8,0x06c0,0x00a8},
  1335.   {0x020d,0x0708,0x00af},
  1336.   {0x0222,0x0750,0x00b6},
  1337.   {0x0237,0x0798,0x00bd},
  1338.   {0x024c,0x07e0,0x00c4},
  1339.   {0x0261,0x0828,0x00cb},
  1340.   {0x0276,0x0870,0x00d2},
  1341.   {0x028b,0x08b8,0x00d9},
  1342.   {0x02a0,0x0900,0x00e0},
  1343.   {0x02b5,0x0948,0x00e7},
  1344.   {0x02ca,0x0990,0x00ee},
  1345.   {0x02df,0x09d8,0x00f5},
  1346.   {0x02f4,0x0a20,0x00fc},
  1347.   {0x0309,0x0a68,0x0103},
  1348.   {0x031e,0x0ab0,0x010a},
  1349.   {0x0333,0x0af8,0x0111},
  1350.   {0x0348,0x0b40,0x0118},
  1351.   {0x035d,0x0b88,0x011f},
  1352.   {0x0372,0x0bd0,0x0126},
  1353.   {0x0387,0x0c18,0x012d},
  1354.   {0x039c,0x0c60,0x0134},
  1355.   {0x03b1,0x0ca8,0x013b},
  1356.   {0x03c6,0x0cf0,0x0142},
  1357.   {0x03db,0x0d38,0x0149},
  1358.   {0x03f0,0x0d80,0x0150},
  1359.   {0x0405,0x0dc8,0x0157},
  1360.   {0x041a,0x0e10,0x015e},
  1361.   {0x042f,0x0e58,0x0165},
  1362.   {0x0444,0x0ea0,0x016c},
  1363.   {0x0459,0x0ee8,0x0173},
  1364.   {0x046e,0x0f30,0x017a},
  1365.   {0x0483,0x0f78,0x0181},
  1366.   {0x0498,0x0fc0,0x0188},
  1367.   {0x04ad,0x1008,0x018f},
  1368.   {0x04c2,0x1050,0x0196},
  1369.   {0x04d7,0x1098,0x019d},
  1370.   {0x04ec,0x10e0,0x01a4},
  1371.   {0x0501,0x1128,0x01ab},
  1372.   {0x0516,0x1170,0x01b2},
  1373.   {0x052b,0x11b8,0x01b9},
  1374.   {0x0540,0x1200,0x01c0},
  1375.   {0x0555,0x1248,0x01c7},
  1376.   {0x056a,0x1290,0x01ce},
  1377.   {0x057f,0x12d8,0x01d5},
  1378.   {0x0594,0x1320,0x01dc},
  1379.   {0x05a9,0x1368,0x01e3},
  1380.   {0x05be,0x13b0,0x01ea},
  1381.   {0x05d3,0x13f8,0x01f1},
  1382.   {0x05e8,0x1440,0x01f8},
  1383.   {0x05fd,0x1488,0x01ff},
  1384.   {0x0612,0x14d0,0x0206},
  1385.   {0x0627,0x1518,0x020d},
  1386.   {0x063c,0x1560,0x0214},
  1387.   {0x0651,0x15a8,0x021b},
  1388.   {0x0666,0x15f0,0x0222},
  1389.   {0x067b,0x1638,0x0229},
  1390.   {0x0690,0x1680,0x0230},
  1391.   {0x06a5,0x16c8,0x0237},
  1392.   {0x06ba,0x1710,0x023e},
  1393.   {0x06cf,0x1758,0x0245},
  1394.   {0x06e4,0x17a0,0x024c},
  1395.   {0x06f9,0x17e8,0x0253},
  1396.   {0x070e,0x1830,0x025a},
  1397.   {0x0723,0x1878,0x0261},
  1398.   {0x0738,0x18c0,0x0268},
  1399.   {0x074d,0x1908,0x026f},
  1400.   {0x0762,0x1950,0x0276},
  1401.   {0x0777,0x1998,0x027d},
  1402.   {0x078c,0x19e0,0x0284},
  1403.   {0x07a1,0x1a28,0x028b},
  1404.   {0x07b6,0x1a70,0x0292},
  1405.   {0x07cb,0x1ab8,0x0299},
  1406.   {0x07e0,0x1b00,0x02a0},
  1407.   {0x07f5,0x1b48,0x02a7},
  1408.   {0x080a,0x1b90,0x02ae},
  1409.   {0x081f,0x1bd8,0x02b5},
  1410.   {0x0834,0x1c20,0x02bc},
  1411.   {0x0849,0x1c68,0x02c3},
  1412.   {0x085e,0x1cb0,0x02ca},
  1413.   {0x0873,0x1cf8,0x02d1},
  1414.   {0x0888,0x1d40,0x02d8},
  1415.   {0x089d,0x1d88,0x02df},
  1416.   {0x08b2,0x1dd0,0x02e6},
  1417.   {0x08c7,0x1e18,0x02ed},
  1418.   {0x08dc,0x1e60,0x02f4},
  1419.   {0x08f1,0x1ea8,0x02fb},
  1420.   {0x0906,0x1ef0,0x0302},
  1421.   {0x091b,0x1f38,0x0309},
  1422.   {0x0930,0x1f80,0x0310},
  1423.   {0x0945,0x1fc8,0x0317},
  1424.   {0x095a,0x2010,0x031e},
  1425.   {0x096f,0x2058,0x0325},
  1426.   {0x0984,0x20a0,0x032c},
  1427.   {0x0999,0x20e8,0x0333},
  1428.   {0x09ae,0x2130,0x033a},
  1429.   {0x09c3,0x2178,0x0341},
  1430.   {0x09d8,0x21c0,0x0348},
  1431.   {0x09ed,0x2208,0x034f},
  1432.   {0x0a02,0x2250,0x0356},
  1433.   {0x0a17,0x2298,0x035d},
  1434.   {0x0a2c,0x22e0,0x0364},
  1435.   {0x0a41,0x2328,0x036b},
  1436.   {0x0a56,0x2370,0x0372},
  1437.   {0x0a6b,0x23b8,0x0379},
  1438.   {0x0a80,0x2400,0x0380},
  1439.   {0x0a95,0x2448,0x0387},
  1440.   {0x0aaa,0x2490,0x038e},
  1441.   {0x0abf,0x24d8,0x0395},
  1442.   {0x0ad4,0x2520,0x039c},
  1443.   {0x0ae9,0x2568,0x03a3},
  1444.   {0x0afe,0x25b0,0x03aa},
  1445.   {0x0b13,0x25f8,0x03b1},
  1446.   {0x0b28,0x2640,0x03b8},
  1447.   {0x0b3d,0x2688,0x03bf},
  1448.   {0x0b52,0x26d0,0x03c6},
  1449.   {0x0b67,0x2718,0x03cd},
  1450.   {0x0b7c,0x2760,0x03d4},
  1451.   {0x0b91,0x27a8,0x03db},
  1452.   {0x0ba6,0x27f0,0x03e2},
  1453.   {0x0bbb,0x2838,0x03e9},
  1454.   {0x0bd0,0x2880,0x03f0},
  1455.   {0x0be5,0x28c8,0x03f7},
  1456.   {0x0bfa,0x2910,0x03fe},
  1457.   {0x0c0f,0x2958,0x0405},
  1458.   {0x0c24,0x29a0,0x040c},
  1459.   {0x0c39,0x29e8,0x0413},
  1460.   {0x0c4e,0x2a30,0x041a},
  1461.   {0x0c63,0x2a78,0x0421},
  1462.   {0x0c78,0x2ac0,0x0428},
  1463.   {0x0c8d,0x2b08,0x042f},
  1464.   {0x0ca2,0x2b50,0x0436},
  1465.   {0x0cb7,0x2b98,0x043d},
  1466.   {0x0ccc,0x2be0,0x0444},
  1467.   {0x0ce1,0x2c28,0x044b},
  1468.   {0x0cf6,0x2c70,0x0452},
  1469.   {0x0d0b,0x2cb8,0x0459},
  1470.   {0x0d20,0x2d00,0x0460},
  1471.   {0x0d35,0x2d48,0x0467},
  1472.   {0x0d4a,0x2d90,0x046e},
  1473.   {0x0d5f,0x2dd8,0x0475},
  1474.   {0x0d74,0x2e20,0x047c},
  1475.   {0x0d89,0x2e68,0x0483},
  1476.   {0x0d9e,0x2eb0,0x048a},
  1477.   {0x0db3,0x2ef8,0x0491},
  1478.   {0x0dc8,0x2f40,0x0498},
  1479.   {0x0ddd,0x2f88,0x049f},
  1480.   {0x0df2,0x2fd0,0x04a6},
  1481.   {0x0e07,0x3018,0x04ad},
  1482.   {0x0e1c,0x3060,0x04b4},
  1483.   {0x0e31,0x30a8,0x04bb},
  1484.   {0x0e46,0x30f0,0x04c2},
  1485.   {0x0e5b,0x3138,0x04c9},
  1486.   {0x0e70,0x3180,0x04d0},
  1487.   {0x0e85,0x31c8,0x04d7},
  1488.   {0x0e9a,0x3210,0x04de},
  1489.   {0x0eaf,0x3258,0x04e5},
  1490.   {0x0ec4,0x32a0,0x04ec},
  1491.   {0x0ed9,0x32e8,0x04f3},
  1492.   {0x0eee,0x3330,0x04fa},
  1493.   {0x0f03,0x3378,0x0501},
  1494.   {0x0f18,0x33c0,0x0508},
  1495.   {0x0f2d,0x3408,0x050f},
  1496.   {0x0f42,0x3450,0x0516},
  1497.   {0x0f57,0x3498,0x051d},
  1498.   {0x0f6c,0x34e0,0x0524},
  1499.   {0x0f81,0x3528,0x052b},
  1500.   {0x0f96,0x3570,0x0532},
  1501.   {0x0fab,0x35b8,0x0539},
  1502.   {0x0fc0,0x3600,0x0540},
  1503.   {0x0fd5,0x3648,0x0547},
  1504.   {0x0fea,0x3690,0x054e},
  1505.   {0x0fff,0x36d8,0x0555},
  1506.   {0x1014,0x3720,0x055c},
  1507.   {0x1029,0x3768,0x0563},
  1508.   {0x103e,0x37b0,0x056a},
  1509.   {0x1053,0x37f8,0x0571},
  1510.   {0x1068,0x3840,0x0578},
  1511.   {0x107d,0x3888,0x057f},
  1512.   {0x1092,0x38d0,0x0586},
  1513.   {0x10a7,0x3918,0x058d},
  1514.   {0x10bc,0x3960,0x0594},
  1515.   {0x10d1,0x39a8,0x059b},
  1516.   {0x10e6,0x39f0,0x05a2},
  1517.   {0x10fb,0x3a38,0x05a9},
  1518.   {0x1110,0x3a80,0x05b0},
  1519.   {0x1125,0x3ac8,0x05b7},
  1520.   {0x113a,0x3b10,0x05be},
  1521.   {0x114f,0x3b58,0x05c5},
  1522.   {0x1164,0x3ba0,0x05cc},
  1523.   {0x1179,0x3be8,0x05d3},
  1524.   {0x118e,0x3c30,0x05da},
  1525.   {0x11a3,0x3c78,0x05e1},
  1526.   {0x11b8,0x3cc0,0x05e8},
  1527.   {0x11cd,0x3d08,0x05ef},
  1528.   {0x11e2,0x3d50,0x05f6},
  1529.   {0x11f7,0x3d98,0x05fd},
  1530.   {0x120c,0x3de0,0x0604},
  1531.   {0x1221,0x3e28,0x060b},
  1532.   {0x1236,0x3e70,0x0612},
  1533.   {0x124b,0x3eb8,0x0619},
  1534.   {0x1260,0x3f00,0x0620},
  1535.   {0x1275,0x3f48,0x0627},
  1536.   {0x128a,0x3f90,0x062e},
  1537.   {0x129f,0x3fd8,0x0635},
  1538.   {0x12b4,0x4020,0x063c},
  1539.   {0x12c9,0x4068,0x0643},
  1540.   {0x12de,0x40b0,0x064a},
  1541.   {0x12f3,0x40f8,0x0651},
  1542.   {0x1308,0x4140,0x0658},
  1543.   {0x131d,0x4188,0x065f},
  1544.   {0x1332,0x41d0,0x0666},
  1545.   {0x1347,0x4218,0x066d},
  1546.   {0x135c,0x4260,0x0674},
  1547.   {0x1371,0x42a8,0x067b},
  1548.   {0x1386,0x42f0,0x0682},
  1549.   {0x139b,0x4338,0x0689},
  1550.   {0x13b0,0x4380,0x0690},
  1551.   {0x13c5,0x43c8,0x0697},
  1552.   {0x13da,0x4410,0x069e},
  1553.   {0x13ef,0x4458,0x06a5},
  1554.   {0x1404,0x44a0,0x06ac},
  1555.   {0x1419,0x44e8,0x06b3},
  1556.   {0x142e,0x4530,0x06ba},
  1557.   {0x1443,0x4578,0x06c1},
  1558.   {0x1458,0x45c0,0x06c8},
  1559.   {0x146d,0x4608,0x06cf},
  1560.   {0x1482,0x4650,0x06d6},
  1561.   {0x1497,0x4698,0x06dd},
  1562.   {0x14ac,0x46e0,0x06e4},
  1563.   {0x14c1,0x4728,0x06eb},
  1564.   {0x14d6,0x4770,0x06f2},
  1565.   {0x14eb,0x47b8,0x06f9}
  1566. };
  1567. /*
  1568.  * this maps the absolute values of r/g/b to an r/g/b
  1569.  *
  1570.  * first 256 entries unused
  1571.  * second 256 entries HPCR-values
  1572.  */
  1573. static const GLshort errorHPCR[ERROR_RANGE][4] = {                        /* make it aligned, red = 0(error, result*8), green = 2(error, result*8), blue = 4(error, result*8) */
  1574.   {0x0100,0x0100,0x0100},
  1575.   {0x00ff,0x00ff,0x00ff},
  1576.   {0x00fe,0x00fe,0x00fe},
  1577.   {0x00fd,0x00fd,0x00fd},
  1578.   {0x00fc,0x00fc,0x00fc},
  1579.   {0x00fb,0x00fb,0x00fb},
  1580.   {0x00fa,0x00fa,0x00fa},
  1581.   {0x00f9,0x00f9,0x00f9},
  1582.   {0x00f8,0x00f8,0x00f8},
  1583.   {0x00f7,0x00f7,0x00f7},
  1584.   {0x00f6,0x00f6,0x00f6},
  1585.   {0x00f5,0x00f5,0x00f5},
  1586.   {0x00f4,0x00f4,0x00f4},
  1587.   {0x00f3,0x00f3,0x00f3},
  1588.   {0x00f2,0x00f2,0x00f2},
  1589.   {0x00f1,0x00f1,0x00f1},
  1590.   {0x00f0,0x00f0,0x00f0},
  1591.   {0x00ef,0x00ef,0x00ef},
  1592.   {0x00ee,0x00ee,0x00ee},
  1593.   {0x00ed,0x00ed,0x00ed},
  1594.   {0x00ec,0x00ec,0x00ec},
  1595.   {0x00eb,0x00eb,0x00eb},
  1596.   {0x00ea,0x00ea,0x00ea},
  1597.   {0x00e9,0x00e9,0x00e9},
  1598.   {0x00e8,0x00e8,0x00e8},
  1599.   {0x00e7,0x00e7,0x00e7},
  1600.   {0x00e6,0x00e6,0x00e6},
  1601.   {0x00e5,0x00e5,0x00e5},
  1602.   {0x00e4,0x00e4,0x00e4},
  1603.   {0x00e3,0x00e3,0x00e3},
  1604.   {0x00e2,0x00e2,0x00e2},
  1605.   {0x00e1,0x00e1,0x00e1},
  1606.   {0x00e0,0x00e0,0x00e0},
  1607.   {0x00df,0x00df,0x00df},
  1608.   {0x00de,0x00de,0x00de},
  1609.   {0x00dd,0x00dd,0x00dd},
  1610.   {0x00dc,0x00dc,0x00dc},
  1611.   {0x00db,0x00db,0x00db},
  1612.   {0x00da,0x00da,0x00da},
  1613.   {0x00d9,0x00d9,0x00d9},
  1614.   {0x00d8,0x00d8,0x00d8},
  1615.   {0x00d7,0x00d7,0x00d7},
  1616.   {0x00d6,0x00d6,0x00d6},
  1617.   {0x00d5,0x00d5,0x00d5},
  1618.   {0x00d4,0x00d4,0x00d4},
  1619.   {0x00d3,0x00d3,0x00d3},
  1620.   {0x00d2,0x00d2,0x00d2},
  1621.   {0x00d1,0x00d1,0x00d1},
  1622.   {0x00d0,0x00d0,0x00d0},
  1623.   {0x00cf,0x00cf,0x00cf},
  1624.   {0x00ce,0x00ce,0x00ce},
  1625.   {0x00cd,0x00cd,0x00cd},
  1626.   {0x00cc,0x00cc,0x00cc},
  1627.   {0x00cb,0x00cb,0x00cb},
  1628.   {0x00ca,0x00ca,0x00ca},
  1629.   {0x00c9,0x00c9,0x00c9},
  1630.   {0x00c8,0x00c8,0x00c8},
  1631.   {0x00c7,0x00c7,0x00c7},
  1632.   {0x00c6,0x00c6,0x00c6},
  1633.   {0x00c5,0x00c5,0x00c5},
  1634.   {0x00c4,0x00c4,0x00c4},
  1635.   {0x00c3,0x00c3,0x00c3},
  1636.   {0x00c2,0x00c2,0x00c2},
  1637.   {0x00c1,0x00c1,0x00c1},
  1638.   {0x00c0,0x00c0,0x00c0},
  1639.   {0x00bf,0x00bf,0x00bf},
  1640.   {0x00be,0x00be,0x00be},
  1641.   {0x00bd,0x00bd,0x00bd},
  1642.   {0x00bc,0x00bc,0x00bc},
  1643.   {0x00bb,0x00bb,0x00bb},
  1644.   {0x00ba,0x00ba,0x00ba},
  1645.   {0x00b9,0x00b9,0x00b9},
  1646.   {0x00b8,0x00b8,0x00b8},
  1647.   {0x00b7,0x00b7,0x00b7},
  1648.   {0x00b6,0x00b6,0x00b6},
  1649.   {0x00b5,0x00b5,0x00b5},
  1650.   {0x00b4,0x00b4,0x00b4},
  1651.   {0x00b3,0x00b3,0x00b3},
  1652.   {0x00b2,0x00b2,0x00b2},
  1653.   {0x00b1,0x00b1,0x00b1},
  1654.   {0x00b0,0x00b0,0x00b0},
  1655.   {0x00af,0x00af,0x00af},
  1656.   {0x00ae,0x00ae,0x00ae},
  1657.   {0x00ad,0x00ad,0x00ad},
  1658.   {0x00ac,0x00ac,0x00ac},
  1659.   {0x00ab,0x00ab,0x00ab},
  1660.   {0x00aa,0x00aa,0x00aa},
  1661.   {0x00a9,0x00a9,0x00a9},
  1662.   {0x00a8,0x00a8,0x00a8},
  1663.   {0x00a7,0x00a7,0x00a7},
  1664.   {0x00a6,0x00a6,0x00a6},
  1665.   {0x00a5,0x00a5,0x00a5},
  1666.   {0x00a4,0x00a4,0x00a4},
  1667.   {0x00a3,0x00a3,0x00a3},
  1668.   {0x00a2,0x00a2,0x00a2},
  1669.   {0x00a1,0x00a1,0x00a1},
  1670.   {0x00a0,0x00a0,0x00a0},
  1671.   {0x009f,0x009f,0x009f},
  1672.   {0x009e,0x009e,0x009e},
  1673.   {0x009d,0x009d,0x009d},
  1674.   {0x009c,0x009c,0x009c},
  1675.   {0x009b,0x009b,0x009b},
  1676.   {0x009a,0x009a,0x009a},
  1677.   {0x0099,0x0099,0x0099},
  1678.   {0x0098,0x0098,0x0098},
  1679.   {0x0097,0x0097,0x0097},
  1680.   {0x0096,0x0096,0x0096},
  1681.   {0x0095,0x0095,0x0095},
  1682.   {0x0094,0x0094,0x0094},
  1683.   {0x0093,0x0093,0x0093},
  1684.   {0x0092,0x0092,0x0092},
  1685.   {0x0091,0x0091,0x0091},
  1686.   {0x0090,0x0090,0x0090},
  1687.   {0x008f,0x008f,0x008f},
  1688.   {0x008e,0x008e,0x008e},
  1689.   {0x008d,0x008d,0x008d},
  1690.   {0x008c,0x008c,0x008c},
  1691.   {0x008b,0x008b,0x008b},
  1692.   {0x008a,0x008a,0x008a},
  1693.   {0x0089,0x0089,0x0089},
  1694.   {0x0088,0x0088,0x0088},
  1695.   {0x0087,0x0087,0x0087},
  1696.   {0x0086,0x0086,0x0086},
  1697.   {0x0085,0x0085,0x0085},
  1698.   {0x0084,0x0084,0x0084},
  1699.   {0x0083,0x0083,0x0083},
  1700.   {0x0082,0x0082,0x0082},
  1701.   {0x0081,0x0081,0x0081},
  1702.   {0x0080,0x0080,0x0080},
  1703.   {0x007f,0x007f,0x007f},
  1704.   {0x007e,0x007e,0x007e},
  1705.   {0x007d,0x007d,0x007d},
  1706.   {0x007c,0x007c,0x007c},
  1707.   {0x007b,0x007b,0x007b},
  1708.   {0x007a,0x007a,0x007a},
  1709.   {0x0079,0x0079,0x0079},
  1710.   {0x0078,0x0078,0x0078},
  1711.   {0x0077,0x0077,0x0077},
  1712.   {0x0076,0x0076,0x0076},
  1713.   {0x0075,0x0075,0x0075},
  1714.   {0x0074,0x0074,0x0074},
  1715.   {0x0073,0x0073,0x0073},
  1716.   {0x0072,0x0072,0x0072},
  1717.   {0x0071,0x0071,0x0071},
  1718.   {0x0070,0x0070,0x0070},
  1719.   {0x006f,0x006f,0x006f},
  1720.   {0x006e,0x006e,0x006e},
  1721.   {0x006d,0x006d,0x006d},
  1722.   {0x006c,0x006c,0x006c},
  1723.   {0x006b,0x006b,0x006b},
  1724.   {0x006a,0x006a,0x006a},
  1725.   {0x0069,0x0069,0x0069},
  1726.   {0x0068,0x0068,0x0068},
  1727.   {0x0067,0x0067,0x0067},
  1728.   {0x0066,0x0066,0x0066},
  1729.   {0x0065,0x0065,0x0065},
  1730.   {0x0064,0x0064,0x0064},
  1731.   {0x0063,0x0063,0x0063},
  1732.   {0x0062,0x0062,0x0062},
  1733.   {0x0061,0x0061,0x0061},
  1734.   {0x0060,0x0060,0x0060},
  1735.   {0x005f,0x005f,0x005f},
  1736.   {0x005e,0x005e,0x005e},
  1737.   {0x005d,0x005d,0x005d},
  1738.   {0x005c,0x005c,0x005c},
  1739.   {0x005b,0x005b,0x005b},
  1740.   {0x005a,0x005a,0x005a},
  1741.   {0x0059,0x0059,0x0059},
  1742.   {0x0058,0x0058,0x0058},
  1743.   {0x0057,0x0057,0x0057},
  1744.   {0x0056,0x0056,0x0056},
  1745.   {0x0055,0x0055,0x0055},
  1746.   {0x0054,0x0054,0x0054},
  1747.   {0x0053,0x0053,0x0053},
  1748.   {0x0052,0x0052,0x0052},
  1749.   {0x0051,0x0051,0x0051},
  1750.   {0x0050,0x0050,0x0050},
  1751.   {0x004f,0x004f,0x004f},
  1752.   {0x004e,0x004e,0x004e},
  1753.   {0x004d,0x004d,0x004d},
  1754.   {0x004c,0x004c,0x004c},
  1755.   {0x004b,0x004b,0x004b},
  1756.   {0x004a,0x004a,0x004a},
  1757.   {0x0049,0x0049,0x0049},
  1758.   {0x0048,0x0048,0x0048},
  1759.   {0x0047,0x0047,0x0047},
  1760.   {0x0046,0x0046,0x0046},
  1761.   {0x0045,0x0045,0x0045},
  1762.   {0x0044,0x0044,0x0044},
  1763.   {0x0043,0x0043,0x0043},
  1764.   {0x0042,0x0042,0x0042},
  1765.   {0x0041,0x0041,0x0041},
  1766.   {0x0040,0x0040,0x0040},
  1767.   {0x003f,0x003f,0x003f},
  1768.   {0x003e,0x003e,0x003e},
  1769.   {0x003d,0x003d,0x003d},
  1770.   {0x003c,0x003c,0x003c},
  1771.   {0x003b,0x003b,0x003b},
  1772.   {0x003a,0x003a,0x003a},
  1773.   {0x0039,0x0039,0x0039},
  1774.   {0x0038,0x0038,0x0038},
  1775.   {0x0037,0x0037,0x0037},
  1776.   {0x0036,0x0036,0x0036},
  1777.   {0x0035,0x0035,0x0035},
  1778.   {0x0034,0x0034,0x0034},
  1779.   {0x0033,0x0033,0x0033},
  1780.   {0x0032,0x0032,0x0032},
  1781.   {0x0031,0x0031,0x0031},
  1782.   {0x0030,0x0030,0x0030},
  1783.   {0x002f,0x002f,0x002f},
  1784.   {0x002e,0x002e,0x002e},
  1785.   {0x002d,0x002d,0x002d},
  1786.   {0x002c,0x002c,0x002c},
  1787.   {0x002b,0x002b,0x002b},
  1788.   {0x002a,0x002a,0x002a},
  1789.   {0x0029,0x0029,0x0029},
  1790.   {0x0028,0x0028,0x0028},
  1791.   {0x0027,0x0027,0x0027},
  1792.   {0x0026,0x0026,0x0026},
  1793.   {0x0025,0x0025,0x0025},
  1794.   {0x0024,0x0024,0x0024},
  1795.   {0x0023,0x0023,0x0023},
  1796.   {0x0022,0x0022,0x0022},
  1797.   {0x0021,0x0021,0x0021},
  1798.   {0x0020,0x0020,0x0020},
  1799.   {0x001f,0x001f,0x001f},
  1800.   {0x001e,0x001e,0x001e},
  1801.   {0x001d,0x001d,0x001d},
  1802.   {0x001c,0x001c,0x001c},
  1803.   {0x001b,0x001b,0x001b},
  1804.   {0x001a,0x001a,0x001a},
  1805.   {0x0019,0x0019,0x0019},
  1806.   {0x0018,0x0018,0x0018},
  1807.   {0x0017,0x0017,0x0017},
  1808.   {0x0016,0x0016,0x0016},
  1809.   {0x0015,0x0015,0x0015},
  1810.   {0x0014,0x0014,0x0014},
  1811.   {0x0013,0x0013,0x0013},
  1812.   {0x0012,0x0012,0x0012},
  1813.   {0x0011,0x0011,0x0011},
  1814.   {0x0010,0x0010,0x0010},
  1815.   {0x000f,0x000f,0x000f},
  1816.   {0x000e,0x000e,0x000e},
  1817.   {0x000d,0x000d,0x000d},
  1818.   {0x000c,0x000c,0x000c},
  1819.   {0x000b,0x000b,0x000b},
  1820.   {0x000a,0x000a,0x000a},
  1821.   {0x0009,0x0009,0x0009},
  1822.   {0x0008,0x0008,0x0008},
  1823.   {0x0007,0x0007,0x0007},
  1824.   {0x0006,0x0006,0x0006},
  1825.   {0x0005,0x0005,0x0005},
  1826.   {0x0004,0x0004,0x0004},
  1827.   {0x0003,0x0003,0x0003},
  1828.   {0x0002,0x0002,0x0002},
  1829.   {0x0001,0x0001,0x0001},
  1830.   { 16, 16, 32},
  1831.   { 16, 16, 32},
  1832.   { 17, 17, 33},
  1833.   { 17, 17, 33},
  1834.   { 18, 18, 34},
  1835.   { 18, 18, 34},
  1836.   { 19, 19, 35},
  1837.   { 19, 19, 35},
  1838.   { 20, 20, 36},
  1839.   { 20, 20, 36},
  1840.   { 21, 21, 37},
  1841.   { 21, 21, 37},
  1842.   { 22, 22, 38},
  1843.   { 22, 22, 38},
  1844.   { 23, 23, 39},
  1845.   { 23, 23, 39},
  1846.   { 24, 24, 40},
  1847.   { 24, 24, 40},
  1848.   { 25, 25, 41},
  1849.   { 25, 25, 41},
  1850.   { 26, 26, 42},
  1851.   { 26, 26, 42},
  1852.   { 27, 27, 43},
  1853.   { 27, 27, 43},
  1854.   { 28, 28, 44},
  1855.   { 28, 28, 44},
  1856.   { 29, 29, 45},
  1857.   { 29, 29, 45},
  1858.   { 30, 30, 46},
  1859.   { 30, 30, 46},
  1860.   { 31, 31, 47},
  1861.   { 31, 31, 47},
  1862.   { 32, 32, 48},
  1863.   { 32, 32, 48},
  1864.   { 33, 33, 49},
  1865.   { 33, 33, 49},
  1866.   { 34, 34, 50},
  1867.   { 34, 34, 50},
  1868.   { 35, 35, 51},
  1869.   { 35, 35, 51},
  1870.   { 36, 36, 52},
  1871.   { 36, 36, 52},
  1872.   { 37, 37, 53},
  1873.   { 37, 37, 53},
  1874.   { 38, 38, 54},
  1875.   { 38, 38, 54},
  1876.   { 39, 39, 55},
  1877.   { 39, 39, 55},
  1878.   { 32, 32, 56},
  1879.   { 33, 33, 56},
  1880.   { 34, 34, 57},
  1881.   { 35, 35, 57},
  1882.   { 36, 36, 58},
  1883.   { 37, 37, 58},
  1884.   { 38, 38, 59},
  1885.   { 39, 39, 59},
  1886.   { 40, 40, 60},
  1887.   { 41, 41, 60},
  1888.   { 42, 42, 61},
  1889.   { 43, 43, 61},
  1890.   { 44, 44, 62},
  1891.   { 45, 45, 62},
  1892.   { 46, 46, 63},
  1893.   { 47, 47, 63},
  1894.   { 48, 48, 64},
  1895.   { 49, 49, 64},
  1896.   { 50, 50, 65},
  1897.   { 51, 51, 65},
  1898.   { 52, 52, 66},
  1899.   { 53, 53, 66},
  1900.   { 54, 54, 67},
  1901.   { 55, 55, 67},
  1902.   { 56, 56, 68},
  1903.   { 57, 57, 68},
  1904.   { 58, 58, 69},
  1905.   { 59, 59, 69},
  1906.   { 60, 60, 70},
  1907.   { 61, 61, 70},
  1908.   { 62, 62, 71},
  1909.   { 63, 63, 71},
  1910.   { 64, 64, 72},
  1911.   { 65, 65, 72},
  1912.   { 66, 66, 73},
  1913.   { 67, 67, 73},
  1914.   { 68, 68, 74},
  1915.   { 69, 69, 74},
  1916.   { 70, 70, 75},
  1917.   { 71, 71, 75},
  1918.   { 72, 72, 76},
  1919.   { 73, 73, 76},
  1920.   { 74, 74, 77},
  1921.   { 75, 75, 77},
  1922.   { 76, 76, 78},
  1923.   { 77, 77, 78},
  1924.   { 78, 78, 79},
  1925.   { 79, 79, 79},
  1926.   { 80, 80, 80},
  1927.   { 81, 81, 80},
  1928.   { 82, 82, 81},
  1929.   { 83, 83, 81},
  1930.   { 84, 84, 82},
  1931.   { 85, 85, 82},
  1932.   { 86, 86, 83},
  1933.   { 87, 87, 83},
  1934.   { 88, 88, 84},
  1935.   { 89, 89, 84},
  1936.   { 90, 90, 85},
  1937.   { 91, 91, 85},
  1938.   { 92, 92, 86},
  1939.   { 93, 93, 86},
  1940.   { 94, 94, 87},
  1941.   { 95, 95, 87},
  1942.   { 96, 96, 80},
  1943.   { 97, 97, 81},
  1944.   { 98, 98, 82},
  1945.   { 99, 99, 83},
  1946.   {100,100, 84},
  1947.   {101,101, 85},
  1948.   {102,102, 86},
  1949.   {103,103, 87},
  1950.   {104,104, 88},
  1951.   {105,105, 89},
  1952.   {106,106, 90},
  1953.   {107,107, 91},
  1954.   {108,108, 92},
  1955.   {109,109, 93},
  1956.   {110,110, 94},
  1957.   {111,111, 95},
  1958.   {112,112, 96},
  1959.   {113,113, 97},
  1960.   {114,114, 98},
  1961.   {115,115, 99},
  1962.   {116,116,100},
  1963.   {117,117,101},
  1964.   {118,118,102},
  1965.   {119,119,103},
  1966.   {120,120,104},
  1967.   {121,121,105},
  1968.   {122,122,106},
  1969.   {123,123,107},
  1970.   {124,124,108},
  1971.   {125,125,109},
  1972.   {126,126,110},
  1973.   {127,127,111},
  1974.   {128,128,112},
  1975.   {129,129,113},
  1976.   {130,130,114},
  1977.   {131,131,115},
  1978.   {132,132,116},
  1979.   {133,133,117},
  1980.   {134,134,118},
  1981.   {135,135,119},
  1982.   {136,136,120},
  1983.   {137,137,121},
  1984.   {138,138,122},
  1985.   {139,139,123},
  1986.   {140,140,124},
  1987.   {141,141,125},
  1988.   {142,142,126},
  1989.   {143,143,127},
  1990.   {144,144,128},
  1991.   {145,145,129},
  1992.   {146,146,130},
  1993.   {147,147,131},
  1994.   {148,148,132},
  1995.   {149,149,133},
  1996.   {150,150,134},
  1997.   {151,151,135},
  1998.   {152,152,136},
  1999.   {153,153,137},
  2000.   {154,154,138},
  2001.   {155,155,139},
  2002.   {156,156,140},
  2003.   {157,157,141},
  2004.   {158,158,142},
  2005.   {159,159,143},
  2006.   {160,160,144},
  2007.   {161,161,145},
  2008.   {162,162,146},
  2009.   {163,163,147},
  2010.   {164,164,148},
  2011.   {165,165,149},
  2012.   {166,166,150},
  2013.   {167,167,151},
  2014.   {168,168,152},
  2015.   {169,169,153},
  2016.   {170,170,154},
  2017.   {171,171,155},
  2018.   {172,172,156},
  2019.   {173,173,157},
  2020.   {174,174,158},
  2021.   {175,175,159},
  2022.   {176,176,160},
  2023.   {177,177,161},
  2024.   {178,178,162},
  2025.   {179,179,163},
  2026.   {180,180,164},
  2027.   {181,181,165},
  2028.   {182,182,166},
  2029.   {183,183,167},
  2030.   {184,184,168},
  2031.   {185,185,169},
  2032.   {186,186,170},
  2033.   {187,187,171},
  2034.   {188,188,172},
  2035.   {189,189,173},
  2036.   {190,190,174},
  2037.   {191,191,175},
  2038.   {192,192,176},
  2039.   {193,193,177},
  2040.   {194,194,178},
  2041.   {195,195,179},
  2042.   {196,196,180},
  2043.   {197,197,181},
  2044.   {198,198,182},
  2045.   {199,199,183},
  2046.   {200,200,184},
  2047.   {201,201,185},
  2048.   {202,202,186},
  2049.   {203,203,187},
  2050.   {204,204,188},
  2051.   {205,205,189},
  2052.   {206,206,190},
  2053.   {207,207,191},
  2054.   {208,208,192},
  2055.   {209,209,193},
  2056.   {210,210,194},
  2057.   {211,211,195},
  2058.   {212,212,196},
  2059.   {213,213,197},
  2060.   {214,214,198},
  2061.   {215,215,199},
  2062.   {216,216,200},
  2063.   {217,217,201},
  2064.   {218,218,202},
  2065.   {219,219,203},
  2066.   {220,220,204},
  2067.   {221,221,205},
  2068.   {222,222,206},
  2069.   {223,223,207},
  2070.   {224,224,208},
  2071.   {225,225,209},
  2072.   {226,226,210},
  2073.   {227,227,211},
  2074.   {228,228,212},
  2075.   {229,229,213},
  2076.   {230,230,214},
  2077.   {231,231,215},
  2078.   {232,232,216},
  2079.   {233,233,217},
  2080.   {234,234,218},
  2081.   {235,235,219},
  2082.   {236,236,220},
  2083.   {237,237,221},
  2084.   {238,238,222},
  2085.   {239,239,223}
  2086. };
  2087.