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

  1. /*************************** Module Header **********************************
  2. * dither
  3. * Program to create actual dither tables from ALPS's original base
  4. * dither tables.
  5. *
  6. *
  7. * Copyright (C) 1996-1999, Microsoft Corporation
  8. * 1996/6/21 Created - Sueya Sugihara [sueyas] -
  9. *
  10. ****************************************************************************/
  11. #include <stddef.h>
  12. #include <windows.h>
  13. #include <winddi.h>
  14. #include <stdio.h>
  15. #define Yellow 0
  16. #define Cyan 1
  17. #define Magenta 2
  18. #define Kuro 3
  19. #define Mono 4
  20. static unsigned char H_OrgTable[4][68][68] =
  21. {
  22. { // Yellow
  23. {100,84,70,85,100,100,93,80,94,100,100,89,76,90,100},
  24. {99,46,31,40,97,97,48,38,44,100,100,48,34,42,99},
  25. {67,22,1,10,63,69,24,8,14,65,68,23,5,12,64},
  26. {67,26,20,15,63,69,29,21,19,65,68,28,21,17,64},
  27. {100,60,48,57,100,100,62,54,59,100,100,61,50,58,100},
  28. {100,91,78,92,100,100,86,73,87,100,100,95,82,96,100},
  29. {100,48,36,43,100,100,47,32,41,98,98,48,39,45,100},
  30. {68,24,6,13,64,68,23,3,11,63,69,25,9,14,66},
  31. {68,29,21,18,64,68,27,21,16,63,69,30,22,20,66},
  32. {100,62,52,58,100,100,61,49,57,100,100,63,56,59,100}
  33. },
  34. { // Cyan
  35. {46,65,89,90,80,18,45,64,87,87,79,16,44,63,91,91,81,20},
  36. {59,100,100,90,7,38,58,94,94,87,5,37,57,98,98,91,9,38},
  37. {75,100,100,30,41,52,73,94,94,28,40,50,71,98,98,33,42,53},
  38. {83,77,13,43,61,82,82,76,11,42,60,85,85,78,15,44,62,83},
  39. {83,2,35,55,97,97,82,1,34,54,100,100,85,3,36,56,93,93},
  40. {23,39,48,68,97,97,21,39,47,66,100,100,25,40,49,70,93,93},
  41. {45,64,86,86,79,15,44,63,91,91,81,19,46,65,89,88,80,17},
  42. {58,95,95,86,4,37,57,99,99,91,8,38,59,100,100,88,6,38},
  43. {72,95,95,26,40,50,71,99,99,32,42,53,74,100,100,29,41,51},
  44. {82,76,10,42,60,85,85,78,14,44,62,84,84,77,12,43,61,82},
  45. {82,1,34,54,92,92,85,3,36,56,100,100,84,2,35,55,96,96},
  46. {20,39,47,66,92,92,24,40,49,69,100,100,22,39,48,67,96,96}
  47. },
  48. { // Magenta
  49. {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},
  50. {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},
  51. {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},
  52. {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},
  53. {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},
  54. {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},
  55. {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},
  56. {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},
  57. {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},
  58. {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},
  59. {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},
  60. {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},
  61. {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},
  62. {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},
  63. {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},
  64. {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},
  65. {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},
  66. {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},
  67. {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},
  68. {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},
  69. {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},
  70. {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},
  71. {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},
  72. {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},
  73. {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},
  74. {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},
  75. {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},
  76. {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},
  77. {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},
  78. {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},
  79. {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},
  80. {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},
  81. {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},
  82. {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},
  83. {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},
  84. {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},
  85. {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},
  86. {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},
  87. {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},
  88. {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},
  89. {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},
  90. {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},
  91. {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},
  92. {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},
  93. {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},
  94. {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},
  95. {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. {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},
  97. {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},
  98. {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},
  99. {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},
  100. {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},
  101. {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},
  102. {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},
  103. {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},
  104. {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},
  105. {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},
  106. {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},
  107. {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},
  108. {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},
  109. {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},
  110. {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},
  111. {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},
  112. {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},
  113. {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},
  114. {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},
  115. {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},
  116. {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}
  117. },
  118. { // Kuro
  119. {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},
  120. {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},
  121. {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},
  122. {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},
  123. {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},
  124. {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},
  125. {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},
  126. {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},
  127. {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},
  128. {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},
  129. {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},
  130. {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},
  131. {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},
  132. {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},
  133. {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},
  134. {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},
  135. {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},
  136. {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},
  137. {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},
  138. {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},
  139. {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},
  140. {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},
  141. {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},
  142. {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},
  143. {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},
  144. {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},
  145. {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},
  146. {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},
  147. {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},
  148. {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},
  149. {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},
  150. {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},
  151. {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},
  152. {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},
  153. {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},
  154. {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},
  155. {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},
  156. {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},
  157. {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},
  158. {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},
  159. {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},
  160. {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},
  161. {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},
  162. {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},
  163. {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},
  164. {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},
  165. {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},
  166. {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},
  167. {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},
  168. {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},
  169. {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},
  170. {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},
  171. {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},
  172. {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},
  173. {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},
  174. {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},
  175. {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},
  176. {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},
  177. {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},
  178. {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},
  179. {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},
  180. {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},
  181. {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},
  182. {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},
  183. {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},
  184. {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},
  185. {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},
  186. {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}
  187. }
  188. };
  189. static unsigned char R_OrgTable[4][20][20] =
  190. {
  191. { // Yellow
  192. { 1, 1, 5,20,33,33, 4, 4, 8,23,36,36},
  193. { 5, 5, 9,20,37,37, 8, 8,12,23,40,40},
  194. { 9, 9,13,24,37,37,12,12,14,28,40,40},
  195. {15,15,19,24,41,41,18,18,19,28,44,44},
  196. {29,29,53,57,61,61,32,32,56,60,66,66},
  197. {45,46,53,57,62,62,51,52,56,60,67,67},
  198. { 3, 3, 7,22,35,35, 2, 2, 6,21,34,34},
  199. { 7, 7,11,22,39,39, 6, 6,10,21,38,38},
  200. {11,11,14,27,39,39,10,10,13,25,38,38},
  201. {17,17,19,27,43,43,16,16,19,26,42,42},
  202. {31,31,55,59,65,65,30,30,54,58,63,63},
  203. {49,50,55,59,68,68,47,48,54,58,64,64}
  204. },
  205. { // Cyan
  206. {61,63,64,16, 3, 3,11,45,49},
  207. {67,68,68,17, 6, 6,11,37,51},
  208. {67,70,70,34,19,21,32,35,53},
  209. {23,25,31,46,55,58,59,39,29},
  210. { 7, 8,12,47,60,62,62,41,13},
  211. { 1, 1,10,50,65,69,69,42,14},
  212. { 5, 5,10,52,66,70,70,43,17},
  213. {18,20,30,30,27,28,31,40,33},
  214. {57,56,54,15, 9, 9,12,44,48}
  215. },
  216. { // Magenta
  217. {65, 1, 1,10,20,32,32, 9, 9,13,25,37,37,28,30,38,40,54,58,65},
  218. {66, 4, 6,10,22,34,34,15,17,19,27,53,53,50,50,44,47,54,60,66},
  219. {32, 8, 8,12,24,36,36,29,31,39,41,55,62,67,67, 3, 3,11,21,33},
  220. {34,14,16,18,26,52,52,51,51,48,49,56,64,68,68, 5, 7,11,23,35},
  221. {36,28,30,38,40,54,58,65,65, 1, 1,10,20,32,32, 9, 9,13,25,37},
  222. {52,50,50,44,47,54,60,66,66, 4, 6,10,22,34,34,15,17,19,27,53},
  223. {58,67,67, 3, 3,11,21,33,33, 8, 8,12,24,36,36,29,31,39,41,55},
  224. {60,68,68, 5, 7,11,23,35,35,14,16,18,26,52,52,51,51,48,49,56},
  225. {20,32,32, 9, 9,13,25,37,37,28,30,38,40,54,58,65,65, 1, 1,10},
  226. {22,34,34,15,17,19,27,53,53,50,50,44,47,54,60,66,66, 4, 6,10},
  227. {24,36,36,29,31,39,41,55,62,67,67, 3, 3,11,21,33,33, 8, 8,12},
  228. {26,52,52,51,51,48,49,56,64,68,68, 5, 7,11,23,35,35,14,16,18},
  229. {40,54,58,65,65, 1, 1,10,20,32,32, 9, 9,13,25,37,37,28,30,38},
  230. {47,54,60,66,66, 4, 6,10,22,34,34,15,17,19,27,53,53,50,50,44},
  231. { 3,11,21,33,33, 8, 8,12,24,36,36,29,31,39,41,55,62,67,67, 3},
  232. { 7,11,23,35,35,14,16,18,26,52,52,51,51,48,49,56,64,68,68, 5},
  233. { 9,13,25,37,37,28,30,38,40,54,58,67,67, 1, 1,10,20,32,32, 9},
  234. {17,19,27,53,53,50,50,44,47,54,60,68,68, 4, 6,10,22,34,34,15},
  235. {31,39,41,55,62,67,67, 3, 3,11,21,33,33, 8, 8,12,24,36,36,29},
  236. {51,48,49,56,64,68,68, 5, 7,11,23,35,35,14,16,18,26,52,52,51}
  237. },
  238. { // Kuro
  239. {60,60,58,50,52,54,62,62,35,17, 7, 8,11,30,29,14, 3, 3,10,27},
  240. {31,18,20,23,25,33,64,64,55,43,42,40,39,37,29,16, 6, 6,10,27},
  241. {28,13, 1, 1,10,26,59,59,56,44,45,48,60,61,36,17, 9, 9,12,30},
  242. {28,15, 4, 5,10,26,32,19,21,24,25,34,63,63,57,46,47,41,40,38},
  243. {35,17, 7, 8,11,30,29,14, 3, 3,10,27,60,60,58,50,52,54,62,62},
  244. {55,43,42,40,39,37,29,16, 6, 6,10,27,31,18,20,23,25,33,64,64},
  245. {56,44,45,48,60,61,36,17, 9, 9,12,30,28,13, 1, 1,10,26,59,59},
  246. {21,24,25,34,63,63,57,46,47,41,40,38,28,15, 4, 5,10,26,32,19},
  247. { 3, 3,10,27,60,60,58,50,52,54,62,62,35,17, 7, 8,11,30,29,14},
  248. { 6, 6,10,27,31,18,20,23,25,33,64,64,55,43,42,40,39,37,29,16},
  249. { 9, 9,12,30,28,13, 1, 1,10,26,59,59,56,44,45,48,60,61,36,17},
  250. {47,41,40,38,28,15, 4, 5,10,26,32,19,21,24,25,34,63,63,57,46},
  251. {52,54,62,62,35,17, 7, 8,11,30,29,14, 3, 3,10,27,60,60,58,50},
  252. {25,33,64,64,55,43,42,40,39,37,29,16, 6, 6,10,27,31,18,20,23},
  253. {10,26,59,59,56,44,45,48,60,61,36,17, 9, 9,12,30,28,13, 1, 1},
  254. {10,26,32,19,21,24,25,34,63,63,57,46,47,41,40,38,28,15, 4, 5},
  255. {11,30,29,14, 3, 3,10,27,60,60,58,50,52,54,62,62,35,17, 7, 8},
  256. {39,37,29,16, 6, 6,10,27,31,18,20,23,25,33,64,64,55,43,42,40},
  257. {60,61,36,17, 9, 9,12,30,28,13, 1, 1,10,26,59,59,56,44,45,48},
  258. {63,63,57,46,47,41,40,38,28,15, 4, 5,10,26,32,19,21,24,25,34}
  259. }
  260. };
  261. static unsigned char M_OrgTable[14][14] =
  262. {
  263. {91,71,39,41,63,73,95,92,72,40,42,64,74,96},
  264. {69,37,21,23,43,45,75,70,38,22,24,44,46,76},
  265. {35,19,1,3,9,25,47,36,20,2,4,10,26,48},
  266. {33,17,5,7,11,27,49,34,18,6,8,12,28,50},
  267. {61,31,13,15,29,51,65,62,32,14,16,30,52,66},
  268. {85,59,57,55,53,67,87,86,60,58,56,54,68,88},
  269. {93,83,81,79,77,89,97,94,84,82,80,78,90,100},
  270. {92,72,40,42,64,74,96,91,71,39,41,63,73,95},
  271. {70,38,22,24,44,46,76,69,37,21,23,43,45,75},
  272. {36,20,2,4,10,26,48,35,19,1,3,9,25,47},
  273. {34,18,6,8,12,28,50,33,17,5,7,11,27,49},
  274. {62,32,14,16,30,52,66,61,31,13,15,29,51,65},
  275. {86,60,58,56,54,68,88,85,59,57,55,53,67,87},
  276. {94,84,82,80,78,90,99,93,83,81,79,77,89,98}
  277. };
  278. static unsigned char OHP_OrgTable[8][8] =
  279. {
  280. {36, 40, 38, 32, 27, 23, 25, 31},
  281. {54, 56, 58, 44, 9, 7, 5, 19},
  282. {52, 62, 60, 42, 11, 1, 3, 21},
  283. {46, 50, 48, 34, 17, 13, 15, 29},
  284. {26, 22, 24, 30, 37, 41, 39, 33},
  285. {8, 6, 4, 18, 55, 57, 59, 45},
  286. {10, 0, 2, 20, 53, 63, 61, 43},
  287. {16, 12, 14, 28, 47, 51, 49, 35}
  288. };
  289. int _CRTAPI1
  290. main( argc, argv )
  291. int argc;
  292. char **argv;
  293. {
  294. int H_MaxX[4], H_MaxY[4];
  295. int R_MaxX[4], R_MaxY[4];
  296. int M_MaxX, M_MaxY;
  297. int OHP_MaxX, OHP_MaxY;
  298. int x, y;
  299. int color;
  300. char szColor[10];
  301. FLOAT H_TableMax[4];
  302. FLOAT R_TableMax[4];
  303. FLOAT M_TableMax;
  304. FLOAT OHP_TableMax;
  305. FLOAT H_TableOffset[4];
  306. FLOAT R_TableOffset[4];
  307. FLOAT M_TableOffset;
  308. FLOAT OHP_TableOffset;
  309. H_MaxX[Yellow] = 15; H_MaxY[Yellow] = 10;
  310. H_MaxX[Cyan] = 18; H_MaxY[Cyan] = 12;
  311. H_MaxX[Magenta] = 68; H_MaxY[Magenta] = 68;
  312. H_MaxX[Kuro] = 68; H_MaxY[Kuro] = 68;
  313. R_MaxX[Yellow] = 12; R_MaxY[Yellow] = 12;
  314. R_MaxX[Cyan] = 9; R_MaxY[Cyan] = 9;
  315. R_MaxX[Magenta] = 20; R_MaxY[Magenta] = 20;
  316. R_MaxX[Kuro] = 20; R_MaxY[Kuro] = 20;
  317. M_MaxX = 14; M_MaxY = 14;
  318. OHP_MaxX = 8;
  319. OHP_MaxY = 8;
  320. H_TableMax[Yellow] = 100.0;
  321. H_TableMax[Cyan] = 100.0;
  322. H_TableMax[Magenta] = 100.0;
  323. H_TableMax[Kuro] = 100.0;
  324. H_TableOffset[Yellow] = 2.55;
  325. H_TableOffset[Cyan] = 2.55;
  326. H_TableOffset[Magenta] = 2.55;
  327. H_TableOffset[Kuro] = 2.55;
  328. R_TableMax[Yellow] = 68.0;
  329. R_TableMax[Cyan] = 70.0;
  330. R_TableMax[Magenta] = 68.0;
  331. R_TableMax[Kuro] = 100.0;
  332. R_TableOffset[Yellow] = 3.77;
  333. R_TableOffset[Cyan] = 3.66;
  334. R_TableOffset[Magenta] = 3.76;
  335. R_TableOffset[Kuro] = 4.0;
  336. M_TableMax = 100.0;
  337. M_TableOffset = 2.55;
  338. OHP_TableMax = 63.0;
  339. OHP_TableOffset = 4.0;
  340. // HEIKATSU
  341. for( color=Yellow; color <= Kuro; color++){
  342. switch( color ){
  343. case Yellow:
  344. strcpy(szColor, "Yellow");
  345. break;
  346. case Cyan:
  347. strcpy(szColor, "Cyan");
  348. break;
  349. case Magenta:
  350. strcpy(szColor, "Magenta");
  351. break;
  352. case Kuro:
  353. strcpy(szColor, "Kuro");
  354. break;
  355. }
  356. printf("HEIKATSU NewTable[%s]\n", szColor);
  357. for( y=0; y < H_MaxY[color]; y++){
  358. for( x=0; x < H_MaxX[color]; x++){
  359. unsigned char ucOut;
  360. if( x != 0 )
  361. printf(",");
  362. ucOut = (unsigned char)(( H_TableMax[color] - (H_OrgTable[color][y][x] - (FLOAT)0.5))
  363. * H_TableOffset[color] );
  364. printf("%d", ucOut);
  365. }
  366. printf("\n");
  367. }
  368. printf("\n");
  369. }
  370. // ROUGH
  371. for( color=Yellow; color <= Kuro; color++){
  372. switch( color ){
  373. case Yellow:
  374. strcpy(szColor, "Yellow");
  375. break;
  376. case Cyan:
  377. strcpy(szColor, "Cyan");
  378. break;
  379. case Magenta:
  380. strcpy(szColor, "Magenta");
  381. break;
  382. case Kuro:
  383. strcpy(szColor, "Kuro");
  384. break;
  385. }
  386. printf("ROUGH NewTable[%s]\n", szColor);
  387. for( y=0; y < R_MaxY[color]; y++){
  388. for( x=0; x < R_MaxX[color]; x++){
  389. unsigned char ucOut;
  390. if( x != 0 )
  391. printf(",");
  392. ucOut = (unsigned char)(( R_TableMax[color] - (R_OrgTable[color][y][x] - (FLOAT)0.5))
  393. * R_TableOffset[color] );
  394. printf("%d", ucOut);
  395. }
  396. printf("\n");
  397. }
  398. printf("\n");
  399. }
  400. // MONO
  401. printf("MONO NewTable\n");
  402. for( y=0; y < M_MaxY; y++){
  403. for( x=0; x < M_MaxX; x++){
  404. unsigned char ucOut;
  405. if( x != 0 )
  406. printf(",");
  407. ucOut = (unsigned char)(( M_TableMax - (M_OrgTable[y][x] + (FLOAT)0.5))
  408. * M_TableOffset );
  409. printf("%d", ucOut);
  410. }
  411. printf("\n");
  412. }
  413. printf("\n");
  414. // OHP
  415. printf("OHP NewTable\n");
  416. for( y=0; y < OHP_MaxY; y++){
  417. for( x=0; x < OHP_MaxX; x++){
  418. unsigned char ucOut;
  419. if( x != 0 )
  420. printf(",");
  421. ucOut = (unsigned char)(( OHP_TableMax - (OHP_OrgTable[y][x] - (FLOAT)0.5))
  422. * OHP_TableOffset );
  423. printf("%d", ucOut);
  424. }
  425. printf("\n");
  426. }
  427. return 0;
  428. }