(root)/
libredwg-0.13/
src/
codepages/
CP437.h
       1  /* ex: set ro ft=c: -*- mode: c; buffer-read-only: t -*- */
       2  // Copyright (C) 2023 Free Software Foundation, Inc.
       3  // This file is part of LibreDWG.
       4  // Generated by txt2h.pl.
       5  
       6  #include <stdint.h>
       7  
       8  static const uint16_t cptbl_cp437[] = {
       9    /*[0x0] = */255,	// size of vector
      10    /*[0x1] = */1,
      11    /*[0x2] = */2,
      12    /*[0x3] = */3,
      13    /*[0x4] = */4,
      14    /*[0x5] = */5,
      15    /*[0x6] = */6,
      16    /*[0x7] = */7,
      17    /*[0x8] = */8,
      18    /*[0x9] = */9,
      19    /*[0xa] = */10,
      20    /*[0xb] = */11,
      21    /*[0xc] = */12,
      22    /*[0xd] = */13,
      23    /*[0xe] = */14,
      24    /*[0xf] = */15,
      25    /*[0x10] = */16,
      26    /*[0x11] = */17,
      27    /*[0x12] = */18,
      28    /*[0x13] = */19,
      29    /*[0x14] = */20,
      30    /*[0x15] = */21,
      31    /*[0x16] = */22,
      32    /*[0x17] = */23,
      33    /*[0x18] = */24,
      34    /*[0x19] = */25,
      35    /*[0x1a] = */26,
      36    /*[0x1b] = */27,
      37    /*[0x1c] = */28,
      38    /*[0x1d] = */29,
      39    /*[0x1e] = */30,
      40    /*[0x1f] = */31,
      41    /*[0x20] = */32,
      42    /*[0x21] = */33,
      43    /*[0x22] = */34,
      44    /*[0x23] = */35,
      45    /*[0x24] = */36,
      46    /*[0x25] = */37,
      47    /*[0x26] = */38,
      48    /*[0x27] = */39,
      49    /*[0x28] = */40,
      50    /*[0x29] = */41,
      51    /*[0x2a] = */42,
      52    /*[0x2b] = */43,
      53    /*[0x2c] = */44,
      54    /*[0x2d] = */45,
      55    /*[0x2e] = */46,
      56    /*[0x2f] = */47,
      57    /*[0x30] = */48,
      58    /*[0x31] = */49,
      59    /*[0x32] = */50,
      60    /*[0x33] = */51,
      61    /*[0x34] = */52,
      62    /*[0x35] = */53,
      63    /*[0x36] = */54,
      64    /*[0x37] = */55,
      65    /*[0x38] = */56,
      66    /*[0x39] = */57,
      67    /*[0x3a] = */58,
      68    /*[0x3b] = */59,
      69    /*[0x3c] = */60,
      70    /*[0x3d] = */61,
      71    /*[0x3e] = */62,
      72    /*[0x3f] = */63,
      73    /*[0x40] = */64,
      74    /*[0x41] = */65,
      75    /*[0x42] = */66,
      76    /*[0x43] = */67,
      77    /*[0x44] = */68,
      78    /*[0x45] = */69,
      79    /*[0x46] = */70,
      80    /*[0x47] = */71,
      81    /*[0x48] = */72,
      82    /*[0x49] = */73,
      83    /*[0x4a] = */74,
      84    /*[0x4b] = */75,
      85    /*[0x4c] = */76,
      86    /*[0x4d] = */77,
      87    /*[0x4e] = */78,
      88    /*[0x4f] = */79,
      89    /*[0x50] = */80,
      90    /*[0x51] = */81,
      91    /*[0x52] = */82,
      92    /*[0x53] = */83,
      93    /*[0x54] = */84,
      94    /*[0x55] = */85,
      95    /*[0x56] = */86,
      96    /*[0x57] = */87,
      97    /*[0x58] = */88,
      98    /*[0x59] = */89,
      99    /*[0x5a] = */90,
     100    /*[0x5b] = */91,
     101    /*[0x5c] = */92,
     102    /*[0x5d] = */93,
     103    /*[0x5e] = */94,
     104    /*[0x5f] = */95,
     105    /*[0x60] = */96,
     106    /*[0x61] = */97,
     107    /*[0x62] = */98,
     108    /*[0x63] = */99,
     109    /*[0x64] = */100,
     110    /*[0x65] = */101,
     111    /*[0x66] = */102,
     112    /*[0x67] = */103,
     113    /*[0x68] = */104,
     114    /*[0x69] = */105,
     115    /*[0x6a] = */106,
     116    /*[0x6b] = */107,
     117    /*[0x6c] = */108,
     118    /*[0x6d] = */109,
     119    /*[0x6e] = */110,
     120    /*[0x6f] = */111,
     121    /*[0x70] = */112,
     122    /*[0x71] = */113,
     123    /*[0x72] = */114,
     124    /*[0x73] = */115,
     125    /*[0x74] = */116,
     126    /*[0x75] = */117,
     127    /*[0x76] = */118,
     128    /*[0x77] = */119,
     129    /*[0x78] = */120,
     130    /*[0x79] = */121,
     131    /*[0x7a] = */122,
     132    /*[0x7b] = */123,
     133    /*[0x7c] = */124,
     134    /*[0x7d] = */125,
     135    /*[0x7e] = */126,
     136    /*[0x7f] = */0,
     137    /*[0x80] = */0x00c7,	// LATIN CAPITAL LETTER C WITH CEDILLA
     138    /*[0x81] = */0x00fc,	// LATIN SMALL LETTER U WITH DIAERESIS
     139    /*[0x82] = */0x00e9,	// LATIN SMALL LETTER E WITH ACUTE
     140    /*[0x83] = */0x00e2,	// LATIN SMALL LETTER A WITH CIRCUMFLEX
     141    /*[0x84] = */0x00e4,	// LATIN SMALL LETTER A WITH DIAERESIS
     142    /*[0x85] = */0x00e0,	// LATIN SMALL LETTER A WITH GRAVE
     143    /*[0x86] = */0x00e5,	// LATIN SMALL LETTER A WITH RING ABOVE
     144    /*[0x87] = */0x00e7,	// LATIN SMALL LETTER C WITH CEDILLA
     145    /*[0x88] = */0x00ea,	// LATIN SMALL LETTER E WITH CIRCUMFLEX
     146    /*[0x89] = */0x00eb,	// LATIN SMALL LETTER E WITH DIAERESIS
     147    /*[0x8a] = */0x00e8,	// LATIN SMALL LETTER E WITH GRAVE
     148    /*[0x8b] = */0x00ef,	// LATIN SMALL LETTER I WITH DIAERESIS
     149    /*[0x8c] = */0x00ee,	// LATIN SMALL LETTER I WITH CIRCUMFLEX
     150    /*[0x8d] = */0x00ec,	// LATIN SMALL LETTER I WITH GRAVE
     151    /*[0x8e] = */0x00c4,	// LATIN CAPITAL LETTER A WITH DIAERESIS
     152    /*[0x8f] = */0x00c5,	// LATIN CAPITAL LETTER A WITH RING ABOVE
     153    /*[0x90] = */0x00c9,	// LATIN CAPITAL LETTER E WITH ACUTE
     154    /*[0x91] = */0x00e6,	// LATIN SMALL LIGATURE AE
     155    /*[0x92] = */0x00c6,	// LATIN CAPITAL LIGATURE AE
     156    /*[0x93] = */0x00f4,	// LATIN SMALL LETTER O WITH CIRCUMFLEX
     157    /*[0x94] = */0x00f6,	// LATIN SMALL LETTER O WITH DIAERESIS
     158    /*[0x95] = */0x00f2,	// LATIN SMALL LETTER O WITH GRAVE
     159    /*[0x96] = */0x00fb,	// LATIN SMALL LETTER U WITH CIRCUMFLEX
     160    /*[0x97] = */0x00f9,	// LATIN SMALL LETTER U WITH GRAVE
     161    /*[0x98] = */0x00ff,	// LATIN SMALL LETTER Y WITH DIAERESIS
     162    /*[0x99] = */0x00d6,	// LATIN CAPITAL LETTER O WITH DIAERESIS
     163    /*[0x9a] = */0x00dc,	// LATIN CAPITAL LETTER U WITH DIAERESIS
     164    /*[0x9b] = */0x00a2,	// CENT SIGN
     165    /*[0x9c] = */0x00a3,	// POUND SIGN
     166    /*[0x9d] = */0x00a5,	// YEN SIGN
     167    /*[0x9e] = */0x20a7,	// PESETA SIGN
     168    /*[0x9f] = */0x0192,	// LATIN SMALL LETTER F WITH HOOK
     169    /*[0xa0] = */0x00e1,	// LATIN SMALL LETTER A WITH ACUTE
     170    /*[0xa1] = */0x00ed,	// LATIN SMALL LETTER I WITH ACUTE
     171    /*[0xa2] = */0x00f3,	// LATIN SMALL LETTER O WITH ACUTE
     172    /*[0xa3] = */0x00fa,	// LATIN SMALL LETTER U WITH ACUTE
     173    /*[0xa4] = */0x00f1,	// LATIN SMALL LETTER N WITH TILDE
     174    /*[0xa5] = */0x00d1,	// LATIN CAPITAL LETTER N WITH TILDE
     175    /*[0xa6] = */0x00aa,	// FEMININE ORDINAL INDICATOR
     176    /*[0xa7] = */0x00ba,	// MASCULINE ORDINAL INDICATOR
     177    /*[0xa8] = */0x00bf,	// INVERTED QUESTION MARK
     178    /*[0xa9] = */0x2310,	// REVERSED NOT SIGN
     179    /*[0xaa] = */0x00ac,	// NOT SIGN
     180    /*[0xab] = */0x00bd,	// VULGAR FRACTION ONE HALF
     181    /*[0xac] = */0x00bc,	// VULGAR FRACTION ONE QUARTER
     182    /*[0xad] = */0x00a1,	// INVERTED EXCLAMATION MARK
     183    /*[0xae] = */0x00ab,	// LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
     184    /*[0xaf] = */0x00bb,	// RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
     185    /*[0xb0] = */0x2591,	// LIGHT SHADE
     186    /*[0xb1] = */0x2592,	// MEDIUM SHADE
     187    /*[0xb2] = */0x2593,	// DARK SHADE
     188    /*[0xb3] = */0x2502,	// BOX DRAWINGS LIGHT VERTICAL
     189    /*[0xb4] = */0x2524,	// BOX DRAWINGS LIGHT VERTICAL AND LEFT
     190    /*[0xb5] = */0x2561,	// BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
     191    /*[0xb6] = */0x2562,	// BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
     192    /*[0xb7] = */0x2556,	// BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
     193    /*[0xb8] = */0x2555,	// BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
     194    /*[0xb9] = */0x2563,	// BOX DRAWINGS DOUBLE VERTICAL AND LEFT
     195    /*[0xba] = */0x2551,	// BOX DRAWINGS DOUBLE VERTICAL
     196    /*[0xbb] = */0x2557,	// BOX DRAWINGS DOUBLE DOWN AND LEFT
     197    /*[0xbc] = */0x255d,	// BOX DRAWINGS DOUBLE UP AND LEFT
     198    /*[0xbd] = */0x255c,	// BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
     199    /*[0xbe] = */0x255b,	// BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
     200    /*[0xbf] = */0x2510,	// BOX DRAWINGS LIGHT DOWN AND LEFT
     201    /*[0xc0] = */0x2514,	// BOX DRAWINGS LIGHT UP AND RIGHT
     202    /*[0xc1] = */0x2534,	// BOX DRAWINGS LIGHT UP AND HORIZONTAL
     203    /*[0xc2] = */0x252c,	// BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
     204    /*[0xc3] = */0x251c,	// BOX DRAWINGS LIGHT VERTICAL AND RIGHT
     205    /*[0xc4] = */0x2500,	// BOX DRAWINGS LIGHT HORIZONTAL
     206    /*[0xc5] = */0x253c,	// BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
     207    /*[0xc6] = */0x255e,	// BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
     208    /*[0xc7] = */0x255f,	// BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
     209    /*[0xc8] = */0x255a,	// BOX DRAWINGS DOUBLE UP AND RIGHT
     210    /*[0xc9] = */0x2554,	// BOX DRAWINGS DOUBLE DOWN AND RIGHT
     211    /*[0xca] = */0x2569,	// BOX DRAWINGS DOUBLE UP AND HORIZONTAL
     212    /*[0xcb] = */0x2566,	// BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
     213    /*[0xcc] = */0x2560,	// BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
     214    /*[0xcd] = */0x2550,	// BOX DRAWINGS DOUBLE HORIZONTAL
     215    /*[0xce] = */0x256c,	// BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
     216    /*[0xcf] = */0x2567,	// BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
     217    /*[0xd0] = */0x2568,	// BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
     218    /*[0xd1] = */0x2564,	// BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
     219    /*[0xd2] = */0x2565,	// BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
     220    /*[0xd3] = */0x2559,	// BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
     221    /*[0xd4] = */0x2558,	// BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
     222    /*[0xd5] = */0x2552,	// BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
     223    /*[0xd6] = */0x2553,	// BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
     224    /*[0xd7] = */0x256b,	// BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
     225    /*[0xd8] = */0x256a,	// BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
     226    /*[0xd9] = */0x2518,	// BOX DRAWINGS LIGHT UP AND LEFT
     227    /*[0xda] = */0x250c,	// BOX DRAWINGS LIGHT DOWN AND RIGHT
     228    /*[0xdb] = */0x2588,	// FULL BLOCK
     229    /*[0xdc] = */0x2584,	// LOWER HALF BLOCK
     230    /*[0xdd] = */0x258c,	// LEFT HALF BLOCK
     231    /*[0xde] = */0x2590,	// RIGHT HALF BLOCK
     232    /*[0xdf] = */0x2580,	// UPPER HALF BLOCK
     233    /*[0xe0] = */0x03b1,	// GREEK SMALL LETTER ALPHA
     234    /*[0xe1] = */0x00df,	// LATIN SMALL LETTER SHARP S
     235    /*[0xe2] = */0x0393,	// GREEK CAPITAL LETTER GAMMA
     236    /*[0xe3] = */0x03c0,	// GREEK SMALL LETTER PI
     237    /*[0xe4] = */0x03a3,	// GREEK CAPITAL LETTER SIGMA
     238    /*[0xe5] = */0x03c3,	// GREEK SMALL LETTER SIGMA
     239    /*[0xe6] = */0x00b5,	// MICRO SIGN
     240    /*[0xe7] = */0x03c4,	// GREEK SMALL LETTER TAU
     241    /*[0xe8] = */0x03a6,	// GREEK CAPITAL LETTER PHI
     242    /*[0xe9] = */0x0398,	// GREEK CAPITAL LETTER THETA
     243    /*[0xea] = */0x03a9,	// GREEK CAPITAL LETTER OMEGA
     244    /*[0xeb] = */0x03b4,	// GREEK SMALL LETTER DELTA
     245    /*[0xec] = */0x221e,	// INFINITY
     246    /*[0xed] = */0x03c6,	// GREEK SMALL LETTER PHI
     247    /*[0xee] = */0x03b5,	// GREEK SMALL LETTER EPSILON
     248    /*[0xef] = */0x2229,	// INTERSECTION
     249    /*[0xf0] = */0x2261,	// IDENTICAL TO
     250    /*[0xf1] = */0x00b1,	// PLUS-MINUS SIGN
     251    /*[0xf2] = */0x2265,	// GREATER-THAN OR EQUAL TO
     252    /*[0xf3] = */0x2264,	// LESS-THAN OR EQUAL TO
     253    /*[0xf4] = */0x2320,	// TOP HALF INTEGRAL
     254    /*[0xf5] = */0x2321,	// BOTTOM HALF INTEGRAL
     255    /*[0xf6] = */0x00f7,	// DIVISION SIGN
     256    /*[0xf7] = */0x2248,	// ALMOST EQUAL TO
     257    /*[0xf8] = */0x00b0,	// DEGREE SIGN
     258    /*[0xf9] = */0x2219,	// BULLET OPERATOR
     259    /*[0xfa] = */0x00b7,	// MIDDLE DOT
     260    /*[0xfb] = */0x221a,	// SQUARE ROOT
     261    /*[0xfc] = */0x207f,	// SUPERSCRIPT LATIN SMALL LETTER N
     262    /*[0xfd] = */0x00b2,	// SUPERSCRIPT TWO
     263    /*[0xfe] = */0x25a0,	// BLACK SQUARE
     264    /*[0xff] = */0x00a0,	// NO-BREAK SPACE
     265  };
     266  #define MIN_CP437	0
     267  #define MAX_CP437	255
     268  #define MIN_CP437_UC	0
     269  #define MAX_CP437_UC	9632