Imported Upstream version 5.10.0.47

Former-commit-id: d0813289fa2d35e1f8ed77530acb4fb1df441bc0
This commit is contained in:
Xamarin Public Jenkins (auto-signing)
2018-01-24 17:04:36 +00:00
parent 88ff76fe28
commit e46a49ecf1
5927 changed files with 226314 additions and 129848 deletions

View File

@@ -97,12 +97,11 @@ public class CP1251 : ByteEncoding
return GetBytesImpl(chars, count, null, 0);
}
else
{
return count;
}
}
// Get the number of bytes needed to encode a character buffer.
public override int GetByteCount (String s)
{
@@ -123,7 +122,7 @@ public class CP1251 : ByteEncoding
return s.Length;
}
}
//ToBytes is just an alias for GetBytesImpl, but doesn't return byte count
protected unsafe override void ToBytes(char* chars, int charCount,
byte* bytes, int byteCount)
@@ -133,7 +132,7 @@ public class CP1251 : ByteEncoding
throw new ArgumentNullException("bytes");
GetBytesImpl(chars, charCount, bytes, byteCount);
}
public unsafe override int GetBytesImpl (char* chars, int charCount,
byte* bytes, int byteCount)
{
@@ -144,8 +143,6 @@ public class CP1251 : ByteEncoding
while (charCount > 0)
{
ch = (int)(chars[charIndex]);
charIndex++;
charCount--;
if(ch >= 128) switch(ch)
{
case 0x0098:
@@ -288,6 +285,8 @@ public class CP1251 : ByteEncoding
else
{
HandleFallback (ref buffer, chars, ref charIndex, ref charCount, bytes, ref byteIndex, ref byteCount);
charIndex++;
charCount--;
continue;
}
}
@@ -298,170 +297,11 @@ public class CP1251 : ByteEncoding
bytes[byteIndex] = (byte)ch;
byteIndex++;
byteCount--;
charIndex++;
charCount--;
}
return byteIndex;
}
/*
protected override void ToBytes(String s, int charIndex, int charCount,
byte[] bytes, int byteIndex)
{
int ch;
while(charCount > 0)
{
ch = (int)(s[charIndex++]);
if(ch >= 128) switch(ch)
{
case 0x0098:
case 0x00A0:
case 0x00A4:
case 0x00A6:
case 0x00A7:
case 0x00A9:
case 0x00AB:
case 0x00AC:
case 0x00AD:
case 0x00AE:
case 0x00B0:
case 0x00B1:
case 0x00B5:
case 0x00B6:
case 0x00B7:
case 0x00BB:
break;
case 0x0401: ch = 0xA8; break;
case 0x0402: ch = 0x80; break;
case 0x0403: ch = 0x81; break;
case 0x0404: ch = 0xAA; break;
case 0x0405: ch = 0xBD; break;
case 0x0406: ch = 0xB2; break;
case 0x0407: ch = 0xAF; break;
case 0x0408: ch = 0xA3; break;
case 0x0409: ch = 0x8A; break;
case 0x040A: ch = 0x8C; break;
case 0x040B: ch = 0x8E; break;
case 0x040C: ch = 0x8D; break;
case 0x040E: ch = 0xA1; break;
case 0x040F: ch = 0x8F; break;
case 0x0410:
case 0x0411:
case 0x0412:
case 0x0413:
case 0x0414:
case 0x0415:
case 0x0416:
case 0x0417:
case 0x0418:
case 0x0419:
case 0x041A:
case 0x041B:
case 0x041C:
case 0x041D:
case 0x041E:
case 0x041F:
case 0x0420:
case 0x0421:
case 0x0422:
case 0x0423:
case 0x0424:
case 0x0425:
case 0x0426:
case 0x0427:
case 0x0428:
case 0x0429:
case 0x042A:
case 0x042B:
case 0x042C:
case 0x042D:
case 0x042E:
case 0x042F:
case 0x0430:
case 0x0431:
case 0x0432:
case 0x0433:
case 0x0434:
case 0x0435:
case 0x0436:
case 0x0437:
case 0x0438:
case 0x0439:
case 0x043A:
case 0x043B:
case 0x043C:
case 0x043D:
case 0x043E:
case 0x043F:
case 0x0440:
case 0x0441:
case 0x0442:
case 0x0443:
case 0x0444:
case 0x0445:
case 0x0446:
case 0x0447:
case 0x0448:
case 0x0449:
case 0x044A:
case 0x044B:
case 0x044C:
case 0x044D:
case 0x044E:
case 0x044F:
ch -= 0x0350;
break;
case 0x0451: ch = 0xB8; break;
case 0x0452: ch = 0x90; break;
case 0x0453: ch = 0x83; break;
case 0x0454: ch = 0xBA; break;
case 0x0455: ch = 0xBE; break;
case 0x0456: ch = 0xB3; break;
case 0x0457: ch = 0xBF; break;
case 0x0458: ch = 0xBC; break;
case 0x0459: ch = 0x9A; break;
case 0x045A: ch = 0x9C; break;
case 0x045B: ch = 0x9E; break;
case 0x045C: ch = 0x9D; break;
case 0x045E: ch = 0xA2; break;
case 0x045F: ch = 0x9F; break;
case 0x0490: ch = 0xA5; break;
case 0x0491: ch = 0xB4; break;
case 0x2013: ch = 0x96; break;
case 0x2014: ch = 0x97; break;
case 0x2018: ch = 0x91; break;
case 0x2019: ch = 0x92; break;
case 0x201A: ch = 0x82; break;
case 0x201C: ch = 0x93; break;
case 0x201D: ch = 0x94; break;
case 0x201E: ch = 0x84; break;
case 0x2020: ch = 0x86; break;
case 0x2021: ch = 0x87; break;
case 0x2022: ch = 0x95; break;
case 0x2026: ch = 0x85; break;
case 0x2030: ch = 0x89; break;
case 0x2039: ch = 0x8B; break;
case 0x203A: ch = 0x9B; break;
case 0x20AC: ch = 0x88; break;
case 0x2116: ch = 0xB9; break;
case 0x2122: ch = 0x99; break;
default:
{
if(ch >= 0xFF01 && ch <= 0xFF5E)
{
ch -= 0xFEE0;
}
else
{
ch = 0x3F;
}
}
break;
}
bytes[byteIndex++] = (byte)ch;
--charCount;
}
}
*/
}; // class CP1251
[Serializable]

View File

