Update Macintosh codepages to include the GUI symbols.

This commit is contained in:
2021-04-30 12:05:28 +01:00
parent 8df142e1b8
commit 0fcde80b5e
11 changed files with 2799 additions and 2824 deletions

View File

@@ -53,7 +53,7 @@ namespace Claunia.Encoding
'\u0008', '\u0009', '\u000A', '\u000B', '\u000C', '\u000D', '\u000E', '\u000F', '\u0008', '\u0009', '\u000A', '\u000B', '\u000C', '\u000D', '\u000E', '\u000F',
// 0x10 // 0x10
'\u0010', '\u0011', '\u0012', '\u0013', '\u0014', '\u0015', '\u0016', '\u0017', '\u0010', '\u2318', '\u2713', '\u25C6', '\uF8FF', '\u0015', '\u0016', '\u0017',
// 0x18 // 0x18
'\u0018', '\u0019', '\u001A', '\u001B', '\u001C', '\u001D', '\u001E', '\u001F', '\u0018', '\u0019', '\u001A', '\u001B', '\u001C', '\u001D', '\u001E', '\u001F',
@@ -146,244 +146,242 @@ namespace Claunia.Encoding
/// <summary>Converts a Unicode character to an Mac Arabic character</summary> /// <summary>Converts a Unicode character to an Mac Arabic character</summary>
/// <returns>Mac Arabic character.</returns> /// <returns>Mac Arabic character.</returns>
/// <param name="character">Unicode character.</param> /// <param name="character">Unicode character.</param>
private protected override byte GetByte(char character) private protected override byte GetByte(char character) => character switch
{ {
switch(character) '\u0000' => 0x00,
{ '\u0001' => 0x01,
case '\u0000': return 0x00; '\u0002' => 0x02,
case '\u0001': return 0x01; '\u0003' => 0x03,
case '\u0002': return 0x02; '\u0004' => 0x04,
case '\u0003': return 0x03; '\u0005' => 0x05,
case '\u0004': return 0x04; '\u0006' => 0x06,
case '\u0005': return 0x05; '\u0007' => 0x07,
case '\u0006': return 0x06; '\u0008' => 0x08,
case '\u0007': return 0x07; '\u0009' => 0x09,
case '\u0008': return 0x08; '\u000A' => 0x0A,
case '\u0009': return 0x09; '\u000B' => 0x0B,
case '\u000A': return 0x0A; '\u000C' => 0x0C,
case '\u000B': return 0x0B; '\u000D' => 0x0D,
case '\u000C': return 0x0C; '\u000E' => 0x0E,
case '\u000D': return 0x0D; '\u000F' => 0x0F,
case '\u000E': return 0x0E; '\u0010' => 0x10,
case '\u000F': return 0x0F; '\u2318' => 0x11,
case '\u0010': return 0x10; '\u0012' => 0x12,
case '\u0011': return 0x11; '\u2713' => 0x12,
case '\u0012': return 0x12; '\u0013' => 0x13,
case '\u0013': return 0x13; '\u25C6' => 0x13,
case '\u0014': return 0x14; '\u0014' => 0x14,
case '\u0015': return 0x15; '\uF8FF' => 0x14,
case '\u0016': return 0x16; '\u0015' => 0x15,
case '\u0017': return 0x17; '\u0016' => 0x16,
case '\u0018': return 0x18; '\u0017' => 0x17,
case '\u0019': return 0x19; '\u0018' => 0x18,
case '\u001A': return 0x1A; '\u0019' => 0x19,
case '\u001B': return 0x1B; '\u001A' => 0x1A,
case '\u001C': return 0x1C; '\u001B' => 0x1B,
case '\u001D': return 0x1D; '\u001C' => 0x1C,
case '\u001E': return 0x1E; '\u001D' => 0x1D,
case '\u001F': return 0x1F; '\u001E' => 0x1E,
case '\u0020': return 0x20; '\u001F' => 0x1F,
case '\u0021': return 0x21; '\u0020' => 0x20,
case '\u0022': return 0x22; '\u0021' => 0x21,
case '\u0023': return 0x23; '\u0022' => 0x22,
case '\u0024': return 0x24; '\u0023' => 0x23,
case '\u0025': return 0x25; '\u0024' => 0x24,
case '\u0026': return 0x26; '\u0025' => 0x25,
case '\u0027': return 0x27; '\u0026' => 0x26,
case '\u0028': return 0x28; '\u0027' => 0x27,
case '\u0029': return 0x29; '\u0028' => 0x28,
case '\u002A': return 0x2A; '\u0029' => 0x29,
case '\u002B': return 0x2B; '\u002A' => 0x2A,
case '\u002C': return 0x2C; '\u002B' => 0x2B,
case '\u002D': return 0x2D; '\u002C' => 0x2C,
case '\u002E': return 0x2E; '\u002D' => 0x2D,
case '\u002F': return 0x2F; '\u002E' => 0x2E,
case '\u0030': return 0x30; '\u002F' => 0x2F,
case '\u0031': return 0x31; '\u0030' => 0x30,
case '\u0032': return 0x32; '\u0031' => 0x31,
case '\u0033': return 0x33; '\u0032' => 0x32,
case '\u0034': return 0x34; '\u0033' => 0x33,
case '\u0035': return 0x35; '\u0034' => 0x34,
case '\u0036': return 0x36; '\u0035' => 0x35,
case '\u0037': return 0x37; '\u0036' => 0x36,
case '\u0038': return 0x38; '\u0037' => 0x37,
case '\u0039': return 0x39; '\u0038' => 0x38,
case '\u003A': return 0x3A; '\u0039' => 0x39,
case '\u003B': return 0x3B; '\u003A' => 0x3A,
case '\u003C': return 0x3C; '\u003B' => 0x3B,
case '\u003D': return 0x3D; '\u003C' => 0x3C,
case '\u003E': return 0x3E; '\u003D' => 0x3D,
case '\u003F': return 0x3F; '\u003E' => 0x3E,
case '\u0040': return 0x40; '\u003F' => 0x3F,
case '\u0041': return 0x41; '\u0040' => 0x40,
case '\u0042': return 0x42; '\u0041' => 0x41,
case '\u0043': return 0x43; '\u0042' => 0x42,
case '\u0044': return 0x44; '\u0043' => 0x43,
case '\u0045': return 0x45; '\u0044' => 0x44,
case '\u0046': return 0x46; '\u0045' => 0x45,
case '\u0047': return 0x47; '\u0046' => 0x46,
case '\u0048': return 0x48; '\u0047' => 0x47,
case '\u0049': return 0x49; '\u0048' => 0x48,
case '\u004A': return 0x4A; '\u0049' => 0x49,
case '\u004B': return 0x4B; '\u004A' => 0x4A,
case '\u004C': return 0x4C; '\u004B' => 0x4B,
case '\u004D': return 0x4D; '\u004C' => 0x4C,
case '\u004E': return 0x4E; '\u004D' => 0x4D,
case '\u004F': return 0x4F; '\u004E' => 0x4E,
case '\u0050': return 0x50; '\u004F' => 0x4F,
case '\u0051': return 0x51; '\u0050' => 0x50,
case '\u0052': return 0x52; '\u0051' => 0x51,
case '\u0053': return 0x53; '\u0052' => 0x52,
case '\u0054': return 0x54; '\u0053' => 0x53,
case '\u0055': return 0x55; '\u0054' => 0x54,
case '\u0056': return 0x56; '\u0055' => 0x55,
case '\u0057': return 0x57; '\u0056' => 0x56,
case '\u0058': return 0x58; '\u0057' => 0x57,
case '\u0059': return 0x59; '\u0058' => 0x58,
case '\u005A': return 0x5A; '\u0059' => 0x59,
case '\u005B': return 0x5B; '\u005A' => 0x5A,
case '\u005C': return 0x5C; '\u005B' => 0x5B,
case '\u005D': return 0x5D; '\u005C' => 0x5C,
case '\u005E': return 0x5E; '\u005D' => 0x5D,
case '\u005F': return 0x5F; '\u005E' => 0x5E,
case '\u0060': return 0x60; '\u005F' => 0x5F,
case '\u0061': return 0x61; '\u0060' => 0x60,
case '\u0062': return 0x62; '\u0061' => 0x61,
case '\u0063': return 0x63; '\u0062' => 0x62,
case '\u0064': return 0x64; '\u0063' => 0x63,
case '\u0065': return 0x65; '\u0064' => 0x64,
case '\u0066': return 0x66; '\u0065' => 0x65,
case '\u0067': return 0x67; '\u0066' => 0x66,
case '\u0068': return 0x68; '\u0067' => 0x67,
case '\u0069': return 0x69; '\u0068' => 0x68,
case '\u006A': return 0x6A; '\u0069' => 0x69,
case '\u006B': return 0x6B; '\u006A' => 0x6A,
case '\u006C': return 0x6C; '\u006B' => 0x6B,
case '\u006D': return 0x6D; '\u006C' => 0x6C,
case '\u006E': return 0x6E; '\u006D' => 0x6D,
case '\u006F': return 0x6F; '\u006E' => 0x6E,
case '\u0070': return 0x70; '\u006F' => 0x6F,
case '\u0071': return 0x71; '\u0070' => 0x70,
case '\u0072': return 0x72; '\u0071' => 0x71,
case '\u0073': return 0x73; '\u0072' => 0x72,
case '\u0074': return 0x74; '\u0073' => 0x73,
case '\u0075': return 0x75; '\u0074' => 0x74,
case '\u0076': return 0x76; '\u0075' => 0x75,
case '\u0077': return 0x77; '\u0076' => 0x76,
case '\u0078': return 0x78; '\u0077' => 0x77,
case '\u0079': return 0x79; '\u0078' => 0x78,
case '\u007A': return 0x7A; '\u0079' => 0x79,
case '\u007B': return 0x7B; '\u007A' => 0x7A,
case '\u007C': return 0x7C; '\u007B' => 0x7B,
case '\u007D': return 0x7D; '\u007C' => 0x7C,
case '\u007E': return 0x7E; '\u007D' => 0x7D,
case '\u007F': return 0x7F; '\u007E' => 0x7E,
case '\u00C4': return 0x80; '\u007F' => 0x7F,
case '\u00A0': return 0x81; '\u00C4' => 0x80,
case '\u00C7': return 0x82; '\u00A0' => 0x81,
case '\u00C9': return 0x83; '\u00C7' => 0x82,
case '\u00D1': return 0x84; '\u00C9' => 0x83,
case '\u00D6': return 0x85; '\u00D1' => 0x84,
case '\u00DC': return 0x86; '\u00D6' => 0x85,
case '\u00E1': return 0x87; '\u00DC' => 0x86,
case '\u00E0': return 0x88; '\u00E1' => 0x87,
case '\u00E2': return 0x89; '\u00E0' => 0x88,
case '\u00E4': return 0x8A; '\u00E2' => 0x89,
case '\u06BA': return 0x8B; '\u00E4' => 0x8A,
case '\u00AB': return 0x8C; '\u06BA' => 0x8B,
case '\u00E7': return 0x8D; '\u00AB' => 0x8C,
case '\u00E9': return 0x8E; '\u00E7' => 0x8D,
case '\u00E8': return 0x8F; '\u00E9' => 0x8E,
case '\u00EA': return 0x90; '\u00E8' => 0x8F,
case '\u00EB': return 0x91; '\u00EA' => 0x90,
case '\u00ED': return 0x92; '\u00EB' => 0x91,
case '\u2026': return 0x93; '\u00ED' => 0x92,
case '\u00EE': return 0x94; '\u2026' => 0x93,
case '\u00EF': return 0x95; '\u00EE' => 0x94,
case '\u00F1': return 0x96; '\u00EF' => 0x95,
case '\u00F3': return 0x97; '\u00F1' => 0x96,
case '\u00BB': return 0x98; '\u00F3' => 0x97,
case '\u00F4': return 0x99; '\u00BB' => 0x98,
case '\u00F6': return 0x9A; '\u00F4' => 0x99,
case '\u00F7': return 0x9B; '\u00F6' => 0x9A,
case '\u00FA': return 0x9C; '\u00F7' => 0x9B,
case '\u00F9': return 0x9D; '\u00FA' => 0x9C,
case '\u00FB': return 0x9E; '\u00F9' => 0x9D,
case '\u00FC': return 0x9F; '\u00FB' => 0x9E,
case '\u066A': return 0xA5; '\u00FC' => 0x9F,
case '\u060C': return 0xAC; '\u066A' => 0xA5,
case '\u0660': return 0xB0; '\u060C' => 0xAC,
case '\u0661': return 0xB1; '\u0660' => 0xB0,
case '\u0662': return 0xB2; '\u0661' => 0xB1,
case '\u0663': return 0xB3; '\u0662' => 0xB2,
case '\u0664': return 0xB4; '\u0663' => 0xB3,
case '\u0665': return 0xB5; '\u0664' => 0xB4,
case '\u0666': return 0xB6; '\u0665' => 0xB5,
case '\u0667': return 0xB7; '\u0666' => 0xB6,
case '\u0668': return 0xB8; '\u0667' => 0xB7,
case '\u0669': return 0xB9; '\u0668' => 0xB8,
case '\u061B': return 0xBB; '\u0669' => 0xB9,
case '\u061F': return 0xBF; '\u061B' => 0xBB,
case '\u274A': return 0xC0; '\u061F' => 0xBF,
case '\u0621': return 0xC1; '\u274A' => 0xC0,
case '\u0622': return 0xC2; '\u0621' => 0xC1,
case '\u0623': return 0xC3; '\u0622' => 0xC2,
case '\u0624': return 0xC4; '\u0623' => 0xC3,
case '\u0625': return 0xC5; '\u0624' => 0xC4,
case '\u0626': return 0xC6; '\u0625' => 0xC5,
case '\u0627': return 0xC7; '\u0626' => 0xC6,
case '\u0628': return 0xC8; '\u0627' => 0xC7,
case '\u0629': return 0xC9; '\u0628' => 0xC8,
case '\u062A': return 0xCA; '\u0629' => 0xC9,
case '\u062B': return 0xCB; '\u062A' => 0xCA,
case '\u062C': return 0xCC; '\u062B' => 0xCB,
case '\u062D': return 0xCD; '\u062C' => 0xCC,
case '\u062E': return 0xCE; '\u062D' => 0xCD,
case '\u062F': return 0xCF; '\u062E' => 0xCE,
case '\u0630': return 0xD0; '\u062F' => 0xCF,
case '\u0631': return 0xD1; '\u0630' => 0xD0,
case '\u0632': return 0xD2; '\u0631' => 0xD1,
case '\u0633': return 0xD3; '\u0632' => 0xD2,
case '\u0634': return 0xD4; '\u0633' => 0xD3,
case '\u0635': return 0xD5; '\u0634' => 0xD4,
case '\u0636': return 0xD6; '\u0635' => 0xD5,
case '\u0637': return 0xD7; '\u0636' => 0xD6,
case '\u0638': return 0xD8; '\u0637' => 0xD7,
case '\u0639': return 0xD9; '\u0638' => 0xD8,
case '\u063A': return 0xDA; '\u0639' => 0xD9,
case '\u0640': return 0xE0; '\u063A' => 0xDA,
case '\u0641': return 0xE1; '\u0640' => 0xE0,
case '\u0642': return 0xE2; '\u0641' => 0xE1,
case '\u0643': return 0xE3; '\u0642' => 0xE2,
case '\u0644': return 0xE4; '\u0643' => 0xE3,
case '\u0645': return 0xE5; '\u0644' => 0xE4,
case '\u0646': return 0xE6; '\u0645' => 0xE5,
case '\u0647': return 0xE7; '\u0646' => 0xE6,
case '\u0648': return 0xE8; '\u0647' => 0xE7,
case '\u0649': return 0xE9; '\u0648' => 0xE8,
case '\u064A': return 0xEA; '\u0649' => 0xE9,
case '\u064B': return 0xEB; '\u064A' => 0xEA,
case '\u064C': return 0xEC; '\u064B' => 0xEB,
case '\u064D': return 0xED; '\u064C' => 0xEC,
case '\u064E': return 0xEE; '\u064D' => 0xED,
case '\u064F': return 0xEF; '\u064E' => 0xEE,
case '\u0650': return 0xF0; '\u064F' => 0xEF,
case '\u0651': return 0xF1; '\u0650' => 0xF0,
case '\u0652': return 0xF2; '\u0651' => 0xF1,
case '\u067E': return 0xF3; '\u0652' => 0xF2,
case '\u0679': return 0xF4; '\u067E' => 0xF3,
case '\u0686': return 0xF5; '\u0679' => 0xF4,
case '\u06D5': return 0xF6; '\u0686' => 0xF5,
case '\u06A4': return 0xF7; '\u06D5' => 0xF6,
case '\u06AF': return 0xF8; '\u06A4' => 0xF7,
case '\u0688': return 0xF9; '\u06AF' => 0xF8,
case '\u0691': return 0xFA; '\u0688' => 0xF9,
case '\u0698': return 0xFE; '\u0691' => 0xFA,
case '\u06D2': return 0xFF; '\u0698' => 0xFE,
default: '\u06D2' => 0xFF,
// Fallback to '?' _ => 0x3F
return 0x3F; };
}
}
} }
} }

View File

