/* Zeta API - Z/formats/character_set/DOS_CP866.h
 ______  ______________  ___
|__   / |  ___|___  ___|/   \
  /  /__|  __|   |  |  /  -  \
 /______|_____|  |__| /__/ \__\
Copyright (C) 2006-2024 Manuel Sainz de Baranda y Goñi.
Released under the terms of the GNU Lesser General Public License v3. */

#ifndef Z_formats_character_set_DOS_CP866_H
#define Z_formats_character_set_DOS_CP866_H

/* From 00h to 7Fh like ASCII */
#define Z_DOS_CP866_CYRILLIC_CAPITAL_LETTER_A			       0x80
#define Z_DOS_CP866_CYRILLIC_CAPITAL_LETTER_BE			       0x81
#define Z_DOS_CP866_CYRILLIC_CAPITAL_LETTER_VE			       0x82
#define Z_DOS_CP866_CYRILLIC_CAPITAL_LETTER_GHE			       0x83
#define Z_DOS_CP866_CYRILLIC_CAPITAL_LETTER_DE			       0x84
#define Z_DOS_CP866_CYRILLIC_CAPITAL_LETTER_IE			       0x85
#define Z_DOS_CP866_CYRILLIC_CAPITAL_LETTER_ZHE			       0x86
#define Z_DOS_CP866_CYRILLIC_CAPITAL_LETTER_ZE			       0x87
#define Z_DOS_CP866_CYRILLIC_CAPITAL_LETTER_I			       0x88
#define Z_DOS_CP866_CYRILLIC_CAPITAL_LETTER_SHORT_I		       0x89
#define Z_DOS_CP866_CYRILLIC_CAPITAL_LETTER_KA			       0x8A
#define Z_DOS_CP866_CYRILLIC_CAPITAL_LETTER_EL			       0x8B
#define Z_DOS_CP866_CYRILLIC_CAPITAL_LETTER_EM			       0x8C
#define Z_DOS_CP866_CYRILLIC_CAPITAL_LETTER_EN			       0x8D
#define Z_DOS_CP866_CYRILLIC_CAPITAL_LETTER_O			       0x8E
#define Z_DOS_CP866_CYRILLIC_CAPITAL_LETTER_PE			       0x8F
#define Z_DOS_CP866_CYRILLIC_CAPITAL_LETTER_ER			       0x90
#define Z_DOS_CP866_CYRILLIC_CAPITAL_LETTER_ES			       0x91
#define Z_DOS_CP866_CYRILLIC_CAPITAL_LETTER_TE			       0x92
#define Z_DOS_CP866_CYRILLIC_CAPITAL_LETTER_U			       0x93
#define Z_DOS_CP866_CYRILLIC_CAPITAL_LETTER_EF			       0x94
#define Z_DOS_CP866_CYRILLIC_CAPITAL_LETTER_HA			       0x95
#define Z_DOS_CP866_CYRILLIC_CAPITAL_LETTER_TSE			       0x96
#define Z_DOS_CP866_CYRILLIC_CAPITAL_LETTER_CHE			       0x97
#define Z_DOS_CP866_CYRILLIC_CAPITAL_LETTER_SHA			       0x98
#define Z_DOS_CP866_CYRILLIC_CAPITAL_LETTER_SHCHA		       0x99
#define Z_DOS_CP866_CYRILLIC_CAPITAL_LETTER_HARD_SIGN		       0x9A
#define Z_DOS_CP866_CYRILLIC_CAPITAL_LETTER_YERU		       0x9B
#define Z_DOS_CP866_CYRILLIC_CAPITAL_LETTER_SOFT_SIGN		       0x9C
#define Z_DOS_CP866_CYRILLIC_CAPITAL_LETTER_E			       0x9D
#define Z_DOS_CP866_CYRILLIC_CAPITAL_LETTER_YU			       0x9E
#define Z_DOS_CP866_CYRILLIC_CAPITAL_LETTER_YA			       0x9F
#define Z_DOS_CP866_CYRILLIC_SMALL_LETTER_A			       0xA0
#define Z_DOS_CP866_CYRILLIC_SMALL_LETTER_BE			       0xA1
#define Z_DOS_CP866_CYRILLIC_SMALL_LETTER_VE			       0xA2
#define Z_DOS_CP866_CYRILLIC_SMALL_LETTER_GHE			       0xA3
#define Z_DOS_CP866_CYRILLIC_SMALL_LETTER_DE			       0xA4
#define Z_DOS_CP866_CYRILLIC_SMALL_LETTER_IE			       0xA5
#define Z_DOS_CP866_CYRILLIC_SMALL_LETTER_ZHE			       0xA6
#define Z_DOS_CP866_CYRILLIC_SMALL_LETTER_ZE			       0xA7
#define Z_DOS_CP866_CYRILLIC_SMALL_LETTER_I			       0xA8
#define Z_DOS_CP866_CYRILLIC_SMALL_LETTER_SHORT_I		       0xA9
#define Z_DOS_CP866_CYRILLIC_SMALL_LETTER_KA			       0xAA
#define Z_DOS_CP866_CYRILLIC_SMALL_LETTER_EL			       0xAB
#define Z_DOS_CP866_CYRILLIC_SMALL_LETTER_EM			       0xAC
#define Z_DOS_CP866_CYRILLIC_SMALL_LETTER_EN			       0xAD
#define Z_DOS_CP866_CYRILLIC_SMALL_LETTER_O			       0xAE
#define Z_DOS_CP866_CYRILLIC_SMALL_LETTER_PE			       0xAF
#define Z_DOS_CP866_LIGHT_SHADE					       0xB0
#define Z_DOS_CP866_MEDIUM_SHADE				       0xB1
#define Z_DOS_CP866_DARK_SHADE					       0xB2
#define Z_DOS_CP866_BOX_DRAWINGS_LIGHT_VERTICAL			       0xB3
#define Z_DOS_CP866_BOX_DRAWINGS_LIGHT_VERTICAL_AND_LEFT	       0xB4
#define Z_DOS_CP866_BOX_DRAWINGS_VERTICAL_SINGLE_AND_LEFT_DOUBLE       0xB5
#define Z_DOS_CP866_BOX_DRAWINGS_VERTICAL_DOUBLE_AND_LEFT_SINGLE       0xB6
#define Z_DOS_CP866_BOX_DRAWINGS_DOWN_DOUBLE_AND_LEFT_SINGLE	       0xB7
#define Z_DOS_CP866_BOX_DRAWINGS_DOWN_SINGLE_AND_LEFT_DOUBLE	       0xB8
#define Z_DOS_CP866_BOX_DRAWINGS_DOUBLE_VERTICAL_AND_LEFT	       0xB9
#define Z_DOS_CP866_BOX_DRAWINGS_DOUBLE_VERTICAL		       0xBA
#define Z_DOS_CP866_BOX_DRAWINGS_DOUBLE_DOWN_AND_LEFT		       0xBB
#define Z_DOS_CP866_BOX_DRAWINGS_DOUBLE_UP_AND_LEFT		       0xBC
#define Z_DOS_CP866_BOX_DRAWINGS_UP_DOUBLE_AND_LEFT_SINGLE	       0xBD
#define Z_DOS_CP866_BOX_DRAWINGS_UP_SINGLE_AND_LEFT_DOUBLE	       0xBE
#define Z_DOS_CP866_BOX_DRAWINGS_LIGHT_DOWN_AND_LEFT		       0xBF
#define Z_DOS_CP866_BOX_DRAWINGS_LIGHT_UP_AND_RIGHT		       0xC0
#define Z_DOS_CP866_BOX_DRAWINGS_LIGHT_UP_AND_HORIZONTAL	       0xC1
#define Z_DOS_CP866_BOX_DRAWINGS_LIGHT_DOWN_AND_HORIZONTAL	       0xC2
#define Z_DOS_CP866_BOX_DRAWINGS_LIGHT_VERTICAL_AND_RIGHT	       0xC3
#define Z_DOS_CP866_BOX_DRAWINGS_LIGHT_HORIZONTAL		       0xC4
#define Z_DOS_CP866_BOX_DRAWINGS_LIGHT_VERTICAL_AND_HORIZONTAL	       0xC5
#define Z_DOS_CP866_BOX_DRAWINGS_VERTICAL_SINGLE_AND_RIGHT_DOUBLE      0xC6
#define Z_DOS_CP866_BOX_DRAWINGS_VERTICAL_DOUBLE_AND_RIGHT_SINGLE      0xC7
#define Z_DOS_CP866_BOX_DRAWINGS_DOUBLE_UP_AND_RIGHT		       0xC8
#define Z_DOS_CP866_BOX_DRAWINGS_DOUBLE_DOWN_AND_RIGHT		       0xC9
#define Z_DOS_CP866_BOX_DRAWINGS_DOUBLE_UP_AND_HORIZONTAL	       0xCA
#define Z_DOS_CP866_BOX_DRAWINGS_DOUBLE_DOWN_AND_HORIZONTAL	       0xCB
#define Z_DOS_CP866_BOX_DRAWINGS_DOUBLE_VERTICAL_AND_RIGHT	       0xCC
#define Z_DOS_CP866_BOX_DRAWINGS_DOUBLE_HORIZONTAL		       0xCD
#define Z_DOS_CP866_BOX_DRAWINGS_DOUBLE_VERTICAL_AND_HORIZONTAL	       0xCE
#define Z_DOS_CP866_BOX_DRAWINGS_UP_SINGLE_AND_HORIZONTAL_DOUBLE       0xCF
#define Z_DOS_CP866_BOX_DRAWINGS_UP_DOUBLE_AND_HORIZONTAL_SINGLE       0xD0
#define Z_DOS_CP866_BOX_DRAWINGS_DOWN_SINGLE_AND_HORIZONTAL_DOUBLE     0xD1
#define Z_DOS_CP866_BOX_DRAWINGS_DOWN_DOUBLE_AND_HORIZONTAL_SINGLE     0xD2
#define Z_DOS_CP866_BOX_DRAWINGS_UP_DOUBLE_AND_RIGHT_SINGLE	       0xD3
#define Z_DOS_CP866_BOX_DRAWINGS_UP_SINGLE_AND_RIGHT_DOUBLE	       0xD4
#define Z_DOS_CP866_BOX_DRAWINGS_DOWN_SINGLE_AND_RIGHT_DOUBLE	       0xD5
#define Z_DOS_CP866_BOX_DRAWINGS_DOWN_DOUBLE_AND_RIGHT_SINGLE	       0xD6
#define Z_DOS_CP866_BOX_DRAWINGS_VERTICAL_DOUBLE_AND_HORIZONTAL_SINGLE 0xD7
#define Z_DOS_CP866_BOX_DRAWINGS_VERTICAL_SINGLE_AND_HORIZONTAL_DOUBLE 0xD8
#define Z_DOS_CP866_BOX_DRAWINGS_LIGHT_UP_AND_LEFT		       0xD9
#define Z_DOS_CP866_BOX_DRAWINGS_LIGHT_DOWN_AND_RIGHT		       0xDA
#define Z_DOS_CP866_FULL_BLOCK					       0xDB
#define Z_DOS_CP866_LOWER_HALF_BLOCK				       0xDC
#define Z_DOS_CP866_LEFT_HALF_BLOCK				       0xDD
#define Z_DOS_CP866_RIGHT_HALF_BLOCK				       0xDE
#define Z_DOS_CP866_UPPER_HALF_BLOCK				       0xDF
#define Z_DOS_CP866_CYRILLIC_SMALL_LETTER_ER			       0xE0
#define Z_DOS_CP866_CYRILLIC_SMALL_LETTER_ES			       0xE1
#define Z_DOS_CP866_CYRILLIC_SMALL_LETTER_TE			       0xE2
#define Z_DOS_CP866_CYRILLIC_SMALL_LETTER_U			       0xE3
#define Z_DOS_CP866_CYRILLIC_SMALL_LETTER_EF			       0xE4
#define Z_DOS_CP866_CYRILLIC_SMALL_LETTER_HA			       0xE5
#define Z_DOS_CP866_CYRILLIC_SMALL_LETTER_TSE			       0xE6
#define Z_DOS_CP866_CYRILLIC_SMALL_LETTER_CHE			       0xE7
#define Z_DOS_CP866_CYRILLIC_SMALL_LETTER_SHA			       0xE8
#define Z_DOS_CP866_CYRILLIC_SMALL_LETTER_SHCHA			       0xE9
#define Z_DOS_CP866_CYRILLIC_SMALL_LETTER_HARD_SIGN		       0xEA
#define Z_DOS_CP866_CYRILLIC_SMALL_LETTER_YERU			       0xEB
#define Z_DOS_CP866_CYRILLIC_SMALL_LETTER_SOFT_SIGN		       0xEC
#define Z_DOS_CP866_CYRILLIC_SMALL_LETTER_E			       0xED
#define Z_DOS_CP866_CYRILLIC_SMALL_LETTER_YU			       0xEE
#define Z_DOS_CP866_CYRILLIC_SMALL_LETTER_YA			       0xEF
#define Z_DOS_CP866_CYRILLIC_CAPITAL_LETTER_IO			       0xF0
#define Z_DOS_CP866_CYRILLIC_SMALL_LETTER_IO			       0xF1
#define Z_DOS_CP866_CYRILLIC_CAPITAL_LETTER_UKRAINIAN_IE	       0xF2
#define Z_DOS_CP866_CYRILLIC_SMALL_LETTER_UKRAINIAN_IE		       0xF3
#define Z_DOS_CP866_CYRILLIC_CAPITAL_LETTER_YI			       0xF4
#define Z_DOS_CP866_CYRILLIC_SMALL_LETTER_YI			       0xF5
#define Z_DOS_CP866_CYRILLIC_CAPITAL_LETTER_SHORT_U		       0xF6
#define Z_DOS_CP866_CYRILLIC_SMALL_LETTER_SHORT_U		       0xF7
#define Z_DOS_CP866_DEGREE_SIGN					       0xF8
#define Z_DOS_CP866_BULLET_OPERATOR				       0xF9
#define Z_DOS_CP866_MIDDLE_DOT					       0xFA
#define Z_DOS_CP866_SQUARE_ROOT					       0xFB
#define Z_DOS_CP866_NUMERO_SIGN					       0xFC
#define Z_DOS_CP866_CURRENCY_SIGN				       0xFD
#define Z_DOS_CP866_BLACK_SQUARE				       0xFE
#define Z_DOS_CP866_NO_BREAK_SPACE				       0xFF

