diff options
Diffstat (limited to 'source3/lib/charcnv.c')
-rw-r--r-- | source3/lib/charcnv.c | 25 |
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")) { |