Remove groff from base

All manpages in base are now compatible with mandoc(1), all roff documentation
will be relocated in the doc tree. man(1) can now use groff from the ports tree
if it needs.

Also remove checknr(1) and colcrt(1) which are only useful with groff.

Approved by:	(no objections on the mailing lists)
This commit is contained in:
Baptiste Daroussin 2017-06-07 23:00:34 +00:00
parent e0e0323354
commit 738919c039
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=319664
994 changed files with 491 additions and 447356 deletions

View file

@ -38,6 +38,488 @@
# xargs -n1 | sort | uniq -d;
# done
# 20170531: removal of groff
OLD_FILES+=usr/bin/addftinfo
OLD_FILES+=usr/bin/afmtodit
OLD_FILES+=usr/bin/checknr
OLD_FILES+=usr/bin/colcrt
OLD_FILES+=usr/bin/eqn
OLD_FILES+=usr/bin/grn
OLD_FILES+=usr/bin/grodvi
OLD_FILES+=usr/bin/groff
OLD_FILES+=usr/bin/grog
OLD_FILES+=usr/bin/grolbp
OLD_FILES+=usr/bin/grolj4
OLD_FILES+=usr/bin/grops
OLD_FILES+=usr/bin/grotty
OLD_FILES+=usr/bin/hpftodit
OLD_FILES+=usr/bin/indxbib
OLD_FILES+=usr/bin/lkbib
OLD_FILES+=usr/bin/lookbib
OLD_FILES+=usr/bin/mmroff
OLD_FILES+=usr/bin/neqn
OLD_FILES+=usr/bin/nroff
OLD_FILES+=usr/bin/pfbtops
OLD_FILES+=usr/bin/pic
OLD_FILES+=usr/bin/post-grohtml
OLD_FILES+=usr/bin/pre-grohtml
OLD_FILES+=usr/bin/psroff
OLD_FILES+=usr/bin/refer
OLD_FILES+=usr/bin/tbl
OLD_FILES+=usr/bin/tfmtodit
OLD_FILES+=usr/bin/troff
OLD_FILES+=usr/bin/vgrind
OLD_FILES+=usr/libexec/vfontedpr
OLD_FILES+=usr/share/dict/eign
OLD_FILES+=usr/share/groff_font/devX100-12/CB
OLD_FILES+=usr/share/groff_font/devX100-12/CBI
OLD_FILES+=usr/share/groff_font/devX100-12/CI
OLD_FILES+=usr/share/groff_font/devX100-12/CR
OLD_FILES+=usr/share/groff_font/devX100-12/DESC
OLD_FILES+=usr/share/groff_font/devX100-12/HB
OLD_FILES+=usr/share/groff_font/devX100-12/HBI
OLD_FILES+=usr/share/groff_font/devX100-12/HI
OLD_FILES+=usr/share/groff_font/devX100-12/HR
OLD_FILES+=usr/share/groff_font/devX100-12/NB
OLD_FILES+=usr/share/groff_font/devX100-12/NBI
OLD_FILES+=usr/share/groff_font/devX100-12/NI
OLD_FILES+=usr/share/groff_font/devX100-12/NR
OLD_FILES+=usr/share/groff_font/devX100-12/S
OLD_FILES+=usr/share/groff_font/devX100-12/TB
OLD_FILES+=usr/share/groff_font/devX100-12/TBI
OLD_FILES+=usr/share/groff_font/devX100-12/TI
OLD_FILES+=usr/share/groff_font/devX100-12/TR
OLD_DIRS+=usr/share/groff_font/devX100-12
OLD_FILES+=usr/share/groff_font/devX100/CB
OLD_FILES+=usr/share/groff_font/devX100/CBI
OLD_FILES+=usr/share/groff_font/devX100/CI
OLD_FILES+=usr/share/groff_font/devX100/CR
OLD_FILES+=usr/share/groff_font/devX100/DESC
OLD_FILES+=usr/share/groff_font/devX100/HB
OLD_FILES+=usr/share/groff_font/devX100/HBI
OLD_FILES+=usr/share/groff_font/devX100/HI
OLD_FILES+=usr/share/groff_font/devX100/HR
OLD_FILES+=usr/share/groff_font/devX100/NB
OLD_FILES+=usr/share/groff_font/devX100/NBI
OLD_FILES+=usr/share/groff_font/devX100/NI
OLD_FILES+=usr/share/groff_font/devX100/NR
OLD_FILES+=usr/share/groff_font/devX100/S
OLD_FILES+=usr/share/groff_font/devX100/TB
OLD_FILES+=usr/share/groff_font/devX100/TBI
OLD_FILES+=usr/share/groff_font/devX100/TI
OLD_FILES+=usr/share/groff_font/devX100/TR
OLD_DIRS+=usr/share/groff_font/devX100
OLD_FILES+=usr/share/groff_font/devX75-12/CB
OLD_FILES+=usr/share/groff_font/devX75-12/CBI
OLD_FILES+=usr/share/groff_font/devX75-12/CI
OLD_FILES+=usr/share/groff_font/devX75-12/CR
OLD_FILES+=usr/share/groff_font/devX75-12/DESC
OLD_FILES+=usr/share/groff_font/devX75-12/HB
OLD_FILES+=usr/share/groff_font/devX75-12/HBI
OLD_FILES+=usr/share/groff_font/devX75-12/HI
OLD_FILES+=usr/share/groff_font/devX75-12/HR
OLD_FILES+=usr/share/groff_font/devX75-12/NB
OLD_FILES+=usr/share/groff_font/devX75-12/NBI
OLD_FILES+=usr/share/groff_font/devX75-12/NI
OLD_FILES+=usr/share/groff_font/devX75-12/NR
OLD_FILES+=usr/share/groff_font/devX75-12/S
OLD_FILES+=usr/share/groff_font/devX75-12/TB
OLD_FILES+=usr/share/groff_font/devX75-12/TBI
OLD_FILES+=usr/share/groff_font/devX75-12/TI
OLD_FILES+=usr/share/groff_font/devX75-12/TR
OLD_DIRS+=usr/share/groff_font/devX75-12
OLD_FILES+=usr/share/groff_font/devX75/CB
OLD_FILES+=usr/share/groff_font/devX75/CBI
OLD_FILES+=usr/share/groff_font/devX75/CI
OLD_FILES+=usr/share/groff_font/devX75/CR
OLD_FILES+=usr/share/groff_font/devX75/DESC
OLD_FILES+=usr/share/groff_font/devX75/HB
OLD_FILES+=usr/share/groff_font/devX75/HBI
OLD_FILES+=usr/share/groff_font/devX75/HI
OLD_FILES+=usr/share/groff_font/devX75/HR
OLD_FILES+=usr/share/groff_font/devX75/NB
OLD_FILES+=usr/share/groff_font/devX75/NBI
OLD_FILES+=usr/share/groff_font/devX75/NI
OLD_FILES+=usr/share/groff_font/devX75/NR
OLD_FILES+=usr/share/groff_font/devX75/S
OLD_FILES+=usr/share/groff_font/devX75/TB
OLD_FILES+=usr/share/groff_font/devX75/TBI
OLD_FILES+=usr/share/groff_font/devX75/TI
OLD_FILES+=usr/share/groff_font/devX75/TR
OLD_DIRS+=usr/share/groff_font/devX75
OLD_FILES+=usr/share/groff_font/devascii/B
OLD_FILES+=usr/share/groff_font/devascii/BI
OLD_FILES+=usr/share/groff_font/devascii/CW
OLD_FILES+=usr/share/groff_font/devascii/DESC
OLD_FILES+=usr/share/groff_font/devascii/I
OLD_FILES+=usr/share/groff_font/devascii/L
OLD_FILES+=usr/share/groff_font/devascii/R
OLD_FILES+=usr/share/groff_font/devascii/S
OLD_DIRS+=usr/share/groff_font/devascii
OLD_FILES+=usr/share/groff_font/devcp1047/B
OLD_FILES+=usr/share/groff_font/devcp1047/BI
OLD_FILES+=usr/share/groff_font/devcp1047/CW
OLD_FILES+=usr/share/groff_font/devcp1047/DESC
OLD_FILES+=usr/share/groff_font/devcp1047/I
OLD_FILES+=usr/share/groff_font/devcp1047/L
OLD_FILES+=usr/share/groff_font/devcp1047/R
OLD_FILES+=usr/share/groff_font/devcp1047/S
OLD_DIRS+=usr/share/groff_font/devcp1047
OLD_FILES+=usr/share/groff_font/devdvi/CW
OLD_FILES+=usr/share/groff_font/devdvi/CWEC
OLD_FILES+=usr/share/groff_font/devdvi/CWI
OLD_FILES+=usr/share/groff_font/devdvi/CWIEC
OLD_FILES+=usr/share/groff_font/devdvi/CWITC
OLD_FILES+=usr/share/groff_font/devdvi/CWTC
OLD_FILES+=usr/share/groff_font/devdvi/CompileFonts
OLD_FILES+=usr/share/groff_font/devdvi/DESC
OLD_FILES+=usr/share/groff_font/devdvi/EX
OLD_FILES+=usr/share/groff_font/devdvi/HB
OLD_FILES+=usr/share/groff_font/devdvi/HBEC
OLD_FILES+=usr/share/groff_font/devdvi/HBI
OLD_FILES+=usr/share/groff_font/devdvi/HBIEC
OLD_FILES+=usr/share/groff_font/devdvi/HBITC
OLD_FILES+=usr/share/groff_font/devdvi/HBTC
OLD_FILES+=usr/share/groff_font/devdvi/HI
OLD_FILES+=usr/share/groff_font/devdvi/HIEC
OLD_FILES+=usr/share/groff_font/devdvi/HITC
OLD_FILES+=usr/share/groff_font/devdvi/HR
OLD_FILES+=usr/share/groff_font/devdvi/HREC
OLD_FILES+=usr/share/groff_font/devdvi/HRTC
OLD_FILES+=usr/share/groff_font/devdvi/MI
OLD_FILES+=usr/share/groff_font/devdvi/Makefile
OLD_FILES+=usr/share/groff_font/devdvi/S
OLD_FILES+=usr/share/groff_font/devdvi/SA
OLD_FILES+=usr/share/groff_font/devdvi/SB
OLD_FILES+=usr/share/groff_font/devdvi/SC
OLD_FILES+=usr/share/groff_font/devdvi/TB
OLD_FILES+=usr/share/groff_font/devdvi/TBEC
OLD_FILES+=usr/share/groff_font/devdvi/TBI
OLD_FILES+=usr/share/groff_font/devdvi/TBIEC
OLD_FILES+=usr/share/groff_font/devdvi/TBITC
OLD_FILES+=usr/share/groff_font/devdvi/TBTC
OLD_FILES+=usr/share/groff_font/devdvi/TI
OLD_FILES+=usr/share/groff_font/devdvi/TIEC
OLD_FILES+=usr/share/groff_font/devdvi/TITC
OLD_FILES+=usr/share/groff_font/devdvi/TR
OLD_FILES+=usr/share/groff_font/devdvi/TREC
OLD_FILES+=usr/share/groff_font/devdvi/TRTC
OLD_FILES+=usr/share/groff_font/devdvi/ec.map
OLD_FILES+=usr/share/groff_font/devdvi/msam.map
OLD_FILES+=usr/share/groff_font/devdvi/msbm.map
OLD_FILES+=usr/share/groff_font/devdvi/tc.map
OLD_FILES+=usr/share/groff_font/devdvi/texb.map
OLD_FILES+=usr/share/groff_font/devdvi/texex.map
OLD_FILES+=usr/share/groff_font/devdvi/texi.map
OLD_FILES+=usr/share/groff_font/devdvi/texmi.map
OLD_FILES+=usr/share/groff_font/devdvi/texr.map
OLD_FILES+=usr/share/groff_font/devdvi/texsy.map
OLD_FILES+=usr/share/groff_font/devdvi/textex.map
OLD_FILES+=usr/share/groff_font/devdvi/textt.map
OLD_DIRS+=usr/share/groff_font/devdvi
OLD_FILES+=usr/share/groff_font/devhtml/B
OLD_FILES+=usr/share/groff_font/devhtml/BI
OLD_FILES+=usr/share/groff_font/devhtml/CB
OLD_FILES+=usr/share/groff_font/devhtml/CBI
OLD_FILES+=usr/share/groff_font/devhtml/CI
OLD_FILES+=usr/share/groff_font/devhtml/CR
OLD_FILES+=usr/share/groff_font/devhtml/DESC
OLD_FILES+=usr/share/groff_font/devhtml/I
OLD_FILES+=usr/share/groff_font/devhtml/R
OLD_FILES+=usr/share/groff_font/devhtml/S
OLD_DIRS+=usr/share/groff_font/devhtml
OLD_FILES+=usr/share/groff_font/devkoi8-r/B
OLD_FILES+=usr/share/groff_font/devkoi8-r/BI
OLD_FILES+=usr/share/groff_font/devkoi8-r/CW
OLD_FILES+=usr/share/groff_font/devkoi8-r/DESC
OLD_FILES+=usr/share/groff_font/devkoi8-r/I
OLD_FILES+=usr/share/groff_font/devkoi8-r/L
OLD_FILES+=usr/share/groff_font/devkoi8-r/R
OLD_FILES+=usr/share/groff_font/devkoi8-r/S
OLD_DIRS+=usr/share/groff_font/devkoi8-r
OLD_FILES+=usr/share/groff_font/devlatin1/B
OLD_FILES+=usr/share/groff_font/devlatin1/BI
OLD_FILES+=usr/share/groff_font/devlatin1/CW
OLD_FILES+=usr/share/groff_font/devlatin1/DESC
OLD_FILES+=usr/share/groff_font/devlatin1/I
OLD_FILES+=usr/share/groff_font/devlatin1/L
OLD_FILES+=usr/share/groff_font/devlatin1/R
OLD_FILES+=usr/share/groff_font/devlatin1/S
OLD_DIRS+=usr/share/groff_font/devlatin1
OLD_FILES+=usr/share/groff_font/devlbp/CB
OLD_FILES+=usr/share/groff_font/devlbp/CI
OLD_FILES+=usr/share/groff_font/devlbp/CR
OLD_FILES+=usr/share/groff_font/devlbp/DESC
OLD_FILES+=usr/share/groff_font/devlbp/EB
OLD_FILES+=usr/share/groff_font/devlbp/EI
OLD_FILES+=usr/share/groff_font/devlbp/ER
OLD_FILES+=usr/share/groff_font/devlbp/HB
OLD_FILES+=usr/share/groff_font/devlbp/HBI
OLD_FILES+=usr/share/groff_font/devlbp/HI
OLD_FILES+=usr/share/groff_font/devlbp/HNB
OLD_FILES+=usr/share/groff_font/devlbp/HNBI
OLD_FILES+=usr/share/groff_font/devlbp/HNI
OLD_FILES+=usr/share/groff_font/devlbp/HNR
OLD_FILES+=usr/share/groff_font/devlbp/HR
OLD_FILES+=usr/share/groff_font/devlbp/TB
OLD_FILES+=usr/share/groff_font/devlbp/TBI
OLD_FILES+=usr/share/groff_font/devlbp/TI
OLD_FILES+=usr/share/groff_font/devlbp/TR
OLD_DIRS+=usr/share/groff_font/devlbp
OLD_FILES+=usr/share/groff_font/devlj4/AB
OLD_FILES+=usr/share/groff_font/devlj4/ABI
OLD_FILES+=usr/share/groff_font/devlj4/AI
OLD_FILES+=usr/share/groff_font/devlj4/ALBB
OLD_FILES+=usr/share/groff_font/devlj4/ALBR
OLD_FILES+=usr/share/groff_font/devlj4/AOB
OLD_FILES+=usr/share/groff_font/devlj4/AOI
OLD_FILES+=usr/share/groff_font/devlj4/AOR
OLD_FILES+=usr/share/groff_font/devlj4/AR
OLD_FILES+=usr/share/groff_font/devlj4/CB
OLD_FILES+=usr/share/groff_font/devlj4/CBI
OLD_FILES+=usr/share/groff_font/devlj4/CI
OLD_FILES+=usr/share/groff_font/devlj4/CLARENDON
OLD_FILES+=usr/share/groff_font/devlj4/CORONET
OLD_FILES+=usr/share/groff_font/devlj4/CR
OLD_FILES+=usr/share/groff_font/devlj4/DESC
OLD_FILES+=usr/share/groff_font/devlj4/GB
OLD_FILES+=usr/share/groff_font/devlj4/GBI
OLD_FILES+=usr/share/groff_font/devlj4/GI
OLD_FILES+=usr/share/groff_font/devlj4/GR
OLD_FILES+=usr/share/groff_font/devlj4/LGB
OLD_FILES+=usr/share/groff_font/devlj4/LGI
OLD_FILES+=usr/share/groff_font/devlj4/LGR
OLD_FILES+=usr/share/groff_font/devlj4/MARIGOLD
OLD_FILES+=usr/share/groff_font/devlj4/OB
OLD_FILES+=usr/share/groff_font/devlj4/OBI
OLD_FILES+=usr/share/groff_font/devlj4/OI
OLD_FILES+=usr/share/groff_font/devlj4/OR
OLD_FILES+=usr/share/groff_font/devlj4/S
OLD_FILES+=usr/share/groff_font/devlj4/SYMBOL
OLD_FILES+=usr/share/groff_font/devlj4/TB
OLD_FILES+=usr/share/groff_font/devlj4/TBI
OLD_FILES+=usr/share/groff_font/devlj4/TI
OLD_FILES+=usr/share/groff_font/devlj4/TNRB
OLD_FILES+=usr/share/groff_font/devlj4/TNRBI
OLD_FILES+=usr/share/groff_font/devlj4/TNRI
OLD_FILES+=usr/share/groff_font/devlj4/TNRR
OLD_FILES+=usr/share/groff_font/devlj4/TR
OLD_FILES+=usr/share/groff_font/devlj4/UB
OLD_FILES+=usr/share/groff_font/devlj4/UBI
OLD_FILES+=usr/share/groff_font/devlj4/UCB
OLD_FILES+=usr/share/groff_font/devlj4/UCBI
OLD_FILES+=usr/share/groff_font/devlj4/UCI
OLD_FILES+=usr/share/groff_font/devlj4/UCR
OLD_FILES+=usr/share/groff_font/devlj4/UI
OLD_FILES+=usr/share/groff_font/devlj4/UR
OLD_FILES+=usr/share/groff_font/devlj4/WINGDINGS
OLD_DIRS+=usr/share/groff_font/devlj4
OLD_FILES+=usr/share/groff_font/devps/AB
OLD_FILES+=usr/share/groff_font/devps/ABI
OLD_FILES+=usr/share/groff_font/devps/AI
OLD_FILES+=usr/share/groff_font/devps/AR
OLD_FILES+=usr/share/groff_font/devps/BMB
OLD_FILES+=usr/share/groff_font/devps/BMBI
OLD_FILES+=usr/share/groff_font/devps/BMI
OLD_FILES+=usr/share/groff_font/devps/BMR
OLD_FILES+=usr/share/groff_font/devps/CB
OLD_FILES+=usr/share/groff_font/devps/CBI
OLD_FILES+=usr/share/groff_font/devps/CI
OLD_FILES+=usr/share/groff_font/devps/CR
OLD_FILES+=usr/share/groff_font/devps/DESC
OLD_FILES+=usr/share/groff_font/devps/EURO
OLD_FILES+=usr/share/groff_font/devps/HB
OLD_FILES+=usr/share/groff_font/devps/HBI
OLD_FILES+=usr/share/groff_font/devps/HI
OLD_FILES+=usr/share/groff_font/devps/HNB
OLD_FILES+=usr/share/groff_font/devps/HNBI
OLD_FILES+=usr/share/groff_font/devps/HNI
OLD_FILES+=usr/share/groff_font/devps/HNR
OLD_FILES+=usr/share/groff_font/devps/HR
OLD_FILES+=usr/share/groff_font/devps/Makefile
OLD_FILES+=usr/share/groff_font/devps/NB
OLD_FILES+=usr/share/groff_font/devps/NBI
OLD_FILES+=usr/share/groff_font/devps/NI
OLD_FILES+=usr/share/groff_font/devps/NR
OLD_FILES+=usr/share/groff_font/devps/PB
OLD_FILES+=usr/share/groff_font/devps/PBI
OLD_FILES+=usr/share/groff_font/devps/PI
OLD_FILES+=usr/share/groff_font/devps/PR
OLD_FILES+=usr/share/groff_font/devps/S
OLD_FILES+=usr/share/groff_font/devps/SS
OLD_FILES+=usr/share/groff_font/devps/TB
OLD_FILES+=usr/share/groff_font/devps/TBI
OLD_FILES+=usr/share/groff_font/devps/TI
OLD_FILES+=usr/share/groff_font/devps/TR
OLD_FILES+=usr/share/groff_font/devps/ZCMI
OLD_FILES+=usr/share/groff_font/devps/ZD
OLD_FILES+=usr/share/groff_font/devps/ZDR
OLD_FILES+=usr/share/groff_font/devps/afmname
OLD_FILES+=usr/share/groff_font/devps/dingbats.map
OLD_FILES+=usr/share/groff_font/devps/dingbats.rmap
OLD_FILES+=usr/share/groff_font/devps/download
OLD_FILES+=usr/share/groff_font/devps/freeeuro.pfa
OLD_FILES+=usr/share/groff_font/devps/lgreekmap
OLD_FILES+=usr/share/groff_font/devps/prologue
OLD_FILES+=usr/share/groff_font/devps/symbol.sed
OLD_FILES+=usr/share/groff_font/devps/symbolchars
OLD_FILES+=usr/share/groff_font/devps/symbolsl.afm
OLD_FILES+=usr/share/groff_font/devps/symbolsl.pfa
OLD_FILES+=usr/share/groff_font/devps/text.enc
OLD_FILES+=usr/share/groff_font/devps/textmap
OLD_FILES+=usr/share/groff_font/devps/zapfdr.pfa
OLD_DIRS+=usr/share/groff_font/devps
OLD_FILES+=usr/share/groff_font/devutf8/B
OLD_FILES+=usr/share/groff_font/devutf8/BI
OLD_FILES+=usr/share/groff_font/devutf8/CW
OLD_FILES+=usr/share/groff_font/devutf8/DESC
OLD_FILES+=usr/share/groff_font/devutf8/I
OLD_FILES+=usr/share/groff_font/devutf8/L
OLD_FILES+=usr/share/groff_font/devutf8/R
OLD_FILES+=usr/share/groff_font/devutf8/S
OLD_DIRS+=usr/share/groff_font/devutf8
OLD_DIRS+=usr/share/groff_font
OLD_FILES+=usr/share/man/man1/addftinfo.1.gz
OLD_FILES+=usr/share/man/man1/afmtodit.1.gz
OLD_FILES+=usr/share/man/man1/checknr.1.gz
OLD_FILES+=usr/share/man/man1/colcrt.1.gz
OLD_FILES+=usr/share/man/man1/eqn.1.gz
OLD_FILES+=usr/share/man/man1/grn.1.gz
OLD_FILES+=usr/share/man/man1/grodvi.1.gz
OLD_FILES+=usr/share/man/man1/groff.1.gz
OLD_FILES+=usr/share/man/man1/grog.1.gz
OLD_FILES+=usr/share/man/man1/grolbp.1.gz
OLD_FILES+=usr/share/man/man1/grolj4.1.gz
OLD_FILES+=usr/share/man/man1/grops.1.gz
OLD_FILES+=usr/share/man/man1/grotty.1.gz
OLD_FILES+=usr/share/man/man1/hpftodit.1.gz
OLD_FILES+=usr/share/man/man1/indxbib.1.gz
OLD_FILES+=usr/share/man/man1/lkbib.1.gz
OLD_FILES+=usr/share/man/man1/lookbib.1.gz
OLD_FILES+=usr/share/man/man1/mmroff.1.gz
OLD_FILES+=usr/share/man/man1/neqn.1.gz
OLD_FILES+=usr/share/man/man1/nroff.1.gz
OLD_FILES+=usr/share/man/man1/pfbtops.1.gz
OLD_FILES+=usr/share/man/man1/pic.1.gz
OLD_FILES+=usr/share/man/man1/psroff.1.gz
OLD_FILES+=usr/share/man/man1/refer.1.gz
OLD_FILES+=usr/share/man/man1/tbl.1.gz
OLD_FILES+=usr/share/man/man1/tfmtodit.1.gz
OLD_FILES+=usr/share/man/man1/troff.1.gz
OLD_FILES+=usr/share/man/man1/vgrind.1.gz
OLD_FILES+=usr/share/man/man5/groff_font.5.gz
OLD_FILES+=usr/share/man/man5/groff_out.5.gz
OLD_FILES+=usr/share/man/man5/groff_tmac.5.gz
OLD_FILES+=usr/share/man/man5/lj4_font.5.gz
OLD_FILES+=usr/share/man/man5/tmac.5.gz
OLD_FILES+=usr/share/man/man5/vgrindefs.5.gz
OLD_FILES+=usr/share/man/man7/ditroff.7.gz
OLD_FILES+=usr/share/man/man7/groff.7.gz
OLD_FILES+=usr/share/man/man7/groff_char.7.gz
OLD_FILES+=usr/share/man/man7/groff_diff.7.gz
OLD_FILES+=usr/share/man/man7/groff_man.7.gz
OLD_FILES+=usr/share/man/man7/groff_mdoc.7.gz
OLD_FILES+=usr/share/man/man7/groff_me.7.gz
OLD_FILES+=usr/share/man/man7/groff_mm.7.gz
OLD_FILES+=usr/share/man/man7/groff_mmse.7.gz
OLD_FILES+=usr/share/man/man7/groff_ms.7.gz
OLD_FILES+=usr/share/man/man7/groff_trace.7.gz
OLD_FILES+=usr/share/man/man7/groff_www.7.gz
OLD_FILES+=usr/share/man/man7/mdoc.samples.7.gz
OLD_FILES+=usr/share/man/man7/me.7.gz
OLD_FILES+=usr/share/man/man7/mm.7.gz
OLD_FILES+=usr/share/man/man7/mmse.7.gz
OLD_FILES+=usr/share/man/man7/ms.7.gz
OLD_FILES+=usr/share/man/man7/orig_me.7.gz
OLD_FILES+=usr/share/man/man7/roff.7.gz
OLD_FILES+=usr/share/me/acm.me
OLD_FILES+=usr/share/me/chars.me
OLD_FILES+=usr/share/me/deltext.me
OLD_FILES+=usr/share/me/eqn.me
OLD_FILES+=usr/share/me/float.me
OLD_FILES+=usr/share/me/footnote.me
OLD_FILES+=usr/share/me/index.me
OLD_FILES+=usr/share/me/letterhead.me
OLD_FILES+=usr/share/me/local.me
OLD_FILES+=usr/share/me/null.me
OLD_FILES+=usr/share/me/refer.me
OLD_FILES+=usr/share/me/revisions
OLD_FILES+=usr/share/me/sh.me
OLD_FILES+=usr/share/me/tbl.me
OLD_FILES+=usr/share/me/thesis.me
OLD_DIRS+=usr/share/me
OLD_FILES+=usr/share/misc/vgrindefs
OLD_FILES+=usr/share/misc/vgrindefs.db
OLD_FILES+=usr/share/tmac/X.tmac
OLD_FILES+=usr/share/tmac/Xps.tmac
OLD_FILES+=usr/share/tmac/a4.tmac
OLD_FILES+=usr/share/tmac/an-old.tmac
OLD_FILES+=usr/share/tmac/an.tmac
OLD_FILES+=usr/share/tmac/andoc.tmac
OLD_FILES+=usr/share/tmac/composite.tmac
OLD_FILES+=usr/share/tmac/cp1047.tmac
OLD_FILES+=usr/share/tmac/devtag.tmac
OLD_FILES+=usr/share/tmac/doc.tmac
OLD_FILES+=usr/share/tmac/dvi.tmac
OLD_FILES+=usr/share/tmac/e.tmac
OLD_FILES+=usr/share/tmac/ec.tmac
OLD_FILES+=usr/share/tmac/eqnrc
OLD_FILES+=usr/share/tmac/europs.tmac
OLD_FILES+=usr/share/tmac/html-end.tmac
OLD_FILES+=usr/share/tmac/html.tmac
OLD_FILES+=usr/share/tmac/hyphen.ru
OLD_FILES+=usr/share/tmac/hyphen.us
OLD_FILES+=usr/share/tmac/hyphenex.us
OLD_FILES+=usr/share/tmac/koi8-r.tmac
OLD_FILES+=usr/share/tmac/latin1.tmac
OLD_FILES+=usr/share/tmac/latin2.tmac
OLD_FILES+=usr/share/tmac/latin9.tmac
OLD_FILES+=usr/share/tmac/lbp.tmac
OLD_FILES+=usr/share/tmac/lj4.tmac
OLD_FILES+=usr/share/tmac/m.tmac
OLD_FILES+=usr/share/tmac/man.local
OLD_FILES+=usr/share/tmac/man.tmac
OLD_FILES+=usr/share/tmac/mandoc.tmac
OLD_FILES+=usr/share/tmac/mdoc.local
OLD_FILES+=usr/share/tmac/mdoc.tmac
OLD_FILES+=usr/share/tmac/mdoc/doc-common
OLD_FILES+=usr/share/tmac/mdoc/doc-ditroff
OLD_FILES+=usr/share/tmac/mdoc/doc-nroff
OLD_FILES+=usr/share/tmac/mdoc/doc-syms
OLD_FILES+=usr/share/tmac/mdoc/fr.ISO8859-1
OLD_FILES+=usr/share/tmac/mdoc/ru.KOI8-R
OLD_DIRS+=usr/share/tmac/mdoc
OLD_FILES+=usr/share/tmac/me.tmac
OLD_FILES+=usr/share/tmac/mm/0.MT
OLD_FILES+=usr/share/tmac/mm/4.MT
OLD_FILES+=usr/share/tmac/mm/5.MT
OLD_FILES+=usr/share/tmac/mm/locale
OLD_FILES+=usr/share/tmac/mm/mm.tmac
OLD_FILES+=usr/share/tmac/mm/mmse.tmac
OLD_FILES+=usr/share/tmac/mm/ms.cov
OLD_FILES+=usr/share/tmac/mm/se_locale
OLD_FILES+=usr/share/tmac/mm/se_ms.cov
OLD_DIRS+=usr/share/tmac/mm
OLD_FILES+=usr/share/tmac/ms.tmac
OLD_FILES+=usr/share/tmac/mse.tmac
OLD_FILES+=usr/share/tmac/papersize.tmac
OLD_FILES+=usr/share/tmac/pic.tmac
OLD_FILES+=usr/share/tmac/ps.tmac
OLD_FILES+=usr/share/tmac/psatk.tmac
OLD_FILES+=usr/share/tmac/psold.tmac
OLD_FILES+=usr/share/tmac/pspic.tmac
OLD_FILES+=usr/share/tmac/s.tmac
OLD_FILES+=usr/share/tmac/safer.tmac
OLD_FILES+=usr/share/tmac/tmac.orig_me
OLD_FILES+=usr/share/tmac/tmac.vgrind
OLD_FILES+=usr/share/tmac/trace.tmac
OLD_FILES+=usr/share/tmac/troffrc
OLD_FILES+=usr/share/tmac/troffrc-end
OLD_FILES+=usr/share/tmac/tty-char.tmac
OLD_FILES+=usr/share/tmac/tty.tmac
OLD_FILES+=usr/share/tmac/unicode.tmac
OLD_FILES+=usr/share/tmac/www.tmac
OLD_DIRS+=usr/share/tmac
# 20170607: remove incorrect atf_check(1) manpage link
OLD_FILES+=usr/share/man/man1/atf_check.1.gz
# 20170601: remove stale manpage

View file

@ -76,6 +76,14 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 12.x IS SLOW:
For further comments/feedback, poke adrian@ .
20170531:
The GNU roff toolchain has been removed from base. To render manpages
which are not supported by mandoc(1), man(1) can fallback on GNU roff
from ports (and recommends to install it).
To render roff(7) documents, consider using GNU roff from ports or the
heirloom doctools roff toolchain from ports via pkg install groff or
via pkg install heirloom-doctools.
20170523:
The "ino64" 64-bit inode project has been committed, which extends
a number of types to 64 bits. Upgrading in place requires care and

View file

@ -1,55 +0,0 @@
Groff Bug Report
Please read the PROBLEMS file before sending in a bug report.
Please fill in all fields, even if you think they are not relevant.
Please delete the text in brackets before sending it in.
Please report separate bugs separately.
Send the completed form to bug-groff@gnu.org
GROFF VERSION:
[The version of groff you are using. For example, `1.05']
MACHINE:
[The machine you are using. For example, `Sun SPARCstation 2']
OS:
[The operating system you are using. For example, `SunOS 4.1.1']
COMPILER:
[The compiler you are used to compile groff. For example, `g++ 1.40.3']
INPUT FILES:
[Include all the files necessary to reproduce the problem that are not
part of the standard groff distribution. This includes font
description files, DESC files and macro files (with the exception of
the -ms and -mm macros: we have them). Send them as a shell archive or
as a uuencoded, compressed tar file.
It's easier for us if you can provide an example that doesn't depend on
any macro package, but obviously if you're reporting a problem with a
macro package that won't be possible. Also a short example is more
convenient than a long one, but don't worry if you can't find a short
example. Don't say something like ``any file that X'': Always send a
definite example.]
COMMAND LINE:
[The command line that we should run in order to observe the bug. For
example, `gtroff -Tps bug.tr'. If the command line uses -ms or -mm,
say whether these refer to the groff versions or the Unix versions of
the macros.]
DESCRIPTION OF INCORRECT BEHAVIOUR:
[What goes wrong when that command line is run? For example, `gtroff
gets a segmentation fault', or `The output looks bad because the bar
over the x is too long and is too far over to the left.' If you get an
error message, include it here without modification: Don't edit it to
make it more readable.]
SUGGESTED FIX [optional]:
[If you can suggest a fix for the problem, include a context diff here.
But don't delay sending in a bug report in the hope of finding a fix.
Guesses about the cause of the bug are not usually helpful.]

View file

@ -1,340 +0,0 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library General
Public License instead of this License.

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,397 +0,0 @@
GNU Free Documentation License
Version 1.2, November 2002
Copyright (C) 2000,2001,2002 Free Software Foundation, Inc.
51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
0. PREAMBLE
The purpose of this License is to make a manual, textbook, or other
functional and useful document "free" in the sense of freedom: to
assure everyone the effective freedom to copy and redistribute it,
with or without modifying it, either commercially or noncommercially.
Secondarily, this License preserves for the author and publisher a way
to get credit for their work, while not being considered responsible
for modifications made by others.
This License is a kind of "copyleft", which means that derivative
works of the document must themselves be free in the same sense. It
complements the GNU General Public License, which is a copyleft
license designed for free software.
We have designed this License in order to use it for manuals for free
software, because free software needs free documentation: a free
program should come with manuals providing the same freedoms that the
software does. But this License is not limited to software manuals;
it can be used for any textual work, regardless of subject matter or
whether it is published as a printed book. We recommend this License
principally for works whose purpose is instruction or reference.
1. APPLICABILITY AND DEFINITIONS
This License applies to any manual or other work, in any medium, that
contains a notice placed by the copyright holder saying it can be
distributed under the terms of this License. Such a notice grants a
world-wide, royalty-free license, unlimited in duration, to use that
work under the conditions stated herein. The "Document", below,
refers to any such manual or work. Any member of the public is a
licensee, and is addressed as "you". You accept the license if you
copy, modify or distribute the work in a way requiring permission
under copyright law.
A "Modified Version" of the Document means any work containing the
Document or a portion of it, either copied verbatim, or with
modifications and/or translated into another language.
A "Secondary Section" is a named appendix or a front-matter section of
the Document that deals exclusively with the relationship of the
publishers or authors of the Document to the Document's overall subject
(or to related matters) and contains nothing that could fall directly
within that overall subject. (Thus, if the Document is in part a
textbook of mathematics, a Secondary Section may not explain any
mathematics.) The relationship could be a matter of historical
connection with the subject or with related matters, or of legal,
commercial, philosophical, ethical or political position regarding
them.
The "Invariant Sections" are certain Secondary Sections whose titles
are designated, as being those of Invariant Sections, in the notice
that says that the Document is released under this License. If a
section does not fit the above definition of Secondary then it is not
allowed to be designated as Invariant. The Document may contain zero
Invariant Sections. If the Document does not identify any Invariant
Sections then there are none.
The "Cover Texts" are certain short passages of text that are listed,
as Front-Cover Texts or Back-Cover Texts, in the notice that says that
the Document is released under this License. A Front-Cover Text may
be at most 5 words, and a Back-Cover Text may be at most 25 words.
A "Transparent" copy of the Document means a machine-readable copy,
represented in a format whose specification is available to the
general public, that is suitable for revising the document
straightforwardly with generic text editors or (for images composed of
pixels) generic paint programs or (for drawings) some widely available
drawing editor, and that is suitable for input to text formatters or
for automatic translation to a variety of formats suitable for input
to text formatters. A copy made in an otherwise Transparent file
format whose markup, or absence of markup, has been arranged to thwart
or discourage subsequent modification by readers is not Transparent.
An image format is not Transparent if used for any substantial amount
of text. A copy that is not "Transparent" is called "Opaque".
Examples of suitable formats for Transparent copies include plain
ASCII without markup, Texinfo input format, LaTeX input format, SGML
or XML using a publicly available DTD, and standard-conforming simple
HTML, PostScript or PDF designed for human modification. Examples of
transparent image formats include PNG, XCF and JPG. Opaque formats
include proprietary formats that can be read and edited only by
proprietary word processors, SGML or XML for which the DTD and/or
processing tools are not generally available, and the
machine-generated HTML, PostScript or PDF produced by some word
processors for output purposes only.
The "Title Page" means, for a printed book, the title page itself,
plus such following pages as are needed to hold, legibly, the material
this License requires to appear in the title page. For works in
formats which do not have any title page as such, "Title Page" means
the text near the most prominent appearance of the work's title,
preceding the beginning of the body of the text.
A section "Entitled XYZ" means a named subunit of the Document whose
title either is precisely XYZ or contains XYZ in parentheses following
text that translates XYZ in another language. (Here XYZ stands for a
specific section name mentioned below, such as "Acknowledgements",
"Dedications", "Endorsements", or "History".) To "Preserve the Title"
of such a section when you modify the Document means that it remains a
section "Entitled XYZ" according to this definition.
The Document may include Warranty Disclaimers next to the notice which
states that this License applies to the Document. These Warranty
Disclaimers are considered to be included by reference in this
License, but only as regards disclaiming warranties: any other
implication that these Warranty Disclaimers may have is void and has
no effect on the meaning of this License.
2. VERBATIM COPYING
You may copy and distribute the Document in any medium, either
commercially or noncommercially, provided that this License, the
copyright notices, and the license notice saying this License applies
to the Document are reproduced in all copies, and that you add no other
conditions whatsoever to those of this License. You may not use
technical measures to obstruct or control the reading or further
copying of the copies you make or distribute. However, you may accept
compensation in exchange for copies. If you distribute a large enough
number of copies you must also follow the conditions in section 3.
You may also lend copies, under the same conditions stated above, and
you may publicly display copies.
3. COPYING IN QUANTITY
If you publish printed copies (or copies in media that commonly have
printed covers) of the Document, numbering more than 100, and the
Document's license notice requires Cover Texts, you must enclose the
copies in covers that carry, clearly and legibly, all these Cover
Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
the back cover. Both covers must also clearly and legibly identify
you as the publisher of these copies. The front cover must present
the full title with all words of the title equally prominent and
visible. You may add other material on the covers in addition.
Copying with changes limited to the covers, as long as they preserve
the title of the Document and satisfy these conditions, can be treated
as verbatim copying in other respects.
If the required texts for either cover are too voluminous to fit
legibly, you should put the first ones listed (as many as fit
reasonably) on the actual cover, and continue the rest onto adjacent
pages.
If you publish or distribute Opaque copies of the Document numbering
more than 100, you must either include a machine-readable Transparent
copy along with each Opaque copy, or state in or with each Opaque copy
a computer-network location from which the general network-using
public has access to download using public-standard network protocols
a complete Transparent copy of the Document, free of added material.
If you use the latter option, you must take reasonably prudent steps,
when you begin distribution of Opaque copies in quantity, to ensure
that this Transparent copy will remain thus accessible at the stated
location until at least one year after the last time you distribute an
Opaque copy (directly or through your agents or retailers) of that
edition to the public.
It is requested, but not required, that you contact the authors of the
Document well before redistributing any large number of copies, to give
them a chance to provide you with an updated version of the Document.
4. MODIFICATIONS
You may copy and distribute a Modified Version of the Document under
the conditions of sections 2 and 3 above, provided that you release
the Modified Version under precisely this License, with the Modified
Version filling the role of the Document, thus licensing distribution
and modification of the Modified Version to whoever possesses a copy
of it. In addition, you must do these things in the Modified Version:
A. Use in the Title Page (and on the covers, if any) a title distinct
from that of the Document, and from those of previous versions
(which should, if there were any, be listed in the History section
of the Document). You may use the same title as a previous version
if the original publisher of that version gives permission.
B. List on the Title Page, as authors, one or more persons or entities
responsible for authorship of the modifications in the Modified
Version, together with at least five of the principal authors of the
Document (all of its principal authors, if it has fewer than five),
unless they release you from this requirement.
C. State on the Title page the name of the publisher of the
Modified Version, as the publisher.
D. Preserve all the copyright notices of the Document.
E. Add an appropriate copyright notice for your modifications
adjacent to the other copyright notices.
F. Include, immediately after the copyright notices, a license notice
giving the public permission to use the Modified Version under the
terms of this License, in the form shown in the Addendum below.
G. Preserve in that license notice the full lists of Invariant Sections
and required Cover Texts given in the Document's license notice.
H. Include an unaltered copy of this License.
I. Preserve the section Entitled "History", Preserve its Title, and add
to it an item stating at least the title, year, new authors, and
publisher of the Modified Version as given on the Title Page. If
there is no section Entitled "History" in the Document, create one
stating the title, year, authors, and publisher of the Document as
given on its Title Page, then add an item describing the Modified
Version as stated in the previous sentence.
J. Preserve the network location, if any, given in the Document for
public access to a Transparent copy of the Document, and likewise
the network locations given in the Document for previous versions
it was based on. These may be placed in the "History" section.
You may omit a network location for a work that was published at
least four years before the Document itself, or if the original
publisher of the version it refers to gives permission.
K. For any section Entitled "Acknowledgements" or "Dedications",
Preserve the Title of the section, and preserve in the section all
the substance and tone of each of the contributor acknowledgements
and/or dedications given therein.
L. Preserve all the Invariant Sections of the Document,
unaltered in their text and in their titles. Section numbers
or the equivalent are not considered part of the section titles.
M. Delete any section Entitled "Endorsements". Such a section
may not be included in the Modified Version.
N. Do not retitle any existing section to be Entitled "Endorsements"
or to conflict in title with any Invariant Section.
O. Preserve any Warranty Disclaimers.
If the Modified Version includes new front-matter sections or
appendices that qualify as Secondary Sections and contain no material
copied from the Document, you may at your option designate some or all
of these sections as invariant. To do this, add their titles to the
list of Invariant Sections in the Modified Version's license notice.
These titles must be distinct from any other section titles.
You may add a section Entitled "Endorsements", provided it contains
nothing but endorsements of your Modified Version by various
parties--for example, statements of peer review or that the text has
been approved by an organization as the authoritative definition of a
standard.
You may add a passage of up to five words as a Front-Cover Text, and a
passage of up to 25 words as a Back-Cover Text, to the end of the list
of Cover Texts in the Modified Version. Only one passage of
Front-Cover Text and one of Back-Cover Text may be added by (or
through arrangements made by) any one entity. If the Document already
includes a cover text for the same cover, previously added by you or
by arrangement made by the same entity you are acting on behalf of,
you may not add another; but you may replace the old one, on explicit
permission from the previous publisher that added the old one.
The author(s) and publisher(s) of the Document do not by this License
give permission to use their names for publicity for or to assert or
imply endorsement of any Modified Version.
5. COMBINING DOCUMENTS
You may combine the Document with other documents released under this
License, under the terms defined in section 4 above for modified
versions, provided that you include in the combination all of the
Invariant Sections of all of the original documents, unmodified, and
list them all as Invariant Sections of your combined work in its
license notice, and that you preserve all their Warranty Disclaimers.
The combined work need only contain one copy of this License, and
multiple identical Invariant Sections may be replaced with a single
copy. If there are multiple Invariant Sections with the same name but
different contents, make the title of each such section unique by
adding at the end of it, in parentheses, the name of the original
author or publisher of that section if known, or else a unique number.
Make the same adjustment to the section titles in the list of
Invariant Sections in the license notice of the combined work.
In the combination, you must combine any sections Entitled "History"
in the various original documents, forming one section Entitled
"History"; likewise combine any sections Entitled "Acknowledgements",
and any sections Entitled "Dedications". You must delete all sections
Entitled "Endorsements".
6. COLLECTIONS OF DOCUMENTS
You may make a collection consisting of the Document and other documents
released under this License, and replace the individual copies of this
License in the various documents with a single copy that is included in
the collection, provided that you follow the rules of this License for
verbatim copying of each of the documents in all other respects.
You may extract a single document from such a collection, and distribute
it individually under this License, provided you insert a copy of this
License into the extracted document, and follow this License in all
other respects regarding verbatim copying of that document.
7. AGGREGATION WITH INDEPENDENT WORKS
A compilation of the Document or its derivatives with other separate
and independent documents or works, in or on a volume of a storage or
distribution medium, is called an "aggregate" if the copyright
resulting from the compilation is not used to limit the legal rights
of the compilation's users beyond what the individual works permit.
When the Document is included in an aggregate, this License does not
apply to the other works in the aggregate which are not themselves
derivative works of the Document.
If the Cover Text requirement of section 3 is applicable to these
copies of the Document, then if the Document is less than one half of
the entire aggregate, the Document's Cover Texts may be placed on
covers that bracket the Document within the aggregate, or the
electronic equivalent of covers if the Document is in electronic form.
Otherwise they must appear on printed covers that bracket the whole
aggregate.
8. TRANSLATION
Translation is considered a kind of modification, so you may
distribute translations of the Document under the terms of section 4.
Replacing Invariant Sections with translations requires special
permission from their copyright holders, but you may include
translations of some or all Invariant Sections in addition to the
original versions of these Invariant Sections. You may include a
translation of this License, and all the license notices in the
Document, and any Warranty Disclaimers, provided that you also include
the original English version of this License and the original versions
of those notices and disclaimers. In case of a disagreement between
the translation and the original version of this License or a notice
or disclaimer, the original version will prevail.
If a section in the Document is Entitled "Acknowledgements",
"Dedications", or "History", the requirement (section 4) to Preserve
its Title (section 1) will typically require changing the actual
title.
9. TERMINATION
You may not copy, modify, sublicense, or distribute the Document except
as expressly provided for under this License. Any other attempt to
copy, modify, sublicense or distribute the Document is void, and will
automatically terminate your rights under this License. However,
parties who have received copies, or rights, from you under this
License will not have their licenses terminated so long as such
parties remain in full compliance.
10. FUTURE REVISIONS OF THIS LICENSE
The Free Software Foundation may publish new, revised versions
of the GNU Free Documentation License from time to time. Such new
versions will be similar in spirit to the present version, but may
differ in detail to address new problems or concerns. See
http://www.gnu.org/copyleft/.
Each version of the License is given a distinguishing version number.
If the Document specifies that a particular numbered version of this
License "or any later version" applies to it, you have the option of
following the terms and conditions either of that specified version or
of any later version that has been published (not as a draft) by the
Free Software Foundation. If the Document does not specify a version
number of this License, you may choose any version ever published (not
as a draft) by the Free Software Foundation.
ADDENDUM: How to use this License for your documents
To use this License in a document you have written, include a copy of
the License in the document and put the following copyright and
license notices just after the title page:
Copyright (c) YEAR YOUR NAME.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.2
or any later version published by the Free Software Foundation;
with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
A copy of the license is included in the section entitled "GNU
Free Documentation License".
If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
replace the "with...Texts." line with this:
with the Invariant Sections being LIST THEIR TITLES, with the
Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
If you have Invariant Sections without Cover Texts, or some other
combination of the three, merge those two alternatives to suit the
situation.
If your document contains nontrivial examples of program code, we
recommend releasing these examples in parallel under your choice of
free software license, such as the GNU General Public License,
to permit their use in free software.

View file

@ -1,3 +0,0 @@
$FreeBSD$
*/arch
*/src/libs/snprintf

View file

@ -1,31 +0,0 @@
$FreeBSD$
This directory contains virgin copies of the original distribution files
on a "vendor" branch. Do not, under any circumstances, attempt to upgrade
the files in this directory via patches and a cvs commit.
To upgrade to a newer version of groff, when it is available:
1. Unpack the new version into an empty directory.
[Do not make ANY changes to the files.]
2. Use the command:
cvs import -m 'Virgin import of FSF groff v<version>' \
src/contrib/groff FSF v<version>
For example, to do the import of version 1.19.2, I typed:
cvs import -m 'Virgin import of FSF groff v1.19.2' \
src/contrib/groff FSF v1_19_2
3. Follow the instructions printed out in step 2 to resolve any
conflicts between local FreeBSD changes and the newer version.
Do not, under any circumstances, deviate from this procedure.
To make local changes to groff, simply patch and commit to the main
branch (aka HEAD). Never make local changes on the FSF branch.
All local changes should be submitted to Werner Lemberg <wl@gnu.org> or
Ted Harding <ted.harding@nessie.mcc.ac.uk> for inclusion in the next
vendor release.
ru@FreeBSD.org - 20 October 2005

View file

@ -1,50 +0,0 @@
To install groff, follow the instructions in the file INSTALL.gen.
This file contains information that supplements those instructions.
(For instructions how to build groff with DJGPP tools for MS-DOS and
MS-Windows, see the file arch/djgpp/README.)
(For instructions how to build groff with the MinGW tools for
MS-Windows, see the file README.MinGW.)
groff is written in C++, so you will need a C++ compiler. The C++
source files use a suffix of `.cpp', so your C++ compiler must be able
to handle this. If you don't already have a C++ compiler, I suggest
gcc 2.7.1 or later (gcc version 2 includes GNU C++ as well as GNU C).
From gcc 2.5, it is no longer necessary to install libg++: the C++
header files needed by groff are created by the gcc installation
process. To override configure's choice of C++ compiler, you can set
the CXX environment variable.
If you have a library that provides a faster malloc than your system's
usual malloc, it is good idea to include it in LIBS. For example,
using the malloc that comes with GNU Emacs version 20 can give a
worthwhile (and sometimes spectacular) performance improvement.
If you want A4 or letter paper format and the configure script produces
an incorrect guess, say
PAGE=xxx ./configure
where `xxx' should be either `A4' or `letter'. Note that this will only
affect the paper selection of some device drivers like grops (which can
be still overridden on the command line). For compatibility with
ditroff, the default page length in gtroff is always 11 inches. The
page length can be changed with the `pl' request.
When you have built groff, you can use the test-groff script to try
groff out on one of the man pages. (Use the .n files not the .man
files.) The test-groff script sets up environment variables to allow
groff to run without being installed. For example, you could do
./test-groff -man -Tascii src/roff/groff/groff.n | less
To get a DVI, PDF, or HTML version of the groff texinfo manual, say `make
groff.dvi', `make groff.pdf', or `make groff.html', respectively, in the
`doc' subdirectory (after configuring the groff package). Note that you
need texinfo version 4.6 as a prerequisite. Neither older versions nor
texinfo 4.7 (due to a bug) will work.
If you have problems, read the PROBLEMS file. If this doesn't help
send a bug report using the form in the file BUG-REPORT.

View file

@ -1,231 +0,0 @@
Installation Instructions
*************************
Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004 Free
Software Foundation, Inc.
This file is free documentation; the Free Software Foundation gives
unlimited permission to copy, distribute and modify it.
Basic Installation
==================
These are generic installation instructions.
The `configure' shell script attempts to guess correct values for
various system-dependent variables used during compilation. It uses
those values to create a `Makefile' in each directory of the package.
It may also create one or more `.h' files containing system-dependent
definitions. Finally, it creates a shell script `config.status' that
you can run in the future to recreate the current configuration, and a
file `config.log' containing compiler output (useful mainly for
debugging `configure').
It can also use an optional file (typically called `config.cache'
and enabled with `--cache-file=config.cache' or simply `-C') that saves
the results of its tests to speed up reconfiguring. (Caching is
disabled by default to prevent problems with accidental use of stale
cache files.)
If you need to do unusual things to compile the package, please try
to figure out how `configure' could check whether to do them, and mail
diffs or instructions to the address given in the `README' so they can
be considered for the next release. If you are using the cache, and at
some point `config.cache' contains results you don't want to keep, you
may remove or edit it.
The file `configure.ac' (or `configure.in') is used to create
`configure' by a program called `autoconf'. You only need
`configure.ac' if you want to change it or regenerate `configure' using
a newer version of `autoconf'.
The simplest way to compile this package is:
1. `cd' to the directory containing the package's source code and type
`./configure' to configure the package for your system. If you're
using `csh' on an old version of System V, you might need to type
`sh ./configure' instead to prevent `csh' from trying to execute
`configure' itself.
Running `configure' takes awhile. While running, it prints some
messages telling which features it is checking for.
2. Type `make' to compile the package.
3. Optionally, type `make check' to run any self-tests that come with
the package.
4. Type `make install' to install the programs and any data files and
documentation.
5. You can remove the program binaries and object files from the
source code directory by typing `make clean'. To also remove the
files that `configure' created (so you can compile the package for
a different kind of computer), type `make distclean'. There is
also a `make maintainer-clean' target, but that is intended mainly
for the package's developers. If you use it, you may have to get
all sorts of other programs in order to regenerate files that came
with the distribution.
Compilers and Options
=====================
Some systems require unusual options for compilation or linking that the
`configure' script does not know about. Run `./configure --help' for
details on some of the pertinent environment variables.
You can give `configure' initial values for configuration parameters
by setting variables in the command line or in the environment. Here
is an example:
./configure CC=c89 CFLAGS=-O2 LIBS=-lposix
*Note Defining Variables::, for more details.
Compiling For Multiple Architectures
====================================
You can compile the package for more than one kind of computer at the
same time, by placing the object files for each architecture in their
own directory. To do this, you must use a version of `make' that
supports the `VPATH' variable, such as GNU `make'. `cd' to the
directory where you want the object files and executables to go and run
the `configure' script. `configure' automatically checks for the
source code in the directory that `configure' is in and in `..'.
If you have to use a `make' that does not support the `VPATH'
variable, you have to compile the package for one architecture at a
time in the source code directory. After you have installed the
package for one architecture, use `make distclean' before reconfiguring
for another architecture.
Installation Names
==================
By default, `make install' will install the package's files in
`/usr/local/bin', `/usr/local/man', etc. You can specify an
installation prefix other than `/usr/local' by giving `configure' the
option `--prefix=PREFIX'.
You can specify separate installation prefixes for
architecture-specific files and architecture-independent files. If you
give `configure' the option `--exec-prefix=PREFIX', the package will
use PREFIX as the prefix for installing programs and libraries.
Documentation and other data files will still use the regular prefix.
In addition, if you use an unusual directory layout you can give
options like `--bindir=DIR' to specify different values for particular
kinds of files. Run `configure --help' for a list of the directories
you can set and what kinds of files go in them.
If the package supports it, you can cause programs to be installed
with an extra prefix or suffix on their names by giving `configure' the
option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
Optional Features
=================
Some packages pay attention to `--enable-FEATURE' options to
`configure', where FEATURE indicates an optional part of the package.
They may also pay attention to `--with-PACKAGE' options, where PACKAGE
is something like `gnu-as' or `x' (for the X Window System). The
`README' should mention any `--enable-' and `--with-' options that the
package recognizes.
For packages that use the X Window System, `configure' can usually
find the X include and library files automatically, but if it doesn't,
you can use the `configure' options `--x-includes=DIR' and
`--x-libraries=DIR' to specify their locations.
Specifying the System Type
==========================
There may be some features `configure' cannot figure out automatically,
but needs to determine by the type of machine the package will run on.
Usually, assuming the package is built to be run on the _same_
architectures, `configure' can figure that out, but if it prints a
message saying it cannot guess the machine type, give it the
`--build=TYPE' option. TYPE can either be a short name for the system
type, such as `sun4', or a canonical name which has the form:
CPU-COMPANY-SYSTEM
where SYSTEM can have one of these forms:
OS KERNEL-OS
See the file `config.sub' for the possible values of each field. If
`config.sub' isn't included in this package, then this package doesn't
need to know the machine type.
If you are _building_ compiler tools for cross-compiling, you should
use the `--target=TYPE' option to select the type of system they will
produce code for.
If you want to _use_ a cross compiler, that generates code for a
platform different from the build platform, you should specify the
"host" platform (i.e., that on which the generated programs will
eventually be run) with `--host=TYPE'.
Sharing Defaults
================
If you want to set default values for `configure' scripts to share, you
can create a site shell script called `config.site' that gives default
values for variables like `CC', `cache_file', and `prefix'.
`configure' looks for `PREFIX/share/config.site' if it exists, then
`PREFIX/etc/config.site' if it exists. Or, you can set the
`CONFIG_SITE' environment variable to the location of the site script.
A warning: not all `configure' scripts look for a site script.
Defining Variables
==================
Variables not defined in a site shell script can be set in the
environment passed to `configure'. However, some packages may run
configure again during the build, and the customized values of these
variables may be lost. In order to avoid this problem, you should set
them in the `configure' command line, using `VAR=value'. For example:
./configure CC=/usr/local2/bin/gcc
will cause the specified gcc to be used as the C compiler (unless it is
overridden in the site shell script).
`configure' Invocation
======================
`configure' recognizes the following options to control how it operates.
`--help'
`-h'
Print a summary of the options to `configure', and exit.
`--version'
`-V'
Print the version of Autoconf used to generate the `configure'
script, and exit.
`--cache-file=FILE'
Enable the cache: use and save the results of the tests in FILE,
traditionally `config.cache'. FILE defaults to `/dev/null' to
disable caching.
`--config-cache'
`-C'
Alias for `--cache-file=config.cache'.
`--quiet'
`--silent'
`-q'
Do not print messages saying which checks are being made. To
suppress all normal output, redirect it to `/dev/null' (any error
messages will still be shown).
`--srcdir=DIR'
Look for the package's source code in directory DIR. Usually
`configure' can determine that directory automatically.
`configure' also accepts some other, not widely useful, options. Run
`configure --help' for more details.

View file

@ -1,21 +0,0 @@
LICENSE
The groff program is a free software project. It is licensed under
the GNU General Public License (GNU GPL), version 2 or later.
The file COPYING in the top directory of the groff source package
contains a copy of the GPL that was downloaded from the GNU web site
http://www.gnu.org/copyleft/gpl.txt at 1 dec 2003.
All files of the groff source package are licensed under this version
of the GPL (or licenses which are compatible with the GPL).
You are free to choose version 2 or any subsequent version of the GPL.
The GPL names an address where you can get the actual version by
normal post. Further information is found in the internet at
http://www.gnu.org/copyleft.
The groff program is a GNU package, and the copyright of all files of
the groff source package which are under the GPL has been assigned to
the Free Sofware Foundation (FSF). Information on GNU and FSF is
found at http://www.fsf.org/.

View file

@ -1,164 +0,0 @@
MANIFEST
Last update: 26 May 2005
This file is part of groff, the GNU roff type-setting system.
Copyright (C) 2001, 2003, 2004, 2005 Free Software Foundation, Inc.
written by Bernd Warken <bwarken@mayn.de>
maintained by Werner Lemberg <wl@gnu.org>
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.1 or
any later version published by the Free Software Foundation; with the
Invariant Sections being this .ig-section and AUTHORS, with no
Front-Cover Texts, and with no Back-Cover Texts.
A copy of the Free Documentation License is included as a file called
FDL in the main directory of the groff source package.
########################################################################
This file gives an overview of the directories and the main files of
the groff source distribution.
1) The top directory.
BUG-REPORT A template for bug-reports.
ChangeLog Log of the changes in the different groff versions.
COPYING The GNU General Public License (GPL).
FDL The Free Documentation License (FDL).
INSTALL Information on compiling and installing groff.
INSTALL.gen Generic information on configuration and compiling.
LICENSE Licensing information.
MANIFEST The file you are reading.
MORE.STUFF Useful stuff in other packages.
NEWS Recent user-visible changes in groff.
PROBLEMS Tips to handle known critical situations.
PROJECTS Long-term additions to groff.
README Availability and contact information for groff.
README.MinGW Build information for MinGW.
TODO Things planned for future groff versions.
All other files in the top directory are related to the configuration,
compilation, and install processes.
2) The directory structure
./arch Data that is special for different architectures.
djgpp Data special for the 32-bit DOS compiler djgpp.
misc Data needed for various platforms.
./contrib Part of groff, but maintained by other people.
eqn2graph Convert equations created with EQN into different
graphical formats.
gdiffmk An improved implementation of the diffmk command to mark
differences between groff/nroff/troff files.
grap2graph Convert grap diagraps into different graphical formats.
groffer A wrapper to conveniently view roff files.
mm The groff mm macro package.
mom The groff mom macro package.
pdfmark A package to add PDF marks to groff documents, together
with a shell script (pdfroff) for easy creation of PDF
documents.
pic2graph Convert PIC diagrams into different graphical formats.
./doc Manuals and tutorials to groff aspects.
./font Device information and fonts.
devX100 100dpi device for X Window System.
devX100-12 100dpi device with narrower font (for 12pt base font).
devX75 75dpi device for X Window System.
devX75-12 75dpi device with narrower font (for 12pt base font).
devascii Text device for ASCII output.
devcp1047 EBCDIC device.
devdvi TeX DVI device.
devhtml HTML device.
devlatin1 Text device for latin-1 (ISO 8859-1) output.
devlbp Device for Canon CAPSL laser printers.
devlj4 Device for HP Laserjet 4, PCL 5, and compatible printers.
devps PostScript device.
devutf8 Text device for Unicode output.
./man Some groff manual pages of more general character.
./src Everything written in programming languages.
./src/devices The postprocessors.
grodvi TeX DVI output.
grohtml HTML output.
grolbp Canon printers.
grolj4 HP Laserjet 4, PCL 5, and compatible printers.
grops PostScript output.
grotty Text output.
xditview A groff (pre)viewer for the X Window system.
./src/include The *.h C/C++ include files.
./src/libs C++ code common to several parts of the groff sources.
libbib Library of bibliographic functions.
libdriver Parser for intermediate output and postprocessor code.
libgroff Library for general support functions used everywhere.
libxutil Utility functions for xditview and xtotroff.
snprintf An implementation of snprintf() and friends.
./src/preproc Preprocessors.
eqn Mathematical formulae.
grn Gremlin pictures.
html The preprocessor part of grohtml.
pic Diagram drawer.
refer Bibliographic references.
soelim File inclusion using tmac path.
tbl Tables.
./src/roff Front-end programs.
groff Wrapper around troff. This is the main user program.
grog Guess groff command line options.
nroff Emulate classical nroff text formatter.
troff Main roff formatter program.
./src/utils Utility programs around groff.
addftinfo Add information to old troff font files for use with groff.
afmtodit Create font description files for the PostScript device.
hpftodit Create font description files for the LJ4 device.
indxbib Make inverted index for bibliographic databases.
lkbib Search bibliographic databases.
lookbib Interactively search bibliographic databases.
pfbtops Translate a PostScript font in PFB format to PFA.
tfmtodit Create font description files for TeX DVI device.
xtotroff Create font description files for xditview.
./tmac Macro files.
3) Documentation
The groff documentation is scattered upon several places.
- The main directory contains documents related to the groff source.
The README file contains the information needed to get the groff
package, report bugs, and contact the developers.
- The man-page of each program (section 1) is kept in the source
directory of the program.
- The man-pages for the other sections are found in `src/man'.
- Documentation in other formats are located in the `doc' directory,
including the groff info file, tutorials, and manuals.
4) The roff parser
The parsing of the roff language is done by troff. The input is converted
to tokens in `src/roff/troff/input.cpp' and transformed into `nodes' by
`src/roff/troff/env.cpp' and `src/roff/troff/node.cpp'. From these, the
intermediate output is generated (also in `node.cpp').
5) Postprocessing
The parser for the intermediate output and the postprocessing is in
`src/libs/libdriver/input.cpp'. This is used by all postprocessors.

View file

@ -1,198 +0,0 @@
More stuff for groff
====================
Windows 32
----------
Here two ports using the gcc compiler and other GNU tools:
. Cygwin:
http://sources.redhat.com/cygwin/
Look for a convenient mirror site in
http://sources.redhat.com/cygwin/mirrors.html
At any of those mirrors, groff can be found in the directory
latest/groff.
. Kees Zeelenberg <c.zeelenberg@hccnet.nl>:
http://gnuwin32.sourceforge.net/packages/groffl.htm
This port includes recent versions of grap and deroff.
dos
---
Binaries for Eli Zaretskii's port using the djgpp compiler are available
from
ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2gnu/gro*b.zip
and its mirrors; for installation details please read `arch/djgpp/README'.
This port also runs on Windows 32 systems, except Windows 2000.
grap
----
An implementation of Kernighan & Bentley's grap language for typesetting
graphs. Written by Ted Faber <faber@lunabase.org>. The actual version
can be found at
http://www.lunabase.org/~faber/Vault/software/grap/
A djgpp port which runs on dos and most Windows 32 systems (Windows 95,
Windows 98, Windows NT) done by Kees Zeelenberg <c.zeelenberg@hccnet.nl>
is available from
ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2apps/
It is intended to be used with the djgpp port of groff.
A Windows 32 port is included in the groff package available from
http://gnuwin32.sourceforge.net/
plot2dev
--------
This utility program can convert plot graphics to either pic or gremlin
files. It has been written by Richard Murphey <richard-murphey@rice.edu>
and Daniel Senderowicz <daniel@synchrods.com> (who has added the gremlin
driver). The actual version can be found as
ftp://ftp.ffii.org/pub/groff/plot2dev-x.x.tar.gz
troffcvt
--------
From the web page:
troffcvt is a translator that turns troff input into a form that can be
more easily processed. The troffcvt distribution comes with
postprocessors that turn troffcvt into various destination formats such
as HTML (Hypertext Markup Language), RTF (Rich Text Format) or plain
text.
Note that you need a lot of additional packages to compile troffcvt;
everything is available from
http://www.primate.wisc.edu/software/troffcvt/
unroff
------
From the README file:
Unroff is a Scheme-based, programmable, extensible troff translator with
a back-end for the Hypertext Markup Language. Unroff is free software
and is distributed both as source and as precompiled binaries.
http://www.informatik.uni-bremen.de/~net/unroff/unroff.html
You need als Elk, the Scheme based Extension Language Kit, which is
available from
http://www.informatik.uni-bremen.de/~net/elk
deroff
------
Deroff removes roff constructs from documents for the purpose of indexing,
spell checking etc.
Michael Haardt's <michael@moria.de> implementation is a little smarter
than traditional implementations, because it knows about certain -man and
-mm macros. It is able to generate a word list for spell checking tools
or omit headers for sentence analysis tools. It can further generate
cpp-style #line lines.
http://www.moria.de/deroff/
Version 1.6 compiled with DJGPP (for MS-DOS and all Windows 32 systems,
i.e. Windows 95, Windows 98, Windows NT) is available from
ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2apps/
and its mirrors.
A Windows 32 port of version 1.8 is available from
http://gnuwin32.sourceforge.net/
David Frey <dfrey@debian.org> has also written a deroff implementation
for Debian; it is available from
ftp://ftp.debian.org/debian/pool/main/d/deroff/
miscellaneous
-------------
. Ralph Corderoy's excellent page on troff:
www.troff.org
There are links for virtually everything related to troff.
. Dr. Robert Hermann's groff gems are available from
http://www.eas.slu.edu/People/RBHerrmann/GROFF/index.html
At present there are examples for
o creating business cards
o using groff to make large format posters for presentations
. Robert Marks's collection of useful macros and scripts is available from
http://www.agsm.edu.au/~bobm/odds+ends/scripts.html
Description:
o `polish': Is a sed (= the Unix stream editor) script that does many
things to ASCII text. Amongst other things, it breaks lines at new
sentences, reduces upper-case acronyms by one point size, adds
diacriticals, changes simple quotes into smart quotes, and makes a few
simple grammar checks. The best way to see what it does is to run it
as a sed script file (or files) on a text file and then compare the
output file with the original.
o `DropCaps' is a troff script which replaces the initial letters of
paragraphs immediately after H1 and H2 headings with drop-capitals of
specified point size, and automatically flows the text around the new
drop cap.
o `AJM Header' is a set of troff macros used in production of the
Australian Journal of Management. They use the Memorandum Macros (mm)
of AT&T, and so should be invoked with the UNIX troff -mm flag; they
should also work with the GNU troff -mm flag.
. Thomas Baruchel <baruchel@libertysurf.fr> has developed Meta-tbl, a tbl
postprocessor to manipulate table cells (like adding gray shades). The
latest version can be found at
http://perso.libertysurf.fr/baruchel/
. gpresent, written by Bob Diertens <bobd@science.uva.nl>. From the README
file:
gpresent is a package for making presentation with groff and acroread.
It consist of a set of macros to be used with groff and a post-processor
for manipulating the PostScript output of groff. Without the use of the
PAUSE macro, it can also be used for making slides.
It is available from
www.science.uva.nl/~bobd/useful/gpresent/
documentation
-------------
Many documents related to the original versions of troff, ditroff, pic,
and others can be accessed from the following web pages:
http://www.cs.bell-labs.com/cm/cs/cstr.html
http://www.cs.bell-labs.com/cm/cs/papers.html

View file

@ -1,25 +0,0 @@
# Copyright (C) 1989-2000 Free Software Foundation, Inc.
# Written by James Clark (jjc@jclark.com)
#
# This file is part of groff.
#
# groff is free software; you can redistribute it and/or modify it under
# the terms of the GNU General Public License as published by the Free
# Software Foundation; either version 2, or (at your option) any later
# version.
#
# groff is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# for more details.
#
# You should have received a copy of the GNU General Public License along
# with groff; see the file COPYING. If not, write to the Free Software
# Foundation, 51 Franklin St - Fifth Floor, Boston, MA 02110-1301, USA.
SHELL=/bin/sh
.PHONY: all
all:
$(SHELL) configure
$(MAKE) all

View file

@ -1,33 +0,0 @@
# Makefile.ccpg
MAKEFILEPARTS=\
$(top_srcdir)/Makefile.comm \
$(top_builddir)/Makefile.cfg \
$(srcdir)/Makefile.sub \
$(top_srcdir)/Makefile.ccpg \
Makefile.dep
all: $(PROG) $(MANPAGES)
$(PROG): $(OBJS) $(XLIBS)
$(LINK.cpp) -o $@ $(OBJS) $(XLIBS) $(EXTRA_LDFLAGS) $(LIBS) $(MLIB)
install_bin: install_prog
install_prog: $(PROG)
install_data: install_man
install_man: $(MANPAGES)
uninstall_sub: uninstall_prog uninstall_man
depend: depend_src
depend.temp: $(GENSRCS) $(YTABC)
distfiles: $(YTABC)
TAGS: TAGS_src
TAGS_src: $(CCSRCS) $(CSRCS) $(GRAM) $(HDRS)
Makefile: $(MAKEFILEPARTS)
Makefile.dep:
touch Makefile.dep
$(top_builddir)/stamp-h $(MANPAGES): $(top_srcdir)/VERSION $(top_srcdir)/REVISION
pure: $(PROG).pure
$(PROG).pure: $(OBJS) $(XLIBS)
$(PURIFY) $(PURIFYCCFLAGS) \
$(LINK.cpp) -o $@ $(OBJS) $(XLIBS) $(LIBS) $(MLIB)

View file

@ -1,304 +0,0 @@
# Copyright (C) 1989-2000, 2002, 2003, 2004 Free Software Foundation, Inc.
# Written by James Clark (jjc@jclark.com)
#
# This file is part of groff.
#
# groff is free software; you can redistribute it and/or modify it under
# the terms of the GNU General Public License as published by the Free
# Software Foundation; either version 2, or (at your option) any later
# version.
#
# groff is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# for more details.
#
# You should have received a copy of the GNU General Public License along
# with groff; see the file COPYING. If not, write to the Free Software
# Foundation, 51 Franklin St - Fifth Floor, Boston, MA 02110-1301, USA.
#
# Makefile.comm
#
INCLUDES=-I. -I$(srcdir) \
-I$(top_builddir)/src/include -I$(top_srcdir)/src/include
ALL_CCFLAGS=$(INCLUDES) $(CCDEFINES) $(CCFLAGS) $(CPPFLAGS)
COMPILE.cpp=$(CCC) $(ALL_CCFLAGS) -c
ALL_CFLAGS=$(INCLUDES) $(CDEFINES) $(CFLAGS) $(CPPFLAGS)
COMPILE.c=$(CC) $(ALL_CFLAGS) -c
LINK.cpp=$(CCC) $(CCFLAGS) $(LDFLAGS)
LINK.c=$(CC) $(CFLAGS) $(LDFLAGS)
LIBGROFF=$(top_builddir)/src/libs/libgroff/libgroff.$(LIBEXT)
LIBBIB=$(top_builddir)/src/libs/libbib/libbib.$(LIBEXT)
LIBDRIVER=$(top_builddir)/src/libs/libdriver/libdriver.$(LIBEXT)
LIBXUTIL=$(top_builddir)/src/libs/libxutil/libxutil.$(LIBEXT)
MLIB=
XLIBS=
YTABH=
YTABC=
GRAM=
LIBCLEAN=
CLEANADD=
CLEANDIRADD=
CLEANNOTSRCDIRADD=
MOSTLYCLEANFILES=$(MANCLEAN) $(PROG) $(OBJS) $(GENSRCS) $(GENHDRS) \
depend.temp core y.output $(CLEANADD)
CLEANFILES=$(LIBCLEAN)
DISTCLEANFILES=TAGS Makefile Makefile.dep
REALCLEANFILES=$(YTABC) $(YTABH)
NAMEPREFIX=
HDRS=
MANPAGES=$(MAN1) $(MAN5) $(MAN7)
MANCLEAN=$(MANPAGES)
fontsubdir=$(fontdir)/dev$(DEV)
all install install_bin install_data TAGS depend distfiles uninstall_sub:
install: prefix_must_exist install_bin install_data
uninstall: uninstall_sub
pure:
.PHONY: all clean distclean mostlyclean realclean extraclean depend distfiles
.PHONY: install install_bin install_data prefix_must_exist
.PHONY: uninstall uninstall_sub
.PHONY: pure
prefix_must_exist:
@test -d $(prefix) \
|| (echo ; \
echo The prefix directory \`$(prefix)\' doesn\'t exist; \
echo ; \
exit 1)
mostlyclean:
-rm -f $(MOSTLYCLEANFILES)
-rm -rf $(CLEANDIRADD)
-@if test `cd $(srcdir); pwd` = `pwd`; then \
:; \
else \
rm -f $(CLEANNOTSRCDIRADD); \
fi
clean: mostlyclean
-rm -f $(CLEANFILES)
distclean: clean
-rm -f $(DISTCLEANFILES)
-@if test `cd $(srcdir); pwd` = `pwd`; then \
:; \
else \
rm -f $(YTABC) $(YTABH); \
fi
realclean: distclean
-rm -f $(REALCLEANFILES)
extraclean: distclean
-rm -f \#* *~ =* core junk grot old temp tmp tem *.new *.old *.orig
.SUFFIXES:
.SUFFIXES: .o .obj .cpp .c .y .man .n
.cpp.o:
$(COMPILE.cpp) $(EXTRA_CCFLAGS) $<
.c.o:
$(COMPILE.c) $(EXTRA_CFLAGS) $<
.cpp.obj:
$(COMPILE.cpp) $(EXTRA_CCFLAGS) $<
.c.obj:
$(COMPILE.c) $(EXTRA_CFLAGS) $<
.y.cpp:
if test -n "$(YTABH)"; then \
$(YACC) $(YACCFLAGS) -d $<; \
else \
$(YACC) $(YACCFLAGS) $<; \
fi
-test -f y.tab.h && mv y.tab.h y_tab.h
-test -f y.tab.c && mv y.tab.c y_tab.c
mv y_tab.c $(YTABC)
test -z "$(YTABH)" || mv y_tab.h $(YTABH)
# The next rule is needed for make of Solaris 2.5.1 to override its
# built-in .y.o rule (which takes precedence over the .y.cpp rule above).
.y.o:
if test -n "$(YTABH)"; then \
$(YACC) $(YACCFLAGS) -d $<; \
else \
$(YACC) $(YACCFLAGS) $<; \
fi
-test -f y.tab.h && mv y.tab.h y_tab.h
-test -f y.tab.c && mv y.tab.c y_tab.c
mv y_tab.c $(YTABC)
test -z "$(YTABH)" || mv y_tab.h $(YTABH)
$(COMPILE.cpp) $(EXTRA_CCFLAGS) $(YTABC)
.man.n:
@echo Making $@ from $<
@-rm -f $@
@sed -e "s|@BINDIR@|$(bindir)|g" \
-e "s|@FONTDIR@|$(fontdir)|g" \
-e "s|@LOCALFONTDIR@|$(localfontdir)|g" \
-e "s|@LEGACYFONTDIR@|$(legacyfontdir)|g" \
-e "s|@MACRODIR@|$(tmacdir)|g" \
-e "s|@SYSTEMMACRODIR@|$(systemtmacdir)|g" \
-e "s|@LOCALMACRODIR@|$(localtmacdir)|g" \
-e "s|@DOCDIR@|$(docdir)|g" \
-e "s|@EXAMPLEDIR@|$(exampledir)|g" \
-e "s|@HTMLDOCDIR@|$(htmldocdir)|g" \
-e "s|@PDFDOCDIR@|$(pdfdocdir)|g" \
-e "s|@DEVICE@|$(DEVICE)|g" \
-e "s|@DEFAULT_INDEX@|$(indexdir)/$(indexname)|g" \
-e "s|@DEFAULT_INDEX_NAME@|$(indexname)|g" \
-e "s|@INDEX_SUFFIX@|$(indexext)|g" \
-e "s|@COMMON_WORDS_FILE@|$(common_words_file)|g" \
-e "s|@MAN1EXT@|$(man1ext)|g" \
-e "s|@MAN5EXT@|$(man5ext)|g" \
-e "s|@MAN7EXT@|$(man7ext)|g" \
-e "s|@TMAC_S_PREFIX@|$(tmac_s_prefix)|g" \
-e "s|@TMAC_M_PREFIX@|$(tmac_m_prefix)|g" \
-e "s|@TMAC_AN_PREFIX@|$(tmac_an_prefix)|g" \
-e "s|@TMAC_MDIR@|$(tmacdir)/mm|g" \
-e "s|@BROKEN_SPOOLER_FLAGS@|$(BROKEN_SPOOLER_FLAGS)|g" \
-e "s|@VERSION@|$(version)$(revision)|g" \
-e "s|@MDATE@|`$(SHELL) $(top_srcdir)/mdate.sh $<`|g" \
-e "s|@g@|$(g)|g" \
-e "s!@G@!`echo $(g) | tr [a-z] [A-Z]`!g" \
$< >$@
.PHONY: install_man
install_man:
-test -d $(manroot) || $(mkinstalldirs) $(manroot)
-test -d $(man1dir) || $(mkinstalldirs) $(man1dir)
@-pages="$(MAN1)"; \
for p in $$pages; do \
prog=`basename $$p .n`; \
target=$(man1dir)/$(NAMEPREFIX)$$prog.$(man1ext); \
rm -f $$target; \
echo $(INSTALL_DATA) $$p $$target; \
$(INSTALL_DATA) $$p $$target; \
done
-test -d $(man5dir) || $(mkinstalldirs) $(man5dir)
@-pages="$(MAN5)"; \
for p in $$pages; do \
target=$(man5dir)/`basename $$p .n`.$(man5ext); \
rm -f $$target; \
echo $(INSTALL_DATA) $$p $$target; \
$(INSTALL_DATA) $$p $$target; \
done
-test -d $(man7dir) || $(mkinstalldirs) $(man7dir)
@-pages="$(MAN7)"; \
for p in $$pages; do \
target=$(man7dir)/`basename $$p .n`.$(man7ext); \
rm -f $$target; \
echo $(INSTALL_DATA) $$p $$target; \
$(INSTALL_DATA) $$p $$target; \
done
.PHONY: uninstall_man
uninstall_man:
@-pages="$(MAN1)"; \
for p in $$pages; do \
target=$(man1dir)/$(NAMEPREFIX)`basename $$p .n`.$(man1ext); \
echo rm -f $$target; \
rm -f $$target; \
done
@-pages="$(MAN5)"; \
for p in $$pages; do \
target=$(man5dir)/`basename $$p .n`.$(man5ext); \
echo rm -f $$target; \
rm -f $$target; \
done
@-pages="$(MAN7)"; \
for p in $$pages; do \
target=$(man7dir)/`basename $$p .n`.$(man7ext); \
echo rm -f $$target; \
rm -f $$target; \
done
.PHONY: install_prog
install_prog:
-test -d $(bindir) || $(mkinstalldirs) $(bindir)
rm -f $(bindir)/$(NAMEPREFIX)$(PROG)
$(INSTALL_PROGRAM) $(PROG) $(bindir)/$(NAMEPREFIX)$(PROG)
.PHONY: uninstall_prog
uninstall_prog:
-rm -f $(bindir)/$(NAMEPREFIX)$(PROG)
.PHONY: install_dev
install_dev:
-test -d $(datadir) || $(mkinstalldirs) $(datadir)
-test -d $(dataprogramdir) || $(mkinstalldirs) $(dataprogramdir)
-test -d $(datasubdir) || $(mkinstalldirs) $(datasubdir)
-test -d $(fontdir) || $(mkinstalldirs) $(fontdir)
-test -d $(fontsubdir) || $(mkinstalldirs) $(fontsubdir)
-if test -d $(srcdir)/generate; then \
test -d $(fontsubdir)/generate \
|| $(mkinstalldirs) $(fontsubdir)/generate; \
fi
-test -z "$(DEVFILES)" \
|| for f in ""$(DEVFILES); do \
rm -f $(fontsubdir)/$$f; \
if test -f $$f; then \
$(INSTALL_DATA) $$f $(fontsubdir)/$$f; \
else \
$(INSTALL_DATA) $(srcdir)/$$f $(fontsubdir)/$$f; \
fi; \
done
-test -z "$(DEVSCRIPTS)" \
|| for f in ""$(DEVSCRIPTS); do \
rm -f $(fontsubdir)/$$f; \
if test -f $$f; then \
$(INSTALL_SCRIPT) $$f $(fontsubdir)/$$f; \
else \
$(INSTALL_SCRIPT) $(srcdir)/$$f $(fontsubdir)/$$f; \
fi; \
done
.PHONY: uninstall_dev
uninstall_dev:
-test -z "$(DEVFILES)$(DEVSCRIPTS)" \
|| for f in ""$(DEVFILES) $(DEVSCRIPTS); do \
rm -f $(fontsubdir)/$$f; \
done
-test -d $(fontsubdir)/generate && rmdir $(fontsubdir)/generate
-rmdir $(fontsubdir)
.PHONY: depend_src
depend_src: depend.temp
mv depend.temp Makefile.dep
depend.temp: FORCE
> depend.temp;
if test -f "$(srcdir)/$(YTABC)"; then \
ytabc="$(srcdir)/$(YTABC)"; \
else \
ytabc="$(YTABC)"; \
fi; \
test -z "$(CCSRCS)$(YTABC)" \
|| $(CCC) $(ALL_CCFLAGS) -MM $(CCSRCS) $$ytabc >>depend.temp
test -z "$(CSRCS)" \
|| $(CC) $(ALL_CFLAGS) -MM $(CSRCS) >>depend.temp
test -z "$(YTABH)" \
|| (sed -e 's|$(YTABH)|$(YTABC)|g' depend.temp >depend1.temp; \
mv depend1.temp depend.temp)
.PHONY: TAGS_src
TAGS_src:
$(ETAGS) $(ETAGSFLAGS) $(CCSRCS) $(CSRCS)
test -z "$(GRAM)$(HDRS)" \
|| $(ETAGS) $(ETAGSFLAGS) -a $(ETAGSCCFLAG) $(GRAM) $(HDRS)
# This rule is only considered for the subdir_Makefile target.
Makefile:
-rm -f Makefile
echo srcdir=$(srcdir) >>Makefile
echo VPATH=$(VPATH) >>Makefile
cat $(MAKEFILEPARTS) /dev/null >>Makefile
FORCE:
.NOEXPORT:

View file

@ -1,27 +0,0 @@
# Makefile.cpg
MAKEFILEPARTS=\
$(top_srcdir)/Makefile.comm \
$(top_builddir)/Makefile.cfg \
$(srcdir)/Makefile.sub \
$(top_srcdir)/Makefile.cpg \
Makefile.dep
all: $(PROG) $(MANPAGES)
$(PROG): $(OBJS) $(XLIBS)
$(LINK.c) -o $@ $(OBJS) $(XLIBS) $(EXTRA_LDFLAGS) $(LIBS) $(MLIB)
install_bin: install_prog
install_prog: $(PROG)
install_data: install_man
install_man: $(MANPAGES)
uninstall_sub: uninstall_prog uninstall_man
depend: depend_src
depend.temp: $(GENSRCS) $(YTABC)
distfiles: $(YTABC)
TAGS: TAGS_src
TAGS_src: $(CCSRCS) $(CSRCS) $(GRAM) $(HDRS)
Makefile: $(MAKEFILEPARTS)
Makefile.dep:
touch Makefile.dep
$(top_builddir)/stamp-h $(MANPAGES): $(top_srcdir)/VERSION $(top_srcdir)/REVISION

View file

@ -1,4 +0,0 @@
all: $(DEVFILES) $(DEVSCRIPTS)
install_data: install_dev
uninstall_sub: uninstall_dev
install_dev: $(DEVFILES) $(DEVSCRIPTS)

View file

@ -1,776 +0,0 @@
# Copyright (C) 1989-2000, 2001, 2002, 2003, 2004, 2005
# Free Software Foundation, Inc.
# Written by James Clark (jjc@jclark.com)
#
# This file is part of groff.
#
# groff is free software; you can redistribute it and/or modify it under
# the terms of the GNU General Public License as published by the Free
# Software Foundation; either version 2, or (at your option) any later
# version.
#
# groff is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# for more details.
#
# You should have received a copy of the GNU General Public License along
# with groff; see the file COPYING. If not, write to the Free Software
# Foundation, 51 Franklin St - Fifth Floor, Boston, MA 02110-1301, USA.
SHELL=@SHELL@
srcdir=@srcdir@
top_srcdir=@abs_top_srcdir@
VPATH=@srcdir@
top_builddir=@abs_top_builddir@
# `RT_SEP' is the operating system's native PATH SEPARATOR CHAR, which
# is to be used in runtime PATHs compiled into groff executables.
RT_SEP=@GROFF_PATH_SEPARATOR@
# `SH_SEP' is a alternative PATH SEPARATOR CHAR, to be used in shell
# scripts and makefile rules; it may be the same as `RT_SEP', but,
# particularly in some Microsoft environments, it may differ.
SH_SEP=@PATH_SEPARATOR@
version=`cat $(top_srcdir)/VERSION`
# No additional number if revision is zero.
revision=`sed -e 's/^0$$//' -e 's/^[1-9].*$$/.&/' $(top_srcdir)/REVISION`
# Define `page' to be letter if your PostScript printer uses 8.5x11
# paper (USA) and define it to be A4, if it uses A4 paper (rest of the
# world).
PAGE=@PAGE@
# The name of the ghostscript program. Normally, gs, on GNU/Linux
# but it might be different on MS-DOS/MS-WIN32 systems.
GHOSTSCRIPT=@GHOSTSCRIPT@
# `ALT_GHOSTSCRIPT_PROGS' specifies a list alternative names,
# which can be tried if `GHOSTSCRIPT' cannot be found at run time.
ALT_GHOSTSCRIPT_PROGS=@ALT_GHOSTSCRIPT_PROGS@
# Similarly, `ALT_AWK_PROGS' specifies a list of alternative names,
# which can be tried at run time, to identify the awk program.
ALT_AWK_PROGS=@ALT_AWK_PROGS@
# Normally the Postscript driver, grops, produces output that conforms
# to version 3.0 of the Adobe Document Structuring Conventions.
# Unfortunately some spoolers and previewers can't handle such output.
# The BROKEN_SPOOLER_FLAGS variable tells grops what it should do to
# make its output acceptable to such programs. This variable controls
# only the default behaviour of grops; the behaviour can be changed at
# runtime by the grops -b option (and so by groff -P-b).
# Use a value of 0 if your spoolers and previewers are able to handle
# conforming PostScript correctly.
# Add 1 if no %%{Begin,End}DocumentSetup comments should be generated;
# this is needed for early versions of TranScript that get confused by
# anything between the %%EndProlog line and the first %%Page: comment.
# Add 2 if lines in included files beginning with %! should be
# stripped out; this is needed for the OpenWindows 2.0 pageview previewer.
# Add 4 if %%Page, %%Trailer and %%EndProlog comments should be
# stripped out of included files; this is needed for spoolers that
# don't understand the %%{Begin,End}Document comments. I suspect this
# includes early versions of TranScript.
# Add 8 if the first line of the PostScript output should be %!PS-Adobe-2.0
# rather than %!PS-Adobe-3.0; this is needed when using Sun's Newsprint
# with a printer that requires page reversal.
BROKEN_SPOOLER_FLAGS=@BROKEN_SPOOLER_FLAGS@
# `DEVICE' is the default device.
DEVICE=ps
# `XDEVDIRS' is either `font/devX{75,100}{,-12}' or empty.
XDEVDIRS=@XDEVDIRS@
# `XPROGDIRS' is either `src/devices/xditview src/utils/xtotroff' or empty.
XPROGDIRS=@XPROGDIRS@
# `XLIBDIRS' is either `src/libs/libxutil' or empty.
XLIBDIRS=@XLIBDIRS@
# `TTYDEVDIRS' is either `font/devascii font/devlatin1' (for
# ASCII) or `font/devcp1047' (for EBCDIC) plus font/devutf8.
TTYDEVDIRS=@TTYDEVDIRS@ font/devutf8
# `OTHERDEVDIRS' is either `font/devlj4 font/devlbp' (for ASCII) or
# empty (for EBCDIC).
OTHERDEVDIRS=@OTHERDEVDIRS@
# `PSPRINT' is the command to use for printing a PostScript file,
# for example `lpr'.
PSPRINT=@PSPRINT@
# `DVIPRINT' is the command to use for printing a TeX dvi file,
# for example `lpr -d'.
DVIPRINT=@DVIPRINT@
# Prefix for names of programs that have Unix counterparts.
# For example, if `g' is `g' then troff will be installed as
# gtroff. This doesn't affect programs like grops or groff that have
# no Unix counterparts. Note that the groff versions of eqn and tbl
# will not work with Unix troff.
g=@g@
# Common prefix for installation directories.
# Used in definitions of exec_prefix, datasubdir, fontpath, manroot.
# This must already exist when you do make install.
prefix=@prefix@
exec_prefix=@exec_prefix@
# `bindir' says where to install executables.
bindir=@bindir@
# `libdir' says where to install platform-dependent data.
libdir=@libdir@
libprogramdir=$(libdir)/groff
# `datasubdir' says where to install platform-independent data files.
datadir=@datadir@
dataprogramdir=$(datadir)/groff
datasubdir=$(dataprogramdir)/$(version)$(revision)
# `infodir' says where to install info files.
infodir=@infodir@
# `docdir' says where to install documentation files.
docdir=$(datadir)/doc/groff/$(version)$(revision)
# `exampledir' says where to install example files.
exampledir=$(docdir)/examples
# `htmldocdir' says where to install documentation in HTML format.
htmldocdir=$(docdir)/html
# `pdfdocdir' says where to install documentation in PDF format.
pdfdocdir=$(docdir)/pdf
# `fontdir' says where to install dev*/*.
fontdir=$(datasubdir)/font
# `localfontdir' says where local fonts will be installed (as dev*/*).
localfontdir=$(dataprogramdir)/site-font
# `legacyfontdir' is for compatibility with non-GNU troff.
legacyfontdir=/usr/lib/font
# `fontpath' says where to look for dev*/*.
fontpath=$(localfontdir)$(RT_SEP)$(fontdir)$(RT_SEP)$(legacyfontdir)
# `tmacdir' says where to install macros.
tmacdir=$(datasubdir)/tmac
# `systemtmacdir' says where to install platform-dependent macros.
systemtmacdir=$(libprogramdir)/site-tmac
# `localtmacdir' says where local files will be installed.
localtmacdir=$(dataprogramdir)/site-tmac
# `appresdir' says where to install the application resource file for
# gxditview.
appresdir=@appresdir@
# `tmacpath' says where to look for macro files.
# The current directory will be prepended in unsafe mode only; the home
# directory will be always added.
# `troffrc' and `troffrc-end' (and `eqnrc') are searched neither in the
# current nor in the home directory.
tmacpath=$(systemtmacdir)$(RT_SEP)$(localtmacdir)$(RT_SEP)$(tmacdir)
# `sys_tmac_prefix' is prefix (if any) for system macro packages.
sys_tmac_prefix=@sys_tmac_prefix@
# `pnmtops_nosetpage' is the command to be run to generate an eps
# file. Some versions of pnmtops provide the -nosetpage option.
# We detect this and use it if present.
pnmtops_nosetpage=@pnmtops_nosetpage@
# `tmac_wrap' is list of system macro packages that should be made
# available to groff by creating a corresponding macro package
# in the groff macro directory that references the system macro
# package.
tmac_wrap=@tmac_wrap@
# If there is a groff version of a macro package listed in $(tmac_wrap),
# then the groff version will be installed with a prefix of this.
# Don't make this empty.
tmac_prefix=g
# The groff -mm macros will be available as -m$(tmac_m_prefix)m.
tmac_m_prefix=\
`for i in $(tmac_wrap) ""; do case "$$i" in m) echo $(tmac_prefix);; esac; done`
# The groff -ms macros will be available as -m$(tmac_s_prefix)s.
tmac_s_prefix=\
`for i in $(tmac_wrap) ""; do case "$$i" in s) echo $(tmac_prefix);; esac; done`
# The groff -man macros will be available as -m$(tmac_an_prefix)an.
tmac_an_prefix=\
`for i in $(tmac_wrap) ""; do case "$$i" in an) echo $(tmac_prefix);; esac; done`
# Extension to be used for refer index files. Index files are not
# sharable between different architectures, so you might want to use
# different suffixes for different architectures. Choose an extension
# that doesn't conflict with refer or any other indexing program.
indexext=.i
# Directory containing the default index for refer.
indexdir=/usr/dict/papers
# The filename (without suffix) of the default index for refer.
indexname=Ind
# common_words_file is a file containing a list of common words.
# If your system provides /usr/lib/eign it will be copied onto this,
# otherwise the supplied eign file will be used.
common_words_file=$(datasubdir)/eign
# `manroot' is the root of the man page directory tree.
mandir=@mandir@
manroot=$(mandir)
# `man1ext' is the man section for user commands.
man1ext=1
man1dir=$(manroot)/man$(man1ext)
# `man5ext' is the man section for file formats.
man5ext=5
man5dir=$(manroot)/man$(man5ext)
# `man7ext' is the man section for macros.
man7ext=7
man7dir=$(manroot)/man$(man7ext)
# The configure script checks whether all necessary utility programs for
# grohtml are available -- only then we can build the HTML documentation.
make_html=@make_html@
make_install_html=@make_install_html@
# The configure script also checks whether all necessary utility programs
# for pdfroff are available -- only then we can build PDF documentation.
make_pdfdoc=@make_pdfdoc@
make_install_pdfdoc=@make_install_pdfdoc@
# DEFINES should include the following:
# -DHAVE_MMAP if you have mmap() and <sys/mman.h>
# -DARRAY_DELETE_NEEDS_SIZE if your C++ doesn't understand `delete []'
# -DSYS_SIGLIST_DECLARED if you have sys_siglist[]
# -DWCOREFLAG=0200 if the 0200 bit of the status returned by
# wait() indicates whether a core image was
# produced for a process that was terminated
# by a signal
#
# -DHAVE_DIRENT_H if you have <dirent.h>
# -DHAVE_LIMITS_H if you have <limits.h>
# -DHAVE_CC_LIMITS_H if you have a C++ <limits.h>
# -DHAVE_MATH_H if you have <math.h>
# -DHAVE_CC_OSFCN_H if you have a C++ <osfcn.h>
# -DHAVE_CC_INTTYPES_H if you have a C++ <inttypes.h>
# -DHAVE_STDLIB_H if you have <stdlib.h>
# -DHAVE_STRING_H if you have <string.h>
# -DHAVE_STRINGS_H if you have <strings.h>
# -DHAVE_SYS_DIR_H if you have <sys/dir.h>
# -DHAVE_SYS_TIME_H if you have <sys/time.h>
# -DHAVE_UNISTD_H if you have <unistd.h>
#
# -DHAVE_FMOD if you have fmod()
# -DHAVE_GETCWD if you have getcwd()
# -DHAVE_GETTIMEOFDAY if you have gettimeofday()
# -DHAVE_ISATTY if you have isatty()
# -DHAVE_KILL if you have kill()
# -DHAVE_MKSTEMP if you have mkstemp()
# -DHAVE_MMAP if you have mmap()
# -DHAVE_PUTENV if you have putenv()
# -DHAVE_RENAME if you have rename()
# -DHAVE_SETLOCALE if you have setlocale()
# -DHAVE_SNPRINTF if you have snprintf()
# -DHAVE_STRCASECMP if you have strcasecmp()
# -DHAVE_STRNCASECMP if you have strncasecmp()
# -DHAVE_STRERROR if you have strerror()
# -DHAVE_STRSEP if you have strsep()
# -DHAVE_STRTOL if you have strtol()
# -DHAVE_VSNPRINTF if you have vsnprintf()
#
# -DNEED_DECLARATION_GETTIMEOFTODAY
# if your C++ <sys/time.h> doesn't declare
# gettimeofday()
# -DNEED_DECLARATION_HYPOT if your C++ <math.h> doesn't declare hypot()
# -DNEED_DECLARATION_PCLOSE if your C++ <stdio.h> doesn't declare pclose()
# -DNEED_DECLARATION_POPEN if your C++ <stdio.h> doesn't declare popen()
# -DNEED_DECLARATION_PUTENV if your C++ <stdlib.h> doesn't declare
# putenv()
# -DNEED_DECLARATION_RAND if your C++ <stdlib.h> doesn't declare rand()
# -DNEED_DECLARATION_SNPRINTF if your C++ <stdio.h> doesn't declare
# snprintf()
# -DNEED_DECLARATION_SRAND if your C++ <stdlib.h> doesn't declare srand()
# -DNEED_DECLARATION_STRCASECMP if your C++ <string.h> doesn't declare
# strcasecmp()
# -DNEED_DECLARATION_STRNCASECMP
# if your C++ <string.h> doesn't declare
# strncasecmp()
# -DNEED_DECLARATION_VFPRINTF if your C++ <stdio.h> doesn't declare
# vfprintf()
# -DNEED_DECLARATION_VSNPRINTF if your C++ <stdio.h> doesn't declare
# vsnprintf()
#
# -DRET_TYPE_SRAND_IS_VOID if srand() returns void not int
# -DHAVE_SYS_NERR if you have sysnerr in <errno.h> or <stdio.h>
# -DHAVE_SYS_ERRLIST if you have sys_errlist in <errno.h> or
# <stdio.h>
# -DTRADITIONAL_CPP if your C++ compiler uses a traditional
# (Reiser) preprocessor
# -DLONG_FOR_TIME_T if localtime() takes a long * not a time_t *
# -DHAVE_STRUCT_EXCEPTION if <math.h> defines struct exception
# -DRETSIGTYPE=int if signal handlers return int not void
# -DIS_EBCDIC_HOST if the host's encoding is EBCDIC
# -DPAGE=A4 if the the printer's page size is A4
# -DGHOSTSCRIPT=gs the name (and directory if required) of the
# ghostscript program
DEFINES=@DEFS@
# Include
#
# {fmod,getcwd,mkstemp,putenv,snprintf,strcasecmp,
# strerror,strncasecmp,strtol}.$(OBJEXT)
#
# in LIBOBJS if your C library is missing the corresponding function.
# vsnprintf is defined in the snprintf.$(OBJEXT) module.
LIBOBJS=@LIBOBJS@
# `CCC' is the compiler for C++ (.cpp) files.
CCC=@CXX@
CC=@CC@
# CCDEFINES are definitions for C++ compilations.
CCDEFINES=$(DEFINES)
# CDEFINES are definitions for C compilations.
CDEFINES=$(DEFINES)
CCFLAGS=@CXXFLAGS@
CFLAGS=@CFLAGS@
CPPFLAGS=@CPPFLAGS@
LDFLAGS=@LDFLAGS@
X_CFLAGS=@X_CFLAGS@
X_LIBS=@X_LIBS@
X_EXTRA_LIBS=@X_EXTRA_LIBS@
X_PRE_LIBS=@X_PRE_LIBS@
YACC=@YACC@
YACCFLAGS=-v
EXEEXT=@EXEEXT@
OBJEXT=@OBJEXT@
# a simple heuristic assumption
LIBEXT=`case $(OBJEXT) in obj) echo lib;; *) echo a;; esac`
LIBS=@LIBS@
LIBM=@LIBM@
RANLIB=@RANLIB@
INSTALL=@INSTALL@
INSTALL_PROGRAM=@INSTALL_PROGRAM@
INSTALL_SCRIPT=@INSTALL_SCRIPT@
INSTALL_DATA=@INSTALL_DATA@
INSTALL_INFO=@INSTALL_INFO@
LN_S=@LN_S@
AR=ar
ETAGS=etags
ETAGSFLAGS=
# Flag that tells etags to assume C++.
ETAGSCCFLAG=-C
# Full path to perl.
PERLPATH=@PERLPATH@
# Sed command with which to edit sh scripts.
SH_SCRIPT_SED_CMD=@SH_SCRIPT_SED_CMD@
# Sed script to deal with OS dependencies in sh scripts.
SH_DEPS_SED_SCRIPT=$(top_builddir)/arch/misc/shdeps.sed
# The program to create directory hierarchies.
mkinstalldirs= $(SHELL) $(top_srcdir)/mkinstalldirs
PURIFY=purify
PURIFYCCFLAGS=
#PURIFYCCFLAGS=-g++=yes \
# -collector=`dirname \`$(CCC) -print-libgcc-file-name\``/ld
# Passing down MAKEOVERRIDES prevents $(MAKE) from containing a second
# copy of $(MDEFINES) when making individual directories; this could
# cause the argument list to become too long on some systems.
MDEFINES= \
"ALT_AWK_PROGS=$(ALT_AWK_PROGS)" \
"ALT_GHOSTSCRIPT_PROGS=$(ALT_GHOSTSCRIPT_PROGS)" \
"AR=$(AR)" \
"BROKEN_SPOOLER_FLAGS=$(BROKEN_SPOOLER_FLAGS)" \
"CC=$(CC)" \
"CCC=$(CCC)" \
"CCDEFINES=$(CCDEFINES)" \
"CCFLAGS=$(CCFLAGS)" \
"CDEFINES=$(CDEFINES)" \
"CFLAGS=$(CFLAGS)" \
"CPPFLAGS=$(CPPFLAGS)" \
"DEVICE=$(DEVICE)" \
"DVIPRINT=$(DVIPRINT)" \
"ETAGS=$(ETAGS)" \
"ETAGSCCFLAG=$(ETAGSCCFLAG)" \
"ETAGSFLAGS=$(ETAGSFLAGS)" \
"EXEEXT=$(EXEEXT)" \
"INSTALL_DATA=$(INSTALL_DATA)" \
"INSTALL_INFO=$(INSTALL_INFO)" \
"INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
"INSTALL_SCRIPT=$(INSTALL_SCRIPT)" \
"LDFLAGS=$(LDFLAGS)" \
"LIBEXT=$(LIBEXT)" \
"LIBM=$(LIBM)" \
"LIBOBJS=$(LIBOBJS)" \
"LIBS=$(LIBS)" \
"MAKEOVERRIDES=$(MAKEOVERRIDES)" \
"OBJEXT=$(OBJEXT)" \
"OTHERDEVDIRS=$(OTHERDEVDIRS)" \
"PAGE=$(PAGE)" \
"GHOSTSCRIPT=$(GHOSTSCRIPT)" \
"PERLPATH=$(PERLPATH)" \
"PSPRINT=$(PSPRINT)" \
"PURIFY=$(PURIFY)" \
"PURIFYCCFLAGS=$(PURIFYCCFLAGS)" \
"RANLIB=$(RANLIB)" \
"RT_SEP=$(RT_SEP)" \
"SH_SEP=$(SH_SEP)" \
"SHELL=$(SHELL)" \
"SH_SCRIPT_SED_CMD=$(SH_SCRIPT_SED_CMD)" \
"SH_DEPS_SED_SCRIPT=$(SH_DEPS_SED_SCRIPT)" \
"TTYDEVDIRS=$(TTYDEVDIRS)" \
"XDEVDIRS=$(XDEVDIRS)" \
"XLIBDIRS=$(XLIBDIRS)" \
"XPROGDIRS=$(XPROGDIRS)" \
"X_CFLAGS=$(X_CFLAGS)" \
"X_LIBS=$(X_LIBS)" \
"X_EXTRA_LIBS=$(X_EXTRA_LIBS)" \
"X_PRE_LIBS=$(X_PRE_LIBS)" \
"YACC=$(YACC)" \
"YACCFLAGS=$(YACCFLAGS)" \
"appresdir=$(appresdir)" \
"bindir=$(bindir)" \
"common_words_file=$(common_words_file)" \
"datadir=$(datadir)" \
"dataprogramdir=$(dataprogramdir)" \
"datasubdir=$(datasubdir)" \
"docdir=$(docdir)" \
"exampledir=$(exampledir)" \
"exec_prefix=$(exec_prefix)" \
"fontdir=$(fontdir)" \
"fontpath=$(fontpath)" \
"g=$(g)" \
"htmldocdir=$(htmldocdir)" \
"pdfdocdir=$(pdfdocdir)" \
"indexdir=$(indexdir)" \
"indexext=$(indexext)" \
"indexname=$(indexname)" \
"infodir=$(infodir)" \
"legacyfontdir=$(legacyfontdir)" \
"libdir=$(libdir)" \
"libprogramdir=$(libprogramdir)" \
"localfontdir=$(localfontdir)" \
"localtmacdir=$(localtmacdir)" \
"make_html=$(make_html)" \
"make_install_html=$(make_install_html)" \
"make_pdfdoc=$(make_pdfdoc)" \
"make_install_pdfdoc=$(make_install_pdfdoc)" \
"man1dir=$(man1dir)" \
"man1ext=$(man1ext)" \
"man5dir=$(man5dir)" \
"man5ext=$(man5ext)" \
"man7dir=$(man7dir)" \
"man7ext=$(man7ext)" \
"manroot=$(manroot)" \
"mkinstalldirs=$(mkinstalldirs)" \
"prefix=$(prefix)" \
"revision=$(revision)" \
"sys_tmac_prefix=$(sys_tmac_prefix)" \
"pnmtops_nosetpage=$(pnmtops_nosetpage)" \
"systemtmacdir=$(systemtmacdir)" \
"tmac_an_prefix=$(tmac_an_prefix)" \
"tmac_m_prefix=$(tmac_m_prefix)" \
"tmac_s_prefix=$(tmac_s_prefix)" \
"tmac_wrap=$(tmac_wrap)" \
"tmacdir=$(tmacdir)" \
"tmacpath=$(tmacpath)" \
"top_builddir=$(top_builddir)" \
"top_srcdir=$(top_srcdir)" \
"version=$(version)"
INCDIRS=src/include
LIBDIRS=\
src/libs/libgroff \
src/libs/libdriver \
src/libs/libbib \
$(XLIBDIRS)
CCPROGDIRS=\
src/roff/groff \
src/roff/troff \
src/preproc/tbl \
src/preproc/pic \
src/preproc/eqn \
src/preproc/grn \
src/preproc/refer \
src/preproc/soelim \
src/preproc/html \
src/devices/grops \
src/devices/grotty \
src/devices/grodvi \
src/devices/grolj4 \
src/devices/grohtml \
src/devices/grolbp \
src/utils/tfmtodit \
src/utils/hpftodit \
src/utils/lookbib \
src/utils/indxbib \
src/utils/lkbib \
src/utils/addftinfo
CPROGDIRS=\
src/utils/pfbtops \
$(XPROGDIRS)
PROGDEPDIRS=arch/misc
PROGDIRS=$(PROGDEPDIRS) $(CCPROGDIRS) $(CPROGDIRS)
DEVDIRS=\
font/devps \
font/devdvi \
font/devhtml
ALLTTYDEVDIRS=\
font/devascii \
font/devlatin1 \
font/devutf8 \
font/devcp1047
# `doc' must be processed before `contrib/pdfmark'.
OTHERDIRS=\
man \
tmac \
src/utils/afmtodit \
src/roff/grog \
src/roff/nroff \
doc \
contrib/mm \
contrib/pic2graph \
contrib/eqn2graph \
contrib/grap2graph \
contrib/groffer \
contrib/mom \
contrib/pdfmark \
contrib/gdiffmk
ALLDIRS=$(INCDIRS) $(LIBDIRS) $(PROGDIRS) \
$(DEVDIRS) $(XDEVDIRS) $(OTHERDEVDIRS) $(TTYDEVDIRS) $(OTHERDIRS)
EXTRADIRS=\
font/devps/generate \
font/devdvi/generate \
font/devlj4/generate \
doc
NOMAKEDIRS=\
arch/djgpp \
contrib/mm/examples \
contrib/mm/mm \
contrib/mom/examples \
contrib/mom/momdoc \
contrib/gdiffmk/tests \
src/libs/snprintf
DISTDIRS=\
$(INCDIRS) $(LIBDIRS) $(PROGDIRS) $(DEVDIRS) $(XDEVDIRS) $(OTHERDEVDIRS) \
$(ALLTTYDEVDIRS) $(OTHERDIRS) $(EXTRADIRS) $(NOMAKEDIRS)
TARGETS=all install install_bin install_data clean distclean mostlyclean \
realclean extraclean distfiles TAGS depend uninstall_sub
# This ENVSETUP gork is required by the DJGPP build on Windows 9X,
# where Make needs to be case-sensitive to find files like BI and VERSION.
ENVSETUP=\
if test -f $(srcdir)/makefile.ccpg* && \
test -f $(srcdir)/Makefile.ccpg*; then \
FNCASE=y; export FNCASE; \
else :; \
fi
do=all
dodirs=$(ALLDIRS) dot
# Default target for subdir_Makefile
subdir=src/roff/troff
$(TARGETS):
@$(ENVSETUP); $(MAKE) $(MDEFINES) do=$@ $(dodirs)
dot: FORCE
@$(ENVSETUP); \
$(MAKE) $(MDEFINES) srcdir=$(srcdir) VPATH=$(srcdir) \
-f $(top_srcdir)/Makefile.comm \
-f $(top_srcdir)/Makefile.sub $(do)
$(LIBDIRS): FORCE
@$(ENVSETUP); \
if test $(srcdir) = .; then \
srcdir=.; \
else \
srcdir=`cd $(srcdir); pwd`/$@; \
fi; \
test -d $@ || $(mkinstalldirs) $@; \
cd $@; \
test -f Makefile.dep || touch Makefile.dep; \
$(MAKE) $(MDEFINES) srcdir=$$srcdir VPATH=$$srcdir \
-f $(top_srcdir)/Makefile.comm \
-f $$srcdir/Makefile.sub \
-f $(top_srcdir)/Makefile.lib \
-f Makefile.dep $(do)
$(CPROGDIRS): FORCE
@$(ENVSETUP); \
if test $(srcdir) = .; then \
srcdir=.; \
else \
srcdir=`cd $(srcdir); pwd`/$@; \
fi; \
test -d $@ || $(mkinstalldirs) $@; \
cd $@; \
test -f Makefile.dep || touch Makefile.dep; \
$(MAKE) $(MDEFINES) srcdir=$$srcdir VPATH=$$srcdir \
-f $(top_srcdir)/Makefile.comm \
-f $$srcdir/Makefile.sub \
-f $(top_srcdir)/Makefile.cpg \
-f Makefile.dep $(do)
$(CCPROGDIRS): FORCE
@$(ENVSETUP); \
if test $(srcdir) = .; then \
srcdir=.; \
else \
srcdir=`cd $(srcdir); pwd`/$@; \
fi; \
test -d $@ || $(mkinstalldirs) $@; \
cd $@; \
test -f Makefile.dep || touch Makefile.dep; \
$(MAKE) $(MDEFINES) srcdir=$$srcdir VPATH=$$srcdir \
-f $(top_srcdir)/Makefile.comm \
-f $$srcdir/Makefile.sub \
-f $(top_srcdir)/Makefile.ccpg \
-f Makefile.dep $(do)
$(DEVDIRS) $(XDEVDIRS) $(OTHERDEVDIRS) $(TTYDEVDIRS): FORCE
@$(ENVSETUP); \
if test $(srcdir) = .; then \
srcdir=.; \
else \
srcdir=`cd $(srcdir); pwd`/$@; \
fi; \
test -d $@ || $(mkinstalldirs) $@; \
cd $@; \
$(MAKE) $(MDEFINES) srcdir=$$srcdir VPATH=$$srcdir \
-f $(top_srcdir)/Makefile.comm \
-f $$srcdir/Makefile.sub \
-f $(top_srcdir)/Makefile.dev $(do)
$(INCDIRS) $(PROGDEPDIRS) $(OTHERDIRS): FORCE
@$(ENVSETUP); \
if test $(srcdir) = .; then \
srcdir=.; \
else \
srcdir=`cd $(srcdir); pwd`/$@; \
fi; \
test -d $@ || $(mkinstalldirs) $@; \
cd $@; \
$(MAKE) $(MDEFINES) srcdir=$$srcdir VPATH=$$srcdir \
-f $(top_srcdir)/Makefile.comm \
-f $$srcdir/Makefile.sub \
-f $(top_srcdir)/Makefile.man $(do)
.PHONY: dist
dist:
-rm -fr tmp
rm -f groff-$(version)$(revision).tar.gz
mkdir tmp
for d in $(DISTDIRS); do \
$(mkinstalldirs) tmp/$$d; \
done
srcdir=`cd $(srcdir); pwd`; \
cd tmp; \
$(LN_S) ../Makefile .; \
$(LN_S) $$srcdir/* . 2>/dev/null || true; \
rm -rf CVS; \
for d in $(DISTDIRS); do \
(cd $$d; \
$(LN_S) $$srcdir/$$d/* . 2>/dev/null; \
rm -rf CVS || true); \
done; \
$(MAKE) srcdir=. VPATH=. distfiles; \
$(MAKE) srcdir=. VPATH=. extraclean; \
for d in $(EXTRADIRS); do \
(cd $$d; \
if test -f Makefile; then \
$(MAKE) extraclean; \
else \
$(MAKE) -f $(top_builddir)/$$d/Makefile extraclean; \
fi); \
done; \
rm -f Makefile; \
$(LN_S) $$srcdir/Makefile.init Makefile
mv tmp groff-$(version)$(revision)
tar cfh - groff-$(version)$(revision) | \
gzip -c >groff-$(version)$(revision).tar.gz
rm -fr groff-$(version)$(revision)
# $(PROGDIRS): libgroff
# grops grotty grodvi: libdriver
# refer lookbib indxbib lkbib: libbib
# $(LIBDIRS) $(PROGDIRS): include
.PHONY: $(ALLDIRS) dot $(TARGETS) FORCE
# Create a Makefile in $(subdir). This is useful for development since it
# avoids running make recursively.
subdir_Makefile: Makefile.cfg
$(MAKE) do=Makefile $(subdir)
Makefile.cfg: Makefile
>Makefile.cfg
for var in $(MDEFINES); do \
echo "$$var" >>Makefile.cfg; \
done
Makefile: Makefile.in
$(SHELL) config.status
.PHONY: uninstall
uninstall: uninstall_sub uninstall_dirs
.PHONY: uninstall_dirs
uninstall_dirs:
# Use `rmdir' here so that the directories are only removed if they are empty.
-rmdir $(man1dir) $(man5dir) $(man7dir) $(manroot) \
$(tmacdir) $(systemtmacdir) $(localtmacdir) \
$(fontdir) $(localfontdir) $(bindir) \
$(datasubdir) $(dataprogramdir) $(infodir) \
$(exampledir) $(htmldocdir) $(pdfdocdir) $(docdir) \
$(libprogramdir) $(libdir) \
$(datadir)/doc/groff $(datadir)/doc $(datadir) 2>/dev/null || :
.PHONY: check docheck
check: site.exp docheck
docheck:
if $(SHELL) -c "runtest --version" > /dev/null 2>&1; then \
runtest; \
else \
echo "WARNING: could not find \`runtest'" 1>&2; \
fi
# This snippet has been taken from the automake package.
site.exp:
@echo "Making a new site.exp file..."
@echo "## these variables are automatically generated by make ##" >site.tmp
@echo "# Do not edit here. If you wish to override these values" >>site.tmp
@echo "# edit the last section" >>site.tmp
@echo "set tool groff" >>site.tmp
@echo "set srcdir $(srcdir)/testsuite" >>site.tmp
@echo "set objdir `pwd`" >> site.tmp
@echo "## All variables above are generated by configure. Do not edit! ##" >> site.tmp
@test ! -f site.exp \
|| sed '1,/^## All variables above are.*##/ d' site.exp >> site.tmp
@-rm -f site.bak
@test ! -f site.exp || mv site.exp site.bak
@mv site.tmp site.exp
FORCE:
.NOEXPORT:

View file

@ -1,25 +0,0 @@
# Copyright (C) 1989-2000 Free Software Foundation, Inc.
# Written by James Clark (jjc@jclark.com)
#
# This file is part of groff.
#
# groff is free software; you can redistribute it and/or modify it under
# the terms of the GNU General Public License as published by the Free
# Software Foundation; either version 2, or (at your option) any later
# version.
#
# groff is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# for more details.
#
# You should have received a copy of the GNU General Public License along
# with groff; see the file COPYING. If not, write to the Free Software
# Foundation, 51 Franklin St - Fifth Floor, Boston, MA 02110-1301, USA.
SHELL=/bin/sh
.PHONY: all
all:
$(SHELL) configure
$(MAKE) all

View file

@ -1,20 +0,0 @@
LIBCLEAN=lib$(LIB).$(LIBEXT)
MAKEFILEPARTS=\
$(top_srcdir)/Makefile.comm \
$(top_builddir)/Makefile.cfg \
$(srcdir)/Makefile.sub \
$(top_srcdir)/Makefile.lib \
Makefile.dep
all: lib$(LIB).$(LIBEXT)
lib$(LIB).$(LIBEXT): $(OBJS)
$(AR) r $@ $?
$(RANLIB) $@
depend: depend_src
depend.temp: $(GENSRCS)
TAGS: $(CCSRCS) $(CSRCS)
Makefile: $(MAKEFILEPARTS)
Makefile.dep:
touch Makefile.dep

View file

@ -1,5 +0,0 @@
all: $(MANPAGES)
install_data: install_man
install_man: $(MANPAGES)
uninstall_sub: uninstall_man
$(top_builddir)/stamp-h $(MANPAGES): $(top_srcdir)/VERSION $(top_srcdir)/REVISION

View file

@ -1,35 +0,0 @@
DISTCLEANFILES=\
config.status \
config.log \
config.cache \
stamp-h \
Makefile \
test-groff \
src/include/config.h \
site.exp \
site.bak \
groff.sum \
groff.log
CLEANADD=Makefile.cfg conftest*
distfiles: configure
$(scrdir)/configure: configure.ac aclocal.m4
cd $(srcdir) && autoconf
config.status: configure
$(SHELL) config.status --recheck
# autoheader might not change config.hin, so touch a stamp file.
$(srcdir)/config.hin: stamp-h.in
$(srcdir)/stamp-h.in: configure.ac aclocal.m4
cd $(srcdir) && autoheader
echo timestamp > $(srcdir)/stamp-h.in
config.h: stamp-h
stamp-h: config.hin config.status
$(SHELL) config.status
# Always create the site-font directory as a guide to the user.
install_data:
-test -d $(localfontdir) || $(mkinstalldirs) $(localfontdir)

File diff suppressed because it is too large Load diff

View file

@ -1,916 +0,0 @@
This file describes various problems that have been encountered in
compiling, installing and running groff. Suggestions for additions or
other improvements to this file are welcome.
----------------------------------------------------------------------
Generic Problems
================
* Displaying a man page on a terminal with/without my favourite pager
only gives garbage.
groff by default now uses SGR escape sequences (`ANSI color') to
control the display attributes (bold, underlined, colour) on TTYs.
Some terminals (e.g. `kterm') don't understand SGR, and some pagers
(e.g. older versions of `less' or `less' without the -R option) don't
understand SGR either. There are three solutions to fix this, in order
of preference; please read the grotty man page for more details.
The fourth and probably best option is to update your terminal program
and pager to versions which can handle SGR.
1. Set the GROFF_NO_SGR environment variable.
2. Pass option -c to grotty.
3. Append the following fragment to the `troffrc' file:
--- start ---
.if n \{\
. nr _C \n(.C
. cp 0
.
. \" The following code sets a top-of-page trap to disable grotty's TTY
. \" mode. Since neither \X nor .output can be used before the first
. \" page has started, we must use a trap. To make it work with troff's
. \" -o option, we wait until the first printed page.
.
. de sgr@dummy
. .
.
. rn wh wh@old
.
. \" The stand-alone version. If no other trap is set, we can safely
. \" insert the truncated vertical space caused by the trap (if any).
. \" Otherwise we assume that the document's main macro package takes
. \" care of that. As soon as the trap has been executed, it is removed.
. de1 no@sgr
. if \\n[.P] \{\
. if (\\n[.t] == \\n[.p]) \{\
. rn wh@old wh
. rm no@sgr
. wh 0
. sp \\n[.trunc]
. nop \X'tty: sgr 0'
. sp -1
. \}\}
. .
.
. wh@old 0 no@sgr
.
. \" The piggyback version to be appended to macros planted with the
. \" modified `wh' request.
. de1 no@sgr1
. if \\n[.P] \{\
. rn wh@old wh
. ds no@sgr1
. nop \X'tty: sgr 0'
. sp -1
. \}
. .
.
. \" We redefine the `wh' request so that `no@sgr1' is appended to
. \" the trap macro.
. de1 wh
. am1 \\$2 sgr@dummy
. no@sgr1
. sgr@dummy
. wh@old \\$1 \\$2
. .
.
. cp \n[_C]
.\}
--- end ---
----------------------------------------------------------------------
* The UTF-8 output of grotty has strange characters for the minus, the
hyphen, and the right quote. Why?
The used Unicode characters (U+2212 for the minus sign and U+2010 for
the hyphen) are the correct ones, but many programs can't search them
properly. The same is true for the right quote (U+201D). To map those
characters back to the ASCII characters, insert the following code
snippet into the `troffrc' configuration file:
.if '\*[.T]'utf8' \{\
. char \- \N'45'
. char - \N'45'
. char ' \N'39'
.\}
----------------------------------------------------------------------
* My document says that the current year is 19100, not 2000.
In groff, as in traditional troff, the yr number register yields the
year minus 1900. Unfortunately, there is a longstanding bug in the
Troff User's Manual <http://cm.bell-labs.com/cm/cs/cstr/54.ps.gz>,
which incorrectly claims that yr is the last two digits of the year.
This claim was never true of either Unix troff or of groff.
If your text looks like this:
.\" Wrong:
This document was formatted in 19\n(yr.
you can correct it as follows:
This document was formatted in \n[year].
or, if you want to be portable to older troff versions, as follows:
.nr y4 1900+\n(yr
This document was formatted in \n(y4.
----------------------------------------------------------------------
* groff can't handle my troff document. It works fine with AT&T
troff.
Read the section on incompatibilities in groff_diff(7). Try using
the -C option. Alternatively there's the sed script
`tmac/fixmacros.sed' which will attempt to edit a file of macros so
that it can be used with groff without the -C flag.
----------------------------------------------------------------------
* gtroff doesn't understand lines like `.ce99' with no space between
the name of the request or macro and the arguments.
gtroff requires a space between macro or request and its arguments
because it allows the use of long names for macros and requests. You
can use the -C option or the `cp' request to put gtroff into a
compatibility mode in which it is not possible to use long names for
macros but in which no space is required between macros and their
arguments. The use of compatibility mode is strongly discouraged.
----------------------------------------------------------------------
* groff -Tdvi produces dvi files that use fonts at weird
magnifications.
Yes, it does. You may need to compile fonts with Metafont at these
magnifications. The CompileFonts script in the devdvi/generate
directory may help you to do this. (It will take a *long* time on
slow computers.)
----------------------------------------------------------------------
* Groff doesn't use the font names I'm used to.
Use the `ftr' request. See groff_diff(7).
----------------------------------------------------------------------
* pic output is not centered horizontally; pictures sometimes run off
the bottom of the page.
The macro package you are using is not supplying appropriate
definitions of PS and PE. Give groff a -mpic option.
----------------------------------------------------------------------
* gpic doesn't accept the syntax `chop N M' for chopping both ends of
a line.
The correct syntax is `chop N chop M'.
----------------------------------------------------------------------
* With gpic -t, when I print `line ->; box' using a dvi to ps program,
the arrow head sticks through into the inside of the box.
The dvi to ps program should be modified to set the line cap and line
join parameters to 1 while printing tpic specials.
----------------------------------------------------------------------
* gtroff gives warnings about lines like
.ev \" a comment
(with a tab after the .ev).
A tab character cannot be used as a substitute for a space character
(except in one case: between a control character at the beginning of a
line and the name of a macro or request). For example, in Unix troff
.ps \" restore the previous point size
(with a tab after the .ps) will NOT restore the previous point-size;
instead it will be silently ignored. Since this is very likely to be
an error, gtroff can give a warning about it. If you want to align
comments, you can do it like this:
.ev\" \" a comment
----------------------------------------------------------------------
* I don't like the page headers and footers produced by groff -man.
There seem to be many different styles of page header and footer
produced by different versions of the -man macros. You will need to
put modified macros from tmac/an-old.tmac into man.local. More
information is available in groff_man(7).
----------------------------------------------------------------------
* Where can I get grap?
Ted Faber <faber@lunabase.org> has written a freely available grap:
http://www.lunabase.org/~faber/Vault/software/grap/
----------------------------------------------------------------------
* The \n(st and \n(sb registers don't seem to work. I thought \w set
them to the height and depth of its argument, but the registers
always seem to be 0.
\n(st and \n(sb aren't supposed to give the height and depth of the
string rather they give the minimum and maximum vertical displacement
of the baseline. For example for \v'2u'\v'-3u', \n(st will be 1 and
\n(sb will be -2. The height and depth of the string is available in
the \n[rst] and \n[rsb] registers: these are groff extensions.
----------------------------------------------------------------------
* While formatting a manual page, groff complains about not being able
to break lines. The problem seems to be caused by a line like:
.TP \w'label'+2
The -man documentation says that the default scale indicator for TP
macro is `n'. The groff -man macros implement this correctly, so that
the argument will be evaluated as if it were
\w'label'n+2n
The Unix -man macros don't implement this correctly (probably because
it's hard to do in Unix troff); they just append `n' to the entire
argument, so that it will be evaluated as if it were
\w'label'u+2n
The solution is to fix the manual page:
.TP \w'label'u+2
----------------------------------------------------------------------
* I'm having problems formatting man pages produced by the perl
wrapman script.
Some versions of wrapman have a superfluous blank line before the .TH
line. This must be deleted. Then either use groff -C, or apply the
following patch:
*** wrapman.~2~ Sun Jan 19 12:10:24 1992
--- wrapman Tue Aug 10 02:06:41 1993
***************
*** 35,41 ****
$line1 .= <IN> if $line1 =~ /eval/;
$line1 .= <IN> if $line1 =~ /argv/;
$line2 = <IN>;
! next if $line2 eq "'di';\n";
# Pull the old switcheroo.
--- 35,41 ----
$line1 .= <IN> if $line1 =~ /eval/;
$line1 .= <IN> if $line1 =~ /argv/;
$line2 = <IN>;
! next if $line2 eq "'di ';\n" || $line2 eq "'di';\n";
# Pull the old switcheroo.
***************
*** 49,56 ****
print OUT $line1;
print OUT <<EOF;
! 'di';
! 'ig00';
#
# $header
#
--- 49,58 ----
print OUT $line1;
print OUT <<EOF;
! 'di ';
! 'ds 00 \\"';
! 'eo ';
! 'ig 00 ';
#
# $header
#
***************
*** 72,85 ****
# These next few lines are legal in both Perl and nroff.
! $null.00; # finish .ig
'di \\" finish diversion--previous line must be blank
.nr nl 0-1 \\" fake up transition to first page again
.nr % 0 \\" start at page 1
! '; __END__ ##### From here on it's a standard manual page #####
.TH $PROG 1 "$month $mday, 19$year"
- .AT 3
.SH NAME
$prog \\- whatever
.SH SYNOPSIS
--- 74,87 ----
# These next few lines are legal in both Perl and nroff.
! $null.00 ; # finish .ig
! 'ec \\';
'di \\" finish diversion--previous line must be blank
.nr nl 0-1 \\" fake up transition to first page again
.nr % 0 \\" start at page 1
! .\\"'; __END__ ##### From here on it's a standard manual page #####
.TH $PROG 1 "$month $mday, 19$year"
.SH NAME
$prog \\- whatever
.SH SYNOPSIS
----------------------------------------------------------------------
* groff uses up an enormous amount of memory processing large files.
I'm using 386BSD 0.1.
386BSD includes an old version of g++, 1.39, which has a bug that
causes a major memory leak in gtroff. Apply the following fix to g++
and recompile groff:
*** cplus-decl.c.~1~ Mon Aug 6 05:28:59 1990
--- cplus-decl.c Wed Jun 5 08:55:04 1991
***************
*** 7951,7961 ****
/* At the end, call delete if that's what's requested. */
if (TREE_GETS_DELETE (current_class_type))
exprstmt = build_method_call (build1 (NOP_EXPR, TYPE_POINTER_TO (current_class_type), error_mark_node),
get_identifier (OPERATOR_DELETE_FORMAT),
! build_tree_list (NULL_TREE, integer_zero_node),
NULL_TREE, LOOKUP_NORMAL);
else if (TYPE_USES_VIRTUAL_BASECLASSES (current_class_type))
exprstmt = build_x_delete (ptr_type_node, current_class_decl, 0);
else
exprstmt = 0;
--- 7951,7961 ----
/* At the end, call delete if that's what's requested. */
if (TREE_GETS_DELETE (current_class_type))
exprstmt = build_method_call (build1 (NOP_EXPR, TYPE_POINTER_TO (current_class_type), error_mark_node),
get_identifier (OPERATOR_DELETE_FORMAT),
! build_tree_list (NULL_TREE, current_class_decl),
NULL_TREE, LOOKUP_NORMAL);
else if (TYPE_USES_VIRTUAL_BASECLASSES (current_class_type))
exprstmt = build_x_delete (ptr_type_node, current_class_decl, 0);
else
exprstmt = 0;
Printing and Display Problems
=============================
* I'm having problems including PostScript illustrations (EPS) using
the PSPIC macro and/or \X'ps: import ...'.
A PostScript document must meet three requirements in order to be
included with the PSPIC macro: it must comply with the Adobe Document
Structuring Conventions; it must contain a BoundingBox line; it must
be `well-behaved'. The BoundingBox line should be of the form:
%%BoundingBox: llx lly urx ury
where llx, lly, urx, ury are the coordinates of the lower left x,
lower left y, upper right x, upper right y of the bounding box of
marks on the page expressed as integers in the default PostScript
coordinate system (72 units per inch, origin at bottom left corner).
The most convenient program to get the bounding box of a document is
the `ps2epsi' script coming with GhostScript.
If you can't use this program, another useful tactic is to print out
the illustration by itself (you may need to add a `showpage' at the
end), and physically measure the bounding box. For more detail on
these requirements, read the specification of Encapsulated PostScript
format. (This is available from the Adobe file server; send a message
with a body of `help' to ps-file-server@adobe.com.)
If an EPS file to be included via \X'ps: import' does not start with
`%!PS-Adobe-...', gtroff will still include the file, but grops will
not add any fonts to the generated output file that are listed in the
EPS file, even though the files are listed in the `download' file and
are available in the devps directory.
----------------------------------------------------------------------
* I've configured groff for A4 paper, but gtroff still seems to think
that the length of a page (as returned by `\n(.p') is 11 inches.
This is intentional. The PAGE option during configuration is used
only by grops. For compatibility with ditroff, the default page
length in gtroff is always 11 inches. The page length can be changed
with the `pl' request.
A convenient way to set paper dimensions is to use the -dpaper option
of groff, together with proper -P options for the postprocessor
(overriding the default). For example, use the following for PS
output on A4 paper in landscape orientation:
groff -Tps -dpaper=a4l -P-pa4 -P-l -ms foo.ms > foo.ps
See groff_tmac(5) for more information.
----------------------------------------------------------------------
* When I print the output of groff -Tps, the output is always shifted
up by about 0.7 inches; I'm using 8.5x11 inch paper.
Make sure that the paper size is `letter'. See groff_tmac(5).
----------------------------------------------------------------------
* When I try to run gxditview, I get the error:
Error: Widget viewport has zero width and/or height
This error means you haven't correctly installed the application
defaults file, GXditview.ad; `make install' does this for you
automatically, so either you didn't do `make install', or you haven't
passed a good `--appresdir=<DIR>' argument to groff's configure script.
See the X(7) man page for information how and where application resource
files have to be located. Look for the XAPPLRESDIR and XUSERFILESEARCHPATH
environment variables.
----------------------------------------------------------------------
* When I preview documents using -TX75 or -TX100, the layout is not
the same as when I print the document with -Tps: the line and page
breaks come in different places.
Use `groff -X -Tps'.
----------------------------------------------------------------------
* When I try to print the output of groff -Tps, I get no output at all
from the printer, and the log file shows the error
%%[ error: undefined; offendingcommand: BP ]%%
I'm using TranScript spooling software.
This is a bug in the page reversal filter in early versions of
TranScript. Change the `broken' parameter in
/usr/local/lib/groff/font/devps/DESC to 7.
----------------------------------------------------------------------
* When I preview groff -Tps output using the Sun OpenWindows 2.0
pageview program, all the pages are displayed on top of each other.
This is a defect in pageview. Change the `broken' parameter in
/usr/local/lib/groff/font/devps/DESC to 2.
----------------------------------------------------------------------
* With groff -TX75, -TX100 or -X, I can only view the first page.
The left mouse button brings up a menu that allows you to view other
pages.
----------------------------------------------------------------------
* When I print the output of groff -Tdvi, I just get a black dot in
upper left corner.
Some dvi drivers (notably early versions of xtex) do not correctly
handle dvi files that use a resolution different from that used by dvi
files produced by TeX. Try getting a more up to date driver.
----------------------------------------------------------------------
* How can I use groff with an old LaserJet printer that doesn't work
with groff -Tlj4?
You have at least 3 options:
- use groff -Tps with GNU Ghostscript;
- use groff -Tdvi with a TeX .dvi to Laserjet driver;
- use groff with the LaserJet driver in Chris Lewis' psroff package
(available for ftp from:
ftp.uunet.ca:/distrib/chris_lewis/psroff3.0pl17).
----------------------------------------------------------------------
* Groff seems to generate level 3 Postscript, but my printer is only a
level 1 or 2 PostScript printer.
In fact groff generates only level 2 PostScript (or rather level 1
with some extensions; see grops(1) for more information how to disable
them). The `%!PS-Adobe-3.0' comment at the beginning of PostScript
output generated by groff indicates that the file conforms to
version 3.0 of the Adobe Document Structuring Conventions. The output
generated by groff should be printable on any PostScript printer.
Problems with groff output's not printing are most often caused by the
spooling system.
Platform-Dependent Macro Problems
=================================
* I get lots of errors when I use groff with the AT&T -mm macros.
Use the groff -mm macros.
----------------------------------------------------------------------
* groff produces wrapper macros for `ms' and friends which call the
system's original macros. Then, to get groff's ms macro package I
have to use `-mgs' instead `-ms'. Can I avoid this?
Yes. Configure and compile groff as usual, but install it with
make install tmac_wrap=""
Then no wrapper files are produced, and `-ms' will use groff's `ms'
macros.
----------------------------------------------------------------------
* I'm having problems formatting HP-UX 9.0 man pages with groff -man.
Copy HP's tmac.an into /usr/local/share/groff/site-tmac/an.tmac, and
either put `.cp 1' at the beginning or filter it (and any files it
.so's) through tmac/fixmacros.sed.
----------------------------------------------------------------------
* I get errors using the Unix -ms macros with groff -e -C.
Apply this change:
*** /usr/lib/ms/ms.eqn Tue Apr 25 02:14:28 1989
--- ms.eqn Sun Nov 11 10:33:59 1990
***************
*** 22,29 ****
..
. \" EN - end of a displayed equation
.de EN
! .if !\\*(10 .br
.di
.rm EZ
.nr ZN \\n(dn
.if \\n(ZN>0 .if \\n(YE=0 .LP
--- 22,30 ----
..
. \" EN - end of a displayed equation
.de EN
! .if \\n(.k>0 .br
.di
+ .ds 10 \\*(EZ\\
.rm EZ
.nr ZN \\n(dn
.if \\n(ZN>0 .if \\n(YE=0 .LP
----------------------------------------------------------------------
* I'm having problems formatting Ultrix man pages with groff -man.
The Ultrix man pages use a number of non-standard extensions to the
Unix man macros. One solution is to use the Ultrix -man macros with
groff. Copy /usr/lib/tmac/tmac.an to
/usr/local/share/groff/site-tmac/an.tmac and apply the following patch
(from Frank Wortner):
*** /usr/local/lib/groff/tmac/tmac.an Wed Sep 9 12:29:28 1992
--- /usr/lib/tmac/tmac.an Fri Jul 24 19:58:19 1992
***************
*** 489,495 ****
. \" make special case of shift out of italic
.de }S
.ds ]F
! .if \\$12 .if !\\$5 .ds ]F \^
.ie !\\$4 .}S \\$2 \\$1 "\\$3\f\\$1\\$4\\*(]F" "\\$5" "\\$6" "\\$7" "\\$8" "\\$9"
.el \\$3
.}f
--- 489,495 ----
. \" make special case of shift out of italic
.de }S
.ds ]F
! .if \\$12 .if !\\$5 .ds ]F\^
.ie !\\$4 .}S \\$2 \\$1 "\\$3\f\\$1\\$4\\*(]F" "\\$5" "\\$6" "\\$7" "\\$8" "\\$9"
.el \\$3
.}f
Another possible solution is to install tmac/man.ultrix as
/usr/local/share/groff/site-tmac/man.local.
----------------------------------------------------------------------
* On an SGI system, how can I make the man command use groff?
From David Hinds <dhinds@allegro.stanford.edu> (some of these steps
are unnecessary if you install with the `g' Makefile variable defined
as empty):
Create a script called 'eqn':
> #! /bin/sh
> if [ ${1:-""} = /usr/pub/eqnchar ] ; then shift ; fi
> geqn $*
and a script called 'neqn':
> #! /bin/sh
> if [ ${1:-""} = /usr/pub/eqnchar ] ; then shift ; fi
> geqn -Tascii $*
and do:
> ln -s gnroff nroff
and edit the end of the gnroff script to be:
> rest=`echo ${1+"$@"} | sed -e 's+/usr/lib/tmac+/usr/local/lib/groff/tmac+'`
> exec groff -Wall -mtty-char $T $opts $rest
To get PostScript output from 'man -t', you also need to create a
'psroff' script similar to 'nroff'. Here are the context diffs:
*** /usr/local/bin/nroff Sat Feb 13 15:51:09 1993
--- /usr/local/bin/psroff Sat Feb 13 17:45:46 1993
***************
*** 1,8 ****
#! /bin/sh
! # Emulate nroff with groff.
prog="$0"
! T=-Tascii
opts=
for i
--- 1,8 ----
#! /bin/sh
! # Emulate psroff with groff.
prog="$0"
! T=-Tps
opts=
for i
***************
*** 25,30 ****
--- 25,33 ----
-Tascii|-Tlatin1)
T=$1
;;
+ -t)
+ # ignore -- default is send to stdout
+ ;;
-T*)
# ignore other devices
;;
***************
*** 49,53 ****
rest=`echo ${1+"$@"} | sed -e 's+/usr/lib/tmac+/usr/local/lib/groff/tmac+'`
# This shell script is intended for use with man, so warnings are
# probably not wanted. Also load nroff-style character definitions.
! exec groff -Wall -mtty-char $T $opts $rest
--- 52,56 ----
rest=`echo ${1+"$@"} | sed -e 's+/usr/lib/tmac+/usr/local/lib/groff/tmac+'`
# This shell script is intended for use with man, so warnings are
! # probably not wanted.
! exec groff -Wall $T $opts $rest
Compilation Problems
====================
* Compilation dies with
y.tab.c: In function `int yyparse()':
y.tab.c: `size_t' undeclared in namespace `std'
* bison reports conflicts (either on stderr or in the `pic.output'
file) while processing `pic.y', and the produced pic binary doesn't
work at all.
You need bison version 1.875b or greater. Alternatively, use yacc or
byacc.
----------------------------------------------------------------------
* There are many empty `Makefile.dep' files. Is this a bug?
No. Real dependency files are created with a `make depend' call.
----------------------------------------------------------------------
* On HP-UX, the compiler complains about missing symbol `alloca'.
Say
export LDFLAGS=-lPW
before starting the configure script.
----------------------------------------------------------------------
* The configure script fails on OS/390 (z/OS) Unix.
[This has been fixed in z/OS V1R3 (aka OS/390 R13).]
There is a bug in the Language Environment (LE) whereby the test
program for static destructors fails. You will see the message
`configure: error: a working C++ compiler is required'
Applying PTF UQ42006 is supposed to fix this, but the test program is
still returning the wrong value (1). To work around this problem, you
can comment out the following in the configure script (near line 2029).
This will effectively bypass the test (static constructors and
destructors do actually work properly):
#if { (eval echo "$as_me:2029: \"$ac_link\"") >&5
# (eval $ac_link) 2>&5
# ac_status=$?
# echo "$as_me:2032: \$? = $ac_status" >&5
# (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
# { (eval echo "$as_me:2034: \"$ac_try\"") >&5
# (eval $ac_try) 2>&5
# ac_status=$?
# echo "$as_me:2037: \$? = $ac_status" >&5
# (exit $ac_status); }; }; then
# echo "$as_me:2039: result: yes" >&5
#echo "${ECHO_T}yes" >&6
#else
# echo "$as_me: program exited with status $ac_status" >&5
#echo "$as_me: failed program was:" >&5
#cat conftest.$ac_ext >&5
#echo "$as_me:2045: result: no" >&5
#echo "${ECHO_T}no" >&6;{ { echo "$as_me:2046: error: a working C++ compiler is required" >&5
#echo "$as_me: error: a working C++ compiler is required" >&2;}
# { (exit 1); exit 1; }; }
#fi
----------------------------------------------------------------------
* I get errors when I try to compile groff with DEC C++.
Fix the declaration of write() in <unistd.h> so that the second
argument is a const char *. Fix the declaration of open() in
<sys/file.h> so that the first argument is a const char *.
----------------------------------------------------------------------
* On a host using Unix make (e.g. Solaris), if you are compiling for
multiple architectures by building in a subdirectory, the make stops
with a message like this:
make: Fatal error: Don't know how to make target `assert.o'
or like this:
make: Fatal error: Can't find /u/src/groff/src/include/Makefile.sub': No such file or directory
This occurs because GNU make and Unix make handle VPATH differently,
and the groff build relies on GNU make's VPATH handling.
Use GNU make <http://www.gnu.org/software/make/> to work around this.
In Solaris 8 and 9, GNU make is on the Software Companion CD in
package SFWgmake and is installed as /opt/sfw/bin/gmake. Prebuilt
versions of GNU make for Solaris are also available from
sunfreeware.com.
----------------------------------------------------------------------
* On Ultrix, the make program stops with the message
*** Error code 1
Stop.
for no apparent reason.
Use GNU make.
----------------------------------------------------------------------
* I'm having problems compiling groff on 386BSD 0.1.
If you're using ash as /bin/sh, you'll need the following patch.
*** gendef.sh.org Sun Jun 30 13:30:36 1991
--- gendef.sh Sun Feb 28 10:23:49 1993
***************
*** 3,9 ****
file=$1
shift
! defs="#define $1"
shift
for def
do
--- 3,10 ----
file=$1
shift
! x=$1
! defs="#define $x"
shift
for def
do
You'll also need to change dirnamemax.c so that it doesn't use
pathconf().
----------------------------------------------------------------------
* While compiling on Xenix, ranlib libgroff.a fails.
The system ranlib can't handle externals longer than 40 characters.
Use the ranlib included in demon.co.uk:/pub/xenix/g++-1.40.3a.v1
instead.
----------------------------------------------------------------------
* I get errors when I try to compile groff with Sun C++ version 3 or
earlier.
Groff requires header files that are moderately compatible with AT&T
C++ and ANSI C. With some versions of Sun C++, the supplied header
files need some of the following changes to meet this requirement:
<string.h> must declare the mem* functions, (just add `#include
<memory.h>' to <string.h>); the first argument to fopen and freopen
should be declared as `const char *'; the first argument to fread
should be declared as `void *'; the first argument to fwrite should be
declared as `const void *'; malloc should be declared to return
`void *'; in <alloca.h>, the declaration `extern "C" { void
*__builtin_alloca(int); }' should be added; in <sys/signal.h> the
return type and the second argument type of signal() should be changed
to be `void (*)(int)'.
You can either change them in place, or copy them to some other
directory and include that directory with a -I option.
----------------------------------------------------------------------
* I get errors when I try to compile groff with Forte Development 6
or 6u1, or Sun C++ version 5.0 through 5.2.
This is a known problem; see Sun bug #4301919. See Sun patches
109482, 109490, 109508, and 109509 for fixes.
----------------------------------------------------------------------
* I get warnings from the Sun linker while using gcc 3.4.0:
ld: warning: relocation error: R_SPARC_UA32:
file groff/src/libs/libgroff/libgroff.a(getopt.o): symbol optarg:
external symbolic relocation against non-allocatable
section .debug_info; cannot be processed at runtime:
relocation ignored
This seems to be a known problem (Sun bugs #4910101 and #4910810,
filed in September 2003; gcc bug #15599, filed May 2004) without a
public fix as of this writing. A work-around is to use option
`-gstabs+' instead of `-g' (and a high probability that the output is
only debuggable with gdb but not with Sun's debuggers).
----------------------------------------------------------------------
* I get lots of `numeric overflow' error messages whenever I run
groff; I compiled groff with AT&T C++ 2.0 with an ANSI C compiler.
Make sure -DCFRONT_ANSI_BUG is included in DEFINES in the top-level
Makefile. If that doesn't solve the problem, define INT_MIN as
-INT_MAX in libgroff/lib.h.
----------------------------------------------------------------------
* When compiling on MacOS X, groff compiles but does not run well,
especially `eqn', causing many `can't break line' messages.
Use ./configure CXX=g++2 then make as usual.

View file

@ -1,14 +0,0 @@
Here are some things that would be useful additions to groff:
ideal preprocessor
-mv macros (for typesetting viewgraphs and slides)
a deroff that understands long names
a page-makeup postprocessor and associated macro package
(like pm and -mpm)
If you want to work on one of these, you should probably post to
gnu.groff.bug (or send email to bug-groff@gnu.org) to see if anyone else
has gotten there first.

View file

@ -1,134 +0,0 @@
This is the GNU `groff' document formatting system. The version
number is given in the file VERSION.
Included in this release are implementations of `troff', `pic', `eqn',
`tbl', `grn', `refer', `-man', `-mdoc', `-mom', and `-ms' macros, and
drivers for `PostScript', `TeX dvi' format, `HP LaserJet 4' printers,
`Canon CAPSL' printers, `HTML' format (beta status), and
typewriter-like devices. Also included is a modified version of the
Berkeley `-me' macros, the enhanced version `gxditview' of the X11
`xditview' previewer, and an implementation of the `-mm' macros
contributed by Joergen Haegg (jh@axis.se).
See the file `INSTALL' for installation instructions. You will
require a C++ compiler.
The file `NEWS' describes recent user-visible changes to `groff'.
`groff' is free software. See the file `COPYING' for copying
permission.
The file `PROBLEMS' describes various problems that have been
encountered in compiling, installing, and running `groff'.
The most recent released version of `groff' is always available by
anonymous ftp from `ftp.gnu.org' in the directory `gnu/groff'.
The current development version of `groff' is available from a `CVS'
repository. You can access it by first selecting a parent directory
in which to create a working copy (call it, say, `~/cvswork'), and
then executing the commands
cd ~/cvswork
CVS_RSH=ssh; export CVS_RSH
cvs -d:ext:anoncvs@savannah.gnu.org/cvsroot/groff -z5 co groff
(Note that you need an `ssh' client for security reasons.)
This will create a subdirectory, `~/cvswork/groff', with a "checked
out" copy of the `CVS' repository. An update of this working copy may
be achieved, at any later time by invoking the commands
cd ~/cvswork/groff
CVS_RSH=ssh cvs -z5 update -dP
Please read the `CVS' info pages for further details.
Finally, it is possible to access the `CVS' with a web browser by
pointing it to
http://savannah.gnu.org/cvs/?group=groff
Alternatively, you can download snapshots (which are updated twice a day).
The complete `groff' source as a single file is available at
http://groff.ffii.org/groff/devel/groff-current.tar.gz
A diff file relative to `groff-<version>', the latest official `groff'
release is available at
http://groff.ffii.org/groff/devel/groff-<version>-current.diff.gz
Assuming that `groff-<version>.tar.gz' and
`groff-<version>-current.diff.gz' are in the same directory, do the
following to apply the diff file:
tar xzvf groff-<version>.tar.gz
cd groff-<version>
gunzip -c ../groff-<version>-current.diff.gz | patch -p1
Depending on your requirements, you may need at least some of the
following tools to build `groff' directly from its source:
ghostscript
the psutils package
the netpbm package
texinfo 4.8
bison >= 1.875b or byacc
Note that `texinfo' and `bison' or `byacc' are required only for
building from `CVS' sources (either a checked out working copy, or a
daily snapshot). They are not required for building from a stable
release tarball. Also note that the version numbers stated are the
minimum supported. No version of `texinfo' < 4.8 will work, and the
original release of `bison' 1.875 is known not to work; you *may* find
that `bison' releases < 1.875 will work, but in case of difficulty,
please update to a later version *before* posting a bug report.
For *all* sources, you need ghostscript for creation of either `PDF' or
`HTML' output; the `netpbm' and `psutils' packages are required only for
`HTML' output. If you don't intend to produce output in either of these
formats, then these packages are unnecessary.
In Linux Debian, the installation of `texinfo' is dangerous. For it
creates a file `install-info' that will block the system installation.
So the created `/usr/local/bin/install-info' must be renamed.
The `groff' configure script searches for the X11 headers and
libraries `Xaw' and `Xmu'. So the corresponding developer packages of
your system must be installed, otherwise `groff' does not install
`gxditview' and the `-TX*' devices. In Debian, the developer packages
are `libxaw7-dev' and `libxmu-dev'.
Please report bugs using the form in the file `BUG-REPORT'; the idea of
this is to make sure that FSF has all the information it needs to fix
the bug. At the very least, read the `BUG-REPORT' form and make sure
that you supply all the information that it asks for. Even if you are
not sure that something is a bug, report it using `BUG-REPORT': this will
enable us to determine whether it really is a bug or not.
Three mailing lists are available:
bug-groff@gnu.org for reporting bugs
groff@gnu.org for general discussion of groff
groff-commit@gnu.org a read-only list showing commitments
to the CVS repository
You can post mails directly to the `bug-groff' list, without subscribing;
to post mails to the `groff' list you must subscribe to it.
To subscribe, send a mail to <list>-request@<domain> (example:
groff-request@gnu.org for the `groff' list) with the word `subscribe'
in either the subject or body of the email (don't include the quotes).
Alternatively, you may subscribe by visiting the web pages at
http://lists.gnu.org/mailman/listinfo/bug-groff
http://lists.gnu.org/mailman/listinfo/groff
http://lists.gnu.org/mailman/listinfo/groff-commit
Each of these web pages also provides a link to a browseable archive of
postings to the corresponding mailing list.
GNU `groff' was written by James Clark <jjc@jclark.com>. It is now
maintained by Ted Harding <ted.harding@nessie.mcc.ac.uk> and Werner
Lemberg <wl@gnu.org>.

View file

@ -1,277 +0,0 @@
README.MinGW
============
Contributed by Keith Marshall (keith.d.marshall@ntlworld.com)
INTRODUCTION
------------
This file provides recommendations for building a Win32 implementation of
GNU Groff, using the MinGW port of GCC for Microsoft (TM) Windows-32
platforms. It is intended to supplement the standard installation
instructions (see file INSTALL); it does not replace them.
You require both the MinGW implementation of GCC and its supporting MSYS
toolkit, which provides a Win-32 implementation of the GNU bash shell, and a
few other essential utilities; these may be obtained from
http://sourceforge.net/projects/mingw
by following the appropriate download links, where they are available as
self-extracting executable installation packages. If installing both from
scratch, it is recommended that MinGW is installed first, as the MSYS
installer can then automatically set up the proper environment for running
MinGW.
Additionally, if you wish to compile groff with support for its HTML output
capability, some additional tools are required as decribed in the section
PREREQUISITES FOR HTML OUTPUT later in this file.
BUILDING GROFF WITH MINGW
-------------------------
Assuming that you have obtained the appropriate groff distribution, and that
you are already running an MSYS shell, then the configuration, compilation,
and installation of groff, using MinGW, is performed in much the same way as
it is described in the INSTALL file, which is provided with the groff
distribution. The installation steps are summarised below:
1. Change working directory to any suitable location where you may unpack
the groff distribution; you must be authorized for write access.
Approximately 30MB of free disk space are needed.
2. Unpack the groff distribution:
tar xzf <download-path>/groff-<version>.tar.gz
This creates a new sub-directory, groff-<version>, containing an image of
the groff source tree. You should now change directory, to make this
./groff-<version> your working directory.
3. If you are intending to build groff with support for HTML output, then
you must now ensure that the prerequisites described in the later section
PREREQUISITES FOR HTML OUTPUT are satisfied, before proceeding to build
groff; in particular, please ensure that all required support programs
are installed in the current PATH.
4. You are now ready to configure, build, and install groff. This is
accomplished using the conventional procedure, as described in the file
INSTALL, i.e.
./configure --prefix=<win32-install-path> ...
make
make install
Please observe the syntax for the configure command, indicated above; the
default value for --prefix is not suitable for use with MinGW, so the
--prefix=<win32-install-path> option must be specified, where
<win32-install-path> is the chosen MS-Windows directory in which the
groff application files are to be installed (see the later section
entitled CHOOSING AN INSTALLATION PATH). Any other desired configuration
options may also be specified, as described in the standard groff
installation instructions.
5. After completing the above, groff should be successfully installed; the
build directory is no longer required; it may be simply deleted in its
entirety. Alternatively, you may choose to keep it, but to remove all
files which can be reproduced later, by repeating the configure, make and
make install steps; this is readily accomplished by the command
make distclean
This completes the installation of groff; please read the final sections of
this file, GROFF RUNTIME ENVIRONMENT and CAVEATS AND BUGS, for advice on
setting up the runtime environment, and avoiding known runtime problems,
before running groff.
CHOOSING AN INSTALLATION PATH
-----------------------------
It may be noted that the above instructions indicate that the ./configure
command must be invoked with an argument specifying a preference for
--prefix=<win32-install-path>, whereas the standard groff installation
instructions indicate that this may be omitted, in which case it defaults to
--prefix=/usr/local.
In the case of building with MinGW, the default behaviour of configure is
not appropriate for the following reasons.
o The MSYS environment creates a virtual UNIX-like file system, with its
root mapped to the actual MS-Windows directory where MSYS itself is
installed; /usr is also mapped to this MSYS installation directory.
o All of the MSYS tools, and the MinGW implementation of GCC, refer to files
via this virtual file system representation; thus, if the
--prefix=<win32-install-path> is not specified when groff is configured,
`make install' causes groff to be installed in <MSYS-install-path>/local.
o groff needs to know its own installation path, so that it can locate its
own installed components. This information is compiled in, using the
exact form specified with the --prefix=<win32-install-path> option to
configure.
o Knowledge of the MSYS virtual file system is not imparted to groff; it
expects the compiled-in path to its components to be a fully qualified
MS-Windows path name (although UNIX-style slashes are permitted, and
preferred to the MS-Windows style backslashes, to demarcate the directory
hierarchy). Thus, when configuring groff, if
--prefix=<win32-install-path> is not correctly specified, then the
installed groff application looks for its components in /usr/local, and
most likely doesn't find them, because they are actually installed in
<MSYS-install-path>/local.
It is actually convenient, but by no means a requirement, to have groff
installed in the /usr/local directory of the MSYS virtual file system; this
makes it easy to invoke groff from the MSYS shell, since the virtual
/usr/local/bin is normally added automatically to the PATH (the default
PATH, as set in MSYS's /etc/profile), when MSYS is started.
In order to install groff into MSYS's /usr/local directory, it is necessary
to specify the fully qualified absolute MS-Windows path to this directory,
when configuring groff, i.e.
./configure --prefix=<MSYS-install-path>/local ...
For example, on a system where MSYS is installed in the MS-Windows directory
D:\MSYS\1.0, the MSYS virtual path /usr/local resolves to the absolute
MS-Windows native path D:\MSYS\1.0\local (the /usr component of the MSYS
virtual path does not appear in the resolved absolute native path name since
MSYS maps this directly to the root of the MSYS virtual file system). Thus,
the --prefix option should be specified to configure as
./configure --prefix=D:/MSYS/1.0/local ...
Note that the backslash characters, which appear in the native MS-Windows
form of the path name, are replaced by UNIX-style slashes in the argument to
configure; this is the preferred syntax.
Also note that the MS-Windows device designator (D: in this instance) is
prepended to the specified path, in the normal MS-Windows format, and that,
since upper and lower case distinctions are ignored in MS-Windows path
names, any combination of upper and lower case is acceptable.
PREREQUISITES FOR HTML OUTPUT
-----------------------------
If you intend to use groff for production of HTML output, then there are a
few dependencies which must be satisfied. Ideally, these should be resolved
before attempting to configure and build groff, since the configuration
script does check them.
In order to produce HTML output, you first require a working implementation
of Ghostscript; either the AFPL Ghostscript or the GNU Ghostscript
implementation for MS-Windows should be suitable, depending on your
licensing preference. It is highly recommended to use version 8.11 or
higher due to bugs in older versions. These may be obtained, in the form of
self-installing binary packages, by following the download links for the
chosen licensing option, from http://sourceforge.net/projects/ghostscript.
Please note that these packages install the Ghostscript interpreter required
by groff in the ./bin subdirectory of the Ghostscript installation
directory, with the name gswin32c.exe. However, groff expects this
interpreter to be located in the system PATH, with the name gs.exe. Thus,
to ensure that groff can correctly locate the Ghostscript interpreter, it is
recommended that the file gswin32c.exe should be copied from the Ghostscript
installation directory to the MSYS /usr/local/bin directory, where it should
be renamed to gs.exe.
In addition to a working Ghostscript interpreter, you also require several
image manipulation utilities, all of which may be scavenged from various
packages available from http://sourceforge.net/projects/gnuwin32, and which
should be installed in the MSYS /usr/local/bin directory, or any other
suitable directory which is specified in the PATH. These additional
prerequisites are
1. from the netpbm-<version>-bin.zip package:
netpbm.dll
pnmcrop.exe
pnmcut.exe
pnmtopng.exe
pnmtops.exe
2. from the libpng-<version>-bin.zip package:
libpng.dll
3. from the zlib-<version>-bin.zip package:
zlib-1.dll, which must be renamed to zlib.dll
4. from the psutils-<version>-bin.zip package:
psselect.exe
Note that it is not necessary to install the above four packages in their
entirety; of course, you may do so if you wish.
GROFF RUNTIME ENVIRONMENT
-------------------------
The runtime environment, provided to groff by MSYS, is essentially the same
as would be provided under a UNIX or GNU/Linux operating system; thus, any
environment variables which may be used to customize the groff runtime
environment have similar effects under MSYS, as they would in UNIX or
GNU/Linux, with the exception that any variable specifying a path should
adopt the same syntax as a native MS-Windows PATH specification.
There is, however, one known problem which is associated with the
implementation of the MS-Windows file system, and the manner in which the
Microsoft runtime library (which is used by the MinGW implementation of GCC)
generates names for temporary files. This known problem arises when groff
is invoked with a current working directory which refers to a network share,
for which the user does not have write access in the root directory, and
there is no environment variable set to define a writeable location for
creating temporary files. When these conditions arise, groff fails with a
`permission denied' error, as soon as it tries to create any temporary file.
To specify the location for creating temporary files, the standard UNIX or
GNU/Linux implementation of groff provides the GROFF_TMPDIR or TMPDIR
environment variables, whereas MS-Windows applications generally use TMP or
TEMP; furthermore, the MS-Windows implementations of Ghostscript apparently
support the use of only TEMP or TMPDIR.
To avoid problems with creation of temporary files, it is recommended that
you ensure that both TMP and TEMP are defined, with identical values, to
point to a suitable location for creating temporary files; many MS-Windows
boxes have them set already, and groff has been adapted to honour them, when
built in accordance with the preceding instructions, using MinGW.
CAVEATS AND BUGS
----------------
There are two known issues, observed when running groff in the MinGW/MSYS
environment, which would not affect groff in its native UNIX environment:
o Running groff with the working directory set to a subdirectory of a
network share, where the user does not have write permission in the root
directory of the share, causes groff to fail with a `permission denied'
exception, if the TMP environment variable is not appropriately defined;
it may also be necessary to define the TEMP environment variable, to avoid
a similar failure mode, when using the -Thtml output mode of groff. This
problem is more fully discussed in the preceding section, GROFF RUNTIME
ENVIRONMENT.
o When running groff (or nroff) to process standard input, where the
standard input stream is obtained directly from the RXVT console provided
with MSYS, groff cannot detect the end-of-file condition for the standard
input stream, and hangs. This appears to be caused by a fault in the MSYS
implementation of RXVT; it may be worked around by either starting MSYS
without RXVT (see the comments in the MSYS.BAT startup script); in this
case standard input is terminated by typing <Ctrl-Z> followed by <RETURN>,
on a new input line. Alternatively, if you prefer to use MSYS with RXVT,
you can enter the interactive groff command in the form
cat | groff ...
in which case <Ctrl-D> terminates the standard input stream, in just the
same way it does on a UNIX system; the cat executable provided with MSYS
does seem to trap the end-of-file condition, and properly signals groff
that the input stream has terminated.

View file

@ -1 +0,0 @@
2

View file

@ -1,25 +0,0 @@
Unicode input:
Making groff 21bit input-clean.
Make -Tlj4 work with -X.
Guess man5ext and man7ext variables.
Provide man.sun implementing .TX.
Improve GROFF_PRINT macro in aclocal.m4.
Provide a `check' target.
Provide a `bindist' target.
Implement tmac.bib in terms of tmac.s.
Support long options using GNU getopt.
Catch the following error in -me:
.(z
.(l C
.)z
Arrows for next/previous page from R5 xditview.

View file

@ -1 +0,0 @@
1.19

1152
contrib/groff/aclocal.m4 vendored

File diff suppressed because it is too large Load diff

11663
contrib/groff/configure vendored

File diff suppressed because it is too large Load diff

View file

@ -1,126 +0,0 @@
# Autoconf configuration file for groff.
# Copyright (C) 1989-1995, 2001, 2002, 2003, 2004, 2005
# Free Software Foundation, Inc.
#
# This file is part of groff.
#
# groff is free software; you can redistribute it and/or modify it under
# the terms of the GNU General Public License as published by the Free
# Software Foundation; either version 2, or (at your option) any later
# version.
#
# groff is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# for more details.
#
# You should have received a copy of the GNU General Public License along
# with groff; see the file COPYING. If not, write to the Free Software
# Foundation, 51 Franklin St - Fifth Floor, Boston, MA 02110-1301, USA.
#
# Process this file with autoconf to produce a configure script.
AC_INIT
AC_PREREQ(2.59)
AC_CONFIG_HEADERS([src/include/config.h:src/include/config.hin])
AC_CONFIG_SRCDIR([src/roff/groff/groff.cpp])
# checks for programs
AC_PROG_CC
AC_PROG_CXX
GROFF_CXX_CHECK
GROFF_EBCDIC
GROFF_OS390
GROFF_X11
GROFF_APPRESDIR_OPTION
GROFF_APPRESDIR_DEFAULT
GROFF_PRINT
AC_PATH_PROG([PERLPATH], [perl], [/usr/bin/perl])
GROFF_PROG_YACC
AC_PROG_RANLIB
GROFF_INSTALL_SH
GROFF_INSTALL_INFO
AC_PROG_INSTALL
AC_PROG_LN_S
# use a dummy substitution if no csh hack is necessary to avoid errors
# with non-GNU sed programs
GROFF_CSH_HACK([SH_SCRIPT_SED_CMD='1s/.*/:/'], [SH_SCRIPT_SED_CMD='1s/a/a/'])
AC_SUBST([SH_SCRIPT_SED_CMD])
# checks for headers
AC_CHECK_HEADERS([stdlib.h unistd.h dirent.h limits.h sys/dir.h \
string.h strings.h math.h sys/time.h direct.h process.h])
GROFF_ISC_SYSV3
GROFF_POSIX
# checks for header stuff
GROFF_SRAND
GROFF_NEED_DECLARATION([gettimeofday])
GROFF_NEED_DECLARATION([hypot])
GROFF_NEED_DECLARATION([popen])
GROFF_NEED_DECLARATION([pclose])
GROFF_NEED_DECLARATION([putenv])
GROFF_NEED_DECLARATION([rand])
GROFF_NEED_DECLARATION([snprintf])
GROFF_NEED_DECLARATION([srand])
GROFF_NEED_DECLARATION([strcasecmp])
GROFF_NEED_DECLARATION([strncasecmp])
GROFF_NEED_DECLARATION([vfprintf])
GROFF_NEED_DECLARATION([vsnprintf])
GROFF_SYS_NERR
GROFF_SYS_ERRLIST
GROFF_OSFCN_H
GROFF_LIMITS_H
GROFF_INTTYPES_H
# checks for typedefs
GROFF_UNSIGNED_LONG_LONG
GROFF_UINTMAX_T
GROFF_TIME_T
GROFF_TYPE_SIGNAL
GROFF_STRUCT_EXCEPTION
# checks for libraries
GROFF_LIBC
GROFF_LIBM
# checks for functions
AC_FUNC_MMAP
saved_libs="$LIBS"
LIBS="$LIBS $LIBC $LIBM"
AC_REPLACE_FUNCS([fmod getcwd putenv snprintf strcasecmp \
strerror strncasecmp strtol])
# vsnprintf is in the same source file as snprintf
AC_CHECK_FUNCS([vsnprintf], [], [AC_LIBOBJ([snprintf])])
LIBS="$saved_libs"
AC_CHECK_FUNCS([gettimeofday isatty kill rename setlocale strsep])
GROFF_MKSTEMP
AC_CHECK_DECLS([sys_siglist])
# checks for compiler characteristics
GROFF_ARRAY_DELETE
GROFF_TRADITIONAL_CPP
# checks for operating system services
GROFF_WCOREFLAG
# other random stuff
GROFF_BROKEN_SPOOLER_FLAGS
GROFF_PAGE
GROFF_G
GROFF_TMAC
GROFF_TARGET_PATH_SEPARATOR
GROFF_HTML_PROGRAMS
GROFF_PDFDOC_PROGRAMS
GROFF_PNMTOPS_NOSETPAGE
AC_CONFIG_FILES([stamp-h], [echo timestamp > stamp-h])
AC_CONFIG_FILES([Makefile doc/Makefile src/utils/xtotroff/Makefile])
AC_CONFIG_FILES([contrib/gdiffmk/tests/runtests],
[chmod +x contrib/gdiffmk/tests/runtests])
AC_CONFIG_FILES([test-groff], [chmod +x test-groff])
AC_OUTPUT
GROFF_APPRESDIR_CHECK

View file

@ -1,19 +0,0 @@
MAN1=eqn2graph.n
CLEANADD=eqn2graph
all: eqn2graph
eqn2graph: eqn2graph.sh
rm -f $@; \
sed -e "s|@g@|$(g)|g" \
-e "s|@VERSION@|$(version)$(revision)|" \
-e $(SH_SCRIPT_SED_CMD) $(srcdir)/eqn2graph.sh >$@; \
chmod +x $@
install_data: eqn2graph
-test -d $(bindir) || $(mkinstalldirs) $(bindir)
-rm -f $(bindir)/eqn2graph
$(INSTALL_SCRIPT) eqn2graph $(bindir)/eqn2graph
uninstall_sub:
-rm -f $(bindir)/eqn2graph

View file

@ -1,115 +0,0 @@
.\" $Id: eqn2graph.man,v 1.4 2003/10/28 07:46:23 wlemb Exp $
.\" This documentation is released to the public domain.
.
.
.\" Like TP, but if specified indent is more than half
.\" the current line-length - indent, use the default indent.
.de Tp
.ie \\n(.$=0:((0\\$1)*2u>(\\n(.lu-\\n(.iu)) .TP
.el .TP "\\$1"
..
.
.
.TH EQN2GRAPH @MAN1EXT@ "@MDATE@" "Groff Version @VERSION@"
.IX eqn2graph
.SH NAME
eqn2graph \- convert an EQN equation into a cropped image
.
.
.SH SYNOPSIS
.B eqn2graph
[
.B \-unsafe
]
[
.BI \-format\ fmt
]
.
.
.SH DESCRIPTION
Reads an EQN equation (one line) as input; produces an image
file (by default in Portable Network Graphics format) suitable for the
Web as output.
.P
Your input EQN code should \fInot\fR have the \&.EQ/.EN preamble that
that normally precedes it within
.BR groff (@MAN1EXT@)
macros; nor do you need to have dollar-sign or other delimiters
around the equation.
.P
The output image will be a black-on-white graphic clipped to the
smallest possible bounding box that contains all the black pixels.
By specifying command-line options to be passed to
.BR convert (1)
you can give it a border, set the background transparent, set the
image's pixel density, or perform other useful transformations.
.P
This program uses
.BR @g@eqn (@MAN1EXT@),
.BR groff (@MAN1EXT@),
and the ImageMagick
.BR convert (1)
program.
These programs must be installed on your system and accessible on your
$PATH for \fBeqn2graph\fR to work.
.
.
.SH OPTIONS
.TP
.B \-unsafe
Run
.BR groff (@MAN1EXT@)
in the `unsafe' mode enabling the PIC macro
.B sh
to execute arbitrary commands.
The default is to forbid this.
.TP
.BI \-format\ fmt
Specify an output format; the default is PNG (Portable Network Graphics).
Any format that
.BR convert (1)
can emit is supported.
.PP
Command-line switches and arguments not listed above are passed to
.BR convert (1).
.
.
.SH FILES
.Tp \w'\fB@MACRODIR@/eqnrc'u+2n
.B @MACRODIR@/eqnrc
The
.BR @g@eqn (@MAN1EXT@)
initialization file.
.
.
.SH ENVIRONMENT
.TP
.B GROFF_TMPDIR
The directory in which temporary files will be created.
If this is not set
.B eqn2graph
searches the environment variables
.BR \%TMPDIR ,
.BR TMP ,
and
.B TEMP
(in that order).
Otherwise, temporary files will be created in
.BR /tmp .
.
.
.SH "SEE ALSO"
.BR pic2graph (@MAN1EXT@),
.BR grap2graph (@MAN1EXT@),
.BR @g@eqn (@MAN1EXT@),
.BR groff (@MAN1EXT@),
.BR gs (1),
.BR convert (1).
.
.
.SH AUTHOR
Eric S. Raymond <esr@thyrsus.com>.
.
.\" Local Variables:
.\" mode: nroff
.\" End:

View file

@ -1,91 +0,0 @@
#! /bin/sh
#
# eqn2graph -- compile EQN equation descriptions to bitmap images
#
# by Eric S. Raymond <esr@thyrsus.com>, July 2002
#
# In Unixland, the magic is in knowing what to string together...
#
# Take an eqn equation on stdin, emit cropped bitmap on stdout.
# The pic markup should *not* be wrapped in .EQ/.EN, this script will do that.
# A -U option on the command line enables gpic/groff "unsafe" mode.
# A -format FOO option changes the image output format to any format
# supported by convert(1). All other options are passed to convert(1).
# The default format is PNG.
#
# This is separate from pic2graph because pic processing has some weird
# clipping effect on the output, mangling equations that are very wide
# or deep. Besides, this tool can supply its own delimiters.
#
# Requires the groff suite and the ImageMagick tools. Both are open source.
# This code is released to the public domain.
#
# Here are the assumptions behind the option processing:
#
# 1. None of the options of eqn(1) are relevant.
#
# 2. Only the -U option of groff(1) is relevant.
#
# 3. Many options of convert(1) are potentially relevant, (especially
# -density, -interlace, -transparency, -border, and -comment).
#
# Thus, we pass -U to groff(1), and everything else to convert(1).
#
# $Id: eqn2graph.sh,v 1.5 2005/05/18 07:03:06 wl Exp $
#
groff_opts=""
convert_opts=""
format="png"
while [ "$1" ]
do
case $1 in
-unsafe)
groff_opts="-U";;
-format)
format=$2
shift;;
-v | --version)
echo "GNU eqn2graph (groff) version @VERSION@"
exit 0;;
--help)
echo "usage: eqn2graph [ option ...] < in > out"
exit 0;;
*)
convert_opts="$convert_opts $1";;
esac
shift
done
# create temporary directory
tmp=
for d in "$GROFF_TMPDIR" "$TMPDIR" "$TMP" "$TEMP" /tmp; do
test -z "$d" && continue
tmp=`(umask 077 && mktemp -d -q "$d/eqn2graph-XXXXXX") 2> /dev/null` \
&& test -n "$tmp" && test -d "$tmp" \
&& break
tmp=$d/eqn2graph$$-$RANDOM
(umask 077 && mkdir $tmp) 2> /dev/null && break
done;
if test -z "$tmp"; then
echo "$0: cannot create temporary directory" >&2
{ (exit 1); exit 1; }
fi
trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0 2 15
# Here goes:
# 1. Add .EQ/.EN.
# 2. Process through eqn(1) to emit troff markup.
# 3. Process through groff(1) to emit Postscript.
# 4. Use convert(1) to crop the Postscript and turn it into a bitmap.
read equation
(echo ".EQ"; echo 'delim $$'; echo ".EN"; echo '$'"$equation"'$') | \
groff -e $groff_opts -Tps -P-pletter > $tmp/eqn2graph.ps \
&& convert -trim -crop 0x0 $convert_opts $tmp/eqn2graph.ps $tmp/eqn2graph.$format \
&& cat $tmp/eqn2graph.$format
# End

View file

@ -1,63 +0,0 @@
2005-01-16 Mike Bianchi <MBianchi@Foveal.com>
* gdiffmk.sh (Usage): Fix typos.
<top>: Allow `-M<arg1> <arg2>' also.
* gdiffmk.man: Updated.
2005-01-13 Mike Bianchi <MBianchi@Foveal.com>
* gdiffmk.sh: Add the -D, -M, and -B options, which provide actions
akin to nrchbar.
Thanks to Larry Kollar (http://home.alltel.net/kollar/groff/).
* gdiffmk.man: Updated.
* tests/runtests.in: Added tests for gdiffmk's -D, -M, and -B
options.
* tests/baseline8, tests/baseline9, tests/baseline10: New files.
2004-12-16 Mike Bianchi <MBianchi@Foveal.com>
* tests/runtests.in: Fix typo (s/$(srcdir)/${srcdir}/).
2004-12-15 Werner LEMBERG <wl@gnu.org>
The configure script now generates tests/runtests.
* tests/tests.sh: Renamed to...
* tests/runtests.in: This.
Add proper $srcdir prefixes to make it run from build directory.
* README, Makefile.sub (CLEANADD), tests/test_baseline7: Updated.
2004-12-14 Werner LEMBERG <wl@gnu.org>
* gdiffmk.sh: Make sed pattern work with alternate result of GNU
diff's -D option, using `!' instead of `not' in #endif comments.
(Exit): Use prefix for each emitted message line.
2004-12-14 Mike Bianchi <MBianchi@Foveal.com>
* tests/*: New files for testing gdiffmk.
* README, gdiffmk.man, gdiffmk.sh: Updated.
Minor fixes.
2004-12-13 Mike Bianchi <MBianchi@Foveal.com>
Add `-x' command line option to select a diff program.
* gdiffmk.sh: Add code to handle `-x'.
Move test for working `diff' down.
Fix sed pattern -- `.mc *' needs to be followed by `.mc .'.
(Usage): Updated.
* gdiffmk.man: Updated.
2004-12-12 Mike Bianchi <MBianchi@Foveal.com>
* README: New file.
2004-12-11 Mike Bianchi <MBianchi@Foveal.com>
First import of gdiffmk files.

View file

@ -1,47 +0,0 @@
# Makefile.sub for `gdiffmk' (integration into the groff source tree)
# File position: <groff-source>/contrib/gdiffmk/Makefile.sub
# Last update: 12 December 2004
# Copyright (C) 2004 Free Software Foundation, Inc.
# Written by Mike Bianchi <MBianchi@Foveal.com <mailto:MBianchi@Foveal.com>>
# This file is part of the gdiffmk utility, which is part of groff.
# groff is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# groff is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
# License for more details.
# You should have received a copy of the GNU General Public License
# along with groff; see the files COPYING and LICENSE in the top
# directory of the groff source. If not, write to the Free Software
# Foundation, 51 Franklin St - Fifth Floor, Boston, MA 02110-1301, USA.
########################################################################
MAN1=gdiffmk.n
CLEANADD=gdiffmk tests/runtests
all: gdiffmk
gdiffmk: gdiffmk.sh
rm -f $@; \
sed -e "s|@BINDIR@|$(bindir)|g" \
-e "s|@VERSION@|$(version)$(revision)|g" \
-e $(SH_SCRIPT_SED_CMD) $(srcdir)/gdiffmk.sh >$@; \
chmod +x $@
install_data: gdiffmk
-test -d $(bindir) || $(mkinstalldirs) $(bindir)
-rm -f $(bindir)/gdiffmk
$(INSTALL_SCRIPT) gdiffmk $(bindir)/gdiffmk
uninstall_sub:
-rm -f $(bindir)/gdiffmk

View file

@ -1,46 +0,0 @@
gdiffmk is approximately a recreation of the original Bell Labs/AT&T diffmk
command for troff/nroff documents, with enhancements.
It should not be confused with `diffmk' commands that operate on XML.
The inspiration for this code was a Perl 2 version written in 1989 by Randal
L. Schwartz. See
landfield.com/software/comp.sources.misc/archive-name/volume06/diffmk.p.gz
The command also attempts to reproduce some of the functionality of the old
`nrchbar' command. See
open-systems.ufl.edu/mirrors/ftp.isc.org/usenet/comp.sources.unix/volume10/nrchbar.Z
Thanks to Werner Lemberg for help in making the package more portable and
fit into the GNU groff source structure.
Gnu diff(1) with the -Dname option does all of the work and sed(1)
translates the output into something groff/troff/nroff can handle.
Note the BUGS on the man page.
The `tests' directory contains simple tests. `runtests run' runs them and
compares the output against baseline files. Calling `runtests' without
argument gives the usage.
----------------------------------------------------------------------------
Copyright (C) 2004, 2005 Free Software Foundation, Inc.
Written by Mike Bianchi <MBianchi@Foveal.com <mailto:MBianchi@Foveal.com>>
This file is part of the gdiffmk utility, which is part of groff.
groff is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
groff is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
License for more details.
You should have received a copy of the GNU General Public License
along with groff; see the files COPYING and LICENSE in the top
directory of the groff source. If not, write to the Free Software
Foundation, 51 Franklin St - Fifth Floor, Boston, MA 02110-1301, USA.

View file

@ -1,281 +0,0 @@
.ig \"-*- nroff -*-
Copyright (C) 2004, 2005 Free Software Foundation, Inc.
This file is part of the gdiffmk utility, which is part of groff.
Written by Mike Bianchi <MBianchi@Foveal.com <mailto:MBianchi@Foveal.com>>
Permission is granted to make and distribute verbatim copies of
this manual provided the copyright notice and this permission notice
are preserved on all copies.
Permission is granted to copy and distribute modified versions of this
manual under the conditions for verbatim copying, provided that the
entire resulting derived work is distributed under the terms of a
permission notice identical to this one.
Permission is granted to copy and distribute translations of this
manual into another language, under the above conditions for modified
versions, except that this permission notice may be included in
translations approved by the Free Software Foundation instead of in
the original English.
..
.
.do mso www.tmac
.
.TH GDIFFMK @MAN1EXT@ "@MDATE@" "Groff Version @VERSION@"
.
.
.SH NAME
gdiffmk \- mark differences between groff/nroff/troff files
.
.
.SH SYNOPSIS
.nr a \n(.j
.ad l
.nr i \n(.i
.in +\w'\fBgdiffmk 'u
.ti \niu
.B gdiffmk
.de OP
. ie \\n(.$-1 .RI "[\ \fB\\$1\fP" "\\$2" "\ ]"
. el .RB "[\ " "\\$1" "\ ]"
..
.OP \-a \%addmark
.OP \-c \%changemark
.OP \-d \%deletemark
[\ \c
.B \-D
.OP \-B
.OP \-M "mark1 mark2"
]
.OP \-x \%diffcmd
.OP \-\-
.OP \-\-help
.OP \%\-\-version
.I \%file1
.I \%file2
[\ \c
.IR \%output \ \c
]
.br
.ad \na
.
.
.SH DESCRIPTION
.B gdiffmk
compares two
.BR groff (1),
.BR nroff (1),
or
.BR troff (1)
documents,
.I file1
and
.IR file2 ,
and creates an output which is
.I file2
with added `margin character' (.mc) commands that indicate the differences.
.
.LP
If the
.I output
filename is present,
the output is written there.
If it is
.B \-
or absent the output is written to the standard output.
.
.LP
If the
.I file1
or
.I file2
argument is
.B \-
the standard input is read for that input.
Clearly both cannot be
.BR \- .
.
.LP
Note that the output is not necessarily compatible with all macro packages
and all preprocessors.
See the
.B BUGS
section below.
.
.
.SH OPTIONS
.TP
.BI \-a addmark
Use the
.I addmark
for source lines not in
.I file1
but present in
.IR file2 .
Default:
.BR + .
.
.TP
.B \-B
By default, the deleted texts marked by the
.B \-D
option end
with an added troff break command,
.BR .br ,
to ensure that the deletions are marked properly.
This is the only way to guarantee that deletions and small
changes get flagged.
This option directs the program not to insert these breaks; it makes no
sense to use it without
.BR \-D .
.
.TP
.BI \-c changemark
Use the
.I changemark
for changed source lines.
Default:
.BR | .
.
.TP
.BI \-d deletemark
Use the
.I deletemark
for deleted source lines.
Default:
.BR * .
.
.TP
.B \-D
Show the deleted portions from changed and deleted text.
Default delimiting marks:
.BR "[[" " .\&.\&.\&. " "]]" .
.
.TP
.BI \-M "mark1 mark2"
Change the delimiting marks for the
.B \-D
option.
It makes no sense to use this option without
.BR \-D .
.
.TP
.BI \-x diffcmd
Use the
.I diffcmd
command to perform the comparison of
.I file1
and
.IR file2 .
In particular,
.I diffcmd
should accept the GNU
.B diff
.BI \-D name
option.
Default:
.BR diff (1).
.
.TP
.B \-\-
All the following arguments are treated as file names,
even if they begin with
.BR \- .
.
.TP
.B \-\-help
Print a usage message on standard error output and exit.
.
.TP
.B \-\-version
Print version information on the standard output and exit.
.
.
.SH BUGS
The output is not necessarily compatible with all macro packages
and all preprocessors.
A workaround that is often successful against preprocessor problems
is to run
.B gdiffmk
on the output of all the preprocessors instead of the input source.
.
.LP
.B gdiffmk
relies on the
.BI \-D name
option of GNU
.BR diff (1)
to make a merged `#ifdef' output format.
It hasn't been tested whether other versions of
.BR diff (1)
do support this option.
See also the
.BI \-x diffcmd
option.
.
.LP
Report bugs to bug-groff@gnu.org.
Include a complete, self-contained example that will allow the bug to
be reproduced, and say which version of
.B gdiffmk
you are using.
.
.
.SH AUTHORS
This document was written and is maintained by
.MTO MBianchi@Foveal.com "Mike Bianchi" .
.
.LP
This document is distributed under the terms of the FDL (GNU Free
Documentation License) version 1.1 or later.
You should have received a copy of the FDL on your system, it is also
available on-line at the
.URL http://\:www.gnu.org/\:copyleft/\:fdl.html "GNU copyleft site" .
.
.LP
.B gdiffmk
is part of the
.I groff
GNU free software project.
All parts of the
.I groff package
are protected by GNU copyleft licenses.
The software files are distributed under the terms of the GNU General
Public License (GPL), while the documentation files mostly use the GNU
Free Documentation License (FDL).
.
.
.SH COPYRIGHT
Copyright \(co 2004, 2005 Free Software Foundation, Inc.
.
.LP
.B gdiffmk
is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
Software Foundation; either version 2, or (at your option) any later
version.
.
.LP
.B gdiffmk
is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.
.
.LP
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING.
If not, write to the Free Software
Foundation, 51 Franklin St - Fifth Floor, Boston, MA 02110-1301, USA.
.
.
.SH "SEE ALSO"
.BR groff (@MAN1EXT@),
.BR nroff (@MAN1EXT@),
.BR gtroff (@MAN1EXT@),
.BR diff (@MAN1EXT@)
.
.\" Local Variables:
.\" mode: nroff
.\" End:

View file

@ -1,346 +0,0 @@
#! /bin/sh
# Copyright (C) 2004, 2005 Free Software Foundation, Inc.
# Written by Mike Bianchi <MBianchi@Foveal.com <mailto:MBianchi@Foveal.com>>
# This file is part of the gdiffmk utility, which is part of groff.
# groff is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# groff is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
# License for more details.
# You should have received a copy of the GNU General Public License
# along with groff; see the files COPYING and LICENSE in the top
# directory of the groff source. If not, write to the Free Software
# Foundation, 51 Franklin St - Fifth Floor, Boston, MA 02110-1301, USA.
# This file is part of GNU gdiffmk.
cmd=$( basename $0 )
function Usage {
if test "$#" -gt 0
then
echo >&2 "${cmd}: $@"
fi
echo >&2 "\
Usage: ${cmd} [ OPTIONS ] FILE1 FILE2 [ OUTPUT ]
Place difference marks into the new version of a groff/nroff/troff document.
FILE1 and FILE2 are compared, using \`diff', and FILE2 is output with
groff \`.mc' requests added to indicate how it is different from FILE1.
FILE1 Previous version of the groff file. \`-' means standard input.
FILE2 Current version of the groff file. \`-' means standard input.
Either FILE1 or FILE2 can be standard input, but not both.
OUTPUT Copy of FILE2 with \`.mc' commands added.
\`-' means standard output (the default).
OPTIONS:
-a ADDMARK Mark for added groff source lines. Default: \`+'.
-c CHANGEMARK Mark for changed groff source lines. Default: \`|'.
-d DELETEMARK Mark for deleted groff source lines. Default: \`*'.
-D Show the deleted portions from changed and deleted text.
Default delimiting marks: \`[[' .... \`]]'.
-B By default, the deleted texts marked by the \`-D' option end
with an added troff \`.br' command. This option prevents
the added \`.br'.
-M MARK1 MARK2 Change the delimiting marks for the \`-D' option.
-x DIFFCMD Use a different diff(1) command;
one that accepts the \`-Dname' option, such as GNU diff.
--version Print version information on the standard output and exit.
--help Print this message on the standard error.
"
exit 255
}
function Exit {
exitcode=$1
shift
for arg
do
echo >&2 "${cmd}: $1"
shift
done
exit ${exitcode}
}
# Usage: FileRead exit_code filename
#
# Check for existence and readability of given file name.
# If not found or not readable, print message and exit with EXIT_CODE.
function FileRead {
case "$2" in
-)
return
;;
esac
if test ! -e "$2"
then
Exit $1 "File \`$2' not found."
fi
if test ! -r "$2"
then
Exit $1 "File \`$2' not readable."
fi
}
# Usage: FileCreate exit_code filename
#
# Create the given filename if it doesn't exist.
# If unable to create or write, print message and exit with EXIT_CODE.
function FileCreate {
case "$2" in
-)
return
;;
esac
if ! touch "$2" 2>/dev/null
then
if test ! -e "$2"
then
Exit $1 "File \`$2' not created; " \
"Cannot write directory \`$( dirname "$2" )'."
fi
Exit $1 "File \`$2' not writeable."
fi
}
function WouldClobber {
case "$2" in
-)
return
;;
esac
if test "$1" -ef "$3"
then
Exit 3 \
"The $2 and OUTPUT arguments both point to the same file," \
"\`$1', and it would be overwritten."
fi
}
ADDMARK='+'
CHANGEMARK='|'
DELETEMARK='*'
MARK1='[['
MARK2=']]'
function RequiresArgument {
# Process flags that take either concatenated or
# separated values.
case "$1" in
-??*)
expr "$1" : '-.\(.*\)'
return 1
;;
esac
if test "$#" -lt 2
then
Exit 255 "Option \`$1' requires a value."
fi
echo "$2"
return 0
}
badoption=
DIFFCMD=diff
D_option=
br=.br
for OPTION
do
case "${OPTION}" in
-a*)
ADDMARK=$( RequiresArgument "${OPTION}" $2 ) &&
shift
;;
-c*)
CHANGEMARK=$( RequiresArgument "${OPTION}" $2 ) &&
shift
;;
-d*)
DELETEMARK=$( RequiresArgument "${OPTION}" $2 ) &&
shift
;;
-D )
D_option=D_option
;;
-M* )
MARK1=$( RequiresArgument "${OPTION}" $2 ) &&
shift
if [ $# -lt 2 ]
then
Usage "Option \`-M' is missing the MARK2 value."
fi
MARK2=$2
shift
;;
-B )
br=.
;;
-x* )
DIFFCMD=$( RequiresArgument "${OPTION}" $2 ) &&
shift
;;
--version)
echo "GNU ${cmd} (groff) version @VERSION@"
exit 0
;;
--help)
Usage
;;
--)
# What follows -- are file arguments
shift
break
;;
-)
break
;;
-*)
badoption="${cmd}: invalid option \`$1'"
;;
*)
break
;;
esac
shift
done
${DIFFCMD} -Dx /dev/null /dev/null >/dev/null 2>&1 ||
Usage "The \`${DIFFCMD}' program does not accept" \
"the required \`-Dname' option.
Use GNU diff instead. See the \`-x DIFFCMD' option."
if test -n "${badoption}"
then
Usage "${badoption}"
fi
if test "$#" -lt 2 -o "$#" -gt 3
then
Usage "Incorrect number of arguments."
fi
if test "1$1" = 1- -a "2$2" = 2-
then
Usage "Both FILE1 and FILE2 are \`-'."
fi
FILE1=$1
FILE2=$2
FileRead 1 "${FILE1}"
FileRead 2 "${FILE2}"
if test "$#" = 3
then
case "$3" in
-)
# output goes to standard output
;;
*)
# output goes to a file
WouldClobber "${FILE1}" FILE1 "$3"
WouldClobber "${FILE2}" FILE2 "$3"
FileCreate 3 "$3"
exec >$3
;;
esac
fi
# To make a very unlikely label even more unlikely ...
label=__diffmk_$$__
sed_script='
/^#ifdef '"${label}"'/,/^#endif \/\* '"${label}"'/ {
/^#ifdef '"${label}"'/ s/.*/.mc '"${ADDMARK}"'/
/^#endif \/\* '"${label}"'/ s/.*/.mc/
p
d
}
/^#ifndef '"${label}"'/,/^#endif \/\* [!not ]*'"${label}"'/ {
/^#else \/\* '"${label}"'/,/^#endif \/\* '"${label}"'/ {
/^#else \/\* '"${label}"'/ s/.*/.mc '"${CHANGEMARK}"'/
/^#endif \/\* '"${label}"'/ s/.*/.mc/
p
d
}
/^#endif \/\* \(not\|!\) '"${label}"'/ {
s/.*/.mc '"${DELETEMARK}"'/p
a\
.mc
}
d
}
p
'
if [ ${D_option} ]
then
sed_script='
/^#ifdef '"${label}"'/,/^#endif \/\* '"${label}"'/ {
/^#ifdef '"${label}"'/ s/.*/.mc '"${ADDMARK}"'/
/^#endif \/\* '"${label}"'/ s/.*/.mc/
p
d
}
/^#ifndef '"${label}"'/,/^#endif \/\* [!not ]*'"${label}"'/ {
/^#ifndef '"${label}"'/ {
i\
'"${MARK1}"'
d
}
/^#else \/\* '"${label}"'/ ! {
/^#endif \/\* [!not ]*'"${label}"'/ ! {
p
d
}
}
/^#else \/\* '"${label}"'/,/^#endif \/\* '"${label}"'/ {
/^#else \/\* '"${label}"'/ {
i\
'"${MARK2}"'\
'"${br}"'
s/.*/.mc '"${CHANGEMARK}"'/
a\
.mc '"${CHANGEMARK}"'
d
}
/^#endif \/\* '"${label}"'/ s/.*/.mc/
p
d
}
/^#endif \/\* \(not\|!\) '"${label}"'/ {
i\
'"${MARK2}"'\
'"${br}"'
s/.*/.mc '"${DELETEMARK}"'/p
a\
.mc
}
d
}
p
'
fi
diff -D"${label}" -- ${FILE1} ${FILE2} |
sed -n "${sed_script}"
# EOF

View file

@ -1,11 +0,0 @@
.ll 25
.pl 20
.nf
file1 and file2 #1
file1 only
file1 and file2 #2
file1 and file2 #3
file1 only
file1 only
file1 and file2 #4
file1 and file2 #5

View file

@ -1,11 +0,0 @@
.ll 25
.pl 20
.nf
file1 and file2 #1
file2 only
file2 only
file1 and file2 #2
file2 only
file1 and file2 #3
file1 and file2 #4
file1 and file2 #5

View file

@ -1,98 +0,0 @@
#! /bin/sh
# A very simple function test for gdiffmk.sh.
srcdir=@srcdir@
command=../gdiffmk
# Test the number of arguments and the first argument.
case $#-$1 in
1-clean )
rm -fv test_result* tmp_file*
exit 0
;;
1-run )
;;
* )
echo >&2 "$0 [ clean | run ]
Run a few simple tests on \`${command}'."'
clean Remove the test_result? and tmp_file? files.
run Run the tests.
'
exit 255
;;
esac
function TestResult {
if cmp -s $1 $2
then
echo $2 PASSED
else
echo ''
echo $2 TEST FAILED
diff $1 $2
echo ''
fi
}
tmpfile=/tmp/$$
trap 'rm -f ${tmpfile}' 0 1 2 3 15
# Run tests.
# 3 file arguments
ResultFile=test_result1
${command} ${srcdir}/file1 ${srcdir}/file2 ${ResultFile} 2>${tmpfile}
cat ${tmpfile} >>${ResultFile}
TestResult ${srcdir}/test_baseline ${ResultFile}
# OUTPUT to stdout by default
ResultFile=test_result2
${command} ${srcdir}/file1 ${srcdir}/file2 >${ResultFile} 2>&1
TestResult ${srcdir}/test_baseline ${ResultFile}
# OUTPUT to stdout via - argument
ResultFile=test_result3
${command} ${srcdir}/file1 ${srcdir}/file2 - >${ResultFile} 2>&1
TestResult ${srcdir}/test_baseline ${ResultFile}
# FILE1 from standard input via - argument
ResultFile=test_result4
${command} - ${srcdir}/file2 <${srcdir}/file1 >${ResultFile} 2>&1
TestResult ${srcdir}/test_baseline ${ResultFile}
# FILE2 from standard input via - argument
ResultFile=test_result5
${command} ${srcdir}/file1 - <${srcdir}/file2 >${ResultFile} 2>&1
TestResult ${srcdir}/test_baseline ${ResultFile}
# Different values for addmark, changemark, deletemark
ResultFile=test_result6
${command} -aA -cC -dD ${srcdir}/file1 ${srcdir}/file2 >${ResultFile} 2>&1
TestResult ${srcdir}/test_baseline6 ${ResultFile}
# Test for accidental file overwrite.
ResultFile=test_result7
cp ${srcdir}/file2 tmp_file7
${command} -aA -dD -cC ${srcdir}/file1 tmp_file7 tmp_file7 \
>${ResultFile} 2>&1
TestResult ${srcdir}/test_baseline7 ${ResultFile}
# Test -D option
ResultFile=test_result8
${command} -D ${srcdir}/file1 ${srcdir}/file2 >${ResultFile} 2>&1
TestResult ${srcdir}/test_baseline8 ${ResultFile}
# Test -D and -M options
ResultFile=test_result9
${command} -D -M '<<<<' '>>>>' \
${srcdir}/file1 ${srcdir}/file2 >${ResultFile} 2>&1
TestResult ${srcdir}/test_baseline9 ${ResultFile}
# Test -D and -B options
ResultFile=test_result10
${command} -D -B ${srcdir}/file1 ${srcdir}/file2 >${ResultFile} 2>&1
TestResult ${srcdir}/test_baseline10 ${ResultFile}
# EOF

View file

@ -1,17 +0,0 @@
.ll 25
.pl 20
.nf
file1 and file2 #1
.mc |
file2 only
file2 only
.mc
file1 and file2 #2
.mc +
file2 only
.mc
file1 and file2 #3
.mc *
.mc
file1 and file2 #4
file1 and file2 #5

View file

@ -1,26 +0,0 @@
.ll 25
.pl 20
.nf
file1 and file2 #1
[[
file1 only
]]
.
.mc |
file2 only
file2 only
.mc
file1 and file2 #2
.mc +
file2 only
.mc
file1 and file2 #3
[[
file1 only
file1 only
]]
.
.mc *
.mc
file1 and file2 #4
file1 and file2 #5

View file

@ -1,17 +0,0 @@
.ll 25
.pl 20
.nf
file1 and file2 #1
.mc C
file2 only
file2 only
.mc
file1 and file2 #2
.mc A
file2 only
.mc
file1 and file2 #3
.mc D
.mc
file1 and file2 #4
file1 and file2 #5

View file

@ -1,2 +0,0 @@
gdiffmk: The FILE2 and OUTPUT arguments both point to the same file,
gdiffmk: `tmp_file7', and it would be overwritten.

View file

@ -1,26 +0,0 @@
.ll 25
.pl 20
.nf
file1 and file2 #1
[[
file1 only
]]
.br
.mc |
file2 only
file2 only
.mc
file1 and file2 #2
.mc +
file2 only
.mc
file1 and file2 #3
[[
file1 only
file1 only
]]
.br
.mc *
.mc
file1 and file2 #4
file1 and file2 #5

View file

@ -1,26 +0,0 @@
.ll 25
.pl 20
.nf
file1 and file2 #1
<<<<
file1 only
>>>>
.br
.mc |
file2 only
file2 only
.mc
file1 and file2 #2
.mc +
file2 only
.mc
file1 and file2 #3
<<<<
file1 only
file1 only
>>>>
.br
.mc *
.mc
file1 and file2 #4
file1 and file2 #5

View file

@ -1,19 +0,0 @@
MAN1=grap2graph.n
CLEANADD=grap2graph
all: grap2graph
grap2graph: grap2graph.sh
rm -f $@; \
sed -e "s|@g@|$(g)|g" \
-e "s|@VERSION@|$(version)$(revision)|" \
-e $(SH_SCRIPT_SED_CMD) $(srcdir)/grap2graph.sh >$@; \
chmod +x $@
install_data: grap2graph
-test -d $(bindir) || $(mkinstalldirs) $(bindir)
-rm -f $(bindir)/grap2graph
$(INSTALL_SCRIPT) grap2graph $(bindir)/grap2graph
uninstall_sub:
-rm -f $(bindir)/grap2graph

View file

@ -1,105 +0,0 @@
.\" $Id: grap2graph.man,v 1.3 2003/10/28 07:46:23 wlemb Exp $
.\" This documentation is released to the public domain.
.
.
.TH GRAP2GRAPH @MAN1EXT@ "@MDATE@" "Groff Version @VERSION@"
.IX grap2graph
.SH NAME
grap2graph \- convert a grap diagram into a cropped bitmap image
.
.
.SH SYNOPSIS
.B grap2graph
[
.B \-unsafe
]
[
.BI \-resolution\ M\fR|\fPMxN
]
[
.BI \-format\ fmt
]
.
.
.SH DESCRIPTION
Reads a grap program as input; produces an image file (by default in
Portable Network Graphics format) suitable for the Web as output.
For a description of the grap language, see
.BR grap (1).
.P
Your graph specification should \fInot\fR be wrapped with the \&.G1 and
\&.G2 macros that normally guard it within
.BR groff (@MAN1EXT@)
macros.
.P
The output image will be a black-on-white graphic clipped to the
smallest possible bounding box that contains all the black pixels.
By specifying command-line options to be passed to
.BR convert (1)
you can give it a border, set the background transparent, set the
image's pixel density, or perform other useful transformations.
.P
This program uses
.BR grap (1),
.BR @g@pic (@MAN1EXT@),
.BR groff (@MAN1EXT@),
and the ImageMagick
.BR convert (1)
program.
These programs must be installed on your system and accessible on your
$PATH for \fBgrap2graph\fR to work.
.
.
.SH OPTIONS
.TP
.B \-unsafe
Run
.BR @g@pic (@MAN1EXT@)
and
.BR groff (@MAN1EXT@)
in the `unsafe' mode enabling the PIC macro
.B sh
to execute arbitrary commands.
The default is to forbid this.
.TP
.BI \-format\ fmt
Specify an output format; the default is PNG (Portable Network Graphics).
Any format that
.BR convert (1)
can emit is supported.
.PP
Command-line switches and arguments not listed above are passed to
.BR convert (1).
.
.
.SH ENVIRONMENT
.TP
.B GROFF_TMPDIR
The directory in which temporary files will be created.
If this is not set
.B grap2graph
searches the environment variables
.BR \%TMPDIR ,
.BR TMP ,
and
.B TEMP
(in that order).
Otherwise, temporary files will be created in
.BR /tmp .
.
.
.SH "SEE ALSO"
.BR pic2graph (@MAN1EXT@),
.BR eqn2graph (@MAN1EXT@),
.BR @g@pic (@MAN1EXT@),
.BR groff (@MAN1EXT@),
.BR gs (1),
.BR convert (1).
.
.
.SH AUTHOR
Eric S. Raymond <esr@thyrsus.com>
.
.\" Local Variables:
.\" mode: nroff
.\" End:

View file

@ -1,85 +0,0 @@
#! /bin/sh
#
# grap2graph -- compile graph description descriptions to bitmap images
#
# by Eric S. Raymond <esr@thyrsus.com>, May 2003
#
# In Unixland, the magic is in knowing what to string together...
#
# Take grap description on stdin, emit cropped bitmap on stdout.
# The pic markup should *not* be wrapped in .G1/.G2, this script will do that.
# A -U option on the command line enables gpic/groff "unsafe" mode.
# A -format FOO option changes the image output format to any format
# supported by convert(1). All other options are passed to convert(1).
# The default format is PNG.
#
# Requires the groff suite and the ImageMagick tools. Both are open source.
# This code is released to the public domain.
#
# Here are the assumptions behind the option processing:
#
# 1. None of the options of grap(1) are relevant.
#
# 2. Only the -U option of groff(1) is relevant.
#
# 3. Many options of convert(1) are potentially relevant, (especially
# -density, -interlace, -transparency, -border, and -comment).
#
# Thus, we pass -U to groff(1), and everything else to convert(1).
#
# $Id: grap2graph.sh,v 1.4 2005/05/18 07:03:06 wl Exp $
#
groff_opts=""
convert_opts=""
format="png"
while [ "$1" ]
do
case $1 in
-unsafe)
groff_opts="-U";;
-format)
format=$2
shift;;
-v | --version)
echo "GNU grap2graph (groff) version @VERSION@"
exit 0;;
--help)
echo "usage: grap2graph [ option ...] < in > out"
exit 0;;
*)
convert_opts="$convert_opts $1";;
esac
shift
done
# create temporary directory
tmp=
for d in "$GROFF_TMPDIR" "$TMPDIR" "$TMP" "$TEMP" /tmp; do
test -z "$d" && continue
tmp=`(umask 077 && mktemp -d -q "$d/grap2graph-XXXXXX") 2> /dev/null` \
&& test -n "$tmp" && test -d "$tmp" \
&& break
tmp=$d/grap2graph$$-$RANDOM
(umask 077 && mkdir $tmp) 2> /dev/null && break
done;
if test -z "$tmp"; then
echo "$0: cannot create temporary directory" >&2
{ (exit 1); exit 1; }
fi
trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0 2 15
# Here goes:
# 1. Add .G1/.G2.
# 2. Process through grap(1) to emit pic markup.
# 3. Process through groff(1) with pic preprocessing to emit Postscript.
# 4. Use convert(1) to crop the Postscript and turn it into a bitmap.
(echo ".G1"; cat; echo ".G2") | grap | groff -p $groff_opts -Tps -P-pletter | \
convert -trim -crop 0x0 $convert_opts - $tmp/grap2graph.$format \
&& cat $tmp/grap2graph.$format
# End

File diff suppressed because it is too large Load diff

View file

@ -1,60 +0,0 @@
# Makefile.sub for `groffer' (integration into the `groff' source tree)
# File position: <groff-source>/contrib/groffer/Makefile.sub
# Copyright (C) 2001,2002,2005 Free Software Foundation, Inc.
# Written by Werner Lemberg <wl@gnu.org> and Bernd Warken.
# Last update: 15 August 2005
# This file is part of `groffer' which is part of `groff'.
# `groff' is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# `groff' is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with `groff'; see the files COPYING and LICENSE in the top
# directory of the `groff' source. If not, write to the Free Software
# Foundation, 51 Franklin St - Fifth Floor, Boston, MA 02110-1301, USA.
########################################################################
MAN1=groffer.n
CLEANADD=groffer
# not all make programs have $(RM) predefined.
RM=rm -f
all: groffer
groffer: groffer.sh groffer2.sh $(SH_DEPS_SED_SCRIPT)
$(RM) $@;
sed -f $(SH_DEPS_SED_SCRIPT) \
-e "s|@g@|$(g)|g" \
-e "s|@BINDIR@|$(bindir)|g" \
-e "s|@libdir@|$(libdir)|g" \
-e "s|@VERSION@|$(version)$(revision)|g" \
-e $(SH_SCRIPT_SED_CMD) $(srcdir)/groffer.sh >$@;
chmod +x $@
install_data: groffer
-test -d $(bindir) || $(mkinstalldirs) $(bindir)
-$(RM) $(bindir)/groffer
$(INSTALL_SCRIPT) groffer $(bindir)/groffer
-test -d $(libdir)/groff/groffer || \
$(mkinstalldirs) $(libdir)/groff/groffer
-$(RM) $(libdir)/groff/groffer/groffer2.sh
$(INSTALL_SCRIPT) $(srcdir)/groffer2.sh \
$(libdir)/groff/groffer/groffer2.sh
uninstall_sub:
-$(RM) $(bindir)/groffer
-$(RM) $(libdir)/groff/groffer/groffer2.sh
-rmdir $(libdir)/groff/groffer

View file

@ -1,104 +0,0 @@
README
The `groffer' program is the easiest way to read documents written in
some `roff' language, such as the `man pages', the manual pages in
many operating systems.
Input
Input comes from either standard input or command line parameters that
represent names of exisiting roff files or standardized specifications
for searching man pages. All of these can be compressed in a format
that is decompressible by `gzip', including `.gz', `bz2', and `.Z'.
`groffer' has many built-in `man' functionalities to find and read the
manual pages on UNIX and similar operating systems. It accepts the
information from an installed `man' program, but tries to find a man
path by itself.
`groffer' bundles all filespec parameters into a single output file in
the same way as `groff'. The disadvantage of this is that all file
name arguments must use the same groff language. To change this, the
option parsing must be revised for large parts. It seems that this
would create incompatibilities, so the actual option strategy is kept.
Output
All input is first sent to `grog' to determine the necessary `groff'
options and then to `groff'. So no special `groff' arguments must be
given. But all `groff' options can be specified when this seems to be
appropriate.
The following displaying modes for the output are available:
- Display formatted input with
-- the X `roff' viewer `gxditview',
-- a Postcript viewer,
-- a PDF viewer,
-- a DVI viewer,
-- a web browser,
-- a pager in a text terminal (tty).
- Generate `groff' output on stdout without a viewer.
- Generate the `groff intermediate output' on standard output without
postprocessing.
- Output the source code without any `groff' processing.
- There are some information outputs without `groff' processing, such
as by option `-V' and the `man' like `whatis' and `apropos'
outputs.
By default, the program tries to display with `gxditview' as graphical
device in X; on non-X text terminals, the `tty' text mode with a pager
is tried by default.
Compatibility
`groffer' consists of two shell scripts. It should run on any POSIX
or Bourne style shell that supports shell functions. See file
`README_SH' for more information.
Mailing lists
For reporting bugs of `groffer', groff's free mailing list
<bug-groff@gnu.org> can be used.
For a general discussion, the mailing list <groff@gnu.org> is more
useful, but one has to subscribe to this list at
http://lists.gnu.org/mailman/listinfo/groff.
See the `README' file in the top directory of the `groff' source
package for more details on these mailing lists.
####### License
Last update: 2 August 2005
Copyright (C) 2003,2004,2005 Free Software Foundation, Inc.
Written by Bernd Warken
This file is part of `groffer', which is part of `groff'.
`groff' is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
`groff' is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with `groff'; see the files COPYING and LICENSE in the top
directory of the `groff' source. If not, write to the Free Software
Foundation, 51 Franklin St - Fifth Floor, Boston, MA 02110-1301, USA.
####### Emacs settings
Local Variables:
mode: text
End:

View file

@ -1,268 +0,0 @@
Additional description for the shell version of `groffer'
Scripts
The shell version of `groffer' contains two files, `groffer.sh' and
`groffer2.sh'.
`groffer.sh' is a short introductory script without any functions. I
can be run with a very poor Bourne shell. It just contains some basic
variables, the reading of the configuration files, and the
determination of the shell for `groffer2.sh'. This script is
transformed by `make' into `groffer' which will be installed into
@bindir@, which is usually /usr/local/bin.
`groffer2.sh' is a long main script with all functions; it is called
by `groffer.sh' (`groffer' after installation). It is installed
unchanged into @libdir@/groff/groffer, which is usually
/usr/local/lib/groff/groffer. This script can be called with a
different shell, using the `groffer' option `--shell'.
Options
The `groffer' script provides its own option parser. It is compatible
to the usual GNU style command line This includes long option names
with two signs such as `--option', clusters of short options, the
mixing of options and non-option file names, the option `--' to close
the option handling, and it is possible to abbreviate the long option
names.
The flexible mixing of options and file names in GNU style is always
possible, even if the environment variable `$POSIXLY_CORRECT' is set
to a non-empty value. This disables the rather wicked POSIX behavior
to terminate option parsing when the first non-option command line
argument is found.
Error Handling
Error handling and exit behavior is complicated by the fact that
`exit' can only escape from the current shell; trouble occurs in
subshells. This was solved by sending kill signals, see $_PROCESS_ID
and error().
Function Definitions in `groffer2.sh'
Each funtion in groffer2.sh has a description that starts with the
function name and symbols for its arguments in paranthesis `()'. Each
`<>' construction gives an argument name that just gives a hint on
what the argument is meant to be; these argument names are otherwise
irrelevant. The `>' sign can be followed by another character that
shows how many of these arguments are possible.
<arg> exactly 1 of this argument
<arg>? 0 or 1 of these arguments
<arg>* arbitrarily many such arguments, incl. none
<arg>+ one or more such arguments
<arg>... one or more such arguments
[...] optional arguments
A function that starts with an underscore `_' is an internal function
for some other function. The internal functions are defined just
after their corresponding function.
External Environment Variables
The groffer.sh script uses the following external system variables.
It is supposed that these variables are already exported outside of
groffer.sh; otherwise they do not have a value within the script.
external system environment variables that are explicitly used
$DISPLAY: Presets the X display.
$LANG: For language specific man pages.
$LC_ALL: For language specific man pages.
$LC_MESSAGES: For language specific man pages.
$PAGER: Paging program for tty mode.
$PATH: Path for the programs called (`:' separated list).
groffer native environment variables
$GROFFER_OPT preset options for groffer.
all groff environment variables are used, see groff(1)
$GROFF_BIN_PATH: Path for all groff programs.
$GROFF_COMMAND_PREFIX: '' (normally) or 'g' (several troffs).
$GROFF_FONT_PATH: Path to non-default groff fonts.
$GROFF_TMAC_PATH: Path to non-default groff macro files.
$GROFF_TMPDIR: Directory for groff temporary files.
$GROFF_TYPESETTER: Preset default device.
all GNU man environment variables are used, see man(1).
$MANOPT: Preset options for man pages.
$MANPATH: Search path for man pages (: list).
$MANROFFSEQ: Ignored because of grog guessing.
$MANSECT: Search man pages only in sections (:).
$SYSTEM: Man pages for different OS's (, list).
Object-oriented Functions
The groffer script provides an object-oriented construction (OOP). In
object-oriented terminology, a type of object is called a `class'; a
function that handles objects from a class is named `method'.
In the groffer script, the object is a variable name whose content is
the object's data. Methods are functions that have an object as first
argument.
The basic functions for object handling are obj_*().
The class `list' represents an array structure, see list_*().
Shell Compatibility
The `groffer' shell scripts are compatible to both the GNU and the
POSIX shell and utilities. Care was taken to restrict the programming
technics used here in order to achieve POSIX compatibility as far back
as POSIX P1003.2 Draft 11.2 of September 1991. This draft is
available at http://www.funet.fi/pub/doc/posix/p1003.2/d11.2 in the
internet.
The POSIX draft does not include `local' variables for functions. So
this concept was replaced by global variables with a prefix that
differs for each function. The prefix is chosen from the function
name. These quasi-local variables are unset before each return of the
function.
The `groffer' scripts were tested under the shells `ash', `bash',
`bash-minimal', `dash', 'ksh', `mksh', `pdksh', 'posh', and `zsh'
without problems in Linux Debian. A shell can be tested by the
`groffer' option `--shell', but that will run only with groffer2.sh.
To start it directly from the beginning under this shell the following
command can be used.
<shell-name> groffer.sh --shell=<shell-name> <argument>...
Some shells are not fully POSIX compatible. For them the following
restrictions were done. For more information look at the
documentation `Portable shells' in the `info' page of `autoconf'
(look-up in Emacs-Help-Manuals_Info).
- The command parts `then', `else', and `do' must be written each on a
line of their own.
- Replace `for i in "$@"' by `for i' and remove internal `;' (kah).
- Replace `set -- ...' by `set x ...; shift'. After the first
non-option argument, all arguments including those starting with `-'
are accepted as non-option. For variables or `$()' constructs with
line-breaks, use `eval set' without quotes. That transforms a
line-break within a variable to a space.
- The name of the variable in `for' is chosen as a single character
(old ash). The content of such variables is not safe because it can
also occur in other functions. So it is often stored in an
additional quasi-local variable.
- `echo' is not portable on options; some `echo' commands have many
options, others have none. So `echo -n' cannot be used, such that
the output of each function has complete lines. There are two
methods to avoid having `-' as the first character of any argument.
Either a character such as `x' can be prepended to the argument;
this must later on be removed by `sed'. Otherwise, `echo' can be
replaced by `cat <<EOF'.
- `ls' has problems. Old UNIX systems echoed the error message to
standard output. So handle the output with `sed'. If the output
contains `not found' map it to an empty string.
- As `test -e' is not available in Solaris 2.5 replace it by
`test -f || test -d'.
- As `unset' is not supported by all shells replace it by `eval
${_UNSET}' where this variable is `unset' if it exists and `:'
otherwise.
- Some shells have problems with options in `eval'. So quoting must
be done right to hide the options from `eval'.
- In backquote calls `` avoid the backquote ` in comments.
- Replace `true' by `:', `false' isn't used.
- Do not redefine builtins as functions (ash).
- Avoid `[^...]' in `case' patterns (ash).
- `trap' does not allow error code 127.
The scripts call the following commands with all options used:
.
:
apropos
break
bzip2 -c -d -t
cat
catz
cd
continue
echo
eval
expr
grep
groff -v
grog -T -X -Z
gs -c -d -f -q -s
gzip -c -d -f
less -r -R
ls
man -k --apropos
mkdir
mv
pwd
return
rm -f -r
rmdir
sed -e -n
set -e
sh -c
shift
test -c -d -f -r -s -w -x
trap
umask
unset
Bugs
If the `groffer' run is interrupted by Crtl-C the clean up is not done
by all shells. The `trap' commands work for the shells `bash',
`bash-minimal', and 'ksh'; they do not work for `ash', `dash',
`pdksh', `posh', and `zsh'.
####### License
Last update: 19 August 2005
Copyright (C) 2003,2004,2005 Free Software Foundation, Inc.
Written by Bernd Warken
This file is part of `groffer', which is part of `groff'.
`groff' is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
`groff' is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
License for more details.
You should have received a copy of the GNU General Public License
along with `groff'; see the files COPYING and LICENSE in the top
directory of the `groff' source. If not, write to the Free Software
Foundation, 51 Franklin St - Fifth Floor, Boston, MA 02110-1301, USA.
####### Emacs settings
Local Variables:
mode: text
End:

View file

@ -1,58 +0,0 @@
TODO file for `groffer'
File position: <groff-source>/contrib/groffer/TODO
####### TODO
Revision:
Optimization:
- Optimize `man' path determination in manpath_add_lang_sys() for speed
by building-up the `man' path only by and by as far as necessary
(not trivial).
- To increase the running speed write part of the `groffer' shell
script in C/C++.
Features of external programs:
- Revise option handling of `grog'.
Documentation:
- Improve the documentation of the search algorithm for `man' pages in
both the `groffer' scripts and the `man' page `groffer.man'.
- In `groffer.man', add more documentation for parts that were taken
over from GNU `man'.
- The documentation in the headers for some function definitions in
`groffer2.sh' needs to be updated.
####### License
Last update: 16 August 2005
Copyright (C) 2003,2004,2005 Free Software Foundation, Inc.
Written by Bernd Warken
This file is part of `groffer', which is part of `groff'.
`groff' is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
`groff' is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
License for more details.
You should have received a copy of the GNU General Public License
along with `groff'; see the files COPYING and LICENSE in the top
directory of the `groff' source. If not, write to the Free Software
Foundation, 51 Franklin St - Fifth Floor, Boston, MA 02110-1301, USA.
####### Emacs settings
Local Variables:
mode: text
End:

File diff suppressed because it is too large Load diff

View file

@ -1,299 +0,0 @@
#! /bin/sh
# groffer - display groff files
# Source file position: <groff-source>/contrib/groffer/groffer.sh
# Copyright (C) 2001,2002,2003,2004,2005
# Free Software Foundation, Inc.
# Written by Bernd Warken
# This file is part of `groffer', which is part of `groff' version
# @VERSION@. See $_GROFF_VERSION.
# `groff' is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# `groff' is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with `groff'; see the files COPYING and LICENSE in the top
# directory of the `groff' source. If not, write to the Free Software
# Foundation, 51 Franklin St - Fifth Floor, Boston, MA 02110-1301,
# USA.
########################################################################
_PROGRAM_VERSION='0.9.22';
_LAST_UPDATE='22 August 2005';
export _PROGRAM_VERSION;
export _LAST_UPDATE;
export GROFFER_OPT; # option environment for groffer
export _CONF_FILE_ETC; # configuration file in /etc
export _CONF_FILE_HOME; # configuration file in $HOME
export _CONF_FILES; # configuration files
_CONF_FILE_ETC='/etc/groff/groffer.conf';
_CONF_FILE_HOME="${HOME}/.groff/groffer.conf";
_CONF_FILES="${_CONF_FILE_ETC} ${_CONF_FILE_HOME}";
# characters
export _AT;
export _SP;
export _SQ;
export _TAB;
_AT='@';
_SP=' ';
_SQ="'";
_TAB=' ';
export _ERROR;
_ERROR='7'; # for syntax errors; no `-1' in `ash'
# @...@ constructs
export _GROFF_VERSION
_GROFF_VERSION='@VERSION@';
if test _@VERSION@_ = _${_AT}VERSION${_AT}_
then
_GROFF_VERSION='1.19.2';
fi;
export _AT_BINDIR_AT;
export _AT_G_AT;
export _AT_LIBDIR_AT;
export _GROFFER_LIBDIR;
if test _@BINDIR@_ = _${_AT}BINDIR${_AT}_
then
# script before `make'
_AT_BINDIR_AT='.';
_AT_G_AT='';
_AT_LIBDIR_AT='';
_GROFFER_LIBDIR='.';
else
_AT_BINDIR_AT='@BINDIR@';
_AT_G_AT='@g@';
_AT_LIBDIR_AT='@libdir@';
_GROFFER_LIBDIR="${_AT_LIBDIR_AT}"'/groff/groffer';
fi;
export _GROFFER_SH; # file name of this shell script
case "$0" in
*groffer*)
_GROFFER_SH="$0";
# was: _GROFFER_SH="${_AT_BINDIR_AT}/groffer";
;;
*)
echo 'The groffer script should be started directly.' >&2
exit 1;
;;
esac;
export _GROFFER2_SH; # file name of the script that follows up
_GROFFER2_SH="${_GROFFER_LIBDIR}"/groffer2.sh;
export _NULL_DEV;
if test -c /dev/null
then
_NULL_DEV="/dev/null";
else
_NULL_DEV="NUL";
fi;
# Test of the `$()' construct.
if test _"$(echo "$(echo 'test')")"_ \
!= _test_
then
echo 'The "$()" construct did not work.' >&2;
exit "${_ERROR}";
fi;
# Test of sed program
if test _"$(echo red | sed -e 's/r/s/')"_ != _sed_
then
echo 'The sed program did not work.' >&2;
exit "${_ERROR}";
fi;
########################### configuration
# read and transform the configuration files, execute the arising commands
for f in "${_CONF_FILE_HOME}" "${_CONF_FILE_ETC}"
do
if test -f "$f"
then
o=""; # $o means groffer option
# use "" quotes because of ksh and posh
eval "$(cat "$f" | sed -n -e '
# Ignore comments
/^['"${_SP}${_TAB}"']*#/d
# Delete leading and final space
s/^['"${_SP}${_TAB}"']*//
s/['"${_SP}${_TAB}"']*$//
# Print all shell commands
/^[^-]/p
# Replace empty arguments
s/^\(-[^ ]*\)=$/o="${o} \1 '"${_SQ}${_SQ}"'"/p
# Replace division between option and argument by single space
s/[='"${_SP}${_TAB}"']['"${_SP}${_TAB}"']*/'"${_SP}"'/
# Handle lines without spaces
s/^\(-[^'"${_SP}"']*\)$/o="${o} \1"/p
# Print options that have their argument encircled with single quotes
/^-[^ ]* '"${_SQ}"'.*'"${_SQ}"'$/s/^.*$/o="${o} &"/p
# Replace encircled double quotes by single quotes and print the result
s/^\(-[^ ]*\) "\(.*\)"$/o="${o} \1 '"${_SQ}"'\2'"${_SQ}"'"/p
# Encircle the remaining arguments with single quotes
s/^\(-[^ ]*\) \(.*\)$/o="${o} \1 '"${_SQ}"'\2'"${_SQ}"'"/p
')"
if test _"${o}"_ != __
then
if test _"{GROFFER_OPT}"_ = __
then
GROFFER_OPT="${o}";
else
GROFFER_OPT="${o} ${GROFFER_OPT}";
fi;
fi;
fi;
done;
# integrate $GROFFER_OPT into the command line; it isn't needed any more
if test _"${GROFFER_OPT}"_ != __
then
eval set x "${GROFFER_OPT}" '"$@"';
shift;
GROFFER_OPT='';
fi;
########################### Determine the shell
export _SHELL;
# use "``" instead of "$()" for using the case ")" construct
# do not use "" quotes because of ksh
_SHELL=`
# $x means list.
# $s means shell.
# The command line arguments are taken over.
# Shifting herein does not have an effect outside.
export x;
case " $*" in
*\ --sh*) # abbreviation for --shell
x='';
s='';
# determine all --shell arguments, store them in $x in reverse order
while test $# != 0
do
case "$1" in
--shell|--sh|--she|--shel)
if test "$#" -ge 2
then
s="$2";
shift;
fi;
;;
--shell=*|--sh=*|--she=*|--shel=*)
# delete up to first "=" character
s="$(echo x"$1" | sed -e 's/^x[^=]*=//')";
;;
*)
shift;
continue;
esac;
if test _"${x}"_ = __
then
x="'${s}'";
else
x="'${s}' ${x}";
fi;
shift;
done;
# from all possible shells in $x determine the first being a shell
# or being empty
s="$(
# "" quotes because of posh
eval set x "${x}";
shift;
if test $# != 0
then
for i
do
if test _"$i"_ = __
then
# use the empty argument as the default shell
echo empty;
break;
else
# test $i on being a shell program;
# use this kind of quoting for posh
if test _"$(eval "$i -c 'echo ok'" 2>${_NULL_DEV})"_ = _ok_ >&2
then
# shell found
cat <<EOF
${i}
EOF
break;
else
# if not being a shell go on searching
continue;
fi;
fi;
done;
fi;
)";
if test _"${s}"_ != __
then
cat <<EOF
${s}
EOF
fi;
;;
esac;
`
########################### test fast shells for automatic run
if test _"${_SHELL}"_ = __
then
for s in ksh ash dash pdksh zsh posh
do
if test _"$(eval "$s -c 'echo ok'" 2>${_NULL_DEV})"_ = _ok_ >&2
then
_SHELL="$s";
break;
fi;
done;
fi;
########################### start groffer2.sh
if test _"${_SHELL}"_ = _empty_
then
_SHELL='';
fi;
if test _"${_SHELL}"_ = __
then
# no shell found, so start groffer2.sh normally
eval exec "'${_GROFFER2_SH}'" '"$@"';
exit;
else
# start groffer2.sh with the found $_SHELL
# do not quote $_SHELL to allow arguments
eval exec "${_SHELL} '${_GROFFER2_SH}'" '"$@"';
exit;
fi;

File diff suppressed because it is too large Load diff

View file

@ -1,679 +0,0 @@
Thu May 26 08:23:40 2005 Werner LEMBERG <wl@gnu.org>
* m.tmac: Load devtag.tmac.
Wed Mar 16 06:56:02 2005 Larry Kollar <kollar@alltel.net>
Add rudimentary support for grohtml.
* m.tmac (H): Call DEVTAG-NH and DEVTAG-EO-H.
(pg@enable-trap, pg@header): Do nothing for devhtml.
Sun Mar 7 16:34:46 2004 Jeff Conrad <jeff_conrad@msn.com>
* m.tmac (S): Improve debug message.
Wed Mar 05:38:57 2004 Joergen Haegg <jh@axis.com>
* Changed default value for Hy in manual to 0
* Check Hy at each new page
Mon Mar 1 22:16:38 2004 Jeff Conrad <jeff_conrad@msn.com>
* m.tmac (S): Fix scaling indicator for vertical spacing.
Tue Nov 05:14:45 2003 Joergen Haegg <jh@axis.com>
* another patch from ulrich lauther to fix the
TOC up to 14 heading levels.
Mon Oct 13:48:25 2003 Joergen Haegg <jh@axis.com>
* problem with more than 7 levels of headings fixed with
patch from ulrich lauther.
Wed Apr 06:42:35 2003 Joergen Haegg <jh@axis.com>
* the footer was not adjusted by VM due to a missing
pg*extra-footer-size in the calculation of pg*last-pos
Wed Apr 06:04:58 2003 Joergen Haegg <jh@axis.com>
* space adjustments in 4.MT to make it more like
the original
Sun Mar 21:45:10 2003 Joergen Haegg <jh@axis.com>
* removed error check i 4.MT, .AF is not mandatory anymore
Sat Mar 21:56:57 2003 Joergen Haegg <jh@axis.com>
* cov*firm now defined only if arg to AF is non-empty
That will also enable cov*default-firm from the mm locale-file
to work.
Sat Mar 21:05:29 2003 Joergen Haegg <jh@axis.com>
* added .ll in pg@set-env to initialize the
header environment properly
Wed Mar 19 23:02:16 2003 Werner LEMBERG <wl@gnu.org>
* groff_mm.man: Some fixes from Robert D. Goulding
<goulding@Princeton.EDU>.
Wed Sep 09:53:06 2002 Joergen Haegg <jh@axis.com>
* added implicit -mm to mmroff, it's now possible
to use mmroff with or without -mm as argument.
Thu Aug 08 00:31:00 Bob Diertens <bobd@science.uva.nl>
* m.tmac (VM): Add missing backslash.
Fri Jun 10:37:58 2002 Joergen Haegg <jh@axis.com>
* added init@reset for LT-macros so .S works for letters
Thu May 06:30:06 2002 Joergen Haegg <jh@axis.com>
* adding -T to VM for setting the total
header and footer size.
* changing pg*extra-header-size unit from v to u in DS-size
calculation
Mon May 05:40:16 2002 Joergen Haegg <jh@axis.com>
* All lists now get an empty line before the list
even if there is no empty lines between the items (bug in LB)
Sat May 07:36:08 2002 Joergen Haegg <jh@axis.com>
* PIC is now drawn 1v higher, making it
possible to put a picture at 0,0.
* Indentbug in P fixed, Pt=2 now behaves as it should
Wed May 10:18:26 2002 Joergen Haegg <jh@axis.com>
* added L, W and O in groff_mm.man
* extra space in expression removed in EPIC
* EPIC can leftadjust with -L
* EPIC was drawing 1v down
* forgot to add mmse.tmac and mm.tmac to cvs
Fri May 20:35:32 2002 Joergen Haegg <jh@axis.com>
* Clarified manual about INITR
* Added mm.tmac and mmse.tmac wrappers
* Fixed bug in mmroff so a .qrf-file always will be created
* .EQ mark was not correctly positioned anymore.
* changed SP to sp in DS/DE to further correct .EQ
Sun Dec 9 00:00:00 2001 Werner LEMBERG (wl@gnu.org)
* Makefile.sim, groff_mm.man, groff_mmse.man: Minor fixes.
* mmroff.man: This is a section 1 man page.
Minor fixes.
* Makefile.sub: Install mmroff.man in section 1.
Wed Nov 28 00:00:00 2001 Werner LEMBERG (wl@gnu.org)
* m.tmac: Assure that the macro package is loaded only once.
Wed Sep 5 00:00:00 2001 Werner LEMBERG (wl@gnu.org)
* m.tmac: Enable all warnings only if no -W or -w option is given on
the command line (or rather, if only the default warnings are
set).
Mon Sep 3 00:00:00 2001 Werner LEMBERG (wl@gnu.org)
* groff_mm.man: Don't use .ne for TTY devices.
Thu Jul 26 00:00:00 2001 Werner LEMBERG (wl@gnu.org)
* groff_mm.man: Start always a new line after end of sentence. Add
some compatibility info to the HF variable.
Thu Jul 26 00:00:00 2001 Larry Jones (larry.jones@sdrc.com)
* m.tmac: Fix initialization of Hps1 and Hps2.
Wed May 16 00:00:00 2001 Bruce Lilly (blilly@erols.com)
* m.tmac (TH): Fix incorrect error message.
Thu Apr 12 00:00:00 2001 Ruslan Ermilov (ru@FreeBSD.org)
* groff_mm.man: Fixing some typos.
Mon Mar 5 09:30:18 2001 Jörgen Hägg (jh@axis.com)
* S didn't reset to default point size
* (dummy line to force cvs update...)
Sat Jan 06 10:30:00 2001 Werner LEMBERG (wl@gnu.org)
* Fixed assignment of page offset given as a command line argument.
Fri Nov 17 05:34:17 2000 Jörgen Hägg (jh@axis.com)
* Renamed tmac.m and tmac.mse to m.tmac and mse.tmac
Thu Sep 14 05:52:48 2000 Jörgen Hägg (jh@axis.com)
* New Changelog-format, it will show changes better.
Easier for other to use. (Somehow I didn't really
understand why the e-mail address was supposed to be
'jh at axis.com' in the Changelog. :-)
Mon Aug 28 00:00:00 2000 Bruno Haible (haible at clisp.cons.org)
* Makefile.sub: New target 'all', makes all prerequisites of
'install'.
Thu Sep 7 06:17:42 2000 Jörgen Hägg (jh at axis.com)
* version 2.0
* Had to do something about my version numbering.
The main CVS archive was not in sync with mine.
So, now it is 2.0. :-)
Sat Jun 17 23:00:00 2000 Eli Zaretskii (eliz@is.elta.co.il)
* Makefile.sim (.man.n): Replace `;' with `|', since DOS/Windows
path lists use the semicolon as a separator.
Sun Jun 4 21:39:00 2000 Kaneda Hiroshi (vanitas at ma3.seikyou.ne.jp)
* Fixing a lot of typos in groff_mm.man
Tue Mar 7 00:00:00 2000 OKAZAKI Tetsurou (okazaki at be.to)
* Makefile.sub: Use $(INSTALL_SCRIPT) for script files.
Sun Jan 30 22:52:20 2000 Jörgen Hägg (jh at axis.com)
* version 1.34
* Changed the version number in the CVS repository
* MC had a bug in column calculation, (thanks to T. Kurt Bond)
Fri Sep 3 07:33:14 1999 Jörgen Hägg (jh at axis.com)
* version 1.33
* At last! I finally tracked down the PGFORM bug!
It didn't setup the @pl, @ll and @po as it should, now it does.
* mgm_ref/mgm_roff renamed to mmroff [-x]
* fixed y2k-bug in \*[DT]
* \n[cov*year] removed, hope noone used that.
* ISODATE added with Iso as command line flag
(iso-date suggested by Paul Eggert)
* Added ISODATE to tmac.mse and removed local settings
of new-date.
* INITI syntax changed and enhanced. Index processing is now
done with mmroff.
* A few examples has been added, new subdirectory 'examples'.
* Fixed bug with SETR, header references are now only saved
when Ref > 0
* Problem with register H1h fixed
* Added test for missing abstract in 4.MT
* Updated Makefile.sub, using tmac_m_prefix.
Mon Mar 15 22:22:42 1999 Jörgen Hägg (jh at axis.com)
* OK, let's release this as a beta, 1.33 will be better. :-)
* version 1.32
* fixed .el-error
* Added number variable Hss
* Changed Hps1 and Hps2 to units
* added hd*h1-text to be used in user defined macro TP.
* -U needed for SETR (I really need 'mv', 'echo', 'rm'
and 'test' builtin!)
* Rewritten the reference system, SETR now prints to stderr
if the number register Qrf > 0. Store in the filename
that is the argument to .INITR
The old behaviour is returned if number register Initr > 0.
* Fixed bug with List of XXXX, long lines messed up the result.
* added number register H1dot.
* added string variable H1txt
* added string variable Tcst
* added number register Dsp.
* added alias APPX for user-defined appendix title.
* added string variable Apptxt
* added H1h for use in TP in headers
* added macro EPIC
* added macro PIC (safe replacement for PSPIC)
* fixed Hps-bug, should be 1, not 1v.
* fixed bug with APPSK, variable not set.
Wed Feb 4 15:46:04 1998 Jörgen Hägg (jh at axis.se)
* version 1.31
* .LI will now honor a space mark.
* Another fix for .AU to let it be used without arguments.
* uninitialized eq*label fixed
Fri Sep 6 07:13:07 1996 Jörgen Hägg (jh at axis.se)
* version 1.30
* This is more like a beta-release, bugs might pop up. :-)
* last line in TOC was not correctly terminated (missing .br)
* changed the indentation for displays, it will now
indent to the current indent, not the one at the definition
of the display.
* Equation marks should now work better, indentation also.
* included these bug fixes from Larry Jones:
* The documentation for the argument to .AS was incorrect for MT 4.
* \*(EM should be a double-dash for nroff.
* \nS is in points, not units.
* If \nO isn't set, the default page offset should be .75i for nroff
and .963i for troff.
* .S D should set the point size to \nS, not 10.
* .S was setting the vertical spacing based on the old point size
instead of the new point size.
* Got rid of a spurrious .br that prevented run-in headings from
working.
* Reset the .SP counters in pg@header so that spacing on one page
won't affect spacing on subsequent pages.
* Allow .AU and .AF with no arguments (real mm does, even though it
isn't documented).
* Do .init@reset first thing to initialize the default environment.
* For MT 4, the title should be 4 points larger than the default size,
not 12 point.
* The cover environment needs to be initialized.
* Printing the abstract on the first page needs to be controlled by
the .AS argument.
* Heading eject should be suppressed if the heading immediately
follows the first page stuff (title, author, etc.).
* support for table of contents numbering style (.nr Oc)
* changes the troff empty line height from .25v to .5v
* fixed section page numbering
* fixed a really nasty bug in footnotes that could cause you
to lose the page footer completely if the very first
footnote on the page occurred at just the wrong place
Wed May 15 07:39:32 1996 Jörgen Hägg (jh at axis.se)
* version 1.29
* Syntax and scaling errror fixed, (thanks to Frazer Williams)
* DF/DE will now do a line-break before printing the display.
* Updated the manual for TB,FG,EX and EC.
* Added support for the ms- (and mgs-)macro .IX
* Added indexmacro IX, INITI, IND and INDP, support for
TXIND, TYIND and TZIND.
* PGFORM will now always really reset to the default
values for unspecified arguments.
* Floating displays tested and repaired, it should
now (finanlly) work exactly as the original (I hope :-).
* Should now set year correctly even after 2000.
* Stupid bug in PGNH fixed.
* Corrected line length for figure caption (FG and friends)
Mon Apr 24 07:37:52 1995 Jörgen Hägg (jh at axis.se)
* version 1.28
* Added AVL (AV without date)
* Fixed nroff scaling for W and L.
* Added support for register E and roman/bold
for all Subject/Date/From strings.
* Added support for register C (1-4), (for DRAFTs and other types)
* Will protest if not used with groff.
* Change of the internal number registers @ps and @vs, they
are now in units, and is set in the new macros .@ps and .@vs.
@ps and @vs is now corrected to the real point and vertical size.
* Macro EQ has now correct pointsize.
* Figures should now get the right page number in the index.
* User-defined macros can now be defined for list of
figures, tables, equations and exhibits (T{X,Y}{FG,TB,EC,EX}.
* Space may be omitted between prefix and mark in automatic lists (.AL)
See .LI
Tue Jan 10 07:51:37 1995 Jörgen Hägg (jh at axis.se)
* version 1.27
* Manual updated
* More bugs fixed in DS/DF
* added alias for :g
* LC can now be used without argument (as the manual says. :-)
* Register :R now supported (RS/RF)
* footnote line was printed even if there was no room for
any footnotes. Fixed.
* Fixed 1C so that it can be used without page eject
* Added support for EOP (TPs twin)
* Hyphenation turned off by default. (Hy == 0)
Fri Nov 4 08:14:50 1994 Jörgen Hägg (jh at axis.se)
* version 1.25
* DS/DF separated and several bugs fixed. Watch out for new though. :-)
* string DT was emptied by mistake in the previous version.
* RD made prettier.
* typo in AV and let@print-head fixed.
Mon Oct 31 08:19:24 1994 Jörgen Hägg (jh at axis.se)
* version 1.24
* Bug fixed and format extended in .SG and .FC.
* date is always printed unless .ND without argument is used.
(I wonder what's the right thing to do, this might change.)
* Swedish letter-standards implemented in tmac.mse.
* .ND can be used to turn off the date. (Empty argument)
Mon Oct 31 08:14:09 1994 Jörgen Hägg (jh at axis.se)
* version 1.23
* An attempt to get in sync with RCS. This is the distributed
version.
Thu Oct 27 08:29:34 1994 Jörgen Hägg (jh at axis.se)
* version 1.22
* (version 1.21 lost... :-)
* Letter macros added!!
* The following macros are added:
* AV, FC, IA ,IE, LT, LO, NE, NS, SG, WA, WE
* nP also added.
Tue Dec 14 16:26:36 1993 Joergen Haegg (jh at efd.lth.se)
* version 1.20
* spelling-corrections
* Makefile.sim updated to the correct version, and a uninstall
target added.
* @cur-lib removed from tmac.m (obsolete)
* fixed check for references i .TC, .RP now resets the flag correctly.
* floating display should now be printed if there is space.
* first version using RCS. I've been avoiding version control until it
became necessary.
* WC WD now works in two-column-mode.
Tue Sep 7 08:37:00 1993 Jörgen Hägg (jh at efd.lth.se)
* version 1.19
* .lt is called in the header for .TP also.
* Variable Pgps added to control the header and footer point-size.
* Error-text printed with .APP removed.
* Error with .FG, .TB, .EC and .EX indentation fixed.
* header and footer line-length is not changed by MC or 2C.
* Default for page-length and page-offset is now taken from
\n[.p] and \n[.o].
* Argument to .ab (abort) is supplied.
* Argument to .1C added.
* Argument to .PGFORM added.
* RP/RS/RF totally rewritten. Should work with 2C now.
Fri Apr 23 10:37:25 1993 Joergen Haegg (jh at efd.lth.se)
* version 1.18
* Height of display is now more exactly calculated.
* tabs and blankspaces where wrong in .VERBON.
* error in manual for escape-character in VERBON.
* Makefile.sub: installed tmac.m as tmac.m and tmac.mse
* Installation of tmac.mse now supports TMAC_M.
* bug with N fixed.
Mon Apr 5 09:36:01 1993 Joergen Haegg (jh at efd.lth.se)
* version 1.17
* MULB preserves size.
* bug in VERBON fixed, causing strange errors.
* section-page footer fixed.
* added support for numberregister S
* fixed bug with floating displays wich made floats to
generate space on a page, but broke page anyway.
* end-of-page trap reinstalled.
Mon Mar 29 10:53:13 1993 Joergen Haegg (jh at efd.lth.se)
* version 1.16
* MUL* now use the previous font and family.
* extra blank page at end-of-text eliminated.
Mon Mar 8 10:27:47 1993 Joergen Haegg (jh at efd.lth.se)
* version 1.15
* Didn't restore pointsize to current size in .H.
* B1/B2 did not work with indent. (MULE and friends)
* fixed old problem with trailing empty pages.
Fri Mar 5 15:20:49 1993 Joergen Haegg (jh at efd.lth.se)
* version 1.14
* Sigh. Amazing what a missing \} can do. If the string
HP was set, then all text disappeared...
Fri Mar 5 14:12:43 1993 Joergen Haegg (jh at efd.lth.se)
* version 1.13
* Fixed bug with handling ps/vs in .H. (again, sigh... )
Wed Mar 3 09:21:20 1993 Joergen Haegg (jh at efd.lth.se)
* version 1.12
* Line-break added to PGFORM.
* added more features to VERBON
* .S is not used anymore in H, it caused confusion with
normal text, but it will still set .vs.
* SK was broken, will now produce the requested number of
empty pages.
* dotted lines added to LIST OF FIGURES adn friends.
Also better linespacing.
Mon Feb 22 12:41:06 1993 Joergen Haegg (jh at efd.lth.se)
* version 1.11
* missing left-parenthesis gave ") .sp" when N=4.
* N=4 removed user-specified header also.
* MOVE made linelength pageoffset wider than wanted.
* fixed (again) parenthesis in RP.
Thu Jan 21 12:10:39 1993 Joergen Haegg (jh at efd.lth.se)
* version 1.10
* changed PROG_PREFIX to g in the manual-pages.
* Better check if new page is needed in .H, when Ej>0.
* Usage of variable Lsp now more complete.
* Space added in TOC when mark is equal to size.
* Usermacro HY moved after font-calulations.
* .S used instead of .ps, which will use .vs correct.
* Now possible to set Hps1/2 inside HX.
* .FD "" 1 is now fixed.
* section-page numbering bug fixed.
* several bugs in VERBON/OFF fixed.
Tue Dec 8 16:43:15 1992 Joergen Haegg (jh at efd.lth.se)
* version 1.09
* N==4 gives no default header
Sat Nov 21 14:28:20 1992 Joergen Haegg (jh at efd.lth.se)
* version 1.08
* Escape-character disabled between
VERBON/VERBOFF (turned on by an argument).
Pointsize and fontchange also added as arguments.
* MULB, MULN and MULE added to get multicolumn output
with different width.
* Number register N can now use 1-5.
* Register Sectp and Sectf added.
* Register P is now updated correctly for "section-page" numbering.
Thu Nov 19 11:19:33 1992 Joergen Haegg (jh at efd.lth.se)
* version 1.07
* .OP fixed to eject a blank page if not odd.
Fri Nov 13 09:46:09 1992 Joergen Haegg (jh at efd.lth.se)
* version 1.06
* Macro TL rewritten. TL depends now on a following .AU.
* NOTES updated.
* .lt is now used more frequent when linelength is changed.
* macro AST added.
* removed PH/EH/OH not needed in ?.MT.
Wed Oct 28 14:35:43 1992 Joergen Haegg (jh at efd.lth.se)
* version 1.05
* .VM implemented.
* Possible bug in page heading fixed. Changed .sp to 'sp in HEADER.
Thu Aug 20 13:56:31 1992 Joergen Haegg (jh at efd.lth.se)
* version 1.04
* page-break in .EQ moved.
* changed unit for footer-size and header-size from units to lines.
Fixes problems with .S and page-breaks.
* \n[%] is now treated as a string, wich makes it possible
to assign new formats to it. Unfortunately, it was necessary
to change the page-number-variable in GETPN to a string.
* Makefile.sub included. (Thank you, James)
Thu May 7 16:14:10 1992 Joergen Haegg (jh at efd.lth.se)
* version 1.03
* Typo and centering in DS/DE fixed.
Even and odd pageheaders were reversed.
* LI: pad and mark-indent was lost in some earlier versions. Now fixed.
* fixed bug in reference to .FG, .TB, ...
* APP did not clear headercounters.
* Pointsize in titles is now only set at the beginning and
when PH, PF, OH, OF, EH and EF are used.
Thu May 6 16:01:35 1992 Joergen Haegg (jh at efd.lth.se)
* version 1.02
* OP fixed.
Fri Mar 6 09:36:09 1992 Joergen Haegg (jh at efd.lth.se)
* version 1.01
* two .LI without text between should not be printed
on the same row. Now fixed.
* figure titles and friends fixed, now possible with many .FG
in a DS/DE. Didn't always position correctly in previous version,
but is now always printed as it should.
* Makefile fixed for Ultrix.
* DS/DF could not handle empty arguments correct
* Missing .br i EQ added.
Sat Jan 25 15:47:21 1992 Joergen Haegg (jh at efd.lth.se)
* version 1.00
* No betaversion anymore!
* Fixed headernumbers within appendixes.
* DS did not keep the same font as before DS.
* mmse did a line break.
Fri Jan 24 14:38:16 1992 Joergen Haegg (jh at efd.lth.se)
* version 0.16
* bug in TC, multiple line headers did not wrap correctly.
* added support for mm/locale and mm/language_locale.
* cov*default-firm in locale sets name of firm in the MT covers.
* cov*location-xxxx in locale sets location xxxx to the contents
of cov*location-xxxx. Used in the MT covers.
* hanging indent in lists fixed.
* use larger empty lines if .nroff is defined.
* macros, like .P, can now be used inside abstracts.
* .S do not reset indentation anymore.
* .RS aA now sets a string, not an integer.
* appendix with .APP or .APPSK added.
Thu Nov 28 22:00:59 1991 Joergen Haegg (jh at efd.lth.se)
* version 0.15
* Fixed .AU in MT 0-3, added support for variable Au.
* Bug in the positioning of the foot-notes.
* lists not indented properly.
* Hps1 and Hps2 added.
* COVER had to have an argument.
* table of contents can now have multiline header.
* .HU now increments headingvariable H?
* added the inclusion of a locale file.
Sat Nov 23 14:40:17 1991 Joergen Haegg (jh at efd.lth.se)
* version 0.14
* bug when using -rO fixed.
* MT 1-4 added.
* default is now MT 1
* .EQ/.EN can be used outside of .DS/.DE without complaints. But
I don't recommend it. Neither does the DWB books.
* LI don't break lines now if arg too big.
* PGFORM did not reset indent.
* Added the numbervariable Hps.
* Rewritten and added MT 0-5 + "string".
* Added TM.
* Indent to AS added
Wed Nov 6 15:18:40 1991 Joergen Haegg (jh at efd.lth.se)
* version 0.13
* ds*format nod defined if PS/PE is used without DS/DE.
* GETST added, fourth argument to EX, FG, TB and EC added.
Mon Nov 4 13:38:01 1991 Joergen Haegg (jh at efd.lth.se)
* version 0.12
* Fixed C,D,P,+-size in .S
Sun Jan 1 00:00:00 1991 Joergen Haegg (jh at efd.lth.se)
* Next version will have ChangeLog entries...
* Bug in INITR fixed.
* VERBON/VERBOFF added to include programlistings
* Bug in .DE fixed, addition overflow
Sun Jan 1 00:00:00 1991 Joergen Haegg (jh at efd.lth.se)
* spelling error in month-names.
* WC should work now (no warranty :-)
* FD almost finished, some details missing.
* incorrect calculation of foot-notes fixed.
* DS/DE did not break page when the size was smaller than the paper
* Forward/backward referencesystem added. Se .INITR in README.
* mgmsw changed name to mgmse.
Sun Jan 1 00:00:00 1991 Joergen Haegg (jh at efd.lth.se)
* embarrassing bug in .P fixed
* .H did always eject page, now fixed.
* lost floating displays now found.
* accents added (from mgs)
* empty line in .EQ/.EN removed
* indentation in .TC corrected.
* indentation of DS/DE in lists fixed.
* .TB and friends now work inside DS/DE and outside.
* .WC partially implemented (WF and WD). Still working on it.
* .mso used if version>=1.02
Sun Jan 1 00:00:00 1991 Joergen Haegg (jh at efd.lth.se)
* register P was not working.
* support for register Fg, Tb, Ec and Ex.
* list items was left on the previous page at a page break.
* tlevel in .TC now defaults to 2.
* string DT, EM and Tm supported.
* new macro: PGNH, see comments.
* bug in MOVE fixed.
* pagenumber in .TC fixed.
* a blank page was ejected if Ej==1, now fixed
* bug in floating display fixed (did break and SP wrong)
* bug in .SP fixed, no lines is now printed at top of page
* There are still problems with footnotes and displays in two column mode.
Sun Jan 1 00:00:00 1991 Joergen Haegg (jh at efd.lth.se)
* register P added (same as %)
* bug in floating displays fixed
* MOVE added
* MT added, see comment below
* COVER/COVEND added
* fixed bug in figure titles
* extended S, se comment below
* MT 0 added
* ms-cover added (COVER ms)
Sun Jan 1 00:00:00 1991 Joergen Haegg (jh at efd.lth.se)
* bugs in RD and comb. fonts fixed
Sun Jan 1 00:00:00 1991 Joergen Haegg (jh at efd.lth.se)
* HC added
* Combined fonts (IB,BI...)
* HM added
* RD added
* OP added
* TP&PX supported
* warnings for unimplemented macros

View file

@ -1,66 +0,0 @@
#
# $Id: Makefile.sim,v 2.3 2002/05/22 06:26:12 jhaegg Exp $
#
# To install mgm separately as gm.tmac:
# make -f Makefile.sub tmacdir=/usr/local/lib/groff/tmac srcdir=. \
# INSTALL_DATA='install -m 644' tmac_m=gm install
#
# or as m.tmac:
#
# tmacdir is the destination for your groff/tmac-directory, srcdir is
# this directory and INSTALL_DATA is the command to install a file with.
# If you dont have 'install': use 'cp'.
# change this to whatever you like
tmacdir=/usr/local/lib/groff/tmac
#tmac_m = gm
tmac_m = m
indexdir = xx
install = install -m 644
# Do not change anything below this line
srcdir = .
version = 2.8
mdate = 2002-05-11
.SUFFIXES: .n .man
all:
install: groff_mm.n groff_mmse.n
$(MAKE) -f Makefile.sub tmacdir=$(tmacdir) srcdir=$(srcdir) \
INSTALL_DATA='$(install)' tmac_m=$(tmac_m) install
uninstall: groff_mm.n groff_mmse.n
$(MAKE) -f Makefile.sub tmacdir=$(tmacdir) srcdir=$(srcdir) \
INSTALL_DATA='$(install)' tmac_m=$(tmac_m) uninstall_sub
.man.n:
@echo Making $@ from $<
@-rm -f $@
@sed -e "s|@HYPHENFILE@|$(hyphenfile)|g" \
-e "s|@FONTDIR@|$(fontdir)|g" \
-e "s|@FONTPATH@|$(fontpath)|g" \
-e "s|@MACRODIR@|$(tmacdir)|g" \
-e "s|@MACROPATH@|$(tmacpath)|g" \
-e "s|@DEVICE@|$(DEVICE)|g" \
-e "s|@DEFAULT_INDEX@|$(indexdir)/$(indexname)|g" \
-e "s|@DEFAULT_INDEX_NAME@|$(indexname)|g" \
-e "s|@INDEX_SUFFIX@|$(indexext)|g" \
-e "s|@COMMON_WORDS_FILE@|$(common_words_file)|g" \
-e "s|@MAN1EXT@|$(man1ext)|g" \
-e "s|@MAN5EXT@|$(man5ext)|g" \
-e "s|@MAN7EXT@|$(man7ext)|g" \
-e "s|@TMAC_S@|$(tmac_s)|g" \
-e "s|@TMAC_M@|$(tmac_m)|g" \
-e "s|@TMAC_MDIR@|$(tmacdir)/mm|g" \
-e "s|@BROKEN_SPOOLER_FLAGS@|$(BROKEN_SPOOLER_FLAGS)|g" \
-e "s|@VERSION@|$(version)|g" \
-e "s|@MDATE@|$(mdate)|g" \
-e "s|@g@|$(g)|g" \
-e "s!@G@;`echo $(g) | tr [a-z] [A-Z]`!g" \
$< >$@

View file

@ -1,62 +0,0 @@
#
# $Id: Makefile.sub,v 2.3 2002/05/22 06:26:12 jhaegg Exp $
#
PROG=mmroff
MAN1=\
mmroff.n
MAN7=\
groff_mm.n \
groff_mmse.n
FILES=0.MT 5.MT 4.MT ms.cov se_ms.cov
# Local configuration files with default values.
LOCALE=locale se_locale
CLEANADD=temp
all: mmroff
install: install_mm
install_mm: install_mmroff install_m
-test -d $(tmacdir)/mm || $(mkinstalldirs) $(tmacdir)/mm
-for f in $(FILES); do \
rm -f $(tmacdir)/mm/$$f; \
$(INSTALL_DATA) $(srcdir)/mm/$$f $(tmacdir)/mm/$$f; \
done
-for f in $(LOCALE); do \
test -f $(tmacdir)/mm/$$f || touch $(tmacdir)/mm/$$f; \
done
install_m:
-test -d $(tmacdir) || $(mkinstalldirs) $(tmacdir)
-rm -f $(tmacdir)/tmac.$(tmac_m_prefix)m
-rm -f $(tmacdir)/$(tmac_m_prefix)m.tmac
$(INSTALL_DATA) $(srcdir)/m.tmac $(tmacdir)/$(tmac_m_prefix)m.tmac
@sed -e "s;^.mso m.tmac;.mso $(tmac_m_prefix)m.tmac;g" \
$(srcdir)/mse.tmac > $(tmacdir)/$(tmac_m_prefix)mse.tmac
@sed -e "s;^.mso mse.tmac;.mso $(tmac_m_prefix)mse.tmac;g" \
$(srcdir)/mmse.tmac > $(tmacdir)/$(tmac_m_prefix)mmse.tmac
@sed -e "s;^.mso m.tmac;.mso $(tmac_m_prefix)m.tmac;g" \
$(srcdir)/mm.tmac > $(tmacdir)/$(tmac_m_prefix)mm.tmac
install_mmroff: mmroff
-test -d $(bindir) || $(mkinstalldirs) $(bindir)
-rm -f $(bindir)/mmroff
$(INSTALL_SCRIPT) mmroff $(bindir)/mmroff
mmroff: mmroff.pl
-rm -f $@
-sed -e 's;/usr/bin/perl;$(PERLPATH);' $(srcdir)/mmroff.pl >$@
-chmod +x $@
uninstall_sub:
-for f in $(FILES); do rm -f $(tmacdir)/mm/$$f; done
-for f in $(LOCALE); do \
test -s $(tmacdir)/mm/$$f || rm -f $(tmacdir)/mm/$$f; \
done
-rm -f $(tmacdir)/tmac.$(tmac_m_prefix)m
-rm -f $(tmacdir)/$(tmac_m_prefix)m.tmac
-rm -f $(tmacdir)/$(tmac_m_prefix)mm.tmac
-rm -f $(tmacdir)/$(tmac_m_prefix)mse.tmac
-rm -f $(tmacdir)/$(tmac_m_prefix)mmse.tmac
-rmdir $(tmacdir)/mm
-rm -f $(bindir)/mmroff

View file

@ -1,105 +0,0 @@
######################################################################
$Id: NOTES,v 2.0 2000/09/14 03:40:24 jhaegg Exp $
Beware!
This may be old information. Trust only the source. :-)
Implementation notes. (Or how to make your own national mm)
Different commands:
COVER [arg]
MT [arg [addressee]]
The arg is part of a filename in mm/*.MT or mm/*.cov.
This file is read when the macro is executed. Therefore it must be
put before any text output.
In each file there are definitions of all extra macros needed for the
cover sheet. MT files is only for compatibility reasons, and has several
limits due to that it don't know when the cover starts, and cannot
change sizes. Use COVER for new coversheet macros.
But with MT it is possible to write all of the AT&T covers.
An example can be found in mm/0.MT.
When writing a new cover using COVER, have in mind that the cover
should print the page with the COVEND macro. This macro
should be defined by the new macrofile.
Here is a part of ms.cov:
> .\"-----------------
> .de COVEND
> .sp |4.2c
> .cov@print-title
> .cov@print-authors
> .cov@print-firm
> .cov@print-abstract
> .cov@print-date
This is important, since COVER disables the page header.
> .pg@enable-top-trap
Should begin with page one (normally).
> .bp 1
And enable the trap at the page footer.
> .pg@enable-trap
> ..
#########################
Variables for covers:
I = integer
S = string
D = diversion
M = macro
Name Type Desc.
cov*au I The number of authors.
cov*title M Title collected with .TL.
cov*au!x!y S Author(s) given to .AU
cov*at!x!y S Author(s) title given to .AT
x is the author-index [1-cov*au],
y is the argument-index [1-9].
Look at the table with indexes.
cov*firm I Author(s) firm.
cov*abs-arg I Argument to abstract.
cov*abs-ind I Indent for abstract.
cov*abs-name S The string 'ABSTRACT', changed with .AST
cov*abstract M The abstract.
cov*new-date S The date (todays date if ND is not used)
cov*mt-type S MT type
cov*mt-addresse S MT addressee
##########################
Argument-index for cov*au:
Index Desc.
1 name
2 initials
3 location
4 department
5 extension
6 room
7 arg 7
8 arg 8
9 arg 9
The location is set to the contents of string cov*location-xxxx
if location is equal to xxxx and cov*location-xxxx is defined
in the file locale.
Argument-index for cov*at:
Index Desc.
1 title 1
. .
. .
9 title 9

View file

@ -1,31 +0,0 @@
$Id: README,v 2.2 2002/05/22 06:26:12 jhaegg Exp $
This is mgm, a macro package for groff.
It is supposed to be compatible with the DWB mm macros,
and has several extensions.
Send bug reports to jh@axis.com with a description of the problem
and a sample of text which reproduces the error.
Don't forget to mention the version of mgm (look in the beginning
of m.tmac) and the version of groff.
Any new ideas or improvements are welcome.
Newest version is available here or at the groff CVS repository.
ftp://ftp.axis.se/pub/groff/mm<something>.gz
You can install mgm as a separate package without the configure in groff
with the following command:
make -f Makefile.sim install
This README should be bigger :-)
/Jörgen Hägg
Thanks to everyone who have sent me bug-reports and fixes.

View file

@ -1,352 +0,0 @@
.H 1 " granary grand grandchild grandchildren granddaughter grandeur"
granary
grapheme
graphic
graphite
grapple
grasp
grass
grassland
grassy
grata
grate
grateful
grater
gratify
gratis
gratitude
gratuitous
gratuity
grave
gravel
.H 2 "grapefruit grapevine graph grapheme graphic graphite"
granary
grand
graphic
graphite
grapple
grasp
grass
grassland
grassy
grata
grate
grateful
grater
gratify
gratis
gratitude
gratuitous
gratuity
grave
gravel
.H 3 "grapple"
granary
grand
grandchild
grandchildren
granddaughter
grandeur
grandfather
grandiloquent
grandiose
grandma
grandmother
grateful
grater
gratify
gratis
gratitude
gratuitous
gratuity
grave
gravel
.H 1 "Graves gravestone graveyard gravid gravitate gravy gray"
granary
grand
grandchild
grandchildren
granddaughter
grandeur
grandfather
grandiloquent
grandiose
grata
grate
grateful
grater
gratify
gratis
gratitude
gratuitous
gratuity
grave
gravel
.H 1 "Greenfield greengrocer greenhouse greenish Greenland Greensboro"
granary
grand
grandchild
grandchildren
granddaughter
grandeur
grandfather
grandiloquent
grassy
grata
grate
grateful
grater
gratify
gratis
gratitude
gratuitous
gratuity
grave
gravel
.H 1 "greensward greenware Greenwich greenwood Greer greet"
graven
Graves
gravestone
graveyard
gravid
gravitate
gravy
gray
graybeard
grayish
Grayson
graywacke
graze
grease
.APP "" "Graves app a gravestone graveyard gravid gravitate gravy gray"
granary
grand
grandchild
grandchildren
granddaughter
grandeur
grandfather
grandiloquent
grandiose
grata
grate
grateful
grater
gratify
gratis
gratitude
gratuitous
gratuity
grave
gravel
.APP "" "Greenfield app b greengrocer greenhouse greenish Greenland Greensboro"
granary
grand
grandchild
grandchildren
granddaughter
grandeur
.H 2 "grandfather grandiloquent grandiose grandma grandmother grandnephew"
.H 2 "grandniece grandpa grandparent grandson grandstand granite granitic"
.H 2 "granny granola grant grantee grantor granular granulate"
.H 2 "granule Granville grape"
.H 2 "grapefruit grapevine graph grapheme graphic graphite"
.H 3 "grapple"
grandfather
grandiloquent
grassy
grata
grate
grateful
grater
gratify
gratis
gratitude
gratuitous
gratuity
grave
gravel
.APP ABC "greensward app abc greenware Greenwich greenwood Greer greet"
graven
Graves
.APP "" "handstand app f handwrite handwritten handy handyman handymen"
gravestone
graveyard
gravid
gravitate
gravy
gray
graybeard
grayish
Grayson
graywacke
graze
grease
.APPSK "" 10 "Handel app c 10 handhold handicap handicapped handicapper"
.APPSK "" 23 "handicapping app d 23 handicraftsmen handiwork"
.APPSK "" 99 "handmade app e 99 handset handshake handsome handspike"
.nr Aph 0
.APP "" "handstand app f handwrite handwritten handy handyman handymen"
headsmen
headstand
headstone
headstrong
headwall
headwater
headway
headwind
.H 2 "graybeard grayish Grayson graywacke graze grease greasy great greatcoat"
.H 2 "greater grebe Grecian Greece greed greedy Greek green Greenbelt Greenberg"
.H 2 "Greenblatt Greenbriar Greene greenery"
.H 3 "Greenfield greengrocer greenhouse greenish Greenland Greensboro"
.H 3 "greensward greenware Greenwich greenwood Greer greet"
heady
heal
Healey
health
healthful
healthy
Healy
heap
hear
heard
hearken
hearsay
hearse
Hearst
heart
heartbeat
heartbreak
hearten
heartfelt
hearth
hearty
heat
heater
heath
heathen
heathenish
Heathkit
heave
heaven
heavenward
heavy
heavyweight
Hebe
hebephrenic
Hebraic
Hebrew
Hecate
hecatomb
heck
heckle
Heckman
hectic
hector
.APP "" "hang hangable app f hangar hangman hangmen hangout hangover hank"
Hecuba
he'd
hedge
.H 2 "graybeard grayish Grayson graywacke graze grease greasy great greatcoat"
hedgehog
hedonism
hedonist
heed
heel
.H 2 "greater grebe Grecian Greece greed greedy Greek green Greenbelt Greenberg"
heft
hefty
Hegelian
hegemony
Heidelberg
heigh
height
heighten
Heine
Heinrich
Heinz
heir
heiress
Heisenberg
held
Helen
Helena
Helene
Helga
helical
helicopter
heliocentric
heliotrope
helium
helix
he'll
hell
hellbender
hellebore
Hellenic
hellfire
hellgrammite
hellish
hello
helm
helmet
Helmholtz
helmsman
helmsmen
Helmut
help
helpful
helpmate
.APP "" "Hankel app g Hanley Hanlon Hanna Hannah Hannibal Hanoi Hanover"
Helsinki
Helvetica
hem
hematite
Hemingway
hemisphere
hemispheric
hemlock
hemoglobin
hemolytic
hemorrhage
hemorrhoid
hemosiderin
hemp
Hempstead
hen
henbane
hence
henceforth
henchman
henchmen
.H 2 "greater grebe Grecian Greece greed greedy Greek green Greenbelt Greenberg"
Henderson
Hendrick
Hendricks
Hendrickson
henequen
Henley
henpeck
Henri
Henrietta
henry
hepatica
hepatitis
Hepburn
heptane
her
Hera
Heraclitus
herald
herb
Herbert
Herculean
Hercules
herd
herdsman
here
hereabout
hereafter
hereby
hereditary
.TC

View file

@ -1,91 +0,0 @@
abetting
abeyance
abeyant
abhorred
abhorrent
abide
Abidjan
Abigail
abject
ablate
ablaze
able
ablution
Abner
abnormal
Abo
aboard
abode
abolish
.B1
abolition
abominable
abominate
aboriginal
AAA
ABORIGINE
ABORNING
ABORT
ABOUND
ABOUT
ABOVE
ABOVEBOARD
ABOVEGROUND
abovementioned
abrade
Abraham
Abram
Abramson
abrasion
abrasive
abreact
.B2
abreast
abrogate
abrupt
abscess
abscissa
abscissae
absence
absent
absentee
absenteeism
absentia
absentminded
absinthe
absolute
absolution
absolve
absorb
absorbent
absorption
absorptive
abstain
abstention
abstract
abstracter
abstractor
ABSURD
ABUILDING
ABUNDANT
ABUSABLE
ABUSE
ABUSIVE
ABUT
ABUTTED
ABUTTING
ABYSMAL
ABYSS
ABYSSINIA
AC
ACADEME
ACADEMIA
ACADEMIC
ACADEMICIAN
ACADEMY
ACADIA
ACANTHUS
ACAPULCO
ACCEDE
ACCELERATE
ACCELEROMETER

View file

@ -1,235 +0,0 @@
.COVER
.ND 911123
.TL "charge" "filing"
This is a test
granary
grand
grandchild
grandchildren
granddaughter
grandeur
grandfather
grandiloquent
grandiose
grandma
grandmother
grandnephew
grandniece
grandpa
grandparent
grandson
.AU "Nisse Svensson" "DGY" "BF" "Computer Center" "5488" "5-2115" "nisse@vira.sture.elm"
.AF "MT GRANDSTAND GRANITE GRANITIC"
.AS 1 10
grant
grantee
grantor
granular
granulate
granule
Granville
grape
grapefruit
grapevine
graph
grapheme
graphic
graphite
grapple
grasp
grass
grassland
grassy
grata
grate
grateful
grater
gratify
gratis
gratitude
gratuitous
gratuity
grave
gravel
graven
Graves
gravestone
graveyard
gravid
gravitate
gravy
gray
graybeard
grayish
Grayson
graywacke
graze
grease
greasy
great
greatcoat
greater
grebe
Grecian
.AE
.COVEND
Greece
greed
greedy
Greek
green
Greenbelt
Greenberg
Greenblatt
Greenbriar
Greene
greenery
Greenfield
greengrocer
greenhouse
greenish
Greenland
Greensboro
greensward
greenware
Greenwich
greenwood
Greer
greet
Greg
gregarious
Gregg
Gregory
gremlin
grenade
Grendel
Grenoble
Gresham
Greta
Gretchen
grew
grey
greyhound
greylag
grid
griddle
gridiron
grief
grievance
grieve
grievous
griffin
Griffith
grill
grille
grilled
grillwork
grim
grimace
Grimaldi
grime
Grimes
Grimm
grin
grind
grindstone
grip
gripe
grippe
grisly
grist
gristmill
Griswold
grit
gritty
grizzle
granary
grand
grandchild
grandchildren
granddaughter
grandeur
grandfather
grandiloquent
grandiose
grandma
grandmother
grandnephew
grandniece
grandpa
grandparent
grandson
grandstand
granite
granitic
granny
granola
grant
grantee
grantor
granular
granulate
granule
Granville
grape
grapefruit
grapevine
graph
grapheme
graphic
graphite
grapple
grasp
grass
grassland
grassy
grata
grate
grateful
grater
gratify
gratis
gratitude
gratuitous
gratuity
grave
gravel
graven
Graves
gravestone
graveyard
gravid
gravitate
gravy
gray
graybeard
grayish
Grayson
graywacke
graze
grease
greasy
great
greatcoat
greater
grebe
Grecian
Greece
greed
greedy
Greek
green
Greenbelt
Greenberg
Greenblatt
Greenbriar
Greene
greenery
Greenfield
greengrocer
greenhouse
greenish
Greenland
Greensboro
greensward
greenware

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,169 +0,0 @@
granary
grand
grandchild
grandchildren
granddaughter
grandeur
grandfather
grandiloquent
grandiose
grandma
grandmother
grandnephew
grandniece
grandpa
.ML MARK
.LI "LOCALMARK"
granola
grant
grantee
grantor
granular
granulate
granule
Granville
grape
grapefruit
grapevine
.LI
.DS
Where shall we put this.
Where shall we put this.
Where shall we put this.
.DE
.LI
granola
grant
grantee
grantor
granular
granulate
granule
Granville
grape
grapefruit
grapevine
.LI
.DS
Where shall we put this.
.DE
.LI
graphic
graphite
grapple
grasp
grass
grassland
grassy
.LI
grata
grate
grateful
grater
gratify
gratis
gratitude
gratuitous
.LI
gratuity
grave
gravel
.LE
.SP 3
.ML $ 1c
.LI
graven
Graves
gravestone
graveyard
gravid
gravitate
gravy
gray
.LI
graybeard
grayish
Grayson
graywacke
graze
grease
greasy
great
greatcoat
.LI
greater
grebe
Grecian
Greece
greed
greedy
Greek
green
.LI
Greenbelt
Greenberg
Greenblatt
Greenbriar
Greene
greenery
.LE
.SP 3
.ML X 1c 1
.LI
Greenfield
greengrocer
grandson
grandstand
granite
granitic
granny
graph
.LI
grapheme
greenhouse
greenish
Greenland
Greensboro
granary
grand
grandchild
grandchildren
granddaughter
grandeur
grandfather
grandiloquent
grandiose
.LI
grandma
grandmother
grandnephew
grandniece
grandpa
grandparent
grandson
grandstand
granite
granitic
granny
.LI
granola
grant
grantee
grantor
granular
granulate
granule
Granville
grape
grapefruit
.LI
grapevine
graph
grapheme
graphic
graphite
grapple
grasp
grass
grassland
.LE

View file

@ -1,175 +0,0 @@
.PH "'hej'hopp'i skogen'"
.PF "'livet'är'härligt'"
.OH "'ojämn'%'sida'"
.EH "'ojämn'%'sida'"
.OF "'ojämn'%'sida'"
.EF "'ojämn'%'sida'"
10th
1st
2nd
3rd
4th
5th
6th
7th
8th
9th
a
AAA
AAAS
Aarhus
Aaron
AAU
ABA
Ababa
aback
abacus
abalone
abandon
abase
abash
abate
abater
abbas
abbe
abbey
abbot
Abbott
abbreviate
abc
abdicate
abdomen
abdominal
abet
abetted
abetting
abeyance
abeyant
abhorred
abhorrent
abide
Abidjan
Abigail
abject
ablate
ablaze
able
ablution
Abner
.MOVE 50 20
abnormal
Abo
aboard
abode
abolish
abolition
abominable
abominate
aboriginal
AAA
ABORIGINE
ABORNING
ABORT
ABOUND
ABOUT
ABOVE
ABOVEBOARD
ABOVEGROUND
abovementioned
abrade
Abraham
Abram
Abramson
abrasion
abrasive
abreact
abreast
BBB
ABRIDGE
ABRIDGMENT
ABROAD
abrogate
abrupt
abscess
abscissa
abscissae
absence
absent
absentee
absenteeism
absentia
absentminded
.MOVE 30 10
absinthe
absolute
absolution
absolve
absorb
absorbent
absorption
absorptive
abstain
abstention
abstinent
abstract
abstracter
abstractor
CCC
ABSTRUSE
ABSURD
ABUILDING
ABUNDANT
ABUSABLE
ABUSE
ABUSIVE
ABUT
ABUTTED
ABUTTING
ABYSMAL
ABYSS
ABYSSINIA
AC
ACADEME
ACADEMIA
ACADEMIC
ACADEMICIAN
ACADEMY
ACADIA
ACANTHUS
ACAPULCO
ACCEDE
ACCELERATE
ACCELEROMETER
ACCENT
ACCENTUAL
ACCENTUATE
ACCEPT
ACCEPTANT
acceptor
access
.MOVE 62 0 20
accessible
accession
accessory
accident
accidental
accipiter
acclaim
acclamation
acclimate
accolade
accommodate
accompaniment
accompanist
accompany
accomplice
accomplish
accord
accordant
DDD
ACCORDION
ACCOST
ACCOUNT
ACCOUNTANT
ACCRA
.PGFORM

View file

@ -1,535 +0,0 @@
inject
injudicious
Injun
injunct
injunction
injure
injurious
injury
injustice
ink
inkling
inlaid
inland
inlay
inlet
Inman
inmate
inn
innards
innate
inner
innermost
innkeeper
innocent
innocuous
innovate
innuendo
innumerable
inoculate
inoffensive
inoperable
inoperative
inopportune
inordinate
inorganic
input
inputting
inquest
inquire
inquiry
inquisition
inquisitive
inquisitor
inroad
insane
insatiable
inscribe
inscription
inscrutable
insect
insecticide
insecure
inseminate
insensible
insensitive
inseparable
insert
inset
inshore
inside
insidious
insight
insightful
insignia
insignificant
insincere
insinuate
insipid
insist
insistent
insofar
insolent
insoluble
insolvable
insolvent
insomnia
insomniac
insouciant
inspect
inspector
inspiration
inspire
instable
install
installation
instalment
instance
instant
instantaneous
instantiate
instead
instep
instigate
instill
instillation
instinct
instinctual
institute
institution
instruct
instructor
instrument
instrumentation
insubordinate
insubstantial
insufferable
insufficient
insular
insulate
insulin
insult
insuperable
insupportable
insuppressible
insurance
insure
insurgent
insurmountable
insurrect
insurrection
intact
intake
intangible
integer
integrable
.MULB 4c 1 5c 1 4c 1 3c
Grenoble
Gresham
Greta
Gretchen
grew
grieve
grievous
griffin
Griffith
grill
grille
grilled
grillwork
grim
grimace
Grimaldi
grime
Grimes
Grimm
grin
grind
grindstone
grip
gripe
grippe
grisly
grist
gristmill
Griswold
grit
gritty
grizzle
grizzly
groan
groat
grocer
grocery
groggy
groin
grommet
groom
groove
grope
grosbeak
gross
.MULN
h
ha
Haag
Haas
habeas
haberdashery
Haberman
Habib
habit
habitant
habitat
habitation
habitual
habituate
hacienda
hack
hackberry
Hackett
hackle
hackmatack
hackney
hackneyed
hacksaw
had
Hadamard
Haddad
haddock
Hades
Hadley
hadn't
Hadrian
hadron
hafnium
Hagen
Hager
haggard
haggle
Hagstrom
Hague
Hahn
Haifa
haiku
hail
hailstone
hailstorm
Haines
hair
haircut
hairdo
hairpin
hairy
Haiti
Haitian
Hal
halcyon
hale
Haley
half
halfback
halfhearted
halfway
halibut
halide
Halifax
halite
hall
hallelujah
Halley
hallmark
hallow
Halloween
hallucinate
hallway
halma
halo
halocarbon
halogen
Halpern
Halsey
Halstead
halt
halvah
halve
Halverson
ham
Hamal
Hamburg
hamburger
Hamilton
hamlet
Hamlin
hammerhead
hammock
Hammond
hamper
Hampshire
Hampton
hamster
Han
Hancock
hand
handbag
handbook
handclasp
handcuff
.MULN
coliform
coliseum
collaborate
collage
collagen
collapse
collapsible
collar
collarbone
collard
collate
collateral
colleague
collect
collectible
collector
college
collegial
collegian
collegiate
collet
collide
collie
Collier
collimate
collinear
Collins
collision
collocation
colloidal
Colloq
colloquia
colloquial
colloquium
colloquy
command
commandant
commandeer
commando
commemorate
commend
commendation
commendatory
commensurable
commensurate
comment
commentary
commentator
commerce
commercial
commingle
commiserate
commissariat
commissary
commission
commit
committable
committal
committed
committee
committeeman
committeemen
committeewoman
committeewomen
committing
commodious
commodity
commodore
common
commonality
.MULN
locoweed
lunch
luncheon
lunchroom
lunchtime
Lund
Lundberg
Lundquist
lung
lunge
lupine
Lura
lurch
lure
lurid
lurk
Lusaka
luscious
lush
lust
lustful
lustrous
lusty
lutanist
lute
lutetium
Luther
Lutheran
Lutz
lymphocyte
lymphoma
lynch
Lynchburg
Lynn
lynx
Lyon
Lyons
Lyra
lyric
lyricism
Lysenko
lysergic
lysine
.MULE
m
ma
Mabel
Mac
macabre
macaque
MacArthur
Macassar
Macbeth
MacDonald
MacDougall
mace
Macedon
Macedonia
MacGregor
Mach
Machiavelli
machination
machine
machinelike
machinery
machismo
macho
macintosh
mack
MacKenzie
mackerel
Mackey
Mackinac
Mackinaw
mackintosh
MacMillan
Macon
macrame
macro
macromolecular
macromolecule
macrophage
macroprocessor
macroscopic
macrostructure
mad
Madagascar
madam
Madame
madcap
madden
Maddox
made
Madeira
Madeleine
Madeline
madhouse
Madison
madman
madmen
Madonna
Madras
Madrid
madrigal
Madsen
madstone
Mae
Maelstrom
maestro
Mafia
magazine
Magdalene
magenta
Maggie
maggot
maggoty
magi
magic
magician
magisterial
magistrate
magma
magna
magnanimity
magnanimous
magnate
magnesia
magnesite
magnesium
magnet
magnetic
magnetite
magneto
magnetron
magnificent
magnify
magnitude
magnolia
magnum
Magnuson
Magog
magpie
Magruder
Mahayana
Mahayanist
mahogany
Mahoney
maid
maiden
maidenhair
maidservant
Maier
mail
mailbox
mailman
mailmen
maim
main
Maine
mainland
mainline
mainstay
mainstream
maintain
maintenance
maitre
majestic
majesty
major
make
makeshift
makeup
Malabar
maladapt
maladaptive
maladjust
maladroit
malady
Malagasy
malaise
malaprop
malaria
malarial
Malawi
Malay
Malaysia

View file

@ -1,196 +0,0 @@
granary
grand
grandchild
grandchildren
granddaughter
grandeur
grandfather
grandiloquent
grandiose
grandma
grandmother
grandnephew
grandniece
grandpa
grandparent
grandson
grandstand
granite
granitic
granny
granola
grant
grantee
grantor
granular
granulate
granule
Granville
grape
grapefruit
grapevine
graph
grapheme
graphic
graphite
grapple
grasp
grass
grassland
grassy
.MC 3c
grata
grate
grateful
grater
gratify
gratis
gratitude
gratuitous
gratuity
grave
gravel
graven
Graves
gravestone
graveyard
gravid
gravitate
gravy
gray
graybeard
grayish
Grayson
graywacke
graze
grease
greasy
great
greatcoat
greater
grebe
Grecian
Greece
greed
greedy
.NCOL
Greek
green
Greenbelt
Greenberg
Greenblatt
Greenbriar
Greene
greenery
Greenfield
greengrocer
greenhouse
greenish
Greenland
Greensboro
greensward
greenware
Greenwich
greenwood
Greer
greet
Greg
gregarious
Gregg
Gregory
gremlin
grenade
Grendel
Grenoble
Gresham
Greta
Gretchen
grew
grey
greyhound
greylag
grid
griddle
gridiron
grief
grievance
grieve
grievous
griffin
Griffith
grill
grille
grilled
grillwork
.NCOL
grim
grimace
Grimaldi
grime
Grimes
Grimm
grin
grind
grindstone
grip
gripe
grippe
grisly
grist
gristmill
Griswold
grit
gritty
grizzle
grizzly
groan
groat
grocer
grocery
groggy
groin
grommet
groom
groove
grope
grosbeak
gross
Grosset
Grossman
Grosvenor
grotesque
Groton
ground
groundsel
groundskeep
groundwork
group
groupoid
grout
grove
grovel
Grover
grow
growl
grown
grownup
growth
grub
grubby
grudge
gruesome
gruff
grumble
Grumman
grunt
gryphon
g's
GSA
GU
Guam
guanidine
guanine
guano
guarantee
guaranteeing
guarantor

View file

@ -1,17 +0,0 @@
.nf
----------------------------------------------------------------------
.ce
Testing
----------------------------------------------------------------------
Date = \*[DT]
.ISODATE
Date = \*[DT]
.ISODATE 0
.ND "13 August 1992"
Date = \*[DT]
.ISODATE
.ND "14 August 1992"
Date = \*[DT]
----------------------------------------------------------------------

View file

@ -1,32 +0,0 @@
This directory contains examples of my enhancements to MM.
APP The appendix macro
B1B2 Box macro with text
COVER My general cover macro, this example is using
ms.cov.
IND A general indexing method, see manual for INITI
LT The letter macro
LT.se A swedish example with the extra
swedish macros for getting a letter conforming
to swedish standard letter, both left and right adjusted.
ML Marked list, an extended list type
MOVE The MOVE macro, how to begin to print on an exact position.
MUL Enhanced multicolumn mode.
NCOL Start on next column. (Not for MUL*)
ND New date, with iso date example
References How to use references
SETR General reference system, see manual for INITR
Examples that I should have:
PIC How to include postscript pictures, see manual for PIC
VERBON Begin verbatim output
And remember, check the manual for all string and number registers,
I've made shure that mgm will be useful in several languages
and all english output can be redefined.
Check the manual for groff_mse (swedish format) and the
macro file, tmac.mse.

View file

@ -1,975 +0,0 @@
.PH "'this'is'a header'"
.PF "'this'is'a footer'"
.OH "'odd'%'page'"
.EH "'even'%'page'"
.OF "'odd'%'page'"
.EF "'even'%'page'"
10th
1st
2nd
3rd
4th
5th
6th
7th
8th
9th
a
AAA
.B
AAAS
Aarhus
Aaron
.R
AAU
ABA
Ababa
aback
abacus
abalone
abandon
abase
.H 1 "hej hopp"
abash
abate
abater
abbas
abbe
abbey
abbot
Abbott
abbreviate
abc
abdicate
abdomen
abet
abetted
abetting
abeyance
abeyant
.H 2 "hej hopp"
abhorred
abhorrent
abide
Abidjan
Abigail
abject
ablate
ablaze
able
ablution
Abner
abnormal
.H 2 "hej hopp"
Abo
aboard
abode
abolish
.HU "hej hopp"
.B1
abolition
abominable
abominate\*(Rf
aboriginal
.RS
AAA
ABORIGINE
ABORNING
ABORT
ABOUND
ABOUT
ABOVE
ABOVEBOARD
ABOVEGROUND
.RF
abovementioned
abrade
Abraham\*(Rf
Abram\*(Rf
Abramson\*(Rf
abrasion\*(Rf
abrasive\*(Rf
abreact\*(Rf
.B2
abreast\*(Rf
.RS
BBB
ABRIDGE
ABRIDGMENT
ABROAD
.RF
abrogate
abrupt
abscess\*(Rf
abscissa\*(Rf
abscissae\*(Rf
absence\*(Rf
absent
absentee
absenteeism
absentia
.H 3 "hej hopp"
absentminded
absinthe
absolute
absolution
absolve
absorb
absorbent
absorption
absorptive
abstain
abstention
abstinent\*(Rf
abstract
abstracter
abstractor
.RS nisse
CCC
ABSTRUSE
ABSURD
ABUILDING
ABUNDANT
ABUSABLE
ABUSE
ABUSIVE
ABUT
ABUTTED
ABUTTING
ABYSMAL
ABYSS
ABYSSINIA
AC
ACADEME
ACADEMIA
ACADEMIC
ACADEMICIAN
ACADEMY
ACADIA
ACANTHUS
ACAPULCO
ACCEDE
ACCELERATE
ACCELEROMETER
ACCENT
ACCENTUAL
ACCENTUATE
ACCEPT
ACCEPTANT
.RF
acceptor
access
accessible
accession
Ref \*[nisse]
accessory
.H 4 "hej hopp"
accident
accidental
accipiter
acclaim
acclamation
acclimate
accolade
accommodate
accompaniment
accompanist
accompany
accomplice
accomplish\*(Rf
accord
accordant
.RS
DDD
ACCORDION
ACCOST
ACCOUNT
ACCOUNTANT
ACCRA
ACCREDIT
ACCREDITATE
ACCREDITATION
ACCRETION
ACCRUAL
ACCRUE
.RF
acculturate
accumulate
accuracy
accurate
accusation
accusative
accusatory
accuse
accustom
ace
acerbic
acerbity
acetate
acetic
acetone
acetylene
ache
achieve
Achilles
aching
achromatic
acid
acidic
acidulous
.H 5 "hej hopp"
Ackerman
Ackley
acknowledge
acknowledgeable
ACM
acme
acolyte
acorn
acoustic
acquaint
acquaintance
acquiesce
acquiescent
acquire
acquisition
acquisitive
acquit
acquittal
acquitting
acre
acreage
acrid
acrimonious
acrimony
acrobacy
acrobat
acrobatic
acronym
acropolis
across
acrylate
acrylic
ACS
act
Actaeon
actinic
actinide
actinium
actinolite
actinometer
activate
activation
activism
Acton
actor
actress
Acts
actual
actuarial
actuate
.H 6 "hej hopp"
acuity
acumen
acute
acyclic
ad
Ada
adage
adagio
Adair
Adam
adamant
Adams
Adamson
adapt
adaptation
adaptive
add
added
addend
addenda
addendum
addict
Addis
Addison
addition
additional
additive
addle
address
addressee
Addressograph
adduce
Adelaide
Adele
Adelia
Aden
adenine
adenoma
adenosine
adept
adequacy
adequate
adhere
adherent
adhesion
adhesive
adiabatic
adieu
adipic
Adirondack
.H 7 "hej hopp"
adjacent
adject
adjectival
adjective
adjoin
adjoint
adjourn
adjudge
adjudicate
adjunct
adjust
adjutant
Adkins
Adler
administer
administrable
administrate
administratrix
admiral
admiralty
admiration
admire
admissible
admission
admit
admittance
admitted
admitting
admix
admixture
admonish
admonition
ado
adobe
adolescent
Adolph
Adolphus
Adonis
adopt
adoption
adoptive
adore
adorn
adposition
adrenal
adrenaline
Adrian
Adriatic
Adrienne
adrift
adroit
adsorb
adsorbate
adsorption
adsorptive
adulate
adult
adulterate
adulterous
adultery
adulthood
advance
advantage
advantageous
advent
adventitious
adventure
adventurous
adverb
adverbial
adversary
adverse
advert
advertise
advice
advisable
advise
advisee
advisor
advisory
advocacy
advocate
Aegean
aegis
Aeneas
Aeneid
aeolian
Aeolus
aerate
aerial
Aerobacter
aerobic
aerodynamic
aerogene
aeronautic
aerosol
aerospace
Aeschylus
aesthete
aesthetic
10th
1st
2nd
3rd
4th
5th
6th
7th
8th
9th
a
AAA
AAAS
Aarhus
Aaron
AAU
ABA
Ababa
aback
abacus
abalone
abandon
abase
.H 1 "hej hopp"
abash
abate
abater
abbas
abbe
abbey
abbot
Abbott
abbreviate
abc
abdicate
abdomen
abdominal
abduct
Abe
abed
Abel
Abelian
Abelson
Aberdeen
Abernathy
aberrant
aberrate
abet
abetted
abetting
abeyance
abeyant
.H 2 "hej hopp"
abhorred
abhorrent
abide
Abidjan
Abigail
abject
ablate
ablaze
able
ablution
Abner
abnormal
Abo
aboard
abode
abolish
abolition
abominable
abominate
aboriginal
aborigine
aborning
abort
abound
about
above
aboveboard
aboveground
abovementioned
abrade
Abraham
Abram
Abramson
abrasion
abrasive
abreact
abreast
abridge
abridgment
abroad
abrogate
abrupt
abscess
abscissa
abscissae
absence
absent
absentee
absenteeism
absentia
.H 3 "hej hopp"
absentminded
absinthe
absolute
absolution
absolve
absorb
absorbent
absorption
absorptive
abstain
abstention
abstinent
abstract
abstracter
abstractor
abstruse
absurd
abuilding
abundant
abusable
abuse
abusive
abut
abutted
abutting
abysmal
abyss
Abyssinia
AC
academe
academia
academic
academician
academy
Acadia
acanthus
Acapulco
accede
accelerate
accelerometer
accent
accentual
accentuate
accept
acceptant
acceptor
access
accessible
accession
accessory
.H 4 "hej hopp"
accident
accidental
accipiter
acclaim
acclamation
acclimate
accolade
accommodate
accompaniment
accompanist
accompany
accomplice
accomplish
accord
accordant
accordion
accost
account
accountant
Accra
accredit
accreditate
accreditation
accretion
accrual
accrue
acculturate
accumulate
accuracy
accurate
accusation
accusative
accusatory
accuse
accustom
ace
acerbic
acerbity
acetate
acetic
acetone
acetylene
ache
achieve
Achilles
aching
achromatic
acid
acidic
acidulous
.H 5 "hej hopp"
Ackerman
Ackley
acknowledge
acknowledgeable
ACM
acme
acolyte
acorn
acoustic
acquaint
acquaintance
acquiesce
acquiescent
acquire
acquisition
acquisitive
acquit
acquittal
acquitting
acre
acreage
acrid
acrimonious
acrimony
acrobacy
acrobat
acrobatic
acronym
acropolis
across
acrylate
acrylic
ACS
act
Actaeon
actinic
actinide
actinium
actinolite
actinometer
activate
activation
activism
Acton
actor
actress
Acts
actual
actuarial
actuate
.H 6 "hej hopp"
acuity
acumen
acute
acyclic
ad
Ada
adage
adagio
Adair
Adam
adamant
Adams
Adamson
adapt
adaptation
adaptive
add
added
addend
addenda
addendum
addict
Addis
Addison
addition
additional
additive
addle
address
addressee
Addressograph
adduce
Adelaide
Adele
Adelia
Aden
adenine
adenoma
adenosine
adept
adequacy
adequate
adhere
adherent
adhesion
adhesive
adiabatic
adieu
adipic
Adirondack
.H 7 "hej hopp"
adjacent
adject
adjectival
adjective
adjoin
adjoint
adjourn
adjudge
adjudicate
adjunct
adjust
adjutant
Adkins
Adler
administer
administrable
administrate
administratrix
admiral
admiralty
admiration
admire
admissible
admission
admit
admittance
admitted
admitting
admix
admixture
admonish
admonition
ado
adobe
adolescent
Adolph
Adolphus
Adonis
adopt
adoption
adoptive
adore
adorn
adposition
adrenal
adrenaline
Adrian
Adriatic
Adrienne
adrift
adroit
adsorb
adsorbate
adsorption
adsorptive
adulate
adult
adulterate
adulterous
adultery
adulthood
advance
advantage
advantageous
advent
adventitious
adverse
advert
advertise
advice
advisable
advise
advisee
advisor
advisory
advocacy
advocate
Aegean
aegis
Aeneas
Aeneid
aeolian
Aeolus
aerate
aerial
Aerobacter
aerobic
aerodynamic
aerogene
aeronautic
aerosol
aerospace
Aeschylus
aesthete
aesthetic
.H 1 "hej hopp"
acuity
acumen
acute
acyclic
ad
Ada
adage
adagio
Adair
Adam
adamant
Adams
Adamson
adapt
adaptation
adaptive
add
added
addend
addenda
addendum
addict
Addis
Addison
addition
additional
additive
addle
address
addressee
Addressograph
adduce
Adelaide
Adele
Adelia
Aden
adenine
adenoma
adenosine
adept
adequacy
adequate
adhere
adherent
adhesion
adhesive
adiabatic
adieu
adipic
Adirondack
.H 2 "hej hopp"
adjacent
adject
adjectival
adjective
adjoin
adjoint
adjourn
adjudge
adjudicate
.H 2 "hej hopp"
adjunct
adjust
adjutant
Adkins
Adler
administer
administrable
administrate
administratrix
admiral
admiralty
admiration
admire
admissible
admission
admit
admittance
admitted
admitting
admix
admixture
admonish
admonition
ado
adobe
adolescent
Adolph
Adolphus
Adonis
adopt
adoption
adoptive
adore
adorn
adposition
adrenal
adrenaline
Adrian
Adriatic
Adrienne
adrift
adroit
adsorb
adsorbate
adsorption
adsorptive
adulate
adult
adulterate
adulterous
adultery
adulthood
advance
advantage
advantageous
advent
adventitious
adverse
advert
advertise
advice
advisable
advise
advisee
advisor
advisory
advocacy
advocate
Aegean
aegis
Aeneas
Aeneid
aeolian
Aeolus
aerate
aerial
Aerobacter
aerobic
aerodynamic
aerogene
aeronautic
aerosol
aerospace
Aeschylus
aesthete
aesthetic
.RP 0 1
.TC

View file

@ -1,109 +0,0 @@
.nr Cl 6
.INITR setr
.H 1 " granary grand grandchild grandchildren granddaughter grandeur"
.SETR ref1
.H 2 "grandfather grandiloquent grandiose grandma grandmother grandnephew"
.H 2 "grandniece grandpa grandparent grandson grandstand granite granitic"
.H 2 "granny granola grant grantee grantor granular granulate"
.SETR ref2
.H 2 "granule Granville grape"
grant
grantee
grantor
granular
granulate
.br
granule
.B
REF 9:
.GETHN ref9
, page number
.GETPN ref9
.R
Granville
grape
.br
grapefruit
grapevine
graph
grapheme
graphic
graphite
\fBExhibit\fP
.GETHN ex1
grapple
grasp
grass
grassland
grassy
grata
grate
.H 2 "grapefruit grapevine graph grapheme graphic graphite"
.H 3 "grapple"
.SETR ref3
.H 3 "grasp grass grassland grassy grata grate grateful"
.H 3 "grater gratify gratis gratitude"
.H 4 "gratuitous gratuity grave"
.H 4 "gravel graven"
.SETR ref4
.H 1 "Graves gravestone graveyard gravid gravitate gravy gray"
.H 2 "graybeard grayish Grayson graywacke graze grease greasy great greatcoat"
.H 2 "greater grebe Grecian Greece greed greedy Greek green Greenbelt Greenberg"
.H 2 "Greenblatt Greenbriar Greene greenery"
.SETR ref5
.H 1 "Greenfield greengrocer greenhouse greenish Greenland Greensboro"
.H 1 "greensward greenware Greenwich greenwood Greer greet"
grant
grantee
.DS
Advertisements contain the only truths to be relied on in a newspaper.
-- Thomas Jefferson
.EX fortune "" "" ex1
.DE
grantor
granular
.GETR ref1
granulate
granule
.H 2 "Using variables"
.B
REF 2:
.GETHN ref2 c
.GETPN ref2 bbb
\*c, page number \*[bbb]
.R
Granville
grape
grapefruit
grapevine
graph
grapheme
.H 2 "Greg gregarious Gregg Gregory gremlin grenade Grendel"
.H 2 "Grenoble Gresham Greta Gretchen"
.SETR ref6
.H 2 "grew"
.H 1 "grey greyhound greylag grid griddle gridiron grief"
.H 1 "grievance grieve grievous griffin Griffith grill grille grilled grillwork"
.H 3 "grim grimace Grimaldi grime Grimes Grimm grin grind grindstone"
.H 3 "grip gripe grippe grisly grist gristmill Griswold grit"
.SETR ref7
.H 3 "gritty grizzle grizzly groan groat grocer grocery groggy groin"
.H 1 "grommet groom groove grope grosbeak gross Grosset Grossman Grosvenor grotesque"
.H 1 "Groton ground groundsel groundskeep groundwork group groupoid"
.H 4 "grout grove grovel Grover grow growl grown grownup growth grub grubby"
.H 4 "grudge gruesome gruff grumble Grumman grunt gryphon g's"
.SETR ref8
.H 4 "GSA GU Guam guanidine guanine guano guarantee guaranteeing guarantor"
.H 4 "guaranty"
.H 1 "guard guardhouse Guardia guardian Guatemala gubernatorial Guelph Guenther"
.H 1 "guerdon guernsey guerrilla guess guesswork guest guffaw Guggenheim"
.SETR ref9
.H 1 "Guiana guidance guide guidebook guideline guidepost guiding"
.H 1 "guignol"
.GETR ref6
.H 1 "guild guildhall guile Guilford guillemot guillotine guilt"
.SETR ref10
.H 1 "guilty guinea guise guitar gules gulf gull Gullah"
.H 1 "gullet gullible gully gulp gum gumbo gumdrop gummy gumption"

File diff suppressed because it is too large Load diff

View file

@ -1,86 +0,0 @@
.\"
.\" $Id: groff_mmse.man,v 2.2 2001/12/09 12:15:09 wlemb Exp $
.\" Skrivet av Jörgen Hägg, Lund, Sverige
.\"
.TH GROFF_MMSE @MAN7EXT@ "@MDATE@" "Groff Version @VERSION@"
.SH NAMN
groff_mmse \- svenska mm makro för groff
.SH SYNTAX
.B groff
.B \-m@TMAC_M_PREFIX@mse
[
.IR flaggor .\|.\|.
]
[
.IR filer .\|.\|.
]
.SH BESKRIVNING
\fBm@TMAC_M_PREFIX@mse\fP är en svensk variant av \fBm@TMAC_M_PREFIX@m\fP. Alla texter
är översatta. En A4 sida får text som är 13 cm bred, 3.5 cm indragning
samt är 28.5 cm hög.
Det finns stöd för brevuppställning enligt svensk standard
för vänster och högerjusterad text.
.LP
\fBCOVER\fP kan använda \fIse_ms\fP som argument. Detta ger ett
svenskt försättsblad.
Se \fBgroff_mm(@MAN7EXT@)\fP för övriga detaljer.
.SH BREV
Tillgängliga brevtyper:
.TP
.B ".LT SVV"
Vänsterställd löptext med adressat i position T0 (vänsterställt).
.TP
.B ".LT SVH"
Högerställd löptext med adressat i position T4 (passar
fönsterkuvert).
.LP
Följande extra LO-variabler används.
.TP
.B ".LO DNAMN\fI namn\fP"
Anger dokumentets namn.
.TP
.br
.B ".LO MDAT\fI datum\fP"
Mottagarens datum, anges under \fBErt datum:\fP (\fBLetMDAT\fP).
.TP
.br
.B ".LO BIL\fI sträng\fP"
Anger bilaga, nummer eller sträng med \fBBilaga\fP (\fBLetBIL\fP)
som prefix.
.TP
.br
.B ".LO KOMP\fI text\fP"
Anger kompletteringsuppgift.
.TP
.br
.B ".LO DBET\fI beteckning\fP"
Anger dokumentbeteckning eller dokumentnummer.
.TP
.br
.B ".LO BET\fI beteckning\fP"
Anger beteckning (ärendebeteckning i form av diarienummer eller liknande).
.TP
.br
.B ".LO SIDOR\fI antal\fP"
Anger totala antalet sidor och skrivs ut efter sidnumret inom
parenteser.
.LP
Om makrot \fB.TP\fP är definierat anropas det efter utskrift av brevhuvudet.
Där lägger man lämpligen in postadress och annat som brevfot.
.SH "SKRIVET AV"
Jörgen Hägg, Lund, Sweden <Jorgen.Hagg@axis.se>
.SH FILER
.B @MACRODIR@/tmac.@TMAC_M_PREFIX@mse
.B @TMAC_MDIR@/se_*.cov
.SH "SE OCKSÅ"
.BR groff (@MAN1EXT@),
.BR @g@troff (@MAN1EXT@),
.BR @g@tbl (@MAN1EXT@),
.BR @g@pic (@MAN1EXT@),
.BR @g@eqn (@MAN1EXT@)
.br
.BR groff_mm (@MAN7EXT@)
.
.\" Local Variables:
.\" mode: nroff
.\" End:

File diff suppressed because it is too large Load diff

View file

@ -1,3 +0,0 @@
.\" mm.tmac
.\"
.do mso m.tmac

View file

@ -1,146 +0,0 @@
.\"------------
.\" $Id: 0.MT,v 2.0 2000/09/14 03:40:25 jhaegg Exp $
.\" Cover sheet. Memorandum type 0-3 and "string".
.\"------------
.if !r Au .nr Au 1
.nr cov*mt0-ind 1.1c
.de cov@print-title
.MOVE 4.8c 1.5c
.S 8
subject:
.sp -1.1
.S
.PGFORM
.ft \\*[@sdf_font]
.ll 9c
.fi
.cov*title
.ft
.ll
.nf
.if d cov*title-charge-case \fBCharge Case \\*[cov*title-charge-case]\fP
.if d cov*title-file-case \fBFile Case \\*[cov*title-file-case]\fP
.fi
..
.\"------------
.de cov@print-authors
.MOVE 5.7c 13.3c
.nf
.S 8
\\$1:
.br
.S
.sp -1
.in 0.8c
.ft \\*[@sdf_font]
.nr cov*i 0 1
.while \\n+[cov*i]<=\\n[cov*au] \{\
. cov@print-au1 \\n[cov*i] 1
. if \\n[Au] \{\
. cov@print-au2 \\n[cov*i] 3 4
. cov@print-au2 \\n[cov*i] 6 5
. cov@print-au1 \\n[cov*i] 7
. cov@print-au1 \\n[cov*i] 8
. cov@print-au1 \\n[cov*i] 9
. \}
. if \\n[cov*i]<\\n[cov*au] .SP 1
.\}
.ft
.if r cov*mt-tm-max \{\
. SP 1
. nr cov*i 0 1
. ft \\*[@sdf_font]
TM
. in 1.5c
. sp -1
. while \\n+[cov*i]<\\n[cov*mt-tm-max] \\*[cov*mt-tm!\\n[cov*i]]
. in
. ft
.\}
.fi
.PGFORM
..
.\"------------
.\" index arg1
.de cov@print-au1
.if d cov*au!\\$1!\\$2 \\*[cov*au!\\$1!\\$2]
..
.\"------------
.de cov@print-au2
.\" index arg1 arg2
.if d cov*au!\\$1!\\$2 \\*[cov*au!\\$1!\\$2] \c
.if \\$3=5 .if d cov*au!\\$1!\\$3 x\c
.if d cov*au!\\$1!\\$3 \\*[cov*au!\\$1!\\$3]\c
.br
..
.\"------------
.de cov@print-date
.MOVE 4.8c 13.3c
.S 8
.nf
\\$1:
.br
.S
.sp -1
.in 0.8c
\f[\\*[@sdf_font]]\\*[cov*new-date]\fP
.br
.fi
.PGFORM
..
.\"------------
.de cov@print-firm
.if d cov*firm \{\
. MOVE 2.8c 0 17.7c
. S 18
. rj 1
\fB\\*[cov*firm]\fP
. S
. PGFORM
.\}
..
.\"------------
.de cov@print-abstract
.SP 3
.if d cov*abstract \{\
. misc@ev-keep cov*ev
. if \\n[cov*abs-ind]>0 \{\
. in +\\n[cov*abs-ind]u
. ll -\\n[cov*abs-ind]u
. \}
. ce
\fI\\$1\fP
. SP 1.5
. fi
. cov*abstract
. br
. ev
.\}
..
.\"-----------------
.ds cov*mt0-txt!1 MEMORANDUM FOR FILE
.ds cov*mt0-txt!2 PROGRAMMER'S NOTES
.ds cov*mt0-txt!3 ENGINEER'S NOTES
.if d cov*default-firm .if !d cov*firm .ds cov*firm \\*[cov*default-firm]
.\"
.if !d cov*mt-printed \{\
. cov@print-firm
. cov@print-title subject
. cov@print-date date
. cov@print-authors from
. cov@print-abstract \\*[cov*abs-name]
. SP 3
. if (\*[cov*mt-type]>=1)&(\*[cov*mt-type]<=3) \{\
. ce
\fI\*[cov*mt0-txt!\*[cov*mt-type]]\fP
. SP 1.5
. \}
. if \*[cov*mt-type]=6 \{\
. ce
\fI\*[cov*mt-type-text]\fP
. SP 1.5
. \}
. pg@enable-top-trap
. pg@enable-trap
. ds cov*mt-printed
.\}

View file

@ -1,82 +0,0 @@
.\"------------
.\" $Id: 4.MT,v 2.2 2003/04/02 04:06:40 jhaegg Exp $
.\" Cover sheet. Memorandum type 4
.\"------------
.de cov@print-title
.if !d cov*title .@error title (.TL) not defined!
.MOVE 2.8c
.S +2
.ad c
.fi
.B
.cov*title
.br
.S
.R
.ad b
..
.\"------------
.de cov@print-authors
.SP 0.5
.I
.S +1
.nr cov*i 0 1
.while \\n+[cov*i]<=\\n[cov*au] \{\
.ce
\\*[cov*au!\\n[cov*i]!1]
.br
.\}
.S
.R
..
.\"------------
.de cov@print-firm
.if d cov*firm \{\
. SP 0.5
. ce
\\*[cov*firm]
.\}
..
.\"------------
.de cov@print-abstract
.SP 2
.if d cov*abstract \{\
. misc@ev-keep cov*ev
. init@reset
. if \\n[cov*abs-ind]>0 \{\
. in +\\n[cov*abs-ind]u
. ll -\\n[cov*abs-ind]u
. \}
. ce
\fI\\*[cov*abs-name]\fP
. SP 2
. fi
. cov*abstract
. br
. ev
.\}
..
.\"-----------------
.if d cov*default-firm .if !d cov*firm .ds cov*firm \\*[cov*default-firm]
.if !d cov*mt-printed \{\
. cov@print-title
. cov@print-authors
. cov@print-firm
. if d cov*abstract \{\
. if !\n[cov*abs-arg] .cov@print-abstract
. \}
. SP 2
. nr hd*cur-bline \n[nl]
. ds cov*mt-printed
. pg@enable-top-trap
. pg@enable-trap
.\}
.de CS
.pg@disable-top-trap
.SK
.cov@print-title
.cov@print-authors
.cov@print-firm
.cov@print-abstract
..

View file

@ -1,34 +0,0 @@
.\"------------
.\" $Id: 5.MT,v 2.0 2000/09/14 03:40:25 jhaegg Exp $
.\" Cover sheet. Memorandum type 5
.\"------------
.nr cov*mt0-ind 1.1c
.de cov@print-title
.B
.ll 9c
.fi
.cov*title
.R
.ll
.nf
.if d cov*title-charge-case \fBCharge Case \\*[cov*title-charge-case]\fP
.if d cov*title-file-case \fBFile Case \\*[cov*title-file-case]\fP
.fi
..
.\"------------
.de cov@print-date
.rj 1
\f[\\*[@sdf_font]]\\*[cov*new-date]\fP
.br
..
.\"------------
.if !d cov*mt-printed \{\
. SP 1.9c
. cov@print-title
. SP 1.2c
. cov@print-date
. SP 3
. pg@enable-top-trap
. pg@enable-trap
. ds cov*mt-printed
.\}

View file

@ -1,84 +0,0 @@
.\"------------
.\" $Id: ms.cov,v 2.0 2000/09/14 03:40:25 jhaegg Exp $
.\" Cover sheet. Mostly like ms cover.
.\"------------
.de cov@print-title
.in 0
.misc@ev-keep cov*ev
.init@reset
.ad c
.hy 0
.fi
.B
.cov*title
.br
.ad b
.R
.ev
..
.\"------------
.de cov@print-authors
.SP
.nr cov*i 0 1
.while \\n+[cov*i]<=\\n[cov*au] \{\
. ce
\fI\\*[cov*au!\\n[cov*i]!1]\fP
. nr cov*j 0 1
. while \\n+[cov*j]<=9 \{\
. if d cov*at!\\n[cov*i]!\\n[cov*j] \{\
. if \w'\\*[cov*at!\\n[cov*i]!\\n[cov*j]]' \{\
. ce
\s-1\\*[cov*at!\\n[cov*i]!\\n[cov*j]]\s0
. .\}
. \}
. \}
.\}
..
.\"------------
.de cov@print-firm
.SP .5
.ce
\\*[cov*firm]
..
.\"------------
.de cov@print-abstract
.SP 2
.if d cov*abstract \{\
. misc@ev-keep cov*ev
. init@reset
. if \\n[cov*abs-ind]>0 \{\
. in +\\n[cov*abs-ind]u
. ll -\\n[cov*abs-ind]u
. \}
. ce
\fI\\$1\fP
. SP 1.5
. fi
. cov*abstract
. br
. ev
.\}
..
.\"------------
.de cov@print-date
.SP 2
\f[\\*[@sdf_font]]\\*[cov*new-date]\fP
..
.\"-----------------
.de COVEND
.br
.if d cov*default-firm .if !d cov*firm .ds cov*firm \\*[cov*default-firm]
.sp |4.2c
.cov@print-title
.cov@print-authors
.cov@print-firm
.cov@print-abstract \\*[cov*abs-name]
.cov@print-date
.pg@enable-top-trap
.bp 1
.pg@enable-trap
.if d cov*abs-arg .if \\n[cov*abs-arg] \{\
. cov@print-abstract ABSTRACT
. SP 2
.\}
..

View file

@ -1,3 +0,0 @@
.\" $Id: se_ms.cov,v 2.0 2000/09/14 03:40:25 jhaegg Exp $
.mso mm/ms.cov
.nr cur*abstract-ll 11c

View file

@ -1,49 +0,0 @@
.\"
.\" $Id: mmroff.man,v 2.2 2001/12/09 12:15:09 wlemb Exp $
.\"
.TH MMROFF @MAN1EXT@ "@MDATE@" "Groff Version @VERSION@"
.SH NAME
mmroff \- reference preprocessor
.SH SYNOPSIS
.B mmroff
[
.I -x
]
.I groff_arguments
.SH DESCRIPTION
\fBmmroff\fP is a simple preprocessor for \fBgroff\fP, it is
used for expanding references in \fBm@TMAC_M_PREFIX@m\fP, see
\fBgroff_mm(@MAN7EXT@)\fP.
\fBgroff\fP is executed twice, first with \fB-z\fP and \fB-rRef=1\fR
to collect all references and then to do the real processing
when the reference file is up to date.
.TP
\fB\-x\fR
Just create the reference file. This can be used to refresh
the reference file, it isn't always needed to have accurate
references and by using this option \fBgroff\fP will only
be run once.
.\".SH BUGS
.SH AUTHOR
Jörgen Hägg, Lund, Sweden <jh@axis.se>.
.SH FILES
.TP
.B @MACRODIR@/tmac.@TMAC_M_PREFIX@m
.TP
.B @TMAC_MDIR@/*.cov
.TP
.B @TMAC_MDIR@/*.MT
.TP
.B @TMAC_MDIR@/locale
.SH "SEE ALSO"
.BR groff_mm(@MAN7EXT@),
.BR groff_mmse(@MAN7EXT@),
.BR groff (@MAN1EXT@),
.BR @g@troff (@MAN1EXT@),
.BR @g@tbl (@MAN1EXT@),
.BR @g@pic (@MAN1EXT@),
.BR @g@eqn (@MAN1EXT@)
.
.\" Local Variables:
.\" mode: nroff
.\" End:

View file

@ -1,137 +0,0 @@
#! /usr/bin/env perl
use strict;
# runs groff in safe mode, that seems to be the default
# installation now. That means that I have to fix all nice
# features outside groff. Sigh.
# I do agree however that the previous way opened a whole bunch
# of security holes.
my $no_exec;
# check for -x and remove it
if (grep(/^-x$/, @ARGV)) {
$no_exec++;
@ARGV = grep(!/^-x$/, @ARGV);
}
# mmroff should always have -mm, but not twice
@ARGV = grep(!/^-mm$/, @ARGV);
my $check_macro = "groff -rRef=1 -z -mm @ARGV";
my $run_macro = "groff -mm @ARGV";
my (%cur, $rfilename, $max_height, $imacro, $max_width, @out, @indi);
open(MACRO, "$check_macro 2>&1 |") || die "run $check_macro:$!";
while(<MACRO>) {
if (m#^\.\\" Rfilename: (\S+)#) {
# remove all directories just to be more secure
($rfilename = $1) =~ s#.*/##;
next;
}
if (m#^\.\\" Imacro: (\S+)#) {
# remove all directories just to be more secure
($imacro = $1) =~ s#.*/##;
next;
}
if (m#^\.\\" Index: (\S+)#) {
# remove all directories just to be more secure
my $f;
($f = $1) =~ s#.*/##;
&print_index($f, \@indi, $imacro);
@indi = ();
$imacro = '';
next;
}
my $x;
if (($x) = m#^\.\\" IND (.+)#) {
$x =~ s#\\##g;
my @x = split(/\t/, $x);
grep(s/\s+$//, @x);
push(@indi, join("\t", @x));
next;
}
if (m#^\.\\" PIC id (\d+)#) {
%cur = ('id', $1);
next;
}
if (m#^\.\\" PIC file (\S+)#) {
&psbb($1);
&ps_calc($1);
next;
}
if (m#^\.\\" PIC (\w+)\s+(\S+)#) {
eval "\$cur{'$1'} = '$2'";
next;
}
s#\\ \\ $##;
push(@out, $_);
}
close(MACRO);
if ($rfilename) {
push(@out, ".nr pict*max-height $max_height\n") if defined $max_height;
push(@out, ".nr pict*max-width $max_width\n") if defined $max_width;
open(OUT, ">$rfilename") || "create $rfilename:$!";
print OUT '.\" references', "\n";
my $i;
for $i (@out) {
print OUT $i;
}
close(OUT);
}
exit 0 if $no_exec;
exit system($run_macro);
sub print_index {
my ($f, $ind, $macro) = @_;
open(OUT, ">$f") || "create $f:$!";
my $i;
for $i (sort @$ind) {
if ($macro) {
$i = '.'.$macro.' "'.join('" "', split(/\t/, $i)).'"';
}
print OUT "$i\n";
}
close(OUT);
}
sub ps_calc {
my ($f) = @_;
my $w = abs($cur{'llx'}-$cur{'urx'});
my $h = abs($cur{'lly'}-$cur{'ury'});
$max_width = $w if $w > $max_width;
$max_height = $h if $h > $max_height;
my $id = $cur{'id'};
push(@out, ".ds pict*file!$id $f\n");
push(@out, ".ds pict*id!$f $id\n");
push(@out, ".nr pict*llx!$id $cur{'llx'}\n");
push(@out, ".nr pict*lly!$id $cur{'lly'}\n");
push(@out, ".nr pict*urx!$id $cur{'urx'}\n");
push(@out, ".nr pict*ury!$id $cur{'ury'}\n");
push(@out, ".nr pict*w!$id $w\n");
push(@out, ".nr pict*h!$id $h\n");
}
sub psbb {
my ($f) = @_;
unless (open(IN, $f)) {
print STDERR "Warning: Postscript file $f:$!";
next;
}
while(<IN>) {
if (/^%%BoundingBox:\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)/) {
$cur{'llx'} = $1;
$cur{'lly'} = $2;
$cur{'urx'} = $3;
$cur{'ury'} = $4;
}
}
close(IN);
}

View file

@ -1,3 +0,0 @@
.\" mmse.tmac
.\"
.do mso mse.tmac

View file

@ -1,184 +0,0 @@
.\" $Id: mse.tmac,v 2.1 2000/11/17 04:26:02 jhaegg Exp $
.\"
.\" swedish version of mm
.\" See m.tmac for version-information.
.ds @language se
.mso m.tmac
.ISODATE
.\"
.ds App Bilaga
.ds Lf Figurer
.ds Lt Tabeller
.ds Lx Uppställningar
.ds Le Ekvationer
.\" Page length
.if !r L .nr @pl 28.5c
.\" page width
.if !r W .nr @ll 13c
.\" page offset
.if !r O .nr @po 3.5c
.\" set the above parameters
.ll \n[@ll]u
.po \n[@po]u
.pl \n[@pl]u
.ds Lifg Figur
.ds Litb Tabell
.ds Liex Uppställning
.ds Liec Ekvation
.ds Licon Innehållsförteckning
.ds Qrf Se kapitel \\*[Qrfh], sidan \\*[Qrfp].
.ds Rp Referenser
.ds Letfc Vänliga hälsningar
.ds Letapp Godkänd av:
.ds Letdate datum
.ds Letconf KONFIDENTIELLT
.ds Letsal Till vederbörande:
.ds Letatt ATTENTION:
.ds Letsubj Innehåll:
.ds Letref Refererande till:
.\"
.ds Letns!copy Kopia \" space!
.ds Letns!to " till
.ds Letns!0 Kopia till
.ds Letns!1 Kopia (med att.) till
.ds Letns!2 Kopia (utan att.) till
.ds Letns!3 Att.
.ds Letns!4 Atts.
.ds Letns!5 Enc.
.ds Letns!6 Encs.
.ds Letns!7 Annat försättsblad
.ds Letns!8 Brev till
.ds Letns!9 Dokument till
.ds Letns!10 Kopia (med atts.) till
.ds Letns!11 Kopia (utan atts.) till
.ds Letns!12 Endast abstract till
.ds Letns!13 Hela dokumentet till
.ds Letns!14 CC:
.\"
.ds MO1 januari
.ds MO2 februari
.ds MO3 mars
.ds MO4 april
.ds MO5 maj
.ds MO6 juni
.ds MO7 juli
.ds MO8 augusti
.ds MO9 september
.ds MO10 oktober
.ds MO11 november
.ds MO12 december
.nr pg*footer-size 4\" 1v+footer+even/odd footer+1v
.\"------------------------------------------------
.\" Dokumentnamn
.ds LetDNAMN
.\" Mottagarens datum
.ds LetMDAT Ert datum:
.\" Bilaga
.ds LetBIL Bilaga \"
.\" Kompletteringsuppgift
.ds LetKOMP
.\" Dokumentbeteckning eller dokumentnummer
.ds LetDBET
.\" Beteckning (ärendebeteckning i form av diarienummer e.d.
.ds LetBET Beteckning:
.\" Mottagarens beteckning.
.ds LetMBET Er beteckning:
.\" Antal sidor
.ds LetSIDOR
.\" Svensk standard med högerställd löptext. ---------------------
.de let@init_SVH
.in 4.57c
.ll 17.57c
..
.de let@head_SVH
.rm let@header
.let@print_SV H
..
.de let@sg_SVH
..
.de let@fc_SVH
..
.\" Svensk standard med vänsterställd löptext. ---------------------
.de let@init_SVV
..
.de let@head_SVV
.rm let@header
.let@print_SV V
..
.de let@sg_SVV
..
.de let@fc_SVV
..
.\"--------------------------------
.de let@print_SV
.nf
.\" pos T0 -----------------------------------
.in 0
.sp |3
.if d let@wa-div .let@wa-div
.\"----- addressat
.if '\\$1'V' .if d let@ia-div \{\
. sp |10
. let@ia-div
.\}
.\" pos T4 -----------------------------------
.in 9.14c
.\"----- kompletteringsuppgift
.if d let*lo-KOMP \{\
. sp |2
\\*[let*lo-KOMP]
.\}
.\"----- dokumentnamn
.if d let*lo-DNAMN \{\
. sp |3
\\*[let*lo-DNAMN]
.\}
.\"----- datum
.if d cov*new-date \{\
. sp |5
Datum:
\\*[cov*new-date]
.\}
.\"----- mottagarens datum
.if d let*lo-MDAT \{\
. sp |7
\\*[LetMDAT]
\\*[let*lo-MDAT]
.\}
.\"----- addressat
.if '\\$1'H' .if d let@ia-div \{\
. sp |10
. let@ia-div
.\}
.\" pos T6 -----------------------------------
.in 13.72c
.\"----- mottagarens beteck.
.if d let*lo-MBET \{\
. sp |7
\\*[LetMBET]
\\*[let*lo-MBET]
.\}
.\"----- dokumentbeteck.
.if d let*lo-BET \{\
. sp |3
\\*[LetBET]
\\*[let*lo-BET]
.\}
.\" pos T7 -----------------------------------
.in 16c
.\"----- bilaga
.if d let*lo-BIL \{\
. sp |2
\\*[LetBIL]\\*[let*lo-BIL]
.\}
.\"
.\"----- sidnummer
.sp |3
.ie d let*lo-SIDOR \\n[%] (\\*[let*lo-SIDOR])
.el \\n[%]
.\"
.\" Ta hand om special
.if d TP .TP
.sp |17
..
.\" -----------------------------------

View file

@ -1,317 +0,0 @@
Assume that anything that doesn't work or behaves oddly is a bug.
The documentation should be taken as the authoritative source for
how things ought to be.
Post to the groff mailing list with bug reports, questions and
suggestions, or contact me directly at:
peter@faustus.dyn.ca
or
ptpi@golden.net
If writing me directly, please include the word "groff" or "mom" in
the Subject line or you risk my spam filters nuking your message.
Also, please--no html email. That, too, gets nuked.
--Peter Schaffter
========================================================================
Version 1.3
===========
Persistent error in html coding of docs (<nobr> tag).
---Fixed---
Version 1.2-f
============
Multiple line subheads near page bottom sometimes printing one line
of subhead at page bottom, and subsequent lines on next page.
---Fixed---
Post-quote spacing still wonky when paragraph spacing is turned on.
---Fixed--- (for good would be nice)
RULE not always resetting quad and quad value.
---Fixed---
Version 1.2-e
=============
Some string definitions in om.tmac had superfluous spaces after
them (e.g. $COVERTITLE).
---Fixed---
Spacing under quotes not correct when paragraph spacing is turned
on.
---Fixed---
First word of last line before footnotes is getting chopped.
---Fixed---
Version 1.2-d
=============
HEADER_FAMILY not changing header family.
---Fixed---
FAMILY, after COLLATE, not changing the family of all and every
page element or tag.
---Fixed---
Heads and subheads at the start of docs are printing one line lower
than they should.
---Fixed---
Gaps are appearing at the bottom of pages when there's a linebreak
followed by a subhead.
---Fixed---
When LS is invoked after a single text line at the top of a page
containing a T_MARGIN (set with T_MARGIN or PAGE), mom is performing
spacing adjustments as if the first line doesn't exist.
---Fixed---
Changes made to ALD and LS in version 1.2-c should not apply when
the document processing macros are used. There is a significant
conflict with the internal use of ALD when the docheader is only
one line long (as, for example, when DOCTYPE is CHAPTER).
---Fixed, pending discovery of further conflicts---
Version 1.2-c
=============
Deferred footnotes not always being output, and groff complains
"ending diversion FN_OVERFLOW on exit."
---Fixed---
First .LS call after a top margin has been set (with .T_MARGIN
or .PAGE) causing mom to move off the top margin baseline. Also,
there are conflicts between ALD, LS and T_MARGIN.
---Fixed---
DROPCAP not properly restoring a running \*[COND] or \*[EXT] after
COND or EXT are given as arguments to DROPCAP.
---Fixed---
Version 1.2
===========
.PAD not co-operating with mom's fontstyles, esp. when a full
family+fontstyle is given to .FT.
---Fixed---
.DROPCAP -- ditto the above.
---Fixed---
Version 1.1.9
=============
Footnote markers not resetting properly on new pages when COLUMNS
is enabled.
---Fixed---
When overflowed footnote material is the only footnote material on
the page or in the column, no footnotes are output.
---Fixed---
The AUTOLEAD used in FOOTNOTE not being disabled after FOOTNOTES
are output, or after PROCESS_FN_LEFTOVER/PROCESS_FN_IN_DIVER.
---Fixed---
COL_NEXT and COL_BREAK, when invoked during the last column on a
page, are overprinting the last column instead of breaking to a new
page when there are footnotes in the column.
---Fixed---
BR_AT_LINE_KERN not "break-and-spreading" text when used in
justified copy.
---Fixed---
Version 1.1.8
=============
BLOCKQUOTE_FAMILY not changing blockquote family.
---Fixed---
FOOTNOTE, whether in column mode or not, was using
#FN_COUNT_FOR_COLS for all footnote markers and handling.
---Fixed---
Deferred footnotes that occured on the second to last page of
documents not printing.
---Fixed---
Version 1.1.7-a
===============
Suite number in DOCTYPE LETTER not printing.
---Fixed---
Footer elements not always vertically aligning.
---Fixed---
Footer rule gap not always correctly observed.
---Fixed---
Page numbering, when at top of page, not always falling on
HDRFTR_MARGIN.
---Fixed---
Default page numbering style for COPYSTYLE draft is DIGIT instead
of roman.
---Fixed---
Hyphens around page numbering when style is DIGIT, ROMAN or ALPHA
not vertically centered.
---Fixed---
EXT arg not working with DROPCAP.
---Fixed---
DOC_QUAD not automatically set immediately after START
---Fixed--
Tabs behaving erratically during document processing.
---Fixed---
Version 1.1.7
=============
When DOCHEADER OFF <distance> is given, if <distance> falls short
of the top margin of running text, <distance> is not respected and
bottom margin falls low.
---Fixed---
Version 1.1.6-e
===============
The " mark (doublequote), when entered while not in document
processing mode (i.e. just straightforward typesetting), outputs
nothing unless SMARTQUOTES is invoked explicitly.
---Fixed---
Version 1.1.6-c
===============
In document processing mode, docs that use *none* of the
docprocessing tags being ignored.
---Fixed---
Version 1.1.6-b
===============
String tabs not picking up #L_MARGIN when #L_MARGIN not explicitly
set with L_MARGIN, PAPER or PAGE.
---Fixed---
Infinite loop when B_MARGIN is set lower than FOOTER_MARGIN during
doc processing.
---Fixed---
Version 1.1.6-a
===============
Mom partially broken when run with groff 1.19.1. Don't know yet
what this is, whether bad coding in mom, or a problem with 1.19.1.
Only solution for now: run mom 1.1.6 with groff 1.18.
----Fixed---
Top margin of endnotes pages after the first endnotes page when
PRINTSTYLE is TYPEWRITE and endnotes single-spacing is turned on
falling one line too high.
---Fixed---
Version 1.1.6
=============
DOCHEADER OFF (distance) not being respected.
---Fixed---
FINIS killing ENDNOTES page numbering and heads.
---Fixed---
Version 1.1.5
=============
Draft and revision not appearing in page headers.
---Fixed---
\*[RULE] not working properly with indents and justified copy.
---Fixed---
Post-epigraph spacing in TYPEWRITE causing some first pages to run too
deep.
---Fixed---
Spacing of docheaders in TYPEWRITE not always consistent.
---Fixed---
Version 1.1.4
=============
Blockquotes that span pages running too deep.
---Fixed---
Version 1.1.3
=============
Footnotes not outputting on final page of document body when ENDNOTES
is invoked.
---Fixed---
Pad not working properly and/or spitting out warnings when fill mode is
on.
---Fixed---
Version 1.1.2
=============
PAGENUM_STYLE being ignored unless entered after START.
---Fixed---
Version 1.1
===========
String tabs not working as advertised when set from within other tabs.
---Fixed---
.COLLATE sometimes depositing a header on the first page of a subsequent doc.
---Fixed with workaround BREAK_QUOTE---
.UNDERLINE_QUOTES in PRINTSTYLE TYPEWRITE not on by default as advertised.
---Fixed---
.TI not cooperating with other indent styles.
---Fixed---
.WS and .SS not cooperating.
---Fixed---
.RW and .EW not working.
---Fixed---
========================================================================
KNOWN PROBLEMS
--------------
The indent macros from the typesetting macro set may not always
perform well in conjunction with the document processing macros,
especially when documents are set in columns. Mostly, this is the
result of inadequate testing. There are only so many "who'd want to
do this anyway?" scenarios I can think of on my own.
Epigraphs at the bottoms of page may sometimes run exactly one line
deeper than they should. The alternative (from my point of view) is
to have them run 1 line shorter than they should. The problem stems
from the fact the epigraphs are leaded differently than all other text,
and there's only so much adjusting that can be done with the whitespace
surrounding them to get them to bottom align. Since stylistically,
epigraphs should never appear at the bottom of a page/column without at
least some running text beneath them in order to make sense of the role
they play in page layout, this not likely to be fixed for some time.

View file

@ -1,812 +0,0 @@
*Thu Aug 11 2005
o Makefile.sub (HTMLDOCFILES): Add `refer.html'
*Mon Jun 20 2005
o Makefile.sub (HTMLDOCFILES_, EXAMPLEFILES_, PROCESSEDEXAMPLEFILES_): New
variables.
(install_data): Install files in `mom' subdirectories.
Make it work actually.
(uninstall_sub): Updated.
*Thu Jun 16 2005
o Makefile.sub (install_data, uninstall_sub): Use $(exampledir) for example
files. Reported by Keith Marshall.
*Mon May 16 2005
o Update groff_mom.man.
*Thu May 12 2005
o Added margin notes capability
o Added mom-specific refer support; refer calls can be embedded in
running text, sent to footnotes or endnotes, or collected for
output on a bibliography page; also added mom-specific refer
control macros
o Added bibliography page capability, with full suite of control
macros
o Added referencing of footnotes and endnotes by line number
o Added capability to have footnotes run on when footnotes are
being referenced by line number
o Added a post footnote space option, in case users want a little
space between their footnotes
o Added ENDNOTE_MARKER_STYLE, so user can choose between endnotes
identified by a numerical marker in the text, or by line number
o Added control macros to accommodate differing needs for endnotes
identified by line number
o Added ENDNOTE_TITLE_SPACE, so user can control starting position
of the endnotes page title
o Extended LIST so that it accepts lowercase alpha, uppercase roman
numeral and lowercase roman numeral enumerators; also added a
"prefix" argument (which comes *after* the separator argument)
o Changed RESET_LIST so that it can reset a list to any number,
letter, or roman numeral, instead of just 1, a, A, I and i
o Change to handling of footnote/endnote markers in text; input
lines before FOOTNOTE still require \c, but input line after
FOOTNOTE OFF must be entered as a literal continuation of the
line before FOOTNOTE, including any required word space or
punctuation (this so users can get the footnote marker in text
either before or after the punctuation without hassle)
o Added QUOTE_AUTOLEAD and BLOCKQUOTE_AUTOLEAD, so user can have
quotes and blockquotes leaded differently from running text
o Reworked QUOTE and BLOCKQUOTE to accommodate _AUTOLEAD control;
spacing above and below quotes is equalized *on a per quote
basis* (not completely happy with this, but at least it gives
users some flexibility in designing (block)quotes)
*Fri Mar 18 2005
o Added mom.vim to /examples
*Thu Jan 20 2005
o Added \*[TB+] and \*[B] to give inline functionality of .TN and
.EL, respectively.
o Added SECTION and SECTION_CHAR as aliases of LINEBREAK and
LINEBREAK_CHAR
o Added a NOBREAK option to PAD, so when PAD is called, it's possible
to instruct mom not to advance on the page.
*Wed Jan 19 2005
o New macro, ADD_SPACE, so that extra space can be added at the
top of a new page in document processing; the .ns call in HEADER
was making additional space impossible
o Reworked handling of ALD/SPACE/SP and LS when they're used at
the tops of pages during pure (i.e. non-docprocessing)
typesetting. First lines were still wandering. Should also be
more intuitive: ALD after LS advances the specified distance from
the top baseline; LS after ALD doesn't change the position of the
first baseline (i.e. merely sets the lead for the text that
follows).
*Tue Dec 14 2004
o Fixed a small problem with spacing under quotes when paragraph
spacing is turned on.
*Fri Dec 10 2004
o Put all calls in VFP_CHECK inside their own environment. Without
the .ev call, the trap invoked VFP_CHECK was chopping off the
first word of the last line before footnotes.
*Dec 6 2004
o Small fixes to elvis_syntax.new (dealing with strings, \{\ and \}
o Changed
. ie \\n[#START] \{\
. if \\n[#DOC_HEADER]=0 \{ . \}
. \}
in HEAD to
. ie \\n[#START] \{\
. if \\n[#DOC_HEADER]=0 \{ .RLD 1v \}
. \}
so that HEADs at the start of docs with no docheaders falls on
the correct baseline.
*Dec 3 2004
o Removed spurious parens from if ( \\n[#TRAP_DISTANCE] < \\n[#DOC_LEAD]*2 )
in SUBHEAD.
*Oct 14 2004
o Reworked the LL macro so that the argument can take a prepended +
or - sign (i.e. the argument is relative to the current line
length).
*Oct 13 2004
o Added an .if \\n(.n=0 if to the ie clause in LS that controls how mom
responds to initial LS invocation at page top if T_MARGIN has
been set. Now, if there's text on the "top" baseline, LS behaves
as expected when invoked afterwards.
*Oct 11 2004
o Added an ie !r#DOCS clause to the processing of "top baseline"
ALDs. ALD is used extensively (internally) in the document
processing macros, and does not need to check--indeed, should not
check--for top baseline placement prior to execution.
*Sep 29 2004
o Additions to elvis_syntax.new
*Sep 12 2004
o Small fixes to the documentation.
*Aug 21 2004
o Removed superfluous second arguments from strings UP, DOWN, FWD
and BCK
*Aug 8 2004
o Version changed from the 1.1.x series to 1.2. All of the
features I originally wanted mom to have originally have been
implemented, and appear to be stable.
o Major overhaul to the setting of page traps and the handling of
footnotes, both "normal" footnotes and footnotes that occur
inside QUOTE, BLOCKQUOTE and EPIGRAPH.
o Addtion of font "styles" to om.tmac, plus changes to the FAMILY
and FT macros to manage them. New section in the doc appendices
on adding fonts and managing the new font styles.
o Mom now uses a "fallback font" whenever there's an illegal call
to FAMILY.
o RW and EW now affect only the font in effect. A change of family
or font disables them.
o BR_AT_LINE_KERN now properly does a .brp (spread and break) when
used in justified text.
o NEWPAGE, which used to be an alias for .bp, has been moved into
its own macro, in order to make it more responsive to some unusal
situations.
o Some changes to elvis_syn.new, including that the file extensions
recognized by elvis now include both .mom and .tmac. This makes
om.tmac much easier to read.
*Jul 6 2004
o FT and FAM(ILY) reworked to take advantage of if S, if F and
\n[.sty] additions to groff (1.19.2). Warnings are emitted if a
style hasn't been registered, or if a font style doesn't exist in
the current family. Invalid .FAM(ILY) calls now use a "fallback"
font" (although no warning is issued); fallback is user-settable
o New macro, FALLBACK_FONT. Not only controls the fallback font
for invalid family calls, but also controls whether mom aborts on
invalid .FT calls after issuing a warning.
o RW/EW now affect only the current font (or font style)
o BR_AT_LINE_KERN now (properly) does a break-and-spread when text
is justified.
o Fairly extensive list of .sty's added to om.tmac. Hopefully,
this will make life easier for users wishing to add new fonts
and/or entire new families to their groff site-font/devps
directory.
*Jun 6 2004
o Altered kerning slightly for footnote markers in text. Daggers
and double-daggers were getting a bit jammed
*Fri Jun 4 2004
o Makefile.sub (HTMLDOCFILES, EXAMPLEFILES, PROCESSEDEXAMPLEFILES): Updated.
*Thu Jun 3 2004
o Rewrote the routines dealing with _FAMILY, _FONT, _SIZE, _COLOR
and _QUAD. A single macro for each checks for the calling alias
(e.g. TITLE_FAMILY in _FAMILY), and performs the appropriate
action.
o All "COLOUR" aliases of "COLOR", no matter where, have been
removed.
o Added cover and doc cover page generation.
o Added reference macros COVERTITLE, DOC_COVERTITLE, MISC and
COPYRIGHT (for use with covers only)
o Fixed EL and TN so they don't spring page traps; in nofill modes
the preceding input line must be terminated by \c.
o Added #T_MARGIN_LEAD_ADJ to DO_B_MARGIN, DO_T_MARGIN and NEWPAGE
to ensure accurate placement of first lines on new pages when
docprocessing is not taking place.
o Made NEWPAGE it's own macro; formerly just an alias of .bp.
o Made BREAKQUOTE obsolete; rewrote sections of footnote handling,
including adding support macros to deal with processing of
footnotes that were started inside quotes, blockquotes and
epigraphs.
o Added a TERMINATE .em to docprocessing (except letters) to ensure
that deferred footnotes print on the last page of a doc.
*Mar 15 2004
o Added color support
o Adjusted vertical placement of hyphens around page numbering
so that they are better centered on the height of the page
number.
o Re-wrote portions of the document processing macros so that tabs
behave in a consistent and intuitive manner. Tab structures are
now properly preserved from page to page and column to column.
*Feb 20 2004
o Rewrote the macros associated with DOCTYPE LETTER so that the
user can enter DATE, TO and FROM in any order s/he likes. For
backward compatibility, if the older, fixed order (DATE-TO-FROM)
is used, the date goes flush right with two linespaces after
it, while the other fields go flush left with a single linespace
separating them.
o Fixed handling of DOCHEADER OFF <distance> when <distance> fell
short of the top margin of running text (the change is actually
in the SHIM macro, which is called by DOCHEADER).
o Added a selection of iso 639 two-letter language codes as
optional arguments to SMARTQUOTES, so that the use can enter
her/his language code to get language specific quoting styles
o Changed the way the strings for \*[ST<n>], \*[ST<n>X], \*[FU<n>]
and \*[BU<n>] are read. Formerly, they were entered literally.
Now they're entered as an array.
*Jan 24 2004
o Added lists and associated macros. Mom now does (nested) lists.
o Added German-style lowered double quotes and two styles of
guillemets to SMARTQUOTES.
o Added macro SIZE, intended to be called inline as \*[SIZE <n>].
This is to bring mom's inline size change syntax into line with
her other inlines.
o Added ESC_CHAR as an alias of .ec
o Added doc entries for lists.
o Updated SMARTQUOTES entry in docs.
o Updated reserved words in docs.
o Fixed a few more typos in docs.
*Tue Oct 21 2003
o Changed \n[#DRAFT] and \n[#REVISION] to strings \*[$DRAFT] and
\*[$REVISION], allowing for the possibility of blank entries that
don't mess up headers/footers with zeros if user doesn't want any
numbers.
o Extended handling of draft and revision numbers and strings in
headers/footers for increased flexibility. It's possible now to
have just about any combo of DRAFT_STRING, DRAFT, REVISION_STRING
and REVISION, and have them come out in headers/footers as one
intuitively expects/wants.
*Fri Jul 25 2003
o Added a .bp after .if \\n[#START]=1 in FOOTER. Without it,
in document processing mode, documents that use *none* of the
docprocessing tags (yes, there are times when users want to do
this) ignored the footer trap.
*Fri Jun 6 2003
o Changed register #DOCHEADER_LEAD_ADJ to string
*Wed May 21 2003
o DOC_TITLE changed to be used exclusively with DOCTYPE DEFAULT
o Fixed problem with restoration of previous doc pagenum
style when endnotes use a different pagenum style (set with
ENDNOTES_PAGENUM_STYLE)
o Fixed handling of headers/footers with respect to endnotes. Now,
when either headers or footers are on, mom picks up the correct
page header/footer on the last page prior to ENDNOTES, gets the
pageheaders correct for endnotes pages *including the last one*,
and picks up correct page headers/footers for the subsequent docs
after COLLATE
*Sat May 17 2003
o Added TOC (finally) and a nearly complete set of associated
control macros
o Added new control macros to endnotes:
ENDNOTES_STRING_CAPS - capitalize the endnotes string
ENDNOTES_NO_COLUMNS - allows docs in columns and endnotes not
ENDNOTES_PAGENUM_STYLE - set page numbering style for endnotes
ENDNOTES_FIRST_PAGENUMBER - set first pagenumber for endnotes
ENDNOTES_ALLOWS_HEADERS - page headers on endnotes pages off or on
ENDNOTES_NO_FIRST_PAGENUM - allows non-printing first page number when page footers are being used instead of headers
ENDNOTES_SINGLE_SPACE - for TYPEWRITE, if doc double-spaced
SUSPEND/RESTORE_PAGINATION - turns page numbering off for endnotes
o Added an ADJUST option to ENDNOTE_LEAD
o Added DOC_TITLE (like TITLE, but sets document-wide title for collated docs)
o Added HDRFTR_CENTER_PAD, to allow adjustments to placement of
HDRFTR_CENTER_STRING
o Added BLANKPAGE macro, to output blank pages (silently numbered)
o Extensive changes to DEFAULTS, START, COLLATE, HEAD, SUBHEAD and
PARAHEAD because of new TOC and extended flexibility of ENDNOTES
page design
o Fixed DOCHEADER OFF (distance), FINIS
-----------------------------------------------------------------------
*Sat Feb 22 2003
o (Re)-fixed handling of post epigraph spacing after #START for
TYPEWRITE double-spaced.
------------------------------------------------------------------------
*Sun Feb 16 2003
o Added James Ramsey's proposed CHAPTER_TITLE macro, along with his
rewritten START macro and his utility macros to make START easier
to read.
o Expanded handling of CHAPTER_TITLE to encompass TYPEWRITE, as well as
plugging it into the docheaders. Made CHAPTER_TITLE backwardly
compatible so that pre-1.1.5 docs using CHAPTER_STRING to create a
chapter title remain unaffected when groffed with 1.1.5.
o Created control macros for CHAPTER_TITLE FAMILY, FONT and SIZE.
Added defaults for handling of CHAPTER title to DEFAULTS. Documented
CHAPTER_TITLE and everything that goes along with it.
o Fixed broken draft and revision in headers/footers.
o Fixed \*[RULE] so that it behaves properly with indents and justified
copy.
o Fixed/tweaked handling of epigraph spacing in TYPEWRITE.
o Fixed broken spacing of docheaders in TYPEWRITE.
*Mon Feb 3 2003
o Fixed an oversight in CLOSING for DOCTYPE LETTER (closing wasn't
being set flush left)
*Sun Sep 29 2002
o Changed .ne in .HEAD when PRINTSTYLE TYPESET from 5 to 4. With 5,
heads required at least 2 lines of text underneath or they'd be
defered to the next page, which created too much whitespace at the
end of the page. Heads will now be processed on the same page if the
head plus at least one line of text underneath fits. I figure it's
easier for the user to break to a new page manually if this behaviour
is unsatisfactory than to massage the page to fix the excess
whitespace.
*Sun Aug 25 2002
o Changed .IX to .IQ. The older form still works, but emits a message
advising the user to update to the newer. (The macro in om.tmac
still remains IX; IQ is an alias.) Docs updated to reflect the
change.
*Tue Aug 20 2002
o Added new (better) way to handle inline kerning. \*[BU #] and
\*[FU #] allow passing an argument to the inline string. The older
forms \*[BU#] and \*[FU#] still work, though.
o Changed handling of inline horizontal and vertical movements.
Horizontal movements are now done with \*[BCK #<unit>] and
\*[FWD #<unit>]; verticals with \*[UP #<unit>] and \*[DOWN #<unit>].
The older forms \*[FP#] and \*[BP#] still work (horizontals), as do
\*[ALD#] and \*[RLD#] (verticals).
------------------------------------------------------------------------
*Mon Aug 19 2002
o Fixed ENDNOTES so footnotes output properly when ENDNOTES is called
o Added ENDNOTES_HDRFTR_CENTER so that default no-print of header
center string on endnotes page(s) when DOCTYPE is CHAPTER can
be disabled (i.e. header center will be printed).
*Sat Aug 10 2002
o Added .nf to top of PAD, with a test beforehand for current fill
mode. If fill mode was on, it's restored after PAD completes
processing. Updated reserved.html to include number register
#FILL_MODE.
*Fri Jul 12 2002
o More fixes to underlining.
*Fri Jul 5 2002
o Added capability of endnotes and pertinent control macros to om.tmac.
o Added document entries pertaining to endnote macros.
o Incorporated endnote macros into elvis_syntax.
o Small doc fixes.
o Tidied up indenting of om.tmac.
o Fixed handling of underlining of italics in PRINTSTYLE TYPEWRITE
(there was a problem with footnotes getting underlined when they
shouldn't have been).
o Removed ENDNOTES from TODO
o Fixed the character translations for UNDERLINE so they work properly
with digraphs.
*Mon Jul 1 2002
o Expanded docprocessing.html entry "Special Note on Chapters". Tidied
up html a bit.
*Sat Jun 15 2002
o Small fix to PAD to make the use of inlines within the pad string
more intuitive.
o Added \*[RULE] ( = \l'\n(.lu' ) so that full measure rules (either to
full line length or within tabs) are easier to set.
*Sat Jun 8 2002
o Macro .PS renamed to .PT_SIZE. Alias .TS removed.
o .tr bits in .CAPS rewritten in the form .tr é\[`E].
o General cleanup of docs to reflect changes
o Small changes/additions to elvis_syn
*Thu Jun 6 2002
o In DOCTYPE, in .if '\\$1'LETTER', added .FOOTER_RIGHT_SIZE +0.
Without it, the suite page was printing at the default
FOOTER_RIGHT_SIZE of -.5, which didn't look good.
*Wed Jun 5 2002
o Makefile.sub (TFLAG): Add `$(top_builddir)/tmac'.
*Tue Jun 4 2002
o Makefile.sub (groff_bin_dirs): Fix typo (forgotten `src' element).
*Mon Jun 3 2002
o Makefile.sub (uninstall_sub): Don't use `momdocdir' but `htmldocdir'.
Add missing backslash.
*Sat Jun 1 2002
o Makefile.in (prepare_make_examples): Test for `penguin.ps', not
`examples/penguin.ps'.
*Wed May 29 2002
o Rewrote portions of PAGENUM_STYLE and COPYSTYLE so that PAGENUM_STYLE
behaves as advertised.
*Fri May 24 2002
o /Makefile.sub (momdocdir): Removed.
(HTMLDOCFILES): Prepend `momdoc/'.
(EXTRAEXAMPLEFILES): Removed. Added entries to...
(EXAMPLEFILES): This.
(.SUFFIXES, .mom.ps): New.
(prepare_make_examples): Updated.
(examples/*.ps): Removed; .mom.ps will handle this.
(install_data): Updated.
*Thu May 23 2002
o Applied two small bug fixes to om.tmac (patches 1.1.1a and 1.1.1b).
o mom is now part of groff.
o Some renaming to avoid problems with 8+3 filesystems:
examples/docprocessing_typeset.mom -> examples/typeset.mom
examples/docprocessing_typewrite.mom -> examples/typewrite.mom
examples/typesetting_macros.mom -> examples/macros.mom
examples/penguin_small2_bw.ps -> examples/penguin.ps
o Removed `INSTALL' and `README' since groff takes care of installation
now.
o Added Makefile.sub.
o Added mom.tmac (which simply calls om.tmac).
o Added groff_mom.man for orthogonality; it simply points to the HTML
documentation.
*Thu May 16 2002
o Added macro DRAFT_WITH_PAGENUMBER so user can have draft/revision
info attached to the pagenumber in COPYSTYLE DRAFT, instead of having
it HEADER center. Always having it HEADER center was creating problems
with long doc titles, esp. with PRINTSTYLE TYPEWRITE (which is when
COPYSTYLE DRAFT is most likely to be used). Now user has the choice,
in these circumstances, either to reduce HEADER_SIZE, or to displace
the draft/revision info. Also rewrote portions of COPYSTYLE so that
if no revision number is given in the reference macros, "Rev. #"
doesn't appear when COPYSTYLE DRAFT.
*Fri May 10 2002
o Added capability of user-defined, single string recto/verso
headers/footers.
o Added new entries to docs about the above. Made some additional
small changes to toc.html, rectoverso.html, and headfootpage.html
to supplement the new entries.
o Small fix to handling of footer separator rule -- was 1 point too low
owing to fuzziness of #CAP_HEIGHT as returned by SIZESPECS.
o Added some more useful stuff to elvis_syntax.
*Sun May 05 2002
o Fix to DEFAULTS so that L_MARGIN and R_MARGIN are reprocessed if
DOCTYPE LETTER. R_MARGIN, as set by DOCTYPE LETTER had no preceding
PAGEWIDTH or PAPER from which to get #PAGE_WIDTH for figuring out
line length.
o Additional fix to DEFAULTS in handling DOCTYPE LETTER so that if user
sets line length prior to START, no reprocessing of R_MARGIN occurs.
This necessitated adding a new number register: #USER_SET_L_LENGTH
*Sat May 04 23:48:05 EDT 2002
o Added .cflags 4 /\(en -- was driving me nuts that lines wouldn't
break after these characters; I'm assuming others feel the same way
* Fri May 03 2002
o Made some small fixes to space handling around quotes, mostly to do
with quotes immediately after START and quotes after (sub)heads.
* Wed May 01 2002
o Fixed a small bug that was causing the first .PP after START to begin
at the top margin of the page regardless of any type that preceded
.PP when docheaders were off.
o Fixed HEADER so that when HEADERS are off the first line of type on
pages after the first falls properly at the top margin
*Sat Apr 27 2002
o Renamed docprocessing_macros.mom in /examples to
docprocessing_typeset.mom. Added docprocessing_typewrite.mom, as
well as a README file.
o Fixed UNDERLINE_QUOTES (for PRINTSTYLE TYPEWRITE) so they really are
on by default as the docs say.
o Changes to doc entry on COLLATE:
- removed bit about using COLLATE after a cover page (I wrote the
entry *before* I wrote the macro!). Cover pages should be
followed by NEWPAGE, not COLLATE.
- added caution about mixing PRINTSTYLEs
- added caution about using DOC_FAMILY to change family of all
document elements after COLLATE
o Made HEADER_SIZE (and, by extension, FOOTER_SIZE) available to
PRINTSTYLE TYPEWRITE. Changed appropriate doc entries to reflect
this.
*Wed Apr 24 2002
o Small change to DO_QUOTE to correct a problem with quotes and
blockquotes that fall in the middle of paragraphs (i.e. text after
the quote is not a new para). Basically, added a bit that stores the
current para indent, sets para indent to 0, invokes a PP, then
restores the original para indent.
o Added new macro, BREAK_QUOTE, to deal with the problem of
footnotes in quotes and blockquotes that cross pages or columns.
Quotes and blockquotes are read into diversions, which means they
get their footnote information from the page/column on which they
were started. If a footnoted quote crosses a page/column, what
sometimes happens is that the footnote itself is output at the
bottom of page/column where the quote started, whereas the text
marker for the footnote appears on the next page/column where the
quote ends. Furthermore, the text marker is the one appropriate
to the previous page. BREAK_QUOTE is a workaround.
o Added directory /examples to archive.
o Added typesetting_macros.mom, docprocessing_macros.mom, elvis_syntax
and penguin_small2_bw.ps to /examples.
o Added BREAK_QUOTE to docs, made some additions to reserved words
list, and corrected a few little doc errors.
*Mon Apr 22 2002
o Added default .L_MARGIN 1i and .R_MARGIN 1i to PAPER, PAGE, and
PAGEWIDTH. L_MARGIN is essential otherwise left indents and tabs
don't have a register #L_MARGIN to work with. The default right
margin is a convenience only. Updated the doc entries for L_MARGIN
and R_MARGIN to reflect the change.
*Sun Apr 21 2002
o Changes to COLLATE:
- added some "resets" (LL, LS, QUAD)
- added a check for whether pagination is at page top (either
because FOOTERS are on or because PAGENUM_POS was user set).
If pagination is on, and PAGENUM_POS is TOP, it's turned off
for next page (start of next collated document) and restored
for subsequent pages unless PAGENUM_ON_FIRST_PAGE is on, in
which case the page number appears at page top.
o The macro TRAPS is always invoked at the end of DEFAULTS (which is
called by START). Formerly, TRAPS was only invoked at the start
of a doc, not after COLLATE. Now runs after COLLATE as well.
o Distance from $DOC_TYPE in DOCTYPE NAMED "<string>" to start of
running text was one linespace too deep. Fixed (in START).
o When 1st arg to PAGENUM_POS was user set to TOP, running text was
printing 1 linespace too high, even when PAGINATION was OFF. Same
problem when HEADERS were OFF (i.e. nothing in the header margin at
all). Fixed by removing -\\n[#DOC_LEAD]u from all .sp |\\n[#T_MARGIN]u
calls of .el portion after .ie \\n[#HEADERS_ON].
o Added new macro: PAGENUM_ON_FIRST_PAGE. Normally, when FOOTERS are
being used instead of HEADERS, mom doesn't print the page number at
the top of the first page of a doc, or the first page of collated
docs. New macro allows user to get mom to put the page number on
"first" pages if that's desired. Updated docs to include the macro.
o More little fixes to docs.
*Thu Apr 18 2002
o Fixed TI (temporary indent) so that it continues to work as expected,
even when called while another type of indent is in effect.
*Tue Apr 16 2002
o String tabs weren't working as advertised when set from within
a tab. Fixed. Two new registers added: #ST_OFFSET and #IN_TAB.
String tabs now behave poperly and intuitively when set within tabs.
o Added a note to docs about surrounding \w'...' escape with double-
quotes when it's used as an argument to macros
o Added a note to docs that SILENT does not deposit a .br
*Mon Apr 15 2002
o Added new macro BR_AT_LINE_KERN if user wants mom to deposit .br's
before .RW and/or .EW.
o Added 1/4 points to inline escapes \*[ALD] and \*[RLD].
o Added 1/4 points to inline escapes \*[FP] and \*[BP]
o Updated docs to reflect the above changes.
*Fri Apr 12 2002
o Fixed .RW and .EW which weren't working because of a missing \ in
\\n(.f register. Also made it so that .RW and .EW affect all fonts
in positions 1, 2, 3, and 4 at once, hence line kerning now affects
all fonts that appear after it, not just the font that was current at
the time of the macros' invocation.
o .SS and .WS now working properly. .WS no longer has any effect on
.SS, which remains constant regardless of .WS. Furthermore, .SS no
longer gets its value by adding \*[$SS_VAR] + \n[.ss]. Instead,
it remains constant. Don't know what I was thinking when I wrote
the routine in the first place.
o Updated and rewrote doc entry pertaining to SS
*Wed Apr 10 2002
o Renamed tmac.om to om.tmac to bring macro file's name into line
with current groff policy
o Added more standard paper sizes to PAPER.
o Fixed T_MARGIN, LS, and AUTOLEAD so that if T_MARGIN is set before LS
or AUTOLEAD at the top of a file, the first line of type falls
properly on the baseline set by T_MARGIN. Previously, LS and
AUTOLEAD automatically advanced by the value passed to them before
setting the first line of type, meaning that the first line of type
fell at T_MARGINu+1v instead of T_MARGIN.
o Updated docs to reflect changes.
o Removed #TEST_FOR_NUMERIC from list of reserved words.
o Added "t" and #T_MARGIN_SET to list of reserved words.
*Sat Apr 6 2002
o Added FACTOR arg to AUTOLEAD, so if user wants autolead to be a factor
of point size, instead of being the sum of pointsize + autolead, s/he
has the choice. Incorporated appropriate changes to PS and LS.
o Added new register #AUTOLEAD_FACTOR to reserved words. Modified
comments for AUTOLEAD, PS, and LS to reflect changes. Also
corrected an error where #AUTOLEAD_VALUE had mistakenly been written
$AUTOLEAD_VALUE in comments in the macro file, and removed erroneous
| <anything>. Updated AUTOLEAD entry in momdoc/typesetting.html
to reflect the changes.
*Wed Apr 3 2002
o Cleaned up html errors in the docs.
o Added "Next," "Prev" and "Top" links to top and bottom of doc files.
o Fixed some typos in the docs.

Some files were not shown because too many files have changed in this diff Show more