#define Z_ARRAY_CONTENT_DOS_CP866_TO_UNICODE(_)					\
	_(0410), _(0411), _(0412), _(0413), _(0414), _(0415), _(0416), _(0417), \
	_(0418), _(0419), _(041A), _(041B), _(041C), _(041D), _(041E), _(041F), \
	_(0420), _(0421), _(0422), _(0423), _(0424), _(0425), _(0426), _(0427), \
	_(0428), _(0429), _(042A), _(042B), _(042C), _(042D), _(042E), _(042F), \
	_(0430), _(0431), _(0432), _(0433), _(0434), _(0435), _(0436), _(0437), \
	_(0438), _(0439), _(043A), _(043B), _(043C), _(043D), _(043E), _(043F), \
	_(2591), _(2592), _(2593), _(2502), _(2524), _(2561), _(2562), _(2556), \
	_(2555), _(2563), _(2551), _(2557), _(255D), _(255C), _(255B), _(2510), \
	_(2514), _(2534), _(252C), _(251C), _(2500), _(253C), _(255E), _(255F), \
	_(255A), _(2554), _(2569), _(2566), _(2560), _(2550), _(256C), _(2567), \
	_(2568), _(2564), _(2565), _(2559), _(2558), _(2552), _(2553), _(256B), \
	_(256A), _(2518), _(250C), _(2588), _(2584), _(258C), _(2590), _(2580), \
	_(0440), _(0441), _(0442), _(0443), _(0444), _(0445), _(0446), _(0447), \
	_(0448), _(0449), _(044A), _(044B), _(044C), _(044D), _(044E), _(044F), \
	_(0401), _(0451), _(0404), _(0454), _(0407), _(0457), _(040E), _(045E), \
	_(00B0), _(2219), _(00B7), _(221A), _(2116), _(00A4), _(25A0), _(00A0)

#endif /* Z_formats_character_set_DOS_CP866_H */
