Follow-up Comment #1, bug #64216 (project groff): I have something that seems to work.
See attachment for a demonstration. commit 0de158139482d7a93b1884a6c4212aaa9234b4de Author: G. Branden Robinson <[email protected]> Date: Thu May 18 23:48:40 2023 -0500 [eqn]: Trivially refactor. Rename "space_box" class to "full_space_box" for clarity and to prepare for adding distinct thin and thick space box classes. * src/preproc/eqn/box.cpp (space_box::space_box, space_box::output, space_box::debug_print): * src/preproc/eqn/box.h (class space_box): Rename these... * src/preproc/eqn/box.cpp (full_space_box::full_space_box, full_space_box::output, full_space_box::debug_print): * src/preproc/eqn/box.h (class full_space_box): ...to these. * src/preproc/eqn/eqn.ypp (simple): Construct item using new type name. Also update editor aid comments; drop old style Emacs file-local variable setting. commit d182d7b719f714a162a63d9844077b7baf44cbd5 Author: G. Branden Robinson <[email protected]> Date: Fri May 19 00:20:15 2023 -0500 src/preproc/eqn/box.cpp: Trivially refactor. Relocate code to put class member functions in lexicographic order, to prepare for addition of two more classes. commit ed3204001640fe499f6c2427da7311f60da42913 Author: G. Branden Robinson <[email protected]> Date: Fri May 19 00:27:34 2023 -0500 [eqn]: Add `thick_space` and `thin_space` classes. * src/preproc/eqn/box.cpp: * src/preproc/eqn/box.h: Do it. At present they are copy-and-paste jobs of `half_space` and `full_space`. But watch this space... commit aaa908f78be53ca69e0fa3502bfee7d23f5436a2 Author: G. Branden Robinson <[email protected]> Date: Fri May 19 00:52:28 2023 -0500 [eqn]: Fix Savannah #64216. [eqn]: Implement tunable "half_space" and "full_space" parameters. They default to the same widths as "thin_space" and "thick_space", respectively, but control the widths of the '^' and '~' input tokens. * src/preproc/eqn/box.cpp: Add globals `half_space`, `full_space`. (struct S): Recognize "half_space" and "full_space" as parameters to the "set" primitive, and map them to the globals. (half_space_box::output): Format the half space width. (full_space_box::output): Format the full space width. (full_space_box::output, thick_space_box::output): Drop workaround for Firefox 1.5 MathML bug (November 2005). Emit "  " entity instead of " ". * src/preproc/eqn/eqn.1.man (Customization): Document feature. * NEWS: Add item. Fixes <https://savannah.gnu.org/bugs/?64216>. Thanks to Doug McIlroy for the report and Damian McGuckin for the discussion. (file #54763) _______________________________________________________ Additional Item Attachment: File name: eqn-tunable-space-demo.ps Size:8 KB <https://file.savannah.gnu.org/file/eqn-tunable-space-demo.ps?file_id=54763> _______________________________________________________ Reply to this item at: <https://savannah.gnu.org/bugs/?64216> _______________________________________________ Message sent via Savannah https://savannah.gnu.org/
