71 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
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
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
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
9c196e329c * man/groff_font.man: Updated documentation of `entity_name' field.
Avoid future tense.


* font/devhtml/R.proto: Remove the entity names from the font's
special_encoding_encoding column.
* src/devices/grohtml/post-html.cpp (get_html_entity): New function,
handling the entity names here.
(get_html_translation): Use it.  Change return type to 'const
char *'.
(page::add_and_encode): Update, removing a useless cast.
2006-01-28 06:55:42 +00:00
Werner LEMBERG
d31755b5eb Add Cyrillic to devhtml. 2005-03-14 08:17:12 +00:00
Werner LEMBERG
8fe7c747b7 * src/include/font.h (font): New member function
`get_image_generator'.
New variables `unscaled_charwidths' and `image_generator'.

* src/libs/libgroff/font.cpp (font::get_width): Always return the
character's unscaled width if `font::unscaled_charwidths' is set.
(font::get_image_generator): New function.
(font::load_desc): Check the `unscaled_charwidths' and
`image_generator' keywords.

* src/libs/libgroff/fontfile.cpp: Initialize
`font::unscaled_charwidths' and `font::image_generator'.

* font/devhtml/DESC.proto: s/html/unscaled_charwidths/.

* font/devhtml/Makefile.sub (DESC): Set `image_generator' keyword.

* man/groff_font.man: Document `unscaled_charwidths' and
`image_generator'.

* src/preproc/html/pre-html.cpp: Include `device.h'.
(image_gen): New global variable.
(imageList::createPage): Use `image_gen'.
(main): Use `image_generator' keyword.
2004-10-08 07:08:08 +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
adf1c78afd * src/devices/grohtml/html-table.cc: Fix column width calculation.
(html_table::set_linelength): Don't add 1.
(html_table::add_indent): Don't subtract 1.

* tmac/html.tmac: Set default page offset to zero.

Make groff emit `&nbsp;' for `\ ' and `\~' if `-Thtml' is used.

* src/roff/troff/node.cc (space_char_hmotion_node::tprint,
unbreakable_space_node::tprint): New functions.
(troff_output_file): Make space_char_hmotion_mode::tprint and
unbreakable_space_node::tprint to friends.
* src/roff/troff/node.h: Updated.

* font/devhtml/R.proto: Add `&nbsp' at position 0xA0 (as defined
in the HTML standard).
2003-04-01 21:26:50 +00:00
Werner LEMBERG
6d5bbb4fbb * src/roff/troff/env.cc (point_size): Fix emission of html tag.
Otherwise, the following code

  .di xxx
  .ps 10
  a
  .br
  .di
  x\*[xxx]

produces `x a' instead of `xa'.  This is a temporary fix, disabling
font changes in diversions for -Thtml.

* tmac/an-old.tmac (TH, SH): Use `HTML-TAG-NS' instead of
`HTML-TAG'.
(an-do-tag-html): Merge with ...
(an-do-tag): This macro.
Change code slightly to circumvent grohtml bug.
* tmac/troffrc-end: Define dummy for HTML-TAG-NS.

* src/devices/grohtml/html-table.cc (html_table::emit_col,
html_table::is_gap): Round `width' properly.

* tmac/html.tmac: Provide some default layout parameters for
grohtml.

* font/devhtml/DESC.proto: Don't use discrete values for `sizes'
command.

src/devices/grops/ps.cc (ps_printer::do_import): Fix error message.

* tmac/an-old.tmac (BT): Don't call .tl if register `ps4html' is
defined.
2003-03-31 14:31:21 +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
Werner LEMBERG
5d6e21ad76 * font/devdvi/generate/tc.map: Remove `**'.
* font/devdvi/*TC: Regenerated.
* font/devhtml/R.proto, font/devutf8/R.proto: Add `18', `38', `58',
`78', `<<', `>>'.
* font/devutf8/NOTES: Updated.

* src/roff/troff/charinfo.h (charinfo): Add `setx_macro' function.
Don't give default parameter to `set_macro'.
* src/roff/troff/input.cc (do_define_character): Use `setx_macro'
instead of `set_macro'.
(charinfo::setx_macro): Implement it.
(charinfo::set_macro): Don't change `mode'.

