74 Commits

Author SHA1 Message Date
G. Branden Robinson
d267976778 Declare groff's provenance consistently (redux).
Continues commit e7bc2afe46, 12 December.
2025-12-19 15:46:53 -06:00
G. Branden Robinson
60840028a7 Reduce the Bennett Brauer factor (cosmetic) (1/4).
Thus named because 'excessive' use of 'quotation marks' in 'ordinary
prose' gouges my eyeballs like Chris Farley's fingers making air quotes
a millimeter from my face.
2025-12-19 15:46:53 -06:00
G. Branden Robinson
2bb06d36f1 font/devutf8/devutf8.am: Tweak generated "DESC".
* font/devutf8/devutf8.am (DEVUTF8FONTS): Tweak ordering of mounted CJK
  faces in "DESC" file generated for "utf8" output device.  Consistently
  arrange the Hei (~serif) faces before the Song (~sans-serif) ones.
2025-06-19 10:31:38 -05:00
G. Branden Robinson
b2a0fe8b0b [devhtml,devutf8]: Improve CJK font desc handling.
Stop pointlessly overwriting new CJK font descriptions for grohtml(1)
and grotty(1).  Unlike the Latin script descriptions, they aren't
generated from a ".proto" file.

* font/devhtml/devhtml.am (DEVHTMLFONTS): Move CJK font description
  files from here...

  (DEVHTMLFONTSFILES_CJK): ...to this new macro.

  (devhtmlfont_DATA, EXTRA_DIST): Expand `DEVHTMLFONTSFILES_CJK` here.
  The latter ensures their presence in the distribution archive.

* font/devutf8/devutf8.am (DEVUTF8FONTS): Move CJK font description
  files from here...

  (DEVUTF8FONTSFILES_CJK): ...to this new macro.

  (devutf8font_DATA, EXTRA_DIST): Expand `DEVUTF8FONTSFILES_CJK` here.
  The latter ensures their presence in the distribution archive.
2024-12-06 04:46:50 -06:00
TANAKA Takuji
76c81423da Support CJK fonts encoded in UTF-16 (5/6).
Ship font description files.  These are intended as abstractions of
faces to permit consistent naming while permitting customization, just
as with the 12 text typefaces supported across output devices for Latin
scripts in groff (three families of four styles each).  These CJK font
descriptions are not organized into groff font families, but are
similar.

	CSH: Simplified Chinese, Hei style
	CSS: Simplified Chinese, Song style
	CTH: Traditional Chinese, Hei style
	CTS: Traditional Chinese, Song style
	JPG: Japanese, Gothic style
	JPM: Japanese, Mincho style
	KOG: Korean, Gothic style
	KOM: Korean, Mincho style

* font/devdvi/CSH:
* font/devdvi/CSS:
* font/devdvi/CTH:
* font/devdvi/CTS:
* font/devdvi/JPG:
* font/devdvi/JPM:
* font/devdvi/KOG:
* font/devdvi/KOM:
* font/devhtml/CSH:
* font/devhtml/CSS:
* font/devhtml/CTH:
* font/devhtml/CTS:
* font/devhtml/JPG:
* font/devhtml/JPM:
* font/devhtml/KOG:
* font/devhtml/KOM:
* font/devps/CSH:
* font/devps/CSS:
* font/devps/CTH:
* font/devps/CTS:
* font/devps/JPG:
* font/devps/JPM:
* font/devps/KOG:
* font/devps/KOM:
* font/devutf8/CSH:
* font/devutf8/CSS:
* font/devutf8/CTH:
* font/devutf8/CTS:
* font/devutf8/JPG:
* font/devutf8/JPM:
* font/devutf8/KOG:
* font/devutf8/KOM: Ship font descriptions.

* font/devdvi/devdvi.am (DEVDVIFONTFILES):
* font/devhtml/devhtml.am (DEVHTMLFONTS, DEVHTMLFONTFILES):
* font/devdvi/devps.am (DEVPSFONTFILES):
* font/devutf8/devutf8.am (DEVUTF8FONTS, DEVUTF8FONTFILES): Add them.

The test "contrib/hdtbl/examples/test-hdtbl.sh" fails at this commit.
2024-11-21 13:33:29 -06:00
G. Branden Robinson
6403f2205c [build]: Add/update .gitignore files.
Use a surgical, not a shotgun, approach.  Remove stale and/or overbroad
patterns.  This way it is easier to detect bitrot and junk in the build
tree, and recognize when changes occur that affect payload or might need
to be reflected in Makefile updates.

Organize the files by "module"--by logically discrete components of the
tree.  This makes the internal symmetry of the repository less obscure.

These files' contents reflect an "everything" build on GNU/Linux.  Gaps
are expected for platforms with different file naming
conventions--Cygwin, for instance, still names executables with ".exe"
extensions, and may still use ".obj" instead of ".o".  Please contribute
similar patterns for your platform.
2023-08-16 21:38:30 -05:00
G. Branden Robinson
0223aef416 [docs]: Reduce use of term "entity".
Doug McIlroy noted this vague term, which groff employs for multiple
purposes.  Eliminate its application to input processing.  There is now
no longer such a thing as an "entity" in the groff language.

