Hi,

The .class and .cflags requests used by ja.tmac don't seem to work as
expected.  The steps I've confirmed are as follows:

$ rm ~/share/groff/site-tmac/ps.local
$ perl -e 'print "\\[u3042]" x 200, "\n"' \
| troff -dpaper=a4 -mja |grops > a.ps

When troff is specified with -mja, it should output \[u3042] ... across
multiple lines, but it only outputs one line.

The results seem to be the same whether or not -mja is specified.

$ perl -e 'print "\\[u3042]" x 200, "\n"' \
| troff -dpaper=a4 |grops > a2.ps
$ diff a.ps a2.ps
3c3
< %%CreationDate: Wed Jan 21 09:29:29 2026
---
> %%CreationDate: Wed Jan 21 09:29:22 2026

The troff version is:

$ troff -v
GNU troff (groff) version 1.23.0.4049-1828

The following changes were made to include u3042 in the TR.

$ mkdir -p ~/share/groff/site-font/devps
$ pushd ~/share/groff/site-font/devps
$ cp /usr/share/groff/current/font/devps/TR .
$ vi TR
:/charset/+2i
u3042<TAB>\[dq]
.
:wq

I think the cause is the following code in void charinfo::get_flags() in
src/roff/troff/input.cpp:

    if (ci->contains(get_unicode_mapping() >= 0)) {

Isn't this code a typo of:

    if (ci->contains(get_unicode_mapping())) {

Could you please check this?
Best regurds.

Koichi

Reply via email to