diff options
author | wlemb <wlemb> | 2004-07-25 14:05:40 +0000 |
---|---|---|
committer | wlemb <wlemb> | 2004-07-25 14:05:40 +0000 |
commit | 84c727ff469a27244e73d74a7fb3f26a8fb80ff3 (patch) | |
tree | 526572c6967b6e54c406ac79e691fe5e4cb67d56 /tmac/s.tmac | |
parent | 505d4e20ebc03786fad32ef7183a3bcc8f111974 (diff) | |
download | groff-84c727ff469a27244e73d74a7fb3f26a8fb80ff3.tar.gz |
Add support for fractional point sizes in ms macros. A value for
PS, VS, FPS, and FVS greater than or equal to 1000 is always divided
by 1000. For example, `.nr PS 10250' sets the font size to 10.25p.
* tmac/s.tmac (@AU, @AI, par@load-init, par@init, par@reset, NL,
PX): Handle fractional point sizes for PS, VS, FPS, and FVS.
* tmac/groff_ms.man, docs/groff.texinfo, NEWS: Document it.
Diffstat (limited to 'tmac/s.tmac')
-rw-r--r-- | tmac/s.tmac | 80 |
1 files changed, 66 insertions, 14 deletions
diff --git a/tmac/s.tmac b/tmac/s.tmac index b0aff21f..1b4d8f27 100644 --- a/tmac/s.tmac +++ b/tmac/s.tmac @@ -188,7 +188,10 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. .di cov*au-div!\\n[cov*n-au] .nf .ft I -.ps \\n[PS] +.ie (\\n[PS] >= 1000) \ +. ps (\\n[PS]z / 1000u) +.el \ +. ps \\n[PS] .. .de @AI .if !'\*(.T'html' .par@reset @@ -201,7 +204,10 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. . di cov*ai-div!\\n[cov*n-au] . nf . ft R -. ps \\n[PS] +. ie (\\n[PS] >= 1000) \ +. ps (\\n[PS]z / 1000u) +. el \ +. ps \\n[PS] .\} .. .de LP @@ -999,10 +1005,23 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. .\" don't set LT so that it can be defaulted from LL .ie rLT .lt \\n[LT]u .el .lt \\n[LL]u -.ps \\n[PS] +.ie (\\n[PS] >= 1000) \ +. ps (\\n[PS]z / 1000u) +.el \ +. ps \\n[PS] .\" don't set VS so that it can be defaulted from PS -.ie rVS .par*vs \\n[VS] -.el .par*vs \\n[PS]+2 +.ie rVS \{\ +. ie (\\n[VS] >= 1000) \ +. par*vs "(\\n[VS]p / 1000u)" +. el \ +. par*vs \\n[VS] +.\} +.el \{\ +. ie (\\n[PS] >= 1000) \ +. par*vs "((\\n[PS]p / 1000u) + 2p)" +. el \ +. par*vs "(\\n[PS] + 2)" +.\} .if dFAM .fam \\*[FAM] .if !rHY .nr HY 14 .hy \\n[HY] @@ -1034,16 +1053,37 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. .de par@init .if !rLT .nr LT \\n[LL] .if !rFL .nr FL \\n[LL]*5/6 -.if !rVS .nr VS \\n[PS]+2 +.if !rVS \{\ +. ie (\\n[PS] >= 1000) \ +. nr VS (\\n[PS] + 2000) +. el \ +. nr VS (\\n[PS] + 2) +.\} .if !rDI .nr DI .5i -.if !rFPS .nr FPS \\n[PS]-2 -.if !rFVS .nr FVS \\n[FPS]+2 +.if !rFPS \{\ +. ie (\\n[PS] >= 1000) \ +. nr FPS (\\n[PS] - 2000) +. el \ +. nr FPS (\\n[PS] - 2) +.\} +.if !rFVS \{\ +. ie (\\n[FPS] >= 1000) \ +. nr FVS (\\n[FPS] + 2000) +. el \ +. nr FVS (\\n[FPS] + 2) +.\} .\" don't change environment 0 .ev h -.ps \\n[PS] +.ie (\\n[PS] >= 1000) \ +. ps (\\n[PS]z / 1000u) +.el \ +. ps \\n[PS] .if !rQI .nr QI 5n .if !rPI .nr PI 5n -.par*vs \\n[VS] +.ie (\\n[VS] >= 1000) \ +. par*vs "(\\n[VS]p / 1000u)" +.el \ +. par*vs \\n[VS] .if !rPD .nr PD .3v>?\n(.V .if !rDD .nr DD .5v>?\n(.V .if !rFI .nr FI 2n @@ -1101,8 +1141,14 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. .in (u;\\n[\\n[.ev]:li]+\\n[\\n[.ev]:pli]) .ft 1 .fam \\*[FAM] -.ps \\n[\\n[.ev]:PS] -.par*vs \\n[\\n[.ev]:VS] +.ie (\\n[\\n[.ev]:PS] >= 1000) \ +. ps (\\n[\\n[.ev]:PS]z / 1000u) +.el \ +. ps \\n[\\n[.ev]:PS] +.ie (\\n[\\n[.ev]:VS] >= 1000) \ +. par*vs "(\\n[\\n[.ev]:VS]p / 1000u)" +.el \ +. par*vs \\n[\\n[.ev]:VS] .ls 1 .TA .hy \\n[HY] @@ -1357,7 +1403,10 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. .. .\" In paragraph macros. .de NL -.ps \\n[\\n[.ev]:PS] +.ie (\\n[\\n[.ev]:PS] >= 1000) \ +. ps (\\n[\\n[.ev]:PS]z / 1000u) +.el \ +. ps \\n[\\n[.ev]:PS] .. .de SM .ps -2 @@ -1545,7 +1594,10 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. .1C .if !'\\$1'no' \{\ . ce 1 -. ps \\n[PS]+2 +. ie (\\n[PS] >= 1000) \ +. ps ((\\n[PS]z / 1000u) + 2z) +. el \ +. ps \\n[PS]+2 . ft B \\*[TOC] . ft |