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 CP1254 : 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 CP1254 : 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 CP1254 : 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 CP1254 : ByteEncoding
while (charCount > 0)
{
ch = (int)(chars[charIndex]);
charIndex++;
charCount--;
if(ch >= 128) switch(ch)
{
case 0x0081:
@@ -286,6 +283,8 @@ public class CP1254 : ByteEncoding
else
{
HandleFallback (ref buffer, chars, ref charIndex, ref charCount, bytes, ref byteIndex, ref byteCount);
charIndex++;
charCount--;
continue;
}
}
@@ -296,168 +295,11 @@ public class CP1254 : 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 0x008D:
case 0x008E:
case 0x008F:
case 0x0090:
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 0x00C3:
case 0x00C4:
case 0x00C5:
case 0x00C6:
case 0x00C7:
case 0x00C8:
case 0x00C9:
case 0x00CA:
case 0x00CB:
case 0x00CC:
case 0x00CD:
case 0x00CE:
case 0x00CF:
case 0x00D1:
case 0x00D2:
case 0x00D3:
case 0x00D4:
case 0x00D5:
case 0x00D6:
case 0x00D7:
case 0x00D8:
case 0x00D9:
case 0x00DA:
case 0x00DB:
case 0x00DC:
case 0x00DF:
case 0x00E0:
case 0x00E1:
case 0x00E2:
case 0x00E3:
case 0x00E4:
case 0x00E5:
case 0x00E6:
case 0x00E7:
case 0x00E8:
case 0x00E9:
case 0x00EA:
case 0x00EB:
case 0x00EC:
case 0x00ED:
case 0x00EE:
case 0x00EF:
case 0x00F1:
case 0x00F2:
case 0x00F3:
case 0x00F4:
case 0x00F5:
case 0x00F6:
case 0x00F7:
case 0x00F8:
case 0x00F9:
case 0x00FA:
case 0x00FB:
case 0x00FC:
case 0x00FF:
break;
case 0x011E: ch = 0xD0; break;
case 0x011F: ch = 0xF0; break;
case 0x0130: ch = 0xDD; break;
case 0x0131: ch = 0xFD; break;
case 0x0152: ch = 0x8C; break;
case 0x0153: ch = 0x9C; break;
case 0x015E: ch = 0xDE; break;
case 0x015F: ch = 0xFE; break;
case 0x0160: ch = 0x8A; break;
case 0x0161: ch = 0x9A; break;
case 0x0178: ch = 0x9F; break;
case 0x0192: ch = 0x83; break;
case 0x02C6: ch = 0x88; break;
case 0x02DC: ch = 0x98; 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 CP1254
[Serializable]

View File

@@ -97,12 +97,11 @@ public class CP1255 : 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 CP1255 : 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 CP1255 : 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 CP1255 : ByteEncoding
while (charCount > 0)
{
ch = (int)(chars[charIndex]);
charIndex++;
charCount--;
if(ch >= 128) switch(ch)
{
case 0x0081:
@@ -283,6 +280,8 @@ public class CP1255 : ByteEncoding
else
{
HandleFallback (ref buffer, chars, ref charIndex, ref charCount, bytes, ref byteIndex, ref byteCount);
charIndex++;
charCount--;
continue;
}
}
@@ -293,165 +292,11 @@ public class CP1255 : 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 0x008C:
case 0x008D:
case 0x008E:
case 0x008F:
case 0x0090:
case 0x009A:
case 0x009C:
case 0x009D:
case 0x009E:
case 0x009F:
case 0x00A0:
case 0x00A1:
case 0x00A2:
case 0x00A3:
case 0x00A5:
case 0x00A6:
case 0x00A7:
case 0x00A8:
case 0x00A9:
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 0x00BB:
case 0x00BC:
case 0x00BD:
case 0x00BE:
case 0x00BF:
break;
case 0x00D7: ch = 0xAA; break;
case 0x00F7: ch = 0xBA; break;
case 0x0192: ch = 0x83; break;
case 0x02C6: ch = 0x88; break;
case 0x02DC: ch = 0x98; break;
case 0x05B0:
case 0x05B1:
case 0x05B2:
case 0x05B3:
case 0x05B4:
case 0x05B5:
case 0x05B6:
case 0x05B7:
case 0x05B8:
case 0x05B9:
ch -= 0x04F0;
break;
case 0x05BB:
case 0x05BC:
case 0x05BD:
case 0x05BE:
case 0x05BF:
case 0x05C0:
case 0x05C1:
case 0x05C2:
case 0x05C3:
ch -= 0x04F0;
break;
case 0x05D0:
case 0x05D1:
case 0x05D2:
case 0x05D3:
case 0x05D4:
case 0x05D5:
case 0x05D6:
case 0x05D7:
case 0x05D8:
case 0x05D9:
case 0x05DA:
case 0x05DB:
case 0x05DC:
case 0x05DD:
case 0x05DE:
case 0x05DF:
case 0x05E0:
case 0x05E1:
case 0x05E2:
case 0x05E3:
case 0x05E4:
case 0x05E5:
case 0x05E6:
case 0x05E7:
case 0x05E8:
case 0x05E9:
case 0x05EA:
ch -= 0x04F0;
break;
case 0x05F0:
case 0x05F1:
case 0x05F2:
case 0x05F3:
case 0x05F4:
ch -= 0x051C;
break;
case 0x200E: ch = 0xFD; break;
case 0x200F: ch = 0xFE; 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 0x20AA: ch = 0xA4; 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 CP1255
[Serializable]

View File

@@ -97,12 +97,11 @@ public class CP1256 : 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 CP1256 : 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 CP1256 : 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 CP1256 : ByteEncoding
while (charCount > 0)
{
ch = (int)(chars[charIndex]);
charIndex++;
charCount--;
if(ch >= 128) switch(ch)
{
case 0x00A0:
@@ -472,6 +469,8 @@ public class CP1256 : ByteEncoding
else
{
HandleFallback (ref buffer, chars, ref charIndex, ref charCount, bytes, ref byteIndex, ref byteCount);
charIndex++;
charCount--;
continue;
}
}
@@ -482,354 +481,11 @@ public class CP1256 : 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:
case 0x00A2:
case 0x00A3:
case 0x00A4:
case 0x00A5:
case 0x00A6:
case 0x00A7:
case 0x00A8:
case 0x00A9:
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 0x00BB:
case 0x00BC:
case 0x00BD:
case 0x00BE:
case 0x00D7:
case 0x00E0:
case 0x00E2:
case 0x00E7:
case 0x00E8:
case 0x00E9:
case 0x00EA:
case 0x00EB:
case 0x00EE:
case 0x00EF:
case 0x00F4:
case 0x00F7:
case 0x00F9:
case 0x00FB:
case 0x00FC:
break;
case 0x0152: ch = 0x8C; break;
case 0x0153: ch = 0x9C; break;
case 0x0192: ch = 0x83; break;
case 0x02C6: ch = 0x88; break;
case 0x060C: ch = 0xA1; break;
case 0x061B: ch = 0xBA; break;
case 0x061F: ch = 0xBF; break;
case 0x0621:
case 0x0622:
case 0x0623:
case 0x0624:
case 0x0625:
case 0x0626:
case 0x0627:
case 0x0628:
case 0x0629:
case 0x062A:
case 0x062B:
case 0x062C:
case 0x062D:
case 0x062E:
case 0x062F:
case 0x0630:
case 0x0631:
case 0x0632:
case 0x0633:
case 0x0634:
case 0x0635:
case 0x0636:
ch -= 0x0560;
break;
case 0x0637:
case 0x0638:
case 0x0639:
case 0x063A:
ch -= 0x055F;
break;
case 0x0640:
case 0x0641:
case 0x0642:
case 0x0643:
ch -= 0x0564;
break;
case 0x0644: ch = 0xE1; break;
case 0x0645:
case 0x0646:
case 0x0647:
case 0x0648:
ch -= 0x0562;
break;
case 0x0649: ch = 0xEC; break;
case 0x064A: ch = 0xED; break;
case 0x064B:
case 0x064C:
case 0x064D:
case 0x064E:
ch -= 0x055B;
break;
case 0x064F: ch = 0xF5; break;
case 0x0650: ch = 0xF6; break;
case 0x0651: ch = 0xF8; break;
case 0x0652: ch = 0xFA; break;
case 0x0660:
case 0x0661:
case 0x0662:
case 0x0663:
case 0x0664:
case 0x0665:
case 0x0666:
case 0x0667:
case 0x0668:
case 0x0669:
ch -= 0x0630;
break;
case 0x066B: ch = 0x2C; break;
case 0x066C: ch = 0x2E; break;
case 0x0679: ch = 0x8A; break;
case 0x067E: ch = 0x81; break;
case 0x0686: ch = 0x8D; break;
case 0x0688: ch = 0x8F; break;
case 0x0691: ch = 0x9A; break;
case 0x0698: ch = 0x8E; break;
case 0x06A9: ch = 0x98; break;
case 0x06AF: ch = 0x90; break;
case 0x06BA: ch = 0x9F; break;
case 0x06BE: ch = 0xAA; break;
case 0x06C1: ch = 0xC0; break;
case 0x06D2: ch = 0xFF; break;
case 0x06F0:
case 0x06F1:
case 0x06F2:
case 0x06F3:
case 0x06F4:
case 0x06F5:
case 0x06F6:
case 0x06F7:
case 0x06F8:
case 0x06F9:
ch -= 0x06C0;
break;
case 0x200C: ch = 0x9D; break;
case 0x200D: ch = 0x9E; break;
case 0x200E: ch = 0xFD; break;
case 0x200F: ch = 0xFE; 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;
case 0xFB56: ch = 0x81; break;
case 0xFB58: ch = 0x81; break;
case 0xFB66: ch = 0x8A; break;
case 0xFB68: ch = 0x8A; break;
case 0xFB7A: ch = 0x8D; break;
case 0xFB7C: ch = 0x8D; break;
case 0xFB88: ch = 0x8F; break;
case 0xFB8A: ch = 0x8E; break;
case 0xFB8C: ch = 0x9A; break;
case 0xFB8E: ch = 0x98; break;
case 0xFB90: ch = 0x98; break;
case 0xFB92: ch = 0x90; break;
case 0xFB94: ch = 0x90; break;
case 0xFB9E: ch = 0x9F; break;
case 0xFBA6: ch = 0xC0; break;
case 0xFBA8: ch = 0xC0; break;
case 0xFBAA: ch = 0xAA; break;
case 0xFBAC: ch = 0xAA; break;
case 0xFBAE: ch = 0xFF; break;
case 0xFE70: ch = 0xF0; break;
case 0xFE71: ch = 0xF0; break;
case 0xFE72: ch = 0xF1; break;
case 0xFE74: ch = 0xF2; break;
case 0xFE76: ch = 0xF3; break;
case 0xFE77: ch = 0xF3; break;
case 0xFE78: ch = 0xF5; break;
case 0xFE79: ch = 0xF5; break;
case 0xFE7A: ch = 0xF6; break;
case 0xFE7B: ch = 0xF6; break;
case 0xFE7C: ch = 0xF8; break;
case 0xFE7D: ch = 0xF8; break;
case 0xFE7E: ch = 0xFA; break;
case 0xFE7F: ch = 0xFA; break;
case 0xFE80: ch = 0xC1; break;
case 0xFE81: ch = 0xC2; break;
case 0xFE82: ch = 0xC2; break;
case 0xFE83: ch = 0xC3; break;
case 0xFE84: ch = 0xC3; break;
case 0xFE85: ch = 0xC4; break;
case 0xFE86: ch = 0xC4; break;
case 0xFE87: ch = 0xC5; break;
case 0xFE88: ch = 0xC5; break;
case 0xFE89: ch = 0xC6; break;
case 0xFE8A: ch = 0xC6; break;
case 0xFE8B: ch = 0xC6; break;
case 0xFE8C: ch = 0xC6; break;
case 0xFE8D: ch = 0xC7; break;
case 0xFE8E: ch = 0xC7; break;
case 0xFE8F: ch = 0xC8; break;
case 0xFE90: ch = 0xC8; break;
case 0xFE91: ch = 0xC8; break;
case 0xFE92: ch = 0xC8; break;
case 0xFE93: ch = 0xC9; break;
case 0xFE94: ch = 0xC9; break;
case 0xFE95: ch = 0xCA; break;
case 0xFE96: ch = 0xCA; break;
case 0xFE97: ch = 0xCA; break;
case 0xFE98: ch = 0xCA; break;
case 0xFE99: ch = 0xCB; break;
case 0xFE9A: ch = 0xCB; break;
case 0xFE9B: ch = 0xCB; break;
case 0xFE9C: ch = 0xCB; break;
case 0xFE9D: ch = 0xCC; break;
case 0xFE9E: ch = 0xCC; break;
case 0xFE9F: ch = 0xCC; break;
case 0xFEA0: ch = 0xCC; break;
case 0xFEA1: ch = 0xCD; break;
case 0xFEA2: ch = 0xCD; break;
case 0xFEA3: ch = 0xCD; break;
case 0xFEA4: ch = 0xCD; break;
case 0xFEA5: ch = 0xCE; break;
case 0xFEA6: ch = 0xCE; break;
case 0xFEA7: ch = 0xCE; break;
case 0xFEA8: ch = 0xCE; break;
case 0xFEA9: ch = 0xCF; break;
case 0xFEAA: ch = 0xCF; break;
case 0xFEAB: ch = 0xD0; break;
case 0xFEAC: ch = 0xD0; break;
case 0xFEAD: ch = 0xD1; break;
case 0xFEAE: ch = 0xD1; break;
case 0xFEAF: ch = 0xD2; break;
case 0xFEB0: ch = 0xD2; break;
case 0xFEB1: ch = 0xD3; break;
case 0xFEB2: ch = 0xD3; break;
case 0xFEB3: ch = 0xD3; break;
case 0xFEB4: ch = 0xD3; break;
case 0xFEB5: ch = 0xD4; break;
case 0xFEB6: ch = 0xD4; break;
case 0xFEB7: ch = 0xD4; break;
case 0xFEB8: ch = 0xD4; break;
case 0xFEB9: ch = 0xD5; break;
case 0xFEBA: ch = 0xD5; break;
case 0xFEBB: ch = 0xD5; break;
case 0xFEBC: ch = 0xD5; break;
case 0xFEBD: ch = 0xD6; break;
case 0xFEBE: ch = 0xD6; break;
case 0xFEBF: ch = 0xD6; break;
case 0xFEC0: ch = 0xD6; break;
case 0xFEC1: ch = 0xD8; break;
case 0xFEC2: ch = 0xD8; break;
case 0xFEC3: ch = 0xD8; break;
case 0xFEC4: ch = 0xD8; break;
case 0xFEC5: ch = 0xD9; break;
case 0xFEC6: ch = 0xD9; break;
case 0xFEC7: ch = 0xD9; break;
case 0xFEC8: ch = 0xD9; break;
case 0xFEC9: ch = 0xDA; break;
case 0xFECA: ch = 0xDA; break;
case 0xFECB: ch = 0xDA; break;
case 0xFECC: ch = 0xDA; break;
case 0xFECD: ch = 0xDB; break;
case 0xFECE: ch = 0xDB; break;
case 0xFECF: ch = 0xDB; break;
case 0xFED0: ch = 0xDB; break;
case 0xFED1: ch = 0xDD; break;
case 0xFED2: ch = 0xDD; break;
case 0xFED3: ch = 0xDD; break;
case 0xFED4: ch = 0xDD; break;
case 0xFED5: ch = 0xDE; break;
case 0xFED6: ch = 0xDE; break;
case 0xFED7: ch = 0xDE; break;
case 0xFED8: ch = 0xDE; break;
case 0xFED9: ch = 0xDF; break;
case 0xFEDA: ch = 0xDF; break;
case 0xFEDB: ch = 0xDF; break;
case 0xFEDC: ch = 0xDF; break;
case 0xFEDD: ch = 0xE1; break;
case 0xFEDE: ch = 0xE1; break;
case 0xFEDF: ch = 0xE1; break;
case 0xFEE0: ch = 0xE1; break;
case 0xFEE1: ch = 0xE3; break;
case 0xFEE2: ch = 0xE3; break;
case 0xFEE3: ch = 0xE3; break;
case 0xFEE4: ch = 0xE3; break;
case 0xFEE5: ch = 0xE4; break;
case 0xFEE6: ch = 0xE4; break;
case 0xFEE7: ch = 0xE4; break;
case 0xFEE8: ch = 0xE4; break;
case 0xFEE9: ch = 0xE5; break;
case 0xFEEA: ch = 0xE5; break;
case 0xFEEB: ch = 0xE5; break;
case 0xFEEC: ch = 0xE5; break;
case 0xFEED: ch = 0xE6; break;
case 0xFEEE: ch = 0xE6; break;
case 0xFEEF: ch = 0xEC; break;
case 0xFEF0: ch = 0xEC; break;
case 0xFEF1: ch = 0xED; break;
case 0xFEF2: ch = 0xED; break;
case 0xFEF3: ch = 0xED; break;
case 0xFEF4: ch = 0xED; break;
default:
{
if(ch >= 0xFF01 && ch <= 0xFF5E)
{
ch -= 0xFEE0;
}
else
{
ch = 0x3F;
}
}
break;
}
bytes[byteIndex++] = (byte)ch;
--charCount;
}
}
*/
}; // class CP1256
[Serializable]

