/* Generated automatically by genflags. */

/* Set if the encoding can encode
   the acute and grave accents U+00B4 and U+0060. */
#define HAVE_ACCENTS 1

/* Set if the encoding can encode
   the single quotation marks U+2018 and U+2019. */
#define HAVE_QUOTATION_MARKS 2

/* Set if the encoding can encode
   the double-width Hangul letters (Jamo) U+3131 to U+3163. */
#define HAVE_HANGUL_JAMO 4

#define ei_ascii_oflags (0)
#define ei_utf8_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS | HAVE_HANGUL_JAMO)
#define ei_ucs2_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS | HAVE_HANGUL_JAMO)
#define ei_ucs2be_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS | HAVE_HANGUL_JAMO)
#define ei_ucs2le_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS | HAVE_HANGUL_JAMO)
#define ei_ucs4_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS | HAVE_HANGUL_JAMO)
#define ei_ucs4be_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS | HAVE_HANGUL_JAMO)
#define ei_ucs4le_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS | HAVE_HANGUL_JAMO)
#define ei_utf16_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS | HAVE_HANGUL_JAMO)
#define ei_utf16be_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS | HAVE_HANGUL_JAMO)
#define ei_utf16le_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS | HAVE_HANGUL_JAMO)
#define ei_utf32_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS | HAVE_HANGUL_JAMO)
#define ei_utf32be_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS | HAVE_HANGUL_JAMO)
#define ei_utf32le_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS | HAVE_HANGUL_JAMO)
#define ei_utf7_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS | HAVE_HANGUL_JAMO)
#define ei_ucs2internal_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS | HAVE_HANGUL_JAMO)
#define ei_ucs2swapped_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS | HAVE_HANGUL_JAMO)
#define ei_ucs4internal_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS | HAVE_HANGUL_JAMO)
#define ei_ucs4swapped_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS | HAVE_HANGUL_JAMO)
#define ei_c99_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS | HAVE_HANGUL_JAMO)
#define ei_java_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS | HAVE_HANGUL_JAMO)
#define ei_iso8859_1_oflags (HAVE_ACCENTS)
#define ei_iso8859_2_oflags (HAVE_ACCENTS)
#define ei_iso8859_3_oflags (HAVE_ACCENTS)
#define ei_iso8859_4_oflags (HAVE_ACCENTS)
#define ei_iso8859_5_oflags (0)
#define ei_iso8859_6_oflags (0)
#define ei_iso8859_7_oflags (HAVE_QUOTATION_MARKS)
#define ei_iso8859_8_oflags (HAVE_ACCENTS)
#define ei_iso8859_9_oflags (HAVE_ACCENTS)
#define ei_iso8859_10_oflags (0)
#define ei_iso8859_13_oflags (0)
#define ei_iso8859_14_oflags (0)
#define ei_iso8859_15_oflags (0)
#define ei_iso8859_16_oflags (0)
#define ei_koi8_r_oflags (0)
#define ei_koi8_u_oflags (0)
#define ei_koi8_ru_oflags (0)
#define ei_cp1250_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS)
#define ei_cp1251_oflags (HAVE_QUOTATION_MARKS)
#define ei_cp1252_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS)
#define ei_cp1253_oflags (HAVE_QUOTATION_MARKS)
#define ei_cp1254_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS)
#define ei_cp1255_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS)
#define ei_cp1256_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS)
#define ei_cp1257_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS)
#define ei_cp1258_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS)
#define ei_cp850_oflags (HAVE_ACCENTS)
#define ei_cp862_oflags (0)
#define ei_cp866_oflags (0)
#define ei_mac_roman_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS)
#define ei_mac_centraleurope_oflags (HAVE_QUOTATION_MARKS)
#define ei_mac_iceland_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS)
#define ei_mac_croatian_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS)
#define ei_mac_romania_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS)
#define ei_mac_cyrillic_oflags (HAVE_QUOTATION_MARKS)
#define ei_mac_ukraine_oflags (HAVE_QUOTATION_MARKS)
#define ei_mac_greek_oflags (HAVE_QUOTATION_MARKS)
#define ei_mac_turkish_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS)
#define ei_mac_hebrew_oflags (HAVE_QUOTATION_MARKS)
#define ei_mac_arabic_oflags (0)
#define ei_mac_thai_oflags (HAVE_QUOTATION_MARKS)
#define ei_hp_roman8_oflags (HAVE_ACCENTS)
#define ei_nextstep_oflags (HAVE_ACCENTS)
#define ei_armscii_8_oflags (0)
#define ei_georgian_academy_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS)
#define ei_georgian_ps_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS)
#define ei_koi8_t_oflags (HAVE_QUOTATION_MARKS)
#define ei_mulelao_oflags (0)
#define ei_cp1133_oflags (0)
#define ei_tis620_oflags (0)
#define ei_cp874_oflags (HAVE_QUOTATION_MARKS)
#define ei_viscii_oflags (0)
#define ei_tcvn_oflags (HAVE_ACCENTS)
#define ei_iso646_jp_oflags (0)
#define ei_jisx0201_oflags (0)
#define ei_jisx0208_oflags (HAVE_QUOTATION_MARKS)
#define ei_jisx0212_oflags (0)
#define ei_iso646_cn_oflags (0)
#define ei_gb2312_oflags (HAVE_QUOTATION_MARKS)
#define ei_isoir165_oflags (HAVE_QUOTATION_MARKS)
#define ei_ksc5601_oflags (HAVE_QUOTATION_MARKS | HAVE_HANGUL_JAMO)
#define ei_euc_jp_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS)
#define ei_sjis_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS)
#define ei_cp932_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS)
#define ei_iso2022_jp_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS)
#define ei_iso2022_jp1_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS)
#define ei_iso2022_jp2_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS | HAVE_HANGUL_JAMO)
#define ei_euc_cn_oflags (HAVE_QUOTATION_MARKS)
#define ei_ces_gbk_oflags (HAVE_QUOTATION_MARKS)
#define ei_gb18030_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS | HAVE_HANGUL_JAMO)
#define ei_iso2022_cn_oflags (HAVE_QUOTATION_MARKS)
#define ei_iso2022_cn_ext_oflags (HAVE_QUOTATION_MARKS)
#define ei_hz_oflags (HAVE_QUOTATION_MARKS)
#define ei_euc_tw_oflags (HAVE_QUOTATION_MARKS)
#define ei_ces_big5_oflags (HAVE_QUOTATION_MARKS)
#define ei_cp950_oflags (HAVE_QUOTATION_MARKS)
#define ei_big5hkscs_oflags (HAVE_QUOTATION_MARKS)
#define ei_euc_kr_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS | HAVE_HANGUL_JAMO)
#define ei_cp949_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS | HAVE_HANGUL_JAMO)
#define ei_johab_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS | HAVE_HANGUL_JAMO)
#define ei_iso2022_kr_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS | HAVE_HANGUL_JAMO)
#define ei_cp856_oflags (HAVE_ACCENTS)
#define ei_cp922_oflags (HAVE_ACCENTS)
#define ei_cp943_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS)
#define ei_cp1046_oflags (0)
#define ei_cp1124_oflags (0)
#define ei_cp1129_oflags (0)
#define ei_cp1161_oflags (0)
#define ei_cp1162_oflags (HAVE_QUOTATION_MARKS)
#define ei_cp1163_oflags (0)
#define ei_dec_kanji_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS)
#define ei_dec_hanyu_oflags (HAVE_QUOTATION_MARKS)
#define ei_cp437_oflags (0)
#define ei_cp737_oflags (0)
#define ei_cp775_oflags (0)
#define ei_cp852_oflags (HAVE_ACCENTS)
#define ei_cp853_oflags (HAVE_ACCENTS)
#define ei_cp855_oflags (0)
#define ei_cp857_oflags (HAVE_ACCENTS)
#define ei_cp858_oflags (HAVE_ACCENTS)
#define ei_cp860_oflags (0)
#define ei_cp861_oflags (0)
#define ei_cp863_oflags (HAVE_ACCENTS)
#define ei_cp864_oflags (0)
#define ei_cp865_oflags (0)
#define ei_cp869_oflags (HAVE_QUOTATION_MARKS)
#define ei_cp1125_oflags (0)
#define ei_euc_jisx0213_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS)
#define ei_shift_jisx0213_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS)
#define ei_iso2022_jp3_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS)
#define ei_tds565_oflags (0)
#define ei_riscos1_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS)
