MongolCode class

Mongol Code

Updated for Unicode 10.0 standards http://unicode.org/charts/PDF/U1800.pdf Deviating from Unicode 10.0 for

  • MONGOLIAN LETTER GA first and second form final (matching DS01, needed to break context) (So words with only I default to feminine. Menksoft also does this.)
  • MONGOLIAN LETTER I, third medial form. Undefined in Unicode 10. This is a single tooth I after a vowel. Needed to break context. Menksoft also does this.

The purpose of this class is to render Unicode text into glyphs that can be displayed on all versions of Android. It solves the problem of Mongolian script not being supported before Android 6.0, and problems with Unicode rendering after Android 6.0.

Current version needs to be used with Menksoft font glyphs located in the PUA starting at \uE234. It is recommended that all external text use Unicode. However, Menksoft code can also be converted back into Unicode.

Properties

hashCode int
The hash code for this object.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

menksoftToUnicode(String inputString) String
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited
unicodeToMenksoft(String inputString) String
unicodeToMenksoftSameIndex(String inputString) String

Operators

operator ==(Object other) bool
The equality operator.
inherited

Static Properties

instance MongolCode
final

Static Methods

getLocation(String textBefore, String textAfter) Location
getWordGender(String word) Gender?
isBGDRS(int codeUnit) bool
isConsonant(int codeUnit) bool
isFeminineVowel(int codeUnit) bool
isFVS(int codeUnit) bool
isMasculineVowel(int codeUnit) bool
isMenksoft(int codeUnit) bool
isMongolian(int codeUnit) bool
Test if character is Mongolian Sibe/Manchu/Aligali are currently undefined (may or may not be handled in the future)
isMvsPrecedingChar(int codeUnit) bool
An MVS (Mongolian Vowel Separator) only appears before an A or E and after certain characters (usually consonants but could come after O as in CHINO_A (wolf)). This method tests the preceding codeUnit to see whether an MVS could follow it. Return whether an MVS could follow the given codeUnit.
isTodoAlphabet(int codeUnit) bool
isVowel(int codeUnit) bool
needsLongToothU(String word, int uIndex) bool