diff --git a/CHANGELOG.md b/CHANGELOG.md index 2a80929f..f7a545d4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,8 @@ * Added `z80next` as an alternate name for the ZX Spectrum Next's processor (#55). +* Added encodings: `brascii`, `macroman`, `dmcs`, `lics`. + * Improved some error messages. * Fixed evaluation of division of large constants. diff --git a/docs/lang/text.md b/docs/lang/text.md index 7f33b52b..97959ded 100644 --- a/docs/lang/text.md +++ b/docs/lang/text.md @@ -38,6 +38,8 @@ TODO: document the file format. * `apple2gs` – Apple IIgs charset +* `macroman` – Macintosh Western Latin charset + * `bbc` – BBC Micro character set * `sinclair` – ZX Spectrum character set @@ -52,6 +54,10 @@ TODO: document the file format. * `iso_dk`, `iso_fi` – aliases for `iso_no` and `iso_se` respectively +* `dmcs` – DEC Multinational Character Set + +* `lics` – Lotus International Character Set + * `iso8859_1`, `iso8859_2`, `iso8859_3`, `iso8859_4`, `iso8859_5`, `iso8859_7`, `iso8859_9`, `iso8859_10`, `iso8859_13`, @@ -74,6 +80,8 @@ ISO 8859-14, ISO 8859-15, ISO 8859-16, * `iso_15`, `latin9`, `latin0` – aliases for `iso8859_15` * `iso16`, `latin10` – aliases for `iso8859_16` +* `brascii` – BraSCII + * `cp437`, `cp850`, `cp851`, `cp852`, `cp855`, `cp858`, `cp866` – DOS codepages 437, 850, 851, 852, 855, 858, 866 @@ -203,6 +211,8 @@ Encoding | lowercase letters | backslash | currencies | intl | card suits `atascii` | yes | yes | | none | yes `atasciiscr` | yes | yes | | none | yes `jis` | yes | no | ¥ | both kana | no +`dmcs`,`lics` | yes | yes | ¢£¥ | Western | no +`brascii`,`macroman`| yes | yes | ¢£¥ | Western | no `msx_intl`,`msx_br` | yes | yes | ¢£¥ | Western | yes `msx_jp` | yes | no | ¥ | katakana | yes `msx_ru` | yes | yes | | Russian⁴ | yes diff --git a/include/encoding/brascii.tbl b/include/encoding/brascii.tbl new file mode 100644 index 00000000..4a3e90a8 --- /dev/null +++ b/include/encoding/brascii.tbl @@ -0,0 +1,29 @@ +NAME=BraSCII +EOT=00 + +20=U+0020 +21-3f=!"#$%&'()*+,-./0123456789:;<=>? +40-5f=@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ +60-7e=`abcdefghijklmnopqrstuvwxyz{|}~ +a1-ac=¡¢£¤¥¦§¨©ª«¬ +ae-af=®¯ +b0-bf=°±²³´µ¶·¸¹º»¼½¾¿ +c0-cf=ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏ +d0-df=ÐÑÒÓÔÕÖŒØÙÚÛÜÝÞß +e0-ef=àáâãäåæçèéêëìíîï +f0-ff=ðñòóôõöœøùúûüýþÿ + +{b}=08 +{t}=09 +{n}=0d0a +{q}=22 +{apos}=27 +{lbrace}=7b +{rbrace}=7d +{cent}=a2 +{pound}=a3 +{yen}=a5 +{copy}=a9 +{ss}=df +{nbsp}=A0 +{shy}=AD diff --git a/include/encoding/dmcs.tbl b/include/encoding/dmcs.tbl new file mode 100644 index 00000000..e793f968 --- /dev/null +++ b/include/encoding/dmcs.tbl @@ -0,0 +1,33 @@ +NAME=DEC-MCS +EOT=00 + +20=U+0020 +21-3f=!"#$%&'()*+,-./0123456789:;<=>? +40-5f=@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ +60-7e=`abcdefghijklmnopqrstuvwxyz{|}~ +a1-a3=¡¢£ +a5=¥ +a7-ab=§¤©ª« +ae-af=®¯ +b0-b3=°±²³ +b5-b7=µ¶· +b9-bd=¹º»¼½ +bf=¿ +c0-cf=ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏ +d1-dd=ÑÒÓÔÕÖŒØÙÚÛÜŸ +df=ß +e0-ef=àáâãäåæçèéêëìíîï +f1-fd=ñòóôõöœøùúûüÿ + +{b}=08 +{t}=09 +{n}=0d0a +{q}=22 +{apos}=27 +{lbrace}=7b +{rbrace}=7d +{cent}=a2 +{pound}=a3 +{yen}=a5 +{copy}=a9 +{ss}=df diff --git a/include/encoding/lics.tbl b/include/encoding/lics.tbl new file mode 100644 index 00000000..57489a1f --- /dev/null +++ b/include/encoding/lics.tbl @@ -0,0 +1,32 @@ +NAME=LICS +EOT=00 + +20=U+0020 +21-3f=!"#$%&'()*+,-./0123456789:;<=>? +40-5f=@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ +60-7e=`abcdefghijklmnopqrstuvwxyz{|}~ +95=ı +97=▲ +98=▼ +9b=← +a0-af=ƒ¡¢£“¥₧§¤©ª«Δπ≥÷ +b0-bf=°±²³„µ¶·™¹º»¼½≤¿ +c0-cf=ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏ +d0-df=ÐÑÒÓÔÕÖŒØÙÚÛÜŸÞß +e0-ef=àáâãäåæçèéêëìíîï +f0-fe=ðñòóôõöœøùúûüÿþ + +{b}=08 +{t}=09 +{n}=0d0a +{q}=22 +{apos}=27 +{lbrace}=7b +{rbrace}=7d +{cent}=a2 +{pound}=a3 +{yen}=a5 +{copy}=a9 +{ss}=df +{nbsp}=9A +{pi}=AD \ No newline at end of file diff --git a/include/encoding/macroman.tbl b/include/encoding/macroman.tbl new file mode 100644 index 00000000..4d0ccb6b --- /dev/null +++ b/include/encoding/macroman.tbl @@ -0,0 +1,33 @@ +NAME=MacRoman +EOT=00 + +20=U+0020 +21-3f=!"#$%&'()*+,-./0123456789:;<=>? +40-5f=@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ +60-7e=`abcdefghijklmnopqrstuvwxyz{|}~ +80-8f=ÄÅÇÉÑÖÜáàâäãåçéè +90-9f=êëíìîïñóòôöõúùûü +a0-af=†°¢£§•¶ß®©™´¨≠ÆØ +b0-bf=∞±≤≥¥µ∂∑∏π∫ªºΩæø +c0-c9=¿¡¬√ƒ≈∆«»… +cb-cf=ÀÃÕŒœ +d0-df=–—“”‘’÷◊ÿŸ⁄¤‹›fifl +e0-ef=‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ +f1-ff=ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ + +{b}=08 +{t}=09 +{n}=0d0a +{q}=22 +{apos}=27 +{lbrace}=7b +{rbrace}=7d +{cent}=a2 +{pound}=a3 +{yen}=b4 +{copy}=a9 +{ss}=a7 +{nbsp}=CA +{euro}=DB +€=DB +U+F8FF=F0