@@ -53,7 +53,7 @@ namespace Claunia.Encoding
'\u0008', '\u0009', '\u000A', '\u000B', '\u000C', '\u000D', '\u000E', '\u000F', '\u0008', '\u0009', '\u000A', '\u000B', '\u000C', '\u000D', '\u000E', '\u000F',
// 0x10 // 0x10
'\u0010', '\u0011', '\u0012', '\u0013', '\u0014', '\u0015', '\u0016', '\u0017', '\u0010', '\u2318', '\u2713', '\u25C6', '\uF8FF', '\u0015', '\u0016', '\u0017',
// 0x18 // 0x18
'\u0018', '\u0019', '\u001A', '\u001B', '\u001C', '\u001D', '\u001E', '\u001F', '\u0018', '\u0019', '\u001A', '\u001B', '\u001C', '\u001D', '\u001E', '\u001F',
@@ -146,270 +146,268 @@ namespace Claunia.Encoding
/// <summary>Converts a Unicode character to an Mac CentralEuropean character</summary> /// <summary>Converts a Unicode character to an Mac CentralEuropean character</summary>
/// <returns>Mac CentralEuropean character.</returns> /// <returns>Mac CentralEuropean character.</returns>
/// <param name="character">Unicode character.</param> /// <param name="character">Unicode character.</param>
private protected override byte GetByte(char character) private protected override byte GetByte(char character) => character switch
{ {
switch(character) '\u0000' => 0x00,
{ '\u0001' => 0x01,
case '\u0000': return 0x00; '\u0002' => 0x02,
case '\u0001': return 0x01; '\u0003' => 0x03,
case '\u0002': return 0x02; '\u0004' => 0x04,
case '\u0003': return 0x03; '\u0005' => 0x05,
case '\u0004': return 0x04; '\u0006' => 0x06,
case '\u0005': return 0x05; '\u0007' => 0x07,
case '\u0006': return 0x06; '\u0008' => 0x08,
case '\u0007': return 0x07; '\u0009' => 0x09,
case '\u0008': return 0x08; '\u000A' => 0x0A,
case '\u0009': return 0x09; '\u000B' => 0x0B,
case '\u000A': return 0x0A; '\u000C' => 0x0C,
case '\u000B': return 0x0B; '\u000D' => 0x0D,
case '\u000C': return 0x0C; '\u000E' => 0x0E,
case '\u000D': return 0x0D; '\u000F' => 0x0F,
case '\u000E': return 0x0E; '\u0010' => 0x10,
case '\u000F': return 0x0F; '\u2318' => 0x11,
case '\u0010': return 0x10; '\u0012' => 0x12,
case '\u0011': return 0x11; '\u2713' => 0x12,
case '\u0012': return 0x12; '\u0013' => 0x13,
case '\u0013': return 0x13; '\u25C6' => 0x13,
case '\u0014': return 0x14; '\u0014' => 0x14,
case '\u0015': return 0x15; '\uF8FF' => 0x14,
case '\u0016': return 0x16; '\u0015' => 0x15,
case '\u0017': return 0x17; '\u0016' => 0x16,
case '\u0018': return 0x18; '\u0017' => 0x17,
case '\u0019': return 0x19; '\u0018' => 0x18,
case '\u001A': return 0x1A; '\u0019' => 0x19,
case '\u001B': return 0x1B; '\u001A' => 0x1A,
case '\u001C': return 0x1C; '\u001B' => 0x1B,
case '\u001D': return 0x1D; '\u001C' => 0x1C,
case '\u001E': return 0x1E; '\u001D' => 0x1D,
case '\u001F': return 0x1F; '\u001E' => 0x1E,
case '\u0020': return 0x20; '\u001F' => 0x1F,
case '\u0021': return 0x21; '\u0020' => 0x20,
case '\u0022': return 0x22; '\u0021' => 0x21,
case '\u0023': return 0x23; '\u0022' => 0x22,
case '\u0024': return 0x24; '\u0023' => 0x23,
case '\u0025': return 0x25; '\u0024' => 0x24,
case '\u0026': return 0x26; '\u0025' => 0x25,
case '\u0027': return 0x27; '\u0026' => 0x26,
case '\u0028': return 0x28; '\u0027' => 0x27,
case '\u0029': return 0x29; '\u0028' => 0x28,
case '\u002A': return 0x2A; '\u0029' => 0x29,
case '\u002B': return 0x2B; '\u002A' => 0x2A,
case '\u002C': return 0x2C; '\u002B' => 0x2B,
case '\u002D': return 0x2D; '\u002C' => 0x2C,
case '\u002E': return 0x2E; '\u002D' => 0x2D,
case '\u002F': return 0x2F; '\u002E' => 0x2E,
case '\u0030': return 0x30; '\u002F' => 0x2F,
case '\u0031': return 0x31; '\u0030' => 0x30,
case '\u0032': return 0x32; '\u0031' => 0x31,
case '\u0033': return 0x33; '\u0032' => 0x32,
case '\u0034': return 0x34; '\u0033' => 0x33,
case '\u0035': return 0x35; '\u0034' => 0x34,
case '\u0036': return 0x36; '\u0035' => 0x35,
case '\u0037': return 0x37; '\u0036' => 0x36,
case '\u0038': return 0x38; '\u0037' => 0x37,
case '\u0039': return 0x39; '\u0038' => 0x38,
case '\u003A': return 0x3A; '\u0039' => 0x39,
case '\u003B': return 0x3B; '\u003A' => 0x3A,
case '\u003C': return 0x3C; '\u003B' => 0x3B,
case '\u003D': return 0x3D; '\u003C' => 0x3C,
case '\u003E': return 0x3E; '\u003D' => 0x3D,
case '\u003F': return 0x3F; '\u003E' => 0x3E,
case '\u0040': return 0x40; '\u003F' => 0x3F,
case '\u0041': return 0x41; '\u0040' => 0x40,
case '\u0042': return 0x42; '\u0041' => 0x41,
case '\u0043': return 0x43; '\u0042' => 0x42,
case '\u0044': return 0x44; '\u0043' => 0x43,
case '\u0045': return 0x45; '\u0044' => 0x44,
case '\u0046': return 0x46; '\u0045' => 0x45,
case '\u0047': return 0x47; '\u0046' => 0x46,
case '\u0048': return 0x48; '\u0047' => 0x47,
case '\u0049': return 0x49; '\u0048' => 0x48,
case '\u004A': return 0x4A; '\u0049' => 0x49,
case '\u004B': return 0x4B; '\u004A' => 0x4A,
case '\u004C': return 0x4C; '\u004B' => 0x4B,
case '\u004D': return 0x4D; '\u004C' => 0x4C,
case '\u004E': return 0x4E; '\u004D' => 0x4D,
case '\u004F': return 0x4F; '\u004E' => 0x4E,
case '\u0050': return 0x50; '\u004F' => 0x4F,
case '\u0051': return 0x51; '\u0050' => 0x50,
case '\u0052': return 0x52; '\u0051' => 0x51,
case '\u0053': return 0x53; '\u0052' => 0x52,
case '\u0054': return 0x54; '\u0053' => 0x53,
case '\u0055': return 0x55; '\u0054' => 0x54,
case '\u0056': return 0x56; '\u0055' => 0x55,
case '\u0057': return 0x57; '\u0056' => 0x56,
case '\u0058': return 0x58; '\u0057' => 0x57,
case '\u0059': return 0x59; '\u0058' => 0x58,
case '\u005A': return 0x5A; '\u0059' => 0x59,
case '\u005B': return 0x5B; '\u005A' => 0x5A,
case '\u005C': return 0x5C; '\u005B' => 0x5B,
case '\u005D': return 0x5D; '\u005C' => 0x5C,
case '\u005E': return 0x5E; '\u005D' => 0x5D,
case '\u005F': return 0x5F; '\u005E' => 0x5E,
case '\u0060': return 0x60; '\u005F' => 0x5F,
case '\u0061': return 0x61; '\u0060' => 0x60,
case '\u0062': return 0x62; '\u0061' => 0x61,
case '\u0063': return 0x63; '\u0062' => 0x62,
case '\u0064': return 0x64; '\u0063' => 0x63,
case '\u0065': return 0x65; '\u0064' => 0x64,
case '\u0066': return 0x66; '\u0065' => 0x65,
case '\u0067': return 0x67; '\u0066' => 0x66,
case '\u0068': return 0x68; '\u0067' => 0x67,
case '\u0069': return 0x69; '\u0068' => 0x68,
case '\u006A': return 0x6A; '\u0069' => 0x69,
case '\u006B': return 0x6B; '\u006A' => 0x6A,
case '\u006C': return 0x6C; '\u006B' => 0x6B,
case '\u006D': return 0x6D; '\u006C' => 0x6C,
case '\u006E': return 0x6E; '\u006D' => 0x6D,
case '\u006F': return 0x6F; '\u006E' => 0x6E,
case '\u0070': return 0x70; '\u006F' => 0x6F,
case '\u0071': return 0x71; '\u0070' => 0x70,
case '\u0072': return 0x72; '\u0071' => 0x71,
case '\u0073': return 0x73; '\u0072' => 0x72,
case '\u0074': return 0x74; '\u0073' => 0x73,
case '\u0075': return 0x75; '\u0074' => 0x74,
case '\u0076': return 0x76; '\u0075' => 0x75,
case '\u0077': return 0x77; '\u0076' => 0x76,
case '\u0078': return 0x78; '\u0077' => 0x77,
case '\u0079': return 0x79; '\u0078' => 0x78,
case '\u007A': return 0x7A; '\u0079' => 0x79,
case '\u007B': return 0x7B; '\u007A' => 0x7A,
case '\u007C': return 0x7C; '\u007B' => 0x7B,
case '\u007D': return 0x7D; '\u007C' => 0x7C,
case '\u007E': return 0x7E; '\u007D' => 0x7D,
case '\u007F': return 0x7F; '\u007E' => 0x7E,
case '\u00C4': return 0x80; '\u007F' => 0x7F,
case '\u0100': return 0x81; '\u00C4' => 0x80,
case '\u0101': return 0x82; '\u0100' => 0x81,
case '\u00C9': return 0x83; '\u0101' => 0x82,
case '\u0104': return 0x84; '\u00C9' => 0x83,
case '\u00D6': return 0x85; '\u0104' => 0x84,
case '\u00DC': return 0x86; '\u00D6' => 0x85,
case '\u00E1': return 0x87; '\u00DC' => 0x86,
case '\u0105': return 0x88; '\u00E1' => 0x87,
case '\u010C': return 0x89; '\u0105' => 0x88,
case '\u00E4': return 0x8A; '\u010C' => 0x89,
case '\u010D': return 0x8B; '\u00E4' => 0x8A,
case '\u0106': return 0x8C; '\u010D' => 0x8B,
case '\u0107': return 0x8D; '\u0106' => 0x8C,
case '\u00E9': return 0x8E; '\u0107' => 0x8D,
case '\u0179': return 0x8F; '\u00E9' => 0x8E,
case '\u017A': return 0x90; '\u0179' => 0x8F,
case '\u010E': return 0x91; '\u017A' => 0x90,
case '\u00ED': return 0x92; '\u010E' => 0x91,
case '\u010F': return 0x93; '\u00ED' => 0x92,
case '\u0112': return 0x94; '\u010F' => 0x93,
case '\u0113': return 0x95; '\u0112' => 0x94,
case '\u0116': return 0x96; '\u0113' => 0x95,
case '\u00F3': return 0x97; '\u0116' => 0x96,
case '\u0117': return 0x98; '\u00F3' => 0x97,
case '\u00F4': return 0x99; '\u0117' => 0x98,
case '\u00F6': return 0x9A; '\u00F4' => 0x99,
case '\u00F5': return 0x9B; '\u00F6' => 0x9A,
case '\u00FA': return 0x9C; '\u00F5' => 0x9B,
case '\u011A': return 0x9D; '\u00FA' => 0x9C,
case '\u011B': return 0x9E; '\u011A' => 0x9D,
case '\u00FC': return 0x9F; '\u011B' => 0x9E,
case '\u2020': return 0xA0; '\u00FC' => 0x9F,
case '\u00B0': return 0xA1; '\u2020' => 0xA0,
case '\u0118': return 0xA2; '\u00B0' => 0xA1,
case '\u00A3': return 0xA3; '\u0118' => 0xA2,
case '\u00A7': return 0xA4; '\u00A3' => 0xA3,
case '\u2022': return 0xA5; '\u00A7' => 0xA4,
case '\u00B6': return 0xA6; '\u2022' => 0xA5,
case '\u00DF': return 0xA7; '\u00B6' => 0xA6,
case '\u00AE': return 0xA8; '\u00DF' => 0xA7,
case '\u00A9': return 0xA9; '\u00AE' => 0xA8,
case '\u2122': return 0xAA; '\u00A9' => 0xA9,
case '\u0119': return 0xAB; '\u2122' => 0xAA,
case '\u00A8': return 0xAC; '\u0119' => 0xAB,
case '\u2260': return 0xAD; '\u00A8' => 0xAC,
case '\u0123': return 0xAE; '\u2260' => 0xAD,
case '\u012E': return 0xAF; '\u0123' => 0xAE,
case '\u012F': return 0xB0; '\u012E' => 0xAF,
case '\u012A': return 0xB1; '\u012F' => 0xB0,
case '\u2264': return 0xB2; '\u012A' => 0xB1,
case '\u2265': return 0xB3; '\u2264' => 0xB2,
case '\u012B': return 0xB4; '\u2265' => 0xB3,
case '\u0136': return 0xB5; '\u012B' => 0xB4,
case '\u2202': return 0xB6; '\u0136' => 0xB5,
case '\u2211': return 0xB7; '\u2202' => 0xB6,
case '\u0142': return 0xB8; '\u2211' => 0xB7,
case '\u013B': return 0xB9; '\u0142' => 0xB8,
case '\u013C': return 0xBA; '\u013B' => 0xB9,
case '\u013D': return 0xBB; '\u013C' => 0xBA,
case '\u013E': return 0xBC; '\u013D' => 0xBB,
case '\u0139': return 0xBD; '\u013E' => 0xBC,
case '\u013A': return 0xBE; '\u0139' => 0xBD,
case '\u0145': return 0xBF; '\u013A' => 0xBE,
case '\u0146': return 0xC0; '\u0145' => 0xBF,
case '\u0143': return 0xC1; '\u0146' => 0xC0,
case '\u00AC': return 0xC2; '\u0143' => 0xC1,
case '\u221A': return 0xC3; '\u00AC' => 0xC2,
case '\u0144': return 0xC4; '\u221A' => 0xC3,
case '\u0147': return 0xC5; '\u0144' => 0xC4,
case '\u2206': return 0xC6; '\u0147' => 0xC5,
case '\u00AB': return 0xC7; '\u2206' => 0xC6,
case '\u00BB': return 0xC8; '\u00AB' => 0xC7,
case '\u2026': return 0xC9; '\u00BB' => 0xC8,
case '\u00A0': return 0xCA; '\u2026' => 0xC9,
case '\u0148': return 0xCB; '\u00A0' => 0xCA,
case '\u0150': return 0xCC; '\u0148' => 0xCB,
case '\u00D5': return 0xCD; '\u0150' => 0xCC,
case '\u0151': return 0xCE; '\u00D5' => 0xCD,
case '\u014C': return 0xCF; '\u0151' => 0xCE,
case '\u2013': return 0xD0; '\u014C' => 0xCF,
case '\u2014': return 0xD1; '\u2013' => 0xD0,
case '\u201C': return 0xD2; '\u2014' => 0xD1,
case '\u201D': return 0xD3; '\u201C' => 0xD2,
case '\u2018': return 0xD4; '\u201D' => 0xD3,
case '\u2019': return 0xD5; '\u2018' => 0xD4,
case '\u00F7': return 0xD6; '\u2019' => 0xD5,
case '\u05CA': return 0xD7; '\u00F7' => 0xD6,
case '\u014D': return 0xD8; '\u05CA' => 0xD7,
case '\u0154': return 0xD9; '\u014D' => 0xD8,
case '\u0155': return 0xDA; '\u0154' => 0xD9,
case '\u0158': return 0xDB; '\u0155' => 0xDA,
case '\u2039': return 0xDC; '\u0158' => 0xDB,
case '\u203A': return 0xDD; '\u2039' => 0xDC,
case '\u0159': return 0xDE; '\u203A' => 0xDD,
case '\u0156': return 0xDF; '\u0159' => 0xDE,
case '\u0157': return 0xE0; '\u0156' => 0xDF,
case '\u0160': return 0xE1; '\u0157' => 0xE0,
case '\u201A': return 0xE2; '\u0160' => 0xE1,
case '\u201E': return 0xE3; '\u201A' => 0xE2,
case '\u0161': return 0xE4; '\u201E' => 0xE3,
case '\u015A': return 0xE5; '\u0161' => 0xE4,
case '\u015B': return 0xE6; '\u015A' => 0xE5,
case '\u00C1': return 0xE7; '\u015B' => 0xE6,
case '\u0164': return 0xE8; '\u00C1' => 0xE7,
case '\u0165': return 0xE9; '\u0164' => 0xE8,
case '\u00CD': return 0xEA; '\u0165' => 0xE9,
case '\u017D': return 0xEB; '\u00CD' => 0xEA,
case '\u017E': return 0xEC; '\u017D' => 0xEB,
case '\u016A': return 0xED; '\u017E' => 0xEC,
case '\u00D3': return 0xEE; '\u016A' => 0xED,
case '\u00D4': return 0xEF; '\u00D3' => 0xEE,
case '\u016B': return 0xF0; '\u00D4' => 0xEF,
case '\u016E': return 0xF1; '\u016B' => 0xF0,
case '\u00DA': return 0xF2; '\u016E' => 0xF1,
case '\u016F': return 0xF3; '\u00DA' => 0xF2,
case '\u0170': return 0xF4; '\u016F' => 0xF3,
case '\u0171': return 0xF5; '\u0170' => 0xF4,
case '\u0172': return 0xF6; '\u0171' => 0xF5,
case '\u0173': return 0xF7; '\u0172' => 0xF6,
case '\u00DD': return 0xF8; '\u0173' => 0xF7,
case '\u00FD': return 0xF9; '\u00DD' => 0xF8,
case '\u0137': return 0xFA; '\u00FD' => 0xF9,
case '\u017B': return 0xFB; '\u0137' => 0xFA,
case '\u0141': return 0xFC; '\u017B' => 0xFB,
case '\u017C': return 0xFD; '\u0141' => 0xFC,
case '\u0122': return 0xFE; '\u017C' => 0xFD,
case '\u02C7': return 0xFF; '\u0122' => 0xFE,
default: '\u02C7' => 0xFF,
// Fallback to '?' _ => 0x3F
return 0x3F; };
}
}
} }
} }

View File

@@ -53,7 +53,7 @@ namespace Claunia.Encoding
'\u0008', '\u0009', '\u000A', '\u000B', '\u000C', '\u000D', '\u000E', '\u000F', '\u0008', '\u0009', '\u000A', '\u000B', '\u000C', '\u000D', '\u000E', '\u000F',
// 0x10 // 0x10
'\u0010', '\u0011', '\u0012', '\u0013', '\u0014', '\u0015', '\u0016', '\u0017', '\u0010', '\u2318', '\u2713', '\u25C6', '\uF8FF', '\u0015', '\u0016', '\u0017',
// 0x18 // 0x18
'\u0018', '\u0019', '\u001A', '\u001B', '\u001C', '\u001D', '\u001E', '\u001F', '\u0018', '\u0019', '\u001A', '\u001B', '\u001C', '\u001D', '\u001E', '\u001F',
@@ -146,270 +146,267 @@ namespace Claunia.Encoding
/// <summary>Converts a Unicode character to an Mac Croatian character</summary> /// <summary>Converts a Unicode character to an Mac Croatian character</summary>
/// <returns>Mac Croatian character.</returns> /// <returns>Mac Croatian character.</returns>
/// <param name="character">Unicode character.</param> /// <param name="character">Unicode character.</param>
private protected override byte GetByte(char character) private protected override byte GetByte(char character) => character switch
{ {
switch(character) '\u0000' => 0x00,
{ '\u0001' => 0x01,
case '\u0000': return 0x00; '\u0002' => 0x02,
case '\u0001': return 0x01; '\u0003' => 0x03,
case '\u0002': return 0x02; '\u0004' => 0x04,
case '\u0003': return 0x03; '\u0005' => 0x05,
case '\u0004': return 0x04; '\u0006' => 0x06,
case '\u0005': return 0x05; '\u0007' => 0x07,
case '\u0006': return 0x06; '\u0008' => 0x08,
case '\u0007': return 0x07; '\u0009' => 0x09,
case '\u0008': return 0x08; '\u000A' => 0x0A,
case '\u0009': return 0x09; '\u000B' => 0x0B,
case '\u000A': return 0x0A; '\u000C' => 0x0C,
case '\u000B': return 0x0B; '\u000D' => 0x0D,
case '\u000C': return 0x0C; '\u000E' => 0x0E,
case '\u000D': return 0x0D; '\u000F' => 0x0F,
case '\u000E': return 0x0E; '\u0010' => 0x10,
case '\u000F': return 0x0F; '\u2318' => 0x11,
case '\u0010': return 0x10; '\u0012' => 0x12,
case '\u0011': return 0x11; '\u2713' => 0x12,
case '\u0012': return 0x12; '\u0013' => 0x13,
case '\u0013': return 0x13; '\u25C6' => 0x13,
case '\u0014': return 0x14; '\u0014' => 0x14,
case '\u0015': return 0x15; '\u0015' => 0x15,
case '\u0016': return 0x16; '\u0016' => 0x16,
case '\u0017': return 0x17; '\u0017' => 0x17,
case '\u0018': return 0x18; '\u0018' => 0x18,
case '\u0019': return 0x19; '\u0019' => 0x19,
case '\u001A': return 0x1A; '\u001A' => 0x1A,
case '\u001B': return 0x1B; '\u001B' => 0x1B,
case '\u001C': return 0x1C; '\u001C' => 0x1C,
case '\u001D': return 0x1D; '\u001D' => 0x1D,
case '\u001E': return 0x1E; '\u001E' => 0x1E,
case '\u001F': return 0x1F; '\u001F' => 0x1F,
case '\u0020': return 0x20; '\u0020' => 0x20,
case '\u0021': return 0x21; '\u0021' => 0x21,
case '\u0022': return 0x22; '\u0022' => 0x22,
case '\u0023': return 0x23; '\u0023' => 0x23,
case '\u0024': return 0x24; '\u0024' => 0x24,
case '\u0025': return 0x25; '\u0025' => 0x25,
case '\u0026': return 0x26; '\u0026' => 0x26,
case '\u0027': return 0x27; '\u0027' => 0x27,
case '\u0028': return 0x28; '\u0028' => 0x28,
case '\u0029': return 0x29; '\u0029' => 0x29,
case '\u002A': return 0x2A; '\u002A' => 0x2A,
case '\u002B': return 0x2B; '\u002B' => 0x2B,
case '\u002C': return 0x2C; '\u002C' => 0x2C,
case '\u002D': return 0x2D; '\u002D' => 0x2D,
case '\u002E': return 0x2E; '\u002E' => 0x2E,
case '\u002F': return 0x2F; '\u002F' => 0x2F,
case '\u0030': return 0x30; '\u0030' => 0x30,
case '\u0031': return 0x31; '\u0031' => 0x31,
case '\u0032': return 0x32; '\u0032' => 0x32,
case '\u0033': return 0x33; '\u0033' => 0x33,
case '\u0034': return 0x34; '\u0034' => 0x34,
case '\u0035': return 0x35; '\u0035' => 0x35,
case '\u0036': return 0x36; '\u0036' => 0x36,
case '\u0037': return 0x37; '\u0037' => 0x37,
case '\u0038': return 0x38; '\u0038' => 0x38,
case '\u0039': return 0x39; '\u0039' => 0x39,
case '\u003A': return 0x3A; '\u003A' => 0x3A,
case '\u003B': return 0x3B; '\u003B' => 0x3B,
case '\u003C': return 0x3C; '\u003C' => 0x3C,
case '\u003D': return 0x3D; '\u003D' => 0x3D,
case '\u003E': return 0x3E; '\u003E' => 0x3E,
case '\u003F': return 0x3F; '\u003F' => 0x3F,
case '\u0040': return 0x40; '\u0040' => 0x40,
case '\u0041': return 0x41; '\u0041' => 0x41,
case '\u0042': return 0x42; '\u0042' => 0x42,
case '\u0043': return 0x43; '\u0043' => 0x43,
case '\u0044': return 0x44; '\u0044' => 0x44,
case '\u0045': return 0x45; '\u0045' => 0x45,
case '\u0046': return 0x46; '\u0046' => 0x46,
case '\u0047': return 0x47; '\u0047' => 0x47,
case '\u0048': return 0x48; '\u0048' => 0x48,
case '\u0049': return 0x49; '\u0049' => 0x49,
case '\u004A': return 0x4A; '\u004A' => 0x4A,
case '\u004B': return 0x4B; '\u004B' => 0x4B,
case '\u004C': return 0x4C; '\u004C' => 0x4C,
case '\u004D': return 0x4D; '\u004D' => 0x4D,
case '\u004E': return 0x4E; '\u004E' => 0x4E,
case '\u004F': return 0x4F; '\u004F' => 0x4F,
case '\u0050': return 0x50; '\u0050' => 0x50,
case '\u0051': return 0x51; '\u0051' => 0x51,
case '\u0052': return 0x52; '\u0052' => 0x52,
case '\u0053': return 0x53; '\u0053' => 0x53,
case '\u0054': return 0x54; '\u0054' => 0x54,
case '\u0055': return 0x55; '\u0055' => 0x55,
case '\u0056': return 0x56; '\u0056' => 0x56,
case '\u0057': return 0x57; '\u0057' => 0x57,
case '\u0058': return 0x58; '\u0058' => 0x58,
case '\u0059': return 0x59; '\u0059' => 0x59,
case '\u005A': return 0x5A; '\u005A' => 0x5A,
case '\u005B': return 0x5B; '\u005B' => 0x5B,
case '\u005C': return 0x5C; '\u005C' => 0x5C,
case '\u005D': return 0x5D; '\u005D' => 0x5D,
case '\u005E': return 0x5E; '\u005E' => 0x5E,
case '\u005F': return 0x5F; '\u005F' => 0x5F,
case '\u0060': return 0x60; '\u0060' => 0x60,
case '\u0061': return 0x61; '\u0061' => 0x61,
case '\u0062': return 0x62; '\u0062' => 0x62,
case '\u0063': return 0x63; '\u0063' => 0x63,
case '\u0064': return 0x64; '\u0064' => 0x64,
case '\u0065': return 0x65; '\u0065' => 0x65,
case '\u0066': return 0x66; '\u0066' => 0x66,
case '\u0067': return 0x67; '\u0067' => 0x67,
case '\u0068': return 0x68; '\u0068' => 0x68,
case '\u0069': return 0x69; '\u0069' => 0x69,
case '\u006A': return 0x6A; '\u006A' => 0x6A,
case '\u006B': return 0x6B; '\u006B' => 0x6B,
case '\u006C': return 0x6C; '\u006C' => 0x6C,
case '\u006D': return 0x6D; '\u006D' => 0x6D,
case '\u006E': return 0x6E; '\u006E' => 0x6E,
case '\u006F': return 0x6F; '\u006F' => 0x6F,
case '\u0070': return 0x70; '\u0070' => 0x70,
case '\u0071': return 0x71; '\u0071' => 0x71,
case '\u0072': return 0x72; '\u0072' => 0x72,
case '\u0073': return 0x73; '\u0073' => 0x73,
case '\u0074': return 0x74; '\u0074' => 0x74,
case '\u0075': return 0x75; '\u0075' => 0x75,
case '\u0076': return 0x76; '\u0076' => 0x76,
case '\u0077': return 0x77; '\u0077' => 0x77,
case '\u0078': return 0x78; '\u0078' => 0x78,
case '\u0079': return 0x79; '\u0079' => 0x79,
case '\u007A': return 0x7A; '\u007A' => 0x7A,
case '\u007B': return 0x7B; '\u007B' => 0x7B,
case '\u007C': return 0x7C; '\u007C' => 0x7C,
case '\u007D': return 0x7D; '\u007D' => 0x7D,
case '\u007E': return 0x7E; '\u007E' => 0x7E,
case '\u007F': return 0x7F; '\u007F' => 0x7F,
case '\u00C4': return 0x80; '\u00C4' => 0x80,
case '\u00C5': return 0x81; '\u00C5' => 0x81,
case '\u00C7': return 0x82; '\u00C7' => 0x82,
case '\u00C9': return 0x83; '\u00C9' => 0x83,
case '\u00D1': return 0x84; '\u00D1' => 0x84,
case '\u00D6': return 0x85; '\u00D6' => 0x85,
case '\u00DC': return 0x86; '\u00DC' => 0x86,
case '\u00E1': return 0x87; '\u00E1' => 0x87,
case '\u00E0': return 0x88; '\u00E0' => 0x88,
case '\u00E2': return 0x89; '\u00E2' => 0x89,
case '\u00E4': return 0x8A; '\u00E4' => 0x8A,
case '\u00E3': return 0x8B; '\u00E3' => 0x8B,
case '\u00E5': return 0x8C; '\u00E5' => 0x8C,
case '\u00E7': return 0x8D; '\u00E7' => 0x8D,
case '\u00E9': return 0x8E; '\u00E9' => 0x8E,
case '\u00E8': return 0x8F; '\u00E8' => 0x8F,
case '\u00EA': return 0x90; '\u00EA' => 0x90,
case '\u00EB': return 0x91; '\u00EB' => 0x91,
case '\u00ED': return 0x92; '\u00ED' => 0x92,
case '\u00EC': return 0x93; '\u00EC' => 0x93,
case '\u00EE': return 0x94; '\u00EE' => 0x94,
case '\u00EF': return 0x95; '\u00EF' => 0x95,
case '\u00F1': return 0x96; '\u00F1' => 0x96,
case '\u00F3': return 0x97; '\u00F3' => 0x97,
case '\u00F2': return 0x98; '\u00F2' => 0x98,
case '\u00F4': return 0x99; '\u00F4' => 0x99,
case '\u00F6': return 0x9A; '\u00F6' => 0x9A,
case '\u00F5': return 0x9B; '\u00F5' => 0x9B,
case '\u00FA': return 0x9C; '\u00FA' => 0x9C,
case '\u00F9': return 0x9D; '\u00F9' => 0x9D,
case '\u00FB': return 0x9E; '\u00FB' => 0x9E,
case '\u00FC': return 0x9F; '\u00FC' => 0x9F,
case '\u2020': return 0xA0; '\u2020' => 0xA0,
case '\u00B0': return 0xA1; '\u00B0' => 0xA1,
case '\u00A2': return 0xA2; '\u00A2' => 0xA2,
case '\u00A3': return 0xA3; '\u00A3' => 0xA3,
case '\u00A7': return 0xA4; '\u00A7' => 0xA4,
case '\u2022': return 0xA5; '\u2022' => 0xA5,
case '\u00B6': return 0xA6; '\u00B6' => 0xA6,
case '\u00DF': return 0xA7; '\u00DF' => 0xA7,
case '\u00AE': return 0xA8; '\u00AE' => 0xA8,
case '\u0160': return 0xA9; '\u0160' => 0xA9,
case '\u2122': return 0xAA; '\u2122' => 0xAA,
case '\u00B4': return 0xAB; '\u00B4' => 0xAB,
case '\u00A8': return 0xAC; '\u00A8' => 0xAC,
case '\u2260': return 0xAD; '\u2260' => 0xAD,
case '\u017D': return 0xAE; '\u017D' => 0xAE,
case '\u00D8': return 0xAF; '\u00D8' => 0xAF,
case '\u221E': return 0xB0; '\u221E' => 0xB0,
case '\u00B1': return 0xB1; '\u00B1' => 0xB1,
case '\u2264': return 0xB2; '\u2264' => 0xB2,
case '\u2265': return 0xB3; '\u2265' => 0xB3,
case '\u2206': return 0xB4; '\u2206' => 0xB4,
case '\u00B5': return 0xB5; '\u00B5' => 0xB5,
case '\u2202': return 0xB6; '\u2202' => 0xB6,
case '\u2211': return 0xB7; '\u2211' => 0xB7,
case '\u220F': return 0xB8; '\u220F' => 0xB8,
case '\u0161': return 0xB9; '\u0161' => 0xB9,
case '\u222B': return 0xBA; '\u222B' => 0xBA,
case '\u00AA': return 0xBB; '\u00AA' => 0xBB,
case '\u00BA': return 0xBC; '\u00BA' => 0xBC,
case '\u03A9': return 0xBD; '\u03A9' => 0xBD,
case '\u017E': return 0xBE; '\u017E' => 0xBE,
case '\u00F8': return 0xBF; '\u00F8' => 0xBF,
case '\u00BF': return 0xC0; '\u00BF' => 0xC0,
case '\u00A1': return 0xC1; '\u00A1' => 0xC1,
case '\u00AC': return 0xC2; '\u00AC' => 0xC2,
case '\u221A': return 0xC3; '\u221A' => 0xC3,
case '\u0192': return 0xC4; '\u0192' => 0xC4,
case '\u2248': return 0xC5; '\u2248' => 0xC5,
case '\u0106': return 0xC6; '\u0106' => 0xC6,
case '\u00AB': return 0xC7; '\u00AB' => 0xC7,
case '\u010C': return 0xC8; '\u010C' => 0xC8,
case '\u2026': return 0xC9; '\u2026' => 0xC9,
case '\u00A0': return 0xCA; '\u00A0' => 0xCA,
case '\u00C0': return 0xCB; '\u00C0' => 0xCB,
case '\u00C3': return 0xCC; '\u00C3' => 0xCC,
case '\u00D5': return 0xCD; '\u00D5' => 0xCD,
case '\u0152': return 0xCE; '\u0152' => 0xCE,
case '\u0153': return 0xCF; '\u0153' => 0xCF,
case '\u0110': return 0xD0; '\u0110' => 0xD0,
case '\u2014': return 0xD1; '\u2014' => 0xD1,
case '\u201C': return 0xD2; '\u201C' => 0xD2,
case '\u201D': return 0xD3; '\u201D' => 0xD3,
case '\u2018': return 0xD4; '\u2018' => 0xD4,
case '\u2019': return 0xD5; '\u2019' => 0xD5,
case '\u00F7': return 0xD6; '\u00F7' => 0xD6,
case '\u25CA': return 0xD7; '\u25CA' => 0xD7,
case '\uF8FF': return 0xD8; '\uF8FF' => 0xD8,
case '\u00A9': return 0xD9; '\u00A9' => 0xD9,
case '\u2044': return 0xDA; '\u2044' => 0xDA,
case '\u20AC': return 0xDB; '\u20AC' => 0xDB,
case '\u2039': return 0xDC; '\u2039' => 0xDC,
case '\u203A': return 0xDD; '\u203A' => 0xDD,
case '\u00C6': return 0xDE; '\u00C6' => 0xDE,
case '\u00BB': return 0xDF; '\u00BB' => 0xDF,
case '\u2013': return 0xE0; '\u2013' => 0xE0,
case '\u00B7': return 0xE1; '\u00B7' => 0xE1,
case '\u201A': return 0xE2; '\u201A' => 0xE2,
case '\u201E': return 0xE3; '\u201E' => 0xE3,
case '\u2030': return 0xE4; '\u2030' => 0xE4,
case '\u00C2': return 0xE5; '\u00C2' => 0xE5,
case '\u0107': return 0xE6; '\u0107' => 0xE6,
case '\u00C1': return 0xE7; '\u00C1' => 0xE7,
case '\u010D': return 0xE8; '\u010D' => 0xE8,
case '\u00C8': return 0xE9; '\u00C8' => 0xE9,
case '\u00CD': return 0xEA; '\u00CD' => 0xEA,
case '\u00CE': return 0xEB; '\u00CE' => 0xEB,
case '\u00CF': return 0xEC; '\u00CF' => 0xEC,
case '\u00CC': return 0xED; '\u00CC' => 0xED,
case '\u00D3': return 0xEE; '\u00D3' => 0xEE,
case '\u00D4': return 0xEF; '\u00D4' => 0xEF,
case '\u0111': return 0xF0; '\u0111' => 0xF0,
case '\u00D2': return 0xF1; '\u00D2' => 0xF1,
case '\u00DA': return 0xF2; '\u00DA' => 0xF2,
case '\u00DB': return 0xF3; '\u00DB' => 0xF3,
case '\u00D9': return 0xF4; '\u00D9' => 0xF4,
case '\u0131': return 0xF5; '\u0131' => 0xF5,
case '\u02C6': return 0xF6; '\u02C6' => 0xF6,
case '\u02DC': return 0xF7; '\u02DC' => 0xF7,
case '\u00AF': return 0xF8; '\u00AF' => 0xF8,
case '\u03C0': return 0xF9; '\u03C0' => 0xF9,
case '\u00CB': return 0xFA; '\u00CB' => 0xFA,
case '\u02DA': return 0xFB; '\u02DA' => 0xFB,
case '\u00B8': return 0xFC; '\u00B8' => 0xFC,
case '\u00CA': return 0xFD; '\u00CA' => 0xFD,
case '\u00E6': return 0xFE; '\u00E6' => 0xFE,
case '\u02C7': return 0xFF; '\u02C7' => 0xFF,
default: _ => 0x3F
// Fallback to '?' };
return 0x3F;
}
}
} }
} }

