Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

499 lines
38 KiB

/*************************** Module Header **********************************
* dither
* Program to create actual dither tables from ALPS's original base
* dither tables.
*
*
* Copyright (C) 1996-1999, Microsoft Corporation
* 1996/6/21 Created - Sueya Sugihara [sueyas] -
*
****************************************************************************/
#include <stddef.h>
#include <windows.h>
#include <winddi.h>
#include <stdio.h>
#define Yellow 0
#define Cyan 1
#define Magenta 2
#define Kuro 3
#define Mono 4
static unsigned char H_OrgTable[4][68][68] =
{
{ // Yellow
{100,84,70,85,100,100,93,80,94,100,100,89,76,90,100},
{99,46,31,40,97,97,48,38,44,100,100,48,34,42,99},
{67,22,1,10,63,69,24,8,14,65,68,23,5,12,64},
{67,26,20,15,63,69,29,21,19,65,68,28,21,17,64},
{100,60,48,57,100,100,62,54,59,100,100,61,50,58,100},
{100,91,78,92,100,100,86,73,87,100,100,95,82,96,100},
{100,48,36,43,100,100,47,32,41,98,98,48,39,45,100},
{68,24,6,13,64,68,23,3,11,63,69,25,9,14,66},
{68,29,21,18,64,68,27,21,16,63,69,30,22,20,66},
{100,62,52,58,100,100,61,49,57,100,100,63,56,59,100}
},
{ // Cyan
{46,65,89,90,80,18,45,64,87,87,79,16,44,63,91,91,81,20},
{59,100,100,90,7,38,58,94,94,87,5,37,57,98,98,91,9,38},
{75,100,100,30,41,52,73,94,94,28,40,50,71,98,98,33,42,53},
{83,77,13,43,61,82,82,76,11,42,60,85,85,78,15,44,62,83},
{83,2,35,55,97,97,82,1,34,54,100,100,85,3,36,56,93,93},
{23,39,48,68,97,97,21,39,47,66,100,100,25,40,49,70,93,93},
{45,64,86,86,79,15,44,63,91,91,81,19,46,65,89,88,80,17},
{58,95,95,86,4,37,57,99,99,91,8,38,59,100,100,88,6,38},
{72,95,95,26,40,50,71,99,99,32,42,53,74,100,100,29,41,51},
{82,76,10,42,60,85,85,78,14,44,62,84,84,77,12,43,61,82},
{82,1,34,54,92,92,85,3,36,56,100,100,84,2,35,55,96,96},
{20,39,47,66,92,92,24,40,49,69,100,100,22,39,48,67,96,96}
},
{ // Magenta
{93,93,85,77,7,14,20,25,29,34,39,45,52,58,64,73,100,100,100,91,83,4,13,18,23,32,37,44,48,51,56,62,70,94,94,94,86,78,9,14,20,26,29,33,38,45,52,57,63,72,99,99,99,92,84,5,13,19,24,32,37,43,48,51,56,61,69,93},
{1,12,16,22,31,36,41,47,50,55,60,68,96,96,96,88,80,10,15,21,27,30,35,39,46,54,59,66,76,97,97,97,89,81,3,12,17,23,31,36,47,62,49,55,60,67,95,95,95,87,79,11,16,22,28,30,35,40,46,53,59,65,75,98,98,98,90,82},
{29,33,38,45,52,57,63,72,99,99,99,92,84,5,13,19,24,32,37,43,48,51,56,61,69,93,93,93,85,77,7,14,20,25,29,34,39,45,52,58,64,73,100,100,100,91,83,4,13,18,23,32,37,44,48,51,56,62,70,94,94,94,86,78,9,14,20,26},
{49,55,60,67,95,95,95,87,79,11,16,22,28,30,35,40,46,53,59,65,75,98,98,98,90,82,1,12,16,22,31,36,41,47,50,55,60,68,96,96,96,88,80,10,15,21,27,30,35,39,46,54,59,66,76,97,97,97,89,81,3,12,17,23,31,36,47,62},
{100,100,100,91,83,4,13,18,23,32,37,44,48,51,56,62,70,94,94,94,86,78,9,14,20,26,29,33,38,45,52,57,63,72,99,99,99,92,84,5,13,19,24,32,37,43,48,51,56,61,69,93,93,93,85,77,7,14,20,25,29,34,39,45,52,58,64,73},
{80,10,15,21,27,30,35,39,46,54,59,66,76,97,97,97,89,81,3,12,17,23,31,36,47,62,49,55,60,67,95,95,95,87,79,11,16,22,28,30,35,40,46,53,59,65,75,98,98,98,90,82,1,12,16,22,31,36,41,47,50,55,60,68,96,96,96,88},
{24,32,37,43,48,51,56,61,69,93,93,93,85,77,7,14,20,25,29,34,39,45,52,58,64,73,100,100,100,91,83,4,13,18,23,32,37,44,48,51,56,62,70,94,94,94,86,78,9,14,20,26,29,33,38,45,52,57,63,72,99,99,99,92,84,5,13,19},
{46,53,59,65,75,98,98,98,90,82,1,12,16,22,31,36,41,47,50,55,60,68,96,96,96,88,80,10,15,21,27,30,35,39,46,54,59,66,76,97,97,97,89,81,3,12,17,23,31,36,47,62,49,55,60,67,95,95,95,87,79,11,16,22,28,30,35,40},
{70,94,94,94,86,78,9,14,20,26,29,33,38,45,52,57,63,72,99,99,99,92,84,5,13,19,24,32,37,43,48,51,56,61,69,93,93,93,85,77,7,14,20,25,29,34,39,45,52,58,64,73,100,100,100,91,83,4,13,18,23,32,37,44,48,51,56,62},
{89,81,3,12,17,23,31,36,47,62,49,55,60,67,95,95,95,87,79,11,16,22,28,30,35,40,46,53,59,65,75,98,98,98,90,82,1,12,16,22,31,36,41,47,50,55,60,68,96,96,96,88,80,10,15,21,27,30,35,39,46,54,59,66,76,97,97,97},
{20,25,29,34,39,45,52,58,64,73,100,100,100,91,83,4,13,18,23,32,37,44,48,51,56,62,70,94,94,94,86,78,9,14,20,26,29,33,38,45,52,57,63,72,99,99,99,92,84,5,13,19,24,32,37,43,48,51,56,61,69,93,93,93,85,77,7,14},
{41,47,50,55,60,68,96,96,96,88,80,10,15,21,27,30,35,39,46,54,59,66,76,97,97,97,89,81,3,12,17,23,31,36,47,62,49,55,60,67,95,95,95,87,79,11,16,22,28,30,35,40,46,53,59,65,75,98,98,98,90,82,1,12,16,22,31,36},
{63,72,99,99,99,92,84,5,13,19,24,32,37,43,48,51,56,61,69,93,93,93,85,77,7,14,20,25,29,34,39,45,52,58,64,73,100,100,100,91,83,4,13,18,23,32,37,44,48,51,56,62,70,94,94,94,86,78,9,14,20,26,29,33,38,45,52,57},
{95,87,79,11,16,22,28,30,35,40,46,53,59,65,75,98,98,98,90,82,1,12,16,22,31,36,41,47,50,55,60,68,96,96,96,88,80,10,15,21,27,30,35,39,46,54,59,66,76,97,97,97,89,81,3,12,17,23,31,36,47,62,49,55,60,67,95,95},
{13,18,23,32,37,44,48,51,56,62,70,94,94,94,86,78,9,14,20,26,29,33,38,45,52,57,63,72,99,99,99,92,84,5,13,19,24,32,37,43,48,51,56,61,69,93,93,93,85,77,7,14,20,25,29,34,39,45,52,58,64,73,100,100,100,91,83,4},
{35,39,46,54,59,66,76,97,97,97,89,81,3,12,17,23,31,36,47,62,49,55,60,67,95,95,95,87,79,11,16,22,28,30,35,40,46,53,59,65,75,98,98,98,90,82,1,12,16,22,31,36,41,47,50,55,60,68,96,96,96,88,80,10,15,21,27,30},
{56,61,69,93,93,93,85,77,7,14,20,25,29,34,39,45,52,58,64,73,100,100,100,91,83,4,13,18,23,32,37,44,48,51,56,62,70,94,94,94,86,78,9,14,20,26,29,33,38,45,52,57,63,72,99,99,99,92,84,5,13,19,24,32,37,43,48,51},
{98,98,90,82,1,12,16,22,31,36,41,47,50,55,60,68,96,96,96,88,80,10,15,21,27,30,35,39,46,54,59,66,76,97,97,97,89,81,3,12,17,23,31,36,47,62,49,55,60,67,95,95,95,87,79,11,16,22,28,30,35,40,46,53,59,65,75,98},
{9,14,20,26,29,33,38,45,52,57,63,72,99,99,99,92,84,5,13,19,24,32,37,43,48,51,56,61,69,93,93,93,85,77,7,14,20,25,29,34,39,45,52,58,64,73,100,100,100,91,83,4,13,18,23,32,37,44,48,51,56,62,70,94,94,94,86,78},
{31,36,47,62,49,55,60,67,95,95,95,87,79,11,16,22,28,30,35,40,46,53,59,65,75,98,98,98,90,82,1,12,16,22,31,36,41,47,50,55,60,68,96,96,96,88,80,10,15,21,27,30,35,39,46,54,59,66,76,97,97,97,89,81,3,12,17,23},
{52,58,64,73,100,100,100,91,83,4,13,18,23,32,37,44,48,51,56,62,70,94,94,94,86,78,9,14,20,26,29,33,38,45,52,57,63,72,99,99,99,92,84,5,13,19,24,32,37,43,48,51,56,61,69,93,93,93,85,77,7,14,20,25,29,34,39,45},
{96,96,96,88,80,10,15,21,27,30,35,39,46,54,59,66,76,97,97,97,89,81,3,12,17,23,31,36,47,62,49,55,60,67,95,95,95,87,79,11,16,22,28,30,35,40,46,53,59,65,75,98,98,98,90,82,1,12,16,22,31,36,41,47,50,55,60,68},
{84,5,13,19,24,32,37,43,48,51,56,61,69,93,93,93,85,77,7,14,20,25,29,34,39,45,52,58,64,73,100,100,100,91,83,4,13,18,23,32,37,44,48,51,56,62,70,94,94,94,86,78,9,14,20,26,29,33,38,45,52,57,63,72,99,99,99,92},
{28,30,35,40,46,53,59,65,75,98,98,98,90,82,1,12,16,22,31,36,41,47,50,55,60,68,96,96,96,88,80,10,15,21,27,30,35,39,46,54,59,66,76,97,97,97,89,81,3,12,17,23,31,36,47,62,49,55,60,67,95,95,95,87,79,11,16,22},
{48,51,56,62,70,94,94,94,86,78,9,14,20,26,29,33,38,45,52,57,63,72,99,99,99,92,84,5,13,19,24,32,37,43,48,51,56,61,69,93,93,93,85,77,7,14,20,25,29,34,39,45,52,58,64,73,100,100,100,91,83,4,13,18,23,32,37,44},
{76,97,97,97,89,81,3,12,17,23,31,36,47,62,49,55,60,67,95,95,95,87,79,11,16,22,28,30,35,40,46,53,59,65,75,98,98,98,90,82,1,12,16,22,31,36,41,47,50,55,60,68,96,96,96,88,80,10,15,21,27,30,35,39,46,54,59,66},
{85,77,7,14,20,25,29,34,39,45,52,58,64,73,100,100,100,91,83,4,13,18,23,32,37,44,48,51,56,62,70,94,94,94,86,78,9,14,20,26,29,33,38,45,52,57,63,72,99,99,99,92,84,5,13,19,24,32,37,43,48,51,56,61,69,93,93,93},
{16,22,31,36,41,47,50,55,60,68,96,96,96,88,80,10,15,21,27,30,35,39,46,54,59,66,76,97,97,97,89,81,3,12,17,23,31,36,47,62,49,55,60,67,95,95,95,87,79,11,16,22,28,30,35,40,46,53,59,65,75,98,98,98,90,82,1,12},
{38,45,52,57,63,72,99,99,99,92,84,5,13,19,24,32,37,43,48,51,56,61,69,93,93,93,85,77,7,14,20,25,29,34,39,45,52,58,64,73,100,100,100,91,83,4,13,18,23,32,37,44,48,51,56,62,70,94,94,94,86,78,9,14,20,26,29,33},
{60,67,95,95,95,87,79,11,16,22,28,30,35,40,46,53,59,65,75,98,98,98,90,82,1,12,16,22,31,36,41,47,50,55,60,68,96,96,96,88,80,10,15,21,27,30,35,39,46,54,59,66,76,97,97,97,89,81,3,12,17,23,31,36,47,62,49,55},
{100,91,83,4,13,18,23,32,37,44,48,51,56,62,70,94,94,94,86,78,9,14,20,26,29,33,38,45,52,57,63,72,99,99,99,92,84,5,13,19,24,32,37,43,48,51,56,61,69,93,93,93,85,77,7,14,20,25,29,34,39,45,52,58,64,73,100,100},
{15,21,27,30,35,39,46,54,59,66,76,97,97,97,89,81,3,12,17,23,31,36,47,62,49,55,60,67,95,95,95,87,79,11,16,22,28,30,35,40,46,53,59,65,75,98,98,98,90,82,1,12,16,22,31,36,41,47,50,55,60,68,96,96,96,88,80,10},
{37,43,48,51,56,61,69,93,93,93,85,77,7,14,20,25,29,34,39,45,52,58,64,73,100,100,100,91,83,4,13,18,23,32,37,44,48,51,56,62,70,94,94,94,86,78,9,14,20,26,29,33,38,45,52,57,63,72,99,99,99,92,84,5,13,19,24,32},
{59,65,75,98,98,98,90,82,1,12,16,22,31,36,41,47,50,55,60,68,96,96,96,88,80,10,15,21,27,30,35,39,46,54,59,66,76,97,97,97,89,81,3,12,17,23,31,36,47,62,49,55,60,67,95,95,95,87,79,11,16,22,28,30,35,40,46,53},
{94,94,86,78,9,14,20,26,29,33,38,45,52,57,63,72,99,99,99,92,84,5,13,19,24,32,37,43,48,51,56,61,69,93,93,93,85,77,7,14,20,25,29,34,39,45,52,58,64,73,100,100,100,91,83,4,13,18,23,32,37,44,48,51,56,62,70,94},
{3,12,17,23,31,36,47,62,49,55,60,67,95,95,95,87,79,11,16,22,28,30,35,40,46,53,59,65,75,98,98,98,90,82,1,12,16,22,31,36,41,47,50,55,60,68,96,96,96,88,80,10,15,21,27,30,35,39,46,54,59,66,76,97,97,97,89,81},
{29,34,39,45,52,58,64,73,100,100,100,91,83,4,13,18,23,32,37,44,48,51,56,62,70,94,94,94,86,78,9,14,20,26,29,33,38,45,52,57,63,72,99,99,99,92,84,5,13,19,24,32,37,43,48,51,56,61,69,93,93,93,85,77,7,14,20,25},
{50,55,60,68,96,96,96,88,80,10,15,21,27,30,35,39,46,54,59,66,76,97,97,97,89,81,3,12,17,23,31,36,47,62,49,55,60,67,95,95,95,87,79,11,16,22,28,30,35,40,46,53,59,65,75,98,98,98,90,82,1,12,16,22,31,36,41,47},
{99,99,99,92,84,5,13,19,24,32,37,43,48,51,56,61,69,93,93,93,85,77,7,14,20,25,29,34,39,45,52,58,64,73,100,100,100,91,83,4,13,18,23,32,37,44,48,51,56,62,70,94,94,94,86,78,9,14,20,26,29,33,38,45,52,57,63,72},
{79,11,16,22,28,30,35,40,46,53,59,65,75,98,98,98,90,82,1,12,16,22,31,36,41,47,50,55,60,68,96,96,96,88,80,10,15,21,27,30,35,39,46,54,59,66,76,97,97,97,89,81,3,12,17,23,31,36,47,62,49,55,60,67,95,95,95,87},
{23,32,37,44,48,51,56,62,70,94,94,94,86,78,9,14,20,26,29,33,38,45,52,57,63,72,99,99,99,92,84,5,13,19,24,32,37,43,48,51,56,61,69,93,93,93,85,77,7,14,20,25,29,34,39,45,52,58,64,73,100,100,100,91,83,4,13,18},
{46,54,59,66,76,97,97,97,89,81,3,12,17,23,31,36,47,62,49,55,60,67,95,95,95,87,79,11,16,22,28,30,35,40,46,53,59,65,75,98,98,98,90,82,1,12,16,22,31,36,41,47,50,55,60,68,96,96,96,88,80,10,15,21,27,30,35,39},
{69,93,93,93,85,77,7,14,20,25,29,34,39,45,52,58,64,73,100,100,100,91,83,4,13,18,23,32,37,44,48,51,56,62,70,94,94,94,86,78,9,14,20,26,29,33,38,45,52,57,63,72,99,99,99,92,84,5,13,19,24,32,37,43,48,51,56,61},
{90,82,1,12,16,22,31,36,41,47,50,55,60,68,96,96,96,88,80,10,15,21,27,30,35,39,46,54,59,66,76,97,97,97,89,81,3,12,17,23,31,36,47,62,49,55,60,67,95,95,95,87,79,11,16,22,28,30,35,40,46,53,59,65,75,98,98,98},
{20,26,29,33,38,45,52,57,63,72,99,99,99,92,84,5,13,19,24,32,37,43,48,51,56,61,69,93,93,93,85,77,7,14,20,25,29,34,39,45,52,58,64,73,100,100,100,91,83,4,13,18,23,32,37,44,48,51,56,62,70,94,94,94,86,78,9,14},
{47,62,49,55,60,67,95,95,95,87,79,11,16,22,28,30,35,40,46,53,59,65,75,98,98,98,90,82,1,12,16,22,31,36,41,47,50,55,60,68,96,96,96,88,80,10,15,21,27,30,35,39,46,54,59,66,76,97,97,97,89,81,3,12,17,23,31,36},
{64,73,100,100,100,91,83,4,13,18,23,32,37,44,48,51,56,62,70,94,94,94,86,78,9,14,20,26,29,33,38,45,52,57,63,72,99,99,99,92,84,5,13,19,24,32,37,43,48,51,56,61,69,93,93,93,85,77,7,14,20,25,29,34,39,45,52,58},
{96,88,80,10,15,21,27,30,35,39,46,54,59,66,76,97,97,97,89,81,3,12,17,23,31,36,47,62,49,55,60,67,95,95,95,87,79,11,16,22,28,30,35,40,46,53,59,65,75,98,98,98,90,82,1,12,16,22,31,36,41,47,50,55,60,68,96,96},
{13,19,24,32,37,43,48,51,56,61,69,93,93,93,85,77,7,14,20,25,29,34,39,45,52,58,64,73,100,100,100,91,83,4,13,18,23,32,37,44,48,51,56,62,70,94,94,94,86,78,9,14,20,26,29,33,38,45,52,57,63,72,99,99,99,92,84,5},
{35,40,46,53,59,65,75,98,98,98,90,82,1,12,16,22,31,36,41,47,50,55,60,68,96,96,96,88,80,10,15,21,27,30,35,39,46,54,59,66,76,97,97,97,89,81,3,12,17,23,31,36,47,62,49,55,60,67,95,95,95,87,79,11,16,22,28,30},
{56,62,70,94,94,94,86,78,9,14,20,26,29,33,38,45,52,57,63,72,99,99,99,92,84,5,13,19,24,32,37,43,48,51,56,61,69,93,93,93,85,77,7,14,20,25,29,34,39,45,52,58,64,73,100,100,100,91,83,4,13,18,23,32,37,44,48,51},
{97,97,89,81,3,12,17,23,31,36,47,62,49,55,60,67,95,95,95,87,79,11,16,22,28,30,35,40,46,53,59,65,75,98,98,98,90,82,1,12,16,22,31,36,41,47,50,55,60,68,96,96,96,88,80,10,15,21,27,30,35,39,46,54,59,66,76,97},
{7,14,20,25,29,34,39,45,52,58,64,73,100,100,100,91,83,4,13,18,23,32,37,44,48,51,56,62,70,94,94,94,86,78,9,14,20,26,29,33,38,45,52,57,63,72,99,99,99,92,84,5,13,19,24,32,37,43,48,51,56,61,69,93,93,93,85,77},
{31,36,41,47,50,55,60,68,96,96,96,88,80,10,15,21,27,30,35,39,46,54,59,66,76,97,97,97,89,81,3,12,17,23,31,36,47,62,49,55,60,67,95,95,95,87,79,11,16,22,28,30,35,40,46,53,59,65,75,98,98,98,90,82,1,12,16,22},
{52,57,63,72,99,99,99,92,84,5,13,19,24,32,37,43,48,51,56,61,69,93,93,93,85,77,7,14,20,25,29,34,39,45,52,58,64,73,100,100,100,91,83,4,13,18,23,32,37,44,48,51,56,62,70,94,94,94,86,78,9,14,20,26,29,33,38,45},
{95,95,95,87,79,11,16,22,28,30,35,40,46,53,59,65,75,98,98,98,90,82,1,12,16,22,31,36,41,47,50,55,60,68,96,96,96,88,80,10,15,21,27,30,35,39,46,54,59,66,76,97,97,97,89,81,3,12,17,23,31,36,47,62,49,55,60,67},
{83,4,13,18,23,32,37,44,48,51,56,62,70,94,94,94,86,78,9,14,20,26,29,33,38,45,52,57,63,72,99,99,99,92,84,5,13,19,24,32,37,43,48,51,56,61,69,93,93,93,85,77,7,14,20,25,29,34,39,45,52,58,64,73,100,100,100,91},
{27,30,35,39,46,54,59,66,76,97,97,97,89,81,3,12,17,23,31,36,47,62,49,55,60,67,95,95,95,87,79,11,16,22,28,30,35,40,46,53,59,65,75,98,98,98,90,82,1,12,16,22,31,36,41,47,50,55,60,68,96,96,96,88,80,10,15,21},
{48,51,56,61,69,93,93,93,85,77,7,14,20,25,29,34,39,45,52,58,64,73,100,100,100,91,83,4,13,18,23,32,37,44,48,51,56,62,70,94,94,94,86,78,9,14,20,26,29,33,38,45,52,57,63,72,99,99,99,92,84,5,13,19,24,32,37,43},
{75,98,98,98,90,82,1,12,16,22,31,36,41,47,50,55,60,68,96,96,96,88,80,10,15,21,27,30,35,39,46,54,59,66,76,97,97,97,89,81,3,12,17,23,31,36,47,62,49,55,60,67,95,95,95,87,79,11,16,22,28,30,35,40,46,53,59,65},
{86,78,9,14,20,26,29,33,38,45,52,57,63,72,99,99,99,92,84,5,13,19,24,32,37,43,48,51,56,61,69,93,93,93,85,77,7,14,20,25,29,34,39,45,52,58,64,73,100,100,100,91,83,4,13,18,23,32,37,44,48,51,56,62,70,94,94,94},
{17,23,31,36,47,62,49,55,60,67,95,95,95,87,79,11,16,22,28,30,35,40,46,53,59,65,75,98,98,98,90,82,1,12,16,22,31,36,41,47,50,55,60,68,96,96,96,88,80,10,15,21,27,30,35,39,46,54,59,66,76,97,97,97,89,81,3,12},
{39,45,52,58,64,73,100,100,100,91,83,4,13,18,23,32,37,44,48,51,56,62,70,94,94,94,86,78,9,14,20,26,29,33,38,45,52,57,63,72,99,99,99,92,84,5,13,19,24,32,37,43,48,51,56,61,69,93,93,93,85,77,7,14,20,25,29,34},
{60,68,96,96,96,88,80,10,15,21,27,30,35,39,46,54,59,66,76,97,97,97,89,81,3,12,17,23,31,36,47,62,49,55,60,67,95,95,95,87,79,11,16,22,28,30,35,40,46,53,59,65,75,98,98,98,90,82,1,12,16,22,31,36,41,47,50,55},
{99,92,84,5,13,19,24,32,37,43,48,51,56,61,69,93,93,93,85,77,7,14,20,25,29,34,39,45,52,58,64,73,100,100,100,91,83,4,13,18,23,32,37,44,48,51,56,62,70,94,94,94,86,78,9,14,20,26,29,33,38,45,52,57,63,72,99,99},
{16,22,28,30,35,40,46,53,59,65,75,98,98,98,90,82,1,12,16,22,31,36,41,47,50,55,60,68,96,96,96,88,80,10,15,21,27,30,35,39,46,54,59,66,76,97,97,97,89,81,3,12,17,23,31,36,47,62,49,55,60,67,95,95,95,87,79,11},
{37,44,48,51,56,62,70,94,94,94,86,78,9,14,20,26,29,33,38,45,52,57,63,72,99,99,99,92,84,5,13,19,24,32,37,43,48,51,56,61,69,93,93,93,85,77,7,14,20,25,29,34,39,45,52,58,64,73,100,100,100,91,83,4,13,18,23,32},
{59,66,76,97,97,97,89,81,3,12,17,23,31,36,47,62,49,55,60,67,95,95,95,87,79,11,16,22,28,30,35,40,46,53,59,65,75,98,98,98,90,82,1,12,16,22,31,36,41,47,50,55,60,68,96,96,96,88,80,10,15,21,27,30,35,39,46,54}
},
{ // Kuro
{93,93,87,74,97,97,42,51,64,57,27,21,60,29,3,10,68,100,100,92,86,96,96,46,52,65,54,23,15,58,30,5,11,69,94,94,88,76,98,98,40,51,63,57,27,22,60,29,4,10,68,99,99,92,85,95,95,44,52,65,54,23,16,58,31,6,12,69},
{28,1,9,68,97,97,91,83,94,94,47,53,66,55,24,17,58,33,8,14,70,96,96,90,82,99,99,35,49,61,56,25,19,59,28,2,9,68,98,98,91,84,93,93,48,53,67,55,24,18,59,32,7,13,70,95,95,89,80,100,100,38,50,62,56,25,20,59},
{54,23,15,58,30,5,11,69,94,94,88,76,98,98,40,51,63,57,27,22,60,29,4,10,68,99,99,92,85,95,95,44,52,65,54,23,16,58,31,6,12,69,93,93,87,74,97,97,42,51,64,57,27,21,60,29,3,10,68,100,100,92,86,96,96,46,52,65},
{99,35,49,61,56,25,19,59,28,2,9,68,98,98,91,84,93,93,48,53,67,55,24,18,59,32,7,13,70,95,95,89,80,100,100,38,50,62,56,25,20,59,28,1,9,68,97,97,91,83,94,94,47,53,66,55,24,17,58,33,8,14,70,96,96,90,82,99},
{99,92,85,95,95,44,52,65,54,23,16,58,31,6,12,69,93,93,87,74,97,97,42,51,64,57,27,21,60,29,3,10,68,100,100,92,86,96,96,46,52,65,54,23,15,58,30,5,11,69,94,94,88,76,98,98,40,51,63,57,27,22,60,29,4,10,68,99},
{7,13,70,95,95,89,80,100,100,38,50,62,56,25,20,59,28,1,9,68,97,97,91,83,94,94,47,53,66,55,24,17,58,33,8,14,70,96,96,90,82,99,99,35,49,61,56,25,19,59,28,2,9,68,98,98,91,84,93,93,48,53,67,55,24,18,59,32},
{27,21,60,29,3,10,68,100,100,92,86,96,96,46,52,65,54,23,15,58,30,5,11,69,94,94,88,76,98,98,40,51,63,57,27,22,60,29,4,10,68,99,99,92,85,95,95,44,52,65,54,23,16,58,31,6,12,69,93,93,87,74,97,97,42,51,64,57},
{47,53,66,55,24,17,58,33,8,14,70,96,96,90,82,99,99,35,49,61,56,25,19,59,28,2,9,68,98,98,91,84,93,93,48,53,67,55,24,18,59,32,7,13,70,95,95,89,80,100,100,38,50,62,56,25,20,59,28,1,9,68,97,97,91,83,94,94},
{88,76,98,98,40,51,63,57,27,22,60,29,4,10,68,99,99,92,85,95,95,44,52,65,54,23,16,58,31,6,12,69,93,93,87,74,97,97,42,51,64,57,27,21,60,29,3,10,68,100,100,92,86,96,96,46,52,65,54,23,15,58,30,5,11,69,94,94},
{9,68,98,98,91,84,93,93,48,53,67,55,24,18,59,32,7,13,70,95,95,89,80,100,100,38,50,62,56,25,20,59,28,1,9,68,97,97,91,83,94,94,47,53,66,55,24,17,58,33,8,14,70,96,96,90,82,99,99,35,49,61,56,25,19,59,28,2},
{16,58,31,6,12,69,93,93,87,74,97,97,42,51,64,57,27,21,60,29,3,10,68,100,100,92,86,96,96,46,52,65,54,23,15,58,30,5,11,69,94,94,88,76,98,98,40,51,63,57,27,22,60,29,4,10,68,99,99,92,85,95,95,44,52,65,54,23},
{50,62,56,25,20,59,28,1,9,68,97,97,91,83,94,94,47,53,66,55,24,17,58,33,8,14,70,96,96,90,82,99,99,35,49,61,56,25,19,59,28,2,9,68,98,98,91,84,93,93,48,53,67,55,24,18,59,32,7,13,70,95,95,89,80,100,100,38},
{86,96,96,46,52,65,54,23,15,58,30,5,11,69,94,94,88,76,98,98,40,51,63,57,27,22,60,29,4,10,68,99,99,92,85,95,95,44,52,65,54,23,16,58,31,6,12,69,93,93,87,74,97,97,42,51,64,57,27,21,60,29,3,10,68,100,100,92},
{70,96,96,90,82,99,99,35,49,61,56,25,19,59,28,2,9,68,98,98,91,84,93,93,48,53,67,55,24,18,59,32,7,13,70,95,95,89,80,100,100,38,50,62,56,25,20,59,28,1,9,68,97,97,91,83,94,94,47,53,66,55,24,17,58,33,8,14},
{60,29,4,10,68,99,99,92,85,95,95,44,52,65,54,23,16,58,31,6,12,69,93,93,87,74,97,97,42,51,64,57,27,21,60,29,3,10,68,100,100,92,86,96,96,46,52,65,54,23,15,58,30,5,11,69,94,94,88,76,98,98,40,51,63,57,27,22},
{67,55,24,18,59,32,7,13,70,95,95,89,80,100,100,38,50,62,56,25,20,59,28,1,9,68,97,97,91,83,94,94,47,53,66,55,24,17,58,33,8,14,70,96,96,90,82,99,99,35,49,61,56,25,19,59,28,2,9,68,98,98,91,84,93,93,48,53},
{97,97,42,51,64,57,27,21,60,29,3,10,68,100,100,92,86,96,96,46,52,65,54,23,15,58,30,5,11,69,94,94,88,76,98,98,40,51,63,57,27,22,60,29,4,10,68,99,99,92,85,95,95,44,52,65,54,23,16,58,31,6,12,69,93,93,87,74},
{97,97,91,83,94,94,47,53,66,55,24,17,58,33,8,14,70,96,96,90,82,99,99,35,49,61,56,25,19,59,28,2,9,68,98,98,91,84,93,93,48,53,67,55,24,18,59,32,7,13,70,95,95,89,80,100,100,38,50,62,56,25,20,59,28,1,9,68},
{30,5,11,69,94,94,88,76,98,98,40,51,63,57,27,22,60,29,4,10,68,99,99,92,85,95,95,44,52,65,54,23,16,58,31,6,12,69,93,93,87,74,97,97,42,51,64,57,27,21,60,29,3,10,68,100,100,92,86,96,96,46,52,65,54,23,15,58},
{56,25,19,59,28,2,9,68,98,98,91,84,93,93,48,53,67,55,24,18,59,32,7,13,70,95,95,89,80,100,100,38,50,62,56,25,20,59,28,1,9,68,97,97,91,83,94,94,47,53,66,55,24,17,58,33,8,14,70,96,96,90,82,99,99,35,49,61},
{95,44,52,65,54,23,16,58,31,6,12,69,93,93,87,74,97,97,42,51,64,57,27,21,60,29,3,10,68,100,100,92,86,96,96,46,52,65,54,23,15,58,30,5,11,69,94,94,88,76,98,98,40,51,63,57,27,22,60,29,4,10,68,99,99,92,85,95},
{95,89,80,100,100,38,50,62,56,25,20,59,28,1,9,68,97,97,91,83,94,94,47,53,66,55,24,17,58,33,8,14,70,96,96,90,82,99,99,35,49,61,56,25,19,59,28,2,9,68,98,98,91,84,93,93,48,53,67,55,24,18,59,32,7,13,70,95},
{3,10,68,100,100,92,86,96,96,46,52,65,54,23,15,58,30,5,11,69,94,94,88,76,98,98,40,51,63,57,27,22,60,29,4,10,68,99,99,92,85,95,95,44,52,65,54,23,16,58,31,6,12,69,93,93,87,74,97,97,42,51,64,57,27,21,60,29},
{24,17,58,33,8,14,70,96,96,90,82,99,99,35,49,61,56,25,19,59,28,2,9,68,98,98,91,84,93,93,48,53,67,55,24,18,59,32,7,13,70,95,95,89,80,100,100,38,50,62,56,25,20,59,28,1,9,68,97,97,91,83,94,94,47,53,66,55},
{40,51,63,57,27,22,60,29,4,10,68,99,99,92,85,95,95,44,52,65,54,23,16,58,31,6,12,69,93,93,87,74,97,97,42,51,64,57,27,21,60,29,3,10,68,100,100,92,86,96,96,46,52,65,54,23,15,58,30,5,11,69,94,94,88,76,98,98},
{91,84,93,93,48,53,67,55,24,18,59,32,7,13,70,95,95,89,80,100,100,38,50,62,56,25,20,59,28,1,9,68,97,97,91,83,94,94,47,53,66,55,24,17,58,33,8,14,70,96,96,90,82,99,99,35,49,61,56,25,19,59,28,2,9,68,98,98},
{12,69,93,93,87,74,97,97,42,51,64,57,27,21,60,29,3,10,68,100,100,92,86,96,96,46,52,65,54,23,15,58,30,5,11,69,94,94,88,76,98,98,40,51,63,57,27,22,60,29,4,10,68,99,99,92,85,95,95,44,52,65,54,23,16,58,31,6},
{20,59,28,1,9,68,97,97,91,83,94,94,47,53,66,55,24,17,58,33,8,14,70,96,96,90,82,99,99,35,49,61,56,25,19,59,28,2,9,68,98,98,91,84,93,93,48,53,67,55,24,18,59,32,7,13,70,95,95,89,80,100,100,38,50,62,56,25},
{52,65,54,23,15,58,30,5,11,69,94,94,88,76,98,98,40,51,63,57,27,22,60,29,4,10,68,99,99,92,85,95,95,44,52,65,54,23,16,58,31,6,12,69,93,93,87,74,97,97,42,51,64,57,27,21,60,29,3,10,68,100,100,92,86,96,96,46},
{82,99,99,35,49,61,56,25,19,59,28,2,9,68,98,98,91,84,93,93,48,53,67,55,24,18,59,32,7,13,70,95,95,89,80,100,100,38,50,62,56,25,20,59,28,1,9,68,97,97,91,83,94,94,47,53,66,55,24,17,58,33,8,14,70,96,96,90},
{68,99,99,92,85,95,95,44,52,65,54,23,16,58,31,6,12,69,93,93,87,74,97,97,42,51,64,57,27,21,60,29,3,10,68,100,100,92,86,96,96,46,52,65,54,23,15,58,30,5,11,69,94,94,88,76,98,98,40,51,63,57,27,22,60,29,4,10},
{59,32,7,13,70,95,95,89,80,100,100,38,50,62,56,25,20,59,28,1,9,68,97,97,91,83,94,94,47,53,66,55,24,17,58,33,8,14,70,96,96,90,82,99,99,35,49,61,56,25,19,59,28,2,9,68,98,98,91,84,93,93,48,53,67,55,24,18},
{64,57,27,21,60,29,3,10,68,100,100,92,86,96,96,46,52,65,54,23,15,58,30,5,11,69,94,94,88,76,98,98,40,51,63,57,27,22,60,29,4,10,68,99,99,92,85,95,95,44,52,65,54,23,16,58,31,6,12,69,93,93,87,74,97,97,42,51},
{94,94,47,53,66,55,24,17,58,33,8,14,70,96,96,90,82,99,99,35,49,61,56,25,19,59,28,2,9,68,98,98,91,84,93,93,48,53,67,55,24,18,59,32,7,13,70,95,95,89,80,100,100,38,50,62,56,25,20,59,28,1,9,68,97,97,91,83},
{94,94,88,76,98,98,40,51,63,57,27,22,60,29,4,10,68,99,99,92,85,95,95,44,52,65,54,23,16,58,31,6,12,69,93,93,87,74,97,97,42,51,64,57,27,21,60,29,3,10,68,100,100,92,86,96,96,46,52,65,54,23,15,58,30,5,11,69},
{28,2,9,68,98,98,91,84,93,93,48,53,67,55,24,18,59,32,7,13,70,95,95,89,80,100,100,38,50,62,56,25,20,59,28,1,9,68,97,97,91,83,94,94,47,53,66,55,24,17,58,33,8,14,70,96,96,90,82,99,99,35,49,61,56,25,19,59},
{54,23,16,58,31,6,12,69,93,93,87,74,97,97,42,51,64,57,27,21,60,29,3,10,68,100,100,92,86,96,96,46,52,65,54,23,15,58,30,5,11,69,94,94,88,76,98,98,40,51,63,57,27,22,60,29,4,10,68,99,99,92,85,95,95,44,52,65},
{100,38,50,62,56,25,20,59,28,1,9,68,97,97,91,83,94,94,47,53,66,55,24,17,58,33,8,14,70,96,96,90,82,99,99,35,49,61,56,25,19,59,28,2,9,68,98,98,91,84,93,93,48,53,67,55,24,18,59,32,7,13,70,95,95,89,80,100},
{100,92,86,96,96,46,52,65,54,23,15,58,30,5,11,69,94,94,88,76,98,98,40,51,63,57,27,22,60,29,4,10,68,99,99,92,85,95,95,44,52,65,54,23,16,58,31,6,12,69,93,93,87,74,97,97,42,51,64,57,27,21,60,29,3,10,68,100},
{8,14,70,96,96,90,82,99,99,35,49,61,56,25,19,59,28,2,9,68,98,98,91,84,93,93,48,53,67,55,24,18,59,32,7,13,70,95,95,89,80,100,100,38,50,62,56,25,20,59,28,1,9,68,97,97,91,83,94,94,47,53,66,55,24,17,58,33},
{27,22,60,29,4,10,68,99,99,92,85,95,95,44,52,65,54,23,16,58,31,6,12,69,93,93,87,74,97,97,42,51,64,57,27,21,60,29,3,10,68,100,100,92,86,96,96,46,52,65,54,23,15,58,30,5,11,69,94,94,88,76,98,98,40,51,63,57},
{48,53,67,55,24,18,59,32,7,13,70,95,95,89,80,100,100,38,50,62,56,25,20,59,28,1,9,68,97,97,91,83,94,94,47,53,66,55,24,17,58,33,8,14,70,96,96,90,82,99,99,35,49,61,56,25,19,59,28,2,9,68,98,98,91,84,93,93},
{87,74,97,97,42,51,64,57,27,21,60,29,3,10,68,100,100,92,86,96,96,46,52,65,54,23,15,58,30,5,11,69,94,94,88,76,98,98,40,51,63,57,27,22,60,29,4,10,68,99,99,92,85,95,95,44,52,65,54,23,16,58,31,6,12,69,93,93},
{9,68,97,97,91,83,94,94,47,53,66,55,24,17,58,33,8,14,70,96,96,90,82,99,99,35,49,61,56,25,19,59,28,2,9,68,98,98,91,84,93,93,48,53,67,55,24,18,59,32,7,13,70,95,95,89,80,100,100,38,50,62,56,25,20,59,28,1},
{15,58,30,5,11,69,94,94,88,76,98,98,40,51,63,57,27,22,60,29,4,10,68,99,99,92,85,95,95,44,52,65,54,23,16,58,31,6,12,69,93,93,87,74,97,97,42,51,64,57,27,21,60,29,3,10,68,100,100,92,86,96,96,46,52,65,54,23},
{49,61,56,25,19,59,28,2,9,68,98,98,91,84,93,93,48,53,67,55,24,18,59,32,7,13,70,95,95,89,80,100,100,38,50,62,56,25,20,59,28,1,9,68,97,97,91,83,94,94,47,53,66,55,24,17,58,33,8,14,70,96,96,90,82,99,99,35},
{85,95,95,44,52,65,54,23,16,58,31,6,12,69,93,93,87,74,97,97,42,51,64,57,27,21,60,29,3,10,68,100,100,92,86,96,96,46,52,65,54,23,15,58,30,5,11,69,94,94,88,76,98,98,40,51,63,57,27,22,60,29,4,10,68,99,99,92},
{70,95,95,89,80,100,100,38,50,62,56,25,20,59,28,1,9,68,97,97,91,83,94,94,47,53,66,55,24,17,58,33,8,14,70,96,96,90,82,99,99,35,49,61,56,25,19,59,28,2,9,68,98,98,91,84,93,93,48,53,67,55,24,18,59,32,7,13},
{60,29,3,10,68,100,100,92,86,96,96,46,52,65,54,23,15,58,30,5,11,69,94,94,88,76,98,98,40,51,63,57,27,22,60,29,4,10,68,99,99,92,85,95,95,44,52,65,54,23,16,58,31,6,12,69,93,93,87,74,97,97,42,51,64,57,27,21},
{66,55,24,17,58,33,8,14,70,96,96,90,82,99,99,35,49,61,56,25,19,59,28,2,9,68,98,98,91,84,93,93,48,53,67,55,24,18,59,32,7,13,70,95,95,89,80,100,100,38,50,62,56,25,20,59,28,1,9,68,97,97,91,83,94,94,47,53},
{98,98,40,51,63,57,27,22,60,29,4,10,68,99,99,92,85,95,95,44,52,65,54,23,16,58,31,6,12,69,93,93,87,74,97,97,42,51,64,57,27,21,60,29,3,10,68,100,100,92,86,96,96,46,52,65,54,23,15,58,30,5,11,69,94,94,88,76},
{98,98,91,84,93,93,48,53,67,55,24,18,59,32,7,13,70,95,95,89,80,100,100,38,50,62,56,25,20,59,28,1,9,68,97,97,91,83,94,94,47,53,66,55,24,17,58,33,8,14,70,96,96,90,82,99,99,35,49,61,56,25,19,59,28,2,9,68},
{31,6,12,69,93,93,87,74,97,97,42,51,64,57,27,21,60,29,3,10,68,100,100,92,86,96,96,46,52,65,54,23,15,58,30,5,11,69,94,94,88,76,98,98,40,51,63,57,27,22,60,29,4,10,68,99,99,92,85,95,95,44,52,65,54,23,16,58},
{56,25,20,59,28,1,9,68,97,97,91,83,94,94,47,53,66,55,24,17,58,33,8,14,70,96,96,90,82,99,99,35,49,61,56,25,19,59,28,2,9,68,98,98,91,84,93,93,48,53,67,55,24,18,59,32,7,13,70,95,95,89,80,100,100,38,50,62},
{96,46,52,65,54,23,15,58,30,5,11,69,94,94,88,76,98,98,40,51,63,57,27,22,60,29,4,10,68,99,99,92,85,95,95,44,52,65,54,23,16,58,31,6,12,69,93,93,87,74,97,97,42,51,64,57,27,21,60,29,3,10,68,100,100,92,86,96},
{96,90,82,99,99,35,49,61,56,25,19,59,28,2,9,68,98,98,91,84,93,93,48,53,67,55,24,18,59,32,7,13,70,95,95,89,80,100,100,38,50,62,56,25,20,59,28,1,9,68,97,97,91,83,94,94,47,53,66,55,24,17,58,33,8,14,70,96},
{4,10,68,99,99,92,85,95,95,44,52,65,54,23,16,58,31,6,12,69,93,93,87,74,97,97,42,51,64,57,27,21,60,29,3,10,68,100,100,92,86,96,96,46,52,65,54,23,15,58,30,5,11,69,94,94,88,76,98,98,40,51,63,57,27,22,60,29},
{24,18,59,32,7,13,70,95,95,89,80,100,100,38,50,62,56,25,20,59,28,1,9,68,97,97,91,83,94,94,47,53,66,55,24,17,58,33,8,14,70,96,96,90,82,99,99,35,49,61,56,25,19,59,28,2,9,68,98,98,91,84,93,93,48,53,67,55},
{42,51,64,57,27,21,60,29,3,10,68,100,100,92,86,96,96,46,52,65,54,23,15,58,30,5,11,69,94,94,88,76,98,98,40,51,63,57,27,22,60,29,4,10,68,99,99,92,85,95,95,44,52,65,54,23,16,58,31,6,12,69,93,93,87,74,97,97},
{91,83,94,94,47,53,66,55,24,17,58,33,8,14,70,96,96,90,82,99,99,35,49,61,56,25,19,59,28,2,9,68,98,98,91,84,93,93,48,53,67,55,24,18,59,32,7,13,70,95,95,89,80,100,100,38,50,62,56,25,20,59,28,1,9,68,97,97},
{11,69,94,94,88,76,98,98,40,51,63,57,27,22,60,29,4,10,68,99,99,92,85,95,95,44,52,65,54,23,16,58,31,6,12,69,93,93,87,74,97,97,42,51,64,57,27,21,60,29,3,10,68,100,100,92,86,96,96,46,52,65,54,23,15,58,30,5},
{19,59,28,2,9,68,98,98,91,84,93,93,48,53,67,55,24,18,59,32,7,13,70,95,95,89,80,100,100,38,50,62,56,25,20,59,28,1,9,68,97,97,91,83,94,94,47,53,66,55,24,17,58,33,8,14,70,96,96,90,82,99,99,35,49,61,56,25},
{52,65,54,23,16,58,31,6,12,69,93,93,87,74,97,97,42,51,64,57,27,21,60,29,3,10,68,100,100,92,86,96,96,46,52,65,54,23,15,58,30,5,11,69,94,94,88,76,98,98,40,51,63,57,27,22,60,29,4,10,68,99,99,92,85,95,95,44},
{80,100,100,38,50,62,56,25,20,59,28,1,9,68,97,97,91,83,94,94,47,53,66,55,24,17,58,33,8,14,70,96,96,90,82,99,99,35,49,61,56,25,19,59,28,2,9,68,98,98,91,84,93,93,48,53,67,55,24,18,59,32,7,13,70,95,95,89},
{68,100,100,92,86,96,96,46,52,65,54,23,15,58,30,5,11,69,94,94,88,76,98,98,40,51,63,57,27,22,60,29,4,10,68,99,99,92,85,95,95,44,52,65,54,23,16,58,31,6,12,69,93,93,87,74,97,97,42,51,64,57,27,21,60,29,3,10},
{58,33,8,14,70,96,96,90,82,99,99,35,49,61,56,25,19,59,28,2,9,68,98,98,91,84,93,93,48,53,67,55,24,18,59,32,7,13,70,95,95,89,80,100,100,38,50,62,56,25,20,59,28,1,9,68,97,97,91,83,94,94,47,53,66,55,24,17},
{63,57,27,22,60,29,4,10,68,99,99,92,85,95,95,44,52,65,54,23,16,58,31,6,12,69,93,93,87,74,97,97,42,51,64,57,27,21,60,29,3,10,68,100,100,92,86,96,96,46,52,65,54,23,15,58,30,5,11,69,94,94,88,76,98,98,40,51},
{93,93,48,53,67,55,24,18,59,32,7,13,70,95,95,89,80,100,100,38,50,62,56,25,20,59,28,1,9,68,97,97,91,83,94,94,47,53,66,55,24,17,58,33,8,14,70,96,96,90,82,99,99,35,49,61,56,25,19,59,28,2,9,68,98,98,91,84}
}
};
static unsigned char R_OrgTable[4][20][20] =
{
{ // Yellow
{ 1, 1, 5,20,33,33, 4, 4, 8,23,36,36},
{ 5, 5, 9,20,37,37, 8, 8,12,23,40,40},
{ 9, 9,13,24,37,37,12,12,14,28,40,40},
{15,15,19,24,41,41,18,18,19,28,44,44},
{29,29,53,57,61,61,32,32,56,60,66,66},
{45,46,53,57,62,62,51,52,56,60,67,67},
{ 3, 3, 7,22,35,35, 2, 2, 6,21,34,34},
{ 7, 7,11,22,39,39, 6, 6,10,21,38,38},
{11,11,14,27,39,39,10,10,13,25,38,38},
{17,17,19,27,43,43,16,16,19,26,42,42},
{31,31,55,59,65,65,30,30,54,58,63,63},
{49,50,55,59,68,68,47,48,54,58,64,64}
},
{ // Cyan
{61,63,64,16, 3, 3,11,45,49},
{67,68,68,17, 6, 6,11,37,51},
{67,70,70,34,19,21,32,35,53},
{23,25,31,46,55,58,59,39,29},
{ 7, 8,12,47,60,62,62,41,13},
{ 1, 1,10,50,65,69,69,42,14},
{ 5, 5,10,52,66,70,70,43,17},
{18,20,30,30,27,28,31,40,33},
{57,56,54,15, 9, 9,12,44,48}
},
{ // Magenta
{65, 1, 1,10,20,32,32, 9, 9,13,25,37,37,28,30,38,40,54,58,65},
{66, 4, 6,10,22,34,34,15,17,19,27,53,53,50,50,44,47,54,60,66},
{32, 8, 8,12,24,36,36,29,31,39,41,55,62,67,67, 3, 3,11,21,33},
{34,14,16,18,26,52,52,51,51,48,49,56,64,68,68, 5, 7,11,23,35},
{36,28,30,38,40,54,58,65,65, 1, 1,10,20,32,32, 9, 9,13,25,37},
{52,50,50,44,47,54,60,66,66, 4, 6,10,22,34,34,15,17,19,27,53},
{58,67,67, 3, 3,11,21,33,33, 8, 8,12,24,36,36,29,31,39,41,55},
{60,68,68, 5, 7,11,23,35,35,14,16,18,26,52,52,51,51,48,49,56},
{20,32,32, 9, 9,13,25,37,37,28,30,38,40,54,58,65,65, 1, 1,10},
{22,34,34,15,17,19,27,53,53,50,50,44,47,54,60,66,66, 4, 6,10},
{24,36,36,29,31,39,41,55,62,67,67, 3, 3,11,21,33,33, 8, 8,12},
{26,52,52,51,51,48,49,56,64,68,68, 5, 7,11,23,35,35,14,16,18},
{40,54,58,65,65, 1, 1,10,20,32,32, 9, 9,13,25,37,37,28,30,38},
{47,54,60,66,66, 4, 6,10,22,34,34,15,17,19,27,53,53,50,50,44},
{ 3,11,21,33,33, 8, 8,12,24,36,36,29,31,39,41,55,62,67,67, 3},
{ 7,11,23,35,35,14,16,18,26,52,52,51,51,48,49,56,64,68,68, 5},
{ 9,13,25,37,37,28,30,38,40,54,58,67,67, 1, 1,10,20,32,32, 9},
{17,19,27,53,53,50,50,44,47,54,60,68,68, 4, 6,10,22,34,34,15},
{31,39,41,55,62,67,67, 3, 3,11,21,33,33, 8, 8,12,24,36,36,29},
{51,48,49,56,64,68,68, 5, 7,11,23,35,35,14,16,18,26,52,52,51}
},
{ // Kuro
{60,60,58,50,52,54,62,62,35,17, 7, 8,11,30,29,14, 3, 3,10,27},
{31,18,20,23,25,33,64,64,55,43,42,40,39,37,29,16, 6, 6,10,27},
{28,13, 1, 1,10,26,59,59,56,44,45,48,60,61,36,17, 9, 9,12,30},
{28,15, 4, 5,10,26,32,19,21,24,25,34,63,63,57,46,47,41,40,38},
{35,17, 7, 8,11,30,29,14, 3, 3,10,27,60,60,58,50,52,54,62,62},
{55,43,42,40,39,37,29,16, 6, 6,10,27,31,18,20,23,25,33,64,64},
{56,44,45,48,60,61,36,17, 9, 9,12,30,28,13, 1, 1,10,26,59,59},
{21,24,25,34,63,63,57,46,47,41,40,38,28,15, 4, 5,10,26,32,19},
{ 3, 3,10,27,60,60,58,50,52,54,62,62,35,17, 7, 8,11,30,29,14},
{ 6, 6,10,27,31,18,20,23,25,33,64,64,55,43,42,40,39,37,29,16},
{ 9, 9,12,30,28,13, 1, 1,10,26,59,59,56,44,45,48,60,61,36,17},
{47,41,40,38,28,15, 4, 5,10,26,32,19,21,24,25,34,63,63,57,46},
{52,54,62,62,35,17, 7, 8,11,30,29,14, 3, 3,10,27,60,60,58,50},
{25,33,64,64,55,43,42,40,39,37,29,16, 6, 6,10,27,31,18,20,23},
{10,26,59,59,56,44,45,48,60,61,36,17, 9, 9,12,30,28,13, 1, 1},
{10,26,32,19,21,24,25,34,63,63,57,46,47,41,40,38,28,15, 4, 5},
{11,30,29,14, 3, 3,10,27,60,60,58,50,52,54,62,62,35,17, 7, 8},
{39,37,29,16, 6, 6,10,27,31,18,20,23,25,33,64,64,55,43,42,40},
{60,61,36,17, 9, 9,12,30,28,13, 1, 1,10,26,59,59,56,44,45,48},
{63,63,57,46,47,41,40,38,28,15, 4, 5,10,26,32,19,21,24,25,34}
}
};
static unsigned char M_OrgTable[14][14] =
{
{91,71,39,41,63,73,95,92,72,40,42,64,74,96},
{69,37,21,23,43,45,75,70,38,22,24,44,46,76},
{35,19,1,3,9,25,47,36,20,2,4,10,26,48},
{33,17,5,7,11,27,49,34,18,6,8,12,28,50},
{61,31,13,15,29,51,65,62,32,14,16,30,52,66},
{85,59,57,55,53,67,87,86,60,58,56,54,68,88},
{93,83,81,79,77,89,97,94,84,82,80,78,90,100},
{92,72,40,42,64,74,96,91,71,39,41,63,73,95},
{70,38,22,24,44,46,76,69,37,21,23,43,45,75},
{36,20,2,4,10,26,48,35,19,1,3,9,25,47},
{34,18,6,8,12,28,50,33,17,5,7,11,27,49},
{62,32,14,16,30,52,66,61,31,13,15,29,51,65},
{86,60,58,56,54,68,88,85,59,57,55,53,67,87},
{94,84,82,80,78,90,99,93,83,81,79,77,89,98}
};
static unsigned char OHP_OrgTable[8][8] =
{
{36, 40, 38, 32, 27, 23, 25, 31},
{54, 56, 58, 44, 9, 7, 5, 19},
{52, 62, 60, 42, 11, 1, 3, 21},
{46, 50, 48, 34, 17, 13, 15, 29},
{26, 22, 24, 30, 37, 41, 39, 33},
{8, 6, 4, 18, 55, 57, 59, 45},
{10, 0, 2, 20, 53, 63, 61, 43},
{16, 12, 14, 28, 47, 51, 49, 35}
};
int _CRTAPI1
main( argc, argv )
int argc;
char **argv;
{
int H_MaxX[4], H_MaxY[4];
int R_MaxX[4], R_MaxY[4];
int M_MaxX, M_MaxY;
int OHP_MaxX, OHP_MaxY;
int x, y;
int color;
char szColor[10];
FLOAT H_TableMax[4];
FLOAT R_TableMax[4];
FLOAT M_TableMax;
FLOAT OHP_TableMax;
FLOAT H_TableOffset[4];
FLOAT R_TableOffset[4];
FLOAT M_TableOffset;
FLOAT OHP_TableOffset;
H_MaxX[Yellow] = 15; H_MaxY[Yellow] = 10;
H_MaxX[Cyan] = 18; H_MaxY[Cyan] = 12;
H_MaxX[Magenta] = 68; H_MaxY[Magenta] = 68;
H_MaxX[Kuro] = 68; H_MaxY[Kuro] = 68;
R_MaxX[Yellow] = 12; R_MaxY[Yellow] = 12;
R_MaxX[Cyan] = 9; R_MaxY[Cyan] = 9;
R_MaxX[Magenta] = 20; R_MaxY[Magenta] = 20;
R_MaxX[Kuro] = 20; R_MaxY[Kuro] = 20;
M_MaxX = 14; M_MaxY = 14;
OHP_MaxX = 8;
OHP_MaxY = 8;
H_TableMax[Yellow] = 100.0;
H_TableMax[Cyan] = 100.0;
H_TableMax[Magenta] = 100.0;
H_TableMax[Kuro] = 100.0;
H_TableOffset[Yellow] = 2.55;
H_TableOffset[Cyan] = 2.55;
H_TableOffset[Magenta] = 2.55;
H_TableOffset[Kuro] = 2.55;
R_TableMax[Yellow] = 68.0;
R_TableMax[Cyan] = 70.0;
R_TableMax[Magenta] = 68.0;
R_TableMax[Kuro] = 100.0;
R_TableOffset[Yellow] = 3.77;
R_TableOffset[Cyan] = 3.66;
R_TableOffset[Magenta] = 3.76;
R_TableOffset[Kuro] = 4.0;
M_TableMax = 100.0;
M_TableOffset = 2.55;
OHP_TableMax = 63.0;
OHP_TableOffset = 4.0;
// HEIKATSU
for( color=Yellow; color <= Kuro; color++){
switch( color ){
case Yellow:
strcpy(szColor, "Yellow");
break;
case Cyan:
strcpy(szColor, "Cyan");
break;
case Magenta:
strcpy(szColor, "Magenta");
break;
case Kuro:
strcpy(szColor, "Kuro");
break;
}
printf("HEIKATSU NewTable[%s]\n", szColor);
for( y=0; y < H_MaxY[color]; y++){
for( x=0; x < H_MaxX[color]; x++){
unsigned char ucOut;
if( x != 0 )
printf(",");
ucOut = (unsigned char)(( H_TableMax[color] - (H_OrgTable[color][y][x] - (FLOAT)0.5))
* H_TableOffset[color] );
printf("%d", ucOut);
}
printf("\n");
}
printf("\n");
}
// ROUGH
for( color=Yellow; color <= Kuro; color++){
switch( color ){
case Yellow:
strcpy(szColor, "Yellow");
break;
case Cyan:
strcpy(szColor, "Cyan");
break;
case Magenta:
strcpy(szColor, "Magenta");
break;
case Kuro:
strcpy(szColor, "Kuro");
break;
}
printf("ROUGH NewTable[%s]\n", szColor);
for( y=0; y < R_MaxY[color]; y++){
for( x=0; x < R_MaxX[color]; x++){
unsigned char ucOut;
if( x != 0 )
printf(",");
ucOut = (unsigned char)(( R_TableMax[color] - (R_OrgTable[color][y][x] - (FLOAT)0.5))
* R_TableOffset[color] );
printf("%d", ucOut);
}
printf("\n");
}
printf("\n");
}
// MONO
printf("MONO NewTable\n");
for( y=0; y < M_MaxY; y++){
for( x=0; x < M_MaxX; x++){
unsigned char ucOut;
if( x != 0 )
printf(",");
ucOut = (unsigned char)(( M_TableMax - (M_OrgTable[y][x] + (FLOAT)0.5))
* M_TableOffset );
printf("%d", ucOut);
}
printf("\n");
}
printf("\n");
// OHP
printf("OHP NewTable\n");
for( y=0; y < OHP_MaxY; y++){
for( x=0; x < OHP_MaxX; x++){
unsigned char ucOut;
if( x != 0 )
printf(",");
ucOut = (unsigned char)(( OHP_TableMax - (OHP_OrgTable[y][x] - (FLOAT)0.5))
* OHP_TableOffset );
printf("%d", ucOut);
}
printf("\n");
}
return 0;
}