https://github.com/vipafattal/TajweedParser
Tajweed Quran Parser based on https://alquran.cloud/
https://github.com/vipafattal/TajweedParser
native-android quran quran-tajweed
Last synced: 12 days ago
JSON representation
Tajweed Quran Parser based on https://alquran.cloud/
- Host: GitHub
- URL: https://github.com/vipafattal/TajweedParser
- Owner: vipafattal
- Created: 2020-10-19T18:17:39.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2022-01-22T15:25:54.000Z (about 4 years ago)
- Last Synced: 2023-10-20T23:41:34.199Z (over 2 years ago)
- Topics: native-android, quran, quran-tajweed
- Language: Kotlin
- Homepage: http://api.alquran.cloud/ayah/24:35/quran-tajweed
- Size: 1.19 MB
- Stars: 15
- Watchers: 1
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-islamic-open-source-apps - TajweedParser
README
[](https://jitpack.io/#vipafattal/TajweedParser)
# TajweedParser
Tajweed Quran Parser for Android bassed on [quran-tajweed](http://api.alquran.cloud/v1/quran/quran-tajweed)
## Setup
#### Step 1
add to your project build.gradle at the end of repositories
```groovy
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
```
#### Step 2
add the dependency to the `build.gradle` app module:
```groovy
implementation 'com.github.vipafattal:TajweedParser:1.0.1'
```
#### Usage
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](https://developer.android.com/reference/android/text/Spannable) text. Use TextView widgets with Spannable text.
```kotlin
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:
```Kotlin
val metaColors = MetaColors(hsl = "#FF6200EE", ikhafa = "#D50000")
TajweedHelper.setTajweedMetasColor(metaColors)
```
then use `setTajweedMetasColor(MetaColors)` to force library to use your custom colors.
```Kotlin
TajweedHelper.setTajweedMetasColor(customMetaColors)
```
To use TajweedHepler, which is a singleton in Kotlin, in your Java code you need to obtain INSTANCE:
```Java
TajweedHelper th = TajweedHelper.INSTANCE;
th.getStyledAyah(aya.text);
```
## Full Example
See the [app](https://github.com/vipafattal/TajweedParser/blob/master/test.png) module for full example.
You can also download the apk from this [link](https://drive.google.com/file/d/10EbERrszIuVqBfxIQkm5whGXcHjibpG5/view?usp=sharing).
## Styles
This table of the Tajweed metas of the `quran-tajweed` (obtained from [link](https://github.com/vipafattal/alquran-tools/blob/master/docs/tajweed.md)):
## The Library Functionality
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](https://github.com/islamic-network/alquran-tools/blob/master/docs/tajweed.md) and [link2](https://alquran.cloud/tajweed-guide).
# Credits
Big thanks for [Meezaan](https://github.com/meezaan) for help and the useful API.