summaryrefslogtreecommitdiff
path: root/tex/context/base/char-tex.lua
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/base/char-tex.lua')
-rw-r--r--tex/context/base/char-tex.lua45
1 files changed, 20 insertions, 25 deletions
diff --git a/tex/context/base/char-tex.lua b/tex/context/base/char-tex.lua
index 537ab8581..48dccfe79 100644
--- a/tex/context/base/char-tex.lua
+++ b/tex/context/base/char-tex.lua
@@ -227,16 +227,6 @@ local accentmapping = allocate {
O = "Õ", o = "õ",
U = "Ũ", u = "ũ",
},
- ["o"] = { [""] = "ø",
- },
- ["O"] = { [""] = "Ø",
- },
- ["a"] = {
- ["a"] = "å",
- },
- ["A"] = {
- ["A"] = "Å",
- },
}
texcharacters.accentmapping = accentmapping
@@ -283,17 +273,15 @@ local function remap_accent(a,c,braced)
end
local commandmapping = allocate {
- ["i"] = "ı",
- ["l"] = "ł",
- ["ss"] = "ß",
- ["ae"] = "æ",
- ["AE"] = "Æ",
- ["oe"] = "œ",
- ["OE"] = "Œ",
- ["o"] = "ø",
- ["O"] = "Ø",
- ["aa"] = "å",
- ["AA"] = "Å",
+ ["aa"] = "å", ["AA"] = "Å",
+ ["ae"] = "æ", ["AE"] = "Æ",
+ ["cc"] = "ç", ["CC"] = "Ç",
+ ["i"] = "ı", ["j"] = "ȷ",
+ ["ij"] = "ij", ["IJ"] = "IJ",
+ ["l"] = "ł", ["L"] = "Ł",
+ ["o"] = "ø", ["O"] = "Ø",
+ ["oe"] = "œ", ["OE"] = "Œ",
+ ["sz"] = "ß", ["SZ"] = "SZ", ["SS"] = "ß",
}
texcharacters.commandmapping = commandmapping
@@ -431,14 +419,18 @@ local contextsprint = context.sprint
local ctxcatcodes = catcodes.numbers.ctxcatcodes
function texcharacters.defineaccents()
- local dodefineaccentcommand = context.dodefineaccentcommand
- local dodefineaccent = context.dodefineaccent
+ local ctx_dodefineaccentcommand = context.dodefineaccentcommand
+ local ctx_dodefineaccent = context.dodefineaccent
+ local ctx_dodefinecommand = context.dodefinecommand
for accent, group in next, accentmapping do
- dodefineaccentcommand(accent)
+ ctx_dodefineaccentcommand(accent)
for character, mapping in next, group do
- dodefineaccent(accent,character,mapping)
+ ctx_dodefineaccent(accent,character,mapping)
end
end
+ for command, mapping in next, commandmapping do
+ ctx_dodefinecommand(command,mapping)
+ end
end
implement { -- a waste of scanner but consistent
@@ -632,6 +624,9 @@ if not csletters then
storage.register("characters/csletters", csletters, "characters.csletters")
end
+else
+ mark(csletters)
+
end
lpegpatterns.csletter = utfchartabletopattern(csletters)