View File

@@ -53,7 +53,7 @@ namespace Claunia.Encoding
'\u0008', '\u0009', '\u000A', '\u000B', '\u000C', '\u000D', '\u000E', '\u000F', '\u0008', '\u0009', '\u000A', '\u000B', '\u000C', '\u000D', '\u000E', '\u000F',
// 0x10 // 0x10
'\u0010', '\u0011', '\u0012', '\u0013', '\u0014', '\u0015', '\u0016', '\u0017', '\u0010', '\u2318', '\u2713', '\u25C6', '\uF8FF', '\u0015', '\u0016', '\u0017',
// 0x18 // 0x18
'\u0018', '\u0019', '\u001A', '\u001B', '\u001C', '\u001D', '\u001E', '\u001F', '\u0018', '\u0019', '\u001A', '\u001B', '\u001C', '\u001D', '\u001E', '\u001F',
@@ -146,270 +146,268 @@ namespace Claunia.Encoding
/// <summary>Converts a Unicode character to an Mac Cyrillic character</summary> /// <summary>Converts a Unicode character to an Mac Cyrillic character</summary>
/// <returns>Mac Cyrillic character.</returns> /// <returns>Mac Cyrillic character.</returns>
/// <param name="character">Unicode character.</param> /// <param name="character">Unicode character.</param>
private protected override byte GetByte(char character) private protected override byte GetByte(char character) => character switch
{ {
switch(character) '\u0000' => 0x00,
{ '\u0001' => 0x01,
case '\u0000': return 0x00; '\u0002' => 0x02,
case '\u0001': return 0x01; '\u0003' => 0x03,
case '\u0002': return 0x02; '\u0004' => 0x04,
case '\u0003': return 0x03; '\u0005' => 0x05,
case '\u0004': return 0x04; '\u0006' => 0x06,
case '\u0005': return 0x05; '\u0007' => 0x07,
case '\u0006': return 0x06; '\u0008' => 0x08,
case '\u0007': return 0x07; '\u0009' => 0x09,
case '\u0008': return 0x08; '\u000A' => 0x0A,
case '\u0009': return 0x09; '\u000B' => 0x0B,
case '\u000A': return 0x0A; '\u000C' => 0x0C,
case '\u000B': return 0x0B; '\u000D' => 0x0D,
case '\u000C': return 0x0C; '\u000E' => 0x0E,
case '\u000D': return 0x0D; '\u000F' => 0x0F,
case '\u000E': return 0x0E; '\u0010' => 0x10,
case '\u000F': return 0x0F; '\u2318' => 0x11,
case '\u0010': return 0x10; '\u0012' => 0x12,
case '\u0011': return 0x11; '\u2713' => 0x12,
case '\u0012': return 0x12; '\u0013' => 0x13,
case '\u0013': return 0x13; '\u25C6' => 0x13,
case '\u0014': return 0x14; '\u0014' => 0x14,
case '\u0015': return 0x15; '\uF8FF' => 0x14,
case '\u0016': return 0x16; '\u0015' => 0x15,
case '\u0017': return 0x17; '\u0016' => 0x16,
case '\u0018': return 0x18; '\u0017' => 0x17,
case '\u0019': return 0x19; '\u0018' => 0x18,
case '\u001A': return 0x1A; '\u0019' => 0x19,
case '\u001B': return 0x1B; '\u001A' => 0x1A,
case '\u001C': return 0x1C; '\u001B' => 0x1B,
case '\u001D': return 0x1D; '\u001C' => 0x1C,
case '\u001E': return 0x1E; '\u001D' => 0x1D,
case '\u001F': return 0x1F; '\u001E' => 0x1E,
case '\u0020': return 0x20; '\u001F' => 0x1F,
case '\u0021': return 0x21; '\u0020' => 0x20,
case '\u0022': return 0x22; '\u0021' => 0x21,
case '\u0023': return 0x23; '\u0022' => 0x22,
case '\u0024': return 0x24; '\u0023' => 0x23,
case '\u0025': return 0x25; '\u0024' => 0x24,
case '\u0026': return 0x26; '\u0025' => 0x25,
case '\u0027': return 0x27; '\u0026' => 0x26,
case '\u0028': return 0x28; '\u0027' => 0x27,
case '\u0029': return 0x29; '\u0028' => 0x28,
case '\u002A': return 0x2A; '\u0029' => 0x29,
case '\u002B': return 0x2B; '\u002A' => 0x2A,
case '\u002C': return 0x2C; '\u002B' => 0x2B,
case '\u002D': return 0x2D; '\u002C' => 0x2C,
case '\u002E': return 0x2E; '\u002D' => 0x2D,
case '\u002F': return 0x2F; '\u002E' => 0x2E,
case '\u0030': return 0x30; '\u002F' => 0x2F,
case '\u0031': return 0x31; '\u0030' => 0x30,
case '\u0032': return 0x32; '\u0031' => 0x31,
case '\u0033': return 0x33; '\u0032' => 0x32,
case '\u0034': return 0x34; '\u0033' => 0x33,
case '\u0035': return 0x35; '\u0034' => 0x34,
case '\u0036': return 0x36; '\u0035' => 0x35,
case '\u0037': return 0x37; '\u0036' => 0x36,
case '\u0038': return 0x38; '\u0037' => 0x37,
case '\u0039': return 0x39; '\u0038' => 0x38,
case '\u003A': return 0x3A; '\u0039' => 0x39,
case '\u003B': return 0x3B; '\u003A' => 0x3A,
case '\u003C': return 0x3C; '\u003B' => 0x3B,
case '\u003D': return 0x3D; '\u003C' => 0x3C,
case '\u003E': return 0x3E; '\u003D' => 0x3D,
case '\u003F': return 0x3F; '\u003E' => 0x3E,
case '\u0040': return 0x40; '\u003F' => 0x3F,
case '\u0041': return 0x41; '\u0040' => 0x40,
case '\u0042': return 0x42; '\u0041' => 0x41,
case '\u0043': return 0x43; '\u0042' => 0x42,
case '\u0044': return 0x44; '\u0043' => 0x43,
case '\u0045': return 0x45; '\u0044' => 0x44,
case '\u0046': return 0x46; '\u0045' => 0x45,
case '\u0047': return 0x47; '\u0046' => 0x46,
case '\u0048': return 0x48; '\u0047' => 0x47,
case '\u0049': return 0x49; '\u0048' => 0x48,
case '\u004A': return 0x4A; '\u0049' => 0x49,
case '\u004B': return 0x4B; '\u004A' => 0x4A,
case '\u004C': return 0x4C; '\u004B' => 0x4B,
case '\u004D': return 0x4D; '\u004C' => 0x4C,
case '\u004E': return 0x4E; '\u004D' => 0x4D,
case '\u004F': return 0x4F; '\u004E' => 0x4E,
case '\u0050': return 0x50; '\u004F' => 0x4F,
case '\u0051': return 0x51; '\u0050' => 0x50,
case '\u0052': return 0x52; '\u0051' => 0x51,
case '\u0053': return 0x53; '\u0052' => 0x52,
case '\u0054': return 0x54; '\u0053' => 0x53,
case '\u0055': return 0x55; '\u0054' => 0x54,
case '\u0056': return 0x56; '\u0055' => 0x55,
case '\u0057': return 0x57; '\u0056' => 0x56,
case '\u0058': return 0x58; '\u0057' => 0x57,
case '\u0059': return 0x59; '\u0058' => 0x58,
case '\u005A': return 0x5A; '\u0059' => 0x59,
case '\u005B': return 0x5B; '\u005A' => 0x5A,
case '\u005C': return 0x5C; '\u005B' => 0x5B,
case '\u005D': return 0x5D; '\u005C' => 0x5C,
case '\u005E': return 0x5E; '\u005D' => 0x5D,
case '\u005F': return 0x5F; '\u005E' => 0x5E,
case '\u0060': return 0x60; '\u005F' => 0x5F,
case '\u0061': return 0x61; '\u0060' => 0x60,
case '\u0062': return 0x62; '\u0061' => 0x61,
case '\u0063': return 0x63; '\u0062' => 0x62,
case '\u0064': return 0x64; '\u0063' => 0x63,
case '\u0065': return 0x65; '\u0064' => 0x64,
case '\u0066': return 0x66; '\u0065' => 0x65,
case '\u0067': return 0x67; '\u0066' => 0x66,
case '\u0068': return 0x68; '\u0067' => 0x67,
case '\u0069': return 0x69; '\u0068' => 0x68,
case '\u006A': return 0x6A; '\u0069' => 0x69,
case '\u006B': return 0x6B; '\u006A' => 0x6A,
case '\u006C': return 0x6C; '\u006B' => 0x6B,
case '\u006D': return 0x6D; '\u006C' => 0x6C,
case '\u006E': return 0x6E; '\u006D' => 0x6D,
case '\u006F': return 0x6F; '\u006E' => 0x6E,
case '\u0070': return 0x70; '\u006F' => 0x6F,
case '\u0071': return 0x71; '\u0070' => 0x70,
case '\u0072': return 0x72; '\u0071' => 0x71,
case '\u0073': return 0x73; '\u0072' => 0x72,
case '\u0074': return 0x74; '\u0073' => 0x73,
case '\u0075': return 0x75; '\u0074' => 0x74,
case '\u0076': return 0x76; '\u0075' => 0x75,
case '\u0077': return 0x77; '\u0076' => 0x76,
case '\u0078': return 0x78; '\u0077' => 0x77,
case '\u0079': return 0x79; '\u0078' => 0x78,
case '\u007A': return 0x7A; '\u0079' => 0x79,
case '\u007B': return 0x7B; '\u007A' => 0x7A,
case '\u007C': return 0x7C; '\u007B' => 0x7B,
case '\u007D': return 0x7D; '\u007C' => 0x7C,
case '\u007E': return 0x7E; '\u007D' => 0x7D,
case '\u007F': return 0x7F; '\u007E' => 0x7E,
case '\u0410': return 0x80; '\u007F' => 0x7F,
case '\u0411': return 0x81; '\u0410' => 0x80,
case '\u0412': return 0x82; '\u0411' => 0x81,
case '\u0413': return 0x83; '\u0412' => 0x82,
case '\u0414': return 0x84; '\u0413' => 0x83,
case '\u0415': return 0x85; '\u0414' => 0x84,
case '\u0416': return 0x86; '\u0415' => 0x85,
case '\u0417': return 0x87; '\u0416' => 0x86,
case '\u0418': return 0x88; '\u0417' => 0x87,
case '\u0419': return 0x89; '\u0418' => 0x88,
case '\u041A': return 0x8A; '\u0419' => 0x89,
case '\u041B': return 0x8B; '\u041A' => 0x8A,
case '\u041C': return 0x8C; '\u041B' => 0x8B,
case '\u041D': return 0x8D; '\u041C' => 0x8C,
case '\u041E': return 0x8E; '\u041D' => 0x8D,
case '\u041F': return 0x8F; '\u041E' => 0x8E,
case '\u0420': return 0x90; '\u041F' => 0x8F,
case '\u0421': return 0x91; '\u0420' => 0x90,
case '\u0422': return 0x92; '\u0421' => 0x91,
case '\u0423': return 0x93; '\u0422' => 0x92,
case '\u0424': return 0x94; '\u0423' => 0x93,
case '\u0425': return 0x95; '\u0424' => 0x94,
case '\u0426': return 0x96; '\u0425' => 0x95,
case '\u0427': return 0x97; '\u0426' => 0x96,
case '\u0428': return 0x98; '\u0427' => 0x97,
case '\u0429': return 0x99; '\u0428' => 0x98,
case '\u042A': return 0x9A; '\u0429' => 0x99,
case '\u042B': return 0x9B; '\u042A' => 0x9A,
case '\u042C': return 0x9C; '\u042B' => 0x9B,
case '\u042D': return 0x9D; '\u042C' => 0x9C,
case '\u042E': return 0x9E; '\u042D' => 0x9D,
case '\u042F': return 0x9F; '\u042E' => 0x9E,
case '\u2020': return 0xA0; '\u042F' => 0x9F,
case '\u00B0': return 0xA1; '\u2020' => 0xA0,
case '\u0490': return 0xA2; '\u00B0' => 0xA1,
case '\u00A3': return 0xA3; '\u0490' => 0xA2,
case '\u00A7': return 0xA4; '\u00A3' => 0xA3,
case '\u2022': return 0xA5; '\u00A7' => 0xA4,
case '\u00B6': return 0xA6; '\u2022' => 0xA5,
case '\u0406': return 0xA7; '\u00B6' => 0xA6,
case '\u00AE': return 0xA8; '\u0406' => 0xA7,
case '\u00A9': return 0xA9; '\u00AE' => 0xA8,
case '\u2122': return 0xAA; '\u00A9' => 0xA9,
case '\u0402': return 0xAB; '\u2122' => 0xAA,
case '\u0452': return 0xAC; '\u0402' => 0xAB,
case '\u2260': return 0xAD; '\u0452' => 0xAC,
case '\u0403': return 0xAE; '\u2260' => 0xAD,
case '\u0453': return 0xAF; '\u0403' => 0xAE,
case '\u221E': return 0xB0; '\u0453' => 0xAF,
case '\u00B1': return 0xB1; '\u221E' => 0xB0,
case '\u2264': return 0xB2; '\u00B1' => 0xB1,
case '\u2265': return 0xB3; '\u2264' => 0xB2,
case '\u0456': return 0xB4; '\u2265' => 0xB3,
case '\u00B5': return 0xB5; '\u0456' => 0xB4,
case '\u0491': return 0xB6; '\u00B5' => 0xB5,
case '\u0408': return 0xB7; '\u0491' => 0xB6,
case '\u0404': return 0xB8; '\u0408' => 0xB7,
case '\u0454': return 0xB9; '\u0404' => 0xB8,
case '\u0407': return 0xBA; '\u0454' => 0xB9,
case '\u0457': return 0xBB; '\u0407' => 0xBA,
case '\u0409': return 0xBC; '\u0457' => 0xBB,
case '\u0459': return 0xBD; '\u0409' => 0xBC,
case '\u040A': return 0xBE; '\u0459' => 0xBD,
case '\u045A': return 0xBF; '\u040A' => 0xBE,
case '\u0458': return 0xC0; '\u045A' => 0xBF,
case '\u0405': return 0xC1; '\u0458' => 0xC0,
case '\u00AC': return 0xC2; '\u0405' => 0xC1,
case '\u221A': return 0xC3; '\u00AC' => 0xC2,
case '\u0192': return 0xC4; '\u221A' => 0xC3,
case '\u2248': return 0xC5; '\u0192' => 0xC4,
case '\u2206': return 0xC6; '\u2248' => 0xC5,
case '\u00AB': return 0xC7; '\u2206' => 0xC6,
case '\u00BB': return 0xC8; '\u00AB' => 0xC7,
case '\u2026': return 0xC9; '\u00BB' => 0xC8,
case '\u00A0': return 0xCA; '\u2026' => 0xC9,
case '\u040B': return 0xCB; '\u00A0' => 0xCA,
case '\u045B': return 0xCC; '\u040B' => 0xCB,
case '\u040C': return 0xCD; '\u045B' => 0xCC,
case '\u045C': return 0xCE; '\u040C' => 0xCD,
case '\u0455': return 0xCF; '\u045C' => 0xCE,
case '\u2013': return 0xD0; '\u0455' => 0xCF,
case '\u2014': return 0xD1; '\u2013' => 0xD0,
case '\u201C': return 0xD2; '\u2014' => 0xD1,
case '\u201D': return 0xD3; '\u201C' => 0xD2,
case '\u2018': return 0xD4; '\u201D' => 0xD3,
case '\u2019': return 0xD5; '\u2018' => 0xD4,
case '\u00F7': return 0xD6; '\u2019' => 0xD5,
case '\u201E': return 0xD7; '\u00F7' => 0xD6,
case '\u040E': return 0xD8; '\u201E' => 0xD7,
case '\u045E': return 0xD9; '\u040E' => 0xD8,
case '\u040F': return 0xDA; '\u045E' => 0xD9,
case '\u045F': return 0xDB; '\u040F' => 0xDA,
case '\u2116': return 0xDC; '\u045F' => 0xDB,
case '\u0401': return 0xDD; '\u2116' => 0xDC,
case '\u0451': return 0xDE; '\u0401' => 0xDD,
case '\u044F': return 0xDF; '\u0451' => 0xDE,
case '\u0430': return 0xE0; '\u044F' => 0xDF,
case '\u0431': return 0xE1; '\u0430' => 0xE0,
case '\u0432': return 0xE2; '\u0431' => 0xE1,
case '\u0433': return 0xE3; '\u0432' => 0xE2,
case '\u0434': return 0xE4; '\u0433' => 0xE3,
case '\u0435': return 0xE5; '\u0434' => 0xE4,
case '\u0436': return 0xE6; '\u0435' => 0xE5,
case '\u0437': return 0xE7; '\u0436' => 0xE6,
case '\u0438': return 0xE8; '\u0437' => 0xE7,
case '\u0439': return 0xE9; '\u0438' => 0xE8,
case '\u043A': return 0xEA; '\u0439' => 0xE9,
case '\u043B': return 0xEB; '\u043A' => 0xEA,
case '\u043C': return 0xEC; '\u043B' => 0xEB,
case '\u043D': return 0xED; '\u043C' => 0xEC,
case '\u043E': return 0xEE; '\u043D' => 0xED,
case '\u043F': return 0xEF; '\u043E' => 0xEE,
case '\u0440': return 0xF0; '\u043F' => 0xEF,
case '\u0441': return 0xF1; '\u0440' => 0xF0,
case '\u0442': return 0xF2; '\u0441' => 0xF1,
case '\u0443': return 0xF3; '\u0442' => 0xF2,
case '\u0444': return 0xF4; '\u0443' => 0xF3,
case '\u0445': return 0xF5; '\u0444' => 0xF4,
case '\u0446': return 0xF6; '\u0445' => 0xF5,
case '\u0447': return 0xF7; '\u0446' => 0xF6,
case '\u0448': return 0xF8; '\u0447' => 0xF7,
case '\u0449': return 0xF9; '\u0448' => 0xF8,
case '\u044A': return 0xFA; '\u0449' => 0xF9,
case '\u044B': return 0xFB; '\u044A' => 0xFA,
case '\u044C': return 0xFC; '\u044B' => 0xFB,
case '\u044D': return 0xFD; '\u044C' => 0xFC,
case '\u044E': return 0xFE; '\u044D' => 0xFD,
case '\u20AC': return 0xFF; '\u044E' => 0xFE,
default: '\u20AC' => 0xFF,
// Fallback to '?' _ => 0x3F
return 0x3F; };
}
}
} }
} }

View File

