aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-01-04updated to v1.10.1v1.10.1Robert Alessi
2018-01-04a typo in the documentationRobert Alessi
2018-01-04\prname{}: ibn should not be uppercased unless the preceding proper name be ↵Robert Alessi
missing
2018-01-04a typo in the documentationRobert Alessi
2018-01-03done documenting. getting close to v1.10v1.10Robert Alessi
2018-01-02documenting the features to be included in the next releaseRobert Alessi
2018-01-02redefined \changes{} to have the minor versions sorted as they ought toRobert Alessi
see http://tex.stackexchange.com/a/74113/7712
2018-01-02\uc{}: rule for initial ʿayn missing from locRobert Alessi
2018-01-02\cap{} was already defined in math mode, oh dear! replaced with \uc{}Robert Alessi
2018-01-02new command \prname{}; updated copyright datesRobert Alessi
2018-01-01names inside \cap{} may be surrounded by bracketsRobert Alessi
2018-01-01loc and \cap{}: less rules were neededRobert Alessi
2018-01-01some more correctionsRobert Alessi
2018-01-01adapted \cap{} for loc conventionRobert Alessi
2018-01-01\cap{} should be in order. Some more tests before documentingRobert Alessi
2018-01-01a typo in arabluatex_voc.luaRobert Alessi
2018-01-01done rewriting \capRobert Alessi
2018-01-01rewriting \cap{} from scratch. added new table lcucRobert Alessi
2017-12-31\cap{} rules: more work was neededRobert Alessi
2017-12-31still tuning \cap{}.Robert Alessi
2017-12-30new \cap{} almost works. More tests are neededRobert Alessi
2017-12-30\cap{} should handle proper names made of several wordsRobert Alessi
2017-12-30a typo in the documentationRobert Alessi
2017-12-08commented out l.153 in arabluatex.dtx as the bug in dox has been fixedRobert Alessi
2017-11-06documentation update: \aemph* should be used to have the stroke printed over ↵Robert Alessi
the abjad number outside Arabic environments
2017-10-25a typo in the documentationRobert Alessi
2017-10-24a few additional remarks in the documentation; updated to v1.9.2v1.9.2Robert Alessi
2017-10-23done documenting for v1.9.2Robert Alessi
2017-10-23documenting the features to be included in v1.9.2Robert Alessi
2017-09-15added the pipe char. to specify that a word ending in -aT is in the ↵Robert Alessi
construct state
2017-09-08such words as hay'At should not have the maddahRobert Alessi
2017-09-06bugfix: wrong redefinition of \aemph*Robert Alessi
2017-09-05new 'starred' \aemph* command which always puts the stroke over its argumentRobert Alessi
2017-09-05\aemph now outputs \underline instead of \overline in any of the ↵Robert Alessi
transliteration modes
2017-08-16bugfix: wrong vertical spacing at the end of the arabverse environmentRobert Alessi
2017-08-11remove the trailing comma in case there are only two uncertain vowelsRobert Alessi
2017-08-11uncertain short vowels should rather go between slashes and be separated by ↵Robert Alessi
commas
2017-08-10put uncertain short vowels into square bracketsRobert Alessi
2017-08-07a bit of clean up in the codeRobert Alessi
2017-08-07the new rules of taḫfīf al-hamzah have been added in the transliteration ↵Robert Alessi
modes
2017-08-07removed a couple of useless and wrong rules from the transliteration tablesRobert Alessi
2017-08-06updated READMERobert Alessi
2017-08-05much work was needed on the final hamzah. in such words as ^say'aN, ↵Robert Alessi
\SetArbDflt now puts the hamzah on the line while \SetArbEasy puts it above yāʾ without dots
2017-08-04added dual and plural of miʾatunRobert Alessi
2017-08-04the strange spelling of miʾatun has been addedRobert Alessi
2017-08-02the Munjid says that such words as radI'aN do not have the hamzah alone on ↵Robert Alessi
the line
2017-08-02still wrong. hopefully fixed nowRobert Alessi
2017-08-02the rule set in the preceding commit was incomplete. fixedRobert Alessi
2017-08-01new rule: [wf]a-' may be used in imperatives should one wish to reject the ↵Robert Alessi
initial alif conjunctionis of weak verbs
2017-08-01more work on the rules of taḫfīf al-hamzahRobert Alessi
href='#n567'>567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664
--[[
This file is part of the `arabluatex' package

ArabLuaTeX -- Processing ArabTeX notation under LuaLaTeX
Copyright (C) 2016  Robert Alessi

Please send error reports and suggestions for improvements to Robert
Alessi <alessi@robertalessi.net>

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see
<http://www.gnu.org/licenses/>.
--]]

hamzafv = {
   -- next line for ʾiʿrāb hyphen
   {a="(')(%-)([uaiUAI])", b="%1%3"},
   -- hard coded hamza
   {a="|\"'", b="ء"},
   {a="A\"'", b="آ"},
   {a="[au]\"'", b="أ"},
   {a="w\"'", b="ؤ"},
   {a="i\"'", b="إ"},
   {a="y\"'", b="ئ"},
   {a="ؤ([^uaiUAI])", b="ؤْ%1"},
   {a="ؤ$", b="ؤْ"},
   {a="ؤ(%s)", b="ؤْ%1"},
   {a="أ([^uaiUAI])", b="أْ%1"},
   {a="أ$", b="أْ"},
   {a="أ(%s)", b="أْ%1"},
   {a="ئ([^uaiUAI])", b="ئْ%1"},
   {a="ئ$", b="ئْ"},
   {a="ئ(%s)", b="ئْ%1"},
   -- hamza takes tašdīd too
   {a="''([Uu])", b="ؤؤ%1"},
   {a="''([Aa])", b="أأ%1"},
   {a="''([Ii])", b="ئئ%1"},
   -- inseparable adverbial particle 'a- + 'a
   {a="\'(a)%-\'(a)", b="أ%1اأ%2"},
   -- initial long u and i (for a, see below)
   {a="%'%_U", b="أU"},
   {a="%'%_I", b="إI"},
   -- taḫfīfu 'l-hamza
   {a="'u'([^uaiUAI])", b="أU%1"},
   {a="'i'([^uaiUAI])", b="إI%1"},   
   -- madda (historic writing below)
   {a="'a'([^uaiUAI])", b="آ%1"},
   {a="([^uiUI])\'a?A([%_%^%.]?[%`%'btjghxdrzsfqklmnywAY])", b="%1آ%2"},
   {a="^\'a?A([%_%^%.]?[%`%'btjghxdrzsfqklmnywAY])", b="آ%1"},
   {a="(%W)\'a?A([%_%^%.]?[%`%'btjghxdrzsfqklmnywAY])", b="%1آ%2"},
   {a="(A)(')(uN?)$", b="aآء%3"},
   {a="(A)(')(uN?)(%W)", b="aآء%3%4"},
   {a="(A)(')(iN?)$", b="aآء%3"},
   {a="(A)(')(iN?)(%W)", b="aآء%3%4"},
   {a="(A)(')([iI])", b="aآئ%3"}, -- historic madda
   {a="(A)(')(u)", b="aآؤ%3"}, -- historic madda
   {a="(A)(')", b="aآء"}, -- historic madda
   -- initial (needs both ^ and %W patterns)
   {a="^(')([ua])", b="أ%2"},
   {a="^(')(i)", b="إ%2"},
   {a="(%W)(')([ua])", b="%1أ%3"},
   {a="(%W)(')(i)", b="%1إ%3"},
   -- final
   -- ^say'aN and .zim'aN are special orthographies
   {a="(%^say)(%')(aN)", b="%1ئ%3"},
   {a="(.zi?m)(%')(aN)", b="%1ئ%3"},
   {a="([^uai])(')([uai]N?)$", b="%1ء%3"},
   {a="([^uai])(')([uai]N?)(%W)", b="%1ء%3%4"},
-- u
   {a="(u)(')([uai]N?)$", b="%1ؤ%3"},
   {a="(u)(')([uai]N?)(%W)", b="%1ؤ%3%4"},
   {a="(u)(')$", b="%1ؤْ"},
   {a="(u)(')(%W)", b="%1ؤْ%3"},
-- a
   {a="(a)(')(A)$", b="%1آ"},
   {a="(a)(')(A)(%W)", b="%1آ%4"},
   {a="(a)(')([u]N?)$", b="%1أ%3"},
   {a="(a)(')([u]N?)(%W)", b="%1أ%3%4"},
   {a="(a)(')(a)$", b="%1أ%3"},
   {a="(a)(')(a)(%W)", b="%1أ%3%4"},
   {a="(a)(')(aN)$", b="%1أً"},
   {a="(a)(')(aN)(%W)", b="%1أً%4"},
   {a="(a)(')([i]N?)$", b="%1إ%3"},
   {a="(a)(')([i]N?)(%W)", b="%1إ%3%4"},
   {a="(a)(')$", b="%1أْ"},
   {a="(a)(')(%W)", b="%1أْ%3"},
-- i
   {a="(i)(')([uai]N?)$", b="%1ئ%3"},
   {a="(i)(')([uai]N?)(%W)", b="%1ئ%3%4"},
   {a="(i)(')$", b="%1ئْ"},
   {a="(i)(')(%W)", b="%1ئْ%3"},
--
   -- middle
   {a="(U)(')", b="%1ء"},
   {a="([Iy])(')", b="%1ئ"},
   {a="([^uai])(')([uU])", b="%1ؤ%3"},
   {a="([^uai])(')([aA])", b="%1أ%3"},
   {a="([^uai])(')([iI])", b="%1ئ%3"},
   {a="(u)(')([uU])", b="%1ؤ%3"},
   {a="(u)(')([aA])", b="%1ؤ%3"},
   {a="(u)(')([iI])", b="%1ئ%3"},
   {a="(a)(')([aA])", b="%1أ%3"},
   {a="(a)(')([uU])", b="%1ؤ%3"},
   {a="(a)(')([iI])", b="%1ئ%3"},
   {a="(i)(')([aA])", b="%1ئ%3"},
   {a="(i)(')([uU])", b="%1ئ%3"},
   {a="(i)(')([iI])", b="%1ئ%3"},
   {a="(a)(')([^uaiUAI])", b="%1أْ%3"},
   {a="(u)(')([^uaiUAI])", b="%1ؤْ%3"},
   {a="(i)(')([^uaiUAI])", b="%1ئْ%3"}
}

hamzafveasy = { -- differences marked below with 'easy'
   -- next line for ʾiʿrāb hyphen
   {a="(')(%-)([uaiUAI])", b="%1%3"},
   -- hard coded hamza
   {a="|\"'", b="ء"},
   {a="A\"'", b="آ"},
   {a="[au]\"'", b="أ"},
   {a="w\"'", b="ؤ"},
   {a="i\"'", b="إ"},
   {a="y\"'", b="ئ"},
   {a="ؤ([^uaiUAI])", b="ؤْ%1"},
   {a="ؤ$", b="ؤْ"},
   {a="ؤ(%s)", b="ؤْ%1"},
   {a="أ([^uaiUAI])", b="أْ%1"},
   {a="أ$", b="أْ"},
   {a="أ(%s)", b="أْ%1"},
   {a="ئ([^uaiUAI])", b="ئْ%1"},
   {a="ئ$", b="ئْ"},
   {a="ئ(%s)", b="ئْ%1"},
   -- hamza takes tašdīd too
   {a="''([Uu])", b="ؤؤ%1"},
   {a="''([Aa])", b="أأ%1"},
   {a="''([Ii])", b="ئئ%1"},
   -- inseparable adverbial particle 'a- + 'a
   {a="\'(a)%-\'(a)", b="أ%1اأ%2"},
   -- initial long u and i (for a, see below)
   {a="%'%_U", b="أU"},
   {a="%'%_I", b="إI"},
   -- taḫfīfu 'l-hamza
   {a="'u'([^uaiUAI])", b="أU%1"},
   {a="'i'([^uaiUAI])", b="إI%1"},   
   -- madda (historic writing below)
   {a="'a'([^uaiUAI])", b="آ%1"},
   {a="([^uiUI])\'a?A([%_%^%.]?[%`%'btjghxdrzsfqklmnywAY])", b="%1آ%2"},
   {a="^\'a?A([%_%^%.]?[%`%'btjghxdrzsfqklmnywAY])", b="آ%1"},
   {a="(%W)\'a?A([%_%^%.]?[%`%'btjghxdrzsfqklmnywAY])", b="%1آ%2"},
   --easy (begin)
   {a="(A)(')(uN?)$", b="aاء%3"},