/* 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_windows_1251[] = {
  /*[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] = */0x0402,	// CYRILLIC CAPITAL LETTER DJE
  /*[0x81] = */0x0403,	// CYRILLIC CAPITAL LETTER GJE
  /*[0x82] = */0x201A,	// SINGLE LOW-9 QUOTATION MARK
  /*[0x83] = */0x0453,	// CYRILLIC SMALL LETTER GJE
  /*[0x84] = */0x201E,	// DOUBLE LOW-9 QUOTATION MARK
  /*[0x85] = */0x2026,	// HORIZONTAL ELLIPSIS
  /*[0x86] = */0x2020,	// DAGGER
  /*[0x87] = */0x2021,	// DOUBLE DAGGER
  /*[0x88] = */0x20AC,	// EURO SIGN
  /*[0x89] = */0x2030,	// PER MILLE SIGN
  /*[0x8A] = */0x0409,	// CYRILLIC CAPITAL LETTER LJE
  /*[0x8B] = */0x2039,	// SINGLE LEFT-POINTING ANGLE QUOTATION MARK
  /*[0x8C] = */0x040A,	// CYRILLIC CAPITAL LETTER NJE
  /*[0x8D] = */0x040C,	// CYRILLIC CAPITAL LETTER KJE
  /*[0x8E] = */0x040B,	// CYRILLIC CAPITAL LETTER TSHE
  /*[0x8F] = */0x040F,	// CYRILLIC CAPITAL LETTER DZHE
  /*[0x90] = */0x0452,	// CYRILLIC SMALL LETTER DJE
  /*[0x91] = */0x2018,	// LEFT SINGLE QUOTATION MARK
  /*[0x92] = */0x2019,	// RIGHT SINGLE QUOTATION MARK
  /*[0x93] = */0x201C,	// LEFT DOUBLE QUOTATION MARK
  /*[0x94] = */0x201D,	// RIGHT DOUBLE QUOTATION MARK
  /*[0x95] = */0x2022,	// BULLET
  /*[0x96] = */0x2013,	// EN DASH
  /*[0x97] = */0x2014,	// EM DASH
  /*[0x98] = */0,
  /*[0x99] = */0x2122,	// TRADE MARK SIGN
  /*[0x9A] = */0x0459,	// CYRILLIC SMALL LETTER LJE
  /*[0x9B] = */0x203A,	// SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
  /*[0x9C] = */0x045A,	// CYRILLIC SMALL LETTER NJE
  /*[0x9D] = */0x045C,	// CYRILLIC SMALL LETTER KJE
  /*[0x9E] = */0x045B,	// CYRILLIC SMALL LETTER TSHE
  /*[0x9F] = */0x045F,	// CYRILLIC SMALL LETTER DZHE
  /*[0xA0] = */0x00A0,	// NO-BREAK SPACE
  /*[0xA1] = */0x040E,	// CYRILLIC CAPITAL LETTER SHORT U
  /*[0xA2] = */0x045E,	// CYRILLIC SMALL LETTER SHORT U
  /*[0xA3] = */0x0408,	// CYRILLIC CAPITAL LETTER JE
  /*[0xA4] = */0x00A4,	// CURRENCY SIGN
  /*[0xA5] = */0x0490,	// CYRILLIC CAPITAL LETTER GHE WITH UPTURN
  /*[0xA6] = */0x00A6,	// BROKEN BAR
  /*[0xA7] = */0x00A7,	// SECTION SIGN
  /*[0xA8] = */0x0401,	// CYRILLIC CAPITAL LETTER IO
  /*[0xA9] = */0x00A9,	// COPYRIGHT SIGN
  /*[0xAA] = */0x0404,	// CYRILLIC CAPITAL LETTER UKRAINIAN IE
  /*[0xAB] = */0x00AB,	// LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
  /*[0xAC] = */0x00AC,	// NOT SIGN
  /*[0xAD] = */0x00AD,	// SOFT HYPHEN
  /*[0xAE] = */0x00AE,	// REGISTERED SIGN
  /*[0xAF] = */0x0407,	// CYRILLIC CAPITAL LETTER YI
  /*[0xB0] = */0x00B0,	// DEGREE SIGN
  /*[0xB1] = */0x00B1,	// PLUS-MINUS SIGN
  /*[0xB2] = */0x0406,	// CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
  /*[0xB3] = */0x0456,	// CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
  /*[0xB4] = */0x0491,	// CYRILLIC SMALL LETTER GHE WITH UPTURN
  /*[0xB5] = */0x00B5,	// MICRO SIGN
  /*[0xB6] = */0x00B6,	// PILCROW SIGN
  /*[0xB7] = */0x00B7,	// MIDDLE DOT
  /*[0xB8] = */0x0451,	// CYRILLIC SMALL LETTER IO
  /*[0xB9] = */0x2116,	// NUMERO SIGN
  /*[0xBA] = */0x0454,	// CYRILLIC SMALL LETTER UKRAINIAN IE
  /*[0xBB] = */0x00BB,	// RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
  /*[0xBC] = */0x0458,	// CYRILLIC SMALL LETTER JE
  /*[0xBD] = */0x0405,	// CYRILLIC CAPITAL LETTER DZE
  /*[0xBE] = */0x0455,	// CYRILLIC SMALL LETTER DZE
  /*[0xBF] = */0x0457,	// CYRILLIC SMALL LETTER YI
  /*[0xC0] = */0x0410,	// CYRILLIC CAPITAL LETTER A
  /*[0xC1] = */0x0411,	// CYRILLIC CAPITAL LETTER BE
  /*[0xC2] = */0x0412,	// CYRILLIC CAPITAL LETTER VE
  /*[0xC3] = */0x0413,	// CYRILLIC CAPITAL LETTER GHE
  /*[0xC4] = */0x0414,	// CYRILLIC CAPITAL LETTER DE
  /*[0xC5] = */0x0415,	// CYRILLIC CAPITAL LETTER IE
  /*[0xC6] = */0x0416,	// CYRILLIC CAPITAL LETTER ZHE
  /*[0xC7] = */0x0417,	// CYRILLIC CAPITAL LETTER ZE
  /*[0xC8] = */0x0418,	// CYRILLIC CAPITAL LETTER I
  /*[0xC9] = */0x0419,	// CYRILLIC CAPITAL LETTER SHORT I
  /*[0xCA] = */0x041A,	// CYRILLIC CAPITAL LETTER KA
  /*[0xCB] = */0x041B,	// CYRILLIC CAPITAL LETTER EL
  /*[0xCC] = */0x041C,	// CYRILLIC CAPITAL LETTER EM
  /*[0xCD] = */0x041D,	// CYRILLIC CAPITAL LETTER EN
  /*[0xCE] = */0x041E,	// CYRILLIC CAPITAL LETTER O
  /*[0xCF] = */0x041F,	// CYRILLIC CAPITAL LETTER PE
  /*[0xD0] = */0x0420,	// CYRILLIC CAPITAL LETTER ER
  /*[0xD1] = */0x0421,	// CYRILLIC CAPITAL LETTER ES
  /*[0xD2] = */0x0422,	// CYRILLIC CAPITAL LETTER TE
  /*[0xD3] = */0x0423,	// CYRILLIC CAPITAL LETTER U
  /*[0xD4] = */0x0424,	// CYRILLIC CAPITAL LETTER EF
  /*[0xD5] = */0x0425,	// CYRILLIC CAPITAL LETTER HA
  /*[0xD6] = */0x0426,	// CYRILLIC CAPITAL LETTER TSE
  /*[0xD7] = */0x0427,	// CYRILLIC CAPITAL LETTER CHE
  /*[0xD8] = */0x0428,	// CYRILLIC CAPITAL LETTER SHA
  /*[0xD9] = */0x0429,	// CYRILLIC CAPITAL LETTER SHCHA
  /*[0xDA] = */0x042A,	// CYRILLIC CAPITAL LETTER HARD SIGN
  /*[0xDB] = */0x042B,	// CYRILLIC CAPITAL LETTER YERU
  /*[0xDC] = */0x042C,	// CYRILLIC CAPITAL LETTER SOFT SIGN
  /*[0xDD] = */0x042D,	// CYRILLIC CAPITAL LETTER E
  /*[0xDE] = */0x042E,	// CYRILLIC CAPITAL LETTER YU
  /*[0xDF] = */0x042F,	// CYRILLIC CAPITAL LETTER YA
  /*[0xE0] = */0x0430,	// CYRILLIC SMALL LETTER A
  /*[0xE1] = */0x0431,	// CYRILLIC SMALL LETTER BE
  /*[0xE2] = */0x0432,	// CYRILLIC SMALL LETTER VE
  /*[0xE3] = */0x0433,	// CYRILLIC SMALL LETTER GHE
  /*[0xE4] = */0x0434,	// CYRILLIC SMALL LETTER DE
  /*[0xE5] = */0x0435,	// CYRILLIC SMALL LETTER IE
  /*[0xE6] = */0x0436,	// CYRILLIC SMALL LETTER ZHE
  /*[0xE7] = */0x0437,	// CYRILLIC SMALL LETTER ZE
  /*[0xE8] = */0x0438,	// CYRILLIC SMALL LETTER I
  /*[0xE9] = */0x0439,	// CYRILLIC SMALL LETTER SHORT I
  /*[0xEA] = */0x043A,	// CYRILLIC SMALL LETTER KA
  /*[0xEB] = */0x043B,	// CYRILLIC SMALL LETTER EL
  /*[0xEC] = */0x043C,	// CYRILLIC SMALL LETTER EM
  /*[0xED] = */0x043D,	// CYRILLIC SMALL LETTER EN
  /*[0xEE] = */0x043E,	// CYRILLIC SMALL LETTER O
  /*[0xEF] = */0x043F,	// CYRILLIC SMALL LETTER PE
  /*[0xF0] = */0x0440,	// CYRILLIC SMALL LETTER ER
  /*[0xF1] = */0x0441,	// CYRILLIC SMALL LETTER ES
  /*[0xF2] = */0x0442,	// CYRILLIC SMALL LETTER TE
  /*[0xF3] = */0x0443,	// CYRILLIC SMALL LETTER U
  /*[0xF4] = */0x0444,	// CYRILLIC SMALL LETTER EF
  /*[0xF5] = */0x0445,	// CYRILLIC SMALL LETTER HA
  /*[0xF6] = */0x0446,	// CYRILLIC SMALL LETTER TSE
  /*[0xF7] = */0x0447,	// CYRILLIC SMALL LETTER CHE
  /*[0xF8] = */0x0448,	// CYRILLIC SMALL LETTER SHA
  /*[0xF9] = */0x0449,	// CYRILLIC SMALL LETTER SHCHA
  /*[0xFA] = */0x044A,	// CYRILLIC SMALL LETTER HARD SIGN
  /*[0xFB] = */0x044B,	// CYRILLIC SMALL LETTER YERU
  /*[0xFC] = */0x044C,	// CYRILLIC SMALL LETTER SOFT SIGN
  /*[0xFD] = */0x044D,	// CYRILLIC SMALL LETTER E
  /*[0xFE] = */0x044E,	// CYRILLIC SMALL LETTER YU
  /*[0xFF] = */0x044F,	// CYRILLIC SMALL LETTER YA
};
/* sorted, without the first 127 characters */
static const uint8_t cptbl_alnum_windows_1251[] = {
  94,		// size of vector
  0x80,	// CYRILLIC CAPITAL LETTER DJE
  0x81,	// CYRILLIC CAPITAL LETTER GJE
  0x83,	// CYRILLIC SMALL LETTER GJE
  0x8A,	// CYRILLIC CAPITAL LETTER LJE
  0x8C,	// CYRILLIC CAPITAL LETTER NJE
  0x8D,	// CYRILLIC CAPITAL LETTER KJE
  0x8E,	// CYRILLIC CAPITAL LETTER TSHE
  0x8F,	// CYRILLIC CAPITAL LETTER DZHE
  0x90,	// CYRILLIC SMALL LETTER DJE
  0x9A,	// CYRILLIC SMALL LETTER LJE
  0x9C,	// CYRILLIC SMALL LETTER NJE
  0x9D,	// CYRILLIC SMALL LETTER KJE
  0x9E,	// CYRILLIC SMALL LETTER TSHE
  0x9F,	// CYRILLIC SMALL LETTER DZHE
  0xA1,	// CYRILLIC CAPITAL LETTER SHORT U
  0xA2,	// CYRILLIC SMALL LETTER SHORT U
  0xA3,	// CYRILLIC CAPITAL LETTER JE
  0xA5,	// CYRILLIC CAPITAL LETTER GHE WITH UPTURN
  0xA8,	// CYRILLIC CAPITAL LETTER IO
  0xAA,	// CYRILLIC CAPITAL LETTER UKRAINIAN IE
  0xAF,	// CYRILLIC CAPITAL LETTER YI
  0xB2,	// CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
  0xB3,	// CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
  0xB4,	// CYRILLIC SMALL LETTER GHE WITH UPTURN
  0xB8,	// CYRILLIC SMALL LETTER IO
  0xBA,	// CYRILLIC SMALL LETTER UKRAINIAN IE
  0xBC,	// CYRILLIC SMALL LETTER JE
  0xBD,	// CYRILLIC CAPITAL LETTER DZE
  0xBE,	// CYRILLIC SMALL LETTER DZE
  0xBF,	// CYRILLIC SMALL LETTER YI
  0xC0,	// CYRILLIC CAPITAL LETTER A
  0xC1,	// CYRILLIC CAPITAL LETTER BE
  0xC2,	// CYRILLIC CAPITAL LETTER VE
  0xC3,	// CYRILLIC CAPITAL LETTER GHE
  0xC4,	// CYRILLIC CAPITAL LETTER DE
  0xC5,	// CYRILLIC CAPITAL LETTER IE
  0xC6,	// CYRILLIC CAPITAL LETTER ZHE
  0xC7,	// CYRILLIC CAPITAL LETTER ZE
  0xC8,	// CYRILLIC CAPITAL LETTER I
  0xC9,	// CYRILLIC CAPITAL LETTER SHORT I
  0xCA,	// CYRILLIC CAPITAL LETTER KA
  0xCB,	// CYRILLIC CAPITAL LETTER EL
  0xCC,	// CYRILLIC CAPITAL LETTER EM
  0xCD,	// CYRILLIC CAPITAL LETTER EN
  0xCE,	// CYRILLIC CAPITAL LETTER O
  0xCF,	// CYRILLIC CAPITAL LETTER PE
  0xD0,	// CYRILLIC CAPITAL LETTER ER
  0xD1,	// CYRILLIC CAPITAL LETTER ES
  0xD2,	// CYRILLIC CAPITAL LETTER TE
  0xD3,	// CYRILLIC CAPITAL LETTER U
  0xD4,	// CYRILLIC CAPITAL LETTER EF
  0xD5,	// CYRILLIC CAPITAL LETTER HA
  0xD6,	// CYRILLIC CAPITAL LETTER TSE
  0xD7,	// CYRILLIC CAPITAL LETTER CHE
  0xD8,	// CYRILLIC CAPITAL LETTER SHA
  0xD9,	// CYRILLIC CAPITAL LETTER SHCHA
  0xDA,	// CYRILLIC CAPITAL LETTER HARD SIGN
  0xDB,	// CYRILLIC CAPITAL LETTER YERU
  0xDC,	// CYRILLIC CAPITAL LETTER SOFT SIGN
  0xDD,	// CYRILLIC CAPITAL LETTER E
  0xDE,	// CYRILLIC CAPITAL LETTER YU
  0xDF,	// CYRILLIC CAPITAL LETTER YA
  0xE0,	// CYRILLIC SMALL LETTER A
  0xE1,	// CYRILLIC SMALL LETTER BE
  0xE2,	// CYRILLIC SMALL LETTER VE
  0xE3,	// CYRILLIC SMALL LETTER GHE
  0xE4,	// CYRILLIC SMALL LETTER DE
  0xE5,	// CYRILLIC SMALL LETTER IE
  0xE6,	// CYRILLIC SMALL LETTER ZHE
  0xE7,	// CYRILLIC SMALL LETTER ZE
  0xE8,	// CYRILLIC SMALL LETTER I
  0xE9,	// CYRILLIC SMALL LETTER SHORT I
  0xEA,	// CYRILLIC SMALL LETTER KA
  0xEB,	// CYRILLIC SMALL LETTER EL
  0xEC,	// CYRILLIC SMALL LETTER EM
  0xED,	// CYRILLIC SMALL LETTER EN
  0xEE,	// CYRILLIC SMALL LETTER O
  0xEF,	// CYRILLIC SMALL LETTER PE
  0xF0,	// CYRILLIC SMALL LETTER ER
  0xF1,	// CYRILLIC SMALL LETTER ES
  0xF2,	// CYRILLIC SMALL LETTER TE
  0xF3,	// CYRILLIC SMALL LETTER U
  0xF4,	// CYRILLIC SMALL LETTER EF
  0xF5,	// CYRILLIC SMALL LETTER HA
  0xF6,	// CYRILLIC SMALL LETTER TSE
  0xF7,	// CYRILLIC SMALL LETTER CHE
  0xF8,	// CYRILLIC SMALL LETTER SHA
  0xF9,	// CYRILLIC SMALL LETTER SHCHA
  0xFA,	// CYRILLIC SMALL LETTER HARD SIGN
  0xFB,	// CYRILLIC SMALL LETTER YERU
  0xFC,	// CYRILLIC SMALL LETTER SOFT SIGN
  0xFD,	// CYRILLIC SMALL LETTER E
  0xFE,	// CYRILLIC SMALL LETTER YU
  0xFF,	// CYRILLIC SMALL LETTER YA
};
#define MIN_WINDOWS_1251	0
#define MAX_WINDOWS_1251	255
#define MIN_WINDOWS_1251_UC	0
#define MAX_WINDOWS_1251_UC	8482
