URL:
  <https://savannah.gnu.org/bugs/?68651>

                 Summary: [UPGRADE] redesign HTML production
                   Group: GNU roff
               Submitter: gbranden
               Submitted: Thu 27 Aug 2026 06:07:52 AM UTC
                Category: General
                Severity: 1 - Wish
              Item Group: Feature change
                  Status: None
                 Privacy: Public
             Assigned to: None
             Open/Closed: Open
         Discussion Lock: Unlocked
         Planned Release: None


    _______________________________________________________

Follow-up Comments:


-------------------------------------------------------
Date: Thu 27 Aug 2026 06:07:52 AM UTC By: G. Branden Robinson <gbranden>
Big, big project here.

I've managed to analyze it into 6 stages.

1.  Enhance GNU _tbl_ to support direct production of HTML tables.  This would
supplant a feature of the defunct project _troffcvt_.  Because man pages are
the tail that wags _groff_'s typesetting dog, and because so many man pages
use _tbl_, I expect this task to deliver the biggest bang for the buck.  While
important, the subsequent tasks pale in comparative impact.

2.  Improve GNU _eqn_'s MathML output.  This is the least of the tasks, in a
sense, because I perceive no major architectural changes being necessary here
at this time.  But we need to add automated tests to validate output quality.

3.  Enhance GNU _pic_ to be able to produce SVG directly, with an option, just
as it can already select groff or TeX output.  GNU _plotutils_ can, reputedly,
already do this and I'm sure it's worth looking at as a reference
implementation, but I suspect at this time that it's worth "duplicating" that
effort inside GNU pic because we'll know things about the input stream that
_plotutils_ might not.  For example, the values of _pic_'s global predefined
variables get no exposure in its output--by the time any output is produced,
such values are pure numbers that do not betray their parameterized origins.

4.  With that done, there is no longer a reason to pre-render a
_grohtml_-destined document as PostScript and snip rectangles out of it for
conversion to raster images.  Therefore, _pre-grohtml_ can be deleted.  This
should be the "easiest" of the tasks, and yet a major milestone.

5.  Revise all full-service macro packages as necessary to supply "hints"
reflecting HTML block structure via device extension commands.

6.  Remove the MTSM machine from GNU _troff_.  This is the most disruptive and
potentially uncomfortable change.  I am personally convinced that the problem
of inferring, or constructing, sufficient context to create the block
structure that HTML requires from "raw" *roff's stream orientation is a
fundamentally insuperable problem.  By doing step 5 first, we provide a means
to pivot away from the MTSM experiment, which has unfortunately mired
_grohtml_ in self-described "beta status" for 25 years.

[https://lists.gnu.org/archive/html/groff/2026-08/msg00041.html I vaguely
suggested to Ingo on the _groff_ list that this work would take 2½ years.]
Let's see how it goes.







    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/bugs/?68651>

_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/

Attachment: signature.asc
Description: PGP signature

Reply via email to