summaryrefslogtreecommitdiff
path: root/source3/lib/charset.c
diff options
context:
space:
mode:
Diffstat (limited to 'source3/lib/charset.c')
-rw-r--r--source3/lib/charset.c49
1 files changed, 49 insertions, 0 deletions
diff --git a/source3/lib/charset.c b/source3/lib/charset.c
index 0bbf99e29f..c1945cb1ef 100644
--- a/source3/lib/charset.c
+++ b/source3/lib/charset.c
@@ -96,6 +96,52 @@ unsigned char cp_850[][4] = {
{0,0,0,0}
};
+/* lower->upper mapping for IBM Code Page 852 - MS-DOS Latin 2 */
+/* Donated by Leos Bitto <bitto@altec.cz> */
+unsigned char cp_852[][4] = {
+{0x81,0x9A,1,1},
+{0x82,0x90,1,1},
+{0x83,0xB6,1,1},
+{0x84,0x8E,1,1},
+{0x85,0xDE,1,1},
+{0x86,0x8F,1,1},
+{0x87,0x80,1,1},
+{0x88,0x9D,1,1},
+{0x89,0xD3,1,1},
+{0x8B,0x8A,1,1},
+{0x8C,0xD7,1,1},
+{0x92,0x91,1,1},
+{0x93,0xE2,1,1},
+{0x94,0x99,1,1},
+{0x96,0x95,1,1},
+{0x98,0x97,1,1},
+{0x9C,0x9B,1,1},
+{0x9F,0xAC,1,1},
+{0xA0,0xB5,1,1},
+{0xA1,0xD6,1,1},
+{0xA2,0xE0,1,1},
+{0xA3,0xE9,1,1},
+{0xA5,0xA4,1,1},
+{0xA7,0xA6,1,1},
+{0xA9,0xA8,1,1},
+{0xAB,0x8D,1,1},
+{0xAD,0xB8,1,1},
+{0xBE,0xBD,1,1},
+{0xC7,0xC6,1,1},
+{0xD0,0xD1,1,1},
+{0xD4,0xD2,1,1},
+{0xD8,0xB7,1,1},
+{0xE4,0xE3,1,1},
+{0xE5,0xD5,1,1},
+{0xE7,0xE6,1,1},
+{0xEA,0xE8,1,1},
+{0xEC,0xED,1,1},
+{0xEE,0xDD,1,1},
+{0xFB,0xEB,1,1},
+{0xFD,0xFC,1,1},
+{0,0,0,0}
+};
+
/* lower->upper mapping for IBM Code Page 437 - MS-DOS Latin US */
unsigned char cp_437[][4] = {
/* 135 08/07 207 87 c cedilla */
@@ -257,6 +303,9 @@ void codepage_initialise(int client_codepage)
case 850:
cp = cp_850;
break;
+ case 852:
+ cp = cp_852;
+ break;
case 437:
cp = cp_437;
break;