• R/O
  • SSH

List of commits

Tags
No Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

Reference Documentation: PDF Publishing with GNU Troff


RSS
Rev. Tiempo Autor
cf742baef6eb tip 2024-10-31 05:42:35 Keith Marshall

Update automated preparation for distribution.

* Makefile.in (mandist): Include all generated manual pages.
[mandist] (dist_transform): Adjust experssion to accommodate all.
(docdist): Include all generated PDF manual pages.
(gpgsum): Avoid overwrite prompt.

5f17c554d45f 2024-10-31 01:13:35 Keith Marshall

Set version number for new release.

* configure.ac (AC_INIT): Increment argument corresponding to...
(PACKAGE_VERSION): ...this configuration variable, to 24.10.

7b5390f9c9f7 2024-10-31 00:50:48 Keith Marshall

Add groff_sanitize.7 manual page source file.

* man/groff_sanitize.7.man: New file.
* Makefile.in (manpages): Add groff_sanitize.7 to build goals.

b5ddaa090cb8 2024-10-24 22:10:24 Keith Marshall

Support substitutions for dual-token escape sequences.

* tmac/sanitize.tmac (sanitize): Add internal call to...
(sanitize:esc-auto.assign): ...this new auxiliary helper macro;
it dynamically binds a handler for any input escape sequence in...
(sanitize:esc-char.subst): ...this new filter identification string.
(sanitize:esc-auto.assign.init, sanitize:esc-auto.assign.scan)
(sanitize:esc-auto.assign.handler, sanitize:esc-auto.assign.void)
(sanitize:diag): New helper macros; they facilitate implementation...
(sanitize:esc-auto.assign): ...of this.

5f71b353eed4 2024-10-19 03:02:11 Keith Marshall

Strip delimited argument escape sequences from sanitized text.

