summaryrefslogtreecommitdiff
path: root/tex/context/base/m-morse.mkvi
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/base/m-morse.mkvi')
-rw-r--r--tex/context/base/m-morse.mkvi23
1 files changed, 16 insertions, 7 deletions
diff --git a/tex/context/base/m-morse.mkvi b/tex/context/base/m-morse.mkvi
index 6082d588a..a2c20dff7 100644
--- a/tex/context/base/m-morse.mkvi
+++ b/tex/context/base/m-morse.mkvi
@@ -100,16 +100,22 @@ local codes = {
morse.codes = codes
-setmetatable(codes, { __index = function(t,k)
+local fallbackself = false
+
+local function codefallback(t,k)
if k then
local u = ucchars[k]
local v = rawget(t,u) or rawget(t,shchars[u]) or false
t[k] = v
return v
+ elseif fallbackself then
+ return k
else
return false
end
-end })
+end
+
+table.setmetatableindex(codes,codefallback)
local MorseBetweenWords = context.MorseBetweenWords
local MorseBetweenCharacters = context.MorseBetweenCharacters
@@ -228,16 +234,19 @@ end
\def\MorseSpace {\hskip7\dimexpr\MorseWidth\relax}
\def\MorseUnknown #text{[\detokenize{#text}]}
-\unexpanded\def\MorseCode #text{\ctxlua{moduledata.morse.tomorse(\!!bs#text\!!es,true)}}
-\unexpanded\def\MorseString#text{\ctxlua{moduledata.morse.tomorse(\!!bs#text\!!es)}}
-\unexpanded\def\MorseFile #text{\ctxlua{moduledata.morse.filetomorse("#text")}}
-\unexpanded\def\MorseTable {\ctxlua{moduledata.morse.showtable()}}
+\unexpanded\def\MorseCode #text{\ctxlua{moduledata.morse.tomorse(\!!bs#text\!!es,true)}}
+\unexpanded\def\MorseString #text{\ctxlua{moduledata.morse.tomorse(\!!bs#text\!!es)}}
+\unexpanded\def\MorseFile #text{\ctxlua{moduledata.morse.filetomorse("#text")}}
+\unexpanded\def\MorseTable {\ctxlua{moduledata.morse.showtable()}}
\let\Morse \MorseString
+%def\MorseShort {·}
+%def\MorseLong {—}
+
\protect
-\continueifinputfile{m-morse.mkiv}
+\continueifinputfile{m-morse.mkvi}
\starttext