PTPi pushed a commit to branch master in repository groff. commit 830e8e32fa2ab43709f49c5e03afcc5a5bc07aa3 Author: Peter Schaffter <pe...@schaffter.ca> AuthorDate: Fri Jun 13 15:11:42 2025 -0400
[mom]: Capture .j values in registers to avoid relying on hardcoded values Also fixes a spacing issue in QUAD. --- contrib/mom/om.tmac | 76 +++++++++++++++++++++++++++++++---------------------- 1 file changed, 45 insertions(+), 31 deletions(-) diff --git a/contrib/mom/om.tmac b/contrib/mom/om.tmac index 619da9851..fd934e474 100644 --- a/contrib/mom/om.tmac +++ b/contrib/mom/om.tmac @@ -1477,7 +1477,9 @@ end .\" The QUAD in PP adds an unwanted linespace after a HEADING at the .\" top of a pdf box because of this .br, so HEADING assigns the .\" tmp register "bx-top\n[stack]" to inhibit it. -. ie !\\n[pdfbx-top\\n[stack]] .if !\\n[#TOC] .br +. ie !\\n[pdfbx-top\\n[stack]] \ +. if !\\n[#TOC] \ +. if !\\n[#START] .br . el .rr pdfbx-top\\n[stack] . if \\n[#COVERTEXT_PP] \ . ds $RESTORE_DOC_QUAD \\*[$QUAD_VALUE] @@ -2795,6 +2797,18 @@ end \# \# +++GRAPHICAL OBJECTS+++ \# +\# Define adjustment modes +.nr saved_.j \n[.j] +.ad b +.nr #ADJ_B \n[.j] +.ad c +.nr #ADJ_C \n[.j] +.ad l +.nr #ADJ_L \n[.j] +.ad r +.nr #ADJ_R \n[.j] +.ad \n[saved_.j] +.rr saved_.j \# Set params for graphical objects. \# .MAC GRAPHICAL_OBJ END @@ -2813,8 +2827,8 @@ end . \} . el \{\ . nr #NOFILL 1 -. if \\n[.ce]>0 .nr #NOFILL_MODE 3 -. if \\n[.rj]>0 .nr #NOFILL_MODE 5 +. if \\n[.ce]>0 .nr #NOFILL_MODE \\n[#ADJ_C] +. if \\n[.rj]>0 .nr #NOFILL_MODE \\n[#ADJ_R] . ce 0 . rj 0 . \} @@ -2847,7 +2861,7 @@ end . di NULL . if \\n[#NUM_ARGS]>=1 .RULE_WEIGHT \\*[$RL_WEIGHT] . di -. if !'\\$4'' .COLOR \\$4 +. if !'\\$4'' .gcolor \\$4 . ie \\n[#NUM_ARGS]=0 \{\ . ds $RL_INDENT 0 . ie \\n[#INDENT_ACTIVE] \{\ @@ -2883,16 +2897,16 @@ end . \} . gcolor default . if \\n[#FILLED]=1 \{\ -. if \\n[#FILL_MODE]=0 .QUAD LEFT -. if \\n[#FILL_MODE]=1 .JUSTIFY -. if \\n[#FILL_MODE]=3 .QUAD CENTER -. if \\n[#FILL_MODE]=5 .QUAD RIGHT +. if \\n[#FILL_MODE]=\\n[#ADJ_L] .QUAD LEFT +. if \\n[#FILL_MODE]=\\n[#ADJ_B] .JUSTIFY +. if \\n[#FILL_MODE]=\\n[#ADJ_C] .QUAD CENTER +. if \\n[#FILL_MODE]=\\n[#ADJ_R] .QUAD RIGHT . rr #FILLED . \} . sp -1v . if \\n[#NOFILL]=1 \{\ -. if \\n[#NOFILL_MODE]=3 .CENTER -. if \\n[#NOFILL_MODE]=5 .RIGHT +. if \\n[#NOFILL_MODE]=\\n[#ADJ_C] .CENTER +. if \\n[#NOFILL_MODE]=\\n[#ADJ_R] .RIGHT . \} . nr #RULE_WEIGHT \\n[#SAVED_RULE_WEIGHT] . nr #RULE_WEIGHT_ADJ \\n[#SAVED_WEIGHT_ADJ] @@ -2961,7 +2975,7 @@ end . ds $RL_WEIGHT \\$1 . ds $RL_INDENT \\$2 . ds $RL_DEPTH \\$3 -. if !'\\$4'' .COLOR \\$4 +. if !'\\$4'' .gcolor \\$4 . nr #SAVED_RULE_WEIGHT \\n[#RULE_WEIGHT] . nr #SAVED_WEIGHT_ADJ \\n[#RULE_WEIGHT_ADJ] . RULE_WEIGHT \\*[$RL_WEIGHT] @@ -2971,16 +2985,16 @@ end \Z'\D't \\n[#SAVED_RULE_WEIGHT]'' . gcolor default . if \\n[#FILLED]=1 \{\ -. if \\n[#FILL_MODE]=0 .QUAD LEFT -. if \\n[#FILL_MODE]=1 .JUSTIFY -. if \\n[#FILL_MODE]=3 .QUAD CENTER -. if \\n[#FILL_MODE]=5 .QUAD RIGHT +. if \\n[#FILL_MODE]=\\n[#ADJ_L] .QUAD LEFT +. if \\n[#FILL_MODE]=\\n[#ADJ_B] .JUSTIFY +. if \\n[#FILL_MODE]=\\n[#ADJ_C] .QUAD CENTER +. if \\n[#FILL_MODE]=\\n[#ADJ_R] .QUAD RIGHT . rr #FILLED . \} . sp -1v . if \\n[#NOFILL]=1 \{\ -. if \\n[#NOFILL_MODE]=3 .CENTER -. if \\n[#NOFILL_MODE]=5 .RIGHT +. if \\n[#NOFILL_MODE]=\\n[#ADJ_C] .CENTER +. if \\n[#NOFILL_MODE]=\\n[#ADJ_R] .RIGHT . \} . nr #RULE_WEIGHT \\n[#SAVED_WEIGHT] . nr #RULE_WEIGHT_ADJ \\n[#SAVED_WEIGHT_ADJ] @@ -3049,7 +3063,7 @@ end . rr #BX_SOLID . \} . el \{\ -. COLOR \\*[$BX_COLOR] +. gcolor \\*[$BX_COLOR] \Z'\D't \\n[#RULE_WEIGHT]''\ \h'\\*[$BX_INDENT]+\\n[#RULE_WEIGHT]u'\ \v'\\n[#WEIGHT_ADJ]u'\ @@ -3059,16 +3073,16 @@ end . \} . gcolor default . if \\n[#FILLED]=1 \{\ -. if \\n[#FILL_MODE]=0 .QUAD LEFT -. if \\n[#FILL_MODE]=1 .JUSTIFY -. if \\n[#FILL_MODE]=3 .QUAD CENTER -. if \\n[#FILL_MODE]=5 .QUAD RIGHT +. if \\n[#FILL_MODE]=\\n[#ADJ_L] .QUAD LEFT +. if \\n[#FILL_MODE]=\\n[#ADJ_B] .JUSTIFY +. if \\n[#FILL_MODE]=\\n[#ADJ_C] .QUAD CENTER +. if \\n[#FILL_MODE]=\\n[#ADJ_R] .QUAD RIGHT . rr #FILLED . \} . sp -1v . if \\n[#NOFILL]=1 \{\ -. if \\n[#NOFILL_MODE]=3 .CENTER -. if \\n[#NOFILL_MODE]=5 .RIGHT +. if \\n[#NOFILL_MODE]=\\n[#ADJ_C] .CENTER +. if \\n[#NOFILL_MODE]=\\n[#ADJ_R] .RIGHT . \} . nr #RULE_WEIGHT \\n[#SAVED_WEIGHT] . nr #WEIGHT_ADJ \\n[#SAVED_WEIGHT_ADJ] @@ -3139,7 +3153,7 @@ end . rr #CL_SOLID . \} . el \{\ -. COLOR \\*[$CL_COLOR] +. gcolor \\*[$CL_COLOR] \Z'\D't \\n[#RULE_WEIGHT]''\ \h'\\*[$CL_INDENT]+\\n[#RULE_WEIGHT]u'\ \v'\\*[$CL_DEPTH]/2u'\ @@ -3149,16 +3163,16 @@ end . gcolor default . \} . if \\n[#FILLED]=1 \{\ -. if \\n[#FILL_MODE]=0 .QUAD LEFT -. if \\n[#FILL_MODE]=1 .JUSTIFY -. if \\n[#FILL_MODE]=3 .QUAD CENTER -. if \\n[#FILL_MODE]=5 .QUAD RIGHT +. if \\n[#FILL_MODE]=\\n[#ADJ_L] .QUAD LEFT +. if \\n[#FILL_MODE]=\\n[#ADJ_B] .JUSTIFY +. if \\n[#FILL_MODE]=\\n[#ADJ_C] .QUAD CENTER +. if \\n[#FILL_MODE]=\\n[#ADJ_R] .QUAD RIGHT . rr #FILLED . \} . sp -1v . if \\n[#NOFILL]=1 \{\ -. if \\n[#NOFILL_MODE]=3 .CENTER -. if \\n[#NOFILL_MODE]=5 .RIGHT +. if \\n[#NOFILL_MODE]=\\n[#ADJ_C] .CENTER +. if \\n[#NOFILL_MODE]=\\n[#ADJ_R] .RIGHT . \} . nr #RULE_WEIGHT \\n[#SAVED_WEIGHT] . nr #WEIGHT_ADJ \\n[#SAVED_WEIGHT_ADJ] _______________________________________________ groff-commit mailing list groff-commit@gnu.org https://lists.gnu.org/mailman/listinfo/groff-commit