* doc/groff.texi (Character Translations): Do it.  Also clarify
  "nothing" as "the dummy character".

  (Using Symbols): Do it.  Also recast explanation of difference between
  characters and glyphs.  Explicitly state that spaces aren't glyphs.
  Document that `rchar` request can't remove definitions supplied by
  font description files.

  (Ligatures and Kerning): Speak of "special characters", not
  "entities".

  (Other Differences): Recast discussion of character-to-glyph
  transformation.  Stop qualifying characters as "input".  Recast
  discussion of example.

* font/devutf8/NOTES: Revise use of terminology.  Perform a Kemper
  notectomy.  Wrap long lines.

* man/groff.7.man (Request short reference) <char>: Speak of a "special
  character", not an "entity".

  <rchar>: Document that request can't remove definitions supplied by
  font description files.

* man/groff_diff.7.man (Implementation differences): Sync with our
  Texinfo manual.

The use of "entity" to describe how a glyph gets mapped back to a
character (sequence) for the HTML and terminal output devices is
retained.  That usage is restricted to discussion of output drivers
(code comments and function names notwithstanding).
2023-04-24 23:58:16 -05:00
G. Branden Robinson
3a58ef2712 [build]: Rationalize in-tree document deps.
[build]: Reduce and rationalize in-tree document dependencies.  This
eliminates spurious rebuilds of numerous documents (including the
380+-page groff-man-pages collections).  It also fixes missing
dependencies when using the build's groff to generate PostScript
documents.

* .gitignore: Drop old name of devpdf stamp file.

* doc/.gitignore: Drop now-unused "example.stamp" file.

* doc/doc.am (PROCESSEDDOCFILES_HTML, PROCESSEDDOCFILES_PDF,
  PROCESSEDDOCFILES_TXT): Add new macros grouping targets by the
  format/output driver used to produce them, to better organize
  dependencies for their generation.

  (PROCESSEDDOCFILES): Redefine as simply the expansions of the
  foregeoing.

  (PROCESSEDFILES_DEPS_HTML, PROCESSEDFILES_DEPS_HTML,
  PROCESSEDFILES_DEPS_PDF, PROCESSEDFILES_DEPS_TXT): Add new macros
  defining prerequisites for production of the corresponding output
  document formats.

  ($(PROCESSEDDOCFILES_HTML), $(PROCESSEDDOCFILES_PDF),
  $(PROCESSEDDOCFILES_PS), $(PROCESSEDDOCFILES_TXT)): Declare the
  dependencies using expansions of the foregoing macros.

  (MOSTLYCLEANFILES): Drop "doc/automake.pdf", now part of
  `PROCESSEDDOCFILES_PDF`.

  (doc/automake.pdf): Drop dependencies already supplied by
  `PROCESSEDFILES_DEPS_PDF`.

  (HTMLDOCFILES): Drop macro.  "doc/pic.html" is now in the expansion of
  `PROCESSEDDOCFILES_HTML`.

  (htmlpic_DATA): Redefine as expansion of `PROCESSEDDOCFILES_HTML`
  instead of `HTMLDOCFILES`.

  (PROCESSEDEXAMPLEFILES_HTML) [BUILD_HTML]: Define as
  "doc/webpage.html", otherwise as empty.

  (PROCESSEDEXAMPLEFILES_PS): Contain "doc/webpage.ps" and
  "doc/grnexampl.ps".

  (PROCESSEDEXAMPLEFILES): Redefine as expansions of
  `PROCESSEDEXAMPLEFILES_HTML` and `PROCESSEDEXAMPLEFILES_PS`.

  ($(PROCESSEDEXAMPLEFILES_HTML), $(PROCESSEDEXAMPLEFILES_PS)): Declare
  dependencies using `PROCESSEDFILES_DEPS_HTML` and
  `PROCESSEDFILES_DEPS_PS`, respectively.

  (nodist_docexamples_DATA): Redefine macro as expansions of now-split
  macros `PROCESSEDEXAMPLEFILES_HTML` and `PROCESSEDEXAMPLEFILES_PS`.

  (HTMLEXAMPLEFILES): Drop macro.  "doc/webpage.html" is now in the
  expansion of `PROCESSEDDOCFILES_HTML`.

  (nodist_htmlexamples_DATA): Drop macro, no longer needed.

  ($(PROCESSEDDOCFILES_PS)): Relocated and redefined above.
  ($(PROCESSEDEXAMPLEFILES) $(PROCESSEDDOCFILES)): Drop overbroad
  dependency declarations in favor of the above.

  (MOSTLYCLEANFILES, doc/examples.stamp): Drop generation and removal of
  unnecessary stamp file.

  (doc/pic.html, doc/webpage.html): Add explicit dependency on required
  preprocessors.  Drop redundant and spurious dependencies.

* font/devhtml/devhtml.am (MOSTLYCLEANFILES, font/devhtml/stamp):
  Generate and remove stamp file to enable reliable target dependencies
  for build-time generation of HTML documents by groff.

* font/devpdf/devpdf.am (MOSTLYCLEANFILES, font/devpdf/stamp): Rename
  stamp file from "font/devpdf/build_font_files".

  (font/devpdf/stamp): Drop unnecessary dependency on "afmtodit".

* font/devps/devps.am (MOSTLYCLEANFILES, font/devps/stamp): Generate and
  remove stamp file to enable reliable target dependencies for
  build-time generation of PostScript documents by groff.