@@ -97,12 +97,11 @@ public class CP1257 : ByteEncoding
return GetBytesImpl(chars, count, null, 0);
}
else
{
return count;
}
}
// Get the number of bytes needed to encode a character buffer.
public override int GetByteCount (String s)
{
@@ -123,7 +122,7 @@ public class CP1257 : ByteEncoding
return s.Length;
}
}
//ToBytes is just an alias for GetBytesImpl, but doesn't return byte count
protected unsafe override void ToBytes(char* chars, int charCount,
byte* bytes, int byteCount)
@@ -133,7 +132,7 @@ public class CP1257 : ByteEncoding
throw new ArgumentNullException("bytes");
GetBytesImpl(chars, charCount, bytes, byteCount);
}
public unsafe override int GetBytesImpl (char* chars, int charCount,
byte* bytes, int byteCount)
{
@@ -144,8 +143,6 @@ public class CP1257 : ByteEncoding
while (charCount > 0)
{
ch = (int)(chars[charIndex]);
charIndex++;
charCount--;
if(ch >= 128) switch(ch)
{
case 0x0081:
@@ -284,6 +281,8 @@ public class CP1257 : ByteEncoding
else
{
HandleFallback (ref buffer, chars, ref charIndex, ref charCount, bytes, ref byteIndex, ref byteCount);
charIndex++;
charCount--;
continue;
}
}
@@ -294,166 +293,11 @@ public class CP1257 : ByteEncoding
bytes[byteIndex] = (byte)ch;
byteIndex++;
byteCount--;
charIndex++;
charCount--;
}
return byteIndex;
}
/*
protected override void ToBytes(String s, int charIndex, int charCount,
byte[] bytes, int byteIndex)
{
int ch;
while(charCount > 0)
{
ch = (int)(s[charIndex++]);
if(ch >= 128) switch(ch)
{
case 0x0081:
case 0x0083:
case 0x0088:
case 0x008A:
case 0x008C:
case 0x0090:
case 0x0098:
case 0x009A:
case 0x009C:
case 0x009F:
case 0x00A0:
case 0x00A2:
case 0x00A3:
case 0x00A4:
case 0x00A6:
case 0x00A7:
case 0x00A9:
case 0x00AB:
case 0x00AC:
case 0x00AD:
case 0x00AE:
case 0x00B0:
case 0x00B1:
case 0x00B2:
case 0x00B3:
case 0x00B4:
case 0x00B5:
case 0x00B6:
case 0x00B7:
case 0x00B9:
case 0x00BB:
case 0x00BC:
case 0x00BD:
case 0x00BE:
case 0x00C4:
case 0x00C5:
case 0x00C9:
case 0x00D3:
case 0x00D5:
case 0x00D6:
case 0x00D7:
case 0x00DC:
case 0x00DF:
case 0x00E4:
case 0x00E5:
case 0x00E9:
case 0x00F3:
case 0x00F5:
case 0x00F6:
case 0x00F7:
case 0x00FC:
break;
case 0x00A8: ch = 0x8D; break;
case 0x00AF: ch = 0x9D; break;
case 0x00B8: ch = 0x8F; break;
case 0x00C6: ch = 0xAF; break;
case 0x00D8: ch = 0xA8; break;
case 0x00E6: ch = 0xBF; break;
case 0x00F8: ch = 0xB8; break;
case 0x0100: ch = 0xC2; break;
case 0x0101: ch = 0xE2; break;
case 0x0104: ch = 0xC0; break;
case 0x0105: ch = 0xE0; break;
case 0x0106: ch = 0xC3; break;
case 0x0107: ch = 0xE3; break;
case 0x010C: ch = 0xC8; break;
case 0x010D: ch = 0xE8; break;
case 0x0112: ch = 0xC7; break;
case 0x0113: ch = 0xE7; break;
case 0x0116: ch = 0xCB; break;
case 0x0117: ch = 0xEB; break;
case 0x0118: ch = 0xC6; break;
case 0x0119: ch = 0xE6; break;
case 0x0122: ch = 0xCC; break;
case 0x0123: ch = 0xEC; break;
case 0x012A: ch = 0xCE; break;
case 0x012B: ch = 0xEE; break;
case 0x012E: ch = 0xC1; break;
case 0x012F: ch = 0xE1; break;
case 0x0136: ch = 0xCD; break;
case 0x0137: ch = 0xED; break;
case 0x013B: ch = 0xCF; break;
case 0x013C: ch = 0xEF; break;
case 0x0141: ch = 0xD9; break;
case 0x0142: ch = 0xF9; break;
case 0x0143: ch = 0xD1; break;
case 0x0144: ch = 0xF1; break;
case 0x0145: ch = 0xD2; break;
case 0x0146: ch = 0xF2; break;
case 0x014C: ch = 0xD4; break;
case 0x014D: ch = 0xF4; break;
case 0x0156: ch = 0xAA; break;
case 0x0157: ch = 0xBA; break;
case 0x015A: ch = 0xDA; break;
case 0x015B: ch = 0xFA; break;
case 0x0160: ch = 0xD0; break;
case 0x0161: ch = 0xF0; break;
case 0x016A: ch = 0xDB; break;
case 0x016B: ch = 0xFB; break;
case 0x0172: ch = 0xD8; break;
case 0x0173: ch = 0xF8; break;
case 0x0179: ch = 0xCA; break;
case 0x017A: ch = 0xEA; break;
case 0x017B: ch = 0xDD; break;
case 0x017C: ch = 0xFD; break;
case 0x017D: ch = 0xDE; break;
case 0x017E: ch = 0xFE; break;
case 0x02C7: ch = 0x8E; break;
case 0x02D9: ch = 0xFF; break;
case 0x02DB: ch = 0x9E; break;
case 0x2013: ch = 0x96; break;
case 0x2014: ch = 0x97; break;
case 0x2018: ch = 0x91; break;
case 0x2019: ch = 0x92; break;
case 0x201A: ch = 0x82; break;
case 0x201C: ch = 0x93; break;
case 0x201D: ch = 0x94; break;
case 0x201E: ch = 0x84; break;
case 0x2020: ch = 0x86; break;
case 0x2021: ch = 0x87; break;
case 0x2022: ch = 0x95; break;
case 0x2026: ch = 0x85; break;
case 0x2030: ch = 0x89; break;
case 0x2039: ch = 0x8B; break;
case 0x203A: ch = 0x9B; break;
case 0x20AC: ch = 0x80; break;
case 0x2122: ch = 0x99; break;
default:
{
if(ch >= 0xFF01 && ch <= 0xFF5E)
{
ch -= 0xFEE0;
}
else
{
ch = 0x3F;
}
}
break;
}
bytes[byteIndex++] = (byte)ch;
--charCount;
}
}
*/
}; // class CP1257
[Serializable]

View File

