add transliteration of candrabindu
This commit is contained in:
parent
d5f67cc155
commit
8b804237bb
6 changed files with 20 additions and 2 deletions
|
@ -64,6 +64,7 @@ static struct translit_letter table[] = {
|
||||||
{0x0902, CODA, "m"}, /* anusvara */
|
{0x0902, CODA, "m"}, /* anusvara */
|
||||||
{0x0903, CODA, ""}, /* visarga */
|
{0x0903, CODA, ""}, /* visarga */
|
||||||
{0x093d, CODA, "'"}, /* avagrada */
|
{0x093d, CODA, "'"}, /* avagrada */
|
||||||
|
{0x0901, CODA, "m"}, /* candrabindu */
|
||||||
|
|
||||||
/* Numbers */
|
/* Numbers */
|
||||||
{0x0966, NUMBER, "0"},
|
{0x0966, NUMBER, "0"},
|
||||||
|
|
1
iast.c
1
iast.c
|
@ -65,6 +65,7 @@ static struct translit_letter table[] = {
|
||||||
{0x0902, CODA, "\u1e43"}, /* anusvara (.m) */
|
{0x0902, CODA, "\u1e43"}, /* anusvara (.m) */
|
||||||
{0x0903, CODA, "\u1e25"}, /* visarga (.h) */
|
{0x0903, CODA, "\u1e25"}, /* visarga (.h) */
|
||||||
{0x093d, CODA, "'"}, /* avagrada (') */
|
{0x093d, CODA, "'"}, /* avagrada (') */
|
||||||
|
{0x0901, CODA, "m\u0310"}, /* candrabindu */
|
||||||
|
|
||||||
/* Numbers */
|
/* Numbers */
|
||||||
{0x0966, NUMBER, "0"},
|
{0x0966, NUMBER, "0"},
|
||||||
|
|
3
main.c
3
main.c
|
@ -19,11 +19,10 @@ static const char *usage_str =
|
||||||
"options:\n"
|
"options:\n"
|
||||||
" -h shows this help and exits\n"
|
" -h shows this help and exits\n"
|
||||||
" -v shows version number and exits\n"
|
" -v shows version number and exits\n"
|
||||||
" -f specifies file for conversion\n"
|
" -f specifies file for conversion (‘-’ means standard input)\n"
|
||||||
" -r reverse transliteration (from Latin to Devanagari)\n"
|
" -r reverse transliteration (from Latin to Devanagari)\n"
|
||||||
" -e convert symbolic ASCII text to IAST representation\n"
|
" -e convert symbolic ASCII text to IAST representation\n"
|
||||||
" -c transcript Devanagari to Czech language\n"
|
" -c transcript Devanagari to Czech language\n"
|
||||||
" -- read data from the standard input\n"
|
|
||||||
"\n"
|
"\n"
|
||||||
" By default, ‘" PROGNAME "’ takes all input arguments written in Devanagari\n"
|
" By default, ‘" PROGNAME "’ takes all input arguments written in Devanagari\n"
|
||||||
" and transliterates them to the IAST version.\n"
|
" and transliterates them to the IAST version.\n"
|
||||||
|
|
|
@ -22,6 +22,8 @@ START_TEST(test_transcript_devanagari_to_czech)
|
||||||
test_transcript("भगवद्गीता", "bhagavadgíta");
|
test_transcript("भगवद्गीता", "bhagavadgíta");
|
||||||
|
|
||||||
test_transcript("अग्निमीळे", "agnimílé");
|
test_transcript("अग्निमीळे", "agnimílé");
|
||||||
|
|
||||||
|
test_transcript("तान्यजत्राँ", "tánjadžatrám");
|
||||||
}
|
}
|
||||||
END_TEST
|
END_TEST
|
||||||
|
|
||||||
|
|
|
@ -58,9 +58,17 @@ START_TEST(test_translit_lla_sylable)
|
||||||
}
|
}
|
||||||
END_TEST
|
END_TEST
|
||||||
|
|
||||||
|
START_TEST(test_translit_candrabindu)
|
||||||
|
{
|
||||||
|
test_transliterate_devanagari_to_latin("तान्यजत्राँ", "tānyajatrām̐");
|
||||||
|
test_transliterate_latin_to_devanagari("tānyajatrām̐", "तान्यजत्राँ");
|
||||||
|
}
|
||||||
|
END_TEST
|
||||||
|
|
||||||
void register_translit_tests(TCase *test_case)
|
void register_translit_tests(TCase *test_case)
|
||||||
{
|
{
|
||||||
tcase_add_test(test_case, test_translit_devanagari_to_latin);
|
tcase_add_test(test_case, test_translit_devanagari_to_latin);
|
||||||
tcase_add_test(test_case, test_translit_latin_to_devanagari);
|
tcase_add_test(test_case, test_translit_latin_to_devanagari);
|
||||||
tcase_add_test(test_case, test_translit_lla_sylable);
|
tcase_add_test(test_case, test_translit_lla_sylable);
|
||||||
|
tcase_add_test(test_case, test_translit_candrabindu);
|
||||||
}
|
}
|
||||||
|
|
|
@ -123,6 +123,13 @@ char *transliterate_latin_to_devanagari(const char *latin)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (strncmp(src, "m\u0310", 3) == 0) {
|
||||||
|
utf8_pack_char(devanagari + done, 0x0901);
|
||||||
|
done += 3;
|
||||||
|
src += 3;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
letter = letter_by_data(table, src);
|
letter = letter_by_data(table, src);
|
||||||
if (letter) {
|
if (letter) {
|
||||||
utf8_pack_char(devanagari + done, letter->code);
|
utf8_pack_char(devanagari + done, letter->code);
|
||||||
|
|
Loading…
Add table
Reference in a new issue