
Parses Tajweed-annotated Quran text into color-coded, span-ready UI text, mapping tajweed markers to configurable colors and supporting custom color schemes for pronunciation guidance.
Tajweed Quran Parser for KMP bassed on quran-tajweed
add to your project build.gradle
implementation "io.github.dreamfighter:tajweed-parser:1.0.1"The library is based on https://alquran.cloud/api, on edition quran-tajweed.Once you have quran-tajweed inside the app you can call TajweedColorText(text:string) to return a Text text. Use TextView widgets with Spannable text.
You can also change the colors by creating a class of MetaColors and overriding the color properties:
val string = "بِسْمِ [h:1[ٱ]للَّهِ [h:2[ٱ][l[ل]رَّحْمَ[n[ـٰ]نِ [h:3[ٱ][l[ل]رَّح[p[ي]مِ"
TajweedText(string)
val metaColor = MetaColor(hsl = "#FF6200EE", ikhafa = "#D50000")
TajweedText(string,metaColor)This library takes the output of the Tajweed edition, and creates a Spannalbe Android Widget friendly text. It uses the table below to parse what the API returns and converts it to something you can use with TextViews widgets.
| Type | Identifier | Colour | Variable Name | Description |
|---|---|---|---|---|
| hamza-wasl | [h | #AAAAAA | hsl | Hamzat ul Wasl |
| silent | [s | #AAAAAA | hsl | Silent |
| laam-shamsiyah | [l | #AAAAAA | hsl | Lam Shamsiyyah |
| madda-normal | [n | #537FFF | madda_normal | Normal Prolongation: 2 Vowels |
| madda-permissible | [p | #4050FF | madda_permissible | Permissible Prolongation: 2, 4, 6 Vowels |
| madda-necesssary | [m | #000EBC | madda_necessary | Necessary Prolongation: 6 Vowels |
| qalaqah | [q | #DD0008 | qlq | Qalaqah |
| madda-obligatory | [o | #2144C1 | madda_pbligatory | Obligatory Prolongation: 4-5 Vowels |
| ikhafa-shafawi | [c | #D500B7 | ikhf_shfw | Ikhafa' Shafawi - With Meem |
| ikhafa | [f | #9400A8 | ikhf | Ikhafa' |
| idgham-shafawi | [w | #58B800 | idghm_shfw | Idgham Shafawi - With Meem |
| iqlab | [i | #26BFFD | iqlb | Iqlab |
| idgham-without-ghunnah | [a | #169777 | idgh_ghn | Idgham - With Ghunnah |
| idgham-without-ghunnah | [u | #169200 | idgh_w_ghn | Idgham - Without Ghunnah |
| idgham-mutajanisayn | [d | #A1A1A1 | idgh_mus | Idgham - Mutajanisayn |
| idgham-mutaqaribayn | [b | #A1A1A1 | idgh_mus | Idgham - Mutaqaribayn |
| ghunnah | [g | #FF7E1E | ghn | Ghunnah: 2 Vowels MIMM/NOON with SHADEH |
for more information go to see the docs at link1 and link2.
Big thanks for Meezaan for help and the useful API.
Tajweed Quran Parser for KMP bassed on quran-tajweed
add to your project build.gradle
implementation "io.github.dreamfighter:tajweed-parser:1.0.1"The library is based on https://alquran.cloud/api, on edition quran-tajweed.Once you have quran-tajweed inside the app you can call TajweedColorText(text:string) to return a Text text. Use TextView widgets with Spannable text.
You can also change the colors by creating a class of MetaColors and overriding the color properties:
val string = "بِسْمِ [h:1[ٱ]للَّهِ [h:2[ٱ][l[ل]رَّحْمَ[n[ـٰ]نِ [h:3[ٱ][l[ل]رَّح[p[ي]مِ"
TajweedText(string)
val metaColor = MetaColor(hsl = "#FF6200EE", ikhafa = "#D50000")
TajweedText(string,metaColor)This library takes the output of the Tajweed edition, and creates a Spannalbe Android Widget friendly text. It uses the table below to parse what the API returns and converts it to something you can use with TextViews widgets.
| Type | Identifier | Colour | Variable Name | Description |
|---|---|---|---|---|
| hamza-wasl | [h | #AAAAAA | hsl | Hamzat ul Wasl |
| silent | [s | #AAAAAA | hsl | Silent |
| laam-shamsiyah | [l | #AAAAAA | hsl | Lam Shamsiyyah |
| madda-normal | [n | #537FFF | madda_normal | Normal Prolongation: 2 Vowels |
| madda-permissible | [p | #4050FF | madda_permissible | Permissible Prolongation: 2, 4, 6 Vowels |
| madda-necesssary | [m | #000EBC | madda_necessary | Necessary Prolongation: 6 Vowels |
| qalaqah | [q | #DD0008 | qlq | Qalaqah |
| madda-obligatory | [o | #2144C1 | madda_pbligatory | Obligatory Prolongation: 4-5 Vowels |
| ikhafa-shafawi | [c | #D500B7 | ikhf_shfw | Ikhafa' Shafawi - With Meem |
| ikhafa | [f | #9400A8 | ikhf | Ikhafa' |
| idgham-shafawi | [w | #58B800 | idghm_shfw | Idgham Shafawi - With Meem |
| iqlab | [i | #26BFFD | iqlb | Iqlab |
| idgham-without-ghunnah | [a | #169777 | idgh_ghn | Idgham - With Ghunnah |
| idgham-without-ghunnah | [u | #169200 | idgh_w_ghn | Idgham - Without Ghunnah |
| idgham-mutajanisayn | [d | #A1A1A1 | idgh_mus | Idgham - Mutajanisayn |
| idgham-mutaqaribayn | [b | #A1A1A1 | idgh_mus | Idgham - Mutaqaribayn |
| ghunnah | [g | #FF7E1E | ghn | Ghunnah: 2 Vowels MIMM/NOON with SHADEH |
for more information go to see the docs at link1 and link2.
Big thanks for Meezaan for help and the useful API.