From 3804a9fe0de57821fa16c0b38073a41d80d5701d Mon Sep 17 00:00:00 2001 From: Robert Alessi Date: Sun, 31 Dec 2017 01:15:39 +0100 Subject: still tuning \cap{}. --- arabluatex.lua | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) (limited to 'arabluatex.lua') diff --git a/arabluatex.lua b/arabluatex.lua index 931b239..2d5ccd2 100644 --- a/arabluatex.lua +++ b/arabluatex.lua @@ -670,7 +670,8 @@ function cap(str) body = string.sub(body, 2, -2) return string.format("%s", body) end) - str = string.gsub(str, "(%s)(bn)([uai])", "%1{%2}%3") -- protect bn[uai] + -- protect bn[uai] (next line): + str = string.gsub(str, "(%s)(%'?bn)", "%1{%2}") if string.find(str, "[^\\]%-['`ʾʿ]") then str = string.gsub(str, "([^\\]%-['`])(%a)", "%1\\MakeUppercase{%2}") str = string.gsub(str, "([^\\]%-ʿ)(%a)", "%1\\MakeUppercase{%2}") @@ -680,24 +681,21 @@ function cap(str) str = string.gsub(str, "([^\\]%-)(%a)", "%1\\MakeUppercase{%2}") end if string.find(str, "^['`ʾʿ]") then - str = string.gsub(str, "^(['`])(%a)", "%1\\MakeUppercase{%2}") - str = string.gsub(str, "^(ʿ)(%a)", "%1\\MakeUppercase{%2}") - str = string.gsub(str, "^(ʾ)(%a)", "%1\\MakeUppercase{%2}") + str = string.gsub(str, "^(['`])(%a)([^%-])", "%1\\MakeUppercase{%2}%3") + str = string.gsub(str, "^(ʿ)(%a)([^%-])", "%1\\MakeUppercase{%2}%3") + str = string.gsub(str, "^(ʾ)(%a)([^%-])", "%1\\MakeUppercase{%2}%3") end if string.find(str, "%s['`ʾʿ]") then --- str = string.gsub(str, "(%s['`])(%a)", "%1\\MakeUppercase{%2}") - str = string.gsub(str, "(%sʿ)(%a)", "%1\\MakeUppercase{%2}") - str = string.gsub(str, "(%sʾ)(%a)", "%1\\MakeUppercase{%2}") + str = string.gsub(str, "(%s['`])(%a)([^%-])", "%1\\MakeUppercase{%2}%3") + str = string.gsub(str, "(%sʿ)(%a)([^%-])", "%1\\MakeUppercase{%2}%3") + str = string.gsub(str, "(%sʾ)(%a)([^%-])", "%1\\MakeUppercase{%2}%3") end - if string.find(str, "%s[btṯjgḥḫdḏrzsšṣḍṭẓġfqklmnhwy]") then - str = string.gsub(str, "(%s)([btṯjgḥḫdḏrzsšṣḍṭẓġfqklmnhwy])", "%1\\MakeUppercase{%2}") + if string.find(str, "%s[ibtṯjgḥḫdḏrzsšṣḍṭẓġfqklmnhwyč]") then + str = string.gsub(str, "(%s)([ibtṯjgḥḫdḏrzsšṣḍṭẓġfqklmnhwyč])", "%1\\MakeUppercase{%2}") end - if string.find(str, "^[btṯjgḥḫdḏrzsšṣḍṭẓġfqklmnhwy]") then - str = string.gsub(str, "^([btṯjgḥḫdḏrzsšṣḍṭẓġfqklmnhwy])", "\\MakeUppercase %1") + if string.find(str, "^[ibtṯjgḥḫdḏrzsšṣḍṭẓġfqklmnhwyč]") then + str = string.gsub(str, "^([ibtṯjgḥḫdḏrzsšṣḍṭẓġfqklmnhwyč])", "\\MakeUppercase %1") end --- else --- str = "\\MakeUppercase "..str --- end return "\\txtrans{"..str.."}" end -- cgit v1.2.3