- local cls, c = slow_find_char_class(has_attr(x, attr_orig_char), m, getchar(x))
- Nx.met, Nx.char = m, c; Nx.class = cls;
+ local cls, c
+ if list_dir == dir_tate then
+ local c1, c2 = getchar(x), has_attr(x, attr_orig_char)
+ c = has_attr(x, attr_dir) or c1 or c2
+ cls = ltjf_find_char_class(c, m)
+ if cls==0 then cls = slow_find_char_class(c2, m, c1) end
+ else
+ cls, c = slow_find_char_class(has_attr(x, attr_orig_char), m, getchar(x))
+ end
+ Nx.met, Nx.char = m, c; Nx.class = cls;