diff options
Diffstat (limited to 'arabluatex.lua')
-rw-r--r-- | arabluatex.lua | 25 |
1 files changed, 19 insertions, 6 deletions
diff --git a/arabluatex.lua b/arabluatex.lua index cd0bfa2..7a7460a 100644 --- a/arabluatex.lua +++ b/arabluatex.lua | |||
@@ -676,14 +676,27 @@ function newarbmark(abbr, rtlmk, ltrmk) | |||
676 | return true | 676 | return true |
677 | end | 677 | end |
678 | 678 | ||
679 | function processarbmarks(str) | 679 | local function isintable(table, element) |
680 | if tex.textdir == "TLT" then | 680 | for i = 1,#table do |
681 | for i = 1,#arbmarks do | 681 | if table[i].a == element then |
682 | str = string.gsub(str, arbmarks[i].a, arbmarks[i].c) | 682 | return true |
683 | end | 683 | end |
684 | end | ||
685 | return false | ||
686 | end | ||
687 | |||
688 | function processarbmarks(str) | ||
689 | if not isintable(arbmarks, str) then | ||
690 | str = "\\LR{<??>}" | ||
684 | else | 691 | else |
685 | for i = 1,#arbmarks do | 692 | if tex.textdir == "TLT" then |
686 | str = string.gsub(str, arbmarks[i].a, arbmarks[i].b) | 693 | for i = 1,#arbmarks do |
694 | str = string.gsub(str, arbmarks[i].a, arbmarks[i].c) | ||
695 | end | ||
696 | else | ||
697 | for i = 1,#arbmarks do | ||
698 | str = string.gsub(str, arbmarks[i].a, arbmarks[i].b) | ||
699 | end | ||
687 | end | 700 | end |
688 | end | 701 | end |
689 | return str | 702 | return str |