General refactor.

This commit is contained in:
2021-11-09 18:51:47 +00:00
parent 889a8a84e5
commit 3fbe10d460
16 changed files with 67 additions and 77 deletions

View File

@@ -24,7 +24,6 @@
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE. // THE SOFTWARE.
namespace Claunia.Encoding.Tests; namespace Claunia.Encoding.Tests;
[TestFixture] [TestFixture]

View File

@@ -14,7 +14,7 @@
</ProjectReference> </ProjectReference>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.9.4" /> <PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.9.4"/>
<PackageReference Include="NUnit" Version="3.13.2" /> <PackageReference Include="NUnit" Version="3.13.2"/>
</ItemGroup> </ItemGroup>
</Project> </Project>

View File

@@ -94,8 +94,7 @@ public class LisaRoman
const string MATHEMATICS = "≠∞±≤≥µ∂∑∏π∫Ω¬√ƒ≈∆÷◊"; const string MATHEMATICS = "≠∞±≤≥µ∂∑∏π∫Ω¬√ƒ≈∆÷◊";
readonly byte[] _mathematicsBytes = readonly byte[] _mathematicsBytes =
{ {
0xAD, 0xB0, 0xB1, 0xB2, 0xB3, 0xB5, 0xB6, 0xB7, 0xB8, 0xB9, 0xBA, 0xBD, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xD6, 0xAD, 0xB0, 0xB1, 0xB2, 0xB3, 0xB5, 0xB6, 0xB7, 0xB8, 0xB9, 0xBA, 0xBD, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xD6, 0xD7
0xD7
}; };
[Test] [Test]

View File

@@ -155,20 +155,20 @@ public sealed class Apple2c : SingleByteEncodingWithRunes
new Rune(0x0036), new Rune(0x0037), new Rune(0x0036), new Rune(0x0037),
// 0xC0 // 0xC0
new Rune(0xF8FF), new Rune(0x0000), new Rune(0x1FBB0), new Rune(0x231B), new Rune(0x2713), new Rune(0xF8FF), new Rune(0x0000), new Rune(0x1FBB0), new Rune(0x231B), new Rune(0x2713), new Rune(0x1FBB1),
new Rune(0x1FBB1), new Rune(0x1FBB2), new Rune(0x1FBB3), new Rune(0x1FBB2), new Rune(0x1FBB3),
// 0xC8 // 0xC8
new Rune(0x2190), new Rune(0x2026), new Rune(0x2193), new Rune(0x2191), new Rune(0x1FB76), new Rune(0x21B5), new Rune(0x2190), new Rune(0x2026), new Rune(0x2193), new Rune(0x2191), new Rune(0x1FB76), new Rune(0x21B5),
new Rune(0x2589), new Rune(0x1FBB5), new Rune(0x2589), new Rune(0x1FBB5),
// 0xD0 // 0xD0
new Rune(0x1FBB6), new Rune(0x1FBB7), new Rune(0x1FBB8), new Rune(0x2500), new Rune(0x1FB7C), new Rune(0x1FBB6), new Rune(0x1FBB7), new Rune(0x1FBB8), new Rune(0x2500), new Rune(0x1FB7C), new Rune(0x2192),
new Rune(0x2192), new Rune(0x2592), new Rune(0x1FB90), new Rune(0x2592), new Rune(0x1FB90),
// 0xD8 // 0xD8
new Rune(0x1FBB9), new Rune(0x1FBBA), new Rune(0x2595), new Rune(0x25c6), new Rune(0x1FB80), new Rune(0x1FBB9), new Rune(0x1FBBA), new Rune(0x2595), new Rune(0x25c6), new Rune(0x1FB80), new Rune(0x1FBBB),
new Rune(0x1FBBB), new Rune(0x1FBBC), new Rune(0x258F), new Rune(0x1FBBC), new Rune(0x258F),
// 0xE0 // 0xE0
new Rune(0x0060), new Rune(0x0061), new Rune(0x0062), new Rune(0x0063), new Rune(0x0064), new Rune(0x0065), new Rune(0x0060), new Rune(0x0061), new Rune(0x0062), new Rune(0x0063), new Rune(0x0064), new Rune(0x0065),

View File

