/* 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_ucs4_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_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_ucs2be_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS | HAVE_HANGUL_JAMO)
#define ei_ucs2le_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_ucs4be_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS | HAVE_HANGUL_JAMO)
#define ei_ucs4le_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_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_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 (0)
#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_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_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)
