pdfroff(1) manual page
pdfroff(7) manual page
groff_omit(7) manual page
groff_opmode(7) manual page
groff_sanitize(7) manual page
groff_toc(7) manual page
- 2024-10-30 Keith Marshall <address@hidden>
- 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.
- 2024-10-30 Keith Marshall <address@hidden>
- Set version number for new release.
- * configure.ac (AC_INIT): Increment argument corresponding to...
- (PACKAGE_VERSION): ...this configuration variable, to 24.10.
- 2024-10-30 Keith Marshall <address@hidden>
- 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.
- 2024-10-24 Keith Marshall <address@hidden>
- 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.
- 2024-10-18 Keith Marshall <address@hidden>
- 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.
- 2024-10-10 Keith Marshall <address@hidden>
- 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.
- 2024-10-07 Keith Marshall <address@hidden>
- 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.
- 2024-10-03 Keith Marshall <address@hidden>
- 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.
- 2024-09-30 Keith Marshall <address@hidden>
- 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.
- 2024-08-18 Keith Marshall <address@hidden>
- 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.
- 2024-08-18 Keith Marshall <address@hidden>
- 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.
- 2024-08-15 Keith Marshall <address@hidden>
- 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.
- 2024-08-09 Keith Marshall <address@hidden>
- Improve stylesheet formatting of e-mail addresses.
- * cover.ms (.AI): Adjust vertical alignement of "<", "@",
- and ">" glyphs, for improved appearance.
- 2024-08-09 Keith Marshall <address@hidden>
- 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.
- 2024-08-08 Keith Marshall <address@hidden>
- 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.
- 2024-08-06 Keith Marshall <address@hidden>
- 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.
- 2024-08-06 Keith Marshall <address@hidden>
- 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.
- 2024-08-05 Keith Marshall <address@hidden>
- 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.
- 2024-07-19 Keith Marshall <address@hidden>
- 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.
- 2024-07-13 Keith Marshall <address@hidden>
- Correct a malformed manpage reference.
- * man/pdfroff.1.man (.MR gs 1): Should use...
- (.MR gs @MAN1EXT@): ...this preferred form; correct it.
- 2024-07-13 Keith Marshall <address@hidden>
- 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.
- 2024-07-12 Keith Marshall <address@hidden>
- 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.
- 2024-07-12 Keith Marshall <address@hidden>
- 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.
- 2024-07-12 Keith Marshall <address@hidden>
- 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.
- 2024-07-08 Keith Marshall <address@hidden>
- 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.
- 2024-06-14 Keith Marshall <address@hidden>
- 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.
- 2024-06-11 Keith Marshall <address@hidden>
- 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.
- 2024-06-07 Keith Marshall <address@hidden>
- 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.
- 2024-06-07 Keith Marshall <address@hidden>
- 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.
- 2024-05-27 Keith Marshall <address@hidden>
- 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.
- 2024-05-27 Keith Marshall <address@hidden>
- Support alternative manpage URI host specifications.
- * tmac/anpdf.tmac (MX-HOST): New macro; define it, and use it to...
- (anpdf-manpage-provider-0, anpdf-manpage-provider-1): ...define these
- two built-in default manpage URI templates.
- (anpdf-manpage-reference): Use...
- (anpdf-manpage-provider-1): ...this as nominal default, but let...
- (MX:\\$1.\\$2): ...this manpage-specific numeric index override it.
- (anpdf-manpage-reference): Interpret and apply...
- (MF): ...this, inline; apply italic corrections as required; hence...
- (anpdf-ic): ...this internal template is not required; delete it.
- 2024-05-15 Keith Marshall <address@hidden>
- Validate link destination name assignments.
- * tmac/pdfmark.tmac (pdfhref): In internal-use macros...
- (pdf*href-D, pdf*href.set): ...accept only destination name arguments
- which are valid as groff identifiers.
- 2024-04-25 Keith Marshall <address@hidden>
- Add groff_toc.7 manual page.
- * man/groff_toc.7.man: New file.
- * Makefile.in (manpages): Add reference to...
- (groff_toc.7): ...this.
- 2024-04-23 Keith Marshall <address@hidden>
- Create example macros for groff_toc integration.
- * pdfroff.ms (XH-UPDATE-TOC, toc.outline, toc.refmark)
- (toc.pageref, toc.end): Factor out; relocate to, and include...
- * tmac/spdf-toc.tmac: ...this new file.
- * Makefile.in (pdfmark.pdf): Add dependency on...
- (spdf-toc.tmac): ...this.
- 2024-04-19 Keith Marshall <address@hidden>
- Reorganize manpage sources; add pdfroff.7
- * man: New directory; relocate...
- * pdfroff.1.man: ...this file, without change, to...
- * man/pdfroff.1.man: ...here.
- * man/pdfroff.7.man: New file.
- * Makefile.in [vpath] (%.man): Note change of directory.
- (all-manpages, all-pdf-manpages): New make goals; alias to...
- (manpages, pdf-manpages): ...these respectively; use them...
- (%:%.man, %.pdf:%.man): ...here, converting each of these normal
- pattern rules to static pattern rules, respectively.
- (manpage_update_script): Add translation for...
- (SITE_TMACDIR): ...this.
- 2024-04-13 Keith Marshall <address@hidden>
- Adopt standard man-pages(7) styling conventions.
- * tmac/anpdf.tmac [-dMF=R] (anpdf-ic): Kludge it, so that it
- is interpreted as if it were -dMF=B, when processed within...
- (MR): ...this macro's context.
- * pdfroff.1.man (pdfroff): Set all references in bold type.
- (awk, gawk, groff, gs, mawk, mktemp, nawk, sed, groff_tmac): add
- manual section references, as appropriate, and set all using...
- (MR): ...this; replicate all, as an enumerated list, under...
- (See also): ...this section heading.
- (-rCS, -rCT, -dMF) [\n(.g]: Preserve initial settings, on entry,
- and subsequently restore them, on exit; internally...
- (CS, CT): ...set both to one, for standards conformance.
- (MF): Keep initial setting, until TH has been evaluated, then
- set it to "B", for standard conformant evaluation of...
- (MR): ...this, on every occasion of its use.
- 2024-04-11 Keith Marshall <address@hidden>
- A minor pdfroff.1 manpage correction.
- * pdfroff.1.man (TH): s/groff/groff-pdfmark/
- (AUTHORS): Refer to author's "OSDN web-site", in preference
- to "OSDN site".
- * Makefile.in (MANPAGE_DATE): New user overridable variable,
- specifying the publication date for all generated manual pages;
- define it, by shell substitution, to reflect current date.
- (manpage_update_script): Use it, in substitution for...
- (MDATE): ...this field value.
- 2024-04-11 Keith Marshall <address@hidden>
- Revisit dynamic identifier names with invalid content.
- * tmac/pdfmark.tmac (pdf*href.format): Simplify change from
- 2024-03-25; test identifier for validity, as "while" condition,
- then break loop if no matching macro identifier defined.
- (pdfbookmark, pdf*href, pdf*href-D, pdf*href-M, pdfnote): Use
- corresponding while loop control logic.
- 2024-04-08 Keith Marshall <address@hidden>
- Describe duplex printing layout adjustment techniques.
- * pdfmark.ms (Section 3.1.3, Section 4.2): Add content.
- (PO): Compute initial value, to balance left and right margins.
- [duplex] (PO): Tweak assignment syntax; add sanity checks.
- [duplex] (BT): Assign alternating PO, only as required.
- (PG-ADVANCE-TO-ODD): Simplify, and rename it as...
- (NEW-RECTO-PAGE): ...this; update references.
- 2024-04-04 Keith Marshall <address@hidden>
- Eliminate trailing white-space from document source.
- * pdfmark.ms pdfroff.sh tmac/pdfmark.tmac tmac/s.tmac
- * fdl/fdl-v1.3.txt fdl/Makefile.sub: Delete all extraneous
- white-space, where present, from the end of every input line.
- 2024-03-25 Keith Marshall <address@hidden>
- Avoid dynamic identifier names with invalid content.
- * tmac/pdfmark.tmac (pdf*href.format): Verify each potential
- formatting keyword, read from the input data stream, as a valid
- groff identifier, before attempting to match it.
- 2023-12-17 Keith Marshall <address@hidden>
- Designate the GNU Free Documentation License as invariant.
- * cover.ms (pub@licensing): Update grant of permissions to copy,
- distribute, and/or modify, to declare Appendix A, the content of
- which is the GNU Free Documentation License, as "invariant", thus
- forbidding its modification in any redistributed publication of
- the associated document.
- 2023-12-17 Keith Marshall <address@hidden>
- Propagate FDL section headings to outline and TOC.
- * pdfmark.ms (FDL-XH-UPDATE-TOC): New helper macro, used by...
- (FDL-XH): ...this new document-local macro variant; define them.
- * fdl/fdl-v1.3.ms.in (FDL-SH): Some heading format adjustments.
- [d FDL-XH]: Invoke it.
- 2023-12-11 Keith Marshall <address@hidden>
- Avoid necessity to repeat document meta-data.
- * pdfmark.ms (mso): Include...
- * cover-info.ms: New file; complementary to cover.ms, when included by
- document source, it defines alternative implementations of CS, AU, and
- CE macros, which extract title and author meta-data from within inline
- CS ... CE blocks, propagating their content to PDF meta-data...
- (.pdfinfo /Title, .pdfinfo /Author): ...specs, respectively.
- * pdfmark.ms (.pdfinfo): Delete previously redundant...
- (/Title, /Author): ...meta-data assignments.
- * Makefile.in (tmacdir): Add direct ${srcdir} reference.
- (pdfmark.pdf): Assert additional build-time dependencies on...
- * cover.ms cover-info.ms: ...each of these.
- 2023-12-10 Keith Marshall <address@hidden>
- Correct some misplaced line continuation marks.
- * pdfmark.ms (Sections 2.5.5.4, 3.1.2.3): In constructs...
- (.CWI ... \c, .CWB ... \c): ...adjust placement of "\c" mark, to
- ensure that macro expansion results in its ultimate location at
- the bitter end of the resultant output line fragment.
- 2023-05-28 Keith Marshall <address@hidden>
- Some typographic and grammatical man page corrections.
- * pdfroff.1.man (option --no-kill-null-pages): s/where/whence/ as
- argument descriptor; s/any/all/ as valid argument value.
- 2023-05-23 Keith Marshall <address@hidden>
- Use RCS keywords more consistently.
- * tmac/opmode.tmac tmac/pdfmark.tmac tmac/pdfroff.tmac
- * tmac/spdf.tmac tmac/toc.tmac ($Id$, $RCSfile$): Add annotations.
- 2023-05-23 Keith Marshall <address@hidden>
- Provide pdfroff binding macros for rendering man pages.
- * tmac/anpdf.tmac: New file; it is a wrapper around andoc.tmac,
- supporting use of -man only; (currently, -mdoc is not supported).
- * Makefile.in (man2pdf): Use it.
- (MAN2PDF_FLAGS): Enable features, controlled by addition of...
- (CS, CT): ...these registers; set both to 1.
- * tmac/sanitize.tmac (sanitize:esc-f): New alias; map it to...
- (sanitize:esc-generic): ...this, making its handling analogous to...
- (sanitize:esc-F): ...this.
- * tmac/strcase.tmac: New file; it retrospectively emulates...
- (.stringup, .stringdown): ...this pair of new groff-1.23 requests.
- * pdfroff.sh (MANPDF_OPTIONS): New internal-use variable; it provides
- a hook capability, whereby '-manpdf' triggers processing of '\" hints
- in man page source, causing nominated preprocessors to be invoked.
- * pdfroff.1.man: Various layout, and grammatical adjustments;
- reserve vertical space, as required, to avoid widow and orphan lines.
- (PDFROFF_POSTPROCESSOR_COMMAND): Disallow a page break within text
- specifying the default command.
- 2023-05-13 Keith Marshall <address@hidden>
- Describe method of finished document assembly.
- * pdfmark.ms (Section 4.1.7): Add content.
- (Section 4.1.4): Omit "$" prompt from "pdfroff" command example,
- to maintain consistency with all earlier, and new examples.
- 2023-05-09 Keith Marshall <address@hidden>
- Describe method of document body formatting.
- * pdfmark.ms (Section 4.1.6): Add content.
- 2023-05-02 Keith Marshall <address@hidden>
- Describe default method of table of contents generation.
- * pdfmark.ms (Section 4.1.5): Add content.
- 2023-05-02 Keith Marshall <address@hidden>
- Eliminate a macro loading order dependency.
- * tmac/opmode.tmac [!rPDFOPMODE] (OPMODE): Define it, otherwise...
- [rPDFOPMODE] (OPMODE): ...alias it, to make them equivalent.
- 2023-04-28 Keith Marshall <address@hidden>
- Describe provisions for formatting front-matter.
- * pdfmark.ms (Section 4.1.4): Add content.
- 2023-04-19 Keith Marshall <address@hidden>
- Describe in-document optional processing hints support.
- * pdfmark.ms (Section 4.1.3): Add content.
- 2023-04-17 Keith Marshall <address@hidden>
- Describe pdfroff's reference resolution procedure.
- * pdfmark.ms (Section 4.1.2): Add content.
- 2023-04-11 Keith Marshall <address@hidden>
- Add description of pdfroff operating principles.
- * pdfmark.ms (Section 4.1.1): Add content, and subsequent link
- target headings, as required to satisfy planned forward references.
- (Section 4.2): Modify heading text, to clarify relationship to...
- (Section 4.1.2): ...this planned content.
- 2023-04-11 Keith Marshall <address@hidden>
- Handle hyphenation special characters in PDF outlines.
- * tmac/sanitize.tmac (sanitize): Interpret "\%" specially.
- (sanitize:esc-(, sanitize:esc-(hy): New macros; they add generic
- support for "\(xx", and specialization for "\(hy", respectively.
- 2023-04-11 Keith Marshall <address@hidden>
- Manage page break placement within the table of contents.
- * pdfmark.ms (toc.end): New document-local macro; initially define
- with no content, and subsequently remap as an alias for KE, after
- first use, to close a not-yet-opened KS/KE block, within...
- (toc.outline): ...this; use toc.end in place of KE, to close any
- previously opened KS/KE block, then insert KS to open a new block,
- prior to output of any TOC entry at outline-level one.
- (toc end): Add after inclusion of TOC file, to close its final,
- residually open KS/KE block.
- 2023-04-09 Keith Marshall <address@hidden>
- Add PDF publishing process introduction.
- * pdfmark.ms (Section 4): Add introductory text.
- (Section 4.1): Insert new subsection, with introductory content,
- referring to the pdfroff command; increment following subsection
- numbers accordingly.
- 2023-04-06 Keith Marshall <address@hidden>
- Implement a standardized snapshot distribution procedure.
- * configure.ac (AC_INIT): Assign package name and version.
- (chmod): Perform AC_PATH_PROG assignment to "CHMOD" AC_SUBST variable.
- * Makefile.in: Perform some cosmetic clean-up.
- (PACKAGE_TARNAME, PACKAGE_VERSION, CHMOD): Use autoconf assignments.
- (pdfroff-posix, pdfroff-win32): New build targets; they build variants
- of pdfroff suitable for POSIX, and MS-Windows, respectively, using...
- (CHMOD): ...this autoconf-assigned program, to make them executable.
- (dist): New primary build target; it delegates operations to...
- (srcdist, bindist, docdist, mandist, tmacdist): ...these subsidiary
- build targets; implement them; they employ programs identified by...
- (TAR_CMD, ZIP_CMD, ZIP_EXT): ...these new make variables; define them,
- permitting user override, subject to GNU tar, and XZ compatibility.
- 2023-04-04 Keith Marshall <address@hidden>
- Implement a duplex printing layout capability.
- * pdfmark.ms [duplex] (BT): Augment macro definition, to alternate
- left and right margin widths, between even and odd numbered pages;
- activated by "-duplex" option to pdfroff command, (i.e. define a
- string called "uplex", with "-duplex=true", for example).
- [duplex && pdfroff] (preserve_blank_pages): Suggest it for...
- [body]: ...this document assembly component.
- 2023-04-03 Keith Marshall <address@hidden>
- Support in-document hints for --no-kill-null-pages option.
- * pdfroff.sh [--no-kill-null-pages]: Record option argument in...
- (preserve_blank_pages): ...this shell variable; defer its evaluation
- until processing of in-document hints, during reference resolution.
- (safe_hints): Add "preserve_blank_pages" to authorized list.
- 2023-04-02 Keith Marshall <address@hidden>
- Number pages contiguously, including front-matter page count.
- * pdfmark.ms (PG-ADVANCE-TO-ODD): New macro; it advances the effective
- page number to next available odd-numbered page, while suppressing the
- display of the page number on that page; use it to number the starting
- page number for the document text, accounting for the number of pages
- which are already occupied by front-matter, and table of contents.
- (HD): Define groff-ms hook, to restore normal page numbering sequence,
- after use of PG-ADVANCE-TO-ODD to establish a starting page number.
- (XH-APPENDIX): Simplify it, by use of PG-ADVANCE-TO-ODD; this offers
- the added benefit of starting each appendix at an odd page number.
- 2023-03-31 Keith Marshall <address@hidden>
- Improve selectivity of pdfroff's blank-page removal feature.
- * pdfroff.sh (--no-kill-null-pages): Accept an optional argument,
- with permitted values of "all", "body", or "toc"; interpret to set...
- (TC_FILTER, BD_FILTER): ...these new internal-use variables, which
- subsequently establish the scope of operation for...
- (PDFROFF_COLLATE): ...this internal filter.
- * pdfroff.1.man (--no-kill-null-pages): Document argument usage.
- * tmac/spdf.tmac (TC) [PHASE>1]: Make it a no-op.
- 2023-03-29 Keith Marshall <address@hidden>
- Append GNU Free Documentation Licence to document body.
- * fdl: New directory.
- * fdl/fdl-v1.3.txt: New file; it is an unmodified verbatim copy of
- the original FDL plain-text document, imported from groff sources.
- * fdl/Makefile.sub: New file; it implements an inline txt2roff filter,
- suitable for creating a generic groff-marked-up copy of the FDL.
- * fdl/fdl-v1.3.ms.in: New file; it provides boiler-plate mark-up to
- map txt2roff generic mark-up for use with groff-ms.
- * Makefile.in: Include fdl/Makefile.sub, configured by...
- (txt2roff_srcdir, txt2roff_tmac_suffix): ...these unconditional...
- [fdl-v1.3.ms] (TXT2ROFF_PREFIX): ...and this conditional assignment.
- (pdfmark.pdf): Add dependency on fdl-v1.3.ms
- * pdfmark.ms (Appendix A): Define and use...
- (XH-APPENDIX, XH-APPENDIX-NUMBER-FORMAT): ...these new local macros,
- to set up the appendix heading, and page numbering format; include
- generated file fdl-v1.3.ms, subject to formatting specified by...
- (FDL-SETUP, FDL-BACKUP-AND-REPLACE, FDL-SH-START, FDL-TI-START)
- (FDL-RESTORE): ...these temporary local macros, which also use...
- (fdl:replacement.tag, fdl:title.block): ...these temporary strings...
- (fdl:title.lines): ...and this temporary numeric register.
- (TC-MARGIN): Increase its width, to accommodate up to seven digits.
- (XH-UPDATE-TOC) [%%]: Use as pageref, when defined; it represents the
- true page number, when \n% has been temporarily reset to one, as it is
- by XH-APPENDIX, after saving its original value in \n(%%, to suppress
- page numbering at particular locations within the document body.
- 2023-03-28 Keith Marshall <address@hidden>
- Add a copyright assignment page to document front-matter.
- * cover.ms: Add template content, supported by...
- (PUB, ASSERT-RIGHTS, FDL-REFERENCE): ...these new public macros...
- (pub@initial, pub@collect, pub@revised, pub@enum, pub@rights)
- (pub@post, au@assert-rights, au@asserted, au@uk-asserted): ...these
- new internal-use helper macros, additionally augmented by...
- (pub@preformat.content): ...this new temporary diversion...
- (FDL-SECTION, FDL-SECTION-TITLE, pub@copyright, pub@series, pub@last)
- (pub@revlist, au@pronoun, ASSERT-RIGHTS@his, ASSERT-RIGHTS@her)
- (au@plural, au@pending, au@list): ...these new strings, and...
- (au@count, pub@revcount): ...these new counter registers.
- (au@next): Extend it, to assign, and manage...
- (au@count, au@list, au@pending): ...these.
- * pdfmark.ms (ASSERT-RIGHTS, FDL-REFERENCE, PUB): Use them.
- 2023-03-19 Keith Marshall <address@hidden>
- Ignore potentially unsafe pdfroff hint assignments.
- * pdfroff.sh (safe_hints): New shell variable; it enumerates the
- names of hint variables which are deemed to be safe for assignment.
- (safer_hint): New shell function; it ensures that assignments are made
- for variables which are enumerated as "safe"; use it to evaluate all
- hints which are identified during pdfhref reference resolution.
- 2023-03-18 Keith Marshall <address@hidden>
- Fix a constant-width font usage inconsistency.
- * pdfmark.ms (Section 2.5.5.4): Consistently use '\f(CI', not '\fI',
- for named argument identification in document mark-up examples.
- 2023-03-18 Keith Marshall <address@hidden>
- Correct some minor typographic errors.
- * pdfroff.1.man (See also): Identify...
- (groff-pdfmark): ...this as reference manual distriutor.
- (Environment): In reference to GROFF_AWK_INTERPRETER, correct
- spelling of 'continues'; s/continue/continues/
- 2023-03-17 Keith Marshall <address@hidden>
- Support safe mode TOC record collection within pdfroff.
- * pdfroff.sh [pdfroff-option:set]: Evaluate early, relocating...
- [toc_relocation=enabled]: ...this option set-up to, and adding...
- [toc_file=<file_name>]: ...this assignment at end of first reference
- resolution loop pass, and updating toc_file content at end of this,
- and every subsequent pass of this loop.
- * tmac/toc.tmac (toc file) [pdfroff]: Emit 'toc_file' hint.
- [!pdfroff]: Fall back to unsafe mode file output.
- * Makefile.in (%.pdf: %.ms): Remove "-U" option from 'pdfroff'
- command invocation; it is no longer required.
- 2023-03-16 Keith Marshall <address@hidden>
- Add support for in-document pdfroff option hints.
- * tmac/pdfroff.tmac: New macro file; it defines...
- (pdfroff): ...a default implementation for this new macro, and...
- (PDF-TOC-ONLY, PDF-BODY-TEXT): ...these (effectively constant)
- processing phase indicating register values.
- * tmac/spdf.tmac (TC): Use pdfroff macro, when defined, to set...
- [toc_relocation=enabled]: ...this pdfroff operating mode option.
- * Makefile.in (pdfmark.ms): Add a further dependency on...
- (pdfroff.tmac): ...this new macro file.
- * pdfroff.sh (GROFF_STYLE): Append "-mpdfroff" option.
- 2023-03-13 Keith Marshall <address@hidden>
- Generalize support for phased output mode control.
- * tmac/spdf.tmac (OP, OPMODE): Factor out definitions; relocate to...
- * tmac/opmode.tmac: ...this additional new macro file.
- * tmac/spdf.tmac (opmode.tmac): Source it.
- * Makefile.in (pdfmark.ms): Add a further dependency on...
- (opmode.tmac): ...this new macro file.
- 2023-03-12 Keith Marshall <address@hidden>
- Eliminate warnings emanating from document source.
- * pdfmark.ms (\s): Use 'z' units, not 'p', throughout.
- (toc.refmark): Separate collected text for TOC entry into...
- (toc.refmark.tag): ...this pdfhref destination name tag, and...
- (toc.refmark.text): ...this additional text; when passed to...
- (toc.pageref): ...here, quote it for expansion in pdfhref.
- (pdf-publishing): Do not encode reference in terms of...
- (XR): ...this; it requires the semantics of...
- (XR-NO-PREFIX): this, hence use it; do not redefine...
- (PDFHREF.PREFIX): ...this; it is no longer required.
- (CW): Quote arguments with embedded tabs.
- 2023-03-12 Keith Marshall <address@hidden>
- Eliminate warnings emanating from pdfmark macros.
- * tmac/pdfmark.tmac (pdf*href.format): On entry, initialize...
- (PDFHREF.TEXT): ...this string, without any content, then append...
- (PDFHREF.PREFIX): ...this, only if it has been, and remains defined.
- (pdf:note.newline): Ensure it is defined, on package load.
- 2023-03-12 Keith Marshall <address@hidden>
- Eliminate warnings emanating from TOC macros.
- * tmac/toc.tmac (toc.file): Do not attempt to close...
- [toc#stream > 0] (toc!stream): ...this file stream, when...
- (toc#stream): ...this register has not been defined.
- 2023-03-11 Keith Marshall <address@hidden>
- Clean up ugly spacing within pdfroff manpage.
- * pdfroff.1.man (PDFWRITER): Be more verbose, in order to provide
- more opportunities for word wrapping between unbreakable words.
- 2023-03-11 Keith Marshall <address@hidden>
- Do not try to read a nonexistent pdfroff temporary file.
- * pdfroff.sh [--no-reference-dictionary] (WRKFILE): This will never
- be written; assign it to /dev/null (or its MS-Windows equivalent), so
- that subsequent read attempts may succeed, albeit reading nothing.
- 2023-03-11 Keith Marshall <address@hidden>
- Make the --emit-ps option work correctly.
- * pdfroff.sh.in [--emit-ps] (PDFWRITER): New variable; define it,
- to select "ps2write" for GhostScript output; do not redefine...
- (PDFROFF_POSTPROCESSOR_COMMAND): ...this; when it is subsequently
- invoked, use "-sDEVICE=$PDFWRITER", with "pdfwrite" as default.
- * pdfroff.1.man (PDFWRITER): Document it.
- 2023-03-10 Keith Marshall <address@hidden>
- Accept user-specified build-time pdfroff options.
- * Makefile.in (PDFROFF_FLAGS): New macro; undefined unless specified
- by the user, at build time; honour it when defined.
- 2023-03-10 Keith Marshall <address@hidden>
- Specify associated GNU troff package name and version.
- * Makefile.in (PACKAGE_BASE_TARNAME, PACKAGE_BASE_VERSION):
- New macros; define, and combine them to additionally define...
- (PACKAGE): ...this; it is required to complete the definition of...
- (pdfdocdir): ...this locally-named, autoconf assigned macro.
- 2023-03-09 Keith Marshall <address@hidden>
- Use consistent quoting of document titles in references.
- * pdfroff.1.man (See also): Add quotes around the title of the primary
- groff manual, making it consistent with that of the reference guide to
- PDF document publishing.
- 2023-03-09 Keith Marshall <address@hidden>
- Revise text and format of manpage 'apropos' description.
- * pdfroff.1.man (Name): Improve wording; italicize...
- (groff): ...this name.
- 2023-03-09 Keith Marshall <address@hidden>
- Tidy manpage synopsis, particularly for troff-mode output.
- * pdfroff.1.man (Synopsis): Optimize order of entries; coalesce font
- alternation argument lists, where practicable; do not use '\~' escape.
- (Options): Similarly, avoid using '\~'.
- 2023-03-09 Keith Marshall <address@hidden>
- Explicitly forbid hyphenation of specific names.
- * pdfroff.1.man (pdfmark): Do not rely on the 'hw' request.
- (groff, pdfmark, pdfroff, pdf??.*): Prefix with '\%'; additionally,
- protect derived forms, with arbitrary suffixes, and with path name
- prefixes; allow non-hyphenated breaks after directory separators.
- 2023-03-09 Keith Marshall <address@hidden>
- Add legacy support for "MR" manpage macro.
- * pdfroff.1.man [!.g or !d MR] (MR): New macro; define it locally,
- to minimally emulate the formal macro introduced in groff-1.23.
- 2023-03-09 Keith Marshall <address@hidden>
- Adapt manpage compatibility-mode save for legacy use.
- * pdfroff.1.man (.cp): Do not refer to this number register; use...
- (_C): ...this new compatibility-mode-safe register; set it equal to...
- (.C): ...this, using compatibility-mode-safe assignment syntax, then
- use a compatibility-mode bypass request, to rename it as...
- (*groff_pdfroff_1_man_C): ...this.
- 2023-03-07 Keith Marshall <address@hidden>
- Suppress noisy "invalid substring index" warnings.
- * tmac/sanitize.tmac (sanitize:scan.execute): On reaching...
- (sanitize:residual) [sanitize:residual.length < 1]: ...this expected
- state, residual substring extraction will fail; do not attempt it.
- 2023-03-07 Keith Marshall <address@hidden>
- Avoid misinterpretation of comments in "eo" scope.
- * tmac/sanitize.tmac (eo): Move all macros to normal scope; double up
- all escapes which require deferred evaluation; remove scope.
- 2023-02-24 Keith Marshall <address@hidden>
- Do not emit redundant 'pdfhref Z' records.
- * pdfroff.sh [grohtml-info] (pdfhref Z): Adapt awk script, to emit...
- (pdfhref Z 0 0 0): ...this conditionally, only if at least one prior
- record has been emitted; delete unconditional emission, which caused
- the anomaly reported as groff issue #63133.
- 2023-02-24 Keith Marshall <address@hidden>
- Clean up Z-shell initialization logic.
- * pdfroff.sh [ZSH_VERSION]: Tidy initialization code for...
- (NULLCMD, emulate sh): ...these; bring it more into alignment with
- contemporary GNU autoconf usage.
- 2023-02-23 G. Branden Robinson <address@hidden>
- Document new groff-pdfmark source repository location.
- * pdfroff.1.man (Authors): Note URI for Keith Marshall's new primary
- development site; (cf. https://savannah.gnu.org/bugs/?63827).
- 2023-02-19 Keith Marshall <address@hidden>
- Suppress reference dictionary processing for manpages.
- * Makefile.in (%.pdf: %.man): Within build procedure, add...
- (--no-reference-dictionary, --no-toc-relocation): ...this pair of
- options, when invoking the 'pdfroff' command.
- (GROFF_MANFLAGS): Rename macro as...
- (MAN2PDF_FLAGS): ...this.
- 2023-02-14 Keith Marshall <address@hidden>
- Tidy "see also" section layout in pdfroff manpage.
- * pdfroff.1.man (See also): Eliminate ugly TP macro usage, when
- referring to "Portable Document Format Publishing with GNU Troff".
- 2023-02-14 Keith Marshall <address@hidden>
- Implement build-time infrastructure for manpage updates.
- * Makefile.in (%.man): Specify as implicit prerequisite for...
- (%, %.pdf): ...these implicit build goals; implement separate build
- rules for each, with both procedures based on...
- (manpage_update_script): ...this inline sed script; output for...
- (%.pdf): ...this is filtered through pdfroff, directed by...
- (GROFF_MANFLAGS): ...these user-defineable options.
- 2023-02-14 Keith Marshall <address@hidden>
- Correct pdfroff operation with no input files specified.
- * pdfroff.sh [while $#]: At end of loop...
- [$# == 1]: ...before discarding this final argument, ensure that...
- [INPUT_FILES]: ...this includes at least one file, or "-" flag...
- [!INPUT_FILES]: ...otherwise, append one extra "-" argument.
- 2023-02-13 Keith Marshall <address@hidden>
- Improve pdfroff's "-T<dev>" option handling.
- * pdfroff.sh (-Tpdf): Accept as implicit default; remap it to...
- (-Tps): ...this former default, as required for subsequent GhostScript
- processing; if specified explicitly, assume that it implies...
- (--emit-ps): ...this ultimate output option.
- * pdfroff.1.man (Options) [-Tpdf, -Tps]: Document modified behaviour.
- 2023-02-11 Keith Marshall <address@hidden>
- Implement build-time procedure for pdfroff script generation.
- * Makefile.in (PDFROFF): New macro; map to local build.
- (path_search_setup_posix, path_search_setup_win32): New computed
- macros; they differentiate between building for POSIX and MS-Windows.
- (pdfmark.pdf): Add build-time dependency on local build of...
- (pdfroff): ...this; add rule to build it, by invocation of...
- (pdfroff_generator_script): ...this inline sed script, run via...
- (SED): ...this new configuration-determined macro, to substitute...
- (PACKAGE_TARNAME, PACKAGE_VERSION): ...these package specific, and...
- (RC, EXT, AWK_PROGRAM_NAMES, GHOSTSCRIPT_PROGRAM_NAMES): ...these
- build-time user-overrideable macro values, in place of...
- * pdfroff.sh (PROVIDER, VERSION, GROFF_AWK_INTERPRETERS)
- (GROFF_GHOSTSCRIPT_INTERPRETERS): ...these respective place holders,
- subject to combination of "PACKAGE_VERSION", "RC", and "EXT" as one.
- (SHOW_VERSION) [--version selected]: Add "PROVIDER" place holder.
- (PATH_SEARCH_SETUP): Replace with MS-Windows specific code between...
- (BEGIN_PATH_SEARCH_SETUP, END_PATH_SEARCH_SETUP): ...these markers...
- [POSIX build]: ...delete markers, and MS-Windows code, whereas...
- [MS-Windows build]: ...delete markers only.
- * configure.ac (AC_PROG_SED): Evaluate it, to define...
- (SED): ...this makefile substitution.
- 2023-01-29 Keith Marshall <address@hidden>
- Implement robust double-quoting of pdfnote content.
- * tmac/pdfmark.tmac (PDFNOTE.QUOTED): New string, referring to...
- (pdf:note.quote, pdf:note.quoted, pdf:note.special): ...these new
- internal strings; they implement the interface, in terms of...
- (pdf*note.pre-pdfmark.compose.hook): ...additional mapping of...
- (pdf:note.special.compose): ...this new string, mapped to...
- (pdf:note.special): ...this, ultimately remapped by...
- (pdf*note.pre-pdfmark.post.hook): ...this, to...
- (pdf:note.special.final): ...this new string.
- * pdfmark.ms: Update to use...
- (PDFNOTE.QUOTED): ...this, via document-local alias...
- (""): ...named thus; document it in footnote.
- 2023-01-22 Keith Marshall <address@hidden>
- Improve operation of pdfnote macro, and document it.
- * tmac/pdfmark.tmac: Tidy layout.
- (pdfnote): Support new -C, -I, -O, and -DP options, via...
- (pdf:note-C, pdf:note-I, pdf:note-O, pdf:note-DP): ...these new
- option handler macros, respectively; interpret "--" as inhibitor.
- (PDFNOTE.LEADING): New numeric register; define it to set downward
- displacement of annotation icons, from the top of the current text.
- (PDFNOTE.OFFSET): New string; it defines a numeric expression for
- computation of annotation icons offset from the left side of the page.
- (PDFNOTE.HEIGHT, PDFNOTE.WIDTH): Adjust, reflecting actual usage.
- (PDFNOTE.NEWLINE, PDFNOTE.PILCROW): New pre-defined strings; they
- serve as the user-visible interfaces for insertion of each of...
- (pdf:note.newline, pdf:note.pilcrow): ...these context-neutral
- internal strings, which, in turn, are defined in terms of...
- (pdf:note.newline.compose, pdf:note.newline.final): ...this pair of
- internal context-specific alternatives, which are activated by...
- (pdf*note.pre-pdfmark.compose.hook, pdf*note.pdfmark.post.hook):
- ...these new hook macros; map them, on invocation of...
- (pdfnote): ...this, such that they become associated with...
- (pdf*pre-pdfmark.compose.hook, pdf*pre-pdfmark.post.hook): ...these
- new hooks, respectively; define do-nothing default handlers, and...
- (pdf*pdfmark.end.hook): ...this reset handler.
- (pdfmark): Invoke hooks, in context.
- * pdfmark.ms (pdfnote): Document it; add content for...
- (Section 2.6): ...this previously declared, but empty section.
- (Sections 2.6.1, 2.6.2, 2.6.3): Add new subsections.
- 2023-01-06 Keith Marshall <address@hidden>
- Adjust margins, and internal spacing, of block-quote content.
- * pdfmark.ms (PI, QI, DI): Explicitly define, setting each to 3n.
- (IP): Add explicit adjustments for individual instances.
- 2023-01-04 Keith Marshall <address@hidden>
- Improve formatting of interpolated em-dash punctuation.
- * pdfmark.ms (em): New string; define and use it in place of the \(em
- escape, to achieve British style spacing around em-dash punctuation.
- 2022-12-30 Keith Marshall <address@hidden>
- Tweak table of contents layout.
- * pdfmark.ms (toc.outline): Compute section number indentation to
- align each nested level with the title text of its containing level.
- (XH-UPDATE-TOC) [toc.outline.current=1]: Increment font size; adjust
- section number field width to preserve text alignment with computed
- indentation for any contained level two section reference entries.
- (toc.pageref) [toc.outline.current=1]: Reset font size at end.
- (TC-VS1): Add extra vertical space above level one headings.
- * Makefile.in (pdfmark.toc): Delete explicit dependencies, and rules
- for explicit generation; it will be generated implicitly, when...
- (pdfroff.pdf): ...this is being updated, but it is not required when
- this is already up to date w.r.t. all of its prerequisites.
- 2022-12-29 Keith Marshall <address@hidden>
- Correct several typographic errors.
- * pdfmark.ms: s/accomodate/accommodate/; s/analagous/analogous/;
- s/assocated/associated/; s/ouput/output/; s/preceed/precede/
- 2022-03-30 Keith Marshall <address@hidden>
- Clean up extraneous trailing white-space.
- * pdfmark.ms: Delete all white-space at end-of-line, throughout.
- 2022-03-30 Keith Marshall <address@hidden>
- Avoid keeps for widow and orphan line control.
- * pdfmark.ms (KS, KE): Avoid using these for widow and orphan line
- control; in particular do not include any section heading within such
- a construct, as it may result in incorrect page numbering within the
- generated table of contents; instead, use "ne" requests, with...
- (\n[PD]u): ...this form for paragraph distance references used
- consistently, in preference to...
- (\n(PDu): ...this.
- 2022-03-29 Keith Marshall <address@hidden>
- Implement a more effective TOC generation strategy.
- * tmac/toc.tmac: New file; it implements a basic, extensible,
- table of contents generator macro framework; use it...
- * pdfmark.ms (XH-UPDATE-TOC): ...here; modify it to generate...
- (pdfmark.toc): ...this new file, subsequently included and used by...
- (toc.outline, toc.refmark, toc.pageref): ...these new document-local
- toc.tmac extending macros, to generate TOC in-line, superseding...
- (TC): ...use of this spdf.tmac macro; delete reference.
- [TOC] (PDFHREF.TEXT.COLOUR): Set it to match...
- (\n[.m]): ...this.
- * Makefile.in (pdfmark.pdf): Update dependencies, requiring...
- (pdfmark.toc): ...this new intermediate file; add rules to generate
- it, by performing a separate pre-processing pass over...
- (pdfmark.ms): ...this primary source file.
- (clean): Remove "*.toc" files.
- 2022-03-28 Keith Marshall <address@hidden>
- Preserve pdfhref link text colour specification.
- * tmac/pdfmark.tmac (pdf*href)
- [d PDFHREF.TEXT.COLOUR & !d PDFHREF.TEXT.COLOR]: Redefine...
- (PDFHREF.TEXT.COLOR): ...this, by specifying it as an alias for...
- (PDFHREF.TEXT.COLOUR): ...this; otherwise...
- [d PDFHREF.TEXT.COLOR & !d PDFHREF.TEXT.COLOUR]: Redefine...
- (PDFHREF.TEXT.COLOUR): ...this, by specifying it as an alias for...
- (PDFHREF.TEXT.COLOR): ...this; otherwise...
- [!d PDFHREF.TEXT.COLOUR & !d PDFHREF.TEXT.COLOR]: Redefine...
- (PDFHREF.TEXT.COLOR): ...this, by assignment of default value, and...
- (PDFHREF.TEXT.COLOUR): ...this, as an alias for it.
- 2022-03-28 Keith Marshall <address@hidden>
- Maintain separation of in-document pdfroff hints.
- * pdfroff.sh (pdfroff-option:set): Quote collected hints, as returned
- by sed, to preserve separating newlines; without this, all hints will
- be evaluated as if representing a single, possibly malformed command,
- which is unlikely to have the desired effect.
- 2022-03-28 Keith Marshall <address@hidden>
- Always set the PHASE indicator when formatting body text.
- * pdfroff.sh (BODY_FORMAT): Do not clear it, when...
- [--no-toc-relocation]: ...this option is active; we require...
- [-rPHASE=2]: ...this, even when PHASE=1 is omitted.
- 2022-03-26 Keith Marshall <address@hidden>
- Improve handling of pdfbookmark names.
- * tmac/pdfmark.tmac (pdfbookmark): Define...
- (PDFBOOKMARK.NAME): ...this, on entry, rather than on final output.
- (pdfbookmark) [-N]: Add support; suppress automatic name generation,
- and use specified bookmark name instead; separate name sequencing from
- bookmark cache sequencing; transfer automatic name sequencing to...
- (pdf:bm.ix): ...this new auto-incrementing register, retaining...
- (pdf:bm.nr): ...this for cache sequencing; make it auto-increment.
- 2022-03-24 Keith Marshall <address@hidden>
- Place outline references before generating TOC entries.
- * tmac/spdf.tmac (spdf:XH.format, spdf:XN.format): Do not call...
- (XH-UPDATE-TOC): ...this directly; instead, call it indirectly from...
- (spdf:XH.finalize): ...here, whence call it after invoking...
- (pdfhref O): ...this.
- 2022-03-01 Keith Marshall <address@hidden>
- Document "ms" section headings support features.
- * pdfmark.ms (Section 3.1.2): Update and expand; refer to...
- (XH, XN): ...this pair of section heading specification macros.
- (Subsection 3.1.2.1): Add content to document them.
- (Subsection 3.1.2.2): Add content; document...
- (XH-INIT, XN-INIT): ...this pair of user-definable macros.
- (Subsection 3.1.2.3): Add content; document...
- (XH-UPDATE-TOC): ...this user-redefinable macro.
- (Subsection 3.1.2.4): Add content; document...
- (XH-REPLACEMENT, XN-REPLACEMENT): ...these user-redefinable macros.
- * tmac/spdf.tmac (XN): Correct comment typo; should refer to...
- (NH <n>): ...this, rather than implied use after self.
- 2022-02-27 Keith Marshall <address@hidden>
- Add discussion of "ms" document structure.
- * pdfmark.ms (Section 3.1.1): Add content.
- (Section 4): Add cross-reference label, named...
- (pdf-publishing): ...thus.
- 2022-02-27 Keith Marshall <address@hidden>
- Add footnote concerning choice of layout macro package.
- * pdfmark.ms (Section 3): Add footnote #16.
- 2022-02-26 Keith Marshall <address@hidden>
- Correct page trap macro assignment syntax.
- * pdfmark.ms (Section 2.5.6.1): Insert missing initial period...
- (pfdhref I -PT ...): ...introducing this macro usage example.
- 2022-02-11 Keith Marshall <address@hidden>
- Document reference text custom formatting capabilities.
- * pdfmark.ms (Section 2.5.5.4): Replace and expand content; explain
- operation of the default reference text formatting macro, and use of
- 'pdfhref K', to implement user-defined formatting keywords.
- 2022-02-11 Keith Marshall <address@hidden>
- Add support for custom location keyword interpretation.
- * pdfmark.tmac (pdf*href.format): Generalize keyword interpreter.
- (pdf*href-K): New internal macro; it implements the interpreter for
- "pdfhref K ..." macro calls; use it to map location keywords to...
- (PDFHREF.FILEREF, PDFHREF.PAGEREF, PDFHREF.SECTREF): ...these; thus...
- (pdf*href.format.file, pdf*href.format.page, pdf*href.format.section):
- ...these become redundant; delete them.
- * pdfmark.ms (pdfhref K): Document it; add keeps, to avoid potential
- widow lines in following paragraphs.
- 2021-12-31 Keith Marshall <address@hidden>
- Describe automatic pdfhref annotation capability.
- * pdmark.ms (Section 2.5.5.3): Add content; introduce and explain
- the default provisions, with examples, for the automatic generation
- of reference text to describe pdfhref links.
- 2021-12-31 Keith Marshall <address@hidden>
- Fix a "pdfhref" arguments evaluation bug.
- * pdfmark.tmac: Squeeze unnecessary vertical space.
- (pdf*href) [.$]: Do not delay assignment of arguments to...
- (PDFHREF.DESC): ...this; deferring the evaluation of \$*, until...
- (pdf*href.format): ...here, is too late; it interprets the wrong \$*,
- resulting in failure of the intended arguments override feature;
- additionally, quote PDFHREF.DESC, only when NOT overridden.
- 2021-12-20 Keith Marshall <address@hidden>
- Describe explicit pdfhref annotation capability.
- * pdfmark.ms (Section 2.5.5.2): Add content; show, by example, how
- text within a link "hot-spot" may be explicitly specified at time of
- link placement.
- 2021-12-15 Keith Marshall <address@hidden>
- Describe pdfhref colour management mechanism.
- pdfmark.ms (Section 2.5.5.1): Add content; state purpose and use of...
- (PDFHREF.BORDER, PDFHREF.COLOUR, PDFHREF.TEXT.COLOUR): ...these.
- 2021-11-18 Keith Marshall <address@hidden>
- Correct a statement with inverted logic.
- * pdfmark.ms (Section 2.5.6): Insert missing "not", in opening
- paragraph; links become problematic when they do not function as
- expected, not when they do!
- 2021-11-18 Keith Marshall <address@hidden>
- Avoid unwanted line-breaks at hard hyphenation points.
- * pdfmark.ms: Ensure that all explicitly hyphenated words are prefixed
- by "\%", to make hard hyphens non-breaking.
- 2021-11-18 Keith Marshall <address@hidden>
- Set initial view to page width.
- * pdfmark.ms (pageview): Add /View /FitH specification for /Page 1.
- 2021-11-17 Keith Marshall <address@hidden>
- Widow and orphan line adjustments.
- * pdfmark.ms: Add vertical space reservations, or specify keeps, as
- appropriate, to avoid widow lines and orphaned examples, when a short
- paragraph precedes an example; adjust paragraph spacing, as necessary
- around keeps.
- 2021-11-17 Keith Marshall <address@hidden>
- Adjust spacing following footnote markers at end-of-sentence.
- * pdfmark.ms (FZ): New document-local macro; define it such that it
- behaves as FE, augmented to preserve the effect of sentence spacing,
- when invoked with arguments having end-of-sentence punctuation.
- [GhostScript 8.14.\**, MSYS.\**]: Follow with FS ... FZ.
- 2021-11-15 Keith Marshall <address@hidden>
- Adjust footnote marker position over punctuation.
- * pdfmark.ms ["," or "." followed by "\**"]: Suppress horizontal
- spacing in way of the punctuation mark, causing the footnote marker to
- be positioned above it.
- 2021-11-15 Keith Marshall <address@hidden>
- Correct paragraph spacing irregularities.
- * pdfmark.ms [QS followed by IP, QS followed by LD]
- [DE followed by QE, QE followed by LP]: Each of these combinations
- results in doubling of the normal inter-paragraph vertical spacing at
- the location of the combination; suppress the excess.
- 2021-11-14 Keith Marshall <address@hidden>
- Implement publication system management infrastructure.
- * configure.ac Makefile.in: New files; they support independent
- publication per GNU autoconf build-system conventions.
- 2021-11-14 Keith Marshall <address@hidden>
- Create free-standing groff-pdfmark publication system.
- * cover.ms pdfmark.ms pdfroff.1.man
- * pdfroff.sh: Import from GNU Troff project.
- * tmac/pdfmark.tmac tmac/s.tmac tmac/sanitize.tmac tmac/spdf.tmac
- * artwork/gnu.eps: Import, and relocate.
- 2021-10-24 Keith Marshall <address@hidden>
- Adapt to accommodate global XH and XN implementations.
- cf. <https://savannah.gnu.org/bugs/?58946#comment13>
- * spdf.tmac (XH-INIT, XN-INIT, XH-UPDATE-TOC): Delete definitions;
- the defaults, provided by s.tmac, are now sufficient.
- (XH-REPLACEMENT, XN-REPLACEMENT): Define these, rather than...
- (XH, XN): ...these, respectively.
- 2021-10-02 Keith Marshall <address@hidden>
- Make a minor layout adjustment.
- * pdfmark.ms (Section 2.4.3): Add a vertical space reservation, to
- avoid a widow line at the end of the paragraph explaining use of...
- (PDFHREF.Y): ...this computed register, in the definition of...
- (PDFBOOKMARK.VIEW): ...this.
- 2021-10-02 Keith Marshall <address@hidden>
- Clarify references to use of the -Tpdf option.
- * pdfmark.ms (Section 2, Section 3.1): Add footnotes, indicating that
- only "-Tps" and "-Tpdf" output formats are supported, and that "-Tpdf"
- may avoid a separate step, to convert from PostScript to PDF.
- 2021-10-02 Keith Marshall <address@hidden>
- Work around misplacement of link "hot-spots" in footnotes.
- * pdfmark.ms (pdfhref-nobreak): New document-local macro; used instead
- of "pdfhref", this forces paragraph adjustment before placement of any
- unbreakable link text, for which line-wrap may be required. Currently
- observed only within footnotes, without adjustment, the "hot-spot" for
- the link may be placed 1v above its associated text.
- 2021-10-02 Keith Marshall <address@hidden>
- Link footnote reference marks to footnote text.
- * pdfmark.ms (FP): Redefine locally; replace s.tmac default.
- (FF): Do not redefine; our FP replacement macro does not use it.
- [d FS-MARK] (FS-MARK): Redefine locally; map it to...
- (pdf:fn.mark): ...this locally defined macro.
- [!d FS-MARK] (@FS): Rename s.tmac implementation as...
- (pdf:fn.record): ...this, then redefine @FS itself, to call...
- (pdf:fn.mark, pdf:fn.record): ...these, in respective order.
- (groff-1.19.1, GhostScript-8.14): Update footnote reference syntax.
- (Ghostscript-8.14, MSYS): Emulate sentence space after footnote mark.
- (*): Replace s.tmac string definition; make it equivalent to "\c",
- after renaming its original implementation as...
- (pdf:fn.index): ...this; synchronize references with changes to...
- (pdf:fn.index.count): ...this new locally defined register; it is
- auto-incremented by one, as each footnote is placed.
- 2021-10-01 Keith Marshall <address@hidden>
- Incorporate user-defined TOC leader style.
- * pdfmark.ms: Make some comment tidy-up adjustments.
- (TC-LEADER, TC-MARGIN): Define them, to take advantage of new
- s.tmac features; cf. <https://savannah.gnu.org/bugs/?61157>.
- 2021-09-18 Keith Marshall <address@hidden>
- Factor a further unnecessary macro out of spdf.tmac
- * spdf.tmac (XR): Remove it; relocate it to...
- * pdfmark.ms (XR): ...here.
- 2021-09-13 Keith Marshall <address@hidden>
- Add comments to annotate locally-defined font change macros.
- * pdfmark.ms (EM): Annotate this locally-defined emphasis macro...
- (CWB, CWI, CWBI): ...these constant width font interpolation macros...
- (=): ...and this locally-defined IP tag variant string.
- 2021-09-13 Keith Marshall <address@hidden>
- Update defunct internet URL references.
- * pdfmark.ms (pdfmark-manual): Adobe moved the document (again);
- update the document reference macro, to follow the URL relocation.
- (www.mingw.org): The MinGW Project has relinquished this domain;
- update the URL reference, to follow web-site relocation to...
- (mingw.osdn.io): ...here.
- 2021-09-13 Keith Marshall <address@hidden>
- Factor document-specific bloat out of spdf.tmac
- * spdf.tmac: Reorganize; add many comments.
- (XN): Retained, but reimplemented, to serve as...
- (XH, XN): ...both of these; add callback hooks for...
- (XH-INIT, XN-INIT, XH-UPDATE-TOC): ...these; provide no-op stubs;
- factor out TOC collection code, delegating to XH-UPDATE-TOC.
- (opt*XN-N, opt*XN-S, opt*XN-X): Rename internal macros to...
- (de spdf:XH-N, de spdf:XH-S, de spdf:XH-X): ...these, respectively.
- (AN, @AN, IE, IS, LU, NN, PXREF, SAME-PAGE, XM): Delete; we do not
- require these; if users do, they should define their own.
- (pdf@toc): Delete internal macro; fold body into...
- (TC): ...this.
- * pdfmark.ms (XH-UPDATE-TOC): Implement callback; it is based on...
- (XN): ...original implementation of this, factored out of spdf.tmac,
- but with significant simplification, to remove unnecessary code.
- (XNVS1, XNVS2, XNVS3): Tighten vertical spacing.
- 2021-09-04 Keith Marshall <address@hidden>
- Reduce potential for user-space exposure of "ms" internals.
- * spdf.tmac (@NH): Append to s.tmac macro; assign...
- (spdf:nh*hl): ...this new internal register; alias it to...
- (.NH): ...this new public name, hence making it track...
- (nh*hl): ...this s.tmac internal numeric register.
- (XN): Use \n[.NH] instead of \n[nh*hl].
- 2021-09-03 Keith Marshall <address@hidden>
- Sanitize text for use in PDF document outlines.
- * sanitize.tmac: New file; it implements...
- (sanitize): ...this new macro; interprets its first argument as a
- string name, and copies its remaining arguments to the named string,
- discarding specific embedded troff escape sequences; currently...
- (\F): ...only this is identified as "specifically discardable".
- * pdfmark.am (TMACFILES): Add sanitize.tmac
- * spdf.tmac (mso): Include sanitize.tmac
- (xn*ref, xn*argc): Rename all occurrences...
- (spdf:refname, spdf:argc): ...to these, respectively.
- (XN): Stop inserting $* directly into PDF outlines; instead, use...
- (spdf:bm.text): ...this new string; this is locally defined by...
- (spdf:bm.define): ...this new macro; passed the original $* from
- XN, this itself, is locally defined as a redirectable alias for...
- (spdf:bm.basic): ...this new local macro; it simply copies $*,
- passed from XN, to the string named by its first argument, (which is
- always spdf:bm.text), so reproducing previous behaviour.
- (opt*XN-S): New macro; defined for internal use only, it adds a "-S"
- option to XN, such that, when specified, it temporarily redirects...
- (spdf:bm.define): ...this macro mapping alias to...
- (sanitize): ...this.
- * pdfmark.ms (XN): Add "-S" option for all headings which include...
- (\F[C]...\F[]): ...this escape sequence.
- 2021-08-21 Keith Marshall <address@hidden>
- Define, and use registered trade mark strings.
- * pdfmark.ms (Adobe, Acrobat, Distiller, PostScript, Microsoft):
- Define as strings. Each expands to its own name, followed by the
- registered trademark symbol, as a superscript, and optional trailing
- punctuation, below the superscript. Use each as required.
- 2021-08-21 Keith Marshall <address@hidden>
- Prefer "-ize" to "-ise" where etymology permits.
- * pdfmark.ms: For all verbs, and their derivative nouns, for which
- British English allows either "-ise" or "-ize" as ending, prefer the
- "-ize" form of verb, and "-ization" form of noun, throughout.
- 2021-08-20 Keith Marshall <address@hidden>
- Correct a spelling error.
- * pdfmark.ms (Section 2.5.3.1): Fix typo: s/exanple/example/.
- 2021-08-20 Keith Marshall <address@hidden>
- Space out section headings in pdfmark.ms source.
- * pdfmark.ms (.NH): Precede each instance by one null request, to
- improve readability.
- 2021-08-18 Keith Marshall <address@hidden>
- Refine pdfroff "missing ghostscript" diagnostic.
- * pdfroff.sh [$GS = ":"]: Fix typo: s/connot/cannot/; refine text.
- 2020-12-25 G. Branden Robinson <address@hidden>
- * pdfmark.am (PDFROFF): Call pdfroff without
- `--keep-temporary-files` option. Temporary directories are
- created with mktemp(1) and files with an embedded process
- identifier, which frustrates reproducible builds.
- See <https://savannah.gnu.org/bugs/?57218>.
- 2018-02-28 Werner LEMBERG <address@hidden>
- * pdfmark.am (pdfmark.pdf): Use $(GROFF_V).
- 2018-02-28 Werner LEMBERG <address@hidden>
- * pdfmark.am (pdfroff): Use $(AM_V_GEN) to silence file generation.
- 2015-08-22 Bernd Warken <address@hidden>
- * pdfroff.1.man: Rename `pdfroff.man'.
- * pdfmark.am: Add `Last update'. Setup Emacs mode.
- 2015-08-05 Bernd Warken <address@hidden>
- * pdfmark.am: Add `Last update'. Setup Emacs mode.
- 2015-04-03 Werner LEMBERG <address@hidden>
- * pdfroff.man: Make it work in compatibility mode.
- 2014-10-14 Keith Marshall <address@hidden>
- Deduce "--no-toc-relocation" from input stream (revisited).
- * pdfroff.sh (WRKFILE): Correct malformed sed expression.
- * spdf.tmac (TC): Prefer value of pdfroff's PHASE register to defined
- state of pdf:href.map, when choosing to emit control record to...
- (toc_relocation): ...enable this.
- 2014-10-13 Keith Marshall <address@hidden>
- Deduce "--no-toc-relocation" from input stream.
- * pdfroff.sh (WRKFILE): Scan it for "pdfroff-option:set" records;
- apply settings; check for equivalent of "--no-toc-relocation" option.
- * spdf.tmac (TC): Emit "pdfroff-option:set toc-relocation=enabled".
- 2014-10-12 Keith Marshall <address@hidden>
- Avoid spurious user visible control messages on stderr.
- * pdfroff.sh (REFCOPY): Ensure that at least one pdfhref mark of type
- 'Z' will remain in the reference map, after all references have been
- resolved; this is required, to suppress writing of reference control
- records to stderr during the final PDF output processing phase.
- 2014-09-04 Bernd Warken <address@hidden>
- * all pdfmark source files: Copying (remove last updates and
- replace years with package years) and Emacs setup.
- 2014-03-30 Steffen Nurpmeso <address@hidden>
- * Makefile.sub: Put straight error-prevention prefixes for `rm'.
- 2014-03-29 Steffen Nurpmeso <address@hidden>
- * Makefile.sub: Handle examples separately, controlled by
- $(make{_,_install_,_uninstall_}examples).
- 2013-01-28 Deri James <address@hidden>
- * pdfmark.tmac (pdfmark, pdf:composed): Use `\!' instead of `\X'.
- With the old pdfmark there are gaps between two of the lines, but
- with the new version they disappear. The use of `.br' and `.in 0'
- is arbitrary any request which causes an implicit break could be
- used. Two breaks together only produce one line break, but if there
- is an intervening `\X' then the second break finds the line buffer
- not empty and generates another line break.
- Using `\!' does alter the position of the pdfmark lines in the
- intermediate file sent to grops (the pdfmark lines are output
- immediately rather than being serialised through the output line
- processing), but this has no effect since the contents of the
- pdfmark line stay the same. It is the contents which determine
- where bookmarks jump to not the position of the record in the input
- stream to grops.
- I initially used `.output', but hit a snag if a pdfbookmark occurs
- before the document starts to output (message saying to insert an
- explicit `.br'), this is quite likely for things like `.pdfinfo
- /Author' which occur at the top of the document. So I'm using the
- `\!' escape.
- 2012-09-20 Werner LEMBERG <address@hidden>
- Simplify environment handling.
- Suggested by Ivan Shmakov <address@hidden>.
- * Makefile.sub (PDFROFF): Don't use export.
- 2011-12-26 Mike Frysinger <address@hidden>
- Fix parallel build race failure.
- Sometimes building in parallel will fail in the pdfmark directory:
- make[2]: Entering directory '.../contrib/pdfmark'
- rm -f pdfroff
- rm -f pdfmark.pdf
- sed -f ... ./pdfroff.sh >pdfroff
- ...; ./pdfroff ... pdfmark.ms >pdfmark.pdf
- /bin/sh: ./pdfroff: Permission denied
- chmod +x pdfroff
- make[2]: *** [pdfmark.pdf] Error 126
- This is because the generated pdf files use the local generated
- pdfroff helper script, but they don't depend directly upon it, so
- make tries to create the two in parallel and randomly falls over.
- * Makefile.sub: Have all the .pdf files explicitly depend on the
- `pdfroff' helper script.
- 2010-12-23 Keith Marshall <address@hidden>
- Update copyright notices; pdfmark.tmac bug-fix.
- * pdfmark.tmac: Update copyright notices.
- (pdf*href.mark.resolve): Avoid premature removal, by aliasing to...
- (pdf*href.mark.begin): ...this, rather than renaming.
- * pdfroff.sh, pdfroff.man: Update copyright notices.
- 2010-12-14 Keith Marshall <address@hidden>
- Clean up handling of temporary files directory.
- * .cvsignore (pdfroff-*): Ignore sub-directories matching this.
- * Makefile.sub (MOSTLCLEANDIRADD): Schedule them for removal.
- 2010-12-02 Keith Marshall <address@hidden>
- Address potential temporary file security vulnerabilities.
- * pdfroff.sh (GROFF_TMPDIR): Use mktemp(1) to assign it, if possible;
- fall back to ${TMPDIR}, ${TMP} or ${TEMP} if unsuccessful.
- * pdfroff.man: Document it.
- 2009-08-16 Colin Watson <address@hidden>
- Make pdfroff's GhostScript invocation safer.
- * pdfroff.sh (PDFROFF_POSTPROCESSOR_COMMAND): Add `-dSAFER' option.
- * pdfroff.man: Document it.
- 2008-12-28 Keith Marshall <address@hidden>
- Avoid phantom line wrapping in pdfhref hot-spots.
- * pdfmark.tmac (pdf*href.mark.end): Emit hot-spot end markers within
- scope of `\Z', to prevent possible output line length overflow which
- may occur only in the layout computation passes, but not in the final
- output pass. Problem observed and identified by Nick Stoughton; it
- causes some hot-spots to be displaced from their proper locations.
- 2007-04-11 Keith Marshall <address@hidden>
- Avoid stray newlines in folded pdfmark literal content.
- * pdfmark.tmac (pdf*pdfmark.dispatch.wrapped): New string; define it
- when accumulating long literal content; make it undefined otherwise.
- (PDFMARK.FOLDWIDTH, PDFMARK.FOLDWIDTH.MAX): Reserve space for two
- extra characters, to accommodate a space and an escaped newline,
- while accumulating literal content, in case folding is required.
- (pdf*pdfmark.dispatch) [pdf*pdfmark.dispatch.wrapped]: Add them.
- 2007-04-11 Keith Marshall <address@hidden>
- * pdfmark.tmac (pdfbookmark): Don't evaluate within diversions; defer
- placement until diversion is copied out at top level.
- 2007-02-06 Eric S. Raymond <address@hidden>
- * pdfroff.man: Update .UR/.UE and .MT/.ME to latest changes in
- an-ext.tmac.
- 2007-01-30 Werner LEMBERG <address@hidden>
- * pdfroff.man: Updated.
- 2007-01-21 Werner LEMBERG <address@hidden>
- * pdfroff.man: Revised, based on a patch from Eric Raymond. It now
- uses the new macros from an-ext.tmac. This is the first of a series
- of man patches which Eric has contributed.
- 2006-07-30 Keith Marshall <address@hidden>
- * pdfroff.sh (PDFROFF_KILL_NULL_PAGES): Require `%%BeginPageSetup' on
- PostScript output line immediately following `%%Page:'.
- 2006-07-29 Keith Marshall <address@hidden>
- * pdfroff.sh (PDFROFF_KILL_NULL_PAGES): Require `sed' to match a more
- explicit regular expression, for detection of redundant pages.
- 2006-07-14 Keith Marshall <address@hidden>
- * pdfroff.sh (PDFWRITE): Local shell variable replaced...
- (PDFROFF_POSTPROCESSOR_COMMAND): by this new environment variable...
- (GROFF_GHOSTSCRIPT_INTERPRETER): with this bound to it.
- (PDFROFF_COLLATE, PDFROFF_KILL_NULL_PAGES): New environment variables.
- (--no-kill-null-pages): New command line option; implement it, and...
- (--help): Add description for it.
- * pdfroff.man (PDFROFF_POSTPROCESSOR_COMMAND): Document it.
- (PDFROFF_COLLATE, PDFROFF_KILL_NULL_PAGES): Document them.
- (--no-kill-null-pages): Document it.
- 2006-07-14 Zvezdan Petkovic <address@hidden>
- * pdfroff.sh (--emit-ps): New command line option; implement it.
- (--help): Add description for it.
- * pdfroff.man (--emit-ps): Document it.
- 2006-06-11 Werner LEMBERG <address@hidden>
- * pdfroff.man: Add `.ig' block after NAME section to make mandb
- happy.
- 2006-03-31 Keith Marshall <address@hidden>
- Split `pdfmark' output as required, to avoid excessively long
- `ps:exec' intermediate output records.
- * pdfmark.tmac (pdfmark): Macro extended to deploy ...
- (pdf*pdfmark.limit): New macro; use it to define ...
- (PDFMARK.FOLDWIDTH, PDFMARK.FOLDWIDTH.MAX): New registers.
- (pdf*compose.first, pdf*compose.next, pdf*compose.literal): New
- macros; each will be aliased as required to ...
- (pdf*compose): ... this, to dynamically construct ...
- (pdf:composed.line, pdf:composed.literal): ... these new strings.
- (pdf:compose.test): New dynamically constructed string; use it to
- detect parenthesised literals in pdfmark content, so folding can be
- avoided within them, subject to honouring of `PDFMARK.FOLDWIDTH'.
- (pdf*length.increment): New macro; it triggers output folding when ...
- (pdf:length): ... this new register exceeds `PDFMARK.FOLDWIDTH.MAX'.
- (pdf*pdfmark.post.first, pdf*pdfmark.post.next): New macros; each will
- be aliased as required to ...
- (pdf*pdfmark.post): ... this, and invoked by ...
- (pdf*pdfmark.dispatch): ... this new macro; use it to define ...
- (pdf:composed): ... this dynamically constructed macro; use ...
- (pdf*end): ... this new macro to terminate it.
- 2006-03-09 Keith Marshall <address@hidden>
- Incorporate portability recommendations by Ralf Wildenhues
- <address@hidden>
- * pdfroff.sh: Avoid unsafe quoting in variable substitutions of
- the form "${VAR+"set"}"; remove outer quotes everywhere; prefix
- with `x' on each side of comparisons.
- ($NULLCMD): Define when `$ZSH_VERSION' is set, i.e. when host
- has `/bin/sh -> zsh'; also...
- (emulate sh): Invoke, for this case.
- Enhancement/bug fix requested by Werner LEMBERG <address@hidden>
- * pdfroff.sh (--help): Direct output to `stdout', not `stderr'.
- (--keep-temporary-files): New option; implement it.
- * pdfroff.man (OPTIONS): Document `--keep-temporary-files' option.
- (FILES): Note names and purpose of files it affects.
- * Makefile.sub (PDFROFF): Add `--keep-temporary-files' option;
- retain them in `GROFF_TMPDIR=.'.
- (CLEANADD): Include temporary files matching `pdf[0-9]*'.
- 2006-03-08 Werner LEMBERG <address@hidden>
- * pdfmark.ms: Update URL for Adobe Reference Manual.
- 2006-02-26 Claudio Fontana <address@hidden>
- * Makefile.sub: Add DESTDIR to install and uninstall targets
- to support staged installations.
- 2006-02-25 Werner LEMBERG <address@hidden>
- * pdfmark.ms: Correct typo; reported by Thomas Klausner.
- 2006-02-24 Werner LEMBERG <address@hidden>
- * pdfmark.ms, pdfroff.sh: Replace legal/illegal with valid/invalid.
- 2005-06-22 Keith Marshall <address@hidden>
- pdfroff.sh portability enhancement.
- * pdfroff.sh (ARGLIST): Variable removed.
- (GROFF_STYLE): Use it for all groff invocations.
- (INPUT_FILES): Pass to all groff invocations, instead of ARGLIST.
- (CS_MACRO, CE_MACRO): Initialize independently.
- (CS_FILTER): Simplify quoting; it used to confuse some shells.
- (Source): CVS keyword removed; replaced by...
- (RCSfile, Revision): these.
- 2005-06-17 Keith Marshall <address@hidden>
- * pdfroff.sh (MATCH): Correct quoting.
- (Source): Add terminating `$' on CVS keyword.
- 2005-06-17 Zvezdan Petkovic <address@hidden>
- * Makefile.sub: (RM): Define as `rm -f', for `make' programs
- which don't predefine it.
- 2005-06-16 Bernd Warken <address@hidden>
- * pdfroff.sh (NULLDEV): Correct misspelled instance of NULDEV.
- 2005-05-28 Werner LEMBERG <address@hidden>
- * Makefile.sub (.ms.pdf): Use `--stylesheet', not `--style'.
- 2005-05-26 Werner LEMBERG <address@hidden>
- * Makefile.sub, pdfmark.tmac, pdfroff.sh, spdf.tmac: Update postal
- address for Free Software Foundation.
- 2005-05-17 Keith Marshall <address@hidden>
- Improve portability of `pdfroff' shell script.
- * pdfroff.sh: Add space in shebang, conforming to portability
- guidelines in `autoconf' docs.
- (searchpath): New shell function; use it instead of `type' command
- to locate prerequisite helper programs.
- * pdfroff.man: Document influence of `OSTYPE' and `PATH_SEPARATOR'
- environment variables.
- * Makefile.sub (pdfroff): Make it depend on SH_DEPS_SED_SCRIPT,
- from arch/misc/shdeps.sh; use it to customize PATH_SEPARATOR
- initialization code for `searchpath' function in pdfroff.sh.
- 2005-05-16 Keith Marshall <address@hidden>
- Interim documentation update.
- * pdfmark.ms (GROFF-WEBSITE): New string; use it in references and
- examples.
- (Section 2.5): Add definitions of D and Z operators, for use with
- pdfhref macro.
- (Section 2.5.4): Complete description of pdfhref macro usage for
- `Linking to Internet Resources'; provide examples.
- 2005-05-14 Nick Stoughton <address@hidden>
- * pdfmark.tmac (LB): Renamed to ...
- (PDFLB): This to avoid conflicts with mm's LB macro.
- 2005-05-02 Keith Marshall <address@hidden>
- Handle parsing anomalies in Cygwin's `ash', and similar, shells.
- * pdfroff.sh ($CAT, $GREP, $SED, $GROFF, $DIFF): Avoid interpreting
- misdirected error messages, which `type' sends to `stdout' in some
- shells, as a successful program file match.
- ($AWK, $GS): Likewise; also ensure that multiple choice match
- prototypes are eval'ed as such, in case token splitting occurs
- before variable expansion.
- 2005-04-24 Keith Marshall <address@hidden>
- Add support for folded outlines in PDF documents.
- * pdfmark.tmac (PDFOUTLINE.FOLDLEVEL): New register.
- (pdf:bm.emit): Use it.
- * pdfmark.ms: Document it.
- 2005-03-25 Werner LEMBERG <address@hidden>
- * Makefile.in: Removed.
- 2005-03-24 Werner LEMBERG <address@hidden>
- * Makefile: Renamed to...
- * Makefile.in: This.
- 2005-03-22 Keith Marshall <address@hidden>
- * pdfroff.sh: Eliminate invalid program reference to $AWK, when
- invoked with `--no-reference-dictionary' option.
- 2005-03-02 Keith Marshall <address@hidden>
- * contrib/pdfmark/Makefile.sub (install_data): Use $(INSTALL_SCRIPT)
- to install `pdfroff'.
- * contrib/pdfmark/pdfroff.man (opte): New macro.
- Use it to remove spurious equal signs from SYNOPSIS.
- 2005-02-28 Keith Marshall <address@hidden>
- Provide `pdfroff' shell script, and manpage to document it;
- runs multiple groff passes, to format PDF documents.
- * pdfroff.sh: New shell script template;
- * pdfroff.man: New man page to document it.
- Integrate `pdfmark' into normal groff build system;
- install macro `pdfmark' packages, build and install `pdfroff',
- and PDF format documentation.
- * Makefile.sub: Rewritten.
- * pdfmark.tmac: Modified.
- (pdfhref): New macro operators, `D' and `Z'.
- (pdf*href-D, pdf*href-Z): New macros: implement them.
- (pdf*href.mark.resolve, pdf*href.mark.emit, pdf*href.mark.flush):
- Modified macro algorithm, to eliminate inconsistencies between
- `grohtml' representations of `opminy' from differing groff versions.
- (pdf*href.mark, pdf*href.mark.release, pdf*href.mark.close):
- deleted (redundant macros).
- (PDFHREF.LEADING): Default value changed (was 2.5p; now -1.0p).
- Global comment updates.
- * TODO: Updated.
- 2004-12-10 Werner LEMBERG <address@hidden>
- * TODO: Updated.
- 2004-12-08 Keith Marshall <address@hidden>
- First import of pdfmark files.
- ________________________________________________________________________
- Copyright (C) 2004-2024 Free Software Foundation, Inc.
- Copying and distribution of this file, with or without modification,
- are permitted in any medium without royalty provided the copyright
- notice and this notice are preserved.
- Local Variables:
- fill-column: 78
- mode: change-log
- version-control: never
- End:
- vim:set autoindent textwidth=78: