aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-07-25renamed source filesRobert Alessi
2019-07-25renamed Old Standard T to Old StandardRobert Alessi
2019-07-25renamed repositoryRobert Alessi
2019-07-24removed xurl. this is v1.0v1.0Robert Alessi
2019-07-24uri needs to be loaded after hyperrefRobert Alessi
2019-07-24typoRobert Alessi
2019-07-24updated READMERobert Alessi
2019-07-24use pkgver and pkgdateRobert Alessi
2019-07-24added makefileRobert Alessi
2019-07-24done documentingRobert Alessi
2019-07-23still documentingRobert Alessi
2019-07-23documentingRobert Alessi
2019-07-22bugfix [Bold]: make +ss06 work if beta is preceded by a vowel with an accute ↵Robert Alessi
accent taken from the Greek Extended Unicode block
2019-07-22bugfix [Italic]: make +ss06 work if beta is preceded by a vowel with an ↵Robert Alessi
accute accent taken from the Greek Extended Unicode block
2019-07-22bugfix [Regular]: make +ss06 work if beta is preceded by a vowel with an ↵Robert Alessi
accute accent taken from the Greek Extended Unicode block
2019-07-22added small capitals in Bold (French, German, Italian, Spanish, Greek ↵Robert Alessi
unaccented, Basic Russian and Arabic DMG)
2019-07-22added small capitals in Italic (French, German, Italian, Spanish, Greek ↵Robert Alessi
unaccented, Basic Russian and Arabic DMG)
2019-07-22added small capitals in Regular (French, German, Italian, Spanish, Basic ↵Robert Alessi
Russian and Arabic DMG)
2019-07-21added gcaron in ItalicRobert Alessi
2019-07-21added gcaron in BoldRobert Alessi
2019-07-21added gcaron in RegularRobert Alessi
2019-07-21added otf/Robert Alessi
2019-07-21fixed missing control points, wrong coordinates and directions in ↵Robert Alessi
OldStandardT-Italic.sfd
2019-07-21fixed missing direction in U+2023Robert Alessi
2019-07-20typoRobert Alessi
2019-07-20typoRobert Alessi
2019-07-20moved *.sfd into src/Robert Alessi
2019-07-20typoRobert Alessi
2019-07-20updated README.mdRobert Alessi
2019-07-20added README.mdRobert Alessi
2019-07-20added copyright notices in OFL.txtRobert Alessi
2019-07-20added OFL.txt and OFL-FAQ.txtRobert Alessi
2019-07-20updated font names, release no and copyrightRobert Alessi
2019-07-20renamed .sfd filesRobert Alessi
2019-07-20initial commitRobert Alessi
000">= string.gsub(str, "(\\arb.?)(%[.-%])(%b{})", "\\@arb%2%3") str = string.gsub(str, "\\par", "\\p@r{}") str = string.gsub(str, "\\@@par", "\\p@r{}") return str end local function unprotectarb(str) str = string.gsub(str, "(\\@arb)(%[.-%])(%b{})", "\\arb%2%3") str = string.gsub(str, "\\p@r{}", "\\par") return str end local function breakcmd(str) -- \RL str = string.gsub(str, "\\(RL.-)(%b{})", function(tag, body) body = string.sub(body, 2, -2) return string.format("}\\%s{%s}\\arb{", tag, body) end) -- \LR str = string.gsub(str, "\\(LR.-)(%b{})", function(tag, body) body = string.sub(body, 2, -2) return string.format("}\\%s{%s}\\arb{", tag, body) end) -- Footnote str = string.gsub(str, "\\(Footnote.-)(%b{})", function(tag, body) body = string.sub(body, 2, -2) return string.format("}\\%s{%s}\\arb{", tag, body) end) -- Marginpar str = string.gsub(str, "\\(Marginpar.-)(%b{})", function(tag, body) body = string.sub(body, 2, -2) return string.format("}\\%s{%s}\\arb{", tag, body) end) -- Abjad (Needs polyglossia) str = string.gsub(str, "\\(abjad.-)(%b{})", function(tag, body) body = string.sub(body, 2, -2) return string.format("}\\aemph{\\txarb{\\%s{%s}}}\\arb{", tag, body) end) return str end local function holdcmd(str) str = string.gsub(str, "\\(arb)(%b{})", function(tag, body) body = string.sub(body, 2, -2) body = string.gsub(body, "\\(.-)(%b{})", function(btag, bbody) bbody = string.sub(bbody, 2, -2) if string.find(btag, "@") then return holdcmd(string.format("}\\%s{%s}\\arb{", btag, bbody)) else return holdcmd(string.format("}\\%s{\\arb{%s}}\\arb{", btag, bbody)) end end) return string.format("\\%s{%s}", tag, body) end) str = string.gsub(str, "\\arb{}", "") return str end local function arbnum(str) str = string.gsub(str, "([0-9%,%-%/]+)", function(num) return string.reverse(num) end) return str end local function indnum(str) str = string.gsub(str, "([0-9%,%-%/]+)", function(num) return string.reverse(num) end) for i = 1,#numbers do str = string.gsub(str, numbers[i].a, numbers[i].b) end return str end local function voc(str) str = string.gsub(str, "\\arb(%b{})", function(inside) inside = string.sub(inside, 2, -2) for i = 1,#hamza do inside = string.gsub(inside, hamza[i].a, hamza[i].b) end for i = 1,#tanwin do inside = string.gsub(inside, tanwin[i].a, tanwin[i].b) end for i = 1,#trigraphs do inside = string.gsub(inside, trigraphs[i].a, trigraphs[i].b) end for i = 1,#digraphs do inside = string.gsub(inside, digraphs[i].a, digraphs[i].b) end for i = 1,#single do inside = string.gsub(inside, single[i].a, single[i].b) end for i = 1,#longv do inside = string.gsub(inside, longv[i].a, longv[i].b) end for i = 1,#shortv do inside = string.gsub(inside, shortv[i].a, shortv[i].b) end for i = 1,#null do inside = string.gsub(inside, null[i].a, null[i].b) end inside = indnum(inside) return string.format("\\txarb{%s}", inside) end) return str end local function fullvoc(str) str = string.gsub(str, "\\arb(%b{})", function(inside) inside = string.sub(inside, 2, -2) for i = 1,#hamzafv do inside = string.gsub(inside, hamzafv[i].a, hamzafv[i].b) end for i = 1,#tanwin do inside = string.gsub(inside, tanwin[i].a, tanwin[i].b) end for i = 1,#trigraphsfv do inside = string.gsub(inside, trigraphsfv[i].a, trigraphsfv[i].b) end for i = 1,#digraphsfv do inside = string.gsub(inside, digraphsfv[i].a, digraphsfv[i].b) end for i = 1,#single do inside = string.gsub(inside, single[i].a, single[i].b) end for i = 1,#longv do inside = string.gsub(inside, longv[i].a, longv[i].b) end for i = 1,#shortv do inside = string.gsub(inside, shortv[i].a, shortv[i].b) end for i = 1,#null do inside = string.gsub(inside, null[i].a, null[i].b) end inside = indnum(inside) return string.format("\\txarb{%s}", inside) end) return str end local function novoc(str) str = string.gsub(str, "\\arb(%b{})", function(inside) inside = string.sub(inside, 2, -2) for i = 1,#hamza do inside = string.gsub(inside, hamza[i].a, hamza[i].b) end for i = 1,#tanwinnv do inside = string.gsub(inside, tanwinnv[i].a, tanwinnv[i].b) end for i = 1,#trigraphs do inside = string.gsub(inside, trigraphs[i].a, trigraphs[i].b) end for i = 1,#digraphs do inside = string.gsub(inside, digraphs[i].a, digraphs[i].b) end for i = 1,#single do inside = string.gsub(inside, single[i].a, single[i].b) end for i = 1,#longvnv do inside = string.gsub(inside, longvnv[i].a, longvnv[i].b) end for i = 1,#shortvnv do inside = string.gsub(inside, shortvnv[i].a, shortvnv[i].b) end for i = 1,#null do inside = string.gsub(inside, null[i].a, null[i].b) end inside = indnum(inside) return string.format("\\txarb{%s}", inside) end) return str end local function transdmg(str) str = string.gsub(str, "\\arb(%b{})", function(inside) inside = string.sub(inside, 2, -2) for i = 1,#hamzatrdmg do inside = string.gsub(inside, hamzatrdmg[i].a, hamzatrdmg[i].b) end for i = 1,#tanwintrdmg do inside = string.gsub(inside, tanwintrdmg[i].a, tanwintrdmg[i].b) end for i = 1,#trigraphstrdmg do inside = string.gsub(inside, trigraphstrdmg[i].a, trigraphstrdmg[i].b) end for i = 1,#digraphstrdmg do inside = string.gsub(inside, digraphstrdmg[i].a, digraphstrdmg[i].b) end for i = 1,#singletrdmg do inside = string.gsub(inside, singletrdmg[i].a, singletrdmg[i].b) end for i = 1,#longvtrdmg do inside = string.gsub(inside, longvtrdmg[i].a, longvtrdmg[i].b) end for i = 1,#shortvtrdmg do inside = string.gsub(inside, shortvtrdmg[i].a, shortvtrdmg[i].b) end return string.format("\\txtrans{%s}", inside) end) return str end function processvoc(str) str = "\\arb{".. str.."}" str = protectarb(str) str = breakcmd(str) str = holdcmd(str) str = voc(str) str = unprotectarb(str) return str end function processfullvoc(str) str = "\\arb{".. str.."}" str = protectarb(str) str = breakcmd(str) str = holdcmd(str) str = fullvoc(str) str = unprotectarb(str) return str end function processnovoc(str) str = "\\arb{".. str.."}" str = protectarb(str) str = breakcmd(str) str = holdcmd(str) str = novoc(str) str = unprotectarb(str) return str end function processtrans(str, mode) str = "\\arb{".. str.."}" str = protectarb(str) str = breakcmd(str) str = holdcmd(str) if mode == "dmg" then str = transdmg(str) else end str = unprotectarb(str) return str end --print(processvoc("'at_A .sadIquN 'il_A ju.hA ya.tlubu min-hu .himAra-hu li-yarkiba-hu fI safraTiN qa.sIraTiN wa-qAla la-hu sawfa 'u`Idu-hu 'ilay-ka fI 'l-masA'i wa-'adfa`u la-ka 'ujraTaN 'at_A .sadIquN 'il_A ju.hA ya.tlubu min-hu .himAra-hu li-yarkiba-hu fI safraTiN qa.sIraTiN wa-qAla la-hu sawfa 'u`Idu-hu 'ilay-ka fI 'l-masA'i wa-'adfa`u la-ka 'ujraTaN")) --print(arbnum("bop 0123456789")) --print(processvoc("daxala \\arb[novoc]{mubtasimaN}")) --print(processvoc("\\emph{daxala} \\arb[novoc]{mufakkiruN}\\Footnote{\\arb{kataba \\arb[novoc]{mubtasimaN}} Je pense que c'est bien \\arb{kataba}} faqa.t")) --print(processvoc("daxala \\abjad{45} mubtasimaN")) --print(process("daxala\\Footnote{Et là c'est toujours \\arb{mubtasimaN}?")) --print(process("\\emph{daxala}\\Footnote{texte arabe: \\arb{\\emph{kataba}}} \\textbf{\\emph{mubtasimaN}} faqa.t"))