An open API service indexing awesome lists of open source software.

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/

Awesome Lists containing this project

README

          

[![](https://jitpack.io/v/vipafattal/TajweedParser.svg)](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.