File diff suppressed because it is too large Load Diff

View File

@@ -97,12 +97,11 @@ public class CP28598 : 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 CP28598 : 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 CP28598 : 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 CP28598 : ByteEncoding
while (charCount > 0)
{
ch = (int)(chars[charIndex]);
charIndex++;
charCount--;
if(ch >= 161) switch(ch)
{
case 0x00A2:
@@ -217,6 +214,8 @@ public class CP28598 : ByteEncoding
else
{
HandleFallback (ref buffer, chars, ref charIndex, ref charCount, bytes, ref byteIndex, ref byteCount);
charIndex++;
charCount--;
continue;
}
}
@@ -227,99 +226,11 @@ public class CP28598 : 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 0x00A2:
case 0x00A3:
case 0x00A4:
case 0x00A5:
case 0x00A6:
case 0x00A7:
case 0x00A8:
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 0x00B8:
case 0x00B9:
case 0x00BB:
case 0x00BC:
case 0x00BD:
case 0x00BE:
break;
case 0x00D7: ch = 0xAA; break;
case 0x00F7: ch = 0xBA; break;
case 0x05D0:
case 0x05D1:
case 0x05D2:
case 0x05D3:
case 0x05D4:
case 0x05D5:
case 0x05D6:
case 0x05D7:
case 0x05D8:
case 0x05D9:
case 0x05DA:
case 0x05DB:
case 0x05DC:
case 0x05DD:
case 0x05DE:
case 0x05DF:
case 0x05E0:
case 0x05E1:
case 0x05E2:
case 0x05E3:
case 0x05E4:
case 0x05E5:
case 0x05E6:
case 0x05E7:
case 0x05E8:
case 0x05E9:
case 0x05EA:
ch -= 0x04F0;
break;
case 0x2017: ch = 0xDF; break;
case 0x2022: ch = 0xB7; break;
case 0x203E: ch = 0xAF; break;
default:
{
if(ch >= 0xFF01 && ch <= 0xFF5E)
{
ch -= 0xFEE0;
}
else
{
ch = 0x3F;
}
}
break;
}
bytes[byteIndex++] = (byte)ch;
--charCount;
}
}
*/
}; // class CP28598
[Serializable]