* font/devutf8/devutf8.am (MOSTLYCLEANFILES, font/devutf8/stamp):
  Generate and remove stamp file to enable reliable target dependencies
  for build-time generation of UTF-8-encoded text documents by groff.

* contrib/hdtbl/hdtbl.am (HDTBLPROCESSEDEXAMPLEFILES): Add dependency on
  devps stamp file since the files' target rule generates PostScript
  with groff.

* contrib/mom/mom.am ($(MOMPROCESSEDEXAMPLEFILES)): Depend on new name
  for devpdf stamp file.

* contrib/sboxes/sboxes.am ($(sboxes_builddir)/msboxes.pdf): Depend on
  new name for devpdf stamp file.

Fixes <https://savannah.gnu.org/bugs/?62084>; thanks to Sergei
Trofimovich for the report.  Also fixes
<https://savannah.gnu.org/bugs/?62297>; thanks to Bjarni Ingi Gislason
for the report.

Tested with the following script.

	#!/bin/sh

	set -e

	test -d build
	cd build

	for file in \
	    contrib/hdtbl/examples/chess_board.ps \
	    contrib/hdtbl/examples/col_rowspan_colors.ps \
	    contrib/hdtbl/examples/color_boxes.ps \
	    contrib/hdtbl/examples/color_nested_tables.ps \
	    contrib/hdtbl/examples/color_table_cells.ps \
	    contrib/hdtbl/examples/color_transitions.ps \
	    contrib/hdtbl/examples/fonts_n.ps \
	    contrib/hdtbl/examples/fonts_x.ps \
	    contrib/hdtbl/examples/mixed_pickles.ps \
	    contrib/hdtbl/examples/rainbow.ps \
	    contrib/hdtbl/examples/short_reference.ps \
	    contrib/mom/examples/copyright-chapter.pdf \
	    contrib/mom/examples/copyright-default.pdf \
	    contrib/mom/examples/letter.pdf \
	    contrib/mom/examples/mom-pdf.pdf \
	    contrib/mom/examples/mon_premier_doc.pdf \
	    contrib/mom/examples/sample_docs.pdf \
	    contrib/mom/examples/slide-demo.pdf \
	    contrib/mom/examples/typesetting.pdf \
	    contrib/sboxes/msboxes.pdf \
	    doc/automake.pdf \
	    doc/grnexmpl.ps \
	    doc/groff-man-pages.pdf \
	    doc/groff-man-pages.utf8.txt \
	    doc/meintro.ps \
	    doc/meintro_fr.ps \
	    doc/meref.ps \
	    doc/ms.ps \
	    doc/pic.html \
	    doc/pic.ps \
	    doc/webpage.ps
	do
	    make -j clean
	    make -j "$file"
	done
2022-05-02 08:35:12 -05:00
G. Branden Robinson
4de4ca9409 [build]: Fix code style nits in Automake files.
* doc/doc.am: Put spaces around (Auto)make variable assignments, for
  consistency with the rest of this .am file, and our others.

* font/devpdf/devpdf.am (font/devpdf/build_font_files): Use shell '>'
  operator instead of touch(1).

* font/devhtml/devhtml.am (font/devhtml/DESC):
* font/devps/devps.am (font/devps/DESC): Construct target in temporary
  file, since doing so is a multi-step process, moving it to the target
  name when it is complete and usable by dependencies.

Also fix indentation and trailing whitespace nits.
2022-05-02 01:22:50 +10:00
G. Branden Robinson
a246806d81 Simplify Unicode character mapping process.
* tmac/unicode.tmac: Drop.  It was originally added in 2005 to suppress
  horizontal spacing of glyphs in the range U+0483..9.  Its purpose has
  wandered over the years; most recently to map the Basic Latin
  ("ASCII") hyphen-minus, apostrophe, and grave accent to special
  characters (and thus ultimately to the General Punctuation block).
  But this is unnecessary since the font descriptions for devices with
  the `unicode` property can provide this information, and anyone who
  wants to alter the mappings can change either font description files,
  output device macro files, or troffrc; or add `char` requests to their
  macro packages or documents (in decreasing magnitude of ambition).

* tmac/html.tmac:
* tmac/tty.tmac: Stop sourcing unicode.tmac.

* tmac/tmac.am (TMACNORMALFILES): Stop shipping it.

* font/devutf8/NOTES: Drop remarks about mapping of \[a~], \[a^], and
  Basic Latin circumflex accent and tilde.  Not only do I disagree with
  the reasoning (whether these glyphs are "too small" depends on the
  font used by the terminal emulator, over which we have no control),
  but this mapping happens in a completely different part of the source
  tree, src/libs/libgroff/glyphuni.cpp.

* font/devhtml/R.proto:
* font/devutf8/R.proto: Add mappings for the five Basic Latin characters
  that map surprisingly (see groff_char(7)) and are not syntactically
  significant to troff.  Three of these are ported from unicode.tmac.
  (html): Don't migrate the hyphen-minus--yet.
2022-01-21 01:51:03 +11:00
Bertrand Garrigues
c05b538c50 Update copyright
* update-copyright.sh: use gnulib's 'update-copyright' script.  Pass
  this script in directories 'arch', 'contrib', 'font', 'man', 'tmac',
  'src' and on a list of extra files.

