summaryrefslogtreecommitdiff
path: root/macros/luatex/generic/luaotfload/luaotfload-bcp47.lua
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2022-10-04 03:00:59 +0000
committerNorbert Preining <norbert@preining.info>2022-10-04 03:00:59 +0000
commit30b3429f0e138c93c5f1ba1d1a6d46728c0943e9 (patch)
tree6c15cc0a1c291188deaa6f1c37d469d4e4dd27c7 /macros/luatex/generic/luaotfload/luaotfload-bcp47.lua
parent0ec122c100e39ea118fdb2c4b6223ece8053f439 (diff)
CTAN sync 202210040300
Diffstat (limited to 'macros/luatex/generic/luaotfload/luaotfload-bcp47.lua')
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-bcp47.lua21
1 files changed, 11 insertions, 10 deletions
diff --git a/macros/luatex/generic/luaotfload/luaotfload-bcp47.lua b/macros/luatex/generic/luaotfload/luaotfload-bcp47.lua
index 03dc65e5bc..fc90c14363 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-bcp47.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-bcp47.lua
@@ -55,7 +55,7 @@ local normalize_case, language_tag do
+ l.P'sgn-CH-DE' * l.Cc{language = 'sgg'}
local regular =
l.P'art-lojban' * l.Cc{language = 'jbo'}
- + l.P'cel-gaulish' * l.Cc{language = '...'}
+ + l.P'cel-gaulish' * l.Cc{language = 'cel-gaulish'} -- Might be xcg, xga or xtg
+ l.P'no-bok' * l.Cc{language = 'nb'}
+ l.P'no-nyn' * l.Cc{language = 'nn'}
+ l.P'zh-guoyu' * l.Cc{language = 'cmn'}
@@ -69,17 +69,18 @@ local normalize_case, language_tag do
* ('-' * variant)^0
* (#('-' * singleton * '-') * l.Cg(l.Cf(l.Ct'' * ('-' * extension)^0, rawset), 'extension'))^-1
* ('-' * privateuse)^-1
- language_tag = (grandfathered + l.Ct(langtag + privateuse)) * l.Cp()--* -1
+ language_tag = (grandfathered + l.Ct(langtag + privateuse)) * -1
end
local function parse(tag)
tag = normalize_case:match(tag)
if not tag then return end
- local parsed, pos = language_tag:match(tag)
- print(require'inspect'{parsed, pos})
- -- if not parsed then return parsed end
- return tag, parsed
-end
-for l in io.lines() do
- print(parse(l))
- -- io.stdout:write(parse(l), '\n')
+ return language_tag:match(tag), tag
end
+-- for l in io.lines() do
+-- print(parse(l))
+-- -- io.stdout:write(parse(l), '\n')
+-- end
+return {
+ normalize_case = function(n) return normalize_case:match(tag) end,
+ parse = parse,
+}