@@ -91,20 +91,20 @@ public class Apple2gs : SingleByteEncodingWithRunes
new Rune(0x003E), new Rune(0x003F), new Rune(0x003E), new Rune(0x003F),
// 0x40 // 0x40
new Rune(0xF8FF), new Rune(0x0000), new Rune(0x1FBB0), new Rune(0x231B), new Rune(0x2713), new Rune(0xF8FF), new Rune(0x0000), new Rune(0x1FBB0), new Rune(0x231B), new Rune(0x2713), new Rune(0x1FBB1),
new Rune(0x1FBB1), new Rune(0x1FBB4), new Rune(0x1FB81), new Rune(0x1FBB4), new Rune(0x1FB81),
// 0x48 // 0x48
new Rune(0x2190), new Rune(0x2026), new Rune(0x2193), new Rune(0x2191), new Rune(0x2594), new Rune(0x21B5), new Rune(0x2190), new Rune(0x2026), new Rune(0x2193), new Rune(0x2191), new Rune(0x2594), new Rune(0x21B5),
new Rune(0x2589), new Rune(0x1FBB5), new Rune(0x2589), new Rune(0x1FBB5),
// 0x50 // 0x50
new Rune(0x1FBB6), new Rune(0x1FBB7), new Rune(0x1FBB8), new Rune(0x2500), new Rune(0x1FB7C), new Rune(0x1FBB6), new Rune(0x1FBB7), new Rune(0x1FBB8), new Rune(0x2500), new Rune(0x1FB7C), new Rune(0x2192),
new Rune(0x2192), new Rune(0x2592), new Rune(0x1FB90), new Rune(0x2592), new Rune(0x1FB90),
// 0x58 // 0x58
new Rune(0x1FBB9), new Rune(0x1FBBA), new Rune(0x2595), new Rune(0x25C6), new Rune(0x1FB80), new Rune(0x1FBB9), new Rune(0x1FBBA), new Rune(0x2595), new Rune(0x25C6), new Rune(0x1FB80), new Rune(0x1FBBB),
new Rune(0x1FBBB), new Rune(0x1FBBC), new Rune(0x258F), new Rune(0x1FBBC), new Rune(0x258F),
// 0x60 // 0x60
new Rune(0x0060), new Rune(0x0061), new Rune(0x0062), new Rune(0x0063), new Rune(0x0064), new Rune(0x0065), new Rune(0x0060), new Rune(0x0061), new Rune(0x0062), new Rune(0x0063), new Rune(0x0064), new Rune(0x0065),

View File

@@ -63,16 +63,16 @@ public class AtariST : SingleByteEncodingWithRunes
new Rune(0x1FBBE), new Rune(0x1FBBF), new Rune(0x1FBBE), new Rune(0x1FBBF),
// 0x08 // 0x08
new Rune(0x2713), new Rune(0x1F552), new Rune(0x1F514), new Rune(0x266A), new Rune(0x000C), new Rune(0x2713), new Rune(0x1F552), new Rune(0x1F514), new Rune(0x266A), new Rune(0x000C), new Rune(0x000D),
new Rune(0x000D), new Rune(0xFFFD), new Rune(0xFFFD), new Rune(0xFFFD), new Rune(0xFFFD),
// 0x10 // 0x10
new Rune(0x1FBF0), new Rune(0x1FBF1), new Rune(0x1FBF2), new Rune(0x1FBF3), new Rune(0x1FBF4), new Rune(0x1FBF0), new Rune(0x1FBF1), new Rune(0x1FBF2), new Rune(0x1FBF3), new Rune(0x1FBF4),
new Rune(0x1FBF5), new Rune(0x1FBF6), new Rune(0x1FBF7), new Rune(0x1FBF5), new Rune(0x1FBF6), new Rune(0x1FBF7),
// 0x18 // 0x18
new Rune(0x1FBF8), new Rune(0x1FBF9), new Rune(0x0259), new Rune(0x001B), new Rune(0xFFFD), new Rune(0x1FBF8), new Rune(0x1FBF9), new Rune(0x0259), new Rune(0x001B), new Rune(0xFFFD), new Rune(0xFFFD),
new Rune(0xFFFD), new Rune(0xFFFD), new Rune(0xFFFD), new Rune(0xFFFD), new Rune(0xFFFD),
// 0x20 // 0x20
new Rune(0x0020), new Rune(0x0021), new Rune(0x0022), new Rune(0x0023), new Rune(0x0024), new Rune(0x0025), new Rune(0x0020), new Rune(0x0021), new Rune(0x0022), new Rune(0x0023), new Rune(0x0024), new Rune(0x0025),