@@ -53,7 +53,7 @@ namespace Claunia.Encoding
'\u0008', '\u0009', '\u000A', '\u000B', '\u000C', '\u000D', '\u000E', '\u000F', '\u0008', '\u0009', '\u000A', '\u000B', '\u000C', '\u000D', '\u000E', '\u000F',
// 0x10 // 0x10
'\u0010', '\u0011', '\u0012', '\u0013', '\u0014', '\u0015', '\u0016', '\u0017', '\u0010', '\u2318', '\u2713', '\u25C6', '\uF8FF', '\u0015', '\u0016', '\u0017',
// 0x18 // 0x18
'\u0018', '\u0019', '\u001A', '\u001B', '\u001C', '\u001D', '\u001E', '\u001F', '\u0018', '\u0019', '\u001A', '\u001B', '\u001C', '\u001D', '\u001E', '\u001F',
@@ -146,244 +146,242 @@ namespace Claunia.Encoding
/// <summary>Converts a Unicode character to an Mac Farsi character</summary> /// <summary>Converts a Unicode character to an Mac Farsi character</summary>
/// <returns>Mac Farsi character.</returns> /// <returns>Mac Farsi character.</returns>
/// <param name="character">Unicode character.</param> /// <param name="character">Unicode character.</param>
private protected override byte GetByte(char character) private protected override byte GetByte(char character) => character switch
{ {
switch(character) '\u0000' => 0x00,
{ '\u0001' => 0x01,
case '\u0000': return 0x00; '\u0002' => 0x02,
case '\u0001': return 0x01; '\u0003' => 0x03,
case '\u0002': return 0x02; '\u0004' => 0x04,
case '\u0003': return 0x03; '\u0005' => 0x05,
case '\u0004': return 0x04; '\u0006' => 0x06,
case '\u0005': return 0x05; '\u0007' => 0x07,
case '\u0006': return 0x06; '\u0008' => 0x08,
case '\u0007': return 0x07; '\u0009' => 0x09,
case '\u0008': return 0x08; '\u000A' => 0x0A,
case '\u0009': return 0x09; '\u000B' => 0x0B,
case '\u000A': return 0x0A; '\u000C' => 0x0C,
case '\u000B': return 0x0B; '\u000D' => 0x0D,
case '\u000C': return 0x0C; '\u000E' => 0x0E,
case '\u000D': return 0x0D; '\u000F' => 0x0F,
case '\u000E': return 0x0E; '\u0010' => 0x10,
case '\u000F': return 0x0F; '\u2318' => 0x11,
case '\u0010': return 0x10; '\u0012' => 0x12,
case '\u0011': return 0x11; '\u2713' => 0x12,
case '\u0012': return 0x12; '\u0013' => 0x13,
case '\u0013': return 0x13; '\u25C6' => 0x13,
case '\u0014': return 0x14; '\uF8FF' => 0x14,
case '\u0015': return 0x15; '\u0014' => 0x14,
case '\u0016': return 0x16; '\u0015' => 0x15,
case '\u0017': return 0x17; '\u0016' => 0x16,
case '\u0018': return 0x18; '\u0017' => 0x17,
case '\u0019': return 0x19; '\u0018' => 0x18,
case '\u001A': return 0x1A; '\u0019' => 0x19,
case '\u001B': return 0x1B; '\u001A' => 0x1A,
case '\u001C': return 0x1C; '\u001B' => 0x1B,
case '\u001D': return 0x1D; '\u001C' => 0x1C,
case '\u001E': return 0x1E; '\u001D' => 0x1D,
case '\u001F': return 0x1F; '\u001E' => 0x1E,
case '\u0020': return 0x20; '\u001F' => 0x1F,
case '\u0021': return 0x21; '\u0020' => 0x20,
case '\u0022': return 0x22; '\u0021' => 0x21,
case '\u0023': return 0x23; '\u0022' => 0x22,
case '\u0024': return 0x24; '\u0023' => 0x23,
case '\u0025': return 0x25; '\u0024' => 0x24,
case '\u0026': return 0x26; '\u0025' => 0x25,
case '\u0027': return 0x27; '\u0026' => 0x26,
case '\u0028': return 0x28; '\u0027' => 0x27,
case '\u0029': return 0x29; '\u0028' => 0x28,
case '\u002A': return 0x2A; '\u0029' => 0x29,
case '\u002B': return 0x2B; '\u002A' => 0x2A,
case '\u002C': return 0x2C; '\u002B' => 0x2B,
case '\u002D': return 0x2D; '\u002C' => 0x2C,
case '\u002E': return 0x2E; '\u002D' => 0x2D,
case '\u002F': return 0x2F; '\u002E' => 0x2E,
case '\u0030': return 0x30; '\u002F' => 0x2F,
case '\u0031': return 0x31; '\u0030' => 0x30,
case '\u0032': return 0x32; '\u0031' => 0x31,
case '\u0033': return 0x33; '\u0032' => 0x32,
case '\u0034': return 0x34; '\u0033' => 0x33,
case '\u0035': return 0x35; '\u0034' => 0x34,
case '\u0036': return 0x36; '\u0035' => 0x35,
case '\u0037': return 0x37; '\u0036' => 0x36,
case '\u0038': return 0x38; '\u0037' => 0x37,
case '\u0039': return 0x39; '\u0038' => 0x38,
case '\u003A': return 0x3A; '\u0039' => 0x39,
case '\u003B': return 0x3B; '\u003A' => 0x3A,
case '\u003C': return 0x3C; '\u003B' => 0x3B,
case '\u003D': return 0x3D; '\u003C' => 0x3C,
case '\u003E': return 0x3E; '\u003D' => 0x3D,
case '\u003F': return 0x3F; '\u003E' => 0x3E,
case '\u0040': return 0x40; '\u003F' => 0x3F,
case '\u0041': return 0x41; '\u0040' => 0x40,
case '\u0042': return 0x42; '\u0041' => 0x41,
case '\u0043': return 0x43; '\u0042' => 0x42,
case '\u0044': return 0x44; '\u0043' => 0x43,
case '\u0045': return 0x45; '\u0044' => 0x44,
case '\u0046': return 0x46; '\u0045' => 0x45,
case '\u0047': return 0x47; '\u0046' => 0x46,
case '\u0048': return 0x48; '\u0047' => 0x47,
case '\u0049': return 0x49; '\u0048' => 0x48,
case '\u004A': return 0x4A; '\u0049' => 0x49,
case '\u004B': return 0x4B; '\u004A' => 0x4A,
case '\u004C': return 0x4C; '\u004B' => 0x4B,
case '\u004D': return 0x4D; '\u004C' => 0x4C,
case '\u004E': return 0x4E; '\u004D' => 0x4D,
case '\u004F': return 0x4F; '\u004E' => 0x4E,
case '\u0050': return 0x50; '\u004F' => 0x4F,
case '\u0051': return 0x51; '\u0050' => 0x50,
case '\u0052': return 0x52; '\u0051' => 0x51,
case '\u0053': return 0x53; '\u0052' => 0x52,
case '\u0054': return 0x54; '\u0053' => 0x53,
case '\u0055': return 0x55; '\u0054' => 0x54,
case '\u0056': return 0x56; '\u0055' => 0x55,
case '\u0057': return 0x57; '\u0056' => 0x56,
case '\u0058': return 0x58; '\u0057' => 0x57,
case '\u0059': return 0x59; '\u0058' => 0x58,
case '\u005A': return 0x5A; '\u0059' => 0x59,
case '\u005B': return 0x5B; '\u005A' => 0x5A,
case '\u005C': return 0x5C; '\u005B' => 0x5B,
case '\u005D': return 0x5D; '\u005C' => 0x5C,
case '\u005E': return 0x5E; '\u005D' => 0x5D,
case '\u005F': return 0x5F; '\u005E' => 0x5E,
case '\u0060': return 0x60; '\u005F' => 0x5F,
case '\u0061': return 0x61; '\u0060' => 0x60,
case '\u0062': return 0x62; '\u0061' => 0x61,
case '\u0063': return 0x63; '\u0062' => 0x62,
case '\u0064': return 0x64; '\u0063' => 0x63,
case '\u0065': return 0x65; '\u0064' => 0x64,
case '\u0066': return 0x66; '\u0065' => 0x65,
case '\u0067': return 0x67; '\u0066' => 0x66,
case '\u0068': return 0x68; '\u0067' => 0x67,
case '\u0069': return 0x69; '\u0068' => 0x68,
case '\u006A': return 0x6A; '\u0069' => 0x69,
case '\u006B': return 0x6B; '\u006A' => 0x6A,
case '\u006C': return 0x6C; '\u006B' => 0x6B,
case '\u006D': return 0x6D; '\u006C' => 0x6C,
case '\u006E': return 0x6E; '\u006D' => 0x6D,
case '\u006F': return 0x6F; '\u006E' => 0x6E,
case '\u0070': return 0x70; '\u006F' => 0x6F,
case '\u0071': return 0x71; '\u0070' => 0x70,
case '\u0072': return 0x72; '\u0071' => 0x71,
case '\u0073': return 0x73; '\u0072' => 0x72,
case '\u0074': return 0x74; '\u0073' => 0x73,
case '\u0075': return 0x75; '\u0074' => 0x74,
case '\u0076': return 0x76; '\u0075' => 0x75,
case '\u0077': return 0x77; '\u0076' => 0x76,
case '\u0078': return 0x78; '\u0077' => 0x77,
case '\u0079': return 0x79; '\u0078' => 0x78,
case '\u007A': return 0x7A; '\u0079' => 0x79,
case '\u007B': return 0x7B; '\u007A' => 0x7A,
case '\u007C': return 0x7C; '\u007B' => 0x7B,
case '\u007D': return 0x7D; '\u007C' => 0x7C,
case '\u007E': return 0x7E; '\u007D' => 0x7D,
case '\u007F': return 0x7F; '\u007E' => 0x7E,
case '\u00C4': return 0x80; '\u007F' => 0x7F,
case '\u00A0': return 0x81; '\u00C4' => 0x80,
case '\u00C7': return 0x82; '\u00A0' => 0x81,
case '\u00C9': return 0x83; '\u00C7' => 0x82,
case '\u00D1': return 0x84; '\u00C9' => 0x83,
case '\u00D6': return 0x85; '\u00D1' => 0x84,
case '\u00DC': return 0x86; '\u00D6' => 0x85,
case '\u00E1': return 0x87; '\u00DC' => 0x86,
case '\u00E0': return 0x88; '\u00E1' => 0x87,
case '\u00E2': return 0x89; '\u00E0' => 0x88,
case '\u00E4': return 0x8A; '\u00E2' => 0x89,
case '\u06BA': return 0x8B; '\u00E4' => 0x8A,
case '\u00AB': return 0x8C; '\u06BA' => 0x8B,
case '\u00E7': return 0x8D; '\u00AB' => 0x8C,
case '\u00E9': return 0x8E; '\u00E7' => 0x8D,
case '\u00E8': return 0x8F; '\u00E9' => 0x8E,
case '\u00EA': return 0x90; '\u00E8' => 0x8F,
case '\u00EB': return 0x91; '\u00EA' => 0x90,
case '\u00ED': return 0x92; '\u00EB' => 0x91,
case '\u2026': return 0x93; '\u00ED' => 0x92,
case '\u00EE': return 0x94; '\u2026' => 0x93,
case '\u00EF': return 0x95; '\u00EE' => 0x94,
case '\u00F1': return 0x96; '\u00EF' => 0x95,
case '\u00F3': return 0x97; '\u00F1' => 0x96,
case '\u00BB': return 0x98; '\u00F3' => 0x97,
case '\u00F4': return 0x99; '\u00BB' => 0x98,
case '\u00F6': return 0x9A; '\u00F4' => 0x99,
case '\u00F7': return 0x9B; '\u00F6' => 0x9A,
case '\u00FA': return 0x9C; '\u00F7' => 0x9B,
case '\u00F9': return 0x9D; '\u00FA' => 0x9C,
case '\u00FB': return 0x9E; '\u00F9' => 0x9D,
case '\u00FC': return 0x9F; '\u00FB' => 0x9E,
case '\u066A': return 0xA5; '\u00FC' => 0x9F,
case '\u060C': return 0xAC; '\u066A' => 0xA5,
case '\u06F0': return 0xB0; '\u060C' => 0xAC,
case '\u06F1': return 0xB1; '\u06F0' => 0xB0,
case '\u06F2': return 0xB2; '\u06F1' => 0xB1,
case '\u06F3': return 0xB3; '\u06F2' => 0xB2,
case '\u06F4': return 0xB4; '\u06F3' => 0xB3,
case '\u06F5': return 0xB5; '\u06F4' => 0xB4,
case '\u06F6': return 0xB6; '\u06F5' => 0xB5,
case '\u06F7': return 0xB7; '\u06F6' => 0xB6,
case '\u06F8': return 0xB8; '\u06F7' => 0xB7,
case '\u06F9': return 0xB9; '\u06F8' => 0xB8,
case '\u061B': return 0xBB; '\u06F9' => 0xB9,
case '\u061F': return 0xBF; '\u061B' => 0xBB,
case '\u274A': return 0xC0; '\u061F' => 0xBF,
case '\u0621': return 0xC1; '\u274A' => 0xC0,
case '\u0622': return 0xC2; '\u0621' => 0xC1,
case '\u0623': return 0xC3; '\u0622' => 0xC2,
case '\u0624': return 0xC4; '\u0623' => 0xC3,
case '\u0625': return 0xC5; '\u0624' => 0xC4,
case '\u0626': return 0xC6; '\u0625' => 0xC5,
case '\u0627': return 0xC7; '\u0626' => 0xC6,
case '\u0628': return 0xC8; '\u0627' => 0xC7,
case '\u0629': return 0xC9; '\u0628' => 0xC8,
case '\u062A': return 0xCA; '\u0629' => 0xC9,
case '\u062B': return 0xCB; '\u062A' => 0xCA,
case '\u062C': return 0xCC; '\u062B' => 0xCB,
case '\u062D': return 0xCD; '\u062C' => 0xCC,
case '\u062E': return 0xCE; '\u062D' => 0xCD,
case '\u062F': return 0xCF; '\u062E' => 0xCE,
case '\u0630': return 0xD0; '\u062F' => 0xCF,
case '\u0631': return 0xD1; '\u0630' => 0xD0,
case '\u0632': return 0xD2; '\u0631' => 0xD1,
case '\u0633': return 0xD3; '\u0632' => 0xD2,
case '\u0634': return 0xD4; '\u0633' => 0xD3,
case '\u0635': return 0xD5; '\u0634' => 0xD4,
case '\u0636': return 0xD6; '\u0635' => 0xD5,
case '\u0637': return 0xD7; '\u0636' => 0xD6,
case '\u0638': return 0xD8; '\u0637' => 0xD7,
case '\u0639': return 0xD9; '\u0638' => 0xD8,
case '\u063A': return 0xDA; '\u0639' => 0xD9,
case '\u0640': return 0xE0; '\u063A' => 0xDA,
case '\u0641': return 0xE1; '\u0640' => 0xE0,
case '\u0642': return 0xE2; '\u0641' => 0xE1,
case '\u0643': return 0xE3; '\u0642' => 0xE2,
case '\u0644': return 0xE4; '\u0643' => 0xE3,
case '\u0645': return 0xE5; '\u0644' => 0xE4,
case '\u0646': return 0xE6; '\u0645' => 0xE5,
case '\u0647': return 0xE7; '\u0646' => 0xE6,
case '\u0648': return 0xE8; '\u0647' => 0xE7,
case '\u0649': return 0xE9; '\u0648' => 0xE8,
case '\u064A': return 0xEA; '\u0649' => 0xE9,
case '\u064B': return 0xEB; '\u064A' => 0xEA,
case '\u064C': return 0xEC; '\u064B' => 0xEB,
case '\u064D': return 0xED; '\u064C' => 0xEC,
case '\u064E': return 0xEE; '\u064D' => 0xED,
case '\u064F': return 0xEF; '\u064E' => 0xEE,
case '\u0650': return 0xF0; '\u064F' => 0xEF,
case '\u0651': return 0xF1; '\u0650' => 0xF0,
case '\u0652': return 0xF2; '\u0651' => 0xF1,
case '\u067E': return 0xF3; '\u0652' => 0xF2,
case '\u0679': return 0xF4; '\u067E' => 0xF3,
case '\u0686': return 0xF5; '\u0679' => 0xF4,
case '\u06D5': return 0xF6; '\u0686' => 0xF5,
case '\u06A4': return 0xF7; '\u06D5' => 0xF6,
case '\u06AF': return 0xF8; '\u06A4' => 0xF7,
case '\u0688': return 0xF9; '\u06AF' => 0xF8,
case '\u0691': return 0xFA; '\u0688' => 0xF9,
case '\u0698': return 0xFE; '\u0691' => 0xFA,
case '\u06D2': return 0xFF; '\u0698' => 0xFE,
default: '\u06D2' => 0xFF,
// Fallback to '?' _ => 0x3F
return 0x3F; };
}
}
} }
} }

View File

@@ -53,7 +53,7 @@ namespace Claunia.Encoding
'\u0008', '\u0009', '\u000A', '\u000B', '\u000C', '\u000D', '\u000E', '\u000F', '\u0008', '\u0009', '\u000A', '\u000B', '\u000C', '\u000D', '\u000E', '\u000F',
// 0x10 // 0x10
'\u0010', '\u0011', '\u0012', '\u0013', '\u0014', '\u0015', '\u0016', '\u0017', '\u0010', '\u2318', '\u2713', '\u25C6', '\uF8FF', '\u0015', '\u0016', '\u0017',
// 0x18 // 0x18
'\u0018', '\u0019', '\u001A', '\u001B', '\u001C', '\u001D', '\u001E', '\u001F', '\u0018', '\u0019', '\u001A', '\u001B', '\u001C', '\u001D', '\u001E', '\u001F',
@@ -146,270 +146,268 @@ namespace Claunia.Encoding
/// <summary>Converts a Unicode character to an Mac Greek character</summary> /// <summary>Converts a Unicode character to an Mac Greek character</summary>
/// <returns>Mac Greek character.</returns> /// <returns>Mac Greek character.</returns>
/// <param name="character">Unicode character.</param> /// <param name="character">Unicode character.</param>
private protected override byte GetByte(char character) private protected override byte GetByte(char character) => character switch
{ {
switch(character) '\u0000' => 0x00,
{ '\u0001' => 0x01,
case '\u0000': return 0x00; '\u0002' => 0x02,
case '\u0001': return 0x01; '\u0003' => 0x03,
case '\u0002': return 0x02; '\u0004' => 0x04,
case '\u0003': return 0x03; '\u0005' => 0x05,
case '\u0004': return 0x04; '\u0006' => 0x06,
case '\u0005': return 0x05; '\u0007' => 0x07,
case '\u0006': return 0x06; '\u0008' => 0x08,
case '\u0007': return 0x07; '\u0009' => 0x09,
case '\u0008': return 0x08; '\u000A' => 0x0A,
case '\u0009': return 0x09; '\u000B' => 0x0B,
case '\u000A': return 0x0A; '\u000C' => 0x0C,
case '\u000B': return 0x0B; '\u000D' => 0x0D,
case '\u000C': return 0x0C; '\u000E' => 0x0E,
case '\u000D': return 0x0D; '\u000F' => 0x0F,
case '\u000E': return 0x0E; '\u0010' => 0x10,
case '\u000F': return 0x0F; '\u2318' => 0x11,
case '\u0010': return 0x10; '\u0012' => 0x12,
case '\u0011': return 0x11; '\u2713' => 0x12,
case '\u0012': return 0x12; '\u0013' => 0x13,
case '\u0013': return 0x13; '\u25C6' => 0x13,
case '\u0014': return 0x14; '\u0014' => 0x14,
case '\u0015': return 0x15; '\uF8FF' => 0x14,
case '\u0016': return 0x16; '\u0015' => 0x15,
case '\u0017': return 0x17; '\u0016' => 0x16,
case '\u0018': return 0x18; '\u0017' => 0x17,
case '\u0019': return 0x19; '\u0018' => 0x18,
case '\u001A': return 0x1A; '\u0019' => 0x19,
case '\u001B': return 0x1B; '\u001A' => 0x1A,
case '\u001C': return 0x1C; '\u001B' => 0x1B,
case '\u001D': return 0x1D; '\u001C' => 0x1C,
case '\u001E': return 0x1E; '\u001D' => 0x1D,
case '\u001F': return 0x1F; '\u001E' => 0x1E,
case '\u0020': return 0x20; '\u001F' => 0x1F,
case '\u0021': return 0x21; '\u0020' => 0x20,
case '\u0022': return 0x22; '\u0021' => 0x21,
case '\u0023': return 0x23; '\u0022' => 0x22,
case '\u0024': return 0x24; '\u0023' => 0x23,
case '\u0025': return 0x25; '\u0024' => 0x24,
case '\u0026': return 0x26; '\u0025' => 0x25,
case '\u0027': return 0x27; '\u0026' => 0x26,
case '\u0028': return 0x28; '\u0027' => 0x27,
case '\u0029': return 0x29; '\u0028' => 0x28,
case '\u002A': return 0x2A; '\u0029' => 0x29,
case '\u002B': return 0x2B; '\u002A' => 0x2A,
case '\u002C': return 0x2C; '\u002B' => 0x2B,
case '\u002D': return 0x2D; '\u002C' => 0x2C,
case '\u002E': return 0x2E; '\u002D' => 0x2D,
case '\u002F': return 0x2F; '\u002E' => 0x2E,
case '\u0030': return 0x30; '\u002F' => 0x2F,
case '\u0031': return 0x31; '\u0030' => 0x30,
case '\u0032': return 0x32; '\u0031' => 0x31,
case '\u0033': return 0x33; '\u0032' => 0x32,
case '\u0034': return 0x34; '\u0033' => 0x33,
case '\u0035': return 0x35; '\u0034' => 0x34,
case '\u0036': return 0x36; '\u0035' => 0x35,
case '\u0037': return 0x37; '\u0036' => 0x36,
case '\u0038': return 0x38; '\u0037' => 0x37,
case '\u0039': return 0x39; '\u0038' => 0x38,
case '\u003A': return 0x3A; '\u0039' => 0x39,
case '\u003B': return 0x3B; '\u003A' => 0x3A,
case '\u003C': return 0x3C; '\u003B' => 0x3B,
case '\u003D': return 0x3D; '\u003C' => 0x3C,
case '\u003E': return 0x3E; '\u003D' => 0x3D,
case '\u003F': return 0x3F; '\u003E' => 0x3E,
case '\u0040': return 0x40; '\u003F' => 0x3F,
case '\u0041': return 0x41; '\u0040' => 0x40,
case '\u0042': return 0x42; '\u0041' => 0x41,
case '\u0043': return 0x43; '\u0042' => 0x42,
case '\u0044': return 0x44; '\u0043' => 0x43,
case '\u0045': return 0x45; '\u0044' => 0x44,
case '\u0046': return 0x46; '\u0045' => 0x45,
case '\u0047': return 0x47; '\u0046' => 0x46,
case '\u0048': return 0x48; '\u0047' => 0x47,
case '\u0049': return 0x49; '\u0048' => 0x48,
case '\u004A': return 0x4A; '\u0049' => 0x49,
case '\u004B': return 0x4B; '\u004A' => 0x4A,
case '\u004C': return 0x4C; '\u004B' => 0x4B,
case '\u004D': return 0x4D; '\u004C' => 0x4C,
case '\u004E': return 0x4E; '\u004D' => 0x4D,
case '\u004F': return 0x4F; '\u004E' => 0x4E,
case '\u0050': return 0x50; '\u004F' => 0x4F,
case '\u0051': return 0x51; '\u0050' => 0x50,
case '\u0052': return 0x52; '\u0051' => 0x51,
case '\u0053': return 0x53; '\u0052' => 0x52,
case '\u0054': return 0x54; '\u0053' => 0x53,
case '\u0055': return 0x55; '\u0054' => 0x54,
case '\u0056': return 0x56; '\u0055' => 0x55,
case '\u0057': return 0x57; '\u0056' => 0x56,
case '\u0058': return 0x58; '\u0057' => 0x57,
case '\u0059': return 0x59; '\u0058' => 0x58,
case '\u005A': return 0x5A; '\u0059' => 0x59,
case '\u005B': return 0x5B; '\u005A' => 0x5A,
case '\u005C': return 0x5C; '\u005B' => 0x5B,
case '\u005D': return 0x5D; '\u005C' => 0x5C,
case '\u005E': return 0x5E; '\u005D' => 0x5D,
case '\u005F': return 0x5F; '\u005E' => 0x5E,
case '\u0060': return 0x60; '\u005F' => 0x5F,
case '\u0061': return 0x61; '\u0060' => 0x60,
case '\u0062': return 0x62; '\u0061' => 0x61,
case '\u0063': return 0x63; '\u0062' => 0x62,
case '\u0064': return 0x64; '\u0063' => 0x63,
case '\u0065': return 0x65; '\u0064' => 0x64,
case '\u0066': return 0x66; '\u0065' => 0x65,
case '\u0067': return 0x67; '\u0066' => 0x66,
case '\u0068': return 0x68; '\u0067' => 0x67,
case '\u0069': return 0x69; '\u0068' => 0x68,
case '\u006A': return 0x6A; '\u0069' => 0x69,
case '\u006B': return 0x6B; '\u006A' => 0x6A,
case '\u006C': return 0x6C; '\u006B' => 0x6B,
case '\u006D': return 0x6D; '\u006C' => 0x6C,
case '\u006E': return 0x6E; '\u006D' => 0x6D,
case '\u006F': return 0x6F; '\u006E' => 0x6E,
case '\u0070': return 0x70; '\u006F' => 0x6F,
case '\u0071': return 0x71; '\u0070' => 0x70,
case '\u0072': return 0x72; '\u0071' => 0x71,
case '\u0073': return 0x73; '\u0072' => 0x72,
case '\u0074': return 0x74; '\u0073' => 0x73,
case '\u0075': return 0x75; '\u0074' => 0x74,
case '\u0076': return 0x76; '\u0075' => 0x75,
case '\u0077': return 0x77; '\u0076' => 0x76,
case '\u0078': return 0x78; '\u0077' => 0x77,
case '\u0079': return 0x79; '\u0078' => 0x78,
case '\u007A': return 0x7A; '\u0079' => 0x79,
case '\u007B': return 0x7B; '\u007A' => 0x7A,
case '\u007C': return 0x7C; '\u007B' => 0x7B,
case '\u007D': return 0x7D; '\u007C' => 0x7C,
case '\u007E': return 0x7E; '\u007D' => 0x7D,
case '\u007F': return 0x7F; '\u007E' => 0x7E,
case '\u00C4': return 0x80; '\u007F' => 0x7F,
case '\u00B9': return 0x81; '\u00C4' => 0x80,
case '\u00B2': return 0x82; '\u00B9' => 0x81,
case '\u00C9': return 0x83; '\u00B2' => 0x82,
case '\u00B3': return 0x84; '\u00C9' => 0x83,
case '\u00D6': return 0x85; '\u00B3' => 0x84,
case '\u00DC': return 0x86; '\u00D6' => 0x85,
case '\u0385': return 0x87; '\u00DC' => 0x86,
case '\u00E0': return 0x88; '\u0385' => 0x87,
case '\u00E2': return 0x89; '\u00E0' => 0x88,
case '\u00E4': return 0x8A; '\u00E2' => 0x89,
case '\u0384': return 0x8B; '\u00E4' => 0x8A,
case '\u00A8': return 0x8C; '\u0384' => 0x8B,
case '\u00E7': return 0x8D; '\u00A8' => 0x8C,
case '\u00E9': return 0x8E; '\u00E7' => 0x8D,
case '\u00E8': return 0x8F; '\u00E9' => 0x8E,
case '\u00EA': return 0x90; '\u00E8' => 0x8F,
case '\u00EB': return 0x91; '\u00EA' => 0x90,
case '\u00A3': return 0x92; '\u00EB' => 0x91,
case '\u2122': return 0x93; '\u00A3' => 0x92,
case '\u00EE': return 0x94; '\u2122' => 0x93,
case '\u00EF': return 0x95; '\u00EE' => 0x94,
case '\u2022': return 0x96; '\u00EF' => 0x95,
case '\u00BD': return 0x97; '\u2022' => 0x96,
case '\u2030': return 0x98; '\u00BD' => 0x97,
case '\u00F4': return 0x99; '\u2030' => 0x98,
case '\u00F6': return 0x9A; '\u00F4' => 0x99,
case '\u00A6': return 0x9B; '\u00F6' => 0x9A,
case '\u20AC': return 0x9C; '\u00A6' => 0x9B,
case '\u00F9': return 0x9D; '\u20AC' => 0x9C,
case '\u00FB': return 0x9E; '\u00F9' => 0x9D,
case '\u00FC': return 0x9F; '\u00FB' => 0x9E,
case '\u2020': return 0xA0; '\u00FC' => 0x9F,
case '\u0393': return 0xA1; '\u2020' => 0xA0,
case '\u0394': return 0xA2; '\u0393' => 0xA1,
case '\u0398': return 0xA3; '\u0394' => 0xA2,
case '\u039B': return 0xA4; '\u0398' => 0xA3,
case '\u039E': return 0xA5; '\u039B' => 0xA4,
case '\u03A0': return 0xA6; '\u039E' => 0xA5,
case '\u00DF': return 0xA7; '\u03A0' => 0xA6,
case '\u00AE': return 0xA8; '\u00DF' => 0xA7,
case '\u00A9': return 0xA9; '\u00AE' => 0xA8,
case '\u03A3': return 0xAA; '\u00A9' => 0xA9,
case '\u03AA': return 0xAB; '\u03A3' => 0xAA,
case '\u00A7': return 0xAC; '\u03AA' => 0xAB,
case '\u2260': return 0xAD; '\u00A7' => 0xAC,
case '\u00B0': return 0xAE; '\u2260' => 0xAD,
case '\u00B7': return 0xAF; '\u00B0' => 0xAE,
case '\u0391': return 0xB0; '\u00B7' => 0xAF,
case '\u00B1': return 0xB1; '\u0391' => 0xB0,
case '\u2264': return 0xB2; '\u00B1' => 0xB1,
case '\u2265': return 0xB3; '\u2264' => 0xB2,
case '\u00A5': return 0xB4; '\u2265' => 0xB3,
case '\u0392': return 0xB5; '\u00A5' => 0xB4,
case '\u0395': return 0xB6; '\u0392' => 0xB5,
case '\u0396': return 0xB7; '\u0395' => 0xB6,
case '\u0397': return 0xB8; '\u0396' => 0xB7,
case '\u0399': return 0xB9; '\u0397' => 0xB8,
case '\u039A': return 0xBA; '\u0399' => 0xB9,
case '\u039C': return 0xBB; '\u039A' => 0xBA,
case '\u03A6': return 0xBC; '\u039C' => 0xBB,
case '\u03AB': return 0xBD; '\u03A6' => 0xBC,
case '\u03A8': return 0xBE; '\u03AB' => 0xBD,
case '\u03A9': return 0xBF; '\u03A8' => 0xBE,
case '\u03AC': return 0xC0; '\u03A9' => 0xBF,
case '\u039D': return 0xC1; '\u03AC' => 0xC0,
case '\u00AC': return 0xC2; '\u039D' => 0xC1,
case '\u039F': return 0xC3; '\u00AC' => 0xC2,
case '\u03A1': return 0xC4; '\u039F' => 0xC3,
case '\u2248': return 0xC5; '\u03A1' => 0xC4,
case '\u03A4': return 0xC6; '\u2248' => 0xC5,
case '\u00AB': return 0xC7; '\u03A4' => 0xC6,
case '\u00BB': return 0xC8; '\u00AB' => 0xC7,
case '\u2026': return 0xC9; '\u00BB' => 0xC8,
case '\u00A0': return 0xCA; '\u2026' => 0xC9,
case '\u03A5': return 0xCB; '\u00A0' => 0xCA,
case '\u03A7': return 0xCC; '\u03A5' => 0xCB,
case '\u0386': return 0xCD; '\u03A7' => 0xCC,
case '\u0388': return 0xCE; '\u0386' => 0xCD,
case '\u0153': return 0xCF; '\u0388' => 0xCE,
case '\u2013': return 0xD0; '\u0153' => 0xCF,
case '\u2015': return 0xD1; '\u2013' => 0xD0,
case '\u201C': return 0xD2; '\u2015' => 0xD1,
case '\u201D': return 0xD3; '\u201C' => 0xD2,
case '\u2018': return 0xD4; '\u201D' => 0xD3,
case '\u2019': return 0xD5; '\u2018' => 0xD4,
case '\u00F7': return 0xD6; '\u2019' => 0xD5,
case '\u0389': return 0xD7; '\u00F7' => 0xD6,
case '\u038A': return 0xD8; '\u0389' => 0xD7,
case '\u038C': return 0xD9; '\u038A' => 0xD8,
case '\u038E': return 0xDA; '\u038C' => 0xD9,
case '\u03AD': return 0xDB; '\u038E' => 0xDA,
case '\u03AE': return 0xDC; '\u03AD' => 0xDB,
case '\u03AF': return 0xDD; '\u03AE' => 0xDC,
case '\u03CC': return 0xDE; '\u03AF' => 0xDD,
case '\u038F': return 0xDF; '\u03CC' => 0xDE,
case '\u03CD': return 0xE0; '\u038F' => 0xDF,
case '\u03B1': return 0xE1; '\u03CD' => 0xE0,
case '\u03B2': return 0xE2; '\u03B1' => 0xE1,
case '\u03C8': return 0xE3; '\u03B2' => 0xE2,
case '\u03B4': return 0xE4; '\u03C8' => 0xE3,
case '\u03B5': return 0xE5; '\u03B4' => 0xE4,
case '\u03C6': return 0xE6; '\u03B5' => 0xE5,
case '\u03B3': return 0xE7; '\u03C6' => 0xE6,
case '\u03B7': return 0xE8; '\u03B3' => 0xE7,
case '\u03B9': return 0xE9; '\u03B7' => 0xE8,
case '\u03BE': return 0xEA; '\u03B9' => 0xE9,
case '\u03BA': return 0xEB; '\u03BE' => 0xEA,
case '\u03BB': return 0xEC; '\u03BA' => 0xEB,
case '\u03BC': return 0xED; '\u03BB' => 0xEC,
case '\u03BD': return 0xEE; '\u03BC' => 0xED,
case '\u03BF': return 0xEF; '\u03BD' => 0xEE,
case '\u03C0': return 0xF0; '\u03BF' => 0xEF,
case '\u03CE': return 0xF1; '\u03C0' => 0xF0,
case '\u03C1': return 0xF2; '\u03CE' => 0xF1,
case '\u03C3': return 0xF3; '\u03C1' => 0xF2,
case '\u03C4': return 0xF4; '\u03C3' => 0xF3,
case '\u03B8': return 0xF5; '\u03C4' => 0xF4,
case '\u03C9': return 0xF6; '\u03B8' => 0xF5,
case '\u03C2': return 0xF7; '\u03C9' => 0xF6,
case '\u03C7': return 0xF8; '\u03C2' => 0xF7,
case '\u03C5': return 0xF9; '\u03C7' => 0xF8,
case '\u03B6': return 0xFA; '\u03C5' => 0xF9,
case '\u03CA': return 0xFB; '\u03B6' => 0xFA,
case '\u03CB': return 0xFC; '\u03CA' => 0xFB,
case '\u0390': return 0xFD; '\u03CB' => 0xFC,
case '\u03B0': return 0xFE; '\u0390' => 0xFD,
case '\u00AD': return 0xFF; '\u03B0' => 0xFE,
default: '\u00AD' => 0xFF,
// Fallback to '?' _ => 0x3F
return 0x3F; };
}
}
} }
} }

