ArmSCII


ArmSCII or ARMSCII is a set of obsolete single-byte character encodings for the Armenian alphabet defined by Armenian national standard 166–9. ArmSCII is an acronym for Armenian Standard Code for Information Interchange, similar to ASCII for the American standard. It has been superseded by the Unicode standard.
However, these encodings are not widely used because the standard was published one year after the publication of international standard ISO 10585 that defined another 7-bit encoding, from which the encoding and mapping to the UCS were also derived a few years after, and there was a lack of support in the computer industry for adding ArmSCII.

Encodings defined in the ArmSCII standard

Very few systems support these encodings. Microsoft Windows does not support them, for example. It is usually better to use Unicode for proper interchange of Armenian text for web browsers and email, since most modern computers do not support ArmSCII by default.
The following three main variants are defined:
Note that each ArmSCII encoding also has several minor variants, depending on the revision of the related Armenian standard ; that may change the exact mapping and usage of a few punctuation characters and symbols.
None of the ArmSCII encodings have reached international approval because all international efforts have been made since then to work with the UCS.
ArmSCII-8 is intended for use on Unix and Windows systems, and for information interchange on the WWW and by email. However, Microsoft wanted users to use Unicode and not introduce a plethora of new code pages, so it is not supported natively on Windows. It just consists in remapping ArmSCII-7 in the higher range above the standard US ASCII range.
ArmSCII-8A is intended for use on DOS and Mac systems. It is a rearrangement of ArmSCII-8, to work with existing DOS and Mac code that reserve a range of code values for characters not intended for text but for presentation layout, using modified fonts; it is, however, considered as a "hack" of the code pages over which it is applied, as neither DOS nor MacOS has ever supported this encoding natively, notably in their file system. However, this encoding cannot map all the punctuation characters normally needed for Armenian, so the missing characters must be approximated using fallbacks to ASCII punctuation.

ArmSCII-7

In this table, code value 21 is the eternity sign, which has, since 2013, a designated point in Unicode U+058E and another for its right-facing variant: U+058D. Some mappings incorrectly claim that it has a code point of U+0530.
Code value 20 is the regular SPACE character; code values 00–1F and 7F are not assigned to characters by AST 34.005, though they may be the same as the ASCII control characters that are located in those positions.
Code value 22 is used to encode the Armenian ligature ew. In some variants, it encodes the section sign instead. It is strongly suggested to encode this ligature with the normal Armenian ech and yiwn small letters pair, as various software or fonts will render it differently depending on the version of ArmSCII-7 they are assuming, and so let the renderer generate the ligature.
Code value 7F may be used sometimes as a substitution for the non-breaking space.
Note that the characters encoded at code values 2D and 7E may not be visible with all fonts supporting Armenian.
This table is simply remapped to higher codes by simple offset in ArmSCII-8.

ArmSCII-8

In this table, code value 20 is reserved for the regular SPACE character, code value A0 is reserved for the non-breaking space, and code value A1 is assigned to the eternity sign, which has, since 2013, a designated point in Unicode U+58E and another for its right-facing variant: U+58D. Some mappings incorrectly claim that it has a code point of U+0530.
Code values 00–1F and 7F–9F are not assigned to characters by AST 34.002, though they may be the same as the ISO-8859-1 control characters that are located in those positions.
The code value A2 is used to encode the Armenian ligature ew. In some variants it encodes the section sign instead. Some Armenian fonts display this ligature at the position of the ASCII ampersand symbol, but it is strongly suggested to encode the ligature using the two standard Armenian small letters that compose it.
The code value FF may be filled with the Armenian small letter modifier apostrophe, and the Armenian apostrophe encoded at FE occurs only after a capital Armenian letter. So most implementations do not encode anything at code value FF.
This standard is the only one that makes an apparent distinction for the "mirrored" Armenian parentheses, because it was created by simply remapping the ArmSCII-7 standard. However, many documents will not consider this as a productive distinction, and the usual ASCII-based parenthesis punctuation are most commonly used instead of the ArmSCII-7-based mirrored parentheses, just because Armenian keyboards and editors using ArmSCII-8 generated the lower ASCII codes. Also, the duplication of the ASCII comma at code value AB is also the result of the simple remapping of ArmSCII-7, so there is no difference with the ASCII comma that most ArmSCII-8 documents are using.
Note that the characters encoded at code values AD and FE may not be visible with all fonts supporting Armenian.

ArmSCII-8A

In this table, code value 20 is the regular SPACE character, and code value DC is the eternity sign, which has, since 2013, a designated point in Unicode U+58E and another for its right-facing variant: U+58D. Some mappings incorrectly claim that it has a code point of U+0530.
Code values 00–1F, 7F, and B0–DB are not assigned to characters by AST 34.002, though they may be the same as those used in a legacy DOS/OEM codepage 437 or Macintosh Roman.
Note that the characters encoded at code values DD and FE may not be visible with all fonts supporting Armenian.

Support for the Armenian script in other standards

ISO 10585:1996

For comparison, this is the 7-bit encoding in the international standard ISO/IEC 10585 standard that was used before the revision in the Armenian standard AST34.002:1997.
In this standard, there's only one Armenian apostrophe modifier letter encoded at 0x49 when Armenian uses two modifier letter apostrophes which are cased.
The left half-ring punctuation and the eternity symbol are also missing, and only one double quotation mark is encoded in code value 7A instead of double guillemets in the three ArmSCII variants.
However, this standard maps the Armenian full stop in code value 4C and the Armenian abbreviation mark in code value 4F, that are both missing from all ArmSCII code charts.
Note that the characters encoded at code values 49 and 4A may not be visible with all fonts supporting Armenian.

Windows Paratype code page, replaced by ArmSCII-8 by 2005

This encoding is supported by FontLab Studio 5. This encoding was previously used by Paratype, but it was replaced by ARMSCII-8.

ISO/IEC 10646-1 and Unicode

For comparison, this is the Unicode code points charts for Armenian.
Its encoding since Unicode 1.1 was based on the previous ISO 10585 7-bit international encoding standard, rather than on ArmsCII that was missing a dozen of characters present in ISO 10585. However, non-letters were reorganized by type, and some extensions have been added for rare Armenian characters that were missing in all past 7-bit and 8-bit standards.
Capital letters are encoded in the first half of the block.
Lowercase letters are encoded in the second half of the block.
Unlike the ArmSCII encodings, this encoding is stable and portable across systems, and contain all characters needed for Armenian. Some Unicode-encoded fonts for Armenian are mapping the eternity sign at code point U+0530. This is incorrect, as that code point has been allocated in 2013 at U+58E, and another for its right-facing variant: U+58D.
However, no distinction is kept for the Armenian parenthesis, so the standard ASCII/Unicode punctuation must be used according to their usual rendering. The left half-ring mark is encoded here, and some other marks are unified with other scripts.
Note that the characters encoded at code points U+055A and U+058A, and as well as U+0559, may not be visible with all fonts supporting Armenian.

Code mappings and classification

Note that some transcodings are shown below between parentheses. They are only approximation fallbacks but do not map exactly the intended character.