summaryrefslogtreecommitdiff
path: root/source3/lib
diff options
context:
space:
mode:
Diffstat (limited to 'source3/lib')
-rw-r--r--source3/lib/charcnv.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/source3/lib/charcnv.c b/source3/lib/charcnv.c
index 2916f0ceda..a5355aa7c8 100644
--- a/source3/lib/charcnv.c
+++ b/source3/lib/charcnv.c
@@ -166,6 +166,29 @@ update_map("\266\352");
update_map("\270\353\271\354\272\355\274\356\276\357\277\360");
}
+/* Added by Deniz Akkus (akkus@alum.mit.edu) */
+
+static void init_iso8859_9(void)
+{
+ setupmaps();
+
+ /* MSDOS Code Page 857 -> ISO-8859-9 (Turkish) */
+
+ update_map("\xa0\xff\xa1\xad\xa2\xbd\xa3\x9c\xa4\xcf\xA5\xbe\xa6\xdd\xa7\xf5");
+ update_map("\xa8\xf9\xa9\xb8\xaa\xd1\xab\xae\xac\xaa\xad\xf0\xae\xa9\xaf\xee");
+ update_map("\xb0\xf8\xb1\xf1\xb2\xfd\xb3\xfc\xb4\xef\xb5\xe6\xb6\xf4\xb7\xfa");
+ update_map("\xb8\xf7\xb9\xfb\xba\xd0\xbb\xaf\xbc\xac\xbd\xab\xbe\xf3\xbf\xa8");
+ update_map("\xc0\xb7\xc1\xb5\xc2\xb6\xc3\xc7\xc4\x8e\xc5\x8f\xc6\x92\xc7\x80");
+ update_map("\xc8\xd4\xc9\x90\xca\xd2\xcb\xd3\xcc\xde\xcd\xd6\xce\xd7\xcf\xd8");
+ update_map("\xd0\xa6\xd1\xa5\xd2\xe3\xd3\xe0\xd4\xe2\xd5\xe5\xd6\x99\xd7\xe8");
+ update_map("\xd8\x9d\xd9\xeb\xda\xe9\xdb\xea\xdc\x9a\xdd\x98\xde\x9e\xdf\xe1");
+ update_map("\xe0\x85\xe1\xa0\xe2\x83\xe3\xc6\xe4\x84\xe5\x86\xe6\x91\xe7\x87");
+ update_map("\xe8\x8a\xe9\x82\xea\x88\xeb\x89\xec\xec\xed\xa1\xee\x8c\xef\x8b");
+ update_map("\xf0\xa7\xf1\xa4\xf2\x95\xf3\xa2\xf4\x93\xf5\xe4\xf6\x94\xf7\xf6");
+ update_map("\xf8\x9b\xf9\x97\xfa\xa3\xfb\x96\xfc\x81\xfd\x8d\xfe\x9f\xff\xed");
+}
+
+
/* Init for russian language (koi8) */
static void init_koi8_r(void)
@@ -273,6 +296,8 @@ void interpret_character_set(char *str, int codepage)
init_iso8859_5();
} else if (strequal (str, "iso8859-7")) {
init_iso8859_7();
+ } else if (strequal (str, "iso8859-9")) {
+ init_iso8859_9();
} else if (strequal (str, "koi8-r")) {
init_koi8_r();
} else if (strequal (str, "roman8")) {