summaryrefslogtreecommitdiff
path: root/macros/luatex
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2020-06-03 03:02:11 +0000
committerNorbert Preining <norbert@preining.info>2020-06-03 03:02:11 +0000
commit44fde4a143b75ae4f383b05832343d497c254989 (patch)
tree6abd083733890a7c60fedca06514c0b4ad057302 /macros/luatex
parent51cae99db4d58606cdce9181fd1f4c94e1a019de (diff)
CTAN sync 202006030302
Diffstat (limited to 'macros/luatex')
-rw-r--r--macros/luatex/generic/luavlna/README.md2
-rw-r--r--macros/luatex/generic/luavlna/luavlna-doc.pdfbin91288 -> 91137 bytes
-rw-r--r--macros/luatex/generic/luavlna/luavlna.lua17
-rw-r--r--macros/luatex/generic/luavlna/luavlna.sty2
-rw-r--r--macros/luatex/generic/luavlna/luavlna.tex12
5 files changed, 21 insertions, 12 deletions
diff --git a/macros/luatex/generic/luavlna/README.md b/macros/luatex/generic/luavlna/README.md
index dab00a6ca0..853a3683ff 100644
--- a/macros/luatex/generic/luavlna/README.md
+++ b/macros/luatex/generic/luavlna/README.md
@@ -1,4 +1,4 @@
-# Luavlna, version v0.1f, 2019-11-06
+# Luavlna, version v0.1g, 2020-06-02
# Introduction
diff --git a/macros/luatex/generic/luavlna/luavlna-doc.pdf b/macros/luatex/generic/luavlna/luavlna-doc.pdf
index e62a9bd1d4..84e384611f 100644
--- a/macros/luatex/generic/luavlna/luavlna-doc.pdf
+++ b/macros/luatex/generic/luavlna/luavlna-doc.pdf
Binary files differ
diff --git a/macros/luatex/generic/luavlna/luavlna.lua b/macros/luatex/generic/luavlna/luavlna.lua
index d1eaa6f004..511ee859a1 100644
--- a/macros/luatex/generic/luavlna/luavlna.lua
+++ b/macros/luatex/generic/luavlna/luavlna.lua
@@ -30,6 +30,15 @@ local singlechars = {} -- {a=true,i=true,z=true, v=true, u=true, o = true}
local initials = {}
+local getchar = function(n)
+ local real_char = n.char
+ -- test if char is valid utf8 value, return dummy value otherwise
+ if (real_char >= 57344 and real_char <= 63743) or (real_char >= 983040 and real_char <= 1048573) or real_char >= 1048576 then
+ return "a"
+ end
+ return utf_char(real_char)
+end
+
local main_language = nil
-- when main_language is set, we will not use lang info in the nodes, but
@@ -267,9 +276,9 @@ local function prevent_single_letter (head)
anchor = head
word = ""
init = is_initial " " -- reset initials
- elseif space==true and id == glyph_id and is_alpha(utf_char(head.char)) then -- a letter
+ elseif space==true and id == glyph_id and is_alpha(getchar(head)) then -- a letter
local lang = get_language(head.lang)
- local char = utf_char(head.char)
+ local char = getchar(head)
word = char
init = is_initial(char,lang)
local s = singlechars[lang] or {} -- load singlechars for node's lang
@@ -289,7 +298,7 @@ local function prevent_single_letter (head)
elseif no_initials~=true and init and head.id == glyph_id and head.char == period_char and nextn.id == glue_id and utf_len(word) == 1 then
head = insert_penalty(head)
elseif head.id == glyph_id then
- local char = utf_char(head.char)
+ local char = getchar(head)
word = word .. char
init = is_initial(char, head.lang)
-- hlist support
@@ -300,7 +309,7 @@ local function prevent_single_letter (head)
prevent_single_letter(head.head)
end
elseif id == glyph_id and in_math then
- word = word .. utf_char(head.char)
+ word = word .. getchar(head)
end
head = head.next
end
diff --git a/macros/luatex/generic/luavlna/luavlna.sty b/macros/luatex/generic/luavlna/luavlna.sty
index c620b670d1..aa6f623aa9 100644
--- a/macros/luatex/generic/luavlna/luavlna.sty
+++ b/macros/luatex/generic/luavlna/luavlna.sty
@@ -23,7 +23,7 @@
\def\enablesplithyphens#1{%
\ifcsname l@#1\endcsname%
- \typeout{set lang #1, \the\csname l@#1\endcsname}
+ \typeout{set lang #1, \the\csname l@#1\endcsname}%
\directlua{enable_split_hyphens("\the\csname l@#1\endcsname")}%
\fi%
}
diff --git a/macros/luatex/generic/luavlna/luavlna.tex b/macros/luatex/generic/luavlna/luavlna.tex
index ab47b8d6fc..0b6540a5cc 100644
--- a/macros/luatex/generic/luavlna/luavlna.tex
+++ b/macros/luatex/generic/luavlna/luavlna.tex
@@ -71,20 +71,20 @@ end
% Set letters which are prevented from breaking
\def\singlechars#1#2{%
-\directlua{set_singlechars("#1","#2")}
+\directlua{set_singlechars("#1","#2")}%
}
% Define compound initials
\def\compoundinitials#1#2{%
-\directlua{set_compounds("#1","#2")}
+\directlua{set_compounds("#1","#2")}%
}
% Enable inserting of visual marks for debugging
\def\preventsingledebugon{%
-\directlua{luavlna.debug(true)}
+\directlua{luavlna.debug(true)}%
}
\def\preventsinglelang#1{%
- \directlua{set_main_language("#1")}
+ \directlua{set_main_language("#1")}%
}
%\newluatexattribute\preventsinglestatus
@@ -94,12 +94,12 @@ end
\preventsinglestatus=2
}
-\def\preventsingleoff{
+\def\preventsingleoff{%
\preventsinglestatus=1
}
% Disable inserting of visual marks for dewbugging
\def\preventsingledebugoff{%
-\directlua{luavlna.debug(false)}
+\directlua{luavlna.debug(false)}%
}
% enable/disable split hyphens for a language