View File

@@ -57,7 +57,7 @@ namespace Claunia.Encoding
'\u0008', '\u0009', '\u000A', '\u000B', '\u000C', '\u000D', '\u000E', '\u000F', '\u0008', '\u0009', '\u000A', '\u000B', '\u000C', '\u000D', '\u000E', '\u000F',
// 0x10 // 0x10
'\u0010', '\u0011', '\u0012', '\u0013', '\u0014', '\u0015', '\u0016', '\u0017', '\u0010', '\u0011', '\u0012', '\u0013', '\uF8FF', '\u0015', '\u0016', '\u0017',
// 0x18 // 0x18
'\u0018', '\u0019', '\u001A', '\u001B', '\u001C', '\u001D', '\u001E', '\u001F', '\u0018', '\u0019', '\u001A', '\u001B', '\u001C', '\u001D', '\u001E', '\u001F',
@@ -150,231 +150,229 @@ namespace Claunia.Encoding
/// <summary>Converts a Unicode character to an Mac Hebrew character</summary> /// <summary>Converts a Unicode character to an Mac Hebrew character</summary>
/// <returns>Mac Hebrew character.</returns> /// <returns>Mac Hebrew character.</returns>
/// <param name="character">Unicode character.</param> /// <param name="character">Unicode character.</param>
private protected override byte GetByte(char character) private protected override byte GetByte(char character) => character switch
{ {
switch(character) '\u0000' => 0x00,
{ '\u0001' => 0x01,
case '\u0000': return 0x00; '\u0002' => 0x02,
case '\u0001': return 0x01; '\u0003' => 0x03,
case '\u0002': return 0x02; '\u0004' => 0x04,
case '\u0003': return 0x03; '\u0005' => 0x05,
case '\u0004': return 0x04; '\u0006' => 0x06,
case '\u0005': return 0x05; '\u0007' => 0x07,
case '\u0006': return 0x06; '\u0008' => 0x08,
case '\u0007': return 0x07; '\u0009' => 0x09,
case '\u0008': return 0x08; '\u000A' => 0x0A,
case '\u0009': return 0x09; '\u000B' => 0x0B,
case '\u000A': return 0x0A; '\u000C' => 0x0C,
case '\u000B': return 0x0B; '\u000D' => 0x0D,
case '\u000C': return 0x0C; '\u000E' => 0x0E,
case '\u000D': return 0x0D; '\u000F' => 0x0F,
case '\u000E': return 0x0E; '\u0010' => 0x10,
case '\u000F': return 0x0F; '\u2318' => 0x11,
case '\u0010': return 0x10; '\u0012' => 0x12,
case '\u0011': return 0x11; '\u2713' => 0x12,
case '\u0012': return 0x12; '\u0013' => 0x13,
case '\u0013': return 0x13; '\u25C6' => 0x13,
case '\u0014': return 0x14; '\u0014' => 0x14,
case '\u0015': return 0x15; '\uF8FF' => 0x14,
case '\u0016': return 0x16; '\u0015' => 0x15,
case '\u0017': return 0x17; '\u0016' => 0x16,
case '\u0018': return 0x18; '\u0017' => 0x17,
case '\u0019': return 0x19; '\u0018' => 0x18,
case '\u001A': return 0x1A; '\u0019' => 0x19,
case '\u001B': return 0x1B; '\u001A' => 0x1A,
case '\u001C': return 0x1C; '\u001B' => 0x1B,
case '\u001D': return 0x1D; '\u001C' => 0x1C,
case '\u001E': return 0x1E; '\u001D' => 0x1D,
case '\u001F': return 0x1F; '\u001E' => 0x1E,
case '\u0020': return 0x20; '\u001F' => 0x1F,
case '\u0021': return 0x21; '\u0020' => 0x20,
case '\u0022': return 0x22; '\u0021' => 0x21,
case '\u0023': return 0x23; '\u0022' => 0x22,
case '\u0024': return 0x24; '\u0023' => 0x23,
case '\u0025': return 0x25; '\u0024' => 0x24,
case '\u0026': return 0x26; '\u0025' => 0x25,
case '\u0027': return 0x27; '\u0026' => 0x26,
case '\u0028': return 0x28; '\u0027' => 0x27,
case '\u0029': return 0x29; '\u0028' => 0x28,
case '\u002A': return 0x2A; '\u0029' => 0x29,
case '\u002B': return 0x2B; '\u002A' => 0x2A,
case '\u002C': return 0x2C; '\u002B' => 0x2B,
case '\u002D': return 0x2D; '\u002C' => 0x2C,
case '\u002E': return 0x2E; '\u002D' => 0x2D,
case '\u002F': return 0x2F; '\u002E' => 0x2E,
case '\u0030': return 0x30; '\u002F' => 0x2F,
case '\u0031': return 0x31; '\u0030' => 0x30,
case '\u0032': return 0x32; '\u0031' => 0x31,
case '\u0033': return 0x33; '\u0032' => 0x32,
case '\u0034': return 0x34; '\u0033' => 0x33,
case '\u0035': return 0x35; '\u0034' => 0x34,
case '\u0036': return 0x36; '\u0035' => 0x35,
case '\u0037': return 0x37; '\u0036' => 0x36,
case '\u0038': return 0x38; '\u0037' => 0x37,
case '\u0039': return 0x39; '\u0038' => 0x38,
case '\u003A': return 0x3A; '\u0039' => 0x39,
case '\u003B': return 0x3B; '\u003A' => 0x3A,
case '\u003C': return 0x3C; '\u003B' => 0x3B,
case '\u003D': return 0x3D; '\u003C' => 0x3C,
case '\u003E': return 0x3E; '\u003D' => 0x3D,
case '\u003F': return 0x3F; '\u003E' => 0x3E,
case '\u0040': return 0x40; '\u003F' => 0x3F,
case '\u0041': return 0x41; '\u0040' => 0x40,
case '\u0042': return 0x42; '\u0041' => 0x41,
case '\u0043': return 0x43; '\u0042' => 0x42,
case '\u0044': return 0x44; '\u0043' => 0x43,
case '\u0045': return 0x45; '\u0044' => 0x44,
case '\u0046': return 0x46; '\u0045' => 0x45,
case '\u0047': return 0x47; '\u0046' => 0x46,
case '\u0048': return 0x48; '\u0047' => 0x47,
case '\u0049': return 0x49; '\u0048' => 0x48,
case '\u004A': return 0x4A; '\u0049' => 0x49,
case '\u004B': return 0x4B; '\u004A' => 0x4A,
case '\u004C': return 0x4C; '\u004B' => 0x4B,
case '\u004D': return 0x4D; '\u004C' => 0x4C,
case '\u004E': return 0x4E; '\u004D' => 0x4D,
case '\u004F': return 0x4F; '\u004E' => 0x4E,
case '\u0050': return 0x50; '\u004F' => 0x4F,
case '\u0051': return 0x51; '\u0050' => 0x50,
case '\u0052': return 0x52; '\u0051' => 0x51,
case '\u0053': return 0x53; '\u0052' => 0x52,
case '\u0054': return 0x54; '\u0053' => 0x53,
case '\u0055': return 0x55; '\u0054' => 0x54,
case '\u0056': return 0x56; '\u0055' => 0x55,
case '\u0057': return 0x57; '\u0056' => 0x56,
case '\u0058': return 0x58; '\u0057' => 0x57,
case '\u0059': return 0x59; '\u0058' => 0x58,
case '\u005A': return 0x5A; '\u0059' => 0x59,
case '\u005B': return 0x5B; '\u005A' => 0x5A,
case '\u005C': return 0x5C; '\u005B' => 0x5B,
case '\u005D': return 0x5D; '\u005C' => 0x5C,
case '\u005E': return 0x5E; '\u005D' => 0x5D,
case '\u005F': return 0x5F; '\u005E' => 0x5E,
case '\u0060': return 0x60; '\u005F' => 0x5F,
case '\u0061': return 0x61; '\u0060' => 0x60,
case '\u0062': return 0x62; '\u0061' => 0x61,
case '\u0063': return 0x63; '\u0062' => 0x62,
case '\u0064': return 0x64; '\u0063' => 0x63,
case '\u0065': return 0x65; '\u0064' => 0x64,
case '\u0066': return 0x66; '\u0065' => 0x65,
case '\u0067': return 0x67; '\u0066' => 0x66,
case '\u0068': return 0x68; '\u0067' => 0x67,
case '\u0069': return 0x69; '\u0068' => 0x68,
case '\u006A': return 0x6A; '\u0069' => 0x69,
case '\u006B': return 0x6B; '\u006A' => 0x6A,
case '\u006C': return 0x6C; '\u006B' => 0x6B,
case '\u006D': return 0x6D; '\u006C' => 0x6C,
case '\u006E': return 0x6E; '\u006D' => 0x6D,
case '\u006F': return 0x6F; '\u006E' => 0x6E,
case '\u0070': return 0x70; '\u006F' => 0x6F,
case '\u0071': return 0x71; '\u0070' => 0x70,
case '\u0072': return 0x72; '\u0071' => 0x71,
case '\u0073': return 0x73; '\u0072' => 0x72,
case '\u0074': return 0x74; '\u0073' => 0x73,
case '\u0075': return 0x75; '\u0074' => 0x74,
case '\u0076': return 0x76; '\u0075' => 0x75,
case '\u0077': return 0x77; '\u0076' => 0x76,
case '\u0078': return 0x78; '\u0077' => 0x77,
case '\u0079': return 0x79; '\u0078' => 0x78,
case '\u007A': return 0x7A; '\u0079' => 0x79,
case '\u007B': return 0x7B; '\u007A' => 0x7A,
case '\u007C': return 0x7C; '\u007B' => 0x7B,
case '\u007D': return 0x7D; '\u007C' => 0x7C,
case '\u007E': return 0x7E; '\u007D' => 0x7D,
case '\u007F': return 0x7F; '\u007E' => 0x7E,
case '\u00C4': return 0x80; '\u007F' => 0x7F,
case '\u00C7': return 0x82; '\u00C4' => 0x80,
case '\u00C9': return 0x83; '\u00C7' => 0x82,
case '\u00D1': return 0x84; '\u00C9' => 0x83,
case '\u00D6': return 0x85; '\u00D1' => 0x84,
case '\u00DC': return 0x86; '\u00D6' => 0x85,
case '\u00E1': return 0x87; '\u00DC' => 0x86,
case '\u00E0': return 0x88; '\u00E1' => 0x87,
case '\u00E2': return 0x89; '\u00E0' => 0x88,
case '\u00E4': return 0x8A; '\u00E2' => 0x89,
case '\u00E3': return 0x8B; '\u00E4' => 0x8A,
case '\u00E5': return 0x8C; '\u00E3' => 0x8B,
case '\u00E7': return 0x8D; '\u00E5' => 0x8C,
case '\u00E9': return 0x8E; '\u00E7' => 0x8D,
case '\u00E8': return 0x8F; '\u00E9' => 0x8E,
case '\u00EA': return 0x90; '\u00E8' => 0x8F,
case '\u00EB': return 0x91; '\u00EA' => 0x90,
case '\u00ED': return 0x92; '\u00EB' => 0x91,
case '\u00EC': return 0x93; '\u00ED' => 0x92,
case '\u00EE': return 0x94; '\u00EC' => 0x93,
case '\u00EF': return 0x95; '\u00EE' => 0x94,
case '\u00F1': return 0x96; '\u00EF' => 0x95,
case '\u00F3': return 0x97; '\u00F1' => 0x96,
case '\u00F2': return 0x98; '\u00F3' => 0x97,
case '\u00F4': return 0x99; '\u00F2' => 0x98,
case '\u00F6': return 0x9A; '\u00F4' => 0x99,
case '\u00F5': return 0x9B; '\u00F6' => 0x9A,
case '\u00FA': return 0x9C; '\u00F5' => 0x9B,
case '\u00F9': return 0x9D; '\u00FA' => 0x9C,
case '\u00FB': return 0x9E; '\u00F9' => 0x9D,
case '\u00FC': return 0x9F; '\u00FB' => 0x9E,
case '\u20AA': return 0xA6; '\u00FC' => 0x9F,
case '\u201E': return 0xC1; '\u20AA' => 0xA6,
case '\uF89B': return 0xC2; '\u201E' => 0xC1,
case '\uF89C': return 0xC3; '\uF89B' => 0xC2,
case '\uF89D': return 0xC4; '\uF89C' => 0xC3,
case '\uF89E': return 0xC5; '\uF89D' => 0xC4,
case '\u05BC': return 0xC6; '\uF89E' => 0xC5,
case '\uFB4B': return 0xC7; '\u05BC' => 0xC6,
case '\uFB35': return 0xC8; '\uFB4B' => 0xC7,
case '\u2026': return 0xC9; '\uFB35' => 0xC8,
case '\u00A0': return 0xCA; '\u2026' => 0xC9,
case '\u05B8': return 0xCB; '\u00A0' => 0xCA,
case '\u05B7': return 0xCC; '\u05B8' => 0xCB,
case '\u05B5': return 0xCD; '\u05B7' => 0xCC,
case '\u05B6': return 0xCE; '\u05B5' => 0xCD,
case '\u05B4': return 0xCF; '\u05B6' => 0xCE,
case '\u2013': return 0xD0; '\u05B4' => 0xCF,
case '\u2014': return 0xD1; '\u2013' => 0xD0,
case '\u201C': return 0xD2; '\u2014' => 0xD1,
case '\u201D': return 0xD3; '\u201C' => 0xD2,
case '\u2018': return 0xD4; '\u201D' => 0xD3,
case '\u2019': return 0xD5; '\u2018' => 0xD4,
case '\uFB2A': return 0xD6; '\u2019' => 0xD5,
case '\uFB2B': return 0xD7; '\uFB2A' => 0xD6,
case '\u05BF': return 0xD8; '\uFB2B' => 0xD7,
case '\u05B0': return 0xD9; '\u05BF' => 0xD8,
case '\u05B2': return 0xDA; '\u05B0' => 0xD9,
case '\u05B1': return 0xDB; '\u05B2' => 0xDA,
case '\u05BB': return 0xDC; '\u05B1' => 0xDB,
case '\u05B9': return 0xDD; '\u05BB' => 0xDC,
case '\u05B3': return 0xDF; '\u05B9' => 0xDD,
case '\u05D0': return 0xE0; '\u05B3' => 0xDF,
case '\u05D1': return 0xE1; '\u05D0' => 0xE0,
case '\u05D2': return 0xE2; '\u05D1' => 0xE1,
case '\u05D3': return 0xE3; '\u05D2' => 0xE2,
case '\u05D4': return 0xE4; '\u05D3' => 0xE3,
case '\u05D5': return 0xE5; '\u05D4' => 0xE4,
case '\u05D6': return 0xE6; '\u05D5' => 0xE5,
case '\u05D7': return 0xE7; '\u05D6' => 0xE6,
case '\u05D8': return 0xE8; '\u05D7' => 0xE7,
case '\u05D9': return 0xE9; '\u05D8' => 0xE8,
case '\u05DA': return 0xEA; '\u05D9' => 0xE9,
case '\u05DB': return 0xEB; '\u05DA' => 0xEA,
case '\u05DC': return 0xEC; '\u05DB' => 0xEB,
case '\u05DD': return 0xED; '\u05DC' => 0xEC,
case '\u05DE': return 0xEE; '\u05DD' => 0xED,
case '\u05DF': return 0xEF; '\u05DE' => 0xEE,
case '\u05E0': return 0xF0; '\u05DF' => 0xEF,
case '\u05E1': return 0xF1; '\u05E0' => 0xF0,
case '\u05E2': return 0xF2; '\u05E1' => 0xF1,
case '\u05E3': return 0xF3; '\u05E2' => 0xF2,
case '\u05E4': return 0xF4; '\u05E3' => 0xF3,
case '\u05E5': return 0xF5; '\u05E4' => 0xF4,
case '\u05E6': return 0xF6; '\u05E5' => 0xF5,
case '\u05E7': return 0xF7; '\u05E6' => 0xF6,
case '\u05E8': return 0xF8; '\u05E7' => 0xF7,
case '\u05E9': return 0xF9; '\u05E8' => 0xF8,
case '\u05EA': return 0xFA; '\u05E9' => 0xF9,
default: '\u05EA' => 0xFA,
// Fallback to '?' _ => 0x3F
return 0x3F; };
}
}
} }
} }

View File

