/* 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_cp864[] = {
  /*[0x0] = */254,	// 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] = */0x066a,	// ARABIC PERCENT SIGN
  /*[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] = */0x00b0,	// DEGREE SIGN
  /*[0x81] = */0x00b7,	// MIDDLE DOT
  /*[0x82] = */0x2219,	// BULLET OPERATOR
  /*[0x83] = */0x221a,	// SQUARE ROOT
  /*[0x84] = */0x2592,	// MEDIUM SHADE
  /*[0x85] = */0x2500,	// FORMS LIGHT HORIZONTAL
  /*[0x86] = */0x2502,	// FORMS LIGHT VERTICAL
  /*[0x87] = */0x253c,	// FORMS LIGHT VERTICAL AND HORIZONTAL
  /*[0x88] = */0x2524,	// FORMS LIGHT VERTICAL AND LEFT
  /*[0x89] = */0x252c,	// FORMS LIGHT DOWN AND HORIZONTAL
  /*[0x8a] = */0x251c,	// FORMS LIGHT VERTICAL AND RIGHT
  /*[0x8b] = */0x2534,	// FORMS LIGHT UP AND HORIZONTAL
  /*[0x8c] = */0x2510,	// FORMS LIGHT DOWN AND LEFT
  /*[0x8d] = */0x250c,	// FORMS LIGHT DOWN AND RIGHT
  /*[0x8e] = */0x2514,	// FORMS LIGHT UP AND RIGHT
  /*[0x8f] = */0x2518,	// FORMS LIGHT UP AND LEFT
  /*[0x90] = */0x03b2,	// GREEK SMALL BETA
  /*[0x91] = */0x221e,	// INFINITY
  /*[0x92] = */0x03c6,	// GREEK SMALL PHI
  /*[0x93] = */0x00b1,	// PLUS-OR-MINUS SIGN
  /*[0x94] = */0x00bd,	// FRACTION 1/2
  /*[0x95] = */0x00bc,	// FRACTION 1/4
  /*[0x96] = */0x2248,	// ALMOST EQUAL TO
  /*[0x97] = */0x00ab,	// LEFT POINTING GUILLEMET
  /*[0x98] = */0x00bb,	// RIGHT POINTING GUILLEMET
  /*[0x99] = */0xfef7,	// ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE ISOLATED FORM
  /*[0x9a] = */0xfef8,	// ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE FINAL FORM
  /*[0x9b] = */0,
  /*[0x9c] = */0,
  /*[0x9d] = */0xfefb,	// ARABIC LIGATURE LAM WITH ALEF ISOLATED FORM
  /*[0x9e] = */0xfefc,	// ARABIC LIGATURE LAM WITH ALEF FINAL FORM
  /*[0x9f] = */0,
  /*[0xa0] = */0x00a0,	// NON-BREAKING SPACE
  /*[0xa1] = */0x00ad,	// SOFT HYPHEN
  /*[0xa2] = */0xfe82,	// ARABIC LETTER ALEF WITH MADDA ABOVE FINAL FORM
  /*[0xa3] = */0x00a3,	// POUND SIGN
  /*[0xa4] = */0x00a4,	// CURRENCY SIGN
  /*[0xa5] = */0xfe84,	// ARABIC LETTER ALEF WITH HAMZA ABOVE FINAL FORM
  /*[0xa6] = */0,
  /*[0xa7] = */0,
  /*[0xa8] = */0xfe8e,	// ARABIC LETTER ALEF FINAL FORM
  /*[0xa9] = */0xfe8f,	// ARABIC LETTER BEH ISOLATED FORM
  /*[0xaa] = */0xfe95,	// ARABIC LETTER TEH ISOLATED FORM
  /*[0xab] = */0xfe99,	// ARABIC LETTER THEH ISOLATED FORM
  /*[0xac] = */0x060c,	// ARABIC COMMA
  /*[0xad] = */0xfe9d,	// ARABIC LETTER JEEM ISOLATED FORM
  /*[0xae] = */0xfea1,	// ARABIC LETTER HAH ISOLATED FORM
  /*[0xaf] = */0xfea5,	// ARABIC LETTER KHAH ISOLATED FORM
  /*[0xb0] = */0x0660,	// ARABIC-INDIC DIGIT ZERO
  /*[0xb1] = */0x0661,	// ARABIC-INDIC DIGIT ONE
  /*[0xb2] = */0x0662,	// ARABIC-INDIC DIGIT TWO
  /*[0xb3] = */0x0663,	// ARABIC-INDIC DIGIT THREE
  /*[0xb4] = */0x0664,	// ARABIC-INDIC DIGIT FOUR
  /*[0xb5] = */0x0665,	// ARABIC-INDIC DIGIT FIVE
  /*[0xb6] = */0x0666,	// ARABIC-INDIC DIGIT SIX
  /*[0xb7] = */0x0667,	// ARABIC-INDIC DIGIT SEVEN
  /*[0xb8] = */0x0668,	// ARABIC-INDIC DIGIT EIGHT
  /*[0xb9] = */0x0669,	// ARABIC-INDIC DIGIT NINE
  /*[0xba] = */0xfed1,	// ARABIC LETTER FEH ISOLATED FORM
  /*[0xbb] = */0x061b,	// ARABIC SEMICOLON
  /*[0xbc] = */0xfeb1,	// ARABIC LETTER SEEN ISOLATED FORM
  /*[0xbd] = */0xfeb5,	// ARABIC LETTER SHEEN ISOLATED FORM
  /*[0xbe] = */0xfeb9,	// ARABIC LETTER SAD ISOLATED FORM
  /*[0xbf] = */0x061f,	// ARABIC QUESTION MARK
  /*[0xc0] = */0x00a2,	// CENT SIGN
  /*[0xc1] = */0xfe80,	// ARABIC LETTER HAMZA ISOLATED FORM
  /*[0xc2] = */0xfe81,	// ARABIC LETTER ALEF WITH MADDA ABOVE ISOLATED FORM
  /*[0xc3] = */0xfe83,	// ARABIC LETTER ALEF WITH HAMZA ABOVE ISOLATED FORM
  /*[0xc4] = */0xfe85,	// ARABIC LETTER WAW WITH HAMZA ABOVE ISOLATED FORM
  /*[0xc5] = */0xfeca,	// ARABIC LETTER AIN FINAL FORM
  /*[0xc6] = */0xfe8b,	// ARABIC LETTER YEH WITH HAMZA ABOVE INITIAL FORM
  /*[0xc7] = */0xfe8d,	// ARABIC LETTER ALEF ISOLATED FORM
  /*[0xc8] = */0xfe91,	// ARABIC LETTER BEH INITIAL FORM
  /*[0xc9] = */0xfe93,	// ARABIC LETTER TEH MARBUTA ISOLATED FORM
  /*[0xca] = */0xfe97,	// ARABIC LETTER TEH INITIAL FORM
  /*[0xcb] = */0xfe9b,	// ARABIC LETTER THEH INITIAL FORM
  /*[0xcc] = */0xfe9f,	// ARABIC LETTER JEEM INITIAL FORM
  /*[0xcd] = */0xfea3,	// ARABIC LETTER HAH INITIAL FORM
  /*[0xce] = */0xfea7,	// ARABIC LETTER KHAH INITIAL FORM
  /*[0xcf] = */0xfea9,	// ARABIC LETTER DAL ISOLATED FORM
  /*[0xd0] = */0xfeab,	// ARABIC LETTER THAL ISOLATED FORM
  /*[0xd1] = */0xfead,	// ARABIC LETTER REH ISOLATED FORM
  /*[0xd2] = */0xfeaf,	// ARABIC LETTER ZAIN ISOLATED FORM
  /*[0xd3] = */0xfeb3,	// ARABIC LETTER SEEN INITIAL FORM
  /*[0xd4] = */0xfeb7,	// ARABIC LETTER SHEEN INITIAL FORM
  /*[0xd5] = */0xfebb,	// ARABIC LETTER SAD INITIAL FORM
  /*[0xd6] = */0xfebf,	// ARABIC LETTER DAD INITIAL FORM
  /*[0xd7] = */0xfec1,	// ARABIC LETTER TAH ISOLATED FORM
  /*[0xd8] = */0xfec5,	// ARABIC LETTER ZAH ISOLATED FORM
  /*[0xd9] = */0xfecb,	// ARABIC LETTER AIN INITIAL FORM
  /*[0xda] = */0xfecf,	// ARABIC LETTER GHAIN INITIAL FORM
  /*[0xdb] = */0x00a6,	// BROKEN VERTICAL BAR
  /*[0xdc] = */0x00ac,	// NOT SIGN
  /*[0xdd] = */0x00f7,	// DIVISION SIGN
  /*[0xde] = */0x00d7,	// MULTIPLICATION SIGN
  /*[0xdf] = */0xfec9,	// ARABIC LETTER AIN ISOLATED FORM
  /*[0xe0] = */0x0640,	// ARABIC TATWEEL
  /*[0xe1] = */0xfed3,	// ARABIC LETTER FEH INITIAL FORM
  /*[0xe2] = */0xfed7,	// ARABIC LETTER QAF INITIAL FORM
  /*[0xe3] = */0xfedb,	// ARABIC LETTER KAF INITIAL FORM
  /*[0xe4] = */0xfedf,	// ARABIC LETTER LAM INITIAL FORM
  /*[0xe5] = */0xfee3,	// ARABIC LETTER MEEM INITIAL FORM
  /*[0xe6] = */0xfee7,	// ARABIC LETTER NOON INITIAL FORM
  /*[0xe7] = */0xfeeb,	// ARABIC LETTER HEH INITIAL FORM
  /*[0xe8] = */0xfeed,	// ARABIC LETTER WAW ISOLATED FORM
  /*[0xe9] = */0xfeef,	// ARABIC LETTER ALEF MAKSURA ISOLATED FORM
  /*[0xea] = */0xfef3,	// ARABIC LETTER YEH INITIAL FORM
  /*[0xeb] = */0xfebd,	// ARABIC LETTER DAD ISOLATED FORM
  /*[0xec] = */0xfecc,	// ARABIC LETTER AIN MEDIAL FORM
  /*[0xed] = */0xfece,	// ARABIC LETTER GHAIN FINAL FORM
  /*[0xee] = */0xfecd,	// ARABIC LETTER GHAIN ISOLATED FORM
  /*[0xef] = */0xfee1,	// ARABIC LETTER MEEM ISOLATED FORM
  /*[0xf0] = */0xfe7d,	// ARABIC SHADDA MEDIAL FORM
  /*[0xf1] = */0x0651,	// ARABIC SHADDAH
  /*[0xf2] = */0xfee5,	// ARABIC LETTER NOON ISOLATED FORM
  /*[0xf3] = */0xfee9,	// ARABIC LETTER HEH ISOLATED FORM
  /*[0xf4] = */0xfeec,	// ARABIC LETTER HEH MEDIAL FORM
  /*[0xf5] = */0xfef0,	// ARABIC LETTER ALEF MAKSURA FINAL FORM
  /*[0xf6] = */0xfef2,	// ARABIC LETTER YEH FINAL FORM
  /*[0xf7] = */0xfed0,	// ARABIC LETTER GHAIN MEDIAL FORM
  /*[0xf8] = */0xfed5,	// ARABIC LETTER QAF ISOLATED FORM
  /*[0xf9] = */0xfef5,	// ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE ISOLATED FORM
  /*[0xfa] = */0xfef6,	// ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE FINAL FORM
  /*[0xfb] = */0xfedd,	// ARABIC LETTER LAM ISOLATED FORM
  /*[0xfc] = */0xfed9,	// ARABIC LETTER KAF ISOLATED FORM
  /*[0xfd] = */0xfef1,	// ARABIC LETTER YEH ISOLATED FORM
  /*[0xfe] = */0x25a0,	// BLACK SQUARE
};
/* sorted, without the first 127 characters */
static const uint8_t cptbl_alnum_cp864[] = {
  75,		// size of vector
  0xa2,	// ARABIC LETTER ALEF WITH MADDA ABOVE FINAL FORM
  0xa5,	// ARABIC LETTER ALEF WITH HAMZA ABOVE FINAL FORM
  0xa8,	// ARABIC LETTER ALEF FINAL FORM
  0xa9,	// ARABIC LETTER BEH ISOLATED FORM
  0xaa,	// ARABIC LETTER TEH ISOLATED FORM
  0xab,	// ARABIC LETTER THEH ISOLATED FORM
  0xad,	// ARABIC LETTER JEEM ISOLATED FORM
  0xae,	// ARABIC LETTER HAH ISOLATED FORM
  0xaf,	// ARABIC LETTER KHAH ISOLATED FORM
  0xb0,	// ARABIC-INDIC DIGIT ZERO
  0xb1,	// ARABIC-INDIC DIGIT ONE
  0xb2,	// ARABIC-INDIC DIGIT TWO
  0xb3,	// ARABIC-INDIC DIGIT THREE
  0xb4,	// ARABIC-INDIC DIGIT FOUR
  0xb5,	// ARABIC-INDIC DIGIT FIVE
  0xb6,	// ARABIC-INDIC DIGIT SIX
  0xb7,	// ARABIC-INDIC DIGIT SEVEN
  0xb8,	// ARABIC-INDIC DIGIT EIGHT
  0xb9,	// ARABIC-INDIC DIGIT NINE
  0xba,	// ARABIC LETTER FEH ISOLATED FORM
  0xbc,	// ARABIC LETTER SEEN ISOLATED FORM
  0xbd,	// ARABIC LETTER SHEEN ISOLATED FORM
  0xbe,	// ARABIC LETTER SAD ISOLATED FORM
  0xc1,	// ARABIC LETTER HAMZA ISOLATED FORM
  0xc2,	// ARABIC LETTER ALEF WITH MADDA ABOVE ISOLATED FORM
  0xc3,	// ARABIC LETTER ALEF WITH HAMZA ABOVE ISOLATED FORM
  0xc4,	// ARABIC LETTER WAW WITH HAMZA ABOVE ISOLATED FORM
  0xc5,	// ARABIC LETTER AIN FINAL FORM
  0xc6,	// ARABIC LETTER YEH WITH HAMZA ABOVE INITIAL FORM
  0xc7,	// ARABIC LETTER ALEF ISOLATED FORM
  0xc8,	// ARABIC LETTER BEH INITIAL FORM
  0xc9,	// ARABIC LETTER TEH MARBUTA ISOLATED FORM
  0xca,	// ARABIC LETTER TEH INITIAL FORM
  0xcb,	// ARABIC LETTER THEH INITIAL FORM
  0xcc,	// ARABIC LETTER JEEM INITIAL FORM
  0xcd,	// ARABIC LETTER HAH INITIAL FORM
  0xce,	// ARABIC LETTER KHAH INITIAL FORM
  0xcf,	// ARABIC LETTER DAL ISOLATED FORM
  0xd0,	// ARABIC LETTER THAL ISOLATED FORM
  0xd1,	// ARABIC LETTER REH ISOLATED FORM
  0xd2,	// ARABIC LETTER ZAIN ISOLATED FORM
  0xd3,	// ARABIC LETTER SEEN INITIAL FORM
  0xd4,	// ARABIC LETTER SHEEN INITIAL FORM
  0xd5,	// ARABIC LETTER SAD INITIAL FORM
  0xd6,	// ARABIC LETTER DAD INITIAL FORM
  0xd7,	// ARABIC LETTER TAH ISOLATED FORM
  0xd8,	// ARABIC LETTER ZAH ISOLATED FORM
  0xd9,	// ARABIC LETTER AIN INITIAL FORM
  0xda,	// ARABIC LETTER GHAIN INITIAL FORM
  0xdf,	// ARABIC LETTER AIN ISOLATED FORM
  0xe1,	// ARABIC LETTER FEH INITIAL FORM
  0xe2,	// ARABIC LETTER QAF INITIAL FORM
  0xe3,	// ARABIC LETTER KAF INITIAL FORM
  0xe4,	// ARABIC LETTER LAM INITIAL FORM
  0xe5,	// ARABIC LETTER MEEM INITIAL FORM
  0xe6,	// ARABIC LETTER NOON INITIAL FORM
  0xe7,	// ARABIC LETTER HEH INITIAL FORM
  0xe8,	// ARABIC LETTER WAW ISOLATED FORM
  0xe9,	// ARABIC LETTER ALEF MAKSURA ISOLATED FORM
  0xea,	// ARABIC LETTER YEH INITIAL FORM
  0xeb,	// ARABIC LETTER DAD ISOLATED FORM
  0xec,	// ARABIC LETTER AIN MEDIAL FORM
  0xed,	// ARABIC LETTER GHAIN FINAL FORM
  0xee,	// ARABIC LETTER GHAIN ISOLATED FORM
  0xef,	// ARABIC LETTER MEEM ISOLATED FORM
  0xf2,	// ARABIC LETTER NOON ISOLATED FORM
  0xf3,	// ARABIC LETTER HEH ISOLATED FORM
  0xf4,	// ARABIC LETTER HEH MEDIAL FORM
  0xf5,	// ARABIC LETTER ALEF MAKSURA FINAL FORM
  0xf6,	// ARABIC LETTER YEH FINAL FORM
  0xf7,	// ARABIC LETTER GHAIN MEDIAL FORM
  0xf8,	// ARABIC LETTER QAF ISOLATED FORM
  0xfb,	// ARABIC LETTER LAM ISOLATED FORM
  0xfc,	// ARABIC LETTER KAF ISOLATED FORM
  0xfd,	// ARABIC LETTER YEH ISOLATED FORM
};
#define MIN_CP864	0
#define MAX_CP864	254
#define MIN_CP864_UC	0
#define MAX_CP864_UC	65276
#if 0
/* Exceptions, already integrated above. */
static const uint16_t cptbl_exc_cp864[] = {
  /*[0x25] = */0x066a,	// ARABIC PERCENT SIGN
};
#endif
