116
117
118
119
120
121
122
123
124
125
126
127
128
129
|
size_t, bool);
extern bool _OFUnicodeToWindows1252(const OFUnichar *, unsigned char *,
size_t, bool);
extern bool _OFUnicodeToCodepage437(const OFUnichar *, unsigned char *,
size_t, bool);
extern bool _OFUnicodeToCodepage850(const OFUnichar *, unsigned char *,
size_t, bool);
extern bool _OFUnicodeToCodepage858(const OFUnichar *, unsigned char *,
size_t, bool);
extern bool _OFUnicodeToMacRoman(const OFUnichar *, unsigned char *,
size_t, bool);
extern bool _OFUnicodeToKOI8R(const OFUnichar *, unsigned char *,
size_t, bool);
extern bool _OFUnicodeToKOI8U(const OFUnichar *, unsigned char *,
|
>
>
|
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
|
size_t, bool);
extern bool _OFUnicodeToWindows1252(const OFUnichar *, unsigned char *,
size_t, bool);
extern bool _OFUnicodeToCodepage437(const OFUnichar *, unsigned char *,
size_t, bool);
extern bool _OFUnicodeToCodepage850(const OFUnichar *, unsigned char *,
size_t, bool);
extern bool _OFUnicodeToCodepage852(const OFUnichar *, unsigned char *,
size_t, bool);
extern bool _OFUnicodeToCodepage858(const OFUnichar *, unsigned char *,
size_t, bool);
extern bool _OFUnicodeToMacRoman(const OFUnichar *, unsigned char *,
size_t, bool);
extern bool _OFUnicodeToKOI8R(const OFUnichar *, unsigned char *,
size_t, bool);
extern bool _OFUnicodeToKOI8U(const OFUnichar *, unsigned char *,
|
188
189
190
191
192
193
194
195
196
197
198
199
200
201
|
encoding = OFStringEncodingWindows1252;
else if ([string isEqual: @"cp437"] || [string isEqual: @"cp-437"] ||
[string isEqual: @"ibm437"] || [string isEqual: @"437"])
encoding = OFStringEncodingCodepage437;
else if ([string isEqual: @"cp850"] || [string isEqual: @"cp-850"] ||
[string isEqual: @"ibm850"] || [string isEqual: @"850"])
encoding = OFStringEncodingCodepage850;
else if ([string isEqual: @"cp858"] || [string isEqual: @"cp-858"] ||
[string isEqual: @"ibm858"] || [string isEqual: @"858"])
encoding = OFStringEncodingCodepage858;
else if ([string isEqual: @"macintosh"] || [string isEqual: @"mac"])
encoding = OFStringEncodingMacRoman;
else if ([string isEqual: @"koi8-r"])
encoding = OFStringEncodingKOI8R;
|
>
>
>
|
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
|
encoding = OFStringEncodingWindows1252;
else if ([string isEqual: @"cp437"] || [string isEqual: @"cp-437"] ||
[string isEqual: @"ibm437"] || [string isEqual: @"437"])
encoding = OFStringEncodingCodepage437;
else if ([string isEqual: @"cp850"] || [string isEqual: @"cp-850"] ||
[string isEqual: @"ibm850"] || [string isEqual: @"850"])
encoding = OFStringEncodingCodepage850;
else if ([string isEqual: @"cp852"] || [string isEqual: @"cp-852"] ||
[string isEqual: @"ibm852"] || [string isEqual: @"852"])
encoding = OFStringEncodingCodepage852;
else if ([string isEqual: @"cp858"] || [string isEqual: @"cp-858"] ||
[string isEqual: @"ibm858"] || [string isEqual: @"858"])
encoding = OFStringEncodingCodepage858;
else if ([string isEqual: @"macintosh"] || [string isEqual: @"mac"])
encoding = OFStringEncodingMacRoman;
else if ([string isEqual: @"koi8-r"])
encoding = OFStringEncodingKOI8R;
|
231
232
233
234
235
236
237
238
239
240
241
242
243
244
|
return @"Windows-1251";
case OFStringEncodingWindows1252:
return @"Windows-1252";
case OFStringEncodingCodepage437:
return @"Codepage 437";
case OFStringEncodingCodepage850:
return @"Codepage 850";
case OFStringEncodingCodepage858:
return @"Codepage 858";
case OFStringEncodingMacRoman:
return @"Mac Roman";
case OFStringEncodingKOI8R:
return @"KOI8-R";
case OFStringEncodingKOI8U:
|
>
>
|
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
|
return @"Windows-1251";
case OFStringEncodingWindows1252:
return @"Windows-1252";
case OFStringEncodingCodepage437:
return @"Codepage 437";
case OFStringEncodingCodepage850:
return @"Codepage 850";
case OFStringEncodingCodepage852:
return @"Codepage 852";
case OFStringEncodingCodepage858:
return @"Codepage 858";
case OFStringEncodingMacRoman:
return @"Mac Roman";
case OFStringEncodingKOI8R:
return @"KOI8-R";
case OFStringEncodingKOI8U:
|
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
|
if (!_OFUnicodeToCodepage850(characters,
(unsigned char *)cString, length, lossy))
@throw [OFInvalidEncodingException exception];
cString[length] = '\0';
return length;
#endif
#ifdef HAVE_CODEPAGE_858
case OFStringEncodingCodepage858:
if (length + 1 > maxLength)
@throw [OFOutOfRangeException exception];
|
>
>
>
>
>
>
>
>
>
>
>
>
>
|
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
|
if (!_OFUnicodeToCodepage850(characters,
(unsigned char *)cString, length, lossy))
@throw [OFInvalidEncodingException exception];
cString[length] = '\0';
return length;
#endif
#ifdef HAVE_CODEPAGE_852
case OFStringEncodingCodepage852:
if (length + 1 > maxLength)
@throw [OFOutOfRangeException exception];
if (!_OFUnicodeToCodepage852(characters,
(unsigned char *)cString, length, lossy))
@throw [OFInvalidEncodingException exception];
cString[length] = '\0';
return length;
#endif
#ifdef HAVE_CODEPAGE_858
case OFStringEncodingCodepage858:
if (length + 1 > maxLength)
@throw [OFOutOfRangeException exception];
|
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
|
case OFStringEncodingISO8859_3:
case OFStringEncodingISO8859_15:
case OFStringEncodingWindows1250:
case OFStringEncodingWindows1251:
case OFStringEncodingWindows1252:
case OFStringEncodingCodepage437:
case OFStringEncodingCodepage850:
case OFStringEncodingCodepage858:
case OFStringEncodingMacRoman:
case OFStringEncodingKOI8R:
case OFStringEncodingKOI8U:
cString = OFAllocMemory(length + 1, 1);
@try {
|
>
|
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
|
case OFStringEncodingISO8859_3:
case OFStringEncodingISO8859_15:
case OFStringEncodingWindows1250:
case OFStringEncodingWindows1251:
case OFStringEncodingWindows1252:
case OFStringEncodingCodepage437:
case OFStringEncodingCodepage850:
case OFStringEncodingCodepage852:
case OFStringEncodingCodepage858:
case OFStringEncodingMacRoman:
case OFStringEncodingKOI8R:
case OFStringEncodingKOI8U:
cString = OFAllocMemory(length + 1, 1);
@try {
|
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
|
case OFStringEncodingISO8859_3:
case OFStringEncodingISO8859_15:
case OFStringEncodingWindows1250:
case OFStringEncodingWindows1251:
case OFStringEncodingWindows1252:
case OFStringEncodingCodepage437:
case OFStringEncodingCodepage850:
case OFStringEncodingCodepage858:
case OFStringEncodingMacRoman:
case OFStringEncodingKOI8R:
case OFStringEncodingKOI8U:
return self.length;
default:
@throw [OFInvalidArgumentException exception];
|
>
|
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
|
case OFStringEncodingISO8859_3:
case OFStringEncodingISO8859_15:
case OFStringEncodingWindows1250:
case OFStringEncodingWindows1251:
case OFStringEncodingWindows1252:
case OFStringEncodingCodepage437:
case OFStringEncodingCodepage850:
case OFStringEncodingCodepage852:
case OFStringEncodingCodepage858:
case OFStringEncodingMacRoman:
case OFStringEncodingKOI8R:
case OFStringEncodingKOI8U:
return self.length;
default:
@throw [OFInvalidArgumentException exception];
|