From a11be346f0676235ac7ef2fce518fc38cd4417a7 Mon Sep 17 00:00:00 2001 From: Robert Alessi Date: Sat, 30 Dec 2017 17:58:41 +0100 Subject: \cap{} should handle proper names made of several words --- arabluatex.lua | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/arabluatex.lua b/arabluatex.lua index f6890ed..593dc6c 100644 --- a/arabluatex.lua +++ b/arabluatex.lua @@ -674,15 +674,24 @@ function cap(str) str = string.gsub(str, "([^\\]%-['`])", "%1\\MakeUppercase ") str = string.gsub(str, "([^\\]%-ʿ)", "%1\\MakeUppercase ") str = string.gsub(str, "([^\\]%-ʾ)", "%1\\MakeUppercase ") - elseif string.find(str, "[^\\]%-[^'`ʾʿ]") then - str = string.gsub(str, "([^\\]%-)", "%1\\MakeUppercase ") - elseif string.find(str, "^['`ʾʿ]") then + end + if string.find(str, "[^\\]a?%-[^'`ʾʿ]") then + str = string.gsub(str, "([^\\]a?%-)", "%1\\MakeUppercase ") + end + if string.find(str, "^['`ʾʿ]") then str = string.gsub(str, "^(['`])", "%1\\MakeUppercase ") str = string.gsub(str, "^(ʿ)", "%1\\MakeUppercase ") str = string.gsub(str, "^(ʾ)", "%1\\MakeUppercase ") - else - str = "\\MakeUppercase "..str end + if string.find(str, "%s['`ʾʿ]") then + str = string.gsub(str, "(%s['`][^%-])", "%1\\MakeUppercase ") + str = string.gsub(str, "(%sʿ)", "%1\\MakeUppercase ") + str = string.gsub(str, "(%sʾ)", "%1\\MakeUppercase ") + end +-- str = string.gsub(str, "(%s[^'`ʾʿ])", "%1\\MakeUppercase ") +-- else + str = "\\MakeUppercase "..str +-- end return "\\txtrans{"..str.."}" end -- cgit v1.2.3