@@ -97,12 +97,11 @@ public class CP1258 : ByteEncoding
return GetBytesImpl(chars, count, null, 0);
}
else
{
return count;
}
}
// Get the number of bytes needed to encode a character buffer.
public override int GetByteCount (String s)
{
@@ -123,7 +122,7 @@ public class CP1258 : ByteEncoding
return s.Length;
}
}
//ToBytes is just an alias for GetBytesImpl, but doesn't return byte count
protected unsafe override void ToBytes(char* chars, int charCount,
byte* bytes, int byteCount)
@@ -133,7 +132,7 @@ public class CP1258 : ByteEncoding
throw new ArgumentNullException("bytes");
GetBytesImpl(chars, charCount, bytes, byteCount);
}
public unsafe override int GetBytesImpl (char* chars, int charCount,
byte* bytes, int byteCount)
{
@@ -144,8 +143,6 @@ public class CP1258 : ByteEncoding
while (charCount > 0)
{
ch = (int)(chars[charIndex]);
charIndex++;
charCount--;
if(ch >= 128) switch(ch)
{
case 0x0081:
@@ -286,6 +283,8 @@ public class CP1258 : ByteEncoding
else
{
HandleFallback (ref buffer, chars, ref charIndex, ref charCount, bytes, ref byteIndex, ref byteCount);
charIndex++;
charCount--;
continue;
}
}
@@ -296,168 +295,11 @@ public class CP1258 : ByteEncoding
bytes[byteIndex] = (byte)ch;
byteIndex++;
byteCount--;
charIndex++;
charCount--;
}
return byteIndex;
}
/*
protected override void ToBytes(String s, int charIndex, int charCount,
byte[] bytes, int byteIndex)
{
int ch;
while(charCount > 0)
{
ch = (int)(s[charIndex++]);
if(ch >= 128) switch(ch)
{
case 0x0081:
case 0x008A:
case 0x008D:
case 0x008E:
case 0x008F:
case 0x0090:
case 0x009A:
case 0x009D:
case 0x009E:
case 0x00A0:
case 0x00A1:
case 0x00A2:
case 0x00A3:
case 0x00A4:
case 0x00A5:
case 0x00A6:
case 0x00A7:
case 0x00A8:
case 0x00A9:
case 0x00AA:
case 0x00AB:
case 0x00AC:
case 0x00AD:
case 0x00AE:
case 0x00AF:
case 0x00B0:
case 0x00B1:
case 0x00B2:
case 0x00B3:
case 0x00B4:
case 0x00B5:
case 0x00B6:
case 0x00B7:
case 0x00B8:
case 0x00B9:
case 0x00BA:
case 0x00BB:
case 0x00BC:
case 0x00BD:
case 0x00BE:
case 0x00BF:
case 0x00C0:
case 0x00C1:
case 0x00C2:
case 0x00C4:
case 0x00C5:
case 0x00C6:
case 0x00C7:
case 0x00C8:
case 0x00C9:
case 0x00CA:
case 0x00CB:
case 0x00CD:
case 0x00CE:
case 0x00CF:
case 0x00D1:
case 0x00D3:
case 0x00D4:
case 0x00D6:
case 0x00D7:
case 0x00D8:
case 0x00D9:
case 0x00DA:
case 0x00DB:
case 0x00DC:
case 0x00DF:
case 0x00E0:
case 0x00E1:
case 0x00E2:
case 0x00E4:
case 0x00E5:
case 0x00E6:
case 0x00E7:
case 0x00E8:
case 0x00E9:
case 0x00EA:
case 0x00EB:
case 0x00ED:
case 0x00EE:
case 0x00EF:
case 0x00F1:
case 0x00F3:
case 0x00F4:
case 0x00F6:
case 0x00F7:
case 0x00F8:
case 0x00F9:
case 0x00FA:
case 0x00FB:
case 0x00FC:
case 0x00FF:
break;
case 0x0102: ch = 0xC3; break;
case 0x0103: ch = 0xE3; break;
case 0x0110: ch = 0xD0; break;
case 0x0111: ch = 0xF0; break;
case 0x0152: ch = 0x8C; break;
case 0x0153: ch = 0x9C; break;
case 0x0178: ch = 0x9F; break;
case 0x0192: ch = 0x83; break;
case 0x01A0: ch = 0xD5; break;
case 0x01A1: ch = 0xF5; break;
case 0x01AF: ch = 0xDD; break;
case 0x01B0: ch = 0xFD; break;
case 0x02C6: ch = 0x88; break;
case 0x02DC: ch = 0x98; break;
case 0x0300: ch = 0xCC; break;
case 0x0301: ch = 0xEC; break;
case 0x0303: ch = 0xDE; break;
case 0x0309: ch = 0xD2; break;
case 0x0323: ch = 0xF2; break;
case 0x2013: ch = 0x96; break;
case 0x2014: ch = 0x97; break;
case 0x2018: ch = 0x91; break;
case 0x2019: ch = 0x92; break;
case 0x201A: ch = 0x82; break;
case 0x201C: ch = 0x93; break;
case 0x201D: ch = 0x94; break;
case 0x201E: ch = 0x84; break;
case 0x2020: ch = 0x86; break;
case 0x2021: ch = 0x87; break;
case 0x2022: ch = 0x95; break;
case 0x2026: ch = 0x85; break;
case 0x2030: ch = 0x89; break;
case 0x2039: ch = 0x8B; break;
case 0x203A: ch = 0x9B; break;
case 0x20AB: ch = 0xFE; break;
case 0x20AC: ch = 0x80; break;
case 0x2122: ch = 0x99; break;
default:
{
if(ch >= 0xFF01 && ch <= 0xFF5E)
{
ch -= 0xFEE0;
}
else
{
ch = 0x3F;
}
}
break;
}
bytes[byteIndex++] = (byte)ch;
--charCount;
}
}
*/
}; // class CP1258
[Serializable]

View File

@@ -97,12 +97,11 @@ public class CP20866 : ByteEncoding
return GetBytesImpl(chars, count, null, 0);
}
else
{
return count;
}
}
// Get the number of bytes needed to encode a character buffer.
public override int GetByteCount (String s)
{
@@ -123,7 +122,7 @@ public class CP20866 : ByteEncoding
return s.Length;
}
}
//ToBytes is just an alias for GetBytesImpl, but doesn't return byte count
protected unsafe override void ToBytes(char* chars, int charCount,
byte* bytes, int byteCount)
@@ -133,7 +132,7 @@ public class CP20866 : ByteEncoding
throw new ArgumentNullException("bytes");
GetBytesImpl(chars, charCount, bytes, byteCount);
}
public unsafe override int GetBytesImpl (char* chars, int charCount,
byte* bytes, int byteCount)
{
@@ -144,8 +143,6 @@ public class CP20866 : ByteEncoding
while (charCount > 0)
{
ch = (int)(chars[charIndex]);
charIndex++;
charCount--;
if(ch >= 128) switch(ch)
{
case 0x00A0: ch = 0x9A; break;
@@ -301,6 +298,8 @@ public class CP20866 : ByteEncoding
else
{
HandleFallback (ref buffer, chars, ref charIndex, ref charCount, bytes, ref byteIndex, ref byteCount);
charIndex++;
charCount--;
continue;
}
}
@@ -311,183 +310,11 @@ public class CP20866 : ByteEncoding
bytes[byteIndex] = (byte)ch;
byteIndex++;
byteCount--;
charIndex++;
charCount--;
}
return byteIndex;
}
/*
protected override void ToBytes(String s, int charIndex, int charCount,
byte[] bytes, int byteIndex)
{
int ch;
while(charCount > 0)
{
ch = (int)(s[charIndex++]);
if(ch >= 128) switch(ch)
{
case 0x00A0: ch = 0x9A; break;
case 0x00A9: ch = 0xBF; break;
case 0x00B0: ch = 0x9C; break;
case 0x00B2: ch = 0x9D; break;
case 0x00B7: ch = 0x9E; break;
case 0x00F7: ch = 0x9F; break;
case 0x0401: ch = 0xB3; break;
case 0x0410: ch = 0xE1; break;
case 0x0411: ch = 0xE2; break;
case 0x0412: ch = 0xF7; break;
case 0x0413: ch = 0xE7; break;
case 0x0414: ch = 0xE4; break;
case 0x0415: ch = 0xE5; break;
case 0x0416: ch = 0xF6; break;
case 0x0417: ch = 0xFA; break;
case 0x0418:
case 0x0419:
case 0x041A:
case 0x041B:
case 0x041C:
case 0x041D:
case 0x041E:
case 0x041F:
ch -= 0x032F;
break;
case 0x0420:
case 0x0421:
case 0x0422:
case 0x0423:
ch -= 0x032E;
break;
case 0x0424: ch = 0xE6; break;
case 0x0425: ch = 0xE8; break;
case 0x0426: ch = 0xE3; break;
case 0x0427: ch = 0xFE; break;
case 0x0428: ch = 0xFB; break;
case 0x0429: ch = 0xFD; break;
case 0x042A: ch = 0xFF; break;
case 0x042B: ch = 0xF9; break;
case 0x042C: ch = 0xF8; break;
case 0x042D: ch = 0xFC; break;
case 0x042E: ch = 0xE0; break;
case 0x042F: ch = 0xF1; break;
case 0x0430: ch = 0xC1; break;
case 0x0431: ch = 0xC2; break;
case 0x0432: ch = 0xD7; break;
case 0x0433: ch = 0xC7; break;
case 0x0434: ch = 0xC4; break;
case 0x0435: ch = 0xC5; break;
case 0x0436: ch = 0xD6; break;
case 0x0437: ch = 0xDA; break;
case 0x0438:
case 0x0439:
case 0x043A:
case 0x043B:
case 0x043C:
case 0x043D:
case 0x043E:
case 0x043F:
ch -= 0x036F;
break;
case 0x0440:
case 0x0441:
case 0x0442:
case 0x0443:
ch -= 0x036E;
break;
case 0x0444: ch = 0xC6; break;
case 0x0445: ch = 0xC8; break;
case 0x0446: ch = 0xC3; break;
case 0x0447: ch = 0xDE; break;
case 0x0448: ch = 0xDB; break;
case 0x0449: ch = 0xDD; break;
case 0x044A: ch = 0xDF; break;
case 0x044B: ch = 0xD9; break;
case 0x044C: ch = 0xD8; break;
case 0x044D: ch = 0xDC; break;
case 0x044E: ch = 0xC0; break;
case 0x044F: ch = 0xD1; break;
case 0x0451: ch = 0xA3; break;
case 0x2219: ch = 0x95; break;
case 0x221A: ch = 0x96; break;
case 0x2248: ch = 0x97; break;
case 0x2264: ch = 0x98; break;
case 0x2265: ch = 0x99; break;
case 0x2320: ch = 0x93; break;
case 0x2321: ch = 0x9B; break;
case 0x2500: ch = 0x80; break;
case 0x2502: ch = 0x81; break;
case 0x250C: ch = 0x82; break;
case 0x2510: ch = 0x83; break;
case 0x2514: ch = 0x84; break;
case 0x2518: ch = 0x85; break;
case 0x251C: ch = 0x86; break;
case 0x2524: ch = 0x87; break;
case 0x252C: ch = 0x88; break;
case 0x2534: ch = 0x89; break;
case 0x253C: ch = 0x8A; break;
case 0x2550: ch = 0xA0; break;
case 0x2551: ch = 0xA1; break;
case 0x2552: ch = 0xA2; break;
case 0x2553:
case 0x2554:
case 0x2555:
case 0x2556:
case 0x2557:
case 0x2558:
case 0x2559:
case 0x255A:
case 0x255B:
case 0x255C:
case 0x255D:
case 0x255E:
case 0x255F:
case 0x2560:
case 0x2561:
ch -= 0x24AF;
break;
case 0x2562:
case 0x2563:
case 0x2564:
case 0x2565:
case 0x2566:
case 0x2567:
case 0x2568:
case 0x2569:
case 0x256A:
case 0x256B:
case 0x256C:
ch -= 0x24AE;
break;
case 0x2580: ch = 0x8B; break;
case 0x2584: ch = 0x8C; break;
case 0x2588: ch = 0x8D; break;
case 0x258C: ch = 0x8E; break;
case 0x2590:
case 0x2591:
case 0x2592:
case 0x2593:
ch -= 0x2501;
break;
case 0x25A0: ch = 0x94; break;
case 0xFFE8: ch = 0x81; break;
case 0xFFED: ch = 0x94; break;
default:
{
if(ch >= 0xFF01 && ch <= 0xFF5E)
{
ch -= 0xFEE0;
}
else
{
ch = 0x3F;
}
}
break;
}
bytes[byteIndex++] = (byte)ch;
--charCount;
}
}
*/
}; // class CP20866
[Serializable]

View File

