Coder Social home page Coder Social logo

tajweed's People

Contributors

ahmedre avatar asimmohiuddin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

tajweed's Issues

alif maqsura instead of ya

The pull request fixes the wrong letter being used. The previous code used alif maqsura instead of ya for idgham. However, this leads to whether or not the initial test on surah baqarah verse 2 was valid for this rule. It seems that after a tanween the next non-space character is the alif maqsura in this verse. This, thus was recognized as a ya in the initial code which triggered the rule (instead the real trigger being the following lam). I am not a 100% sure.

When will this get completed?

Assalamualikum,

Appreciate the effort on this project, may Allah reward you.
I have an app that used colour coded Qu'ran but with PDF. I desperately want to update with a text version.
Would love to know when this will be completed?

Source of arabic ayah matters

It seems that ayahs coming from the arabic database from quran android are slightly different from the ayahs we have been using for test. The ones from the database do not have a shadda where idgham is done. @ahmedre where did you get the ayahs for testing?
There is also a difference in the order of characters. For example ثُمَّ from database is read with shadda as the first letter letter after meem while ثُمَّ from another source reads fatha as first letter after meem. I guess we can make the program a little more robust against this but how do you want to deal with this? What source should we use for now?

How to use this library..?

someone, please help me (I am newbie)... how to use this librarry.. I try hard but still cannot understand how to use this librarry... I have text quran from my database and its work, I need to convert so my text quran have Tajweed Highlighting.

this my code:
` private ArrayList generateData(){

    String query, query2, query3;
    ArrayList<Items> items = new ArrayList<Items>();
    SharedPreferences prefs =  this.getSharedPreferences("MyPrefsFile", MODE_PRIVATE);
    Integer surah = prefs.getInt("surafragment", 1);

        query =  "SELECT text AS WORD FROM quran where Sura = '" +surah+"'";
        query2 =  "SELECT text AS WORD FROM qurantransliteration where Sura = '" +surah+"'";
        query3 =  "SELECT text AS WORD FROM quranid where Sura = '" +surah+"'";

        quranCursor = db.rawQuery(query, null);
        quranCursor2 = db.rawQuery(query2, null);
        quranCursor3 = db.rawQuery(query3, null);
        Integer i= 1;

        if (quranCursor.moveToFirst() && quranCursor2.moveToFirst() && quranCursor3.moveToFirst()) {
            items.add(new Items (quranCursor.getString(0), i+". "+quranCursor2.getString(0),i+". "+quranCursor3.getString(0)));

            while (!quranCursor.isLast() && !quranCursor2.isLast() && !quranCursor2.isLast()) {
                quranCursor.moveToNext();
                quranCursor2.moveToNext();
                quranCursor3.moveToNext();
                i = 1+i;
                items.add(new Items(quranCursor.getString(0),i+". "+ quranCursor2.getString(0), i+". "+quranCursor3.getString(0)));
            }
        }

    return items;
}

`

I try:
items.add(new Items (new TajweedRules (quranCursor.getString(0), i+". "+quranCursor2.getString(0),i+". "+quranCursor3.getString(0))));

but it cannot be applied (expected actual, parameter argument), pls help me

Possibility for using next ayah

In the future, we may need to read the next ayah's beginning to check if a rule can be carried over to the next ayah if the two ayahs were joined. As far as I can think this is impossible for ghunna or qalqalah.

Huroof muqatta'at can have tajweed rules applied

Perhaps later in the project we need to consider Huroof muqatta'at or disjointed letters found in the Quran (ex surah baqarah Ayah 1 - الم). Here when the letters are pronounced separately, they can "end" in other letters. For example 'ل' when pronounced ends in a meem sakin (as in "laam". And the next letter 'م' starts with meem (" meem"). Thus in this example, idgham meem should be applied.

Exporting should take into account multiple rules

@ahmedre
When multiple rules with the same index are exported by html exporter, there ends up being a problem in the output where characters are repeated. Is there an easy way to fix it? It is difficult trying to put logic for checking for #5 because it is like checking for that rule all over again. I think the best way to fix this is to handle repeated indexes by the exporter.

Fix html exporter on Chrome

currently, the html exporter's output only works in Firefox.

In theory, we should be able to make the html exporter be able to output text that chrome can properly render if we place zero-width joiners in the correct places.

Qalqalah question

@asimmohiuddin
should we separate out the cases of qalqalah - for example, consider the second ayah of sura baqarah - your algorithm detects the ب in "رَيْبَ" as qalqalah - the tajweed mus7af doesn't. in this case, both are correct - it is qalqalah if you stop on it (as the three dots tell you that you can stop on it, provided you don't stop on the next 3 dots), but if you don't stop on it, it's not qalqalah.

my guess is that, in hafs, people typically stop on the second stop instead of the first one, and hence they didn't highlight it.

so i guess the question is, do we want to match the mus7af, or should this be configurable? btw, quranflash.com has a tajweed mus7af you can compare with.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.