Hi, a local definition for numbers has to be added to get language dependant settings to \definebreakpoint. function breakpoints.handler(head) local done = false local attr = nil local map = nil local current = head while current do local char, id = isglyph(current) if char then -- local a = getattr(current,a_breakpoints) local a = takeattr(current,a_breakpoints) if a and a > 0 then if a ~= attr then local data = mapping[a] if data then map = data.characters else map = nil end attr = a end if map then local cmap = map[char] if cmap then -- setattr(current,a_breakpoints,unsetvalue) -- should not be needed -- for now we collect but when found ok we can move the handler here -- although it saves nothing in terms of performance local lang = getlang(current) + local numbers = languages.numbers local smap = lang and lang >= 0 and lang < 0x7FFF and (cmap[numbers[lang]] or cmap[""]) if smap then Wolfgang