@@ -97,12 +97,11 @@ public class CP21866 : ByteEncoding
return GetBytesImpl(chars, count, null, 0);
}
else
{
return count;
}
}
// Get the number of bytes needed to encode a character buffer.
public override int GetByteCount (String s)
{
@@ -123,7 +122,7 @@ public class CP21866 : ByteEncoding
return s.Length;
}
}
//ToBytes is just an alias for GetBytesImpl, but doesn't return byte count
protected unsafe override void ToBytes(char* chars, int charCount,
byte* bytes, int byteCount)
@@ -133,7 +132,7 @@ public class CP21866 : ByteEncoding
throw new ArgumentNullException("bytes");
GetBytesImpl(chars, charCount, bytes, byteCount);
}
public unsafe override int GetBytesImpl (char* chars, int charCount,
byte* bytes, int byteCount)
{
@@ -144,8 +143,6 @@ public class CP21866 : ByteEncoding
while (charCount > 0)
{
ch = (int)(chars[charIndex]);
charIndex++;
charCount--;
if(ch >= 128) switch(ch)
{
case 0x00A0: ch = 0x9A; break;
@@ -301,6 +298,8 @@ public class CP21866 : ByteEncoding
else
{
HandleFallback (ref buffer, chars, ref charIndex, ref charCount, bytes, ref byteIndex, ref byteCount);
charIndex++;
charCount--;
continue;
}
}
@@ -311,183 +310,11 @@ public class CP21866 : ByteEncoding
bytes[byteIndex] = (byte)ch;
byteIndex++;
byteCount--;
charIndex++;
charCount--;
}
return byteIndex;
}
/*
protected override void ToBytes(String s, int charIndex, int charCount,
byte[] bytes, int byteIndex)
{
int ch;
while(charCount > 0)
{
ch = (int)(s[charIndex++]);
if(ch >= 128) switch(ch)
{
case 0x00A0: ch = 0x9A; break;
case 0x00A9: ch = 0xBF; break;
case 0x00B0: ch = 0x9C; break;
case 0x00B2: ch = 0x9D; break;
case 0x00B7: ch = 0x9E; break;
case 0x00F7: ch = 0x9F; break;
case 0x0401: ch = 0xB3; break;
case 0x0404: ch = 0xB4; break;
case 0x0406: ch = 0xB6; break;
case 0x0407: ch = 0xB7; break;
case 0x0410: ch = 0xE1; break;
case 0x0411: ch = 0xE2; break;
case 0x0412: ch = 0xF7; break;
case 0x0413: ch = 0xE7; break;
case 0x0414: ch = 0xE4; break;
case 0x0415: ch = 0xE5; break;
case 0x0416: ch = 0xF6; break;
case 0x0417: ch = 0xFA; break;
case 0x0418:
case 0x0419:
case 0x041A:
case 0x041B:
case 0x041C:
case 0x041D:
case 0x041E:
case 0x041F:
ch -= 0x032F;
break;
case 0x0420:
case 0x0421:
case 0x0422:
case 0x0423:
ch -= 0x032E;
break;
case 0x0424: ch = 0xE6; break;
case 0x0425: ch = 0xE8; break;
case 0x0426: ch = 0xE3; break;
case 0x0427: ch = 0xFE; break;
case 0x0428: ch = 0xFB; break;
case 0x0429: ch = 0xFD; break;
case 0x042A: ch = 0xFF; break;
case 0x042B: ch = 0xF9; break;
case 0x042C: ch = 0xF8; break;
case 0x042D: ch = 0xFC; break;
case 0x042E: ch = 0xE0; break;
case 0x042F: ch = 0xF1; break;
case 0x0430: ch = 0xC1; break;
case 0x0431: ch = 0xC2; break;
case 0x0432: ch = 0xD7; break;
case 0x0433: ch = 0xC7; break;
case 0x0434: ch = 0xC4; break;
case 0x0435: ch = 0xC5; break;
case 0x0436: ch = 0xD6; break;
case 0x0437: ch = 0xDA; break;
case 0x0438:
case 0x0439:
case 0x043A:
case 0x043B:
case 0x043C:
case 0x043D:
case 0x043E:
case 0x043F:
ch -= 0x036F;
break;
case 0x0440:
case 0x0441:
case 0x0442:
case 0x0443:
ch -= 0x036E;
break;
case 0x0444: ch = 0xC6; break;
case 0x0445: ch = 0xC8; break;
case 0x0446: ch = 0xC3; break;
case 0x0447: ch = 0xDE; break;
case 0x0448: ch = 0xDB; break;
case 0x0449: ch = 0xDD; break;
case 0x044A: ch = 0xDF; break;
case 0x044B: ch = 0xD9; break;
case 0x044C: ch = 0xD8; break;
case 0x044D: ch = 0xDC; break;
case 0x044E: ch = 0xC0; break;
case 0x044F: ch = 0xD1; break;
case 0x0451: ch = 0xA3; break;
case 0x0454: ch = 0xA4; break;
case 0x0456: ch = 0xA6; break;
case 0x0457: ch = 0xA7; break;
case 0x0490: ch = 0xBD; break;
case 0x0491: ch = 0xAD; break;
case 0x2219: ch = 0x95; break;
case 0x221A: ch = 0x96; break;
case 0x2248: ch = 0x97; break;
case 0x2264: ch = 0x98; break;
case 0x2265: ch = 0x99; break;
case 0x2320: ch = 0x93; break;
case 0x2321: ch = 0x9B; break;
case 0x2500: ch = 0x80; break;
case 0x2502: ch = 0x81; break;
case 0x250C: ch = 0x82; break;
case 0x2510: ch = 0x83; break;
case 0x2514: ch = 0x84; break;
case 0x2518: ch = 0x85; break;
case 0x251C: ch = 0x86; break;
case 0x2524: ch = 0x87; break;
case 0x252C: ch = 0x88; break;
case 0x2534: ch = 0x89; break;
case 0x253C: ch = 0x8A; break;
case 0x2550: ch = 0xA0; break;
case 0x2551: ch = 0xA1; break;
case 0x2552: ch = 0xA2; break;
case 0x2554: ch = 0xA5; break;
case 0x2557:
case 0x2558:
case 0x2559:
case 0x255A:
case 0x255B:
ch -= 0x24AF;
break;
case 0x255D:
case 0x255E:
case 0x255F:
case 0x2560:
case 0x2561:
ch -= 0x24AF;
break;
case 0x2563: ch = 0xB5; break;
case 0x2566:
case 0x2567:
case 0x2568:
case 0x2569:
case 0x256A:
ch -= 0x24AE;
break;
case 0x256C: ch = 0xBE; break;
case 0x2580: ch = 0x8B; break;
case 0x2584: ch = 0x8C; break;
case 0x2588: ch = 0x8D; break;
case 0x258C: ch = 0x8E; break;
case 0x2590:
case 0x2591:
case 0x2592:
case 0x2593:
ch -= 0x2501;
break;
case 0x25A0: ch = 0x94; break;
default:
{
if(ch >= 0xFF01 && ch <= 0xFF5E)
{
ch -= 0xFEE0;
}
else
{
ch = 0x3F;
}
}
break;
}
bytes[byteIndex++] = (byte)ch;
--charCount;
}
}
*/
}; // class CP21866
[Serializable]

View File

