From 5e6b2363b729d89421235da8c35a7b0cd1a01812 Mon Sep 17 00:00:00 2001 From: minjaesong Date: Wed, 19 Jan 2022 11:41:02 +0900 Subject: [PATCH] devanagari ru-like syllables --- assets/devanagari_variable.tga | 2 +- .../gdx/TerrarumSansBitmap.kt | 18 ++++++++++++++++++ testing.PNG | Bin 17471 -> 17724 bytes testtext.txt | 2 +- work_files/devanagari_variable.psd | 4 ++-- 5 files changed, 22 insertions(+), 4 deletions(-) diff --git a/assets/devanagari_variable.tga b/assets/devanagari_variable.tga index 09a8cdf..c8e750a 100644 --- a/assets/devanagari_variable.tga +++ b/assets/devanagari_variable.tga @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2e191f1cc83a4b0991b48daf40f5c51365875e5d65c9cf21105628fc041a7463 +oid sha256:58117e3b5b600d922970998e271ba0c7e01e4ff9620ce37b89119b044c75e01f size 409618 diff --git a/src/net/torvald/terrarumsansbitmap/gdx/TerrarumSansBitmap.kt b/src/net/torvald/terrarumsansbitmap/gdx/TerrarumSansBitmap.kt index efe9b58..140d3ff 100755 --- a/src/net/torvald/terrarumsansbitmap/gdx/TerrarumSansBitmap.kt +++ b/src/net/torvald/terrarumsansbitmap/gdx/TerrarumSansBitmap.kt @@ -1148,6 +1148,19 @@ class TerrarumSansBitmap( // END of tamil subsystem implementation // BEGIN of devanagari string replacer + // Unicode Devanagari Rendering Rule R14 + else if (c == DEVANAGARI_RA && cNext == DEVANAGARI_U) { + seq.add(DEVANAGARI_SYLL_RU); i += 1 + } + else if (c == DEVANAGARI_RA && cNext == DEVANAGARI_UU) { + seq.add(DEVANAGARI_SYLL_RUU); i += 1 + } + else if (c == DEVANAGARI_RRA && cNext == DEVANAGARI_U) { + seq.add(DEVANAGARI_SYLL_RRU); i += 1 + } + else if (c == DEVANAGARI_RRA && cNext == DEVANAGARI_UU) { + seq.add(DEVANAGARI_SYLL_RRUU); i += 1 + } // Unicode Devanagari Rendering Rule R6-R8 // (this must precede the ligaturing-machine coded on the 2nd pass, otherwise the rules below will cause undesirable effects) else if (devanagariConsonants.contains(c) && cNext == DEVANAGARI_VIRAMA && cNext2 == DEVANAGARI_RA) { @@ -1701,9 +1714,14 @@ class TerrarumSansBitmap( private val DEVANAGARI_RA = 0x930 private val DEVANAGARI_RRA = 0x931 private val DEVANAGARI_YA = 0x92F + private val DEVANAGARI_U = 0x941 + private val DEVANAGARI_UU = 0x942 private val DEVANAGARI_SYLL_RU = 0xF0100 private val DEVANAGARI_SYLL_RUU = 0xF0101 + private val DEVANAGARI_SYLL_RRU = 0xF0140 + private val DEVANAGARI_SYLL_RRUU = 0xF0141 + private val DEVANAGARI_OPEN_YA = 0xF0103 private val DEVANAGARI_RA_SUPER = 0xF0104 private val DEVANAGARI_EYELASH_RA = 0xF012A diff --git a/testing.PNG b/testing.PNG index 489d0a819fd5e58146dd8e730b78fd6e7fceb0bf..077e5cf67552cf075b83960d48dbe40416cd7e60 100755 GIT binary patch literal 17724 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