@@ -53,7 +53,7 @@ namespace Claunia.Encoding
'\u0008', '\u0009', '\u000A', '\u000B', '\u000C', '\u000D', '\u000E', '\u000F', '\u0008', '\u0009', '\u000A', '\u000B', '\u000C', '\u000D', '\u000E', '\u000F',
// 0x10 // 0x10
'\u0010', '\u0011', '\u0012', '\u0013', '\u0014', '\u0015', '\u0016', '\u0017', '\u0010', '\u2318', '\u2713', '\u25C6', '\uF8FF', '\u0015', '\u0016', '\u0017',
// 0x18 // 0x18
'\u0018', '\u0019', '\u001A', '\u001B', '\u001C', '\u001D', '\u001E', '\u001F', '\u0018', '\u0019', '\u001A', '\u001B', '\u001C', '\u001D', '\u001E', '\u001F',
@@ -146,270 +146,268 @@ namespace Claunia.Encoding
/// <summary>Converts a Unicode character to an MacRoman character</summary> /// <summary>Converts a Unicode character to an MacRoman character</summary>
/// <returns>MacRoman character.</returns> /// <returns>MacRoman character.</returns>
/// <param name="character">Unicode character.</param> /// <param name="character">Unicode character.</param>
private protected override byte GetByte(char character) private protected override byte GetByte(char character) => character switch
{ {
switch(character) '\u0000' => 0x00,
{ '\u0001' => 0x01,
case '\u0000': return 0x00; '\u0002' => 0x02,
case '\u0001': return 0x01; '\u0003' => 0x03,
case '\u0002': return 0x02; '\u0004' => 0x04,
case '\u0003': return 0x03; '\u0005' => 0x05,
case '\u0004': return 0x04; '\u0006' => 0x06,
case '\u0005': return 0x05; '\u0007' => 0x07,
case '\u0006': return 0x06; '\u0008' => 0x08,
case '\u0007': return 0x07; '\u0009' => 0x09,
case '\u0008': return 0x08; '\u000A' => 0x0A,
case '\u0009': return 0x09; '\u000B' => 0x0B,
case '\u000A': return 0x0A; '\u000C' => 0x0C,
case '\u000B': return 0x0B; '\u000D' => 0x0D,
case '\u000C': return 0x0C; '\u000E' => 0x0E,
case '\u000D': return 0x0D; '\u000F' => 0x0F,
case '\u000E': return 0x0E; '\u0010' => 0x10,
case '\u000F': return 0x0F; '\u0011' => 0x11,
case '\u0010': return 0x10; '\u2318' => 0x11,
case '\u0011': return 0x11; '\u0012' => 0x12,
case '\u0012': return 0x12; '\u2713' => 0x12,
case '\u0013': return 0x13; '\u0013' => 0x13,
case '\u0014': return 0x14; '\u25C6' => 0x13,
case '\u0015': return 0x15; '\u0014' => 0x14,
case '\u0016': return 0x16; '\u0015' => 0x15,
case '\u0017': return 0x17; '\u0016' => 0x16,
case '\u0018': return 0x18; '\u0017' => 0x17,
case '\u0019': return 0x19; '\u0018' => 0x18,
case '\u001A': return 0x1A; '\u0019' => 0x19,
case '\u001B': return 0x1B; '\u001A' => 0x1A,
case '\u001C': return 0x1C; '\u001B' => 0x1B,
case '\u001D': return 0x1D; '\u001C' => 0x1C,
case '\u001E': return 0x1E; '\u001D' => 0x1D,
case '\u001F': return 0x1F; '\u001E' => 0x1E,
case '\u0020': return 0x20; '\u001F' => 0x1F,
case '\u0021': return 0x21; '\u0020' => 0x20,
case '\u0022': return 0x22; '\u0021' => 0x21,
case '\u0023': return 0x23; '\u0022' => 0x22,
case '\u0024': return 0x24; '\u0023' => 0x23,
case '\u0025': return 0x25; '\u0024' => 0x24,
case '\u0026': return 0x26; '\u0025' => 0x25,
case '\u0027': return 0x27; '\u0026' => 0x26,
case '\u0028': return 0x28; '\u0027' => 0x27,
case '\u0029': return 0x29; '\u0028' => 0x28,
case '\u002A': return 0x2A; '\u0029' => 0x29,
case '\u002B': return 0x2B; '\u002A' => 0x2A,
case '\u002C': return 0x2C; '\u002B' => 0x2B,
case '\u002D': return 0x2D; '\u002C' => 0x2C,
case '\u002E': return 0x2E; '\u002D' => 0x2D,
case '\u002F': return 0x2F; '\u002E' => 0x2E,
case '\u0030': return 0x30; '\u002F' => 0x2F,
case '\u0031': return 0x31; '\u0030' => 0x30,
case '\u0032': return 0x32; '\u0031' => 0x31,
case '\u0033': return 0x33; '\u0032' => 0x32,
case '\u0034': return 0x34; '\u0033' => 0x33,
case '\u0035': return 0x35; '\u0034' => 0x34,
case '\u0036': return 0x36; '\u0035' => 0x35,
case '\u0037': return 0x37; '\u0036' => 0x36,
case '\u0038': return 0x38; '\u0037' => 0x37,
case '\u0039': return 0x39; '\u0038' => 0x38,
case '\u003A': return 0x3A; '\u0039' => 0x39,
case '\u003B': return 0x3B; '\u003A' => 0x3A,
case '\u003C': return 0x3C; '\u003B' => 0x3B,
case '\u003D': return 0x3D; '\u003C' => 0x3C,
case '\u003E': return 0x3E; '\u003D' => 0x3D,
case '\u003F': return 0x3F; '\u003E' => 0x3E,
case '\u0040': return 0x40; '\u003F' => 0x3F,
case '\u0041': return 0x41; '\u0040' => 0x40,
case '\u0042': return 0x42; '\u0041' => 0x41,
case '\u0043': return 0x43; '\u0042' => 0x42,
case '\u0044': return 0x44; '\u0043' => 0x43,
case '\u0045': return 0x45; '\u0044' => 0x44,
case '\u0046': return 0x46; '\u0045' => 0x45,
case '\u0047': return 0x47; '\u0046' => 0x46,
case '\u0048': return 0x48; '\u0047' => 0x47,
case '\u0049': return 0x49; '\u0048' => 0x48,
case '\u004A': return 0x4A; '\u0049' => 0x49,
case '\u004B': return 0x4B; '\u004A' => 0x4A,
case '\u004C': return 0x4C; '\u004B' => 0x4B,
case '\u004D': return 0x4D; '\u004C' => 0x4C,
case '\u004E': return 0x4E; '\u004D' => 0x4D,
case '\u004F': return 0x4F; '\u004E' => 0x4E,
case '\u0050': return 0x50; '\u004F' => 0x4F,
case '\u0051': return 0x51; '\u0050' => 0x50,
case '\u0052': return 0x52; '\u0051' => 0x51,
case '\u0053': return 0x53; '\u0052' => 0x52,
case '\u0054': return 0x54; '\u0053' => 0x53,
case '\u0055': return 0x55; '\u0054' => 0x54,
case '\u0056': return 0x56; '\u0055' => 0x55,
case '\u0057': return 0x57; '\u0056' => 0x56,
case '\u0058': return 0x58; '\u0057' => 0x57,
case '\u0059': return 0x59; '\u0058' => 0x58,
case '\u005A': return 0x5A; '\u0059' => 0x59,
case '\u005B': return 0x5B; '\u005A' => 0x5A,
case '\u005C': return 0x5C; '\u005B' => 0x5B,
case '\u005D': return 0x5D; '\u005C' => 0x5C,
case '\u005E': return 0x5E; '\u005D' => 0x5D,
case '\u005F': return 0x5F; '\u005E' => 0x5E,
case '\u0060': return 0x60; '\u005F' => 0x5F,
case '\u0061': return 0x61; '\u0060' => 0x60,
case '\u0062': return 0x62; '\u0061' => 0x61,
case '\u0063': return 0x63; '\u0062' => 0x62,
case '\u0064': return 0x64; '\u0063' => 0x63,
case '\u0065': return 0x65; '\u0064' => 0x64,
case '\u0066': return 0x66; '\u0065' => 0x65,
case '\u0067': return 0x67; '\u0066' => 0x66,
case '\u0068': return 0x68; '\u0067' => 0x67,
case '\u0069': return 0x69; '\u0068' => 0x68,
case '\u006A': return 0x6A; '\u0069' => 0x69,
case '\u006B': return 0x6B; '\u006A' => 0x6A,
case '\u006C': return 0x6C; '\u006B' => 0x6B,
case '\u006D': return 0x6D; '\u006C' => 0x6C,
case '\u006E': return 0x6E; '\u006D' => 0x6D,
case '\u006F': return 0x6F; '\u006E' => 0x6E,
case '\u0070': return 0x70; '\u006F' => 0x6F,
case '\u0071': return 0x71; '\u0070' => 0x70,
case '\u0072': return 0x72; '\u0071' => 0x71,
case '\u0073': return 0x73; '\u0072' => 0x72,
case '\u0074': return 0x74; '\u0073' => 0x73,
case '\u0075': return 0x75; '\u0074' => 0x74,
case '\u0076': return 0x76; '\u0075' => 0x75,
case '\u0077': return 0x77; '\u0076' => 0x76,
case '\u0078': return 0x78; '\u0077' => 0x77,
case '\u0079': return 0x79; '\u0078' => 0x78,
case '\u007A': return 0x7A; '\u0079' => 0x79,
case '\u007B': return 0x7B; '\u007A' => 0x7A,
case '\u007C': return 0x7C; '\u007B' => 0x7B,
case '\u007D': return 0x7D; '\u007C' => 0x7C,
case '\u007E': return 0x7E; '\u007D' => 0x7D,
case '\u007F': return 0x7F; '\u007E' => 0x7E,
case '\u00C4': return 0x80; '\u007F' => 0x7F,
case '\u00C5': return 0x81; '\u00C4' => 0x80,
case '\u00C7': return 0x82; '\u00C5' => 0x81,
case '\u00C9': return 0x83; '\u00C7' => 0x82,
case '\u00D1': return 0x84; '\u00C9' => 0x83,
case '\u00D6': return 0x85; '\u00D1' => 0x84,
case '\u00DC': return 0x86; '\u00D6' => 0x85,
case '\u00E1': return 0x87; '\u00DC' => 0x86,
case '\u00E0': return 0x88; '\u00E1' => 0x87,
case '\u00E2': return 0x89; '\u00E0' => 0x88,
case '\u00E4': return 0x8A; '\u00E2' => 0x89,
case '\u00E3': return 0x8B; '\u00E4' => 0x8A,
case '\u00E5': return 0x8C; '\u00E3' => 0x8B,
case '\u00E7': return 0x8D; '\u00E5' => 0x8C,
case '\u00E9': return 0x8E; '\u00E7' => 0x8D,
case '\u00E8': return 0x8F; '\u00E9' => 0x8E,
case '\u00EA': return 0x90; '\u00E8' => 0x8F,
case '\u00EB': return 0x91; '\u00EA' => 0x90,
case '\u00ED': return 0x92; '\u00EB' => 0x91,
case '\u00EC': return 0x93; '\u00ED' => 0x92,
case '\u00EE': return 0x94; '\u00EC' => 0x93,
case '\u00EF': return 0x95; '\u00EE' => 0x94,
case '\u00F1': return 0x96; '\u00EF' => 0x95,
case '\u00F3': return 0x97; '\u00F1' => 0x96,
case '\u00F2': return 0x98; '\u00F3' => 0x97,
case '\u00F4': return 0x99; '\u00F2' => 0x98,
case '\u00F6': return 0x9A; '\u00F4' => 0x99,
case '\u00F5': return 0x9B; '\u00F6' => 0x9A,
case '\u00FA': return 0x9C; '\u00F5' => 0x9B,
case '\u00F9': return 0x9D; '\u00FA' => 0x9C,
case '\u00FB': return 0x9E; '\u00F9' => 0x9D,
case '\u00FC': return 0x9F; '\u00FB' => 0x9E,
case '\u2020': return 0xA0; '\u00FC' => 0x9F,
case '\u00B0': return 0xA1; '\u2020' => 0xA0,
case '\u00A2': return 0xA2; '\u00B0' => 0xA1,
case '\u00A3': return 0xA3; '\u00A2' => 0xA2,
case '\u00A7': return 0xA4; '\u00A3' => 0xA3,
case '\u2022': return 0xA5; '\u00A7' => 0xA4,
case '\u00B6': return 0xA6; '\u2022' => 0xA5,
case '\u00DF': return 0xA7; '\u00B6' => 0xA6,
case '\u00AE': return 0xA8; '\u00DF' => 0xA7,
case '\u00A9': return 0xA9; '\u00AE' => 0xA8,
case '\u2122': return 0xAA; '\u00A9' => 0xA9,
case '\u00B4': return 0xAB; '\u2122' => 0xAA,
case '\u00A8': return 0xAC; '\u00B4' => 0xAB,
case '\u2260': return 0xAD; '\u00A8' => 0xAC,
case '\u00C6': return 0xAE; '\u2260' => 0xAD,
case '\u00D8': return 0xAF; '\u00C6' => 0xAE,
case '\u221E': return 0xB0; '\u00D8' => 0xAF,
case '\u00B1': return 0xB1; '\u221E' => 0xB0,
case '\u2264': return 0xB2; '\u00B1' => 0xB1,
case '\u2265': return 0xB3; '\u2264' => 0xB2,
case '\u00A5': return 0xB4; '\u2265' => 0xB3,
case '\u00B5': return 0xB5; '\u00A5' => 0xB4,
case '\u2202': return 0xB6; '\u00B5' => 0xB5,
case '\u2211': return 0xB7; '\u2202' => 0xB6,
case '\u220F': return 0xB8; '\u2211' => 0xB7,
case '\u03C0': return 0xB9; '\u220F' => 0xB8,
case '\u222B': return 0xBA; '\u03C0' => 0xB9,
case '\u00AA': return 0xBB; '\u222B' => 0xBA,
case '\u00BA': return 0xBC; '\u00AA' => 0xBB,
case '\u03A9': return 0xBD; '\u00BA' => 0xBC,
case '\u00E6': return 0xBE; '\u03A9' => 0xBD,
case '\u00F8': return 0xBF; '\u00E6' => 0xBE,
case '\u00BF': return 0xC0; '\u00F8' => 0xBF,
case '\u00A1': return 0xC1; '\u00BF' => 0xC0,
case '\u00AC': return 0xC2; '\u00A1' => 0xC1,
case '\u221A': return 0xC3; '\u00AC' => 0xC2,
case '\u0192': return 0xC4; '\u221A' => 0xC3,
case '\u2248': return 0xC5; '\u0192' => 0xC4,
case '\u2206': return 0xC6; '\u2248' => 0xC5,
case '\u00AB': return 0xC7; '\u2206' => 0xC6,
case '\u00BB': return 0xC8; '\u00AB' => 0xC7,
case '\u2026': return 0xC9; '\u00BB' => 0xC8,
case '\u00A0': return 0xCA; '\u2026' => 0xC9,
case '\u00C0': return 0xCB; '\u00A0' => 0xCA,
case '\u00C3': return 0xCC; '\u00C0' => 0xCB,
case '\u00D5': return 0xCD; '\u00C3' => 0xCC,
case '\u0152': return 0xCE; '\u00D5' => 0xCD,
case '\u0153': return 0xCF; '\u0152' => 0xCE,
case '\u2013': return 0xD0; '\u0153' => 0xCF,
case '\u2014': return 0xD1; '\u2013' => 0xD0,
case '\u201C': return 0xD2; '\u2014' => 0xD1,
case '\u201D': return 0xD3; '\u201C' => 0xD2,
case '\u2018': return 0xD4; '\u201D' => 0xD3,
case '\u2019': return 0xD5; '\u2018' => 0xD4,
case '\u00F7': return 0xD6; '\u2019' => 0xD5,
case '\u25CA': return 0xD7; '\u00F7' => 0xD6,
case '\u00FF': return 0xD8; '\u25CA' => 0xD7,
case '\u0178': return 0xD9; '\u00FF' => 0xD8,
case '\u2044': return 0xDA; '\u0178' => 0xD9,
case '\u20AC': return 0xDB; '\u2044' => 0xDA,
case '\u2039': return 0xDC; '\u20AC' => 0xDB,
case '\u203A': return 0xDD; '\u2039' => 0xDC,
case '\uFB01': return 0xDE; '\u203A' => 0xDD,
case '\uFB02': return 0xDF; '\uFB01' => 0xDE,
case '\u2021': return 0xE0; '\uFB02' => 0xDF,
case '\u00B7': return 0xE1; '\u2021' => 0xE0,
case '\u201A': return 0xE2; '\u00B7' => 0xE1,
case '\u201E': return 0xE3; '\u201A' => 0xE2,
case '\u2030': return 0xE4; '\u201E' => 0xE3,
case '\u00C2': return 0xE5; '\u2030' => 0xE4,
case '\u00CA': return 0xE6; '\u00C2' => 0xE5,
case '\u00C1': return 0xE7; '\u00CA' => 0xE6,
case '\u00CB': return 0xE8; '\u00C1' => 0xE7,
case '\u00C8': return 0xE9; '\u00CB' => 0xE8,
case '\u00CD': return 0xEA; '\u00C8' => 0xE9,
case '\u00CE': return 0xEB; '\u00CD' => 0xEA,
case '\u00CF': return 0xEC; '\u00CE' => 0xEB,
case '\u00CC': return 0xED; '\u00CF' => 0xEC,
case '\u00D3': return 0xEE; '\u00CC' => 0xED,
case '\u00D4': return 0xEF; '\u00D3' => 0xEE,
case '\uF8FF': return 0xF0; '\u00D4' => 0xEF,
case '\u00D2': return 0xF1; '\uF8FF' => 0xF0,
case '\u00DA': return 0xF2; '\u00D2' => 0xF1,
case '\u00DB': return 0xF3; '\u00DA' => 0xF2,
case '\u00D9': return 0xF4; '\u00DB' => 0xF3,
case '\u0131': return 0xF5; '\u00D9' => 0xF4,
case '\u02C6': return 0xF6; '\u0131' => 0xF5,
case '\u02DC': return 0xF7; '\u02C6' => 0xF6,
case '\u00AF': return 0xF8; '\u02DC' => 0xF7,
case '\u02D8': return 0xF9; '\u00AF' => 0xF8,
case '\u02D9': return 0xFA; '\u02D8' => 0xF9,
case '\u02DA': return 0xFB; '\u02D9' => 0xFA,
case '\u00B8': return 0xFC; '\u02DA' => 0xFB,
case '\u02DD': return 0xFD; '\u00B8' => 0xFC,
case '\u02DB': return 0xFE; '\u02DD' => 0xFD,
case '\u02C7': return 0xFF; '\u02DB' => 0xFE,
default: '\u02C7' => 0xFF,
// Fallback to '?' _ => 0x3F
return 0x3F; };
}
}
} }
} }

View File