@@ -97,12 +97,11 @@ public class CP28594 : ByteEncoding
return GetBytesImpl(chars, count, null, 0);
}
else
{
return count;
}
}
// Get the number of bytes needed to encode a character buffer.
public override int GetByteCount (String s)
{
@@ -123,7 +122,7 @@ public class CP28594 : ByteEncoding
return s.Length;
}
}
//ToBytes is just an alias for GetBytesImpl, but doesn't return byte count
protected unsafe override void ToBytes(char* chars, int charCount,
byte* bytes, int byteCount)
@@ -133,7 +132,7 @@ public class CP28594 : ByteEncoding
throw new ArgumentNullException("bytes");
GetBytesImpl(chars, charCount, bytes, byteCount);
}
public unsafe override int GetBytesImpl (char* chars, int charCount,
byte* bytes, int byteCount)
{
@@ -144,8 +143,6 @@ public class CP28594 : ByteEncoding
while (charCount > 0)
{
ch = (int)(chars[charIndex]);
charIndex++;
charCount--;
if(ch >= 161) switch(ch)
{
case 0x00A4:
@@ -253,6 +250,8 @@ public class CP28594 : ByteEncoding
else
{
HandleFallback (ref buffer, chars, ref charIndex, ref charCount, bytes, ref byteIndex, ref byteCount);
charIndex++;
charCount--;
continue;
}
}
@@ -263,135 +262,11 @@ public class CP28594 : ByteEncoding
bytes[byteIndex] = (byte)ch;
byteIndex++;
byteCount--;
charIndex++;
charCount--;
}
return byteIndex;
}
/*
protected override void ToBytes(String s, int charIndex, int charCount,
byte[] bytes, int byteIndex)
{
int ch;
while(charCount > 0)
{
ch = (int)(s[charIndex++]);
if(ch >= 161) switch(ch)
{
case 0x00A4:
case 0x00A7:
case 0x00A8:
case 0x00AD:
case 0x00AF:
case 0x00B0:
case 0x00B4:
case 0x00B8:
case 0x00C1:
case 0x00C2:
case 0x00C3:
case 0x00C4:
case 0x00C5:
case 0x00C6:
case 0x00C9:
case 0x00CB:
case 0x00CD:
case 0x00CE:
case 0x00D4:
case 0x00D5:
case 0x00D6:
case 0x00D7:
case 0x00D8:
case 0x00DA:
case 0x00DB:
case 0x00DC:
case 0x00DF:
case 0x00E1:
case 0x00E2:
case 0x00E3:
case 0x00E4:
case 0x00E5:
case 0x00E6:
case 0x00E9:
case 0x00EB:
case 0x00ED:
case 0x00EE:
case 0x00F4:
case 0x00F5:
case 0x00F6:
case 0x00F7:
case 0x00F8:
case 0x00FA:
case 0x00FB:
case 0x00FC:
break;
case 0x0100: ch = 0xC0; break;
case 0x0101: ch = 0xE0; break;
case 0x0104: ch = 0xA1; break;
case 0x0105: ch = 0xB1; break;
case 0x010C: ch = 0xC8; break;
case 0x010D: ch = 0xE8; break;
case 0x0110: ch = 0xD0; break;
case 0x0111: ch = 0xF0; break;
case 0x0112: ch = 0xAA; break;
case 0x0113: ch = 0xBA; break;
case 0x0116: ch = 0xCC; break;
case 0x0117: ch = 0xEC; break;
case 0x0118: ch = 0xCA; break;
case 0x0119: ch = 0xEA; break;
case 0x0122: ch = 0xAB; break;
case 0x0123: ch = 0xBB; break;
case 0x0128: ch = 0xA5; break;
case 0x0129: ch = 0xB5; break;
case 0x012A: ch = 0xCF; break;
case 0x012B: ch = 0xEF; break;
case 0x012E: ch = 0xC7; break;
case 0x012F: ch = 0xE7; break;
case 0x0136: ch = 0xD3; break;
case 0x0137: ch = 0xF3; break;
case 0x0138: ch = 0xA2; break;
case 0x013B: ch = 0xA6; break;
case 0x013C: ch = 0xB6; break;
case 0x0145: ch = 0xD1; break;
case 0x0146: ch = 0xF1; break;
case 0x014A: ch = 0xBD; break;
case 0x014B: ch = 0xBF; break;
case 0x014C: ch = 0xD2; break;
case 0x014D: ch = 0xF2; break;
case 0x0156: ch = 0xA3; break;
case 0x0157: ch = 0xB3; break;
case 0x0160: ch = 0xA9; break;
case 0x0161: ch = 0xB9; break;
case 0x0166: ch = 0xAC; break;
case 0x0167: ch = 0xBC; break;
case 0x0168: ch = 0xDD; break;
case 0x0169: ch = 0xFD; break;
case 0x016A: ch = 0xDE; break;
case 0x016B: ch = 0xFE; break;
case 0x0172: ch = 0xD9; break;
case 0x0173: ch = 0xF9; break;
case 0x017D: ch = 0xAE; break;
case 0x017E: ch = 0xBE; break;
case 0x02C7: ch = 0xB7; break;
case 0x02D9: ch = 0xFF; break;
case 0x02DB: ch = 0xB2; break;
default:
{
if(ch >= 0xFF01 && ch <= 0xFF5E)
{
ch -= 0xFEE0;
}
else
{
ch = 0x3F;
}
}
break;
}
bytes[byteIndex++] = (byte)ch;
--charCount;
}
}
*/
}; // class CP28594
[Serializable]

View File