View File

@@ -12,8 +12,7 @@ public sealed class EncodingInfo
readonly Type _thisType; readonly Type _thisType;
bool _isSystem; bool _isSystem;
internal EncodingInfo(int codePage, string name, string displayName, bool system = true, internal EncodingInfo(int codePage, string name, string displayName, bool system = true, Type internalType = null)
Type internalType = null)
{ {
CodePage = codePage; CodePage = codePage;
Name = name; Name = name;

View File

@@ -63,8 +63,8 @@ public class GEM : SingleByteEncodingWithRunes
new Rune(0x1F5D7), new Rune(0x25C6), new Rune(0x1F5D7), new Rune(0x25C6),
// 0x08 // 0x08
new Rune(0x2713), new Rune(0x1F552), new Rune(0x1F514), new Rune(0x266A), new Rune(0x25B4), new Rune(0x2713), new Rune(0x1F552), new Rune(0x1F514), new Rune(0x266A), new Rune(0x25B4), new Rune(0x25BE),
new Rune(0x25BE), new Rune(0x25B8), new Rune(0x25C2), new Rune(0x25B8), new Rune(0x25C2),
// 0x10 // 0x10
new Rune(0x25BA), new Rune(0x25C4), new Rune(0x29D3), new Rune(0x2582), new Rune(0x00B6), new Rune(0x00A7), new Rune(0x25BA), new Rune(0x25C4), new Rune(0x29D3), new Rune(0x2582), new Rune(0x00B6), new Rune(0x00A7),

View File

@@ -111,20 +111,20 @@ public class PETSCII : SingleByteEncodingWithRunes
new Rune(0x2191), new Rune(0x2190), new Rune(0x2191), new Rune(0x2190),
// 0x60 // 0x60
new Rune(0x1FB79), new Rune(0x2660), new Rune(0x1FB72), new Rune(0x1FB78), new Rune(0x1FB77), new Rune(0x1FB79), new Rune(0x2660), new Rune(0x1FB72), new Rune(0x1FB78), new Rune(0x1FB77), new Rune(0x1FB76),
new Rune(0x1FB76), new Rune(0x1FB7A), new Rune(0x1FB71), new Rune(0x1FB7A), new Rune(0x1FB71),
// 0x68 // 0x68
new Rune(0x1FB74), new Rune(0x256E), new Rune(0x2570), new Rune(0x256F), new Rune(0x1FB7C), new Rune(0x1FB74), new Rune(0x256E), new Rune(0x2570), new Rune(0x256F), new Rune(0x1FB7C), new Rune(0x2572),
new Rune(0x2572), new Rune(0x2571), new Rune(0x1FB7D), new Rune(0x2571), new Rune(0x1FB7D),
// 0x70 // 0x70
new Rune(0x1FB7E), new Rune(0x25CF), new Rune(0x1FB7B), new Rune(0x2665), new Rune(0x1FB70), new Rune(0x1FB7E), new Rune(0x25CF), new Rune(0x1FB7B), new Rune(0x2665), new Rune(0x1FB70), new Rune(0x256D),
new Rune(0x256D), new Rune(0x2573), new Rune(0x25CB), new Rune(0x2573), new Rune(0x25CB),
// 0x78 // 0x78
new Rune(0x2663), new Rune(0x1FB75), new Rune(0x2666), new Rune(0x253C), new Rune(0x1FB8C), new Rune(0x2663), new Rune(0x1FB75), new Rune(0x2666), new Rune(0x253C), new Rune(0x1FB8C), new Rune(0x2502),
new Rune(0x2502), new Rune(0x03C0), new Rune(0x25E5), new Rune(0x03C0), new Rune(0x25E5),
// 0x80 // 0x80
new Rune(0x0000), new Rune(0x0000), new Rune(0x0000), new Rune(0x0000), new Rune(0x0000), new Rune(0x0000), new Rune(0x0000), new Rune(0x0000), new Rune(0x0000), new Rune(0x0000), new Rune(0x0000), new Rune(0x0000),
@@ -147,48 +147,48 @@ public class PETSCII : SingleByteEncodingWithRunes
new Rune(0x2592), new Rune(0x2595), new Rune(0x2592), new Rune(0x2595),
// 0xA8 // 0xA8
new Rune(0x1FB8F), new Rune(0x25E4), new Rune(0x1FB87), new Rune(0x251C), new Rune(0x2597), new Rune(0x1FB8F), new Rune(0x25E4), new Rune(0x1FB87), new Rune(0x251C), new Rune(0x2597), new Rune(0x2514),
new Rune(0x2514), new Rune(0x2510), new Rune(0x2582), new Rune(0x2510), new Rune(0x2582),
// 0xB0 // 0xB0
new Rune(0x250C), new Rune(0x2534), new Rune(0x252C), new Rune(0x2524), new Rune(0x258E), new Rune(0x258D), new Rune(0x250C), new Rune(0x2534), new Rune(0x252C), new Rune(0x2524), new Rune(0x258E), new Rune(0x258D),
new Rune(0x1FB88), new Rune(0x1FB82), new Rune(0x1FB88), new Rune(0x1FB82),
// 0xB8 // 0xB8
new Rune(0x1FB83), new Rune(0x2583), new Rune(0x1FB7F), new Rune(0x2596), new Rune(0x259D), new Rune(0x1FB83), new Rune(0x2583), new Rune(0x1FB7F), new Rune(0x2596), new Rune(0x259D), new Rune(0x2518),
new Rune(0x2518), new Rune(0x2598), new Rune(0x259A), new Rune(0x2598), new Rune(0x259A),
// 0xC0 (repeats 0x60 - 0x67) // 0xC0 (repeats 0x60 - 0x67)
new Rune(0x1FB79), new Rune(0x2660), new Rune(0x1FB72), new Rune(0x1FB78), new Rune(0x1FB77), new Rune(0x1FB79), new Rune(0x2660), new Rune(0x1FB72), new Rune(0x1FB78), new Rune(0x1FB77), new Rune(0x1FB76),
new Rune(0x1FB76), new Rune(0x1FB7A), new Rune(0x1FB71), new Rune(0x1FB7A), new Rune(0x1FB71),
// 0xC8 (repeats 0x68 - 0x6F) // 0xC8 (repeats 0x68 - 0x6F)
new Rune(0x1FB74), new Rune(0x256E), new Rune(0x2570), new Rune(0x256F), new Rune(0x1FB7C), new Rune(0x1FB74), new Rune(0x256E), new Rune(0x2570), new Rune(0x256F), new Rune(0x1FB7C), new Rune(0x2572),
new Rune(0x2572), new Rune(0x2571), new Rune(0x1FB7D), new Rune(0x2571), new Rune(0x1FB7D),
// 0xD0 (repeats 0x70 - 0x77) // 0xD0 (repeats 0x70 - 0x77)
new Rune(0x1FB7E), new Rune(0x25CF), new Rune(0x1FB7B), new Rune(0x2665), new Rune(0x1FB70), new Rune(0x1FB7E), new Rune(0x25CF), new Rune(0x1FB7B), new Rune(0x2665), new Rune(0x1FB70), new Rune(0x256D),
new Rune(0x256D), new Rune(0x2573), new Rune(0x25CB), new Rune(0x2573), new Rune(0x25CB),
// 0xD8 (repeats 0x78 - 0x7F) // 0xD8 (repeats 0x78 - 0x7F)
new Rune(0x2663), new Rune(0x1FB75), new Rune(0x2666), new Rune(0x253C), new Rune(0x1FB8C), new Rune(0x2663), new Rune(0x1FB75), new Rune(0x2666), new Rune(0x253C), new Rune(0x1FB8C), new Rune(0x2502),
new Rune(0x2502), new Rune(0x03C0), new Rune(0x25E5), new Rune(0x03C0), new Rune(0x25E5),
// 0xE0 (repeats 0xA0 - 0xA7) // 0xE0 (repeats 0xA0 - 0xA7)
new Rune(0x00A0), new Rune(0x258C), new Rune(0x2584), new Rune(0x2594), new Rune(0x2581), new Rune(0x258E), new Rune(0x00A0), new Rune(0x258C), new Rune(0x2584), new Rune(0x2594), new Rune(0x2581), new Rune(0x258E),
new Rune(0x2592), new Rune(0x2595), new Rune(0x2592), new Rune(0x2595),
// 0xE8 (repeats 0xA8 - 0xAF) // 0xE8 (repeats 0xA8 - 0xAF)
new Rune(0x1FB8F), new Rune(0x25E4), new Rune(0x1FB87), new Rune(0x251C), new Rune(0x2597), new Rune(0x1FB8F), new Rune(0x25E4), new Rune(0x1FB87), new Rune(0x251C), new Rune(0x2597), new Rune(0x2514),
new Rune(0x2514), new Rune(0x2510), new Rune(0x2582), new Rune(0x2510), new Rune(0x2582),
// 0xF0 (repeats 0xB0 - 0xB7) // 0xF0 (repeats 0xB0 - 0xB7)
new Rune(0x250C), new Rune(0x2534), new Rune(0x252C), new Rune(0x2524), new Rune(0x258E), new Rune(0x258D), new Rune(0x250C), new Rune(0x2534), new Rune(0x252C), new Rune(0x2524), new Rune(0x258E), new Rune(0x258D),
new Rune(0x1FB88), new Rune(0x1FB82), new Rune(0x1FB88), new Rune(0x1FB82),
// 0xF8 (repeats 0xB8 - 0xBF) // 0xF8 (repeats 0xB8 - 0xBF)
new Rune(0x1FB83), new Rune(0x2583), new Rune(0x1FB7F), new Rune(0x2596), new Rune(0x259D), new Rune(0x1FB83), new Rune(0x2583), new Rune(0x1FB7F), new Rune(0x2596), new Rune(0x259D), new Rune(0x2518),
new Rune(0x2518), new Rune(0x2598), new Rune(0x259A) new Rune(0x2598), new Rune(0x259A)
}; };
/// <summary>Converts a Unicode character to an PETSCII character</summary> /// <summary>Converts a Unicode character to an PETSCII character</summary>

