1 2005-06-28 Werner LEMBERG <wl@gnu.org>
3 * ChangeLog: Split off older entries into...
4 * ChangeLog.115 ChangeLog.116, ChangeLog.117, ChangeLog.118: New
7 2005-06-26 Bernd Warken
9 * src/devices/xditview/gxditview.man: More minor fixes.
11 2005-06-24 Werner LEMBERG <wl@gnu.org>
13 * src/preproc/pic/troff.cpp (troff_output::set_fill,
14 troff_output::set_color, troff_output::reset_color): Use .bcolor and
15 .fcolor instead of \m and \M, respectively.
17 2005-06-23 Bernd Warken
19 * src/devices/xditview/gxditview.man: More minor fixes.
20 * README: Formatting issues.
21 Mention some problems with Debian.
23 2005-06-23 Bernd Warken
25 * src/devices/xditview/gxditview.man: Revised and improved.
27 2005-06-22 Werner LEMBERG <wl@gnu.org>
29 Another round in fixing getopt problems. Hopefully the last one!
30 This time we use the getopt stuff from gnulib and define a prefix
31 unconditionally so that there are no collisions with any other
32 getopt implementations. This is a slight waste of space in case
33 we already use a GNU getopt implementation, but on
34 the other hand it really simplifies life.
36 * src/include/getopt.h: Use gnulib version.
38 * src/include/getopt_int.h: Use gnulib version.
40 * src/include/groff-getopt.h: Removed. Obsolete now.
42 * src/include/lib.h: Regarding getopt, don't handle any platform
43 specially; just include getopt.h.
44 (__GETOPT_PREFIX): Define (before getopt.h).
46 * src/include/Makefile.sub (HDRS): Updated.
48 * src/libs/libgroff/getopt1.c, src/libs/libgroff/getopt.c: Use
51 * src/libs/libgroff/Makefile.sub (EXTRA_CFLAGS): Set
54 * src/utils/pfbtops/pfbtops.c, src/utils/xtotroff/xtotroff.c
55 (__GETOPT_PREFIX): Define (before getopt.h).
57 2005-06-21 Werner LEMBERG <wl@gnu.org>
59 * src/include/lib.h: Provide a fix for Mac OS X to not include
62 2005-06-20 Denis M. Wilson <dmw@oxytropis.plus.com>
64 * font/devps/prologue.ps (EP): Dont' use `bind'. Reason: Using
65 `bind' to define a procedure which contains `showpage' means that an
66 invocation of `showpage' may execute wrongly (the exact effect
67 depending on the interpreter). Not usually a problem except under
68 transformations, such as combining pages.
69 (PEND): Don't call `clear'. Reason: Using `clear' in the definition
70 of /PEND means that stack underflow will occur if the stack is
71 deliberately non-empty before document inclusion. If included
72 files are found to be generally badly behaved, we could replace the
73 `clear' with `mark' in /PBEGIN and `cleartomark' in /PEND (I've
74 never found this necessary).
76 2005-06-20 Jörgen Grahn <jgrahn@algonet.se>
78 * src/preproc/soelim/soelim.cpp (do_file): Append trailing zero
79 earlier to get correct error message.
81 2005-06-16 Bernd Warken
82 * src/roff/nroff/nroff.sh: Add support for iso-8859-15.
84 2005-06-15 Werner LEMBERG <wl@gnu.org>
86 Another try to update getopt files. This time we add a dummy
87 gettext.h file to satisfy the dependency.
89 * src/include/getopt.h, src/libs/libgroff/getopt.c,
90 src/libs/libgroff/getopt1.c: Updated from GNU libc CVS.
92 * src/include/getopt_int.h: New file (from GNU libc CVS).
94 * src/include/gettext.h: Dummy file which just defines a gettext()
97 * src/include/groff-getopt.h: Updated.
99 * src/include/Makefile.sub (HDRS): Add getopt_int.h and gettext.h.
102 * src/libs/libdriver/input.cpp (IntArray): Remove superfluous
103 `const' keywords in return value.
105 * src/preproc/html/pushback.cpp (pushBackBuffer::~pushBackBuffer):
106 Remove redundant variable `old'.
107 (pushBackBuffer::skipToNewline): Remove redundant variable `ch'.
109 * src/preproc/tbl/main.cpp (process_table): Remove redundant
113 Fix more friend name injection problems since modern C++ compilers
114 fail otherwise. We simply provide (global) declarations for all
115 functions declared as friends. This is not really necessary but
118 * src/preproc/eqn/lex.cpp: Provide declarations for get_char,
119 peek_char, and get_location.
121 * src/preproc/refer/ref.h: Provide declarations for
122 compare_reference, same_reference, same_year, same_date,
123 same_author_last_name, and same_author_name.
125 * src/roff/troff/div.h: Provide declarations for do_divert and
128 * src/roff/troff/env.h: Provide declarations for title_length,
129 space_size, fill, no_fill, adjust, no_adjust, center, right_justify,
130 vertical_spacing, post_vertical_spacing, line_spacing, line_length,
131 indent, temporary_indent, do_underline, do_input_trap, set_tabs,
132 margin_character, no_number, number_lines, leader_character,
133 tab_character, hyphenate_request, no_hyphenate,
134 hyphen_line_max_request, hyphenation_space_request,
135 hyphenation_margin_request, line_width, tabs_save, tabs_restore,
136 line_tabs_request, widow_control_request, and do_divert.
138 * src/roff/troff/input.cpp: Provide declaration for chop_macro.
140 * src/roff/troff/node.cpp: Provide declarations for class
142 Provide declaration for make_tfont.
144 2005-05-29 Werner LEMBERG <wl@gnu.org>
146 * doc/fdl.texi: Updated to version 1.2. Reported by Bernd Warken.
148 2005-05-28 Werner LEMBERG <wl@gnu.org>
150 * contrib/pdfmark/Makefile.sub (.ms.pdf): Use `--stylesheet', not
153 * src/devices/grolbp/lbp.cpp, src/devices/grolbp/lbp.h: Remove
154 redundant semicolons.
156 * src/preproc/eqn/Makefile.sub, src/preproc/html/Makefile.sub,
157 src/preproc/soelim/Makefile.sub, src/preproc/tbl/Makefile.sub:
158 Define `MLIB'. Some compilers need this for linking with libgroff.
160 2005-05-27 Werner LEMBERG <wl@gnu.org>
162 * MANIFEST, README, doc/webpage.ms: Updated.
164 2005-05-26 Werner LEMBERG <wl@gnu.org>
166 * All affected files: Update postal address of FSF.
168 2005-05-25 Keith Marshall <keith.d.marshall@ntlworld.com>
171 * README: More fixes.
173 * README.CVS: Removed. Its contents is now part of the README file.
175 2005-05-21 Werner LEMBERG <wl@gnu.org>
177 * README: Updated. Based on a patch from Bernd Warken.
179 2005-05-16 Keith Marshall <keith.d.marshall@ntlworld.com>
181 Miscellaneous script portability enhancements.
183 * aclocal.m4: (GROFF_CSH_HACK): Add space in shebang prototype for
184 generated conftest.sh script, conforming to portability
185 recommendation in autoconf docs.
186 * configure: Likewise, for code generated by GROFF_CSH_HACK.
187 * contrib/eqn2graph/eqn2graph.sh: Add space in shebang, conforming
188 to portability recommendation in autoconf docs.
189 * contrib/gdiffmk/gdiffmk.sh: Likewise.
190 * contrib/gdiffmk/tests/runtests.in: Likewise.
191 * contrib/grap2graph/grap2graph.sh: Likewise.
192 * contrib/groffer/groffer.sh: Likewise.
193 * contrib/mm/mmroff.pl: Likewise.
194 * contrib/mom/momdoc/appendices.html: Likewise.
195 * contrib/pic2graph/pic2graph.sh: Likewise.
196 * font/devps/generate/afmname: Likewise.
197 * src/devices/xditview/ad2c: Likewise.
198 * src/preproc/eqn/neqn.sh: Likewise.
199 * src/roff/grog/grog.pl: Likewise.
200 * src/roff/grog/grog.sh: Likewise.
201 * src/roff/nroff/nroff.sh: Likewise.
202 * PROBLEMS: Likewise, in embedded script examples.
204 2005-05-16 Keith Marshall <keith.d.marshall@ntlworld.com>
206 Improve portability of `pdfroff' shell script.
208 * arch/misc/shdeps.sh: Add space in shebang, conforming to
209 portability guidelines in `autoconf' docs.
210 (PATH_SEARCH_SETUP): New substitution; emits PATH_SEPARATOR
211 initialization code. Used by contrib/pdfmark/pdfroff.sh's
212 `searchpath' function.
214 2005-05-14 Werner LEMBERG <wl@gnu.org>
216 * contrib/pic2graph/pic2graph.sh, contrib/graph2graph.sh,
217 contrib/eqn2graph.sh: Add option `-trim' to `convert' which is
218 needed for newer ImageMagick versions.
220 2005-05-07 Werner LEMBERG <wl@gnu.org>
222 * src/preproc/refer/refer.man: Many small typographic fixes.
224 2005-05-06 Jeff Conrad <jeff_conrad@msn.com>
226 * src/devices/grohtml/post-html.cpp (assert_state::~assert_state):
227 Use `char *' cast for a_delete.
229 2005-05-03 Werner LEMBERG <wl@gnu.org>
231 * src/libs/libgroff/maxpathname.cpp: Include stdlib.h.
232 src/libs/libgroff/relocate.cpp: Use path_name_max everywhere.
234 2005-05-03 Jeff Conrad <jeff_conrad@msn.com>
236 * src/devices/grohtml/post-html.cpp: Use casts to `char *' if using
237 `a_delete' for `const char *'.
239 2005-05-03 Werner LEMBERG <wl@gnu.org>
241 * src/devices/grohtml/post-html.cpp,
242 src/devices/grohtml/html-table.cpp,
243 src/devices/grohtml/html-text.cpp, src/devices/grohtml/output.cpp:
244 Replace malloc/free with new/delete/a_delete.
246 * src/devices/grolbp/lbp.h: Remove superfluous semicolons which
247 are prohibited with ANSI C++.
248 (lbpprintf, vdmprintf): Remove useless `inline' keyword (since the
249 function has a variable number of arguments).
251 * src/preproc/grn/main.cpp (doinput): Change return type to `int'.
252 Simplify function and update all callers.
254 2005-05-02 Werner LEMBERG <wl@gnu.org>
256 Undo getopt changes from 2005-04-30. We don't want a dependency
259 * src/include/getopt_int.h: Removed.
261 * src/include/getopt.h, src/include/groff-getopt.h,
262 src/include/Makefile.sub, src/libs/libgroff/getopt.c,
263 src/libs/libgroff/getopt1.c: Revert to previous version.
266 * src/include/nonposix.h (access) [_MSC_VER]: New macro.
268 * src/include/posix.h (F_OK): Define conditionally.
270 * src/devices/grotty/tty.cpp (tty_printer::make_underline): Use
271 different variable name in second `for' loop to avoid MSVC compiler
274 2005-04-30 Werner LEMBERG <wl@gnu.org>
276 AC_TYPE_SIGNAL from current autoconf can fail if CC=g++.
278 * aclocal.m4 (GROFF_TYPE_SIGNAL): New function.
279 * configure.ac: Use GROFF_TYPE_SIGNAL, not AC_TYPE_SIGNAL.
280 * configure, src/include/config.hin: Regenerated.
287 * src/include/getopt.h, src/libs/libgroff/getopt.c,
288 src/libs/libgroff/getopt1.c: Updated from GNU libc CVS.
290 * src/include/getopt_int.h: New file (from GNU libc CVS).
292 * src/include/groff-getopt.h: Updated.
294 * src/include/Makefile.sub (HDRS): Add getopt_int.h.
297 * font/devutf8/NOTES: Updated.
299 2005-04-28 Werner LEMBERG <wl@gnu.org>
301 Bug fix for Win32 relocatable code. Based on a patch from Keith
304 * src/libs/libgroff/maxpathname.cpp (PATH_MAX): Test for `_MAX_PATH'
307 * src/libs/libgroff/relocate.c (DEBUG): Define it conditionally.
308 (searchpath) [_WIN32]: Use `_fullpath', not `realpath'.
310 2005-04-28 Keith Marshall <keith.d.marshall@ntlworld.com>
312 Correct `gnu.eps' handling for build from distribution tarball, with
313 separate source and build directories.
315 * doc/Makefile.sub: (examples.stamp): New target; forces copy of
316 grnexmpl.g, groff.css and gnu.eps from source to build directory;
317 generate gnu.eps from gnu.xpm if required; touch examples.stamp.
318 (prepare_examples): Make it depend on examples.stamp.
319 (CLEANADD): Add examples.stamp.
321 2005-04-27 Werner LEMBERG <wl@gnu.org>
325 position: '(' position ')'
329 * src/preproc/pic/pic.y (position, position_not_place): Handle
330 additional parentheses.
332 * doc/pic.ms: Updated.
334 2005-04-23 Larry Jones <lawrence.jones@ugs.com>
336 * src/utils/xtotroff/xtotroff.c (MapFont): Fix variable declaration.
338 2005-04-18 Werner LEMBERG <wl@gnu.org>
340 * src/roff/groff/pipeline.c: Don't include ctype.h.
342 2005-04-13 Werner LEMBERG <wl@gnu.org>
344 * src/roff/nroff/nroff.man: Document option `-M'.
346 2005-04-13 Bruce Lilly <blilly@erols.com>
348 * src/roff/nroff/nroff.sh: Make the script accept option `-M'.
350 2005-04-01 Kees Zeelenberg <kzlg@users.sourceforge.net>
351 Werner LEMBERG <wl@gnu.org>
353 Add binary relocation support for Windows platforms.
355 * src/include/Makefile.sub (defs.h): Add `INSTALLPATH'.
357 * src/include/relocate.h, src/libs/libgroff/relocate.cpp: New files.
359 * src/libs/libgroff/searchpath.cpp: Handle `relocate'.
360 (search_path::search_path, search_path::open_file_cautious): Use
363 * src/libs/libgroff/Makefile.sub (OBJS, CCSRCS),
364 src/include/Makefile.sub (HDRS): Updated.
366 2005-04-01 Werner LEMBERG <wl@gnu.org>
368 * src/devices/grohtml/post-html.cpp: Don't use strdup/free but
371 * src/libs/libgroff/font.cpp: Replace strdup with strsave.
373 * src/libs/libgroff/maxfilename.cpp: Don't include limits.h since
374 lib.h already does it.
376 * src/libs/libgroff/maxpathname.cpp: New file, defining
379 * src/include/lib.h: Add prototype for path_name_max.
381 * src/libs/libgroff/Makefile.sub (OBJS, CCSRCS): Updated.
383 * src/include/nonposix.h (PATH_EXT): New macro.
385 2005-03-28 Werner LEMBERG <wl@gnu.org>
387 Add support for double- and zero-width characters in grotty.
389 * src/devices/grotty/tty.cpp (glyph): Add width.
390 (tty_printer::make_underline, tty_printer::make_bold,
391 tty_printer::add_character): Add parameter to pass character width.
393 (tty_printer::end_page): Increase hpos by actual character width.
395 * font/devutf8/R.proto: Specify zero width for non-spacing
398 * tmac/unicode.tmac: Remove definitions for non-spacing entities.
400 * Makefile.comm (extraclean): Remove more junk files.
402 2005-03-25 Werner LEMBERG <wl@gnu.org>
404 * configure.ac: Undo change from 2005-03-24.
405 * configure: Regenerated.
407 2005-03-24 Werner LEMBERG <wl@gnu.org>
409 * Makefile.in (NOMAKEDIRS): Add contrib/gdiffmk/tests.
410 (dist): Search Makefile while descending into $(EXTRADIRS).
412 * doc/Makefile.in (.PHONY): Add.
413 (clean): Don't remove *.png and *.eps.
415 (realclean): Remove *.png and *.eps.
416 (extraclean): Depend on distclean.
418 * configure.ac: Add copyright.
419 Handle contrib/pdfmark/Makefile.
421 * configure: Regenerated.
423 2005-03-18 Larry Kollar <kollar@alltel.net>
425 Add numbered and definition lists to www.tmac.
427 * tmac/www.tmac (www-ul-level1, www-ul-level2, www-ul-level3,
428 www-ol-level1, www-ol-level2, www-ol-level3, www-ol-tmp): New
429 auxiliary string registers.
430 (www-ul-level, www-ol-level, www-dl-level, www-ol-ctr1, www-ol-ctr2,
431 www-ol-ctr3, www-dl-shift): New auxiliary number registers.
432 (www-level): Removed.
433 (www-level1, www-level2, www-level3): Initialize to empty.
434 (www-level0, www-level4, www-level5, www-level6, www-level7,
435 www-level8, www-level9): New string registers.
436 (www-push-li, www-pop-li): New macros.
437 (www-push-level, www-pop-level): Renamed to...
438 (www-push-ul-level, www-pop-ul-level): This.
440 (www-push-ol-level, www-pop-ol-level): New macros.
442 (OLS, OLE, DLS, DLE): New user macros.
443 (LI): Removed. It is aliased to one of...
444 (www-li-ul, www-li-ol, www-li-dl): New macros.
446 * tmac/groff_www.man: Document new macros.
450 2005-03-18 Werner LEMBERG <wl@gnu.org>
452 * tmac/doc-common (doc-operating-system-NetBSD-2.0.1,
453 doc-operating-system-NetBSD-2.0.2): New strings.
455 * tmac/groff_mdoc.man: Updated.
457 2005-03-17 Werner LEMBERG <wl@gnu.org>
459 * doc/Makefile.sub (CLEANADD): Add `groff.html'.
461 2005-03-17 Werner LEMBERG <wl@gnu.org>
463 * src/libs/libgroff/hypot.c: Renamed to...
464 * src/libs/libgroff/hypot.cpp: This. Updated to C++.
466 * src/libs/libgroff/Makefile.sub (CCSRCS, CSRCS): Updated.
468 * src/include/lib.h: Updated.
470 2005-03-16 Werner LEMBERG <wl@gnu.org>
472 Add workaround for broken hypot() on Interix.
474 * src/libs/libgroff/hypot.c: New wrapper file for `hypot'.
476 * src/libs/libgroff/Makefile.sub (OBJS): Add `hypot.o'.
477 (CSRCS): Add `hypot.c'.
479 * src/include/lib.h: Declare `groff_hypot'.
481 * src/preproc/grn/hgraph.cpp: Don't declare `hypot'.
484 * src/preproc/pic/pic.h: Don't declare `hypot'.
486 * src/preproc/pic/object.cpp (hypot): Use `groff_hypot'.
488 2005-03-15 Gaius Mulley <gaius@glam.ac.uk>
490 * src/devices/grohtml/post-html.cpp
491 (html_printer::lookahead_for_tables): End .ce properly to avoid a
494 2005-03-15 Werner LEMBERG <wl@gnu.org>
496 makeinfo 4.8 doesn't produce good HTML output from groff.texinfo.
498 * doc/fixinfo.sh: New script to postprocess makeinfo's HTML output.
500 * doc/Makefile.in (.texinfo.html): Call fixinfo.sh.
502 2005-03-14 Werner LEMBERG <wl@gnu.org>
504 Add Cyrillic support to devutf8 and devhtml.
506 * font/devutf8/R.proto, font/devhtml/R.proto: Add Cyrillic blocks.
508 * tmac/unicode.tmac: New file.
510 * tmac/tty.tmac: Include unicode.tmac if device is utf8.
512 * tmac/Makefile.sub (NORMALFILES): Add unicode.tmac.
516 2005-03-02 Keith Marshall <keith.d.marshall@ntlworld.com>
518 * src/libs/libdriver/printer.cpp (check_for_output_error): New
519 function. It has been introduced to catch peculiar error contexts
520 on MS-Windows platforms.
522 2005-02-28 Werner LEMBERG <wl@gnu.org>
524 * src/roff/troff/input.cpp (string_iterator::fill): Protect against
527 * tmac/papersize.tmac: Convert `paper' string contents to lowercase.
529 * configure: Regenerated.
533 2005-02-28 Keith Marshall <keith.d.marshall@ntlworld.com>
535 Integrate `pdfmark' into normal groff build system;
536 install macro `pdfmark' packages, build and install `pdfroff',
537 and PDF format documentation.
539 * Makefile.comm: Add PDFDOCDIR.
541 * Makefile.in: (MDEFINES) ALT_AWK_PROGS, ALT_GHOSTSCRIPT_PROGS,
542 pdfdocdir, make_pdfdoc, make_install_pdfdoc: New variables.
543 (unstall_dirs): Add pdfdocdir.
545 * aclocal.m4: (GROFF_GHOSTSCRIPT_PREFS): New function; support
546 `--with-alt-gs' option, set ALT_GHOSTSCRIPT_PROGS.
547 (GROFF_GHOSTSCRIPT_PATH): Support `--with-gs' option, force use of
548 GROFF_GHOSTSCRIPT_PREFS, set GHOSTSCRIPT.
549 (GROFF_HTML_PROGRAMS): Force use of GROFF_GHOSTSCRIPT_PATH; tidy up.
550 (GROFF_AWK_PREFS): New function; support `--with-alt-awk' option,
552 (GROFF_AWK_PATH): New function; support `--with-awk' option, force
553 use of GROFF_AWK_PREFS.
554 (GROFF_PDFDOC_PROGRAMS): New function; force use of GROFF_AWK_PATH
555 and GROFF_GHOSTSCRIPT_PATH, set make_pdfdoc and make_install_pdfdoc.
557 * configure.ac: Add AC_PREREQ(2.59), GROFF_PDFDOC_PROGRAMS.
558 Remove GROFF_GHOSTSCRIPT_PATH, (forced by GROFF_PDFDOC_PROGRAMS, and
559 also by modified GROFF_HTML_PROGRAMS).
561 2005-02-27 Gaius Mulley <gaius@glam.ac.uk>
563 * src/devices/grohtml/html-text.cpp (html_text::do_pre): Preserve
565 (html_text::done_para): Unset `start_space'.
566 (html_text::remove_para_align): Call `retrieve_para_space' for the
569 * src/devices/grohtml/post-html.cpp (html_printer::emit_raw): Unset
571 (html_printer::do_check_center): Emit vertical space if necessary.
573 * src/roff/troff/env.cpp (environment_switch): Preserve
574 `seen_space', `seen_eol', and `suppress_next_eol' while switching
577 * src/roff/troff/node.cpp (suppress_node::suppress_node): Set
580 2005-02-20 Werner LEMBERG <wl@gnu.org>
582 * src/preproc/eqn/eqn.man, NEWS: Document various extensions of
585 2005-02-17 Werner LEMBERG <wl@gnu.org>
587 * doc/pic.ms, man/groff.man: Fix typos.
589 * doc/groff.texinfo: Fix typos.
590 (\LEmacro): Get proper mathematical spacing.
592 2005-02-16 Werner LEMBERG <wl@gnu.org>
594 * aclocal.m4 (GROFF_APPRESDIR_CHECK): Improve warning message.
595 * configure: Regenerated with autoconf 2.59b.
597 2005-02-16 Gaius Mulley <gaius@glam.ac.uk>
599 * src/devices/grohtml/post-html.cpp (html_printer::is_line_start,
600 html_printer::start_font): Fix handling of preformatted text.
602 2005-02-15 Gaius Mulley <gaius@glam.ac.uk>
604 These patches modify the indentation implementation to use `<p
605 style=margin-left: n%>'. Many thanks to Peter and Larry for
606 suggesting this solution. Grohtml only uses tables for `.IP' and
607 related tags when the first operand has a short width.
609 Similarly, they modify all vertical space code. By default, grohtml
610 sets up a style sheet which uses no vertical space between `table',
611 `pre', and `p' tags. It forces spaces when it needs them using
612 `style="margin-top: 1em"'.
614 * src/devices/grohtml/html-table.cpp: Include `html-text.h'.
615 (html_table::emit_table_header, html_table::emit_new_row):
617 (html_table::set_space): New function.
618 (html_indent::html_indent): Don't set `is_used'.
619 (html_indent::begin): Rewritten.
620 (html_indent::end): Remove code in function.
622 * src/devices/grohtml/html-table.h: Updated.
623 (html_table): Make `out' public.
625 * src/devices/grohtml/html-text.cpp (html_text::html_text):
626 Initialize `start_space' with FALSE.
627 (html_text::end_tag) <P_TAG, PRE_TAG>: Updated.
628 (html_text::issue_tag): Add argument to handle space style.
629 (html_text::start_tag) <P_TAG, PRE_TAG>: Updated.
630 (html_text::flush_text): Don't set `start_space'.
631 (html_text::push_para): Don't set `p->really_issued'.
632 (html_text::do_emittext): Updated.
633 (html_text::do_para): Add paremeter to handle space.
635 (html_text::retrieve_para_space): New function.
637 * src/devices/grohtml/html-text.h (STYLE_VERTICAL_SPACE): New macro.
638 (tag_definition): Remove `really_issued'.
639 (html_text): Updated.
641 * src/devices/grohtml/post-html.cpp (html_printer): Add variables
642 `current_column' and `row_space'.
644 (html_printer::emit_raw, html_printer::write_header,
645 html_printer::do_indent, html_printer::do_check_center,
646 html_printer::do_tab_ts): Handle vertical space.
647 (html_printer:do_tab_te, html_printer::do_end_para): Call
649 (html_printer::do_col): Rewritten.
650 (html_printer::flush_globs): Remove debugging code.
651 (html_printer::is_line_start): New function.
652 (html_printer::start_font): Use `is_line_start'.
653 (html_printer::writeHeadMetaStyle): New function.
654 (html_printer::do_file_components, html_printer::~html_printer):
655 Call `writeHeadMetaStyle'.
657 * tmac/www.tmac (www-handle-percent): New macro.
658 (MPIMG): Handle percent values for width and height parameters.
661 * tmac/groff_www.man: Updated.
663 2005-02-14 Werner LEMBERG <wl@gnu.org>
665 * src/utils/afmtodit/afmtodit.pl: Remove an incorrect `my' from
666 $psname and $italic_angle.
667 Immediately restart file input loops if `split' returns an empty
670 2005-02-13 Michail Vidiassov <master@iaas.msu.ru>
671 Werner LEMBERG <wl@gnu.org>
673 Update afmtodit to better support Unicode (Michail).
674 Update afmtodit to use Perl 5 syntax (Werner).
676 * src/utils/afmtodit/afmtodit.pl: Don't use `getopts.pl' but
678 Decorate variables with `my' where necessary.
679 Use `defined' where necessary to avoid warnings.
680 Don't use `do' for subroutine calls.
681 Other minor syntax updates.
682 Check for both `uXXXX[X[X]]' and `uniXXXX'.
683 Handle glyph variants properly.
684 (%unicode_decomposed, %AGL_to_unicode): Don't use `u' prefix in
687 * src/utils/afmtodit/afmtodit.man: Updated.
689 2005-02-13 Werner LEMBERG <wl@gnu.org>
691 Make groff.texinfo work with texinfo 4.8.
693 * doc/groff.texinfo (@Var): Use @r and @slanted.
694 (@defdummy, @Def*): Use @c to avoid empty lines.
695 (\angles): Replaced with...
696 (\Langlemacro, \Ranglemacro): New TeX macros.
697 (@Langlemacro, @Ranglemacro): New variables defined with @set.
698 (@angles): Use @Langlemacro and @Ranglemacro.
699 (\LE): Replaced with...
700 (\LEmacro): New TeX macro.
701 (@LEmacro): New variable defined with @set.
703 (@Lparenmacro, @Rparenmacro, @Lbrackmacro, @Rbrackmacro): New
704 variables defined with @set.
705 (@lparen, @rparen, @lbrack, @rbrack): Replaced with...
706 (@Lparen, @Rparen, @Lbrack, @Rbrack): New macros.
711 * doc/texinfo.tex: Update to texinfo version 4.8.
713 * README.CVS: Updated.
715 2005-02-09 Alejandro López-Valencia <palopez@etb.net.co> (tiny change)
717 * doc/groff.texinfo (ms Document Control Registers): Document `HY'
720 2005-02-05 Werner LEMBERG <wl@gnu.org>
722 * tmac/groff_mdoc.man, tmac/doc-common, tmac/doc-ditroff,
723 tmac/doc-nroff, tmac/doc-old.tmac, tmac/doc-syms, tmac/doc.tmac:
726 2005-02-01 Werner LEMBERG <wl@gnu.org>
728 * src/roff/groff/groff.man: Add information about paper size.
730 2005-01-25 Werner LEMBERG <wl@gnu.org>
732 * src/roff/nroff/nroff.sh: Handle `*.ISO8859-1' in locale. From
735 2005-01-22 Ruslan Ermilov <ru@FreeBSD.org>
737 * tmac/doc.tmac (Sm): Improved. It didn't work properly in many
739 (Re): Emit a warning if called without `.Rs'.
740 (doc-finish-reference): Use parameter for decreasing
741 `doc-reference-count'.
742 (doc-print-reference): Pass specific count parameters to
743 `doc-finish-reference'.
745 2005-01-21 Werner LEMBERG <wl@gnu.org>
747 * src/libs/libdriver/input.cpp (delete_current_env, do_file):
748 Reset pointers to zero after deallocation. This fixes a crash
749 if a driver is called with multiple input files. Reported by
750 Ken Chilton <ken@chiltonfamily.org>.
752 * src/devices/grops/grops.man: Add more info on DSC.
754 2005-01-17 Ruslan Ermilov <ru@FreeBSD.org>
756 * tmac/doc-common (Dd), tmac/doc-ditroff (gX, doc-setup-header):
759 2005-01-17 Werner LEMBERG <wl@gnu.org>
761 * src/roff/troff/div.cpp (top_level_diversion::space): Protect
762 against division by zero.
764 2005-01-13 Ruslan Ermilov <ru@FreeBSD.org>
766 * tmac/doc.tmac (Ef): Restore doc-curr-font and doc-curr-size.
768 2004-12-19 Werner LEMBERG <wl@gnu.org>
770 * install-sh: New version; taken from texinfo CVS.
772 2004-12-17 Werner LEMBERG <wl@gnu.org>
774 * tmac/devtag.tmac: Protect against loading twice.
775 Protect agains compatibility mode.
776 * tmac/www.tmac: Protect against loading twice.
777 Load `devtag.tmac' before switching off compatibility mode.
778 * tmac/an-old.tmac, tmac/s.tmac: Load `devtag.tmac'.
780 2004-12-16 Mike Bianchi <mbianchi@Foveal.com>
782 * configure.ac: Produce `contrib/gdiffmk/tests/runtests'.
783 * configure: Updated.
785 2004-12-15 Thomas Klausner <wiz@netbsd.org>
787 * tmac/doc-syms, tmac/groff_mdoc.man: Add `libpam' library.
789 2004-12-15 Werner LEMBERG <wl@gnu.org>
791 Make `test-groff' work again -- previously, wrong paths have been
792 used. Additionally, it can now be called from anywhere.
794 * test-groff.in: Don't test for groff binary. This is no longer
795 necessary since the proper paths are determined by `configure'.
796 (EXEEXT): Removed. No longer used.
797 (srcdir, builddir): Use values provided by the configure script.
798 (XENVIRONMENT): Updated.
802 2004-12-14 Gaius Mulley <gaius@glam.ac.uk>
804 Make .tag and .taga work for all devices (but only grohtml actually
807 * src/devices/grohtml/post-html.cpp: s/html-tag/devtag/.
808 (text_glob::is_br, page::add_tag, html_printer::troff_tag,
809 html_printer::handle_assertion): Don't use hard-coded string
811 (html_printer::lookahead_for_table): Reset `tbl' properly if
813 (html_printer::devtag): New function, handling `devtag'.
814 (html_printer::special): Don't handle `html-tag'.
816 * src/include/printer.h, src/libs/libdriver/printer.cpp
817 (printer::devtag): New virtual function.
819 * src/libs/libdriver/input.cpp (parse_x_command) <'X'>: Handle
822 * src/roff/troff/env.cpp, src/roff/troff/mtsm.cpp,
823 src/roff/troff/node.cpp: s/html-tag/devtag/.
825 * src/roff/troff/input.cpp (tag, taga): Always call
828 * tmac/an-old.tmac, tmac/s.tmac, tmac/troffrc-end: Use DEVTAG*
829 macros instead of HTML-TAG*.
831 * tmac/devtag.tmac: New file, defining the DEVTAG-* macros.
833 * tmac/www.tmac: Load devtag.tmac.
834 Replace HTML-TAG* macros with DEVTAG* macros.
835 (HTML, HTML-NS): Changed definitions.
837 (HTML-TAG, HTML-TAG-NS, HTML-TAG-NEXT): Removed.
839 * tmac/Makefile.sub (NORMALFILES): Add devtag.tmac.
841 2004-12-10 Werner LEMBERG <wl@gnu.org>
843 Import Mike's `gdiffmk' package.
845 * contrib/gdiffmk/*: New files.
846 * Makefile.in (OTHERDIRS): Add contrib/gdiffmk.
849 2004-12-08 Werner LEMBERG <wl@gnu.org>
851 Import Keith's `pdfmark' package. Integration is very preliminary.
853 * contrib/pdfmark/*: New files.
854 * Makefile.in (OTHERDIRS): Add contrib/pdfmark.
857 2004-12-07 Gaius Mulley <gaius@glam.ac.uk>
859 Fix a bug with title handling in HTML.
861 * src/devices/grohtml/post-html.cpp (text_glob::is_nf,
862 text_glob::is_fi, text_glob::is_ce): Use strlen to compute string
864 (html_printer::handle_tag_within_title): New function.
865 (html_printer::do_title): Use it.
867 * tmac/s.tmac (TL): Don't set `need_eo_tl'.
868 (cov*tl-au-print): Emit `.eo.tl' tag.
870 2004-12-05 Alejandro López-Valencia <dradul@etb.net.co>
872 * man/groff_char.man: Minor imrovements.
874 2004-12-04 Werner LEMBERG <wl@gnu.org>
876 * src/preproc/eqn/eqn.man: Revised.
878 2004-11-25 Werner LEMBERG <wl@gnu.org>
880 * src/utils/xtotroff/xtotroff.c: Reformat to be similar to other
884 Remove X_NOT_STDC_ENV conditional.
885 (Version_string, program_name): New global variables.
886 (groff_flag): Removed.
888 (usage): Take a stream as argument.
891 (main): Add `long_options' array for `--help' and `--version'.
892 Make `-g' a dummy option.
893 Handle `-v' and unknown options.
894 Remove unused `position' variable.
896 * src/utils/xtotroff/Makefile.sub (MAN1): Define.
897 (XLIBS): Add LIBGROFF.
899 * src/utils/xtotroff/xtotroff.man, src/utils/xtotroff/Makefile.in:
902 * src/devices/xditview/Dvi.c (default_font_map): Split into three
903 parts to avoid compiler warning.
904 (resources): Don't initialize with `default_font_map'.
905 (ClassInitialize): Initialize first element of `resources'.
907 * src/devices/xditview/Makefile.sub (devdir, xtotroff, DPIS, fonts):
910 * src/utils/lkbib/lkbib.man, src/utils/lookbib/lookbib.man,
911 src/utils/pfbtops/pfbtops.man: Revised, updated.
913 * configure.ac: Generate src/utils/xtotroff/Makefile.
914 * configure: Regenerated.
916 2004-11-24 Werner LEMBERG <wl@gnu.org>
918 First fixes to get produce HTML.
920 * src/devices/grohtml/post-html.cpp (generate_img_src): Add `alt'
923 * tmac/www.tmac (IMG, PIMG, MPIMG): Add `alt' attribute.
924 (HR, LI): Use `HTML</p>', not `HTML'.
926 * doc/webpage.ms: Minor updates.
928 2004-11-23 Larry Kollar <kollar@alltel.net>
930 Add option -S grohtml to determine the file split level.
932 * src/devices/grohtml/post-html.cpp (split_level): New global
934 (html_header::determine_header_level): Use split_level.
935 (main): Handle `-S' command line option.
938 * src/preproc/html/pre-html.cpp (scanArguments): Updated.
940 * src/devices/grohtml/grohtml.man: Document it.
945 2004-11-23 Y T <doarhop@hotmail.com>
947 * tmac/s.tmac (ref*add-V, ref*add-N): New macros for handling
948 the volume and number refer entries.
950 2004-11-22 Werner LEMBERG <wl@gnu.org>
952 * src/devices/grohtml/html-table.cpp
953 (html_table::emit_table_header): Don't emit `cols' attribute which
954 doesn't exist in HTML 4.0 and is thus invalid.
956 * NEWS: More minor fixes and updates.
958 2004-11-18 Werner LEMBERG <wl@gnu.org>
960 * tmac/www.tmac (HTML-NS, HTML-TAG-NS, HTML-TAG-NEXT): Simplified.
961 (HTML</p>): Minor clean-up.
963 * tmac/groff_www.man: Updated.
965 * src/devices/grohtml/grohtml.man: Revised and updated.
969 2004-11-18 Gaius Mulley <gaius@glam.ac.uk>
971 * src/devices/grohtml/post-html.cpp (html_printer::do_heading):
973 (html_printer::do_links): Fix rules generation around automatic
976 * tmac/www.tmac (LK): Use HTML-TAG-NS.
978 No longer emit empty line for non-HTML devices.
980 2004-11-17 Werner LEMBERG <wl@gnu.org>
982 * doc/Makefile.in (prepare_examples, webpage.html): Handle
985 * doc/Makefile.sub (EXAMPLEFILES, CLEANNOTSRCDIRADD,
986 prepare_examples, webpage.html): Handle `groff.css'.
988 2004-11-15 Werner LEMBERG <wl@gnu.org>
990 * NEWS, README, doc/webpage.ms: Updated.
992 * tmac/www.tmac (HTML, HTML-TAG): Minor clean-ups.
994 2004-10-30 Gaius Mulley <gaius@glam.ac.uk>
996 * src/include/printer.h (printer): Remove virtual function
998 Update all source files.
1000 * src/devices/grohtml/post-html.cpp (html_printer): New member
1001 function `round_width'.
1003 2004-10-20 Tadziu Hoffmann <hoffmann@usm.uni-muenchen.de>
1005 * src/preproc/tbl/table.cpp (table::do_row): Fix handling of the `d'
1006 column key letter suffix.
1008 2004-10-14 Werner LEMBERG <wl@gnu.org>
1010 * Makefile.in (check): Depend on `site.exp' and `docheck'.
1011 (docheck): Run dejagnu's `runtest' if it exists.
1012 (site.exp): Create dejagnu configuration file.
1014 * Makefile.sub (DISTCLEANFILES): Add files related to dejagnu.
1016 2004-10-13 Werner LEMBERG <wl@gnu.org>
1018 * src/devices/grohtml/html-text.cpp (html_text_get_alignment),
1019 src/devices/grohtml/post-html.cpp (make_val,
1020 html_printer::handle_state_assertion): Fix compiler warnings.
1022 * src/roff/troff/div.cpp: Include `stringclass.h' and `mtsm.h'.
1023 (diversion::diversion): Fix order of initializers.
1025 * src/roff/troff/div.h: Don't include `mtsm.h'.
1027 * src/roff/troff/env.cpp: Include `stringclass.h' and `mtsm.h'.
1028 (environment::environment): Fix order of initializers.
1029 (environment::make_tag, environment::construct_format_state): Fix
1032 * src/roff/troff/input.cpp: Include `stringclass.h' and `mtsm.h'.
1033 (input_iterator::input_iterator, macro::macro): Fix order of
1036 * src/roff/troff/mtsm.cpp: Include only necessary header files.
1037 (state_set::add, state_set::val): Fix compiler warnings.
1039 * src/roff/troff/mtsm.h: Don't include `stringclass.h'.
1040 (bool_value_state, int_value_state, units_value_state,
1041 string_value_state): Remove comma after last element which causes
1042 an error with g++ 3.3.3.
1044 * src/roff/troff/node.cpp: Include `stringclass.h'.
1045 (hline_node::hline_node, vline_node::vline_node,
1046 space_char_hmotion_node, left_italic_corrected_node): Fix compiler
1048 (zero_width_node::zero_width_node): Fix order of initializers.
1050 * src/roff/troff/node.h: Don't include `mtsm.h'.
1051 (hmotion_node): Fix compiler warnings.
1053 * src/roff/troff/number.cpp: Include `stringclass.h' and `mtsm.h'.
1055 2004-10-12 Gaius Mulley <gaius@glam.ac.uk>
1057 * doc/groff.css: New file.
1059 * doc/webpage.ms: Use `groff.css'.
1062 * tmac/an-old.tmac (need_eo_h): New number register.
1063 (TH): Emit `.eo.tl' tag after title.
1064 (SH): Set `need_eo_h'.
1065 (an-trap): Handle `need_eo_h'.
1066 (an-do-tag): s/HTML-TAG-NS/HTML-TAG-NEXT/.
1068 * tmac/s.tmac (need_eo_h, need_eo_tl): New number registers.
1069 (TL): Always start diversion.
1071 (@AI): Always call `par@reset'.
1072 (@AB): Update code for -Thtml.
1073 (cov*tl-au-print): Handle -Thtml.
1074 (par@reset): Handle `need_eo_tl', `need_eo_h'.
1076 (@IT-html): Removed.
1077 (@SH): Set `need_eo_h' for -Thtml.
1078 (par@TL): s/HTML-TAG/HTMl-TAG-NS/.
1080 (@NH): s/HTML-TAG/HTMl-TAG-NS/.
1081 Set `need_eo_h' for -Thtml.
1082 (@EQ, @EN): Don't handle -Thtml specially.
1083 (par@load-init): Don't handle -Thtml specially.
1085 * tmac/www.tmac (www:paraspace): New macro.
1086 (HTML-NS, HTML-TAG-NS): Use new `tag' request.
1087 (HTML</p>, HTML-TAG-NEXT): New macros.
1088 (HnE): Emit tag `.eo.h' instead of break.
1089 (HR): s/HTML-NS/HTML/.
1090 (www-end-nowhere): End diversion only if `www-html' not set.
1092 (ULS, ULE): s|HTML|HTML</p>|.
1093 (LI): Call `www:paraspace'.
1096 2004-10-11 Gaius Mulley <gaius@glam.ac.uk>
1098 * src/roff/troff/request.h (macro): Make `p' public.
1099 New variable `is_a_diversion'.
1100 New member function `is_diversion'.
1103 * src/devices/grohtml/html.h (simple_output): New member function
1106 * src/devices/grohtml/html-table.cpp (tabs::compatible): Fix
1107 computation of `total'.
1108 (tabs::check_init): New function.
1109 (html_table::emit_table_header): Emit style data.
1110 (html_table::insert_column): Improved.
1112 * src/devices/grohtml/html-table.h: Updated.
1114 * src/devices/grohtml/html-text.cpp (html_text::html_text):
1115 Initialize `start_space' with TRUE.
1116 (html_text::end_tag, html_start_tag): Fix `P_TAG' and `PRE_TAG'
1118 (html_text::flush_text): Set `start_space' flag.
1119 (html_text::uses_indent, html_text::remove_para_space,
1120 html_text::get_alignment): New functions.
1121 (html_text::push_para): Updated.
1122 (html_text::do_para): Check for empty argument.
1123 Don't set `space_emitted'.
1124 (html_text::do_space, html_text::emit_space): Updated.
1126 * src/devices/grohtml/html-text.h (tag_definition): New variable
1128 (html_text): New member function `uses_indent', `remove_para_space',
1131 * src/devices/grohtml/output.cpp (simple_output::force_nl): New
1133 (simple_output:nl): Always emit `\n'.
1135 * src/devices/grohtml/post-html.cpp: Include `string.h'.
1136 (BASE_POINT_SIZE): Removed.
1137 (base_point_size, head_info): New global variables.
1138 (text_glob): New member functions `is_ll', `is_tl', `is_eo_tl',
1140 (text_glob::is_nf, text_glob::is_fi): Handle `.fi 0' and `.fi 1'
1142 (page::add_and_encode): Pass additional parameter for tag flag.
1143 (assert_pos): New structure.
1144 (assert_state): New class.
1145 (html_printer): Remove `indentation', `prev_indent'.
1146 Add variables `troff_indent', `device_indent', `temp_indent'.
1147 Add variables `seen_indent', `next_indent', `seen_pageoffset',
1148 `next_pageoffset', `seen_linelenght', `next_linelength',
1149 `seen_center', `next_center', `seen_space', `seen_break', `as'.
1150 Add member functions `do_check_center', `do_space', `do_head',
1151 `get_troff_indent', `restore_troff_indent', `handle_assertion',
1152 `handle_state_assertion', `do_end_para', `set_char_and_width'.
1153 Change argument to `do_fill' to `char *'.
1155 (html_printer::emit_raw): Call `shutdown_table'.
1157 (html_printer::do_center): Simplified.
1158 (html_printer::do_title): Improved.
1159 (html_printer::write_header): Emit one more newline.
1161 (html_printer::do_heading, html_printer::do_indent,
1162 html_printer::do_eol, html_printer::do_tab_ts,
1163 html_printer::do_tab, html_printer::do_tab0,
1164 html_printer::calc_po_in, html_printer::next_horiz_pos,
1165 html_printer::remove_courier_tabs,
1166 html_printer::insert_tab0_foreach_tab, html_printer::begin_page):
1168 (html_printer::do_linelength, html_printer::do_pageoffset,
1169 html_printer::do_indentation, html_printer::do_tempindent,
1170 html_printer::do_tab_te): Simplified.
1171 (html_printer::do_pointsize): Check whether point size is really
1172 associated a `.tl' tag.
1173 (html_printer::do_break): Rewritten.
1174 (html_printer::troff_tag): Improved.
1175 (html_printer::flush_globs): Updated.
1176 (html_printer::lookahead_for_tables): Handle `is_br'.
1178 (html_printer::set_char): Check `sbuf_style.f'.
1179 (html_printer::write_navigation): Use string comparison.
1180 (html_printer::~html_printer): Emit `head_info'.
1181 (html_printer::special): Rewritten.
1182 (get_str, make_val): New functions.
1183 (main): New option `s' to set the base point size.
1185 * src/preproc/html/pre-html.cpp (scanArguments): Handle option `s'.
1187 2004-10-10 Gaius Mulley <gaius@glam.ac.uk>
1189 * src/roff/troff/node.cpp: New extern `debug_state'.
1190 Include `stringclass.h' and `mtsm.h'.
1191 Implement new classes and class members from `node.h'.
1192 (real_output_file): Make `fp' public.
1193 (troff_output_file): New variables `cur_div_level' and `tag_list'.
1194 Update constructors.
1195 (troff_output_file::really_print_line): Check whether we should push
1196 the current troff state and use the state at the start of the
1197 invocation of this diversion.
1198 (troff_output_file::add_to_tag_list): New member function.
1199 (node::add_char): Handle `glyph_comp_np'.
1201 * src/roff/troff/node.h: Include `mtsm.h'.
1202 (node): New variables `state', `push_state', `div_nest_level',
1203 `is_special'. Update constructors, all descendants.
1204 Pass additional argument to `add_char' member function.
1205 New virtual member functions `is_tag', `debug_node',
1206 `debug_node_list'. Update all descendants.
1207 (tag_node): New class for handling tags.
1208 (output_file): Add variable `state'.
1210 2004-10-09 Gaius Mulley <gaius@glam.ac.uk>
1212 * src/roff/troff/mtsm.cpp, src/roff/troff/mtsm.h: New files,
1213 providing a minimal troff state machine to emit meta tags for the
1214 post-grohtml device driver.
1216 * src/roff/troff/Makefile.sub (OBJS, CCSRCS, HDRS): Handle new
1219 2004-10-09 Werner LEMBERG <wl@gnu.org>
1221 * tmac/trace.tmac: Fix handling of `am' and `am1' calls.
1223 2004-10-06 Gaius Mulley <gaius@glam.ac.uk>
1225 * src/roff/troff/column.cpp (vjustify_node::copy): Updated.
1227 * src/roff/troff/div.h: Include `mtsm.h'.
1228 (diversion): New variables `any_chars_added', `needs_push',
1229 `saved_seen_break', `saved_seen_space', `saved_seen_eol',
1230 `saved_suppress_next_eol', `modified_tag'.
1231 New virtual member function `is_diversion'. Update all descendants.
1233 * src/roff/troff/div.cpp (diversion::diversion,
1234 macro_diversion::macro_diversion): Updated.
1235 (do_divert): Handle `seen_break', `seen_space', `seen_eol',
1236 `suppress_next_eol'.
1237 (top_level_diversion::space): Handle `curenv->seen_space'.
1238 (page_offset): Update tag handling.
1239 (space_request, blank_line, flush_output): Don't call `add_html_tag'.
1241 * src/roff/troff/env.h (environment): Make `tabs' public.
1242 Remove `ignore_next_eol', `emitted_node'.
1243 Update `output_line', `output'.
1244 New variables `seen_space', `seen_eol', `suppress_next_eol',
1246 New member functions `construct_state', `make_tag',
1247 `construct_format_state, `construct_new_line_state,
1249 Remove `add_html_tag', `make_html_tag'.
1251 * src/roff/troff/env.cpp: New externs `suppress_push',
1252 `get_diversion_state', `global_diverted_space'.
1253 (pending_output_line): New variable `was_centered'.
1254 Update constructor and all callers.
1255 (pending_output_line::output): Call `curenv->construct_format_state'.
1256 (environment::environment, environment::copy): Updated.
1257 (environment::output): Handle `was_centered'.
1258 (environment::add_char): Handle construct and diversion state.
1259 (environment::add_node): Handle construct state.
1260 (environment::newline): Handle `was_centered'.
1261 (environment::output_line): Updated.
1262 (environment::possibly_break_line): Updated.
1263 Update tag handling.
1264 (environment::add_html_tag): Replaced with...
1265 (environment::make_tag): New function.
1266 (environment::add_html_tag_tabs, environment::make_html_tag): Removed.
1267 (environment::dump_troff_state): New debugging function.
1268 (environment::construct_state, environment::construct_format_state,
1269 environment::construct_new_line_state): New functions.
1270 (environment::do_break): Updated.
1271 Handle `global_diverted_space'.
1272 (environment::handle_tag): Update tag handling.
1273 (point_size, fill, do_break_request): Don't call `add_html_tag'.
1274 (no_fill): Don't call `add_html_tag'.
1275 Set `suppress_next_eol'.
1276 (center, right_justify, line_length, indent, temporary_indent,
1278 Update tag handling.
1280 * src/roff/troff/input.cpp: Don't include `stringclass.h'.
1281 (input_iterator): New variables `is_diversion', `diversion_state'.
1282 Update constructors.
1283 (input_stack): New member functions `get_div_level',
1284 `get_diversion_state', `check_end_diversion'.
1285 New variables `div_level', `diversion_state'. Initialize them.
1286 (suppress_push, global_diverted_space): New global variables.
1287 (input_stack::finish_get, input_stack::finish_peek,
1288 input_stack::remove_boundary, input_stack::end_file,
1289 input_stack::clear, input_stack::pop_macro): Call
1290 `check_end_diversion'.
1291 (input_stack::push): Handle `div_level' and `diversion_state'.
1292 (get_diversion_state): New function.
1293 (diverted_space_node::reread): Handle `global_diverted_space'.
1294 (macro::macro): Update constructors.
1295 (macro::is_diversion): New function.
1296 (macro::operator=): Set `is_a_diversion'.
1297 (string_iterator): New member function `is_diversion'.
1298 (string_iterator::string_iterator): Update constructors.
1299 (string_iterator::fill): Set `div_nest_level'.
1300 (macro_iterator): New member function `is_diversion'.
1301 (do_if_request): Handle `suppress_push'.
1302 (tag, taga): New functions.
1303 (init_input_requests): Add `tag' and `taga' requests.
1305 2004-10-05 Gaius Mulley <gaius@glam.ac.uk>
1307 * src/include/font.h (font): New member function
1308 `get_image_generator'.
1309 New variables `unscaled_charwidths' and `image_generator'.
1311 * src/libs/libgroff/font.cpp (font::get_width): Always return the
1312 character's unscaled width if `font::unscaled_charwidths' is set.
1313 (font::get_image_generator): New function.
1314 (font::load_desc): Check the `unscaled_charwidths' and
1315 `image_generator' keywords.
1317 * src/libs/libgroff/fontfile.cpp: Initialize
1318 `font::unscaled_charwidths' and `font::image_generator'.
1320 * font/devhtml/DESC.proto: s/html/unscaled_charwidths/.
1322 * font/devhtml/Makefile.sub (DESC): Set `image_generator' keyword.
1324 * man/groff_font.man: Document `unscaled_charwidths' and
1327 * src/preproc/html/pre-html.cpp: Include `device.h'.
1328 (image_gen): New global variable.
1329 (imageList::createPage): Use `image_gen'.
1330 (main): Use `image_generator' keyword.
1332 2004-10-04 Gaius Mulley <gaius@glam.ac.uk>
1334 * tmac/html.tmac: Handle \[sqrtex].
1336 2004-10-04 Gaius Mulley <gaius@glam.ac.uk>
1338 * src/include/printer.h (printer): New virtual method `round_width'.
1340 * src/devices/grodvi/dvi.cpp, src/devices/grolbp/lbp.cpp,
1341 src/devices/grolj4/lj4.cpp, src/devices/grops/ps.cpp,
1342 src/devices/grotty/tty.cpp (printer::round_width): New function
1345 * src/devices/grohtml/post-html.cpp (printer::round_width): New
1347 (html_printer::set_numbered_char): Use it.
1349 2004-10-03 Gaius Mulley <gaius@glam.ac.uk>
1351 * aclocal.m4 (GROFF_GHOSTSCRIPT_PATH): New macro.
1353 * configure.ac: Call GROFF_GHOSTSCRIPT_PATH.
1355 * configure: Regenerated.
1357 * Makefile.in (GHOSTSCRIPT): New variable.
1358 (MDEFINES): Add GHOSTSCRIPT.
1360 2004-10-03 Werner LEMBERG <wl@gnu.org>
1362 * INSTALL.gen: Updated (taken from texinfo CVS).
1364 2004-09-28 Werner LEMBERG <wl@gnu.org>
1368 2004-09-28 Heinz-Jürgen Oertel <hj.oertel@surfeu.de>
1370 * tmac/groff_www.man: Revised and updated.
1372 2004-09-26 Werner LEMBERG <wl@gnu.org>
1374 Fix \$@ and \$* to handle any number of arguments.
1376 * src/roff/troff/input.h (BEGIN_QUOTE, END_QUOTE): New special
1379 * src/roff/troff/input.cpp (input_iterator::internal_level):
1381 (input_stack): New member functions `increase_level' and
1383 (input_stack::get_level): Don't use `internal_level'.
1384 (get_copy, token::next): Handle BEGIN_QUOTE and END_QUOTE.
1385 (end_quote_iterator): Completely removed.
1386 (interpolate_arg): Build string for \$@ and \$* which is then
1387 pushed onto the input stack.
1389 2004-09-23 Keith Marshall <keith.d.marshall@ntlworld.com>
1391 * tmac/groff_ms.man, doc/groff.texinfo: Document changes from
1394 2004-09-23 Werner LEMBERG <wl@gnu.org>
1396 * tmac/an-old.tmac (ne): Using default scaling operator.
1398 2004-09-19 Keith Marshall <keith.d.marshall@ntlworld.com>
1400 This change implements the following features:
1403 New numeric register: Defines number of lines following LP, PP,
1404 QP, IP or XP, which must be kept together, before any automatic
1405 page break. If insufficient space remains on the current page, a
1406 page break is forced before the new paragraph begins.
1409 New numeric register: Sets number of lines of following paragraph
1410 which must be kept with a heading, defined by NH or SH, before any
1411 automatic page break. If insufficient space remains on the
1412 current page, a page break is forced before the heading.
1415 (Thanks to Joerg van den Hoff, for this idea).
1417 New numeric register: Sets the first level of heading (set with
1418 NH), which will keep the same point size as body text; e.g. if
1419 GROWPS is set to 3, .NH 3, .NH 4, ... will produce headings at the
1420 point size specified by \n[PS], but .NH 2 and .NH 1 will have
1421 progressively larger point sizes, determined by \n[PSINCR] (see
1425 New numeric register: Sets the point size increment for each level
1426 of heading, (set with NH), below the threshold level set by
1427 GROWPS; e.g. if \n[PS] = 10, \n[GROWPS] = 3 and \n[PSINCR] = 2.0p,
1428 then .NH 1 will produce 14pt headings, .NH 2 will produce 12pt,
1429 and all other levels will remain at 10pt, (because \n[PS] = 10).
1432 Existing macro now accepts a numeric argument, to make heading
1433 size match that of NH with same argument value, when the
1434 GROWPS/PSINCR feature is enabled.
1437 New string, set by NH macro, replaces the existing (undocumented)
1438 use of SN, to represent the assigned section number.
1441 New string, set by NH macro, represents the assigned section
1442 number, but omits the terminal period (periods at intermediate
1443 levels are retained).
1446 String set by NH macro, originally undocumented, now implemented
1447 as an alias for SN-DOT (which reproduces original behaviour).
1449 * tmac/s.tmac (PORPHANS): New register.
1450 (par*start): Use it.
1451 (HORPHANS, GROWPS, PSINCR): New registers.
1452 (SH-NO-TAG, @SH): Use them.
1455 2004-09-19 Keith Marshall <keith.d.marshall@ntlworld.com>
1457 * NEWS, doc/groff.texinfo, tmac/groff_ms.man: Document the deletion
1458 of `Ds' and `De' macros.
1460 2004-09-10 Werner LEMBERG <wl@gnu.org>
1462 In tbl, handle \a as an interpreted leader character if in
1465 * src/preproc/tbl/table.h (PREFIX, PREFIX_CHAR, LEADER,
1466 LEADER_CHAR): New macros.
1467 (compatible_flag): New declaration.
1469 * src/preproc/tbl/main.cpp (table_input): Add LEADER_1, LEADER_2,
1470 LEADER_3, and LEADER_4 to `state'.
1471 (table_input::get): Handle `\a'.
1473 * src/preproc/tbl/table.cpp (PREFIX): Removed.
1474 (LEADER_REG): New macro.
1475 (table::init_output): Define LEADER_REG string register if in
1478 * src/preproc/tbl/tbl.man: Document it.
1480 2004-08-18 Werner LEMBERG <wl@gnu.org>
1482 * tmac/doc.tmac (An): Fix error message.
1484 2004-08-06 Werner LEMBERG <wl@gnu.org>
1486 * src/preproc/tbl/main.cpp (main): Call `fatal' not `error' if a
1487 file can't be opened. UNIX tbl has the same behaviour.
1489 2004-08-05 Y T <doarhop@hotmail.com>
1491 * src/preproc/grn/hdb.cpp (compatibility_flag): Add declaration.
1492 (DBRead): If in compatibility mode, take into account the text
1493 when computing figure boundaries.
1495 2004-08-05 Werner LEMBERG <wl@gnu.org>
1497 * src/preproc/soelim/soelim.man: Improved. Based on suggestions
1498 from Tadziu Hoffmann.
1500 2004-08-03 Werner LEMBERG <wl@gnu.org>
1502 * doc/meref.me: Document `_M' register.
1504 2004-08-03 Martin Husemann <martin@duskware.de>
1506 Make hpftodit work correctly on big-endian systems.
1508 * src/utils/hpftodit/hpftodit.cpp (File): New method
1509 `get_uint32(char *)'.
1510 (entry): New member `orig_value'.
1511 (read_tags): Use new method.
1512 (output_font_name, read_and_output_pcltypeface, dump_ascii):
1515 2004-08-01 Werner LEMBERG <wl@gnu.org>
1517 * tmac/s.tmac: Undo change 2003-06-29. The proper macro definitions
1518 are already in X11's `macros.t' file.
1520 2004-08-01 Jeff Conrad <jeff_conrad@msn.com>
1522 * src/utils/hpftodit/hfptodit.cpp (output_font_name, dump_ascii):
1524 (read_and_output_pcltypeface): Handle strings with length <= 4.
1526 2004-07-27 Egil Kvaleberg <egil@kvaleberg.no>
1528 * tmac/s.tmac (pg@top): Don't save `PO' register.
1529 (pg*end-col, pg*end-page): Directly use `PO' register.
1531 2004-07-27 Werner LEMBERG <wl@gnu.org>
1533 * man/groff_tmac.man: Mention `trace' and `pic' macro packages.
1535 * src/preproc/refer/refer.cpp (output_references): Check for
1537 * src/preproc/refer/refer.man: Improve documentation of
1538 `bibliography' command.
1540 2004-07-26 Werner LEMBERG <wl@gnu.org>
1542 Add requests `fcolor' and `gcolor'.
1544 * src/roff/troff/env.cpp (fill_color_change, glyph_color_change):
1546 (init_env_requests): Add `fcolor' and `gcolor'.
1548 * src/roff/troff/input.h: Export do_glyph_color and do_fill_color.
1550 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
1551 Document new requests.
1553 2004-07-24 Werner LEMBERG <wl@gnu.org>
1555 Add support for fractional point sizes in ms macros. A value for
1556 PS, VS, FPS, and FVS greater than or equal to 1000 is always divided
1557 by 1000. For example, `.nr PS 10250' sets the font size to 10.25p.
1559 * tmac/s.tmac (@AU, @AI, par@load-init, par@init, par@reset, NL,
1560 PX): Handle fractional point sizes for PS, VS, FPS, and FVS.
1562 * tmac/groff_ms.man, docs/groff.texinfo, NEWS: Document it.
1564 2004-07-19 Werner LEMBERG <wl@gnu.org>
1566 * src/preproc/pic/lex.cpp (for_input): Add member `from'.
1568 (do_for, for_input::get, for_input::peek): Handle negative `by'.
1569 * src/preproc/pic/pic.man, doc/pic.ms, NEWS: Document it.
1571 2004-07-08 Thomas Klausner <wiz@netbsd.org>
1573 * tmac/doc-syms (doc-str-St--p1003.1-2004): New string.
1574 * tmac/groff_mdoc.man: Updated.
1576 2004-07-05 Werner LEMBERG <wl@gnu.org>
1578 * doc/groff.texinfo: Further improve documentation of `hcode'.
1580 2004-07-04 Sang Dae Yu <sdyu@bh.knu.ac.kr>
1582 Improve appearance of arrows in pic.
1584 * src/preproc/pic/object.cpp (draw_arrow): Make outline of filled
1586 Use two line segments for drawing non-filled arrow head.
1587 (line_object::print, spline_object::print): Shorten line length to
1588 avoid arrow sticking.
1589 (arc_object::print): Take arrow direction into account.
1591 2004-07-03 Heinz-Jürgen Oertel <hj.oertel@surfeu.de>
1593 * tmac/groff_www.man: Update documentation of .MPIMG.
1595 2004-07-03 Werner LEMBERG <wl@gnu.org>
1597 * tmac/an-old.tmac (RI): Always start with font `R'.
1598 (RI, IR): Properly end with font `R'.
1600 2004-07-02 Paul Eggert <eggert@cs.ucla.edu>
1602 * man/ditroff.man, man/groff_font.man, man/groff_out.man,
1603 src/devices/grohtml/grohtml.man, src/preproc/grn/grn.man,
1604 src/preproc/pic/pic.man, tmac/groff_man.man, tmac/groff_ms.man:
1605 Don't pass more than six arguments to .R, .I, .B, etc., for
1606 compatibility with traditional troff macros.
1608 2004-07-02 Werner LEMBERG <wl@gnu.org>
1610 * src/roff/troff/input.h: s/COMPATIBLE_SAVE/PUSH_GROFF_MODE/.
1611 s/COMPATIBLE_RESTORE/POP_GROFFCOMP_MODE/.
1613 (PUSH_COMP_MODE): New internal character constant.
1616 * src/roff/troff/input.cpp (get_copy): Handle PUSH_GROFF_MODE,
1617 PUSH_COMP_MODE, and POP_GROFFCOMP_MODE.
1618 (token::next, macro::append): Handle PUSH_COMP_MODE.
1619 (decode_args): Add PUSH_GROFF_MODE or PUSH_COMP_MODE before and
1620 POP_GROFFCOMP after each of the decoded arguments to make them
1621 independent from the compatibility mode status.
1622 (comp_mode): Add `COMP_ENABLE'.
1623 (do_define_string, do_define_macro): Handle COMP_ENABLE.
1624 (define_string, append_string, define_macro, define_indirect_macro,
1625 append_macro, append_indirect_macro): Handle `compatible_flag'.
1626 (chop_macro, substring_request, asciify): Handle PUSH_COMP_MODE.
1628 * man/groff_diff.man, doc/groff.texinfo: Updated.
1630 2004-07-01 Werner LEMBERG <wl@gnu.org>
1632 * doc/groff.texinfo: Improve documentation of `hcode'.
1633 Use @documentencoding and convert document to latin-1; to do that
1634 make latin characters active and assign proper macros (within a
1635 @tex...@end tex environment).
1636 * doc/Makefile.in (.texinfo.html, groff): Use --enable-encoding.
1637 * doc/Makefile.sub (groff): Ditto.
1639 2004-06-29 Werner LEMBERG <wl@gnu.org>
1641 Implement two new conditional operators `F <name>' and `S <name>'
1642 which check whether <name> is a valid font or style, respectively.
1644 * src/libs/libgroff/font.cpp (text_file): Add `silent' member.
1645 (text_file::text_file): Updated.
1646 (text_file::error): Don't emit message if `silent' is set.
1647 (font::load_font): Add optional third argument (which is directly
1649 (font::load): Add optional second argument to check the header of
1650 a font only, without emitting warning or error messages.
1651 * src/include/font.h (font): Updated.
1653 * src/roff/troff/input.cpp (do_if_request): Implement `S' and `F'
1655 * src/roff/troff/node.cpp (mount_font_no_translate): Add optional
1656 fourth argument to check a font without mounting.
1657 (check_font, check_style): New functions.
1658 * src/roff/troff/node.h: Updated.
1660 * man/groff_diff.man, man/groff.man, NEWS, doc/groff.texinfo:
1663 2004-06-27 Werner LEMBERG <wl@gnu.org>
1665 Implement new string-valued register `.sty' to return the current
1668 * env.cpp (environment::get_style_name_string): New function.
1669 (init_env_requests): Add `.sty' register.
1670 * env.h (environment): Updated.
1671 * node.cpp (font_info): Make `get_style_name' a friend.
1672 (get_style_name): New function.
1675 * man/groff_diff.man, man/groff.man, NEWS, doc/groff.texinfo:
1678 2004-06-15 Werner LEMBERG <wl@gnu.org>
1680 * src/preproc/tbl/main.cpp (process_data) <GOT_RIGHT_BRACE>: Handle
1683 2004-06-10 Colin Percival <colin.percival@wadham.ox.ac.uk>
1685 * doc/meintro.me, doc/meref.me: Don't use \*[td], \n[dy], \*[mo],
1686 and \n[mo] to avoid dependency on current date.
1688 2004-06-08 Werner LEMBERG <wl@gnu.org>
1690 * Makefile.sub (install_data): New target.
1692 2004-06-04 Werner LEMBERG <wl@gnu.org>
1694 * src/libs/libxutil/Makefile.sub (EXTRA_CFLAGS): Define.
1696 2004-06-03 Werner LEMBERG <wl@gnu.org>
1698 * src/devices/xditview/Makefile.sub (EXTRA_LDFLAGS): Fix typo and
1700 (install_data): Add $(srcdir).
1702 * src/utils/xtotroff/Makefile.sub (EXTRA_LDFLAGS): Fix order of
1705 2004-06-02 Werner LEMBERG <wl@gnu.org>
1707 * aclocal.m4 (GROFF_X11): s/have_no_x/groff_no_x/.
1708 Add X11 stuff to CFLAGS, LDFLAGS, and LIBS temporarily.
1709 Add test for Xmu library.
1710 (GROFF_APPRESDIR_OPTION, GROFF_APPRESDIR_CHECK,
1711 GROFF_APPRESDIR_DEFAULT): New macros.
1713 * configure.ac: Call GROFF_APPRESDIR_OPTION, GROFF_APPRESDIR_CHECK,
1714 and GROFF_APPRESDIR_DEFAULT.
1716 * configure: Regenerated.
1718 * Makefile.in (appresdir): New variable.
1719 (MDEFINES): Add appresdir.
1721 * src/devices/xditview/Makefile.sub (EXTRA_LDFLAGS): Add -Xmu and
1723 (install_data, uninstall_sub): New targets to handle GXditview.ad.
1725 * src/utils/indxbib/Makefiles.ub (install_data): Depend on
1726 `$(srcdir)/eign', not `eign'.
1728 * MANIFEST, INSTALL, NEWS, PROBLEMS: Updated.
1730 * man/groff_out.man, man/roff.man, src/devices/grops/grops.man,
1731 src/devices/xditview/gxditview.man, src/roff/groff/groff.man:
1732 Protect (g)xditview with `\%' to avoid hyphenation.
1733 Other minor formatting.
1735 2004-06-01 Werner LEMBERG <wl@gnu.org>
1737 Integrate gxditview into groff's standard directory hierarchy.
1739 * src/xditview/*: Moved to ...
1740 * src/devices/xditview/*: Here.
1741 Moved DviChar.h and XFontName.h to src/include.
1742 Moved DviChar.c and XFontName.c to new directory src/libs/libxutil.
1743 Split off `xmalloc' into new file src/libs/libxutil/xmalloc.c.
1744 Moved xtotroff.c to new directory src/utils/xtotroff.
1745 Provide proper Makefile.sub files (reusing the stuff from
1747 DESC renamed to DESC.in.
1748 Removed GXDitview-ad.h, INSTALL, Imakefile.in.
1749 Converted everything from K&R to ANSI C.
1750 Decorated with const where appropriate.
1751 Cast string constants with `String' and `char *' where appropriate.
1752 Made it compile with C++ (used as a C compiler).
1753 Removed other minor compiler warnings.
1755 * src/devices/xditview/device.c: Include config.h, string.h, and
1757 Don't declare `exit', `strtok', `strchr', and `getenv'.
1760 * src/devices/xditview/font.c: Don't declare `XParseFontName' and
1763 * src/devices/xditview/xditview.c: Include config.h.
1764 Include stdio.h earlier.
1765 Protect declaration of `popen' and `pclose' with
1766 NEED_DECLARATION_POPEN and NEED_DECLARATION_PCLOSE.
1767 Replace `caddr_t' with `XtPointer'.
1768 (MakePromptFunc): New typedef.
1769 (DoPrint): Use RETSIGTYPE.
1770 (promptfunction): Change type to MakePromptFunc.
1771 (MakePrompt): Use MakePromptFunc for third argument.
1774 * src/devices/xditview/ad2c: Add casts to `String'.
1776 * src/include/XFontName.h (XFontNameString): Don't use array
1778 Add prototypes for `XParseFontName', `XFormatFontName',
1779 `XCompareFontName', and `XCopyFontName'.
1781 * src/include/Makefile.sub (HDRS): Add `DviChar.h' and
1784 * src/utils/xtotroff/xtotroff.c: Include getopt.h.
1785 Don't declare `XParseFontName' and `XFormatFontName'.
1787 (main): Remove `optind' and `optarg'.
1789 * Makefile.in (XDEVDIRS, XPROGDIRS, XLIBDIRS): New variables
1790 (to select programs which need X).
1791 Make XDEVIDIRS depend on `FORCE'.
1792 (X_CFLAGS, X_LIBS, X_EXTRA_LIBS, X_PRE_LIBS): New variables (for
1794 (MDEFINES): Updated.
1795 (LIBDIRS): Use XLIBDIRS.
1796 (CPROGDIRS): Use XPROGDIRS.
1797 (DEVDIRS): Remove font directories for gxditview.
1798 (ALLDIRS, DISTDIRS): Add XDEVDIRS.
1799 (EXTRADIRS): Remove src/xditview.
1801 * Makefile.sub (DISCLEANFILES): Updated.
1803 * Makefile.comm (LIBXUTIL): New variable.
1804 (.cpp.o, .cpp.obj): Handle EXTRA_CCFLAGS.
1805 (.c.o, .c.obj, .y.o): Handle EXTRA_CFLAGS.
1807 * Makefile.cpg, Makefile.ccpg ($PROG): Handle EXTRA_LDFLAGS.
1809 * aclocal.m4 (GROFF_X11): New function.
1811 * configure.ac: Call GROFF_X11.
1812 Don't create src/xditview/Imakefile.
1813 Don't emit notice how to build gxditview.
1815 * configure: Regenerated.
1817 * test-groff.in (GROFF_BIN_PATH, XENVIRONMENT): Updated.
1819 2004-05-28 Akihiro Sagawa <sagawa@sohgoh.net>
1821 * Makefile.in (CPPFLAGS): Define.
1822 (MDEFINES): Add CPPFLAGS.
1824 2004-05-27 Werner LEMBERG <wl@gnu.org>
1826 * arch/misc/Makefile.sub (shdeps.sed): Use $(srcdir).
1828 2004-05-26 Niklas Edmundsson <nikke@acc.umu.se>
1830 Fix problems with `friend name injections'.
1832 * src/preproc/eqn/box.h (make_mark_box, make_lineup_box,
1833 make_script_box), src/roff/troff/div.h (end_diversions),
1834 src/roff/troff/env.h (title), input.cpp (process_input_stack): Undo
1837 2004-05-25 Bernd Warken <bwarken@mayn.de>
1839 * src/preproc/pic/pic.man, doc/pic.ms: Add example for `command'.
1841 2004-05-25 Werner LEMBERG <wl@gnu.org>
1843 * src/libs/libgroff/cset.cpp, src/libs/libgroff/lf.cpp,
1844 src/libs/libgroff/color.cpp: Include lib.h.
1846 2004-05-25 Paul Eggert <eggert@cs.ucla.edu>
1848 * PROBLEMS: Update documentation for problems with Sun C++ 5.0
1849 through Forte 6u1, and for how to get GNU make on Solaris.
1851 2004-05-24 Werner LEMBERG <wl@gnu.org>
1853 * PROBLEMS: Document problems with gcc 3.4.0 on Sun. Reported
1856 2004-05-15 Keith Marshall <keith.d.marshall@ntlworld.com>
1858 * arch/misc/Makefile.sub (shdeps.sed): Don't use `$<' in explicit
1861 2005-05-14 Werner LEMBERG <wl@gnu.org>
1863 * REVISION: Set to 2.
1865 * aclocal.m4 (GROFF_STDINT_H): Removed.
1866 (GROFF_INTTYPES_H): Define HAVE_CC_INTTYPES_H.
1868 * configure.ac: Updated.
1869 * configure, src/include/config.hin: Regenerated.
1871 * src/libs/libgroff/tmpname.cpp: Don't include stdint.h but
1872 inttypes.h conditionally.
1874 2003-05-13 Werner LEMBERG <wl@gnu.org>
1876 Version 1.19.1 released
1877 =======================
1879 2004-05-10 Stephen Gildea <http://www.gildea.com/stephen>
1881 * src/preproc/refer/label.y (same_author_last_name,
1882 same_author_name): Handle empty sort keys.
1884 2004-05-10 Werner LEMBERG <wl@gnu.org>
1886 * NEWS, README, TODO, PROJECTS, PROBLEMS, MANIFEST, doc/webpage.ms,
1889 * tmac/doc-syms (doc-str-Lb-libposix, doc-str-Lb-libpthread,
1890 doc-str-Lb-librt): Reset font.
1891 (Lb): Rename `doc-str-Lb' to `doc-str-Lb1'.
1892 Provide `doc-str-Lb' to reset font.
1893 * tmac/groff_mdoc.man: Updated.
1895 2004-05-08 Jan Schaumann <jschauma@netmeister.org>
1897 * src/preproc/html/pre-html.cpp (make_message): Make it work for
1898 snprintf versions which don't conform to ANSI C 99 (this is,
1899 counting the string's trailing null byte in the return value).
1901 2004-05-07 Keith Marshall <keith.d.marshall@ntlworld.com>
1903 * src/roff/troff/node.cpp (suppress_node::tprint): Don't expect
1904 that all implementations of sprintf handle null pointers correctly.
1906 2004-05-04 Werner LEMBERG <wl@gnu.org>
1908 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
1909 Document `.U' register.
1911 * src/roff/troff/env.cpp (environment::mark_last_line)
1912 [WIDOW_CONTROL]: Fix scope of `p' for new C++ compilers.
1914 2004-05-04 Larry Kollar <kollar@alltel.net>
1916 New read-only register `.U'; it returns 1 in safer mode and 0
1919 * src/roff/troff/input.cpp (init_input_requests): Implement `.U'
1922 2004-05-03 Werner LEMBERG <wl@gnu.org>
1924 * install-sh, mkinstalldirs: New versions; taken from texinfo CVS.
1926 2004-04-17 Werner LEMBERG <wl@gnu.org>
1928 * src/include/font.h (font): Use `int' for ch_index.
1929 * src/libs/libgroff/font.cpp (font::alloc_ch_index,
1930 font::compact): Updated.
1932 * src/roff/groff/pipeline.c (run_pipeline) [_WIN32]: Fix compiler
1935 * src/roff/troff/div.cpp (begin_page), src/roff/troff/env.cpp
1936 (hyphen_word): Fix compiler warnings.
1937 * src/roff/troff/input.cpp (get_char_for_escape_name): Return
1940 (get_delim_number, get_line_arg): Change second argument type to
1942 (macro_header::copy, token::next, do_define_string,
1943 do_define_character, substring_request, asciify_macro,
1944 unformat_macro, read_size, non_interpreted_node::interpret,
1945 while_request, main: Fix compiler warnings.
1946 (read_color_draw_node): Initialize `col'.
1948 * src/preproc/tbl/table.cpp (horizontal_span, table_entry): Make
1949 `start_col' and `end_col' of type `int'.
1950 (vertical_rule): Make `col' of type `int'.
1952 * src/preproc/grn/hdb.cpp (DBRead): Protect call to getc with check
1955 * src/preproc/refer/label.y (uppercase_array, lowercase_array):
1957 (format_serial): Use them to remove dependency on ASCII.
1959 * src/devices/grops/ps.cpp (ps_printer::define_encoding): Fix
1961 * src/devices/grops/psrm.cpp (resource_manager::supply_resource):
1964 * src/devices/grotty/tty.cpp (tty_font::load_tty_font): Fix
1966 (glyph): Change type of `hpos' to `int'.
1968 * src/devices/lbp/lbp.cpp (strsep): Removed. Unused.
1969 * src/devices/lbp/lbp.h (splinerel): Fix compiler warnings.
1971 * src/utils/tfmtodit.cpp (gf::load): Fix compiler warnings.
1973 * src/utils/pfbtops/pfbtops.c (get_text): Fix compiler warning.
1975 2004-04-16 Werner LEMBERG <wl@gnu.org>
1977 * src/devices/grolbp/lbp.h, src/preproc/grn/gprint.h,
1978 src/preproc/grn/hgraph.cpp, src/preproc/grn/hpoint.cpp,
1979 src/preproc/html/pushback.cpp, src/preproc/html/pushback.h: Use
1980 `double' instead of `float' everywhere.
1981 * src/preproc/grn/main.cpp: Use `double' instead of `float'
1983 (main): Add return value.
1984 * src/preproc/grn/hdb.cpp: Use `double' instead of `float'
1986 Update all user functions.
1988 * src/include/search.h, src/include/ptable.h, src/include/printer.h,
1989 src/preproc/eqn/box.h, src/preproc/pic/object.h,
1990 src/preproc/refer/refer.h, src/preproc/tbl/table.h,
1991 src/preproc/tbl/table.cpp, src/roff/troff/env.h,
1992 src/roff/troff/div.h, src/roff/troff/token.h, src/roff/troff/node.h,
1993 src/roff/troff/input.cpp, src/roff/troff/request.h,
1994 src/roff/troff/node.cpp: Don't mix `struct' and `class' in forward
1997 * src/utils/indxbib/signal.c: Include stdlib.h.
1999 2004-04-14 Keith Marshall <keith.d.marshall@ntlworld.com>
2001 * tmac/s.tmac (@init, RP): Allow initialization of the PO register
2002 before the first page.
2004 2004-04-14 Thomas Klausner <wiz@netbsd.org>
2006 * tmac/doc-common (doc-volume-as-*): Use lowercase names.
2007 (doc-operating-system-*): Updated.
2008 * tmac/doc-syms (doc-str-St-*): Various small fixes.
2009 (doc-str-Lb-*): Add more library names.
2011 2004-04-10 Art Haas <ahaas@airmail.net>
2013 * src/utils/hpftodit/hpuni.cpp (hp_msl_to_unicode_list): Don't
2016 2004-04-09 Art Haas <ahaas@airmail.net>
2018 * src/utils/tfmtodit.cpp (lig_chars): Don't use anonymous type.
2020 2004-04-09 Keith Marshall <keith.d.marshall@ntlworld.com>
2022 * arch/misc/shdeps.sh: Generate better comment for sed script.
2024 2004-04-08 Art Haas <ahaas@airmail.net>
2026 * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list),
2027 src/libs/libgroff/uniglyph.cpp (unicode_to_glyph_list),
2028 src/libs/libgroff/uniuni.cpp (unicode_decompose_list),
2029 src/preproc/eqn/box.cpp (param_table), src/preproc/grn/hgraph.cpp
2030 (polyfill), src/preproc/grn/main.cpp (polyfill),
2031 src/preproc/refer/command.cpp (command_table),
2032 src/utils/tfmtodit.cpp (lig_table): Don't use anonymous types (which
2033 gcc 3.5 doesn't like).
2035 2004-04-08 Werner LEMBERG <wl@gnu.org>
2037 Removing many compiler warnings. groff should now compile with
2038 a C++ compiler used for C files also. [Simple variable renamings
2039 to avoid shadowing aren't logged in detail.]
2041 * src/devices/grodvi/dvi.cpp: Some local variable renamings.
2042 (draw_dvi_printer::draw) ['c']: Enclose in block.
2044 * src/devices/grohtml/post-html.cpp: Some local variable renamings.
2045 (page::add_line): Fix typos.
2046 * src/devices/grohtml/html-text.cpp: Some local variable renamings.
2048 * src/devices/grolbp/lbp.cpp: Don't define _GNU_SOURCE.
2049 Some local variable renamings.
2050 * src/devices/grolbp/lbp.h: Some local variable renamings.
2052 * src/devices/grolj4/lj4.cpp, src/devices/grotty/tty.cpp: Some local
2055 * src/libs/libbib/index.cpp (index_search_item_iterator::get_tag):
2056 Remove redundant local variable declaration.
2057 * src/libs/libbib/map.c (mapread, unmap): Don't use K&R style.
2058 Don't use `caddr_t' but `void *'.
2059 Enclose functions with `extern "C"' for C++.
2061 * src/libs/libdriver/input.cpp (remember_filename,
2062 remember_source_filename): Use cast for string constant.
2064 * src/libs/libgroff/font.cpp, src/libs/libgroff/fontfile.cpp,
2065 src/libs/libgroff/nametoindex.cpp, src/libs/libgroff/paper.cpp,
2066 src/libs/libgroff/geometry.cpp: Some local variable renamings.
2067 * src/libs/libgroff/iftoa.c, src/libs/libgroff/itoa.c: Don't use K&R
2069 Enclose functions with `extern "C"' for C++.
2070 * src/libs/libgroff/quotearg.c (TRUE,FALSE): Define as macros.
2071 (needs_quoting): Return `int'.
2072 (quote_arg): Add proper casts to malloc and realloc.
2073 * src/libs/libgroff/spawnvp.c: Compile code only for MS-DOS and
2074 various MS Windows environments.
2075 (spawnvp_wrapper): Add proper cast to malloc.
2077 * src/preproc/eqn/box.h: Remove redundant declarations of
2078 `make_script_box', `make_mark_box' and `make_lineup_box'.
2079 * src/preproc/eqn/eqn.y: Remove redundant declaration of `strsave'.
2080 * src/preproc/eqn/script.cpp, src/preproc/eqn/pile.cpp: Some local
2083 * src/preproc/grn/hpoint.cpp: Some local variable renamings.
2084 * src/preproc/grn/hgraph.cpp: Some local variable renamings.
2085 (dx, dy): Renamed functions to...
2086 (deltax, deltay): This.
2087 * src/preproc/grn/main.cpp: Some local variable renamings.
2088 (deffont): Add `const'.
2089 (initpic, conv): Use cast for string constant.
2091 * src/preproc/html/pre-html.cpp: Some local variable renamings.
2092 (makeFileName, alterDeviceTo, addZ): Use cast for string constant.
2093 (char_buffer::run_output_filter): Second argument is unused.
2094 * src/preproc/html/pushback.cpp: Some local variable renamings.
2096 * src/preproc/pic/pic.y: Remove redundant declaration of `do_copy'.
2097 * src/preproc/pic/object.cpp: Some local variable renamings.
2099 * src/preproc/refer/label.y (lookup_label): Remove redundant
2100 declaration of local variable.
2102 * src/preproc/soelim.cpp: Remove redundant declaration of
2103 `interpret_lf_args'.
2105 * src/preproc/tbl/main.cpp: Some local variable renamings.
2107 * src/roff/groff/groff.cpp (main): Use cast for string constant.
2108 * src/roff/groff/pipeline.c: Enclose declarations of `error',
2109 `c_fatal', and `i_to_a' with `extern "C"' for C++.
2110 Don't use C++-style comments.
2112 * src/roff/troff/env.h: Remove redundant declaration of `title'.
2113 * src/roff/troff/node.h, src/roff/troff/env.cpp,
2114 src/roff/troff/div.cpp, src/roff/troff/node.cpp: Some local variable
2116 * src/roff/troff/div.h: Remove redundant declaration of
2118 * src/roff/troff/troff.h: Remove redundant declaration of
2120 * src/roff/troff/input.cpp: Remove redundant declaration of
2121 `handle_first_page_transition' and `process_input_stack'.
2123 * src/utils/hpftodit.cpp: Some local variable renamings.
2125 * src/utils/indxbib/signal.c: Enclose functions with `extern "C"'
2127 Don't define RETSIGTYPE.
2128 * src/utils/indxbib/indxbib.cpp: Some local variable renamings.
2130 * src/utils/pfbtops/pfbtops.cpp: Don't use K&R style.
2131 (error): Use `const' in argument.
2132 (main): Remove redundant declaration of `optind'.
2133 Move declaration of `Version_string' to top-level.
2135 * PROBLEMS: Document difficulties compiling signal.c if a C++
2136 compiler is used for C.
2138 2004-04-07 Werner LEMBERG <wl@gnu.org>
2140 * Makefile.sub (DISTCLEANFILES): Add `test-groff'.
2142 2004-04-06 Keith Marshall <keith.d.marshall@ntlworld.com>
2144 Make scripts like nroff.sh and neqn.sh portable across various
2145 (Unix-like) shell implementations from Cygwin, MSYS, etc., which use
2146 non-POSIX path separators. The idea is to extend those scripts to
2147 decide at run-time (of the script) which path separator to use.
2149 * arch/misc/Makefile.sub: New file.
2150 * arch/misc/shdeps.sh: New file, generating OS dependency fixups.
2151 This script handles @GROFF_BIN_PATH_SETUP@, replacing it with
2152 a proper definition of the variable `GROFF_RUNTIME'.
2154 * Makefile.in (SH_DEPS_SED_SCRIPT): New variable.
2155 (MDEFINES): Add SH_DEPS_SED_SCRIPT.
2156 (PROGDEPDIRS): New variable.
2158 (PROGDIRS): Add PROGDEPDIRS.
2160 * src/preproc/eqn/Makefile.sub (neqn): Call SH_DEPS_SED_SCRIPT.
2161 Don't substitute @SEP@ and @BINDIR@.
2162 * src/preproc/eqn/neqn.sh: Use @GROFF_BIN_PATH_SETUP@.
2163 (PATH): Use GROFF_RUNTIME.
2165 * src/roff/nroff/Makefile.sub (nroff): Call SH_DEPS_SED_SCRIPT.
2166 Don't substitute @SEP@ and @BINDIR@.
2167 * src/roff/nroff/nroff.sh: Use @GROFF_BIN_PATH_SETUP@.
2168 (PATH): Use GROFF_RUNTIME.
2170 2004-04-05 Keith Marshall <keith.d.marshall@ntlworld.com>
2172 * src/roff/nroff/nroff.sh: Implement work-around for sh.exe from
2173 Cygwin which doesn't handle stderr correctly.
2175 2004-03-08 Werner LEMBERG <wl@gnu.org>
2177 * Makefile.comm (install_dev, uninstall_dev): Protect `for' loops
2178 against empty argument. Problem reported by <cgd@broadcom.com>.
2180 2004-03-05 Keith Marshall <keith.d.marshall@ntlworld.com>
2182 * Makefile.in (SEP): Replaced with...
2183 (RT_SEP, SH_SEP): Separators for the target platform's native path
2184 separator and the build environment, respectively.
2185 (fontpath, tmacpath): Use RT_SEP.
2186 (MDEFINES): Updated.
2188 * contrib/mom/Makefile.sub (GROFF_BIN_PATH): Use SH_SEP.
2189 * doc/Makefile.sub (GROFF_BIN_PATH): Use SH_SEP.
2190 * src/preproc/eqn/Makefile.sub (neqn): Use SH_SEP.
2191 * src/roff/nroff/Makefile.sub (nroff): Use SH_SEP.
2193 2004-03-05 Werner LEMBERG <wl@gnu.org>
2195 * fonts/devlj4/Makefile.sub (LJ4RES): Set to 1200. This helps to
2196 reduce alignment problems with newer printers which use built-in
2197 TrueType fonts (instead of the older Intellifonts). The ideal
2198 solution is to provide a second set of groff metric files, but this
2199 is extremely time-consuming to produce, given that HP's metric
2200 files are very rudimentary.
2202 2004-03-01 Werner LEMBERG <wl@gnu.org>
2204 * src/devices/grolj4/lj4.cpp (main): Fix argument of getopt_long.
2205 s/operand/argument/ in error message.
2207 2004-03-01 Keith Marshall <keith.d.marshall@ntlworld.com>
2209 * src/roff/groff/groff.cpp (main): Don't allow option -o if -Thtml
2212 2004-03-01 Antti Kantee <pooka@netbsd.org>
2214 * tmac/s.tmac (XE): Fix error message.
2216 2004-02-27 Jeff Conrad <jeff_conrad@msn.com>
2218 * src/include/nonposix.h (write, dup, dup2, close) [_MSC_VER]:
2221 * src/roff/groff/pipeline.c: Declare strcasecmp.
2222 (run_pipeline) [_WIN32]: Use function name variants which don't
2224 Fix stream handling.
2226 2004-02-27 Keith Marshall <keith.d.marshall@ntlworld.com>
2228 * src/include/nonposix.h: Fix declaration of `system_shell_name'.
2229 Declare `spawnvp_wrapper' and macro definitions of spawnvp only
2230 for platforms which use the native Win32 runtime libraries.
2231 (FLUSH_INPUT_PIPE) [_UWIN]: Provide non-empty version.
2233 * src/libs/libgroff/quotearg.c (QUOTE_ARG_MALLOC_ERROR,
2234 QUOTE_ARG_REALLOC_ERROR): Fix string.
2236 * src/preproc/html/pre-html.cpp: Remove declaration of
2238 Don't use __MINGW32__.
2239 s/DEBUG_FILE/DEBUG_FILE_DIR/.
2240 (DEBUG_TEXT, DEBUG_NAME, DEBUG_FILE) [DEBUGGING]: New macros.
2241 (OUTPUT_STREAM, PS_OUTPUT_STREAM, REGION_OUTPUT_STREAM): New macros.
2242 (char_buffer::run_output_filter) [MAY_FORK_CHILD_PROCESS]: Fix
2243 calls to `set_redirection' and `WAIT'.
2244 [MAY_SPAWN_ASYNCHRONOUS_CHILD]: Remove unused variable `i' and `j'.
2245 Fix calls to `set_redirection' and `save_and_redirect'.
2246 (char_buffer::do_html, char_buffer::do_image) [DEBUGGING]: Fix calls
2247 to `set_redirection' and `save_and_redirect'.
2248 (usage): Fix message.
2249 (makeTempFiles, main): Use `DEBUG_FILE'.
2251 2004-02-21 Werner LEMBERG <wl@gnu.org>
2253 * src/roff/troff/troff.h (WARN_TOTAL): Fix value.
2255 2004-02-21 Keith Marshall <keith.d.marshall@ntlworld.com>
2257 * src/libs/libgroff/quotearg.c: New file, providing proper argument
2258 quoting for MSVC's spawn* and exec* functions.
2259 * src/libs/libgroff/spawnvp.c: New file, providing a wrapper around
2260 spawnvp with proper quoting for MSVC.
2262 * src/libs/libgroff/assert.cpp (program_name),
2263 src/libs/libgroff/new.cpp (program_name): Declare as `extern "C"'.
2264 * src/libs/libgroff/Makefile.sub (OBJS, CSRCS): Updated.
2266 * src/roff/troff/input.cpp (program_name): Declare as `extern "C"'.
2268 * src/include/error.h (program_name): Declare as `extern "C"'.
2269 * src/include/nonposix.h [__MSDOS__ ...]: Handle spawnvp.
2271 2004-02-21 Jeff Conrad <jeff_conrad@msn.com>
2273 * src/preproc/html/pre-html.cpp [__CYGWIN__ ...]: Declare
2275 [MAY_SPAWN_ASYNCHRONOUS_CHILD]: Declare i and j.
2277 2004-02-20 Jeff Conrad <jeff_conrad@msn.com>
2279 * src/roff/groff/pipeline.c (cmd) [__MSDOS__ || ...]: New global
2281 (sbasename) [__MSDOS__ || ...]: New function.
2282 (system_shell_name) [__MSDOS__ || ...]: Use a different, more
2284 (system_shell_dash_c, is_system_shell) [__MSDOS__ || ...]: Updated.
2285 (run_pipeline) [_WIN32]: Use _XXX variants for some macros instead
2287 Use STDOUT_FILENO instead of hardcoded file handle.
2288 (signal_catcher) [__MSDOS__]: Moved to non-_WIN32 section.
2290 2004-02-19 Werner LEMBERG <wl@gnu.org>
2292 * src/roff/troff/div.cpp: Include nonposix.h after troff.h to
2293 avoid warnings w.r.t. redefinition of P_tmpdir for some compilers.
2295 2004-02-18 Werner LEMBERG <wl@gnu.org>
2297 * font/devlj4/Makefile.sub (DEVFILES): Updated to contain all
2298 new font and mapping files.
2300 2004-02-18 Jeff Conrad <jeff_conrad@msn.com>
2301 Keith Marshall <keith.d.marshall@ntlworld.com>
2303 * src/include/nonposix.h (FLUSH_INPUT_PIPE): New macro to empty
2304 an input pipe. This is needed for the MSVC compiler to make troff's
2307 * src/roff/troff/div.cpp: Include nonposix.h.
2308 (cleanup_and_exit): Call FLUSH_INPUT_PIPE.
2310 2004-02-17 Werner LEMBERG <wl@gnu.org>
2312 * font/devlj4/generate/special.awk: New script.
2313 * font/devlj4/generate/Makefile (S): Use special.awk.
2314 * font/devlj4/*: Regenerated, including the following new files:
2315 Arial (AR, AB, AI, ABI), Times New Roman (TNRR, TNRB, TNRI, TNRBI),
2316 MS Symbol (SYMBOL), Wingdings (WINGDINGS).
2317 * NEWS: Document new lj4 fonts and revised hpftodit.
2319 2004-02-17 Paco Andrés Verdú <pandres@dragonet.es>
2321 * src/devices/grolbp/lbp.h (vmdvarc): Fix formatting string.
2323 2004-01-25 Werner LEMBERG <wl@gnu.org>
2325 * src/libs/libgroff/progname.cpp: Replaced with...
2326 * src/libs/libgroff/progname.c: New file.
2327 * src/libs/libgroff/Makefile.sub: Updated accordingly.
2329 2004-01-17 Werner LEMBERG <wl@gnu.org>
2331 * font/devlj4/generate/Makefile (SYMBOL): Use 9nb28703.tfm.
2333 2004-01-16 Jeff Conrad <jeff_conrad@msn.com>
2335 * font/devlj4/generate/wingdings.map,
2336 font/devlj4/generate/symbol.map: Include unnamed glyphs.
2337 Use groff glyph names where possible.
2338 * src/devices/grolj4/lj4_font.man: Minor updates.
2340 2004-01-13 Werner LEMBERG <wl@gnu.org>
2342 * tmac/www.tmac (DC): Handle TTY devices.
2344 * doc/webpage.ms: Document viewCVS from ffii.org.
2345 * NEWS, README: Updated.
2347 * src/roff/groff/groff.man: Mention lj4_font man page.
2349 * font/devlj4/generate/Makefile (SYMBOLMAP, WINGDINGSMAP): New
2351 (FONTS): Add SYMBOL and WINGDINGS.
2352 (SYMBOL, WINGDINGS): New targets.
2354 2004-01-13 Jeff Conrad <jeff_conrad@msn.com>
2356 * src/devices/grolj4/lj4_font.man: New man page.
2357 * src/devices/grolj4/Makefile.sub (MAN5): New variable.
2358 * src/devices/grolj4.man: Mention lj4_font man page.
2360 * src/utils/hpftodit/hpftodit.cpp (read_map): Handle line comments.
2361 * src/utils/hpftodit/hpftodit.man: Document it.
2363 Remove details about fonts (which are now in lj4_font.man).
2365 * font/devlj4/generate/symbol.map,
2366 font/devlj4/generate/wingdings.map: New files.
2368 2004-01-12 Werner LEMBERG <wl@gnu.org>
2370 * README: Mention ffii's viewcvs access.
2372 2004-01-09 Werner LEMBERG <wl@gnu.org>
2374 * font/devlj4/generate/special.map: Map MSL 228 to U+221F.
2376 2004-01-09 Jeff Conrad <jeff_conrad@msn.com>
2378 Revert most of the change from 2004-01-03 to better control used
2381 * src/utils/hpftodit/hpftodit.cpp (symbol_set): New structure.
2382 (text_symbol_sets, special_symbol_sets): New arrays.
2383 (symbol_set_table): New global variable.
2384 (read_symbol_sets): Use search order given in the text_symbol_sets
2385 and special_symbol_sets arrays. If command line flag -a is not
2386 given, search both arrays.
2387 (output_charset): Require x_height_tag only for command line flag -i.
2389 2004-01-06 Werner LEMBERG <wl@gnu.org>
2391 Implement string-valued registers \n[.m] and \n[.M] to return the
2392 name of the current drawing and background color, respectively.
2394 * src/roff/troff/symbol.h: Moved to...
2395 * src/include/symbol.h: Here.
2396 Small fixes to make it work outside of the `troff' directory.
2397 * src/roff/troff/symbol.cpp: Moved to...
2398 * src/libs/libgroff/symbol.cpp: Here.
2399 Small fixes to make it work outside of the `troff' directory.
2401 * src/include/Makefile.sub (HDRS), src/libs/libgroff/Makefile.sub
2402 (OBJS, CCSRCS), src/roff/troff/Makefile.sub (OBJS, CCSRCS, HDRS):
2405 * src/include/color.h: Include symbol.h.
2406 (color): Add new field `nm'.
2407 * src/libs/libgroff/color.cpp (color::color): Updated.
2409 * src/roff/troff/dictionary.cpp, src/roff/troff/div.cpp,
2410 src/roff/troff/node.cpp, src/roff/troff/number.cpp,
2411 src/roff/troff/reg.cpp: Don't include symbol.h.
2413 * src/roff/troff/env.cpp: Don't include symbol.h.
2414 (environment::get_glyph_color_string,
2415 environment_get_fill_color_string): New member functions.
2416 (init_env_requests): Handle `.m' and `.M' registers.
2417 * src/roff/troff/input.cpp: Don't include symbol.h.
2418 (default_symbol): Moved to symbol.cpp/symbol.h.
2419 (do_glyph_color, do_fill_color, define_color): Pass symbol name
2420 to color constructor.
2421 * src/roff/troff/env.h: Updated.
2423 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
2424 Document new registers.
2426 2004-01-05 Werner LEMBERG <wl@gnu.org>
2428 * src/roff/troff/node.cpp (space_node::get_breakpoints,
2429 space_node::nbreaks): Protect against zero `next' field.
2431 2004-01-03 Jeff Conrad <jeff_conrad@msn.com>
2433 In hpftodit, use the symbol sets offered in the TFM.
2435 * src/utils/hpftodit/hpftodit.cpp (NO_GLYPH): New constant.
2436 (symbol_set, text_symbol_sets, special_symbol_sets,
2437 symbol_set_table): Removed.
2438 (get_printcode): Removed.
2439 (read_symbol_sets): Initialize `symbol_set' field with
2441 Simplify code to just use the `kind' value.
2442 (output_charset): Improve output formatting.
2443 (dump_symbols): Simplified.
2445 2004-01-02 Werner LEMBERG <wl@gnu.org>
2447 * font/devlj4/generate/text.map: Add more MSL numbers.
2449 2004-01-02 Jeff Conrad <jeff_conrad@msn.com>
2451 * src/utils/hpftodit/hpftodit.cpp (is_decomposed): New macro.
2452 (text_symbol_sets): Add more symbol sets.
2453 (debug_flag): New static variable (moved from `main').
2454 (get_printcode, show_symset): New functions.
2455 (main): Remove `debug_flag'.
2456 (output_charset): Use `show_symset'.
2457 (dump_symbols): Use `show_symset'.
2458 Print symsets for all glyphs.
2459 (read_map): Actually call `unicode_to_ucode_make' but this time
2462 2004-01-01 Werner LEMBERG <wl@gnu.org>
2464 * font/devlj4/generate/text.map, font/devlj4/generate/special.map:
2465 Fix placement of comments.
2467 2004-01-01 Jeff Conrad <jeff_conrad@msn.com>
2469 * src/utils/hpftodit/hpftodit.cpp (main): Read map file also if
2470 option `-d' is given.
2471 (output_charset): Improve warning messages to give more information.
2472 (dump_symbols): Make information more precise.
2474 (read_map): Don't call unicode_to_ucode_name; the glyph names must
2475 appear as-is and shouldn't be decomposed.
2477 2003-12-31 Werner LEMBERG <wl@gnu.org>
2479 * src/utils/hpftodit/hpftodit.cpp (dump_tags): Handle posture_tag.
2480 * font/devlj4/generate/Makefile (IFLAG): Updated to new units.
2481 (FONTS): Add TrueType font families Arial and Times New Roman.
2482 (TNRR, TNRB, TNRI, TNRBI, AR, AB, AI, ABI): New targets.
2483 * font/devlj4/generate/text.map: Fix Unicode values of `fi' and
2486 2003-12-31 Jeff Conrad <jeff_conrad@msn.com>
2488 * test-groff.in (SEP): Quote value.
2489 * src/roff/troff/node.cpp (suppress_node::tprint): Change type of
2490 `tem' to `char*' to avoid deallocation of a pointer to a constant
2491 object which some compilers don't like.
2493 2003-12-31 Werner LEMBERG <wl@gnu.org>
2495 * font/devlj4/generate (text.map, special.map): Rewritten to work
2496 with the new hpftodit version.
2498 2003-12-30 Jeff Conrad <jeff_conrad@msn.com>
2500 * src/utils/hpftodit/hpftodit.cpp (output_charset): Emit HP symbol
2501 set and 8bit character code for all glyphs also.
2503 2003-12-30 Werner LEMBERG <wl@gnu.org>
2505 * src/libs/libgroff/strcasecmp.c: Updated from gnulib.
2507 2003-12-29 Werner LEMBERG <wl@gnu.org>
2509 More fixes for MSVC compiler.
2511 * doc/Makefile.sub, contrib/mom/Makefile.sub (GROFF_BIN_PATH): Use
2514 * src/include/nonposix.h (STDIN_FILENO, STDOUT_FILENO,
2515 STDERR_FILENO) [_MSC_VER]: Define conditionally.
2516 (getpid) [_MSC_VER]: Remove.
2517 Include direct.h and process.h conditionally.
2519 * src/roff/troff/node.cpp (suppress_node::tprint): Don't use
2520 parentheses for a_delete.
2522 * src/utils/lookbib/lookbib.cpp: Include nonposix.h.
2524 * test-groff: Replaced with...
2525 * test-groff.in: This new template to handle path separator
2528 * configure.ac: Check for direct.h and process.h.
2529 Generate test-groff script.
2530 * configure, src/include/config.hin: Regenerated.
2532 2003-12-28 Werner LEMBERG <wl@gnu.org>
2534 Add integral extension glyph.
2535 Add new option `-x' to afmtodit to suppress use of built-in AGL.
2537 * font/devhtml/R.proto, font/devutf8/R.proto: Add `u23AE'.
2539 * font/devps/generate/textmap: Provide entry for `integralex' to
2540 override (old) PUA value of the AGL.
2541 * font/devps/generate/Makefile (SS): Add afmtodit option `-x'.
2542 * font/devps/*: Regenerated.
2544 * src/utils/afmtodit/afmtodit.pl: Add option `-x'.
2545 * src/utils/afmtodit/afmtodit.man, NEWS: Updated.
2547 2003-12-27 Werner LEMBERG <wl@gnu.org>
2549 Add forgotten `coproduct' symbol (already available for DVI).
2551 * font/devhtml/R.proto, font/devps/generate/textmap,
2552 font/devps/symbolmap, font/devutf8/R.proto, man/groff_char.man,
2553 src/libs/libgroff/uniglyph.cc, src/libs/libgroff/glyphuni.cpp: Add
2554 U+2210 (\[coproduct]).
2556 2003-12-26 Jeff Conrad <jeff_conrad@msn.com>
2558 hpftodit has been extended to handle TrueType metric files and
2559 more glyphs. See hpftodit.man for more details.
2561 * src/utils/hpftodit/hpftodit.cpp: Include stdio.h, string.h,
2562 ctype.h, and unicode.h.
2563 s/msl/charcode/ everywhere since we now handle Unicode values also.
2564 (equal, NO, YES, MSL, SYMSET, UNICODE, UNICODE): New macros.
2565 Use it where appropriate.
2566 (MULTIPLIER): Replaced with...
2567 (multiplier): New global static variable.
2569 (tag_type): Add more TFM tags.
2570 (tag_name): New array.
2571 (ENUM_TYPE, FLOAT_TYPE): Removed.
2572 (BYTE_TYPE): New value assigned.
2573 (ASCII_TYPE, RATIONAL_TYPE): New enumeration values.
2574 (text_symbol_sets, special_symbol_sets): Extended to cover more
2576 (check_type): Add return value.
2577 (check_units): Add parameters to get ppi and upem values.
2578 Handle TrueType TFM data.
2579 (output_font_name): New function.
2580 (output_charset): Add parameter to handle TFM type.
2581 Handle TrueType TFMs also.
2582 (em_fract): New macro.
2583 (dump_tags): Be much more verbose and handle more tags.
2584 (dump_ascii, dump_symbol_sets, dump_symbols): New functions.
2585 (hp_msl_to_ucode_name, unicode_to_ucode_name, is_uname): New
2587 (read_map): Add parameter to handle TFM type.
2588 Handle both MSL and Unicode mappings.
2589 (main): Add two new command line options `-a' and `-q'.
2590 Updated to make use of new functions.
2593 * src/utils/hpftodit/hpuni.cpp: New file.
2595 * src/utils/hpftodit/Makefile.sub, src/utils/hpftodit/hpftodit.man:
2598 2003-12-25 Werner LEMBERG <wl@gnu.org>
2600 * src/include/nonposix.h (read) [_MSC_VER]: Define.
2602 2003-12-24 Werner LEMBERG <wl@gnu.org>
2604 * src/utils/afmtodit/afmtodit.man: Some reformulations as suggested
2605 by Michail Vidiassov <master@iaas.msu.ru>.
2607 2003-12-20 Werner LEMBERG <wl@gnu.org>
2609 * font/devhtml/R.proto: Add u00{47,67}_0306, u00{53,73}_0327,
2611 Add missing latin-2 glyphs.
2612 * font/devutf8/R.proto: Add missing latin-2 glyphs.
2614 * tmac/troffrc: Load `composite.tmac' earlier.
2616 * tmac/dvi.tmac, tmac/ps.tmac, tmac/lbp.tmac: Add u00{47,67}_0306,
2617 u00{53,73}_0327, and u0049_0307.
2618 * tmac/X.tmac: Add u00{47,67}_0306.
2619 * tmac/tty-char.tmac: Use composite glyph names for readability.
2623 * src/include/unicode.h: Remove `extern' keywords.
2625 2003-12-20 Nilgün Belma Bugüner <nilgun@superonline.com>
2627 * tmac/latin5.tmac: New file.
2629 2003-12-19 Werner LEMBERG <wl@gnu.org>
2631 Add some glyphs needed for Turkish.
2633 * font/devutf8/R.proto: Add u00{47,67}_0306, u00{53,73}_0327,
2636 * tmac/composite.tmac: Add `,' as a synonym for `ac' accent.
2637 * tmac/tty-char.tmac: Add representations for u00{47,67}_0306,
2638 u00{53,73}_0327, and u0049_0307.
2640 2003-12-18 Werner LEMBERG <wl@gnu.org>
2642 * src/devices/grops/ps.cc (ps_output::put_float): Revert change
2644 Remove trailing zeros.
2646 2003-12-17 Werner LEMBERG <wl@gnu.org>
2648 Make \? transparent to end-of-sentence recognition.
2650 * src/roff/troff/input.cc (non_interpreted_node): Add
2651 `ends_sentence' member function.
2653 2003-12-16 Werner LEMBERG <wl@gnu.org>
2655 * doc/groff.texinfo: Document `dt' request correctly.
2656 Other minor typographical improvements.
2658 2003-12-10 Michail Vidiassov <master@iaas.msu.ru>
2660 * src/utils/afmtodit/Makefile.sub (afmtodit): Fix typo.
2662 2003-12-10 Richard Stallman <rms@gnu.org>
2664 * LICENSE: Better wording.
2666 2003-12-09 Werner LEMBERG <wl@gnu.org>
2668 * aclocal.m4 (GROFF_BROKEN_SPOOLER_FLAGS): Set default value to 0.
2669 * configure, NEWS: Updated.
2671 2003-12-08 Werner LEMBERG <wl@gnu.org>
2673 * FDL: Updated to version 1.2 (from www.gnu.org/copyleft).
2675 2003-12-07 Bernd Warken <bwarken@mayn.de>
2679 2003-12-07 Werner LEMBERG <wl@gnu.org>
2681 * INSTALL: Improved.
2683 2003-12-05 Keith Marshall <keith.d.marshall@ntlworld.com>
2685 Use path separator character of target platform for compiled-in
2688 * aclocal.m4 (GROFF_TARGET_PATH_SEPARATOR): New macro.
2689 * configure.ac: Use GROFF_TARGET_PATH_SEPARATOR.
2690 * configure: Regenerated.
2691 * Makefile.in (SEP): Use GROFF_PATH_SEPARATOR.
2693 2003-12-05 Werner LEMBERG <wl@gnu.org>
2695 * src/include/nonposix.h (PATH_SEP_CHAR): New definition.
2696 Replace `PATH_SEP[0]' with `PATH_SEP_CHAR' everywhere.
2698 2003-12-04 Bernd Warken <bwarken@mayn.de>
2700 * LICENSE: New file.
2702 2003-12-03 Werner LEMBERG <wl@gnu.org>
2704 * src/utils/afmtodit/afmtodit.pl: Comment out code which handles
2705 ligatures present in AFM files since groff currently only
2706 understands some standard ligatures and nothing else.
2708 2003-12-03 Jeff Conrad <jeff_conrad@msn.com>
2710 * src/roff/groff/groff.cpp (main): Don't run the spooler if
2713 * src/roff/groff/pipeline.c (run_pipeline) [_WIN32]: Fix error
2716 Don't use Unix wait flags.
2718 2003-12-02 Werner LEMBERG <wl@gnu.org>
2720 * src/roff/troff/glyphuni.cpp, src/roff/troff/unicode.cpp,
2721 src/roff/troff/unicode.h, src/roff/troff/uniglyph.cpp,
2722 src/roff/troff/uniuni.cpp: Moved to...
2723 * src/libs/libgroff/glyphuni.cpp, src/libs/libgroff/unicode.cpp,
2724 src/libs/libgroff/unicode.h, src/libs/libgroff/uniglyph.cpp,
2725 src/libs/libgroff/uniuni.cpp: Here.
2727 * src/include/Makefile.sub.old (HDRS),
2728 src/libs/libgroff/Makefile.sub (OBJS, CCSRCS),
2729 src/roff/troff/Makefile.sub (HDRS, PBJS, CCSRCS): Updated.
2731 2003-12-01 Keith Marshall <keith.d.marshall@ntlworld.com>
2733 * src/preproc/htlp/pre-html.cpp (__tmpfile): Renamed to
2737 2003-12-01 Werner LEMBERG <wl@gnu.org>
2739 * groff.texinfo: Document special behaviour of `.vs 0'.
2740 Improve documentation of `cflags' request.
2743 2003-11-29 Werner LEMBERG <wl@gnu.org>
2745 * font/devlj4/generate/Makefile (CORONET): Use correct TFM.
2746 * font/devlj4/CORONET: Regenerated.
2748 2003-11-24 Werner LEMBERG <wl@gnu.org>
2750 * src/roff/troff/env.cpp (hyphen_trie::read_patterns_file): Fix loop
2751 if processing hyphenation patterns in traditional mode.
2752 Improve error messages.
2754 2003-11-20 Werner LEMBERG <wl@gnu.org>
2756 * src/roff/troff/node.cpp (troff_output_file::put_char_width,
2757 troff_output_file::put_char): Fix type of local variable `c'.
2759 2003-11-19 Werner LEMBERG <wl@gnu.org>
2761 * src/roff/groff/pipeline.c (P): Removed. Updated all function
2763 (i_to_a): Removed. libgroff already provides this function.
2764 (run_pipeline) [_WIN32]: Don't use itoa but i_to_a.
2766 2003-11-18 Keith Marshall <keith.d.marshall@ntlworld.com>
2768 * src/roff/groff/pipeline.c (xstrsignal): Fix usage of
2771 2003-11-17 Werner LEMBERG <wl@gnu.org>
2773 * COPYING: Use correct version.
2775 2003-11-11 Werner LEMBERG <wl@gnu.org>
2777 LynxOS 4.0.0 doesn't declare vfprintf.
2779 * configure.ac: Check for vfprintf.
2780 * configure: Regenerated.
2781 * src/include/lib.h: Handle `NEED_DECLARATION_VFPRINTF'.
2782 * src/include/config.hin: Regenerated.
2784 2003-11-10 Werner LEMBERG <wl@gnu.org>
2786 LynxOS 4.0.0 has snprintf (without declaration) but no vsnprintf.
2788 * configure.ac: Check for vsnprintf.
2789 * configure: Regenerated.
2790 * src/include/lib.h: Handle `NEED_DECLARATION_VSNPRINTF' and
2792 * src/include/config.hin: Regenerated.
2794 2003-11-09 Werner LEMBERG <wl@gnu.org>
2796 * aclocal.m4: Updated syntax to autoconf 2.59.
2797 (GROFF_HTML_PROGRAMS): Use AC_FOREACH.
2798 Don't check for gsos2.
2799 (GROFF_SRCDIR, GROFF_BUILDDIR): Removed. autoconf 2.59 provides
2800 working abs_top_srcdir and abs_top_builddir.
2802 * configure.ac: Updated syntax to autoconf 2.59.
2803 Don't call GROFF_SRCDIR and GROFF_BUILDDIR.
2804 Replace call to AC_DECL_SYS_SIGLIST with call to AC_CHECK_DECLS.
2805 * configure: Regenerated.
2807 * Makefile.in, doc/Makefile.in: s/@top_srcdir@/@abs_top_srcdir@/,
2808 s/@groff_top_builddir@/@abs_top_builddir@/.
2810 * src/roff/groff/pipeline.c (xstrsignal):
2811 s/SYS_SIGLIST_DECLARED/HAVE_DECL_SYS_SIGLIST/.
2813 2003-11-07 Werner LEMBERG <wl@gnu.org>
2815 * src/devices/grodvi/dvi.cpp (draw_dvi_printer::draw) ['a']: Always
2816 make start angle smaller than end angle to circumvent a bug in tpic
2817 handling of some versions of dvipdfm (and dvipdfmx).
2819 2003-10-30 Werner LEMBERG <wl@gnu.org>
2821 * src/devices/grops/grops.man: Improve section on creating EPS.
2823 2003-10-29 Werner LEMBERG <wl@gnu.org>
2825 * contrib/pic2graph/pic2graph.sh: Fix typo (-P-letter ->
2828 2003-10-28 Werner LEMBERG <wl@gnu.org>
2830 * doc/groff.texinfo: Fix documentation of `.if'.
2832 2003-10-27 Michail Vidiassov <master@iaas.msu.ru>
2834 * src/utils/afmtodit/afmtodit.pl: Handle unmapped characters of
2835 the form `uniXXXX' also.
2837 2003-10-27 Werner LEMBERG <wl@gnu.org>
2839 * contrib/eqn2graph/eqn2graph.sh, contrib/grap2graph/grap2graph.sh,
2840 contrib/pic2graph/pic2graph.sh: Implement secure management of
2842 Pass `-P-pletter' to groff to avoid data outside of the converted
2843 area -- some versions of `convert' (for example 5.3.8) don't check
2844 the bounding box of the image but always use a fixed image size
2845 (letter paper format).
2846 * contrib/eqn2graph/eqn2graph.man, contrib/grap2graph/grap2graph.man,
2847 contrib/pic2graph/pic2graph.man: Updated.
2849 * src/roff/groff/groff.man: Document $TMP and $TEMP.
2851 2003-10-26 Werner LEMBERG <wl@gnu.org>
2853 * src/preproc/pic/troff.cpp (troff_output::simple_circle,
2854 troff_output::simple_ellipse, troff_output::simple_arc,
2855 troff_output::simple_line, troff_output::simple_spline,
2856 troff_output::simple_polygon): Insert a space before arguments.
2857 (troff_output::set_fill): Emit `\&' before `\D'Fg...' since the
2858 latter doesn't produce a node, so the following `.sp -1' would do
2860 Don't emit `.sp -1' after \M. This also doesn't produce a token
2861 (and we don't have to care about compatibility mode).
2862 (troff_output::set_color, troff_output::reset_color): Don't emit
2863 `.sp -1' after \M and \m.
2865 * src/roff/troff/input.cpp (old_have_input): New global variable.
2866 (input_stack::get): Handle `old_have_input'.
2867 (process_input_stack) <token::TOKEN_NEWLINE>: Call
2868 `trapping_blank_line' depending on `old_have_input', not
2871 2003-10-20 Keith Marshall <keith.d.marshall@ntlworld.com>
2873 * src/libs/libgroff/tmpfile.cpp [__MSDOS__, _Win32]
2874 (WIN32_TMPDIR_ENVVAR, MSDOS_TMPDIR_ENVVAR): New macros, providing
2875 default directory names for temporary files.
2876 [__MSDOS__, _Win32] (temp_init::temp_init): Use them.
2878 * src/roff/groff/pipeline.c [__MSDOS__]: Include stdlib.h.
2879 [__MSDOS__] (run_pipeline): Honour environment variables.
2880 Don't use `tmpnam' but `tempnam' to work around messy
2883 * README.MinGW: New file.
2885 2003-10-16 Werner LEMBERG <wl@gnu.org>
2887 * src/preproc/html/pre-html.cpp (write_upto_newline): Don't use
2888 `(*t)->next' without testing validity of `*t'.
2889 (usage): Make it more readable.
2891 2003-10-16 Keith Marshall <keith.d.marshall@ntlworld.com>
2893 Make html device run under both MS-DOS and Win32.
2895 * src/preproc/html/pre-html.cpp (MAY_FORK_CHILD_PROCESS,
2896 MAY_SPAWN_ASYNCHRONOUS_CHILD): New macros to control whether
2897 spawn or fork+exec has to be used, and whether parent must sleep
2898 until the child process terminates. Used in
2899 `char_buffer::run_output_filter'.
2900 (copyofstdoutfd): Removed.
2901 (char_buffer): Replace `write_file_html' and `write_file_troff'
2902 member functions with `emit_troff_output' and `run_output_filter'.
2903 (DEVICE_FORMAT, HTML_OUTPUT_FILTER, IMAGE_OUTPUT_FILTER): New
2905 (replaceFd): Replaced with...
2906 (set_redirection): New auxiliary function.
2907 (waitForChild): Replaced with...
2908 (save_and_redirect): New auxiliary function for.
2910 (char_buffer::do_html, char_buffer::do_image): Simplified, using new
2913 2003-10-14 Keith Marshall <keith.d.marshall@ntlworld.com>
2915 * aclocal.m4 (GROFF_SYS_NERR): Check stdlib.h also.
2916 (GROFF_LIBC): New function.
2917 * configure.ac: Call GROFF_LIBC.
2919 * configure: Regenerated.
2921 * src/include/lib.h: Handle __MINGW32__.
2922 * src/include/nonposix.h [_MSC_VER]: Handle __MINGW32__.
2923 Add macro for `pipe'.
2926 * src/roff/groff/pipeline.c (run_pipeline): Handle `no_pipe'
2929 * src/utils/indxbib/signal.c (handle_fatal_signal) [!HAVE_KILL]:
2932 2003-10-13 Werner LEMBERG <wl@gnu.org>
2934 Finally fix change 2003-08-26, based on ideas from Chuck Silvers
2937 * contrib/mom/Makefile.sub: Use a stamp file in the `examples'
2940 2003-10-12 Werner LEMBERG <wl@gnu.org>
2942 * src/roff/groff/groff.cpp (help), src/devices/grops/ps.cpp (usage),
2943 src/roff/troff/input.cc (usage): Updated.
2945 * NEWS, doc/groff.texinfo: Updated.
2947 2003-10-12 Peter Miller <millerp@canb.auug.org.au>
2949 * src/libs/libgroff/searchpath.cpp
2950 (search_path::open_file_cautious): New function which also handles
2951 `-' as stdin and stdout depending on the access mode.
2952 * src/include/searchpath.h (search_path): Updated.
2954 * src/devices/grops/ps.cpp (main): Handle new `-I' switch.
2955 * src/devices/grops/ps.h: Include `searchpath.h'.
2956 * src/devices/grops/psrm.cpp (resource_manager::supply_resource):
2957 Open resource file with `include_search_path.open_file_cautious'.
2958 * src/devices/grops/grops.man: Document new `-I' switch.
2960 * src/devices/grodvi/dvi.cpp (main), src/devices/grolbp/lbp.cpp
2961 (main), src/devices/grolj4/lj4.cpp (main),
2962 src/devices/grotty/tty.cpp (main): Ignore new `-I' switch.
2964 * src/preproc/soelim/soelim.cpp (include_list_length, include_list):
2966 (include_search_path): New global variable.
2967 (include_path_append): Removed.
2968 (main): Use `include_search_path.command_line_dir' to handle `-I'.
2969 (do_file): Simplify, using new
2970 `include_search_path.open_file_cautious'.
2972 * src/roff/groff/groff.cpp (print_commands): Accept file handle as
2974 (main): Pass arguments to `-I' to both troff and devices.
2975 Improve handling of `-V'.
2976 * src/roff/groff/groff.man: Document changes to -I and -V.
2978 * src/roff/troff/input.cpp (include_search_path): New global
2980 (next_file, source, ps_bbox_request, transparent_file,
2981 process_input_file): Use new
2982 `include_search_path.open_file_cautious'.
2983 (main) Handle `-I' switch.
2984 * src/roff/troff/node.cpp (troff_output_file::really_copy_file):
2985 Use new `include_search_path.open_file_cautious'.
2986 * src/roff/troff/node.h: New extern symbol `include_search_path'.
2987 * src/roff/troff/troff.man: Document new `-I' switch.
2989 2003-09-15 Ruslan Ermilov <ru@FreeBSD.org>
2991 Support multiple calls of .Lb in LIBRARY section.
2993 * tmac/doc-common (doc-in-library-section): New register.
2994 (doc-section-library): New string.
2995 (Sh): Set `doc-in-library-section'.
2997 * tmac/doc-syms (Lb): Insert breaks before and after arguments
2998 if in LIBRARY section.
2999 * tmac/doc.tmac (doc-save-global-vars): Updated.
3000 * NEWS, tmac/groff_mdoc.man: Updated.
3002 2003-09-14 Ruslan Ermilov <ru@FreeBSD.org>
3004 * tmac/doc-common (doc-default-operating-system): New variable.
3007 2003-09-08 Werner LEMBERG <wl@gnu.org>
3009 * tmac/doc.tmac (doc-reset-reference): Handle data for `%I' also.
3011 2003-08-31 Werner LEMBERG <wl@gnu.org>
3013 * contrib/mom/Makefile.sub: Fix last change to make it really work.
3014 * Makefile.comm: Use `test ... ||' in favor of `if test ...; then'.
3015 (install_dev, uninstall_dev): Check whether $(DEVSCRIPTS) and
3016 $(DEVFILES) are not empty.
3017 * Makefile.in: Use `test ... ||' in favor of `if test ...; then'.
3019 2003-08-26 Chuck Silvers <chuq@chuq.com>
3021 * contrib/mom/Makefile.sub (prepare_make_examples): Make it work
3022 with parallel runs of `make'.
3024 2003-08-23 Stephen Gildea <http://www.gildea.com/stephen>
3026 * src/preproc/ref/ref.cpp (reference::compute_sort_key): Always
3027 insert SORT_SEP. With certain combinations of sort specifications,
3028 refer sorted entries in the wrong order. In particular, entries
3029 with a missing field should be be sorted before all entries that
3030 have that field, before refer looks to the next field.
3032 2003-08-23 Werner LEMBERG <wl@gnu.org>
3034 * src/utils/pfbtops/Makefile.sub (LINK.c): Define it so that the
3035 g++ linker is used. Reported by Mark J. Reed
3036 <mark.reed@turner.com>.
3038 2003-08-16 Heinz-Jürgen Oertel <hj.oertel@surfeu.de>
3040 Add key character `x' to tbl which makes tbl call a user-defined
3041 macro on a table cell.
3043 * src/preproc/tbl/table.h (entry_modifier): Add `macro'.
3044 * src/preproc/tbl/table.cpp (block_entry::do_divert): Call
3045 `set_modifier' after printing the compatibility request.
3046 (set_modifier): Print call to `m->macro' if not empty.
3047 * src/preproc/tbl/main.cpp (entry_format::debug_print): Handle
3049 (process_format): Implement cases `x' and `X'.
3050 * src/preproc/tbl/tbl.man, NEWS: Updated.
3052 2003-08-15 Werner LEMBERG <wl@gnu.org>
3054 * doc/groff.texinfo: Minor fixes.
3056 2003-08-09 Werner LEMBERG <wl@gnu.org>
3058 * tmac/an-old.tmac [cR]: Fix redefinition of `bp'.
3060 2003-08-07 Werner LEMBERG <wl@gnu.org>
3062 * doc/Makefile.sub: Not all shells expand wildcards in the `for'
3063 argument list to nothing if there is no file to match. Use `ls' as
3064 a protection, similar to autoconf.
3066 * Makefile.comm (install_dev, uninstall_dev): Protect `for' against
3067 empty argument lists.
3069 * doc/groff.texinfo: Improve documentation how vertical spacing
3070 and line breaks interact.
3073 * tmac/www.tmac: Initialize `www-htmlimage-gap'.
3075 2003-08-03 Werner LEMBERG <wl@gnu.org>
3077 * NEWS, src/devices/grops/grops.man: -b16 is necessary to produce
3078 EPS (using eps2eps or similar programs to compute the bounding box).
3080 2003-07-24 Werner LEMBERG <wl@gnu.org>
3082 * doc/groff.texinfo: Use the new @/ command to avoid overlong lines.
3083 * doc/texinfo.tex: Updated from texinfo 4.6.
3084 * README.CVS: From now on we need texinfo 4.6.
3086 2003-07-23 Werner LEMBERG <wl@gnu.org>
3088 Add requests `dei1' and `ami1' for completeness.
3090 * src/roff/troff/input.cc (calling_mode): Remove
3091 CALLING_DISABLE_COMP.
3092 (comp_mode): New enumeration.
3093 (do_define_string, define_string, define_nocomp_string,
3094 append_string, append_nocomp_string): Updated.
3095 (do_define_macro): Add third parameter.
3096 (define_macro, define_nocomp_macro, define_indirect_macro,
3097 append_macro, append_nocomp_macro, append_indirect_macro): Updated.
3098 (define_indirect_nocomp_macro, append_indirect_nocomp_macro): New
3101 (init_input_requests): Add `dei1' and `ami1'.
3103 * tmac/trace.tmac: Handle de1 and am1.
3104 (de): Improve tracing message.
3105 (am): Add missing `do'.
3108 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
3109 Document new requests.
3111 2003-07-22 Heinz-Jürgen Oertel <hj.oertel@surfeu.de>
3113 Add option -G to .MPIMG to insert a gap between text and the image.
3115 * tmac/www.tmac (www-finish-left-po, www-finish-right-ll,
3116 www-finish-left-ll): Updated.
3117 (www-image-just, www-image-gap, www-htmlimage-gap): New variables.
3118 (MPIMG): Make option -L and -R optional.
3119 Implement option -G.
3121 2003-07-22 Gaius Mulley <gaius@glam.ac.uk>
3123 * src/devices/grohtml/post-html.cpp
3124 (html_printer::do_file_components): Don't use `stdout' as lvalue
3125 since it can be a macro.
3127 2003-07-22 Werner LEMBERG <wl@gnu.org>
3129 * src/libs/libgroff/strerror.c: Include errno.h to be in sync with
3130 the corresponding test in aclocal.m4.
3132 2003-07-21 Werner LEMBERG <wl@gnu.org>
3134 * src/preproc/html/pre-html.cpp (TRANSPARENT): Don't use colour
3135 names but RGB values directly. Otherwise pnmtopng depends on
3136 an external file `rgb.txt' which maps colour names to values.
3138 2003-07-20 Werner LEMBERG <wl@gnu.org>
3140 * aclocal.m4 (GROFF_SYS_ERRLIST): Include stdlib.h for MinGW.
3141 * configure, src/include/config.hin: Regenerated.
3143 * src/libs/libgroff/strerror.c: Include stdlib.h for MinGW.
3145 2003-07-19 Werner LEMBERG <wl@gnu.org>
3147 * PROBLEMS: Add solution for UTF-8 problem with hyphens.
3149 2003-07-18 Werner LEMBERG <wl@gnu.org>
3151 * *.man: Switch to non-compatibility mode temporarily if GNU
3152 syntax extensions are used in the particular man page.
3154 * PROBLEMS: Add solutions for SGR problems.
3156 2003-07-17 Werner LEMBERG <wl@gnu.org>
3158 Don't ignore grotty's command line options if \X'tty: sgr ...' is
3159 used to change the drawing scheme.
3161 * src/devives/grotty/tty.cpp (bold_flag_option,
3162 underline_flag_option, italic_flag_option, reverse_flag_option,
3163 bold_underline_mode_option): New global variables.
3164 (update_options): New function.
3165 (tty_printer::special): Call update_options.
3166 (main): Don't set xxx_flag but xxx_flag_option, then call
3169 2003-07-14 Werner LEMBERG <wl@gnu.org>
3171 Make grotty emit proper Unicode box drawing characters for -Tutf8.
3173 * src/devices/grotty/tty.cpp (START_LINE, END_LINE): New enum
3175 (hline_char, vline_char): New global variables.
3176 (tty_printer::tty_printer): Initialize them.
3177 (tty_printer::draw): Emit START_LINE and END_LINE flags for both
3178 horizontal and vertical lines.
3179 (crossings): New global array.
3180 (tty_printer::end_page): Use it to determine the proper crossing
3181 character for -Tutf8.
3183 2003-07-12 Werner LEMBERG <wl@gnu.org>
3185 * doc/Makefilesub (HTMLDOCFILESALL): New macro.
3186 (HTMLDOCFILES): Revert to `pic.html'.
3187 (CLEANADD, install_html, uninstall_sub): Use HTMLDOCFILESALL.
3189 2003-07-11 Werner LEMBERG <wl@gnu.org>
3191 * doc/pic.ms: Improve documentation of absolute coordinates.
3192 Document absolute positioning of pictures.
3194 * NEWS: Add new pic capability.
3196 2003-07-09 Hartmut Henkel <hartmut_henkel@gmx.de>
3198 * src/libs/libgroff/geometry.cpp (check_output_arc_limits):
3201 2003-07-07 Werner LEMBERG <wl@gnu.org>
3203 Implement support for dashed and dotted ellipses in pic. Based on
3204 a patch from Hartmut Henkel <hartmut_henkel@gmx.de>.
3206 * src/preproc/pic/common.cpp (common_output::ellipse_arc,
3207 common_output::dashed_ellipse, common_output::dotted_ellipse): New
3208 functions. Ellipse arcs are approximated with circle arcs.
3209 * src/preproc/pic/common.h (common_output): Updated.
3210 * src/preproc/pic/tex.cpp (tex_output::ellipse): Use new ellipse
3212 * src/preproc/pic/troff.cpp (simple_output::ellipse): Ditto.
3214 * src/preproc/pic/TODO, src/preproc/pic/pic.man: Updated.
3216 2003-07-06 Werner LEMBERG <wl@gnu.org>
3218 Make grotty work on platforms which have unsigned char as the
3219 default for char. Based on a patch by Thomas Klausner
3222 * src/devices/grotty/tty.cpp (schar): New typedef.
3223 Updated calls to declare_ptable and implement_ptable.
3224 (glyph): Use schar for back_color_idx and fore_color_idx.
3225 (tty_printer): Use schar for curr_fore_idx and curr_back_idx.
3226 (tty_printer::tty_color, tty_printer::tty_printer,
3227 tty_printer::color_to_idx, tty_printer::put_color): Updated.
3229 2003-07-06 Ruslan Ermilov <ru@FreeBSD.org>
3231 * src/roff/nroff/nroff.sh: Add option -d for completeness.
3232 * src/roff/nroff/nroff.man: Updated.
3234 2003-07-05 Werner LEMBERG <wl@gnu.org>
3236 * NEWS, tmac/groff_www.man: Updated.
3237 * doc/Makefile.sub: Updated.
3239 2003-07-05 Gaius Mulley <gaius@glam.ac.uk>
3241 Implement support for multiple HTML output files.
3243 * src/preproc/html/pre-html.cpp (scanArguments): Dummy handling for
3244 -j command line option.
3246 * src/devices/grohtml/post-html.cpp (job_name, multiple_files): New
3248 (file): New fields `new_output_file', `require_links',
3250 (file::file): Updated.
3251 (files::set_file_name, files::set_links_required,
3252 files::are_links_required, files::is_new_output_file,
3253 files::file_name, files::next_file_name): New functions.
3254 (header_desc): New fields `no_of_level_one_headings',
3256 (header_desc::header_desc): Updated.
3257 (header_desc::write_headings): Handle multiple files.
3258 (html_printer::write_header): Save file name in which header occurs.
3259 (html_printer::determine_header_level): Possibly split files on
3261 (html_printer::do_links, html_printer::troff_tag): Updated.
3262 (html_printer::insert_split_file, html_printer::do_job_name,
3263 html_printer::emit_link, html_printer::write_navigation,
3264 html_printer::do_file_components): New functions.
3265 (html_printer::~html_printer): Handle multiple files.
3266 (main): Handle command line option `-j'.
3268 * src/devices/grohtml/grohtml.man: Updated.
3270 * doc/Makefile.sub (pic.html), doc/Makefile.in (pic.html): New rule
3273 * tmac/www.tmac (JOBNAME): New macro.
3274 * tmac/s.tmac (SH-NO-TAG): New macro.
3275 (@SH): Call SH-NO-TAG.
3278 2003-07-05 Ruslan Ermilov <ru@FreeBSD.org>
3280 * tmac/groff_mdoc.man: Improve documentation of punctuation
3283 2003-07-04 Ruslan Ermilov <ru@FreeBSD.org>
3285 * tmac/doc.tmac (Bd): Change to doc-Li-font later.
3287 2003-07-03 Werner LEMBERG <wl@gnu.org>
3289 * tmac/an-old.tmac [cR]: Redefine `bp' to avoid empty lines.
3291 2003-07-01 Ruslan Ermilov <ru@FreeBSD.org>
3293 * tmac/doc.tmac (doc-do-func, doc-do-func-args): Don't print a comma
3294 after `/*' and `*/'.
3296 (Fn, Fo): Reduce indentation in synopsis.
3298 * tmac/doc-common (doc-check-depth): New macro.
3299 (doc-end-macro, Sh, Ss): Use it.
3300 (Cd): Fix behaviour in synopsis.
3301 (In): Make it parsed and callable.
3302 If not in the synopsis, represent the C header file enclosed in
3304 (doc-str-Rv-std-suffix, doc-str-Rv-stds-suffix, doc-str-Rv-std0):
3305 Use minus, not hyphen.
3307 * tmc/groff_mdoc.man: Updated.
3309 2003-07-01 Werner LEMBERG <wl@gnu.org>
3311 Integrated grap2graph, contributed by Eric S. Raymond.
3313 * contrib/grap2graph/{Makefile.sub, grap2graph.sh, grap2graph.man}:
3315 * Makefile.in, NEWS, MANIFEST, contrib/eqn2graph.man,
3316 contrib/pic2graph.man, src/roff/groff/groff.man: Updated.
3318 2003-07-01 Colin Watson <cjwatson@debian.org>
3320 * src/xditview/*.c: Add prototypes, fix return types, add includes.
3321 Based on work by Fumitoshi UKAI <ukai@debian.or.jp>.
3323 2003-06-31 Ruslan Ermilov <ru@FreeBSD.org>
3325 * tmac/tty-char.tmac: Provide `lb', `rb', `lk', `rk', `lt', `rt'.
3327 2003-06-31 Werner LEMBERG <wl@gnu.org>
3329 * doc/Makefile.sub (CLEANADD): Remove all files created by
3330 running `make groff.{pdf,dvi}'.
3332 * Makefile.sub (DISTCLEANFILES): Remove all non-source files from
3335 2003-06-30 Werner LEMBERG <wl@gnu.org>
3337 * Makefile.in (SHELL): Define as @SHELL@.
3338 (mkinstalldirs): Use $(SHELL).
3339 (MDEFINES): Add $(SHELL).
3340 * Makefile.comm (SHELL): Removed.
3342 2003-06-29 Werner LEMBERG <wl@gnu.org>
3344 * tmac/s.tmac (De, Ds): New aliases for .DE and .DS, respectively.
3345 The X11 documentation files use them.
3346 * tmac/groff_ms.man, doc/groff.texinfo: Document them.
3348 2003-06-15 Robert Goulding <goulding@Princeton.EDU>
3350 * tmac/e.tmac (@C): Handle .ad also.
3352 2003-06-12 Werner LEMBERG <wl@gnu.org>
3354 * src/preproc/tbl/tbl.man: Document formatting of text blocks.
3356 * src/roff/troff/input.cc (token::next) <handle_escape_char>:
3357 Assign `n' even here. It is possible to construct a node
3358 immediately following an escape character:
3366 2003-06-10 Werner LEMBERG <wl@gnu.org>
3368 * README.WIN32: Removed.
3369 * MANIFEST: Updated.
3371 2003-06-07 Werner LEMBERG <wl@gnu.org>
3373 * src/roff/nroff/nroff.sh: Don't emit SGR for option -u.
3375 2003-06-05 Werner LEMBERG <wl@gnu.org>
3377 * src/preproc/pic/pic.y <sprintf_args>: Implement workaround for bug
3378 in Compaq C++ V6.5-033 for Compaq Tru64 UNIX V5.1A (Rev. 1885).
3380 2003-06-03 Werner LEMBERG <wl@gnu.org>
3382 * src/preproc/grn/hdb.cpp (DBRead): Don't close file handle; this
3383 is done by the calling function.
3385 2003-05-22 Ruslan Ermilov <ru@FreeBSD.org>
3387 * tmac/X.tmac: Fix definition of `em'.
3389 2003-05-22 Werner LEMBERG <wl@gnu.org>
3391 * src/roff/troff/input.cc (return_macro_request): Fix detection of
3394 2003-05-18 Werner LEMBERG <wl@gnu.org>
3396 * tmac/doc.tmac (doc-tag-list): Force horizontal mode after tag
3397 to make items work which consist only of a tag.
3399 2003-05-17 Werner LEMBERG <wl@gnu.org>
3401 * tmac/doc.tmac (doc-tag-list): Don't use \Z to assure that spaces
3402 aren't stretched in a tag (this can fail with unformatted boxes).
3403 Instead, insert a break and go back one line.
3405 2003-05-16 Werner LEMBERG <wl@gnu.org>
3407 * src/roff/troff/input.cc (return_macro_request): If called with
3408 argument pop macro twice. We need this to trace `return'.
3410 * tmac/trace.tmac: Handle `return'.
3413 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
3416 2003-05-15 Larry Kollar <kollar@alltel.net>
3418 * tmac/groff_ms.man, doc/groff.texinfo: Improve documentation of
3419 registers `FPS', `FVS', and `FPD'.
3421 2003-05-15 Werner LEMBERG <wl@gnu.org>
3423 * src/utils/pfbtops/pfbtops.c (get_text): Handle loop counter
3426 2003-05-03 Ruslan Ermilov <ru@FreeBSD.org>
3428 * tmac/groff_mdoc.man: Slight improvements.
3430 2003-05-03 Werner LEMBERG <wl@gnu.org>
3432 * tmac/doc-common (doc-header): Emit vertical space of 1v instead of
3433 `doc-header-space' after header line if register `cR' is set.
3435 2003-05-02 Werner LEMBERG <wl@gnu.org>
3439 2003-05-01 Ruslan Ermilov <ru@FreeBSD.org>
3441 * tmac/doc-common (Nd): Use \[em].
3443 2003-05-01 Werner LEMBERG <wl@gnu.org>
3445 * tmac/doc-ditroff, tmac/doc-nroff (doc-header-space,
3446 doc-footer-space): Initialize to 0.5i.
3447 (doc-setup-page-layout): Don't set doc-header-space and
3450 2003-04-30 Werner LEMBERG <wl@gnu.org>
3452 * REVISION: Set to 1.
3454 * doc/pic.ms: Document possible problems with `figname'.
3456 2003-04-29 Werner LEMBERG <wl@gnu.org>
3458 Version 1.19 released
3459 =====================
3461 * VERSION: Set to 1.19.
3462 * REVISION: Set to 0.
3463 * doc/groff.texinfo, doc/webpage.ms, NEWS: Updated.
3465 * src/devices/grohtml/post-html.cpp (html_printer::~html_printer):
3466 Define charset as `US-ASCII' in html output.
3468 * tmac/www.tmac (ULE): Add missing scaling indicator.
3470 * win32-diffs: Removed.
3472 2003-04-28 Werner LEMBERG <wl@gnu.org>
3474 * doc/groff.texinfo: Document `dn' and `dl' registers if used with
3476 Document how to insert discardable whitespace with `.ss'.
3478 2003-04-27 Werner LEMBERG <wl@gnu.org>
3480 * src/preproc/pic/tex.cpp (tex_output::start_picture): Make code
3481 work with plain TeX also.
3483 * src/preproc/pic/pic.man, doc/pic.ms: Fix TeX code example.
3485 2003-04-25 Gaius Mulley <gaius@glam.ac.uk>
3487 * src/devices/grohtml/post-html.cpp (html_printer::~html_printer):
3490 2003-04-24 Werner LEMBERG <wl@gnu.org>
3492 * src/preproc/pic/pic.man, doc/pic.ms: Explain how to get a
3493 vbox with positive height and zero depth if in TeX mode.
3495 * NEWS: Document glyph name changes for grodvi and grolj4.
3497 2003-04-23 Werner LEMBERG <wl@gnu.org>
3499 * src/preproc/pic/tex.cpp (tex_output::start_picture): Fix TeX code.
3500 * doc/pic.ms: Fixed.
3502 2003-04-21 Werner LEMBERG <wl@gnu.org>
3504 HP-UX 10.20 has `snprintf' but it isn't declared.
3506 * configure.ac: Add declaration test for snprintf.
3507 * configure: Regenerated.
3508 * src/include/lib.h: Handle `NEED_DECLARATION_SNPRINTF'.
3509 * src/include/config.hin: Regenerated.
3511 2003-04-19 Werner LEMBERG <wl@gnu.org>
3513 Add keyword `figname' to pic, specifying the name of the picture
3514 box in TeX mode. Based on a patch from William J Poser
3515 <wjposer@unagi.cis.upenn.edu>.
3517 * src/preproc/pic/pic.y: New token `FIGNAME'.
3518 (macro_name): New rule of type <str>.
3519 (placeless_element): Handle `FIGNAME'.
3520 * src/preproc/pic/lex.cpp (lookup_keyword): Add `figname'.
3521 * src/preproc/pic/main.cpp (graphname): New global variable.
3522 (do_picture): Initialize `graphname'.
3523 * src/preproc/pic/pic.h: Updated.
3524 * src/preproc/pic/tex.cpp (tex_output::start_picture): Use
3527 (tex_output::text): Beautify output.
3528 * src/preproc/pic/object.cpp (object_spec::~object_spec): Deallocate
3529 `shaded' and `outlined' unconditionally.
3530 * NEWS, src/preproc/pic/pic.man, doc/pic.ms: Updated.
3533 * PROBLEMS, README.CVS: Mention that bison version 1.875b or
3534 greater is necessary.
3536 2003-04-17 Hartmut Henkel <hartmut_henkel@gmx.de>
3538 Add option -r to soelim to avoid emission of `.lf' lines.
3539 Add option -t to produces TeX comment lines instead of `.lf' lines.
3541 * src/preproc/soelim/soelim.cpp: New global variables `raw_flag'
3544 (main): Handle `-r' and `-t'.
3545 (set_location): Handle `raw_flag' and `tex_flag'.
3546 * src/preproc/soelim/soelim.man, NEWS: Updated.
3548 2003-04-17 Werner LEMBERG <wl@gnu.org>
3550 * tmac/hyphenex.sh: Replaced with...
3551 * tmac/hyphenex.pl: This perl script to avoid sed compatibility
3554 * aclocal.m4 (GROFF_HTML_PROGRAMS): Emit useful warning message
3555 if --quiet is used for the configure script.
3556 * configure: Regenerated.
3558 2003-04-16 Werner LEMBERG <wl@gnu.org>
3560 * src/devices/grohtml/post-html.cpp (text_glob::text_glob):
3561 Add `const' to second argument.
3562 (html_printer::add_table_end): Add `const' to argument.
3563 * src/devices/grohtml/html-text.cpp (html_text::issue_tag): Add
3564 `const' to arguments.
3565 * src/devices/grohtml/html-text.h: Updated.
3567 * src/devices/grolbp/charset.h (symset): Use `unsigned char'.
3568 * src/devices/grolbp/lbp.h (lbpputc): Use `unsigned char' for
3571 * src/devices/grotty/tty.cpp (tty_printer::make_rgb_string): Use
3572 cast for integer constant.
3574 * src/preproc/html/pre-html.cpp (image_device): Use `const'.
3575 (writeNbytes): Add `const' to first argument.
3576 (writeString): Add `const' to argument.
3577 (char_buffer::can_see): Add `const' to third argument.
3578 * src/preproc/html/pushback.cpp (pushBackBuffer::isString): Add
3579 `const' to argument.
3580 * src/preproc/html/pushback.h: Updated.
3582 * src/preproc/soelim/soelim.cpp (include_list): Add `const'.
3583 (include_path_append): Add `const' to argument.
3586 * src/roff/troff/uniglyph.cpp (unicode_to_glyph_list): Use `const'
3588 (unicode_to_glyph_init::unicode_to_glyph_init): Updated.
3589 * src/roff/troff/uniuni.cpp (unicode_decompose_list): Use `const'
3591 (unicode_decompose_init::unicode_decompose_init): Updated.
3592 * src/roff/troff/glyphuni.cpp (glyph_to_unicode_list): Use `const'
3594 (glyph_to_unicode_init::glyph_to_unicode_init): Updated.
3595 * src/roff/troff/input.cc (process_startup_file): Add `const' to
3598 * tmac/hyphenex.sh: Make script more portable by using a here
3601 2003-04-15 Werner LEMBERG <wl@gnu.org>
3603 Renamed all `*.cc' files to `*.cpp'.
3604 Updated all configuration files, makefiles, and documentation.
3606 2003-04-14 Werner LEMBERG <wl@gnu.org>
3608 * tmac/hyphenex.sh: Slight improvements.
3610 2003-04-13 Werner LEMBERG <wl@gnu.org>
3612 * font/devascii/R.proto, font/devcp1037/R.proto,
3613 font/devlatin1/R.proto, font/devutf8/R.proto: Fill up remaining
3614 character slots with unnamed glyphs.
3616 * tmac/an-old.tmac: Fix hyphenation value if `cR' is active.
3617 (an-first): New global variable.
3618 (an-header): Emit vertical space between multiple man pages.
3620 2003-04-11 Werner LEMBERG <wl@gnu.org>
3622 * doc/groff.texinfo, man/groff_out.man: \S only accepts integer
3625 2003-04-10 Werner LEMBERG <wl@gnu.org>
3627 * PROBLEMS: Revised.
3629 2003-04-10 Bernd Warken <bwarken@mayn.de>
3631 * doc/webpage.ms: Improved.
3633 2003-04-09 Werner LEMBERG <wl@gnu.org>
3635 Add register \n[.height] which returns the value of \H.
3636 Add register \n[.slant] which returns the value of \S.
3638 * src/roff/troff/env.cc (init_env_requests): Implement.
3639 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
3642 2003-04-08 Werner LEMBERG <wl@gnu.org>
3644 * tmac/html.tmac: Move some of the data into html-end.tmac.
3645 Remove most of the character translations for eqn since html fonts
3646 now cover those characters.
3648 * tmac/html-end.tmac: New file.
3649 * tmac/troffrc: Load html.tmac not www.tmac for -Thtml.
3650 * tmac/troffrc-end: Load html-end.tmac not html.tmac for -Thtml.
3651 * tmac/Makefile.sub (NORMALFILES): Add html-end.tmac.
3653 2003-04-07 Werner LEMBERG <wl@gnu.org>
3655 * man/groff_out.man: Document negative values of `N' if -Thtml is
3658 2003-04-06 Werner LEMBERG <wl@gnu.org>
3660 * Makefile.comm (depend.temp): Check location of YTABC.
3662 2003-04-05 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
3664 * contrib/mom/Makefile.sub (GROFFBIN): New variable for groff
3666 (groff_bin_path): Rename to GROFF_BIN_PATH.
3667 (GROFF): Use GROFFBIN and GROFF_BIN_PATH.
3668 * doc/Makefile.in (TROFFBIN): New variable for troff
3670 (GROFFBIN): New variable for groff binary path.
3671 (groff_bin_path): Rename to GROFF_BIN_PATH.
3672 (TROFF): Use TROFFBIN.
3673 (GROFF): Use GROFFBIN and GROFF_BIN_PATH.
3674 * doc/Makefile.sub (GROFFBIN): New variable for groff
3676 (groff_bin_path): Rename to GROFF_BIN_PATH.
3677 (GROFF): Use GROFFBIN and GROFF_BIN_PATH.
3679 * Makefile.comm (install_dev): Install scripts from DEVSCRIPTS
3680 with INSTALL_SCRIPT.
3681 (uninstall_dev): Uninstall scripts from DEVSCRIPTS.
3682 * Makefile.dev (all): Depend on DEVSCRIPTS.
3683 (install_dev): Likewise.
3684 * font/devdvi/Makefile.sub (DEVSCRIPTS): New variable to hold
3686 * font/devps/Makefile.sub (DEVSCRIPTS): Likewise.
3687 (DEVGENSCRIPTS): New variable to hold generated scripts.
3689 2003-04-05 Werner LEMBERG <wl@gnu.org>
3691 * src/libs/libdriver/input.cc (IntArray::operator[],
3692 IntArray::get_data): Remove meaningless `const' in return value.
3694 * README.CVS: New file.
3696 2003-04-04 Werner LEMBERG <wl@gnu.org>
3698 Check for stdint.h in C++, not in C.
3700 * aclocal.m4 (GROFF_STDINT_H): New function,
3701 * configure.ac: Check for stdint.h with GROFF_STDINT_H instead of
3703 * configure, src/include/config.hin: Regenerated.
3704 * src/libs/libgroff/tmpname.cc: Use HAVE_CC_STDINT_H.
3707 Fix handling of in grohtml. To do this, troff emits `N'
3708 with a negative value, representing the width of the unbreakable
3709 space (only for -Thtml). grohtml then converts this back to
3710 and uses the value of N as its width.
3712 * src/roff/troff/node.cc (space_char_hmotion_node::tprint,
3713 unbreakable_space_node::tprint): Emit `N-<width>'.
3714 * src/include/printer.h (printer::set_numbered_char): Make it
3716 Make members `font_table' and `nfonts' protected instead of private.
3717 * src/devices/grohtml/post-html.cc
3718 (html_printer::set_numbered_char): New member function.
3721 * src/libs/libgroff/maxfilename.cc:
3722 s/HAVE_LIMITS_H/HAVE_CC_LIMITS_H/.
3724 * src/roff/troff/node.cc (unbreakable_space_node::tprint): Don't
3727 2003-04-03 Sergey A. Osokin <osa@freebsd.org.ru>
3729 * man/roff.man: Small fixes.
3731 2003-04-03 Werner LEMBERG <wl@gnu.org>
3733 Make groff independent from locale's numeric settings.
3735 * configure.ac: Check for `setlocale'.
3736 * configure, src/include/config.hin: Regenerated.
3738 * src/include/lib.h: Handle HAVE_SETLOCALE.
3740 * src/devices/grodvi/dvi.cc (main), src/devices/grolj4/lj4.cc
3741 (main), src/devices/grops/ps.cc (main), src/preproc/grn/main.cc
3742 (main), src/preproc/pic/main.cc (main): Call `setlocale'.
3745 * doc/groff.texinfo: Change dir category to `Typesetting'.
3746 (Man font macros): Mention that there is no space between arguments
3749 * src/libs/libdriver/printer.cc, src/devices/grotty/tty.cc
3750 (*printer::change_color, *printer::change_fill_color): Add missing
3753 2003-04-02 Werner LEMBERG <wl@gnu.org>
3755 * src/devices/grohtml/html-table.cc (html_table::emit_col,
3756 html_table::is_gap): Compute table widths after converting border
3757 positions to avoid rounding errors.
3759 2003-04-01 Werner LEMBERG <wl@gnu.org>
3761 * src/devices/grohtml/html-text.cc (html_text::do_space): Handle
3762 `space_emitted' properly.
3764 2003-03-31 Werner LEMBERG <wl@gnu.org>
3766 * src/devices/grohtml/html-table.cc: Fix column width calculation.
3767 (html_table::set_linelength): Don't add 1.
3768 (html_table::add_indent): Don't subtract 1.
3770 * tmac/html.tmac: Set default page offset to zero.
3772 2003-03-30 Werner LEMBERG <wl@gnu.org>
3774 Make groff emit ` ' for `\ ' and `\~' if `-Thtml' is used.
3776 * src/roff/troff/node.cc (space_char_hmotion_node::tprint,
3777 unbreakable_space_node::tprint): New functions.
3778 (troff_output_file): Make space_char_hmotion_mode::tprint and
3779 unbreakable_space_node::tprint to friends.
3780 * src/roff/troff/node.h: Updated.
3782 * font/devhtml/R.proto: Add ` ' at position 0xA0 (as defined
3783 in the HTML standard).
3785 2003-03-29 Werner LEMBERG <wl@gnu.org>
3787 * src/roff/troff/env.cc (point_size): Fix emission of html tag.
3788 Otherwise, the following code
3797 produces `x a' instead of `xa'. This is a temporary fix, disabling
3798 font changes in diversions for -Thtml.
3800 * tmac/an-old.tmac (TH, SH): Use `HTML-TAG-NS' instead of
3802 (an-do-tag-html): Merge with ...
3803 (an-do-tag): This macro.
3804 Change code slightly to circumvent grohtml bug.
3805 * tmac/troffrc-end: Define dummy for HTML-TAG-NS.
3807 * src/devices/grohtml/html-table.cc (html_table::emit_col,
3808 html_table::is_gap): Round `width' properly.
3810 * tmac/html.tmac: Provide some default layout parameters for
3813 * font/devhtml/DESC.proto: Don't use discrete values for `sizes'
3816 2003-03-28 Werner LEMBERG <wl@gnu.org>
3818 src/devices/grops/ps.cc (ps_printer::do_import): Fix error message.
3820 2003-03-27 Werner LEMBERG <wl@gnu.org>
3822 * tmac/an-old.tmac (BT): Don't call .tl if register `ps4html' is
3825 2003-03-20 Werner LEMBERG <wl@gnu.org>
3827 * src/roff/troff/env.cc (vertical_spacing): Allow zero value for
3829 * doc/groff.texinfo: Updated.
3831 2003-03-19 Werner LEMBERG <wl@gnu.org>
3833 * src/roff/troff/input.cc (process_input_stack) <TOKEN_BEGIN_TRAP,
3834 TOKEN_END_TRAP>: Reset `have_input'.
3836 2003-03-18 Werner LEMBERG <wl@gnu.org>
3838 * src/roff/groff/groff.man: Mention groff_trace man page.
3840 2003-03-16 Werner LEMBERG <wl@gnu.org>
3842 * Makefile.in (LIBEXT): New variable to indicate the file extension
3843 of library files. Computed heuristically from $(OBJEXT).
3844 (MDEFINES): Add $(LIBEXT).
3845 * Makefile.lib, Makefile.comm: Use it.
3847 * src/utils/pfbtops/pfbtops.c (get_text): New function. Split
3848 overlong lines into smaller chunks.
3849 (get_binary): New function.
3851 * src/utils/pfbtops/pfbtops.man: Updated.
3853 2003-03-15 Colin Watson <cjwatson@debian.org>
3855 * src/roff/groff/groff.man: Minor syntax fix.
3857 2003-03-14 Egil Kvaleberg <egil@kvaleberg.no>
3859 * src/devices/grops/ps.cc (ps_printer::media_set,
3860 ps_printer::~ps_printer): Handle zero paper width and length.
3862 2003-03-13 Werner LEMBERG <wl@gnu.org>
3864 Add options -p and -l to grodvi.
3866 * src/devices/grodvi/dvi.cc: Include paper.h.
3867 (landscape_flag, user_paper_length, user_paper_width): New global
3869 (dvi_printer::begin_page): Emit `papersize' special.
3870 Set color after initialization of `cur_h' and `cur_v'.
3871 (main): Add options `-l' and `-p'.
3872 * font/devdvi/Makefile.sub (DESC): Set `papersize'.
3873 * src/devices/grodvi/grodvi.man, NEWS: Updated.
3875 * src/devices/grops/psrm.cc (valid_input_table): Fixed.
3877 2003-03-12 Werner LEMBERG <wl@gnu.org>
3879 * src/devices/grops/grops.man: Move documentation of .PSPIC to...
3880 * man/groff_tmac.man: This man page.
3881 * man/groff_font.man: Declare `paperwidth' and `paperlength' as
3884 * tmac/X.tmac: Don't load pspic.tmac.
3886 2003-03-11 Werner LEMBERG <wl@gnu.org>
3888 Make variable `pr' local to libdriver/input.cc. Based on a patch
3889 by Bernd Warken <bwarken@mayn.de>.
3891 * src/include/driver.h (pr): Removed.
3893 * src/libs/libdriver/input.cc (pr): New global variable.
3894 (do_file): Deallocate `pr'.
3895 * src/libs/libdriver/printer.cc (pr): Removed.
3897 * src/devices/grodvi/dvi.cc (main), src/devices/grohtml/post-html.cc
3898 (main), src/devices/grolbp/lbp.cc (main), src/devices/grolj4/lj4.cc
3899 (main), src/devices/grops/ps.cc (main), src/devices/grotty/tty.cc
3900 (main): Don't delete `pr'.
3902 2003-03-10 Werner LEMBERG <wl@gnu.org>
3904 * tmac/a4.tmac, tmac/composite.tmac: Use `.do'.
3905 * tmac/papersize.tmac: New file.
3906 * tmac/troffrc: Include `papersize.tmac'.
3907 * tmac/Makefile.sub (NORMALFILES): Add `papersize.tmac'.
3908 * tmac/an-old.tmac: Set LT to LL by default.
3910 * NEWS, MANIFEST, tmac/groff_man.man, man/groff_tmac.man,
3911 doc/groff.texinfo: Updated.
3913 * src/libs/libgroff/paper.cc (add_iso_paper): Fix very embarassing
3914 bug which caused all odd iso papers to have wrong dimensions.
3916 * src/devices/grops/ps.cc (user_paper_width): New global variable.
3917 (main) <'p'>: Set `user_paper_width' also.
3918 (ps_printer::media_width, ps_printer::media_height): Use values
3919 given with option `-p'.
3921 2003-03-09 Werner LEMBERG <wl@gnu.org>
3923 * src/include/nonposix.h: Provide default for SET_BINARY.
3925 * src/devices/grodvi/dvi.cc, src/devices/grolbp/lbp.cc,
3926 src/devices/grolj4/lj4.cc, src/devices/grops/ps.cc: Call SET_BINARY
3929 * src/utils/pfbtops/pfbtops.c: Call SET_BINARY unconditionally.
3930 (main): Treat \r\n as \n.
3932 2003-03-08 Werner LEMBERG <wl@gnu.org>
3934 * tmac/an-old.tmac: Use register `HY' to control hyphenation.
3935 * NEWS, tmac/groff_man.man, doc/groff.texinfo: Document it.
3937 2003-03-07 Werner LEMBERG <wl@gnu.org>
3939 Added support to access more than 256 glyphs in Type 1 fonts.
3941 * src/devices/grops/ps.cc (subencoding): New structure.
3942 (style): Add `sub' field.
3944 (ps_printer): Add `subencodings' and `next_subencoding_index' fields.
3945 Add `set_subencoding', `get_subfont' and `encode_subfont' member
3948 (ps_printer::set_char): Use `set_subencoding'.
3949 (make_subencoding_name): New function.
3950 (ps_printer::set_style): Handle case where `sty.sub' is not zero.
3951 (ps_printer::~ps_printer): Emit subencoding definitions.
3953 * src/devices/grops/psrm.cc (valid_input_table): New array to
3954 properly support EBCDIC.
3955 (white_space): Add `\f'.
3956 (ps_get_line): Change first argument to be of type `string &'.
3957 Updated all callers.
3958 This allows to get lines of arbitrary length.
3959 Use `valid_input_table'.
3960 Remove warning about non-conforming PS line length. This seems
3961 not to be of great importance -- for example, dvips don't emit
3963 (PS_LINE_MAX): Removed.
3964 (matches_comment): Change first argument to be of type `string &'.
3966 * src/devices/grops/grops.man, src/devices/grops/TODO: Updated.
3968 * src/utils/afmtodit/afmtodit.pl (%unicode_decomposed,
3969 %AGL_to_unicode, %default_ligatures): New hash tables.
3970 Read all map entries.
3971 Add unencoded characters.
3972 Check for default ligatures if there are no `L' entries.
3973 Print all kern entries.
3974 Print all characters in charset.
3975 * src/utils/afmtodit/afmtodit.man: Updated.
3977 * font/devps/*: Regerated all fonts.
3979 * tmac/latin[129].tmac, tmac/cp1047.tmac: Don't test for existence
3980 of characters, just use `.trin'. Otherwise the mapping depends
3981 on the font encoding.
3982 * tmac/ps.tmac: Add `fi' and `fl'.
3983 Improve `Fi' and `Fl'.
3984 * tmac/X.tmac, tmac/lbp.tmac, tmac/tty.tmac: Improve `Fi' and `Fl'.
3985 * tmac/Xps.tmac: Fix `em'.
3989 2003-03-04 Werner LEMBERG <wl@gnu.org>
3991 * src/roff/troff/input.cc (charinfo_to_node_list): Reset
3994 2003-03-03 Werner LEMBERG <wl@gnu.org>
3996 * Makefile.sub (DISTCLEANFILES): Add gxditview._man.
3998 * font/devps/generate/textmap: Remove entry `similarequal'.
3999 * font/devps/symbolmap: Updated.
4001 2003-03-02 Werner LEMBERG <wl@gnu.org>
4003 * src/libs/libgroff/font.cc (font::load): Fix error message for
4006 * src/devices/grops/grops.man: Improve documentation of the -b
4009 * tmac/tty.tmac: Load latin1.tmac for all TTY devices except
4010 `ascii' and `cp1047'.
4012 2003-03-01 Werner LEMBERG <wl@gnu.org>
4014 Document composite glyphs and the `composite' request.
4016 * man/groff.man, man/groff_diff.man, doc/groff.texinfo: Do it.
4018 2003-02-28 Werner LEMBERG <wl@gnu.org>
4020 * font/devdvi/generate/ec.map: Add some more Unicode entities.
4021 * font/devdvi/*EC: Updated.
4023 * tmac/composite.tmac, tmac/latin2.tmac, tmac/latin9.tmac: New files.
4024 * tmac/latin1 (latin1-tr): Undo any previous mapping.
4025 * tmac/troffrc: Load `composite.tmac'.
4026 * tmac/Makefile.sub (NORMALFILES): Updated.
4028 * doc/groff.texinfo (Input Encodings): New section.
4031 2003-02-27 Werner LEMBERG <wl@gnu.org>
4033 * doc/texinfo.tex: New version 2003-02-11.06.
4035 * tmac/doc-common (Dt): Don't emit warning for unknown section.
4036 * tmac/groff_mdoc.man: Fix description of `Dt'.
4038 2003-02-26 Egil Kvaleberg <egil@kvaleberg.no>
4040 * font/devps/prologue.ps: Fix for included Postscript that does
4041 a setpagedevice -- which is now safely ignored.
4045 * src/devices/grops/ps.cc: Now sets the page size in the generated
4046 document. This is done in two ways: Via a %%-comment for gv and
4047 the like, and via a PageSize and setpagedevice for programs that
4048 understands Postscript proper, like ps2pdf.
4050 * src/devices/grops/ps.h: New broken-flag to avoid page size
4051 definition, if required.
4053 * src/devices/grops/grops.man: New broken-flag 16 mentioned.
4055 * doc/Makefile.in: Added -nosetpage flag (via @pnmtops_nosetpage@).
4056 Not really necessary due to the fix in prologue.ps, but cleaner:
4057 Such information does not belong in an .eps file.
4059 * doc/Makefile.sub: See doc/Makefile.in.
4061 2003-02-26 Ralph Corderoy <ralph@inputplus.co.uk>
4063 * aclocal.m4 (GROFF_PNMTOPS_NOSETPAGE): Use P2 format for testing
4064 instead of P1 since the latter is broken in some versions of netpbm.
4065 * configure: Updated.
4067 2003-02-26 Larry Kollar <kollar@alltel.net>
4069 Make man pages more customizable.
4071 * tmac/an-old.tmac (FT): New register holding footer distance from
4073 (HF): New string holding the default heading font.
4074 (TH): Handle registers `IN' and `SN' set on the command line.
4076 (PT, BT): New strings to customize header and footer lines.
4077 (an-header, an-footer): Use them.
4079 * tmac/groff_man.man: Document changes.
4081 * doc/groff.texinfo: Document man changes.
4082 Document Ultrix extensions of man.
4084 2003-02-26 Werner LEMBERG <wl@gnu.org>
4086 * src/roff/troff/input.cc (do_width, do_if_request): Reset
4087 `have_input' after changing back to old environment.
4089 * src/devices/grolbp/lbp.cc (lbp_printer::set_line_thickness): Move
4090 function up to be defined before first call. This is necessary to
4091 avoid a compilation problem with Sun's WorkShop 6 C++ compiler.
4093 * src/utils/afmtodit/afmtodit.pl: Make script search for files in
4094 the default font directory also. Based on a patch from James
4095 J. Ramsey <jjramsey_6x9eq42@yahoo.com>.
4096 * src/utils/afmtodit/Makefile.sub (afmtodit): Handle @FONTDIR@.
4097 * src/utils/afmtodit/afmtodit.man: Document it.
4101 * tmac/groff_man.man, doc/groff.texinfo: Many minor fixes.
4103 2003-02-25 Gaius Mulley <gaius@glam.ac.uk>
4105 * aclocal.m4 (GROFF_HTML_PROGRAMS): Add test for pnmtops.
4106 (GROFF_PNMTOPS_NOSETPAGE): New macro.
4107 * configure.ac: Use it.
4108 * configure: Regenerated.
4109 * Makefile.in: Updated.
4111 * tmac/Makefile.sub (NORMALFILES): Remove www.tmac.
4112 (CLEANADD): Add www.tmac-sed.
4113 (pnmtops_nosetpage): Define default.
4114 (install_data): Handle www.tmac-sed and substitute
4115 @PNMTOPS_NOSETPAGE@.
4116 (stamp-sed): Add www.tmac.
4117 * tmac/www.tmac: Rewritten, based on a patch by Bernd Warken.
4118 It now breaks URLs at suitable places.
4119 (www:substring_ok): New register set by...
4120 (www:@test_substring): New macro.
4121 (www:error): New alias to www-error.
4122 (www:lenstr, www:splitstr, www:url_breaks, www:url_breaks_splitted):
4124 (URL): Use www:url_breaks.
4125 (PIMG, MPIMG): Use @PNMTOPS_NOSETPAGE@.
4126 (CDS, CDE): New macros.
4128 2003-02-25 Werner LEMBERG <wl@gnu.org>
4130 * src/devices/grops/ps.cc (ps_printer::define_encoding): Avoid
4133 2003-02-24 Werner LEMBERG <wl@gnu.org>
4135 Contrary to the PCL5 Developer's Guide, the ascenders in TFM files
4136 can be negative also.
4138 * src/utils/hpftodit/hpftodit.cc (char_info): `ascent' must be
4140 (read_char_table): Avoid negative ascenders.
4141 (output_charset): Add cast.
4142 * font/devlj4/*: Regenerated.
4144 Replace unnamed glyphs for DVI fonts with `uXXXX' glyph names where
4147 * font/devdvi/generate/{tc,texttt,ec,texmi,texsy,textex}.map: Do it.
4148 * font/devdvi/generate/textex.map: Map glyph 23 to `u21C6' instead
4150 * font/devdvi/*: Regenerated.
4152 Map `la' and `ra' to U+27E8 and U+27E9. These two characters have
4153 normal width, while the previously used characters (U+2329 and
4154 U+232A) are classified as wide due to canonical equivalence with the
4155 CJK punctuation characters U+3008 and U+3009.
4157 * font/devutf8/R.proto: Updated.
4158 * src/roff/troff/uniglyph.cc, src/roff/troff/glyphuni.cc: Ditto.
4160 * man/groff_char.man: Simplify handling of table traps by
4161 introducing `start block' and `end block' macros.
4162 (Ns, Ne, 2s, 2e, Ds, De): New macros.
4163 (DL): Make it work with Unix troff also.
4164 Fix code values of `la' and `ra'.
4166 * tmac/dvi.tmac: Define `<>' for CW and CWI.
4168 2003-02-23 Gaius Mulley <gaius@glam.ac.uk>
4170 * src/devices/grohtml/post-html.cc (element_list::~element_list):
4171 New destructor, fixing a major memory leak.
4173 2003-02-22 Werner LEMBERG <wl@gnu.org>
4175 * font/devhtml/R.proto, font/devutf8/R.proto: Flip `*f' and `+f'
4176 to be in conformance with Unicode 3.0 and newer.
4178 * font/devlj4/generate/text.map: Add `Eu'.
4179 * font/devlj4/generate/special.map: Flip `*e' and `+e'.
4180 * font/devlj4/S: Regenerated.
4182 * man/groff_char.man: Completely rewritten.
4184 * doc/groff.texinfo: Fix description of request and macro arguments.
4186 2003-02-20 Gaius Mulley <gaius@glam.ac.uk>
4190 * src/devices/grohtml/html-table.cc (html_table::~html_table):
4191 Deallocate `columns' list.
4192 * src/devices/grohtml/post-html.cc (char_block::~char_block):
4194 (text_glob::text_glob_html, text_glob::text_glob_special,
4195 text_glob::text_glob_line, text_glob::text_glob_auto_image,
4196 text_glob::text_glob_tag): Avoid memory leaks.
4197 (text_glob::remember_table): Free memory before reassigning.
4199 2003-02-19 Werner LEMBERG <wl@gnu.org>
4201 Add glyph `+e', greek lunate epsilon symbol, and `-h' (with the
4202 alias `hbar'), the Planck constant over two pi.
4204 * font/devdvi/generate/texmi.map: Use `*e' for position 15 and
4205 `+e' for position 34.
4206 * font/devdvi/generate/texsy.map: Replace `DI' and `HE' with
4207 `u2662' and `u2661'.
4208 * font/devdvi/{MI,S}: Regenerated.
4209 * font/devhtml/R.proto, font/devutf8/R.proto: Add `+e', `-h', `hbar'.
4210 * font/devlbp/*: Add `hbar' alias.
4211 * font/devlj4/generate/special.map: Ditto.
4212 * font/devlj4/S: Regenerated.
4213 * font/devps/generate/symbolchars: Add `+e'.
4214 * font/devps/generate/textmap: Fix PS name for `-h'.
4216 * font/devps/symbolmap: Regenerated.
4218 * src/devices/grops/ps.cc (transform_fill): Removed since unused.
4220 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `+e',
4222 * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `+e',
4225 * tmac/X.tmac, tmac/ps.tmac: Provide definitions for `-h' and
4227 * tmac/tty-char.tmac: Add `+e'.
4229 2003-02-17 Werner LEMBERG <wl@gnu.org>
4231 Another round trying to really fix problems with `have_input'.
4233 * src/roff/troff/input.cc (input_stack::get): Handle `have_input'.
4234 (token::next) <'\n'>, <\'\n'>: Don't handle `have_input'.
4236 * src/devices/grotty/tty.cc (tty_printer::put_color): Fix color
4237 handling if both foreground and background colors are default.
4239 * doc/groff.texinfo (Debugging): Document .lf differences to
4242 2003-02-16 Werner LEMBERG <wl@gnu.org>
4244 * src/devices/grotty/tty.cc (tty_printer::make_rgb_string): Avoid
4245 null-bytes in created string.
4247 * src/roff/troff/input.cc (lookup_color, interpolate_macro,
4248 alias_macro, lookup_request): Improve warning messages.
4250 * src/roff/troff/node.cc (suppress_node::tprint): Use `strsave',
4252 Free `last_image_filename'.
4254 * src/preproc/html/pre-html.cc (char_block::char_block): Initialize
4256 (imageList::createPage, imageList::createImage): Use `free', not
4258 (imageItem::~imageItem): Free `imageName'.
4259 (addRegDef): Use `strsave', not `strdup'.
4260 (get_resolution): Free `pathp'.
4262 2003-02-15 Werner LEMBERG <wl@gnu.org>
4264 * src/devices/grotty/tty.cc (tty_printer::tty_printer): Fix pointer
4267 2003-02-14 Werner LEMBERG <wl@gnu.org>
4269 Add memory management for colors to deallocate unnamed colors
4272 * src/include/color.h (color): New members `free_list' and `next'.
4273 New member functions `new' and `delete'.
4275 * src/libs/libgroff/color.cc: Implement it.
4277 * src/libs/libgroff/font.cc (font::add_kern): Use integer cast
4278 for array size of new operator.
4280 * src/libs/libdriver/input.cc (IntArray::operator[]): Remove
4281 redundant comparison.
4283 * src/roff/troff/input.cc (word_space_node::reread,
4284 hmotion_node::reread): Avoid warning about unused parameter.
4285 (reset_output_registers): Remove redundant parameter.
4286 (define_color): Undo change 2003-02-12.
4288 * src/roff/troff/reg.h: Updated.
4290 * src/roff/troff/node.cc (troff_output_file::really_print_line,
4291 output_file::put_filename, real_output_file::really_put_filename,
4292 ascii_output_file::really_print_line,
4293 break_char_node::get_hyphen_list): Avoid warning about unused
4295 (suppress_node::tprint): Updated.
4297 * configure.ac: Check declaration for rand() and srand().
4298 * configure: Regenerated.
4300 * src/preproc/pic/pic.h: Declare fmod(), rand(), and srand()
4302 * src/preproc/pic/pic.y: Remove declaration of fmod(), rand(),
4305 * src/preproc/eqn/delim.cc (delim_table): Add missing initializers
4306 to avoid compiler warnings.
4308 * src/preproc/grn/hgraph.cc (HGPrintElt): Second parameter is
4311 * src/devices/grops/ps.cc (ps_printer::set_char): Last parameter
4313 * src/devices/grops/psrm.cc (skip_possible_newline): Remove first
4315 Updated all callers.
4317 * src/devices/grotty/tty.cc (tty_printer::set_char): Last parameter
4319 * src/devices/grodvi/dvi.cc (dvi_printer::set_char): Ditto.
4320 * src/devices/grolj4/lj4.cc (lj4_printer::set_char): Ditto.
4322 * src/devices/grohtml/post-html.cc (html_printer::emit_line):
4323 Parameter is unused.
4324 (html_printer::add_table_end): Define parameter conditionally.
4325 * src/devices/grohtml/output.cc (simple_output::special): Parameter
4328 * src/devices/grolbp/lbp.cc: Define _GNU_SOURCE conditionally.
4329 (lbp_printer::set_char): Last parameter is unused.
4331 * src/utils/indxbib/indxbib.cc (main): Remove redundant comparison.
4333 2003-02-13 Werner LEMBERG <wl@gnu.org>
4335 New commands \D'Fr ...', \D'Fc ...', etc. for orthogonality.
4336 Make \D'f ...' move horizontally again for backwards compatibility.
4337 Replace it with \D'Fg ...' where appropriate to avoid dependency
4338 on horizontal resolution.
4340 * src/roff/troff/input.cc (do_get_long_name): New function.
4341 (get_long_name): Call it.
4343 (read_draw_node): Handle `\D'Fx ...' by calling ...
4344 (read_color_draw_node): New function.
4346 (read_rgb, read_cmy, read_cmyk, read_gray): New optional argument
4348 Pass it to `do_get_long_name' which is used instead of
4351 * src/libs/libdriver/input.cc (color_from_Df_command): Remove
4352 unnecessary value guard.
4353 (parse_D_command) <'f'>: Add horizontal shift.
4355 * src/preproc/grn/hgraph.cc (HGPrintElt) <POLYGON>: Use \D'Fg ...'.
4356 * src/preproc/pic/troff.cc (troff_output::set_fill): Ditto.
4357 (FILL_MAX): Removed.
4359 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
4362 2003-02-12 Werner LEMBERG <wl@gnu.org>
4364 * src/roff/troff/input.cc (do_name_test, do_expr_test,
4365 do_zero_width): Push `\n' if closing delimiter is missing.
4367 (token::next) <ESCAPE_NEWLINE>, <'\n'>, <\'\n'>: Reset `have_input'.
4368 <'F'>: Make \F non-transparent at the beginning of line.
4369 (process_input_stack) <token::TOKEN_CHAR, token::TOKEN_NEWLINE,
4370 token::TOKEN_REQUEST, token::TOKEN_BEGIN_TRAP>: Don't handle
4373 (define_color): Free color in case of reassignment.
4375 * doc/groff.texinfo (@Defesc, @DefescList, @DefescItem,
4376 @DefescListEnd): Use @Var, not @var.
4379 * src/preproc/grn/hgraph.cc (HGPrintElt): Fix typo.
4381 * src/preproc/pic/object.cc (object_spec::~object_spec): Free
4382 `shaded' and `outlined' arrays.
4383 (object_spec::object_spec): Initialize `shaded' and `outlined'.
4384 (graphic_object::set_fill_color, graphic_object::set_outline_color):
4386 (closed_object::set_fill_color): Ditto.
4387 * src/preproc/pic/troff.cc (troff_output::set_color): Use strsave
4389 (troff_output::reset_color): Use a_delete instead of free.
4390 * src/preproc/pic/main.cc (do_file): Free `out' in case of error.
4392 2003-02-11 Werner LEMBERG <wl@gnu.org>
4394 * doc/groff.texinfo: Improve documentation of `ad'.
4395 Document that \D'f...' is dependent on the horizontal resolution.
4396 * man/groff_diff.man: Improve documentation of \D'f...'.
4398 * src/preproc/grn/hgraph.cc (HGPrintElt) <POLYGON>: Don't emit
4399 compensating \h'...' for \D'f ...' since the latter no longer moves
4401 * src/preproc/pic/troff.cc (troff_output::set_fill): Ditto.
4403 2003-02-10 Werner LEMBERG <wl@gnu.org>
4405 Improve error messages for `x F' (and `F') commands.
4407 * src/include/error.h: Add declaration for
4408 `current_source_filename'.
4409 * src/libs/libgroff/filename.cc: Add `current_source_filename'.
4410 * src/libs/libgroff/error.cc (do_error_with_file_and_line): Add
4411 parameter for source file string.
4412 Updated all callers.
4414 * src/libs/libdriver/input.cc: Add `current_source_filename'.
4415 (remember_source_filename): New function.
4416 (parse_x_command <'F'>, do_file <'F'>): Use it.
4418 2003-02-09 Werner LEMBERG <wl@gnu.org>
4420 Make grotty not emit warnings about unknown colors more than
4423 * src/devices/grotty/tty.cc: Include `ptable.h'.
4424 (TTY_MAX_COLORS): Removed.
4425 (DEFAULT_COLOR_IDX): Defined to -1.
4426 (glyph): Change `back_color_idx' and `fore_color_idx' to `char'.
4427 (tty_printer): Change `curr_back_idx' and `curr_fore_idx' to `char'.
4428 Change `tty_colors' to be a ptable.
4429 First arg of `put_color' is now `char'.
4430 New functions `make_rgb_string' and `tty_color'.
4431 (tty_printer::tty_printer): Use `tty_color'.
4432 (tty_printer::color_to_idx): Return value is now `char'.
4435 * src/include/color.h (color): Add `print_color' member function.
4436 * src/libs/libgroff/color.cc (color::print_color): Implement it.
4438 2003-02-08 Werner LEMBERG <wl@gnu.org>
4442 * src/devices/grops/ps.cc (ps_printer::define_encoding): Close
4445 * src/include/ptable.h (PTABLE::~PTABLE, PTABLE::define): Always
4446 assume that value has been allocated with `new[]', thus use
4447 `a_delete' for deallocation.
4449 * src/libs/libdriver/input.cc (get_integer_arg,
4450 get_possibly_int_args, parse_x_command, do_file): Use `a_delete'
4453 * src/libs/libgroff/new.cc (delete) [!COOKIE_BUG]: Define.
4454 * src/libs/libgroff/nametoindex.cc
4455 (character_indexer::named_char_index): Use `new <type>[1]'.
4457 * src/preproc/eqn/lex.cc (init_table, do_definition): Use `new
4459 * src/preproc/eqn/text.cc (set_special_char_type): Ditto.
4460 (split_text): Use `a_delete'.
4462 * src/preproc/pic/pic.y (define_label, define_variable): Use `new
4465 * src/roff/troff/env.cc (environment::choose_breakpoint): Avoid
4466 harmless memory leak.
4467 (hyphen_trie::read_patterns_file): Initialize `buf'.
4468 * src/roff/troff/node.cc (troff_output_file::troff_output_file):
4469 Initialize `current_fill_color'and `current_glyph_color'.
4470 * src/roff/troff/glyphuni.cc
4471 (glyph_to_unicode_init::glyph_to_unicode_init): Use `new <type>[1]'.
4472 * src/roff/troff/uniuni.cc
4473 (unicode_decompose_init::unicode_decompose_init): Ditto.
4474 * src/roff/troff/uniglyph.cc
4475 (unicode_to_glyph_init::unicode_to_glyph_init): Ditto.
4477 2003-01-26 Werner LEMBERG <wl@gnu.org>
4479 * src/utils/indxbib/indxbib.cc (main) [__EMX__]: Check with
4480 `access' before calling `unlink'.
4481 (do_file): Handle __EMX__.
4483 * src/include/nonposix.h: Handle __EMX__.
4485 * Makefile.in (SEP): New variable; set to @PATH_SEPARATOR@.
4486 (fontpath,tmacpath): Use it.
4488 Sorted alphabetically.
4490 * src/preproc/eqn/neqn.sh, src/roff/nroff/nroff.sh: Use
4492 * src/preproc/eqn/Makefile.sub, src/roff/nroff/Makefile.sub: Handle
4495 2003-01-27 Werner LEMBERG <wl@gnu.org>
4497 * src/libs/libgroff/strcasecmp.c, src/libs/libgroff/strncasecmp.c:
4498 New files, copied from gnulib.
4499 * src/libs/libgroff/Makefile.sub (CSRCS): Add them.
4500 * configure.ac: Updated.
4501 * configure: Regenerated.
4503 * src/include/config.hin: Regenerated.
4504 * src/include/lib.h [!HAVE_STRCASECMP]: Declare `strcasecmp'.
4505 Don't define `strcasecmp' as `strcmp'.
4506 [!HAVE_STRNCASECMP]: Declare `strncasecmp'.
4507 Dont define `strncasecmp' as `strncmp'.
4509 * src/roff/groff/pipeline.c [!HAVE_STRCASECMP, !HAVE_STRNCASECMP]:
4512 2003-01-26 Werner LEMBERG <wl@gnu.org>
4514 * src/utils/indxbib/indxbib.cc (main) [__EMX__]: Fix typo:
4517 2003-01-25 Werner LEMBERG <wl@gnu.org>
4519 * doc/groff.texinfo (Ligatures and Kerning): Mention limitations.
4521 2003-01-24 Werner LEMBERG <wl@gnu.org>
4523 Add US-english hyphenation exceptions (converted from Barbara
4524 Beeton's hyphenation exception log reports which appear irregularly
4527 * tmac/hyphen.us: Updated to latest version.
4528 * tmac/README: Updated.
4529 * tmac/hyphenex.us, tmac/hyphenex.sh: New files.
4530 * tmac/troffrc: Load `hyphenex.us'.
4531 * tmac/Makefile.sub (NORMALFILES): Add `hyphenex.us'.
4532 * doc/groff.texinfo: Updated.
4534 2003-01-23 Werner LEMBERG <wl@gnu.org>
4536 Improve hyphenation slightly. This is a first step in redesigning
4537 the hyphenation algorithm to make it more flexible (e.g. allowing
4538 kerns and ligatures between the hyphenation character and the
4539 following character -- while not used normally in English, other
4540 languages like German would benefit).
4542 * src/roff/troff/env.cc (environment::hyphenate_line): Use
4543 assertion instead of if-clause.
4544 Let `get_hyphen_list' return the number of involved characters in
4545 the hyphenation pattern instead of computing it directly (which
4546 often yields too small values).
4547 * src/roff/troff/node.h (*::get_hyphen_list): Add second parameter.
4548 * src/roff/troff/node.cc (*::get_hyphen_list): Handle new second
4551 2003-01-22 Werner LEMBERG <wl@gnu.org>
4553 Fixing a bug which caused groff to hang if the hyphenation exception
4554 dictionary tried to grow.
4556 * src/roff/troff/env.cc (hyphen_trie::insert_hyphenation,
4557 hyphen_trie::read_patterns_file, do_hyphenation_patterns_file): Use
4558 pointer to dictionary.
4560 2003-01-20 Werner LEMBERG <wl@gnu.org>
4562 * src/utils/afmtodit/afmtodit.pl: Add switch `-m' to suppress
4563 negative left italic correction.
4564 * src/utils/afmtodit/afmtodit.man: Document it.
4566 * font/devps/generate/Makefile (RFLAG): Add `-m'.
4567 * font/devps/{AB,AR,BMB,BMR,CB,CR,EURO,HB,HR,HNB,HNR,NB,NR,PB,PR,
4568 S,TB,TR,ZD,ZDR}: Regenerated with afmtodit options `-i 0 -m'.
4572 2003-01-16 Werner LEMBERG <wl@gnu.org>
4576 2003-01-16 Jörgen Grahn <jgrahn@algonet.se>
4578 * src/preproc/refer/refer.man: Mention REFER environment variable.
4580 2003-01-05 Werner LEMBERG <wl@gnu.org>
4582 Similar to \[is], the square root glyph (\[sr]) and the square root
4583 extension glyph (\[radicalex]) are now text symbols. The new
4584 mathematical versions are called \[sqrt] and \[sqrtex],
4587 * font/devX*/S: Regenerated.
4588 * font/devdvi/generate/texex.map: Rename `sr[0123]' to `sqrt[0123]'.
4589 * font/devdvi/generate/texsy.map: Rename `sr' to `sqrt'.
4590 * font/devdvi/EX, font/devdvi/S: Regenerated.
4591 * font/devhtml/R.proto, font/devutf8/R.proto: Add `sqrt'.
4592 * font/devlj4/generate/special.map: Add `sqrt'.
4593 * font/devlj4/S: Regenerated.
4594 * font/devps/generate/textmap: Add `sqrt'.
4595 * font/devps/S, font/devps/symbolmap: Regenerated.
4597 * src/preproc/eqn/sqrt.cc (SQRT_CHAR, RADICAL_EXTENSION_CHAR,
4598 SQRT_CHAIN, BAR_CHAIN): Use `sqrt*' and `sqrtex*'.
4599 * src/roff/troff/input.cc (init_charset_table): Make `sqrtex'
4600 overlap horizontally.
4602 * tmac/X.tmac, tmac/ps.tmac, tmac/lj4.tmac: Add `sqrtex'.
4603 * tmac/dvi.tmac: Add `sr', and `sqrtex'.
4606 * doc/groff.texinfo, man/groff_diff.man: Document that `radicalex'
4607 and `sqrtex' are overlapping glyphs.
4609 2003-01-04 Werner LEMBERG <wl@gnu.org>
4611 * font/devdvi/generate/texsy.map: Add `is'.
4612 * font/devps/symbolmap: Regenerated.
4613 * font/devdvi/*TC, MI, S: Regenerated.
4615 * tmac/dvi.tmac: Remove `is'.
4617 2003-01-03 Werner LEMBERG <wl@gnu.org>
4619 `is' is now a text symbol (only relevant for dvi). The math variant
4620 can be accessed with `integral'.
4622 * font/devX*/S: Regenerated.
4623 * font/devdvi/generate/texex.map: Remove `is'.
4624 * font/devdvi/EX: Updated.
4625 * font/devhtml/R.proto, font/devutf8/R.proto: Add `integral'.
4626 * font/devlj4/generate/special.map: Ditto.
4627 * font/devlj4/S: Regenerated.
4628 * font/devps/generate/textmap: Add `integral'.
4629 * font/devps/S: Regenerated.
4631 * tmac/dvi.tmac: Define `is'.
4633 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `integral'.
4635 * src/preproc/tbl/main.cc (process_format): Fix error message.
4637 2003-01-02 Werner LEMBERG <wl@gnu.org>
4639 * font/devhtml/R.proto, font/devutf8/R.proto: Add `ne' and `nc'.
4640 * font/devps/textmap: Fix entries for `ne' and `nc'.
4641 * font/devps/symbolmap: Regenerated.
4643 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list),
4644 src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `18',
4645 `38', `58', `78', `-+', `|=', `nc', `ne'.
4647 * tmac/dvi.tmac: Add `nm', `ne', `nc'.
4648 Use `schar' for `aq'.
4649 * tmac/ps.tmac, tmac/X.tmac: Add `nc' and `ne'.
4650 * tmac/ec.tmac: Add `SC' to special fonts for `CW' and `CWI'.
4651 * tmac/tty.tmac: Add `ne'.
4653 * src/roff/troff/node.cc (make_glyph_node): Test with `get_macro'
4654 for fallback glyphs.
4656 2002-12-29 Werner LEMBERG <wl@gnu.org>
4660 * font/devX*/*: Regenerated.
4661 * font/devdvi/generate/ec.map: Remove `eq'.
4662 * font/devdvi/generate/texsy.map: Make `~=' the same as `~~'.
4663 Assign `|=' to position 39.
4664 * font/devdvi/*EC, S: Regenerated.
4665 * font/devhtml/R.proto, font/devutf8/R.proto: Add `|='.
4666 * font/devlj4/generate/special.map: Make `~=' the same as `~~'.
4667 Assign `|=' to position 549.
4668 * font/devps/generate/textmap, font/devps/enerate/symbolmap: Remove
4670 Add `uni2243' for `|='.
4672 * tmac/ec.tmac: Add `eq'.
4673 * tmac/dvi.tmac: Add `=~'.
4674 * tmac/tty-char.tmac, tmac/ps.tmac, tmac/X.tmac, tmac/lbp.tmac: Add
4677 2002-12-21 Werner LEMBERG <wl@gnu.org>
4679 * font/devdvi/generate/tc.map: Remove `**'.
4680 * font/devdvi/*TC: Regenerated.
4681 * font/devhtml/R.proto, font/devutf8/R.proto: Add `18', `38', `58',
4683 * font/devutf8/NOTES: Updated.
4685 * src/roff/troff/charinfo.h (charinfo): Add `setx_macro' function.
4686 Don't give default parameter to `set_macro'.
4687 * src/roff/troff/input.cc (do_define_character): Use `setx_macro'
4688 instead of `set_macro'.
4689 (charinfo::setx_macro): Implement it.
4690 (charinfo::set_macro): Don't change `mode'.
4692 * tmac/tty.tmac: Add `18', `38', `58', `78', `<<', `>>'.
4693 * tmac/ps.tmac, tmac/X.tmac: Add `<<', `>>'.
4694 * tmac/dvi.tmac: Define `!=' with `.schar'.
4696 2002-12-20 Werner LEMBERG <wl@gnu.org>
4698 * font/devX*/S: Regenerated.
4699 * font/devdvi/generate/ec.map: Remove `pl'.
4700 * font/devdvi/generate/tc.map: Remove `mi', `14', `12', `34'.
4701 * font/devdvi/*{TC,EC}: Regenerated.
4702 * font/devhtml/R.proto: Add `-+'.
4703 Remove double entries for `rk', `lk', `lt', `rt', `rb', `lb'.
4704 * font/devlbp/*: Remove `or'.
4705 * font/devlj4/generate/special.map: Remove `or'.
4706 * font/devlj4/S: Regenerated.
4707 * font/devps/generate/textmap: Add `fiveeighths', `oneeighth',
4708 `seveneighths', `threeeighths'.
4710 Replace `minusplus' with `uni2213'.
4711 * font/devps/symbolmap: Regenerated.
4712 * font/devutf8/R.proto: Replace `shc' with unnamed glyph.
4715 * src/roff/troff/charinfo.h (charinfo): Add `is_normal' inline
4717 * src/roff/troff/node.cc (troff_output_file::put_char_width):
4718 Call glyph_color and fill_color even if tcommand_flag isn't set.
4719 (make_node, node::add_char): Check not ci->is_fallback but
4722 * tmac/lj4.tmac, tmac/lbp.tmac: Define `or'.
4723 * tmac/ec.tmac: Add .rchar entry for `f/'.
4724 Don't remove `12', `14', `34'.
4725 Define `pl' to be always roman.
4726 * tmac/ps.tmac (ps-frac, ps-frac-mono): New macros.
4727 Define `18', `38', `58', `78'.
4728 * tmac/tty.tmac: Add `-+'.
4729 * tmac/dvi.tmac: Define `f/'.
4730 (dvi-frac): Use `f/'.
4731 * tmac/X.tmac (X-frac, X-frac-mono): New macros.
4732 Define `18', `38', `58', `78'.
4734 2002-12-15 Colin Watson <cjwatson@debian.org>
4736 * contrib/pic2graph/pic2graph.sh: Add missing `;;'.
4738 2002-12-10 Werner LEMBERG <wl@gnu.org>
4740 Add glyph `tno', a textual variant of `no'.
4742 * font/devX*/*: Regenerated.
4743 * font/{devcp1047,devlatin1,devutf8,devhtml}/R.proto: Add `tno'.
4744 * font/devdvi/generate/{tc.map: Replace `no' with `tno'.
4745 * font/devdvi/generated/{texsy,textex}.map: Add `tno'.
4746 * font/devdvi/*: Regenerated.
4747 * font/devlbp/*: Add `tno'.
4748 * font/devlj4/generate/tex.map: Replace `no' with `tno'.
4749 * font/devlj4/*: Regenerated.
4750 * font/devps/generate/textmap: Replace `no' with `tno'.
4751 * font/devps/generate/symbolchars: Add `no'.
4752 * font/devps/*: Regenerated.
4754 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `tno'.
4756 * tmac/cp1047.tmac, tmac/latin1.tmac: Replace `no' with `tno'.
4757 * tmac/tty-char.tmac: Add entry for `tno' and `3d'.
4761 * tmac/dvi.tmac: Replace most `\\' with `\E'.
4762 Add definition for `sd'.
4763 * tmac/X.tmac, tmac/ps.tmac: Replace most `\\' with `\E'.
4765 * tmac/eqnrc <dvi>: Use `integral' instead of `is' glyph.
4767 2002-12-08 Werner LEMBERG <wl@gnu.org>
4769 * tmac/an-old.tmac (TH): Use integer value for `IN' if in nroff
4770 mode to avoid rounding errors.
4771 (an-do-tag, an-do-tag-html, RS, RE): Remove redundant `.br'.
4773 * src/roff/groff/groff.man, src/roff/nroff/nroff.man,
4774 src/roff/troff/troff.man: Improve documentation of -T.
4776 2002-12-07 Jeff Conrad <jeff_conrad@msn.com>
4778 * src/roff/groff/pipeline.c: Don't define `const' for _WIN32.
4779 (run_pipeline) [_WIN32]: Provide working function without `fork'.
4781 2002-12-06 Werner LEMBERG <wl@gnu.org>
4783 * font/devps/generate/freeeuro.sfd: Make dimensions of Euro.symbol
4784 glyphs compatible to Adobe's Euro fonts (scaling them down a bit).
4785 Scaling Euro.sansserif glyphs down to have the same height as
4787 Removed unnecessary points; added some extrema.
4789 * font/devps/EURO, font/devps/freeeuro.afm, font/devps/freeeuro.pfa:
4792 2002-12-04 Werner LEMBERG <wl@gnu.org>
4794 * font/devps/generate/freeeuro.sfd: Add glyphs `Euro.symbol.slanted'
4795 and `Euro.symbol.bold.slanted'.
4796 Improve some glyph offsets and widths.
4797 * font/devps/EURO, font/devps/freeeuro.afm, font/devps/freeeuro.pfa:
4799 * font/devps/generate/Makefile (freeeuro.afm freeeuro.pfa): Fix
4801 * font/devps/generate/sfdtopfa.pe: Generate PFA in current
4804 * tmac/europs.tmac: Updated to new glyph indices.
4805 Use Euro.symbol for font familiy `A'.
4807 * doc/groff.texinfo: Minor improvements.
4809 2002-12-02 Werner LEMBERG <wl@gnu.org>
4811 * font/devdvi/generate.tc.map: s/%O/%0/.
4812 * font/devdvi/*TC: Regenerated.
4814 * src/roff/troff/div.cc (init_div_requests): Sorted.
4816 * tmac/dvi.tmac: Remove `Ye'.
4817 * tmac/ec.tmac: Remove `Ye'.
4818 Add .rchar entry for `de'.
4820 * man/groff.man, man/groff_diff.man: Document register `.pe'.
4821 * doc/groff.texinfo: Document registers `.pe', `.n', and `.w'.
4824 2002-11-30 Werner LEMBERG <wl@gnu.org>
4826 Add PS font for various Euro glyphs.
4828 * font/devps/generate/freeeuro.sfd: New master font file for
4830 * font/devps/generate/sfdtopfa.pe: New conversion script for
4832 * font/devps/generate/Makefile (FONTS): Add `EURO'.
4833 (EURO, freeeuro.afm, freeeuro.pfa): New rules.
4834 * font/devps/freeeuro.pfa, font/devps/freeeuro.afm: Generated from
4836 * font/devps/EURO: Generated from `freeeuro.afm'.
4837 * font/devps/download: Add `freeuro.pfa'.
4838 * font/devps/Makefile.sub (NORMALFILES): Adde `EURO' and
4841 * tmac/europs.tmac: New file.
4842 * tmac/ps.tmac: Include `europs.tmac'.
4843 * tmac/Makefile.sub (DISTFILES): Add `europs.tmac'.
4845 2002-11-29 Werner LEMBERG <wl@gnu.org>
4847 * font/devdvi/generate/texsy.map: Remove `lh' and `rh'.
4848 * font/devdvi/S: Regenerated.
4849 * font/devhtml/R.proto: Fix `CR' and `ci'.
4851 * font/devps/generate/textmap: Fix `lh', `rh', and `sq'.
4853 * font/devps/symbolmap: Regenerated.
4854 * font/devutf8/R.proto: Fix `CR' and `ci'.
4856 * font/devutf8/NOTES: Updated.
4858 * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Fix `CR' and
4861 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Ditto.
4863 * tmac/dvi.tmac: Add `lh' and `rh'.
4864 * tmac/Xps.tmac: Fix `lh' and `rh'.
4865 * tmac/X.tmac: Add `OK'.
4866 * tmac/lj4.tmac: Ditto.
4868 2002-11-24 Werner LEMBERG <wl@gnu.org>
4870 * font/devX*/S: Regenerated.
4871 * font/devascii/R.proto, font/devcp1047/R.proto: Remove glyphs `lb',
4872 `lc', `lf', `lk', `lt', `rb', `rc', `rf', `rk', and `rt'.
4873 * font/devdvi/generate/texsy.map: Remove `or' glyph.
4874 * font/devdvi/S: Regenerated.
4875 * font/devhtml/R.proto, font/devutf8/R.proto: Add/fix glyphs
4876 `parenlefttp', `parenleftex', `parenleftbt', `parenrighttp',
4877 `parenrightex', `parenrightbt', `bracketlefttp', `bracketleftex',
4878 `bracketleftbt', `bracketrighttp', `bracketrightex',
4879 `bracketrightbt', `bracelefttp', `braceleftmid', `braceleftbt',
4880 `braceex', `braceleftex', `bracerightex', `bracerighttp',
4881 `bracerightmid', `bracerightbt', `lt', `lk', `lb', `rt', `rk',
4883 * src/roff/troff/glyphuni.cc, src/roff/troff/uniglyph.cc: Ditto.
4884 * font/devutf8/NOTES: Updated.
4885 * font/devlj4/generate/special.map: Add glyph `braceex'.
4886 * font/devlj4/S: Regenerated.
4888 * tmac/tty-char.tmac: Add glyphs `lf', `rf', `lc', and `rc'.
4890 2002-11-14 Werner LEMBERG <wl@gnu.org>
4892 * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `va'
4895 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Ditto.
4897 * doc/texinfo.tex: New version from texinfo 4.3.
4898 * doc/groff.texinfo: Updated for texinfo 4.3.
4899 Use @tie{} where appropriate.
4900 * font/devdvi/generate/ec.map: Don't include `or' and `bv'.
4901 * font/devdvi/generate/tc.map: Remove `rn'.
4902 * font/devdvi/*TC, font/devdvi/*EC: Regenerated.
4903 * font/devhtml/R.proto, font/devutf8/R.proto: Add `vA'.
4905 * font/devX100/*, font/devX100-12/*, font/devX75/*,
4906 font/devX75-12/*: Regenerated.
4908 * tmac/dvi.tmac: Add special fonts `SA' and `SB'.
4909 Use .char (again) for `br', `ul', `rn', `or', and `ru'.
4910 Improve definition of `an'.
4911 * tmac/ps.tmac: Use .char (again) for `br', `ul', `rn', `or', and
4913 * tmac/lj4.tmac: Use .char (again) for `br', `ul', `rn', and `ru'.
4914 * tmac/X.tmac: Add definition for `or'.
4915 * tmac/Xps.tmac: Undo change 2002-11-05.
4916 * tmac/lbp.tmac: Add definitions for `br', `rn', `ul', and `ru'.
4918 2002-11-11 Werner LEMBERG <wl@gnu.org>
4920 * src/roff/troff/node.cc (troff_output_file::put_char): Always
4923 2002-11-10 Werner LEMBERG <wl@gnu.org>
4925 Added three new requests `schar', `fschar', and `rfschar'. `schar'
4926 defines a glyph which is searched after the check for fonts declared
4927 with `.special' (and before the check for all mounted special
4928 fonts). `fschar' defines a glyph for a particular font which is
4929 searched after the check for fonts declared with `.fspecial' (and
4930 before the check for fonts declared with `.special'). `rfschar'
4931 removes glyphs defined with `fschar'.
4933 * src/roff/troff/token.h (char_mode): New enum.
4934 Declare do_define_character.
4935 * src/roff/troff/charinfo.h (charinfo): Replace `fallback' with
4937 (charinfo::is_fallback): Updated.
4938 (charinfo::is_special): New method.
4939 * src/roff/troff/input.cc (do_define_character): Add and use
4940 optional second parameter used as a prefix for font-specific glyph
4942 (define_character, define_fallback_character): Updated.
4943 (define_special_character): New function.
4944 (init_input_requests): Add `schar'.
4945 (charinfo::charinfo, charinfo::set_macro): Updated.
4946 * src/roff/troff/node.cc: Include `stringclass.h'.
4947 (make_glyph_node): Handle special glyphs defined with `.schar' and
4949 (define_font_special_character, remove_font_special_character): New
4951 (init_node_requests): Sorted.
4952 Add `fschar' and `rfschar'.
4953 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
4954 Document new requests.
4956 * font/devhtml/R.proto, font/devutf8/R.proto: Add `va'.
4957 * tmac/dvi.tmac: Add `va' for CW and CWI (using `.fschar').
4959 2002-11-08 Werner LEMBERG <wl@gnu.org>
4961 Added new font `SC' (cmtex10) to devdvi.
4963 * devdvi/generate/Makefile (FONTS): Add `SC'.
4965 * devdvi/generate/textex.map: New map file for cmtex.
4967 * devdvi/Makefile.sub (DEVFILES): Updated.
4968 * tmac/dvi.tmac: Add fspecial entries for SC.
4969 Add `MI', `S' and `CW' to the `special' call. Otherwise, `SC' is
4970 found before `S' since the font position of `SC' is lower due to the
4971 gaps in DESC's `font' line.
4972 * tmac/ec.tmac: Add a `special' call.
4975 * font/devhtml/R.proto: Remove double entry for `ti'.
4976 * tmac/tty.tmac: Add entries for `IJ', `ij', and `bq'.
4977 * tmac/tty-char.tmac: Remove entry for `bq'.
4978 * tmac/lbp.tmac: Add entries for `lq', `rq', `fo', `fc', and `em'.
4979 * tmac/ec.tmac: Don't remove `aq' glyph.
4980 * tmac/X.tmac: Fix entry for `em'.
4981 Add entries for `fo' and `fc'.
4982 * tmac/dvi.tmac: Add entries for `em', `en', `hy', `fo', and `fc'.
4984 * doc/groff.texinfo, man/groff.man, man/groff_diff.man: Fix
4985 documentation of `special' and `fspecial' requests.
4987 2002-11-05 Werner LEMBERG <wl@gnu.org>
4989 * font/devascii/R.proto, font/devcp1047/R.proto,
4990 font/devlatin1/R.proto: Remove entry for `.i'.
4991 * font/devdvi/generate/textt.map: Add entry for `ad'.
4992 * font/devdvi/generate/texr.map, font/devdvi/generate/texb.map,
4993 font/devdvi/generate/texi.map: Add dummy glyph name `slash@for@l'.
4994 We need this for getting kerning values to compose `/l' and `/L'.
4995 * font/devdvi: Regenerated font definition files for CM fonts.
4996 * font/devhtml/R.proto: Add entries for "'C", "'c", `IJ', and `ij'.
4997 * font/devutf8/R.proto: Ditto.
4998 Remove double entry for `ti'.
5000 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Fix entries
5001 for (groff) ligatures, `la', and `ra'.
5002 Add "'C", "'c", `IJ', and `ij'.
5003 Remove double entry for `ti'.
5004 * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Remove all
5006 Add "'C", "'c", `IJ', and `ij'.
5007 Fix entries for (groff) ligatures, `la', and `ra'.
5009 * tmac/ps.tmac (ps-achar): New macro.
5010 Define "'c" and "'C".
5011 * tmac/tty.tmac: Add entry for `.i'.
5012 * tmac/X.tmac (X-achar): New macro.
5013 Define "'c", "'C", and `:Y'.
5014 Add entries for `IJ' and `ij'.
5015 * tmac/Xps.tmac (Xps-achar): New macro.
5016 Define "'c" and "'C".
5017 Add entries for `IJ' and `ij'.
5018 * tmac/lbp.tmac (lbp-achar): New macro.
5019 Add fallback characters for all groff ligatures and many other
5021 * tmac/dvi.tmac: Fix definitions of `_' and `ul'.
5022 Add entries for `/l' and `/L'.
5023 Define "'c" and "'C".
5024 Add entries for `IJ' and `ij'.
5026 2002-11-02 Larry Kollar <kollar@alltel.net>
5028 * PROBLEMS: Document how to solve Mac OS X compilation problems.
5030 2002-11-02 Werner LEMBERG <wl@gnu.org>
5032 Adding support for composite glyphs: \[xxx yyy ...] and the
5033 `composite' request.
5035 * src/roff/troff/glyphuni.cc: New file for mapping groff glyph names
5036 to Unicode-based glyph names.
5037 * src/roff/troff/uniglyph.cc: New file for mapping Unicode-based
5038 glyph names to groff glyph names.
5039 * src/roff/troff/uniuni.cc: New file for canonically decomposing
5040 Unicode-based glyph names.
5041 * src/roff/troff/unicode.cc, src/roff/troff/unicode.h: New files
5042 for handling Unicode glyph names.
5043 * src/roff/troff/input.cc: Include unicode.h.
5044 (composite_glyph_name): New function.
5045 (token::next) <'['>: Handle Unicode glyph names and composite
5047 (composite_dictionary): New dictionary for the `composite' request.
5048 (composite_request): Implement `composite' request.
5049 (init_input_requests): Add `composite'.
5050 Alphabetically sorted.
5051 * src/roff/troff/env.cc (tabs_save, tabs_restore): Removed (already
5053 (init_env_requests): Alphabetically sorted.
5054 Removed `tas' and `tar' (already commented out).
5055 * src/roff/troff/Makefile.sub: Updated.
5057 2002-10-31 Ruslan Ermilov <ru@FreeBSD.org>
5059 * src/roff/nroff/nroff.man, src/roff/nroff/nroff.sh: Fix description
5062 2002-10-29 Werner LEMBERG <wl@gnu.org>
5064 Fix computation of .trunc register. Additionally, its value (and
5065 the value of the .ne register) is now always set before entering the
5068 * src/roff/troff/div.cc (diversion::need): Set `truncated_space' and
5069 `needed_space' before calling `space'.
5070 (top_level_diversion::space): Remove special code for 'sp before the
5072 Call `begin_page' with the discarded space as a parameter.
5073 (top_level_diversion::begin_page): Add optional parameter to set
5075 * src/roff/troff/div.h: Updated.
5077 * doc/groff.texinfo: Improve documentation of .sp, \n[.trunc], and
5080 * tmac/an-old.tmac (SH, SS, TP, IP, HP, TS): Undo change 2002-10-26.
5081 (LP): Remove superfluous call to `br'.
5082 * tmac/doc-common (doc-paragraph): Undo change 2002-10-26.
5083 * tmac/doc.tmac (Bd, Bl, doc-set-vertical-and-indent): Ditto.
5085 2002-10-26 Werner LEMBERG <wl@gnu.org>
5087 * tmac/doc-ditroff: Remove useless switch/variable -rC.
5088 (doc-setup-header): Don't set page register `%'.
5089 * tmac/doc-nroff: Remove variable `C'.
5090 (doc-setup-page-layout): Set doc-header-space to .5i unconditionally.
5091 (doc-setup-header): Don't set page register `%'.
5093 * tmac/doc-common (doc-header): Call `ns'.
5094 (doc-paragraph): Protect .sp with .br so that it survives traps
5095 possibly set by the user.
5096 * tmac/doc.tmac (Bd, Bl, doc-set-vertical-and-indent): Ditto.
5098 * tmac/doc*: Replace ' with . for consistency if no effect.
5100 2002-10-26 Werner LEMBERG <wl@gnu.org>
5102 * tmac/an-old.tmac (SH, SS, TP, IP, HP, TS): Protect .sp with .br
5103 so that it survives traps possibly set by the user.
5105 * src/roff/troff/node.cc: Fix the changes from 2002-10-23.
5106 (troff_output_file::set_font): Call flush_tbuf if necessary.
5107 (troff_output_file::fill_color, troff_output_file::glyph_color): Call
5108 flush_tbuf and do_motion only if necessary.
5109 (troff_output_file::start_special,
5110 troff_output_file::put_char_width, troff_output_file::put_char,
5111 troff_output_file::draw): Updated.
5112 (word_space_node::tprint, space_node::tprint, hmotion_node::tprint,
5113 vmotion_node::tprint): Undo change 2002-10-23.
5115 2002-10-25 Werner LEMBERG <wl@gnu.org>
5117 * tmac/www.tmac (DC): Fix case of overlapping images.
5119 2002-10-23 Werner LEMBERG <wl@gnu.org>
5121 * src/roff/troff/node.cc (troff_output_file::fill_color,
5122 troff_output_file::glyph_color): Set current color before testing
5124 (troff_output_file::put_char_width, troff_output_file::put_char,
5125 troff_output_file::draw): Don't call flush_tbuf and/or do_motion
5127 (troff_output_file::file_color, troff_output_file::glyph_color):
5129 (word_space_node::tprint, space_node::tprint, hmotion_node::tprint,
5130 vmotion_node::tprint): Move first, then call fill_color.
5132 2002-10-20 Werner LEMBERG <wl@gnu.org>
5134 * doc/groff.texinfo, man/groff_tmac.man: Document that it is not
5135 possible to use multiple main macro packages.
5137 2002-10-19 Werner LEMBERG <wl@gnu.org>
5139 * src/devices/grops/ps.cc (cmyk_flag): New global variable.
5140 (ps_printer::set_color): Set `cmyk_flag' for CMY and CMYK colors.
5141 (ps_printer::~ps_printer): Emit `%%Extensions: CMYK' if `cmyk_flag'
5143 * font/devps/prologue.ps (Fk, Ck): Enclose definitions with a
5144 `where' construction since `cmyksetcolor' is a PS Level 2 operator.
5146 2002-10-16 Werner LEMBERG <wl@gnu.org>
5148 * NEWS, doc/webpage.ms: Updated.
5150 2002-10-14 Werner LEMBERG <wl@gnu.org>
5152 * src/roff/troff/node.cc (troff_output_file::put_char_width,
5153 troff_output_file::put_char, troff_output_file::fill_color,
5154 troff_output_file::glyph_color): Handle case where color pointer
5157 2002-10-13 Ruslan Ermilov <ru@FreeBSD.org>
5159 Add the new -r option to grotty. It is similar to the -i option
5160 except it tells grotty(1) to use the "reverse video" attribute to
5161 render italic fonts.
5163 * src/devices/grotty/tty.cc (reverse_flag): New global variable.
5164 (SGR_REVERSE, SGR_NO_REVERSE): New macros.
5165 (tty_printer::make_underline, tty_printer::put_color,
5166 tty_printer::end_page): Use it.
5167 (main): Add -r switch.
5169 * src/devices/grotty/grotty.man: Document it.
5171 2002-10-11 Ruslan Ermilov <ru@FreeBSD.org>
5173 * src/roff/troff/env.cc (hyphen_trie::read_patterns_file): Add
5174 cast to `unsigned char' to properly read patterns with 8bit
5177 2002-10-08 Werner LEMBERG <wl@gnu.org>
5179 * REVISION: Increased to 2.
5182 version-control: never