Diffstat (limited to 'noncore/apps/opie-reader/CEncoding.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/apps/opie-reader/CEncoding.cpp | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/noncore/apps/opie-reader/CEncoding.cpp b/noncore/apps/opie-reader/CEncoding.cpp index 60a1057..cf2e01b 100644 --- a/noncore/apps/opie-reader/CEncoding.cpp +++ b/noncore/apps/opie-reader/CEncoding.cpp | |||
@@ -1,89 +1,89 @@ | |||
1 | #include <stdio.h> | 1 | #include <stdio.h> |
2 | #include "CEncoding.h" | 2 | #include "CEncoding.h" |
3 | 3 | ||
4 | void CUtf8::getch(tchar& ch, CStyle& sty) | 4 | void CUtf8::getch(tchar& ch, CStyle& sty, unsigned long& pos) |
5 | { | 5 | { |
6 | tchar ret; | 6 | tchar ret; |
7 | parent->getch(ret, sty); | 7 | parent->getch(ret, sty, pos); |
8 | if (ret == UEOF) | 8 | if (ret == UEOF) |
9 | { | 9 | { |
10 | ch = UEOF; | 10 | ch = UEOF; |
11 | return; | 11 | return; |
12 | } | 12 | } |
13 | int count = 0; | 13 | int count = 0; |
14 | if (ret & (1 << 7)) | 14 | if (ret & (1 << 7)) |
15 | { | 15 | { |
16 | unsigned char flags = ret << 1; | 16 | unsigned char flags = ret << 1; |
17 | while ((flags & (1 << 7)) != 0) | 17 | while ((flags & (1 << 7)) != 0) |
18 | { | 18 | { |
19 | ret <<= 6; | 19 | ret <<= 6; |
20 | tchar iret; | 20 | tchar iret; |
21 | parent->getch(iret, sty); | 21 | parent->getch(iret, sty, pos); |
22 | ret += iret & 0x3f; | 22 | ret += iret & 0x3f; |
23 | flags <<= 1; | 23 | flags <<= 1; |
24 | count++; | 24 | count++; |
25 | } | 25 | } |
26 | switch (count) | 26 | switch (count) |
27 | { | 27 | { |
28 | case 0: | 28 | case 0: |
29 | break; | 29 | break; |
30 | case 1: | 30 | case 1: |
31 | ret &= 0x07ff; | 31 | ret &= 0x07ff; |
32 | break; | 32 | break; |
33 | case 2: | 33 | case 2: |
34 | break; | 34 | break; |
35 | case 3: | 35 | case 3: |
36 | case 4: | 36 | case 4: |
37 | case 5: | 37 | case 5: |
38 | default: | 38 | default: |
39 | printf("Only 16bit unicode supported..."); | 39 | printf("Only 16bit unicode supported..."); |
40 | } | 40 | } |
41 | } | 41 | } |
42 | ch = ret; | 42 | ch = ret; |
43 | return; | 43 | return; |
44 | } | 44 | } |
45 | 45 | ||
46 | void CUcs16be::getch(tchar& ch, CStyle& sty) | 46 | void CUcs16be::getch(tchar& ch, CStyle& sty, unsigned long& pos) |
47 | { | 47 | { |
48 | tchar iret; | 48 | tchar iret; |
49 | parent->getch(iret, sty); | 49 | parent->getch(iret, sty, pos); |
50 | if (iret == UEOF) | 50 | if (iret == UEOF) |
51 | { | 51 | { |
52 | ch = UEOF; | 52 | ch = UEOF; |
53 | return; | 53 | return; |
54 | } | 54 | } |
55 | tchar ret = iret; | 55 | tchar ret = iret; |
56 | parent->getch(iret, sty); | 56 | parent->getch(iret, sty, pos); |
57 | ch = (ret << 8) + iret; | 57 | ch = (ret << 8) + iret; |
58 | } | 58 | } |
59 | 59 | ||
60 | void CUcs16le::getch(tchar& ch, CStyle& sty) | 60 | void CUcs16le::getch(tchar& ch, CStyle& sty, unsigned long& pos) |
61 | { | 61 | { |
62 | tchar iret; | 62 | tchar iret; |
63 | parent->getch(iret, sty); | 63 | parent->getch(iret, sty, pos); |
64 | if (iret == UEOF) | 64 | if (iret == UEOF) |
65 | { | 65 | { |
66 | ch = UEOF; | 66 | ch = UEOF; |
67 | return; | 67 | return; |
68 | } | 68 | } |
69 | tchar ret = iret; | 69 | tchar ret = iret; |
70 | parent->getch(iret, sty); | 70 | parent->getch(iret, sty, pos); |
71 | ch = ret + (iret << 8); | 71 | ch = ret + (iret << 8); |
72 | } | 72 | } |
73 | 73 | ||
74 | void Ccp1252::getch(tchar& ch, CStyle& sty) | 74 | void Ccp1252::getch(tchar& ch, CStyle& sty, unsigned long& pos) |
75 | { | 75 | { |
76 | tchar iret; | 76 | tchar iret; |
77 | parent->getch(iret, sty); | 77 | parent->getch(iret, sty, pos); |
78 | ch = iret; | 78 | ch = iret; |
79 | switch (ch) | 79 | switch (ch) |
80 | { | 80 | { |
81 | case UEOF: | 81 | case UEOF: |
82 | ch = UEOF; | 82 | ch = UEOF; |
83 | break; | 83 | break; |
84 | case 0x80: | 84 | case 0x80: |
85 | ch = 0x20ac; | 85 | ch = 0x20ac; |
86 | break; | 86 | break; |
87 | case 0x82: | 87 | case 0x82: |
88 | ch = 0x201a; | 88 | ch = 0x201a; |
89 | break; | 89 | break; |
@@ -158,27 +158,27 @@ void Ccp1252::getch(tchar& ch, CStyle& sty) | |||
158 | break; | 158 | break; |
159 | case 0x9e: | 159 | case 0x9e: |
160 | ch = 0x017e; | 160 | ch = 0x017e; |
161 | break; | 161 | break; |
162 | case 0x9f: | 162 | case 0x9f: |
163 | ch = 0x0178; | 163 | ch = 0x0178; |
164 | break; | 164 | break; |
165 | default: | 165 | default: |
166 | break; | 166 | break; |
167 | } | 167 | } |
168 | } | 168 | } |
169 | 169 | ||
170 | void CPalm::getch(tchar& ch, CStyle& sty) | 170 | void CPalm::getch(tchar& ch, CStyle& sty, unsigned long& pos) |
171 | { | 171 | { |
172 | Ccp1252::getch(ch, sty); | 172 | Ccp1252::getch(ch, sty, pos); |
173 | switch (ch) | 173 | switch (ch) |
174 | { | 174 | { |
175 | case 0x18: | 175 | case 0x18: |
176 | ch = 0x2026; | 176 | ch = 0x2026; |
177 | break; | 177 | break; |
178 | case 0x19: | 178 | case 0x19: |
179 | ch = 0x2007; | 179 | ch = 0x2007; |
180 | break; | 180 | break; |
181 | case 0x8d: | 181 | case 0x8d: |
182 | ch = 0x2662; | 182 | ch = 0x2662; |
183 | break; | 183 | break; |
184 | case 0x8e: | 184 | case 0x8e: |
@@ -186,25 +186,25 @@ void CPalm::getch(tchar& ch, CStyle& sty) | |||
186 | break; | 186 | break; |
187 | case 0x8f: | 187 | case 0x8f: |
188 | ch = 0x2661; | 188 | ch = 0x2661; |
189 | break; | 189 | break; |
190 | case 0x90: | 190 | case 0x90: |
191 | ch = 0x2660; | 191 | ch = 0x2660; |
192 | break; | 192 | break; |
193 | default: | 193 | default: |
194 | break; | 194 | break; |
195 | } | 195 | } |
196 | } | 196 | } |
197 | 197 | ||
198 | void CAscii::getch(tchar& ch, CStyle& sty) | 198 | void CAscii::getch(tchar& ch, CStyle& sty, unsigned long& pos) |
199 | { | 199 | { |
200 | tchar iret; | 200 | tchar iret; |
201 | parent->getch(iret, sty); | 201 | parent->getch(iret, sty, pos); |
202 | if (iret == UEOF) | 202 | if (iret == UEOF) |
203 | { | 203 | { |
204 | ch = UEOF; | 204 | ch = UEOF; |
205 | } | 205 | } |
206 | else | 206 | else |
207 | { | 207 | { |
208 | ch = iret; | 208 | ch = iret; |
209 | } | 209 | } |
210 | } | 210 | } |