View File

@@ -30,15 +30,13 @@ namespace Claunia.Encoding;
public static class Pangrams public static class Pangrams
{ {
/// <summary>A pangram that contains all (or most) Arabic characters.</summary> /// <summary>A pangram that contains all (or most) Arabic characters.</summary>
public const string ARABIC = public const string ARABIC = "صِف خَلقَ خَودِ كَمِثلِ الشَمسِ إِذ بَزَغَت — يَحظى الضَجيعُ بِها نَجلاءَ مِعطارِ";
"صِف خَلقَ خَودِ كَمِثلِ الشَمسِ إِذ بَزَغَت — يَحظى الضَجيعُ بِها نَجلاءَ مِعطارِ";
/// <summary>A pangram that contains all (or most) Azeri characters.</summary> /// <summary>A pangram that contains all (or most) Azeri characters.</summary>
public const string AZERI = "Zəfər, jaketini də papağını da götür, bu axşam hava çox soyuq olacaq."; public const string AZERI = "Zəfər, jaketini də papağını da götür, bu axşam hava çox soyuq olacaq.";
/// <summary>A pangram that contains all (or most) Basque characters.</summary> /// <summary>A pangram that contains all (or most) Basque characters.</summary>
public const string BASQUE = "Vaudeville itxurako filmean, yogi ñaño bat jipoitzen dute Quebec-en, whiski truk"; public const string BASQUE = "Vaudeville itxurako filmean, yogi ñaño bat jipoitzen dute Quebec-en, whiski truk";
/// <summary>A pangram that contains all (or most) Breton characters.</summary> /// <summary>A pangram that contains all (or most) Breton characters.</summary>
public const string BRETON = public const string BRETON = "Yeched mat Jakez ! Skarzhit ar gwerennoù-mañ, kavet e vo gwin betek fin ho puhez.";
"Yeched mat Jakez ! Skarzhit ar gwerennoù-mañ, kavet e vo gwin betek fin ho puhez.";
/// <summary>A pangram that contains all (or most) Bulgarian characters.</summary> /// <summary>A pangram that contains all (or most) Bulgarian characters.</summary>
public const string BULGARIAN = "Хълцащ змей плюе шофьор стигнал чуждия бивак."; public const string BULGARIAN = "Хълцащ змей плюе шофьор стигнал чуждия бивак.";
/// <summary>A pangram that contains all (or most) Catalan characters.</summary> /// <summary>A pangram that contains all (or most) Catalan characters.</summary>

View File

@@ -2,14 +2,10 @@ using System;
namespace Claunia.Encoding; namespace Claunia.Encoding;
/// <summary> /// <summary>Implements a class that converts to/from a single byte codepage and UTF-16 representable strings</summary>
/// Implements a class that converts to/from a single byte codepage and UTF-16 representable strings
/// </summary>
public abstract class SingleByteEncoding : Encoding public abstract class SingleByteEncoding : Encoding
{ {
/// <summary> /// <summary>Character conversion table</summary>
/// Character conversion table
/// </summary>
protected abstract char[] CharTable { get; } protected abstract char[] CharTable { get; }
/// <summary>Gets a value indicating whether the current encoding can be used by browser clients for displaying content.</summary> /// <summary>Gets a value indicating whether the current encoding can be used by browser clients for displaying content.</summary>

View File

@@ -10,9 +10,7 @@ namespace Claunia.Encoding;
/// </summary> /// </summary>
public abstract class SingleByteEncodingWithRunes : Encoding public abstract class SingleByteEncodingWithRunes : Encoding
{ {
/// <summary> /// <summary>Rune conversion table</summary>
/// Rune conversion table
/// </summary>
protected abstract Rune[] CharTable { get; } protected abstract Rune[] CharTable { get; }
/// <summary>Gets a value indicating whether the current encoding can be used by browser clients for displaying content.</summary> /// <summary>Gets a value indicating whether the current encoding can be used by browser clients for displaying content.</summary>
@@ -296,8 +294,7 @@ public abstract class SingleByteEncodingWithRunes : Encoding
/// <param name="bytes">The byte array containing the sequence of bytes to decode.</param> /// <param name="bytes">The byte array containing the sequence of bytes to decode.</param>
/// <param name="index">The index of the first byte to decode.</param> /// <param name="index">The index of the first byte to decode.</param>
/// <param name="count">The number of bytes to decode.</param> /// <param name="count">The number of bytes to decode.</param>
public override char[] GetChars(byte[] bytes, int index, int count) => public override char[] GetChars(byte[] bytes, int index, int count) => GetString(bytes, index, count).ToCharArray();
GetString(bytes, index, count).ToCharArray();
/// <summary>Calculates the maximum number of bytes produced by encoding the specified number of characters.</summary> /// <summary>Calculates the maximum number of bytes produced by encoding the specified number of characters.</summary>
/// <returns>The maximum number of bytes produced by encoding the specified number of characters.</returns> /// <returns>The maximum number of bytes produced by encoding the specified number of characters.</returns>
@@ -358,7 +355,7 @@ public abstract class SingleByteEncodingWithRunes : Encoding
int outPos = 0; int outPos = 0;
foreach(var r in runes) foreach(Rune r in runes)
outPos += r.EncodeToUtf16(new Span<char>(chars, outPos, chars.Length - outPos)); outPos += r.EncodeToUtf16(new Span<char>(chars, outPos, chars.Length - outPos));
return new string(chars); return new string(chars);

View File

@@ -63,8 +63,8 @@ public class ZX80 : SingleByteEncodingWithRunes
new Rune(0x2596), new Rune(0x2597), new Rune(0x2596), new Rune(0x2597),
// 0x08 // 0x08
new Rune(0x259E), new Rune(0x2592), new Rune(0x1FB8F), new Rune(0x1FB8E), new Rune(0x00A3), new Rune(0x259E), new Rune(0x2592), new Rune(0x1FB8F), new Rune(0x1FB8E), new Rune(0x00A3), new Rune(0x0024),
new Rune(0x0024), new Rune(0x003A), new Rune(0x003F), new Rune(0x003A), new Rune(0x003F),
// 0x10 // 0x10
new Rune(0x0028), new Rune(0x0029), new Rune(0x002D), new Rune(0x002B), new Rune(0x002A), new Rune(0x002F), new Rune(0x0028), new Rune(0x0029), new Rune(0x002D), new Rune(0x002B), new Rune(0x002A), new Rune(0x002F),
@@ -127,8 +127,8 @@ public class ZX80 : SingleByteEncodingWithRunes
new Rune(0x259B), new Rune(0x259A), new Rune(0x259B), new Rune(0x259A),
// 0x88 // 0x88
new Rune(0x2592), new Rune(0x1FB90), new Rune(0x1FB91), new Rune(0x1FB92), new Rune(0xFFFD), new Rune(0x2592), new Rune(0x1FB90), new Rune(0x1FB91), new Rune(0x1FB92), new Rune(0xFFFD), new Rune(0xFFFD),
new Rune(0xFFFD), new Rune(0xFFFD), new Rune(0xFFFD), new Rune(0xFFFD), new Rune(0xFFFD),
// 0x90 // 0x90
new Rune(0xFFFD), new Rune(0xFFFD), new Rune(0xFFFD), new Rune(0xFFFD), new Rune(0xFFFD), new Rune(0xFFFD), new Rune(0xFFFD), new Rune(0xFFFD), new Rune(0xFFFD), new Rune(0xFFFD), new Rune(0xFFFD), new Rune(0xFFFD),

View File

@@ -63,8 +63,8 @@ public class ZX81 : SingleByteEncodingWithRunes
new Rune(0x259E), new Rune(0x259B), new Rune(0x259E), new Rune(0x259B),
// 0x08 // 0x08
new Rune(0x2592), new Rune(0x1FB8F), new Rune(0x1FB8E), new Rune(0x0022), new Rune(0x00A3), new Rune(0x2592), new Rune(0x1FB8F), new Rune(0x1FB8E), new Rune(0x0022), new Rune(0x00A3), new Rune(0x0024),
new Rune(0x0024), new Rune(0x003A), new Rune(0x003F), new Rune(0x003A), new Rune(0x003F),
// 0x10 // 0x10
new Rune(0x0028), new Rune(0x0029), new Rune(0x003E), new Rune(0x003C), new Rune(0x003D), new Rune(0x002B), new Rune(0x0028), new Rune(0x0029), new Rune(0x003E), new Rune(0x003C), new Rune(0x003D), new Rune(0x002B),
@@ -127,8 +127,8 @@ public class ZX81 : SingleByteEncodingWithRunes
new Rune(0x259A), new Rune(0x2597), new Rune(0x259A), new Rune(0x2597),
// 0x88 // 0x88
new Rune(0x1FB90), new Rune(0x1FB91), new Rune(0x1FB92), new Rune(0xFFFD), new Rune(0xFFFD), new Rune(0x1FB90), new Rune(0x1FB91), new Rune(0x1FB92), new Rune(0xFFFD), new Rune(0xFFFD), new Rune(0xFFFD),
new Rune(0xFFFD), new Rune(0xFFFD), new Rune(0xFFFD), new Rune(0xFFFD), new Rune(0xFFFD),
// 0x90 // 0x90
new Rune(0xFFFD), new Rune(0xFFFD), new Rune(0xFFFD), new Rune(0xFFFD), new Rune(0xFFFD), new Rune(0xFFFD), new Rune(0xFFFD), new Rune(0xFFFD), new Rune(0xFFFD), new Rune(0xFFFD), new Rune(0xFFFD), new Rune(0xFFFD),

View File

@@ -1,4 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<packages> <packages>
<package id="NuGet.Build.Packaging" version="0.2.2" targetFramework="portable40-net40+sl5+win8+wp8" developmentDependency="true" /> <package id="NuGet.Build.Packaging" version="0.2.2" targetFramework="portable40-net40+sl5+win8+wp8"
developmentDependency="true"/>
</packages> </packages>

View File

@@ -7,6 +7,7 @@ Copyright © 2016-2021 Natalia Portillo <claunia@claunia.com>
Supported encodings Supported encodings
============================== ==============================
* Apple II, IIc, IIe and IIgs * Apple II, IIc, IIe and IIgs
* Apple Lisa * Apple Lisa
* Atari Standard Code for Information Interchange (ATASCII) * Atari Standard Code for Information Interchange (ATASCII)