diff -Naur cont-tmf/tex/context/base/core-con.lua cont-tmf.local/tex/context/base/core-con.lua --- cont-tmf/tex/context/base/core-con.lua 2008-06-24 23:02:50.000000000 +0300 +++ cont-tmf.local/tex/context/base/core-con.lua 2008-09-02 12:01:17.000000000 +0200 @@ -102,22 +102,22 @@ texsprint(utfchar(n+m)) end -local function do_alphabetic(n,max,chr) - if n > max then - do_alphabetic(floor((n-1)/max),max,chr) - n = (n-1)%max+1 - end - characters.flush(chr(n)) -end - function converters.alphabetic(n,code) local code = counters[code] or counters['**'] - do_alphabetic(n,#code,function(n) return code[n] or fallback end) + for c in string.characters(n) do + local c = c + 1 + local chr = function(n) return code[n] or fallback end + characters.flush(chr(c)) + end end function converters.Alphabetic(n,code) local code = counters[code] or counters['**'] - do_alphabetic(n,#code,function(n) return characters.uccode(code[n] or fallback) end) + for c in string.characters(n) do + local c = c + 1 + local chr = function(n) return characters.uccode(code[n] or fallback) end + characters.flush(chr(c)) + end end function converters.character(n) converters.chr (n,96) end diff -Naur cont-tmf/tex/context/base/core-con.mkiv cont-tmf.local/tex/context/base/core-con.mkiv --- cont-tmf/tex/context/base/core-con.mkiv 2008-06-24 22:55:44.000000000 +0300 +++ cont-tmf.local/tex/context/base/core-con.mkiv 2008-09-02 12:17:49.000000000 +0200 @@ -17,8 +17,8 @@ \def\romannumerals #1{\ctxlua{converters.romannumerals(\number#1)}} \def\Romannumerals #1{\ctxlua{converters.Romannumerals(\number#1)}} -\def\abjadnumerals #1{\ctxlua{converters.arabicnumerals(\number#1)}} -\def\abjadnodotnumerals #1{\ctxlua{converters.arabicnodotnumerals(\number#1)}} +\def\abjadnumerals #1{\ctxlua{converters.abjadnumerals(\number#1)}} +\def\abjadnodotnumerals #1{\ctxlua{converters.abjadnodotnumerals(\number#1)}} \def\abjadnaivenumerals #1{\ctxlua{converters.arabicnaivenumerals(\number#1)}} \defineconversion [romannumerals] [\romannumerals] @@ -32,8 +32,8 @@ \def\characters#1{\ctxlua{converters.characters(\number#1)}} \def\Characters#1{\ctxlua{converters.Characters(\number#1)}} -\def\languagecharacters#1{\ctxlua{converters.alphabetic(\number#1,"\currentlanguage")}} % new -\def\languageCharacters#1{\ctxlua{converters.Alphabetic(\number#1,"\currentlanguage")}} % new +\def\languagecharacters#1{\ctxlua{converters.alphabetic("#1","\currentlanguage")}} % new +\def\languageCharacters#1{\ctxlua{converters.Alphabetic("#1","\currentlanguage")}} % new \def\getdayoftheweek#1#2#3{\normalweekday\ctxlua{converters.weekday(\number#1,\number#2,\number#3)}} \def\dayoftheweek #1#2#3{\doconvertday{\ctxlua{converters.weekday(\number#1,\number#2,\number#3)}}} @@ -73,19 +73,19 @@ % we could use an auxiliary macro to save some bytes in the format % -% \def\dolanguagecharacters#1#2{\ctxlua{converters.alphabetic(\number#2,"#1")}} +% \def\dolanguagecharacters#1#2{\ctxlua{converters.alphabetic("#2","#1")}} % this does not belong here, but in a lang-module -\def\thainumerals #1{\ctxlua{converters.alphabetic(\number#1,"thai")}} -\def\devanagarinumerals#1{\ctxlua{converters.alphabetic(\number#1,"devanagari")}} -\def\gurmurkhinumerals #1{\ctxlua{converters.alphabetic(\number#1,"gurmurkhi")}} -\def\gujaratinumerals #1{\ctxlua{converters.alphabetic(\number#1,"gujarati")}} -\def\tibetannumerals #1{\ctxlua{converters.alphabetic(\number#1,"tibetan")}} -\def\greeknumerals #1{\ctxlua{converters.alphabetic(\number#1,"greek")}} -\def\Greeknumerals #1{\ctxlua{converters.Alphabetic(\number#1,"greek")}} -\def\arabicnumerals #1{\ctxlua{converters.alphabetic(\number#1,"arabic")}} -\def\persiannumerals #1{\ctxlua{converters.alphabetic(\number#1,"persian")}} +\def\thainumerals #1{\ctxlua{converters.alphabetic("#1","thai")}} +\def\devanagarinumerals#1{\ctxlua{converters.alphabetic("#1","devanagari")}} +\def\gurmurkhinumerals #1{\ctxlua{converters.alphabetic("#1","gurmurkhi")}} +\def\gujaratinumerals #1{\ctxlua{converters.alphabetic("#1","gujarati")}} +\def\tibetannumerals #1{\ctxlua{converters.alphabetic("#1","tibetan")}} +\def\greeknumerals #1{\ctxlua{converters.alphabetic("#1","greek")}} +\def\Greeknumerals #1{\ctxlua{converters.Alphabetic("#1","greek")}} +\def\arabicnumerals #1{\ctxlua{converters.alphabetic("#1","arabic")}} +\def\persiannumerals #1{\ctxlua{converters.alphabetic("#1","persian")}} \let\arabicexnumerals \persiannumerals diff -Naur cont-tmf/tex/context/base/lang-sla.mkiv cont-tmf.local/tex/context/base/lang-sla.mkiv --- cont-tmf/tex/context/base/lang-sla.mkiv 2007-08-15 20:38:03.000000000 +0300 +++ cont-tmf.local/tex/context/base/lang-sla.mkiv 2008-09-02 12:07:45.000000000 +0200 @@ -11,7 +11,7 @@ %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. -\def\sloveniancharacters#1{\ctxlua{converters.alphabetic(\number#1,"sl")}} -\def\slovenianCharacters#1{\ctxlua{converters.Alphabetic(\number#1,"sl")}} +\def\sloveniancharacters#1{\ctxlua{converters.alphabetic("#1","sl")}} +\def\slovenianCharacters#1{\ctxlua{converters.Alphabetic("#1","sl")}} \endinput