@@ -53,7 +53,7 @@ namespace Claunia.Encoding
'\u0008', '\u0009', '\u000A', '\u000B', '\u000C', '\u000D', '\u000E', '\u000F', '\u0008', '\u0009', '\u000A', '\u000B', '\u000C', '\u000D', '\u000E', '\u000F',
// 0x10 // 0x10
'\u0010', '\u0011', '\u0012', '\u0013', '\u0014', '\u0015', '\u0016', '\u0017', '\u0010', '\u2318', '\u2713', '\u25C6', '\uF8FF', '\u0015', '\u0016', '\u0017',
// 0x18 // 0x18
'\u0018', '\u0019', '\u001A', '\u001B', '\u001C', '\u001D', '\u001E', '\u001F', '\u0018', '\u0019', '\u001A', '\u001B', '\u001C', '\u001D', '\u001E', '\u001F',
@@ -146,270 +146,267 @@ namespace Claunia.Encoding
/// <summary>Converts a Unicode character to an MacRomanian character</summary> /// <summary>Converts a Unicode character to an MacRomanian character</summary>
/// <returns>MacRomanian character.</returns> /// <returns>MacRomanian character.</returns>
/// <param name="character">Unicode character.</param> /// <param name="character">Unicode character.</param>
private protected override byte GetByte(char character) private protected override byte GetByte(char character) => character switch
{ {
switch(character) '\u0000' => 0x00,
{ '\u0001' => 0x01,
case '\u0000': return 0x00; '\u0002' => 0x02,
case '\u0001': return 0x01; '\u0003' => 0x03,
case '\u0002': return 0x02; '\u0004' => 0x04,
case '\u0003': return 0x03; '\u0005' => 0x05,
case '\u0004': return 0x04; '\u0006' => 0x06,
case '\u0005': return 0x05; '\u0007' => 0x07,
case '\u0006': return 0x06; '\u0008' => 0x08,
case '\u0007': return 0x07; '\u0009' => 0x09,
case '\u0008': return 0x08; '\u000A' => 0x0A,
case '\u0009': return 0x09; '\u000B' => 0x0B,
case '\u000A': return 0x0A; '\u000C' => 0x0C,
case '\u000B': return 0x0B; '\u000D' => 0x0D,
case '\u000C': return 0x0C; '\u000E' => 0x0E,
case '\u000D': return 0x0D; '\u000F' => 0x0F,
case '\u000E': return 0x0E; '\u0010' => 0x10,
case '\u000F': return 0x0F; '\u2318' => 0x11,
case '\u0010': return 0x10; '\u0012' => 0x12,
case '\u0011': return 0x11; '\u2713' => 0x12,
case '\u0012': return 0x12; '\u0013' => 0x13,
case '\u0013': return 0x13; '\u25C6' => 0x13,
case '\u0014': return 0x14; '\u0014' => 0x14,
case '\u0015': return 0x15; '\u0015' => 0x15,
case '\u0016': return 0x16; '\u0016' => 0x16,
case '\u0017': return 0x17; '\u0017' => 0x17,
case '\u0018': return 0x18; '\u0018' => 0x18,
case '\u0019': return 0x19; '\u0019' => 0x19,
case '\u001A': return 0x1A; '\u001A' => 0x1A,
case '\u001B': return 0x1B; '\u001B' => 0x1B,
case '\u001C': return 0x1C; '\u001C' => 0x1C,
case '\u001D': return 0x1D; '\u001D' => 0x1D,
case '\u001E': return 0x1E; '\u001E' => 0x1E,
case '\u001F': return 0x1F; '\u001F' => 0x1F,
case '\u0020': return 0x20; '\u0020' => 0x20,
case '\u0021': return 0x21; '\u0021' => 0x21,
case '\u0022': return 0x22; '\u0022' => 0x22,
case '\u0023': return 0x23; '\u0023' => 0x23,
case '\u0024': return 0x24; '\u0024' => 0x24,
case '\u0025': return 0x25; '\u0025' => 0x25,
case '\u0026': return 0x26; '\u0026' => 0x26,
case '\u0027': return 0x27; '\u0027' => 0x27,
case '\u0028': return 0x28; '\u0028' => 0x28,
case '\u0029': return 0x29; '\u0029' => 0x29,
case '\u002A': return 0x2A; '\u002A' => 0x2A,
case '\u002B': return 0x2B; '\u002B' => 0x2B,
case '\u002C': return 0x2C; '\u002C' => 0x2C,
case '\u002D': return 0x2D; '\u002D' => 0x2D,
case '\u002E': return 0x2E; '\u002E' => 0x2E,
case '\u002F': return 0x2F; '\u002F' => 0x2F,
case '\u0030': return 0x30; '\u0030' => 0x30,
case '\u0031': return 0x31; '\u0031' => 0x31,
case '\u0032': return 0x32; '\u0032' => 0x32,
case '\u0033': return 0x33; '\u0033' => 0x33,
case '\u0034': return 0x34; '\u0034' => 0x34,
case '\u0035': return 0x35; '\u0035' => 0x35,
case '\u0036': return 0x36; '\u0036' => 0x36,
case '\u0037': return 0x37; '\u0037' => 0x37,
case '\u0038': return 0x38; '\u0038' => 0x38,
case '\u0039': return 0x39; '\u0039' => 0x39,
case '\u003A': return 0x3A; '\u003A' => 0x3A,
case '\u003B': return 0x3B; '\u003B' => 0x3B,
case '\u003C': return 0x3C; '\u003C' => 0x3C,
case '\u003D': return 0x3D; '\u003D' => 0x3D,
case '\u003E': return 0x3E; '\u003E' => 0x3E,
case '\u003F': return 0x3F; '\u003F' => 0x3F,
case '\u0040': return 0x40; '\u0040' => 0x40,
case '\u0041': return 0x41; '\u0041' => 0x41,
case '\u0042': return 0x42; '\u0042' => 0x42,
case '\u0043': return 0x43; '\u0043' => 0x43,
case '\u0044': return 0x44; '\u0044' => 0x44,
case '\u0045': return 0x45; '\u0045' => 0x45,
case '\u0046': return 0x46; '\u0046' => 0x46,
case '\u0047': return 0x47; '\u0047' => 0x47,
case '\u0048': return 0x48; '\u0048' => 0x48,
case '\u0049': return 0x49; '\u0049' => 0x49,
case '\u004A': return 0x4A; '\u004A' => 0x4A,
case '\u004B': return 0x4B; '\u004B' => 0x4B,
case '\u004C': return 0x4C; '\u004C' => 0x4C,
case '\u004D': return 0x4D; '\u004D' => 0x4D,
case '\u004E': return 0x4E; '\u004E' => 0x4E,
case '\u004F': return 0x4F; '\u004F' => 0x4F,
case '\u0050': return 0x50; '\u0050' => 0x50,
case '\u0051': return 0x51; '\u0051' => 0x51,
case '\u0052': return 0x52; '\u0052' => 0x52,
case '\u0053': return 0x53; '\u0053' => 0x53,
case '\u0054': return 0x54; '\u0054' => 0x54,
case '\u0055': return 0x55; '\u0055' => 0x55,
case '\u0056': return 0x56; '\u0056' => 0x56,
case '\u0057': return 0x57; '\u0057' => 0x57,
case '\u0058': return 0x58; '\u0058' => 0x58,
case '\u0059': return 0x59; '\u0059' => 0x59,
case '\u005A': return 0x5A; '\u005A' => 0x5A,
case '\u005B': return 0x5B; '\u005B' => 0x5B,
case '\u005C': return 0x5C; '\u005C' => 0x5C,
case '\u005D': return 0x5D; '\u005D' => 0x5D,
case '\u005E': return 0x5E; '\u005E' => 0x5E,
case '\u005F': return 0x5F; '\u005F' => 0x5F,
case '\u0060': return 0x60; '\u0060' => 0x60,
case '\u0061': return 0x61; '\u0061' => 0x61,
case '\u0062': return 0x62; '\u0062' => 0x62,
case '\u0063': return 0x63; '\u0063' => 0x63,
case '\u0064': return 0x64; '\u0064' => 0x64,
case '\u0065': return 0x65; '\u0065' => 0x65,
case '\u0066': return 0x66; '\u0066' => 0x66,
case '\u0067': return 0x67; '\u0067' => 0x67,
case '\u0068': return 0x68; '\u0068' => 0x68,
case '\u0069': return 0x69; '\u0069' => 0x69,
case '\u006A': return 0x6A; '\u006A' => 0x6A,
case '\u006B': return 0x6B; '\u006B' => 0x6B,
case '\u006C': return 0x6C; '\u006C' => 0x6C,
case '\u006D': return 0x6D; '\u006D' => 0x6D,
case '\u006E': return 0x6E; '\u006E' => 0x6E,
case '\u006F': return 0x6F; '\u006F' => 0x6F,
case '\u0070': return 0x70; '\u0070' => 0x70,
case '\u0071': return 0x71; '\u0071' => 0x71,
case '\u0072': return 0x72; '\u0072' => 0x72,
case '\u0073': return 0x73; '\u0073' => 0x73,
case '\u0074': return 0x74; '\u0074' => 0x74,
case '\u0075': return 0x75; '\u0075' => 0x75,
case '\u0076': return 0x76; '\u0076' => 0x76,
case '\u0077': return 0x77; '\u0077' => 0x77,
case '\u0078': return 0x78; '\u0078' => 0x78,
case '\u0079': return 0x79; '\u0079' => 0x79,
case '\u007A': return 0x7A; '\u007A' => 0x7A,
case '\u007B': return 0x7B; '\u007B' => 0x7B,
case '\u007C': return 0x7C; '\u007C' => 0x7C,
case '\u007D': return 0x7D; '\u007D' => 0x7D,
case '\u007E': return 0x7E; '\u007E' => 0x7E,
case '\u007F': return 0x7F; '\u007F' => 0x7F,
case '\u00C4': return 0x80; '\u00C4' => 0x80,
case '\u00C5': return 0x81; '\u00C5' => 0x81,
case '\u00C7': return 0x82; '\u00C7' => 0x82,
case '\u00C9': return 0x83; '\u00C9' => 0x83,
case '\u00D1': return 0x84; '\u00D1' => 0x84,
case '\u00D6': return 0x85; '\u00D6' => 0x85,
case '\u00DC': return 0x86; '\u00DC' => 0x86,
case '\u00E1': return 0x87; '\u00E1' => 0x87,
case '\u00E0': return 0x88; '\u00E0' => 0x88,
case '\u00E2': return 0x89; '\u00E2' => 0x89,
case '\u00E4': return 0x8A; '\u00E4' => 0x8A,
case '\u00E3': return 0x8B; '\u00E3' => 0x8B,
case '\u00E5': return 0x8C; '\u00E5' => 0x8C,
case '\u00E7': return 0x8D; '\u00E7' => 0x8D,
case '\u00E9': return 0x8E; '\u00E9' => 0x8E,
case '\u00E8': return 0x8F; '\u00E8' => 0x8F,
case '\u00EA': return 0x90; '\u00EA' => 0x90,
case '\u00EB': return 0x91; '\u00EB' => 0x91,
case '\u00ED': return 0x92; '\u00ED' => 0x92,
case '\u00EC': return 0x93; '\u00EC' => 0x93,
case '\u00EE': return 0x94; '\u00EE' => 0x94,
case '\u00EF': return 0x95; '\u00EF' => 0x95,
case '\u00F1': return 0x96; '\u00F1' => 0x96,
case '\u00F3': return 0x97; '\u00F3' => 0x97,
case '\u00F2': return 0x98; '\u00F2' => 0x98,
case '\u00F4': return 0x99; '\u00F4' => 0x99,
case '\u00F6': return 0x9A; '\u00F6' => 0x9A,
case '\u00F5': return 0x9B; '\u00F5' => 0x9B,
case '\u00FA': return 0x9C; '\u00FA' => 0x9C,
case '\u00F9': return 0x9D; '\u00F9' => 0x9D,
case '\u00FB': return 0x9E; '\u00FB' => 0x9E,
case '\u00FC': return 0x9F; '\u00FC' => 0x9F,
case '\u2020': return 0xA0; '\u2020' => 0xA0,
case '\u00B0': return 0xA1; '\u00B0' => 0xA1,
case '\u00A2': return 0xA2; '\u00A2' => 0xA2,
case '\u00A3': return 0xA3; '\u00A3' => 0xA3,
case '\u00A7': return 0xA4; '\u00A7' => 0xA4,
case '\u2022': return 0xA5; '\u2022' => 0xA5,
case '\u00B6': return 0xA6; '\u00B6' => 0xA6,
case '\u00DF': return 0xA7; '\u00DF' => 0xA7,
case '\u00AE': return 0xA8; '\u00AE' => 0xA8,
case '\u00A9': return 0xA9; '\u00A9' => 0xA9,
case '\u2122': return 0xAA; '\u2122' => 0xAA,
case '\u00B4': return 0xAB; '\u00B4' => 0xAB,
case '\u00A8': return 0xAC; '\u00A8' => 0xAC,
case '\u2260': return 0xAD; '\u2260' => 0xAD,
case '\u0102': return 0xAE; '\u0102' => 0xAE,
case '\u0218': return 0xAF; '\u0218' => 0xAF,
case '\u221E': return 0xB0; '\u221E' => 0xB0,
case '\u00B1': return 0xB1; '\u00B1' => 0xB1,
case '\u2264': return 0xB2; '\u2264' => 0xB2,
case '\u2265': return 0xB3; '\u2265' => 0xB3,
case '\u00A5': return 0xB4; '\u00A5' => 0xB4,
case '\u00B5': return 0xB5; '\u00B5' => 0xB5,
case '\u2202': return 0xB6; '\u2202' => 0xB6,
case '\u2211': return 0xB7; '\u2211' => 0xB7,
case '\u220F': return 0xB8; '\u220F' => 0xB8,
case '\u03C0': return 0xB9; '\u03C0' => 0xB9,
case '\u222B': return 0xBA; '\u222B' => 0xBA,
case '\u00AA': return 0xBB; '\u00AA' => 0xBB,
case '\u00BA': return 0xBC; '\u00BA' => 0xBC,
case '\u03A9': return 0xBD; '\u03A9' => 0xBD,
case '\u0103': return 0xBE; '\u0103' => 0xBE,
case '\u0219': return 0xBF; '\u0219' => 0xBF,
case '\u00BF': return 0xC0; '\u00BF' => 0xC0,
case '\u00A1': return 0xC1; '\u00A1' => 0xC1,
case '\u00AC': return 0xC2; '\u00AC' => 0xC2,
case '\u221A': return 0xC3; '\u221A' => 0xC3,
case '\u0192': return 0xC4; '\u0192' => 0xC4,
case '\u2248': return 0xC5; '\u2248' => 0xC5,
case '\u2206': return 0xC6; '\u2206' => 0xC6,
case '\u00AB': return 0xC7; '\u00AB' => 0xC7,
case '\u00BB': return 0xC8; '\u00BB' => 0xC8,
case '\u2026': return 0xC9; '\u2026' => 0xC9,
case '\u00A0': return 0xCA; '\u00A0' => 0xCA,
case '\u00C0': return 0xCB; '\u00C0' => 0xCB,
case '\u00C3': return 0xCC; '\u00C3' => 0xCC,
case '\u00D5': return 0xCD; '\u00D5' => 0xCD,
case '\u0152': return 0xCE; '\u0152' => 0xCE,
case '\u0153': return 0xCF; '\u0153' => 0xCF,
case '\u2013': return 0xD0; '\u2013' => 0xD0,
case '\u2014': return 0xD1; '\u2014' => 0xD1,
case '\u201C': return 0xD2; '\u201C' => 0xD2,
case '\u201D': return 0xD3; '\u201D' => 0xD3,
case '\u2018': return 0xD4; '\u2018' => 0xD4,
case '\u2019': return 0xD5; '\u2019' => 0xD5,
case '\u00F7': return 0xD6; '\u00F7' => 0xD6,
case '\u25CA': return 0xD7; '\u25CA' => 0xD7,
case '\u00FF': return 0xD8; '\u00FF' => 0xD8,
case '\u0178': return 0xD9; '\u0178' => 0xD9,
case '\u2044': return 0xDA; '\u2044' => 0xDA,
case '\u20AC': return 0xDB; '\u20AC' => 0xDB,
case '\u2039': return 0xDC; '\u2039' => 0xDC,
case '\u203A': return 0xDD; '\u203A' => 0xDD,
case '\u021A': return 0xDE; '\u021A' => 0xDE,
case '\u021B': return 0xDF; '\u021B' => 0xDF,
case '\u2021': return 0xE0; '\u2021' => 0xE0,
case '\u00B7': return 0xE1; '\u00B7' => 0xE1,
case '\u201A': return 0xE2; '\u201A' => 0xE2,
case '\u201E': return 0xE3; '\u201E' => 0xE3,
case '\u2030': return 0xE4; '\u2030' => 0xE4,
case '\u00C2': return 0xE5; '\u00C2' => 0xE5,
case '\u00CA': return 0xE6; '\u00CA' => 0xE6,
case '\u00C1': return 0xE7; '\u00C1' => 0xE7,
case '\u00CB': return 0xE8; '\u00CB' => 0xE8,
case '\u00C8': return 0xE9; '\u00C8' => 0xE9,
case '\u00CD': return 0xEA; '\u00CD' => 0xEA,
case '\u00CE': return 0xEB; '\u00CE' => 0xEB,
case '\u00CF': return 0xEC; '\u00CF' => 0xEC,
case '\u00CC': return 0xED; '\u00CC' => 0xED,
case '\u00D3': return 0xEE; '\u00D3' => 0xEE,
case '\u00D4': return 0xEF; '\u00D4' => 0xEF,
case '\uF8FF': return 0xF0; '\uF8FF' => 0xF0,
case '\u00D2': return 0xF1; '\u00D2' => 0xF1,
case '\u00DA': return 0xF2; '\u00DA' => 0xF2,
case '\u00DB': return 0xF3; '\u00DB' => 0xF3,
case '\u00D9': return 0xF4; '\u00D9' => 0xF4,
case '\u0131': return 0xF5; '\u0131' => 0xF5,
case '\u02C6': return 0xF6; '\u02C6' => 0xF6,
case '\u02DC': return 0xF7; '\u02DC' => 0xF7,
case '\u00AF': return 0xF8; '\u00AF' => 0xF8,
case '\u02D8': return 0xF9; '\u02D8' => 0xF9,
case '\u02D9': return 0xFA; '\u02D9' => 0xFA,
case '\u02DA': return 0xFB; '\u02DA' => 0xFB,
case '\u00B8': return 0xFC; '\u00B8' => 0xFC,
case '\u02DD': return 0xFD; '\u02DD' => 0xFD,
case '\u02DB': return 0xFE; '\u02DB' => 0xFE,
case '\u02C7': return 0xFF; '\u02C7' => 0xFF,
default: _ => 0x3F
// Fallback to '?' };
return 0x3F;
}
}
} }
} }

View File

@@ -53,7 +53,7 @@ namespace Claunia.Encoding
'\u0008', '\u0009', '\u000A', '\u000B', '\u000C', '\u000D', '\u000E', '\u000F', '\u0008', '\u0009', '\u000A', '\u000B', '\u000C', '\u000D', '\u000E', '\u000F',
// 0x10 // 0x10
'\u0010', '\u0011', '\u0012', '\u0013', '\u0014', '\u0015', '\u0016', '\u0017', '\u0010', '\u2318', '\u2713', '\u25C6', '\uF8FF', '\u0015', '\u0016', '\u0017',
// 0x18 // 0x18
'\u0018', '\u0019', '\u001A', '\u001B', '\u001C', '\u001D', '\u001E', '\u001F', '\u0018', '\u0019', '\u001A', '\u001B', '\u001C', '\u001D', '\u001E', '\u001F',
@@ -146,270 +146,267 @@ namespace Claunia.Encoding
/// <summary>Converts a Unicode character to an Mac Turkish character</summary> /// <summary>Converts a Unicode character to an Mac Turkish character</summary>
/// <returns>Mac Turkish character.</returns> /// <returns>Mac Turkish character.</returns>
/// <param name="character">Unicode character.</param> /// <param name="character">Unicode character.</param>
private protected override byte GetByte(char character) private protected override byte GetByte(char character) => character switch
{ {
switch(character) '\u0000' => 0x00,
{ '\u0001' => 0x01,
case '\u0000': return 0x00; '\u0002' => 0x02,
case '\u0001': return 0x01; '\u0003' => 0x03,
case '\u0002': return 0x02; '\u0004' => 0x04,
case '\u0003': return 0x03; '\u0005' => 0x05,
case '\u0004': return 0x04; '\u0006' => 0x06,
case '\u0005': return 0x05; '\u0007' => 0x07,
case '\u0006': return 0x06; '\u0008' => 0x08,
case '\u0007': return 0x07; '\u0009' => 0x09,
case '\u0008': return 0x08; '\u000A' => 0x0A,
case '\u0009': return 0x09; '\u000B' => 0x0B,
case '\u000A': return 0x0A; '\u000C' => 0x0C,
case '\u000B': return 0x0B; '\u000D' => 0x0D,
case '\u000C': return 0x0C; '\u000E' => 0x0E,
case '\u000D': return 0x0D; '\u000F' => 0x0F,
case '\u000E': return 0x0E; '\u0010' => 0x10,
case '\u000F': return 0x0F; '\u2318' => 0x11,
case '\u0010': return 0x10; '\u0012' => 0x12,
case '\u0011': return 0x11; '\u2713' => 0x12,
case '\u0012': return 0x12; '\u0013' => 0x13,
case '\u0013': return 0x13; '\u25C6' => 0x13,
case '\u0014': return 0x14; '\u0014' => 0x14,
case '\u0015': return 0x15; '\u0015' => 0x15,
case '\u0016': return 0x16; '\u0016' => 0x16,
case '\u0017': return 0x17; '\u0017' => 0x17,
case '\u0018': return 0x18; '\u0018' => 0x18,
case '\u0019': return 0x19; '\u0019' => 0x19,
case '\u001A': return 0x1A; '\u001A' => 0x1A,
case '\u001B': return 0x1B; '\u001B' => 0x1B,
case '\u001C': return 0x1C; '\u001C' => 0x1C,
case '\u001D': return 0x1D; '\u001D' => 0x1D,
case '\u001E': return 0x1E; '\u001E' => 0x1E,
case '\u001F': return 0x1F; '\u001F' => 0x1F,
case '\u0020': return 0x20; '\u0020' => 0x20,
case '\u0021': return 0x21; '\u0021' => 0x21,
case '\u0022': return 0x22; '\u0022' => 0x22,
case '\u0023': return 0x23; '\u0023' => 0x23,
case '\u0024': return 0x24; '\u0024' => 0x24,
case '\u0025': return 0x25; '\u0025' => 0x25,
case '\u0026': return 0x26; '\u0026' => 0x26,
case '\u0027': return 0x27; '\u0027' => 0x27,
case '\u0028': return 0x28; '\u0028' => 0x28,
case '\u0029': return 0x29; '\u0029' => 0x29,
case '\u002A': return 0x2A; '\u002A' => 0x2A,
case '\u002B': return 0x2B; '\u002B' => 0x2B,
case '\u002C': return 0x2C; '\u002C' => 0x2C,
case '\u002D': return 0x2D; '\u002D' => 0x2D,
case '\u002E': return 0x2E; '\u002E' => 0x2E,
case '\u002F': return 0x2F; '\u002F' => 0x2F,
case '\u0030': return 0x30; '\u0030' => 0x30,
case '\u0031': return 0x31; '\u0031' => 0x31,
case '\u0032': return 0x32; '\u0032' => 0x32,
case '\u0033': return 0x33; '\u0033' => 0x33,
case '\u0034': return 0x34; '\u0034' => 0x34,
case '\u0035': return 0x35; '\u0035' => 0x35,
case '\u0036': return 0x36; '\u0036' => 0x36,
case '\u0037': return 0x37; '\u0037' => 0x37,
case '\u0038': return 0x38; '\u0038' => 0x38,
case '\u0039': return 0x39; '\u0039' => 0x39,
case '\u003A': return 0x3A; '\u003A' => 0x3A,
case '\u003B': return 0x3B; '\u003B' => 0x3B,
case '\u003C': return 0x3C; '\u003C' => 0x3C,
case '\u003D': return 0x3D; '\u003D' => 0x3D,
case '\u003E': return 0x3E; '\u003E' => 0x3E,
case '\u003F': return 0x3F; '\u003F' => 0x3F,
case '\u0040': return 0x40; '\u0040' => 0x40,
case '\u0041': return 0x41; '\u0041' => 0x41,
case '\u0042': return 0x42; '\u0042' => 0x42,
case '\u0043': return 0x43; '\u0043' => 0x43,
case '\u0044': return 0x44; '\u0044' => 0x44,
case '\u0045': return 0x45; '\u0045' => 0x45,
case '\u0046': return 0x46; '\u0046' => 0x46,
case '\u0047': return 0x47; '\u0047' => 0x47,
case '\u0048': return 0x48; '\u0048' => 0x48,
case '\u0049': return 0x49; '\u0049' => 0x49,
case '\u004A': return 0x4A; '\u004A' => 0x4A,
case '\u004B': return 0x4B; '\u004B' => 0x4B,
case '\u004C': return 0x4C; '\u004C' => 0x4C,
case '\u004D': return 0x4D; '\u004D' => 0x4D,
case '\u004E': return 0x4E; '\u004E' => 0x4E,
case '\u004F': return 0x4F; '\u004F' => 0x4F,
case '\u0050': return 0x50; '\u0050' => 0x50,
case '\u0051': return 0x51; '\u0051' => 0x51,
case '\u0052': return 0x52; '\u0052' => 0x52,
case '\u0053': return 0x53; '\u0053' => 0x53,
case '\u0054': return 0x54; '\u0054' => 0x54,
case '\u0055': return 0x55; '\u0055' => 0x55,
case '\u0056': return 0x56; '\u0056' => 0x56,
case '\u0057': return 0x57; '\u0057' => 0x57,
case '\u0058': return 0x58; '\u0058' => 0x58,
case '\u0059': return 0x59; '\u0059' => 0x59,
case '\u005A': return 0x5A; '\u005A' => 0x5A,
case '\u005B': return 0x5B; '\u005B' => 0x5B,
case '\u005C': return 0x5C; '\u005C' => 0x5C,
case '\u005D': return 0x5D; '\u005D' => 0x5D,
case '\u005E': return 0x5E; '\u005E' => 0x5E,
case '\u005F': return 0x5F; '\u005F' => 0x5F,
case '\u0060': return 0x60; '\u0060' => 0x60,
case '\u0061': return 0x61; '\u0061' => 0x61,
case '\u0062': return 0x62; '\u0062' => 0x62,
case '\u0063': return 0x63; '\u0063' => 0x63,
case '\u0064': return 0x64; '\u0064' => 0x64,
case '\u0065': return 0x65; '\u0065' => 0x65,
case '\u0066': return 0x66; '\u0066' => 0x66,
case '\u0067': return 0x67; '\u0067' => 0x67,
case '\u0068': return 0x68; '\u0068' => 0x68,
case '\u0069': return 0x69; '\u0069' => 0x69,
case '\u006A': return 0x6A; '\u006A' => 0x6A,
case '\u006B': return 0x6B; '\u006B' => 0x6B,
case '\u006C': return 0x6C; '\u006C' => 0x6C,
case '\u006D': return 0x6D; '\u006D' => 0x6D,
case '\u006E': return 0x6E; '\u006E' => 0x6E,
case '\u006F': return 0x6F; '\u006F' => 0x6F,
case '\u0070': return 0x70; '\u0070' => 0x70,
case '\u0071': return 0x71; '\u0071' => 0x71,
case '\u0072': return 0x72; '\u0072' => 0x72,
case '\u0073': return 0x73; '\u0073' => 0x73,
case '\u0074': return 0x74; '\u0074' => 0x74,
case '\u0075': return 0x75; '\u0075' => 0x75,
case '\u0076': return 0x76; '\u0076' => 0x76,
case '\u0077': return 0x77; '\u0077' => 0x77,
case '\u0078': return 0x78; '\u0078' => 0x78,
case '\u0079': return 0x79; '\u0079' => 0x79,
case '\u007A': return 0x7A; '\u007A' => 0x7A,
case '\u007B': return 0x7B; '\u007B' => 0x7B,
case '\u007C': return 0x7C; '\u007C' => 0x7C,
case '\u007D': return 0x7D; '\u007D' => 0x7D,
case '\u007E': return 0x7E; '\u007E' => 0x7E,
case '\u007F': return 0x7F; '\u007F' => 0x7F,
case '\u00C4': return 0x80; '\u00C4' => 0x80,
case '\u00C5': return 0x81; '\u00C5' => 0x81,
case '\u00C7': return 0x82; '\u00C7' => 0x82,
case '\u00C9': return 0x83; '\u00C9' => 0x83,
case '\u00D1': return 0x84; '\u00D1' => 0x84,
case '\u00D6': return 0x85; '\u00D6' => 0x85,
case '\u00DC': return 0x86; '\u00DC' => 0x86,
case '\u00E1': return 0x87; '\u00E1' => 0x87,
case '\u00E0': return 0x88; '\u00E0' => 0x88,
case '\u00E2': return 0x89; '\u00E2' => 0x89,
case '\u00E4': return 0x8A; '\u00E4' => 0x8A,
case '\u00E3': return 0x8B; '\u00E3' => 0x8B,
case '\u00E5': return 0x8C; '\u00E5' => 0x8C,
case '\u00E7': return 0x8D; '\u00E7' => 0x8D,
case '\u00E9': return 0x8E; '\u00E9' => 0x8E,
case '\u00E8': return 0x8F; '\u00E8' => 0x8F,
case '\u00EA': return 0x90; '\u00EA' => 0x90,
case '\u00EB': return 0x91; '\u00EB' => 0x91,
case '\u00ED': return 0x92; '\u00ED' => 0x92,
case '\u00EC': return 0x93; '\u00EC' => 0x93,
case '\u00EE': return 0x94; '\u00EE' => 0x94,
case '\u00EF': return 0x95; '\u00EF' => 0x95,
case '\u00F1': return 0x96; '\u00F1' => 0x96,
case '\u00F3': return 0x97; '\u00F3' => 0x97,
case '\u00F2': return 0x98; '\u00F2' => 0x98,
case '\u00F4': return 0x99; '\u00F4' => 0x99,
case '\u00F6': return 0x9A; '\u00F6' => 0x9A,
case '\u00F5': return 0x9B; '\u00F5' => 0x9B,
case '\u00FA': return 0x9C; '\u00FA' => 0x9C,
case '\u00F9': return 0x9D; '\u00F9' => 0x9D,
case '\u00FB': return 0x9E; '\u00FB' => 0x9E,
case '\u00FC': return 0x9F; '\u00FC' => 0x9F,
case '\u2020': return 0xA0; '\u2020' => 0xA0,
case '\u00B0': return 0xA1; '\u00B0' => 0xA1,
case '\u00A2': return 0xA2; '\u00A2' => 0xA2,
case '\u00A3': return 0xA3; '\u00A3' => 0xA3,
case '\u00A7': return 0xA4; '\u00A7' => 0xA4,
case '\u2022': return 0xA5; '\u2022' => 0xA5,
case '\u00B6': return 0xA6; '\u00B6' => 0xA6,
case '\u00DF': return 0xA7; '\u00DF' => 0xA7,
case '\u00AE': return 0xA8; '\u00AE' => 0xA8,
case '\u00A9': return 0xA9; '\u00A9' => 0xA9,
case '\u2122': return 0xAA; '\u2122' => 0xAA,
case '\u00B4': return 0xAB; '\u00B4' => 0xAB,
case '\u00A8': return 0xAC; '\u00A8' => 0xAC,
case '\u2260': return 0xAD; '\u2260' => 0xAD,
case '\u00C6': return 0xAE; '\u00C6' => 0xAE,
case '\u00D8': return 0xAF; '\u00D8' => 0xAF,
case '\u221E': return 0xB0; '\u221E' => 0xB0,
case '\u00B1': return 0xB1; '\u00B1' => 0xB1,
case '\u2264': return 0xB2; '\u2264' => 0xB2,
case '\u2265': return 0xB3; '\u2265' => 0xB3,
case '\u00A5': return 0xB4; '\u00A5' => 0xB4,
case '\u00B5': return 0xB5; '\u00B5' => 0xB5,
case '\u2202': return 0xB6; '\u2202' => 0xB6,
case '\u2211': return 0xB7; '\u2211' => 0xB7,
case '\u220F': return 0xB8; '\u220F' => 0xB8,
case '\u03C0': return 0xB9; '\u03C0' => 0xB9,
case '\u222B': return 0xBA; '\u222B' => 0xBA,
case '\u00AA': return 0xBB; '\u00AA' => 0xBB,
case '\u00BA': return 0xBC; '\u00BA' => 0xBC,
case '\u03A9': return 0xBD; '\u03A9' => 0xBD,
case '\u00E6': return 0xBE; '\u00E6' => 0xBE,
case '\u00F8': return 0xBF; '\u00F8' => 0xBF,
case '\u00BF': return 0xC0; '\u00BF' => 0xC0,
case '\u00A1': return 0xC1; '\u00A1' => 0xC1,
case '\u00AC': return 0xC2; '\u00AC' => 0xC2,
case '\u221A': return 0xC3; '\u221A' => 0xC3,
case '\u0192': return 0xC4; '\u0192' => 0xC4,
case '\u2248': return 0xC5; '\u2248' => 0xC5,
case '\u2206': return 0xC6; '\u2206' => 0xC6,
case '\u00AB': return 0xC7; '\u00AB' => 0xC7,
case '\u00BB': return 0xC8; '\u00BB' => 0xC8,
case '\u2026': return 0xC9; '\u2026' => 0xC9,
case '\u00A0': return 0xCA; '\u00A0' => 0xCA,
case '\u00C0': return 0xCB; '\u00C0' => 0xCB,
case '\u00C3': return 0xCC; '\u00C3' => 0xCC,
case '\u00D5': return 0xCD; '\u00D5' => 0xCD,
case '\u0152': return 0xCE; '\u0152' => 0xCE,
case '\u0153': return 0xCF; '\u0153' => 0xCF,
case '\u2013': return 0xD0; '\u2013' => 0xD0,
case '\u2014': return 0xD1; '\u2014' => 0xD1,
case '\u201C': return 0xD2; '\u201C' => 0xD2,
case '\u201D': return 0xD3; '\u201D' => 0xD3,
case '\u2018': return 0xD4; '\u2018' => 0xD4,
case '\u2019': return 0xD5; '\u2019' => 0xD5,
case '\u00F7': return 0xD6; '\u00F7' => 0xD6,
case '\u05CA': return 0xD7; '\u05CA' => 0xD7,
case '\u00FF': return 0xD8; '\u00FF' => 0xD8,
case '\u0178': return 0xD9; '\u0178' => 0xD9,
case '\u011E': return 0xDA; '\u011E' => 0xDA,
case '\u011F': return 0xDB; '\u011F' => 0xDB,
case '\u0130': return 0xDC; '\u0130' => 0xDC,
case '\u0131': return 0xDD; '\u0131' => 0xDD,
case '\u015E': return 0xDE; '\u015E' => 0xDE,
case '\u015F': return 0xDF; '\u015F' => 0xDF,
case '\u2021': return 0xE0; '\u2021' => 0xE0,
case '\u00B7': return 0xE1; '\u00B7' => 0xE1,
case '\u201A': return 0xE2; '\u201A' => 0xE2,
case '\u201E': return 0xE3; '\u201E' => 0xE3,
case '\u2030': return 0xE4; '\u2030' => 0xE4,
case '\u00C2': return 0xE5; '\u00C2' => 0xE5,
case '\u00CA': return 0xE6; '\u00CA' => 0xE6,
case '\u00C1': return 0xE7; '\u00C1' => 0xE7,
case '\u00CB': return 0xE8; '\u00CB' => 0xE8,
case '\u00C8': return 0xE9; '\u00C8' => 0xE9,
case '\u00CD': return 0xEA; '\u00CD' => 0xEA,
case '\u00CE': return 0xEB; '\u00CE' => 0xEB,
case '\u00CF': return 0xEC; '\u00CF' => 0xEC,
case '\u00CC': return 0xED; '\u00CC' => 0xED,
case '\u00D3': return 0xEE; '\u00D3' => 0xEE,
case '\u00D4': return 0xEF; '\u00D4' => 0xEF,
case '\uF8FF': return 0xF0; '\uF8FF' => 0xF0,
case '\u00D2': return 0xF1; '\u00D2' => 0xF1,
case '\u00DA': return 0xF2; '\u00DA' => 0xF2,
case '\u00DB': return 0xF3; '\u00DB' => 0xF3,
case '\u00D9': return 0xF4; '\u00D9' => 0xF4,
case '\uF8A0': return 0xF5; '\uF8A0' => 0xF5,
case '\u02C6': return 0xF6; '\u02C6' => 0xF6,
case '\u02DC': return 0xF7; '\u02DC' => 0xF7,
case '\u00AF': return 0xF8; '\u00AF' => 0xF8,
case '\u02D8': return 0xF9; '\u02D8' => 0xF9,
case '\u02D9': return 0xFA; '\u02D9' => 0xFA,
case '\u02DA': return 0xFB; '\u02DA' => 0xFB,
case '\u00B8': return 0xFC; '\u00B8' => 0xFC,
case '\u02DD': return 0xFD; '\u02DD' => 0xFD,
case '\u02DB': return 0xFE; '\u02DB' => 0xFE,
case '\u02C7': return 0xFF; '\u02C7' => 0xFF,
default: _ => 0x3F
// Fallback to '?' };
return 0x3F;
}
}
} }
} }

