lipimala for Dart
IAST-style transliteration for Devanagari and Gujarati, with canonical reverse conversion, direct script conversion, and Plain-English or Hunterian output.
Install
dart pub add lipimala
Requires Dart 3.0 or newer.
Use
import 'package:lipimala/lipimala.dart';
void main() {
print('Kṛṣṇa'.toDevanagariFromIast()); // कृष्ण
print('કૃષ્ણ'.toCanonicalIastFromGujarati()); // kṛṣṇa
print('कानपुर'.toPlainEnglishFromDevanagari()); // kaanpur
print('આજ મારે'.toPlainEnglishFromGujarati()); // aaj maare
print('कृष्ण'.toCanonicalGujaratiFromDevanagari()); // કૃષ્ણ
}
Use toHunterianFromDevanagari() and toHunterianFromGujarati() for Hunterian output. List extensions such as toDevanagariFromIast() also work on List<String>.
Profiles and options
Forward conversion accepts strictIast, iso15919Core, or extendedIndic profiles. The default is extendedIndic. Options control normalization, unknown input, digits, punctuation, Vedic accents, whitespace, and exact-source metadata.
Direct Brahmic transcription accepts BrahmicPlainEnglishOptions for language selection, schwa deletion, vowel length, terminal anusvara, Gujarati ʿayn, and other pronunciation choices.
Preserve the original input
The rendered script may not encode the original Latin spelling, capitalization, or normalization. A result envelope keeps the original alongside the rendered value:
final result = 'Kṛṣṇa'.toDevanagari();
print(result.rendered); // कृष्ण
print(result.restoreOriginal()); // Kṛṣṇa
For a standalone string, set embedExactSourceMetadata: true in the conversion options and use an exact reverse method such as toExactIastFromDevanagari(). Unicode-tag metadata can be removed by systems that sanitize invisible characters.
License
MIT. See LICENSE.
Libraries
- brahmic_to_latn_iast
- deva_gujr_converter
- latn_iast_to_deva
- latn_iast_to_gujr
- latn_iast_transcription
- lipimala
- Primary barrel file exporting all lipimala models, converters, options, and utilities.
- list_converters
- transliteration_core
- transliteration_result