@@ -97,12 +97,11 @@ public class CP28595 : ByteEncoding
return GetBytesImpl(chars, count, null, 0);
}
else
{
return count;
}
}
// Get the number of bytes needed to encode a character buffer.
public override int GetByteCount (String s)
{
@@ -123,7 +122,7 @@ public class CP28595 : ByteEncoding
return s.Length;
}
}
//ToBytes is just an alias for GetBytesImpl, but doesn't return byte count
protected unsafe override void ToBytes(char* chars, int charCount,
byte* bytes, int byteCount)
@@ -133,7 +132,7 @@ public class CP28595 : ByteEncoding
throw new ArgumentNullException("bytes");
GetBytesImpl(chars, charCount, bytes, byteCount);
}
public unsafe override int GetBytesImpl (char* chars, int charCount,
byte* bytes, int byteCount)
{
@@ -144,8 +143,6 @@ public class CP28595 : ByteEncoding
while (charCount > 0)
{
ch = (int)(chars[charIndex]);
charIndex++;
charCount--;
if(ch >= 161) switch(ch)
{
case 0x00AD:
@@ -259,6 +256,8 @@ public class CP28595 : ByteEncoding
else
{
HandleFallback (ref buffer, chars, ref charIndex, ref charCount, bytes, ref byteIndex, ref byteCount);
charIndex++;
charCount--;
continue;
}
}
@@ -269,141 +268,11 @@ public class CP28595 : ByteEncoding
bytes[byteIndex] = (byte)ch;
byteIndex++;
byteCount--;
charIndex++;
charCount--;
}
return byteIndex;
}
/*
protected override void ToBytes(String s, int charIndex, int charCount,
byte[] bytes, int byteIndex)
{
int ch;
while(charCount > 0)
{
ch = (int)(s[charIndex++]);
if(ch >= 161) switch(ch)
{
case 0x00AD:
break;
case 0x00A7: ch = 0xFD; break;
case 0x0401:
case 0x0402:
case 0x0403:
case 0x0404:
case 0x0405:
case 0x0406:
case 0x0407:
case 0x0408:
case 0x0409:
case 0x040A:
case 0x040B:
case 0x040C:
ch -= 0x0360;
break;
case 0x040E:
case 0x040F:
case 0x0410:
case 0x0411:
case 0x0412:
case 0x0413:
case 0x0414:
case 0x0415:
case 0x0416:
case 0x0417:
case 0x0418:
case 0x0419:
case 0x041A:
case 0x041B:
case 0x041C:
case 0x041D:
case 0x041E:
case 0x041F:
case 0x0420:
case 0x0421:
case 0x0422:
case 0x0423:
case 0x0424:
case 0x0425:
case 0x0426:
case 0x0427:
case 0x0428:
case 0x0429:
case 0x042A:
case 0x042B:
case 0x042C:
case 0x042D:
case 0x042E:
case 0x042F:
case 0x0430:
case 0x0431:
case 0x0432:
case 0x0433:
case 0x0434:
case 0x0435:
case 0x0436:
case 0x0437:
case 0x0438:
case 0x0439:
case 0x043A:
case 0x043B:
case 0x043C:
case 0x043D:
case 0x043E:
case 0x043F:
case 0x0440:
case 0x0441:
case 0x0442:
case 0x0443:
case 0x0444:
case 0x0445:
case 0x0446:
case 0x0447:
case 0x0448:
case 0x0449:
case 0x044A:
case 0x044B:
case 0x044C:
case 0x044D:
case 0x044E:
case 0x044F:
ch -= 0x0360;
break;
case 0x0451:
case 0x0452:
case 0x0453:
case 0x0454:
case 0x0455:
case 0x0456:
case 0x0457:
case 0x0458:
case 0x0459:
case 0x045A:
case 0x045B:
case 0x045C:
ch -= 0x0360;
break;
case 0x045E: ch = 0xFE; break;
case 0x045F: ch = 0xFF; break;
case 0x2116: ch = 0xF0; break;
default:
{
if(ch >= 0xFF01 && ch <= 0xFF5E)
{
ch -= 0xFEE0;
}
else
{
ch = 0x3F;
}
}
break;
}
bytes[byteIndex++] = (byte)ch;
--charCount;
}
}
*/
}; // class CP28595
[Serializable]

View File

@@ -97,12 +97,11 @@ public class CP874 : ByteEncoding
return GetBytesImpl(chars, count, null, 0);
}
else
{
return count;
}
}
// Get the number of bytes needed to encode a character buffer.
public override int GetByteCount (String s)
{
@@ -123,7 +122,7 @@ public class CP874 : ByteEncoding
return s.Length;
}
}
//ToBytes is just an alias for GetBytesImpl, but doesn't return byte count
protected unsafe override void ToBytes(char* chars, int charCount,
byte* bytes, int byteCount)
@@ -133,7 +132,7 @@ public class CP874 : ByteEncoding
throw new ArgumentNullException("bytes");
GetBytesImpl(chars, charCount, bytes, byteCount);
}
public unsafe override int GetBytesImpl (char* chars, int charCount,
byte* bytes, int byteCount)
{
@@ -144,8 +143,6 @@ public class CP874 : ByteEncoding
while (charCount > 0)
{
ch = (int)(chars[charIndex]);
charIndex++;
charCount--;
if(ch >= 26) switch(ch)
{
case 0x001B:
@@ -355,6 +352,8 @@ public class CP874 : ByteEncoding
else
{
HandleFallback (ref buffer, chars, ref charIndex, ref charCount, bytes, ref byteIndex, ref byteCount);
charIndex++;
charCount--;
continue;
}
}
@@ -365,237 +364,11 @@ public class CP874 : ByteEncoding
bytes[byteIndex] = (byte)ch;
byteIndex++;
byteCount--;
charIndex++;
charCount--;
}
return byteIndex;
}
/*
protected override void ToBytes(String s, int charIndex, int charCount,
byte[] bytes, int byteIndex)
{
int ch;
while(charCount > 0)
{
ch = (int)(s[charIndex++]);
if(ch >= 26) switch(ch)
{
case 0x001B:
case 0x001D:
case 0x001E:
case 0x001F:
case 0x0020:
case 0x0021:
case 0x0022:
case 0x0023:
case 0x0024:
case 0x0025:
case 0x0026:
case 0x0027:
case 0x0028:
case 0x0029:
case 0x002A:
case 0x002B:
case 0x002C:
case 0x002D:
case 0x002E:
case 0x002F:
case 0x0030:
case 0x0031:
case 0x0032:
case 0x0033:
case 0x0034:
case 0x0035:
case 0x0036:
case 0x0037:
case 0x0038:
case 0x0039:
case 0x003A:
case 0x003B:
case 0x003C:
case 0x003D:
case 0x003E:
case 0x003F:
case 0x0040:
case 0x0041:
case 0x0042:
case 0x0043:
case 0x0044:
case 0x0045:
case 0x0046:
case 0x0047:
case 0x0048:
case 0x0049:
case 0x004A:
case 0x004B:
case 0x004C:
case 0x004D:
case 0x004E:
case 0x004F:
case 0x0050:
case 0x0051:
case 0x0052:
case 0x0053:
case 0x0054:
case 0x0055:
case 0x0056:
case 0x0057:
case 0x0058:
case 0x0059:
case 0x005A:
case 0x005B:
case 0x005C:
case 0x005D:
case 0x005E:
case 0x005F:
case 0x0060:
case 0x0061:
case 0x0062:
case 0x0063:
case 0x0064:
case 0x0065:
case 0x0066:
case 0x0067:
case 0x0068:
case 0x0069:
case 0x006A:
case 0x006B:
case 0x006C:
case 0x006D:
case 0x006E:
case 0x006F:
case 0x0070:
case 0x0071:
case 0x0072:
case 0x0073:
case 0x0074:
case 0x0075:
case 0x0076:
case 0x0077:
case 0x0078:
case 0x0079:
case 0x007A:
case 0x007B:
case 0x007C:
case 0x007D:
case 0x007E:
break;
case 0x001A: ch = 0x7F; break;
case 0x001C: ch = 0x1A; break;
case 0x007F: ch = 0x1C; break;
case 0x00A0: ch = 0xFF; break;
case 0x00A2: ch = 0xFC; break;
case 0x00A6: ch = 0xFE; break;
case 0x00AC: ch = 0xFD; break;
case 0x0E01:
case 0x0E02:
case 0x0E03:
case 0x0E04:
case 0x0E05:
case 0x0E06:
case 0x0E07:
case 0x0E08:
case 0x0E09:
case 0x0E0A:
case 0x0E0B:
case 0x0E0C:
case 0x0E0D:
case 0x0E0E:
case 0x0E0F:
case 0x0E10:
case 0x0E11:
case 0x0E12:
case 0x0E13:
case 0x0E14:
case 0x0E15:
case 0x0E16:
case 0x0E17:
case 0x0E18:
case 0x0E19:
case 0x0E1A:
case 0x0E1B:
case 0x0E1C:
case 0x0E1D:
case 0x0E1E:
case 0x0E1F:
case 0x0E20:
case 0x0E21:
case 0x0E22:
case 0x0E23:
case 0x0E24:
case 0x0E25:
case 0x0E26:
case 0x0E27:
case 0x0E28:
case 0x0E29:
case 0x0E2A:
case 0x0E2B:
case 0x0E2C:
case 0x0E2D:
case 0x0E2E:
case 0x0E2F:
case 0x0E30:
case 0x0E31:
case 0x0E32:
case 0x0E33:
case 0x0E34:
case 0x0E35:
case 0x0E36:
case 0x0E37:
case 0x0E38:
case 0x0E39:
case 0x0E3A:
ch -= 0x0D60;
break;
case 0x0E3F:
case 0x0E40:
case 0x0E41:
case 0x0E42:
case 0x0E43:
case 0x0E44:
case 0x0E45:
case 0x0E46:
case 0x0E47:
case 0x0E48:
case 0x0E49:
case 0x0E4A:
case 0x0E4B:
case 0x0E4C:
case 0x0E4D:
case 0x0E4E:
case 0x0E4F:
case 0x0E50:
case 0x0E51:
case 0x0E52:
case 0x0E53:
case 0x0E54:
case 0x0E55:
case 0x0E56:
case 0x0E57:
case 0x0E58:
case 0x0E59:
case 0x0E5A:
case 0x0E5B:
ch -= 0x0D60;
break;
default:
{
if(ch >= 0xFF01 && ch <= 0xFF5E)
{
ch -= 0xFEE0;
}
else
{
ch = 0x3F;
}
}
break;
}
bytes[byteIndex++] = (byte)ch;
--charCount;
}
}
*/
}; // class CP874
[Serializable]