View File

@@ -53,7 +53,7 @@ namespace Claunia.Encoding
'\u0008', '\u0009', '\u000A', '\u000B', '\u000C', '\u000D', '\u000E', '\u000F', '\u0008', '\u0009', '\u000A', '\u000B', '\u000C', '\u000D', '\u000E', '\u000F',
// 0x10 // 0x10
'\u0010', '\u0011', '\u0012', '\u0013', '\u0014', '\u0015', '\u0016', '\u0017', '\u0010', '\u2318', '\u2713', '\u25C6', '\uF8FF', '\u0015', '\u0016', '\u0017',
// 0x18 // 0x18
'\u0018', '\u0019', '\u001A', '\u001B', '\u001C', '\u001D', '\u001E', '\u001F', '\u0018', '\u0019', '\u001A', '\u001B', '\u001C', '\u001D', '\u001E', '\u001F',
@@ -146,270 +146,268 @@ namespace Claunia.Encoding
/// <summary>Converts a Unicode character to an Mac Ukrainian character</summary> /// <summary>Converts a Unicode character to an Mac Ukrainian character</summary>
/// <returns>Mac Ukrainian character.</returns> /// <returns>Mac Ukrainian character.</returns>
/// <param name="character">Unicode character.</param> /// <param name="character">Unicode character.</param>
private protected override byte GetByte(char character) private protected override byte GetByte(char character) => character switch
{ {
switch(character) '\u0000' => 0x00,
{ '\u0001' => 0x01,
case '\u0000': return 0x00; '\u0002' => 0x02,
case '\u0001': return 0x01; '\u0003' => 0x03,
case '\u0002': return 0x02; '\u0004' => 0x04,
case '\u0003': return 0x03; '\u0005' => 0x05,
case '\u0004': return 0x04; '\u0006' => 0x06,
case '\u0005': return 0x05; '\u0007' => 0x07,
case '\u0006': return 0x06; '\u0008' => 0x08,
case '\u0007': return 0x07; '\u0009' => 0x09,
case '\u0008': return 0x08; '\u000A' => 0x0A,
case '\u0009': return 0x09; '\u000B' => 0x0B,
case '\u000A': return 0x0A; '\u000C' => 0x0C,
case '\u000B': return 0x0B; '\u000D' => 0x0D,
case '\u000C': return 0x0C; '\u000E' => 0x0E,
case '\u000D': return 0x0D; '\u000F' => 0x0F,
case '\u000E': return 0x0E; '\u0010' => 0x10,
case '\u000F': return 0x0F; '\u2318' => 0x11,
case '\u0010': return 0x10; '\u0012' => 0x12,
case '\u0011': return 0x11; '\u2713' => 0x12,
case '\u0012': return 0x12; '\u0013' => 0x13,
case '\u0013': return 0x13; '\u25C6' => 0x13,
case '\u0014': return 0x14; '\uF8FF' => 0x13,
case '\u0015': return 0x15; '\u0014' => 0x14,
case '\u0016': return 0x16; '\u0015' => 0x15,
case '\u0017': return 0x17; '\u0016' => 0x16,
case '\u0018': return 0x18; '\u0017' => 0x17,
case '\u0019': return 0x19; '\u0018' => 0x18,
case '\u001A': return 0x1A; '\u0019' => 0x19,
case '\u001B': return 0x1B; '\u001A' => 0x1A,
case '\u001C': return 0x1C; '\u001B' => 0x1B,
case '\u001D': return 0x1D; '\u001C' => 0x1C,
case '\u001E': return 0x1E; '\u001D' => 0x1D,
case '\u001F': return 0x1F; '\u001E' => 0x1E,
case '\u0020': return 0x20; '\u001F' => 0x1F,
case '\u0021': return 0x21; '\u0020' => 0x20,
case '\u0022': return 0x22; '\u0021' => 0x21,
case '\u0023': return 0x23; '\u0022' => 0x22,
case '\u0024': return 0x24; '\u0023' => 0x23,
case '\u0025': return 0x25; '\u0024' => 0x24,
case '\u0026': return 0x26; '\u0025' => 0x25,
case '\u0027': return 0x27; '\u0026' => 0x26,
case '\u0028': return 0x28; '\u0027' => 0x27,
case '\u0029': return 0x29; '\u0028' => 0x28,
case '\u002A': return 0x2A; '\u0029' => 0x29,
case '\u002B': return 0x2B; '\u002A' => 0x2A,
case '\u002C': return 0x2C; '\u002B' => 0x2B,
case '\u002D': return 0x2D; '\u002C' => 0x2C,
case '\u002E': return 0x2E; '\u002D' => 0x2D,
case '\u002F': return 0x2F; '\u002E' => 0x2E,
case '\u0030': return 0x30; '\u002F' => 0x2F,
case '\u0031': return 0x31; '\u0030' => 0x30,
case '\u0032': return 0x32; '\u0031' => 0x31,
case '\u0033': return 0x33; '\u0032' => 0x32,
case '\u0034': return 0x34; '\u0033' => 0x33,
case '\u0035': return 0x35; '\u0034' => 0x34,
case '\u0036': return 0x36; '\u0035' => 0x35,
case '\u0037': return 0x37; '\u0036' => 0x36,
case '\u0038': return 0x38; '\u0037' => 0x37,
case '\u0039': return 0x39; '\u0038' => 0x38,
case '\u003A': return 0x3A; '\u0039' => 0x39,
case '\u003B': return 0x3B; '\u003A' => 0x3A,
case '\u003C': return 0x3C; '\u003B' => 0x3B,
case '\u003D': return 0x3D; '\u003C' => 0x3C,
case '\u003E': return 0x3E; '\u003D' => 0x3D,
case '\u003F': return 0x3F; '\u003E' => 0x3E,
case '\u0040': return 0x40; '\u003F' => 0x3F,
case '\u0041': return 0x41; '\u0040' => 0x40,
case '\u0042': return 0x42; '\u0041' => 0x41,
case '\u0043': return 0x43; '\u0042' => 0x42,
case '\u0044': return 0x44; '\u0043' => 0x43,
case '\u0045': return 0x45; '\u0044' => 0x44,
case '\u0046': return 0x46; '\u0045' => 0x45,
case '\u0047': return 0x47; '\u0046' => 0x46,
case '\u0048': return 0x48; '\u0047' => 0x47,
case '\u0049': return 0x49; '\u0048' => 0x48,
case '\u004A': return 0x4A; '\u0049' => 0x49,
case '\u004B': return 0x4B; '\u004A' => 0x4A,
case '\u004C': return 0x4C; '\u004B' => 0x4B,
case '\u004D': return 0x4D; '\u004C' => 0x4C,
case '\u004E': return 0x4E; '\u004D' => 0x4D,
case '\u004F': return 0x4F; '\u004E' => 0x4E,
case '\u0050': return 0x50; '\u004F' => 0x4F,
case '\u0051': return 0x51; '\u0050' => 0x50,
case '\u0052': return 0x52; '\u0051' => 0x51,
case '\u0053': return 0x53; '\u0052' => 0x52,
case '\u0054': return 0x54; '\u0053' => 0x53,
case '\u0055': return 0x55; '\u0054' => 0x54,
case '\u0056': return 0x56; '\u0055' => 0x55,
case '\u0057': return 0x57; '\u0056' => 0x56,
case '\u0058': return 0x58; '\u0057' => 0x57,
case '\u0059': return 0x59; '\u0058' => 0x58,
case '\u005A': return 0x5A; '\u0059' => 0x59,
case '\u005B': return 0x5B; '\u005A' => 0x5A,
case '\u005C': return 0x5C; '\u005B' => 0x5B,
case '\u005D': return 0x5D; '\u005C' => 0x5C,
case '\u005E': return 0x5E; '\u005D' => 0x5D,
case '\u005F': return 0x5F; '\u005E' => 0x5E,
case '\u0060': return 0x60; '\u005F' => 0x5F,
case '\u0061': return 0x61; '\u0060' => 0x60,
case '\u0062': return 0x62; '\u0061' => 0x61,
case '\u0063': return 0x63; '\u0062' => 0x62,
case '\u0064': return 0x64; '\u0063' => 0x63,
case '\u0065': return 0x65; '\u0064' => 0x64,
case '\u0066': return 0x66; '\u0065' => 0x65,
case '\u0067': return 0x67; '\u0066' => 0x66,
case '\u0068': return 0x68; '\u0067' => 0x67,
case '\u0069': return 0x69; '\u0068' => 0x68,
case '\u006A': return 0x6A; '\u0069' => 0x69,
case '\u006B': return 0x6B; '\u006A' => 0x6A,
case '\u006C': return 0x6C; '\u006B' => 0x6B,
case '\u006D': return 0x6D; '\u006C' => 0x6C,
case '\u006E': return 0x6E; '\u006D' => 0x6D,
case '\u006F': return 0x6F; '\u006E' => 0x6E,
case '\u0070': return 0x70; '\u006F' => 0x6F,
case '\u0071': return 0x71; '\u0070' => 0x70,
case '\u0072': return 0x72; '\u0071' => 0x71,
case '\u0073': return 0x73; '\u0072' => 0x72,
case '\u0074': return 0x74; '\u0073' => 0x73,
case '\u0075': return 0x75; '\u0074' => 0x74,
case '\u0076': return 0x76; '\u0075' => 0x75,
case '\u0077': return 0x77; '\u0076' => 0x76,
case '\u0078': return 0x78; '\u0077' => 0x77,
case '\u0079': return 0x79; '\u0078' => 0x78,
case '\u007A': return 0x7A; '\u0079' => 0x79,
case '\u007B': return 0x7B; '\u007A' => 0x7A,
case '\u007C': return 0x7C; '\u007B' => 0x7B,
case '\u007D': return 0x7D; '\u007C' => 0x7C,
case '\u007E': return 0x7E; '\u007D' => 0x7D,
case '\u007F': return 0x7F; '\u007E' => 0x7E,
case '\u0410': return 0x80; '\u007F' => 0x7F,
case '\u0411': return 0x81; '\u0410' => 0x80,
case '\u0412': return 0x82; '\u0411' => 0x81,
case '\u0413': return 0x83; '\u0412' => 0x82,
case '\u0414': return 0x84; '\u0413' => 0x83,
case '\u0415': return 0x85; '\u0414' => 0x84,
case '\u0416': return 0x86; '\u0415' => 0x85,
case '\u0417': return 0x87; '\u0416' => 0x86,
case '\u0418': return 0x88; '\u0417' => 0x87,
case '\u0419': return 0x89; '\u0418' => 0x88,
case '\u041A': return 0x8A; '\u0419' => 0x89,
case '\u041B': return 0x8B; '\u041A' => 0x8A,
case '\u041C': return 0x8C; '\u041B' => 0x8B,
case '\u041D': return 0x8D; '\u041C' => 0x8C,
case '\u041E': return 0x8E; '\u041D' => 0x8D,
case '\u041F': return 0x8F; '\u041E' => 0x8E,
case '\u0420': return 0x90; '\u041F' => 0x8F,
case '\u0421': return 0x91; '\u0420' => 0x90,
case '\u0422': return 0x92; '\u0421' => 0x91,
case '\u0423': return 0x93; '\u0422' => 0x92,
case '\u0424': return 0x94; '\u0423' => 0x93,
case '\u0425': return 0x95; '\u0424' => 0x94,
case '\u0426': return 0x96; '\u0425' => 0x95,
case '\u0427': return 0x97; '\u0426' => 0x96,
case '\u0428': return 0x98; '\u0427' => 0x97,
case '\u0429': return 0x99; '\u0428' => 0x98,
case '\u042A': return 0x9A; '\u0429' => 0x99,
case '\u042B': return 0x9B; '\u042A' => 0x9A,
case '\u042C': return 0x9C; '\u042B' => 0x9B,
case '\u042D': return 0x9D; '\u042C' => 0x9C,
case '\u042E': return 0x9E; '\u042D' => 0x9D,
case '\u042F': return 0x9F; '\u042E' => 0x9E,
case '\u2020': return 0xA0; '\u042F' => 0x9F,
case '\u00B0': return 0xA1; '\u2020' => 0xA0,
case '\u0490': return 0xA2; '\u00B0' => 0xA1,
case '\u00A3': return 0xA3; '\u0490' => 0xA2,
case '\u00A7': return 0xA4; '\u00A3' => 0xA3,
case '\u2022': return 0xA5; '\u00A7' => 0xA4,
case '\u00B6': return 0xA6; '\u2022' => 0xA5,
case '\u0406': return 0xA7; '\u00B6' => 0xA6,
case '\u00AE': return 0xA8; '\u0406' => 0xA7,
case '\u00A9': return 0xA9; '\u00AE' => 0xA8,
case '\u2122': return 0xAA; '\u00A9' => 0xA9,
case '\u0402': return 0xAB; '\u2122' => 0xAA,
case '\u0452': return 0xAC; '\u0402' => 0xAB,
case '\u2260': return 0xAD; '\u0452' => 0xAC,
case '\u0403': return 0xAE; '\u2260' => 0xAD,
case '\u0453': return 0xAF; '\u0403' => 0xAE,
case '\u221E': return 0xB0; '\u0453' => 0xAF,
case '\u00B1': return 0xB1; '\u221E' => 0xB0,
case '\u2264': return 0xB2; '\u00B1' => 0xB1,
case '\u2265': return 0xB3; '\u2264' => 0xB2,
case '\u0456': return 0xB4; '\u2265' => 0xB3,
case '\u00B5': return 0xB5; '\u0456' => 0xB4,
case '\u0491': return 0xB6; '\u00B5' => 0xB5,
case '\u0408': return 0xB7; '\u0491' => 0xB6,
case '\u0404': return 0xB8; '\u0408' => 0xB7,
case '\u0454': return 0xB9; '\u0404' => 0xB8,
case '\u0407': return 0xBA; '\u0454' => 0xB9,
case '\u0457': return 0xBB; '\u0407' => 0xBA,
case '\u0409': return 0xBC; '\u0457' => 0xBB,
case '\u0459': return 0xBD; '\u0409' => 0xBC,
case '\u040A': return 0xBE; '\u0459' => 0xBD,
case '\u045A': return 0xBF; '\u040A' => 0xBE,
case '\u0458': return 0xC0; '\u045A' => 0xBF,
case '\u0405': return 0xC1; '\u0458' => 0xC0,
case '\u00AC': return 0xC2; '\u0405' => 0xC1,
case '\u221A': return 0xC3; '\u00AC' => 0xC2,
case '\u0192': return 0xC4; '\u221A' => 0xC3,
case '\u2248': return 0xC5; '\u0192' => 0xC4,
case '\u2206': return 0xC6; '\u2248' => 0xC5,
case '\u00AB': return 0xC7; '\u2206' => 0xC6,
case '\u00BB': return 0xC8; '\u00AB' => 0xC7,
case '\u2026': return 0xC9; '\u00BB' => 0xC8,
case '\u00A0': return 0xCA; '\u2026' => 0xC9,
case '\u040B': return 0xCB; '\u00A0' => 0xCA,
case '\u045B': return 0xCC; '\u040B' => 0xCB,
case '\u040C': return 0xCD; '\u045B' => 0xCC,
case '\u045C': return 0xCE; '\u040C' => 0xCD,
case '\u0455': return 0xCF; '\u045C' => 0xCE,
case '\u2013': return 0xD0; '\u0455' => 0xCF,
case '\u2014': return 0xD1; '\u2013' => 0xD0,
case '\u201C': return 0xD2; '\u2014' => 0xD1,
case '\u201D': return 0xD3; '\u201C' => 0xD2,
case '\u2018': return 0xD4; '\u201D' => 0xD3,
case '\u2019': return 0xD5; '\u2018' => 0xD4,
case '\u00F7': return 0xD6; '\u2019' => 0xD5,
case '\u201E': return 0xD7; '\u00F7' => 0xD6,
case '\u040E': return 0xD8; '\u201E' => 0xD7,
case '\u045E': return 0xD9; '\u040E' => 0xD8,
case '\u040F': return 0xDA; '\u045E' => 0xD9,
case '\u045F': return 0xDB; '\u040F' => 0xDA,
case '\u2116': return 0xDC; '\u045F' => 0xDB,
case '\u0401': return 0xDD; '\u2116' => 0xDC,
case '\u0451': return 0xDE; '\u0401' => 0xDD,
case '\u044F': return 0xDF; '\u0451' => 0xDE,
case '\u0430': return 0xE0; '\u044F' => 0xDF,
case '\u0431': return 0xE1; '\u0430' => 0xE0,
case '\u0432': return 0xE2; '\u0431' => 0xE1,
case '\u0433': return 0xE3; '\u0432' => 0xE2,
case '\u0434': return 0xE4; '\u0433' => 0xE3,
case '\u0435': return 0xE5; '\u0434' => 0xE4,
case '\u0436': return 0xE6; '\u0435' => 0xE5,
case '\u0437': return 0xE7; '\u0436' => 0xE6,
case '\u0438': return 0xE8; '\u0437' => 0xE7,
case '\u0439': return 0xE9; '\u0438' => 0xE8,
case '\u043A': return 0xEA; '\u0439' => 0xE9,
case '\u043B': return 0xEB; '\u043A' => 0xEA,
case '\u043C': return 0xEC; '\u043B' => 0xEB,
case '\u043D': return 0xED; '\u043C' => 0xEC,
case '\u043E': return 0xEE; '\u043D' => 0xED,
case '\u043F': return 0xEF; '\u043E' => 0xEE,
case '\u0440': return 0xF0; '\u043F' => 0xEF,
case '\u0441': return 0xF1; '\u0440' => 0xF0,
case '\u0442': return 0xF2; '\u0441' => 0xF1,
case '\u0443': return 0xF3; '\u0442' => 0xF2,
case '\u0444': return 0xF4; '\u0443' => 0xF3,
case '\u0445': return 0xF5; '\u0444' => 0xF4,
case '\u0446': return 0xF6; '\u0445' => 0xF5,
case '\u0447': return 0xF7; '\u0446' => 0xF6,
case '\u0448': return 0xF8; '\u0447' => 0xF7,
case '\u0449': return 0xF9; '\u0448' => 0xF8,
case '\u044A': return 0xFA; '\u0449' => 0xF9,
case '\u044B': return 0xFB; '\u044A' => 0xFA,
case '\u044C': return 0xFC; '\u044B' => 0xFB,
case '\u044D': return 0xFD; '\u044C' => 0xFC,
case '\u044E': return 0xFE; '\u044D' => 0xFD,
case '\u20AC': return 0xFF; '\u044E' => 0xFE,
default: '\u20AC' => 0xFF,
// Fallback to '?' _ => 0x3F
return 0x3F; };
}
}
} }
} }