/* ex: set ro ft=c: -*- mode: c; buffer-read-only: t -*- */
// Copyright (C) 2023,2024 Free Software Foundation, Inc.
// This file is part of LibreDWG.
// Created from scratch by Reini Urban
// Generated by txt2h.pl.

#include <stdint.h>

/* unsorted rhs values */
static const uint16_t cptbl_cp866[] = {
  /*[0x0] = */255,	// size of vector
  /*[0x1] = */1,
  /*[0x2] = */2,
  /*[0x3] = */3,
  /*[0x4] = */4,
  /*[0x5] = */5,
  /*[0x6] = */6,
  /*[0x7] = */7,
  /*[0x8] = */8,
  /*[0x9] = */9,
  /*[0xa] = */10,
  /*[0xb] = */11,
  /*[0xc] = */12,
  /*[0xd] = */13,
  /*[0xe] = */14,
  /*[0xf] = */15,
  /*[0x10] = */16,
  /*[0x11] = */17,
  /*[0x12] = */18,
  /*[0x13] = */19,
  /*[0x14] = */20,
  /*[0x15] = */21,
  /*[0x16] = */22,
  /*[0x17] = */23,
  /*[0x18] = */24,
  /*[0x19] = */25,
  /*[0x1a] = */26,
  /*[0x1b] = */27,
  /*[0x1c] = */28,
  /*[0x1d] = */29,
  /*[0x1e] = */30,
  /*[0x1f] = */31,
  /*[0x20] = */32,
  /*[0x21] = */33,
  /*[0x22] = */34,
  /*[0x23] = */35,
  /*[0x24] = */36,
  /*[0x25] = */37,
  /*[0x26] = */38,
  /*[0x27] = */39,
  /*[0x28] = */40,
  /*[0x29] = */41,
  /*[0x2a] = */42,
  /*[0x2b] = */43,
  /*[0x2c] = */44,
  /*[0x2d] = */45,
  /*[0x2e] = */46,
  /*[0x2f] = */47,
  /*[0x30] = */48,
  /*[0x31] = */49,
  /*[0x32] = */50,
  /*[0x33] = */51,
  /*[0x34] = */52,
  /*[0x35] = */53,
  /*[0x36] = */54,
  /*[0x37] = */55,
  /*[0x38] = */56,
  /*[0x39] = */57,
  /*[0x3a] = */58,
  /*[0x3b] = */59,
  /*[0x3c] = */60,
  /*[0x3d] = */61,
  /*[0x3e] = */62,
  /*[0x3f] = */63,
  /*[0x40] = */64,
  /*[0x41] = */65,
  /*[0x42] = */66,
  /*[0x43] = */67,
  /*[0x44] = */68,
  /*[0x45] = */69,
  /*[0x46] = */70,
  /*[0x47] = */71,
  /*[0x48] = */72,
  /*[0x49] = */73,
  /*[0x4a] = */74,
  /*[0x4b] = */75,
  /*[0x4c] = */76,
  /*[0x4d] = */77,
  /*[0x4e] = */78,
  /*[0x4f] = */79,
  /*[0x50] = */80,
  /*[0x51] = */81,
  /*[0x52] = */82,
  /*[0x53] = */83,
  /*[0x54] = */84,
  /*[0x55] = */85,
  /*[0x56] = */86,
  /*[0x57] = */87,
  /*[0x58] = */88,
  /*[0x59] = */89,
  /*[0x5a] = */90,
  /*[0x5b] = */91,
  /*[0x5c] = */92,
  /*[0x5d] = */93,
  /*[0x5e] = */94,
  /*[0x5f] = */95,
  /*[0x60] = */96,
  /*[0x61] = */97,
  /*[0x62] = */98,
  /*[0x63] = */99,
  /*[0x64] = */100,
  /*[0x65] = */101,
  /*[0x66] = */102,
  /*[0x67] = */103,
  /*[0x68] = */104,
  /*[0x69] = */105,
  /*[0x6a] = */106,
  /*[0x6b] = */107,
  /*[0x6c] = */108,
  /*[0x6d] = */109,
  /*[0x6e] = */110,
  /*[0x6f] = */111,
  /*[0x70] = */112,
  /*[0x71] = */113,
  /*[0x72] = */114,
  /*[0x73] = */115,
  /*[0x74] = */116,
  /*[0x75] = */117,
  /*[0x76] = */118,
  /*[0x77] = */119,
  /*[0x78] = */120,
  /*[0x79] = */121,
  /*[0x7a] = */122,
  /*[0x7b] = */123,
  /*[0x7c] = */124,
  /*[0x7d] = */125,
  /*[0x7e] = */126,
  /*[0x7f] = */0,
  /*[0x80] = */0x0410,	// CYRILLIC CAPITAL LETTER A
  /*[0x81] = */0x0411,	// CYRILLIC CAPITAL LETTER BE
  /*[0x82] = */0x0412,	// CYRILLIC CAPITAL LETTER VE
  /*[0x83] = */0x0413,	// CYRILLIC CAPITAL LETTER GHE
  /*[0x84] = */0x0414,	// CYRILLIC CAPITAL LETTER DE
  /*[0x85] = */0x0415,	// CYRILLIC CAPITAL LETTER IE
  /*[0x86] = */0x0416,	// CYRILLIC CAPITAL LETTER ZHE
  /*[0x87] = */0x0417,	// CYRILLIC CAPITAL LETTER ZE
  /*[0x88] = */0x0418,	// CYRILLIC CAPITAL LETTER I
  /*[0x89] = */0x0419,	// CYRILLIC CAPITAL LETTER SHORT I
  /*[0x8a] = */0x041a,	// CYRILLIC CAPITAL LETTER KA
  /*[0x8b] = */0x041b,	// CYRILLIC CAPITAL LETTER EL
  /*[0x8c] = */0x041c,	// CYRILLIC CAPITAL LETTER EM
  /*[0x8d] = */0x041d,	// CYRILLIC CAPITAL LETTER EN
  /*[0x8e] = */0x041e,	// CYRILLIC CAPITAL LETTER O
  /*[0x8f] = */0x041f,	// CYRILLIC CAPITAL LETTER PE
  /*[0x90] = */0x0420,	// CYRILLIC CAPITAL LETTER ER
  /*[0x91] = */0x0421,	// CYRILLIC CAPITAL LETTER ES
  /*[0x92] = */0x0422,	// CYRILLIC CAPITAL LETTER TE
  /*[0x93] = */0x0423,	// CYRILLIC CAPITAL LETTER U
  /*[0x94] = */0x0424,	// CYRILLIC CAPITAL LETTER EF
  /*[0x95] = */0x0425,	// CYRILLIC CAPITAL LETTER HA
  /*[0x96] = */0x0426,	// CYRILLIC CAPITAL LETTER TSE
  /*[0x97] = */0x0427,	// CYRILLIC CAPITAL LETTER CHE
  /*[0x98] = */0x0428,	// CYRILLIC CAPITAL LETTER SHA
  /*[0x99] = */0x0429,	// CYRILLIC CAPITAL LETTER SHCHA
  /*[0x9a] = */0x042a,	// CYRILLIC CAPITAL LETTER HARD SIGN
  /*[0x9b] = */0x042b,	// CYRILLIC CAPITAL LETTER YERU
  /*[0x9c] = */0x042c,	// CYRILLIC CAPITAL LETTER SOFT SIGN
  /*[0x9d] = */0x042d,	// CYRILLIC CAPITAL LETTER E
  /*[0x9e] = */0x042e,	// CYRILLIC CAPITAL LETTER YU
  /*[0x9f] = */0x042f,	// CYRILLIC CAPITAL LETTER YA
  /*[0xa0] = */0x0430,	// CYRILLIC SMALL LETTER A
  /*[0xa1] = */0x0431,	// CYRILLIC SMALL LETTER BE
  /*[0xa2] = */0x0432,	// CYRILLIC SMALL LETTER VE
  /*[0xa3] = */0x0433,	// CYRILLIC SMALL LETTER GHE
  /*[0xa4] = */0x0434,	// CYRILLIC SMALL LETTER DE
  /*[0xa5] = */0x0435,	// CYRILLIC SMALL LETTER IE
  /*[0xa6] = */0x0436,	// CYRILLIC SMALL LETTER ZHE
  /*[0xa7] = */0x0437,	// CYRILLIC SMALL LETTER ZE
  /*[0xa8] = */0x0438,	// CYRILLIC SMALL LETTER I
  /*[0xa9] = */0x0439,	// CYRILLIC SMALL LETTER SHORT I
  /*[0xaa] = */0x043a,	// CYRILLIC SMALL LETTER KA
  /*[0xab] = */0x043b,	// CYRILLIC SMALL LETTER EL
  /*[0xac] = */0x043c,	// CYRILLIC SMALL LETTER EM
  /*[0xad] = */0x043d,	// CYRILLIC SMALL LETTER EN
  /*[0xae] = */0x043e,	// CYRILLIC SMALL LETTER O
  /*[0xaf] = */0x043f,	// CYRILLIC SMALL LETTER PE
  /*[0xb0] = */0x2591,	// LIGHT SHADE
  /*[0xb1] = */0x2592,	// MEDIUM SHADE
  /*[0xb2] = */0x2593,	// DARK SHADE
  /*[0xb3] = */0x2502,	// BOX DRAWINGS LIGHT VERTICAL
  /*[0xb4] = */0x2524,	// BOX DRAWINGS LIGHT VERTICAL AND LEFT
  /*[0xb5] = */0x2561,	// BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
  /*[0xb6] = */0x2562,	// BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
  /*[0xb7] = */0x2556,	// BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
  /*[0xb8] = */0x2555,	// BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
  /*[0xb9] = */0x2563,	// BOX DRAWINGS DOUBLE VERTICAL AND LEFT
  /*[0xba] = */0x2551,	// BOX DRAWINGS DOUBLE VERTICAL
  /*[0xbb] = */0x2557,	// BOX DRAWINGS DOUBLE DOWN AND LEFT
  /*[0xbc] = */0x255d,	// BOX DRAWINGS DOUBLE UP AND LEFT
  /*[0xbd] = */0x255c,	// BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
  /*[0xbe] = */0x255b,	// BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
  /*[0xbf] = */0x2510,	// BOX DRAWINGS LIGHT DOWN AND LEFT
  /*[0xc0] = */0x2514,	// BOX DRAWINGS LIGHT UP AND RIGHT
  /*[0xc1] = */0x2534,	// BOX DRAWINGS LIGHT UP AND HORIZONTAL
  /*[0xc2] = */0x252c,	// BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
  /*[0xc3] = */0x251c,	// BOX DRAWINGS LIGHT VERTICAL AND RIGHT
  /*[0xc4] = */0x2500,	// BOX DRAWINGS LIGHT HORIZONTAL
  /*[0xc5] = */0x253c,	// BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
  /*[0xc6] = */0x255e,	// BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
  /*[0xc7] = */0x255f,	// BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
  /*[0xc8] = */0x255a,	// BOX DRAWINGS DOUBLE UP AND RIGHT
  /*[0xc9] = */0x2554,	// BOX DRAWINGS DOUBLE DOWN AND RIGHT
  /*[0xca] = */0x2569,	// BOX DRAWINGS DOUBLE UP AND HORIZONTAL
  /*[0xcb] = */0x2566,	// BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
  /*[0xcc] = */0x2560,	// BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
  /*[0xcd] = */0x2550,	// BOX DRAWINGS DOUBLE HORIZONTAL
  /*[0xce] = */0x256c,	// BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
  /*[0xcf] = */0x2567,	// BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
  /*[0xd0] = */0x2568,	// BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
  /*[0xd1] = */0x2564,	// BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
  /*[0xd2] = */0x2565,	// BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
  /*[0xd3] = */0x2559,	// BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
  /*[0xd4] = */0x2558,	// BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
  /*[0xd5] = */0x2552,	// BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
  /*[0xd6] = */0x2553,	// BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
  /*[0xd7] = */0x256b,	// BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
  /*[0xd8] = */0x256a,	// BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
  /*[0xd9] = */0x2518,	// BOX DRAWINGS LIGHT UP AND LEFT
  /*[0xda] = */0x250c,	// BOX DRAWINGS LIGHT DOWN AND RIGHT
  /*[0xdb] = */0x2588,	// FULL BLOCK
  /*[0xdc] = */0x2584,	// LOWER HALF BLOCK
  /*[0xdd] = */0x258c,	// LEFT HALF BLOCK
  /*[0xde] = */0x2590,	// RIGHT HALF BLOCK
  /*[0xdf] = */0x2580,	// UPPER HALF BLOCK
  /*[0xe0] = */0x0440,	// CYRILLIC SMALL LETTER ER
  /*[0xe1] = */0x0441,	// CYRILLIC SMALL LETTER ES
  /*[0xe2] = */0x0442,	// CYRILLIC SMALL LETTER TE
  /*[0xe3] = */0x0443,	// CYRILLIC SMALL LETTER U
  /*[0xe4] = */0x0444,	// CYRILLIC SMALL LETTER EF
  /*[0xe5] = */0x0445,	// CYRILLIC SMALL LETTER HA
  /*[0xe6] = */0x0446,	// CYRILLIC SMALL LETTER TSE
  /*[0xe7] = */0x0447,	// CYRILLIC SMALL LETTER CHE
  /*[0xe8] = */0x0448,	// CYRILLIC SMALL LETTER SHA
  /*[0xe9] = */0x0449,	// CYRILLIC SMALL LETTER SHCHA
  /*[0xea] = */0x044a,	// CYRILLIC SMALL LETTER HARD SIGN
  /*[0xeb] = */0x044b,	// CYRILLIC SMALL LETTER YERU
  /*[0xec] = */0x044c,	// CYRILLIC SMALL LETTER SOFT SIGN
  /*[0xed] = */0x044d,	// CYRILLIC SMALL LETTER E
  /*[0xee] = */0x044e,	// CYRILLIC SMALL LETTER YU
  /*[0xef] = */0x044f,	// CYRILLIC SMALL LETTER YA
  /*[0xf0] = */0x0401,	// CYRILLIC CAPITAL LETTER IO
  /*[0xf1] = */0x0451,	// CYRILLIC SMALL LETTER IO
  /*[0xf2] = */0x0404,	// CYRILLIC CAPITAL LETTER UKRAINIAN IE
  /*[0xf3] = */0x0454,	// CYRILLIC SMALL LETTER UKRAINIAN IE
  /*[0xf4] = */0x0407,	// CYRILLIC CAPITAL LETTER YI
  /*[0xf5] = */0x0457,	// CYRILLIC SMALL LETTER YI
  /*[0xf6] = */0x040e,	// CYRILLIC CAPITAL LETTER SHORT U
  /*[0xf7] = */0x045e,	// CYRILLIC SMALL LETTER SHORT U
  /*[0xf8] = */0x00b0,	// DEGREE SIGN
  /*[0xf9] = */0x2219,	// BULLET OPERATOR
  /*[0xfa] = */0x00b7,	// MIDDLE DOT
  /*[0xfb] = */0x221a,	// SQUARE ROOT
  /*[0xfc] = */0x2116,	// NUMERO SIGN
  /*[0xfd] = */0x00a4,	// CURRENCY SIGN
  /*[0xfe] = */0x25a0,	// BLACK SQUARE
  /*[0xff] = */0x00a0,	// NO-BREAK SPACE
};
/* sorted, without the first 127 characters */
static const uint8_t cptbl_alnum_cp866[] = {
  72,		// size of vector
  0x80,	// CYRILLIC CAPITAL LETTER A
  0x81,	// CYRILLIC CAPITAL LETTER BE
  0x82,	// CYRILLIC CAPITAL LETTER VE
  0x83,	// CYRILLIC CAPITAL LETTER GHE
  0x84,	// CYRILLIC CAPITAL LETTER DE
  0x85,	// CYRILLIC CAPITAL LETTER IE
  0x86,	// CYRILLIC CAPITAL LETTER ZHE
  0x87,	// CYRILLIC CAPITAL LETTER ZE
  0x88,	// CYRILLIC CAPITAL LETTER I
  0x89,	// CYRILLIC CAPITAL LETTER SHORT I
  0x8a,	// CYRILLIC CAPITAL LETTER KA
  0x8b,	// CYRILLIC CAPITAL LETTER EL
  0x8c,	// CYRILLIC CAPITAL LETTER EM
  0x8d,	// CYRILLIC CAPITAL LETTER EN
  0x8e,	// CYRILLIC CAPITAL LETTER O
  0x8f,	// CYRILLIC CAPITAL LETTER PE
  0x90,	// CYRILLIC CAPITAL LETTER ER
  0x91,	// CYRILLIC CAPITAL LETTER ES
  0x92,	// CYRILLIC CAPITAL LETTER TE
  0x93,	// CYRILLIC CAPITAL LETTER U
  0x94,	// CYRILLIC CAPITAL LETTER EF
  0x95,	// CYRILLIC CAPITAL LETTER HA
  0x96,	// CYRILLIC CAPITAL LETTER TSE
  0x97,	// CYRILLIC CAPITAL LETTER CHE
  0x98,	// CYRILLIC CAPITAL LETTER SHA
  0x99,	// CYRILLIC CAPITAL LETTER SHCHA
  0x9a,	// CYRILLIC CAPITAL LETTER HARD SIGN
  0x9b,	// CYRILLIC CAPITAL LETTER YERU
  0x9c,	// CYRILLIC CAPITAL LETTER SOFT SIGN
  0x9d,	// CYRILLIC CAPITAL LETTER E
  0x9e,	// CYRILLIC CAPITAL LETTER YU
  0x9f,	// CYRILLIC CAPITAL LETTER YA
  0xa0,	// CYRILLIC SMALL LETTER A
  0xa1,	// CYRILLIC SMALL LETTER BE
  0xa2,	// CYRILLIC SMALL LETTER VE
  0xa3,	// CYRILLIC SMALL LETTER GHE
  0xa4,	// CYRILLIC SMALL LETTER DE
  0xa5,	// CYRILLIC SMALL LETTER IE
  0xa6,	// CYRILLIC SMALL LETTER ZHE
  0xa7,	// CYRILLIC SMALL LETTER ZE
  0xa8,	// CYRILLIC SMALL LETTER I
  0xa9,	// CYRILLIC SMALL LETTER SHORT I
  0xaa,	// CYRILLIC SMALL LETTER KA
  0xab,	// CYRILLIC SMALL LETTER EL
  0xac,	// CYRILLIC SMALL LETTER EM
  0xad,	// CYRILLIC SMALL LETTER EN
  0xae,	// CYRILLIC SMALL LETTER O
  0xaf,	// CYRILLIC SMALL LETTER PE
  0xe0,	// CYRILLIC SMALL LETTER ER
  0xe1,	// CYRILLIC SMALL LETTER ES
  0xe2,	// CYRILLIC SMALL LETTER TE
  0xe3,	// CYRILLIC SMALL LETTER U
  0xe4,	// CYRILLIC SMALL LETTER EF
  0xe5,	// CYRILLIC SMALL LETTER HA
  0xe6,	// CYRILLIC SMALL LETTER TSE
  0xe7,	// CYRILLIC SMALL LETTER CHE
  0xe8,	// CYRILLIC SMALL LETTER SHA
  0xe9,	// CYRILLIC SMALL LETTER SHCHA
  0xea,	// CYRILLIC SMALL LETTER HARD SIGN
  0xeb,	// CYRILLIC SMALL LETTER YERU
  0xec,	// CYRILLIC SMALL LETTER SOFT SIGN
  0xed,	// CYRILLIC SMALL LETTER E
  0xee,	// CYRILLIC SMALL LETTER YU
  0xef,	// CYRILLIC SMALL LETTER YA
  0xf0,	// CYRILLIC CAPITAL LETTER IO
  0xf1,	// CYRILLIC SMALL LETTER IO
  0xf2,	// CYRILLIC CAPITAL LETTER UKRAINIAN IE
  0xf3,	// CYRILLIC SMALL LETTER UKRAINIAN IE
  0xf4,	// CYRILLIC CAPITAL LETTER YI
  0xf5,	// CYRILLIC SMALL LETTER YI
  0xf6,	// CYRILLIC CAPITAL LETTER SHORT U
  0xf7,	// CYRILLIC SMALL LETTER SHORT U
};
#define MIN_CP866	0
#define MAX_CP866	255
#define MIN_CP866_UC	0
#define MAX_CP866_UC	9632