* FOR-RELEASE: mention this point.
2020-11-11 23:08:05 +01:00
Bertrand Garrigues
54f7ea974e Revert "Update copyright"
This reverts commit a2e955e07354c83939fabffebcf720d3333d1f6b.

Some files (COPYING, FDL, bootstrap) should not have been updated
2020-10-25 22:19:26 +01:00
Bertrand Garrigues
a2e955e073 Update copyright
Use gnulib's update-copyright script.

* src/roff/groff/groff.cpp: update the printf displayed when 'groff -v' is invoked.

* FOR-RELEASE: mention this point.
2020-10-25 01:54:21 +02:00
G. Branden Robinson
72891af00c Synchronize Emacs and Vim editor settings.
Also add some settings (mainly fill columns and character encoding
hints) to try to prevent chaos.

Gory details follow.

* ChangeLog.115:
* ChangeLog.116:
* ChangeLog.117:
* ChangeLog.118:
* ChangeLog.119:
* ChangeLog.120:
* ChangeLog.121:
* Makefile.am:
* arch/mingw/mingw.am:
* arch/misc/misc.am:
* contrib/chem/chem.am:
* contrib/chem/chem.pl:
* contrib/eqn2graph/eqn2graph.am:
* contrib/gdiffmk/ChangeLog:
* contrib/gdiffmk/gdiffmk.am:
* contrib/glilypond/ChangeLog:
* contrib/glilypond/ChangeLog.0x:
* contrib/glilypond/args.pl:
* contrib/glilypond/glilypond.am:
* contrib/glilypond/glilypond.pl:
* contrib/glilypond/oop_fh.pl:
* contrib/glilypond/subs.pl:
* contrib/gperl/gperl.am:
* contrib/gpinyin/ChangeLog:
* contrib/gpinyin/gpinyin.am:
* contrib/gpinyin/gpinyin.pl:
* contrib/gpinyin/subs.pl:
* contrib/grap2graph/grap2graph.am:
* contrib/groff_filenames/ChangeLog:
* contrib/groff_filenames/groff_filenames.am:
* contrib/hdtbl/ChangeLog:
* contrib/hdtbl/hdtbl.am:
* contrib/mm/mm.am:
* contrib/mom/ChangeLog:
* contrib/mom/mom.am:
* contrib/pdfmark/ChangeLog:
* contrib/pdfmark/pdfmark.am:
* contrib/pic2graph/pic2graph.am:
* font/devX100-12/devX100-12.am:
* font/devX100/devX100.am:
* font/devX75-12/devX75-12.am:
* font/devX75/devX75.am:
* font/devascii/devascii.am:
* font/devcp1047/devcp1047.am
* font/devdvi/devdvi.am:
* font/devlbp/devlbp.am:
* font/devlj4/devlj4.am:
* font/devpdf/devpdf.am:
* font/devps/devps.am:
* font/devutf8/devutf8.am:
* font/scripts/scripts.am:
* man/man.am:
* src/include/include.am:
* src/libs/libbib/libbib.am:
* src/libs/libdriver/libdriver.am:
* src/libs/libgroff/libgroff.am:
* src/libs/libxutil/libxutil.am:
* src/roff/groff/groff.am:
* src/roff/grog/grog.am:
* src/roff/nroff/nroff.am:
* src/roff/troff/troff.am:
* src/utils/addftinfo/addftinfo.am:
* src/utils/afmtodit/afmtodit.am:
* src/utils/hpftodit/hpftodit.am:
* tmac/tmac.am:
  Tell Vim to auto-indent the file.

* BUG-REPORT:
* ChangeLog.115:
* ChangeLog.116:
* ChangeLog.117:
* ChangeLog.118:
* ChangeLog.119:
* ChangeLog.120:
* ChangeLog.121:
* INSTALL.extra:
* Makefile.am:
* arch/mingw/mingw.am:
* arch/misc/misc.am:
* contrib/chem/README.txt:
* contrib/chem/chem.pl:
* contrib/chem/examples/122/ch2a_ethyl.chem:
* contrib/chem/examples/122/ch4a_stick.chem:
* contrib/chem/examples/122/ch4j_ring4.chem:
* contrib/chem/examples/README.txt:
* contrib/chem/examples/atp.chem:
* contrib/chem/examples/cholesterin.chem:
* contrib/chem/examples/ethamivan.chem:
* contrib/chem/examples/lsd.chem:
* contrib/chem/examples/reserpine.chem:
* contrib/eqn2graph/eqn2graph.am:
* contrib/gdiffmk/ChangeLog:
* contrib/gdiffmk/README:
* contrib/gdiffmk/gdiffmk.am:
* contrib/glilypond/ChangeLog:
* contrib/glilypond/ChangeLog.0x:
* contrib/glilypond/README.txt:
* contrib/glilypond/args.pl:
* contrib/glilypond/glilypond.pl:
* contrib/glilypond/oop_fh.pl:
* contrib/glilypond/subs.pl:
* contrib/gpinyin/ChangeLog:
* contrib/gpinyin/gpinyin.pl:
* contrib/gpinyin/subs.pl:
* contrib/grap2graph/grap2graph.am:
* contrib/groff_filenames/ChangeLog:
* contrib/hdtbl/ChangeLog:
* contrib/mm/mm.am:
* contrib/mom/ChangeLog:
* contrib/mom/mom.am:
* contrib/pdfmark/ChangeLog:
* contrib/pic2graph/pic2graph.am:
  Set fill column to 72.

