From 80a1abe75f85faa204866af06047888dba32a7cc Mon Sep 17 00:00:00 2001 From: Robert Alessi Date: Fri, 4 Mar 2016 20:19:39 +0100 Subject: implementation of basic Arabic punctuation --- arabluatex.lua | 15 +++++++++++++++ arabluatex_trans.lua | 5 +++++ arabluatex_voc.lua | 13 +++++++++++++ 3 files changed, 33 insertions(+) diff --git a/arabluatex.lua b/arabluatex.lua index 80b7aa5..158282d 100644 --- a/arabluatex.lua +++ b/arabluatex.lua @@ -147,6 +147,9 @@ local function voc(str) for i = 1,#shortv do inside = string.gsub(inside, shortv[i].a, shortv[i].b) end + for i = 1,#punctuation do + inside = string.gsub(inside, punctuation[i].a, punctuation[i].b) + end for i = 1,#null do inside = string.gsub(inside, null[i].a, null[i].b) end @@ -180,6 +183,9 @@ local function fullvoc(str) for i = 1,#shortv do inside = string.gsub(inside, shortv[i].a, shortv[i].b) end + for i = 1,#punctuation do + inside = string.gsub(inside, punctuation[i].a, punctuation[i].b) + end for i = 1,#null do inside = string.gsub(inside, null[i].a, null[i].b) end @@ -213,6 +219,9 @@ local function novoc(str) for i = 1,#shortvnv do inside = string.gsub(inside, shortvnv[i].a, shortvnv[i].b) end + for i = 1,#punctuation do + inside = string.gsub(inside, punctuation[i].a, punctuation[i].b) + end for i = 1,#null do inside = string.gsub(inside, null[i].a, null[i].b) end @@ -246,6 +255,9 @@ local function transdmg(str) for i = 1,#shortvtrdmg do inside = string.gsub(inside, shortvtrdmg[i].a, shortvtrdmg[i].b) end + for i = 1,#punctuationtr do + inside = string.gsub(inside, punctuationtr[i].a, punctuationtr[i].b) + end for i = 1,#nulltr do inside = string.gsub(inside, nulltr[i].a, nulltr[i].b) end @@ -281,6 +293,9 @@ local function transloc(str) for i = 1,#finaltrloc do inside = string.gsub(inside, finaltrloc[i].a, finaltrloc[i].b) end + for i = 1,#punctuationtr do + inside = string.gsub(inside, punctuationtr[i].a, punctuationtr[i].b) + end for i = 1,#nulltr do inside = string.gsub(inside, nulltr[i].a, nulltr[i].b) end diff --git a/arabluatex_trans.lua b/arabluatex_trans.lua index d253269..fa7c38e 100644 --- a/arabluatex_trans.lua +++ b/arabluatex_trans.lua @@ -24,6 +24,11 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -- common +punctuationtr = { + {a="%(%(", b="("}, + {a="%)%)", b=")"} +} + nulltr = { {a="%|", b=""} } diff --git a/arabluatex_voc.lua b/arabluatex_voc.lua index 06d266f..f9f251c 100644 --- a/arabluatex_voc.lua +++ b/arabluatex_voc.lua @@ -287,6 +287,19 @@ shortv = { {a="i", b="ِ"} } +punctuation = { + {a="%(%(", b="﴿"}, + {a="%)%)", b="﴾"}, + {a="%(", b="+@("}, + {a="%)", b="-@("}, + {a="%+%@%(", b=")"}, + {a="%-%@%(", b="("}, + {a="%.", b="۔"}, + {a="%,", b="،"}, + {a="%?", b="؟"}, + {a="%;", b="؛"}, +} + null = { {a="%|", b=""}, {a="([^0-9])(%-)([^0-9])", b="%1%3"} -- cgit v1.2.3