transliteration_core
library
Functions
-
embedExactSourceMetadata(String rendered, String originalSource)
→ String
-
Appends an invisible exact-source trailer to
rendered.
-
hasEmbeddedExactSource(String text)
→ bool
-
-
isBrahmicFormatControl(int rune)
→ bool
-
Formatting characters tolerated explicitly by the Brahmic parser: ZWJ,
ZWNJ (zero phonetic output, never create/delete an inherent schwa) and
CGJ (ordering semantics only, no readable output).
-
isCommonIndicNumberForm(int rune)
→ bool
-
Common Indic Number Forms (U+A830..U+A839): historic fractions and marks
for currency/weights/measures. No phonology; canonical output preserves
them and Plain/Hunterian views carry them through untouched.
-
isDevanagariEditorialMark(int rune)
→ bool
-
Devanagari manuscript/editorial signs with no pronunciation
(U+A8F8..U+A8FB) plus Devanagari Extended-A head/auspicious signs
(U+11B00..U+11B09). Canonical output preserves them exactly; they must
never participate in inherent-schwa parsing.
-
isDevanagariExtendedVowel(int rune)
→ bool
-
Devanagari Extended real vowels (U+A8FE independent AY, U+A8FF vowel-sign
AY: the short-AI pair). Phonemic characters, never Vedic decorations.
-
isDevanagariNasalizationSign(int rune)
→ bool
-
Specialized Devanagari nasalization signs (U+A8F2..U+A8F7). These carry
nasal pronunciation and enter nasal handling, not generic pass-through.
-
isEncodedVedicMark(int rune)
→ bool
-
Encoded Vedic tone/sign data (Unicode 18.0).
-
isGujaratiConsonantNukta(int rune)
→ bool
-
Consonant-modifying Gujarati nuktas (U+0AFD..U+0AFF): they change the
consonant itself and need cluster mappings, not silent dropping.
-
isGujaratiTransliterationMark(int rune)
→ bool
-
Gujarati Arabic-transliteration marks (U+0AFA sukun, U+0AFB shadda,
U+0AFC maddah, U+0AFD..U+0AFF consonant-modifying nuktas), used by Ismaili
Khoja communities. They drive pronunciation and need cluster mappings.
-
isSamavedaCantillationMark(int rune)
→ bool
-
Samaveda combining cantillation digits/letters/avagraha (U+A8E0..U+A8F1).
Canonical output preserves them as annotations; Plain/Hunterian views omit
them by default. Never map them to ordinary digits/letters.
-
isUnicodeCombiningMark(int rune)
→ bool
-
True for every Unicode 17 mark category: Mn, Mc, or Me.
-
isVedicNasalMark(int rune)
→ bool
-
Vedic nasal/anusvara signs: genuine nasal pronunciation, never silently
dropped by Plain/Hunterian views.
-
isVedicSegmentalSign(int rune)
→ bool
-
Vedic segmental signs with consonant-like pronunciation: ardhavisarga
(U+1CF2/1CF3), jihvamuliya (U+1CF5, velar fricative) and upadhmāniya
(U+1CF6, bilabial fricative). Unicode notes ardhavisarga is not limited
to Vedic usage.
-
isVedicToneCantillationMark(int rune)
→ bool
-
Vedic pitch/cantillation marks: no segmental pronunciation of their own.
Canonical output preserves them as annotations; Plain/Hunterian views omit
them by default.
-
isVedicVisargaMark(int rune)
→ bool
-
Vedic visarga modifiers: keep the segmental visarga (
h) contribution in
every profile and drop only the tonal decoration.
-
normalizeUnicode(String input, UnicodeNormalizationForm form)
→ String
-
-
recoverEmbeddedExactSource(String text)
→ String?
-
Returns the exact original source when valid embedded metadata exists.
-
stripExactSourceMetadata(String text)
→ String
-
Removes a valid exact-source trailer while leaving unrecognized tag data
untouched.
-
tryDecodeExactSourceMetadata(String text)
→ EmbeddedExactSource?
-
Decodes the final valid exact-source trailer, if present.