* ChangeLog.116:
* ChangeLog.117:
* ChangeLog.118:
* ChangeLog.119:
* ChangeLog.120:
* ChangeLog.121:
* contrib/gdiffmk/ChangeLog:
* contrib/glilypond/ChangeLog:
* contrib/glilypond/ChangeLog.0x:
* contrib/groff_filenames/ChangeLog:
* contrib/hdtbl/ChangeLog:
* contrib/mom/ChangeLog:
* contrib/pdfmark/ChangeLog:
  Sort Emacs local variables lexicographically.

* ChangeLog.115:
* ChangeLog.116:
* ChangeLog.117:
* ChangeLog.118:
* ChangeLog.119:
* ChangeLog.120:
* ChangeLog.121:
  Tell Emacs the file is a change-log.

* Makefile.am:
* arch/mingw/mingw.am:
* arch/misc/misc.am:
* contrib/eqn2graph/eqn2graph.am:
  Tell Vim the file is an Automake file (it detects at least some
  in-tree *.am files as ordinary Makefiles).

* ChangeLog.115:
* contrib/gdiffmk/ChangeLog:
* contrib/pdfmark/ChangeLog:
  Remove Emacs coding declaration.  No non-ASCII characters are present.

* BUG-REPORT:
  Prevent Vim filetype detection (Vim thinks it's a generic
  configuration file due to the hash-commented legal notice).

* contrib/glilypond/ChangeLog.0x:
  Tell Emacs the file is a "change-log" (not "change-log-mode").

* contrib/glilypond/README.txt:
  Comment the editor settings as is done in top-level plain text
  documentation.

* contrib/gpinyin/ChangeLog:
  Set Emacs "version-control" variable to "never", in parallel with
  ChangeLog files elsewhere.  (I'm not sure this is necessary with Git,
  however; maybe we should be removing them everywhere.  If so, that's
  easy to sed.)
2020-04-30 07:30:51 +10:00
G. Branden Robinson
2a1ad5b0bd Eliminate "Last updated:" comments.
We have a version control system for that.

I left the one in tmac/hyphen.sv intact because the file has external
provenance.
2020-04-29 01:50:39 +10:00
G. Branden Robinson
05f4407a62 Delete editor-settings comment banners.
Most users and developers have lexical coloring/syntax highlighting
available these days (cf. 30 years ago).