View File

@@ -0,0 +1,2 @@
../../EncodingTestBase.cs
I18N.Other.EncodingTest.cs

View File

@@ -6,7 +6,7 @@ LIBRARY = I18N.Other.dll
LIB_REFS = I18N
KEYFILE = ../../mono.pub
LOCAL_MCS_FLAGS = /unsafe
NO_TEST = yes
TEST_LIB_REFS = I18N
EXTRA_DISTFILES = $(wildcard *.ucm)

View File

@@ -0,0 +1,56 @@
//
// I18N.Other.EncodingTest.cs
//
// Author:
// Alexander Köplinger (alexander.koeplinger@xamarin.com)
//
// Copyright (C) 2017 Xamarin, Inc.
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
using System;
using System.Text;
using NUnit.Framework;
using NUnit.Framework.Constraints;
using MonoTests.I18N;
namespace MonoTests.I18N.Other
{
[TestFixture]
public class EncodingTest : EncodingTestBase
{
static CodePageTestInfo[] codepageTestInfos = new CodePageTestInfo[]
{
new CodePageTestInfo { CodePage = 874, IsBrowserDisplay = true, IsBrowserSave = true, IsMailNewsDisplay = true, IsMailNewsSave = true, SuperscriptFiveReplacementChar = 63, InfinityReplacementChar = 63, FFReplacementChar = 63, A0Char = '\u0e48', A8Char = '\u0e08' },
new CodePageTestInfo { CodePage = 1251, IsBrowserDisplay = true, IsBrowserSave = true, IsMailNewsDisplay = true, IsMailNewsSave = true, SuperscriptFiveReplacementChar = 63, InfinityReplacementChar = 63, FFReplacementChar = 63, A0Char = '\u00a0', A8Char = '\u0401' },
new CodePageTestInfo { CodePage = 1257, IsBrowserDisplay = true, IsBrowserSave = true, IsMailNewsDisplay = true, IsMailNewsSave = true, SuperscriptFiveReplacementChar = 63, InfinityReplacementChar = 63, FFReplacementChar = 194, A0Char = '\u00a0', A8Char = '\u00d8' },
new CodePageTestInfo { CodePage = 1258, IsBrowserDisplay = true, IsBrowserSave = true, IsMailNewsDisplay = true, IsMailNewsSave = true, SuperscriptFiveReplacementChar = 63, InfinityReplacementChar = 63, FFReplacementChar = 63, A0Char = '\u00a0', A8Char = '\u00a8' },
new CodePageTestInfo { CodePage = 20866, IsBrowserDisplay = true, IsBrowserSave = true, IsMailNewsDisplay = true, IsMailNewsSave = true, SuperscriptFiveReplacementChar = 63, InfinityReplacementChar = 63, FFReplacementChar = 63, A0Char = '\u2550', A8Char = '\u2557' },
new CodePageTestInfo { CodePage = 21866, IsBrowserDisplay = true, IsBrowserSave = true, IsMailNewsDisplay = true, IsMailNewsSave = true, SuperscriptFiveReplacementChar = 63, InfinityReplacementChar = 63, FFReplacementChar = 63, A0Char = '\u2550', A8Char = '\u2557' },
new CodePageTestInfo { CodePage = 28594, IsBrowserDisplay = true, IsBrowserSave = true, IsMailNewsDisplay = true, IsMailNewsSave = true, SuperscriptFiveReplacementChar = 63, InfinityReplacementChar = 63, FFReplacementChar = 192, A0Char = '\u00a0', A8Char = '\u00a8' },
new CodePageTestInfo { CodePage = 28595, IsBrowserDisplay = true, IsBrowserSave = true, IsMailNewsDisplay = true, IsMailNewsSave = true, SuperscriptFiveReplacementChar = 63, InfinityReplacementChar = 63, FFReplacementChar = 63, A0Char = '\u00a0', A8Char = '\u0408' },
new CodePageTestInfo { CodePage = 57002, IsBrowserDisplay = false, IsBrowserSave = false, IsMailNewsDisplay = false, IsMailNewsSave = false, SuperscriptFiveReplacementChar = 63, InfinityReplacementChar = 63, FFReplacementChar = 63, A0Char = '\u0920', A8Char = '\u0928', SkipEncoderFallback2Test = true }, // FIXME: SkipEncoderFallback2Test
};
}
}