Hello Walter, Walter Alejandro Iglesias wrote on Wed, Aug 20, 2025 at 06:14:40PM +0200:
> In my Groff files, for Spanish, except for a definition I added to my > macros for the UTF-8 ellipsis (out of the reach of preconv(1)), I don't quite understand what you mean by "out of the reach of preconv(1)." It works for me, this is with groff-1.23.0 and OpenBSD-current: $ printf "\xe2\x80\xa6\n" | uniname character byte UTF-32 encoded as glyph name 0 0 002026 E2 80 A6 ... HORIZONTAL ELLIPSIS 1 3 00000A 0A LINE FEED (LF) $ printf "\xe2\x80\xa6\n" | preconv .lf 1 - \[u2026] $ printf "\xe2\x80\xa6\n" | mandoc -mdoc -Tman .\" Automatically generated from an mdoc input file. Do not edit. .TH "UNTITLED" "" "" "" "LOCAL" .nh .if n .ad l \[u2026] > I write all UTF-8 characters as is. Sounds definitely reasonable to me, in a language where non-ASCII characters are common. > I already changed all my ASCII character definitions to the notation you > advice and left the UTF-8 ones with the L'\u????' code: > > https://en.roquesor.com/Downloads/fmtroff.c I didn't review that yet, not sure i will. > Here I mention your help: > https://en.roquesor.com/fmtroff.html Quoting from that page: :: As the title says, fmtroff is another version of the old fmt(1) :: that you'll find in any unix-like system[*]. I'm not sure that is accurate. No fmt(1) program was available in Version 7 AT&T Unix, and i don't even see one in System V, see e.g. https://minnie.tuhs.org/cgi-bin/utree.pl?file=pdp11v . I think it's a BSD thing, and our manual attributes it to 2BSD (1979). It appears Research Unix picked up the BSD version of it in Version 8 (1985), see https://minnie.tuhs.org/cgi-bin/utree.pl?file=V8/usr/src/cmd/fmt . :: This version, apart from improving some features present in :: other fmt versions also brings an innovation to make it easier :: (and more reliable) to work with roff files (to edit my novels :: I used groff, the GNU version.) That sounds a bit misleading, too. I mean, Kurt Shoens' original version of fmt(1) as it appeared in 2BSD in 1979 already left two kinds of lines alone: RFC 822 email headers and roff(7) request and macro lines, and fmt(1) has been supporting the processing of roff(7) files ever since, for over 45 years. That isn't surprising either since in 1978, essentially any kind of serious text processing on Unix and BSD used *roff(1). Since you do not provide documentation for your version of fmt(1) - or maybe i did not find it yet - i'm not sure what exactly is missing in OpenBSD fmt(1). This certainly works fine for me: $ fmt -w40 $(man -w mandoc) > mandoc.1 $ man mandoc > normal.0 $ mandoc mandoc.1 > rewrapped.0 $ diff -u normal.0 rewrapped.0 The rewrapped page formats identically to the original, except that fmt(1) wraps the text lines inside a .Bd -literal block - which is OK, parsing and understanding block macros is beyond the scope of fmt(1). > Andando y aprendiendo. :-) That maxim makes a lot of sense, too. =:c) Yours, Ingo