1
/******************************************************************************
3
* Latin1UTF16 - SWFilter descendant to convert a Latin-1 character to UTF-16
10
#include <latin1utf16.h>
14
Latin1UTF16::Latin1UTF16() {
18
char Latin1UTF16::processText(SWBuf &text, const SWKey *key, const SWModule *module) {
19
const unsigned char *from;
21
if ((unsigned long)key < 2) // hack, we're en(1)/de(0)ciphering
26
from = (const unsigned char *)orig.c_str();
28
for (text = ""; *from; from++) {
29
text.setSize(text.size()+2);
32
*((unsigned short *)(text.getRawData()+(text.size()-2))) = (unsigned short) 0x20AC;
35
*((unsigned short *)(text.getRawData()+(text.size()-2))) = (unsigned short) 0x201A;
38
*((unsigned short *)(text.getRawData()+(text.size()-2))) = (unsigned short) 0x0192;
41
*((unsigned short *)(text.getRawData()+(text.size()-2))) = (unsigned short) 0x201E;
44
*((unsigned short *)(text.getRawData()+(text.size()-2))) = (unsigned short) 0x2026;
47
*((unsigned short *)(text.getRawData()+(text.size()-2))) = (unsigned short) 0x2020;
50
*((unsigned short *)(text.getRawData()+(text.size()-2))) = (unsigned short) 0x2021;
53
*((unsigned short *)(text.getRawData()+(text.size()-2))) = (unsigned short) 0x02C6;
56
*((unsigned short *)(text.getRawData()+(text.size()-2))) = (unsigned short) 0x2030;
59
*((unsigned short *)(text.getRawData()+(text.size()-2))) = (unsigned short) 0x0160;
62
*((unsigned short *)(text.getRawData()+(text.size()-2))) = (unsigned short) 0x2039;
65
*((unsigned short *)(text.getRawData()+(text.size()-2))) = (unsigned short) 0x0152;
68
*((unsigned short *)(text.getRawData()+(text.size()-2))) = (unsigned short) 0x017D;
71
*((unsigned short *)(text.getRawData()+(text.size()-2))) = (unsigned short) 0x2018;
74
*((unsigned short *)(text.getRawData()+(text.size()-2))) = (unsigned short) 0x2019;
77
*((unsigned short *)(text.getRawData()+(text.size()-2))) = (unsigned short) 0x201C;
80
*((unsigned short *)(text.getRawData()+(text.size()-2))) = (unsigned short) 0x201D;
83
*((unsigned short *)(text.getRawData()+(text.size()-2))) = (unsigned short) 0x2022;
86
*((unsigned short *)(text.getRawData()+(text.size()-2))) = (unsigned short) 0x2013;
89
*((unsigned short *)(text.getRawData()+(text.size()-2))) = (unsigned short) 0x2014;
92
*((unsigned short *)(text.getRawData()+(text.size()-2))) = (unsigned short) 0x02DC;
95
*((unsigned short *)(text.getRawData()+(text.size()-2))) = (unsigned short) 0x2122;
98
*((unsigned short *)(text.getRawData()+(text.size()-2))) = (unsigned short) 0x0161;
101
*((unsigned short *)(text.getRawData()+(text.size()-2))) = (unsigned short) 0x203A;
104
*((unsigned short *)(text.getRawData()+(text.size()-2))) = (unsigned short) 0x0153;
107
*((unsigned short *)(text.getRawData()+(text.size()-2))) = (unsigned short) 0x017E;
110
*((unsigned short *)(text.getRawData()+(text.size()-2))) = (unsigned short) 0x0178;
113
*((unsigned short *)(text.getRawData()+(text.size()-2))) = (unsigned short) *from;