View File

@@ -97,12 +97,11 @@ public class CP28599 : 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 CP28599 : 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 CP28599 : 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 CP28599 : ByteEncoding
while (charCount > 0)
{
ch = (int)(chars[charIndex]);
charIndex++;
charCount--;
if(ch >= 208) switch(ch)
{
case 0x00D1:
@@ -207,6 +204,8 @@ public class CP28599 : ByteEncoding
else
{
HandleFallback (ref buffer, chars, ref charIndex, ref charCount, bytes, ref byteIndex, ref byteCount);
charIndex++;
charCount--;
continue;
}
}
@@ -217,89 +216,11 @@ public class CP28599 : 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 >= 208) switch(ch)
{
case 0x00D1:
case 0x00D2:
case 0x00D3:
case 0x00D4:
case 0x00D5:
case 0x00D6:
case 0x00D7:
case 0x00D8:
case 0x00D9:
case 0x00DA:
case 0x00DB:
case 0x00DC:
case 0x00DF:
case 0x00E0:
case 0x00E1:
case 0x00E2:
case 0x00E3:
case 0x00E4:
case 0x00E5:
case 0x00E6:
case 0x00E7:
case 0x00E8:
case 0x00E9:
case 0x00EA:
case 0x00EB:
case 0x00EC:
case 0x00ED:
case 0x00EE:
case 0x00EF:
case 0x00F1:
case 0x00F2:
case 0x00F3:
case 0x00F4:
case 0x00F5:
case 0x00F6:
case 0x00F7:
case 0x00F8:
case 0x00F9:
case 0x00FA:
case 0x00FB:
case 0x00FC:
case 0x00FF:
break;
case 0x011E: ch = 0xD0; break;
case 0x011F: ch = 0xF0; break;
case 0x0130: ch = 0xDD; break;
case 0x0131: ch = 0xFD; break;
case 0x015E: ch = 0xDE; break;
case 0x015F: ch = 0xFE; break;
case 0x203E: ch = 0xAF; break;
default:
{
if(ch >= 0xFF01 && ch <= 0xFF5E)
{
ch -= 0xFEE0;
}
else
{
ch = 0x3F;
}
}
break;
}
bytes[byteIndex++] = (byte)ch;
--charCount;
}
}
*/
}; // class CP28599
[Serializable]

