aboutsummaryrefslogtreecommitdiff
path: root/arabluatex.lua
diff options
context:
space:
mode:
authorRobert Alessi <alessi@robertalessi.net>2018-03-29 19:03:38 +0200
committerRobert Alessi <alessi@robertalessi.net>2018-03-29 19:03:38 +0200
commite11852284d62c0d0192e9b2a204cb1e7f0ad45f1 (patch)
tree35a8f6efa3f3d98768c9c366fb3b33ddb77c7ee5 /arabluatex.lua
parent6f7b8e49be7093b2c67aee02f562b0491bd16c10 (diff)
downloadarabluatex-e11852284d62c0d0192e9b2a204cb1e7f0ad45f1.tar.gz
\arbmarks{} first checks if its argument is defined in the arbmarks table
Diffstat (limited to 'arabluatex.lua')
-rw-r--r--arabluatex.lua25
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
677end 677end
678 678
679function processarbmarks(str) 679local 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
686end
687
688function 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