Package: matn
Matn | مَتنA shared space for Arabic text processors.1. Getting startedpipinstallmatn2. Counters2.1. Jummal | حِسَاب ٱلْجُمَّلOr Abjad numerals, a decimal alphabetic numeral system/alphanumeric code, in which the 28 letters of the Arabic alphabet are assigned numerical values. They have been used in the Arabic-speaking world since before the eighth century when positional Arabic numerals were adopted.2.1.1. MethodsThere are different ways and values people use for jummal.The normal method which doesn't include the hamza count.The method that considers hamza as a seperate character.The tarkeeb method; Used to express the numbers from 2000 to 1,000,000, using the rule based on the letter "غ". The rule is fairly simple, any character that comes before "غ" its value will be multiplied with 1000 instead of accumalated to it.Normalized hamzas method, where we treat all hamza forms as a regular alef instead of the letter it appears on. Defaults to False.2.1.2. UsagePython>>>frommatn.countersimportjummal>>>text="شغل الدموع عن الديار بكاؤنا   لبكاء فاطمــة على أولادها">>>jummal(text)2_273# شغ's value is 1000 + 300 and hamza value is 0# To include Hamza count>>>jummal(text,use_hamza=True)2_274# شغ's value is 1000 + 300 and hamza value is 1# To include hamza normalization>>>jummal(text,normalize_hamza=True)2_268# شغ's value is 1000 + 300, hamza value is 1, and ؤ value is 1# To use tarkeeb>>>jummal(text,use_tarkeeb=True)300_973# شغ's value is 300 * 1000 and hamza value is 0# To use hamza and tarkeeb>>>jummal(text,use_hamza=True,use_tarkeeb=True)300_974# شغ's value is 300 * 1000 and hamza value is 1CLImatnjummal"شغل الدموع عن الديار بكاؤنا   لبكاء فاطمــة على أولادها"# To include Hamza countmatnjummal--use-hamza"شغل الدموع عن الديار بكاؤنا   لبكاء فاطمــة على أولادها"# To use tarkeebmatnjummal--use-tarkeeb"شغل الدموع عن الديار بكاؤنا   لبكاء فاطمــة على أولادها"# To normalize hamzamatnjummal--normalize-hamza"شغل الدموع عن الديار بكاؤنا   لبكاء فاطمــة على أولادها"# All methods at oncematnjummal-z-n-t"شغل الدموع عن الديار بكاؤنا   لبكاء فاطمــة على أولادها"2.2. Word CountCounts the number of characters in a given string.2.2.1. MethodsThe method is very obvious. However, some researchers tend to split words into multiple parts. The only word we took interest in, so far, is بعدما. Theword_countmethod will give you the option to split it into two words or count it as one.2.2.2. UsagePython>>>frommatn.countersimportword_count>>>text="فَمَنۢ بَدَّلَهُۥ بَعۡدَمَا سَمِعَهُۥ">>>word_count(text)4# To split badama>>>word_count(text,split_badama=True)5# بَعۡدَمَا was split into two wordsCLImatnwc"فَمَنۢ بَدَّلَهُۥ بَعۡدَمَا سَمِعَهُۥ"# To split badamamatnwc--split-badama"فَمَنۢ بَدَّلَهُۥ بَعۡدَمَا سَمِعَهُۥ"2.3. Char CountCounts the number of characters in a given string.2.3.1. MethodsIn some cases, we need to consinder spaces as seperate characters, in some cases we don't.In some cases, we consider the hamza-madda (أٓ) character two characters. This character appears in the word الأٓخرة for example.2.3.2. UsagePython>>>frommatn.countersimportchar_count>>>text="ٱلدَّارُ ٱلۡأٓخِرَةُ">>>char_count(text)11# To Include spaces>>>char_count(text,include_spaces=True)12# To Include hamza-madda>>>char_count(text,hamza_madda=True)12# To Include hamza-madda and spaces>>>char_count(text,hamza_madda=True)13CLImatncc"ٱلدَّارُ ٱلۡأٓخِرَةُ"# To Include hamza-maddamatnwc--hamza-madda"فَمَنۢ بَدَّلَهُۥ بَعۡدَمَا سَمِعَهُۥ"# To Include spacesmatnwc--include-spaces"فَمَنۢ بَدَّلَهُۥ بَعۡدَمَا سَمِعَهُۥ"# To Include hamza-madda and spacesmatnwc--include-spaces--hamza-madda"فَمَنۢ بَدَّلَهُۥ بَعۡدَمَا سَمِعَهُۥ"