diff options
author | Hans Hagen <pragma@wxs.nl> | 2022-12-05 23:11:09 +0100 |
---|---|---|
committer | Context Git Mirror Bot <phg@phi-gamma.net> | 2022-12-05 23:11:09 +0100 |
commit | 265ba2a85e0945a37972e22f23bcaac16d6c08a1 (patch) | |
tree | 356963c1df5c5ed8a6189eeb3346970081a29af4 /tex/context/base/mkxl/font-col.lmt | |
parent | 08fa92c1c94d9faddee48590a1a20506e89c191c (diff) | |
download | context-265ba2a85e0945a37972e22f23bcaac16d6c08a1.tar.gz |
2022-12-05 18:51:00
Diffstat (limited to 'tex/context/base/mkxl/font-col.lmt')
-rw-r--r-- | tex/context/base/mkxl/font-col.lmt | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/tex/context/base/mkxl/font-col.lmt b/tex/context/base/mkxl/font-col.lmt index 1bce9b3a9..2a999ddeb 100644 --- a/tex/context/base/mkxl/font-col.lmt +++ b/tex/context/base/mkxl/font-col.lmt @@ -53,6 +53,7 @@ local charcommand = helpers.commands.char local rightcommand = helpers.commands.right local addprivate = helpers.addprivate local hasprivate = helpers.hasprivate +local isprivate = helpers.isprivate local fontpatternhassize = helpers.fontpatternhassize local hashes = fonts.hashes @@ -258,7 +259,9 @@ function collections.clonevector(name) if target then for unicode = start, stop do local unic = unicode + offset - start - if not newchars[target] then + if isprivate(unic) or isprivate(target) then + -- ignore + elseif not newchars[target] then -- not in font elseif force or (not vector[unic] and not oldchars[unic]) then vector[unic] = { cloneid, target } @@ -270,7 +273,9 @@ function collections.clonevector(name) else for unicode = start, stop do local unic = unicode + offset - start - if not newchars[unicode] then + if isprivate(unic) or isprivate(unicode) then + -- ignore + elseif not newchars[target] then -- not in font elseif force or (not vector[unic] and not oldchars[unic]) then vector[unic] = cloneid @@ -281,7 +286,9 @@ function collections.clonevector(name) if target then for unicode = start, stop do local unic = unicode + offset - start - if force or (not vector[unic] and not oldchars[unic]) then + if isprivate(unic) or isprivate(target) then + -- ignore + elseif force or (not vector[unic] and not oldchars[unic]) then vector[unic] = { cloneid, target } end target = target + 1 @@ -289,14 +296,18 @@ function collections.clonevector(name) elseif remap then for unicode = start, stop do local unic = unicode + offset - start - if force or (not vector[unic] and not oldchars[unic]) then + if isprivate(unic) or isprivate(unicode) then + -- ignore + elseif force or (not vector[unic] and not oldchars[unic]) then vector[unic] = { cloneid, remap[unicode] } end end else for unicode = start, stop do local unic = unicode + offset - start - if force or (not vector[unic] and not oldchars[unic]) then + if isprivate(unic) then + -- ignore + elseif force or (not vector[unic] and not oldchars[unic]) then vector[unic] = cloneid end end |