* tmac/sanitize.tmac (sanitize:esc-s, sanitize:esc-v): New macros;
each of these is implemented, internally, as an alias for...
(sanitize:esc-delimited): ...this new generic handler macro.
(sanitize:scan.delimiter.push, sanitize:scan.delimiter.pop): New
helper macros; they are used by...
(sanitize:esc-delimited): ...this, to save, and subsequently restore,
effective escape sequence delimiter context, in...
(sanitize:scan.delimiter.stack): ...this new string.
(sanitize:esc-generic): Refactored; it now uses...
(sanitize:skip-handler): ...this new string; it defines a template,
used for redirection of control to one, or other of...
(sanitize:skip-(, sanitize:skip-[): ...these, as appropriate.

1dd113b9870c 2024-10-11 04:38:50 Keith Marshall

Improve handling of groff special characters in sanitized text.

* tmac/sanitize.tmac (sanitize:esc-(hy): Redefine as a string, with
value equivalent to a single ASCII hyphen-minus; now used by...
(sanitize:esc(??.subst): ...this new macro; it handles substitutions
for two-character escapes of the form "\(??", on behalf of...
(sanitize:esc-(): ...this; add a sanity check, to ensure that the
input text residual comprises no fewer than two characters, as needed
to complete the "\(??" escape sequence; otherwise simplify, delegating
handling of the entire substitution operation to...
(sanitize:esc-(??.subst): ...this; it is also used by...
(sanitize:esc-[): ...this new macro; it also performs two-character
escape substitution, for the alternative groff "\[??]" form, such that
escapes of both "\(??" and "\[??]" forms are substituted congruently.
(sanitize:esc-(mi, sanitize:esc-(en): New strings; they define
substitutions for "\(mi" and "\(en", respectively; both are aliases...
(sanitize:esc-(hy): ...for this; thus all three result in substitution
of a single ASCII hyphen-minus glyph.
(sanitize:esc-(em): New string; it defines a substitution for the
"\(em" escape, such that it is replaced by a conjoined pair of ASCII
hyphen-minus glyphs.

7fb941487470 2024-10-08 03:30:51 Keith Marshall

Improve filtering of groff special tokens from sanitized text.

* tmac/sanitize.tmac (sanitize:scan.reject): New string; with
default value of "'\&\%\:'", it specifies a list of groff special
tokens, enclosed within a matching pair of arbitrary delimiting
tokens, ("'" in this default case), which are to be filtered out
of sanitized text, and thus discarded from this context.
(sanitize:scan.subst): New string; with default value comprising
the space-separated list of quoted macro arguments, "'\-'-'",
and "'\ \~' '", this specifies a collection of special token
substitution groups, arbitrarily delimited by the "'" token.
(sanitize:scan.filter): New macro; called by...
(sanitize): ...this, it interprets, and applies the effect of...
(sanitize:scan.reject, sanitize:scan.subst): ...these filters.

c2eeb7bfb7e2 2024-10-04 07:25:46 Keith Marshall

Improve escape sequence detection when sanitizing text.

* tmac/sanitize.tmac (sanitize:scan.execute): Incorporate a test
for groff's escape character; substitute string "^[".
(sanitize): Test for "^[", rather than groff's escape character,
to identify the start of any potential escape sequence.

c12f255273df 2024-09-30 17:22:54 Keith Marshall

Create obfuscation hook for manpage author's e-mail address.

* Makefile.in (AUTHOR_MT_ADDRESS): New macro; define it with its
default value representing the author's true e-mail address.
(manpage_update_script) [@AUTHOR_MT_ADDRESS@]: Expand it.

* man/pdfroff.1.man man/pdfroff.7.man man/groff_opmode.7.man
* man/groff_omit.7.man man/groff_toc.7.man (MT): Substitute...
(@AUTHOR_MT_ADDRESS@): ...this, in place of author's actual e-mail
address, as appropriate.

27c1e67c036c 2024-08-19 06:11:16 Keith Marshall

Update macro files copyright notices.

* tmac/anpdf.tmac tmac/omit.tmac tmac/opmode.tmac
* tmac/pdfmark.tmac tmac/pdfroff.tmac tmac/sanitize.tmac
* tmac/spdf-toc.tmac tmac/spdf.tmac tmac/strcase.tmac tmac/toc.tmac:
Make all copyright notices consistent; identify all as originating
from within the groff-pdfmark project.

e8efa41ad25d 2024-08-19 05:02:30 Keith Marshall

Address build-time warnings generated by groff.

* Makefile.in (PDFROFF): Enable all available warnings; hence...
* pdfmark.ms (FDL-TI-START): ...correct issues identified therein;
in particular, do not use "z" scaling indicator in ".vs" request, and
fix ambiguously nested ".ie"/".el" conditional blocks.

4ac0a01f640d 2024-08-16 04:24:08 Keith Marshall

Add groff_opmode.7 manual page source file.

* man/groff_opmode.7.man: New file.
* tmac/opmode.tmac (.OP): Update "usage" comment; make it consistent
with actual behaviour, as it is documented in the manual page.

* Makefile.in (manpages): Add groff_opmode.7 to build goals.

5355d5f3fd29 2024-08-10 06:09:37 Keith Marshall

Improve stylesheet formatting of e-mail addresses.

* cover.ms (.AI): Adjust vertical alignement of "<", "@",
and ">" glyphs, for improved appearance.

a9e7a4fa1c5a 2024-08-10 03:52:16 Keith Marshall

Add groff_omit.7 manual page source file.

* man/groff_omit.7.man: New file.
* Makefile.in (manpages): Add groff_omit.7 to build goals.

714a8700aed3 2024-08-09 03:31:26 Keith Marshall

Implement a free-standing "omitted sections" API.

* tmac/omit.tmac: New file; it implements the OMIT macro,
factored out from, and adapted from original implementation...
* tmac/spdf.tmac: ...here, whence use it.

* Makefile.in (pdfmark.pdf): Add build-time dependency...
* tmac/omit.tmac: ...on this.

8a1e9107e00c 2024-08-06 20:33:01 Keith Marshall

Remove inappropriate discretionary hyphenation points.

* man/pdfroff.1.man man/pdfroff.7.man man/groff_toc.man (.UR):
Delete '\%' prefix from URI argument; it was intended to prevent
hyphenation, but it actually allows insertion of a discretionary
hyphen, and line break, within the bracketted URI output string,
between the opening angle bracket and the URI itself.

26e9e465b863 2024-08-06 16:40:09 Keith Marshall

Drop synopsis section from groff_toc.7 manual page.

* man/groff_toc.7.man: Add paragraph marks.
(Synopsis): Delete section; fold its relevant content into...
(Usage): ...this alternative section, as appropriate; correct...
(.toc error): ...this malformed syntax specification.
(Authors): Some minor wording improvement.

cd1fd35cd199 2024-08-06 03:29:42 Keith Marshall

Use boiler-plate to standardize manpdf fallback macros.

* Makefile.in (AWK, GREP, USORT): New macros, defined by...
* configure.ac (AC_PROG_AWK, AC_PROG_GREP): ...these, and...
(SORT, UNIQ): ...these AC_PATH_PROG substitutions.

* Makefile.in (manpdf_fallbacks): New macro; it represents...
* man/manpdf-fallbacks.in: ...this new file; it implements in-line
fallbacks for each non-standard -manpdf extension macro; it also
implements a fallback for groff-1.23's .MR macro, for use on any
platform which lacks it, and defines host URI mappings for PDF
renditions of project-local manual pages.

* Makefile.in (manpage_update_script): Add substitutions for...
(@ENUMERATE_MR_REFERENCES@, @IMPORT_LOCAL_FALLBACK_MACROS@): ...each
of these place-holders; appropriate content is generated by...
(usort_awk, refgen_script, refmap_script, mxmap_script, mxgen_script):
...these new in-line scripts, extracting content as appropriate, from
the boiler-plate defined within the file which is represented by...
(manpdf_fallbacks): ...this new macro; it is used by...
(%.mr, %.mx): ...these new build rules; make them prerequisites...
(all-manpages, all-pdf-manpages): ...for both of these.

* man/pdfroff.1.man man/pdfroff.7.man man/groff_toc.man
(@ENUMERATE_MR_REFERENCES@, @IMPORT_LOCAL_FALLBACK_MACROS@): Use them
in place of, and to avoid duplication of, content abstracted from...
* man/manpdf-fallbacks.in: ...here.

* tmac/anpdf.tmac (MX-HOST): Make it consistent with usage as...
* man/manpdf-fallbacks.in: ...specified here.

7d5268a4f09c 2024-07-20 06:12:47 Keith Marshall

Add a convenience makefile rule to build everything.

* Makefile.in (all-inclusive): New build goal; it incorporates...
(all, all-manpages, all-pdf-manpages): ...all of these.

84b87df2bb28 2024-07-13 21:42:22 Keith Marshall

Correct a malformed manpage reference.

* man/pdfroff.1.man (.MR gs 1): Should use...
(.MR gs @MAN1EXT@): ...this preferred form; correct it.

1c50f0f8bfdb 2024-07-13 21:04:36 Keith Marshall

Configure project-hosted manpage URI references.

* tmac/anpdf.tmac (MX-HOST): Rename original macro, as...
(MR-HOST): ...this; update references accordingly, and then...
(MX-HOST): ...redefine as new; this replacement version now maps
individual manpage references to specific MR-HOST URI indicies.

* configure.ac (MANPAGE_URI_ROOT, MANPAGE_URI_PATH): New AC_SUBST
variables; together, they specify the groff-pdfmark project URI.

* Makefile.in (MANPAGE_URI_ROOT, MANPAGE_URI_PATH): Use them to...
(MR_HOST_3_URI_ROOT, MR_HOST_3_URI_PATH): ...define these new macros,
respectively; substitute their values into generated manpages, via...
(manpage_update_script): ...this internal sed script, mapping to...
(MR_HOST_3_URI, MR_HOST_3_DIR): ...these tags, respectively.

* man/pdfroff.7.man
* man/groff_toc.7.man [groff && MR-HOST defined]: Expand...
(MR_HOST_3_URI, MR_HOST_3_DIR): ...these substitution tags, through...
(MR-HOST-3-URI): ...this troff string, assigning to MR-HOST index 3.
(pdfroff.@MAN1EXT@): Map it to MR-HOST index 3, using...
(MX-HOST): ...this.

* man/pdfroff.7.man (groff_pdfmark.@MAN7EXT@): Also map this, and...
(groff_toc.@MAN7EXT@): ...this, to MR-HOST index 3, again using...
(MX-HOST): ...this.

36edf76d67e0 2024-07-13 05:31:14 Keith Marshall

Differentiate groff-pdfmark and groff package versions.

* configure.ac (AC_INIT): Specify YY.MM style groff-pdfmark version.
(GROFF_PACKAGE_VERSION): New AC_SUBST variable; define it to represent
the groff version, with which groff-pdfmark is nominally associated.
(MANPAGE_DATE_FORMAT): New AC_SUBST variable; define it to specify
the default date format for use in groff-pdfmark manual pages.

* Makefile.in (PACKAGE_BASE_VERSION): Use GROFF_PACKAGE_VERSION.
(MANPAGE_DATE): Use MANPAGE_DATE_FORMAT.

41c30d0633e5 2024-07-13 03:07:51 Keith Marshall

Support internal references to manpage headings.

* tmac/anpdf.tmac (SR, RK): New macros; define them in terms of...
(anpdf-ref-heading, anpdf-ref-kern): ...these new macros, and...
(anpdf-ref-kern-list): ...this new string.

* man/pdfroff.1.man man/pdfroff.7.man
* man/groff_toc.7.man [!manpdf] (SR, RK): Define fallbacks.
(SR, RK): Use them.

33ab865a2cea 2024-07-13 02:28:57 Keith Marshall

Remap some special escape tokens in sanitized text.

* tmac/sanitize.tmac (sanitize:scan-space-token.remap): New macro;
define it, intending it exclusively for conditional internal use by...
(sanitize) ["\ ", "\~", "\0"]: ...this, to substitute ASCII SP.
(sanitize) ["\-"]: Explicitly substitute ASCII hyphen-minus.

071092adaab2 2024-07-09 06:47:29 Keith Marshall

Use explicit naming for manpage outline reference marks.

* tmac/anpdf.tmac (anpdf-reload-man): Increase...
(PDFHREF.VIEW.LEADING): ...this, for manpage title reference marks.
(anpdf-ref, anpdf-ref-outline): New macros; together, they generate
explicit reference mark names, to associate with manpage headings.
(anpdf-sh-wrapper): Use them.

afdfa353df99 2024-06-14 18:47:45 Keith Marshall

Correct manpage page trap and end macro handling.

* tmac/anpdf.tmac (anpdf-atend): New macro; assign it...
(anpdf-reload-man): ...here, as end macro replacement for...
(an-end): ...this default groff_man(7) internal end macro.
(anpdf-reload-man): Append groff_pdfhref(7) page trap handler to...
(PT): ...this groff_man(7) page trap hook.

6561c094adf2 2024-06-11 22:00:23 Keith Marshall

Eliminate some compatibility mode redundancy.

* tmac/anpdf.tmac (anpdf-reload-man): Use "de1" as defining request;
thus, within it, "do" requests are redundant; remove them.

478a5d764744 2024-06-08 04:22:33 Keith Marshall

Do not override user preferences in manpage sources.

* man/pdfroff.1.man man/pdfroff.7.man
* man/groff_toc.7.man (CS, CT, MF): Do not assign overriding values;
groff_man(7) defaults may be adjusted by alternative assignments in
man.local, but ultimate reassignment is the prerogative of the user.

* man/groff_pdfroff.1.man (*groff_pdfroff_1_CS, *groff_pdfroff_1_CT)
(*groff_pdfroff_1_MF): Backup stores not required; delete references.

* man/groff_pdfroff.7.man (*groff_pdfroff_7_CS, *groff_pdfroff_7_CT)
(*groff_pdfroff_7_MF): Backup stores not required; delete references.

* man/groff_toc.7.man (*groff_toc_7_CS, *groff_toc_7_CT)
(*groff_toc_7_MF): Backup stores not required; delete references.

6681785e1f69 2024-06-08 02:34:26 Keith Marshall

Some manual page formatting adjustments.

* man/pdfroff.1.man man/pdfroff.7.man man/groff_toc.7.man: Some
miscellaneous input file format adjustments, output font ajustments,
and discretionary hyphenation control changes.

9af8f402423a 2024-05-28 06:03:11 Keith Marshall

Include control character in macro usage annotations.

* tmac/anpdf.tmac (Usage): Consistently include "." as control
character, in every comment which specifies the usage synopsis for
every internal, and public API macro.