mirror of
https://github.com/samba-team/samba.git
synced 2024-12-28 07:21:54 +03:00
Baltic codepage fixes from Toomas Soome <tsoome@ut.ee>
This commit is contained in:
parent
7f1219df24
commit
1f1fcea06d
@ -19,7 +19,9 @@
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
*/
|
||||
|
||||
#include "includes.h"
|
||||
|
||||
#define CTRLZ 26
|
||||
extern int DEBUGLEVEL;
|
||||
|
||||
@ -95,6 +97,42 @@ static void init_iso8859_1(int codepage) {
|
||||
}
|
||||
}
|
||||
|
||||
static void init_iso8859_15(int codepage) {
|
||||
|
||||
setupmaps();
|
||||
|
||||
|
||||
if (codepage == 775) {
|
||||
/* MSDOS Code Page 775 -> ISO-8859-15 this is for estonian */
|
||||
update_map("\240\377\242\226\243\234\246\276\247\365");
|
||||
update_map("\250\325\251\250\253\256\254\252\255\360\256\251");
|
||||
update_map("\260\370\261\361\262\375\263\374\264\317\265\346\266\364\267\372");
|
||||
update_map("\270\330\271\373\273\257");
|
||||
update_map("\304\216\305\217\306\222");
|
||||
update_map("\311\220");
|
||||
update_map("\323\340\325\345\326\231\327\236");
|
||||
update_map("\330\235\334\232\337\341");
|
||||
update_map("\344\204\345\206\346\221");
|
||||
update_map("\351\202");
|
||||
update_map("\363\242\365\344\366\224\367\366");
|
||||
update_map("\370\233\374\201");
|
||||
} else {
|
||||
/* MSDOS Code Page 850 -> ISO-8859-15 */
|
||||
update_map("\240\377\241\255\242\275\243\234\244\317\245\276\246\321\247\365");
|
||||
update_map("\250\320\251\270\252\246\253\256\254\252\255\360\256\251\257\356");
|
||||
update_map("\260\370\261\361\262\375\263\374\264\350\265\346\266\364\267\372");
|
||||
update_map("\270\347\271\373\272\247\273\257\274\254\275\253\276\363\277\250");
|
||||
update_map("\300\267\301\265\302\266\303\307\304\216\305\217\306\222\307\200");
|
||||
update_map("\310\324\311\220\312\322\313\323\314\336\315\326\316\327\317\330");
|
||||
update_map("\320\321\321\245\322\343\323\340\324\342\325\345\326\231\327\236");
|
||||
update_map("\330\235\331\353\332\351\333\352\334\232\335\355\336\350\337\341");
|
||||
update_map("\340\205\341\240\342\203\343\306\344\204\345\206\346\221\347\207");
|
||||
update_map("\350\212\351\202\352\210\353\211\354\215\355\241\356\214\357\213");
|
||||
update_map("\360\320\361\244\362\225\363\242\364\223\365\344\366\224\367\366");
|
||||
update_map("\370\233\371\227\372\243\373\226\374\201\375\354\376\347\377\230");
|
||||
}
|
||||
}
|
||||
|
||||
/* Init for eastern european languages. */
|
||||
|
||||
static void init_iso8859_2(void) {
|
||||
@ -188,6 +226,26 @@ static void init_iso8859_9(void)
|
||||
update_map("\xf8\x9b\xf9\x97\xfa\xa3\xfb\x96\xfc\x81\xfd\x8d\xfe\x9f\xff\xed");
|
||||
}
|
||||
|
||||
/* init for Baltic Rim */
|
||||
|
||||
static void init_iso8859_13(void) {
|
||||
|
||||
setupmaps();
|
||||
|
||||
/* MSDOS Code Page 775 -> ISO-8859-13 */
|
||||
update_map("\240\377\241\246\242\226\243\234\244\237\245\367\246\247\247\365");
|
||||
update_map("\250\235\251\250\252\212\253\256\254\252\255\360\256\251\257\222");
|
||||
update_map("\260\370\261\361\262\375\263\374\264\362\265\346\266\364\267\372");
|
||||
update_map("\270\233\271\373\272\213\273\257\274\254\275\253\276\363\277\221");
|
||||
update_map("\300\265\301\275\302\240\303\200\304\216\305\217\306\267\307\355");
|
||||
update_map("\310\266\311\220\312\215\313\270\314\225\315\350\316\241\317\352");
|
||||
update_map("\320\276\321\343\322\356\323\340\324\342\325\345\326\231\327\236");
|
||||
update_map("\330\306\331\255\332\227\333\307\334\232\335\243\336\317\337\341");
|
||||
update_map("\340\320\341\324\342\203\343\207\344\204\345\206\346\322\347\211");
|
||||
update_map("\350\321\351\202\352\245\353\323\354\205\355\351\356\214\357\353");
|
||||
update_map("\360\325\361\347\362\354\363\242\364\223\365\344\366\224\367\366");
|
||||
update_map("\370\326\371\210\372\230\373\327\374\201\375\244\376\330\377\357");
|
||||
}
|
||||
|
||||
/* Init for russian language (koi8) */
|
||||
|
||||
@ -298,6 +356,10 @@ void interpret_character_set(char *str, int codepage)
|
||||
init_iso8859_7();
|
||||
} else if (strequal (str, "iso8859-9")) {
|
||||
init_iso8859_9();
|
||||
} else if (strequal (str, "iso8859-13")) {
|
||||
init_iso8859_13();
|
||||
} else if (strequal (str, "iso8859-15")) {
|
||||
init_iso8859_15(codepage);
|
||||
} else if (strequal (str, "koi8-r")) {
|
||||
init_koi8_r();
|
||||
} else if (strequal (str, "roman8")) {
|
||||
|
Loading…
Reference in New Issue
Block a user