1 2005-08-02 Bernd Warken
3 * doc/Makefile.sub (uninstall_sub): Use --remove, not --delete
4 as argument to $(INSTALL_INFO). The latter isn't portable.
5 Remove $(HTMLEXAMPLEFILES) too.
7 * Makefile.in (uninstall_dirs): Remove $(datadir)/doc/groff and
9 Suppress warning messages and return always true.
11 * tmac/Makefile.sub (uninstall_sub): Remove www.tmac too.
13 2005-07-02 Bernd Warken
15 * src/devices/xditview/gxditview.man: Change many `.I' to `.B'.
16 * man/groff_out.man: More markup and minor improvements.
17 * src/roff/groff/groff.man: Minor improvements.
19 2005-06-28 Werner LEMBERG <wl@gnu.org>
21 * ChangeLog: Split off older entries into...
22 * ChangeLog.115 ChangeLog.116, ChangeLog.117, ChangeLog.118: New
25 2005-06-26 Bernd Warken
27 * src/devices/xditview/gxditview.man: More minor fixes.
29 2005-06-24 Werner LEMBERG <wl@gnu.org>
31 * src/preproc/pic/troff.cpp (troff_output::set_fill,
32 troff_output::set_color, troff_output::reset_color): Use .bcolor and
33 .fcolor instead of \m and \M, respectively.
35 2005-06-23 Bernd Warken
37 * src/devices/xditview/gxditview.man: More minor fixes.
38 * README: Formatting issues.
39 Mention some problems with Debian.
41 2005-06-23 Bernd Warken
43 * src/devices/xditview/gxditview.man: Revised and improved.
45 2005-06-22 Werner LEMBERG <wl@gnu.org>
47 Another round in fixing getopt problems. Hopefully the last one!
48 This time we use the getopt stuff from gnulib and define a prefix
49 unconditionally so that there are no collisions with any other
50 getopt implementations. This is a slight waste of space in case
51 we already use a GNU getopt implementation, but on
52 the other hand it really simplifies life.
54 * src/include/getopt.h: Use gnulib version.
56 * src/include/getopt_int.h: Use gnulib version.
58 * src/include/groff-getopt.h: Removed. Obsolete now.
60 * src/include/lib.h: Regarding getopt, don't handle any platform
61 specially; just include getopt.h.
62 (__GETOPT_PREFIX): Define (before getopt.h).
64 * src/include/Makefile.sub (HDRS): Updated.
66 * src/libs/libgroff/getopt1.c, src/libs/libgroff/getopt.c: Use
69 * src/libs/libgroff/Makefile.sub (EXTRA_CFLAGS): Set
72 * src/utils/pfbtops/pfbtops.c, src/utils/xtotroff/xtotroff.c
73 (__GETOPT_PREFIX): Define (before getopt.h).
75 2005-06-21 Werner LEMBERG <wl@gnu.org>
77 * src/include/lib.h: Provide a fix for Mac OS X to not include
80 2005-06-20 Denis M. Wilson <dmw@oxytropis.plus.com>
82 * font/devps/prologue.ps (EP): Dont' use `bind'. Reason: Using
83 `bind' to define a procedure which contains `showpage' means that an
84 invocation of `showpage' may execute wrongly (the exact effect
85 depending on the interpreter). Not usually a problem except under
86 transformations, such as combining pages.
87 (PEND): Don't call `clear'. Reason: Using `clear' in the definition
88 of /PEND means that stack underflow will occur if the stack is
89 deliberately non-empty before document inclusion. If included
90 files are found to be generally badly behaved, we could replace the
91 `clear' with `mark' in /PBEGIN and `cleartomark' in /PEND (I've
92 never found this necessary).
94 2005-06-20 Jörgen Grahn <jgrahn@algonet.se>
96 * src/preproc/soelim/soelim.cpp (do_file): Append trailing zero
97 earlier to get correct error message.
99 2005-06-16 Bernd Warken
100 * src/roff/nroff/nroff.sh: Add support for iso-8859-15.
102 2005-06-15 Werner LEMBERG <wl@gnu.org>
104 Another try to update getopt files. This time we add a dummy
105 gettext.h file to satisfy the dependency.
107 * src/include/getopt.h, src/libs/libgroff/getopt.c,
108 src/libs/libgroff/getopt1.c: Updated from GNU libc CVS.
110 * src/include/getopt_int.h: New file (from GNU libc CVS).
112 * src/include/gettext.h: Dummy file which just defines a gettext()
115 * src/include/groff-getopt.h: Updated.
117 * src/include/Makefile.sub (HDRS): Add getopt_int.h and gettext.h.
120 * src/libs/libdriver/input.cpp (IntArray): Remove superfluous
121 `const' keywords in return value.
123 * src/preproc/html/pushback.cpp (pushBackBuffer::~pushBackBuffer):
124 Remove redundant variable `old'.
125 (pushBackBuffer::skipToNewline): Remove redundant variable `ch'.
127 * src/preproc/tbl/main.cpp (process_table): Remove redundant
131 Fix more friend name injection problems since modern C++ compilers
132 fail otherwise. We simply provide (global) declarations for all
133 functions declared as friends. This is not really necessary but
136 * src/preproc/eqn/lex.cpp: Provide declarations for get_char,
137 peek_char, and get_location.
139 * src/preproc/refer/ref.h: Provide declarations for
140 compare_reference, same_reference, same_year, same_date,
141 same_author_last_name, and same_author_name.
143 * src/roff/troff/div.h: Provide declarations for do_divert and
146 * src/roff/troff/env.h: Provide declarations for title_length,
147 space_size, fill, no_fill, adjust, no_adjust, center, right_justify,
148 vertical_spacing, post_vertical_spacing, line_spacing, line_length,
149 indent, temporary_indent, do_underline, do_input_trap, set_tabs,
150 margin_character, no_number, number_lines, leader_character,
151 tab_character, hyphenate_request, no_hyphenate,
152 hyphen_line_max_request, hyphenation_space_request,
153 hyphenation_margin_request, line_width, tabs_save, tabs_restore,
154 line_tabs_request, widow_control_request, and do_divert.
156 * src/roff/troff/input.cpp: Provide declaration for chop_macro.
158 * src/roff/troff/node.cpp: Provide declarations for class
160 Provide declaration for make_tfont.
162 2005-05-29 Werner LEMBERG <wl@gnu.org>
164 * doc/fdl.texi: Updated to version 1.2. Reported by Bernd Warken.
166 2005-05-28 Werner LEMBERG <wl@gnu.org>
168 * contrib/pdfmark/Makefile.sub (.ms.pdf): Use `--stylesheet', not
171 * src/devices/grolbp/lbp.cpp, src/devices/grolbp/lbp.h: Remove
172 redundant semicolons.
174 * src/preproc/eqn/Makefile.sub, src/preproc/html/Makefile.sub,
175 src/preproc/soelim/Makefile.sub, src/preproc/tbl/Makefile.sub:
176 Define `MLIB'. Some compilers need this for linking with libgroff.
178 2005-05-27 Werner LEMBERG <wl@gnu.org>
180 * MANIFEST, README, doc/webpage.ms: Updated.
182 2005-05-26 Werner LEMBERG <wl@gnu.org>
184 * All affected files: Update postal address of FSF.
186 2005-05-25 Keith Marshall <keith.d.marshall@ntlworld.com>
189 * README: More fixes.
191 * README.CVS: Removed. Its contents is now part of the README file.
193 2005-05-21 Werner LEMBERG <wl@gnu.org>
195 * README: Updated. Based on a patch from Bernd Warken.
197 2005-05-16 Keith Marshall <keith.d.marshall@ntlworld.com>
199 Miscellaneous script portability enhancements.
201 * aclocal.m4: (GROFF_CSH_HACK): Add space in shebang prototype for
202 generated conftest.sh script, conforming to portability
203 recommendation in autoconf docs.
204 * configure: Likewise, for code generated by GROFF_CSH_HACK.
205 * contrib/eqn2graph/eqn2graph.sh: Add space in shebang, conforming
206 to portability recommendation in autoconf docs.
207 * contrib/gdiffmk/gdiffmk.sh: Likewise.
208 * contrib/gdiffmk/tests/runtests.in: Likewise.
209 * contrib/grap2graph/grap2graph.sh: Likewise.
210 * contrib/groffer/groffer.sh: Likewise.
211 * contrib/mm/mmroff.pl: Likewise.
212 * contrib/mom/momdoc/appendices.html: Likewise.
213 * contrib/pic2graph/pic2graph.sh: Likewise.
214 * font/devps/generate/afmname: Likewise.
215 * src/devices/xditview/ad2c: Likewise.
216 * src/preproc/eqn/neqn.sh: Likewise.
217 * src/roff/grog/grog.pl: Likewise.
218 * src/roff/grog/grog.sh: Likewise.
219 * src/roff/nroff/nroff.sh: Likewise.
220 * PROBLEMS: Likewise, in embedded script examples.
222 2005-05-16 Keith Marshall <keith.d.marshall@ntlworld.com>
224 Improve portability of `pdfroff' shell script.
226 * arch/misc/shdeps.sh: Add space in shebang, conforming to
227 portability guidelines in `autoconf' docs.
228 (PATH_SEARCH_SETUP): New substitution; emits PATH_SEPARATOR
229 initialization code. Used by contrib/pdfmark/pdfroff.sh's
230 `searchpath' function.
232 2005-05-14 Werner LEMBERG <wl@gnu.org>
234 * contrib/pic2graph/pic2graph.sh, contrib/graph2graph.sh,
235 contrib/eqn2graph.sh: Add option `-trim' to `convert' which is
236 needed for newer ImageMagick versions.
238 2005-05-07 Werner LEMBERG <wl@gnu.org>
240 * src/preproc/refer/refer.man: Many small typographic fixes.
242 2005-05-06 Jeff Conrad <jeff_conrad@msn.com>
244 * src/devices/grohtml/post-html.cpp (assert_state::~assert_state):
245 Use `char *' cast for a_delete.
247 2005-05-03 Werner LEMBERG <wl@gnu.org>
249 * src/libs/libgroff/maxpathname.cpp: Include stdlib.h.
250 src/libs/libgroff/relocate.cpp: Use path_name_max everywhere.
252 2005-05-03 Jeff Conrad <jeff_conrad@msn.com>
254 * src/devices/grohtml/post-html.cpp: Use casts to `char *' if using
255 `a_delete' for `const char *'.
257 2005-05-03 Werner LEMBERG <wl@gnu.org>
259 * src/devices/grohtml/post-html.cpp,
260 src/devices/grohtml/html-table.cpp,
261 src/devices/grohtml/html-text.cpp, src/devices/grohtml/output.cpp:
262 Replace malloc/free with new/delete/a_delete.
264 * src/devices/grolbp/lbp.h: Remove superfluous semicolons which
265 are prohibited with ANSI C++.
266 (lbpprintf, vdmprintf): Remove useless `inline' keyword (since the
267 function has a variable number of arguments).
269 * src/preproc/grn/main.cpp (doinput): Change return type to `int'.
270 Simplify function and update all callers.
272 2005-05-02 Werner LEMBERG <wl@gnu.org>
274 Undo getopt changes from 2005-04-30. We don't want a dependency
277 * src/include/getopt_int.h: Removed.
279 * src/include/getopt.h, src/include/groff-getopt.h,
280 src/include/Makefile.sub, src/libs/libgroff/getopt.c,
281 src/libs/libgroff/getopt1.c: Revert to previous version.
284 * src/include/nonposix.h (access) [_MSC_VER]: New macro.
286 * src/include/posix.h (F_OK): Define conditionally.
288 * src/devices/grotty/tty.cpp (tty_printer::make_underline): Use
289 different variable name in second `for' loop to avoid MSVC compiler
292 2005-04-30 Werner LEMBERG <wl@gnu.org>
294 AC_TYPE_SIGNAL from current autoconf can fail if CC=g++.
296 * aclocal.m4 (GROFF_TYPE_SIGNAL): New function.
297 * configure.ac: Use GROFF_TYPE_SIGNAL, not AC_TYPE_SIGNAL.
298 * configure, src/include/config.hin: Regenerated.
305 * src/include/getopt.h, src/libs/libgroff/getopt.c,
306 src/libs/libgroff/getopt1.c: Updated from GNU libc CVS.
308 * src/include/getopt_int.h: New file (from GNU libc CVS).
310 * src/include/groff-getopt.h: Updated.
312 * src/include/Makefile.sub (HDRS): Add getopt_int.h.
315 * font/devutf8/NOTES: Updated.
317 2005-04-28 Werner LEMBERG <wl@gnu.org>
319 Bug fix for Win32 relocatable code. Based on a patch from Keith
322 * src/libs/libgroff/maxpathname.cpp (PATH_MAX): Test for `_MAX_PATH'
325 * src/libs/libgroff/relocate.c (DEBUG): Define it conditionally.
326 (searchpath) [_WIN32]: Use `_fullpath', not `realpath'.
328 2005-04-28 Keith Marshall <keith.d.marshall@ntlworld.com>
330 Correct `gnu.eps' handling for build from distribution tarball, with
331 separate source and build directories.
333 * doc/Makefile.sub: (examples.stamp): New target; forces copy of
334 grnexmpl.g, groff.css and gnu.eps from source to build directory;
335 generate gnu.eps from gnu.xpm if required; touch examples.stamp.
336 (prepare_examples): Make it depend on examples.stamp.
337 (CLEANADD): Add examples.stamp.
339 2005-04-27 Werner LEMBERG <wl@gnu.org>
343 position: '(' position ')'
347 * src/preproc/pic/pic.y (position, position_not_place): Handle
348 additional parentheses.
350 * doc/pic.ms: Updated.
352 2005-04-23 Larry Jones <lawrence.jones@ugs.com>
354 * src/utils/xtotroff/xtotroff.c (MapFont): Fix variable declaration.
356 2005-04-18 Werner LEMBERG <wl@gnu.org>
358 * src/roff/groff/pipeline.c: Don't include ctype.h.
360 2005-04-13 Werner LEMBERG <wl@gnu.org>
362 * src/roff/nroff/nroff.man: Document option `-M'.
364 2005-04-13 Bruce Lilly <blilly@erols.com>
366 * src/roff/nroff/nroff.sh: Make the script accept option `-M'.
368 2005-04-01 Kees Zeelenberg <kzlg@users.sourceforge.net>
369 Werner LEMBERG <wl@gnu.org>
371 Add binary relocation support for Windows platforms.
373 * src/include/Makefile.sub (defs.h): Add `INSTALLPATH'.
375 * src/include/relocate.h, src/libs/libgroff/relocate.cpp: New files.
377 * src/libs/libgroff/searchpath.cpp: Handle `relocate'.
378 (search_path::search_path, search_path::open_file_cautious): Use
381 * src/libs/libgroff/Makefile.sub (OBJS, CCSRCS),
382 src/include/Makefile.sub (HDRS): Updated.
384 2005-04-01 Werner LEMBERG <wl@gnu.org>
386 * src/devices/grohtml/post-html.cpp: Don't use strdup/free but
389 * src/libs/libgroff/font.cpp: Replace strdup with strsave.
391 * src/libs/libgroff/maxfilename.cpp: Don't include limits.h since
392 lib.h already does it.
394 * src/libs/libgroff/maxpathname.cpp: New file, defining
397 * src/include/lib.h: Add prototype for path_name_max.
399 * src/libs/libgroff/Makefile.sub (OBJS, CCSRCS): Updated.
401 * src/include/nonposix.h (PATH_EXT): New macro.
403 2005-03-28 Werner LEMBERG <wl@gnu.org>
405 Add support for double- and zero-width characters in grotty.
407 * src/devices/grotty/tty.cpp (glyph): Add width.
408 (tty_printer::make_underline, tty_printer::make_bold,
409 tty_printer::add_character): Add parameter to pass character width.
411 (tty_printer::end_page): Increase hpos by actual character width.
413 * font/devutf8/R.proto: Specify zero width for non-spacing
416 * tmac/unicode.tmac: Remove definitions for non-spacing entities.
418 * Makefile.comm (extraclean): Remove more junk files.
420 2005-03-25 Werner LEMBERG <wl@gnu.org>
422 * configure.ac: Undo change from 2005-03-24.
423 * configure: Regenerated.
425 2005-03-24 Werner LEMBERG <wl@gnu.org>
427 * Makefile.in (NOMAKEDIRS): Add contrib/gdiffmk/tests.
428 (dist): Search Makefile while descending into $(EXTRADIRS).
430 * doc/Makefile.in (.PHONY): Add.
431 (clean): Don't remove *.png and *.eps.
433 (realclean): Remove *.png and *.eps.
434 (extraclean): Depend on distclean.
436 * configure.ac: Add copyright.
437 Handle contrib/pdfmark/Makefile.
439 * configure: Regenerated.
441 2005-03-18 Larry Kollar <kollar@alltel.net>
443 Add numbered and definition lists to www.tmac.
445 * tmac/www.tmac (www-ul-level1, www-ul-level2, www-ul-level3,
446 www-ol-level1, www-ol-level2, www-ol-level3, www-ol-tmp): New
447 auxiliary string registers.
448 (www-ul-level, www-ol-level, www-dl-level, www-ol-ctr1, www-ol-ctr2,
449 www-ol-ctr3, www-dl-shift): New auxiliary number registers.
450 (www-level): Removed.
451 (www-level1, www-level2, www-level3): Initialize to empty.
452 (www-level0, www-level4, www-level5, www-level6, www-level7,
453 www-level8, www-level9): New string registers.
454 (www-push-li, www-pop-li): New macros.
455 (www-push-level, www-pop-level): Renamed to...
456 (www-push-ul-level, www-pop-ul-level): This.
458 (www-push-ol-level, www-pop-ol-level): New macros.
460 (OLS, OLE, DLS, DLE): New user macros.
461 (LI): Removed. It is aliased to one of...
462 (www-li-ul, www-li-ol, www-li-dl): New macros.
464 * tmac/groff_www.man: Document new macros.
468 2005-03-18 Werner LEMBERG <wl@gnu.org>
470 * tmac/doc-common (doc-operating-system-NetBSD-2.0.1,
471 doc-operating-system-NetBSD-2.0.2): New strings.
473 * tmac/groff_mdoc.man: Updated.
475 2005-03-17 Werner LEMBERG <wl@gnu.org>
477 * doc/Makefile.sub (CLEANADD): Add `groff.html'.
479 2005-03-17 Werner LEMBERG <wl@gnu.org>
481 * src/libs/libgroff/hypot.c: Renamed to...
482 * src/libs/libgroff/hypot.cpp: This. Updated to C++.
484 * src/libs/libgroff/Makefile.sub (CCSRCS, CSRCS): Updated.
486 * src/include/lib.h: Updated.
488 2005-03-16 Werner LEMBERG <wl@gnu.org>
490 Add workaround for broken hypot() on Interix.
492 * src/libs/libgroff/hypot.c: New wrapper file for `hypot'.
494 * src/libs/libgroff/Makefile.sub (OBJS): Add `hypot.o'.
495 (CSRCS): Add `hypot.c'.
497 * src/include/lib.h: Declare `groff_hypot'.
499 * src/preproc/grn/hgraph.cpp: Don't declare `hypot'.
502 * src/preproc/pic/pic.h: Don't declare `hypot'.
504 * src/preproc/pic/object.cpp (hypot): Use `groff_hypot'.
506 2005-03-15 Gaius Mulley <gaius@glam.ac.uk>
508 * src/devices/grohtml/post-html.cpp
509 (html_printer::lookahead_for_tables): End .ce properly to avoid a
512 2005-03-15 Werner LEMBERG <wl@gnu.org>
514 makeinfo 4.8 doesn't produce good HTML output from groff.texinfo.
516 * doc/fixinfo.sh: New script to postprocess makeinfo's HTML output.
518 * doc/Makefile.in (.texinfo.html): Call fixinfo.sh.
520 2005-03-14 Werner LEMBERG <wl@gnu.org>
522 Add Cyrillic support to devutf8 and devhtml.
524 * font/devutf8/R.proto, font/devhtml/R.proto: Add Cyrillic blocks.
526 * tmac/unicode.tmac: New file.
528 * tmac/tty.tmac: Include unicode.tmac if device is utf8.
530 * tmac/Makefile.sub (NORMALFILES): Add unicode.tmac.
534 2005-03-02 Keith Marshall <keith.d.marshall@ntlworld.com>
536 * src/libs/libdriver/printer.cpp (check_for_output_error): New
537 function. It has been introduced to catch peculiar error contexts
538 on MS-Windows platforms.
540 2005-02-28 Werner LEMBERG <wl@gnu.org>
542 * src/roff/troff/input.cpp (string_iterator::fill): Protect against
545 * tmac/papersize.tmac: Convert `paper' string contents to lowercase.
547 * configure: Regenerated.
551 2005-02-28 Keith Marshall <keith.d.marshall@ntlworld.com>
553 Integrate `pdfmark' into normal groff build system;
554 install macro `pdfmark' packages, build and install `pdfroff',
555 and PDF format documentation.
557 * Makefile.comm: Add PDFDOCDIR.
559 * Makefile.in: (MDEFINES) ALT_AWK_PROGS, ALT_GHOSTSCRIPT_PROGS,
560 pdfdocdir, make_pdfdoc, make_install_pdfdoc: New variables.
561 (unstall_dirs): Add pdfdocdir.
563 * aclocal.m4: (GROFF_GHOSTSCRIPT_PREFS): New function; support
564 `--with-alt-gs' option, set ALT_GHOSTSCRIPT_PROGS.
565 (GROFF_GHOSTSCRIPT_PATH): Support `--with-gs' option, force use of
566 GROFF_GHOSTSCRIPT_PREFS, set GHOSTSCRIPT.
567 (GROFF_HTML_PROGRAMS): Force use of GROFF_GHOSTSCRIPT_PATH; tidy up.
568 (GROFF_AWK_PREFS): New function; support `--with-alt-awk' option,
570 (GROFF_AWK_PATH): New function; support `--with-awk' option, force
571 use of GROFF_AWK_PREFS.
572 (GROFF_PDFDOC_PROGRAMS): New function; force use of GROFF_AWK_PATH
573 and GROFF_GHOSTSCRIPT_PATH, set make_pdfdoc and make_install_pdfdoc.
575 * configure.ac: Add AC_PREREQ(2.59), GROFF_PDFDOC_PROGRAMS.
576 Remove GROFF_GHOSTSCRIPT_PATH, (forced by GROFF_PDFDOC_PROGRAMS, and
577 also by modified GROFF_HTML_PROGRAMS).
579 2005-02-27 Gaius Mulley <gaius@glam.ac.uk>
581 * src/devices/grohtml/html-text.cpp (html_text::do_pre): Preserve
583 (html_text::done_para): Unset `start_space'.
584 (html_text::remove_para_align): Call `retrieve_para_space' for the
587 * src/devices/grohtml/post-html.cpp (html_printer::emit_raw): Unset
589 (html_printer::do_check_center): Emit vertical space if necessary.
591 * src/roff/troff/env.cpp (environment_switch): Preserve
592 `seen_space', `seen_eol', and `suppress_next_eol' while switching
595 * src/roff/troff/node.cpp (suppress_node::suppress_node): Set
598 2005-02-20 Werner LEMBERG <wl@gnu.org>
600 * src/preproc/eqn/eqn.man, NEWS: Document various extensions of
603 2005-02-17 Werner LEMBERG <wl@gnu.org>
605 * doc/pic.ms, man/groff.man: Fix typos.
607 * doc/groff.texinfo: Fix typos.
608 (\LEmacro): Get proper mathematical spacing.
610 2005-02-16 Werner LEMBERG <wl@gnu.org>
612 * aclocal.m4 (GROFF_APPRESDIR_CHECK): Improve warning message.
613 * configure: Regenerated with autoconf 2.59b.
615 2005-02-16 Gaius Mulley <gaius@glam.ac.uk>
617 * src/devices/grohtml/post-html.cpp (html_printer::is_line_start,
618 html_printer::start_font): Fix handling of preformatted text.
620 2005-02-15 Gaius Mulley <gaius@glam.ac.uk>
622 These patches modify the indentation implementation to use `<p
623 style=margin-left: n%>'. Many thanks to Peter and Larry for
624 suggesting this solution. Grohtml only uses tables for `.IP' and
625 related tags when the first operand has a short width.
627 Similarly, they modify all vertical space code. By default, grohtml
628 sets up a style sheet which uses no vertical space between `table',
629 `pre', and `p' tags. It forces spaces when it needs them using
630 `style="margin-top: 1em"'.
632 * src/devices/grohtml/html-table.cpp: Include `html-text.h'.
633 (html_table::emit_table_header, html_table::emit_new_row):
635 (html_table::set_space): New function.
636 (html_indent::html_indent): Don't set `is_used'.
637 (html_indent::begin): Rewritten.
638 (html_indent::end): Remove code in function.
640 * src/devices/grohtml/html-table.h: Updated.
641 (html_table): Make `out' public.
643 * src/devices/grohtml/html-text.cpp (html_text::html_text):
644 Initialize `start_space' with FALSE.
645 (html_text::end_tag) <P_TAG, PRE_TAG>: Updated.
646 (html_text::issue_tag): Add argument to handle space style.
647 (html_text::start_tag) <P_TAG, PRE_TAG>: Updated.
648 (html_text::flush_text): Don't set `start_space'.
649 (html_text::push_para): Don't set `p->really_issued'.
650 (html_text::do_emittext): Updated.
651 (html_text::do_para): Add paremeter to handle space.
653 (html_text::retrieve_para_space): New function.
655 * src/devices/grohtml/html-text.h (STYLE_VERTICAL_SPACE): New macro.
656 (tag_definition): Remove `really_issued'.
657 (html_text): Updated.
659 * src/devices/grohtml/post-html.cpp (html_printer): Add variables
660 `current_column' and `row_space'.
662 (html_printer::emit_raw, html_printer::write_header,
663 html_printer::do_indent, html_printer::do_check_center,
664 html_printer::do_tab_ts): Handle vertical space.
665 (html_printer:do_tab_te, html_printer::do_end_para): Call
667 (html_printer::do_col): Rewritten.
668 (html_printer::flush_globs): Remove debugging code.
669 (html_printer::is_line_start): New function.
670 (html_printer::start_font): Use `is_line_start'.
671 (html_printer::writeHeadMetaStyle): New function.
672 (html_printer::do_file_components, html_printer::~html_printer):
673 Call `writeHeadMetaStyle'.
675 * tmac/www.tmac (www-handle-percent): New macro.
676 (MPIMG): Handle percent values for width and height parameters.
679 * tmac/groff_www.man: Updated.
681 2005-02-14 Werner LEMBERG <wl@gnu.org>
683 * src/utils/afmtodit/afmtodit.pl: Remove an incorrect `my' from
684 $psname and $italic_angle.
685 Immediately restart file input loops if `split' returns an empty
688 2005-02-13 Michail Vidiassov <master@iaas.msu.ru>
689 Werner LEMBERG <wl@gnu.org>
691 Update afmtodit to better support Unicode (Michail).
692 Update afmtodit to use Perl 5 syntax (Werner).
694 * src/utils/afmtodit/afmtodit.pl: Don't use `getopts.pl' but
696 Decorate variables with `my' where necessary.
697 Use `defined' where necessary to avoid warnings.
698 Don't use `do' for subroutine calls.
699 Other minor syntax updates.
700 Check for both `uXXXX[X[X]]' and `uniXXXX'.
701 Handle glyph variants properly.
702 (%unicode_decomposed, %AGL_to_unicode): Don't use `u' prefix in
705 * src/utils/afmtodit/afmtodit.man: Updated.
707 2005-02-13 Werner LEMBERG <wl@gnu.org>
709 Make groff.texinfo work with texinfo 4.8.
711 * doc/groff.texinfo (@Var): Use @r and @slanted.
712 (@defdummy, @Def*): Use @c to avoid empty lines.
713 (\angles): Replaced with...
714 (\Langlemacro, \Ranglemacro): New TeX macros.
715 (@Langlemacro, @Ranglemacro): New variables defined with @set.
716 (@angles): Use @Langlemacro and @Ranglemacro.
717 (\LE): Replaced with...
718 (\LEmacro): New TeX macro.
719 (@LEmacro): New variable defined with @set.
721 (@Lparenmacro, @Rparenmacro, @Lbrackmacro, @Rbrackmacro): New
722 variables defined with @set.
723 (@lparen, @rparen, @lbrack, @rbrack): Replaced with...
724 (@Lparen, @Rparen, @Lbrack, @Rbrack): New macros.
729 * doc/texinfo.tex: Update to texinfo version 4.8.
731 * README.CVS: Updated.
733 2005-02-09 Alejandro López-Valencia <palopez@etb.net.co> (tiny change)
735 * doc/groff.texinfo (ms Document Control Registers): Document `HY'
738 2005-02-05 Werner LEMBERG <wl@gnu.org>
740 * tmac/groff_mdoc.man, tmac/doc-common, tmac/doc-ditroff,
741 tmac/doc-nroff, tmac/doc-old.tmac, tmac/doc-syms, tmac/doc.tmac:
744 2005-02-01 Werner LEMBERG <wl@gnu.org>
746 * src/roff/groff/groff.man: Add information about paper size.
748 2005-01-25 Werner LEMBERG <wl@gnu.org>
750 * src/roff/nroff/nroff.sh: Handle `*.ISO8859-1' in locale. From
753 2005-01-22 Ruslan Ermilov <ru@FreeBSD.org>
755 * tmac/doc.tmac (Sm): Improved. It didn't work properly in many
757 (Re): Emit a warning if called without `.Rs'.
758 (doc-finish-reference): Use parameter for decreasing
759 `doc-reference-count'.
760 (doc-print-reference): Pass specific count parameters to
761 `doc-finish-reference'.
763 2005-01-21 Werner LEMBERG <wl@gnu.org>
765 * src/libs/libdriver/input.cpp (delete_current_env, do_file):
766 Reset pointers to zero after deallocation. This fixes a crash
767 if a driver is called with multiple input files. Reported by
768 Ken Chilton <ken@chiltonfamily.org>.
770 * src/devices/grops/grops.man: Add more info on DSC.
772 2005-01-17 Ruslan Ermilov <ru@FreeBSD.org>
774 * tmac/doc-common (Dd), tmac/doc-ditroff (gX, doc-setup-header):
777 2005-01-17 Werner LEMBERG <wl@gnu.org>
779 * src/roff/troff/div.cpp (top_level_diversion::space): Protect
780 against division by zero.
782 2005-01-13 Ruslan Ermilov <ru@FreeBSD.org>
784 * tmac/doc.tmac (Ef): Restore doc-curr-font and doc-curr-size.
786 2004-12-19 Werner LEMBERG <wl@gnu.org>
788 * install-sh: New version; taken from texinfo CVS.
790 2004-12-17 Werner LEMBERG <wl@gnu.org>
792 * tmac/devtag.tmac: Protect against loading twice.
793 Protect agains compatibility mode.
794 * tmac/www.tmac: Protect against loading twice.
795 Load `devtag.tmac' before switching off compatibility mode.
796 * tmac/an-old.tmac, tmac/s.tmac: Load `devtag.tmac'.
798 2004-12-16 Mike Bianchi <mbianchi@Foveal.com>
800 * configure.ac: Produce `contrib/gdiffmk/tests/runtests'.
801 * configure: Updated.
803 2004-12-15 Thomas Klausner <wiz@netbsd.org>
805 * tmac/doc-syms, tmac/groff_mdoc.man: Add `libpam' library.
807 2004-12-15 Werner LEMBERG <wl@gnu.org>
809 Make `test-groff' work again -- previously, wrong paths have been
810 used. Additionally, it can now be called from anywhere.
812 * test-groff.in: Don't test for groff binary. This is no longer
813 necessary since the proper paths are determined by `configure'.
814 (EXEEXT): Removed. No longer used.
815 (srcdir, builddir): Use values provided by the configure script.
816 (XENVIRONMENT): Updated.
820 2004-12-14 Gaius Mulley <gaius@glam.ac.uk>
822 Make .tag and .taga work for all devices (but only grohtml actually
825 * src/devices/grohtml/post-html.cpp: s/html-tag/devtag/.
826 (text_glob::is_br, page::add_tag, html_printer::troff_tag,
827 html_printer::handle_assertion): Don't use hard-coded string
829 (html_printer::lookahead_for_table): Reset `tbl' properly if
831 (html_printer::devtag): New function, handling `devtag'.
832 (html_printer::special): Don't handle `html-tag'.
834 * src/include/printer.h, src/libs/libdriver/printer.cpp
835 (printer::devtag): New virtual function.
837 * src/libs/libdriver/input.cpp (parse_x_command) <'X'>: Handle
840 * src/roff/troff/env.cpp, src/roff/troff/mtsm.cpp,
841 src/roff/troff/node.cpp: s/html-tag/devtag/.
843 * src/roff/troff/input.cpp (tag, taga): Always call
846 * tmac/an-old.tmac, tmac/s.tmac, tmac/troffrc-end: Use DEVTAG*
847 macros instead of HTML-TAG*.
849 * tmac/devtag.tmac: New file, defining the DEVTAG-* macros.
851 * tmac/www.tmac: Load devtag.tmac.
852 Replace HTML-TAG* macros with DEVTAG* macros.
853 (HTML, HTML-NS): Changed definitions.
855 (HTML-TAG, HTML-TAG-NS, HTML-TAG-NEXT): Removed.
857 * tmac/Makefile.sub (NORMALFILES): Add devtag.tmac.
859 2004-12-10 Werner LEMBERG <wl@gnu.org>
861 Import Mike's `gdiffmk' package.
863 * contrib/gdiffmk/*: New files.
864 * Makefile.in (OTHERDIRS): Add contrib/gdiffmk.
867 2004-12-08 Werner LEMBERG <wl@gnu.org>
869 Import Keith's `pdfmark' package. Integration is very preliminary.
871 * contrib/pdfmark/*: New files.
872 * Makefile.in (OTHERDIRS): Add contrib/pdfmark.
875 2004-12-07 Gaius Mulley <gaius@glam.ac.uk>
877 Fix a bug with title handling in HTML.
879 * src/devices/grohtml/post-html.cpp (text_glob::is_nf,
880 text_glob::is_fi, text_glob::is_ce): Use strlen to compute string
882 (html_printer::handle_tag_within_title): New function.
883 (html_printer::do_title): Use it.
885 * tmac/s.tmac (TL): Don't set `need_eo_tl'.
886 (cov*tl-au-print): Emit `.eo.tl' tag.
888 2004-12-05 Alejandro López-Valencia <dradul@etb.net.co>
890 * man/groff_char.man: Minor imrovements.
892 2004-12-04 Werner LEMBERG <wl@gnu.org>
894 * src/preproc/eqn/eqn.man: Revised.
896 2004-11-25 Werner LEMBERG <wl@gnu.org>
898 * src/utils/xtotroff/xtotroff.c: Reformat to be similar to other
902 Remove X_NOT_STDC_ENV conditional.
903 (Version_string, program_name): New global variables.
904 (groff_flag): Removed.
906 (usage): Take a stream as argument.
909 (main): Add `long_options' array for `--help' and `--version'.
910 Make `-g' a dummy option.
911 Handle `-v' and unknown options.
912 Remove unused `position' variable.
914 * src/utils/xtotroff/Makefile.sub (MAN1): Define.
915 (XLIBS): Add LIBGROFF.
917 * src/utils/xtotroff/xtotroff.man, src/utils/xtotroff/Makefile.in:
920 * src/devices/xditview/Dvi.c (default_font_map): Split into three
921 parts to avoid compiler warning.
922 (resources): Don't initialize with `default_font_map'.
923 (ClassInitialize): Initialize first element of `resources'.
925 * src/devices/xditview/Makefile.sub (devdir, xtotroff, DPIS, fonts):
928 * src/utils/lkbib/lkbib.man, src/utils/lookbib/lookbib.man,
929 src/utils/pfbtops/pfbtops.man: Revised, updated.
931 * configure.ac: Generate src/utils/xtotroff/Makefile.
932 * configure: Regenerated.
934 2004-11-24 Werner LEMBERG <wl@gnu.org>
936 First fixes to get produce HTML.
938 * src/devices/grohtml/post-html.cpp (generate_img_src): Add `alt'
941 * tmac/www.tmac (IMG, PIMG, MPIMG): Add `alt' attribute.
942 (HR, LI): Use `HTML</p>', not `HTML'.
944 * doc/webpage.ms: Minor updates.
946 2004-11-23 Larry Kollar <kollar@alltel.net>
948 Add option -S grohtml to determine the file split level.
950 * src/devices/grohtml/post-html.cpp (split_level): New global
952 (html_header::determine_header_level): Use split_level.
953 (main): Handle `-S' command line option.
956 * src/preproc/html/pre-html.cpp (scanArguments): Updated.
958 * src/devices/grohtml/grohtml.man: Document it.
963 2004-11-23 Y T <doarhop@hotmail.com>
965 * tmac/s.tmac (ref*add-V, ref*add-N): New macros for handling
966 the volume and number refer entries.
968 2004-11-22 Werner LEMBERG <wl@gnu.org>
970 * src/devices/grohtml/html-table.cpp
971 (html_table::emit_table_header): Don't emit `cols' attribute which
972 doesn't exist in HTML 4.0 and is thus invalid.
974 * NEWS: More minor fixes and updates.
976 2004-11-18 Werner LEMBERG <wl@gnu.org>
978 * tmac/www.tmac (HTML-NS, HTML-TAG-NS, HTML-TAG-NEXT): Simplified.
979 (HTML</p>): Minor clean-up.
981 * tmac/groff_www.man: Updated.
983 * src/devices/grohtml/grohtml.man: Revised and updated.
987 2004-11-18 Gaius Mulley <gaius@glam.ac.uk>
989 * src/devices/grohtml/post-html.cpp (html_printer::do_heading):
991 (html_printer::do_links): Fix rules generation around automatic
994 * tmac/www.tmac (LK): Use HTML-TAG-NS.
996 No longer emit empty line for non-HTML devices.
998 2004-11-17 Werner LEMBERG <wl@gnu.org>
1000 * doc/Makefile.in (prepare_examples, webpage.html): Handle
1003 * doc/Makefile.sub (EXAMPLEFILES, CLEANNOTSRCDIRADD,
1004 prepare_examples, webpage.html): Handle `groff.css'.
1006 2004-11-15 Werner LEMBERG <wl@gnu.org>
1008 * NEWS, README, doc/webpage.ms: Updated.
1010 * tmac/www.tmac (HTML, HTML-TAG): Minor clean-ups.
1012 2004-10-30 Gaius Mulley <gaius@glam.ac.uk>
1014 * src/include/printer.h (printer): Remove virtual function
1016 Update all source files.
1018 * src/devices/grohtml/post-html.cpp (html_printer): New member
1019 function `round_width'.
1021 2004-10-20 Tadziu Hoffmann <hoffmann@usm.uni-muenchen.de>
1023 * src/preproc/tbl/table.cpp (table::do_row): Fix handling of the `d'
1024 column key letter suffix.
1026 2004-10-14 Werner LEMBERG <wl@gnu.org>
1028 * Makefile.in (check): Depend on `site.exp' and `docheck'.
1029 (docheck): Run dejagnu's `runtest' if it exists.
1030 (site.exp): Create dejagnu configuration file.
1032 * Makefile.sub (DISTCLEANFILES): Add files related to dejagnu.
1034 2004-10-13 Werner LEMBERG <wl@gnu.org>
1036 * src/devices/grohtml/html-text.cpp (html_text_get_alignment),
1037 src/devices/grohtml/post-html.cpp (make_val,
1038 html_printer::handle_state_assertion): Fix compiler warnings.
1040 * src/roff/troff/div.cpp: Include `stringclass.h' and `mtsm.h'.
1041 (diversion::diversion): Fix order of initializers.
1043 * src/roff/troff/div.h: Don't include `mtsm.h'.
1045 * src/roff/troff/env.cpp: Include `stringclass.h' and `mtsm.h'.
1046 (environment::environment): Fix order of initializers.
1047 (environment::make_tag, environment::construct_format_state): Fix
1050 * src/roff/troff/input.cpp: Include `stringclass.h' and `mtsm.h'.
1051 (input_iterator::input_iterator, macro::macro): Fix order of
1054 * src/roff/troff/mtsm.cpp: Include only necessary header files.
1055 (state_set::add, state_set::val): Fix compiler warnings.
1057 * src/roff/troff/mtsm.h: Don't include `stringclass.h'.
1058 (bool_value_state, int_value_state, units_value_state,
1059 string_value_state): Remove comma after last element which causes
1060 an error with g++ 3.3.3.
1062 * src/roff/troff/node.cpp: Include `stringclass.h'.
1063 (hline_node::hline_node, vline_node::vline_node,
1064 space_char_hmotion_node, left_italic_corrected_node): Fix compiler
1066 (zero_width_node::zero_width_node): Fix order of initializers.
1068 * src/roff/troff/node.h: Don't include `mtsm.h'.
1069 (hmotion_node): Fix compiler warnings.
1071 * src/roff/troff/number.cpp: Include `stringclass.h' and `mtsm.h'.
1073 2004-10-12 Gaius Mulley <gaius@glam.ac.uk>
1075 * doc/groff.css: New file.
1077 * doc/webpage.ms: Use `groff.css'.
1080 * tmac/an-old.tmac (need_eo_h): New number register.
1081 (TH): Emit `.eo.tl' tag after title.
1082 (SH): Set `need_eo_h'.
1083 (an-trap): Handle `need_eo_h'.
1084 (an-do-tag): s/HTML-TAG-NS/HTML-TAG-NEXT/.
1086 * tmac/s.tmac (need_eo_h, need_eo_tl): New number registers.
1087 (TL): Always start diversion.
1089 (@AI): Always call `par@reset'.
1090 (@AB): Update code for -Thtml.
1091 (cov*tl-au-print): Handle -Thtml.
1092 (par@reset): Handle `need_eo_tl', `need_eo_h'.
1094 (@IT-html): Removed.
1095 (@SH): Set `need_eo_h' for -Thtml.
1096 (par@TL): s/HTML-TAG/HTMl-TAG-NS/.
1098 (@NH): s/HTML-TAG/HTMl-TAG-NS/.
1099 Set `need_eo_h' for -Thtml.
1100 (@EQ, @EN): Don't handle -Thtml specially.
1101 (par@load-init): Don't handle -Thtml specially.
1103 * tmac/www.tmac (www:paraspace): New macro.
1104 (HTML-NS, HTML-TAG-NS): Use new `tag' request.
1105 (HTML</p>, HTML-TAG-NEXT): New macros.
1106 (HnE): Emit tag `.eo.h' instead of break.
1107 (HR): s/HTML-NS/HTML/.
1108 (www-end-nowhere): End diversion only if `www-html' not set.
1110 (ULS, ULE): s|HTML|HTML</p>|.
1111 (LI): Call `www:paraspace'.
1114 2004-10-11 Gaius Mulley <gaius@glam.ac.uk>
1116 * src/roff/troff/request.h (macro): Make `p' public.
1117 New variable `is_a_diversion'.
1118 New member function `is_diversion'.
1121 * src/devices/grohtml/html.h (simple_output): New member function
1124 * src/devices/grohtml/html-table.cpp (tabs::compatible): Fix
1125 computation of `total'.
1126 (tabs::check_init): New function.
1127 (html_table::emit_table_header): Emit style data.
1128 (html_table::insert_column): Improved.
1130 * src/devices/grohtml/html-table.h: Updated.
1132 * src/devices/grohtml/html-text.cpp (html_text::html_text):
1133 Initialize `start_space' with TRUE.
1134 (html_text::end_tag, html_start_tag): Fix `P_TAG' and `PRE_TAG'
1136 (html_text::flush_text): Set `start_space' flag.
1137 (html_text::uses_indent, html_text::remove_para_space,
1138 html_text::get_alignment): New functions.
1139 (html_text::push_para): Updated.
1140 (html_text::do_para): Check for empty argument.
1141 Don't set `space_emitted'.
1142 (html_text::do_space, html_text::emit_space): Updated.
1144 * src/devices/grohtml/html-text.h (tag_definition): New variable
1146 (html_text): New member function `uses_indent', `remove_para_space',
1149 * src/devices/grohtml/output.cpp (simple_output::force_nl): New
1151 (simple_output:nl): Always emit `\n'.
1153 * src/devices/grohtml/post-html.cpp: Include `string.h'.
1154 (BASE_POINT_SIZE): Removed.
1155 (base_point_size, head_info): New global variables.
1156 (text_glob): New member functions `is_ll', `is_tl', `is_eo_tl',
1158 (text_glob::is_nf, text_glob::is_fi): Handle `.fi 0' and `.fi 1'
1160 (page::add_and_encode): Pass additional parameter for tag flag.
1161 (assert_pos): New structure.
1162 (assert_state): New class.
1163 (html_printer): Remove `indentation', `prev_indent'.
1164 Add variables `troff_indent', `device_indent', `temp_indent'.
1165 Add variables `seen_indent', `next_indent', `seen_pageoffset',
1166 `next_pageoffset', `seen_linelenght', `next_linelength',
1167 `seen_center', `next_center', `seen_space', `seen_break', `as'.
1168 Add member functions `do_check_center', `do_space', `do_head',
1169 `get_troff_indent', `restore_troff_indent', `handle_assertion',
1170 `handle_state_assertion', `do_end_para', `set_char_and_width'.
1171 Change argument to `do_fill' to `char *'.
1173 (html_printer::emit_raw): Call `shutdown_table'.
1175 (html_printer::do_center): Simplified.
1176 (html_printer::do_title): Improved.
1177 (html_printer::write_header): Emit one more newline.
1179 (html_printer::do_heading, html_printer::do_indent,
1180 html_printer::do_eol, html_printer::do_tab_ts,
1181 html_printer::do_tab, html_printer::do_tab0,
1182 html_printer::calc_po_in, html_printer::next_horiz_pos,
1183 html_printer::remove_courier_tabs,
1184 html_printer::insert_tab0_foreach_tab, html_printer::begin_page):
1186 (html_printer::do_linelength, html_printer::do_pageoffset,
1187 html_printer::do_indentation, html_printer::do_tempindent,
1188 html_printer::do_tab_te): Simplified.
1189 (html_printer::do_pointsize): Check whether point size is really
1190 associated a `.tl' tag.
1191 (html_printer::do_break): Rewritten.
1192 (html_printer::troff_tag): Improved.
1193 (html_printer::flush_globs): Updated.
1194 (html_printer::lookahead_for_tables): Handle `is_br'.
1196 (html_printer::set_char): Check `sbuf_style.f'.
1197 (html_printer::write_navigation): Use string comparison.
1198 (html_printer::~html_printer): Emit `head_info'.
1199 (html_printer::special): Rewritten.
1200 (get_str, make_val): New functions.
1201 (main): New option `s' to set the base point size.
1203 * src/preproc/html/pre-html.cpp (scanArguments): Handle option `s'.
1205 2004-10-10 Gaius Mulley <gaius@glam.ac.uk>
1207 * src/roff/troff/node.cpp: New extern `debug_state'.
1208 Include `stringclass.h' and `mtsm.h'.
1209 Implement new classes and class members from `node.h'.
1210 (real_output_file): Make `fp' public.
1211 (troff_output_file): New variables `cur_div_level' and `tag_list'.
1212 Update constructors.
1213 (troff_output_file::really_print_line): Check whether we should push
1214 the current troff state and use the state at the start of the
1215 invocation of this diversion.
1216 (troff_output_file::add_to_tag_list): New member function.
1217 (node::add_char): Handle `glyph_comp_np'.
1219 * src/roff/troff/node.h: Include `mtsm.h'.
1220 (node): New variables `state', `push_state', `div_nest_level',
1221 `is_special'. Update constructors, all descendants.
1222 Pass additional argument to `add_char' member function.
1223 New virtual member functions `is_tag', `debug_node',
1224 `debug_node_list'. Update all descendants.
1225 (tag_node): New class for handling tags.
1226 (output_file): Add variable `state'.
1228 2004-10-09 Gaius Mulley <gaius@glam.ac.uk>
1230 * src/roff/troff/mtsm.cpp, src/roff/troff/mtsm.h: New files,
1231 providing a minimal troff state machine to emit meta tags for the
1232 post-grohtml device driver.
1234 * src/roff/troff/Makefile.sub (OBJS, CCSRCS, HDRS): Handle new
1237 2004-10-09 Werner LEMBERG <wl@gnu.org>
1239 * tmac/trace.tmac: Fix handling of `am' and `am1' calls.
1241 2004-10-06 Gaius Mulley <gaius@glam.ac.uk>
1243 * src/roff/troff/column.cpp (vjustify_node::copy): Updated.
1245 * src/roff/troff/div.h: Include `mtsm.h'.
1246 (diversion): New variables `any_chars_added', `needs_push',
1247 `saved_seen_break', `saved_seen_space', `saved_seen_eol',
1248 `saved_suppress_next_eol', `modified_tag'.
1249 New virtual member function `is_diversion'. Update all descendants.
1251 * src/roff/troff/div.cpp (diversion::diversion,
1252 macro_diversion::macro_diversion): Updated.
1253 (do_divert): Handle `seen_break', `seen_space', `seen_eol',
1254 `suppress_next_eol'.
1255 (top_level_diversion::space): Handle `curenv->seen_space'.
1256 (page_offset): Update tag handling.
1257 (space_request, blank_line, flush_output): Don't call `add_html_tag'.
1259 * src/roff/troff/env.h (environment): Make `tabs' public.
1260 Remove `ignore_next_eol', `emitted_node'.
1261 Update `output_line', `output'.
1262 New variables `seen_space', `seen_eol', `suppress_next_eol',
1264 New member functions `construct_state', `make_tag',
1265 `construct_format_state, `construct_new_line_state,
1267 Remove `add_html_tag', `make_html_tag'.
1269 * src/roff/troff/env.cpp: New externs `suppress_push',
1270 `get_diversion_state', `global_diverted_space'.
1271 (pending_output_line): New variable `was_centered'.
1272 Update constructor and all callers.
1273 (pending_output_line::output): Call `curenv->construct_format_state'.
1274 (environment::environment, environment::copy): Updated.
1275 (environment::output): Handle `was_centered'.
1276 (environment::add_char): Handle construct and diversion state.
1277 (environment::add_node): Handle construct state.
1278 (environment::newline): Handle `was_centered'.
1279 (environment::output_line): Updated.
1280 (environment::possibly_break_line): Updated.
1281 Update tag handling.
1282 (environment::add_html_tag): Replaced with...
1283 (environment::make_tag): New function.
1284 (environment::add_html_tag_tabs, environment::make_html_tag): Removed.
1285 (environment::dump_troff_state): New debugging function.
1286 (environment::construct_state, environment::construct_format_state,
1287 environment::construct_new_line_state): New functions.
1288 (environment::do_break): Updated.
1289 Handle `global_diverted_space'.
1290 (environment::handle_tag): Update tag handling.
1291 (point_size, fill, do_break_request): Don't call `add_html_tag'.
1292 (no_fill): Don't call `add_html_tag'.
1293 Set `suppress_next_eol'.
1294 (center, right_justify, line_length, indent, temporary_indent,
1296 Update tag handling.
1298 * src/roff/troff/input.cpp: Don't include `stringclass.h'.
1299 (input_iterator): New variables `is_diversion', `diversion_state'.
1300 Update constructors.
1301 (input_stack): New member functions `get_div_level',
1302 `get_diversion_state', `check_end_diversion'.
1303 New variables `div_level', `diversion_state'. Initialize them.
1304 (suppress_push, global_diverted_space): New global variables.
1305 (input_stack::finish_get, input_stack::finish_peek,
1306 input_stack::remove_boundary, input_stack::end_file,
1307 input_stack::clear, input_stack::pop_macro): Call
1308 `check_end_diversion'.
1309 (input_stack::push): Handle `div_level' and `diversion_state'.
1310 (get_diversion_state): New function.
1311 (diverted_space_node::reread): Handle `global_diverted_space'.
1312 (macro::macro): Update constructors.
1313 (macro::is_diversion): New function.
1314 (macro::operator=): Set `is_a_diversion'.
1315 (string_iterator): New member function `is_diversion'.
1316 (string_iterator::string_iterator): Update constructors.
1317 (string_iterator::fill): Set `div_nest_level'.
1318 (macro_iterator): New member function `is_diversion'.
1319 (do_if_request): Handle `suppress_push'.
1320 (tag, taga): New functions.
1321 (init_input_requests): Add `tag' and `taga' requests.
1323 2004-10-05 Gaius Mulley <gaius@glam.ac.uk>
1325 * src/include/font.h (font): New member function
1326 `get_image_generator'.
1327 New variables `unscaled_charwidths' and `image_generator'.
1329 * src/libs/libgroff/font.cpp (font::get_width): Always return the
1330 character's unscaled width if `font::unscaled_charwidths' is set.
1331 (font::get_image_generator): New function.
1332 (font::load_desc): Check the `unscaled_charwidths' and
1333 `image_generator' keywords.
1335 * src/libs/libgroff/fontfile.cpp: Initialize
1336 `font::unscaled_charwidths' and `font::image_generator'.
1338 * font/devhtml/DESC.proto: s/html/unscaled_charwidths/.
1340 * font/devhtml/Makefile.sub (DESC): Set `image_generator' keyword.
1342 * man/groff_font.man: Document `unscaled_charwidths' and
1345 * src/preproc/html/pre-html.cpp: Include `device.h'.
1346 (image_gen): New global variable.
1347 (imageList::createPage): Use `image_gen'.
1348 (main): Use `image_generator' keyword.
1350 2004-10-04 Gaius Mulley <gaius@glam.ac.uk>
1352 * tmac/html.tmac: Handle \[sqrtex].
1354 2004-10-04 Gaius Mulley <gaius@glam.ac.uk>
1356 * src/include/printer.h (printer): New virtual method `round_width'.
1358 * src/devices/grodvi/dvi.cpp, src/devices/grolbp/lbp.cpp,
1359 src/devices/grolj4/lj4.cpp, src/devices/grops/ps.cpp,
1360 src/devices/grotty/tty.cpp (printer::round_width): New function
1363 * src/devices/grohtml/post-html.cpp (printer::round_width): New
1365 (html_printer::set_numbered_char): Use it.
1367 2004-10-03 Gaius Mulley <gaius@glam.ac.uk>
1369 * aclocal.m4 (GROFF_GHOSTSCRIPT_PATH): New macro.
1371 * configure.ac: Call GROFF_GHOSTSCRIPT_PATH.
1373 * configure: Regenerated.
1375 * Makefile.in (GHOSTSCRIPT): New variable.
1376 (MDEFINES): Add GHOSTSCRIPT.
1378 2004-10-03 Werner LEMBERG <wl@gnu.org>
1380 * INSTALL.gen: Updated (taken from texinfo CVS).
1382 2004-09-28 Werner LEMBERG <wl@gnu.org>
1386 2004-09-28 Heinz-Jürgen Oertel <hj.oertel@surfeu.de>
1388 * tmac/groff_www.man: Revised and updated.
1390 2004-09-26 Werner LEMBERG <wl@gnu.org>
1392 Fix \$@ and \$* to handle any number of arguments.
1394 * src/roff/troff/input.h (BEGIN_QUOTE, END_QUOTE): New special
1397 * src/roff/troff/input.cpp (input_iterator::internal_level):
1399 (input_stack): New member functions `increase_level' and
1401 (input_stack::get_level): Don't use `internal_level'.
1402 (get_copy, token::next): Handle BEGIN_QUOTE and END_QUOTE.
1403 (end_quote_iterator): Completely removed.
1404 (interpolate_arg): Build string for \$@ and \$* which is then
1405 pushed onto the input stack.
1407 2004-09-23 Keith Marshall <keith.d.marshall@ntlworld.com>
1409 * tmac/groff_ms.man, doc/groff.texinfo: Document changes from
1412 2004-09-23 Werner LEMBERG <wl@gnu.org>
1414 * tmac/an-old.tmac (ne): Using default scaling operator.
1416 2004-09-19 Keith Marshall <keith.d.marshall@ntlworld.com>
1418 This change implements the following features:
1421 New numeric register: Defines number of lines following LP, PP,
1422 QP, IP or XP, which must be kept together, before any automatic
1423 page break. If insufficient space remains on the current page, a
1424 page break is forced before the new paragraph begins.
1427 New numeric register: Sets number of lines of following paragraph
1428 which must be kept with a heading, defined by NH or SH, before any
1429 automatic page break. If insufficient space remains on the
1430 current page, a page break is forced before the heading.
1433 (Thanks to Joerg van den Hoff, for this idea).
1435 New numeric register: Sets the first level of heading (set with
1436 NH), which will keep the same point size as body text; e.g. if
1437 GROWPS is set to 3, .NH 3, .NH 4, ... will produce headings at the
1438 point size specified by \n[PS], but .NH 2 and .NH 1 will have
1439 progressively larger point sizes, determined by \n[PSINCR] (see
1443 New numeric register: Sets the point size increment for each level
1444 of heading, (set with NH), below the threshold level set by
1445 GROWPS; e.g. if \n[PS] = 10, \n[GROWPS] = 3 and \n[PSINCR] = 2.0p,
1446 then .NH 1 will produce 14pt headings, .NH 2 will produce 12pt,
1447 and all other levels will remain at 10pt, (because \n[PS] = 10).
1450 Existing macro now accepts a numeric argument, to make heading
1451 size match that of NH with same argument value, when the
1452 GROWPS/PSINCR feature is enabled.
1455 New string, set by NH macro, replaces the existing (undocumented)
1456 use of SN, to represent the assigned section number.
1459 New string, set by NH macro, represents the assigned section
1460 number, but omits the terminal period (periods at intermediate
1461 levels are retained).
1464 String set by NH macro, originally undocumented, now implemented
1465 as an alias for SN-DOT (which reproduces original behaviour).
1467 * tmac/s.tmac (PORPHANS): New register.
1468 (par*start): Use it.
1469 (HORPHANS, GROWPS, PSINCR): New registers.
1470 (SH-NO-TAG, @SH): Use them.
1473 2004-09-19 Keith Marshall <keith.d.marshall@ntlworld.com>
1475 * NEWS, doc/groff.texinfo, tmac/groff_ms.man: Document the deletion
1476 of `Ds' and `De' macros.
1478 2004-09-10 Werner LEMBERG <wl@gnu.org>
1480 In tbl, handle \a as an interpreted leader character if in
1483 * src/preproc/tbl/table.h (PREFIX, PREFIX_CHAR, LEADER,
1484 LEADER_CHAR): New macros.
1485 (compatible_flag): New declaration.
1487 * src/preproc/tbl/main.cpp (table_input): Add LEADER_1, LEADER_2,
1488 LEADER_3, and LEADER_4 to `state'.
1489 (table_input::get): Handle `\a'.
1491 * src/preproc/tbl/table.cpp (PREFIX): Removed.
1492 (LEADER_REG): New macro.
1493 (table::init_output): Define LEADER_REG string register if in
1496 * src/preproc/tbl/tbl.man: Document it.
1498 2004-08-18 Werner LEMBERG <wl@gnu.org>
1500 * tmac/doc.tmac (An): Fix error message.
1502 2004-08-06 Werner LEMBERG <wl@gnu.org>
1504 * src/preproc/tbl/main.cpp (main): Call `fatal' not `error' if a
1505 file can't be opened. UNIX tbl has the same behaviour.
1507 2004-08-05 Y T <doarhop@hotmail.com>
1509 * src/preproc/grn/hdb.cpp (compatibility_flag): Add declaration.
1510 (DBRead): If in compatibility mode, take into account the text
1511 when computing figure boundaries.
1513 2004-08-05 Werner LEMBERG <wl@gnu.org>
1515 * src/preproc/soelim/soelim.man: Improved. Based on suggestions
1516 from Tadziu Hoffmann.
1518 2004-08-03 Werner LEMBERG <wl@gnu.org>
1520 * doc/meref.me: Document `_M' register.
1522 2004-08-03 Martin Husemann <martin@duskware.de>
1524 Make hpftodit work correctly on big-endian systems.
1526 * src/utils/hpftodit/hpftodit.cpp (File): New method
1527 `get_uint32(char *)'.
1528 (entry): New member `orig_value'.
1529 (read_tags): Use new method.
1530 (output_font_name, read_and_output_pcltypeface, dump_ascii):
1533 2004-08-01 Werner LEMBERG <wl@gnu.org>
1535 * tmac/s.tmac: Undo change 2003-06-29. The proper macro definitions
1536 are already in X11's `macros.t' file.
1538 2004-08-01 Jeff Conrad <jeff_conrad@msn.com>
1540 * src/utils/hpftodit/hfptodit.cpp (output_font_name, dump_ascii):
1542 (read_and_output_pcltypeface): Handle strings with length <= 4.
1544 2004-07-27 Egil Kvaleberg <egil@kvaleberg.no>
1546 * tmac/s.tmac (pg@top): Don't save `PO' register.
1547 (pg*end-col, pg*end-page): Directly use `PO' register.
1549 2004-07-27 Werner LEMBERG <wl@gnu.org>
1551 * man/groff_tmac.man: Mention `trace' and `pic' macro packages.
1553 * src/preproc/refer/refer.cpp (output_references): Check for
1555 * src/preproc/refer/refer.man: Improve documentation of
1556 `bibliography' command.
1558 2004-07-26 Werner LEMBERG <wl@gnu.org>
1560 Add requests `fcolor' and `gcolor'.
1562 * src/roff/troff/env.cpp (fill_color_change, glyph_color_change):
1564 (init_env_requests): Add `fcolor' and `gcolor'.
1566 * src/roff/troff/input.h: Export do_glyph_color and do_fill_color.
1568 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
1569 Document new requests.
1571 2004-07-24 Werner LEMBERG <wl@gnu.org>
1573 Add support for fractional point sizes in ms macros. A value for
1574 PS, VS, FPS, and FVS greater than or equal to 1000 is always divided
1575 by 1000. For example, `.nr PS 10250' sets the font size to 10.25p.
1577 * tmac/s.tmac (@AU, @AI, par@load-init, par@init, par@reset, NL,
1578 PX): Handle fractional point sizes for PS, VS, FPS, and FVS.
1580 * tmac/groff_ms.man, docs/groff.texinfo, NEWS: Document it.
1582 2004-07-19 Werner LEMBERG <wl@gnu.org>
1584 * src/preproc/pic/lex.cpp (for_input): Add member `from'.
1586 (do_for, for_input::get, for_input::peek): Handle negative `by'.
1587 * src/preproc/pic/pic.man, doc/pic.ms, NEWS: Document it.
1589 2004-07-08 Thomas Klausner <wiz@netbsd.org>
1591 * tmac/doc-syms (doc-str-St--p1003.1-2004): New string.
1592 * tmac/groff_mdoc.man: Updated.
1594 2004-07-05 Werner LEMBERG <wl@gnu.org>
1596 * doc/groff.texinfo: Further improve documentation of `hcode'.
1598 2004-07-04 Sang Dae Yu <sdyu@bh.knu.ac.kr>
1600 Improve appearance of arrows in pic.
1602 * src/preproc/pic/object.cpp (draw_arrow): Make outline of filled
1604 Use two line segments for drawing non-filled arrow head.
1605 (line_object::print, spline_object::print): Shorten line length to
1606 avoid arrow sticking.
1607 (arc_object::print): Take arrow direction into account.
1609 2004-07-03 Heinz-Jürgen Oertel <hj.oertel@surfeu.de>
1611 * tmac/groff_www.man: Update documentation of .MPIMG.
1613 2004-07-03 Werner LEMBERG <wl@gnu.org>
1615 * tmac/an-old.tmac (RI): Always start with font `R'.
1616 (RI, IR): Properly end with font `R'.
1618 2004-07-02 Paul Eggert <eggert@cs.ucla.edu>
1620 * man/ditroff.man, man/groff_font.man, man/groff_out.man,
1621 src/devices/grohtml/grohtml.man, src/preproc/grn/grn.man,
1622 src/preproc/pic/pic.man, tmac/groff_man.man, tmac/groff_ms.man:
1623 Don't pass more than six arguments to .R, .I, .B, etc., for
1624 compatibility with traditional troff macros.
1626 2004-07-02 Werner LEMBERG <wl@gnu.org>
1628 * src/roff/troff/input.h: s/COMPATIBLE_SAVE/PUSH_GROFF_MODE/.
1629 s/COMPATIBLE_RESTORE/POP_GROFFCOMP_MODE/.
1631 (PUSH_COMP_MODE): New internal character constant.
1634 * src/roff/troff/input.cpp (get_copy): Handle PUSH_GROFF_MODE,
1635 PUSH_COMP_MODE, and POP_GROFFCOMP_MODE.
1636 (token::next, macro::append): Handle PUSH_COMP_MODE.
1637 (decode_args): Add PUSH_GROFF_MODE or PUSH_COMP_MODE before and
1638 POP_GROFFCOMP after each of the decoded arguments to make them
1639 independent from the compatibility mode status.
1640 (comp_mode): Add `COMP_ENABLE'.
1641 (do_define_string, do_define_macro): Handle COMP_ENABLE.
1642 (define_string, append_string, define_macro, define_indirect_macro,
1643 append_macro, append_indirect_macro): Handle `compatible_flag'.
1644 (chop_macro, substring_request, asciify): Handle PUSH_COMP_MODE.
1646 * man/groff_diff.man, doc/groff.texinfo: Updated.
1648 2004-07-01 Werner LEMBERG <wl@gnu.org>
1650 * doc/groff.texinfo: Improve documentation of `hcode'.
1651 Use @documentencoding and convert document to latin-1; to do that
1652 make latin characters active and assign proper macros (within a
1653 @tex...@end tex environment).
1654 * doc/Makefile.in (.texinfo.html, groff): Use --enable-encoding.
1655 * doc/Makefile.sub (groff): Ditto.
1657 2004-06-29 Werner LEMBERG <wl@gnu.org>
1659 Implement two new conditional operators `F <name>' and `S <name>'
1660 which check whether <name> is a valid font or style, respectively.
1662 * src/libs/libgroff/font.cpp (text_file): Add `silent' member.
1663 (text_file::text_file): Updated.
1664 (text_file::error): Don't emit message if `silent' is set.
1665 (font::load_font): Add optional third argument (which is directly
1667 (font::load): Add optional second argument to check the header of
1668 a font only, without emitting warning or error messages.
1669 * src/include/font.h (font): Updated.
1671 * src/roff/troff/input.cpp (do_if_request): Implement `S' and `F'
1673 * src/roff/troff/node.cpp (mount_font_no_translate): Add optional
1674 fourth argument to check a font without mounting.
1675 (check_font, check_style): New functions.
1676 * src/roff/troff/node.h: Updated.
1678 * man/groff_diff.man, man/groff.man, NEWS, doc/groff.texinfo:
1681 2004-06-27 Werner LEMBERG <wl@gnu.org>
1683 Implement new string-valued register `.sty' to return the current
1686 * env.cpp (environment::get_style_name_string): New function.
1687 (init_env_requests): Add `.sty' register.
1688 * env.h (environment): Updated.
1689 * node.cpp (font_info): Make `get_style_name' a friend.
1690 (get_style_name): New function.
1693 * man/groff_diff.man, man/groff.man, NEWS, doc/groff.texinfo:
1696 2004-06-15 Werner LEMBERG <wl@gnu.org>
1698 * src/preproc/tbl/main.cpp (process_data) <GOT_RIGHT_BRACE>: Handle
1701 2004-06-10 Colin Percival <colin.percival@wadham.ox.ac.uk>
1703 * doc/meintro.me, doc/meref.me: Don't use \*[td], \n[dy], \*[mo],
1704 and \n[mo] to avoid dependency on current date.
1706 2004-06-08 Werner LEMBERG <wl@gnu.org>
1708 * Makefile.sub (install_data): New target.
1710 2004-06-04 Werner LEMBERG <wl@gnu.org>
1712 * src/libs/libxutil/Makefile.sub (EXTRA_CFLAGS): Define.
1714 2004-06-03 Werner LEMBERG <wl@gnu.org>
1716 * src/devices/xditview/Makefile.sub (EXTRA_LDFLAGS): Fix typo and
1718 (install_data): Add $(srcdir).
1720 * src/utils/xtotroff/Makefile.sub (EXTRA_LDFLAGS): Fix order of
1723 2004-06-02 Werner LEMBERG <wl@gnu.org>
1725 * aclocal.m4 (GROFF_X11): s/have_no_x/groff_no_x/.
1726 Add X11 stuff to CFLAGS, LDFLAGS, and LIBS temporarily.
1727 Add test for Xmu library.
1728 (GROFF_APPRESDIR_OPTION, GROFF_APPRESDIR_CHECK,
1729 GROFF_APPRESDIR_DEFAULT): New macros.
1731 * configure.ac: Call GROFF_APPRESDIR_OPTION, GROFF_APPRESDIR_CHECK,
1732 and GROFF_APPRESDIR_DEFAULT.
1734 * configure: Regenerated.
1736 * Makefile.in (appresdir): New variable.
1737 (MDEFINES): Add appresdir.
1739 * src/devices/xditview/Makefile.sub (EXTRA_LDFLAGS): Add -Xmu and
1741 (install_data, uninstall_sub): New targets to handle GXditview.ad.
1743 * src/utils/indxbib/Makefiles.ub (install_data): Depend on
1744 `$(srcdir)/eign', not `eign'.
1746 * MANIFEST, INSTALL, NEWS, PROBLEMS: Updated.
1748 * man/groff_out.man, man/roff.man, src/devices/grops/grops.man,
1749 src/devices/xditview/gxditview.man, src/roff/groff/groff.man:
1750 Protect (g)xditview with `\%' to avoid hyphenation.
1751 Other minor formatting.
1753 2004-06-01 Werner LEMBERG <wl@gnu.org>
1755 Integrate gxditview into groff's standard directory hierarchy.
1757 * src/xditview/*: Moved to ...
1758 * src/devices/xditview/*: Here.
1759 Moved DviChar.h and XFontName.h to src/include.
1760 Moved DviChar.c and XFontName.c to new directory src/libs/libxutil.
1761 Split off `xmalloc' into new file src/libs/libxutil/xmalloc.c.
1762 Moved xtotroff.c to new directory src/utils/xtotroff.
1763 Provide proper Makefile.sub files (reusing the stuff from
1765 DESC renamed to DESC.in.
1766 Removed GXDitview-ad.h, INSTALL, Imakefile.in.
1767 Converted everything from K&R to ANSI C.
1768 Decorated with const where appropriate.
1769 Cast string constants with `String' and `char *' where appropriate.
1770 Made it compile with C++ (used as a C compiler).
1771 Removed other minor compiler warnings.
1773 * src/devices/xditview/device.c: Include config.h, string.h, and
1775 Don't declare `exit', `strtok', `strchr', and `getenv'.
1778 * src/devices/xditview/font.c: Don't declare `XParseFontName' and
1781 * src/devices/xditview/xditview.c: Include config.h.
1782 Include stdio.h earlier.
1783 Protect declaration of `popen' and `pclose' with
1784 NEED_DECLARATION_POPEN and NEED_DECLARATION_PCLOSE.
1785 Replace `caddr_t' with `XtPointer'.
1786 (MakePromptFunc): New typedef.
1787 (DoPrint): Use RETSIGTYPE.
1788 (promptfunction): Change type to MakePromptFunc.
1789 (MakePrompt): Use MakePromptFunc for third argument.
1792 * src/devices/xditview/ad2c: Add casts to `String'.
1794 * src/include/XFontName.h (XFontNameString): Don't use array
1796 Add prototypes for `XParseFontName', `XFormatFontName',
1797 `XCompareFontName', and `XCopyFontName'.
1799 * src/include/Makefile.sub (HDRS): Add `DviChar.h' and
1802 * src/utils/xtotroff/xtotroff.c: Include getopt.h.
1803 Don't declare `XParseFontName' and `XFormatFontName'.
1805 (main): Remove `optind' and `optarg'.
1807 * Makefile.in (XDEVDIRS, XPROGDIRS, XLIBDIRS): New variables
1808 (to select programs which need X).
1809 Make XDEVIDIRS depend on `FORCE'.
1810 (X_CFLAGS, X_LIBS, X_EXTRA_LIBS, X_PRE_LIBS): New variables (for
1812 (MDEFINES): Updated.
1813 (LIBDIRS): Use XLIBDIRS.
1814 (CPROGDIRS): Use XPROGDIRS.
1815 (DEVDIRS): Remove font directories for gxditview.
1816 (ALLDIRS, DISTDIRS): Add XDEVDIRS.
1817 (EXTRADIRS): Remove src/xditview.
1819 * Makefile.sub (DISCLEANFILES): Updated.
1821 * Makefile.comm (LIBXUTIL): New variable.
1822 (.cpp.o, .cpp.obj): Handle EXTRA_CCFLAGS.
1823 (.c.o, .c.obj, .y.o): Handle EXTRA_CFLAGS.
1825 * Makefile.cpg, Makefile.ccpg ($PROG): Handle EXTRA_LDFLAGS.
1827 * aclocal.m4 (GROFF_X11): New function.
1829 * configure.ac: Call GROFF_X11.
1830 Don't create src/xditview/Imakefile.
1831 Don't emit notice how to build gxditview.
1833 * configure: Regenerated.
1835 * test-groff.in (GROFF_BIN_PATH, XENVIRONMENT): Updated.
1837 2004-05-28 Akihiro Sagawa <sagawa@sohgoh.net>
1839 * Makefile.in (CPPFLAGS): Define.
1840 (MDEFINES): Add CPPFLAGS.
1842 2004-05-27 Werner LEMBERG <wl@gnu.org>
1844 * arch/misc/Makefile.sub (shdeps.sed): Use $(srcdir).
1846 2004-05-26 Niklas Edmundsson <nikke@acc.umu.se>
1848 Fix problems with `friend name injections'.
1850 * src/preproc/eqn/box.h (make_mark_box, make_lineup_box,
1851 make_script_box), src/roff/troff/div.h (end_diversions),
1852 src/roff/troff/env.h (title), input.cpp (process_input_stack): Undo
1855 2004-05-25 Bernd Warken <bwarken@mayn.de>
1857 * src/preproc/pic/pic.man, doc/pic.ms: Add example for `command'.
1859 2004-05-25 Werner LEMBERG <wl@gnu.org>
1861 * src/libs/libgroff/cset.cpp, src/libs/libgroff/lf.cpp,
1862 src/libs/libgroff/color.cpp: Include lib.h.
1864 2004-05-25 Paul Eggert <eggert@cs.ucla.edu>
1866 * PROBLEMS: Update documentation for problems with Sun C++ 5.0
1867 through Forte 6u1, and for how to get GNU make on Solaris.
1869 2004-05-24 Werner LEMBERG <wl@gnu.org>
1871 * PROBLEMS: Document problems with gcc 3.4.0 on Sun. Reported
1874 2004-05-15 Keith Marshall <keith.d.marshall@ntlworld.com>
1876 * arch/misc/Makefile.sub (shdeps.sed): Don't use `$<' in explicit
1879 2005-05-14 Werner LEMBERG <wl@gnu.org>
1881 * REVISION: Set to 2.
1883 * aclocal.m4 (GROFF_STDINT_H): Removed.
1884 (GROFF_INTTYPES_H): Define HAVE_CC_INTTYPES_H.
1886 * configure.ac: Updated.
1887 * configure, src/include/config.hin: Regenerated.
1889 * src/libs/libgroff/tmpname.cpp: Don't include stdint.h but
1890 inttypes.h conditionally.
1892 2003-05-13 Werner LEMBERG <wl@gnu.org>
1894 Version 1.19.1 released
1895 =======================
1897 2004-05-10 Stephen Gildea <http://www.gildea.com/stephen>
1899 * src/preproc/refer/label.y (same_author_last_name,
1900 same_author_name): Handle empty sort keys.
1902 2004-05-10 Werner LEMBERG <wl@gnu.org>
1904 * NEWS, README, TODO, PROJECTS, PROBLEMS, MANIFEST, doc/webpage.ms,
1907 * tmac/doc-syms (doc-str-Lb-libposix, doc-str-Lb-libpthread,
1908 doc-str-Lb-librt): Reset font.
1909 (Lb): Rename `doc-str-Lb' to `doc-str-Lb1'.
1910 Provide `doc-str-Lb' to reset font.
1911 * tmac/groff_mdoc.man: Updated.
1913 2004-05-08 Jan Schaumann <jschauma@netmeister.org>
1915 * src/preproc/html/pre-html.cpp (make_message): Make it work for
1916 snprintf versions which don't conform to ANSI C 99 (this is,
1917 counting the string's trailing null byte in the return value).
1919 2004-05-07 Keith Marshall <keith.d.marshall@ntlworld.com>
1921 * src/roff/troff/node.cpp (suppress_node::tprint): Don't expect
1922 that all implementations of sprintf handle null pointers correctly.
1924 2004-05-04 Werner LEMBERG <wl@gnu.org>
1926 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
1927 Document `.U' register.
1929 * src/roff/troff/env.cpp (environment::mark_last_line)
1930 [WIDOW_CONTROL]: Fix scope of `p' for new C++ compilers.
1932 2004-05-04 Larry Kollar <kollar@alltel.net>
1934 New read-only register `.U'; it returns 1 in safer mode and 0
1937 * src/roff/troff/input.cpp (init_input_requests): Implement `.U'
1940 2004-05-03 Werner LEMBERG <wl@gnu.org>
1942 * install-sh, mkinstalldirs: New versions; taken from texinfo CVS.
1944 2004-04-17 Werner LEMBERG <wl@gnu.org>
1946 * src/include/font.h (font): Use `int' for ch_index.
1947 * src/libs/libgroff/font.cpp (font::alloc_ch_index,
1948 font::compact): Updated.
1950 * src/roff/groff/pipeline.c (run_pipeline) [_WIN32]: Fix compiler
1953 * src/roff/troff/div.cpp (begin_page), src/roff/troff/env.cpp
1954 (hyphen_word): Fix compiler warnings.
1955 * src/roff/troff/input.cpp (get_char_for_escape_name): Return
1958 (get_delim_number, get_line_arg): Change second argument type to
1960 (macro_header::copy, token::next, do_define_string,
1961 do_define_character, substring_request, asciify_macro,
1962 unformat_macro, read_size, non_interpreted_node::interpret,
1963 while_request, main: Fix compiler warnings.
1964 (read_color_draw_node): Initialize `col'.
1966 * src/preproc/tbl/table.cpp (horizontal_span, table_entry): Make
1967 `start_col' and `end_col' of type `int'.
1968 (vertical_rule): Make `col' of type `int'.
1970 * src/preproc/grn/hdb.cpp (DBRead): Protect call to getc with check
1973 * src/preproc/refer/label.y (uppercase_array, lowercase_array):
1975 (format_serial): Use them to remove dependency on ASCII.
1977 * src/devices/grops/ps.cpp (ps_printer::define_encoding): Fix
1979 * src/devices/grops/psrm.cpp (resource_manager::supply_resource):
1982 * src/devices/grotty/tty.cpp (tty_font::load_tty_font): Fix
1984 (glyph): Change type of `hpos' to `int'.
1986 * src/devices/lbp/lbp.cpp (strsep): Removed. Unused.
1987 * src/devices/lbp/lbp.h (splinerel): Fix compiler warnings.
1989 * src/utils/tfmtodit.cpp (gf::load): Fix compiler warnings.
1991 * src/utils/pfbtops/pfbtops.c (get_text): Fix compiler warning.
1993 2004-04-16 Werner LEMBERG <wl@gnu.org>
1995 * src/devices/grolbp/lbp.h, src/preproc/grn/gprint.h,
1996 src/preproc/grn/hgraph.cpp, src/preproc/grn/hpoint.cpp,
1997 src/preproc/html/pushback.cpp, src/preproc/html/pushback.h: Use
1998 `double' instead of `float' everywhere.
1999 * src/preproc/grn/main.cpp: Use `double' instead of `float'
2001 (main): Add return value.
2002 * src/preproc/grn/hdb.cpp: Use `double' instead of `float'
2004 Update all user functions.
2006 * src/include/search.h, src/include/ptable.h, src/include/printer.h,
2007 src/preproc/eqn/box.h, src/preproc/pic/object.h,
2008 src/preproc/refer/refer.h, src/preproc/tbl/table.h,
2009 src/preproc/tbl/table.cpp, src/roff/troff/env.h,
2010 src/roff/troff/div.h, src/roff/troff/token.h, src/roff/troff/node.h,
2011 src/roff/troff/input.cpp, src/roff/troff/request.h,
2012 src/roff/troff/node.cpp: Don't mix `struct' and `class' in forward
2015 * src/utils/indxbib/signal.c: Include stdlib.h.
2017 2004-04-14 Keith Marshall <keith.d.marshall@ntlworld.com>
2019 * tmac/s.tmac (@init, RP): Allow initialization of the PO register
2020 before the first page.
2022 2004-04-14 Thomas Klausner <wiz@netbsd.org>
2024 * tmac/doc-common (doc-volume-as-*): Use lowercase names.
2025 (doc-operating-system-*): Updated.
2026 * tmac/doc-syms (doc-str-St-*): Various small fixes.
2027 (doc-str-Lb-*): Add more library names.
2029 2004-04-10 Art Haas <ahaas@airmail.net>
2031 * src/utils/hpftodit/hpuni.cpp (hp_msl_to_unicode_list): Don't
2034 2004-04-09 Art Haas <ahaas@airmail.net>
2036 * src/utils/tfmtodit.cpp (lig_chars): Don't use anonymous type.
2038 2004-04-09 Keith Marshall <keith.d.marshall@ntlworld.com>
2040 * arch/misc/shdeps.sh: Generate better comment for sed script.
2042 2004-04-08 Art Haas <ahaas@airmail.net>
2044 * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list),
2045 src/libs/libgroff/uniglyph.cpp (unicode_to_glyph_list),
2046 src/libs/libgroff/uniuni.cpp (unicode_decompose_list),
2047 src/preproc/eqn/box.cpp (param_table), src/preproc/grn/hgraph.cpp
2048 (polyfill), src/preproc/grn/main.cpp (polyfill),
2049 src/preproc/refer/command.cpp (command_table),
2050 src/utils/tfmtodit.cpp (lig_table): Don't use anonymous types (which
2051 gcc 3.5 doesn't like).
2053 2004-04-08 Werner LEMBERG <wl@gnu.org>
2055 Removing many compiler warnings. groff should now compile with
2056 a C++ compiler used for C files also. [Simple variable renamings
2057 to avoid shadowing aren't logged in detail.]
2059 * src/devices/grodvi/dvi.cpp: Some local variable renamings.
2060 (draw_dvi_printer::draw) ['c']: Enclose in block.
2062 * src/devices/grohtml/post-html.cpp: Some local variable renamings.
2063 (page::add_line): Fix typos.
2064 * src/devices/grohtml/html-text.cpp: Some local variable renamings.
2066 * src/devices/grolbp/lbp.cpp: Don't define _GNU_SOURCE.
2067 Some local variable renamings.
2068 * src/devices/grolbp/lbp.h: Some local variable renamings.
2070 * src/devices/grolj4/lj4.cpp, src/devices/grotty/tty.cpp: Some local
2073 * src/libs/libbib/index.cpp (index_search_item_iterator::get_tag):
2074 Remove redundant local variable declaration.
2075 * src/libs/libbib/map.c (mapread, unmap): Don't use K&R style.
2076 Don't use `caddr_t' but `void *'.
2077 Enclose functions with `extern "C"' for C++.
2079 * src/libs/libdriver/input.cpp (remember_filename,
2080 remember_source_filename): Use cast for string constant.
2082 * src/libs/libgroff/font.cpp, src/libs/libgroff/fontfile.cpp,
2083 src/libs/libgroff/nametoindex.cpp, src/libs/libgroff/paper.cpp,
2084 src/libs/libgroff/geometry.cpp: Some local variable renamings.
2085 * src/libs/libgroff/iftoa.c, src/libs/libgroff/itoa.c: Don't use K&R
2087 Enclose functions with `extern "C"' for C++.
2088 * src/libs/libgroff/quotearg.c (TRUE,FALSE): Define as macros.
2089 (needs_quoting): Return `int'.
2090 (quote_arg): Add proper casts to malloc and realloc.
2091 * src/libs/libgroff/spawnvp.c: Compile code only for MS-DOS and
2092 various MS Windows environments.
2093 (spawnvp_wrapper): Add proper cast to malloc.
2095 * src/preproc/eqn/box.h: Remove redundant declarations of
2096 `make_script_box', `make_mark_box' and `make_lineup_box'.
2097 * src/preproc/eqn/eqn.y: Remove redundant declaration of `strsave'.
2098 * src/preproc/eqn/script.cpp, src/preproc/eqn/pile.cpp: Some local
2101 * src/preproc/grn/hpoint.cpp: Some local variable renamings.
2102 * src/preproc/grn/hgraph.cpp: Some local variable renamings.
2103 (dx, dy): Renamed functions to...
2104 (deltax, deltay): This.
2105 * src/preproc/grn/main.cpp: Some local variable renamings.
2106 (deffont): Add `const'.
2107 (initpic, conv): Use cast for string constant.
2109 * src/preproc/html/pre-html.cpp: Some local variable renamings.
2110 (makeFileName, alterDeviceTo, addZ): Use cast for string constant.
2111 (char_buffer::run_output_filter): Second argument is unused.
2112 * src/preproc/html/pushback.cpp: Some local variable renamings.
2114 * src/preproc/pic/pic.y: Remove redundant declaration of `do_copy'.
2115 * src/preproc/pic/object.cpp: Some local variable renamings.
2117 * src/preproc/refer/label.y (lookup_label): Remove redundant
2118 declaration of local variable.
2120 * src/preproc/soelim.cpp: Remove redundant declaration of
2121 `interpret_lf_args'.
2123 * src/preproc/tbl/main.cpp: Some local variable renamings.
2125 * src/roff/groff/groff.cpp (main): Use cast for string constant.
2126 * src/roff/groff/pipeline.c: Enclose declarations of `error',
2127 `c_fatal', and `i_to_a' with `extern "C"' for C++.
2128 Don't use C++-style comments.
2130 * src/roff/troff/env.h: Remove redundant declaration of `title'.
2131 * src/roff/troff/node.h, src/roff/troff/env.cpp,
2132 src/roff/troff/div.cpp, src/roff/troff/node.cpp: Some local variable
2134 * src/roff/troff/div.h: Remove redundant declaration of
2136 * src/roff/troff/troff.h: Remove redundant declaration of
2138 * src/roff/troff/input.cpp: Remove redundant declaration of
2139 `handle_first_page_transition' and `process_input_stack'.
2141 * src/utils/hpftodit.cpp: Some local variable renamings.
2143 * src/utils/indxbib/signal.c: Enclose functions with `extern "C"'
2145 Don't define RETSIGTYPE.
2146 * src/utils/indxbib/indxbib.cpp: Some local variable renamings.
2148 * src/utils/pfbtops/pfbtops.cpp: Don't use K&R style.
2149 (error): Use `const' in argument.
2150 (main): Remove redundant declaration of `optind'.
2151 Move declaration of `Version_string' to top-level.
2153 * PROBLEMS: Document difficulties compiling signal.c if a C++
2154 compiler is used for C.
2156 2004-04-07 Werner LEMBERG <wl@gnu.org>
2158 * Makefile.sub (DISTCLEANFILES): Add `test-groff'.
2160 2004-04-06 Keith Marshall <keith.d.marshall@ntlworld.com>
2162 Make scripts like nroff.sh and neqn.sh portable across various
2163 (Unix-like) shell implementations from Cygwin, MSYS, etc., which use
2164 non-POSIX path separators. The idea is to extend those scripts to
2165 decide at run-time (of the script) which path separator to use.
2167 * arch/misc/Makefile.sub: New file.
2168 * arch/misc/shdeps.sh: New file, generating OS dependency fixups.
2169 This script handles @GROFF_BIN_PATH_SETUP@, replacing it with
2170 a proper definition of the variable `GROFF_RUNTIME'.
2172 * Makefile.in (SH_DEPS_SED_SCRIPT): New variable.
2173 (MDEFINES): Add SH_DEPS_SED_SCRIPT.
2174 (PROGDEPDIRS): New variable.
2176 (PROGDIRS): Add PROGDEPDIRS.
2178 * src/preproc/eqn/Makefile.sub (neqn): Call SH_DEPS_SED_SCRIPT.
2179 Don't substitute @SEP@ and @BINDIR@.
2180 * src/preproc/eqn/neqn.sh: Use @GROFF_BIN_PATH_SETUP@.
2181 (PATH): Use GROFF_RUNTIME.
2183 * src/roff/nroff/Makefile.sub (nroff): Call SH_DEPS_SED_SCRIPT.
2184 Don't substitute @SEP@ and @BINDIR@.
2185 * src/roff/nroff/nroff.sh: Use @GROFF_BIN_PATH_SETUP@.
2186 (PATH): Use GROFF_RUNTIME.
2188 2004-04-05 Keith Marshall <keith.d.marshall@ntlworld.com>
2190 * src/roff/nroff/nroff.sh: Implement work-around for sh.exe from
2191 Cygwin which doesn't handle stderr correctly.
2193 2004-03-08 Werner LEMBERG <wl@gnu.org>
2195 * Makefile.comm (install_dev, uninstall_dev): Protect `for' loops
2196 against empty argument. Problem reported by <cgd@broadcom.com>.
2198 2004-03-05 Keith Marshall <keith.d.marshall@ntlworld.com>
2200 * Makefile.in (SEP): Replaced with...
2201 (RT_SEP, SH_SEP): Separators for the target platform's native path
2202 separator and the build environment, respectively.
2203 (fontpath, tmacpath): Use RT_SEP.
2204 (MDEFINES): Updated.
2206 * contrib/mom/Makefile.sub (GROFF_BIN_PATH): Use SH_SEP.
2207 * doc/Makefile.sub (GROFF_BIN_PATH): Use SH_SEP.
2208 * src/preproc/eqn/Makefile.sub (neqn): Use SH_SEP.
2209 * src/roff/nroff/Makefile.sub (nroff): Use SH_SEP.
2211 2004-03-05 Werner LEMBERG <wl@gnu.org>
2213 * fonts/devlj4/Makefile.sub (LJ4RES): Set to 1200. This helps to
2214 reduce alignment problems with newer printers which use built-in
2215 TrueType fonts (instead of the older Intellifonts). The ideal
2216 solution is to provide a second set of groff metric files, but this
2217 is extremely time-consuming to produce, given that HP's metric
2218 files are very rudimentary.
2220 2004-03-01 Werner LEMBERG <wl@gnu.org>
2222 * src/devices/grolj4/lj4.cpp (main): Fix argument of getopt_long.
2223 s/operand/argument/ in error message.
2225 2004-03-01 Keith Marshall <keith.d.marshall@ntlworld.com>
2227 * src/roff/groff/groff.cpp (main): Don't allow option -o if -Thtml
2230 2004-03-01 Antti Kantee <pooka@netbsd.org>
2232 * tmac/s.tmac (XE): Fix error message.
2234 2004-02-27 Jeff Conrad <jeff_conrad@msn.com>
2236 * src/include/nonposix.h (write, dup, dup2, close) [_MSC_VER]:
2239 * src/roff/groff/pipeline.c: Declare strcasecmp.
2240 (run_pipeline) [_WIN32]: Use function name variants which don't
2242 Fix stream handling.
2244 2004-02-27 Keith Marshall <keith.d.marshall@ntlworld.com>
2246 * src/include/nonposix.h: Fix declaration of `system_shell_name'.
2247 Declare `spawnvp_wrapper' and macro definitions of spawnvp only
2248 for platforms which use the native Win32 runtime libraries.
2249 (FLUSH_INPUT_PIPE) [_UWIN]: Provide non-empty version.
2251 * src/libs/libgroff/quotearg.c (QUOTE_ARG_MALLOC_ERROR,
2252 QUOTE_ARG_REALLOC_ERROR): Fix string.
2254 * src/preproc/html/pre-html.cpp: Remove declaration of
2256 Don't use __MINGW32__.
2257 s/DEBUG_FILE/DEBUG_FILE_DIR/.
2258 (DEBUG_TEXT, DEBUG_NAME, DEBUG_FILE) [DEBUGGING]: New macros.
2259 (OUTPUT_STREAM, PS_OUTPUT_STREAM, REGION_OUTPUT_STREAM): New macros.
2260 (char_buffer::run_output_filter) [MAY_FORK_CHILD_PROCESS]: Fix
2261 calls to `set_redirection' and `WAIT'.
2262 [MAY_SPAWN_ASYNCHRONOUS_CHILD]: Remove unused variable `i' and `j'.
2263 Fix calls to `set_redirection' and `save_and_redirect'.
2264 (char_buffer::do_html, char_buffer::do_image) [DEBUGGING]: Fix calls
2265 to `set_redirection' and `save_and_redirect'.
2266 (usage): Fix message.
2267 (makeTempFiles, main): Use `DEBUG_FILE'.
2269 2004-02-21 Werner LEMBERG <wl@gnu.org>
2271 * src/roff/troff/troff.h (WARN_TOTAL): Fix value.
2273 2004-02-21 Keith Marshall <keith.d.marshall@ntlworld.com>
2275 * src/libs/libgroff/quotearg.c: New file, providing proper argument
2276 quoting for MSVC's spawn* and exec* functions.
2277 * src/libs/libgroff/spawnvp.c: New file, providing a wrapper around
2278 spawnvp with proper quoting for MSVC.
2280 * src/libs/libgroff/assert.cpp (program_name),
2281 src/libs/libgroff/new.cpp (program_name): Declare as `extern "C"'.
2282 * src/libs/libgroff/Makefile.sub (OBJS, CSRCS): Updated.
2284 * src/roff/troff/input.cpp (program_name): Declare as `extern "C"'.
2286 * src/include/error.h (program_name): Declare as `extern "C"'.
2287 * src/include/nonposix.h [__MSDOS__ ...]: Handle spawnvp.
2289 2004-02-21 Jeff Conrad <jeff_conrad@msn.com>
2291 * src/preproc/html/pre-html.cpp [__CYGWIN__ ...]: Declare
2293 [MAY_SPAWN_ASYNCHRONOUS_CHILD]: Declare i and j.
2295 2004-02-20 Jeff Conrad <jeff_conrad@msn.com>
2297 * src/roff/groff/pipeline.c (cmd) [__MSDOS__ || ...]: New global
2299 (sbasename) [__MSDOS__ || ...]: New function.
2300 (system_shell_name) [__MSDOS__ || ...]: Use a different, more
2302 (system_shell_dash_c, is_system_shell) [__MSDOS__ || ...]: Updated.
2303 (run_pipeline) [_WIN32]: Use _XXX variants for some macros instead
2305 Use STDOUT_FILENO instead of hardcoded file handle.
2306 (signal_catcher) [__MSDOS__]: Moved to non-_WIN32 section.
2308 2004-02-19 Werner LEMBERG <wl@gnu.org>
2310 * src/roff/troff/div.cpp: Include nonposix.h after troff.h to
2311 avoid warnings w.r.t. redefinition of P_tmpdir for some compilers.
2313 2004-02-18 Werner LEMBERG <wl@gnu.org>
2315 * font/devlj4/Makefile.sub (DEVFILES): Updated to contain all
2316 new font and mapping files.
2318 2004-02-18 Jeff Conrad <jeff_conrad@msn.com>
2319 Keith Marshall <keith.d.marshall@ntlworld.com>
2321 * src/include/nonposix.h (FLUSH_INPUT_PIPE): New macro to empty
2322 an input pipe. This is needed for the MSVC compiler to make troff's
2325 * src/roff/troff/div.cpp: Include nonposix.h.
2326 (cleanup_and_exit): Call FLUSH_INPUT_PIPE.
2328 2004-02-17 Werner LEMBERG <wl@gnu.org>
2330 * font/devlj4/generate/special.awk: New script.
2331 * font/devlj4/generate/Makefile (S): Use special.awk.
2332 * font/devlj4/*: Regenerated, including the following new files:
2333 Arial (AR, AB, AI, ABI), Times New Roman (TNRR, TNRB, TNRI, TNRBI),
2334 MS Symbol (SYMBOL), Wingdings (WINGDINGS).
2335 * NEWS: Document new lj4 fonts and revised hpftodit.
2337 2004-02-17 Paco Andrés Verdú <pandres@dragonet.es>
2339 * src/devices/grolbp/lbp.h (vmdvarc): Fix formatting string.
2341 2004-01-25 Werner LEMBERG <wl@gnu.org>
2343 * src/libs/libgroff/progname.cpp: Replaced with...
2344 * src/libs/libgroff/progname.c: New file.
2345 * src/libs/libgroff/Makefile.sub: Updated accordingly.
2347 2004-01-17 Werner LEMBERG <wl@gnu.org>
2349 * font/devlj4/generate/Makefile (SYMBOL): Use 9nb28703.tfm.
2351 2004-01-16 Jeff Conrad <jeff_conrad@msn.com>
2353 * font/devlj4/generate/wingdings.map,
2354 font/devlj4/generate/symbol.map: Include unnamed glyphs.
2355 Use groff glyph names where possible.
2356 * src/devices/grolj4/lj4_font.man: Minor updates.
2358 2004-01-13 Werner LEMBERG <wl@gnu.org>
2360 * tmac/www.tmac (DC): Handle TTY devices.
2362 * doc/webpage.ms: Document viewCVS from ffii.org.
2363 * NEWS, README: Updated.
2365 * src/roff/groff/groff.man: Mention lj4_font man page.
2367 * font/devlj4/generate/Makefile (SYMBOLMAP, WINGDINGSMAP): New
2369 (FONTS): Add SYMBOL and WINGDINGS.
2370 (SYMBOL, WINGDINGS): New targets.
2372 2004-01-13 Jeff Conrad <jeff_conrad@msn.com>
2374 * src/devices/grolj4/lj4_font.man: New man page.
2375 * src/devices/grolj4/Makefile.sub (MAN5): New variable.
2376 * src/devices/grolj4.man: Mention lj4_font man page.
2378 * src/utils/hpftodit/hpftodit.cpp (read_map): Handle line comments.
2379 * src/utils/hpftodit/hpftodit.man: Document it.
2381 Remove details about fonts (which are now in lj4_font.man).
2383 * font/devlj4/generate/symbol.map,
2384 font/devlj4/generate/wingdings.map: New files.
2386 2004-01-12 Werner LEMBERG <wl@gnu.org>
2388 * README: Mention ffii's viewcvs access.
2390 2004-01-09 Werner LEMBERG <wl@gnu.org>
2392 * font/devlj4/generate/special.map: Map MSL 228 to U+221F.
2394 2004-01-09 Jeff Conrad <jeff_conrad@msn.com>
2396 Revert most of the change from 2004-01-03 to better control used
2399 * src/utils/hpftodit/hpftodit.cpp (symbol_set): New structure.
2400 (text_symbol_sets, special_symbol_sets): New arrays.
2401 (symbol_set_table): New global variable.
2402 (read_symbol_sets): Use search order given in the text_symbol_sets
2403 and special_symbol_sets arrays. If command line flag -a is not
2404 given, search both arrays.
2405 (output_charset): Require x_height_tag only for command line flag -i.
2407 2004-01-06 Werner LEMBERG <wl@gnu.org>
2409 Implement string-valued registers \n[.m] and \n[.M] to return the
2410 name of the current drawing and background color, respectively.
2412 * src/roff/troff/symbol.h: Moved to...
2413 * src/include/symbol.h: Here.
2414 Small fixes to make it work outside of the `troff' directory.
2415 * src/roff/troff/symbol.cpp: Moved to...
2416 * src/libs/libgroff/symbol.cpp: Here.
2417 Small fixes to make it work outside of the `troff' directory.
2419 * src/include/Makefile.sub (HDRS), src/libs/libgroff/Makefile.sub
2420 (OBJS, CCSRCS), src/roff/troff/Makefile.sub (OBJS, CCSRCS, HDRS):
2423 * src/include/color.h: Include symbol.h.
2424 (color): Add new field `nm'.
2425 * src/libs/libgroff/color.cpp (color::color): Updated.
2427 * src/roff/troff/dictionary.cpp, src/roff/troff/div.cpp,
2428 src/roff/troff/node.cpp, src/roff/troff/number.cpp,
2429 src/roff/troff/reg.cpp: Don't include symbol.h.
2431 * src/roff/troff/env.cpp: Don't include symbol.h.
2432 (environment::get_glyph_color_string,
2433 environment_get_fill_color_string): New member functions.
2434 (init_env_requests): Handle `.m' and `.M' registers.
2435 * src/roff/troff/input.cpp: Don't include symbol.h.
2436 (default_symbol): Moved to symbol.cpp/symbol.h.
2437 (do_glyph_color, do_fill_color, define_color): Pass symbol name
2438 to color constructor.
2439 * src/roff/troff/env.h: Updated.
2441 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
2442 Document new registers.
2444 2004-01-05 Werner LEMBERG <wl@gnu.org>
2446 * src/roff/troff/node.cpp (space_node::get_breakpoints,
2447 space_node::nbreaks): Protect against zero `next' field.
2449 2004-01-03 Jeff Conrad <jeff_conrad@msn.com>
2451 In hpftodit, use the symbol sets offered in the TFM.
2453 * src/utils/hpftodit/hpftodit.cpp (NO_GLYPH): New constant.
2454 (symbol_set, text_symbol_sets, special_symbol_sets,
2455 symbol_set_table): Removed.
2456 (get_printcode): Removed.
2457 (read_symbol_sets): Initialize `symbol_set' field with
2459 Simplify code to just use the `kind' value.
2460 (output_charset): Improve output formatting.
2461 (dump_symbols): Simplified.
2463 2004-01-02 Werner LEMBERG <wl@gnu.org>
2465 * font/devlj4/generate/text.map: Add more MSL numbers.
2467 2004-01-02 Jeff Conrad <jeff_conrad@msn.com>
2469 * src/utils/hpftodit/hpftodit.cpp (is_decomposed): New macro.
2470 (text_symbol_sets): Add more symbol sets.
2471 (debug_flag): New static variable (moved from `main').
2472 (get_printcode, show_symset): New functions.
2473 (main): Remove `debug_flag'.
2474 (output_charset): Use `show_symset'.
2475 (dump_symbols): Use `show_symset'.
2476 Print symsets for all glyphs.
2477 (read_map): Actually call `unicode_to_ucode_make' but this time
2480 2004-01-01 Werner LEMBERG <wl@gnu.org>
2482 * font/devlj4/generate/text.map, font/devlj4/generate/special.map:
2483 Fix placement of comments.
2485 2004-01-01 Jeff Conrad <jeff_conrad@msn.com>
2487 * src/utils/hpftodit/hpftodit.cpp (main): Read map file also if
2488 option `-d' is given.
2489 (output_charset): Improve warning messages to give more information.
2490 (dump_symbols): Make information more precise.
2492 (read_map): Don't call unicode_to_ucode_name; the glyph names must
2493 appear as-is and shouldn't be decomposed.
2495 2003-12-31 Werner LEMBERG <wl@gnu.org>
2497 * src/utils/hpftodit/hpftodit.cpp (dump_tags): Handle posture_tag.
2498 * font/devlj4/generate/Makefile (IFLAG): Updated to new units.
2499 (FONTS): Add TrueType font families Arial and Times New Roman.
2500 (TNRR, TNRB, TNRI, TNRBI, AR, AB, AI, ABI): New targets.
2501 * font/devlj4/generate/text.map: Fix Unicode values of `fi' and
2504 2003-12-31 Jeff Conrad <jeff_conrad@msn.com>
2506 * test-groff.in (SEP): Quote value.
2507 * src/roff/troff/node.cpp (suppress_node::tprint): Change type of
2508 `tem' to `char*' to avoid deallocation of a pointer to a constant
2509 object which some compilers don't like.
2511 2003-12-31 Werner LEMBERG <wl@gnu.org>
2513 * font/devlj4/generate (text.map, special.map): Rewritten to work
2514 with the new hpftodit version.
2516 2003-12-30 Jeff Conrad <jeff_conrad@msn.com>
2518 * src/utils/hpftodit/hpftodit.cpp (output_charset): Emit HP symbol
2519 set and 8bit character code for all glyphs also.
2521 2003-12-30 Werner LEMBERG <wl@gnu.org>
2523 * src/libs/libgroff/strcasecmp.c: Updated from gnulib.
2525 2003-12-29 Werner LEMBERG <wl@gnu.org>
2527 More fixes for MSVC compiler.
2529 * doc/Makefile.sub, contrib/mom/Makefile.sub (GROFF_BIN_PATH): Use
2532 * src/include/nonposix.h (STDIN_FILENO, STDOUT_FILENO,
2533 STDERR_FILENO) [_MSC_VER]: Define conditionally.
2534 (getpid) [_MSC_VER]: Remove.
2535 Include direct.h and process.h conditionally.
2537 * src/roff/troff/node.cpp (suppress_node::tprint): Don't use
2538 parentheses for a_delete.
2540 * src/utils/lookbib/lookbib.cpp: Include nonposix.h.
2542 * test-groff: Replaced with...
2543 * test-groff.in: This new template to handle path separator
2546 * configure.ac: Check for direct.h and process.h.
2547 Generate test-groff script.
2548 * configure, src/include/config.hin: Regenerated.
2550 2003-12-28 Werner LEMBERG <wl@gnu.org>
2552 Add integral extension glyph.
2553 Add new option `-x' to afmtodit to suppress use of built-in AGL.
2555 * font/devhtml/R.proto, font/devutf8/R.proto: Add `u23AE'.
2557 * font/devps/generate/textmap: Provide entry for `integralex' to
2558 override (old) PUA value of the AGL.
2559 * font/devps/generate/Makefile (SS): Add afmtodit option `-x'.
2560 * font/devps/*: Regenerated.
2562 * src/utils/afmtodit/afmtodit.pl: Add option `-x'.
2563 * src/utils/afmtodit/afmtodit.man, NEWS: Updated.
2565 2003-12-27 Werner LEMBERG <wl@gnu.org>
2567 Add forgotten `coproduct' symbol (already available for DVI).
2569 * font/devhtml/R.proto, font/devps/generate/textmap,
2570 font/devps/symbolmap, font/devutf8/R.proto, man/groff_char.man,
2571 src/libs/libgroff/uniglyph.cc, src/libs/libgroff/glyphuni.cpp: Add
2572 U+2210 (\[coproduct]).
2574 2003-12-26 Jeff Conrad <jeff_conrad@msn.com>
2576 hpftodit has been extended to handle TrueType metric files and
2577 more glyphs. See hpftodit.man for more details.
2579 * src/utils/hpftodit/hpftodit.cpp: Include stdio.h, string.h,
2580 ctype.h, and unicode.h.
2581 s/msl/charcode/ everywhere since we now handle Unicode values also.
2582 (equal, NO, YES, MSL, SYMSET, UNICODE, UNICODE): New macros.
2583 Use it where appropriate.
2584 (MULTIPLIER): Replaced with...
2585 (multiplier): New global static variable.
2587 (tag_type): Add more TFM tags.
2588 (tag_name): New array.
2589 (ENUM_TYPE, FLOAT_TYPE): Removed.
2590 (BYTE_TYPE): New value assigned.
2591 (ASCII_TYPE, RATIONAL_TYPE): New enumeration values.
2592 (text_symbol_sets, special_symbol_sets): Extended to cover more
2594 (check_type): Add return value.
2595 (check_units): Add parameters to get ppi and upem values.
2596 Handle TrueType TFM data.
2597 (output_font_name): New function.
2598 (output_charset): Add parameter to handle TFM type.
2599 Handle TrueType TFMs also.
2600 (em_fract): New macro.
2601 (dump_tags): Be much more verbose and handle more tags.
2602 (dump_ascii, dump_symbol_sets, dump_symbols): New functions.
2603 (hp_msl_to_ucode_name, unicode_to_ucode_name, is_uname): New
2605 (read_map): Add parameter to handle TFM type.
2606 Handle both MSL and Unicode mappings.
2607 (main): Add two new command line options `-a' and `-q'.
2608 Updated to make use of new functions.
2611 * src/utils/hpftodit/hpuni.cpp: New file.
2613 * src/utils/hpftodit/Makefile.sub, src/utils/hpftodit/hpftodit.man:
2616 2003-12-25 Werner LEMBERG <wl@gnu.org>
2618 * src/include/nonposix.h (read) [_MSC_VER]: Define.
2620 2003-12-24 Werner LEMBERG <wl@gnu.org>
2622 * src/utils/afmtodit/afmtodit.man: Some reformulations as suggested
2623 by Michail Vidiassov <master@iaas.msu.ru>.
2625 2003-12-20 Werner LEMBERG <wl@gnu.org>
2627 * font/devhtml/R.proto: Add u00{47,67}_0306, u00{53,73}_0327,
2629 Add missing latin-2 glyphs.
2630 * font/devutf8/R.proto: Add missing latin-2 glyphs.
2632 * tmac/troffrc: Load `composite.tmac' earlier.
2634 * tmac/dvi.tmac, tmac/ps.tmac, tmac/lbp.tmac: Add u00{47,67}_0306,
2635 u00{53,73}_0327, and u0049_0307.
2636 * tmac/X.tmac: Add u00{47,67}_0306.
2637 * tmac/tty-char.tmac: Use composite glyph names for readability.
2641 * src/include/unicode.h: Remove `extern' keywords.
2643 2003-12-20 Nilgün Belma Bugüner <nilgun@superonline.com>
2645 * tmac/latin5.tmac: New file.
2647 2003-12-19 Werner LEMBERG <wl@gnu.org>
2649 Add some glyphs needed for Turkish.
2651 * font/devutf8/R.proto: Add u00{47,67}_0306, u00{53,73}_0327,
2654 * tmac/composite.tmac: Add `,' as a synonym for `ac' accent.
2655 * tmac/tty-char.tmac: Add representations for u00{47,67}_0306,
2656 u00{53,73}_0327, and u0049_0307.
2658 2003-12-18 Werner LEMBERG <wl@gnu.org>
2660 * src/devices/grops/ps.cc (ps_output::put_float): Revert change
2662 Remove trailing zeros.
2664 2003-12-17 Werner LEMBERG <wl@gnu.org>
2666 Make \? transparent to end-of-sentence recognition.
2668 * src/roff/troff/input.cc (non_interpreted_node): Add
2669 `ends_sentence' member function.
2671 2003-12-16 Werner LEMBERG <wl@gnu.org>
2673 * doc/groff.texinfo: Document `dt' request correctly.
2674 Other minor typographical improvements.
2676 2003-12-10 Michail Vidiassov <master@iaas.msu.ru>
2678 * src/utils/afmtodit/Makefile.sub (afmtodit): Fix typo.
2680 2003-12-10 Richard Stallman <rms@gnu.org>
2682 * LICENSE: Better wording.
2684 2003-12-09 Werner LEMBERG <wl@gnu.org>
2686 * aclocal.m4 (GROFF_BROKEN_SPOOLER_FLAGS): Set default value to 0.
2687 * configure, NEWS: Updated.
2689 2003-12-08 Werner LEMBERG <wl@gnu.org>
2691 * FDL: Updated to version 1.2 (from www.gnu.org/copyleft).
2693 2003-12-07 Bernd Warken <bwarken@mayn.de>
2697 2003-12-07 Werner LEMBERG <wl@gnu.org>
2699 * INSTALL: Improved.
2701 2003-12-05 Keith Marshall <keith.d.marshall@ntlworld.com>
2703 Use path separator character of target platform for compiled-in
2706 * aclocal.m4 (GROFF_TARGET_PATH_SEPARATOR): New macro.
2707 * configure.ac: Use GROFF_TARGET_PATH_SEPARATOR.
2708 * configure: Regenerated.
2709 * Makefile.in (SEP): Use GROFF_PATH_SEPARATOR.
2711 2003-12-05 Werner LEMBERG <wl@gnu.org>
2713 * src/include/nonposix.h (PATH_SEP_CHAR): New definition.
2714 Replace `PATH_SEP[0]' with `PATH_SEP_CHAR' everywhere.
2716 2003-12-04 Bernd Warken <bwarken@mayn.de>
2718 * LICENSE: New file.
2720 2003-12-03 Werner LEMBERG <wl@gnu.org>
2722 * src/utils/afmtodit/afmtodit.pl: Comment out code which handles
2723 ligatures present in AFM files since groff currently only
2724 understands some standard ligatures and nothing else.
2726 2003-12-03 Jeff Conrad <jeff_conrad@msn.com>
2728 * src/roff/groff/groff.cpp (main): Don't run the spooler if
2731 * src/roff/groff/pipeline.c (run_pipeline) [_WIN32]: Fix error
2734 Don't use Unix wait flags.
2736 2003-12-02 Werner LEMBERG <wl@gnu.org>
2738 * src/roff/troff/glyphuni.cpp, src/roff/troff/unicode.cpp,
2739 src/roff/troff/unicode.h, src/roff/troff/uniglyph.cpp,
2740 src/roff/troff/uniuni.cpp: Moved to...
2741 * src/libs/libgroff/glyphuni.cpp, src/libs/libgroff/unicode.cpp,
2742 src/libs/libgroff/unicode.h, src/libs/libgroff/uniglyph.cpp,
2743 src/libs/libgroff/uniuni.cpp: Here.
2745 * src/include/Makefile.sub.old (HDRS),
2746 src/libs/libgroff/Makefile.sub (OBJS, CCSRCS),
2747 src/roff/troff/Makefile.sub (HDRS, PBJS, CCSRCS): Updated.
2749 2003-12-01 Keith Marshall <keith.d.marshall@ntlworld.com>
2751 * src/preproc/htlp/pre-html.cpp (__tmpfile): Renamed to
2755 2003-12-01 Werner LEMBERG <wl@gnu.org>
2757 * groff.texinfo: Document special behaviour of `.vs 0'.
2758 Improve documentation of `cflags' request.
2761 2003-11-29 Werner LEMBERG <wl@gnu.org>
2763 * font/devlj4/generate/Makefile (CORONET): Use correct TFM.
2764 * font/devlj4/CORONET: Regenerated.
2766 2003-11-24 Werner LEMBERG <wl@gnu.org>
2768 * src/roff/troff/env.cpp (hyphen_trie::read_patterns_file): Fix loop
2769 if processing hyphenation patterns in traditional mode.
2770 Improve error messages.
2772 2003-11-20 Werner LEMBERG <wl@gnu.org>
2774 * src/roff/troff/node.cpp (troff_output_file::put_char_width,
2775 troff_output_file::put_char): Fix type of local variable `c'.
2777 2003-11-19 Werner LEMBERG <wl@gnu.org>
2779 * src/roff/groff/pipeline.c (P): Removed. Updated all function
2781 (i_to_a): Removed. libgroff already provides this function.
2782 (run_pipeline) [_WIN32]: Don't use itoa but i_to_a.
2784 2003-11-18 Keith Marshall <keith.d.marshall@ntlworld.com>
2786 * src/roff/groff/pipeline.c (xstrsignal): Fix usage of
2789 2003-11-17 Werner LEMBERG <wl@gnu.org>
2791 * COPYING: Use correct version.
2793 2003-11-11 Werner LEMBERG <wl@gnu.org>
2795 LynxOS 4.0.0 doesn't declare vfprintf.
2797 * configure.ac: Check for vfprintf.
2798 * configure: Regenerated.
2799 * src/include/lib.h: Handle `NEED_DECLARATION_VFPRINTF'.
2800 * src/include/config.hin: Regenerated.
2802 2003-11-10 Werner LEMBERG <wl@gnu.org>
2804 LynxOS 4.0.0 has snprintf (without declaration) but no vsnprintf.
2806 * configure.ac: Check for vsnprintf.
2807 * configure: Regenerated.
2808 * src/include/lib.h: Handle `NEED_DECLARATION_VSNPRINTF' and
2810 * src/include/config.hin: Regenerated.
2812 2003-11-09 Werner LEMBERG <wl@gnu.org>
2814 * aclocal.m4: Updated syntax to autoconf 2.59.
2815 (GROFF_HTML_PROGRAMS): Use AC_FOREACH.
2816 Don't check for gsos2.
2817 (GROFF_SRCDIR, GROFF_BUILDDIR): Removed. autoconf 2.59 provides
2818 working abs_top_srcdir and abs_top_builddir.
2820 * configure.ac: Updated syntax to autoconf 2.59.
2821 Don't call GROFF_SRCDIR and GROFF_BUILDDIR.
2822 Replace call to AC_DECL_SYS_SIGLIST with call to AC_CHECK_DECLS.
2823 * configure: Regenerated.
2825 * Makefile.in, doc/Makefile.in: s/@top_srcdir@/@abs_top_srcdir@/,
2826 s/@groff_top_builddir@/@abs_top_builddir@/.
2828 * src/roff/groff/pipeline.c (xstrsignal):
2829 s/SYS_SIGLIST_DECLARED/HAVE_DECL_SYS_SIGLIST/.
2831 2003-11-07 Werner LEMBERG <wl@gnu.org>
2833 * src/devices/grodvi/dvi.cpp (draw_dvi_printer::draw) ['a']: Always
2834 make start angle smaller than end angle to circumvent a bug in tpic
2835 handling of some versions of dvipdfm (and dvipdfmx).
2837 2003-10-30 Werner LEMBERG <wl@gnu.org>
2839 * src/devices/grops/grops.man: Improve section on creating EPS.
2841 2003-10-29 Werner LEMBERG <wl@gnu.org>
2843 * contrib/pic2graph/pic2graph.sh: Fix typo (-P-letter ->
2846 2003-10-28 Werner LEMBERG <wl@gnu.org>
2848 * doc/groff.texinfo: Fix documentation of `.if'.
2850 2003-10-27 Michail Vidiassov <master@iaas.msu.ru>
2852 * src/utils/afmtodit/afmtodit.pl: Handle unmapped characters of
2853 the form `uniXXXX' also.
2855 2003-10-27 Werner LEMBERG <wl@gnu.org>
2857 * contrib/eqn2graph/eqn2graph.sh, contrib/grap2graph/grap2graph.sh,
2858 contrib/pic2graph/pic2graph.sh: Implement secure management of
2860 Pass `-P-pletter' to groff to avoid data outside of the converted
2861 area -- some versions of `convert' (for example 5.3.8) don't check
2862 the bounding box of the image but always use a fixed image size
2863 (letter paper format).
2864 * contrib/eqn2graph/eqn2graph.man, contrib/grap2graph/grap2graph.man,
2865 contrib/pic2graph/pic2graph.man: Updated.
2867 * src/roff/groff/groff.man: Document $TMP and $TEMP.
2869 2003-10-26 Werner LEMBERG <wl@gnu.org>
2871 * src/preproc/pic/troff.cpp (troff_output::simple_circle,
2872 troff_output::simple_ellipse, troff_output::simple_arc,
2873 troff_output::simple_line, troff_output::simple_spline,
2874 troff_output::simple_polygon): Insert a space before arguments.
2875 (troff_output::set_fill): Emit `\&' before `\D'Fg...' since the
2876 latter doesn't produce a node, so the following `.sp -1' would do
2878 Don't emit `.sp -1' after \M. This also doesn't produce a token
2879 (and we don't have to care about compatibility mode).
2880 (troff_output::set_color, troff_output::reset_color): Don't emit
2881 `.sp -1' after \M and \m.
2883 * src/roff/troff/input.cpp (old_have_input): New global variable.
2884 (input_stack::get): Handle `old_have_input'.
2885 (process_input_stack) <token::TOKEN_NEWLINE>: Call
2886 `trapping_blank_line' depending on `old_have_input', not
2889 2003-10-20 Keith Marshall <keith.d.marshall@ntlworld.com>
2891 * src/libs/libgroff/tmpfile.cpp [__MSDOS__, _Win32]
2892 (WIN32_TMPDIR_ENVVAR, MSDOS_TMPDIR_ENVVAR): New macros, providing
2893 default directory names for temporary files.
2894 [__MSDOS__, _Win32] (temp_init::temp_init): Use them.
2896 * src/roff/groff/pipeline.c [__MSDOS__]: Include stdlib.h.
2897 [__MSDOS__] (run_pipeline): Honour environment variables.
2898 Don't use `tmpnam' but `tempnam' to work around messy
2901 * README.MinGW: New file.
2903 2003-10-16 Werner LEMBERG <wl@gnu.org>
2905 * src/preproc/html/pre-html.cpp (write_upto_newline): Don't use
2906 `(*t)->next' without testing validity of `*t'.
2907 (usage): Make it more readable.
2909 2003-10-16 Keith Marshall <keith.d.marshall@ntlworld.com>
2911 Make html device run under both MS-DOS and Win32.
2913 * src/preproc/html/pre-html.cpp (MAY_FORK_CHILD_PROCESS,
2914 MAY_SPAWN_ASYNCHRONOUS_CHILD): New macros to control whether
2915 spawn or fork+exec has to be used, and whether parent must sleep
2916 until the child process terminates. Used in
2917 `char_buffer::run_output_filter'.
2918 (copyofstdoutfd): Removed.
2919 (char_buffer): Replace `write_file_html' and `write_file_troff'
2920 member functions with `emit_troff_output' and `run_output_filter'.
2921 (DEVICE_FORMAT, HTML_OUTPUT_FILTER, IMAGE_OUTPUT_FILTER): New
2923 (replaceFd): Replaced with...
2924 (set_redirection): New auxiliary function.
2925 (waitForChild): Replaced with...
2926 (save_and_redirect): New auxiliary function for.
2928 (char_buffer::do_html, char_buffer::do_image): Simplified, using new
2931 2003-10-14 Keith Marshall <keith.d.marshall@ntlworld.com>
2933 * aclocal.m4 (GROFF_SYS_NERR): Check stdlib.h also.
2934 (GROFF_LIBC): New function.
2935 * configure.ac: Call GROFF_LIBC.
2937 * configure: Regenerated.
2939 * src/include/lib.h: Handle __MINGW32__.
2940 * src/include/nonposix.h [_MSC_VER]: Handle __MINGW32__.
2941 Add macro for `pipe'.
2944 * src/roff/groff/pipeline.c (run_pipeline): Handle `no_pipe'
2947 * src/utils/indxbib/signal.c (handle_fatal_signal) [!HAVE_KILL]:
2950 2003-10-13 Werner LEMBERG <wl@gnu.org>
2952 Finally fix change 2003-08-26, based on ideas from Chuck Silvers
2955 * contrib/mom/Makefile.sub: Use a stamp file in the `examples'
2958 2003-10-12 Werner LEMBERG <wl@gnu.org>
2960 * src/roff/groff/groff.cpp (help), src/devices/grops/ps.cpp (usage),
2961 src/roff/troff/input.cc (usage): Updated.
2963 * NEWS, doc/groff.texinfo: Updated.
2965 2003-10-12 Peter Miller <millerp@canb.auug.org.au>
2967 * src/libs/libgroff/searchpath.cpp
2968 (search_path::open_file_cautious): New function which also handles
2969 `-' as stdin and stdout depending on the access mode.
2970 * src/include/searchpath.h (search_path): Updated.
2972 * src/devices/grops/ps.cpp (main): Handle new `-I' switch.
2973 * src/devices/grops/ps.h: Include `searchpath.h'.
2974 * src/devices/grops/psrm.cpp (resource_manager::supply_resource):
2975 Open resource file with `include_search_path.open_file_cautious'.
2976 * src/devices/grops/grops.man: Document new `-I' switch.
2978 * src/devices/grodvi/dvi.cpp (main), src/devices/grolbp/lbp.cpp
2979 (main), src/devices/grolj4/lj4.cpp (main),
2980 src/devices/grotty/tty.cpp (main): Ignore new `-I' switch.
2982 * src/preproc/soelim/soelim.cpp (include_list_length, include_list):
2984 (include_search_path): New global variable.
2985 (include_path_append): Removed.
2986 (main): Use `include_search_path.command_line_dir' to handle `-I'.
2987 (do_file): Simplify, using new
2988 `include_search_path.open_file_cautious'.
2990 * src/roff/groff/groff.cpp (print_commands): Accept file handle as
2992 (main): Pass arguments to `-I' to both troff and devices.
2993 Improve handling of `-V'.
2994 * src/roff/groff/groff.man: Document changes to -I and -V.
2996 * src/roff/troff/input.cpp (include_search_path): New global
2998 (next_file, source, ps_bbox_request, transparent_file,
2999 process_input_file): Use new
3000 `include_search_path.open_file_cautious'.
3001 (main) Handle `-I' switch.
3002 * src/roff/troff/node.cpp (troff_output_file::really_copy_file):
3003 Use new `include_search_path.open_file_cautious'.
3004 * src/roff/troff/node.h: New extern symbol `include_search_path'.
3005 * src/roff/troff/troff.man: Document new `-I' switch.
3007 2003-09-15 Ruslan Ermilov <ru@FreeBSD.org>
3009 Support multiple calls of .Lb in LIBRARY section.
3011 * tmac/doc-common (doc-in-library-section): New register.
3012 (doc-section-library): New string.
3013 (Sh): Set `doc-in-library-section'.
3015 * tmac/doc-syms (Lb): Insert breaks before and after arguments
3016 if in LIBRARY section.
3017 * tmac/doc.tmac (doc-save-global-vars): Updated.
3018 * NEWS, tmac/groff_mdoc.man: Updated.
3020 2003-09-14 Ruslan Ermilov <ru@FreeBSD.org>
3022 * tmac/doc-common (doc-default-operating-system): New variable.
3025 2003-09-08 Werner LEMBERG <wl@gnu.org>
3027 * tmac/doc.tmac (doc-reset-reference): Handle data for `%I' also.
3029 2003-08-31 Werner LEMBERG <wl@gnu.org>
3031 * contrib/mom/Makefile.sub: Fix last change to make it really work.
3032 * Makefile.comm: Use `test ... ||' in favor of `if test ...; then'.
3033 (install_dev, uninstall_dev): Check whether $(DEVSCRIPTS) and
3034 $(DEVFILES) are not empty.
3035 * Makefile.in: Use `test ... ||' in favor of `if test ...; then'.
3037 2003-08-26 Chuck Silvers <chuq@chuq.com>
3039 * contrib/mom/Makefile.sub (prepare_make_examples): Make it work
3040 with parallel runs of `make'.
3042 2003-08-23 Stephen Gildea <http://www.gildea.com/stephen>
3044 * src/preproc/ref/ref.cpp (reference::compute_sort_key): Always
3045 insert SORT_SEP. With certain combinations of sort specifications,
3046 refer sorted entries in the wrong order. In particular, entries
3047 with a missing field should be be sorted before all entries that
3048 have that field, before refer looks to the next field.
3050 2003-08-23 Werner LEMBERG <wl@gnu.org>
3052 * src/utils/pfbtops/Makefile.sub (LINK.c): Define it so that the
3053 g++ linker is used. Reported by Mark J. Reed
3054 <mark.reed@turner.com>.
3056 2003-08-16 Heinz-Jürgen Oertel <hj.oertel@surfeu.de>
3058 Add key character `x' to tbl which makes tbl call a user-defined
3059 macro on a table cell.
3061 * src/preproc/tbl/table.h (entry_modifier): Add `macro'.
3062 * src/preproc/tbl/table.cpp (block_entry::do_divert): Call
3063 `set_modifier' after printing the compatibility request.
3064 (set_modifier): Print call to `m->macro' if not empty.
3065 * src/preproc/tbl/main.cpp (entry_format::debug_print): Handle
3067 (process_format): Implement cases `x' and `X'.
3068 * src/preproc/tbl/tbl.man, NEWS: Updated.
3070 2003-08-15 Werner LEMBERG <wl@gnu.org>
3072 * doc/groff.texinfo: Minor fixes.
3074 2003-08-09 Werner LEMBERG <wl@gnu.org>
3076 * tmac/an-old.tmac [cR]: Fix redefinition of `bp'.
3078 2003-08-07 Werner LEMBERG <wl@gnu.org>
3080 * doc/Makefile.sub: Not all shells expand wildcards in the `for'
3081 argument list to nothing if there is no file to match. Use `ls' as
3082 a protection, similar to autoconf.
3084 * Makefile.comm (install_dev, uninstall_dev): Protect `for' against
3085 empty argument lists.
3087 * doc/groff.texinfo: Improve documentation how vertical spacing
3088 and line breaks interact.
3091 * tmac/www.tmac: Initialize `www-htmlimage-gap'.
3093 2003-08-03 Werner LEMBERG <wl@gnu.org>
3095 * NEWS, src/devices/grops/grops.man: -b16 is necessary to produce
3096 EPS (using eps2eps or similar programs to compute the bounding box).
3098 2003-07-24 Werner LEMBERG <wl@gnu.org>
3100 * doc/groff.texinfo: Use the new @/ command to avoid overlong lines.
3101 * doc/texinfo.tex: Updated from texinfo 4.6.
3102 * README.CVS: From now on we need texinfo 4.6.
3104 2003-07-23 Werner LEMBERG <wl@gnu.org>
3106 Add requests `dei1' and `ami1' for completeness.
3108 * src/roff/troff/input.cc (calling_mode): Remove
3109 CALLING_DISABLE_COMP.
3110 (comp_mode): New enumeration.
3111 (do_define_string, define_string, define_nocomp_string,
3112 append_string, append_nocomp_string): Updated.
3113 (do_define_macro): Add third parameter.
3114 (define_macro, define_nocomp_macro, define_indirect_macro,
3115 append_macro, append_nocomp_macro, append_indirect_macro): Updated.
3116 (define_indirect_nocomp_macro, append_indirect_nocomp_macro): New
3119 (init_input_requests): Add `dei1' and `ami1'.
3121 * tmac/trace.tmac: Handle de1 and am1.
3122 (de): Improve tracing message.
3123 (am): Add missing `do'.
3126 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
3127 Document new requests.
3129 2003-07-22 Heinz-Jürgen Oertel <hj.oertel@surfeu.de>
3131 Add option -G to .MPIMG to insert a gap between text and the image.
3133 * tmac/www.tmac (www-finish-left-po, www-finish-right-ll,
3134 www-finish-left-ll): Updated.
3135 (www-image-just, www-image-gap, www-htmlimage-gap): New variables.
3136 (MPIMG): Make option -L and -R optional.
3137 Implement option -G.
3139 2003-07-22 Gaius Mulley <gaius@glam.ac.uk>
3141 * src/devices/grohtml/post-html.cpp
3142 (html_printer::do_file_components): Don't use `stdout' as lvalue
3143 since it can be a macro.
3145 2003-07-22 Werner LEMBERG <wl@gnu.org>
3147 * src/libs/libgroff/strerror.c: Include errno.h to be in sync with
3148 the corresponding test in aclocal.m4.
3150 2003-07-21 Werner LEMBERG <wl@gnu.org>
3152 * src/preproc/html/pre-html.cpp (TRANSPARENT): Don't use colour
3153 names but RGB values directly. Otherwise pnmtopng depends on
3154 an external file `rgb.txt' which maps colour names to values.
3156 2003-07-20 Werner LEMBERG <wl@gnu.org>
3158 * aclocal.m4 (GROFF_SYS_ERRLIST): Include stdlib.h for MinGW.
3159 * configure, src/include/config.hin: Regenerated.
3161 * src/libs/libgroff/strerror.c: Include stdlib.h for MinGW.
3163 2003-07-19 Werner LEMBERG <wl@gnu.org>
3165 * PROBLEMS: Add solution for UTF-8 problem with hyphens.
3167 2003-07-18 Werner LEMBERG <wl@gnu.org>
3169 * *.man: Switch to non-compatibility mode temporarily if GNU
3170 syntax extensions are used in the particular man page.
3172 * PROBLEMS: Add solutions for SGR problems.
3174 2003-07-17 Werner LEMBERG <wl@gnu.org>
3176 Don't ignore grotty's command line options if \X'tty: sgr ...' is
3177 used to change the drawing scheme.
3179 * src/devives/grotty/tty.cpp (bold_flag_option,
3180 underline_flag_option, italic_flag_option, reverse_flag_option,
3181 bold_underline_mode_option): New global variables.
3182 (update_options): New function.
3183 (tty_printer::special): Call update_options.
3184 (main): Don't set xxx_flag but xxx_flag_option, then call
3187 2003-07-14 Werner LEMBERG <wl@gnu.org>
3189 Make grotty emit proper Unicode box drawing characters for -Tutf8.
3191 * src/devices/grotty/tty.cpp (START_LINE, END_LINE): New enum
3193 (hline_char, vline_char): New global variables.
3194 (tty_printer::tty_printer): Initialize them.
3195 (tty_printer::draw): Emit START_LINE and END_LINE flags for both
3196 horizontal and vertical lines.
3197 (crossings): New global array.
3198 (tty_printer::end_page): Use it to determine the proper crossing
3199 character for -Tutf8.
3201 2003-07-12 Werner LEMBERG <wl@gnu.org>
3203 * doc/Makefilesub (HTMLDOCFILESALL): New macro.
3204 (HTMLDOCFILES): Revert to `pic.html'.
3205 (CLEANADD, install_html, uninstall_sub): Use HTMLDOCFILESALL.
3207 2003-07-11 Werner LEMBERG <wl@gnu.org>
3209 * doc/pic.ms: Improve documentation of absolute coordinates.
3210 Document absolute positioning of pictures.
3212 * NEWS: Add new pic capability.
3214 2003-07-09 Hartmut Henkel <hartmut_henkel@gmx.de>
3216 * src/libs/libgroff/geometry.cpp (check_output_arc_limits):
3219 2003-07-07 Werner LEMBERG <wl@gnu.org>
3221 Implement support for dashed and dotted ellipses in pic. Based on
3222 a patch from Hartmut Henkel <hartmut_henkel@gmx.de>.
3224 * src/preproc/pic/common.cpp (common_output::ellipse_arc,
3225 common_output::dashed_ellipse, common_output::dotted_ellipse): New
3226 functions. Ellipse arcs are approximated with circle arcs.
3227 * src/preproc/pic/common.h (common_output): Updated.
3228 * src/preproc/pic/tex.cpp (tex_output::ellipse): Use new ellipse
3230 * src/preproc/pic/troff.cpp (simple_output::ellipse): Ditto.
3232 * src/preproc/pic/TODO, src/preproc/pic/pic.man: Updated.
3234 2003-07-06 Werner LEMBERG <wl@gnu.org>
3236 Make grotty work on platforms which have unsigned char as the
3237 default for char. Based on a patch by Thomas Klausner
3240 * src/devices/grotty/tty.cpp (schar): New typedef.
3241 Updated calls to declare_ptable and implement_ptable.
3242 (glyph): Use schar for back_color_idx and fore_color_idx.
3243 (tty_printer): Use schar for curr_fore_idx and curr_back_idx.
3244 (tty_printer::tty_color, tty_printer::tty_printer,
3245 tty_printer::color_to_idx, tty_printer::put_color): Updated.
3247 2003-07-06 Ruslan Ermilov <ru@FreeBSD.org>
3249 * src/roff/nroff/nroff.sh: Add option -d for completeness.
3250 * src/roff/nroff/nroff.man: Updated.
3252 2003-07-05 Werner LEMBERG <wl@gnu.org>
3254 * NEWS, tmac/groff_www.man: Updated.
3255 * doc/Makefile.sub: Updated.
3257 2003-07-05 Gaius Mulley <gaius@glam.ac.uk>
3259 Implement support for multiple HTML output files.
3261 * src/preproc/html/pre-html.cpp (scanArguments): Dummy handling for
3262 -j command line option.
3264 * src/devices/grohtml/post-html.cpp (job_name, multiple_files): New
3266 (file): New fields `new_output_file', `require_links',
3268 (file::file): Updated.
3269 (files::set_file_name, files::set_links_required,
3270 files::are_links_required, files::is_new_output_file,
3271 files::file_name, files::next_file_name): New functions.
3272 (header_desc): New fields `no_of_level_one_headings',
3274 (header_desc::header_desc): Updated.
3275 (header_desc::write_headings): Handle multiple files.
3276 (html_printer::write_header): Save file name in which header occurs.
3277 (html_printer::determine_header_level): Possibly split files on
3279 (html_printer::do_links, html_printer::troff_tag): Updated.
3280 (html_printer::insert_split_file, html_printer::do_job_name,
3281 html_printer::emit_link, html_printer::write_navigation,
3282 html_printer::do_file_components): New functions.
3283 (html_printer::~html_printer): Handle multiple files.
3284 (main): Handle command line option `-j'.
3286 * src/devices/grohtml/grohtml.man: Updated.
3288 * doc/Makefile.sub (pic.html), doc/Makefile.in (pic.html): New rule
3291 * tmac/www.tmac (JOBNAME): New macro.
3292 * tmac/s.tmac (SH-NO-TAG): New macro.
3293 (@SH): Call SH-NO-TAG.
3296 2003-07-05 Ruslan Ermilov <ru@FreeBSD.org>
3298 * tmac/groff_mdoc.man: Improve documentation of punctuation
3301 2003-07-04 Ruslan Ermilov <ru@FreeBSD.org>
3303 * tmac/doc.tmac (Bd): Change to doc-Li-font later.
3305 2003-07-03 Werner LEMBERG <wl@gnu.org>
3307 * tmac/an-old.tmac [cR]: Redefine `bp' to avoid empty lines.
3309 2003-07-01 Ruslan Ermilov <ru@FreeBSD.org>
3311 * tmac/doc.tmac (doc-do-func, doc-do-func-args): Don't print a comma
3312 after `/*' and `*/'.
3314 (Fn, Fo): Reduce indentation in synopsis.
3316 * tmac/doc-common (doc-check-depth): New macro.
3317 (doc-end-macro, Sh, Ss): Use it.
3318 (Cd): Fix behaviour in synopsis.
3319 (In): Make it parsed and callable.
3320 If not in the synopsis, represent the C header file enclosed in
3322 (doc-str-Rv-std-suffix, doc-str-Rv-stds-suffix, doc-str-Rv-std0):
3323 Use minus, not hyphen.
3325 * tmc/groff_mdoc.man: Updated.
3327 2003-07-01 Werner LEMBERG <wl@gnu.org>
3329 Integrated grap2graph, contributed by Eric S. Raymond.
3331 * contrib/grap2graph/{Makefile.sub, grap2graph.sh, grap2graph.man}:
3333 * Makefile.in, NEWS, MANIFEST, contrib/eqn2graph.man,
3334 contrib/pic2graph.man, src/roff/groff/groff.man: Updated.
3336 2003-07-01 Colin Watson <cjwatson@debian.org>
3338 * src/xditview/*.c: Add prototypes, fix return types, add includes.
3339 Based on work by Fumitoshi UKAI <ukai@debian.or.jp>.
3341 2003-06-31 Ruslan Ermilov <ru@FreeBSD.org>
3343 * tmac/tty-char.tmac: Provide `lb', `rb', `lk', `rk', `lt', `rt'.
3345 2003-06-31 Werner LEMBERG <wl@gnu.org>
3347 * doc/Makefile.sub (CLEANADD): Remove all files created by
3348 running `make groff.{pdf,dvi}'.
3350 * Makefile.sub (DISTCLEANFILES): Remove all non-source files from
3353 2003-06-30 Werner LEMBERG <wl@gnu.org>
3355 * Makefile.in (SHELL): Define as @SHELL@.
3356 (mkinstalldirs): Use $(SHELL).
3357 (MDEFINES): Add $(SHELL).
3358 * Makefile.comm (SHELL): Removed.
3360 2003-06-29 Werner LEMBERG <wl@gnu.org>
3362 * tmac/s.tmac (De, Ds): New aliases for .DE and .DS, respectively.
3363 The X11 documentation files use them.
3364 * tmac/groff_ms.man, doc/groff.texinfo: Document them.
3366 2003-06-15 Robert Goulding <goulding@Princeton.EDU>
3368 * tmac/e.tmac (@C): Handle .ad also.
3370 2003-06-12 Werner LEMBERG <wl@gnu.org>
3372 * src/preproc/tbl/tbl.man: Document formatting of text blocks.
3374 * src/roff/troff/input.cc (token::next) <handle_escape_char>:
3375 Assign `n' even here. It is possible to construct a node
3376 immediately following an escape character:
3384 2003-06-10 Werner LEMBERG <wl@gnu.org>
3386 * README.WIN32: Removed.
3387 * MANIFEST: Updated.
3389 2003-06-07 Werner LEMBERG <wl@gnu.org>
3391 * src/roff/nroff/nroff.sh: Don't emit SGR for option -u.
3393 2003-06-05 Werner LEMBERG <wl@gnu.org>
3395 * src/preproc/pic/pic.y <sprintf_args>: Implement workaround for bug
3396 in Compaq C++ V6.5-033 for Compaq Tru64 UNIX V5.1A (Rev. 1885).
3398 2003-06-03 Werner LEMBERG <wl@gnu.org>
3400 * src/preproc/grn/hdb.cpp (DBRead): Don't close file handle; this
3401 is done by the calling function.
3403 2003-05-22 Ruslan Ermilov <ru@FreeBSD.org>
3405 * tmac/X.tmac: Fix definition of `em'.
3407 2003-05-22 Werner LEMBERG <wl@gnu.org>
3409 * src/roff/troff/input.cc (return_macro_request): Fix detection of
3412 2003-05-18 Werner LEMBERG <wl@gnu.org>
3414 * tmac/doc.tmac (doc-tag-list): Force horizontal mode after tag
3415 to make items work which consist only of a tag.
3417 2003-05-17 Werner LEMBERG <wl@gnu.org>
3419 * tmac/doc.tmac (doc-tag-list): Don't use \Z to assure that spaces
3420 aren't stretched in a tag (this can fail with unformatted boxes).
3421 Instead, insert a break and go back one line.
3423 2003-05-16 Werner LEMBERG <wl@gnu.org>
3425 * src/roff/troff/input.cc (return_macro_request): If called with
3426 argument pop macro twice. We need this to trace `return'.
3428 * tmac/trace.tmac: Handle `return'.
3431 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
3434 2003-05-15 Larry Kollar <kollar@alltel.net>
3436 * tmac/groff_ms.man, doc/groff.texinfo: Improve documentation of
3437 registers `FPS', `FVS', and `FPD'.
3439 2003-05-15 Werner LEMBERG <wl@gnu.org>
3441 * src/utils/pfbtops/pfbtops.c (get_text): Handle loop counter
3444 2003-05-03 Ruslan Ermilov <ru@FreeBSD.org>
3446 * tmac/groff_mdoc.man: Slight improvements.
3448 2003-05-03 Werner LEMBERG <wl@gnu.org>
3450 * tmac/doc-common (doc-header): Emit vertical space of 1v instead of
3451 `doc-header-space' after header line if register `cR' is set.
3453 2003-05-02 Werner LEMBERG <wl@gnu.org>
3457 2003-05-01 Ruslan Ermilov <ru@FreeBSD.org>
3459 * tmac/doc-common (Nd): Use \[em].
3461 2003-05-01 Werner LEMBERG <wl@gnu.org>
3463 * tmac/doc-ditroff, tmac/doc-nroff (doc-header-space,
3464 doc-footer-space): Initialize to 0.5i.
3465 (doc-setup-page-layout): Don't set doc-header-space and
3468 2003-04-30 Werner LEMBERG <wl@gnu.org>
3470 * REVISION: Set to 1.
3472 * doc/pic.ms: Document possible problems with `figname'.
3474 2003-04-29 Werner LEMBERG <wl@gnu.org>
3476 Version 1.19 released
3477 =====================
3479 * VERSION: Set to 1.19.
3480 * REVISION: Set to 0.
3481 * doc/groff.texinfo, doc/webpage.ms, NEWS: Updated.
3483 * src/devices/grohtml/post-html.cpp (html_printer::~html_printer):
3484 Define charset as `US-ASCII' in html output.
3486 * tmac/www.tmac (ULE): Add missing scaling indicator.
3488 * win32-diffs: Removed.
3490 2003-04-28 Werner LEMBERG <wl@gnu.org>
3492 * doc/groff.texinfo: Document `dn' and `dl' registers if used with
3494 Document how to insert discardable whitespace with `.ss'.
3496 2003-04-27 Werner LEMBERG <wl@gnu.org>
3498 * src/preproc/pic/tex.cpp (tex_output::start_picture): Make code
3499 work with plain TeX also.
3501 * src/preproc/pic/pic.man, doc/pic.ms: Fix TeX code example.
3503 2003-04-25 Gaius Mulley <gaius@glam.ac.uk>
3505 * src/devices/grohtml/post-html.cpp (html_printer::~html_printer):
3508 2003-04-24 Werner LEMBERG <wl@gnu.org>
3510 * src/preproc/pic/pic.man, doc/pic.ms: Explain how to get a
3511 vbox with positive height and zero depth if in TeX mode.
3513 * NEWS: Document glyph name changes for grodvi and grolj4.
3515 2003-04-23 Werner LEMBERG <wl@gnu.org>
3517 * src/preproc/pic/tex.cpp (tex_output::start_picture): Fix TeX code.
3518 * doc/pic.ms: Fixed.
3520 2003-04-21 Werner LEMBERG <wl@gnu.org>
3522 HP-UX 10.20 has `snprintf' but it isn't declared.
3524 * configure.ac: Add declaration test for snprintf.
3525 * configure: Regenerated.
3526 * src/include/lib.h: Handle `NEED_DECLARATION_SNPRINTF'.
3527 * src/include/config.hin: Regenerated.
3529 2003-04-19 Werner LEMBERG <wl@gnu.org>
3531 Add keyword `figname' to pic, specifying the name of the picture
3532 box in TeX mode. Based on a patch from William J Poser
3533 <wjposer@unagi.cis.upenn.edu>.
3535 * src/preproc/pic/pic.y: New token `FIGNAME'.
3536 (macro_name): New rule of type <str>.
3537 (placeless_element): Handle `FIGNAME'.
3538 * src/preproc/pic/lex.cpp (lookup_keyword): Add `figname'.
3539 * src/preproc/pic/main.cpp (graphname): New global variable.
3540 (do_picture): Initialize `graphname'.
3541 * src/preproc/pic/pic.h: Updated.
3542 * src/preproc/pic/tex.cpp (tex_output::start_picture): Use
3545 (tex_output::text): Beautify output.
3546 * src/preproc/pic/object.cpp (object_spec::~object_spec): Deallocate
3547 `shaded' and `outlined' unconditionally.
3548 * NEWS, src/preproc/pic/pic.man, doc/pic.ms: Updated.
3551 * PROBLEMS, README.CVS: Mention that bison version 1.875b or
3552 greater is necessary.
3554 2003-04-17 Hartmut Henkel <hartmut_henkel@gmx.de>
3556 Add option -r to soelim to avoid emission of `.lf' lines.
3557 Add option -t to produces TeX comment lines instead of `.lf' lines.
3559 * src/preproc/soelim/soelim.cpp: New global variables `raw_flag'
3562 (main): Handle `-r' and `-t'.
3563 (set_location): Handle `raw_flag' and `tex_flag'.
3564 * src/preproc/soelim/soelim.man, NEWS: Updated.
3566 2003-04-17 Werner LEMBERG <wl@gnu.org>
3568 * tmac/hyphenex.sh: Replaced with...
3569 * tmac/hyphenex.pl: This perl script to avoid sed compatibility
3572 * aclocal.m4 (GROFF_HTML_PROGRAMS): Emit useful warning message
3573 if --quiet is used for the configure script.
3574 * configure: Regenerated.
3576 2003-04-16 Werner LEMBERG <wl@gnu.org>
3578 * src/devices/grohtml/post-html.cpp (text_glob::text_glob):
3579 Add `const' to second argument.
3580 (html_printer::add_table_end): Add `const' to argument.
3581 * src/devices/grohtml/html-text.cpp (html_text::issue_tag): Add
3582 `const' to arguments.
3583 * src/devices/grohtml/html-text.h: Updated.
3585 * src/devices/grolbp/charset.h (symset): Use `unsigned char'.
3586 * src/devices/grolbp/lbp.h (lbpputc): Use `unsigned char' for
3589 * src/devices/grotty/tty.cpp (tty_printer::make_rgb_string): Use
3590 cast for integer constant.
3592 * src/preproc/html/pre-html.cpp (image_device): Use `const'.
3593 (writeNbytes): Add `const' to first argument.
3594 (writeString): Add `const' to argument.
3595 (char_buffer::can_see): Add `const' to third argument.
3596 * src/preproc/html/pushback.cpp (pushBackBuffer::isString): Add
3597 `const' to argument.
3598 * src/preproc/html/pushback.h: Updated.
3600 * src/preproc/soelim/soelim.cpp (include_list): Add `const'.
3601 (include_path_append): Add `const' to argument.
3604 * src/roff/troff/uniglyph.cpp (unicode_to_glyph_list): Use `const'
3606 (unicode_to_glyph_init::unicode_to_glyph_init): Updated.
3607 * src/roff/troff/uniuni.cpp (unicode_decompose_list): Use `const'
3609 (unicode_decompose_init::unicode_decompose_init): Updated.
3610 * src/roff/troff/glyphuni.cpp (glyph_to_unicode_list): Use `const'
3612 (glyph_to_unicode_init::glyph_to_unicode_init): Updated.
3613 * src/roff/troff/input.cc (process_startup_file): Add `const' to
3616 * tmac/hyphenex.sh: Make script more portable by using a here
3619 2003-04-15 Werner LEMBERG <wl@gnu.org>
3621 Renamed all `*.cc' files to `*.cpp'.
3622 Updated all configuration files, makefiles, and documentation.
3624 2003-04-14 Werner LEMBERG <wl@gnu.org>
3626 * tmac/hyphenex.sh: Slight improvements.
3628 2003-04-13 Werner LEMBERG <wl@gnu.org>
3630 * font/devascii/R.proto, font/devcp1037/R.proto,
3631 font/devlatin1/R.proto, font/devutf8/R.proto: Fill up remaining
3632 character slots with unnamed glyphs.
3634 * tmac/an-old.tmac: Fix hyphenation value if `cR' is active.
3635 (an-first): New global variable.
3636 (an-header): Emit vertical space between multiple man pages.
3638 2003-04-11 Werner LEMBERG <wl@gnu.org>
3640 * doc/groff.texinfo, man/groff_out.man: \S only accepts integer
3643 2003-04-10 Werner LEMBERG <wl@gnu.org>
3645 * PROBLEMS: Revised.
3647 2003-04-10 Bernd Warken <bwarken@mayn.de>
3649 * doc/webpage.ms: Improved.
3651 2003-04-09 Werner LEMBERG <wl@gnu.org>
3653 Add register \n[.height] which returns the value of \H.
3654 Add register \n[.slant] which returns the value of \S.
3656 * src/roff/troff/env.cc (init_env_requests): Implement.
3657 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
3660 2003-04-08 Werner LEMBERG <wl@gnu.org>
3662 * tmac/html.tmac: Move some of the data into html-end.tmac.
3663 Remove most of the character translations for eqn since html fonts
3664 now cover those characters.
3666 * tmac/html-end.tmac: New file.
3667 * tmac/troffrc: Load html.tmac not www.tmac for -Thtml.
3668 * tmac/troffrc-end: Load html-end.tmac not html.tmac for -Thtml.
3669 * tmac/Makefile.sub (NORMALFILES): Add html-end.tmac.
3671 2003-04-07 Werner LEMBERG <wl@gnu.org>
3673 * man/groff_out.man: Document negative values of `N' if -Thtml is
3676 2003-04-06 Werner LEMBERG <wl@gnu.org>
3678 * Makefile.comm (depend.temp): Check location of YTABC.
3680 2003-04-05 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
3682 * contrib/mom/Makefile.sub (GROFFBIN): New variable for groff
3684 (groff_bin_path): Rename to GROFF_BIN_PATH.
3685 (GROFF): Use GROFFBIN and GROFF_BIN_PATH.
3686 * doc/Makefile.in (TROFFBIN): New variable for troff
3688 (GROFFBIN): New variable for groff binary path.
3689 (groff_bin_path): Rename to GROFF_BIN_PATH.
3690 (TROFF): Use TROFFBIN.
3691 (GROFF): Use GROFFBIN and GROFF_BIN_PATH.
3692 * doc/Makefile.sub (GROFFBIN): New variable for groff
3694 (groff_bin_path): Rename to GROFF_BIN_PATH.
3695 (GROFF): Use GROFFBIN and GROFF_BIN_PATH.
3697 * Makefile.comm (install_dev): Install scripts from DEVSCRIPTS
3698 with INSTALL_SCRIPT.
3699 (uninstall_dev): Uninstall scripts from DEVSCRIPTS.
3700 * Makefile.dev (all): Depend on DEVSCRIPTS.
3701 (install_dev): Likewise.
3702 * font/devdvi/Makefile.sub (DEVSCRIPTS): New variable to hold
3704 * font/devps/Makefile.sub (DEVSCRIPTS): Likewise.
3705 (DEVGENSCRIPTS): New variable to hold generated scripts.
3707 2003-04-05 Werner LEMBERG <wl@gnu.org>
3709 * src/libs/libdriver/input.cc (IntArray::operator[],
3710 IntArray::get_data): Remove meaningless `const' in return value.
3712 * README.CVS: New file.
3714 2003-04-04 Werner LEMBERG <wl@gnu.org>
3716 Check for stdint.h in C++, not in C.
3718 * aclocal.m4 (GROFF_STDINT_H): New function,
3719 * configure.ac: Check for stdint.h with GROFF_STDINT_H instead of
3721 * configure, src/include/config.hin: Regenerated.
3722 * src/libs/libgroff/tmpname.cc: Use HAVE_CC_STDINT_H.
3725 Fix handling of in grohtml. To do this, troff emits `N'
3726 with a negative value, representing the width of the unbreakable
3727 space (only for -Thtml). grohtml then converts this back to
3728 and uses the value of N as its width.
3730 * src/roff/troff/node.cc (space_char_hmotion_node::tprint,
3731 unbreakable_space_node::tprint): Emit `N-<width>'.
3732 * src/include/printer.h (printer::set_numbered_char): Make it
3734 Make members `font_table' and `nfonts' protected instead of private.
3735 * src/devices/grohtml/post-html.cc
3736 (html_printer::set_numbered_char): New member function.
3739 * src/libs/libgroff/maxfilename.cc:
3740 s/HAVE_LIMITS_H/HAVE_CC_LIMITS_H/.
3742 * src/roff/troff/node.cc (unbreakable_space_node::tprint): Don't
3745 2003-04-03 Sergey A. Osokin <osa@freebsd.org.ru>
3747 * man/roff.man: Small fixes.
3749 2003-04-03 Werner LEMBERG <wl@gnu.org>
3751 Make groff independent from locale's numeric settings.
3753 * configure.ac: Check for `setlocale'.
3754 * configure, src/include/config.hin: Regenerated.
3756 * src/include/lib.h: Handle HAVE_SETLOCALE.
3758 * src/devices/grodvi/dvi.cc (main), src/devices/grolj4/lj4.cc
3759 (main), src/devices/grops/ps.cc (main), src/preproc/grn/main.cc
3760 (main), src/preproc/pic/main.cc (main): Call `setlocale'.
3763 * doc/groff.texinfo: Change dir category to `Typesetting'.
3764 (Man font macros): Mention that there is no space between arguments
3767 * src/libs/libdriver/printer.cc, src/devices/grotty/tty.cc
3768 (*printer::change_color, *printer::change_fill_color): Add missing
3771 2003-04-02 Werner LEMBERG <wl@gnu.org>
3773 * src/devices/grohtml/html-table.cc (html_table::emit_col,
3774 html_table::is_gap): Compute table widths after converting border
3775 positions to avoid rounding errors.
3777 2003-04-01 Werner LEMBERG <wl@gnu.org>
3779 * src/devices/grohtml/html-text.cc (html_text::do_space): Handle
3780 `space_emitted' properly.
3782 2003-03-31 Werner LEMBERG <wl@gnu.org>
3784 * src/devices/grohtml/html-table.cc: Fix column width calculation.
3785 (html_table::set_linelength): Don't add 1.
3786 (html_table::add_indent): Don't subtract 1.
3788 * tmac/html.tmac: Set default page offset to zero.
3790 2003-03-30 Werner LEMBERG <wl@gnu.org>
3792 Make groff emit ` ' for `\ ' and `\~' if `-Thtml' is used.
3794 * src/roff/troff/node.cc (space_char_hmotion_node::tprint,
3795 unbreakable_space_node::tprint): New functions.
3796 (troff_output_file): Make space_char_hmotion_mode::tprint and
3797 unbreakable_space_node::tprint to friends.
3798 * src/roff/troff/node.h: Updated.
3800 * font/devhtml/R.proto: Add ` ' at position 0xA0 (as defined
3801 in the HTML standard).
3803 2003-03-29 Werner LEMBERG <wl@gnu.org>
3805 * src/roff/troff/env.cc (point_size): Fix emission of html tag.
3806 Otherwise, the following code
3815 produces `x a' instead of `xa'. This is a temporary fix, disabling
3816 font changes in diversions for -Thtml.
3818 * tmac/an-old.tmac (TH, SH): Use `HTML-TAG-NS' instead of
3820 (an-do-tag-html): Merge with ...
3821 (an-do-tag): This macro.
3822 Change code slightly to circumvent grohtml bug.
3823 * tmac/troffrc-end: Define dummy for HTML-TAG-NS.
3825 * src/devices/grohtml/html-table.cc (html_table::emit_col,
3826 html_table::is_gap): Round `width' properly.
3828 * tmac/html.tmac: Provide some default layout parameters for
3831 * font/devhtml/DESC.proto: Don't use discrete values for `sizes'
3834 2003-03-28 Werner LEMBERG <wl@gnu.org>
3836 src/devices/grops/ps.cc (ps_printer::do_import): Fix error message.
3838 2003-03-27 Werner LEMBERG <wl@gnu.org>
3840 * tmac/an-old.tmac (BT): Don't call .tl if register `ps4html' is
3843 2003-03-20 Werner LEMBERG <wl@gnu.org>
3845 * src/roff/troff/env.cc (vertical_spacing): Allow zero value for
3847 * doc/groff.texinfo: Updated.
3849 2003-03-19 Werner LEMBERG <wl@gnu.org>
3851 * src/roff/troff/input.cc (process_input_stack) <TOKEN_BEGIN_TRAP,
3852 TOKEN_END_TRAP>: Reset `have_input'.
3854 2003-03-18 Werner LEMBERG <wl@gnu.org>
3856 * src/roff/groff/groff.man: Mention groff_trace man page.
3858 2003-03-16 Werner LEMBERG <wl@gnu.org>
3860 * Makefile.in (LIBEXT): New variable to indicate the file extension
3861 of library files. Computed heuristically from $(OBJEXT).
3862 (MDEFINES): Add $(LIBEXT).
3863 * Makefile.lib, Makefile.comm: Use it.
3865 * src/utils/pfbtops/pfbtops.c (get_text): New function. Split
3866 overlong lines into smaller chunks.
3867 (get_binary): New function.
3869 * src/utils/pfbtops/pfbtops.man: Updated.
3871 2003-03-15 Colin Watson <cjwatson@debian.org>
3873 * src/roff/groff/groff.man: Minor syntax fix.
3875 2003-03-14 Egil Kvaleberg <egil@kvaleberg.no>
3877 * src/devices/grops/ps.cc (ps_printer::media_set,
3878 ps_printer::~ps_printer): Handle zero paper width and length.
3880 2003-03-13 Werner LEMBERG <wl@gnu.org>
3882 Add options -p and -l to grodvi.
3884 * src/devices/grodvi/dvi.cc: Include paper.h.
3885 (landscape_flag, user_paper_length, user_paper_width): New global
3887 (dvi_printer::begin_page): Emit `papersize' special.
3888 Set color after initialization of `cur_h' and `cur_v'.
3889 (main): Add options `-l' and `-p'.
3890 * font/devdvi/Makefile.sub (DESC): Set `papersize'.
3891 * src/devices/grodvi/grodvi.man, NEWS: Updated.
3893 * src/devices/grops/psrm.cc (valid_input_table): Fixed.
3895 2003-03-12 Werner LEMBERG <wl@gnu.org>
3897 * src/devices/grops/grops.man: Move documentation of .PSPIC to...
3898 * man/groff_tmac.man: This man page.
3899 * man/groff_font.man: Declare `paperwidth' and `paperlength' as
3902 * tmac/X.tmac: Don't load pspic.tmac.
3904 2003-03-11 Werner LEMBERG <wl@gnu.org>
3906 Make variable `pr' local to libdriver/input.cc. Based on a patch
3907 by Bernd Warken <bwarken@mayn.de>.
3909 * src/include/driver.h (pr): Removed.
3911 * src/libs/libdriver/input.cc (pr): New global variable.
3912 (do_file): Deallocate `pr'.
3913 * src/libs/libdriver/printer.cc (pr): Removed.
3915 * src/devices/grodvi/dvi.cc (main), src/devices/grohtml/post-html.cc
3916 (main), src/devices/grolbp/lbp.cc (main), src/devices/grolj4/lj4.cc
3917 (main), src/devices/grops/ps.cc (main), src/devices/grotty/tty.cc
3918 (main): Don't delete `pr'.
3920 2003-03-10 Werner LEMBERG <wl@gnu.org>
3922 * tmac/a4.tmac, tmac/composite.tmac: Use `.do'.
3923 * tmac/papersize.tmac: New file.
3924 * tmac/troffrc: Include `papersize.tmac'.
3925 * tmac/Makefile.sub (NORMALFILES): Add `papersize.tmac'.
3926 * tmac/an-old.tmac: Set LT to LL by default.
3928 * NEWS, MANIFEST, tmac/groff_man.man, man/groff_tmac.man,
3929 doc/groff.texinfo: Updated.
3931 * src/libs/libgroff/paper.cc (add_iso_paper): Fix very embarassing
3932 bug which caused all odd iso papers to have wrong dimensions.
3934 * src/devices/grops/ps.cc (user_paper_width): New global variable.
3935 (main) <'p'>: Set `user_paper_width' also.
3936 (ps_printer::media_width, ps_printer::media_height): Use values
3937 given with option `-p'.
3939 2003-03-09 Werner LEMBERG <wl@gnu.org>
3941 * src/include/nonposix.h: Provide default for SET_BINARY.
3943 * src/devices/grodvi/dvi.cc, src/devices/grolbp/lbp.cc,
3944 src/devices/grolj4/lj4.cc, src/devices/grops/ps.cc: Call SET_BINARY
3947 * src/utils/pfbtops/pfbtops.c: Call SET_BINARY unconditionally.
3948 (main): Treat \r\n as \n.
3950 2003-03-08 Werner LEMBERG <wl@gnu.org>
3952 * tmac/an-old.tmac: Use register `HY' to control hyphenation.
3953 * NEWS, tmac/groff_man.man, doc/groff.texinfo: Document it.
3955 2003-03-07 Werner LEMBERG <wl@gnu.org>
3957 Added support to access more than 256 glyphs in Type 1 fonts.
3959 * src/devices/grops/ps.cc (subencoding): New structure.
3960 (style): Add `sub' field.
3962 (ps_printer): Add `subencodings' and `next_subencoding_index' fields.
3963 Add `set_subencoding', `get_subfont' and `encode_subfont' member
3966 (ps_printer::set_char): Use `set_subencoding'.
3967 (make_subencoding_name): New function.
3968 (ps_printer::set_style): Handle case where `sty.sub' is not zero.
3969 (ps_printer::~ps_printer): Emit subencoding definitions.
3971 * src/devices/grops/psrm.cc (valid_input_table): New array to
3972 properly support EBCDIC.
3973 (white_space): Add `\f'.
3974 (ps_get_line): Change first argument to be of type `string &'.
3975 Updated all callers.
3976 This allows to get lines of arbitrary length.
3977 Use `valid_input_table'.
3978 Remove warning about non-conforming PS line length. This seems
3979 not to be of great importance -- for example, dvips don't emit
3981 (PS_LINE_MAX): Removed.
3982 (matches_comment): Change first argument to be of type `string &'.
3984 * src/devices/grops/grops.man, src/devices/grops/TODO: Updated.
3986 * src/utils/afmtodit/afmtodit.pl (%unicode_decomposed,
3987 %AGL_to_unicode, %default_ligatures): New hash tables.
3988 Read all map entries.
3989 Add unencoded characters.
3990 Check for default ligatures if there are no `L' entries.
3991 Print all kern entries.
3992 Print all characters in charset.
3993 * src/utils/afmtodit/afmtodit.man: Updated.
3995 * font/devps/*: Regerated all fonts.
3997 * tmac/latin[129].tmac, tmac/cp1047.tmac: Don't test for existence
3998 of characters, just use `.trin'. Otherwise the mapping depends
3999 on the font encoding.
4000 * tmac/ps.tmac: Add `fi' and `fl'.
4001 Improve `Fi' and `Fl'.
4002 * tmac/X.tmac, tmac/lbp.tmac, tmac/tty.tmac: Improve `Fi' and `Fl'.
4003 * tmac/Xps.tmac: Fix `em'.
4007 2003-03-04 Werner LEMBERG <wl@gnu.org>
4009 * src/roff/troff/input.cc (charinfo_to_node_list): Reset
4012 2003-03-03 Werner LEMBERG <wl@gnu.org>
4014 * Makefile.sub (DISTCLEANFILES): Add gxditview._man.
4016 * font/devps/generate/textmap: Remove entry `similarequal'.
4017 * font/devps/symbolmap: Updated.
4019 2003-03-02 Werner LEMBERG <wl@gnu.org>
4021 * src/libs/libgroff/font.cc (font::load): Fix error message for
4024 * src/devices/grops/grops.man: Improve documentation of the -b
4027 * tmac/tty.tmac: Load latin1.tmac for all TTY devices except
4028 `ascii' and `cp1047'.
4030 2003-03-01 Werner LEMBERG <wl@gnu.org>
4032 Document composite glyphs and the `composite' request.
4034 * man/groff.man, man/groff_diff.man, doc/groff.texinfo: Do it.
4036 2003-02-28 Werner LEMBERG <wl@gnu.org>
4038 * font/devdvi/generate/ec.map: Add some more Unicode entities.
4039 * font/devdvi/*EC: Updated.
4041 * tmac/composite.tmac, tmac/latin2.tmac, tmac/latin9.tmac: New files.
4042 * tmac/latin1 (latin1-tr): Undo any previous mapping.
4043 * tmac/troffrc: Load `composite.tmac'.
4044 * tmac/Makefile.sub (NORMALFILES): Updated.
4046 * doc/groff.texinfo (Input Encodings): New section.
4049 2003-02-27 Werner LEMBERG <wl@gnu.org>
4051 * doc/texinfo.tex: New version 2003-02-11.06.
4053 * tmac/doc-common (Dt): Don't emit warning for unknown section.
4054 * tmac/groff_mdoc.man: Fix description of `Dt'.
4056 2003-02-26 Egil Kvaleberg <egil@kvaleberg.no>
4058 * font/devps/prologue.ps: Fix for included Postscript that does
4059 a setpagedevice -- which is now safely ignored.
4063 * src/devices/grops/ps.cc: Now sets the page size in the generated
4064 document. This is done in two ways: Via a %%-comment for gv and
4065 the like, and via a PageSize and setpagedevice for programs that
4066 understands Postscript proper, like ps2pdf.
4068 * src/devices/grops/ps.h: New broken-flag to avoid page size
4069 definition, if required.
4071 * src/devices/grops/grops.man: New broken-flag 16 mentioned.
4073 * doc/Makefile.in: Added -nosetpage flag (via @pnmtops_nosetpage@).
4074 Not really necessary due to the fix in prologue.ps, but cleaner:
4075 Such information does not belong in an .eps file.
4077 * doc/Makefile.sub: See doc/Makefile.in.
4079 2003-02-26 Ralph Corderoy <ralph@inputplus.co.uk>
4081 * aclocal.m4 (GROFF_PNMTOPS_NOSETPAGE): Use P2 format for testing
4082 instead of P1 since the latter is broken in some versions of netpbm.
4083 * configure: Updated.
4085 2003-02-26 Larry Kollar <kollar@alltel.net>
4087 Make man pages more customizable.
4089 * tmac/an-old.tmac (FT): New register holding footer distance from
4091 (HF): New string holding the default heading font.
4092 (TH): Handle registers `IN' and `SN' set on the command line.
4094 (PT, BT): New strings to customize header and footer lines.
4095 (an-header, an-footer): Use them.
4097 * tmac/groff_man.man: Document changes.
4099 * doc/groff.texinfo: Document man changes.
4100 Document Ultrix extensions of man.
4102 2003-02-26 Werner LEMBERG <wl@gnu.org>
4104 * src/roff/troff/input.cc (do_width, do_if_request): Reset
4105 `have_input' after changing back to old environment.
4107 * src/devices/grolbp/lbp.cc (lbp_printer::set_line_thickness): Move
4108 function up to be defined before first call. This is necessary to
4109 avoid a compilation problem with Sun's WorkShop 6 C++ compiler.
4111 * src/utils/afmtodit/afmtodit.pl: Make script search for files in
4112 the default font directory also. Based on a patch from James
4113 J. Ramsey <jjramsey_6x9eq42@yahoo.com>.
4114 * src/utils/afmtodit/Makefile.sub (afmtodit): Handle @FONTDIR@.
4115 * src/utils/afmtodit/afmtodit.man: Document it.
4119 * tmac/groff_man.man, doc/groff.texinfo: Many minor fixes.
4121 2003-02-25 Gaius Mulley <gaius@glam.ac.uk>
4123 * aclocal.m4 (GROFF_HTML_PROGRAMS): Add test for pnmtops.
4124 (GROFF_PNMTOPS_NOSETPAGE): New macro.
4125 * configure.ac: Use it.
4126 * configure: Regenerated.
4127 * Makefile.in: Updated.
4129 * tmac/Makefile.sub (NORMALFILES): Remove www.tmac.
4130 (CLEANADD): Add www.tmac-sed.
4131 (pnmtops_nosetpage): Define default.
4132 (install_data): Handle www.tmac-sed and substitute
4133 @PNMTOPS_NOSETPAGE@.
4134 (stamp-sed): Add www.tmac.
4135 * tmac/www.tmac: Rewritten, based on a patch by Bernd Warken.
4136 It now breaks URLs at suitable places.
4137 (www:substring_ok): New register set by...
4138 (www:@test_substring): New macro.
4139 (www:error): New alias to www-error.
4140 (www:lenstr, www:splitstr, www:url_breaks, www:url_breaks_splitted):
4142 (URL): Use www:url_breaks.
4143 (PIMG, MPIMG): Use @PNMTOPS_NOSETPAGE@.
4144 (CDS, CDE): New macros.
4146 2003-02-25 Werner LEMBERG <wl@gnu.org>
4148 * src/devices/grops/ps.cc (ps_printer::define_encoding): Avoid
4151 2003-02-24 Werner LEMBERG <wl@gnu.org>
4153 Contrary to the PCL5 Developer's Guide, the ascenders in TFM files
4154 can be negative also.
4156 * src/utils/hpftodit/hpftodit.cc (char_info): `ascent' must be
4158 (read_char_table): Avoid negative ascenders.
4159 (output_charset): Add cast.
4160 * font/devlj4/*: Regenerated.
4162 Replace unnamed glyphs for DVI fonts with `uXXXX' glyph names where
4165 * font/devdvi/generate/{tc,texttt,ec,texmi,texsy,textex}.map: Do it.
4166 * font/devdvi/generate/textex.map: Map glyph 23 to `u21C6' instead
4168 * font/devdvi/*: Regenerated.
4170 Map `la' and `ra' to U+27E8 and U+27E9. These two characters have
4171 normal width, while the previously used characters (U+2329 and
4172 U+232A) are classified as wide due to canonical equivalence with the
4173 CJK punctuation characters U+3008 and U+3009.
4175 * font/devutf8/R.proto: Updated.
4176 * src/roff/troff/uniglyph.cc, src/roff/troff/glyphuni.cc: Ditto.
4178 * man/groff_char.man: Simplify handling of table traps by
4179 introducing `start block' and `end block' macros.
4180 (Ns, Ne, 2s, 2e, Ds, De): New macros.
4181 (DL): Make it work with Unix troff also.
4182 Fix code values of `la' and `ra'.
4184 * tmac/dvi.tmac: Define `<>' for CW and CWI.
4186 2003-02-23 Gaius Mulley <gaius@glam.ac.uk>
4188 * src/devices/grohtml/post-html.cc (element_list::~element_list):
4189 New destructor, fixing a major memory leak.
4191 2003-02-22 Werner LEMBERG <wl@gnu.org>
4193 * font/devhtml/R.proto, font/devutf8/R.proto: Flip `*f' and `+f'
4194 to be in conformance with Unicode 3.0 and newer.
4196 * font/devlj4/generate/text.map: Add `Eu'.
4197 * font/devlj4/generate/special.map: Flip `*e' and `+e'.
4198 * font/devlj4/S: Regenerated.
4200 * man/groff_char.man: Completely rewritten.
4202 * doc/groff.texinfo: Fix description of request and macro arguments.
4204 2003-02-20 Gaius Mulley <gaius@glam.ac.uk>
4208 * src/devices/grohtml/html-table.cc (html_table::~html_table):
4209 Deallocate `columns' list.
4210 * src/devices/grohtml/post-html.cc (char_block::~char_block):
4212 (text_glob::text_glob_html, text_glob::text_glob_special,
4213 text_glob::text_glob_line, text_glob::text_glob_auto_image,
4214 text_glob::text_glob_tag): Avoid memory leaks.
4215 (text_glob::remember_table): Free memory before reassigning.
4217 2003-02-19 Werner LEMBERG <wl@gnu.org>
4219 Add glyph `+e', greek lunate epsilon symbol, and `-h' (with the
4220 alias `hbar'), the Planck constant over two pi.
4222 * font/devdvi/generate/texmi.map: Use `*e' for position 15 and
4223 `+e' for position 34.
4224 * font/devdvi/generate/texsy.map: Replace `DI' and `HE' with
4225 `u2662' and `u2661'.
4226 * font/devdvi/{MI,S}: Regenerated.
4227 * font/devhtml/R.proto, font/devutf8/R.proto: Add `+e', `-h', `hbar'.
4228 * font/devlbp/*: Add `hbar' alias.
4229 * font/devlj4/generate/special.map: Ditto.
4230 * font/devlj4/S: Regenerated.
4231 * font/devps/generate/symbolchars: Add `+e'.
4232 * font/devps/generate/textmap: Fix PS name for `-h'.
4234 * font/devps/symbolmap: Regenerated.
4236 * src/devices/grops/ps.cc (transform_fill): Removed since unused.
4238 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `+e',
4240 * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `+e',
4243 * tmac/X.tmac, tmac/ps.tmac: Provide definitions for `-h' and
4245 * tmac/tty-char.tmac: Add `+e'.
4247 2003-02-17 Werner LEMBERG <wl@gnu.org>
4249 Another round trying to really fix problems with `have_input'.
4251 * src/roff/troff/input.cc (input_stack::get): Handle `have_input'.
4252 (token::next) <'\n'>, <\'\n'>: Don't handle `have_input'.
4254 * src/devices/grotty/tty.cc (tty_printer::put_color): Fix color
4255 handling if both foreground and background colors are default.
4257 * doc/groff.texinfo (Debugging): Document .lf differences to
4260 2003-02-16 Werner LEMBERG <wl@gnu.org>
4262 * src/devices/grotty/tty.cc (tty_printer::make_rgb_string): Avoid
4263 null-bytes in created string.
4265 * src/roff/troff/input.cc (lookup_color, interpolate_macro,
4266 alias_macro, lookup_request): Improve warning messages.
4268 * src/roff/troff/node.cc (suppress_node::tprint): Use `strsave',
4270 Free `last_image_filename'.
4272 * src/preproc/html/pre-html.cc (char_block::char_block): Initialize
4274 (imageList::createPage, imageList::createImage): Use `free', not
4276 (imageItem::~imageItem): Free `imageName'.
4277 (addRegDef): Use `strsave', not `strdup'.
4278 (get_resolution): Free `pathp'.
4280 2003-02-15 Werner LEMBERG <wl@gnu.org>
4282 * src/devices/grotty/tty.cc (tty_printer::tty_printer): Fix pointer
4285 2003-02-14 Werner LEMBERG <wl@gnu.org>
4287 Add memory management for colors to deallocate unnamed colors
4290 * src/include/color.h (color): New members `free_list' and `next'.
4291 New member functions `new' and `delete'.
4293 * src/libs/libgroff/color.cc: Implement it.
4295 * src/libs/libgroff/font.cc (font::add_kern): Use integer cast
4296 for array size of new operator.
4298 * src/libs/libdriver/input.cc (IntArray::operator[]): Remove
4299 redundant comparison.
4301 * src/roff/troff/input.cc (word_space_node::reread,
4302 hmotion_node::reread): Avoid warning about unused parameter.
4303 (reset_output_registers): Remove redundant parameter.
4304 (define_color): Undo change 2003-02-12.
4306 * src/roff/troff/reg.h: Updated.
4308 * src/roff/troff/node.cc (troff_output_file::really_print_line,
4309 output_file::put_filename, real_output_file::really_put_filename,
4310 ascii_output_file::really_print_line,
4311 break_char_node::get_hyphen_list): Avoid warning about unused
4313 (suppress_node::tprint): Updated.
4315 * configure.ac: Check declaration for rand() and srand().
4316 * configure: Regenerated.
4318 * src/preproc/pic/pic.h: Declare fmod(), rand(), and srand()
4320 * src/preproc/pic/pic.y: Remove declaration of fmod(), rand(),
4323 * src/preproc/eqn/delim.cc (delim_table): Add missing initializers
4324 to avoid compiler warnings.
4326 * src/preproc/grn/hgraph.cc (HGPrintElt): Second parameter is
4329 * src/devices/grops/ps.cc (ps_printer::set_char): Last parameter
4331 * src/devices/grops/psrm.cc (skip_possible_newline): Remove first
4333 Updated all callers.
4335 * src/devices/grotty/tty.cc (tty_printer::set_char): Last parameter
4337 * src/devices/grodvi/dvi.cc (dvi_printer::set_char): Ditto.
4338 * src/devices/grolj4/lj4.cc (lj4_printer::set_char): Ditto.
4340 * src/devices/grohtml/post-html.cc (html_printer::emit_line):
4341 Parameter is unused.
4342 (html_printer::add_table_end): Define parameter conditionally.
4343 * src/devices/grohtml/output.cc (simple_output::special): Parameter
4346 * src/devices/grolbp/lbp.cc: Define _GNU_SOURCE conditionally.
4347 (lbp_printer::set_char): Last parameter is unused.
4349 * src/utils/indxbib/indxbib.cc (main): Remove redundant comparison.
4351 2003-02-13 Werner LEMBERG <wl@gnu.org>
4353 New commands \D'Fr ...', \D'Fc ...', etc. for orthogonality.
4354 Make \D'f ...' move horizontally again for backwards compatibility.
4355 Replace it with \D'Fg ...' where appropriate to avoid dependency
4356 on horizontal resolution.
4358 * src/roff/troff/input.cc (do_get_long_name): New function.
4359 (get_long_name): Call it.
4361 (read_draw_node): Handle `\D'Fx ...' by calling ...
4362 (read_color_draw_node): New function.
4364 (read_rgb, read_cmy, read_cmyk, read_gray): New optional argument
4366 Pass it to `do_get_long_name' which is used instead of
4369 * src/libs/libdriver/input.cc (color_from_Df_command): Remove
4370 unnecessary value guard.
4371 (parse_D_command) <'f'>: Add horizontal shift.
4373 * src/preproc/grn/hgraph.cc (HGPrintElt) <POLYGON>: Use \D'Fg ...'.
4374 * src/preproc/pic/troff.cc (troff_output::set_fill): Ditto.
4375 (FILL_MAX): Removed.
4377 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
4380 2003-02-12 Werner LEMBERG <wl@gnu.org>
4382 * src/roff/troff/input.cc (do_name_test, do_expr_test,
4383 do_zero_width): Push `\n' if closing delimiter is missing.
4385 (token::next) <ESCAPE_NEWLINE>, <'\n'>, <\'\n'>: Reset `have_input'.
4386 <'F'>: Make \F non-transparent at the beginning of line.
4387 (process_input_stack) <token::TOKEN_CHAR, token::TOKEN_NEWLINE,
4388 token::TOKEN_REQUEST, token::TOKEN_BEGIN_TRAP>: Don't handle
4391 (define_color): Free color in case of reassignment.
4393 * doc/groff.texinfo (@Defesc, @DefescList, @DefescItem,
4394 @DefescListEnd): Use @Var, not @var.
4397 * src/preproc/grn/hgraph.cc (HGPrintElt): Fix typo.
4399 * src/preproc/pic/object.cc (object_spec::~object_spec): Free
4400 `shaded' and `outlined' arrays.
4401 (object_spec::object_spec): Initialize `shaded' and `outlined'.
4402 (graphic_object::set_fill_color, graphic_object::set_outline_color):
4404 (closed_object::set_fill_color): Ditto.
4405 * src/preproc/pic/troff.cc (troff_output::set_color): Use strsave
4407 (troff_output::reset_color): Use a_delete instead of free.
4408 * src/preproc/pic/main.cc (do_file): Free `out' in case of error.
4410 2003-02-11 Werner LEMBERG <wl@gnu.org>
4412 * doc/groff.texinfo: Improve documentation of `ad'.
4413 Document that \D'f...' is dependent on the horizontal resolution.
4414 * man/groff_diff.man: Improve documentation of \D'f...'.
4416 * src/preproc/grn/hgraph.cc (HGPrintElt) <POLYGON>: Don't emit
4417 compensating \h'...' for \D'f ...' since the latter no longer moves
4419 * src/preproc/pic/troff.cc (troff_output::set_fill): Ditto.
4421 2003-02-10 Werner LEMBERG <wl@gnu.org>
4423 Improve error messages for `x F' (and `F') commands.
4425 * src/include/error.h: Add declaration for
4426 `current_source_filename'.
4427 * src/libs/libgroff/filename.cc: Add `current_source_filename'.
4428 * src/libs/libgroff/error.cc (do_error_with_file_and_line): Add
4429 parameter for source file string.
4430 Updated all callers.
4432 * src/libs/libdriver/input.cc: Add `current_source_filename'.
4433 (remember_source_filename): New function.
4434 (parse_x_command <'F'>, do_file <'F'>): Use it.
4436 2003-02-09 Werner LEMBERG <wl@gnu.org>
4438 Make grotty not emit warnings about unknown colors more than
4441 * src/devices/grotty/tty.cc: Include `ptable.h'.
4442 (TTY_MAX_COLORS): Removed.
4443 (DEFAULT_COLOR_IDX): Defined to -1.
4444 (glyph): Change `back_color_idx' and `fore_color_idx' to `char'.
4445 (tty_printer): Change `curr_back_idx' and `curr_fore_idx' to `char'.
4446 Change `tty_colors' to be a ptable.
4447 First arg of `put_color' is now `char'.
4448 New functions `make_rgb_string' and `tty_color'.
4449 (tty_printer::tty_printer): Use `tty_color'.
4450 (tty_printer::color_to_idx): Return value is now `char'.
4453 * src/include/color.h (color): Add `print_color' member function.
4454 * src/libs/libgroff/color.cc (color::print_color): Implement it.
4456 2003-02-08 Werner LEMBERG <wl@gnu.org>
4460 * src/devices/grops/ps.cc (ps_printer::define_encoding): Close
4463 * src/include/ptable.h (PTABLE::~PTABLE, PTABLE::define): Always
4464 assume that value has been allocated with `new[]', thus use
4465 `a_delete' for deallocation.
4467 * src/libs/libdriver/input.cc (get_integer_arg,
4468 get_possibly_int_args, parse_x_command, do_file): Use `a_delete'
4471 * src/libs/libgroff/new.cc (delete) [!COOKIE_BUG]: Define.
4472 * src/libs/libgroff/nametoindex.cc
4473 (character_indexer::named_char_index): Use `new <type>[1]'.
4475 * src/preproc/eqn/lex.cc (init_table, do_definition): Use `new
4477 * src/preproc/eqn/text.cc (set_special_char_type): Ditto.
4478 (split_text): Use `a_delete'.
4480 * src/preproc/pic/pic.y (define_label, define_variable): Use `new
4483 * src/roff/troff/env.cc (environment::choose_breakpoint): Avoid
4484 harmless memory leak.
4485 (hyphen_trie::read_patterns_file): Initialize `buf'.
4486 * src/roff/troff/node.cc (troff_output_file::troff_output_file):
4487 Initialize `current_fill_color'and `current_glyph_color'.
4488 * src/roff/troff/glyphuni.cc
4489 (glyph_to_unicode_init::glyph_to_unicode_init): Use `new <type>[1]'.
4490 * src/roff/troff/uniuni.cc
4491 (unicode_decompose_init::unicode_decompose_init): Ditto.
4492 * src/roff/troff/uniglyph.cc
4493 (unicode_to_glyph_init::unicode_to_glyph_init): Ditto.
4495 2003-01-26 Werner LEMBERG <wl@gnu.org>
4497 * src/utils/indxbib/indxbib.cc (main) [__EMX__]: Check with
4498 `access' before calling `unlink'.
4499 (do_file): Handle __EMX__.
4501 * src/include/nonposix.h: Handle __EMX__.
4503 * Makefile.in (SEP): New variable; set to @PATH_SEPARATOR@.
4504 (fontpath,tmacpath): Use it.
4506 Sorted alphabetically.
4508 * src/preproc/eqn/neqn.sh, src/roff/nroff/nroff.sh: Use
4510 * src/preproc/eqn/Makefile.sub, src/roff/nroff/Makefile.sub: Handle
4513 2003-01-27 Werner LEMBERG <wl@gnu.org>
4515 * src/libs/libgroff/strcasecmp.c, src/libs/libgroff/strncasecmp.c:
4516 New files, copied from gnulib.
4517 * src/libs/libgroff/Makefile.sub (CSRCS): Add them.
4518 * configure.ac: Updated.
4519 * configure: Regenerated.
4521 * src/include/config.hin: Regenerated.
4522 * src/include/lib.h [!HAVE_STRCASECMP]: Declare `strcasecmp'.
4523 Don't define `strcasecmp' as `strcmp'.
4524 [!HAVE_STRNCASECMP]: Declare `strncasecmp'.
4525 Dont define `strncasecmp' as `strncmp'.
4527 * src/roff/groff/pipeline.c [!HAVE_STRCASECMP, !HAVE_STRNCASECMP]:
4530 2003-01-26 Werner LEMBERG <wl@gnu.org>
4532 * src/utils/indxbib/indxbib.cc (main) [__EMX__]: Fix typo:
4535 2003-01-25 Werner LEMBERG <wl@gnu.org>
4537 * doc/groff.texinfo (Ligatures and Kerning): Mention limitations.
4539 2003-01-24 Werner LEMBERG <wl@gnu.org>
4541 Add US-english hyphenation exceptions (converted from Barbara
4542 Beeton's hyphenation exception log reports which appear irregularly
4545 * tmac/hyphen.us: Updated to latest version.
4546 * tmac/README: Updated.
4547 * tmac/hyphenex.us, tmac/hyphenex.sh: New files.
4548 * tmac/troffrc: Load `hyphenex.us'.
4549 * tmac/Makefile.sub (NORMALFILES): Add `hyphenex.us'.
4550 * doc/groff.texinfo: Updated.
4552 2003-01-23 Werner LEMBERG <wl@gnu.org>
4554 Improve hyphenation slightly. This is a first step in redesigning
4555 the hyphenation algorithm to make it more flexible (e.g. allowing
4556 kerns and ligatures between the hyphenation character and the
4557 following character -- while not used normally in English, other
4558 languages like German would benefit).
4560 * src/roff/troff/env.cc (environment::hyphenate_line): Use
4561 assertion instead of if-clause.
4562 Let `get_hyphen_list' return the number of involved characters in
4563 the hyphenation pattern instead of computing it directly (which
4564 often yields too small values).
4565 * src/roff/troff/node.h (*::get_hyphen_list): Add second parameter.
4566 * src/roff/troff/node.cc (*::get_hyphen_list): Handle new second
4569 2003-01-22 Werner LEMBERG <wl@gnu.org>
4571 Fixing a bug which caused groff to hang if the hyphenation exception
4572 dictionary tried to grow.
4574 * src/roff/troff/env.cc (hyphen_trie::insert_hyphenation,
4575 hyphen_trie::read_patterns_file, do_hyphenation_patterns_file): Use
4576 pointer to dictionary.
4578 2003-01-20 Werner LEMBERG <wl@gnu.org>
4580 * src/utils/afmtodit/afmtodit.pl: Add switch `-m' to suppress
4581 negative left italic correction.
4582 * src/utils/afmtodit/afmtodit.man: Document it.
4584 * font/devps/generate/Makefile (RFLAG): Add `-m'.
4585 * font/devps/{AB,AR,BMB,BMR,CB,CR,EURO,HB,HR,HNB,HNR,NB,NR,PB,PR,
4586 S,TB,TR,ZD,ZDR}: Regenerated with afmtodit options `-i 0 -m'.
4590 2003-01-16 Werner LEMBERG <wl@gnu.org>
4594 2003-01-16 Jörgen Grahn <jgrahn@algonet.se>
4596 * src/preproc/refer/refer.man: Mention REFER environment variable.
4598 2003-01-05 Werner LEMBERG <wl@gnu.org>
4600 Similar to \[is], the square root glyph (\[sr]) and the square root
4601 extension glyph (\[radicalex]) are now text symbols. The new
4602 mathematical versions are called \[sqrt] and \[sqrtex],
4605 * font/devX*/S: Regenerated.
4606 * font/devdvi/generate/texex.map: Rename `sr[0123]' to `sqrt[0123]'.
4607 * font/devdvi/generate/texsy.map: Rename `sr' to `sqrt'.
4608 * font/devdvi/EX, font/devdvi/S: Regenerated.
4609 * font/devhtml/R.proto, font/devutf8/R.proto: Add `sqrt'.
4610 * font/devlj4/generate/special.map: Add `sqrt'.
4611 * font/devlj4/S: Regenerated.
4612 * font/devps/generate/textmap: Add `sqrt'.
4613 * font/devps/S, font/devps/symbolmap: Regenerated.
4615 * src/preproc/eqn/sqrt.cc (SQRT_CHAR, RADICAL_EXTENSION_CHAR,
4616 SQRT_CHAIN, BAR_CHAIN): Use `sqrt*' and `sqrtex*'.
4617 * src/roff/troff/input.cc (init_charset_table): Make `sqrtex'
4618 overlap horizontally.
4620 * tmac/X.tmac, tmac/ps.tmac, tmac/lj4.tmac: Add `sqrtex'.
4621 * tmac/dvi.tmac: Add `sr', and `sqrtex'.
4624 * doc/groff.texinfo, man/groff_diff.man: Document that `radicalex'
4625 and `sqrtex' are overlapping glyphs.
4627 2003-01-04 Werner LEMBERG <wl@gnu.org>
4629 * font/devdvi/generate/texsy.map: Add `is'.
4630 * font/devps/symbolmap: Regenerated.
4631 * font/devdvi/*TC, MI, S: Regenerated.
4633 * tmac/dvi.tmac: Remove `is'.
4635 2003-01-03 Werner LEMBERG <wl@gnu.org>
4637 `is' is now a text symbol (only relevant for dvi). The math variant
4638 can be accessed with `integral'.
4640 * font/devX*/S: Regenerated.
4641 * font/devdvi/generate/texex.map: Remove `is'.
4642 * font/devdvi/EX: Updated.
4643 * font/devhtml/R.proto, font/devutf8/R.proto: Add `integral'.
4644 * font/devlj4/generate/special.map: Ditto.
4645 * font/devlj4/S: Regenerated.
4646 * font/devps/generate/textmap: Add `integral'.
4647 * font/devps/S: Regenerated.
4649 * tmac/dvi.tmac: Define `is'.
4651 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `integral'.
4653 * src/preproc/tbl/main.cc (process_format): Fix error message.
4655 2003-01-02 Werner LEMBERG <wl@gnu.org>
4657 * font/devhtml/R.proto, font/devutf8/R.proto: Add `ne' and `nc'.
4658 * font/devps/textmap: Fix entries for `ne' and `nc'.
4659 * font/devps/symbolmap: Regenerated.
4661 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list),
4662 src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `18',
4663 `38', `58', `78', `-+', `|=', `nc', `ne'.
4665 * tmac/dvi.tmac: Add `nm', `ne', `nc'.
4666 Use `schar' for `aq'.
4667 * tmac/ps.tmac, tmac/X.tmac: Add `nc' and `ne'.
4668 * tmac/ec.tmac: Add `SC' to special fonts for `CW' and `CWI'.
4669 * tmac/tty.tmac: Add `ne'.
4671 * src/roff/troff/node.cc (make_glyph_node): Test with `get_macro'
4672 for fallback glyphs.
4674 2002-12-29 Werner LEMBERG <wl@gnu.org>
4678 * font/devX*/*: Regenerated.
4679 * font/devdvi/generate/ec.map: Remove `eq'.
4680 * font/devdvi/generate/texsy.map: Make `~=' the same as `~~'.
4681 Assign `|=' to position 39.
4682 * font/devdvi/*EC, S: Regenerated.
4683 * font/devhtml/R.proto, font/devutf8/R.proto: Add `|='.
4684 * font/devlj4/generate/special.map: Make `~=' the same as `~~'.
4685 Assign `|=' to position 549.
4686 * font/devps/generate/textmap, font/devps/enerate/symbolmap: Remove
4688 Add `uni2243' for `|='.
4690 * tmac/ec.tmac: Add `eq'.
4691 * tmac/dvi.tmac: Add `=~'.
4692 * tmac/tty-char.tmac, tmac/ps.tmac, tmac/X.tmac, tmac/lbp.tmac: Add
4695 2002-12-21 Werner LEMBERG <wl@gnu.org>
4697 * font/devdvi/generate/tc.map: Remove `**'.
4698 * font/devdvi/*TC: Regenerated.
4699 * font/devhtml/R.proto, font/devutf8/R.proto: Add `18', `38', `58',
4701 * font/devutf8/NOTES: Updated.
4703 * src/roff/troff/charinfo.h (charinfo): Add `setx_macro' function.
4704 Don't give default parameter to `set_macro'.
4705 * src/roff/troff/input.cc (do_define_character): Use `setx_macro'
4706 instead of `set_macro'.
4707 (charinfo::setx_macro): Implement it.
4708 (charinfo::set_macro): Don't change `mode'.
4710 * tmac/tty.tmac: Add `18', `38', `58', `78', `<<', `>>'.
4711 * tmac/ps.tmac, tmac/X.tmac: Add `<<', `>>'.
4712 * tmac/dvi.tmac: Define `!=' with `.schar'.
4714 2002-12-20 Werner LEMBERG <wl@gnu.org>
4716 * font/devX*/S: Regenerated.
4717 * font/devdvi/generate/ec.map: Remove `pl'.
4718 * font/devdvi/generate/tc.map: Remove `mi', `14', `12', `34'.
4719 * font/devdvi/*{TC,EC}: Regenerated.
4720 * font/devhtml/R.proto: Add `-+'.
4721 Remove double entries for `rk', `lk', `lt', `rt', `rb', `lb'.
4722 * font/devlbp/*: Remove `or'.
4723 * font/devlj4/generate/special.map: Remove `or'.
4724 * font/devlj4/S: Regenerated.
4725 * font/devps/generate/textmap: Add `fiveeighths', `oneeighth',
4726 `seveneighths', `threeeighths'.
4728 Replace `minusplus' with `uni2213'.
4729 * font/devps/symbolmap: Regenerated.
4730 * font/devutf8/R.proto: Replace `shc' with unnamed glyph.
4733 * src/roff/troff/charinfo.h (charinfo): Add `is_normal' inline
4735 * src/roff/troff/node.cc (troff_output_file::put_char_width):
4736 Call glyph_color and fill_color even if tcommand_flag isn't set.
4737 (make_node, node::add_char): Check not ci->is_fallback but
4740 * tmac/lj4.tmac, tmac/lbp.tmac: Define `or'.
4741 * tmac/ec.tmac: Add .rchar entry for `f/'.
4742 Don't remove `12', `14', `34'.
4743 Define `pl' to be always roman.
4744 * tmac/ps.tmac (ps-frac, ps-frac-mono): New macros.
4745 Define `18', `38', `58', `78'.
4746 * tmac/tty.tmac: Add `-+'.
4747 * tmac/dvi.tmac: Define `f/'.
4748 (dvi-frac): Use `f/'.
4749 * tmac/X.tmac (X-frac, X-frac-mono): New macros.
4750 Define `18', `38', `58', `78'.
4752 2002-12-15 Colin Watson <cjwatson@debian.org>
4754 * contrib/pic2graph/pic2graph.sh: Add missing `;;'.
4756 2002-12-10 Werner LEMBERG <wl@gnu.org>
4758 Add glyph `tno', a textual variant of `no'.
4760 * font/devX*/*: Regenerated.
4761 * font/{devcp1047,devlatin1,devutf8,devhtml}/R.proto: Add `tno'.
4762 * font/devdvi/generate/{tc.map: Replace `no' with `tno'.
4763 * font/devdvi/generated/{texsy,textex}.map: Add `tno'.
4764 * font/devdvi/*: Regenerated.
4765 * font/devlbp/*: Add `tno'.
4766 * font/devlj4/generate/tex.map: Replace `no' with `tno'.
4767 * font/devlj4/*: Regenerated.
4768 * font/devps/generate/textmap: Replace `no' with `tno'.
4769 * font/devps/generate/symbolchars: Add `no'.
4770 * font/devps/*: Regenerated.
4772 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `tno'.
4774 * tmac/cp1047.tmac, tmac/latin1.tmac: Replace `no' with `tno'.
4775 * tmac/tty-char.tmac: Add entry for `tno' and `3d'.
4779 * tmac/dvi.tmac: Replace most `\\' with `\E'.
4780 Add definition for `sd'.
4781 * tmac/X.tmac, tmac/ps.tmac: Replace most `\\' with `\E'.
4783 * tmac/eqnrc <dvi>: Use `integral' instead of `is' glyph.
4785 2002-12-08 Werner LEMBERG <wl@gnu.org>
4787 * tmac/an-old.tmac (TH): Use integer value for `IN' if in nroff
4788 mode to avoid rounding errors.
4789 (an-do-tag, an-do-tag-html, RS, RE): Remove redundant `.br'.
4791 * src/roff/groff/groff.man, src/roff/nroff/nroff.man,
4792 src/roff/troff/troff.man: Improve documentation of -T.
4794 2002-12-07 Jeff Conrad <jeff_conrad@msn.com>
4796 * src/roff/groff/pipeline.c: Don't define `const' for _WIN32.
4797 (run_pipeline) [_WIN32]: Provide working function without `fork'.
4799 2002-12-06 Werner LEMBERG <wl@gnu.org>
4801 * font/devps/generate/freeeuro.sfd: Make dimensions of Euro.symbol
4802 glyphs compatible to Adobe's Euro fonts (scaling them down a bit).
4803 Scaling Euro.sansserif glyphs down to have the same height as
4805 Removed unnecessary points; added some extrema.
4807 * font/devps/EURO, font/devps/freeeuro.afm, font/devps/freeeuro.pfa:
4810 2002-12-04 Werner LEMBERG <wl@gnu.org>
4812 * font/devps/generate/freeeuro.sfd: Add glyphs `Euro.symbol.slanted'
4813 and `Euro.symbol.bold.slanted'.
4814 Improve some glyph offsets and widths.
4815 * font/devps/EURO, font/devps/freeeuro.afm, font/devps/freeeuro.pfa:
4817 * font/devps/generate/Makefile (freeeuro.afm freeeuro.pfa): Fix
4819 * font/devps/generate/sfdtopfa.pe: Generate PFA in current
4822 * tmac/europs.tmac: Updated to new glyph indices.
4823 Use Euro.symbol for font familiy `A'.
4825 * doc/groff.texinfo: Minor improvements.
4827 2002-12-02 Werner LEMBERG <wl@gnu.org>
4829 * font/devdvi/generate.tc.map: s/%O/%0/.
4830 * font/devdvi/*TC: Regenerated.
4832 * src/roff/troff/div.cc (init_div_requests): Sorted.
4834 * tmac/dvi.tmac: Remove `Ye'.
4835 * tmac/ec.tmac: Remove `Ye'.
4836 Add .rchar entry for `de'.
4838 * man/groff.man, man/groff_diff.man: Document register `.pe'.
4839 * doc/groff.texinfo: Document registers `.pe', `.n', and `.w'.
4842 2002-11-30 Werner LEMBERG <wl@gnu.org>
4844 Add PS font for various Euro glyphs.
4846 * font/devps/generate/freeeuro.sfd: New master font file for
4848 * font/devps/generate/sfdtopfa.pe: New conversion script for
4850 * font/devps/generate/Makefile (FONTS): Add `EURO'.
4851 (EURO, freeeuro.afm, freeeuro.pfa): New rules.
4852 * font/devps/freeeuro.pfa, font/devps/freeeuro.afm: Generated from
4854 * font/devps/EURO: Generated from `freeeuro.afm'.
4855 * font/devps/download: Add `freeuro.pfa'.
4856 * font/devps/Makefile.sub (NORMALFILES): Adde `EURO' and
4859 * tmac/europs.tmac: New file.
4860 * tmac/ps.tmac: Include `europs.tmac'.
4861 * tmac/Makefile.sub (DISTFILES): Add `europs.tmac'.
4863 2002-11-29 Werner LEMBERG <wl@gnu.org>
4865 * font/devdvi/generate/texsy.map: Remove `lh' and `rh'.
4866 * font/devdvi/S: Regenerated.
4867 * font/devhtml/R.proto: Fix `CR' and `ci'.
4869 * font/devps/generate/textmap: Fix `lh', `rh', and `sq'.
4871 * font/devps/symbolmap: Regenerated.
4872 * font/devutf8/R.proto: Fix `CR' and `ci'.
4874 * font/devutf8/NOTES: Updated.
4876 * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Fix `CR' and
4879 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Ditto.
4881 * tmac/dvi.tmac: Add `lh' and `rh'.
4882 * tmac/Xps.tmac: Fix `lh' and `rh'.
4883 * tmac/X.tmac: Add `OK'.
4884 * tmac/lj4.tmac: Ditto.
4886 2002-11-24 Werner LEMBERG <wl@gnu.org>
4888 * font/devX*/S: Regenerated.
4889 * font/devascii/R.proto, font/devcp1047/R.proto: Remove glyphs `lb',
4890 `lc', `lf', `lk', `lt', `rb', `rc', `rf', `rk', and `rt'.
4891 * font/devdvi/generate/texsy.map: Remove `or' glyph.
4892 * font/devdvi/S: Regenerated.
4893 * font/devhtml/R.proto, font/devutf8/R.proto: Add/fix glyphs
4894 `parenlefttp', `parenleftex', `parenleftbt', `parenrighttp',
4895 `parenrightex', `parenrightbt', `bracketlefttp', `bracketleftex',
4896 `bracketleftbt', `bracketrighttp', `bracketrightex',
4897 `bracketrightbt', `bracelefttp', `braceleftmid', `braceleftbt',
4898 `braceex', `braceleftex', `bracerightex', `bracerighttp',
4899 `bracerightmid', `bracerightbt', `lt', `lk', `lb', `rt', `rk',
4901 * src/roff/troff/glyphuni.cc, src/roff/troff/uniglyph.cc: Ditto.
4902 * font/devutf8/NOTES: Updated.
4903 * font/devlj4/generate/special.map: Add glyph `braceex'.
4904 * font/devlj4/S: Regenerated.
4906 * tmac/tty-char.tmac: Add glyphs `lf', `rf', `lc', and `rc'.
4908 2002-11-14 Werner LEMBERG <wl@gnu.org>
4910 * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `va'
4913 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Ditto.
4915 * doc/texinfo.tex: New version from texinfo 4.3.
4916 * doc/groff.texinfo: Updated for texinfo 4.3.
4917 Use @tie{} where appropriate.
4918 * font/devdvi/generate/ec.map: Don't include `or' and `bv'.
4919 * font/devdvi/generate/tc.map: Remove `rn'.
4920 * font/devdvi/*TC, font/devdvi/*EC: Regenerated.
4921 * font/devhtml/R.proto, font/devutf8/R.proto: Add `vA'.
4923 * font/devX100/*, font/devX100-12/*, font/devX75/*,
4924 font/devX75-12/*: Regenerated.
4926 * tmac/dvi.tmac: Add special fonts `SA' and `SB'.
4927 Use .char (again) for `br', `ul', `rn', `or', and `ru'.
4928 Improve definition of `an'.
4929 * tmac/ps.tmac: Use .char (again) for `br', `ul', `rn', `or', and
4931 * tmac/lj4.tmac: Use .char (again) for `br', `ul', `rn', and `ru'.
4932 * tmac/X.tmac: Add definition for `or'.
4933 * tmac/Xps.tmac: Undo change 2002-11-05.
4934 * tmac/lbp.tmac: Add definitions for `br', `rn', `ul', and `ru'.
4936 2002-11-11 Werner LEMBERG <wl@gnu.org>
4938 * src/roff/troff/node.cc (troff_output_file::put_char): Always
4941 2002-11-10 Werner LEMBERG <wl@gnu.org>
4943 Added three new requests `schar', `fschar', and `rfschar'. `schar'
4944 defines a glyph which is searched after the check for fonts declared
4945 with `.special' (and before the check for all mounted special
4946 fonts). `fschar' defines a glyph for a particular font which is
4947 searched after the check for fonts declared with `.fspecial' (and
4948 before the check for fonts declared with `.special'). `rfschar'
4949 removes glyphs defined with `fschar'.
4951 * src/roff/troff/token.h (char_mode): New enum.
4952 Declare do_define_character.
4953 * src/roff/troff/charinfo.h (charinfo): Replace `fallback' with
4955 (charinfo::is_fallback): Updated.
4956 (charinfo::is_special): New method.
4957 * src/roff/troff/input.cc (do_define_character): Add and use
4958 optional second parameter used as a prefix for font-specific glyph
4960 (define_character, define_fallback_character): Updated.
4961 (define_special_character): New function.
4962 (init_input_requests): Add `schar'.
4963 (charinfo::charinfo, charinfo::set_macro): Updated.
4964 * src/roff/troff/node.cc: Include `stringclass.h'.
4965 (make_glyph_node): Handle special glyphs defined with `.schar' and
4967 (define_font_special_character, remove_font_special_character): New
4969 (init_node_requests): Sorted.
4970 Add `fschar' and `rfschar'.
4971 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
4972 Document new requests.
4974 * font/devhtml/R.proto, font/devutf8/R.proto: Add `va'.
4975 * tmac/dvi.tmac: Add `va' for CW and CWI (using `.fschar').
4977 2002-11-08 Werner LEMBERG <wl@gnu.org>
4979 Added new font `SC' (cmtex10) to devdvi.
4981 * devdvi/generate/Makefile (FONTS): Add `SC'.
4983 * devdvi/generate/textex.map: New map file for cmtex.
4985 * devdvi/Makefile.sub (DEVFILES): Updated.
4986 * tmac/dvi.tmac: Add fspecial entries for SC.
4987 Add `MI', `S' and `CW' to the `special' call. Otherwise, `SC' is
4988 found before `S' since the font position of `SC' is lower due to the
4989 gaps in DESC's `font' line.
4990 * tmac/ec.tmac: Add a `special' call.
4993 * font/devhtml/R.proto: Remove double entry for `ti'.
4994 * tmac/tty.tmac: Add entries for `IJ', `ij', and `bq'.
4995 * tmac/tty-char.tmac: Remove entry for `bq'.
4996 * tmac/lbp.tmac: Add entries for `lq', `rq', `fo', `fc', and `em'.
4997 * tmac/ec.tmac: Don't remove `aq' glyph.
4998 * tmac/X.tmac: Fix entry for `em'.
4999 Add entries for `fo' and `fc'.
5000 * tmac/dvi.tmac: Add entries for `em', `en', `hy', `fo', and `fc'.
5002 * doc/groff.texinfo, man/groff.man, man/groff_diff.man: Fix
5003 documentation of `special' and `fspecial' requests.
5005 2002-11-05 Werner LEMBERG <wl@gnu.org>
5007 * font/devascii/R.proto, font/devcp1047/R.proto,
5008 font/devlatin1/R.proto: Remove entry for `.i'.
5009 * font/devdvi/generate/textt.map: Add entry for `ad'.
5010 * font/devdvi/generate/texr.map, font/devdvi/generate/texb.map,
5011 font/devdvi/generate/texi.map: Add dummy glyph name `slash@for@l'.
5012 We need this for getting kerning values to compose `/l' and `/L'.
5013 * font/devdvi: Regenerated font definition files for CM fonts.
5014 * font/devhtml/R.proto: Add entries for "'C", "'c", `IJ', and `ij'.
5015 * font/devutf8/R.proto: Ditto.
5016 Remove double entry for `ti'.
5018 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Fix entries
5019 for (groff) ligatures, `la', and `ra'.
5020 Add "'C", "'c", `IJ', and `ij'.
5021 Remove double entry for `ti'.
5022 * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Remove all
5024 Add "'C", "'c", `IJ', and `ij'.
5025 Fix entries for (groff) ligatures, `la', and `ra'.
5027 * tmac/ps.tmac (ps-achar): New macro.
5028 Define "'c" and "'C".
5029 * tmac/tty.tmac: Add entry for `.i'.
5030 * tmac/X.tmac (X-achar): New macro.
5031 Define "'c", "'C", and `:Y'.
5032 Add entries for `IJ' and `ij'.
5033 * tmac/Xps.tmac (Xps-achar): New macro.
5034 Define "'c" and "'C".
5035 Add entries for `IJ' and `ij'.
5036 * tmac/lbp.tmac (lbp-achar): New macro.
5037 Add fallback characters for all groff ligatures and many other
5039 * tmac/dvi.tmac: Fix definitions of `_' and `ul'.
5040 Add entries for `/l' and `/L'.
5041 Define "'c" and "'C".
5042 Add entries for `IJ' and `ij'.
5044 2002-11-02 Larry Kollar <kollar@alltel.net>
5046 * PROBLEMS: Document how to solve Mac OS X compilation problems.
5048 2002-11-02 Werner LEMBERG <wl@gnu.org>
5050 Adding support for composite glyphs: \[xxx yyy ...] and the
5051 `composite' request.
5053 * src/roff/troff/glyphuni.cc: New file for mapping groff glyph names
5054 to Unicode-based glyph names.
5055 * src/roff/troff/uniglyph.cc: New file for mapping Unicode-based
5056 glyph names to groff glyph names.
5057 * src/roff/troff/uniuni.cc: New file for canonically decomposing
5058 Unicode-based glyph names.
5059 * src/roff/troff/unicode.cc, src/roff/troff/unicode.h: New files
5060 for handling Unicode glyph names.
5061 * src/roff/troff/input.cc: Include unicode.h.
5062 (composite_glyph_name): New function.
5063 (token::next) <'['>: Handle Unicode glyph names and composite
5065 (composite_dictionary): New dictionary for the `composite' request.
5066 (composite_request): Implement `composite' request.
5067 (init_input_requests): Add `composite'.
5068 Alphabetically sorted.
5069 * src/roff/troff/env.cc (tabs_save, tabs_restore): Removed (already
5071 (init_env_requests): Alphabetically sorted.
5072 Removed `tas' and `tar' (already commented out).
5073 * src/roff/troff/Makefile.sub: Updated.
5075 2002-10-31 Ruslan Ermilov <ru@FreeBSD.org>
5077 * src/roff/nroff/nroff.man, src/roff/nroff/nroff.sh: Fix description
5080 2002-10-29 Werner LEMBERG <wl@gnu.org>
5082 Fix computation of .trunc register. Additionally, its value (and
5083 the value of the .ne register) is now always set before entering the
5086 * src/roff/troff/div.cc (diversion::need): Set `truncated_space' and
5087 `needed_space' before calling `space'.
5088 (top_level_diversion::space): Remove special code for 'sp before the
5090 Call `begin_page' with the discarded space as a parameter.
5091 (top_level_diversion::begin_page): Add optional parameter to set
5093 * src/roff/troff/div.h: Updated.
5095 * doc/groff.texinfo: Improve documentation of .sp, \n[.trunc], and
5098 * tmac/an-old.tmac (SH, SS, TP, IP, HP, TS): Undo change 2002-10-26.
5099 (LP): Remove superfluous call to `br'.
5100 * tmac/doc-common (doc-paragraph): Undo change 2002-10-26.
5101 * tmac/doc.tmac (Bd, Bl, doc-set-vertical-and-indent): Ditto.
5103 2002-10-26 Werner LEMBERG <wl@gnu.org>
5105 * tmac/doc-ditroff: Remove useless switch/variable -rC.
5106 (doc-setup-header): Don't set page register `%'.
5107 * tmac/doc-nroff: Remove variable `C'.
5108 (doc-setup-page-layout): Set doc-header-space to .5i unconditionally.
5109 (doc-setup-header): Don't set page register `%'.
5111 * tmac/doc-common (doc-header): Call `ns'.
5112 (doc-paragraph): Protect .sp with .br so that it survives traps
5113 possibly set by the user.
5114 * tmac/doc.tmac (Bd, Bl, doc-set-vertical-and-indent): Ditto.
5116 * tmac/doc*: Replace ' with . for consistency if no effect.
5118 2002-10-26 Werner LEMBERG <wl@gnu.org>
5120 * tmac/an-old.tmac (SH, SS, TP, IP, HP, TS): Protect .sp with .br
5121 so that it survives traps possibly set by the user.
5123 * src/roff/troff/node.cc: Fix the changes from 2002-10-23.
5124 (troff_output_file::set_font): Call flush_tbuf if necessary.
5125 (troff_output_file::fill_color, troff_output_file::glyph_color): Call
5126 flush_tbuf and do_motion only if necessary.
5127 (troff_output_file::start_special,
5128 troff_output_file::put_char_width, troff_output_file::put_char,
5129 troff_output_file::draw): Updated.
5130 (word_space_node::tprint, space_node::tprint, hmotion_node::tprint,
5131 vmotion_node::tprint): Undo change 2002-10-23.
5133 2002-10-25 Werner LEMBERG <wl@gnu.org>
5135 * tmac/www.tmac (DC): Fix case of overlapping images.
5137 2002-10-23 Werner LEMBERG <wl@gnu.org>
5139 * src/roff/troff/node.cc (troff_output_file::fill_color,
5140 troff_output_file::glyph_color): Set current color before testing
5142 (troff_output_file::put_char_width, troff_output_file::put_char,
5143 troff_output_file::draw): Don't call flush_tbuf and/or do_motion
5145 (troff_output_file::file_color, troff_output_file::glyph_color):
5147 (word_space_node::tprint, space_node::tprint, hmotion_node::tprint,
5148 vmotion_node::tprint): Move first, then call fill_color.
5150 2002-10-20 Werner LEMBERG <wl@gnu.org>
5152 * doc/groff.texinfo, man/groff_tmac.man: Document that it is not
5153 possible to use multiple main macro packages.
5155 2002-10-19 Werner LEMBERG <wl@gnu.org>
5157 * src/devices/grops/ps.cc (cmyk_flag): New global variable.
5158 (ps_printer::set_color): Set `cmyk_flag' for CMY and CMYK colors.
5159 (ps_printer::~ps_printer): Emit `%%Extensions: CMYK' if `cmyk_flag'
5161 * font/devps/prologue.ps (Fk, Ck): Enclose definitions with a
5162 `where' construction since `cmyksetcolor' is a PS Level 2 operator.
5164 2002-10-16 Werner LEMBERG <wl@gnu.org>
5166 * NEWS, doc/webpage.ms: Updated.
5168 2002-10-14 Werner LEMBERG <wl@gnu.org>
5170 * src/roff/troff/node.cc (troff_output_file::put_char_width,
5171 troff_output_file::put_char, troff_output_file::fill_color,
5172 troff_output_file::glyph_color): Handle case where color pointer
5175 2002-10-13 Ruslan Ermilov <ru@FreeBSD.org>
5177 Add the new -r option to grotty. It is similar to the -i option
5178 except it tells grotty(1) to use the "reverse video" attribute to
5179 render italic fonts.
5181 * src/devices/grotty/tty.cc (reverse_flag): New global variable.
5182 (SGR_REVERSE, SGR_NO_REVERSE): New macros.
5183 (tty_printer::make_underline, tty_printer::put_color,
5184 tty_printer::end_page): Use it.
5185 (main): Add -r switch.
5187 * src/devices/grotty/grotty.man: Document it.
5189 2002-10-11 Ruslan Ermilov <ru@FreeBSD.org>
5191 * src/roff/troff/env.cc (hyphen_trie::read_patterns_file): Add
5192 cast to `unsigned char' to properly read patterns with 8bit
5195 2002-10-08 Werner LEMBERG <wl@gnu.org>
5197 * REVISION: Increased to 2.
5200 version-control: never