Tajweed Quran Parser for Android bassed on quran-tajweed
add to your project build.gradle at the end of repositories
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
add the dependency to the build.gradle
app module:
implementation 'com.github.vipafattal:TajweedParser: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 TajweedHelper.getStyledAyah(Aya.text)
to return a Spannable text. Use TextView widgets with Spannable text.
val ayaTextView: TextView = findViewById(R.id.ayahText)
ayaTextView.text = TajweedHelper.getStyledAyah(aya.text)
You can also change the colors by creating a class of MetaColors
and overriding the color properties:
val metaColors = MetaColors(hsl = "#FF6200EE", ikhafa = "#D50000")
TajweedHelper.setTajweedMetasColor(metaColors)
then use setTajweedMetasColor(MetaColors)
to force library to use your custom colors.
TajweedHelper.setTajweedMetasColor(customMetaColors)
To use TajweedHepler, which is a singleton in Kotlin, in your Java code you need to obtain INSTANCE:
TajweedHelper th = TajweedHelper.INSTANCE;
th.getStyledAyah(aya.text);
See the app module for full example.
You can also download the apk from this link.
This table of the Tajweed metas of the quran-tajweed
(obtained from link):
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.