Leaving them in plain-text files (like READMEs) because these are
generally not machine-parsed (except for changelogs...) and the
indicator may conceivably be useful to novices who stumble across them.
2020-04-19 09:25:38 +10:00
Bertrand Garrigues
2fb110eabc Update copyright (use gnulib's update-copyright script) 2018-07-03 00:22:35 +02:00
Werner Lemberg
6b56ce7c45 Use $(AM_V_GEN) to silence file generation. 2018-02-28 12:34:50 +01:00
G. Branden Robinson
14320c010a font: Make style fixes.
* Break excessively long lines in Automake files where possible.
* Flow copyright notices onto one line per the model in the GNU
  Maintainers' Guide.
* Also consistently use four-digit years in copyright notices.
* Migrate comments from `quotes' to 'quotes'.
* Update and parallelize editor aid comments.

Signed-off-by: G. Branden Robinson <g.branden.robinson@gmail.com>
2017-11-12 17:32:29 -05:00
G. Branden Robinson
d0f0f3fffa Put two spaces between sentences in GPL notice.
Fixes half of Savannah #51609 but applies it much more generally.

This is a wide-ranging change, but it makes these notices consistent
with modern copies of the GPLv3 text.  (Some of these files are not
GPLv3, but that's where the boilerplate comes from; GPLv2 and LGPLv2.x
used semicolons to separate these clauses instead.)

If the next resync with Autotools regresses some of these, well, that's
a bug in Autotools.

I checked with wc -L, and no file grew its longest line to 81 characters
due to this change.

contrib/hdtbl/hdmisc.tmac-u only:
Signed-off-by: Bjarni Ingi Gislason <bjarniig@rhi.hi.is>

Blame me for the rest.

Signed-off-by: G. Branden Robinson <g.branden.robinson@gmail.com>
2017-10-31 22:34:27 -04:00
Bernd Warken
60d89462c4 all *.am: correct Emacs mode to "# End:" 2015-08-13 15:27:10 +02:00
Bernd Warken
2390f0262b all *.am: add latest update, setup Emacs mode 2015-08-06 14:03:58 +02:00
Bertrand Garrigues
1e42918214 Fix clean', mostlyclean', uninstall', dist' for the `font' dir. 2015-01-27 23:13:14 +01:00
Bertrand Garrigues
b101574cae Build and install fonts. 2015-01-27 23:13:14 +01:00
Bernd Warken
6ec5eac521 Makefile.sub in whole groff source tree: add $(RM) and change all `rm -f'.
Add directory test before `rmdir'.
2014-09-20 17:19:16 +02:00
Bernd Warken
70f06155a3 All Makefile* files: add Emacs setting and GPL2 license (only if lacking) 2014-09-02 23:03:14 +02:00
Steffen Nurpmeso
efc407da10 */Makefile.*: Put straight error-prevention prefixes for `rm', part 2. 2014-03-30 22:09:01 +02:00
Steffen Nurpmeso
7799ed5bf6 * */Makefile.*: Put straight error-prevention prefixes for `rm'. 2014-03-30 21:54:14 +02:00
Steffen Nurpmeso
320e87585e Whitespace. 2014-03-30 21:12:49 +02:00
Colin Watson
bd60d043a5 '+' isn't a regex metacharacter in sed by default
Based on an old patch from Fumitoshi UKAI <ukai@debian.or.jp>.

* font/devascii/Makefile.sub ($(FONTS)): Convert extended regex
syntax to basic for sed.
* font/devcp1047/Makefile.sub ($(FONTS)): Likewise.
* font/devhtml/Makefile.sub ($(FONTS)): Likewise.
* font/devlatin1/Makefile.sub ($(FONTS)): Likewise.
* font/devutf8/Makefile.sub ($(FONTS)): Likewise.
2014-01-02 14:07:59 +00:00
Bernd Warken
eca4b3a28a Rename every file .gitignore'. 2013-12-23 21:17:20 +01:00
Werner LEMBERG
7f8fdbb1e8 * */Makefile.* (CLEANADD, CLEANNOTSRCDIRADD, CLEANDIRADD): Renamed
to...
(MOSTLYCLEANADD, MOSTLYCLEANNOTSRCDIRADD, MOSTLYCLEANDIRADD): This.
2009-01-08 08:28:28 +00:00
Werner LEMBERG
771c7328ff Support composite Unicode characters again. Reported by Colin.
* font/devhtml/R.proto: Renamed to...
* font/devhtml/R.in: This.

* font/devutf8/R.proto: Renamed to...
* font/devutf8/R.in: This.
Add `charset' line.

* font/make-Rproto: New script.
* font/devhtml/R.proto, font/devutf8/R.proto: Generated.
2006-08-09 15:55:18 +00:00
Werner LEMBERG
4d917850b2 * doc/Makefile.sub (HTMLEXAMPLEFILESALL): New variable. (CLEANADD): Use it.
(install_html, uninstall_sub): Updated.


Introduce Unicode fonts.

* font/devhtml/DESC.proto: Mark as unicode. font/devhtml/R.proto: Remove all
* charset entries that are already
in glyphuni.cpp. font/devutf8/DESC.proto: Mark as unicode.
* font/devutf8/R.proto: Remove all charset entries. src/include/font.h
* (font): New static field `is_unicode'.
Change order of fields. src/libs/libgroff/font.cpp: Include unicode.h.
* (font::font): Update for
changed order of fields. (font::contains, font::get_width, font::get_height,
font::get_depth, font::get_italic_correction,
font::get_left_italic_correction, font::get_subscript_correction,
font::get_character_type, font::get_code,
font::get_special_device_encoding): Handle both the explicitly enumerated
glyphs and use general code for Unicode fonts. (font::load): Make the
charset section optional when the font is declared unicode.
(font::load_desc): Recognize the `unicode' attribute.
* src/libs/libgroff/fontfile.cpp (font::is_unicode): New variable.
2006-02-26 22:21:38 +00:00
Werner LEMBERG
7e6277b85a * font/devhtml/R.proto, font/devutf8/R.proto: Remove incorrect \'
and \` entries.
2006-02-23 20:09:51 +00:00
Werner LEMBERG
3ce114d309 AC_TYPE_SIGNAL from current autoconf can fail if CC=g++.
* aclocal.m4 (GROFF_TYPE_SIGNAL): New function.
* configure.ac: Use GROFF_TYPE_SIGNAL, not AC_TYPE_SIGNAL.
* configure, src/include/config.hin: Regenerated.

* PROBLEMS: Updated.


Update getopt files.

* src/include/getopt.h, src/libs/libgroff/getopt.c,
src/libs/libgroff/getopt1.c: Updated from GNU libc CVS.

* src/include/getopt_int.h: New file (from GNU libc CVS).

* src/include/groff-getopt.h: Updated.

* src/include/Makefile.sub (HDRS): Add getopt_int.h.


* font/devutf8/NOTES: Updated.



Bug fix for Win32 relocatable code.  Based on a patch from Keith
Marshall.

* src/libs/libgroff/maxpathname.cpp (PATH_MAX): Test for `_MAX_PATH'
also.

* src/libs/libgroff/relocate.c (DEBUG): Define it conditionally.
(searchpath) [_WIN32]: Use `_fullpath', not `realpath'.
2005-04-30 07:03:14 +00:00
Werner LEMBERG
c67c52e3c1 * font/devutf8/R.proto: Specify zero width for non-spacing characters. 2005-03-28 09:14:17 +00:00
Werner LEMBERG
216cbacf6f Add Cyrillic support to devutf8.
* font/devutf8/R.proto: Add Cyrillic blocks.

* tmac/unicode.tmac: New file.

* tmac/tty.tmac: Include unicode.tmac if device is utf8.

* tmac/Makefile.sub (NORMALFILES): Add unicode.tmac.

* NEWS: Updated.
2005-03-14 06:25:50 +00:00
Werner LEMBERG
aac5fd2467 Add integral extension glyph.
Add new option `-x' to afmtodit to suppress use of built-in AGL.

* font/devhtml/R.proto, font/devutf8/R.proto: Add `u23AE'.

* font/devps/generate/textmap: Provide entry for `integralex' to
override (old) PUA value of the AGL.
* font/devps/generate/Makefile (SS): Add afmtodit option `-x'.
* font/devps/*: Regenerated.

* src/utils/afmtodit/afmtodit.pl: Add option `-x'.
* src/utils/afmtodit/afmtodit.man, NEWS: Updated.
2003-12-28 18:14:00 +00:00
Werner LEMBERG
3b1191c864 Add forgotten `coproduct' symbol (already available for DVI).
* font/devhtml/R.proto, font/devps/generate/textmap,
font/devps/symbolmap, font/devutf8/R.proto, man/groff_char.man,
src/libs/libgroff/uniglyph.cc, src/libs/libgroff/glyphuni.cpp: Add
U+2210 (\[coproduct]).
2003-12-28 07:14:49 +00:00
Werner LEMBERG
c65ea0c8fb * font/devhtml/R.proto: Add u00{47,67}_0306, u00{53,73}_0327,
and u0049_0307.
Add missing latin-2 glyphs.
* font/devutf8/R.proto: Add missing latin-2 glyphs.

* tmac/troffrc: Load `composite.tmac' earlier.

* tmac/dvi.tmac, tmac/ps.tmac, tmac/lbp.tmac: Add u00{47,67}_0306,
u00{53,73}_0327, and u0049_0307.
* tmac/X.tmac: Add u00{47,67}_0306.
* tmac/tty-char.tmac: Use composite glyph names for readability.

* NEWS: Updated.

* src/include/unicode.h: Remove `extern' keywords.
2003-12-22 10:49:55 +00:00
Werner LEMBERG
be90ad7557 Add some glyphs needed for Turkish.
* font/devutf8/R.proto: Add u00{47,67}_0306, u00{53,73}_0327,
and u0049_0307.

* tmac/composite.tmac: Add `,' as a synonym for `ac' accent.
* tmac/tty-char.tmac: Add representations for u00{47,67}_0306,
u00{53,73}_0327, and u0049_0307.
2003-12-19 23:30:02 +00:00
Werner LEMBERG
514b323412 * font/devascii/R.proto, font/devcp1037/R.proto,
font/devlatin1/R.proto, font/devutf8/R.proto: Fill up remaining
character slots with unnamed glyphs.

* tmac/an-old.tmac: Fix hyphenation value if `cR' is active.
(an-first): New global variable.
(an-header): Emit vertical space between multiple man pages.
2003-04-15 06:29:55 +00:00
Werner LEMBERG
d9c7711391 Contrary to the PCL5 Developer's Guide, the ascenders in TFM files
can be negative also.

* src/utils/hpftodit/hpftodit.cc (char_info): `ascent' must be
`int16'.
(read_char_table): Avoid negative ascenders.
(output_charset): Add cast.
* font/devlj4/*: Regenerated.

Replace unnamed glyphs for DVI fonts with `uXXXX' glyph names where
possible.

* font/devdvi/generate/{tc,texttt,ec,texmi,texsy,textex}.map: Do it.
* font/devdvi/generate/textex.map: Map glyph 23 to `u21C6' instead
of `<>'.
* font/devdvi/*: Regenerated.

Map `la' and `ra' to U+27E8 and U+27E9.  These two characters have
normal width, while the previously used characters (U+2329 and
U+232A) are classified as wide due to canonical equivalence with the
CJK punctuation characters U+3008 and U+3009.

* font/devutf8/R.proto: Updated.
* src/roff/troff/uniglyph.cc, src/roff/troff/glyphuni.cc: Ditto.

* man/groff_char.man: Simplify handling of table traps by
introducing `start block' and `end block' macros.
(Ns, Ne, 2s, 2e, Ds, De): New macros.
(DL): Make it work with Unix troff also.
Fix code values of `la' and `ra'.

* tmac/dvi.tmac: Define `<>' for CW and CWI.
2003-02-25 06:49:47 +00:00
Werner LEMBERG
48615a4441 * font/devhtml/R.proto, font/devutf8/R.proto: Flip *f' and +f'
to be conform with Unicode 3.0 and newer.

* font/devlj4/generate/text.map: Add `Eu'.
* font/devlj4/generate/special.map: Flip `*e' and `+e'.
* font/devlj4/S: Regenerated.

* man/groff_char.man: Completely rewritten.

* doc/groff.texinfo: Fix description of request and macro arguments.
2003-02-23 09:16:50 +00:00
Werner LEMBERG
e9e3caf1d7 Valgrind fixes.
* src/devices/grohtml/html-table.cc (html_table::~html_table):
Deallocate `columns' list.
* src/devices/grohtml/post-html.cc (char_block::~char_block):
New destructor.
(text_glob::text_glob_html, text_glob::text_glob_special,
text_glob::text_glob_line, text_glob::text_glob_auto_image,
text_glob::text_glob_tag): Avoid memory leaks.
(text_glob::remember_table): Free memory before reassigning.

Add glyph `+e', greek lunate epsilon symbol, and `-h' (with the
alias `hbar'), the Planck constant over two pi.

* font/devdvi/generate/texmi.map: Use `*e' for position 15 and
`+e' for position 34.
* font/devdvi/generate/texsy.map: Replace `DI' and `HE' with
`u2662' and `u2661'.
* font/devdvi/{MI,S}: Regenerated.
* font/devhtml/R.proto, font/devutf8/R.proto: Add `+e', `-h', `hbar'.
* font/devlbp/*: Add `hbar' alias.
* font/devlj4/generate/special.map: Ditto.
* font/devlj4/S: Regenerated.
* font/devps/generate/symbolchars: Add `+e'.
* font/devps/generate/textmap: Fix PS name for `-h'.
Add `hbar' alias.
* font/devps/symbolmap: Regenerated.

* src/devices/grops/ps.cc (transform_fill): Removed since unused.

* src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `+e',
`-h', `hbar'.
* src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `+e',
`-h'.

* tmac/X.tmac, tmac/ps.tmac: Provide definitions for `-h' and
`hbar'.
* tmac/tty-char.tmac: Add `+e'.
2003-02-22 09:07:24 +00:00
Werner LEMBERG
9d43413dda Similar to \[is], the square root glyph (\[sr]) and the square root
extension glyph (\[radicalex]) are now text symbols.  The new
mathematical versions are called \[sqrt] and \[sqrtex],
respectively.

* font/devX*/S: Regenerated.
* font/devdvi/generate/texex.map: Rename `sr[0123]' to `sqrt[0123]'.
* font/devdvi/generate/texsy.map: Rename `sr' to `sqrt'.
* font/devdvi/EX, font/devdvi/S: Regenerated.
* font/devhtml/R.proto, font/devutf8/R.proto: Add `sqrt'.
* font/devlj4/generate/special.map: Add `sqrt'.
* font/devlj4/S: Regenerated.
* font/devps/generate/textmap: Add `sqrt'.
* font/devps/S, font/devps/symbolmap: Regenerated.

* src/preproc/eqn/sqrt.cc (SQRT_CHAR, RADICAL_EXTENSION_CHAR,
SQRT_CHAIN, BAR_CHAIN): Use `sqrt*' and `sqrtex*'.
* src/roff/troff/input.cc (init_charset_table): Make `sqrtex'
overlap horizontally.

* tmac/X.tmac, tmac/ps.tmac, tmac/lj4.tmac: Add `sqrtex'.
* tmac/dvi.tmac: Add `sr', and `sqrtex'.
Fix `radicalex'.

* doc/groff.texinfo, man/groff_diff.man: Document that `radicalex'
and `sqrtex' are overlapping glyphs.
2003-01-08 09:09:02 +00:00
Werner LEMBERG
92bceeb91d `is' is now a text symbol (only relevant for dvi). The math variant
can be accessed with `integral'.

* font/devX*/S: Regenerated.
* font/devdvi/generate/texex.map: Remove `is'.
* font/devdvi/EX: Updated.
* font/devhtml/R.proto, font/devutf8/R.proto: Add `integral'.
* font/devlj4/generate/special.map: Ditto.
* font/devlj4/S: Regenerated.
* font/devps/generate/textmap: Add `integral'.
* font/devps/S: Regenerated.

* tmac/dvi.tmac: Define `is'.

* src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `integral'.

* src/preproc/tbl/main.cc (process_format): Fix error message.
2003-01-07 14:34:05 +00:00
Werner LEMBERG
8caa466c8b * font/devhtml/R.proto, font/devutf8/R.proto: Add ne' and nc'.
* font/devps/textmap: Fix entries for `ne' and `nc'.
* font/devps/symbolmap: Regenerated.

* src/roff/troff/glyphuni.cc (glyph_to_unicode_list),
src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `18',
`38', `58', `78', `-+', `|=', `nc', `ne'.

* tmac/dvi.tmac: Add `nm', `ne', `nc'.
Use `schar' for `aq'.
* tmac/ps.tmac, tmac/X.tmac: Add `nc' and `ne'.
* tmac/ec.tmac: Add `SC' to special fonts for `CW' and `CWI'.
* tmac/tty.tmac: Add `ne'.

* src/roff/troff/node.cc (make_glyph_node): Test with `get_macro'
for fallback glyphs.
2003-01-02 19:07:39 +00:00
Werner LEMBERG
6c7e397cd3 Add glyph `|='.
* font/devX*/*: Regenerated.
* font/devdvi/generate/ec.map: Remove `eq'.
* font/devdvi/generate/texsy.map: Make `~=' the same as `~~'.
Assign `|=' to position 39.
* font/devdvi/*EC, S: Regenerated.
* font/devhtml/R.proto, font/devutf8/R.proto: Add `|='.
* font/devlj4/generate/special.map: Make `~=' the same as `~~'.
Assign `|=' to position 549.
* font/devps/generate/textmap, font/devps/enerate/symbolmap: Remove
`equalmath'.
Add `uni2243' for `|='.

* tmac/ec.tmac: Add `eq'.
* tmac/dvi.tmac: Add `=~'.
* tmac/tty-char.tmac, tmac/ps.tmac, tmac/X.tmac, tmac/lbp.tmac: Add
`|='.
2002-12-30 16:18:38 +00:00