aboutsummaryrefslogtreecommitdiff
AgeCommit message (Expand)Author
2016-11-13added compatibility with the 'quran' package; updated documentation. getting ...Robert Alessi
2016-11-13arabluatex now accepts environments and can process RTL list environments; a ...Robert Alessi
2016-11-12arabluatex.ins now generates arabluatex-patch.sty which will receive code fro...Robert Alessi
2016-10-05updated .dtx file to v1.4.5v1.4.5Robert Alessi
2016-10-04bugfix: the carrier of the hamza in a word like ^sifA'I has to be a yāʾ wit...Robert Alessi
2016-09-28updated documentation; this is v1.4.4v1.4.4Robert Alessi
2016-09-28added a 'starred' version of \SetArbEasy which further takes away the automat...Robert Alessi
2016-09-27a typo in arabluatex_fullvoc.luaRobert Alessi
2016-09-14done documenting brackets implementation; this will be v1.4.3v1.4.3Robert Alessi
2016-09-13added new macro \abraces which puts its argument between bracesRobert Alessi
2016-09-12'x' was missing from the maddah rulesRobert Alessi
2016-09-11square and angle brackets in Arabic environments are now supportedRobert Alessi
2016-09-09updated .dtx to v1.4.2v1.4.2Robert Alessi
2016-09-08bugfix: the name of God should always have the šaddah; tāʾ marbūṭah wit...Robert Alessi
2016-09-08bugfix: wrong transliteration of ʾalif maqṣūrahRobert Alessi
2016-09-08bugfix: wrong transliteration of ğīmRobert Alessi
2016-07-09updated .dtx to v1.4.1v1.4.1Robert Alessi
2016-07-09updated documentation. this will be v1.4.1Robert Alessi
2016-07-08added Buckwalter 'safe' notationRobert Alessi
2016-07-08a hyphen was missing in the previous commitRobert Alessi
2016-07-08correction of a typo in the documentationRobert Alessi
2016-07-07added a paragraph about hyphenation in the documentationRobert Alessi
2016-07-07\cap needed more work to accept \- properlyRobert Alessi
2016-07-06adapted \cap to accept the local hyphenation command \-Robert Alessi
2016-07-06allow the local hyphenation command \- in Arabic environmentsRobert Alessi
2016-07-05added a comment on the madda in the BW table. look into this later on.v1.4Robert Alessi
2016-07-05added clarification about \SetTranslitFontRobert Alessi
2016-07-04done documenting the Buckwalter input scheme; getting close to v1.4Robert Alessi
2016-07-03arabluatex.sty now accepts Buckwalter schemeRobert Alessi
2016-07-03reverted rules for quoted initial waṣla. it was a bad idea.Robert Alessi
2016-07-03done implementing Buckwalter scheme; new rules for quoted initial waṣla aft...Robert Alessi
2016-07-03almost done implementing Buckwalter scheme; testing romanizationRobert Alessi
2016-07-02new rule: interrogative ʾa + ʾalif hamzatum; still working on BuckwalterRobert Alessi
2016-06-30started implementing Buckwalter input schemeRobert Alessi
2016-06-22a few modifications and clarifications in the documentationRobert Alessi
2016-06-20correction of a typo in the documentationRobert Alessi
2016-06-20set Old Standard as the main font of the documentationRobert Alessi
2016-06-20bugfix: wrong font selection inside \cap{}Robert Alessi
2016-06-19new macro \SetTranslitFont for selecting a specific font for transliterated t...Robert Alessi
2016-06-17issues #346 and #361 in font loader are now fixedRobert Alessi
2016-06-15corrected wrong ʾiʿrāb after t or TRobert Alessi
2016-06-08bugfix: take out sukūn in case of assimilation rule was wrongRobert Alessi
2016-06-08Arabic dot was wrongRobert Alessi
2016-06-07correction of a couple of typos in the documentationRobert Alessi
2016-06-06workaround for a bug (#349) in font loaderRobert Alessi
2016-06-04correction of a typo in docRobert Alessi
2016-05-28specified checksum. this is v1.3v1.3Robert Alessi
2016-05-28cleaned up the code (tmp tags)Robert Alessi
2016-05-28done implementing ʾiʿrāb ġayr munṣarif, done documenting. getting close...Robert Alessi
2016-05-25ʾalifu 'l-waṣli was many times vocalized, which is wrong. corrected.Robert Alessi
403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483
--[[
This file is part of the `arabluatex' package

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 2
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, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
02111-1307, USA.
--]]

-- common

punctuationtr = {
   {a="%(%(", b="("},
   {a="%)%)", b=")"}
}

nulltr = {
   {a="%|", b=""}
}

-- dmg

hamzatrdmg = {
   -- hard coded hamza
   {a="|\"'", b="ʾ"},
   {a="A\"'", b="ʾ"},
   {a="[au]\"'", b="ʾ"},
   {a="w\"'", b="ʾ"},
   {a="i\"'", b="ʾ"},
   {a="y\"'", b="ʾ"},
   -- hamza takes tašdīd too
   {a="''([Uu])", b="ʾʾ%1"},
   {a="''([Aa])", b="ʾʾ%1"},
   {a="''([Ii])", b="ʾʾ%1"},
   -- initial long u
   {a="%'%_U", b="ʾU"},
   -- madda (historic writing below)
   {a="'a'([^uaiUAI])", b="ʾA%1"},
   {a="'a?A", b="ʾA"},
   {a="(A)(')(i)$", b="%1ʾ%3"},
   {a="(A)(')(i)(%W)", b="%1ʾ%3%4"},
   {a="(A)(')(i)", b="%1ʾ%3"}, -- historic madda
   {a="(A)(')", b="%1ʾ"}, -- 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
   {a="([Iy])(')(aN)$", b="%1ʾ%3"},
   {a="([Iy])(')(aN)(%W)", b="%1ʾ%3%4"},
   {a="([^uai])(')([uai]N?)$", b="%1ʾ%3"},
   {a="([^uai])(')([uai]N?)(%W)", b="%1ʾ%3%4"},
   {a="([UI])(')([uai])$", b="%1ʾ%3"},
   {a="([UI])(')([uai])(%W)", b="%1ʾ%3%4"},
   -- 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"}
}

trigraphstrdmg = { -- trigraphs or more
   -- 'llatI / 'llad_I
   {a="^'ll(a)([%_]?[dt])", b="'ll%1%2"},
   {a="(%s)'ll(a)([%_]?[dt])", b="%1'll%2%3"},
   -- al- + lām
   {a="^(a)l%-(l)", b="%1l-%2"},
   {a="([%s%-])(a)l%-(l)", b="%1%2l-%3"},
   -- al- + solar consonant
   {a="^(a)l%-([%_%^%.]?[tdrzsn])", b="%1%2-%2"},
   {a="([%s%-])(a)l%-([%_%^%.]?[tdrzsn])", b="%1%2%3-%3"},
   -- assim. art. + solar consonant
   {a="^(a)([%_%^%.]?[tdrzsn])%-", b="%1%2-"},
   {a="([%s%-])(a)([%_%^%.]?[tdrzsn])%-", b="%1%2%3-"},
   -- al- + initial unstable hamza
   {a="^(a)l%-([uai])", b="%1l-%2"},
   {a="([%s%-])(a)l%-([uai])", b="%1%2l-%3"},
   -- li-/la- + art. + initial unstable hamza is a special orthography
   {a="l([ai])%-l%-([uai])", b="l%1-l-%2"},
   -- al- + lunar consonant (i.e. what remains)
   {a="^(a)l%-", b="%1l-"},
   {a="([%s%-])(a)l%-", b="%1%2l-"},
   -- diphthongs to be resolved before ʾalif conjunctionis
   {a="(aw)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1u%2%3"},
   {a="(ay)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1i%2%3"},
   -- art. with waṣla + lām
   {a="'l%-(l)", b="'l-%1"},
   -- art. with waṣla + solar consonant
   {a="'l%-([%_%^%.]?[tdrzsn])", b="'%1-%1"},
   -- li-/la- + art. + lām
   {a="l([ai])%-l%-(l)", b="l%1-%2%2"},
   -- assim. art. with waṣla + solar consonant
   {a="'([%_%^%.]?[tdrzsn])%-", b="'%1-"},
   -- li-/la- + art. + solar consonant is a special orthography
   {a="l([ai])%-l%-([%_%^%.]?[tdrzsn])", b="l%1-%2-%2"},
   -- li-/la- + assim. art. + solar consonant is a special orthography
   {a="l([ai])%-([%_%^%.]?[tdrzsn])%-([%_%^%.]?[tdrzsn])", b="l%1-%2-%3"},
   -- art. with waṣla + initial unstable hamza
   {a="'l%-([uai])", b="'l-%1"},   
   -- art. with waṣla + lunar consonant (i.e. what remains)
   {a="'l%-", b="'l-"},
   -- the silent wāw
   {a="uU$", b="u"},
   {a="uU(%W)", b="u%1"},
   {a="aU$", b="a"},
   {a="aU(%W)", b="a%1"},
   {a="iU$", b="i"},
   {a="iU(%W)", b="i%1"},
   -- words ending in -āT with silent wāw/yāʾ
   {a="(_a)UA", b="A"},
   {a="(_a)U", b="A"},
   {a="(_a)I", b="A"},
   -- assimilations
   {a="(n)(%s)([rlmnwy])", b="%3%2%3"}
}

tanwintrdmg = {
   {a="uNU", b="un"},
   {a="aNU", b="an"},
   {a="iNU", b="in"},
   -- tanwīn preceding ʾalif conjunctionis
   {a="(uN)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="uni%2%3"},
   {a="(aN)(_A)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="ani%3%4"},
   {a="(aN)(Y)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="ani%3%4"},
   {a="(T)(aN)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="tani%3%4"},
   {a="([^TA])(aN)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1ani%3%4"},
   {a="(iN)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="ini%2%3"},
   --
   {a="uN", b="un"},
   {a="(aN)(_A)", b="an"},
   {a="(aN)(Y)", b="an"},
   {a="(T)(\"?aN)", b="tan"},
   {a="([^TA])(\"?aN)", b="%1an"},
   {a="iN", b="in"}
}

digraphstrdmg = {
   {a="([uai]%-)(\"?[uai])", b="%1'"}, -- hyphen + initial alif without hamza
   {a="^(\"?[uai])", b="%1"},      -- initial alif without hamza
-- {a="([%_]?[uaiUAIY])(%s)([uai])", b="%1%2'"}, -- initial alif without hamza
   {a="(aW)(%s)(\"?[uai])", b="awu%2%3"},
   {a="([^%_][uai])(%s)(\"?[uai])", b="%1%2'"},
   {a="([%_]?[AYa])(%s)(\"?[uai])", b="a%2'"},
   {a="([%_]?[Uu])(%s)(\"?[uai])", b="u%2'"},