9 static const unsigned short koi8_u_2uni[128] = {
 
   11   0x2500, 0x2502, 0x250c, 0x2510, 0x2514, 0x2518, 0x251c, 0x2524,
 
   12   0x252c, 0x2534, 0x253c, 0x2580, 0x2584, 0x2588, 0x258c, 0x2590,
 
   14   0x2591, 0x2592, 0x2593, 0x2320, 0x25a0, 0x2219, 0x221a, 0x2248,
 
   15   0x2264, 0x2265, 0x00a0, 0x2321, 0x00b0, 0x00b2, 0x00b7, 0x00f7,
 
   17   0x2550, 0x2551, 0x2552, 0x0451, 0x0454, 0x2554, 0x0456, 0x0457,
 
   18   0x2557, 0x2558, 0x2559, 0x255a, 0x255b, 0x0491, 0x255d, 0x255e,
 
   20   0x255f, 0x2560, 0x2561, 0x0401, 0x0404, 0x2563, 0x0406, 0x0407,
 
   21   0x2566, 0x2567, 0x2568, 0x2569, 0x256a, 0x0490, 0x256c, 0x00a9,
 
   23   0x044e, 0x0430, 0x0431, 0x0446, 0x0434, 0x0435, 0x0444, 0x0433,
 
   24   0x0445, 0x0438, 0x0439, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e,
 
   26   0x043f, 0x044f, 0x0440, 0x0441, 0x0442, 0x0443, 0x0436, 0x0432,
 
   27   0x044c, 0x044b, 0x0437, 0x0448, 0x044d, 0x0449, 0x0447, 0x044a,
 
   29   0x042e, 0x0410, 0x0411, 0x0426, 0x0414, 0x0415, 0x0424, 0x0413,
 
   30   0x0425, 0x0418, 0x0419, 0x041a, 0x041b, 0x041c, 0x041d, 0x041e,
 
   32   0x041f, 0x042f, 0x0420, 0x0421, 0x0422, 0x0423, 0x0416, 0x0412,
 
   33   0x042c, 0x042b, 0x0417, 0x0428, 0x042d, 0x0429, 0x0427, 0x042a,
 
   37 koi8_u_mbtowc (conv_t conv, ucs4_t *pwc, 
const unsigned char *s, 
int n)
 
   43     *pwc = (ucs4_t) koi8_u_2uni[c-0x80];
 
   49 static const unsigned char koi8_u_page00[88] = {
 
   50   0x9a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 
   51   0x00, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 
   52   0x9c, 0x00, 0x9d, 0x00, 0x00, 0x00, 0x00, 0x9e, 
 
   53   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 
   54   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 
   55   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 
   56   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 
   57   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 
   58   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 
   59   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 
   60   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9f, 
 
   62 static const unsigned char koi8_u_page04[152] = {
 
   63   0x00, 0xb3, 0x00, 0x00, 0xb4, 0x00, 0xb6, 0xb7, 
 
   64   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 
   65   0xe1, 0xe2, 0xf7, 0xe7, 0xe4, 0xe5, 0xf6, 0xfa, 
 
   66   0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, 0xf0, 
 
   67   0xf2, 0xf3, 0xf4, 0xf5, 0xe6, 0xe8, 0xe3, 0xfe, 
 
   68   0xfb, 0xfd, 0xff, 0xf9, 0xf8, 0xfc, 0xe0, 0xf1, 
 
   69   0xc1, 0xc2, 0xd7, 0xc7, 0xc4, 0xc5, 0xd6, 0xda, 
 
   70   0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 
 
   71   0xd2, 0xd3, 0xd4, 0xd5, 0xc6, 0xc8, 0xc3, 0xde, 
 
   72   0xdb, 0xdd, 0xdf, 0xd9, 0xd8, 0xdc, 0xc0, 0xd1, 
 
   73   0x00, 0xa3, 0x00, 0x00, 0xa4, 0x00, 0xa6, 0xa7, 
 
   74   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 
   75   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 
   76   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 
   77   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 
   78   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 
   79   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 
   80   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 
   81   0xbd, 0xad, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 
   83 static const unsigned char koi8_u_page22[80] = {
 
   84   0x00, 0x95, 0x96, 0x00, 0x00, 0x00, 0x00, 0x00, 
 
   85   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 
   86   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 
   87   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 
   88   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 
   89   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 
   90   0x97, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 
   91   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 
   92   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 
   93   0x00, 0x00, 0x00, 0x00, 0x98, 0x99, 0x00, 0x00, 
 
   95 static const unsigned char koi8_u_page23[8] = {
 
   96   0x93, 0x9b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 
   98 static const unsigned char koi8_u_page25[168] = {
 
   99   0x80, 0x00, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 
 
  100   0x00, 0x00, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00, 
 
  101   0x83, 0x00, 0x00, 0x00, 0x84, 0x00, 0x00, 0x00, 
 
  102   0x85, 0x00, 0x00, 0x00, 0x86, 0x00, 0x00, 0x00, 
 
  103   0x00, 0x00, 0x00, 0x00, 0x87, 0x00, 0x00, 0x00, 
 
  104   0x00, 0x00, 0x00, 0x00, 0x88, 0x00, 0x00, 0x00, 
 
  105   0x00, 0x00, 0x00, 0x00, 0x89, 0x00, 0x00, 0x00, 
 
  106   0x00, 0x00, 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, 
 
  107   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 
  108   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 
  109   0xa0, 0xa1, 0xa2, 0x00, 0xa5, 0x00, 0x00, 0xa8, 
 
  110   0xa9, 0xaa, 0xab, 0xac, 0x00, 0xae, 0xaf, 0xb0, 
 
  111   0xb1, 0xb2, 0x00, 0xb5, 0x00, 0x00, 0xb8, 0xb9, 
 
  112   0xba, 0xbb, 0xbc, 0x00, 0xbe, 0x00, 0x00, 0x00, 
 
  113   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 
  114   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 
  115   0x8b, 0x00, 0x00, 0x00, 0x8c, 0x00, 0x00, 0x00, 
 
  116   0x8d, 0x00, 0x00, 0x00, 0x8e, 0x00, 0x00, 0x00, 
 
  117   0x8f, 0x90, 0x91, 0x92, 0x00, 0x00, 0x00, 0x00, 
 
  118   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 
  119   0x94, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 
  123 koi8_u_wctomb (conv_t conv, 
unsigned char *r, ucs4_t wc, 
int n)
 
  130   else if (wc >= 0x00a0 && wc < 0x00f8)
 
  131     c = koi8_u_page00[wc-0x00a0];
 
  132   else if (wc >= 0x0400 && wc < 0x0498)
 
  133     c = koi8_u_page04[wc-0x0400];
 
  134   else if (wc >= 0x2218 && wc < 0x2268)
 
  135     c = koi8_u_page22[wc-0x2218];
 
  136   else if (wc >= 0x2320 && wc < 0x2328)
 
  137     c = koi8_u_page23[wc-0x2320];
 
  138   else if (wc >= 0x2500 && wc < 0x25a8)
 
  139     c = koi8_u_page25[wc-0x2500];