CP866 is popular and small. Add it to both the general and PuTTY
[sgt/charset] / charset.h
index 3880fbd..c8e9f16 100644 (file)
--- a/charset.h
+++ b/charset.h
@@ -33,6 +33,7 @@ typedef enum {
     CS_ISO8859_16,
     CS_CP437,
     CS_CP850,
+    CS_CP866,
     CS_CP1250,
     CS_CP1251,
     CS_CP1252,
@@ -45,6 +46,7 @@ typedef enum {
     CS_KOI8_R,
     CS_KOI8_U,
     CS_KOI8_RU,
+    CS_JISX0201,
     CS_MAC_ROMAN,
     CS_MAC_TURKISH,
     CS_MAC_CROATIAN,
@@ -84,6 +86,12 @@ typedef enum {
     CS_HZ,
     CS_CP949,
     CS_PDF,
+    CS_PSSTD,
+    CS_CTEXT,
+    CS_ISO2022,
+    CS_BS4730,
+    CS_DEC_GRAPHICS,
+    CS_EUC_TW
 } charset_t;
 
 typedef struct {
@@ -207,4 +215,15 @@ int charset_upgrade(int charset);
  */
 int charset_contains_ascii(int charset);
 
+/*
+ * This function tries to deduce the CS_* identifier of the charset
+ * used in the current C locale. It falls back to CS_ASCII if it
+ * can't figure it out at all, so it will always return a valid
+ * charset.
+ * 
+ * (Note that you should have already called setlocale(LC_CTYPE,
+ * "") to guarantee that this function will do the right thing.)
+ */
+int charset_from_locale(void);
+
 #endif /* charset_charset_h */