diff --git a/tex/texmf-context/tex/context/base/typo-tal.lua b/tex/texmf-context/tex/context/base/typo-tal.lua
index 5d62d4e..51a8c52 100644
--- a/tex/texmf-context/tex/context/base/typo-tal.lua
+++ b/tex/texmf-context/tex/context/base/typo-tal.lua
@@ -65,8 +65,9 @@ typesetters.characteralign = characteralign
local trace_split = false trackers.register("typesetters.characteralign", function(v) trace_split = true end)
local report = logs.reporter("aligning")
-local a_characteralign = attributes.private("characteralign")
-local a_character = attributes.private("characters")
+local a_characteralignrow = attributes.private("characteralignrow")
+local a_characteraligncolumn = attributes.private("characteraligncolumn")
+local a_character = attributes.private("characters")
local enabled = false
@@ -108,12 +109,11 @@ function characteralign.handler(originalhead,where)
if not first then
return originalhead, false
end
- local a = getattr(first,a_characteralign)
- if not a or a == 0 then
+ local row = getattr(first,a_characteralignrow)
+ local column = getattr(first,a_characteraligncolumn)
+ if not row or row == 0 or not column or column==0 then
return originalhead, false
end
- local column = div(a,100)
- local row = a % 100
local dataset = datasets and datasets[column] or setcharacteralign(column)
local separator = dataset.separator
local list = dataset.list
diff --git a/tex/texmf-context/tex/context/base/typo-tal.mkiv b/tex/texmf-context/tex/context/base/typo-tal.mkiv
index 32b99ff..a9606ac 100644
--- a/tex/texmf-context/tex/context/base/typo-tal.mkiv
+++ b/tex/texmf-context/tex/context/base/typo-tal.mkiv
@@ -24,7 +24,8 @@
\registerctxluafile{typo-tal}{1.001}
-\definesystemattribute[characteralign][public]
+\definesystemattribute[characteralignrow][public]
+\definesystemattribute[characteraligncolumn][public]
%D This mechanism is mostly meant for tables:
%D
@@ -56,10 +57,10 @@
% D
% D \typebuffer \blank \getbuffer \blank
-\unexpanded\def\signalcharacteralign#1#2{\attribute\characteralignattribute=\numexpr#1*\plushundred+#2\relax}
+\unexpanded\def\signalcharacteralign#1#2{\attribute\characteraligncolumnattribute=#1\attribute\characteralignrowattribute=#2}
\unexpanded\def\setcharacteralign #1#2{\ctxcommand{setcharacteralign(\number#1,"#2")}}
\unexpanded\def\resetcharacteralign {\ctxcommand{resetcharacteralign()}}
-\unexpanded\def\nocharacteralign {\attribute\characteralignattribute\attributeunsetvalue}
+\unexpanded\def\nocharacteralign {\attribute\characteralignrowattribute\attributeunsetvalue\attribute\characteraligncolumnattribute\attributeunsetvalue}
%D Mostly downward compatible:
%D