View File

@@ -97,12 +97,11 @@ public class CP38598 : 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 CP38598 : 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 CP38598 : 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 CP38598 : ByteEncoding
while (charCount > 0)
{
ch = (int)(chars[charIndex]);
charIndex++;
charCount--;
if(ch >= 161) switch(ch)
{
case 0x00A2:
@@ -217,6 +214,8 @@ public class CP38598 : ByteEncoding
else
{
HandleFallback (ref buffer, chars, ref charIndex, ref charCount, bytes, ref byteIndex, ref byteCount);
charIndex++;
charCount--;
continue;
}
}
@@ -227,99 +226,11 @@ public class CP38598 : 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 0x00A2:
case 0x00A3:
case 0x00A4:
case 0x00A5:
case 0x00A6:
case 0x00A7:
case 0x00A8:
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 0x00B8:
case 0x00B9:
case 0x00BB:
case 0x00BC:
case 0x00BD:
case 0x00BE:
break;
case 0x00D7: ch = 0xAA; break;
case 0x00F7: ch = 0xBA; break;
case 0x05D0:
case 0x05D1:
case 0x05D2:
case 0x05D3:
case 0x05D4:
case 0x05D5:
case 0x05D6:
case 0x05D7:
case 0x05D8:
case 0x05D9:
case 0x05DA:
case 0x05DB:
case 0x05DC:
case 0x05DD:
case 0x05DE:
case 0x05DF:
case 0x05E0:
case 0x05E1:
case 0x05E2:
case 0x05E3:
case 0x05E4:
case 0x05E5:
case 0x05E6:
case 0x05E7:
case 0x05E8:
case 0x05E9:
case 0x05EA:
ch -= 0x04F0;
break;
case 0x2017: ch = 0xDF; break;
case 0x2022: ch = 0xB7; break;
case 0x203E: ch = 0xAF; break;
default:
{
if(ch >= 0xFF01 && ch <= 0xFF5E)
{
ch -= 0xFEE0;
}
else
{
ch = 0x3F;
}
}
break;
}
bytes[byteIndex++] = (byte)ch;
--charCount;
}
}
*/
}; // class CP38598
[Serializable]

