Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/islamic-network/alquran-tools

Various tools for Parsing Quran Tajweed, Buck, etc.
https://github.com/islamic-network/alquran-tools

buckwalter-transliteration islam php php7 quran quran-api

Last synced: 5 days ago
JSON representation

Various tools for Parsing Quran Tajweed, Buck, etc.

Awesome Lists containing this project

README

        

## بِسْمِ اللهِ الرَّحْمٰنِ الرَّحِيْمِ

![](https://img.shields.io/packagist/dt/alquran/tools.svg)
[![](https://img.shields.io/github/license/islamic-network/alquran-tools.svg)](https://github.com/islamic-network/alquran-tools/blob/master/LICENSE)

# Quran Tools for Parsing Tajweed and Buck
These *PHP* tools are to be used with the AlQuran.cloud and GlobalQuran.com APIs. They are made available so you may get the most out of the APIs.

There's a React equivalent of this package @ https://github.com/aamirbhat382/Tajweed.

# What do they contain
For now, a Tajweed and Buck helper. Each section is detailed below.

# Install and Get Started
The tools add developer libraries you can use in your application. Install using composer:
```
composer require alquran/tools
```

### Tajweed Example
To get tajweed text to become legible, use:
```php
parse($text); // $text is the output text of a Verse from quran-tajweed edition. For example: http://api.alquran.cloud/ayah/24:35/quran-tajweed. Also see data/tajweed.json.
```

### Buckwalter Transliteration example
To get tajweed text to become legible, use:
```php
toArabic($text); // $text is the output text of a Verse from quran-buck edition. For example: http://api.alquran.cloud/ayah/24:35/quran-buck.
```

## Tajweed Documentation

See Tajweed Documentation.

## Buck (Buckwalter Transliteration) Documentation

See Buck Documentation.

## Are there any known Issues
~~Yes, with the Tajweed parser. Webkit has a known bug that breaks Arabic with inline tags. There is an experimental fix in the Tajweed Parse class for this using the Zero Width Joiner (‍), but it still needs some work. I've manually tried this on some Ayahs and ZWJ is not smart enough to parse all the characters and join them properly, so this is not ideal. See See https://stackoverflow.com/questions/11155849/partially-colored-arabic-word-in-html
and https://bugs.webkit.org/show_bug.cgi?id=6148.~~ The issue with parsing in Chrome seems to have been resolved with Chrome's new layout implementation (https://www.chromium.org/blink/layoutng). It has been tested on version 77.0.3865.90.

## Credits
Most of this code is created using logic from the Global Quran website and codebase.