URL: <https://savannah.gnu.org/bugs/?64860>
Summary: [eqn] characters in accent should be set in roman Group: GNU roff Submitter: pim Submitted: Sun 05 Nov 2023 01:50:20 PM UTC Category: Preprocessor eqn Severity: 3 - Normal Item Group: Rendering/Cosmetics Status: None Privacy: Public Assigned to: None Open/Closed: Open Discussion Lock: Any Planned Release: None _______________________________________________________ Follow-up Comments: ------------------------------------------------------- Date: Sun 05 Nov 2023 01:50:20 PM UTC By: Pim <pim> As [https://lists.gnu.org/archive/html/groff/2023-06/msg00143.html noticed in June this year], the tilde and utilde accent in eqn are shifted too far to the right on base characters in the (default) italic font, while others like hat are typeset correctly, and so are tilde and utilde too if the base letter was set in roman. The problem lies in the definition of the tilde and utilde keywords in lex.cpp; while the definition of hat explicitly changes the typeface to roman for the ^, this is not done for tilde and utilde. Incidentally, the man page of eqn makes the same mistake, by providing as an example the definition of the hat keyword, but omitting the roman keyword. The following patch fixes those problems: diff -r -u orig/groff-1.23.0/src/preproc/eqn/eqn.1.man groff-1.23.0/src/preproc/eqn/eqn.1.man --- orig/groff-1.23.0/src/preproc/eqn/eqn.1.man 2023-07-02 18:09:34.000000002 +0200 +++ groff-1.23.0/src/preproc/eqn/eqn.1.man 2023-11-05 14:45:16.000000002 +0100 @@ -637,7 +637,7 @@ .RS .IP .EX -accent { "\[ha]" } +accent { roman "\[ha]" } .EE .RE . diff -r -u orig/groff-1.23.0/src/preproc/eqn/lex.cpp groff-1.23.0/src/preproc/eqn/lex.cpp --- orig/groff-1.23.0/src/preproc/eqn/lex.cpp 2023-07-02 18:09:34.000000002 +0200 +++ groff-1.23.0/src/preproc/eqn/lex.cpp 2023-11-05 14:38:46.000000002 +0100 @@ -222,7 +222,7 @@ { "half", "{1 smallover 2}" }, { "hat_def", "roman \"^\"" }, { "hat", "accent { hat_def }" }, - { "tilde_def", "\"~\"" }, + { "tilde_def", "roman \"~\"" }, { "tilde", "accent { tilde_def }" }, { "==", "type \"relation\" \\(==" }, { "!=", "type \"relation\" \\(!=" }, @@ -251,7 +251,7 @@ { "dot", "accent { dot_def }" }, { "dotdot_def", "up 52 back 25 \"..\"" }, { "dotdot", "accent { dotdot_def }" }, - { "utilde_def", "down 75 \"~\"" }, + { "utilde_def", "down 75 roman \"~\"" }, { "utilde", "uaccent { utilde_def }" }, { "vec_def", "up 52 size -5 \\(->" }, { "vec", "accent { vec_def }" }, _______________________________________________________ Reply to this item at: <https://savannah.gnu.org/bugs/?64860> _______________________________________________ Message sent via Savannah https://savannah.gnu.org/