From aa160a2fb75d07c7575e7677a8450896044269d3 Mon Sep 17 00:00:00 2001 From: Robert Alessi Date: Wed, 25 May 2016 18:52:33 +0200 Subject: =?UTF-8?q?implementation=20of=20=CA=BEi=CA=BFr=C4=81b=20=C4=A1ayr?= =?UTF-8?q?=20mun=E1=B9=A3arif=20(dmg=20mode)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- arabluatex_trans.lua | 82 +++++++++++++++++++++++++++++++++------------------- 1 file changed, 53 insertions(+), 29 deletions(-) (limited to 'arabluatex_trans.lua') diff --git a/arabluatex_trans.lua b/arabluatex_trans.lua index 838bccc..45fd3d5 100644 --- a/arabluatex_trans.lua +++ b/arabluatex_trans.lua @@ -127,24 +127,24 @@ hamzatrdmg = { } tanwintrdmg = { - {a="uNU", b="\\arbup{un}"}, - {a="aNU", b="\\arbup{an}"}, - {a="iNU", b="\\arbup{in}"}, - {a="iNI", b="i\\arbup{n}"}, + {a="%-?uNU", b="\\arbup{un}"}, + {a="%-?aNU", b="\\arbup{an}"}, + {a="%-?iNU", b="\\arbup{in}"}, + {a="%-?iNI", b="i\\arbup{n}"}, -- tanwīn preceding ʾalif conjunctionis - {a="(uN)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="\\arbup{uni}%2%3"}, - {a="(aN)(_A)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="ạ\\arbup{ni}%3%4"}, - {a="(aN)(Y)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="ạ\\arbup{ni}%3%4"}, - {a="(T)(aN)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="t\\arbup{ani}%3%4"}, - {a="([^TA])(aN)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1\\arbup{ani}%3%4"}, - {a="(iN)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="\\arbup{ini}%2%3"}, + {a="%-?(uN)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="\\arbup{uni}%2%3"}, + {a="%-?(aN)(_A)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="ạ\\arbup{ni}%3%4"}, + {a="%-?(aN)(Y)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="ạ\\arbup{ni}%3%4"}, + {a="(T)%-?(aN)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="t\\arbup{ani}%3%4"}, + {a="([^TA])%-?(aN)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1\\arbup{ani}%3%4"}, + {a="%-?(iN)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="\\arbup{ini}%2%3"}, -- - {a="uN", b="\\arbup{un}"}, - {a="(aN)(_A)", b="ạ\\arbup{n}"}, - {a="(aN)(Y)", b="ạ\\arbup{n}"}, - {a="(T)(\"?aN)", b="t\\arbup{an}"}, - {a="([^TA])(\"?aN)", b="%1\\arbup{an}"}, - {a="iN", b="\\arbup{in}"} +-- {a="uN", b="\\arbup{un}"}, (now included in last line in this table) + {a="%-?(aN)(_A)", b="ạ\\arbup{n}"}, + {a="%-?(aN)(Y)", b="ạ\\arbup{n}"}, + {a="(T)%-?(\"?aN)", b="t\\arbup{an}"}, + {a="([^TA])%-?(\"?aN)", b="%1\\arbup{an}"}, + {a="(%-?)(\"?A?t?)(%-?)([ui])(N)", b="\\arbup{%2%4n}"} } trigraphstrdmg = { -- trigraphs or more @@ -266,6 +266,18 @@ digraphstrdmg = { {a="([%_]?[AYa])(%s)(\"?[uai])", b="a%2'"}, {a="([%_]?[Uu])(%s)(\"?[uai])", b="u%2'"}, {a="([%_]?[Ii])(%s)(\"?[uai])", b="i%2'"}, + -- ʾiʿrāb hyphen (begin) + {a="(%-)(\"?[UI]na)(%p?%s)", b="\\arbup{%2}%3"}, + {a="(%-)(\"?[UI]na)(%p?)$", b="\\arbup{%2}%3"}, + {a="(%-)(\"?At[ui])(%p?%s)", b="\\arbup{%2}%3"}, + {a="(%-)(\"?At[ui])(%p?)$", b="\\arbup{%2}%3"}, + {a="(%-)(\"?Ani)(%p?%s)", b="\\arbup{%2}%3"}, + {a="(%-)(\"?Ani)(%p?)$", b="\\arbup{%2}%3"}, + {a="(%-)(\"?ayni)(%p?%s)", b="\\arbup{%2}%3"}, + {a="(%-)(\"?ayni)(%p?)$", b="\\arbup{%2}%3"}, + {a="(%-)(\"?[uai])(%p?%s)", b="\\arbup{%2}%3"}, + {a="(%-)(\"?[uai])(%p?)$", b="\\arbup{%2}%3"}, + -- ʾiʿrāb hyphen (end) -- shorten long vowels preceding ʾalif conjunctionis {a="(U)(A)", b="U"}, {a="(aW)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="awu%2%3"}, @@ -274,8 +286,8 @@ digraphstrdmg = { {a="([%_]?[Ii])(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="i%2%3"}, {a="%-%-", b=""}, -- {a="T([^uai])", b="%1"}, - {a="T(%s)", b="%1"}, - {a="T$", b=""}, + {a="T(%p?%s)", b="%1"}, + {a="T(%p?)$", b="%1"}, {a="_t", b="ṯ"}, {a="%^g", b="ǧ"}, {a="%.h", b="ḥ"}, @@ -410,15 +422,15 @@ hamzatrloc = { } tanwintrloc = { - {a="uNU", b="un"}, - {a="aNU", b="an"}, - {a="iNU", b="in"}, - {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"} + {a="%-?uNU", b="un"}, + {a="%-?aNU", b="an"}, + {a="%-?iNU", b="in"}, + {a="%-?uN", b="un"}, +-- {a="%-?(aN)(_A)", b="an"}, (now included in last line in this table) + {a="%-?(aN)(Y)", b="an"}, + {a="(T)%-?(\"?aN)", b="tan"}, + {a="([^TA])%-?(\"?aN)", b="%1an"}, + {a="(%-?)(\"?A?t?)(%-?)([ui])(N)", b="%2%4n"}, } trigraphstrloc = { -- trigraphs or more @@ -472,8 +484,20 @@ trigraphstrloc = { -- trigraphs or more } digraphstrloc = { - {a="(%-)([uai])", b="%1%2"}, -- hyphen + initial alif without hamza - {a="^([uai])", b="%1"}, -- initial alif without hamza + -- discard the ʾiʿrāb hyphen (begin) + {a="(%-)(\"?[UI]na)(%p?%s)", b="%2%3"}, + {a="(%-)(\"?[UI]na)(%p?)$", b="%2%3"}, + {a="(%-)(\"?At[ui])(%p?%s)", b="%2%3"}, + {a="(%-)(\"?At[ui])(%p?)$", b="%2%3"}, + {a="(%-)(\"?Ani)(%p?%s)", b="%2%3"}, + {a="(%-)(\"?Ani)(%p?)$", b="%2%3"}, + {a="(%-)(\"?ayni)(%p?%s)", b="%2%3"}, + {a="(%-)(\"?ayni)(%p?)$", b="%2%3"}, + {a="(%-)([uai])(%p?%s)", b="%2%3"}, + {a="(%-)([uai])(%p?)$", b="%2%3"}, + -- discard the ʾiʿrāb hyphen (end) + {a="(%-)(\"?[uai])", b="%1%2"}, -- hyphen + initial alif without hamza + {a="^(\"?[uai])", b="%1"}, -- initial alif without hamza {a="(%s)([uai])", b="%1%2"}, -- initial alif without hamza {a="%-%-", b=""}, {a="uww", b="ūw"}, -- cgit v1.2.3