* tmac/tty.tmac: Add `18', `38', `58', `78', `<<', `>>'.
* tmac/ps.tmac, tmac/X.tmac: Add `<<', `>>'.
* tmac/dvi.tmac: Define `!=' with `.schar'.
2002-12-22 09:36:50 +00:00
Werner LEMBERG
94fea5db2c * font/devX*/S: Regenerated.
* font/devdvi/generate/ec.map: Remove `pl'.
* font/devdvi/generate/tc.map: Remove `mi', `14', `12', `34'.
* font/devdvi/*{TC,EC}: Regenerated.
* font/devhtml/R.proto: Add `-+'.
Remove double entries for `rk', `lk', `lt', `rt', `rb', `lb'.
* font/devlbp/*: Remove `or'.
* font/devlj4/generate/special.map: Remove `or'.
* font/devlj4/S: Regenerated.
* font/devps/generate/textmap: Add `fiveeighths', `oneeighth',
`seveneighths', `threeeighths'.
Remove `plusmath'.
Replace `minusplus' with `uni2213'.
* font/devps/symbolmap: Regenerated.
* font/devutf8/R.proto: Replace `shc' with unnamed glyph.
Add `-+'.

* src/roff/troff/charinfo.h (charinfo): Add `is_normal' inline
function.
* src/roff/troff/node.cc (troff_output_file::put_char_width):
Call glyph_color and fill_color even if tcommand_flag isn't set.
(make_node, node::add_char): Check not ci->is_fallback but
ci->is_normal.

* tmac/lj4.tmac, tmac/lbp.tmac: Define `or'.
* tmac/ec.tmac: Add remove entry for `f/'.
Don't remove `12', `14', `34'.
Define `pl' to be always roman.
* tmac/ps.tmac (ps-frac, ps-frac-mono): New macros.
Define `18', `38', `58', `78'.
* tmac/tty.tmac: Add `-+'.
* tmac/dvi.tmac: Define `f/'.
(dvi-frac): Use `f/'.
* tmac/X.tmac (X-frac, X-frac-mono): New macros.
Define `18', `38', `58', `78'.
2002-12-21 08:33:28 +00:00
Werner LEMBERG
152f78841e Add glyph tno', a textual variant of no'.
* font/devX*/*: Regenerated.
* font/{devcp1047,devlatin1,devutf8,devhtml}/R.proto: Add `tno'.
* font/devdvi/generate/{tc.map: Replace `no' with `tno'.
* font/devdvi/generated/{texsy,textex}.map: Add `tno'.
* font/devdvi/*: Regenerated.
* font/devlbp/*: Add `tno'.
* font/devlj4/generate/tex.map: Replace `no' with `tno'.
* font/devlj4/*: Regenerated.
* font/devps/generate/textmap: Replace `no' with `tno'.
* font/devps/generate/symbolchars: Add `no'.
* font/devps/*: Regenerated.

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

* tmac/cp1047.tmac, tmac/latin1.tmac: Replace `no' with `tno'.
* tmac/tty-char.tmac: Add entry for `tno' and `3d'.

* NEWS: Updated.

* tmac/dvi.tmac: Replace most `\\' with `\E'.
Add definition for `sd'.
* tmac/X.tmac, tmac/ps.tmac: Replace most `\\' with `\E'.

* tmac/eqnrc <dvi>: Use `integral' instead of `is' glyph.
2002-12-11 14:26:22 +00:00
Werner LEMBERG
c88585113a Add PS font for various Euro glyphs.
* font/devps/generate/freeeuro.sfd: New master font file for
pfaedit.
* font/devps/generate/sfdtopfa.pe: New conversion script for
pfaedit.
* font/devps/generate/Makefile (FONTS): Add `EURO'.
(EURO, freeeuro.afm, freeeuro.pfa): New rules.
* font/devps/freeeuro.pfa, font/devps/freeeuro.afm: Generated from
`freeeuro.sfd'.
* font/devps/EURO: Generated from `freeeuro.afm'.
* font/devps/download: Add `freeuro.pfa'.
* font/devps/Makefile.sub (NORMALFILES): Adde `EURO' and
`freeeuro.pfa'.

* tmac/europs.tmac: New file.
* tmac/ps.tmac: Include `europs.tmac'.
* tmac/Makefile.sub (DISTFILES): Add `europs.tmac'.


* font/devdvi/generate/texsy.map: Remove `lh' and `rh'.
* font/devdvi/S: Regenerated.
* font/devhtml/R.proto: Fix `CR' and `ci'.
Add `OK'.
* font/devps/generate/textmap: Fix `lh', `rh', and `sq'.
Remove `bs'.
* font/devps/symbolmap: Regenerated.
* font/devutf8/R.proto: Fix `CR' and `ci'.
Add `OK'.
* font/devutf8/NOTES: Updated.

* src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Fix `CR' and
`ci'.
Add `OK'.
* src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Ditto.

* tmac/dvi.tmac: Add `lh' and `rh'.
* tmac/Xps.tmac: Fix `lh' and `rh'.
* tmac/X.tmac: Add `OK'.
* tmac/lj4.tmac: Ditto.
2002-12-01 06:45:41 +00:00