View File

@@ -1 +1,3 @@
../../EncodingTestBase.cs
I18N.MidEast.EncodingTest.cs
I18N.MidEast.Test.cs

View File

@@ -0,0 +1,53 @@
//
// I18N.MidEast.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.MidEast
{
[TestFixture]
public class EncodingTest : EncodingTestBase
{
static CodePageTestInfo[] codepageTestInfos = new CodePageTestInfo[]
{
new CodePageTestInfo { CodePage = 1254, IsBrowserDisplay = true, IsBrowserSave = true, IsMailNewsDisplay = true, IsMailNewsSave = true, SuperscriptFiveReplacementChar = 63, InfinityReplacementChar = 63, FFReplacementChar = 63, A0Char = '\u00a0', A8Char = '\u00a8' },
new CodePageTestInfo { CodePage = 1255, IsBrowserDisplay = true, IsBrowserSave = true, IsMailNewsDisplay = true, IsMailNewsSave = true, SuperscriptFiveReplacementChar = 63, InfinityReplacementChar = 63, FFReplacementChar = 63, A0Char = '\u00a0', A8Char = '\u00a8' },
new CodePageTestInfo { CodePage = 1256, IsBrowserDisplay = true, IsBrowserSave = true, IsMailNewsDisplay = true, IsMailNewsSave = true, SuperscriptFiveReplacementChar = 63, InfinityReplacementChar = 63, FFReplacementChar = 63, A0Char = '\u00a0', A8Char = '\u00a8' },
new CodePageTestInfo { CodePage = 28596, IsBrowserDisplay = true, IsBrowserSave = true, IsMailNewsDisplay = true, IsMailNewsSave = true, SuperscriptFiveReplacementChar = 63, InfinityReplacementChar = 63, FFReplacementChar = 65, A0Char = '\u00a0', A8Char = '\uf7ce' },
new CodePageTestInfo { CodePage = 28598, IsBrowserDisplay = true, IsBrowserSave = true, IsMailNewsDisplay = true, IsMailNewsSave = true, SuperscriptFiveReplacementChar = 63, InfinityReplacementChar = 63, FFReplacementChar = 63, A0Char = '\u00a0', A8Char = '\u00a8' },
new CodePageTestInfo { CodePage = 28599, IsBrowserDisplay = true, IsBrowserSave = true, IsMailNewsDisplay = true, IsMailNewsSave = true, SuperscriptFiveReplacementChar = 63, InfinityReplacementChar = 63, FFReplacementChar = 63, A0Char = '\u00a0', A8Char = '\u00a8' },
new CodePageTestInfo { CodePage = 38598, IsBrowserDisplay = true, IsBrowserSave = true, IsMailNewsDisplay = true, IsMailNewsSave = true, SuperscriptFiveReplacementChar = 63, InfinityReplacementChar = 63, FFReplacementChar = 63, A0Char = '\u00a0', A8Char = '\u00a8' }
};
}
}