diff options
Diffstat (limited to 'arabluatex.lua')
-rw-r--r-- | arabluatex.lua | 35 |
1 files changed, 26 insertions, 9 deletions
diff --git a/arabluatex.lua b/arabluatex.lua index 13db492..9b46d01 100644 --- a/arabluatex.lua +++ b/arabluatex.lua | |||
@@ -672,7 +672,20 @@ function al_openstream() | |||
672 | end | 672 | end |
673 | 673 | ||
674 | local function processarbtoutf(str) | 674 | local function processarbtoutf(str) |
675 | str = "\\begin{arabexport}"..str | 675 | if export_utf ~= "arabverse" then |
676 | str = "\\begin{arabexport}"..str | ||
677 | else end | ||
678 | str = string.gsub(str, "(\\bayt)%s?(%b{})(%b[])(%b{})", function(tag, argi, argii, argiii) | ||
679 | argi = string.sub(argi, 2, -2) | ||
680 | argii = string.sub(argii, 2, -2) | ||
681 | argiii = string.sub(argiii, 2, -2) | ||
682 | return string.format("%s*{\\arb{%s}}[\\arb{%s}]{\\arb{%s}}", tag, argi, argii, argiii) | ||
683 | end) | ||
684 | str = string.gsub(str, "(\\bayt)%s?(%b{})(%b{})", function(tag, argi, argii) | ||
685 | argi = string.sub(argi, 2, -2) | ||
686 | argii = string.sub(argii, 2, -2) | ||
687 | return string.format("%s*{\\arb{%s}}{\\arb{%s}}", tag, argi, argii) | ||
688 | end) | ||
676 | str = string.gsub(str, "(\\prname)%s?(%b{})", function(tag, body) | 689 | str = string.gsub(str, "(\\prname)%s?(%b{})", function(tag, body) |
677 | body = string.sub(body, 2, -2) | 690 | body = string.sub(body, 2, -2) |
678 | if string.find(body, "\\uc%s?%b{}") then | 691 | if string.find(body, "\\uc%s?%b{}") then |
@@ -727,7 +740,9 @@ local function processarbtoutf(str) | |||
727 | body = string.gsub(body, "(\\@al@cb)(%s?)", "}%2") | 740 | body = string.gsub(body, "(\\@al@cb)(%s?)", "}%2") |
728 | return string.format("{%s}", body) | 741 | return string.format("{%s}", body) |
729 | end) | 742 | end) |
730 | str = str.."\\end{arabexport}" | 743 | if export_utf ~= "arabverse" then |
744 | str = str.."\\end{arabexport}" | ||
745 | else end | ||
731 | return str | 746 | return str |
732 | end | 747 | end |
733 | 748 | ||
@@ -785,7 +800,9 @@ function al_closestream() | |||
785 | t = string.gsub(t, "(\\end%s?)(%b{})", "%1%2\n") | 800 | t = string.gsub(t, "(\\end%s?)(%b{})", "%1%2\n") |
786 | t = string.gsub(t, "([^\n]%s-)(\\end)%s?(%b{})", "%1\n%2%3") | 801 | t = string.gsub(t, "([^\n]%s-)(\\end)%s?(%b{})", "%1\n%2%3") |
787 | t = string.gsub(t, "\n\n\n", "\n\n") | 802 | t = string.gsub(t, "\n\n\n", "\n\n") |
788 | if string.find(t, "\\begin%s?{document}.-\\arb%s?[%[%{]") then | 803 | if string.find(t, "\\begin%s?{document}.-\\arb%s?[%[%{]") or |
804 | string.find(t, "\\begin%s?{document}.-\\[Uu]c%s?%b{}") | ||
805 | then | ||
789 | tex.print([[\unexpanded{\PackageWarningNoLine{arabluatex}{There are still 'arabtex' strings to be converted. Open ]]..tex.jobname..utffilesuffix..".tex"..[[ and compile it one more time}}]]) | 806 | tex.print([[\unexpanded{\PackageWarningNoLine{arabluatex}{There are still 'arabtex' strings to be converted. Open ]]..tex.jobname..utffilesuffix..".tex"..[[ and compile it one more time}}]]) |
790 | else end | 807 | else end |
791 | t = t.."\n\\end{document}" | 808 | t = t.."\n\\end{document}" |
@@ -820,7 +837,7 @@ function processvoc(str, rules, scheme) | |||
820 | elseif export_utf == "arabverse" then | 837 | elseif export_utf == "arabverse" then |
821 | tofile = str | 838 | tofile = str |
822 | tooutfile(tofile) | 839 | tooutfile(tofile) |
823 | return str | 840 | -- return str |
824 | else | 841 | else |
825 | return str | 842 | return str |
826 | end | 843 | end |
@@ -851,7 +868,7 @@ function processfullvoc(str, rules, scheme) | |||
851 | elseif export_utf == "arabverse" then | 868 | elseif export_utf == "arabverse" then |
852 | tofile = str | 869 | tofile = str |
853 | tooutfile(tofile) | 870 | tooutfile(tofile) |
854 | return str | 871 | -- return str |
855 | else | 872 | else |
856 | return str | 873 | return str |
857 | end | 874 | end |
@@ -880,7 +897,7 @@ function processnovoc(str, rules, scheme) | |||
880 | elseif export_utf == "arabverse" then | 897 | elseif export_utf == "arabverse" then |
881 | tofile = str | 898 | tofile = str |
882 | tooutfile(tofile) | 899 | tooutfile(tofile) |
883 | return str | 900 | -- return str |
884 | else | 901 | else |
885 | return str | 902 | return str |
886 | end | 903 | end |
@@ -912,7 +929,7 @@ function processtrans(str, mode, rules, scheme) | |||
912 | elseif export_utf == "arabverse" then | 929 | elseif export_utf == "arabverse" then |
913 | tofile = str | 930 | tofile = str |
914 | tooutfile(tofile) | 931 | tooutfile(tofile) |
915 | return str | 932 | -- return str |
916 | else | 933 | else |
917 | return str | 934 | return str |
918 | end | 935 | end |
@@ -956,7 +973,7 @@ function processarbmarks(str) | |||
956 | elseif export_utf == "arabverse" then | 973 | elseif export_utf == "arabverse" then |
957 | tofile = str | 974 | tofile = str |
958 | tooutfile(tofile) | 975 | tooutfile(tofile) |
959 | return str | 976 | -- return str |
960 | else | 977 | else |
961 | return str | 978 | return str |
962 | end | 979 | end |
@@ -1022,7 +1039,7 @@ function uc(str) | |||
1022 | elseif export_utf == "arabverse" then | 1039 | elseif export_utf == "arabverse" then |
1023 | tofile = "\\txtrans{"..str.."}" | 1040 | tofile = "\\txtrans{"..str.."}" |
1024 | tooutfile(tofile) | 1041 | tooutfile(tofile) |
1025 | return "\\txtrans{"..str.."}" | 1042 | -- return "\\txtrans{"..str.."}" |
1026 | else | 1043 | else |
1027 | return "\\txtrans{"..str.."}" | 1044 | return "\\txtrans{"..str.."}" |
1028 | end | 1045 | end |