1 2006-01-22 Werner LEMBERG <wl@gnu.org>
3 * tmac/an-ext.tmac: Protect against being sourced twice.
4 (URL, EE): Use always two backslashes.
7 2006-01-21 Werner LEMBERG <wl@gnu.org>
9 * contrib/pdfmark/pdfroff.man: Revised, based on a patch from Eric
10 Raymond. It now uses the new macros from an-ext.tmac. This is the
11 first of a series of man patches which Eric has contributed.
13 2006-01-16 Werner LEMBERG <wl@gnu.org>
15 * tmac/an-ext.tmac: Remove code for grodvi.
17 Don't insert empty line.
20 2006-01-14 Werner LEMBERG <wl@gnu.org>
22 * tmac/an-ext.tmac: New file, containing extension macros
23 for -man. See discussion on the groff mailing list for
24 background information.
25 * tmac/an-old.tmac: Load an-ext.tmac.
26 Decorate .ds and as with comment escapes where appropriate.
27 * tmac/Makefile.sub (NORMALFILES): Add an-ext.tmac.
29 2006-01-05 Werner LEMBERG <wl@gnu.org>
31 * src/preproc/tbl/tbl.man: Document .T# and \n[TW].
33 2006-01-04 Gaius Mulley <gaius@glam.ac.uk>
35 Make -me macros ready for grohtml.
37 * tmac/e.tmac: Load devtag.tmac.
38 (need_eo_h, need_eo_tl, need_tl): New registers.
39 (check_need_title, (x-html, )x-html, xp-html): New macros.
40 (@h, hl, ip, @p, sh, (b, (l, EQ, EN, TS, TE, PS, PE, GS, GE, r, i,
41 b, rb, bi, bx, (x, )x, xp): Adapt for use with grohtml.
42 (bp): Rename to @b only if output device is not html.
44 2007-01-01 Werner LEMBERG <wl@gnu.org>
46 * man/groff_font.man: Document empty lines.
48 * src/utils/afmtodit/afmtodit.pl: Always print a header comment at
49 the very beginning of the output.
52 * font/devps/*: Regenerate font definition files.
54 2007-01-01 Werner LEMBERG <wl@gnu.org>
56 * font/devps/generate/Makefile (AFMTODIT): Use -c flag.
58 * font/devps/*: Regenerate font definition files.
60 2006-12-31 Werner LEMBERG <wl@gnu.org>
62 * Makefile.in (oldfontdir): New variable.
63 (MDEFINES): Add $(oldfontdir).
64 (uninstall_dirs): Remove `current' link.
67 * Makefile.comm (oldfontsubdir): New variable.
68 (install_dev): Install files collected in $(OLDDEVFILES) into
70 (uninstall_dev): Remove data in $(oldfontsubdir).
71 (.man.n): Handle @OLDFONTDIR@.
73 * src/devices/grodvi/grodvi.man, src/devices/grohtml/grohtml.man,
74 src/devices/grolbp/grolbp.man, src/devices/grolj4/grolj4.man,
75 src/devices/grotty/grotty.man, src/devices/xditview/gxditview.man:
76 Document GROFF_FONT_PATH.
78 * src/devices/grops/grops.man: Document GROFF_FONT_PATH and
79 old font description files.
81 * font/devps/Makefile.sub (OLDDISTFILES, OLDDEVFILES): New
84 * font/devps/old/*: New directory, holding the previous version
85 of the 35 Adobe core font description files.
87 * font/devps/*: Regenerated the 35 Adobe core fonts, using the
88 Adobe-Core35_AFMs-229.tar.bz2 bundle from ftp.dante.de.
90 * NEWS: Document font update.
92 2006-12-31 Werner LEMBERG <wl@gnu.org>
94 * font/devps/generate/Makefile (symbolsl.afm): Use $(srcdir).
96 * Makefile.comm (fonts): New (empty) target.
97 * Makefile.in (TARGETS): Add `fonts'.
99 * MANIFEST: Add `chem'.
101 * doc/groff.texinfo (Changing Fonts): Font translations with .ftr
104 2006-12-26 Werner LEMBERG <wl@gnu.org>
106 * src/preproc/grn/hdb.cpp: Include gprint.h later. From NetBSD.
108 2006-12-19 Werner LEMBERG <wl@gnu.org>
110 Add support for German. For activation, simply use -mde or -mden
111 (for traditional and new orthgraphy, respectively) as the last
114 * tmac/de.tmac, tmac/den.tmac, tmac/hyphen.det, tmac/hyphen.den,
115 tmac/hyphenex.det: New files, partly taken from CTAN.
116 * LICENSES: Updated list of hyphenation patterns.
117 * man/groff_tmac.man: Mention de.tmac and den.tmac.
120 2006-12-11 Werner LEMBERG <wl@gnu.org>
122 Support up to 32 macro arguments in pic (and up to 16 on EBCDIC
125 * src/preproc/pic/lex.cpp (ARG1): Redefine. Update all users.
126 (MAX_ARG): New macro. Use it everywhere to replace hard-coded
127 limit of 9 arguments.
128 (process_body): Handle argument numbers with more than a single
130 (interpolate_macro_with_args): Protect against exceeding number of
133 * NEWS, src/preproc/pic/pic.man, doc/pic.ms: Document it.
135 2006-12-10 Werner LEMBERG <wl@gnu.org>
137 * Makefile.in (site.exp, docheck): Commented out. Not working
139 (check): Just emit dummy message.
141 2006-12-08 Werner LEMBERG <wl@gnu.org>
143 During installation, create soft link from <version> to `current' in
146 * Makefile.comm (install): Renamed to...
148 (prefix_must_exist): Removed. Code moved to Makefile.in.
150 * Makefile.in (TARGETS): Remove `install'.
152 (install): New target which first creates the directory given by
153 --prefix, then calling `make' to do the installation, and finishing
154 with the creation of the soft link.
156 2006-11-21 Werner LEMBERG <wl@gnu.org>
158 * doc/Makefile.sub (uninstall_sub): Fix names for info files.
160 2006-11-18 Werner LEMBERG <wl@gnu.org>
162 * man/roff.man, doc/groff.texinfo: Improve history of roff, based on
163 information from Tom Van Vleck <thvv@multicians.org>.
165 2006-11-16 Werner LEMBERG <wl@gnu.org>
167 * tmac/62bit.tmac: New macro package.
168 * tmac/Makefile.sub (NORMALFILES): Add it.
171 * tmac/trace.tmac: Protect against being loaded again.
172 (nr): Always show result.
174 * doc/groff.texinfo (Input Encodings): Document latin-5.
176 * man/grof_tmac.man: Document sv, latinX, cp1047, 60bit, ec.
178 2006-11-13 Werner LEMBERG <wl@gnu.org>
180 * doc/groff.texinfo (Page Location Traps) [.wh]: Give more details
181 on negative trap positions.
183 2006-11-10 Werner LEMBERG <wl@gnu.org>
185 * Makefile.comm (.man.n): Handle @DATASUBDIR@.
187 2006-11-09 Werner LEMBERG <wl@gnu.org>
189 * INSTALL: Move information about external installation from
190 INSTALL.gen into this file.
193 * INSTALL.gen: Update to new version (from texinfo CVS).
195 2006-11-09 Bernd Warken
197 * INSTALL.gen: Extend the file by information on `external
198 installation'. Reorder the installation instruction as `normal
201 2006-11-08 Werner LEMBERG <wl@gnu.org>
203 * doc/Makefile.sub (install_data): Take care of proper paths while
204 installing info files. Bug reported by Bernd Warken.
206 2006-11-06 Bernd Warken
208 * src/roff/grog/grog.pl: Rewrite.
209 - Call by `#! /usr/bin/env perl'. That isn't replaced.
210 - Rename usage() to version().
212 - For `use strict', start all global variables with an upper case
213 character. Use `my' for all variables. Use several new variables.
215 - Add copyright to GPL and Emacs comment.
216 - Handle several `-m*' options.
217 - Fix handling of `-ms' and `-mm'. Add .TL and .NH.
218 - Allow options after file names.
219 - Allow only one `-' parameter (standard input).
220 - Add option abbreviations.
221 - Expand the usage information.
223 - Add single quote "'" as additional first character and allow
224 arbitrary space after the first character.
226 * src/roff/grog/grog.sh: Rewrite.
227 - Remove option `-e' of `sed'.
228 - Allow file names with space characters.
230 - Add copyright to GPL.
231 - Handle several `-m*' options.
232 - Fix handling of `-ms' and `-mm'. Add .TL and .NH.
233 - Allow options after file names.
234 - Allow only one `-' parameter (standard input).
235 - Add option abbreviations.
236 - Expand the usage information.
238 - Add single quote "'" as additional first character and allow
239 arbitrary space after the first character.
241 * src/roff/grog/Makefile.sub:
242 - Add copyright to GPL.
243 - Remove `grog:'. Move `grog.old:' to `grog:' in order to have a
244 fair chance to choose between the shell version and the Perl
245 version of `grog'. This is now again comparable to grog in groff
248 * src/roff/grog/grog.man: Rewrite.
249 - Move the license to GPL.
250 - New sections: OPTIONS, DETAILS, EXAMPLES, COPYING.
251 - Take over some setup and macros from `groffer'.
252 - Add information on options.
254 2006-10-28 Werner LEMBERG <wl@gnu.org>
256 * tmac/trace.tmac: Improve tracing of `.nr'.
257 Trace `.substring' also.
261 2006-10-28 Bernd Warken
263 * man/roff.man, src/roff/groff/groff.man: Add `chem', fix position
264 of groff development site, fix fonts.
266 * News: Add information on `chem' and `groffer'.
268 2006-10-26 Bernd Warken
270 * Makefile.in (OTHERDIRS, NOMAKEDIRS): Add `chem' bundle.
272 2006-10-26 Werner LEMBERG <wl@gnu.org>
274 Add `\%^' escape to handle the parameters to a macro as a string
277 * src/roff/troff/input.h (DOUBLE_QUOTE): New special character.
279 * src/roff/troff/input.cpp (input_iterator, input_stack,
280 macro_iterator): Add `space_follows_arg' member function.
281 (macro_iterator::add_arg): Add parameter to set the `space_follows'
283 (arg_list): Add member `space_follows'.
284 Update constructor and all callers.
285 (decode_args): Store discarded double quotes.
286 (interpolate_args): Handle DOUBLE_QUOTE.
288 (get_copy, token::next, composite_glyph_name): Handle DOUBLE_QUOTE.
290 * tmac/trace.tmac: Trace .nr, .ds, .ds1, .as, .as1.
292 * docs/groff.texinfo (Parameters), man/groff.man,
293 man/groff_diff.man, NEWS: Document it.
295 2006-10-24 Bernd Warken
297 * Makefile.in (NOMAKEDIRS): Add groffer subdirectories.
299 2006-10-24 Werner LEMBERG <wl@gnu.org>
301 * tmac/groff_trace.man: Mention problem with `\\\\'.
303 2006-10-23 Werner LEMBERG <wl@gnu.org>
305 * doc/groff.texinfo (Expressions): Improve documentation of `!'.
307 * tmac/trace.tmac (return): Don't call `substring'.
309 2006-09-10 Werner LEMBERG <wl@gnu.org>
311 * src/roff/troff/input.cpp (read_size): Revert previous change
314 * doc/groff.texinfo (Fractional Size Types): Clarify syntax of \s.
316 2006-09-09 Werner LEMBERG <wl@gnu.org>
318 * src/roff/troff/input.cpp (read_size): Fix `\s[-\n[.s]]' so that it
319 behave the same as `\s-[\n[.s]]' (this is, emit a warning and set
320 point size to 1). Reported by Gunnar Ritter.
321 Also catch `\s-[-...]' and friends (causing an error).
323 2006-09-06 Werner LEMBERG <wl@gnu.org>
325 * src/roff/troff/env.cpp (environment::do_break): Insert zero-width
326 space only if there is no previous space. This fixes a bug which
327 caused unwanted filling of the last line in a paragraph. Thanks to
328 Gunnar Ritter for an analysis.
330 2006-09-03 Werner LEMBERG <wl@gnu.org>
332 * src/roff/groff/groff.cpp (main): Pass -U flag to pic also.
333 Reported by Jennifer Sayers <jenjen@isu.usyd.edu.au>.
335 2006-09-01 Nick Stoughton <nick@msbit.com>
336 Werner LEMBERG <wl@gnu.org>
338 Add a request `pev' to print environment information (similar to
339 `pnr' and `ptr' to print number registers and traps).
341 * src/roff/troff/env.h (environment): Add member function print_env.
343 * src/roff/troff/env.cpp: (environment::print_env): New function to
344 print a given environment state.
345 (print_env): New global function to iterate through the
346 environments, printing each one.
347 (init_env_requests): Register `pev'.
349 * doc/groff.texinfo (Debugging), man/groff.man, man/groff_diff.man,
350 NEWS: Document `pev' request.
352 2006-09-01 Bernd Warken
354 * src/preproc/soelim/soelim.cpp (usage): Fix option argument of
357 2006-09-01 Werner LEMBERG <wl@gnu.org>
359 * src/preproc/pic/main.cpp (usage): Add missing options.
361 2006-08-25 Werner LEMBERG <wl@gnu.org>
363 * src/preproc/soelim/soelim.man: Document how to insert `\' and ` '
366 2006-08-19 Werner LEMBERG <wl@gnu.org>
368 * configure: Regenerated.
370 2006-08-18 Keith Marshall <keith.d.marshall@ntlworld.com>
372 * m4/groff.m4 (GROFF_MAKEINFO): Correct `makeinfo version testing
373 logic; it previously caused an `expr' syntax error, if no version of
374 `makinfo' was present. Also, remove dependency on `makeinfo' in VPATH
375 builds, if an up to date `groff.info' is present in either `builddir'
378 2006-08-12 Tadziu Hoffmann <hoffmann@usm.uni-muenchen.de>
380 * font/devps/prologue.ps: Add BPhook.
382 * src/devices/grops/grops.man: Document BPHook.
383 Reorder some sections for better readability.
385 2006-08-12 Werner LEMBERG <wl@gnu.org>
387 * src/include/lib.h (getlocale): New macro.
388 (setlocale, LC_ALL, LC_CTYPE) [!HAVE_SETLOCALE]: Define, as
391 * src/preproc/preconv/preconv.cpp (main): Use getlocale.
393 2006-08-11 Werner LEMBERG <wl@gnu.org>
395 Add new flag to .cflags to enable hyphenation without looking at
398 * src/roff/troff/charinfo.h (charinfo): New enumeration value
400 New member function `ignore_hcodes'.
402 * src/roff/troff/node.cpp (break_char_node::add_self,
403 node::add_char): Updated.
405 * doc/groff.texinfo, man/groff_diff.man, NEWS: Document it.
407 2006-08-09 Werner LEMBERG <wl@gnu.org>
409 Support composite Unicode characters again. Reported by Colin.
411 * font/devhtml/R.proto: Renamed to...
412 * font/devhtml/R.in: This.
414 * font/devutf8/R.proto: Renamed to...
415 * font/devutf8/R.in: This.
418 * font/make-Rproto: New script.
419 * font/devhtml/R.proto, font/devutf8/R.proto: Generated.
421 2006-07-26 Werner LEMBERG <wl@gnu.org>
423 * README: Fix description of CVS access. Reported by Joachim.
425 2006-07-11 Werner LEMBERG <wl@gnu.org>
427 Add a request `.fzoom' and a number register `.zoom' to magnify
430 * src/include/font.h (font): Add member variable `zoom'.
431 Add member functions `set_zoom' and `get_zoom'.
432 Remove `static' attribute from `scale' member function.
434 * src/libs/libgroff/font.cpp (font::font): Updated.
435 (scale_round): New version with three parameters to handle zoom
437 (font::scale, font::get_width): Handle zoom factor.
438 (font::set_zoom, font::get_zoom): New functions.
439 (font::load): Handle `zoom' while computing `space_width'.
441 * src/roff/troff/env.h: Declare `env_get_zoom'.
442 (environment): Add member function `get_zoom'.
444 * src/roff/troff/env.cpp (environment::get_zoom): New function.
445 (init_env_requests): Initialize `.zoom' register.
447 * src/roff/troff/node.cpp (font_info): New member functions
448 `set_zoom' and `get_zoom'.
449 (tfont): New member function `get_zoom'.
450 (env_get_zoom): New function.
451 (troff_output_file::set_font): Handle zoom factor.
452 (font_zoom_request): New function.
453 (init_node_requests): Initialize `fzoom' request.
455 * docs/groff.texinfo (Changing Fonts), man/groff.man,
456 man/groff_diff.man, NEWS: Document `fzoom' request and `.zoom'
459 * src/roff/troff/TODO: Updated.
461 2006-07-10 Werner LEMBERG <wl@gnu.org>
463 * doc/groff.texinfo (Drawing Requests): Improve documentation of
466 2006-07-02 Werner LEMBERG <wl@gnu.org>
468 * man/groff_tmac.man: Document usage of .PSPIC within diversions.
470 2006-07-01 Werner LEMBERG <wl@gnu.org>
472 * tmac/pspic.tmac: Make .PSPIC work for all devices.
473 Print image file name for devices which don't support PS image
475 Handle multiple inclusions.
476 Add lots of comments.
478 * tmac/dvi.tmac, tmac/html.tmac, tmac/ps.tmac: Don't load
481 * tmac/troffrc: Load pspic.tmac.
483 * man/groff_tmac.man: Update .PSPIC documentation.
487 2006-06-29 Werner LEMBERG <wl@gnu.org>
489 * src/roff/troff/input.cpp (interpolate_macro):
490 s/probably/possibly/, as suggested by Keith.
492 2006-06-28 Werner LEMBERG <wl@gnu.org>
494 Add support for \D'p...' to grotty.
496 * src/devices/grotty/grotty.cpp (tty_printer::draw): Move most of
498 (tty_printer::line): This function.
499 (tty_printer::draw): Rewritten; just call either draw_line or
501 (tty_printer::draw_line, tty_printer::draw_polygon): New functions.
503 * src/devices/grotty/grotty.man, NEWS: Document it.
505 2006-06-27 Werner LEMBERG <wl@gnu.org>
507 * src/preproc/refer/command.h (have_bibliography): New variable
510 * src/preproc/refer/command.cpp (bibliography_command): Set
513 * src/preproc/refer/refer.cpp: Initialize `have_bibliography'.
514 (output_references): Emit warning only if `have_bibliography' is
517 2006-06-15 Michail Vidiassov <master@iaas.msu.ru>
519 * fonts/devps/Makefile.sub (DISTFILES): Add freeeuro.afm.
520 * fonts/devps/generate/Makefile (clean): Don't remove symbolsl.afm
523 2006-06-15 Werner LEMBERG <wl@gnu.org>
525 * src/preproc/tbl/tbl.man: Document limitations of .TS/.TE within a
526 macro (as suggested by Tadziu Hoffmann).
528 2006-06-12 Werner LEMBERG <wl@gnu.org>
530 * src/preproc/tbl/tbl.man: Add example for use of .TS/.TE within a
531 macro (as suggested by Tadziu Hoffmann).
533 2006-06-05 Werner LEMBERG <wl@gnu.org>
535 * tmac/strip.sed: Strip `\#' also.
537 * doc/groff.texinfo (Operators in Conditionals): Document usage of
538 \? for string comparison.
540 2006-06-04 Werner LEMBERG <wl@gnu.org>
542 * doc/groff.texinfo: Add more index entries for copy-in mode.
543 (Changing Fonts) <.ft>: Document that a font definition file must
544 not be called `DESC'.
546 2006-05-31 Werner LEMBERG <wl@gnu.org>
548 * src/roff/troff/input.cpp (token::next) <\N>: Catch negative values
551 * doc/Makefile.sub (EXAMPLEFILES): Move gnu.eps to...
552 (PROCESSEDEXAMPLEFILES): Here.
554 2006-05-30 Werner LEMBERG <wl@gnu.org>
556 * src/libs/libgroff/font.cpp (font::load): Reject fonts called
558 Reduce number of false positives for `.if F ...' conditionals.
559 Improve warning messages.
561 2006-05-29 Werner LEMBERG <wl@gnu.org>
563 * tmac/Makefile.sub: Add copyright notice.
564 (NORMALFILES): Add man.tmac and ms.tmac.
565 (SPECIALFILES): Remove man.tmac and ms.tmac.
566 (CLEANADD): Remove man.tmac-sed and ms.tmac-sed.
567 (install_data, uninstall_sub): Don't handle man.tmac and ms.tmac
569 (stamp-sed): Don't handle man.tmac and ms.tmac.
570 Remove obsolete components in sed's regexp.
572 * doc/Makefile.sub (EXAMPLEFILES): Add gnu.eps.
574 * Makefile.in (OTHERDIRS, NOMAKEDIRS): Add hdtbl.
576 2006-05-28 Werner LEMBERG <wl@gnu.org>
578 * doc/groff.texinfo (History): Correct death circumstances of Joe
581 2006-05-27 Werner LEMBERG <wl@gnu.org>
583 * tmac/an-old.tmac (an-do-tag): Simplify.
585 2006-05-26 Werner LEMBERG <wl@gnu.org>
587 * tmac/an-old.tmac (an-do-tag): Make margin characters work.
588 (an-header, an-p-footer): Use named environment.
590 * src/roff/troff/env.cpp (environment::copy): Copy margin character
593 2006-05-21 Werner LEMBERG <wl@gnu.org>
595 * tmac/trace.tmac (de1): Fix serious typo (.di -> .do) and minor
598 2006-05-11 Keith Marshall <keith.d.marshall@ntlworld.com>
600 * src/roff/groff/groff.man: Remove superfluous word `intermediate'.
602 2006-05-10 Keith Marshall <keith.d.marshall@ntlworld.com>
604 * src/roff/groff/groff.man: Update copyright notice.
605 Improved wording to describe effect of `-Z' option.
607 2006-05-06 Werner LEMBERG <wl@gnu.org>
609 * tmac/www.tmac: Decorate `.ds' with trailing `\"' where missing.
610 Normalize handling of `"' in arguments.
611 (PIMG): Remove debug message.
614 2006-05-05 Werner LEMBERG <wl@gnu.org>
616 * src/devices/grohtml/post-html.cpp (page::add_and_encode): Don't
617 swallow character immediately after `\[...]'.
620 2006-05-02 Gaius Mulley <gaius@glam.ac.uk>
622 * tmac/www.tmac (PIMG): Fix the HTML device specific components.
624 2006-05-02 Larry Kollar <kollar@alltel.net>
626 * tmac/www.tmac (PIMG): Really default to `-C' if the alignment
629 2006-04-30 Michail Vidiassov <master@iaas.msu.ru>
631 * src/utils/afmtodit/afmtodit.pl: New option `-c' to add font
632 information as a comment in output.
633 * src/utils/afmtodit/afmtodit.man, NEWS: Document it.
635 2006-04-26 Werner LEMBERG <wl@gnu.org>
637 * src/devices/grohtml/post-html.cpp (html_printer::~html_printer):
638 Handle current_paragraph only if it is non-NULL.
640 * src/libs/libdriver/input.cpp (parse_x_command <'F'>, do_file
641 <'F'>): Use `get_extended_arg' to behave as documented. Reported by
642 Bill Ward <william.a.ward.jr@erdc.usace.army.mil>.
645 Surround the (pseudo) file name for the .pso request with `<' and
648 * src/roff/troff/node.cpp (real_output_file, troff_output_file): Add
649 second parameter to `really_put_filename' and `put_filename'.
650 (troff_output_file::really_put_filename): Emit `<' and `>' around
651 filename if second argument is set.
652 * src/roff/troff/node.h: Updated.
654 * src/roff/troff/input.cpp (file_iterator::file_iterator,
655 file_iterator::set_location): Update to changes in node.cpp.
657 2006-04-25 Tetsurou Okazaki <okazaki@FreeBSD.org>
659 * src/preproc/preconv/preconv.cpp (do_file): Fix conditional
660 preprocessor expression (I18N -> HAVE_ICONV).
661 (main): Fix handling of option `-h'.
662 Fix conditional preprocessor expression.
664 2006-04-04 Werner LEMBERG <wl@gnu.org>
666 Implement new number register `.br' which is set to 1 if a macro has
667 been called as .foo and to 0 if called as 'bar. This is useful for
668 -mtrace so that requests can be reliably traced too.
670 * src/roff/troff/input.cpp (input_iterator): Add virtual function
672 (macro_iterator): Add `with_break' member and `get_break_flag'
675 (input_stack): Add function `get_break_flag'.
676 (break_flag_reg): New number register class.
677 (input_init_requests): Register `.br'.
679 * src/roff/troff/TODO: Updated.
681 * tmac/trace.tmac: s/!!sp/!!!sp/.
682 Modify definitions of `de', `de1', `am', and `am1' to use \n[.br].
684 * docs/groff.texinfo (Requests), man/groff.man, man/groff_diff.man,
687 2006-03-29 Werner LEMBERG <wl@gnu.org>
689 * src/devices/grops/ps.cpp: s/must not/should not/ in warning
690 messages where appropriate.
692 2006-03-28 Werner LEMBERG <wl@gnu.org>
694 * configure.ac: Call AC_PROG_EGREP.
695 * configure: Regenerated.
697 * Makefile.in (EGREP): New variable.
698 (MDEFINES): Add $(EGREP).
700 * src/roff/grog/grog.sh: Treat .TH between .TS and .TE properly
701 (bug reported by Robert Goulding <Goulding.2@nd.edu>).
704 * src/roff/grog/Makefile.sub (grog, grog.old): Use $(EGREP).
706 2006-03-27 Werner LEMBERG <wl@gnu.org>
708 Add two requests `.device' and `.devicem' which are equivalent to
709 `\X' and `\Y', respectively.
711 * src/roff/troff/input.cpp (device_request, device_macro_request):
713 (init_input_requests): Register them.
715 * doc/groff.texinfo (Postprocessor Access), man/groff_diff.man,
716 man/groff.man, NEWS: Document them.
718 2006-03-27 Gaius Mulley <gaius@glam.ac.uk>
720 * src/roff/troff/input.cpp (encode_char): Emit special characters
721 for -Thtml as `\[...]'.
722 * src/devices/grohtml/post-html.cpp (page::add_and_encode): Updated.
724 * doc/groff.texinfo (Postprocessor Access) <\X>: Updated.
726 2006-03-27 Werner LEMBERG <wl@gnu.org>
728 * tmac/Makefile.sub (NORMALFILES, SPECIALFILES): Add various missing
731 2006-03-26 Werner LEMBERG <wl@gnu.org>
733 * doc/groff.texinfo (Writing Macros): More documentation on
734 end-of-macro symbol of `.de'.
735 (Diversions): Minor addition to `.di' description.
737 * src/devices/grops/grops.man: Some clarifications regarding
738 insertion of PostScript snippets.
740 2006-03-25 Michail Vidiassov <master@iaas.msu.ru>
742 Add rules to generate `symbolsl.afm'.
744 * fonts/devps/generate/zapfdr.sed,
745 fonts/devps/generate/symbolsl.awk: New files.
747 * fonts/devps/generate/Makefile (symbolfont, PRINTAFM): New
749 (SS, clean): Updated.
750 (freeeuro.afm): Use $(srcdir).
751 (symbolsl.afm): New rule.
752 (zapfdr.afm): Use zapfdr.sed.
754 2006-03-22 Dwight Aplevich <aplevich@uwaterloo.ca>
756 * src/preproc/pic/pic.y (expr <INT>): Fix code.
758 2006-03-22 Jörgen Grahn <jgrahn@algonet.se>
760 * tmac/sv.tmac: Add missing translations and activate support for
761 other macro packages.
763 2006-03-21 Francis GUDIN <fgudin@nerim.net>
765 * tmac/doc-syms (Dx): New macro to identify DragonFly.
766 (doc-str-St--ieee1275-94, doc-str-St--isoC-amd1,
767 doc-str-St--isoC-tcor1, doc-str-St--isoC-tcor2): New standard
769 (doc-operating-system-FreeBSD-5.5, doc-operating-system-FreeBSD-7.0,
770 doc-operating-system-NetBSD-1.6.3, doc-operating-system-NetBSD-4.0
771 doc-operating-system-DragonFly-*): New operating system strings.
773 * tmac/groff_mdoc.man, NEWS: Document `Dx'.
775 2006-03-21 Werner LEMBERG <wl@gnu.org>
777 * src/preproc/pic/pic.y (object_spec THEN): For compatibility with
778 both DWB pic and dpic, make
786 line right then down;
793 * doc/pic.ms: Document this.
795 2006-03-20 Werner LEMBERG <wl@gnu.org>
797 * doc/pic.ms: With permission of Eric Raymond, put it under the
802 2006-03-19 Werner LEMBERG <wl@gnu.org>
804 * src/preproc/pic/pic.y (expr <INT>): Really return integer part.
806 * src/preproc/pic/objects.cpp (object_spec::make_line): Handle `at'
807 attribute in combination with `with'. Bug reported by Jennifer
808 Sayers <jenjen@mail.usyd.edu.au>.
810 2006-03-19 Miklos Somogyi <msom@netspace.net.au>
812 * doc/groff.texinfo (Manipulating Spacing): Improve documentation of
815 2006-03-18 Werner LEMBERG <wl@gnu.org>
817 * LICENSE: Renamed to...
818 * LICENSES: This. Collect all licensing information in this file.
819 * tmac/README, src/libs/snprintf/README: Removed.
821 * src/devices/grops/grops.man: Add section how to install fonts.
823 * src/utils/xtotroff/xtotroff.c: Add GPL.
825 2006-03-17 Werner LEMBERG <wl@gnu.org>
827 * Makefile.comm (.y.cpp): Fix #line arguments in output.
829 2006-03-13 Werner LEMBERG <wl@gnu.org>
831 * src/preproc/tbl/tbl.man: Mention default length of text blocks.
833 * tmac/doc-common (Os): Add more Darwin versions.
834 * tmac/groff_mdoc.man: Document them.
836 * doc/groff.texinfo (Operators in Conditionals): Mention that `c'
837 works with \N'...' also.
838 * man/groff_diff.man: Ditto. Remove use of future tense where
841 2006-03-12 Michail Vidiassov <master@iaas.msu.ru>
843 * fonts/devps/generate/make-zapfdr, fonts/devps/symbolsl.ps,
844 fonts/devps/zapfdr.ps: Add `%%EndComments' line.
846 2006-03-10 Larry Kollar <kollar@alltel.net>
848 * doc/groff.texinfo (Headers and footers): Document PT, HD, and BT.
850 2006-03-10 Werner LEMBERG <wl@gnu.org>
852 * src/devices/grops/ps.cpp (ps_printer::do_exec, ps_printer::do_def,
853 ps_printer::do_mdef): Overlong lines now cause a warning message,
856 2006-03-09 Werner LEMBERG <wl@gnu.org>
858 * font/devps/generate/make-zapfdr: New script for generating
861 2006-03-08 Werner LEMBERG <wl@gnu.org>
863 * doc/groff.css (pre): Fix `background-color' value.
865 2006-03-04 Larry Kollar <kollar@alltel.net>
867 * tmac/groff_ms.man: Document PT, HD, and BT.
869 2006-03-04 Werner LEMBERG <wl@gnu.org>
871 * src/roff/troff/node.cpp (make_glyph_node): Improve warning message
872 for single-letter glyph names.
874 2006-03-02 Werner LEMBERG <wl@gnu.org>
876 * tmac/sv.tmac: New file; currently holding only the Swedish strings
878 * tmac/hyphen.sv: New hyphenation pattern file for Swedish, taken
880 * tmac/README: Updated.
882 2006-02-27 Werner LEMBERG <wl@gnu.org>
884 * tmac/trans.tmac (Liec, Letdate, Letns!14): Add it (for -mm).
885 * tmac/fr.tmac: Add French translations.
887 * tmac/composite.tmac: Add entry for `:'.
889 2006-02-26 Werner LEMBERG <wl@gnu.org>
891 * doc/Makefile.sub (HTMLEXAMPLEFILESALL): New variable.
893 (install_html, uninstall_sub): Updated.
895 2006-02-26 Bruno Haible <bruno@clisp.org>
897 Introduce Unicode fonts.
899 * font/devhtml/DESC.proto: Mark as unicode.
900 * font/devhtml/R.proto: Remove all charset entries that are already
902 * font/devutf8/DESC.proto: Mark as unicode.
903 * font/devutf8/R.proto: Remove all charset entries.
904 * src/include/font.h (font): New static field `is_unicode'.
905 Change order of fields.
906 * src/libs/libgroff/font.cpp: Include unicode.h.
907 (font::font): Update for changed order of fields.
908 (font::contains, font::get_width, font::get_height, font::get_depth,
909 font::get_italic_correction, font::get_left_italic_correction,
910 font::get_subscript_correction, font::get_character_type,
911 font::get_code, font::get_special_device_encoding): Handle both the
912 explicitly enumerated glyphs and use general code for Unicode fonts.
913 (font::load): Make the charset section optional when the font is
915 (font::load_desc): Recognize the `unicode' attribute.
916 * src/libs/libgroff/fontfile.cpp (font::is_unicode): New variable.
918 2006-02-26 Claudio Fontana <claudio@gnu.org>
920 * Makefile.in: Add comment about DESTDIR.
922 * Makefile.sub: Add DESTDIR to install and uninstall targets
923 to support staged installations.
924 * Makefile.comm: Likewise.
925 * doc/Makefile.sub: Likewise.
926 * contrib/eqn2graph/Makefile.sub: Likewise.
927 * contrib/gdiffmk/Makefile.sub: Likewise.
928 * contrib/grap2graph/Makefile.sub: Likewise.
929 * contrib/pic2graph/Makefile.sub: Likewise.
930 * src/devices/xditview/Makefile.sub: Likewise.
931 * src/preproc/eqn/Makefile.sub: Likewise.
932 * src/roff/grog/Makefile.sub: Likewise.
933 * src/roff/nroff/Makefile.sub: Likewise.
934 * src/utils/afmtodit/Makefile.sub: Likewise.
935 * src/utils/indxbib/Makefile.sub: Likewise.
936 * tmac/Makefile.sub: Likewise.
938 2006-02-24 Werner LEMBERG <wl@gnu.org>
940 * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list): Use entry
942 Remove commented out entries for \' and \` (there are no such glyph
945 * src/libs/libgroff/uniglyph.cpp (unicode_to_glyph_list): Remove
946 commented out entries for \' and \`.
949 * */*: s/legal/valid/ where appropriate.
951 2006-06-23 Werner LEMBERG <wl@gnu.org>
953 * font/devhtml/R.proto, font/devutf8/R.proto: Remove incorrect \'
956 2006-02-22 Werner LEMBERG <wl@gnu.org>
958 Remove all remaining traces from the `shc' glyph.
960 * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list),
961 src/libs/libgroff/uniglyph.cpp (unicode_to_glyph_list): Remove
964 * font/devlatin1/R.proto, font/devcp1046/R.proto: Replace `shc'
965 entry with unnamed glyph.
967 * tmac/html/tmac: Remove `shc' entry from call to `.cflags'.
969 * src/preproc/preconv/preconv.cpp (unicode_entity): Handle U+00AD
972 2006-02-22 Bruno Haible <bruno@clisp.org>
974 Concretize the `glyph' datatype.
976 * src/include/font.h (glyph): Remove class.
977 (glyph): Renamed from struct `glyphinfo'.
978 (glyph_to_index): New inline function.
979 (glyph_to_name): Make extern, not inline.
980 (glyph_to_number): Update.
981 (font): Use `glyph *' instead of `glyph'.
983 * src/libs/libgroff/nametoindex.cpp (charinfo): Inherit from class
984 `glyph'. Make `name' field public.
985 (character_indexer, number_to_glyph, name_to_glyph): Use `glyph *'
987 (glyph_to_name): Renamed from `glyph::glyph_name'.
989 * src/roff/troff/charinfo.h (charinfo): Inherit from class `glyph'.
990 Use `glyph *' instead of `glyph'.
992 * src/roff/troff/input.cpp (name_to_glyph, number_to_glyph): Use
993 `glyph *' instead of `glyph'.
994 (glyph_to_name): Renamed from `glyph::glyph_name'.
996 * src/libs/libgroff/font.cpp: Use `glyph *' instead of `glyph',
997 and `glyph_to_index' instead of `glyph::glyph_index'.
999 * src/include/printer.h (printer): Use `glyph *' instead of `glyph'.
1000 * src/libs/libdriver/printer.cpp: Likewise.
1001 * src/devices/grodvi/dvi.cpp: Likewise.
1002 * src/devices/grohtml/post-html.cpp: Likewise.
1003 * src/devices/grolbp/lbp.cpp: Likewise.
1004 * src/devices/grolj4/lj4.cpp: Likewise.
1005 * src/devices/grops/ps.cpp: Likewise.
1006 * src/devices/grotty/tty.cpp: Likewise.
1008 2006-02-22 Werner LEMBERG <wl@gnu.org>
1010 * font/devdvi/generate/tc.map: Add `sr' glyph.
1011 * font/devdvi/*TC: Regenerated.
1013 * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list): Use entry
1016 2006-02-21 Werner LEMBERG <wl@gnu.org>
1018 * man/groff_char.man: Explain `***' marker.
1020 2006-02-17 Bruno Haible <bruno@clisp.org>
1022 * src/libs/libgroff/nametoindex.cpp (character_indexer): Rename
1023 methods and fields from *_index to *_glyph.
1024 (character_indexer::named_char_glyph): Test for `charNNN' name
1026 (name_to_glyph): ... not here.
1028 2006-02-17 Bruno Haible <bruno@clisp.org>
1030 * src/include/font.h (name_to_glyph): Renamed from
1031 font::name_to_index.
1032 (number_to_glyph): Renamed from font::number_to_index.
1033 (glyph_to_name): Renamed from font::index_to_name.
1034 (glyph_to_number): Renamed from font::index_to_number.
1035 * src/libs/libgroff/nametoindex.cpp: Likewise.
1036 * src/roff/troff/charinfo.h (charinfo::as_glyph): Renamed from
1037 charinfo::get_index.
1039 * src/roff/troff/input.cpp: All callers changed.
1040 * src/roff/troff/node.cpp: Likewise.
1041 * src/libs/libgroff/font.cpp: Likewise.
1042 * src/devices/grops/ps.cpp: Likewise.
1043 * src/devices/grohtml/post-html.cpp: Likewise.
1044 * src/libs/libdriver/printer.cpp: Likewise.
1046 2006-02-17 Werner LEMBERG <wl@gnu.org>
1048 * src/include/ptable.h, src/include/itable.h
1049 (NEXT_PTABLE_SIZE_DEFINED): Use it to avoid multiple declaration
1050 of external symbol `next_ptable_size' (used by both header files).
1052 2006-02-15 Bruno Haible <bruno@clisp.org>
1054 * src/include/font.h (glyphinfo): New class.
1055 (glyph): Change internal representation.
1056 Change constructor signature.
1057 New method glyph::glyph_number().
1058 (glyph::glyph, glyph glyph::undefined_glyph, glyph::glyph_index,
1059 glyph::operator==, glyph::operator!=): Update.
1060 (font::index_to_name, font::index_to_number): New functions.
1062 * src/include/itable.h: New file, based on src/include/ptable.h.
1064 * src/libs/libgroff/nametoindex.cpp: Include itable.h.
1065 (class charinfo): New class.
1066 (class character_indexer): Change table result type from `int' to
1068 Add table with integer key.
1069 (character_indexer::character_indexer): Update.
1070 (character_indexer::ascii_char_index): Update.
1071 (character_indexer::numbered_char_index): Use NULL as name, not a
1072 string starting with a space.
1073 (character_indexer::named_char_index): Update.
1074 (font::number_to_index, font::name_to_index): Remove no-op cast.
1075 (glyph::glyph_name): New method.
1076 * src/roff/troff/charinfo.h (class charinfo): Inherit from class
1078 (NUMBERED): Remove flag bit.
1079 (charinfo::numbered, charinfo::get_index): Update.
1081 * src/roff/troff/input.cpp (charinfo::charinfo): Update.
1082 (charinfo::set_number, charinfo::get_number): Update.
1083 (glyph::glyph_name): New method.
1085 2006-02-15 Werner LEMBERG <wl@gnu.org>
1087 * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list): Fix
1088 entries for `>>', `<<', `*f', and `+f'. Reported by Bruno.
1090 2006-02-13 Werner LEMBERG <wl@gnu.org>
1092 * font/devps/prologue.ps (RE): Check `UniqueID' also, similar to
1095 2006-02-11 Werner LEMBERG <wl@gnu.org>
1097 * src/include/font.h: s/glyph_t/glyph/.
1100 * src/devices/grotty/tty.cpp: s/glyph/tty_glyph/.
1101 s/output_character_t/output_character/.
1103 2006-02-11 Bruno Haible <bruno@clisp.org>
1105 New accessor method glyph_t::glyph_name().
1107 * src/include/ptable.h (declare_ptable): Add a return value to the
1108 `define' method, and declare a `lookupassoc' method.
1109 (implement_ptable): Return the stored key in `define'. Implement
1111 * src/include/font.h (glyph_t): Add `name' field. Add an argument
1113 (glyph_t::glyph_name): New method.
1115 * src/libs/libgroff/nametoindex.cpp (character_indexer): Change
1116 return type of methods and field member type to glyph_t.
1117 (character_indexer::character_indexer): Update.
1118 (character_indexer::ascii_char_index): Allocate a name for the
1120 Return a glyph_t with name.
1121 (character_indexer::numbered_char_index): Return a glyph_t without a
1123 (character_indexer::named_char_index): Return a glyph_t with a name.
1124 (font::number_to_index, font::name_to_index): Update.
1126 * src/roff/troff/input.cpp (charinfo::charinfo): Use the symbol as
1129 2006-02-11 Bruno Haible <bruno@clisp.org>
1131 * src/devices/grotty/tty.cpp (output_character_t): New type.
1132 (tty_printer::make_bold, tty_printer::add_char,
1133 tty_printer::put_char): Change argument type to output_character_t.
1134 (crossings): Change element type to output_character_t.
1136 2006-02-11 Bruno Haible <bruno@clisp.org>
1138 Make the glyph data type abstract.
1140 * src/include/font.h (glyph_t): New class.
1141 (name_to_index, number_to_index): Change return type to glyph_t.
1142 (font::contains, font::get_width, font::get_height, font::get_depth,
1143 font::get_character_type, font::get_kern, font::get_skew,
1144 font::get_italic_correction, font::get_left_italic_correction,
1145 font::get_subscript_correction, font::get_code,
1146 font::get_special_device_encoding, font::add_entry,
1147 font::copy_entry, font::add_kern, font::hash_kern): Change argument
1150 * src/libs/libgroff/font.cpp (font_kern_list): Change members
1151 type and constructor argument types to glyph_t.
1152 (font::contains, font::get_width, font::get_height, font::get_depth,
1153 font::get_character_type, font::get_kern, font::get_skew,
1154 font::get_italic_correction, font::get_left_italic_correction,
1155 font::get_subscript_correction, font::get_code,
1156 font::get_special_device_encoding, font::add_entry,
1157 font::copy_entry, font::add_kern, font::hash_kern): Change argument
1159 (font::load): Use glyph_t variables.
1161 * src/libs/libgroff/nametoindex.cpp (name_to_index,
1162 number_to_index): Change return type to glyph_t.
1164 * src/roff/troff/charinfo.h (charinfo::index): Change type to
1166 (charinfo::get_index): Change return type to glyph_t.
1168 * src/roff/troff/env.cpp: Include font.h.
1170 * src/roff/troff/node.cpp: Include font.h before charinfo.h.
1172 * src/roff/troff/input.cpp: Include font.h before charinfo.h.
1173 (charinfo::charinfo): Update.
1174 (name_to_index, number_to_index): Change return type to glyph_t.
1176 * src/include/printer.h (printer::set_char_and_width): Change return
1179 * src/libs/libdriver/printer.cpp (printer::set_char_and_width):
1180 Change return type to glyph_t.
1182 * src/devices/grodvi/dvi.cpp (dvi_printer::set_char): Change
1183 argument type to glyph_t.
1185 * src/devices/grohtml/post-html.cpp (page::add_and_encode): Update.
1186 (html_printer::space_glyph): Renamed from space_char_index.
1187 (html_printer::add_to_sbuf, html_printer::sbuf_continuation,
1188 html_printer::overstrike, html_printer::set_char): Change argument
1190 (html_printer::set_char_and_width): Change return type to glyph_t.
1192 * src/devices/grolbp/lbp.cpp (lbp_printer::set_char): Change
1193 argument type to glyph_t.
1195 * src/devices/grolj4/lj4.cpp (lj4_printer::set_char): Change
1196 argument type to glyph_t.
1198 * src/devices/grops/ps.cpp (ps_printer::space_glyph): Renamed from
1200 (ps_printer::set_subencoding, ps_printer::set_char): Change argument
1203 * src/devices/grotty/tty.cpp (tty_printer::set_char): Change
1204 argument type to glyph_t.
1206 2006-02-11 Bruno Haible <bruno@clisp.org>
1208 * src/roff/troff/input.cpp (font::name_to_index): Never return a
1211 * src/libs/libgroff/font.cpp (font::load): Remove failure tests for
1212 font::name_to_index.
1214 2006-02-10 Werner LEMBERG <wl@gnu.org>
1216 * doc/groff.texinfo (Assigning Formats): Number registers are always
1218 Apply some rephrasing, contributed by Michael Burt.
1220 2006-02-07 Werner LEMBERG <wl@gnu.org>
1222 * tmac/fr.tmac <ms>: Set `HY' register.
1224 2006-02-07 Werner LEMBERG <wl@gnu.org>
1226 Add framework for simple adaptation of the main macro packages (mm,
1227 me, ms, mom) to different locales. In particular, add support for
1228 French. For activation, simply use `-mfr' as the last macro
1229 package. This feature has been contributed by Fabrice Ménard
1230 <menard.fabrice@wanadoo.fr>.
1232 * tmac/fr.tmac, tmac/trans.tmac, tmac/hyphen.fr, tmac/LOCALIZATION:
1234 * tmac/README: Mention hyphen.fr.
1235 * man/groff_tmac.man: Mention fr.tmac.
1238 2006-01-27 Werner LEMBERG <wl@gnu.org>
1240 * man/groff_font.man: Updated documentation of `entity_name' field.
1243 2006-01-27 Bruno Haible <bruno@clisp.org>
1245 * font/devhtml/R.proto: Remove the entity names from the font's
1246 special_encoding_encoding column.
1247 * src/devices/grohtml/post-html.cpp (get_html_entity): New function,
1248 handling the entity names here.
1249 (get_html_translation): Use it. Change return type to `const
1251 (page::add_and_encode): Update, removing a useless cast.
1253 2006-01-26 Werner LEMBERG <wl@gnu.org>
1255 This change is based on a patch by Bruno Haible <bruno@clisp.org>.
1257 * src/include/device.h: Add comments.
1258 * src/include/font.h: Add comments.
1259 * src/include/unicode.h: Likewise.
1260 * src/include/ptable.h, src/libs/libgroff/ptable.cpp: Likewise.
1262 2006-01-26 Keith Marshall <keith.d.marshall@ntlworld.com>
1264 Suppress `.st' request emission by `grn'.
1266 * src/preproc/grn/main.cpp (USE_ST_REQUEST): New macro.
1269 2006-01-22 Werner LEMBERG <wl@gnu.org>
1271 * install-sh: New version; taken from texinfo CVS.
1273 2006-01-21 Werner LEMBERG <wl@gnu.org>
1275 * src/preproc/preconv/preconv.cpp (main): Set program_name. Bug
1276 reported by Alexander E. Patrakov <patrakov@ums.usu.ru>.
1278 2006-01-19 Bruno Haible <bruno@clisp.org>
1280 Let `make -k install' install more files.
1282 * Makefile.in (MAKE_K_FLAG): New variable. Use it everywhere where
1283 $(MAKE) and $(MDEFINES) are used.
1284 (CPROGDIRS): Remove $(XPROGDIRS). Treat $(XPROGDIRS) like
1285 $(CPROGDIRS) everywhere.
1286 ($(DEVDIRS) $(XDEVDIRS) $(OTHERDEVDIRS) $(TTYDEVDIRS)): Don't depend
1288 ($(OTHERDIRS)): Likewise.
1291 * src/devices/grohtml/post-html.cpp (get_html_translation): Remove
1292 failure test for font::name_to_index -- it can never fail.
1294 2006-01-19 Werner LEMBERG <wl@gnu.org>
1296 * src/devices/grops/grops.man: Fix section on creating EPS files.
1297 Don't use future time in manual.
1300 2006-01-15 Gaius Mulley <gaius@glam.ac.uk>
1302 * tmac/www.tmac: New macro LINKSTYLE which allows users to set
1303 various typographical URL attributes for non-HTML devices.
1305 * tmac/groff_www.man: Document LINKSTYLE.
1307 2006-01-11 Werner LEMBERG <wl@gnu.org>
1309 * configure.ac: Test for getc_unlocked (needed for localcharset).
1310 * configure, src/include/config.hin: Regenerated.
1312 * src/libs/libgroff/Makefile.sub (EXTRA_CFLAGS): Define
1315 * src/libs/libgroff/relocatable.h: New dummy header file for
1318 * src/libs/libgroff/localcharset.c: Updated to (unchanged) CVS
1321 2006-01-10 Bruno Haible <bruno@clisp.org>
1323 Work around unportability of nl_langinfo(CODESET).
1325 * m4/glibc21.m4: New file, from gnulib.
1326 * Makefile.sub (M4MACROS): Add m4/glibc21.m4.
1327 * configure.ac: Also test for stddef.h, and invoke jm_GLIBC21.
1328 * Makefile.in (HOST, GLIBC21): New variables.
1329 (MDEFINES): Pass them to subdirectories.
1330 * src/include/relocate.h (relocatep): Define with C linkage.
1331 * src/include/localcharset.h: New file, from gnulib.
1332 * src/libs/libgroff/localcharset.c: New file, from gnulib with a
1333 modification for relocate().
1334 * src/libs/libgroff/config.charset: New file, from gnulib.
1335 * src/libs/libgroff/ref-add.sin: New file, from gnulib.
1336 * src/libs/libgroff/ref-del.sin: New file, from gnulib.
1337 * src/libs/libgroff/Makefile.sub (EXTRA_CFLAGS): Also define LIBDIR.
1338 (OBJS): Add localcharset.o.
1339 (CSRCS): Add localcharset.c.
1340 (all): Add dependencies to charset.alias, ref-add.sed, ref-del.sed.
1341 (charset.alias): New rule.
1342 (PACKAGE): New variable.
1343 (ref-add.sed, ref-del.sed): New rules.
1344 (MKINSTALLDIRS): New variable.
1345 (install_data): Depend on install_charset_data.
1346 (install_charset_data): New rule for creating or updating
1348 (uninstall_sub): Depend on uninstall_charset_data.
1349 (uninstall_charset_data): New rule for uninstalling or updating
1351 * src/preproc/preconv/preconv.cpp: Include localcharset.h instead
1353 (main): Initialize default_encoding from locale_charset() instead of
1354 nl_langinfo(CODESET).
1356 * aclocal.m4, configure, src/include/config.hin: Regenerated.
1358 2006-01-10 Werner LEMBERG <wl@gnu.org>
1360 * src/preproc/preconv/preconv.cpp (conversion_iconv): Use
1361 ICONV_CONST in call to iconv. Reported by Robert Goulding.
1363 2006-01-07 Werner LEMBERG <wl@gnu.org>
1365 * fonts/devps/generate/freeeuro.sfd: Run auto-hinter with recent
1367 Bump font version to 001.001.
1369 * fonts/devps/generate/Makefile (freeeuro.afm, freeeuro.pfa):
1370 Call fontforge, not pfaedit.
1372 * fonts/devps/freeeuro.afm, fonts/devps/freeeuro.pfa: Regenerated.
1374 2006-01-05 Ruslan Ermilov <ru@FreeBSD.org>
1376 * tmac/doc-common: Add new FreeBSD and NetBSD versions.
1377 * tmac/groff_mdoc.man: Updated.
1379 2006-01-05 Werner LEMBERG <wl@gnu.org>
1381 * src/preproc/preconv/preconv.cpp: s/debug/debug_flag/.
1382 (raw_flag): New global variable.
1383 (do_file): Use .lf to set file name (if `raw_flag' isn't set).
1384 Don't pass BOM to `conversion_utf8'.
1386 (main): Handle `-r' command line switch to set `raw_flag'.
1387 (get_BOM): Fix encodings in `BOM_table'.
1389 * src/preproc/preconv/preconv.man: New file. Not complete yet.
1390 * src/preproc/proconv/Makefile.sub (MAN1): New variable.
1392 2006-01-04 Werner LEMBERG <wl@gnu.org>
1394 * src/preproc/preconv/preconv.cpp (emacs_to_mime): As suggested by
1395 Bruno, comment out most encodings to support only a small set of
1396 coding tags, thus reducing potential problems with legacy encodings
1397 and character sets in the future.
1398 Add many XEmacs coding tags (now commented out).
1400 (check_encoding_tag): Renamed to...
1401 (check_coding_tag): This.
1402 (get_BOM): Return encoding as specified by BOM.
1403 Test for UTF32-LE too.
1404 (do_file): Don't check for coding tag if a BOM has been found.
1406 2006-01-03 Bruno Haible <bruno@clisp.org>
1408 * m4/groff.m4: Renamed from aclocal.m4.
1409 * m4/codeset.m4: New file, from gnulib.
1410 * m4/iconv.m4: New file, from gnulib.
1411 * m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4: New files, from
1413 * config.rpath: New file, from gnulib.
1414 * config.guess, config.sub: New files, from gnulib.
1415 * Makefile.sub (M4MACROS): New variable.
1416 (configure): Fix typo.
1417 (aclocal.m4): New rule.
1418 (stamp-h.in): Depend on aclocal.m4.
1419 * configure.ac: Invoke AM_ICONV and AM_LANGINFO_CODESET.
1420 * Makefile.in (LIBICONV): New variable.
1421 (MDEFINES): Pass it to recursive makes.
1422 * src/preproc/preconv/preconv.cpp: Use HAVE_LANGINFO_CODESET and
1423 HAVE_ICONV instead of I18N macro.
1424 * src/preproc/preconv/Makefile.sub (EXTRA_LDFLAGS): New variable.
1426 * aclocal.m4, configure, src/include/config.hin: (Re)generated.
1428 2006-01-03 Werner LEMBERG <wl@gnu.org>
1430 * doc/Makefile.in (webpage.html): Simplify.
1431 * doc/Makefile.sub (webpage.html): Synchronize with doc/Makefile.in.
1432 * doc/webpage.ms, tmac/groff_www.man, tmac/www.tmac: Minor updates.
1434 2006-01-01 Werner LEMBERG <wl@gnu.org>
1436 * tmac/doc-common (Os): Add some Darwin versions.
1437 * tmac/groff_mdoc.man: Document them.
1439 2006-01-01 Bruno Haible <bruno@clisp.org>
1441 * src/preproc/preconv/preconv.cpp (emacs_to_mime): Various
1443 . Don't map ascii to latin-1.
1444 . Don't use IBMxxx encodings but cpxxx for portability.
1445 . Map cp932, cp936, cp949, cp950 to itself.
1446 (emacs2mime): Protect calls to strcasecmp.
1447 (conversion_iconv): Add missing call to iconv_close.
1448 (do_file): Emit error message in case of unsupported encoding.
1450 2005-12-31 Werner LEMBERG <wl@gnu.org>
1452 Integrate preconv into the groff binary. Changes based on a patch
1453 from Michail Vidiassov.
1455 * src/roff/groff/pipeline.h (MAX_COMMANDS): Increase by 1.
1457 * src/roff/groff/groff.cpp (PRECONV_INDEX): New macro.
1458 (SOELIM_INDEX): Updated.
1459 (help, synopsis): Updated.
1460 (main): Add command line options `-k' and `-K enc' to select
1462 Add support for GROFF_ENCODING environment variable.
1464 * src/roff/groff/groff.man: Updated and revised.
1467 Start with autoconf support for preconv.
1469 * configure.ac: Call AC_C_BIGENDIAN.
1470 * configure, src/include/config.hin: Regenerated.
1472 2005-12-30 Werner LEMBERG <wl@gnu.org>
1474 New preprocessor `preconv' to convert input encodings to something
1475 groff can understand. Not yet integrated within groff. Proper
1476 autoconf stuff is missing too.
1478 Tomohiro Kubota has written a first draft of this program, and some
1479 ideas have been reused (while almost no code has been taken
1482 * src/preproc/preconv/preconv.cpp. src/preproc/preconv/Makefile.sub:
1485 * MANIFEST, Makefile.in (CCPROGDIRS), test-groff.in
1486 (GROFF_BIN_PATH): Add preconv.
1488 2005-12-12 Werner LEMBERG <wl@gnu.org>
1490 * aclocal.m4 (GROFF_MAKEINFO): Fix regexps to be POSIX conformant.
1491 In particular, don't use `\+' since it is a GNU sed extension.
1493 * configure: Regenerated.
1495 2005-12-09 Werner LEMBERG <wl@gnu.org>
1497 * src/libs/libgroff/make-uniuni: New script to generate uniuni.cpp.
1499 * src/libs/libgroff/uniuni.cpp: Regenerated, using data from Unicode
1503 * src/utils/afmtodit/make-afmtodit-tables: New script to generate
1506 * src/utils/afmtodit/afmtodit.tables: New file, representing Unicode
1509 * src/utils/afmtodit/afmtodit.pl (%unicode_decomposed,
1510 %AGL_to_unicode): Removed. Replace it with a tag.
1512 * src/utils/afmtodit/Makefile.sub (afmtodit): Adjust sed expression
1513 to replace tag with actual file contents.
1515 2005-12-08 Werner LEMBERG <wl@gnu.org>
1517 The change 2005-06-20 can indeed cause problems, so we follow the
1518 advice by using marks.
1520 * font/devps/prologue.ps (PBEGIN): Use `mark'.
1521 (PEND): Use `cleartomark'.
1523 2005-12-07 Michail Vidiassov <master@iaas.msu.ru>
1525 * src/utils/afmtodit.pl: Fix kerning output to avoid warnings for
1526 glyphs which have kern values but aren't handled (glyph variants,
1529 2005-12-02 Werner LEMBERG <wl@gnu.org>
1531 * src/devices/grops/ps.cpp (ps_printer::get_subfont): Use correct
1532 subfont index. Reported by Michail Vidiassov <master@iaas.msu.ru>.
1534 2005-11-28 Gaius Mulley <gaius@glam.ac.uk>
1536 * doc/Makefile.in: Separate rule for webpage.html so that extra
1537 command line options can be passed to grohtml.
1538 * doc/groff.css: Change all margins to 0%.
1539 * doc/webpage.ms: Now use new macros ALN, LNS, and LNE so that left
1540 navigation is exploited. Also update webpage to contain new
1541 sections on licenses, mailing lists, cvs/ftp access, groff
1542 dependencies, and bug reports.
1543 * tmac/groff_www.man: Document the new macros ALN, LNS, and LNE.
1544 * tmac/www.tmac: Implement the new macros ALN, LNS, and LNE.
1546 2005-11-25 Gaius Mulley <gaius@glam.ac.uk>
1548 * src/devices/grohtml/post-html.cpp
1549 (html_printer::do_file_components): Add fputs calls to emit the
1550 head contents and shut down the head tag whenever a new file
1551 component is generated.
1553 2005-11-22 Gaius Mulley <gaius@glam.ac.uk>
1555 * src/devices/grohtml/post-html.cpp (html_printer::flush_page): Add
1556 call to flush_text to flush any outstanding html tags on the
1559 2005-11-18 Werner LEMBERG <wl@gnu.org>
1561 * aclocal.m4 (GROFF_MAKEINFO): Use `groff.info' in tests.
1562 Announce makeinfo version.
1563 * configure: Regenerated.
1565 2005-11-18 Mike Frysinger <vapier@gentoo.org>
1567 * Makefile.in: Declare proper dependencies between make targets.
1569 * doc/Makefile.in: Rename groff info page to `groff.info'.
1570 * doc/Makefile.sub: Likewise.
1571 * doc/groff.texinfo: Likewise.
1573 2005-11-17 Peter O'Gorman <mlists@thewrittenword.com>
1575 * src/utils/pfbtops/pfbtops.c, src/utils/xtotroff/xtotroff.c: Move
1576 definition of __GETOPT_PREFIX to the beginning of file to ensure
1577 that it is defined even on platforms where getopt.h is already
1578 included by other header files.
1580 2005-11-10 Gaius Mulley <gaius@glam.ac.uk>
1582 * src/devices/grohtml/post-html.cpp (html_printer::do_heading):
1583 Reset font to NULL to ensure that a font block is recreated during
1586 2005-11-04 Werner LEMBERG <wl@gnu.org>
1588 * aclocal.m4 (GROFF_MAKEINFO): Fix sed expression.
1589 * configure: Regenerated.
1591 2005-10-27 Werner LEMBERG <wl@gnu.org>
1593 * aclocal.m4 (GROFF_MAKEINFO): New function for checking whether
1594 makeinfo 4.8 or newer is available.
1595 * configure.ac: Call GROFF_MAKEINFO.
1596 * configure: Regenerated.
1598 * Makefile.in (MAKEINFO): Use autoconf variable.
1599 (MDEFINES): Add MAKEINFO.
1601 * doc/Makefile.in (MAKEINFO): Use autoconf variable.
1602 * doc/Makefile.sub (MAKEINFO): Remove.
1604 2005-10-26 Werner LEMBERG <wl@gnu.org>
1606 * REVISION: Set to 3.
1608 2005-10-17 Werner LEMBERG <wl@gnu.org>
1610 Mention $MANPAGER variable used with some `man' systems.
1612 * doc/webpage.ms, src/devices/grotty/grotty.man, NEWS: Updated.
1614 2005-09-13 Werner LEMBERG <wl@gnu.org>
1616 * tmac/hyphenex.us: New version (`ushyphex.tex' from ftp.dante.de).
1618 2005-09-04 Werner LEMBERG <wl@gnu.org>
1620 Version 1.19.2 released
1621 =======================
1623 * tmac/groff_ms.man, doc/groff.texinfo: Synchronize.
1625 * doc/webpage.ms: Updated.
1627 * install-sh, mkinstalldirs: New versions; taken from texinfo CVS.
1629 2005-09-04 Jörgen Grahn <jgrahn@algonet.se>
1631 * tmac/groff_ms.man: Document `PO' better.
1633 2005-09-03 Werner LEMBERG <wl@gnu.org>
1635 * NEWS: Document grotty changes.
1637 2005-09-01 Keith Marshall <keith.d.marshall@ntlworld.com>
1639 Backward compatibility support for `man' program.
1641 * tmac/an-old.tmac (LL): Initialize it to respect prior LL register
1642 assignment, prior `.ll' request and then package defaults, in this
1643 specified order of decreasing priority.
1645 * tmac/groff_man.man, doc/groff.texinfo (Man options): Document
1646 altered `LL' register initialization priorities.
1648 2005-08-29 Gary W. Swearingen <garys@opusnet.com>
1650 * tmac/groff_mdoc.man: Go into more details how the `AUTHORS'
1651 section should look like.
1653 2005-08-29 Werner LEMBERG <wl@gnu.org>
1655 * tmac/groff_mdoc.man: The month's name in a call to .Dd shouldn't
1658 2005-08-27 Bernd Warken
1660 * tmac/groff_man.man: Add man(7) too SEE ALSO and more minor
1663 2005-08-11 Bernd Warken
1665 * tmac/www.tmac (URL, MTO): Handle empty \\$1 better.
1667 2005-08-09 Bernd Warken
1669 * tmac/www.tmac (URL, MTO): Use bold series if color support is
1672 2005-08-02 Bernd Warken
1674 * doc/Makefile.sub (uninstall_sub): Use --remove, not --delete
1675 as argument to $(INSTALL_INFO). The latter isn't portable.
1676 Remove $(HTMLEXAMPLEFILES) too.
1678 * Makefile.in (uninstall_dirs): Remove $(datadir)/doc/groff and
1680 Suppress warning messages and return always true.
1682 * tmac/Makefile.sub (uninstall_sub): Remove www.tmac too.
1684 2005-07-02 Bernd Warken
1686 * src/devices/xditview/gxditview.man: Change many `.I' to `.B'.
1687 * man/groff_out.man: More markup and minor improvements.
1688 * src/roff/groff/groff.man: Minor improvements.
1690 2005-06-28 Werner LEMBERG <wl@gnu.org>
1692 * ChangeLog: Split off older entries into...
1693 * ChangeLog.115 ChangeLog.116, ChangeLog.117, ChangeLog.118: New
1696 2005-06-26 Bernd Warken
1698 * src/devices/xditview/gxditview.man: More minor fixes.
1700 2005-06-24 Werner LEMBERG <wl@gnu.org>
1702 * src/preproc/pic/troff.cpp (troff_output::set_fill,
1703 troff_output::set_color, troff_output::reset_color): Use .bcolor and
1704 .fcolor instead of \m and \M, respectively.
1706 2005-06-23 Bernd Warken
1708 * src/devices/xditview/gxditview.man: More minor fixes.
1709 * README: Formatting issues.
1710 Mention some problems with Debian.
1712 2005-06-23 Bernd Warken
1714 * src/devices/xditview/gxditview.man: Revised and improved.
1716 2005-06-22 Werner LEMBERG <wl@gnu.org>
1718 Another round in fixing getopt problems. Hopefully the last one!
1719 This time we use the getopt stuff from gnulib and define a prefix
1720 unconditionally so that there are no collisions with any other
1721 getopt implementations. This is a slight waste of space in case
1722 we already use a GNU getopt implementation, but on
1723 the other hand it really simplifies life.
1725 * src/include/getopt.h: Use gnulib version.
1727 * src/include/getopt_int.h: Use gnulib version.
1729 * src/include/groff-getopt.h: Removed. Obsolete now.
1731 * src/include/lib.h: Regarding getopt, don't handle any platform
1732 specially; just include getopt.h.
1733 (__GETOPT_PREFIX): Define (before getopt.h).
1735 * src/include/Makefile.sub (HDRS): Updated.
1737 * src/libs/libgroff/getopt1.c, src/libs/libgroff/getopt.c: Use
1740 * src/libs/libgroff/Makefile.sub (EXTRA_CFLAGS): Set
1743 * src/utils/pfbtops/pfbtops.c, src/utils/xtotroff/xtotroff.c
1744 (__GETOPT_PREFIX): Define (before getopt.h).
1746 2005-06-21 Werner LEMBERG <wl@gnu.org>
1748 * src/include/lib.h: Provide a fix for Mac OS X to not include
1751 2005-06-20 Denis M. Wilson <dmw@oxytropis.plus.com>
1753 * font/devps/prologue.ps (EP): Dont' use `bind'. Reason: Using
1754 `bind' to define a procedure which contains `showpage' means that an
1755 invocation of `showpage' may execute wrongly (the exact effect
1756 depending on the interpreter). Not usually a problem except under
1757 transformations, such as combining pages.
1758 (PEND): Don't call `clear'. Reason: Using `clear' in the definition
1759 of /PEND means that stack underflow will occur if the stack is
1760 deliberately non-empty before document inclusion. If included
1761 files are found to be generally badly behaved, we could replace the
1762 `clear' with `mark' in /PBEGIN and `cleartomark' in /PEND (I've
1763 never found this necessary).
1765 2005-06-20 Jörgen Grahn <jgrahn@algonet.se>
1767 * src/preproc/soelim/soelim.cpp (do_file): Append trailing zero
1768 earlier to get correct error message.
1770 2005-06-16 Bernd Warken
1771 * src/roff/nroff/nroff.sh: Add support for iso-8859-15.
1773 2005-06-15 Werner LEMBERG <wl@gnu.org>
1775 Another try to update getopt files. This time we add a dummy
1776 gettext.h file to satisfy the dependency.
1778 * src/include/getopt.h, src/libs/libgroff/getopt.c,
1779 src/libs/libgroff/getopt1.c: Updated from GNU libc CVS.
1781 * src/include/getopt_int.h: New file (from GNU libc CVS).
1783 * src/include/gettext.h: Dummy file which just defines a gettext()
1786 * src/include/groff-getopt.h: Updated.
1788 * src/include/Makefile.sub (HDRS): Add getopt_int.h and gettext.h.
1791 * src/libs/libdriver/input.cpp (IntArray): Remove superfluous
1792 `const' keywords in return value.
1794 * src/preproc/html/pushback.cpp (pushBackBuffer::~pushBackBuffer):
1795 Remove redundant variable `old'.
1796 (pushBackBuffer::skipToNewline): Remove redundant variable `ch'.
1798 * src/preproc/tbl/main.cpp (process_table): Remove redundant
1802 Fix more friend name injection problems since modern C++ compilers
1803 fail otherwise. We simply provide (global) declarations for all
1804 functions declared as friends. This is not really necessary but
1807 * src/preproc/eqn/lex.cpp: Provide declarations for get_char,
1808 peek_char, and get_location.
1810 * src/preproc/refer/ref.h: Provide declarations for
1811 compare_reference, same_reference, same_year, same_date,
1812 same_author_last_name, and same_author_name.
1814 * src/roff/troff/div.h: Provide declarations for do_divert and
1817 * src/roff/troff/env.h: Provide declarations for title_length,
1818 space_size, fill, no_fill, adjust, no_adjust, center, right_justify,
1819 vertical_spacing, post_vertical_spacing, line_spacing, line_length,
1820 indent, temporary_indent, do_underline, do_input_trap, set_tabs,
1821 margin_character, no_number, number_lines, leader_character,
1822 tab_character, hyphenate_request, no_hyphenate,
1823 hyphen_line_max_request, hyphenation_space_request,
1824 hyphenation_margin_request, line_width, tabs_save, tabs_restore,
1825 line_tabs_request, widow_control_request, and do_divert.
1827 * src/roff/troff/input.cpp: Provide declaration for chop_macro.
1829 * src/roff/troff/node.cpp: Provide declarations for class
1831 Provide declaration for make_tfont.
1833 2005-05-29 Werner LEMBERG <wl@gnu.org>
1835 * doc/fdl.texi: Updated to version 1.2. Reported by Bernd Warken.
1837 2005-05-28 Werner LEMBERG <wl@gnu.org>
1839 * contrib/pdfmark/Makefile.sub (.ms.pdf): Use `--stylesheet', not
1842 * src/devices/grolbp/lbp.cpp, src/devices/grolbp/lbp.h: Remove
1843 redundant semicolons.
1845 * src/preproc/eqn/Makefile.sub, src/preproc/html/Makefile.sub,
1846 src/preproc/soelim/Makefile.sub, src/preproc/tbl/Makefile.sub:
1847 Define `MLIB'. Some compilers need this for linking with libgroff.
1849 2005-05-27 Werner LEMBERG <wl@gnu.org>
1851 * MANIFEST, README, doc/webpage.ms: Updated.
1853 2005-05-26 Werner LEMBERG <wl@gnu.org>
1855 * All affected files: Update postal address of FSF.
1857 2005-05-25 Keith Marshall <keith.d.marshall@ntlworld.com>
1860 * README: More fixes.
1862 * README.CVS: Removed. Its contents is now part of the README file.
1864 2005-05-21 Werner LEMBERG <wl@gnu.org>
1866 * README: Updated. Based on a patch from Bernd Warken.
1868 2005-05-16 Keith Marshall <keith.d.marshall@ntlworld.com>
1870 Miscellaneous script portability enhancements.
1872 * aclocal.m4: (GROFF_CSH_HACK): Add space in shebang prototype for
1873 generated conftest.sh script, conforming to portability
1874 recommendation in autoconf docs.
1875 * configure: Likewise, for code generated by GROFF_CSH_HACK.
1876 * contrib/eqn2graph/eqn2graph.sh: Add space in shebang, conforming
1877 to portability recommendation in autoconf docs.
1878 * contrib/gdiffmk/gdiffmk.sh: Likewise.
1879 * contrib/gdiffmk/tests/runtests.in: Likewise.
1880 * contrib/grap2graph/grap2graph.sh: Likewise.
1881 * contrib/groffer/groffer.sh: Likewise.
1882 * contrib/mm/mmroff.pl: Likewise.
1883 * contrib/mom/momdoc/appendices.html: Likewise.
1884 * contrib/pic2graph/pic2graph.sh: Likewise.
1885 * font/devps/generate/afmname: Likewise.
1886 * src/devices/xditview/ad2c: Likewise.
1887 * src/preproc/eqn/neqn.sh: Likewise.
1888 * src/roff/grog/grog.pl: Likewise.
1889 * src/roff/grog/grog.sh: Likewise.
1890 * src/roff/nroff/nroff.sh: Likewise.
1891 * PROBLEMS: Likewise, in embedded script examples.
1893 2005-05-16 Keith Marshall <keith.d.marshall@ntlworld.com>
1895 Improve portability of `pdfroff' shell script.
1897 * arch/misc/shdeps.sh: Add space in shebang, conforming to
1898 portability guidelines in `autoconf' docs.
1899 (PATH_SEARCH_SETUP): New substitution; emits PATH_SEPARATOR
1900 initialization code. Used by contrib/pdfmark/pdfroff.sh's
1901 `searchpath' function.
1903 2005-05-14 Werner LEMBERG <wl@gnu.org>
1905 * contrib/pic2graph/pic2graph.sh, contrib/graph2graph.sh,
1906 contrib/eqn2graph.sh: Add option `-trim' to `convert' which is
1907 needed for newer ImageMagick versions.
1909 2005-05-07 Werner LEMBERG <wl@gnu.org>
1911 * src/preproc/refer/refer.man: Many small typographic fixes.
1913 2005-05-06 Jeff Conrad <jeff_conrad@msn.com>
1915 * src/devices/grohtml/post-html.cpp (assert_state::~assert_state):
1916 Use `char *' cast for a_delete.
1918 2005-05-03 Werner LEMBERG <wl@gnu.org>
1920 * src/libs/libgroff/maxpathname.cpp: Include stdlib.h.
1921 src/libs/libgroff/relocate.cpp: Use path_name_max everywhere.
1923 2005-05-03 Jeff Conrad <jeff_conrad@msn.com>
1925 * src/devices/grohtml/post-html.cpp: Use casts to `char *' if using
1926 `a_delete' for `const char *'.
1928 2005-05-03 Werner LEMBERG <wl@gnu.org>
1930 * src/devices/grohtml/post-html.cpp,
1931 src/devices/grohtml/html-table.cpp,
1932 src/devices/grohtml/html-text.cpp, src/devices/grohtml/output.cpp:
1933 Replace malloc/free with new/delete/a_delete.
1935 * src/devices/grolbp/lbp.h: Remove superfluous semicolons which
1936 are prohibited with ANSI C++.
1937 (lbpprintf, vdmprintf): Remove useless `inline' keyword (since the
1938 function has a variable number of arguments).
1940 * src/preproc/grn/main.cpp (doinput): Change return type to `int'.
1941 Simplify function and update all callers.
1943 2005-05-02 Werner LEMBERG <wl@gnu.org>
1945 Undo getopt changes from 2005-04-30. We don't want a dependency
1948 * src/include/getopt_int.h: Removed.
1950 * src/include/getopt.h, src/include/groff-getopt.h,
1951 src/include/Makefile.sub, src/libs/libgroff/getopt.c,
1952 src/libs/libgroff/getopt1.c: Revert to previous version.
1955 * src/include/nonposix.h (access) [_MSC_VER]: New macro.
1957 * src/include/posix.h (F_OK): Define conditionally.
1959 * src/devices/grotty/tty.cpp (tty_printer::make_underline): Use
1960 different variable name in second `for' loop to avoid MSVC compiler
1963 2005-04-30 Werner LEMBERG <wl@gnu.org>
1965 AC_TYPE_SIGNAL from current autoconf can fail if CC=g++.
1967 * aclocal.m4 (GROFF_TYPE_SIGNAL): New function.
1968 * configure.ac: Use GROFF_TYPE_SIGNAL, not AC_TYPE_SIGNAL.
1969 * configure, src/include/config.hin: Regenerated.
1971 * PROBLEMS: Updated.
1974 Update getopt files.
1976 * src/include/getopt.h, src/libs/libgroff/getopt.c,
1977 src/libs/libgroff/getopt1.c: Updated from GNU libc CVS.
1979 * src/include/getopt_int.h: New file (from GNU libc CVS).
1981 * src/include/groff-getopt.h: Updated.
1983 * src/include/Makefile.sub (HDRS): Add getopt_int.h.
1986 * font/devutf8/NOTES: Updated.
1988 2005-04-28 Werner LEMBERG <wl@gnu.org>
1990 Bug fix for Win32 relocatable code. Based on a patch from Keith
1993 * src/libs/libgroff/maxpathname.cpp (PATH_MAX): Test for `_MAX_PATH'
1996 * src/libs/libgroff/relocate.c (DEBUG): Define it conditionally.
1997 (searchpath) [_WIN32]: Use `_fullpath', not `realpath'.
1999 2005-04-28 Keith Marshall <keith.d.marshall@ntlworld.com>
2001 Correct `gnu.eps' handling for build from distribution tarball, with
2002 separate source and build directories.
2004 * doc/Makefile.sub: (examples.stamp): New target; forces copy of
2005 grnexmpl.g, groff.css and gnu.eps from source to build directory;
2006 generate gnu.eps from gnu.xpm if required; touch examples.stamp.
2007 (prepare_examples): Make it depend on examples.stamp.
2008 (CLEANADD): Add examples.stamp.
2010 2005-04-27 Werner LEMBERG <wl@gnu.org>
2014 position: `(' position `)'
2018 * src/preproc/pic/pic.y (position, position_not_place): Handle
2019 additional parentheses.
2021 * doc/pic.ms: Updated.
2023 2005-04-23 Larry Jones <lawrence.jones@ugs.com>
2025 * src/utils/xtotroff/xtotroff.c (MapFont): Fix variable declaration.
2027 2005-04-18 Werner LEMBERG <wl@gnu.org>
2029 * src/roff/groff/pipeline.c: Don't include ctype.h.
2031 2005-04-13 Werner LEMBERG <wl@gnu.org>
2033 * src/roff/nroff/nroff.man: Document option `-M'.
2035 2005-04-13 Bruce Lilly <blilly@erols.com>
2037 * src/roff/nroff/nroff.sh: Make the script accept option `-M'.
2039 2005-04-01 Kees Zeelenberg <kzlg@users.sourceforge.net>
2040 Werner LEMBERG <wl@gnu.org>
2042 Add binary relocation support for Windows platforms.
2044 * src/include/Makefile.sub (defs.h): Add `INSTALLPATH'.
2046 * src/include/relocate.h, src/libs/libgroff/relocate.cpp: New files.
2048 * src/libs/libgroff/searchpath.cpp: Handle `relocate'.
2049 (search_path::search_path, search_path::open_file_cautious): Use
2052 * src/libs/libgroff/Makefile.sub (OBJS, CCSRCS),
2053 src/include/Makefile.sub (HDRS): Updated.
2055 2005-04-01 Werner LEMBERG <wl@gnu.org>
2057 * src/devices/grohtml/post-html.cpp: Don't use strdup/free but
2060 * src/libs/libgroff/font.cpp: Replace strdup with strsave.
2062 * src/libs/libgroff/maxfilename.cpp: Don't include limits.h since
2063 lib.h already does it.
2065 * src/libs/libgroff/maxpathname.cpp: New file, defining
2068 * src/include/lib.h: Add prototype for path_name_max.
2070 * src/libs/libgroff/Makefile.sub (OBJS, CCSRCS): Updated.
2072 * src/include/nonposix.h (PATH_EXT): New macro.
2074 2005-03-28 Werner LEMBERG <wl@gnu.org>
2076 Add support for double- and zero-width characters in grotty.
2078 * src/devices/grotty/tty.cpp (glyph): Add width.
2079 (tty_printer::make_underline, tty_printer::make_bold,
2080 tty_printer::add_character): Add parameter to pass character width.
2082 (tty_printer::end_page): Increase hpos by actual character width.
2084 * font/devutf8/R.proto: Specify zero width for non-spacing
2087 * tmac/unicode.tmac: Remove definitions for non-spacing entities.
2089 * Makefile.comm (extraclean): Remove more junk files.
2091 2005-03-25 Werner LEMBERG <wl@gnu.org>
2093 * configure.ac: Undo change from 2005-03-24.
2094 * configure: Regenerated.
2096 2005-03-24 Werner LEMBERG <wl@gnu.org>
2098 * Makefile.in (NOMAKEDIRS): Add contrib/gdiffmk/tests.
2099 (dist): Search Makefile while descending into $(EXTRADIRS).
2101 * doc/Makefile.in (.PHONY): Add.
2102 (clean): Don't remove *.png and *.eps.
2104 (realclean): Remove *.png and *.eps.
2105 (extraclean): Depend on distclean.
2107 * configure.ac: Add copyright.
2108 Handle contrib/pdfmark/Makefile.
2110 * configure: Regenerated.
2112 2005-03-18 Larry Kollar <kollar@alltel.net>
2114 Add numbered and definition lists to www.tmac.
2116 * tmac/www.tmac (www-ul-level1, www-ul-level2, www-ul-level3,
2117 www-ol-level1, www-ol-level2, www-ol-level3, www-ol-tmp): New
2118 auxiliary string registers.
2119 (www-ul-level, www-ol-level, www-dl-level, www-ol-ctr1, www-ol-ctr2,
2120 www-ol-ctr3, www-dl-shift): New auxiliary number registers.
2121 (www-level): Removed.
2122 (www-level1, www-level2, www-level3): Initialize to empty.
2123 (www-level0, www-level4, www-level5, www-level6, www-level7,
2124 www-level8, www-level9): New string registers.
2125 (www-push-li, www-pop-li): New macros.
2126 (www-push-level, www-pop-level): Renamed to...
2127 (www-push-ul-level, www-pop-ul-level): This.
2129 (www-push-ol-level, www-pop-ol-level): New macros.
2130 (ULS, ULE): Updated.
2131 (OLS, OLE, DLS, DLE): New user macros.
2132 (LI): Removed. It is aliased to one of...
2133 (www-li-ul, www-li-ol, www-li-dl): New macros.
2135 * tmac/groff_www.man: Document new macros.
2139 2005-03-18 Werner LEMBERG <wl@gnu.org>
2141 * tmac/doc-common (doc-operating-system-NetBSD-2.0.1,
2142 doc-operating-system-NetBSD-2.0.2): New strings.
2144 * tmac/groff_mdoc.man: Updated.
2146 2005-03-17 Werner LEMBERG <wl@gnu.org>
2148 * doc/Makefile.sub (CLEANADD): Add `groff.html'.
2150 2005-03-17 Werner LEMBERG <wl@gnu.org>
2152 * src/libs/libgroff/hypot.c: Renamed to...
2153 * src/libs/libgroff/hypot.cpp: This. Updated to C++.
2155 * src/libs/libgroff/Makefile.sub (CCSRCS, CSRCS): Updated.
2157 * src/include/lib.h: Updated.
2159 2005-03-16 Werner LEMBERG <wl@gnu.org>
2161 Add workaround for broken hypot() on Interix.
2163 * src/libs/libgroff/hypot.c: New wrapper file for `hypot'.
2165 * src/libs/libgroff/Makefile.sub (OBJS): Add `hypot.o'.
2166 (CSRCS): Add `hypot.c'.
2168 * src/include/lib.h: Declare `groff_hypot'.
2170 * src/preproc/grn/hgraph.cpp: Don't declare `hypot'.
2173 * src/preproc/pic/pic.h: Don't declare `hypot'.
2175 * src/preproc/pic/object.cpp (hypot): Use `groff_hypot'.
2177 2005-03-15 Gaius Mulley <gaius@glam.ac.uk>
2179 * src/devices/grohtml/post-html.cpp
2180 (html_printer::lookahead_for_tables): End .ce properly to avoid a
2183 2005-03-15 Werner LEMBERG <wl@gnu.org>
2185 makeinfo 4.8 doesn't produce good HTML output from groff.texinfo.
2187 * doc/fixinfo.sh: New script to postprocess makeinfo's HTML output.
2189 * doc/Makefile.in (.texinfo.html): Call fixinfo.sh.
2191 2005-03-14 Werner LEMBERG <wl@gnu.org>
2193 Add Cyrillic support to devutf8 and devhtml.
2195 * font/devutf8/R.proto, font/devhtml/R.proto: Add Cyrillic blocks.
2197 * tmac/unicode.tmac: New file.
2199 * tmac/tty.tmac: Include unicode.tmac if device is utf8.
2201 * tmac/Makefile.sub (NORMALFILES): Add unicode.tmac.
2205 2005-03-02 Keith Marshall <keith.d.marshall@ntlworld.com>
2207 * src/libs/libdriver/printer.cpp (check_for_output_error): New
2208 function. It has been introduced to catch peculiar error contexts
2209 on MS-Windows platforms.
2211 2005-02-28 Werner LEMBERG <wl@gnu.org>
2213 * src/roff/troff/input.cpp (string_iterator::fill): Protect against
2216 * tmac/papersize.tmac: Convert `paper' string contents to lowercase.
2218 * configure: Regenerated.
2222 2005-02-28 Keith Marshall <keith.d.marshall@ntlworld.com>
2224 Integrate `pdfmark' into normal groff build system;
2225 install macro `pdfmark' packages, build and install `pdfroff',
2226 and PDF format documentation.
2228 * Makefile.comm: Add PDFDOCDIR.
2230 * Makefile.in: (MDEFINES) ALT_AWK_PROGS, ALT_GHOSTSCRIPT_PROGS,
2231 pdfdocdir, make_pdfdoc, make_install_pdfdoc: New variables.
2232 (unstall_dirs): Add pdfdocdir.
2234 * aclocal.m4: (GROFF_GHOSTSCRIPT_PREFS): New function; support
2235 `--with-alt-gs' option, set ALT_GHOSTSCRIPT_PROGS.
2236 (GROFF_GHOSTSCRIPT_PATH): Support `--with-gs' option, force use of
2237 GROFF_GHOSTSCRIPT_PREFS, set GHOSTSCRIPT.
2238 (GROFF_HTML_PROGRAMS): Force use of GROFF_GHOSTSCRIPT_PATH; tidy up.
2239 (GROFF_AWK_PREFS): New function; support `--with-alt-awk' option,
2241 (GROFF_AWK_PATH): New function; support `--with-awk' option, force
2242 use of GROFF_AWK_PREFS.
2243 (GROFF_PDFDOC_PROGRAMS): New function; force use of GROFF_AWK_PATH
2244 and GROFF_GHOSTSCRIPT_PATH, set make_pdfdoc and make_install_pdfdoc.
2246 * configure.ac: Add AC_PREREQ(2.59), GROFF_PDFDOC_PROGRAMS.
2247 Remove GROFF_GHOSTSCRIPT_PATH, (forced by GROFF_PDFDOC_PROGRAMS, and
2248 also by modified GROFF_HTML_PROGRAMS).
2250 2005-02-27 Gaius Mulley <gaius@glam.ac.uk>
2252 * src/devices/grohtml/html-text.cpp (html_text::do_pre): Preserve
2254 (html_text::done_para): Unset `start_space'.
2255 (html_text::remove_para_align): Call `retrieve_para_space' for the
2258 * src/devices/grohtml/post-html.cpp (html_printer::emit_raw): Unset
2260 (html_printer::do_check_center): Emit vertical space if necessary.
2262 * src/roff/troff/env.cpp (environment_switch): Preserve
2263 `seen_space', `seen_eol', and `suppress_next_eol' while switching
2266 * src/roff/troff/node.cpp (suppress_node::suppress_node): Set
2269 2005-02-20 Werner LEMBERG <wl@gnu.org>
2271 * src/preproc/eqn/eqn.man, NEWS: Document various extensions of
2274 2005-02-17 Werner LEMBERG <wl@gnu.org>
2276 * doc/pic.ms, man/groff.man: Fix typos.
2278 * doc/groff.texinfo: Fix typos.
2279 (\LEmacro): Get proper mathematical spacing.
2281 2005-02-16 Werner LEMBERG <wl@gnu.org>
2283 * aclocal.m4 (GROFF_APPRESDIR_CHECK): Improve warning message.
2284 * configure: Regenerated with autoconf 2.59b.
2286 2005-02-16 Gaius Mulley <gaius@glam.ac.uk>
2288 * src/devices/grohtml/post-html.cpp (html_printer::is_line_start,
2289 html_printer::start_font): Fix handling of preformatted text.
2291 2005-02-15 Gaius Mulley <gaius@glam.ac.uk>
2293 These patches modify the indentation implementation to use `<p
2294 style=margin-left: n%>'. Many thanks to Peter and Larry for
2295 suggesting this solution. Grohtml only uses tables for `.IP' and
2296 related tags when the first operand has a short width.
2298 Similarly, they modify all vertical space code. By default, grohtml
2299 sets up a style sheet which uses no vertical space between `table',
2300 `pre', and `p' tags. It forces spaces when it needs them using
2301 `style="margin-top: 1em"'.
2303 * src/devices/grohtml/html-table.cpp: Include `html-text.h'.
2304 (html_table::emit_table_header, html_table::emit_new_row):
2306 (html_table::set_space): New function.
2307 (html_indent::html_indent): Don't set `is_used'.
2308 (html_indent::begin): Rewritten.
2309 (html_indent::end): Remove code in function.
2311 * src/devices/grohtml/html-table.h: Updated.
2312 (html_table): Make `out' public.
2314 * src/devices/grohtml/html-text.cpp (html_text::html_text):
2315 Initialize `start_space' with FALSE.
2316 (html_text::end_tag) <P_TAG, PRE_TAG>: Updated.
2317 (html_text::issue_tag): Add argument to handle space style.
2318 (html_text::start_tag) <P_TAG, PRE_TAG>: Updated.
2319 (html_text::flush_text): Don't set `start_space'.
2320 (html_text::push_para): Don't set `p->really_issued'.
2321 (html_text::do_emittext): Updated.
2322 (html_text::do_para): Add paremeter to handle space.
2324 (html_text::retrieve_para_space): New function.
2326 * src/devices/grohtml/html-text.h (STYLE_VERTICAL_SPACE): New macro.
2327 (tag_definition): Remove `really_issued'.
2328 (html_text): Updated.
2330 * src/devices/grohtml/post-html.cpp (html_printer): Add variables
2331 `current_column' and `row_space'.
2333 (html_printer::emit_raw, html_printer::write_header,
2334 html_printer::do_indent, html_printer::do_check_center,
2335 html_printer::do_tab_ts): Handle vertical space.
2336 (html_printer:do_tab_te, html_printer::do_end_para): Call
2337 `remove_para_space'.
2338 (html_printer::do_col): Rewritten.
2339 (html_printer::flush_globs): Remove debugging code.
2340 (html_printer::is_line_start): New function.
2341 (html_printer::start_font): Use `is_line_start'.
2342 (html_printer::writeHeadMetaStyle): New function.
2343 (html_printer::do_file_components, html_printer::~html_printer):
2344 Call `writeHeadMetaStyle'.
2346 * tmac/www.tmac (www-handle-percent): New macro.
2347 (MPIMG): Handle percent values for width and height parameters.
2350 * tmac/groff_www.man: Updated.
2352 2005-02-14 Werner LEMBERG <wl@gnu.org>
2354 * src/utils/afmtodit/afmtodit.pl: Remove an incorrect `my' from
2355 $psname and $italic_angle.
2356 Immediately restart file input loops if `split' returns an empty
2359 2005-02-13 Michail Vidiassov <master@iaas.msu.ru>
2360 Werner LEMBERG <wl@gnu.org>
2362 Update afmtodit to better support Unicode (Michail).
2363 Update afmtodit to use Perl 5 syntax (Werner).
2365 * src/utils/afmtodit/afmtodit.pl: Don't use `getopts.pl' but
2367 Decorate variables with `my' where necessary.
2368 Use `defined' where necessary to avoid warnings.
2369 Don't use `do' for subroutine calls.
2370 Other minor syntax updates.
2371 Check for both `uXXXX[X[X]]' and `uniXXXX'.
2372 Handle glyph variants properly.
2373 (%unicode_decomposed, %AGL_to_unicode): Don't use `u' prefix in
2376 * src/utils/afmtodit/afmtodit.man: Updated.
2378 2005-02-13 Werner LEMBERG <wl@gnu.org>
2380 Make groff.texinfo work with texinfo 4.8.
2382 * doc/groff.texinfo (@Var): Use @r and @slanted.
2383 (@defdummy, @Def*): Use @c to avoid empty lines.
2384 (\angles): Replaced with...
2385 (\Langlemacro, \Ranglemacro): New TeX macros.
2386 (@Langlemacro, @Ranglemacro): New variables defined with @set.
2387 (@angles): Use @Langlemacro and @Ranglemacro.
2388 (\LE): Replaced with...
2389 (\LEmacro): New TeX macro.
2390 (@LEmacro): New variable defined with @set.
2391 (@LE): Use @LEmacro.
2392 (@Lparenmacro, @Rparenmacro, @Lbrackmacro, @Rbrackmacro): New
2393 variables defined with @set.
2394 (@lparen, @rparen, @lbrack, @rbrack): Replaced with...
2395 (@Lparen, @Rparen, @Lbrack, @Rbrack): New macros.
2398 Other minor updates.
2400 * doc/texinfo.tex: Update to texinfo version 4.8.
2402 * README.CVS: Updated.
2404 2005-02-09 Alejandro López-Valencia <palopez@etb.net.co> (tiny change)
2406 * doc/groff.texinfo (ms Document Control Registers): Document `HY'
2407 and `FAM' registers.
2409 2005-02-05 Werner LEMBERG <wl@gnu.org>
2411 * tmac/groff_mdoc.man, tmac/doc-common, tmac/doc-ditroff,
2412 tmac/doc-nroff, tmac/doc-old.tmac, tmac/doc-syms, tmac/doc.tmac:
2415 2005-02-01 Werner LEMBERG <wl@gnu.org>
2417 * src/roff/groff/groff.man: Add information about paper size.
2419 2005-01-25 Werner LEMBERG <wl@gnu.org>
2421 * src/roff/nroff/nroff.sh: Handle `*.ISO8859-1' in locale. From
2424 2005-01-22 Ruslan Ermilov <ru@FreeBSD.org>
2426 * tmac/doc.tmac (Sm): Improved. It didn't work properly in many
2428 (Re): Emit a warning if called without `.Rs'.
2429 (doc-finish-reference): Use parameter for decreasing
2430 `doc-reference-count'.
2431 (doc-print-reference): Pass specific count parameters to
2432 `doc-finish-reference'.
2434 2005-01-21 Werner LEMBERG <wl@gnu.org>
2436 * src/libs/libdriver/input.cpp (delete_current_env, do_file):
2437 Reset pointers to zero after deallocation. This fixes a crash
2438 if a driver is called with multiple input files. Reported by
2439 Ken Chilton <ken@chiltonfamily.org>.
2441 * src/devices/grops/grops.man: Add more info on DSC.
2443 2005-01-17 Ruslan Ermilov <ru@FreeBSD.org>
2445 * tmac/doc-common (Dd), tmac/doc-ditroff (gX, doc-setup-header):
2448 2005-01-17 Werner LEMBERG <wl@gnu.org>
2450 * src/roff/troff/div.cpp (top_level_diversion::space): Protect
2451 against division by zero.
2453 2005-01-13 Ruslan Ermilov <ru@FreeBSD.org>
2455 * tmac/doc.tmac (Ef): Restore doc-curr-font and doc-curr-size.
2457 2004-12-19 Werner LEMBERG <wl@gnu.org>
2459 * install-sh: New version; taken from texinfo CVS.
2461 2004-12-17 Werner LEMBERG <wl@gnu.org>
2463 * tmac/devtag.tmac: Protect against loading twice.
2464 Protect agains compatibility mode.
2465 * tmac/www.tmac: Protect against loading twice.
2466 Load `devtag.tmac' before switching off compatibility mode.
2467 * tmac/an-old.tmac, tmac/s.tmac: Load `devtag.tmac'.
2469 2004-12-16 Mike Bianchi <mbianchi@Foveal.com>
2471 * configure.ac: Produce `contrib/gdiffmk/tests/runtests'.
2472 * configure: Updated.
2474 2004-12-15 Thomas Klausner <wiz@netbsd.org>
2476 * tmac/doc-syms, tmac/groff_mdoc.man: Add `libpam' library.
2478 2004-12-15 Werner LEMBERG <wl@gnu.org>
2480 Make `test-groff' work again -- previously, wrong paths have been
2481 used. Additionally, it can now be called from anywhere.
2483 * test-groff.in: Don't test for groff binary. This is no longer
2484 necessary since the proper paths are determined by `configure'.
2485 (EXEEXT): Removed. No longer used.
2486 (srcdir, builddir): Use values provided by the configure script.
2487 (XENVIRONMENT): Updated.
2491 2004-12-14 Gaius Mulley <gaius@glam.ac.uk>
2493 Make .tag and .taga work for all devices (but only grohtml actually
2496 * src/devices/grohtml/post-html.cpp: s/html-tag/devtag/.
2497 (text_glob::is_br, page::add_tag, html_printer::troff_tag,
2498 html_printer::handle_assertion): Don't use hard-coded string
2500 (html_printer::lookahead_for_table): Reset `tbl' properly if
2502 (html_printer::devtag): New function, handling `devtag'.
2503 (html_printer::special): Don't handle `html-tag'.
2505 * src/include/printer.h, src/libs/libdriver/printer.cpp
2506 (printer::devtag): New virtual function.
2508 * src/libs/libdriver/input.cpp (parse_x_command) <'X'>: Handle
2511 * src/roff/troff/env.cpp, src/roff/troff/mtsm.cpp,
2512 src/roff/troff/node.cpp: s/html-tag/devtag/.
2514 * src/roff/troff/input.cpp (tag, taga): Always call
2517 * tmac/an-old.tmac, tmac/s.tmac, tmac/troffrc-end: Use DEVTAG*
2518 macros instead of HTML-TAG*.
2520 * tmac/devtag.tmac: New file, defining the DEVTAG-* macros.
2522 * tmac/www.tmac: Load devtag.tmac.
2523 Replace HTML-TAG* macros with DEVTAG* macros.
2524 (HTML, HTML-NS): Changed definitions.
2526 (HTML-TAG, HTML-TAG-NS, HTML-TAG-NEXT): Removed.
2528 * tmac/Makefile.sub (NORMALFILES): Add devtag.tmac.
2530 2004-12-10 Werner LEMBERG <wl@gnu.org>
2532 Import Mike's `gdiffmk' package.
2534 * contrib/gdiffmk/*: New files.
2535 * Makefile.in (OTHERDIRS): Add contrib/gdiffmk.
2538 2004-12-08 Werner LEMBERG <wl@gnu.org>
2540 Import Keith's `pdfmark' package. Integration is very preliminary.
2542 * contrib/pdfmark/*: New files.
2543 * Makefile.in (OTHERDIRS): Add contrib/pdfmark.
2546 2004-12-07 Gaius Mulley <gaius@glam.ac.uk>
2548 Fix a bug with title handling in HTML.
2550 * src/devices/grohtml/post-html.cpp (text_glob::is_nf,
2551 text_glob::is_fi, text_glob::is_ce): Use strlen to compute string
2553 (html_printer::handle_tag_within_title): New function.
2554 (html_printer::do_title): Use it.
2556 * tmac/s.tmac (TL): Don't set `need_eo_tl'.
2557 (cov*tl-au-print): Emit `.eo.tl' tag.
2559 2004-12-05 Alejandro López-Valencia <dradul@etb.net.co>
2561 * man/groff_char.man: Minor imrovements.
2563 2004-12-04 Werner LEMBERG <wl@gnu.org>
2565 * src/preproc/eqn/eqn.man: Revised.
2567 2004-11-25 Werner LEMBERG <wl@gnu.org>
2569 * src/utils/xtotroff/xtotroff.c: Reformat to be similar to other
2573 Remove X_NOT_STDC_ENV conditional.
2574 (Version_string, program_name): New global variables.
2575 (groff_flag): Removed.
2577 (usage): Take a stream as argument.
2580 (main): Add `long_options' array for `--help' and `--version'.
2581 Make `-g' a dummy option.
2582 Handle `-v' and unknown options.
2583 Remove unused `position' variable.
2585 * src/utils/xtotroff/Makefile.sub (MAN1): Define.
2586 (XLIBS): Add LIBGROFF.
2588 * src/utils/xtotroff/xtotroff.man, src/utils/xtotroff/Makefile.in:
2591 * src/devices/xditview/Dvi.c (default_font_map): Split into three
2592 parts to avoid compiler warning.
2593 (resources): Don't initialize with `default_font_map'.
2594 (ClassInitialize): Initialize first element of `resources'.
2596 * src/devices/xditview/Makefile.sub (devdir, xtotroff, DPIS, fonts):
2599 * src/utils/lkbib/lkbib.man, src/utils/lookbib/lookbib.man,
2600 src/utils/pfbtops/pfbtops.man: Revised, updated.
2602 * configure.ac: Generate src/utils/xtotroff/Makefile.
2603 * configure: Regenerated.
2605 2004-11-24 Werner LEMBERG <wl@gnu.org>
2607 First fixes to get produce HTML.
2609 * src/devices/grohtml/post-html.cpp (generate_img_src): Add `alt'
2612 * tmac/www.tmac (IMG, PIMG, MPIMG): Add `alt' attribute.
2613 (HR, LI): Use `HTML</p>', not `HTML'.
2615 * doc/webpage.ms: Minor updates.
2617 2004-11-23 Larry Kollar <kollar@alltel.net>
2619 Add option -S grohtml to determine the file split level.
2621 * src/devices/grohtml/post-html.cpp (split_level): New global
2623 (html_header::determine_header_level): Use split_level.
2624 (main): Handle `-S' command line option.
2627 * src/preproc/html/pre-html.cpp (scanArguments): Updated.
2629 * src/devices/grohtml/grohtml.man: Document it.
2632 * NEWS: Document it.
2634 2004-11-23 Y T <doarhop@hotmail.com>
2636 * tmac/s.tmac (ref*add-V, ref*add-N): New macros for handling
2637 the volume and number refer entries.
2639 2004-11-22 Werner LEMBERG <wl@gnu.org>
2641 * src/devices/grohtml/html-table.cpp
2642 (html_table::emit_table_header): Don't emit `cols' attribute which
2643 doesn't exist in HTML 4.0 and is thus invalid.
2645 * NEWS: More minor fixes and updates.
2647 2004-11-18 Werner LEMBERG <wl@gnu.org>
2649 * tmac/www.tmac (HTML-NS, HTML-TAG-NS, HTML-TAG-NEXT): Simplified.
2650 (HTML</p>): Minor clean-up.
2652 * tmac/groff_www.man: Updated.
2654 * src/devices/grohtml/grohtml.man: Revised and updated.
2658 2004-11-18 Gaius Mulley <gaius@glam.ac.uk>
2660 * src/devices/grohtml/post-html.cpp (html_printer::do_heading):
2661 Fix space insertion.
2662 (html_printer::do_links): Fix rules generation around automatic
2665 * tmac/www.tmac (LK): Use HTML-TAG-NS.
2667 No longer emit empty line for non-HTML devices.
2669 2004-11-17 Werner LEMBERG <wl@gnu.org>
2671 * doc/Makefile.in (prepare_examples, webpage.html): Handle
2674 * doc/Makefile.sub (EXAMPLEFILES, CLEANNOTSRCDIRADD,
2675 prepare_examples, webpage.html): Handle `groff.css'.
2677 2004-11-15 Werner LEMBERG <wl@gnu.org>
2679 * NEWS, README, doc/webpage.ms: Updated.
2681 * tmac/www.tmac (HTML, HTML-TAG): Minor clean-ups.
2683 2004-10-30 Gaius Mulley <gaius@glam.ac.uk>
2685 * src/include/printer.h (printer): Remove virtual function
2687 Update all source files.
2689 * src/devices/grohtml/post-html.cpp (html_printer): New member
2690 function `round_width'.
2692 2004-10-20 Tadziu Hoffmann <hoffmann@usm.uni-muenchen.de>
2694 * src/preproc/tbl/table.cpp (table::do_row): Fix handling of the `d'
2695 column key letter suffix.
2697 2004-10-14 Werner LEMBERG <wl@gnu.org>
2699 * Makefile.in (check): Depend on `site.exp' and `docheck'.
2700 (docheck): Run dejagnu's `runtest' if it exists.
2701 (site.exp): Create dejagnu configuration file.
2703 * Makefile.sub (DISTCLEANFILES): Add files related to dejagnu.
2705 2004-10-13 Werner LEMBERG <wl@gnu.org>
2707 * src/devices/grohtml/html-text.cpp (html_text_get_alignment),
2708 src/devices/grohtml/post-html.cpp (make_val,
2709 html_printer::handle_state_assertion): Fix compiler warnings.
2711 * src/roff/troff/div.cpp: Include `stringclass.h' and `mtsm.h'.
2712 (diversion::diversion): Fix order of initializers.
2714 * src/roff/troff/div.h: Don't include `mtsm.h'.
2716 * src/roff/troff/env.cpp: Include `stringclass.h' and `mtsm.h'.
2717 (environment::environment): Fix order of initializers.
2718 (environment::make_tag, environment::construct_format_state): Fix
2721 * src/roff/troff/input.cpp: Include `stringclass.h' and `mtsm.h'.
2722 (input_iterator::input_iterator, macro::macro): Fix order of
2725 * src/roff/troff/mtsm.cpp: Include only necessary header files.
2726 (state_set::add, state_set::val): Fix compiler warnings.
2728 * src/roff/troff/mtsm.h: Don't include `stringclass.h'.
2729 (bool_value_state, int_value_state, units_value_state,
2730 string_value_state): Remove comma after last element which causes
2731 an error with g++ 3.3.3.
2733 * src/roff/troff/node.cpp: Include `stringclass.h'.
2734 (hline_node::hline_node, vline_node::vline_node,
2735 space_char_hmotion_node, left_italic_corrected_node): Fix compiler
2737 (zero_width_node::zero_width_node): Fix order of initializers.
2739 * src/roff/troff/node.h: Don't include `mtsm.h'.
2740 (hmotion_node): Fix compiler warnings.
2742 * src/roff/troff/number.cpp: Include `stringclass.h' and `mtsm.h'.
2744 2004-10-12 Gaius Mulley <gaius@glam.ac.uk>
2746 * doc/groff.css: New file.
2748 * doc/webpage.ms: Use `groff.css'.
2751 * tmac/an-old.tmac (need_eo_h): New number register.
2752 (TH): Emit `.eo.tl' tag after title.
2753 (SH): Set `need_eo_h'.
2754 (an-trap): Handle `need_eo_h'.
2755 (an-do-tag): s/HTML-TAG-NS/HTML-TAG-NEXT/.
2757 * tmac/s.tmac (need_eo_h, need_eo_tl): New number registers.
2758 (TL): Always start diversion.
2760 (@AI): Always call `par@reset'.
2761 (@AB): Update code for -Thtml.
2762 (cov*tl-au-print): Handle -Thtml.
2763 (par@reset): Handle `need_eo_tl', `need_eo_h'.
2765 (@IT-html): Removed.
2766 (@SH): Set `need_eo_h' for -Thtml.
2767 (par@TL): s/HTML-TAG/HTMl-TAG-NS/.
2769 (@NH): s/HTML-TAG/HTMl-TAG-NS/.
2770 Set `need_eo_h' for -Thtml.
2771 (@EQ, @EN): Don't handle -Thtml specially.
2772 (par@load-init): Don't handle -Thtml specially.
2774 * tmac/www.tmac (www:paraspace): New macro.
2775 (HTML-NS, HTML-TAG-NS): Use new `tag' request.
2776 (HTML</p>, HTML-TAG-NEXT): New macros.
2777 (HnE): Emit tag `.eo.h' instead of break.
2778 (HR): s/HTML-NS/HTML/.
2779 (www-end-nowhere): End diversion only if `www-html' not set.
2781 (ULS, ULE): s|HTML|HTML</p>|.
2782 (LI): Call `www:paraspace'.
2785 2004-10-11 Gaius Mulley <gaius@glam.ac.uk>
2787 * src/roff/troff/request.h (macro): Make `p' public.
2788 New variable `is_a_diversion'.
2789 New member function `is_diversion'.
2792 * src/devices/grohtml/html.h (simple_output): New member function
2795 * src/devices/grohtml/html-table.cpp (tabs::compatible): Fix
2796 computation of `total'.
2797 (tabs::check_init): New function.
2798 (html_table::emit_table_header): Emit style data.
2799 (html_table::insert_column): Improved.
2801 * src/devices/grohtml/html-table.h: Updated.
2803 * src/devices/grohtml/html-text.cpp (html_text::html_text):
2804 Initialize `start_space' with TRUE.
2805 (html_text::end_tag, html_start_tag): Fix `P_TAG' and `PRE_TAG'
2807 (html_text::flush_text): Set `start_space' flag.
2808 (html_text::uses_indent, html_text::remove_para_space,
2809 html_text::get_alignment): New functions.
2810 (html_text::push_para): Updated.
2811 (html_text::do_para): Check for empty argument.
2812 Don't set `space_emitted'.
2813 (html_text::do_space, html_text::emit_space): Updated.
2815 * src/devices/grohtml/html-text.h (tag_definition): New variable
2817 (html_text): New member function `uses_indent', `remove_para_space',
2820 * src/devices/grohtml/output.cpp (simple_output::force_nl): New
2822 (simple_output:nl): Always emit `\n'.
2824 * src/devices/grohtml/post-html.cpp: Include `string.h'.
2825 (BASE_POINT_SIZE): Removed.
2826 (base_point_size, head_info): New global variables.
2827 (text_glob): New member functions `is_ll', `is_tl', `is_eo_tl',
2829 (text_glob::is_nf, text_glob::is_fi): Handle `.fi 0' and `.fi 1'
2831 (page::add_and_encode): Pass additional parameter for tag flag.
2832 (assert_pos): New structure.
2833 (assert_state): New class.
2834 (html_printer): Remove `indentation', `prev_indent'.
2835 Add variables `troff_indent', `device_indent', `temp_indent'.
2836 Add variables `seen_indent', `next_indent', `seen_pageoffset',
2837 `next_pageoffset', `seen_linelenght', `next_linelength',
2838 `seen_center', `next_center', `seen_space', `seen_break', `as'.
2839 Add member functions `do_check_center', `do_space', `do_head',
2840 `get_troff_indent', `restore_troff_indent', `handle_assertion',
2841 `handle_state_assertion', `do_end_para', `set_char_and_width'.
2842 Change argument to `do_fill' to `char *'.
2844 (html_printer::emit_raw): Call `shutdown_table'.
2846 (html_printer::do_center): Simplified.
2847 (html_printer::do_title): Improved.
2848 (html_printer::write_header): Emit one more newline.
2850 (html_printer::do_heading, html_printer::do_indent,
2851 html_printer::do_eol, html_printer::do_tab_ts,
2852 html_printer::do_tab, html_printer::do_tab0,
2853 html_printer::calc_po_in, html_printer::next_horiz_pos,
2854 html_printer::remove_courier_tabs,
2855 html_printer::insert_tab0_foreach_tab, html_printer::begin_page):
2857 (html_printer::do_linelength, html_printer::do_pageoffset,
2858 html_printer::do_indentation, html_printer::do_tempindent,
2859 html_printer::do_tab_te): Simplified.
2860 (html_printer::do_pointsize): Check whether point size is really
2861 associated a `.tl' tag.
2862 (html_printer::do_break): Rewritten.
2863 (html_printer::troff_tag): Improved.
2864 (html_printer::flush_globs): Updated.
2865 (html_printer::lookahead_for_tables): Handle `is_br'.
2867 (html_printer::set_char): Check `sbuf_style.f'.
2868 (html_printer::write_navigation): Use string comparison.
2869 (html_printer::~html_printer): Emit `head_info'.
2870 (html_printer::special): Rewritten.
2871 (get_str, make_val): New functions.
2872 (main): New option `s' to set the base point size.
2874 * src/preproc/html/pre-html.cpp (scanArguments): Handle option `s'.
2876 2004-10-10 Gaius Mulley <gaius@glam.ac.uk>
2878 * src/roff/troff/node.cpp: New extern `debug_state'.
2879 Include `stringclass.h' and `mtsm.h'.
2880 Implement new classes and class members from `node.h'.
2881 (real_output_file): Make `fp' public.
2882 (troff_output_file): New variables `cur_div_level' and `tag_list'.
2883 Update constructors.
2884 (troff_output_file::really_print_line): Check whether we should push
2885 the current troff state and use the state at the start of the
2886 invocation of this diversion.
2887 (troff_output_file::add_to_tag_list): New member function.
2888 (node::add_char): Handle `glyph_comp_np'.
2890 * src/roff/troff/node.h: Include `mtsm.h'.
2891 (node): New variables `state', `push_state', `div_nest_level',
2892 `is_special'. Update constructors, all descendants.
2893 Pass additional argument to `add_char' member function.
2894 New virtual member functions `is_tag', `debug_node',
2895 `debug_node_list'. Update all descendants.
2896 (tag_node): New class for handling tags.
2897 (output_file): Add variable `state'.
2899 2004-10-09 Gaius Mulley <gaius@glam.ac.uk>
2901 * src/roff/troff/mtsm.cpp, src/roff/troff/mtsm.h: New files,
2902 providing a minimal troff state machine to emit meta tags for the
2903 post-grohtml device driver.
2905 * src/roff/troff/Makefile.sub (OBJS, CCSRCS, HDRS): Handle new
2908 2004-10-09 Werner LEMBERG <wl@gnu.org>
2910 * tmac/trace.tmac: Fix handling of `am' and `am1' calls.
2912 2004-10-06 Gaius Mulley <gaius@glam.ac.uk>
2914 * src/roff/troff/column.cpp (vjustify_node::copy): Updated.
2916 * src/roff/troff/div.h: Include `mtsm.h'.
2917 (diversion): New variables `any_chars_added', `needs_push',
2918 `saved_seen_break', `saved_seen_space', `saved_seen_eol',
2919 `saved_suppress_next_eol', `modified_tag'.
2920 New virtual member function `is_diversion'. Update all descendants.
2922 * src/roff/troff/div.cpp (diversion::diversion,
2923 macro_diversion::macro_diversion): Updated.
2924 (do_divert): Handle `seen_break', `seen_space', `seen_eol',
2925 `suppress_next_eol'.
2926 (top_level_diversion::space): Handle `curenv->seen_space'.
2927 (page_offset): Update tag handling.
2928 (space_request, blank_line, flush_output): Don't call `add_html_tag'.
2930 * src/roff/troff/env.h (environment): Make `tabs' public.
2931 Remove `ignore_next_eol', `emitted_node'.
2932 Update `output_line', `output'.
2933 New variables `seen_space', `seen_eol', `suppress_next_eol',
2935 New member functions `construct_state', `make_tag',
2936 `construct_format_state, `construct_new_line_state,
2938 Remove `add_html_tag', `make_html_tag'.
2940 * src/roff/troff/env.cpp: New externs `suppress_push',
2941 `get_diversion_state', `global_diverted_space'.
2942 (pending_output_line): New variable `was_centered'.
2943 Update constructor and all callers.
2944 (pending_output_line::output): Call `curenv->construct_format_state'.
2945 (environment::environment, environment::copy): Updated.
2946 (environment::output): Handle `was_centered'.
2947 (environment::add_char): Handle construct and diversion state.
2948 (environment::add_node): Handle construct state.
2949 (environment::newline): Handle `was_centered'.
2950 (environment::output_line): Updated.
2951 (environment::possibly_break_line): Updated.
2952 Update tag handling.
2953 (environment::add_html_tag): Replaced with...
2954 (environment::make_tag): New function.
2955 (environment::add_html_tag_tabs, environment::make_html_tag): Removed.
2956 (environment::dump_troff_state): New debugging function.
2957 (environment::construct_state, environment::construct_format_state,
2958 environment::construct_new_line_state): New functions.
2959 (environment::do_break): Updated.
2960 Handle `global_diverted_space'.
2961 (environment::handle_tag): Update tag handling.
2962 (point_size, fill, do_break_request): Don't call `add_html_tag'.
2963 (no_fill): Don't call `add_html_tag'.
2964 Set `suppress_next_eol'.
2965 (center, right_justify, line_length, indent, temporary_indent,
2967 Update tag handling.
2969 * src/roff/troff/input.cpp: Don't include `stringclass.h'.
2970 (input_iterator): New variables `is_diversion', `diversion_state'.
2971 Update constructors.
2972 (input_stack): New member functions `get_div_level',
2973 `get_diversion_state', `check_end_diversion'.
2974 New variables `div_level', `diversion_state'. Initialize them.
2975 (suppress_push, global_diverted_space): New global variables.
2976 (input_stack::finish_get, input_stack::finish_peek,
2977 input_stack::remove_boundary, input_stack::end_file,
2978 input_stack::clear, input_stack::pop_macro): Call
2979 `check_end_diversion'.
2980 (input_stack::push): Handle `div_level' and `diversion_state'.
2981 (get_diversion_state): New function.
2982 (diverted_space_node::reread): Handle `global_diverted_space'.
2983 (macro::macro): Update constructors.
2984 (macro::is_diversion): New function.
2985 (macro::operator=): Set `is_a_diversion'.
2986 (string_iterator): New member function `is_diversion'.
2987 (string_iterator::string_iterator): Update constructors.
2988 (string_iterator::fill): Set `div_nest_level'.
2989 (macro_iterator): New member function `is_diversion'.
2990 (do_if_request): Handle `suppress_push'.
2991 (tag, taga): New functions.
2992 (init_input_requests): Add `tag' and `taga' requests.
2994 2004-10-05 Gaius Mulley <gaius@glam.ac.uk>
2996 * src/include/font.h (font): New member function
2997 `get_image_generator'.
2998 New variables `unscaled_charwidths' and `image_generator'.
3000 * src/libs/libgroff/font.cpp (font::get_width): Always return the
3001 character's unscaled width if `font::unscaled_charwidths' is set.
3002 (font::get_image_generator): New function.
3003 (font::load_desc): Check the `unscaled_charwidths' and
3004 `image_generator' keywords.
3006 * src/libs/libgroff/fontfile.cpp: Initialize
3007 `font::unscaled_charwidths' and `font::image_generator'.
3009 * font/devhtml/DESC.proto: s/html/unscaled_charwidths/.
3011 * font/devhtml/Makefile.sub (DESC): Set `image_generator' keyword.
3013 * man/groff_font.man: Document `unscaled_charwidths' and
3016 * src/preproc/html/pre-html.cpp: Include `device.h'.
3017 (image_gen): New global variable.
3018 (imageList::createPage): Use `image_gen'.
3019 (main): Use `image_generator' keyword.
3021 2004-10-04 Gaius Mulley <gaius@glam.ac.uk>
3023 * tmac/html.tmac: Handle \[sqrtex].
3025 2004-10-04 Gaius Mulley <gaius@glam.ac.uk>
3027 * src/include/printer.h (printer): New virtual method `round_width'.
3029 * src/devices/grodvi/dvi.cpp, src/devices/grolbp/lbp.cpp,
3030 src/devices/grolj4/lj4.cpp, src/devices/grops/ps.cpp,
3031 src/devices/grotty/tty.cpp (printer::round_width): New function
3034 * src/devices/grohtml/post-html.cpp (printer::round_width): New
3036 (html_printer::set_numbered_char): Use it.
3038 2004-10-03 Gaius Mulley <gaius@glam.ac.uk>
3040 * aclocal.m4 (GROFF_GHOSTSCRIPT_PATH): New macro.
3042 * configure.ac: Call GROFF_GHOSTSCRIPT_PATH.
3044 * configure: Regenerated.
3046 * Makefile.in (GHOSTSCRIPT): New variable.
3047 (MDEFINES): Add GHOSTSCRIPT.
3049 2004-10-03 Werner LEMBERG <wl@gnu.org>
3051 * INSTALL.gen: Updated (taken from texinfo CVS).
3053 2004-09-28 Werner LEMBERG <wl@gnu.org>
3057 2004-09-28 Heinz-Jürgen Oertel <hj.oertel@surfeu.de>
3059 * tmac/groff_www.man: Revised and updated.
3061 2004-09-26 Werner LEMBERG <wl@gnu.org>
3063 Fix \$@ and \$* to handle any number of arguments.
3065 * src/roff/troff/input.h (BEGIN_QUOTE, END_QUOTE): New special
3068 * src/roff/troff/input.cpp (input_iterator::internal_level):
3070 (input_stack): New member functions `increase_level' and
3072 (input_stack::get_level): Don't use `internal_level'.
3073 (get_copy, token::next): Handle BEGIN_QUOTE and END_QUOTE.
3074 (end_quote_iterator): Completely removed.
3075 (interpolate_arg): Build string for \$@ and \$* which is then
3076 pushed onto the input stack.
3078 2004-09-23 Keith Marshall <keith.d.marshall@ntlworld.com>
3080 * tmac/groff_ms.man, doc/groff.texinfo (ms Document Control
3081 Registers): Document changes from 2004-09-19.
3083 2004-09-23 Werner LEMBERG <wl@gnu.org>
3085 * tmac/an-old.tmac (ne): Using default scaling operator.
3087 2004-09-19 Keith Marshall <keith.d.marshall@ntlworld.com>
3089 This change implements the following features:
3092 New numeric register: Defines number of lines following LP, PP,
3093 QP, IP or XP, which must be kept together, before any automatic
3094 page break. If insufficient space remains on the current page, a
3095 page break is forced before the new paragraph begins.
3098 New numeric register: Sets number of lines of following paragraph
3099 which must be kept with a heading, defined by NH or SH, before any
3100 automatic page break. If insufficient space remains on the
3101 current page, a page break is forced before the heading.
3104 (Thanks to Joerg van den Hoff, for this idea).
3106 New numeric register: Sets the first level of heading (set with
3107 NH), which will keep the same point size as body text; e.g. if
3108 GROWPS is set to 3, .NH 3, .NH 4, ... will produce headings at the
3109 point size specified by \n[PS], but .NH 2 and .NH 1 will have
3110 progressively larger point sizes, determined by \n[PSINCR] (see
3114 New numeric register: Sets the point size increment for each level
3115 of heading, (set with NH), below the threshold level set by
3116 GROWPS; e.g. if \n[PS] = 10, \n[GROWPS] = 3 and \n[PSINCR] = 2.0p,
3117 then .NH 1 will produce 14pt headings, .NH 2 will produce 12pt,
3118 and all other levels will remain at 10pt, (because \n[PS] = 10).
3121 Existing macro now accepts a numeric argument, to make heading
3122 size match that of NH with same argument value, when the
3123 GROWPS/PSINCR feature is enabled.
3126 New string, set by NH macro, replaces the existing (undocumented)
3127 use of SN, to represent the assigned section number.
3130 New string, set by NH macro, represents the assigned section
3131 number, but omits the terminal period (periods at intermediate
3132 levels are retained).
3135 String set by NH macro, originally undocumented, now implemented
3136 as an alias for SN-DOT (which reproduces original behaviour).
3138 * tmac/s.tmac (PORPHANS): New register.
3139 (par*start): Use it.
3140 (HORPHANS, GROWPS, PSINCR): New registers.
3141 (SH-NO-TAG, @SH): Use them.
3144 2004-09-19 Keith Marshall <keith.d.marshall@ntlworld.com>
3146 * NEWS, doc/groff.texinfo (ms Display and Keeps), tmac/groff_ms.man:
3147 Document the deletion of `Ds' and `De' macros.
3149 2004-09-10 Werner LEMBERG <wl@gnu.org>
3151 In tbl, handle \a as an interpreted leader character if in
3154 * src/preproc/tbl/table.h (PREFIX, PREFIX_CHAR, LEADER,
3155 LEADER_CHAR): New macros.
3156 (compatible_flag): New declaration.
3158 * src/preproc/tbl/main.cpp (table_input): Add LEADER_1, LEADER_2,
3159 LEADER_3, and LEADER_4 to `state'.
3160 (table_input::get): Handle `\a'.
3162 * src/preproc/tbl/table.cpp (PREFIX): Removed.
3163 (LEADER_REG): New macro.
3164 (table::init_output): Define LEADER_REG string register if in
3167 * src/preproc/tbl/tbl.man: Document it.
3169 2004-08-18 Werner LEMBERG <wl@gnu.org>
3171 * tmac/doc.tmac (An): Fix error message.
3173 2004-08-06 Werner LEMBERG <wl@gnu.org>
3175 * src/preproc/tbl/main.cpp (main): Call `fatal' not `error' if a
3176 file can't be opened. UNIX tbl has the same behaviour.
3178 2004-08-05 Y T <doarhop@hotmail.com>
3180 * src/preproc/grn/hdb.cpp (compatibility_flag): Add declaration.
3181 (DBRead): If in compatibility mode, take into account the text
3182 when computing figure boundaries.
3184 2004-08-05 Werner LEMBERG <wl@gnu.org>
3186 * src/preproc/soelim/soelim.man: Improved. Based on suggestions
3187 from Tadziu Hoffmann.
3189 2004-08-03 Werner LEMBERG <wl@gnu.org>
3191 * doc/meref.me: Document `_M' register.
3193 2004-08-03 Martin Husemann <martin@duskware.de>
3195 Make hpftodit work correctly on big-endian systems.
3197 * src/utils/hpftodit/hpftodit.cpp (File): New method
3198 `get_uint32(char *)'.
3199 (entry): New member `orig_value'.
3200 (read_tags): Use new method.
3201 (output_font_name, read_and_output_pcltypeface, dump_ascii):
3204 2004-08-01 Werner LEMBERG <wl@gnu.org>
3206 * tmac/s.tmac: Undo change 2003-06-29. The proper macro definitions
3207 are already in X11's `macros.t' file.
3209 2004-08-01 Jeff Conrad <jeff_conrad@msn.com>
3211 * src/utils/hpftodit/hfptodit.cpp (output_font_name, dump_ascii):
3213 (read_and_output_pcltypeface): Handle strings with length <= 4.
3215 2004-07-27 Egil Kvaleberg <egil@kvaleberg.no>
3217 * tmac/s.tmac (pg@top): Don't save `PO' register.
3218 (pg*end-col, pg*end-page): Directly use `PO' register.
3220 2004-07-27 Werner LEMBERG <wl@gnu.org>
3222 * man/groff_tmac.man: Mention `trace' and `pic' macro packages.
3224 * src/preproc/refer/refer.cpp (output_references): Check for
3226 * src/preproc/refer/refer.man: Improve documentation of
3227 `bibliography' command.
3229 2004-07-26 Werner LEMBERG <wl@gnu.org>
3231 Add requests `fcolor' and `gcolor'.
3233 * src/roff/troff/env.cpp (fill_color_change, glyph_color_change):
3235 (init_env_requests): Add `fcolor' and `gcolor'.
3237 * src/roff/troff/input.h: Export do_glyph_color and do_fill_color.
3239 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo
3240 (Colors): Document new requests.
3242 2004-07-24 Werner LEMBERG <wl@gnu.org>
3244 Add support for fractional point sizes in ms macros. A value for
3245 PS, VS, FPS, and FVS greater than or equal to 1000 is always divided
3246 by 1000. For example, `.nr PS 10250' sets the font size to 10.25p.
3248 * tmac/s.tmac (@AU, @AI, par@load-init, par@init, par@reset, NL,
3249 PX): Handle fractional point sizes for PS, VS, FPS, and FVS.
3251 * tmac/groff_ms.man, docs/groff.texinfo (ms Document Control
3252 Registers), NEWS: Document it.
3254 2004-07-19 Werner LEMBERG <wl@gnu.org>
3256 * src/preproc/pic/lex.cpp (for_input): Add member `from'.
3258 (do_for, for_input::get, for_input::peek): Handle negative `by'.
3259 * src/preproc/pic/pic.man, doc/pic.ms, NEWS: Document it.
3261 2004-07-08 Thomas Klausner <wiz@netbsd.org>
3263 * tmac/doc-syms (doc-str-St--p1003.1-2004): New string.
3264 * tmac/groff_mdoc.man: Updated.
3266 2004-07-05 Werner LEMBERG <wl@gnu.org>
3268 * doc/groff.texinfo (Manipulating Hyphenation): Further improve
3269 documentation of `hcode'.
3271 2004-07-04 Sang Dae Yu <sdyu@bh.knu.ac.kr>
3273 Improve appearance of arrows in pic.
3275 * src/preproc/pic/object.cpp (draw_arrow): Make outline of filled
3277 Use two line segments for drawing non-filled arrow head.
3278 (line_object::print, spline_object::print): Shorten line length to
3279 avoid arrow sticking.
3280 (arc_object::print): Take arrow direction into account.
3282 2004-07-03 Heinz-Jürgen Oertel <hj.oertel@surfeu.de>
3284 * tmac/groff_www.man: Update documentation of .MPIMG.
3286 2004-07-03 Werner LEMBERG <wl@gnu.org>
3288 * tmac/an-old.tmac (RI): Always start with font `R'.
3289 (RI, IR): Properly end with font `R'.
3291 2004-07-02 Paul Eggert <eggert@cs.ucla.edu>
3293 * man/ditroff.man, man/groff_font.man, man/groff_out.man,
3294 src/devices/grohtml/grohtml.man, src/preproc/grn/grn.man,
3295 src/preproc/pic/pic.man, tmac/groff_man.man, tmac/groff_ms.man:
3296 Don't pass more than six arguments to .R, .I, .B, etc., for
3297 compatibility with traditional troff macros.
3299 2004-07-02 Werner LEMBERG <wl@gnu.org>
3301 * src/roff/troff/input.h: s/COMPATIBLE_SAVE/PUSH_GROFF_MODE/.
3302 s/COMPATIBLE_RESTORE/POP_GROFFCOMP_MODE/.
3304 (PUSH_COMP_MODE): New internal character constant.
3307 * src/roff/troff/input.cpp (get_copy): Handle PUSH_GROFF_MODE,
3308 PUSH_COMP_MODE, and POP_GROFFCOMP_MODE.
3309 (token::next, macro::append): Handle PUSH_COMP_MODE.
3310 (decode_args): Add PUSH_GROFF_MODE or PUSH_COMP_MODE before and
3311 POP_GROFFCOMP after each of the decoded arguments to make them
3312 independent from the compatibility mode status.
3313 (comp_mode): Add `COMP_ENABLE'.
3314 (do_define_string, do_define_macro): Handle COMP_ENABLE.
3315 (define_string, append_string, define_macro, define_indirect_macro,
3316 append_macro, append_indirect_macro): Handle `compatible_flag'.
3317 (chop_macro, substring_request, asciify): Handle PUSH_COMP_MODE.
3319 * man/groff_diff.man, doc/groff.texinfo: Updated.
3321 2004-07-01 Werner LEMBERG <wl@gnu.org>
3323 * doc/groff.texinfo: Improve documentation of `hcode'.
3324 Use @documentencoding and convert document to latin-1; to do that
3325 make latin characters active and assign proper macros (within a
3326 @tex...@end tex environment).
3327 * doc/Makefile.in (.texinfo.html, groff): Use --enable-encoding.
3328 * doc/Makefile.sub (groff): Ditto.
3330 2004-06-29 Werner LEMBERG <wl@gnu.org>
3332 Implement two new conditional operators `F <name>' and `S <name>'
3333 which check whether <name> is a valid font or style, respectively.
3335 * src/libs/libgroff/font.cpp (text_file): Add `silent' member.
3336 (text_file::text_file): Updated.
3337 (text_file::error): Don't emit message if `silent' is set.
3338 (font::load_font): Add optional third argument (which is directly
3340 (font::load): Add optional second argument to check the header of
3341 a font only, without emitting warning or error messages.
3342 * src/include/font.h (font): Updated.
3344 * src/roff/troff/input.cpp (do_if_request): Implement `S' and `F'
3346 * src/roff/troff/node.cpp (mount_font_no_translate): Add optional
3347 fourth argument to check a font without mounting.
3348 (check_font, check_style): New functions.
3349 * src/roff/troff/node.h: Updated.
3351 * man/groff_diff.man, man/groff.man, NEWS, doc/groff.texinfo:
3354 2004-06-27 Werner LEMBERG <wl@gnu.org>
3356 Implement new string-valued register `.sty' to return the current
3359 * env.cpp (environment::get_style_name_string): New function.
3360 (init_env_requests): Add `.sty' register.
3361 * env.h (environment): Updated.
3362 * node.cpp (font_info): Make `get_style_name' a friend.
3363 (get_style_name): New function.
3366 * man/groff_diff.man, man/groff.man, NEWS, doc/groff.texinfo:
3369 2004-06-15 Werner LEMBERG <wl@gnu.org>
3371 * src/preproc/tbl/main.cpp (process_data) <GOT_RIGHT_BRACE>: Handle
3374 2004-06-10 Colin Percival <colin.percival@wadham.ox.ac.uk>
3376 * doc/meintro.me, doc/meref.me: Don't use \*[td], \n[dy], \*[mo],
3377 and \n[mo] to avoid dependency on current date.
3379 2004-06-08 Werner LEMBERG <wl@gnu.org>
3381 * Makefile.sub (install_data): New target.
3383 2004-06-04 Werner LEMBERG <wl@gnu.org>
3385 * src/libs/libxutil/Makefile.sub (EXTRA_CFLAGS): Define.
3387 2004-06-03 Werner LEMBERG <wl@gnu.org>
3389 * src/devices/xditview/Makefile.sub (EXTRA_LDFLAGS): Fix typo and
3391 (install_data): Add $(srcdir).
3393 * src/utils/xtotroff/Makefile.sub (EXTRA_LDFLAGS): Fix order of
3396 2004-06-02 Werner LEMBERG <wl@gnu.org>
3398 * aclocal.m4 (GROFF_X11): s/have_no_x/groff_no_x/.
3399 Add X11 stuff to CFLAGS, LDFLAGS, and LIBS temporarily.
3400 Add test for Xmu library.
3401 (GROFF_APPRESDIR_OPTION, GROFF_APPRESDIR_CHECK,
3402 GROFF_APPRESDIR_DEFAULT): New macros.
3404 * configure.ac: Call GROFF_APPRESDIR_OPTION, GROFF_APPRESDIR_CHECK,
3405 and GROFF_APPRESDIR_DEFAULT.
3407 * configure: Regenerated.
3409 * Makefile.in (appresdir): New variable.
3410 (MDEFINES): Add appresdir.
3412 * src/devices/xditview/Makefile.sub (EXTRA_LDFLAGS): Add -Xmu and
3414 (install_data, uninstall_sub): New targets to handle GXditview.ad.
3416 * src/utils/indxbib/Makefiles.ub (install_data): Depend on
3417 `$(srcdir)/eign', not `eign'.
3419 * MANIFEST, INSTALL, NEWS, PROBLEMS: Updated.
3421 * man/groff_out.man, man/roff.man, src/devices/grops/grops.man,
3422 src/devices/xditview/gxditview.man, src/roff/groff/groff.man:
3423 Protect (g)xditview with `\%' to avoid hyphenation.
3424 Other minor formatting.
3426 2004-06-01 Werner LEMBERG <wl@gnu.org>
3428 Integrate gxditview into groff's standard directory hierarchy.
3430 * src/xditview/*: Moved to ...
3431 * src/devices/xditview/*: Here.
3432 Moved DviChar.h and XFontName.h to src/include.
3433 Moved DviChar.c and XFontName.c to new directory src/libs/libxutil.
3434 Split off `xmalloc' into new file src/libs/libxutil/xmalloc.c.
3435 Moved xtotroff.c to new directory src/utils/xtotroff.
3436 Provide proper Makefile.sub files (reusing the stuff from
3438 DESC renamed to DESC.in.
3439 Removed GXDitview-ad.h, INSTALL, Imakefile.in.
3440 Converted everything from K&R to ANSI C.
3441 Decorated with const where appropriate.
3442 Cast string constants with `String' and `char *' where appropriate.
3443 Made it compile with C++ (used as a C compiler).
3444 Removed other minor compiler warnings.
3446 * src/devices/xditview/device.c: Include config.h, string.h, and
3448 Don't declare `exit', `strtok', `strchr', and `getenv'.
3451 * src/devices/xditview/font.c: Don't declare `XParseFontName' and
3454 * src/devices/xditview/xditview.c: Include config.h.
3455 Include stdio.h earlier.
3456 Protect declaration of `popen' and `pclose' with
3457 NEED_DECLARATION_POPEN and NEED_DECLARATION_PCLOSE.
3458 Replace `caddr_t' with `XtPointer'.
3459 (MakePromptFunc): New typedef.
3460 (DoPrint): Use RETSIGTYPE.
3461 (promptfunction): Change type to MakePromptFunc.
3462 (MakePrompt): Use MakePromptFunc for third argument.
3465 * src/devices/xditview/ad2c: Add casts to `String'.
3467 * src/include/XFontName.h (XFontNameString): Don't use array
3469 Add prototypes for `XParseFontName', `XFormatFontName',
3470 `XCompareFontName', and `XCopyFontName'.
3472 * src/include/Makefile.sub (HDRS): Add `DviChar.h' and
3475 * src/utils/xtotroff/xtotroff.c: Include getopt.h.
3476 Don't declare `XParseFontName' and `XFormatFontName'.
3478 (main): Remove `optind' and `optarg'.
3480 * Makefile.in (XDEVDIRS, XPROGDIRS, XLIBDIRS): New variables
3481 (to select programs which need X).
3482 Make XDEVIDIRS depend on `FORCE'.
3483 (X_CFLAGS, X_LIBS, X_EXTRA_LIBS, X_PRE_LIBS): New variables (for
3485 (MDEFINES): Updated.
3486 (LIBDIRS): Use XLIBDIRS.
3487 (CPROGDIRS): Use XPROGDIRS.
3488 (DEVDIRS): Remove font directories for gxditview.
3489 (ALLDIRS, DISTDIRS): Add XDEVDIRS.
3490 (EXTRADIRS): Remove src/xditview.
3492 * Makefile.sub (DISCLEANFILES): Updated.
3494 * Makefile.comm (LIBXUTIL): New variable.
3495 (.cpp.o, .cpp.obj): Handle EXTRA_CCFLAGS.
3496 (.c.o, .c.obj, .y.o): Handle EXTRA_CFLAGS.
3498 * Makefile.cpg, Makefile.ccpg ($PROG): Handle EXTRA_LDFLAGS.
3500 * aclocal.m4 (GROFF_X11): New function.
3502 * configure.ac: Call GROFF_X11.
3503 Don't create src/xditview/Imakefile.
3504 Don't emit notice how to build gxditview.
3506 * configure: Regenerated.
3508 * test-groff.in (GROFF_BIN_PATH, XENVIRONMENT): Updated.
3510 2004-05-28 Akihiro Sagawa <sagawa@sohgoh.net>
3512 * Makefile.in (CPPFLAGS): Define.
3513 (MDEFINES): Add CPPFLAGS.
3515 2004-05-27 Werner LEMBERG <wl@gnu.org>
3517 * arch/misc/Makefile.sub (shdeps.sed): Use $(srcdir).
3519 2004-05-26 Niklas Edmundsson <nikke@acc.umu.se>
3521 Fix problems with `friend name injections'.
3523 * src/preproc/eqn/box.h (make_mark_box, make_lineup_box,
3524 make_script_box), src/roff/troff/div.h (end_diversions),
3525 src/roff/troff/env.h (title), input.cpp (process_input_stack): Undo
3528 2004-05-25 Bernd Warken <bwarken@mayn.de>
3530 * src/preproc/pic/pic.man, doc/pic.ms: Add example for `command'.
3532 2004-05-25 Werner LEMBERG <wl@gnu.org>
3534 * src/libs/libgroff/cset.cpp, src/libs/libgroff/lf.cpp,
3535 src/libs/libgroff/color.cpp: Include lib.h.
3537 2004-05-25 Paul Eggert <eggert@cs.ucla.edu>
3539 * PROBLEMS: Update documentation for problems with Sun C++ 5.0
3540 through Forte 6u1, and for how to get GNU make on Solaris.
3542 2004-05-24 Werner LEMBERG <wl@gnu.org>
3544 * PROBLEMS: Document problems with gcc 3.4.0 on Sun. Reported
3547 2004-05-15 Keith Marshall <keith.d.marshall@ntlworld.com>
3549 * arch/misc/Makefile.sub (shdeps.sed): Don't use `$<' in explicit
3552 2004-05-14 Werner LEMBERG <wl@gnu.org>
3554 * REVISION: Set to 2.
3556 * aclocal.m4 (GROFF_STDINT_H): Removed.
3557 (GROFF_INTTYPES_H): Define HAVE_CC_INTTYPES_H.
3559 * configure.ac: Updated.
3560 * configure, src/include/config.hin: Regenerated.
3562 * src/libs/libgroff/tmpname.cpp: Don't include stdint.h but
3563 inttypes.h conditionally.
3565 2004-05-13 Werner LEMBERG <wl@gnu.org>
3567 Version 1.19.1 released
3568 =======================
3570 2004-05-10 Stephen Gildea <http://www.gildea.com/stephen>
3572 * src/preproc/refer/label.y (same_author_last_name,
3573 same_author_name): Handle empty sort keys.
3575 2004-05-10 Werner LEMBERG <wl@gnu.org>
3577 * NEWS, README, TODO, PROJECTS, PROBLEMS, MANIFEST, doc/webpage.ms,
3580 * tmac/doc-syms (doc-str-Lb-libposix, doc-str-Lb-libpthread,
3581 doc-str-Lb-librt): Reset font.
3582 (Lb): Rename `doc-str-Lb' to `doc-str-Lb1'.
3583 Provide `doc-str-Lb' to reset font.
3584 * tmac/groff_mdoc.man: Updated.
3586 2004-05-08 Jan Schaumann <jschauma@netmeister.org>
3588 * src/preproc/html/pre-html.cpp (make_message): Make it work for
3589 snprintf versions which don't conform to ANSI C 99 (this is,
3590 counting the string's trailing null byte in the return value).
3592 2004-05-07 Keith Marshall <keith.d.marshall@ntlworld.com>
3594 * src/roff/troff/node.cpp (suppress_node::tprint): Don't expect
3595 that all implementations of sprintf handle null pointers correctly.
3597 2004-05-04 Werner LEMBERG <wl@gnu.org>
3599 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
3600 Document `.U' register.
3602 * src/roff/troff/env.cpp (environment::mark_last_line)
3603 [WIDOW_CONTROL]: Fix scope of `p' for new C++ compilers.
3605 2004-05-04 Larry Kollar <kollar@alltel.net>
3607 New read-only register `.U'; it returns 1 in safer mode and 0
3610 * src/roff/troff/input.cpp (init_input_requests): Implement `.U'
3613 2004-05-03 Werner LEMBERG <wl@gnu.org>
3615 * install-sh, mkinstalldirs: New versions; taken from texinfo CVS.
3617 2004-04-17 Werner LEMBERG <wl@gnu.org>
3619 * src/include/font.h (font): Use `int' for ch_index.
3620 * src/libs/libgroff/font.cpp (font::alloc_ch_index,
3621 font::compact): Updated.
3623 * src/roff/groff/pipeline.c (run_pipeline) [_WIN32]: Fix compiler
3626 * src/roff/troff/div.cpp (begin_page), src/roff/troff/env.cpp
3627 (hyphen_word): Fix compiler warnings.
3628 * src/roff/troff/input.cpp (get_char_for_escape_name): Return
3631 (get_delim_number, get_line_arg): Change second argument type to
3633 (macro_header::copy, token::next, do_define_string,
3634 do_define_character, substring_request, asciify_macro,
3635 unformat_macro, read_size, non_interpreted_node::interpret,
3636 while_request, main: Fix compiler warnings.
3637 (read_color_draw_node): Initialize `col'.
3639 * src/preproc/tbl/table.cpp (horizontal_span, table_entry): Make
3640 `start_col' and `end_col' of type `int'.
3641 (vertical_rule): Make `col' of type `int'.
3643 * src/preproc/grn/hdb.cpp (DBRead): Protect call to getc with check
3646 * src/preproc/refer/label.y (uppercase_array, lowercase_array):
3648 (format_serial): Use them to remove dependency on ASCII.
3650 * src/devices/grops/ps.cpp (ps_printer::define_encoding): Fix
3652 * src/devices/grops/psrm.cpp (resource_manager::supply_resource):
3655 * src/devices/grotty/tty.cpp (tty_font::load_tty_font): Fix
3657 (glyph): Change type of `hpos' to `int'.
3659 * src/devices/lbp/lbp.cpp (strsep): Removed. Unused.
3660 * src/devices/lbp/lbp.h (splinerel): Fix compiler warnings.
3662 * src/utils/tfmtodit.cpp (gf::load): Fix compiler warnings.
3664 * src/utils/pfbtops/pfbtops.c (get_text): Fix compiler warning.
3666 2004-04-16 Werner LEMBERG <wl@gnu.org>
3668 * src/devices/grolbp/lbp.h, src/preproc/grn/gprint.h,
3669 src/preproc/grn/hgraph.cpp, src/preproc/grn/hpoint.cpp,
3670 src/preproc/html/pushback.cpp, src/preproc/html/pushback.h: Use
3671 `double' instead of `float' everywhere.
3672 * src/preproc/grn/main.cpp: Use `double' instead of `float'
3674 (main): Add return value.
3675 * src/preproc/grn/hdb.cpp: Use `double' instead of `float'
3677 Update all user functions.
3679 * src/include/search.h, src/include/ptable.h, src/include/printer.h,
3680 src/preproc/eqn/box.h, src/preproc/pic/object.h,
3681 src/preproc/refer/refer.h, src/preproc/tbl/table.h,
3682 src/preproc/tbl/table.cpp, src/roff/troff/env.h,
3683 src/roff/troff/div.h, src/roff/troff/token.h, src/roff/troff/node.h,
3684 src/roff/troff/input.cpp, src/roff/troff/request.h,
3685 src/roff/troff/node.cpp: Don't mix `struct' and `class' in forward
3688 * src/utils/indxbib/signal.c: Include stdlib.h.
3690 2004-04-14 Keith Marshall <keith.d.marshall@ntlworld.com>
3692 * tmac/s.tmac (@init, RP): Allow initialization of the PO register
3693 before the first page.
3695 2004-04-14 Thomas Klausner <wiz@netbsd.org>
3697 * tmac/doc-common (doc-volume-as-*): Use lowercase names.
3698 (doc-operating-system-*): Updated.
3699 * tmac/doc-syms (doc-str-St-*): Various small fixes.
3700 (doc-str-Lb-*): Add more library names.
3702 2004-04-10 Art Haas <ahaas@airmail.net>
3704 * src/utils/hpftodit/hpuni.cpp (hp_msl_to_unicode_list): Don't
3707 2004-04-09 Art Haas <ahaas@airmail.net>
3709 * src/utils/tfmtodit.cpp (lig_chars): Don't use anonymous type.
3711 2004-04-09 Keith Marshall <keith.d.marshall@ntlworld.com>
3713 * arch/misc/shdeps.sh: Generate better comment for sed script.
3715 2004-04-08 Art Haas <ahaas@airmail.net>
3717 * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list),
3718 src/libs/libgroff/uniglyph.cpp (unicode_to_glyph_list),
3719 src/libs/libgroff/uniuni.cpp (unicode_decompose_list),
3720 src/preproc/eqn/box.cpp (param_table), src/preproc/grn/hgraph.cpp
3721 (polyfill), src/preproc/grn/main.cpp (polyfill),
3722 src/preproc/refer/command.cpp (command_table),
3723 src/utils/tfmtodit.cpp (lig_table): Don't use anonymous types (which
3724 gcc 3.5 doesn't like).
3726 2004-04-08 Werner LEMBERG <wl@gnu.org>
3728 Removing many compiler warnings. groff should now compile with
3729 a C++ compiler used for C files also. [Simple variable renamings
3730 to avoid shadowing aren't logged in detail.]
3732 * src/devices/grodvi/dvi.cpp: Some local variable renamings.
3733 (draw_dvi_printer::draw) ['c']: Enclose in block.
3735 * src/devices/grohtml/post-html.cpp: Some local variable renamings.
3736 (page::add_line): Fix typos.
3737 * src/devices/grohtml/html-text.cpp: Some local variable renamings.
3739 * src/devices/grolbp/lbp.cpp: Don't define _GNU_SOURCE.
3740 Some local variable renamings.
3741 * src/devices/grolbp/lbp.h: Some local variable renamings.
3743 * src/devices/grolj4/lj4.cpp, src/devices/grotty/tty.cpp: Some local
3746 * src/libs/libbib/index.cpp (index_search_item_iterator::get_tag):
3747 Remove redundant local variable declaration.
3748 * src/libs/libbib/map.c (mapread, unmap): Don't use K&R style.
3749 Don't use `caddr_t' but `void *'.
3750 Enclose functions with `extern "C"' for C++.
3752 * src/libs/libdriver/input.cpp (remember_filename,
3753 remember_source_filename): Use cast for string constant.
3755 * src/libs/libgroff/font.cpp, src/libs/libgroff/fontfile.cpp,
3756 src/libs/libgroff/nametoindex.cpp, src/libs/libgroff/paper.cpp,
3757 src/libs/libgroff/geometry.cpp: Some local variable renamings.
3758 * src/libs/libgroff/iftoa.c, src/libs/libgroff/itoa.c: Don't use K&R
3760 Enclose functions with `extern "C"' for C++.
3761 * src/libs/libgroff/quotearg.c (TRUE,FALSE): Define as macros.
3762 (needs_quoting): Return `int'.
3763 (quote_arg): Add proper casts to malloc and realloc.
3764 * src/libs/libgroff/spawnvp.c: Compile code only for MS-DOS and
3765 various MS Windows environments.
3766 (spawnvp_wrapper): Add proper cast to malloc.
3768 * src/preproc/eqn/box.h: Remove redundant declarations of
3769 `make_script_box', `make_mark_box' and `make_lineup_box'.
3770 * src/preproc/eqn/eqn.y: Remove redundant declaration of `strsave'.
3771 * src/preproc/eqn/script.cpp, src/preproc/eqn/pile.cpp: Some local
3774 * src/preproc/grn/hpoint.cpp: Some local variable renamings.
3775 * src/preproc/grn/hgraph.cpp: Some local variable renamings.
3776 (dx, dy): Renamed functions to...
3777 (deltax, deltay): This.
3778 * src/preproc/grn/main.cpp: Some local variable renamings.
3779 (deffont): Add `const'.
3780 (initpic, conv): Use cast for string constant.
3782 * src/preproc/html/pre-html.cpp: Some local variable renamings.
3783 (makeFileName, alterDeviceTo, addZ): Use cast for string constant.
3784 (char_buffer::run_output_filter): Second argument is unused.
3785 * src/preproc/html/pushback.cpp: Some local variable renamings.
3787 * src/preproc/pic/pic.y: Remove redundant declaration of `do_copy'.
3788 * src/preproc/pic/object.cpp: Some local variable renamings.
3790 * src/preproc/refer/label.y (lookup_label): Remove redundant
3791 declaration of local variable.
3793 * src/preproc/soelim.cpp: Remove redundant declaration of
3794 `interpret_lf_args'.
3796 * src/preproc/tbl/main.cpp: Some local variable renamings.
3798 * src/roff/groff/groff.cpp (main): Use cast for string constant.
3799 * src/roff/groff/pipeline.c: Enclose declarations of `error',
3800 `c_fatal', and `i_to_a' with `extern "C"' for C++.
3801 Don't use C++-style comments.
3803 * src/roff/troff/env.h: Remove redundant declaration of `title'.
3804 * src/roff/troff/node.h, src/roff/troff/env.cpp,
3805 src/roff/troff/div.cpp, src/roff/troff/node.cpp: Some local variable
3807 * src/roff/troff/div.h: Remove redundant declaration of
3809 * src/roff/troff/troff.h: Remove redundant declaration of
3811 * src/roff/troff/input.cpp: Remove redundant declaration of
3812 `handle_first_page_transition' and `process_input_stack'.
3814 * src/utils/hpftodit.cpp: Some local variable renamings.
3816 * src/utils/indxbib/signal.c: Enclose functions with `extern "C"'
3818 Don't define RETSIGTYPE.
3819 * src/utils/indxbib/indxbib.cpp: Some local variable renamings.
3821 * src/utils/pfbtops/pfbtops.cpp: Don't use K&R style.
3822 (error): Use `const' in argument.
3823 (main): Remove redundant declaration of `optind'.
3824 Move declaration of `Version_string' to top-level.
3826 * PROBLEMS: Document difficulties compiling signal.c if a C++
3827 compiler is used for C.
3829 2004-04-07 Werner LEMBERG <wl@gnu.org>
3831 * Makefile.sub (DISTCLEANFILES): Add `test-groff'.
3833 2004-04-06 Keith Marshall <keith.d.marshall@ntlworld.com>
3835 Make scripts like nroff.sh and neqn.sh portable across various
3836 (Unix-like) shell implementations from Cygwin, MSYS, etc., which use
3837 non-POSIX path separators. The idea is to extend those scripts to
3838 decide at run-time (of the script) which path separator to use.
3840 * arch/misc/Makefile.sub: New file.
3841 * arch/misc/shdeps.sh: New file, generating OS dependency fixups.
3842 This script handles @GROFF_BIN_PATH_SETUP@, replacing it with
3843 a proper definition of the variable `GROFF_RUNTIME'.
3845 * Makefile.in (SH_DEPS_SED_SCRIPT): New variable.
3846 (MDEFINES): Add SH_DEPS_SED_SCRIPT.
3847 (PROGDEPDIRS): New variable.
3849 (PROGDIRS): Add PROGDEPDIRS.
3851 * src/preproc/eqn/Makefile.sub (neqn): Call SH_DEPS_SED_SCRIPT.
3852 Don't substitute @SEP@ and @BINDIR@.
3853 * src/preproc/eqn/neqn.sh: Use @GROFF_BIN_PATH_SETUP@.
3854 (PATH): Use GROFF_RUNTIME.
3856 * src/roff/nroff/Makefile.sub (nroff): Call SH_DEPS_SED_SCRIPT.
3857 Don't substitute @SEP@ and @BINDIR@.
3858 * src/roff/nroff/nroff.sh: Use @GROFF_BIN_PATH_SETUP@.
3859 (PATH): Use GROFF_RUNTIME.
3861 2004-04-05 Keith Marshall <keith.d.marshall@ntlworld.com>
3863 * src/roff/nroff/nroff.sh: Implement work-around for sh.exe from
3864 Cygwin which doesn't handle stderr correctly.
3866 2004-03-08 Werner LEMBERG <wl@gnu.org>
3868 * Makefile.comm (install_dev, uninstall_dev): Protect `for' loops
3869 against empty argument. Problem reported by <cgd@broadcom.com>.
3871 2004-03-05 Keith Marshall <keith.d.marshall@ntlworld.com>
3873 * Makefile.in (SEP): Replaced with...
3874 (RT_SEP, SH_SEP): Separators for the target platform's native path
3875 separator and the build environment, respectively.
3876 (fontpath, tmacpath): Use RT_SEP.
3877 (MDEFINES): Updated.
3879 * contrib/mom/Makefile.sub (GROFF_BIN_PATH): Use SH_SEP.
3880 * doc/Makefile.sub (GROFF_BIN_PATH): Use SH_SEP.
3881 * src/preproc/eqn/Makefile.sub (neqn): Use SH_SEP.
3882 * src/roff/nroff/Makefile.sub (nroff): Use SH_SEP.
3884 2004-03-05 Werner LEMBERG <wl@gnu.org>
3886 * fonts/devlj4/Makefile.sub (LJ4RES): Set to 1200. This helps to
3887 reduce alignment problems with newer printers which use built-in
3888 TrueType fonts (instead of the older Intellifonts). The ideal
3889 solution is to provide a second set of groff metric files, but this
3890 is extremely time-consuming to produce, given that HP's metric
3891 files are very rudimentary.
3893 2004-03-01 Werner LEMBERG <wl@gnu.org>
3895 * src/devices/grolj4/lj4.cpp (main): Fix argument of getopt_long.
3896 s/operand/argument/ in error message.
3898 2004-03-01 Keith Marshall <keith.d.marshall@ntlworld.com>
3900 * src/roff/groff/groff.cpp (main): Don't allow option -o if -Thtml
3903 2004-03-01 Antti Kantee <pooka@netbsd.org>
3905 * tmac/s.tmac (XE): Fix error message.
3907 2004-02-27 Jeff Conrad <jeff_conrad@msn.com>
3909 * src/include/nonposix.h (write, dup, dup2, close) [_MSC_VER]:
3912 * src/roff/groff/pipeline.c: Declare strcasecmp.
3913 (run_pipeline) [_WIN32]: Use function name variants which don't
3915 Fix stream handling.
3917 2004-02-27 Keith Marshall <keith.d.marshall@ntlworld.com>
3919 * src/include/nonposix.h: Fix declaration of `system_shell_name'.
3920 Declare `spawnvp_wrapper' and macro definitions of spawnvp only
3921 for platforms which use the native Win32 runtime libraries.
3922 (FLUSH_INPUT_PIPE) [_UWIN]: Provide non-empty version.
3924 * src/libs/libgroff/quotearg.c (QUOTE_ARG_MALLOC_ERROR,
3925 QUOTE_ARG_REALLOC_ERROR): Fix string.
3927 * src/preproc/html/pre-html.cpp: Remove declaration of
3929 Don't use __MINGW32__.
3930 s/DEBUG_FILE/DEBUG_FILE_DIR/.
3931 (DEBUG_TEXT, DEBUG_NAME, DEBUG_FILE) [DEBUGGING]: New macros.
3932 (OUTPUT_STREAM, PS_OUTPUT_STREAM, REGION_OUTPUT_STREAM): New macros.
3933 (char_buffer::run_output_filter) [MAY_FORK_CHILD_PROCESS]: Fix
3934 calls to `set_redirection' and `WAIT'.
3935 [MAY_SPAWN_ASYNCHRONOUS_CHILD]: Remove unused variable `i' and `j'.
3936 Fix calls to `set_redirection' and `save_and_redirect'.
3937 (char_buffer::do_html, char_buffer::do_image) [DEBUGGING]: Fix calls
3938 to `set_redirection' and `save_and_redirect'.
3939 (usage): Fix message.
3940 (makeTempFiles, main): Use `DEBUG_FILE'.
3942 2004-02-21 Werner LEMBERG <wl@gnu.org>
3944 * src/roff/troff/troff.h (WARN_TOTAL): Fix value.
3946 2004-02-21 Keith Marshall <keith.d.marshall@ntlworld.com>
3948 * src/libs/libgroff/quotearg.c: New file, providing proper argument
3949 quoting for MSVC's spawn* and exec* functions.
3950 * src/libs/libgroff/spawnvp.c: New file, providing a wrapper around
3951 spawnvp with proper quoting for MSVC.
3953 * src/libs/libgroff/assert.cpp (program_name),
3954 src/libs/libgroff/new.cpp (program_name): Declare as `extern "C"'.
3955 * src/libs/libgroff/Makefile.sub (OBJS, CSRCS): Updated.
3957 * src/roff/troff/input.cpp (program_name): Declare as `extern "C"'.
3959 * src/include/error.h (program_name): Declare as `extern "C"'.
3960 * src/include/nonposix.h [__MSDOS__ ...]: Handle spawnvp.
3962 2004-02-21 Jeff Conrad <jeff_conrad@msn.com>
3964 * src/preproc/html/pre-html.cpp [__CYGWIN__ ...]: Declare
3966 [MAY_SPAWN_ASYNCHRONOUS_CHILD]: Declare i and j.
3968 2004-02-20 Jeff Conrad <jeff_conrad@msn.com>
3970 * src/roff/groff/pipeline.c (cmd) [__MSDOS__ || ...]: New global
3972 (sbasename) [__MSDOS__ || ...]: New function.
3973 (system_shell_name) [__MSDOS__ || ...]: Use a different, more
3975 (system_shell_dash_c, is_system_shell) [__MSDOS__ || ...]: Updated.
3976 (run_pipeline) [_WIN32]: Use _XXX variants for some macros instead
3978 Use STDOUT_FILENO instead of hardcoded file handle.
3979 (signal_catcher) [__MSDOS__]: Moved to non-_WIN32 section.
3981 2004-02-19 Werner LEMBERG <wl@gnu.org>
3983 * src/roff/troff/div.cpp: Include nonposix.h after troff.h to
3984 avoid warnings w.r.t. redefinition of P_tmpdir for some compilers.
3986 2004-02-18 Werner LEMBERG <wl@gnu.org>
3988 * font/devlj4/Makefile.sub (DEVFILES): Updated to contain all
3989 new font and mapping files.
3991 2004-02-18 Jeff Conrad <jeff_conrad@msn.com>
3992 Keith Marshall <keith.d.marshall@ntlworld.com>
3994 * src/include/nonposix.h (FLUSH_INPUT_PIPE): New macro to empty
3995 an input pipe. This is needed for the MSVC compiler to make troff's
3998 * src/roff/troff/div.cpp: Include nonposix.h.
3999 (cleanup_and_exit): Call FLUSH_INPUT_PIPE.
4001 2004-02-17 Werner LEMBERG <wl@gnu.org>
4003 * font/devlj4/generate/special.awk: New script.
4004 * font/devlj4/generate/Makefile (S): Use special.awk.
4005 * font/devlj4/*: Regenerated, including the following new files:
4006 Arial (AR, AB, AI, ABI), Times New Roman (TNRR, TNRB, TNRI, TNRBI),
4007 MS Symbol (SYMBOL), Wingdings (WINGDINGS).
4008 * NEWS: Document new lj4 fonts and revised hpftodit.
4010 2004-02-17 Paco Andrés Verdú <pandres@dragonet.es>
4012 * src/devices/grolbp/lbp.h (vmdvarc): Fix formatting string.
4014 2004-01-25 Werner LEMBERG <wl@gnu.org>
4016 * src/libs/libgroff/progname.cpp: Replaced with...
4017 * src/libs/libgroff/progname.c: New file.
4018 * src/libs/libgroff/Makefile.sub: Updated accordingly.
4020 2004-01-17 Werner LEMBERG <wl@gnu.org>
4022 * font/devlj4/generate/Makefile (SYMBOL): Use 9nb28703.tfm.
4024 2004-01-16 Jeff Conrad <jeff_conrad@msn.com>
4026 * font/devlj4/generate/wingdings.map,
4027 font/devlj4/generate/symbol.map: Include unnamed glyphs.
4028 Use groff glyph names where possible.
4029 * src/devices/grolj4/lj4_font.man: Minor updates.
4031 2004-01-13 Werner LEMBERG <wl@gnu.org>
4033 * tmac/www.tmac (DC): Handle TTY devices.
4035 * doc/webpage.ms: Document viewCVS from ffii.org.
4036 * NEWS, README: Updated.
4038 * src/roff/groff/groff.man: Mention lj4_font man page.
4040 * font/devlj4/generate/Makefile (SYMBOLMAP, WINGDINGSMAP): New
4042 (FONTS): Add SYMBOL and WINGDINGS.
4043 (SYMBOL, WINGDINGS): New targets.
4045 2004-01-13 Jeff Conrad <jeff_conrad@msn.com>
4047 * src/devices/grolj4/lj4_font.man: New man page.
4048 * src/devices/grolj4/Makefile.sub (MAN5): New variable.
4049 * src/devices/grolj4.man: Mention lj4_font man page.
4051 * src/utils/hpftodit/hpftodit.cpp (read_map): Handle line comments.
4052 * src/utils/hpftodit/hpftodit.man: Document it.
4054 Remove details about fonts (which are now in lj4_font.man).
4056 * font/devlj4/generate/symbol.map,
4057 font/devlj4/generate/wingdings.map: New files.
4059 2004-01-12 Werner LEMBERG <wl@gnu.org>
4061 * README: Mention ffii's viewcvs access.
4063 2004-01-09 Werner LEMBERG <wl@gnu.org>
4065 * font/devlj4/generate/special.map: Map MSL 228 to U+221F.
4067 2004-01-09 Jeff Conrad <jeff_conrad@msn.com>
4069 Revert most of the change from 2004-01-03 to better control used
4072 * src/utils/hpftodit/hpftodit.cpp (symbol_set): New structure.
4073 (text_symbol_sets, special_symbol_sets): New arrays.
4074 (symbol_set_table): New global variable.
4075 (read_symbol_sets): Use search order given in the text_symbol_sets
4076 and special_symbol_sets arrays. If command line flag -a is not
4077 given, search both arrays.
4078 (output_charset): Require x_height_tag only for command line flag -i.
4080 2004-01-06 Werner LEMBERG <wl@gnu.org>
4082 Implement string-valued registers \n[.m] and \n[.M] to return the
4083 name of the current drawing and background color, respectively.
4085 * src/roff/troff/symbol.h: Moved to...
4086 * src/include/symbol.h: Here.
4087 Small fixes to make it work outside of the `troff' directory.
4088 * src/roff/troff/symbol.cpp: Moved to...
4089 * src/libs/libgroff/symbol.cpp: Here.
4090 Small fixes to make it work outside of the `troff' directory.
4092 * src/include/Makefile.sub (HDRS), src/libs/libgroff/Makefile.sub
4093 (OBJS, CCSRCS), src/roff/troff/Makefile.sub (OBJS, CCSRCS, HDRS):
4096 * src/include/color.h: Include symbol.h.
4097 (color): Add new field `nm'.
4098 * src/libs/libgroff/color.cpp (color::color): Updated.
4100 * src/roff/troff/dictionary.cpp, src/roff/troff/div.cpp,
4101 src/roff/troff/node.cpp, src/roff/troff/number.cpp,
4102 src/roff/troff/reg.cpp: Don't include symbol.h.
4104 * src/roff/troff/env.cpp: Don't include symbol.h.
4105 (environment::get_glyph_color_string,
4106 environment_get_fill_color_string): New member functions.
4107 (init_env_requests): Handle `.m' and `.M' registers.
4108 * src/roff/troff/input.cpp: Don't include symbol.h.
4109 (default_symbol): Moved to symbol.cpp/symbol.h.
4110 (do_glyph_color, do_fill_color, define_color): Pass symbol name
4111 to color constructor.
4112 * src/roff/troff/env.h: Updated.
4114 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
4115 Document new registers.
4117 2004-01-05 Werner LEMBERG <wl@gnu.org>
4119 * src/roff/troff/node.cpp (space_node::get_breakpoints,
4120 space_node::nbreaks): Protect against zero `next' field.
4122 2004-01-03 Jeff Conrad <jeff_conrad@msn.com>
4124 In hpftodit, use the symbol sets offered in the TFM.
4126 * src/utils/hpftodit/hpftodit.cpp (NO_GLYPH): New constant.
4127 (symbol_set, text_symbol_sets, special_symbol_sets,
4128 symbol_set_table): Removed.
4129 (get_printcode): Removed.
4130 (read_symbol_sets): Initialize `symbol_set' field with
4132 Simplify code to just use the `kind' value.
4133 (output_charset): Improve output formatting.
4134 (dump_symbols): Simplified.
4136 2004-01-02 Werner LEMBERG <wl@gnu.org>
4138 * font/devlj4/generate/text.map: Add more MSL numbers.
4140 2004-01-02 Jeff Conrad <jeff_conrad@msn.com>
4142 * src/utils/hpftodit/hpftodit.cpp (is_decomposed): New macro.
4143 (text_symbol_sets): Add more symbol sets.
4144 (debug_flag): New static variable (moved from `main').
4145 (get_printcode, show_symset): New functions.
4146 (main): Remove `debug_flag'.
4147 (output_charset): Use `show_symset'.
4148 (dump_symbols): Use `show_symset'.
4149 Print symsets for all glyphs.
4150 (read_map): Actually call `unicode_to_ucode_make' but this time
4153 2004-01-01 Werner LEMBERG <wl@gnu.org>
4155 * font/devlj4/generate/text.map, font/devlj4/generate/special.map:
4156 Fix placement of comments.
4158 2004-01-01 Jeff Conrad <jeff_conrad@msn.com>
4160 * src/utils/hpftodit/hpftodit.cpp (main): Read map file also if
4161 option `-d' is given.
4162 (output_charset): Improve warning messages to give more information.
4163 (dump_symbols): Make information more precise.
4165 (read_map): Don't call unicode_to_ucode_name; the glyph names must
4166 appear as-is and shouldn't be decomposed.
4168 2003-12-31 Werner LEMBERG <wl@gnu.org>
4170 * src/utils/hpftodit/hpftodit.cpp (dump_tags): Handle posture_tag.
4171 * font/devlj4/generate/Makefile (IFLAG): Updated to new units.
4172 (FONTS): Add TrueType font families Arial and Times New Roman.
4173 (TNRR, TNRB, TNRI, TNRBI, AR, AB, AI, ABI): New targets.
4174 * font/devlj4/generate/text.map: Fix Unicode values of `fi' and
4177 2003-12-31 Jeff Conrad <jeff_conrad@msn.com>
4179 * test-groff.in (SEP): Quote value.
4180 * src/roff/troff/node.cpp (suppress_node::tprint): Change type of
4181 `tem' to `char*' to avoid deallocation of a pointer to a constant
4182 object which some compilers don't like.
4184 2003-12-31 Werner LEMBERG <wl@gnu.org>
4186 * font/devlj4/generate (text.map, special.map): Rewritten to work
4187 with the new hpftodit version.
4189 2003-12-30 Jeff Conrad <jeff_conrad@msn.com>
4191 * src/utils/hpftodit/hpftodit.cpp (output_charset): Emit HP symbol
4192 set and 8bit character code for all glyphs also.
4194 2003-12-30 Werner LEMBERG <wl@gnu.org>
4196 * src/libs/libgroff/strcasecmp.c: Updated from gnulib.
4198 2003-12-29 Werner LEMBERG <wl@gnu.org>
4200 More fixes for MSVC compiler.
4202 * doc/Makefile.sub, contrib/mom/Makefile.sub (GROFF_BIN_PATH): Use
4205 * src/include/nonposix.h (STDIN_FILENO, STDOUT_FILENO,
4206 STDERR_FILENO) [_MSC_VER]: Define conditionally.
4207 (getpid) [_MSC_VER]: Remove.
4208 Include direct.h and process.h conditionally.
4210 * src/roff/troff/node.cpp (suppress_node::tprint): Don't use
4211 parentheses for a_delete.
4213 * src/utils/lookbib/lookbib.cpp: Include nonposix.h.
4215 * test-groff: Replaced with...
4216 * test-groff.in: This new template to handle path separator
4219 * configure.ac: Check for direct.h and process.h.
4220 Generate test-groff script.
4221 * configure, src/include/config.hin: Regenerated.
4223 2003-12-28 Werner LEMBERG <wl@gnu.org>
4225 Add integral extension glyph.
4226 Add new option `-x' to afmtodit to suppress use of built-in AGL.
4228 * font/devhtml/R.proto, font/devutf8/R.proto: Add `u23AE'.
4230 * font/devps/generate/textmap: Provide entry for `integralex' to
4231 override (old) PUA value of the AGL.
4232 * font/devps/generate/Makefile (SS): Add afmtodit option `-x'.
4233 * font/devps/*: Regenerated.
4235 * src/utils/afmtodit/afmtodit.pl: Add option `-x'.
4236 * src/utils/afmtodit/afmtodit.man, NEWS: Updated.
4238 2003-12-27 Werner LEMBERG <wl@gnu.org>
4240 Add forgotten `coproduct' symbol (already available for DVI).
4242 * font/devhtml/R.proto, font/devps/generate/textmap,
4243 font/devps/symbolmap, font/devutf8/R.proto, man/groff_char.man,
4244 src/libs/libgroff/uniglyph.cc, src/libs/libgroff/glyphuni.cpp: Add
4245 U+2210 (\[coproduct]).
4247 2003-12-26 Jeff Conrad <jeff_conrad@msn.com>
4249 hpftodit has been extended to handle TrueType metric files and
4250 more glyphs. See hpftodit.man for more details.
4252 * src/utils/hpftodit/hpftodit.cpp: Include stdio.h, string.h,
4253 ctype.h, and unicode.h.
4254 s/msl/charcode/ everywhere since we now handle Unicode values also.
4255 (equal, NO, YES, MSL, SYMSET, UNICODE, UNICODE): New macros.
4256 Use it where appropriate.
4257 (MULTIPLIER): Replaced with...
4258 (multiplier): New global static variable.
4260 (tag_type): Add more TFM tags.
4261 (tag_name): New array.
4262 (ENUM_TYPE, FLOAT_TYPE): Removed.
4263 (BYTE_TYPE): New value assigned.
4264 (ASCII_TYPE, RATIONAL_TYPE): New enumeration values.
4265 (text_symbol_sets, special_symbol_sets): Extended to cover more
4267 (check_type): Add return value.
4268 (check_units): Add parameters to get ppi and upem values.
4269 Handle TrueType TFM data.
4270 (output_font_name): New function.
4271 (output_charset): Add parameter to handle TFM type.
4272 Handle TrueType TFMs also.
4273 (em_fract): New macro.
4274 (dump_tags): Be much more verbose and handle more tags.
4275 (dump_ascii, dump_symbol_sets, dump_symbols): New functions.
4276 (hp_msl_to_ucode_name, unicode_to_ucode_name, is_uname): New
4278 (read_map): Add parameter to handle TFM type.
4279 Handle both MSL and Unicode mappings.
4280 (main): Add two new command line options `-a' and `-q'.
4281 Updated to make use of new functions.
4284 * src/utils/hpftodit/hpuni.cpp: New file.
4286 * src/utils/hpftodit/Makefile.sub, src/utils/hpftodit/hpftodit.man:
4289 2003-12-25 Werner LEMBERG <wl@gnu.org>
4291 * src/include/nonposix.h (read) [_MSC_VER]: Define.
4293 2003-12-24 Werner LEMBERG <wl@gnu.org>
4295 * src/utils/afmtodit/afmtodit.man: Some reformulations as suggested
4296 by Michail Vidiassov <master@iaas.msu.ru>.
4298 2003-12-20 Werner LEMBERG <wl@gnu.org>
4300 * font/devhtml/R.proto: Add u00{47,67}_0306, u00{53,73}_0327,
4302 Add missing latin-2 glyphs.
4303 * font/devutf8/R.proto: Add missing latin-2 glyphs.
4305 * tmac/troffrc: Load `composite.tmac' earlier.
4307 * tmac/dvi.tmac, tmac/ps.tmac, tmac/lbp.tmac: Add u00{47,67}_0306,
4308 u00{53,73}_0327, and u0049_0307.
4309 * tmac/X.tmac: Add u00{47,67}_0306.
4310 * tmac/tty-char.tmac: Use composite glyph names for readability.
4314 * src/include/unicode.h: Remove `extern' keywords.
4316 2003-12-20 Nilgün Belma Bugüner <nilgun@superonline.com>
4318 * tmac/latin5.tmac: New file.
4320 2003-12-19 Werner LEMBERG <wl@gnu.org>
4322 Add some glyphs needed for Turkish.
4324 * font/devutf8/R.proto: Add u00{47,67}_0306, u00{53,73}_0327,
4327 * tmac/composite.tmac: Add `,' as a synonym for `ac' accent.
4328 * tmac/tty-char.tmac: Add representations for u00{47,67}_0306,
4329 u00{53,73}_0327, and u0049_0307.
4331 2003-12-18 Werner LEMBERG <wl@gnu.org>
4333 * src/devices/grops/ps.cc (ps_output::put_float): Revert change
4335 Remove trailing zeros.
4337 2003-12-17 Werner LEMBERG <wl@gnu.org>
4339 Make \? transparent to end-of-sentence recognition.
4341 * src/roff/troff/input.cc (non_interpreted_node): Add
4342 `ends_sentence' member function.
4344 2003-12-16 Werner LEMBERG <wl@gnu.org>
4346 * doc/groff.texinfo: Document `dt' request correctly.
4347 Other minor typographical improvements.
4349 2003-12-10 Michail Vidiassov <master@iaas.msu.ru>
4351 * src/utils/afmtodit/Makefile.sub (afmtodit): Fix typo.
4353 2003-12-10 Richard Stallman <rms@gnu.org>
4355 * LICENSE: Better wording.
4357 2003-12-09 Werner LEMBERG <wl@gnu.org>
4359 * aclocal.m4 (GROFF_BROKEN_SPOOLER_FLAGS): Set default value to 0.
4360 * configure, NEWS: Updated.
4362 2003-12-08 Werner LEMBERG <wl@gnu.org>
4364 * FDL: Updated to version 1.2 (from www.gnu.org/copyleft).
4366 2003-12-07 Bernd Warken <bwarken@mayn.de>
4370 2003-12-07 Werner LEMBERG <wl@gnu.org>
4372 * INSTALL: Improved.
4374 2003-12-05 Keith Marshall <keith.d.marshall@ntlworld.com>
4376 Use path separator character of target platform for compiled-in
4379 * aclocal.m4 (GROFF_TARGET_PATH_SEPARATOR): New macro.
4380 * configure.ac: Use GROFF_TARGET_PATH_SEPARATOR.
4381 * configure: Regenerated.
4382 * Makefile.in (SEP): Use GROFF_PATH_SEPARATOR.
4384 2003-12-05 Werner LEMBERG <wl@gnu.org>
4386 * src/include/nonposix.h (PATH_SEP_CHAR): New definition.
4387 Replace `PATH_SEP[0]' with `PATH_SEP_CHAR' everywhere.
4389 2003-12-04 Bernd Warken <bwarken@mayn.de>
4391 * LICENSE: New file.
4393 2003-12-03 Werner LEMBERG <wl@gnu.org>
4395 * src/utils/afmtodit/afmtodit.pl: Comment out code which handles
4396 ligatures present in AFM files since groff currently only
4397 understands some standard ligatures and nothing else.
4399 2003-12-03 Jeff Conrad <jeff_conrad@msn.com>
4401 * src/roff/groff/groff.cpp (main): Don't run the spooler if
4404 * src/roff/groff/pipeline.c (run_pipeline) [_WIN32]: Fix error
4407 Don't use Unix wait flags.
4409 2003-12-02 Werner LEMBERG <wl@gnu.org>
4411 * src/roff/troff/glyphuni.cpp, src/roff/troff/unicode.cpp,
4412 src/roff/troff/unicode.h, src/roff/troff/uniglyph.cpp,
4413 src/roff/troff/uniuni.cpp: Moved to...
4414 * src/libs/libgroff/glyphuni.cpp, src/libs/libgroff/unicode.cpp,
4415 src/libs/libgroff/unicode.h, src/libs/libgroff/uniglyph.cpp,
4416 src/libs/libgroff/uniuni.cpp: Here.
4418 * src/include/Makefile.sub.old (HDRS),
4419 src/libs/libgroff/Makefile.sub (OBJS, CCSRCS),
4420 src/roff/troff/Makefile.sub (HDRS, PBJS, CCSRCS): Updated.
4422 2003-12-01 Keith Marshall <keith.d.marshall@ntlworld.com>
4424 * src/preproc/htlp/pre-html.cpp (__tmpfile): Renamed to
4428 2003-12-01 Werner LEMBERG <wl@gnu.org>
4430 * groff.texinfo: Document special behaviour of `.vs 0'.
4431 Improve documentation of `cflags' request.
4434 2003-11-29 Werner LEMBERG <wl@gnu.org>
4436 * font/devlj4/generate/Makefile (CORONET): Use correct TFM.
4437 * font/devlj4/CORONET: Regenerated.
4439 2003-11-24 Werner LEMBERG <wl@gnu.org>
4441 * src/roff/troff/env.cpp (hyphen_trie::read_patterns_file): Fix loop
4442 if processing hyphenation patterns in traditional mode.
4443 Improve error messages.
4445 2003-11-20 Werner LEMBERG <wl@gnu.org>
4447 * src/roff/troff/node.cpp (troff_output_file::put_char_width,
4448 troff_output_file::put_char): Fix type of local variable `c'.
4450 2003-11-19 Werner LEMBERG <wl@gnu.org>
4452 * src/roff/groff/pipeline.c (P): Removed. Updated all function
4454 (i_to_a): Removed. libgroff already provides this function.
4455 (run_pipeline) [_WIN32]: Don't use itoa but i_to_a.
4457 2003-11-18 Keith Marshall <keith.d.marshall@ntlworld.com>
4459 * src/roff/groff/pipeline.c (xstrsignal): Fix usage of
4462 2003-11-17 Werner LEMBERG <wl@gnu.org>
4464 * COPYING: Use correct version.
4466 2003-11-11 Werner LEMBERG <wl@gnu.org>
4468 LynxOS 4.0.0 doesn't declare vfprintf.
4470 * configure.ac: Check for vfprintf.
4471 * configure: Regenerated.
4472 * src/include/lib.h: Handle `NEED_DECLARATION_VFPRINTF'.
4473 * src/include/config.hin: Regenerated.
4475 2003-11-10 Werner LEMBERG <wl@gnu.org>
4477 LynxOS 4.0.0 has snprintf (without declaration) but no vsnprintf.
4479 * configure.ac: Check for vsnprintf.
4480 * configure: Regenerated.
4481 * src/include/lib.h: Handle `NEED_DECLARATION_VSNPRINTF' and
4483 * src/include/config.hin: Regenerated.
4485 2003-11-09 Werner LEMBERG <wl@gnu.org>
4487 * aclocal.m4: Updated syntax to autoconf 2.59.
4488 (GROFF_HTML_PROGRAMS): Use AC_FOREACH.
4489 Don't check for gsos2.
4490 (GROFF_SRCDIR, GROFF_BUILDDIR): Removed. autoconf 2.59 provides
4491 working abs_top_srcdir and abs_top_builddir.
4493 * configure.ac: Updated syntax to autoconf 2.59.
4494 Don't call GROFF_SRCDIR and GROFF_BUILDDIR.
4495 Replace call to AC_DECL_SYS_SIGLIST with call to AC_CHECK_DECLS.
4496 * configure: Regenerated.
4498 * Makefile.in, doc/Makefile.in: s/@top_srcdir@/@abs_top_srcdir@/,
4499 s/@groff_top_builddir@/@abs_top_builddir@/.
4501 * src/roff/groff/pipeline.c (xstrsignal):
4502 s/SYS_SIGLIST_DECLARED/HAVE_DECL_SYS_SIGLIST/.
4504 2003-11-07 Werner LEMBERG <wl@gnu.org>
4506 * src/devices/grodvi/dvi.cpp (draw_dvi_printer::draw) ['a']: Always
4507 make start angle smaller than end angle to circumvent a bug in tpic
4508 handling of some versions of dvipdfm (and dvipdfmx).
4510 2003-10-30 Werner LEMBERG <wl@gnu.org>
4512 * src/devices/grops/grops.man: Improve section on creating EPS.
4514 2003-10-29 Werner LEMBERG <wl@gnu.org>
4516 * contrib/pic2graph/pic2graph.sh: Fix typo (-P-letter ->
4519 2003-10-28 Werner LEMBERG <wl@gnu.org>
4521 * doc/groff.texinfo: Fix documentation of `.if'.
4523 2003-10-27 Michail Vidiassov <master@iaas.msu.ru>
4525 * src/utils/afmtodit/afmtodit.pl: Handle unmapped characters of
4526 the form `uniXXXX' also.
4528 2003-10-27 Werner LEMBERG <wl@gnu.org>
4530 * contrib/eqn2graph/eqn2graph.sh, contrib/grap2graph/grap2graph.sh,
4531 contrib/pic2graph/pic2graph.sh: Implement secure management of
4533 Pass `-P-pletter' to groff to avoid data outside of the converted
4534 area -- some versions of `convert' (for example 5.3.8) don't check
4535 the bounding box of the image but always use a fixed image size
4536 (letter paper format).
4537 * contrib/eqn2graph/eqn2graph.man, contrib/grap2graph/grap2graph.man,
4538 contrib/pic2graph/pic2graph.man: Updated.
4540 * src/roff/groff/groff.man: Document $TMP and $TEMP.
4542 2003-10-26 Werner LEMBERG <wl@gnu.org>
4544 * src/preproc/pic/troff.cpp (troff_output::simple_circle,
4545 troff_output::simple_ellipse, troff_output::simple_arc,
4546 troff_output::simple_line, troff_output::simple_spline,
4547 troff_output::simple_polygon): Insert a space before arguments.
4548 (troff_output::set_fill): Emit `\&' before `\D'Fg...' since the
4549 latter doesn't produce a node, so the following `.sp -1' would do
4551 Don't emit `.sp -1' after \M. This also doesn't produce a token
4552 (and we don't have to care about compatibility mode).
4553 (troff_output::set_color, troff_output::reset_color): Don't emit
4554 `.sp -1' after \M and \m.
4556 * src/roff/troff/input.cpp (old_have_input): New global variable.
4557 (input_stack::get): Handle `old_have_input'.
4558 (process_input_stack) <token::TOKEN_NEWLINE>: Call
4559 `trapping_blank_line' depending on `old_have_input', not
4562 2003-10-20 Keith Marshall <keith.d.marshall@ntlworld.com>
4564 * src/libs/libgroff/tmpfile.cpp [__MSDOS__, _Win32]
4565 (WIN32_TMPDIR_ENVVAR, MSDOS_TMPDIR_ENVVAR): New macros, providing
4566 default directory names for temporary files.
4567 [__MSDOS__, _Win32] (temp_init::temp_init): Use them.
4569 * src/roff/groff/pipeline.c [__MSDOS__]: Include stdlib.h.
4570 [__MSDOS__] (run_pipeline): Honour environment variables.
4571 Don't use `tmpnam' but `tempnam' to work around messy
4574 * README.MinGW: New file.
4576 2003-10-16 Werner LEMBERG <wl@gnu.org>
4578 * src/preproc/html/pre-html.cpp (write_upto_newline): Don't use
4579 `(*t)->next' without testing validity of `*t'.
4580 (usage): Make it more readable.
4582 2003-10-16 Keith Marshall <keith.d.marshall@ntlworld.com>
4584 Make html device run under both MS-DOS and Win32.
4586 * src/preproc/html/pre-html.cpp (MAY_FORK_CHILD_PROCESS,
4587 MAY_SPAWN_ASYNCHRONOUS_CHILD): New macros to control whether
4588 spawn or fork+exec has to be used, and whether parent must sleep
4589 until the child process terminates. Used in
4590 `char_buffer::run_output_filter'.
4591 (copyofstdoutfd): Removed.
4592 (char_buffer): Replace `write_file_html' and `write_file_troff'
4593 member functions with `emit_troff_output' and `run_output_filter'.
4594 (DEVICE_FORMAT, HTML_OUTPUT_FILTER, IMAGE_OUTPUT_FILTER): New
4596 (replaceFd): Replaced with...
4597 (set_redirection): New auxiliary function.
4598 (waitForChild): Replaced with...
4599 (save_and_redirect): New auxiliary function for.
4601 (char_buffer::do_html, char_buffer::do_image): Simplified, using new
4604 2003-10-14 Keith Marshall <keith.d.marshall@ntlworld.com>
4606 * aclocal.m4 (GROFF_SYS_NERR): Check stdlib.h also.
4607 (GROFF_LIBC): New function.
4608 * configure.ac: Call GROFF_LIBC.
4610 * configure: Regenerated.
4612 * src/include/lib.h: Handle __MINGW32__.
4613 * src/include/nonposix.h [_MSC_VER]: Handle __MINGW32__.
4614 Add macro for `pipe'.
4617 * src/roff/groff/pipeline.c (run_pipeline): Handle `no_pipe'
4620 * src/utils/indxbib/signal.c (handle_fatal_signal) [!HAVE_KILL]:
4623 2003-10-13 Werner LEMBERG <wl@gnu.org>
4625 Finally fix change 2003-08-26, based on ideas from Chuck Silvers
4628 * contrib/mom/Makefile.sub: Use a stamp file in the `examples'
4631 2003-10-12 Werner LEMBERG <wl@gnu.org>
4633 * src/roff/groff/groff.cpp (help), src/devices/grops/ps.cpp (usage),
4634 src/roff/troff/input.cc (usage): Updated.
4636 * NEWS, doc/groff.texinfo: Updated.
4638 2003-10-12 Peter Miller <millerp@canb.auug.org.au>
4640 * src/libs/libgroff/searchpath.cpp
4641 (search_path::open_file_cautious): New function which also handles
4642 `-' as stdin and stdout depending on the access mode.
4643 * src/include/searchpath.h (search_path): Updated.
4645 * src/devices/grops/ps.cpp (main): Handle new `-I' switch.
4646 * src/devices/grops/ps.h: Include `searchpath.h'.
4647 * src/devices/grops/psrm.cpp (resource_manager::supply_resource):
4648 Open resource file with `include_search_path.open_file_cautious'.
4649 * src/devices/grops/grops.man: Document new `-I' switch.
4651 * src/devices/grodvi/dvi.cpp (main), src/devices/grolbp/lbp.cpp
4652 (main), src/devices/grolj4/lj4.cpp (main),
4653 src/devices/grotty/tty.cpp (main): Ignore new `-I' switch.
4655 * src/preproc/soelim/soelim.cpp (include_list_length, include_list):
4657 (include_search_path): New global variable.
4658 (include_path_append): Removed.
4659 (main): Use `include_search_path.command_line_dir' to handle `-I'.
4660 (do_file): Simplify, using new
4661 `include_search_path.open_file_cautious'.
4663 * src/roff/groff/groff.cpp (print_commands): Accept file handle as
4665 (main): Pass arguments to `-I' to both troff and devices.
4666 Improve handling of `-V'.
4667 * src/roff/groff/groff.man: Document changes to -I and -V.
4669 * src/roff/troff/input.cpp (include_search_path): New global
4671 (next_file, source, ps_bbox_request, transparent_file,
4672 process_input_file): Use new
4673 `include_search_path.open_file_cautious'.
4674 (main) Handle `-I' switch.
4675 * src/roff/troff/node.cpp (troff_output_file::really_copy_file):
4676 Use new `include_search_path.open_file_cautious'.
4677 * src/roff/troff/node.h: New extern symbol `include_search_path'.
4678 * src/roff/troff/troff.man: Document new `-I' switch.
4680 2003-09-15 Ruslan Ermilov <ru@FreeBSD.org>
4682 Support multiple calls of .Lb in LIBRARY section.
4684 * tmac/doc-common (doc-in-library-section): New register.
4685 (doc-section-library): New string.
4686 (Sh): Set `doc-in-library-section'.
4688 * tmac/doc-syms (Lb): Insert breaks before and after arguments
4689 if in LIBRARY section.
4690 * tmac/doc.tmac (doc-save-global-vars): Updated.
4691 * NEWS, tmac/groff_mdoc.man: Updated.
4693 2003-09-14 Ruslan Ermilov <ru@FreeBSD.org>
4695 * tmac/doc-common (doc-default-operating-system): New variable.
4698 2003-09-08 Werner LEMBERG <wl@gnu.org>
4700 * tmac/doc.tmac (doc-reset-reference): Handle data for `%I' also.
4702 2003-08-31 Werner LEMBERG <wl@gnu.org>
4704 * contrib/mom/Makefile.sub: Fix last change to make it really work.
4705 * Makefile.comm: Use `test ... ||' in favor of `if test ...; then'.
4706 (install_dev, uninstall_dev): Check whether $(DEVSCRIPTS) and
4707 $(DEVFILES) are not empty.
4708 * Makefile.in: Use `test ... ||' in favor of `if test ...; then'.
4710 2003-08-26 Chuck Silvers <chuq@chuq.com>
4712 * contrib/mom/Makefile.sub (prepare_make_examples): Make it work
4713 with parallel runs of `make'.
4715 2003-08-23 Stephen Gildea <http://www.gildea.com/stephen>
4717 * src/preproc/ref/ref.cpp (reference::compute_sort_key): Always
4718 insert SORT_SEP. With certain combinations of sort specifications,
4719 refer sorted entries in the wrong order. In particular, entries
4720 with a missing field should be be sorted before all entries that
4721 have that field, before refer looks to the next field.
4723 2003-08-23 Werner LEMBERG <wl@gnu.org>
4725 * src/utils/pfbtops/Makefile.sub (LINK.c): Define it so that the
4726 g++ linker is used. Reported by Mark J. Reed
4727 <mark.reed@turner.com>.
4729 2003-08-16 Heinz-Jürgen Oertel <hj.oertel@surfeu.de>
4731 Add key character `x' to tbl which makes tbl call a user-defined
4732 macro on a table cell.
4734 * src/preproc/tbl/table.h (entry_modifier): Add `macro'.
4735 * src/preproc/tbl/table.cpp (block_entry::do_divert): Call
4736 `set_modifier' after printing the compatibility request.
4737 (set_modifier): Print call to `m->macro' if not empty.
4738 * src/preproc/tbl/main.cpp (entry_format::debug_print): Handle
4740 (process_format): Implement cases `x' and `X'.
4741 * src/preproc/tbl/tbl.man, NEWS: Updated.
4743 2003-08-15 Werner LEMBERG <wl@gnu.org>
4745 * doc/groff.texinfo: Minor fixes.
4747 2003-08-09 Werner LEMBERG <wl@gnu.org>
4749 * tmac/an-old.tmac [cR]: Fix redefinition of `bp'.
4751 2003-08-07 Werner LEMBERG <wl@gnu.org>
4753 * doc/Makefile.sub: Not all shells expand wildcards in the `for'
4754 argument list to nothing if there is no file to match. Use `ls' as
4755 a protection, similar to autoconf.
4757 * Makefile.comm (install_dev, uninstall_dev): Protect `for' against
4758 empty argument lists.
4760 * doc/groff.texinfo: Improve documentation how vertical spacing
4761 and line breaks interact.
4764 * tmac/www.tmac: Initialize `www-htmlimage-gap'.
4766 2003-08-03 Werner LEMBERG <wl@gnu.org>
4768 * NEWS, src/devices/grops/grops.man: -b16 is necessary to produce
4769 EPS (using eps2eps or similar programs to compute the bounding box).
4771 2003-07-24 Werner LEMBERG <wl@gnu.org>
4773 * doc/groff.texinfo: Use the new @/ command to avoid overlong lines.
4774 * doc/texinfo.tex: Updated from texinfo 4.6.
4775 * README.CVS: From now on we need texinfo 4.6.
4777 2003-07-23 Werner LEMBERG <wl@gnu.org>
4779 Add requests `dei1' and `ami1' for completeness.
4781 * src/roff/troff/input.cc (calling_mode): Remove
4782 CALLING_DISABLE_COMP.
4783 (comp_mode): New enumeration.
4784 (do_define_string, define_string, define_nocomp_string,
4785 append_string, append_nocomp_string): Updated.
4786 (do_define_macro): Add third parameter.
4787 (define_macro, define_nocomp_macro, define_indirect_macro,
4788 append_macro, append_nocomp_macro, append_indirect_macro): Updated.
4789 (define_indirect_nocomp_macro, append_indirect_nocomp_macro): New
4792 (init_input_requests): Add `dei1' and `ami1'.
4794 * tmac/trace.tmac: Handle de1 and am1.
4795 (de): Improve tracing message.
4796 (am): Add missing `do'.
4799 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
4800 Document new requests.
4802 2003-07-22 Heinz-Jürgen Oertel <hj.oertel@surfeu.de>
4804 Add option -G to .MPIMG to insert a gap between text and the image.
4806 * tmac/www.tmac (www-finish-left-po, www-finish-right-ll,
4807 www-finish-left-ll): Updated.
4808 (www-image-just, www-image-gap, www-htmlimage-gap): New variables.
4809 (MPIMG): Make option -L and -R optional.
4810 Implement option -G.
4812 2003-07-22 Gaius Mulley <gaius@glam.ac.uk>
4814 * src/devices/grohtml/post-html.cpp
4815 (html_printer::do_file_components): Don't use `stdout' as lvalue
4816 since it can be a macro.
4818 2003-07-22 Werner LEMBERG <wl@gnu.org>
4820 * src/libs/libgroff/strerror.c: Include errno.h to be in sync with
4821 the corresponding test in aclocal.m4.
4823 2003-07-21 Werner LEMBERG <wl@gnu.org>
4825 * src/preproc/html/pre-html.cpp (TRANSPARENT): Don't use colour
4826 names but RGB values directly. Otherwise pnmtopng depends on
4827 an external file `rgb.txt' which maps colour names to values.
4829 2003-07-20 Werner LEMBERG <wl@gnu.org>
4831 * aclocal.m4 (GROFF_SYS_ERRLIST): Include stdlib.h for MinGW.
4832 * configure, src/include/config.hin: Regenerated.
4834 * src/libs/libgroff/strerror.c: Include stdlib.h for MinGW.
4836 2003-07-19 Werner LEMBERG <wl@gnu.org>
4838 * PROBLEMS: Add solution for UTF-8 problem with hyphens.
4840 2003-07-18 Werner LEMBERG <wl@gnu.org>
4842 * *.man: Switch to non-compatibility mode temporarily if GNU
4843 syntax extensions are used in the particular man page.
4845 * PROBLEMS: Add solutions for SGR problems.
4847 2003-07-17 Werner LEMBERG <wl@gnu.org>
4849 Don't ignore grotty's command line options if \X'tty: sgr ...' is
4850 used to change the drawing scheme.
4852 * src/devives/grotty/tty.cpp (bold_flag_option,
4853 underline_flag_option, italic_flag_option, reverse_flag_option,
4854 bold_underline_mode_option): New global variables.
4855 (update_options): New function.
4856 (tty_printer::special): Call update_options.
4857 (main): Don't set xxx_flag but xxx_flag_option, then call
4860 2003-07-14 Werner LEMBERG <wl@gnu.org>
4862 Make grotty emit proper Unicode box drawing characters for -Tutf8.
4864 * src/devices/grotty/tty.cpp (START_LINE, END_LINE): New enum
4866 (hline_char, vline_char): New global variables.
4867 (tty_printer::tty_printer): Initialize them.
4868 (tty_printer::draw): Emit START_LINE and END_LINE flags for both
4869 horizontal and vertical lines.
4870 (crossings): New global array.
4871 (tty_printer::end_page): Use it to determine the proper crossing
4872 character for -Tutf8.
4874 2003-07-12 Werner LEMBERG <wl@gnu.org>
4876 * doc/Makefilesub (HTMLDOCFILESALL): New macro.
4877 (HTMLDOCFILES): Revert to `pic.html'.
4878 (CLEANADD, install_html, uninstall_sub): Use HTMLDOCFILESALL.
4880 2003-07-11 Werner LEMBERG <wl@gnu.org>
4882 * doc/pic.ms: Improve documentation of absolute coordinates.
4883 Document absolute positioning of pictures.
4885 * NEWS: Add new pic capability.
4887 2003-07-09 Hartmut Henkel <hartmut_henkel@gmx.de>
4889 * src/libs/libgroff/geometry.cpp (check_output_arc_limits):
4892 2003-07-07 Werner LEMBERG <wl@gnu.org>
4894 Implement support for dashed and dotted ellipses in pic. Based on
4895 a patch from Hartmut Henkel <hartmut_henkel@gmx.de>.
4897 * src/preproc/pic/common.cpp (common_output::ellipse_arc,
4898 common_output::dashed_ellipse, common_output::dotted_ellipse): New
4899 functions. Ellipse arcs are approximated with circle arcs.
4900 * src/preproc/pic/common.h (common_output): Updated.
4901 * src/preproc/pic/tex.cpp (tex_output::ellipse): Use new ellipse
4903 * src/preproc/pic/troff.cpp (simple_output::ellipse): Ditto.
4905 * src/preproc/pic/TODO, src/preproc/pic/pic.man: Updated.
4907 2003-07-06 Werner LEMBERG <wl@gnu.org>
4909 Make grotty work on platforms which have unsigned char as the
4910 default for char. Based on a patch by Thomas Klausner
4913 * src/devices/grotty/tty.cpp (schar): New typedef.
4914 Updated calls to declare_ptable and implement_ptable.
4915 (glyph): Use schar for back_color_idx and fore_color_idx.
4916 (tty_printer): Use schar for curr_fore_idx and curr_back_idx.
4917 (tty_printer::tty_color, tty_printer::tty_printer,
4918 tty_printer::color_to_idx, tty_printer::put_color): Updated.
4920 2003-07-06 Ruslan Ermilov <ru@FreeBSD.org>
4922 * src/roff/nroff/nroff.sh: Add option -d for completeness.
4923 * src/roff/nroff/nroff.man: Updated.
4925 2003-07-05 Werner LEMBERG <wl@gnu.org>
4927 * NEWS, tmac/groff_www.man: Updated.
4928 * doc/Makefile.sub: Updated.
4930 2003-07-05 Gaius Mulley <gaius@glam.ac.uk>
4932 Implement support for multiple HTML output files.
4934 * src/preproc/html/pre-html.cpp (scanArguments): Dummy handling for
4935 -j command line option.
4937 * src/devices/grohtml/post-html.cpp (job_name, multiple_files): New
4939 (file): New fields `new_output_file', `require_links',
4941 (file::file): Updated.
4942 (files::set_file_name, files::set_links_required,
4943 files::are_links_required, files::is_new_output_file,
4944 files::file_name, files::next_file_name): New functions.
4945 (header_desc): New fields `no_of_level_one_headings',
4947 (header_desc::header_desc): Updated.
4948 (header_desc::write_headings): Handle multiple files.
4949 (html_printer::write_header): Save file name in which header occurs.
4950 (html_printer::determine_header_level): Possibly split files on
4952 (html_printer::do_links, html_printer::troff_tag): Updated.
4953 (html_printer::insert_split_file, html_printer::do_job_name,
4954 html_printer::emit_link, html_printer::write_navigation,
4955 html_printer::do_file_components): New functions.
4956 (html_printer::~html_printer): Handle multiple files.
4957 (main): Handle command line option `-j'.
4959 * src/devices/grohtml/grohtml.man: Updated.
4961 * doc/Makefile.sub (pic.html), doc/Makefile.in (pic.html): New rule
4964 * tmac/www.tmac (JOBNAME): New macro.
4965 * tmac/s.tmac (SH-NO-TAG): New macro.
4966 (@SH): Call SH-NO-TAG.
4969 2003-07-05 Ruslan Ermilov <ru@FreeBSD.org>
4971 * tmac/groff_mdoc.man: Improve documentation of punctuation
4974 2003-07-04 Ruslan Ermilov <ru@FreeBSD.org>
4976 * tmac/doc.tmac (Bd): Change to doc-Li-font later.
4978 2003-07-03 Werner LEMBERG <wl@gnu.org>
4980 * tmac/an-old.tmac [cR]: Redefine `bp' to avoid empty lines.
4982 2003-07-01 Ruslan Ermilov <ru@FreeBSD.org>
4984 * tmac/doc.tmac (doc-do-func, doc-do-func-args): Don't print a comma
4985 after `/*' and `*/'.
4987 (Fn, Fo): Reduce indentation in synopsis.
4989 * tmac/doc-common (doc-check-depth): New macro.
4990 (doc-end-macro, Sh, Ss): Use it.
4991 (Cd): Fix behaviour in synopsis.
4992 (In): Make it parsed and callable.
4993 If not in the synopsis, represent the C header file enclosed in
4995 (doc-str-Rv-std-suffix, doc-str-Rv-stds-suffix, doc-str-Rv-std0):
4996 Use minus, not hyphen.
4998 * tmac/groff_mdoc.man: Updated.
5000 2003-07-01 Werner LEMBERG <wl@gnu.org>
5002 Integrated grap2graph, contributed by Eric S. Raymond.
5004 * contrib/grap2graph/{Makefile.sub, grap2graph.sh, grap2graph.man}:
5006 * Makefile.in, NEWS, MANIFEST, contrib/eqn2graph.man,
5007 contrib/pic2graph.man, src/roff/groff/groff.man: Updated.
5009 2003-07-01 Colin Watson <cjwatson@debian.org>
5011 * src/xditview/*.c: Add prototypes, fix return types, add includes.
5012 Based on work by Fumitoshi UKAI <ukai@debian.or.jp>.
5014 2003-06-31 Ruslan Ermilov <ru@FreeBSD.org>
5016 * tmac/tty-char.tmac: Provide `lb', `rb', `lk', `rk', `lt', `rt'.
5018 2003-06-31 Werner LEMBERG <wl@gnu.org>
5020 * doc/Makefile.sub (CLEANADD): Remove all files created by
5021 running `make groff.{pdf,dvi}'.
5023 * Makefile.sub (DISTCLEANFILES): Remove all non-source files from
5026 2003-06-30 Werner LEMBERG <wl@gnu.org>
5028 * Makefile.in (SHELL): Define as @SHELL@.
5029 (mkinstalldirs): Use $(SHELL).
5030 (MDEFINES): Add $(SHELL).
5031 * Makefile.comm (SHELL): Removed.
5033 2003-06-29 Werner LEMBERG <wl@gnu.org>
5035 * tmac/s.tmac (De, Ds): New aliases for .DE and .DS, respectively.
5036 The X11 documentation files use them.
5037 * tmac/groff_ms.man, doc/groff.texinfo: Document them.
5039 2003-06-15 Robert Goulding <goulding@Princeton.EDU>
5041 * tmac/e.tmac (@C): Handle .ad also.
5043 2003-06-12 Werner LEMBERG <wl@gnu.org>
5045 * src/preproc/tbl/tbl.man: Document formatting of text blocks.
5047 * src/roff/troff/input.cc (token::next) <handle_escape_char>:
5048 Assign `n' even here. It is possible to construct a node
5049 immediately following an escape character:
5057 2003-06-10 Werner LEMBERG <wl@gnu.org>
5059 * README.WIN32: Removed.
5060 * MANIFEST: Updated.
5062 2003-06-07 Werner LEMBERG <wl@gnu.org>
5064 * src/roff/nroff/nroff.sh: Don't emit SGR for option -u.
5066 2003-06-05 Werner LEMBERG <wl@gnu.org>
5068 * src/preproc/pic/pic.y <sprintf_args>: Implement workaround for bug
5069 in Compaq C++ V6.5-033 for Compaq Tru64 UNIX V5.1A (Rev. 1885).
5071 2003-06-03 Werner LEMBERG <wl@gnu.org>
5073 * src/preproc/grn/hdb.cpp (DBRead): Don't close file handle; this
5074 is done by the calling function.
5076 2003-05-22 Ruslan Ermilov <ru@FreeBSD.org>
5078 * tmac/X.tmac: Fix definition of `em'.
5080 2003-05-22 Werner LEMBERG <wl@gnu.org>
5082 * src/roff/troff/input.cc (return_macro_request): Fix detection of
5085 2003-05-18 Werner LEMBERG <wl@gnu.org>
5087 * tmac/doc.tmac (doc-tag-list): Force horizontal mode after tag
5088 to make items work which consist only of a tag.
5090 2003-05-17 Werner LEMBERG <wl@gnu.org>
5092 * tmac/doc.tmac (doc-tag-list): Don't use \Z to assure that spaces
5093 aren't stretched in a tag (this can fail with unformatted boxes).
5094 Instead, insert a break and go back one line.
5096 2003-05-16 Werner LEMBERG <wl@gnu.org>
5098 * src/roff/troff/input.cc (return_macro_request): If called with
5099 argument pop macro twice. We need this to trace `return'.
5101 * tmac/trace.tmac: Handle `return'.
5104 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
5107 2003-05-15 Larry Kollar <kollar@alltel.net>
5109 * tmac/groff_ms.man, doc/groff.texinfo: Improve documentation of
5110 registers `FPS', `FVS', and `FPD'.
5112 2003-05-15 Werner LEMBERG <wl@gnu.org>
5114 * src/utils/pfbtops/pfbtops.c (get_text): Handle loop counter
5117 2003-05-03 Ruslan Ermilov <ru@FreeBSD.org>
5119 * tmac/groff_mdoc.man: Slight improvements.
5121 2003-05-03 Werner LEMBERG <wl@gnu.org>
5123 * tmac/doc-common (doc-header): Emit vertical space of 1v instead of
5124 `doc-header-space' after header line if register `cR' is set.
5126 2003-05-02 Werner LEMBERG <wl@gnu.org>
5130 2003-05-01 Ruslan Ermilov <ru@FreeBSD.org>
5132 * tmac/doc-common (Nd): Use \[em].
5134 2003-05-01 Werner LEMBERG <wl@gnu.org>
5136 * tmac/doc-ditroff, tmac/doc-nroff (doc-header-space,
5137 doc-footer-space): Initialize to 0.5i.
5138 (doc-setup-page-layout): Don't set doc-header-space and
5141 2003-04-30 Werner LEMBERG <wl@gnu.org>
5143 * REVISION: Set to 1.
5145 * doc/pic.ms: Document possible problems with `figname'.
5147 2003-04-29 Werner LEMBERG <wl@gnu.org>
5149 Version 1.19 released
5150 =====================
5152 * VERSION: Set to 1.19.
5153 * REVISION: Set to 0.
5154 * doc/groff.texinfo, doc/webpage.ms, NEWS: Updated.
5156 * src/devices/grohtml/post-html.cpp (html_printer::~html_printer):
5157 Define charset as `US-ASCII' in html output.
5159 * tmac/www.tmac (ULE): Add missing scaling indicator.
5161 * win32-diffs: Removed.
5163 2003-04-28 Werner LEMBERG <wl@gnu.org>
5165 * doc/groff.texinfo: Document `dn' and `dl' registers if used with
5167 Document how to insert discardable whitespace with `.ss'.
5169 2003-04-27 Werner LEMBERG <wl@gnu.org>
5171 * src/preproc/pic/tex.cpp (tex_output::start_picture): Make code
5172 work with plain TeX also.
5174 * src/preproc/pic/pic.man, doc/pic.ms: Fix TeX code example.
5176 2003-04-25 Gaius Mulley <gaius@glam.ac.uk>
5178 * src/devices/grohtml/post-html.cpp (html_printer::~html_printer):
5181 2003-04-24 Werner LEMBERG <wl@gnu.org>
5183 * src/preproc/pic/pic.man, doc/pic.ms: Explain how to get a
5184 vbox with positive height and zero depth if in TeX mode.
5186 * NEWS: Document glyph name changes for grodvi and grolj4.
5188 2003-04-23 Werner LEMBERG <wl@gnu.org>
5190 * src/preproc/pic/tex.cpp (tex_output::start_picture): Fix TeX code.
5191 * doc/pic.ms: Fixed.
5193 2003-04-21 Werner LEMBERG <wl@gnu.org>
5195 HP-UX 10.20 has `snprintf' but it isn't declared.
5197 * configure.ac: Add declaration test for snprintf.
5198 * configure: Regenerated.
5199 * src/include/lib.h: Handle `NEED_DECLARATION_SNPRINTF'.
5200 * src/include/config.hin: Regenerated.
5202 2003-04-19 Werner LEMBERG <wl@gnu.org>
5204 Add keyword `figname' to pic, specifying the name of the picture
5205 box in TeX mode. Based on a patch from William J Poser
5206 <wjposer@unagi.cis.upenn.edu>.
5208 * src/preproc/pic/pic.y: New token `FIGNAME'.
5209 (macro_name): New rule of type <str>.
5210 (placeless_element): Handle `FIGNAME'.
5211 * src/preproc/pic/lex.cpp (lookup_keyword): Add `figname'.
5212 * src/preproc/pic/main.cpp (graphname): New global variable.
5213 (do_picture): Initialize `graphname'.
5214 * src/preproc/pic/pic.h: Updated.
5215 * src/preproc/pic/tex.cpp (tex_output::start_picture): Use
5218 (tex_output::text): Beautify output.
5219 * src/preproc/pic/object.cpp (object_spec::~object_spec): Deallocate
5220 `shaded' and `outlined' unconditionally.
5221 * NEWS, src/preproc/pic/pic.man, doc/pic.ms: Updated.
5224 * PROBLEMS, README.CVS: Mention that bison version 1.875b or
5225 greater is necessary.
5227 2003-04-17 Hartmut Henkel <hartmut_henkel@gmx.de>
5229 Add option -r to soelim to avoid emission of `.lf' lines.
5230 Add option -t to produces TeX comment lines instead of `.lf' lines.
5232 * src/preproc/soelim/soelim.cpp: New global variables `raw_flag'
5235 (main): Handle `-r' and `-t'.
5236 (set_location): Handle `raw_flag' and `tex_flag'.
5237 * src/preproc/soelim/soelim.man, NEWS: Updated.
5239 2003-04-17 Werner LEMBERG <wl@gnu.org>
5241 * tmac/hyphenex.sh: Replaced with...
5242 * tmac/hyphenex.pl: This perl script to avoid sed compatibility
5245 * aclocal.m4 (GROFF_HTML_PROGRAMS): Emit useful warning message
5246 if --quiet is used for the configure script.
5247 * configure: Regenerated.
5249 2003-04-16 Werner LEMBERG <wl@gnu.org>
5251 * src/devices/grohtml/post-html.cpp (text_glob::text_glob):
5252 Add `const' to second argument.
5253 (html_printer::add_table_end): Add `const' to argument.
5254 * src/devices/grohtml/html-text.cpp (html_text::issue_tag): Add
5255 `const' to arguments.
5256 * src/devices/grohtml/html-text.h: Updated.
5258 * src/devices/grolbp/charset.h (symset): Use `unsigned char'.
5259 * src/devices/grolbp/lbp.h (lbpputc): Use `unsigned char' for
5262 * src/devices/grotty/tty.cpp (tty_printer::make_rgb_string): Use
5263 cast for integer constant.
5265 * src/preproc/html/pre-html.cpp (image_device): Use `const'.
5266 (writeNbytes): Add `const' to first argument.
5267 (writeString): Add `const' to argument.
5268 (char_buffer::can_see): Add `const' to third argument.
5269 * src/preproc/html/pushback.cpp (pushBackBuffer::isString): Add
5270 `const' to argument.
5271 * src/preproc/html/pushback.h: Updated.
5273 * src/preproc/soelim/soelim.cpp (include_list): Add `const'.
5274 (include_path_append): Add `const' to argument.
5277 * src/roff/troff/uniglyph.cpp (unicode_to_glyph_list): Use `const'
5279 (unicode_to_glyph_init::unicode_to_glyph_init): Updated.
5280 * src/roff/troff/uniuni.cpp (unicode_decompose_list): Use `const'
5282 (unicode_decompose_init::unicode_decompose_init): Updated.
5283 * src/roff/troff/glyphuni.cpp (glyph_to_unicode_list): Use `const'
5285 (glyph_to_unicode_init::glyph_to_unicode_init): Updated.
5286 * src/roff/troff/input.cc (process_startup_file): Add `const' to
5289 * tmac/hyphenex.sh: Make script more portable by using a here
5292 2003-04-15 Werner LEMBERG <wl@gnu.org>
5294 Renamed all `*.cc' files to `*.cpp'.
5295 Updated all configuration files, makefiles, and documentation.
5297 2003-04-14 Werner LEMBERG <wl@gnu.org>
5299 * tmac/hyphenex.sh: Slight improvements.
5301 2003-04-13 Werner LEMBERG <wl@gnu.org>
5303 * font/devascii/R.proto, font/devcp1037/R.proto,
5304 font/devlatin1/R.proto, font/devutf8/R.proto: Fill up remaining
5305 character slots with unnamed glyphs.
5307 * tmac/an-old.tmac: Fix hyphenation value if `cR' is active.
5308 (an-first): New global variable.
5309 (an-header): Emit vertical space between multiple man pages.
5311 2003-04-11 Werner LEMBERG <wl@gnu.org>
5313 * doc/groff.texinfo, man/groff_out.man: \S only accepts integer
5316 2003-04-10 Werner LEMBERG <wl@gnu.org>
5318 * PROBLEMS: Revised.
5320 2003-04-10 Bernd Warken <bwarken@mayn.de>
5322 * doc/webpage.ms: Improved.
5324 2003-04-09 Werner LEMBERG <wl@gnu.org>
5326 Add register \n[.height] which returns the value of \H.
5327 Add register \n[.slant] which returns the value of \S.
5329 * src/roff/troff/env.cc (init_env_requests): Implement.
5330 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
5333 2003-04-08 Werner LEMBERG <wl@gnu.org>
5335 * tmac/html.tmac: Move some of the data into html-end.tmac.
5336 Remove most of the character translations for eqn since html fonts
5337 now cover those characters.
5339 * tmac/html-end.tmac: New file.
5340 * tmac/troffrc: Load html.tmac not www.tmac for -Thtml.
5341 * tmac/troffrc-end: Load html-end.tmac not html.tmac for -Thtml.
5342 * tmac/Makefile.sub (NORMALFILES): Add html-end.tmac.
5344 2003-04-07 Werner LEMBERG <wl@gnu.org>
5346 * man/groff_out.man: Document negative values of `N' if -Thtml is
5349 2003-04-06 Werner LEMBERG <wl@gnu.org>
5351 * Makefile.comm (depend.temp): Check location of YTABC.
5353 2003-04-05 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
5355 * contrib/mom/Makefile.sub (GROFFBIN): New variable for groff
5357 (groff_bin_path): Rename to GROFF_BIN_PATH.
5358 (GROFF): Use GROFFBIN and GROFF_BIN_PATH.
5359 * doc/Makefile.in (TROFFBIN): New variable for troff
5361 (GROFFBIN): New variable for groff binary path.
5362 (groff_bin_path): Rename to GROFF_BIN_PATH.
5363 (TROFF): Use TROFFBIN.
5364 (GROFF): Use GROFFBIN and GROFF_BIN_PATH.
5365 * doc/Makefile.sub (GROFFBIN): New variable for groff
5367 (groff_bin_path): Rename to GROFF_BIN_PATH.
5368 (GROFF): Use GROFFBIN and GROFF_BIN_PATH.
5370 * Makefile.comm (install_dev): Install scripts from DEVSCRIPTS
5371 with INSTALL_SCRIPT.
5372 (uninstall_dev): Uninstall scripts from DEVSCRIPTS.
5373 * Makefile.dev (all): Depend on DEVSCRIPTS.
5374 (install_dev): Likewise.
5375 * font/devdvi/Makefile.sub (DEVSCRIPTS): New variable to hold
5377 * font/devps/Makefile.sub (DEVSCRIPTS): Likewise.
5378 (DEVGENSCRIPTS): New variable to hold generated scripts.
5380 2003-04-05 Werner LEMBERG <wl@gnu.org>
5382 * src/libs/libdriver/input.cc (IntArray::operator[],
5383 IntArray::get_data): Remove meaningless `const' in return value.
5385 * README.CVS: New file.
5387 2003-04-04 Werner LEMBERG <wl@gnu.org>
5389 Check for stdint.h in C++, not in C.
5391 * aclocal.m4 (GROFF_STDINT_H): New function,
5392 * configure.ac: Check for stdint.h with GROFF_STDINT_H instead of
5394 * configure, src/include/config.hin: Regenerated.
5395 * src/libs/libgroff/tmpname.cc: Use HAVE_CC_STDINT_H.
5398 Fix handling of in grohtml. To do this, troff emits `N'
5399 with a negative value, representing the width of the unbreakable
5400 space (only for -Thtml). grohtml then converts this back to
5401 and uses the value of N as its width.
5403 * src/roff/troff/node.cc (space_char_hmotion_node::tprint,
5404 unbreakable_space_node::tprint): Emit `N-<width>'.
5405 * src/include/printer.h (printer::set_numbered_char): Make it
5407 Make members `font_table' and `nfonts' protected instead of private.
5408 * src/devices/grohtml/post-html.cc
5409 (html_printer::set_numbered_char): New member function.
5412 * src/libs/libgroff/maxfilename.cc:
5413 s/HAVE_LIMITS_H/HAVE_CC_LIMITS_H/.
5415 * src/roff/troff/node.cc (unbreakable_space_node::tprint): Don't
5418 2003-04-03 Sergey A. Osokin <osa@freebsd.org.ru>
5420 * man/roff.man: Small fixes.
5422 2003-04-03 Werner LEMBERG <wl@gnu.org>
5424 Make groff independent from locale's numeric settings.
5426 * configure.ac: Check for `setlocale'.
5427 * configure, src/include/config.hin: Regenerated.
5429 * src/include/lib.h: Handle HAVE_SETLOCALE.
5431 * src/devices/grodvi/dvi.cc (main), src/devices/grolj4/lj4.cc
5432 (main), src/devices/grops/ps.cc (main), src/preproc/grn/main.cc
5433 (main), src/preproc/pic/main.cc (main): Call `setlocale'.
5436 * doc/groff.texinfo: Change dir category to `Typesetting'.
5437 (Man font macros): Mention that there is no space between arguments
5440 * src/libs/libdriver/printer.cc, src/devices/grotty/tty.cc
5441 (*printer::change_color, *printer::change_fill_color): Add missing
5444 2003-04-02 Werner LEMBERG <wl@gnu.org>
5446 * src/devices/grohtml/html-table.cc (html_table::emit_col,
5447 html_table::is_gap): Compute table widths after converting border
5448 positions to avoid rounding errors.
5450 2003-04-01 Werner LEMBERG <wl@gnu.org>
5452 * src/devices/grohtml/html-text.cc (html_text::do_space): Handle
5453 `space_emitted' properly.
5455 2003-03-31 Werner LEMBERG <wl@gnu.org>
5457 * src/devices/grohtml/html-table.cc: Fix column width calculation.
5458 (html_table::set_linelength): Don't add 1.
5459 (html_table::add_indent): Don't subtract 1.
5461 * tmac/html.tmac: Set default page offset to zero.
5463 2003-03-30 Werner LEMBERG <wl@gnu.org>
5465 Make groff emit ` ' for `\ ' and `\~' if `-Thtml' is used.
5467 * src/roff/troff/node.cc (space_char_hmotion_node::tprint,
5468 unbreakable_space_node::tprint): New functions.
5469 (troff_output_file): Make space_char_hmotion_mode::tprint and
5470 unbreakable_space_node::tprint to friends.
5471 * src/roff/troff/node.h: Updated.
5473 * font/devhtml/R.proto: Add ` ' at position 0xA0 (as defined
5474 in the HTML standard).
5476 2003-03-29 Werner LEMBERG <wl@gnu.org>
5478 * src/roff/troff/env.cc (point_size): Fix emission of html tag.
5479 Otherwise, the following code
5488 produces `x a' instead of `xa'. This is a temporary fix, disabling
5489 font changes in diversions for -Thtml.
5491 * tmac/an-old.tmac (TH, SH): Use `HTML-TAG-NS' instead of
5493 (an-do-tag-html): Merge with ...
5494 (an-do-tag): This macro.
5495 Change code slightly to circumvent grohtml bug.
5496 * tmac/troffrc-end: Define dummy for HTML-TAG-NS.
5498 * src/devices/grohtml/html-table.cc (html_table::emit_col,
5499 html_table::is_gap): Round `width' properly.
5501 * tmac/html.tmac: Provide some default layout parameters for
5504 * font/devhtml/DESC.proto: Don't use discrete values for `sizes'
5507 2003-03-28 Werner LEMBERG <wl@gnu.org>
5509 src/devices/grops/ps.cc (ps_printer::do_import): Fix error message.
5511 2003-03-27 Werner LEMBERG <wl@gnu.org>
5513 * tmac/an-old.tmac (BT): Don't call .tl if register `ps4html' is
5516 2003-03-20 Werner LEMBERG <wl@gnu.org>
5518 * src/roff/troff/env.cc (vertical_spacing): Allow zero value for
5520 * doc/groff.texinfo: Updated.
5522 2003-03-19 Werner LEMBERG <wl@gnu.org>
5524 * src/roff/troff/input.cc (process_input_stack) <TOKEN_BEGIN_TRAP,
5525 TOKEN_END_TRAP>: Reset `have_input'.
5527 2003-03-18 Werner LEMBERG <wl@gnu.org>
5529 * src/roff/groff/groff.man: Mention groff_trace man page.
5531 2003-03-16 Werner LEMBERG <wl@gnu.org>
5533 * Makefile.in (LIBEXT): New variable to indicate the file extension
5534 of library files. Computed heuristically from $(OBJEXT).
5535 (MDEFINES): Add $(LIBEXT).
5536 * Makefile.lib, Makefile.comm: Use it.
5538 * src/utils/pfbtops/pfbtops.c (get_text): New function. Split
5539 overlong lines into smaller chunks.
5540 (get_binary): New function.
5542 * src/utils/pfbtops/pfbtops.man: Updated.
5544 2003-03-15 Colin Watson <cjwatson@debian.org>
5546 * src/roff/groff/groff.man: Minor syntax fix.
5548 2003-03-14 Egil Kvaleberg <egil@kvaleberg.no>
5550 * src/devices/grops/ps.cc (ps_printer::media_set,
5551 ps_printer::~ps_printer): Handle zero paper width and length.
5553 2003-03-13 Werner LEMBERG <wl@gnu.org>
5555 Add options -p and -l to grodvi.
5557 * src/devices/grodvi/dvi.cc: Include paper.h.
5558 (landscape_flag, user_paper_length, user_paper_width): New global
5560 (dvi_printer::begin_page): Emit `papersize' special.
5561 Set color after initialization of `cur_h' and `cur_v'.
5562 (main): Add options `-l' and `-p'.
5563 * font/devdvi/Makefile.sub (DESC): Set `papersize'.
5564 * src/devices/grodvi/grodvi.man, NEWS: Updated.
5566 * src/devices/grops/psrm.cc (valid_input_table): Fixed.
5568 2003-03-12 Werner LEMBERG <wl@gnu.org>
5570 * src/devices/grops/grops.man: Move documentation of .PSPIC to...
5571 * man/groff_tmac.man: This man page.
5572 * man/groff_font.man: Declare `paperwidth' and `paperlength' as
5575 * tmac/X.tmac: Don't load pspic.tmac.
5577 2003-03-11 Werner LEMBERG <wl@gnu.org>
5579 Make variable `pr' local to libdriver/input.cc. Based on a patch
5580 by Bernd Warken <bwarken@mayn.de>.
5582 * src/include/driver.h (pr): Removed.
5584 * src/libs/libdriver/input.cc (pr): New global variable.
5585 (do_file): Deallocate `pr'.
5586 * src/libs/libdriver/printer.cc (pr): Removed.
5588 * src/devices/grodvi/dvi.cc (main), src/devices/grohtml/post-html.cc
5589 (main), src/devices/grolbp/lbp.cc (main), src/devices/grolj4/lj4.cc
5590 (main), src/devices/grops/ps.cc (main), src/devices/grotty/tty.cc
5591 (main): Don't delete `pr'.
5593 2003-03-10 Werner LEMBERG <wl@gnu.org>
5595 * tmac/a4.tmac, tmac/composite.tmac: Use `.do'.
5596 * tmac/papersize.tmac: New file.
5597 * tmac/troffrc: Include `papersize.tmac'.
5598 * tmac/Makefile.sub (NORMALFILES): Add `papersize.tmac'.
5599 * tmac/an-old.tmac: Set LT to LL by default.
5601 * NEWS, MANIFEST, tmac/groff_man.man, man/groff_tmac.man,
5602 doc/groff.texinfo: Updated.
5604 * src/libs/libgroff/paper.cc (add_iso_paper): Fix very embarassing
5605 bug which caused all odd iso papers to have wrong dimensions.
5607 * src/devices/grops/ps.cc (user_paper_width): New global variable.
5608 (main) <'p'>: Set `user_paper_width' also.
5609 (ps_printer::media_width, ps_printer::media_height): Use values
5610 given with option `-p'.
5612 2003-03-09 Werner LEMBERG <wl@gnu.org>
5614 * src/include/nonposix.h: Provide default for SET_BINARY.
5616 * src/devices/grodvi/dvi.cc, src/devices/grolbp/lbp.cc,
5617 src/devices/grolj4/lj4.cc, src/devices/grops/ps.cc: Call SET_BINARY
5620 * src/utils/pfbtops/pfbtops.c: Call SET_BINARY unconditionally.
5621 (main): Treat \r\n as \n.
5623 2003-03-08 Werner LEMBERG <wl@gnu.org>
5625 * tmac/an-old.tmac: Use register `HY' to control hyphenation.
5626 * NEWS, tmac/groff_man.man, doc/groff.texinfo: Document it.
5628 2003-03-07 Werner LEMBERG <wl@gnu.org>
5630 Added support to access more than 256 glyphs in Type 1 fonts.
5632 * src/devices/grops/ps.cc (subencoding): New structure.
5633 (style): Add `sub' field.
5635 (ps_printer): Add `subencodings' and `next_subencoding_index' fields.
5636 Add `set_subencoding', `get_subfont' and `encode_subfont' member
5639 (ps_printer::set_char): Use `set_subencoding'.
5640 (make_subencoding_name): New function.
5641 (ps_printer::set_style): Handle case where `sty.sub' is not zero.
5642 (ps_printer::~ps_printer): Emit subencoding definitions.
5644 * src/devices/grops/psrm.cc (valid_input_table): New array to
5645 properly support EBCDIC.
5646 (white_space): Add `\f'.
5647 (ps_get_line): Change first argument to be of type `string &'.
5648 Updated all callers.
5649 This allows to get lines of arbitrary length.
5650 Use `valid_input_table'.
5651 Remove warning about non-conforming PS line length. This seems
5652 not to be of great importance -- for example, dvips don't emit
5654 (PS_LINE_MAX): Removed.
5655 (matches_comment): Change first argument to be of type `string &'.
5657 * src/devices/grops/grops.man, src/devices/grops/TODO: Updated.
5659 * src/utils/afmtodit/afmtodit.pl (%unicode_decomposed,
5660 %AGL_to_unicode, %default_ligatures): New hash tables.
5661 Read all map entries.
5662 Add unencoded characters.
5663 Check for default ligatures if there are no `L' entries.
5664 Print all kern entries.
5665 Print all characters in charset.
5666 * src/utils/afmtodit/afmtodit.man: Updated.
5668 * font/devps/*: Regerated all fonts.
5670 * tmac/latin[129].tmac, tmac/cp1047.tmac: Don't test for existence
5671 of characters, just use `.trin'. Otherwise the mapping depends
5672 on the font encoding.
5673 * tmac/ps.tmac: Add `fi' and `fl'.
5674 Improve `Fi' and `Fl'.
5675 * tmac/X.tmac, tmac/lbp.tmac, tmac/tty.tmac: Improve `Fi' and `Fl'.
5676 * tmac/Xps.tmac: Fix `em'.
5680 2003-03-04 Werner LEMBERG <wl@gnu.org>
5682 * src/roff/troff/input.cc (charinfo_to_node_list): Reset
5685 2003-03-03 Werner LEMBERG <wl@gnu.org>
5687 * Makefile.sub (DISTCLEANFILES): Add gxditview._man.
5689 * font/devps/generate/textmap: Remove entry `similarequal'.
5690 * font/devps/symbolmap: Updated.
5692 2003-03-02 Werner LEMBERG <wl@gnu.org>
5694 * src/libs/libgroff/font.cc (font::load): Fix error message for
5697 * src/devices/grops/grops.man: Improve documentation of the -b
5700 * tmac/tty.tmac: Load latin1.tmac for all TTY devices except
5701 `ascii' and `cp1047'.
5703 2003-03-01 Werner LEMBERG <wl@gnu.org>
5705 Document composite glyphs and the `composite' request.
5707 * man/groff.man, man/groff_diff.man, doc/groff.texinfo: Do it.
5709 2003-02-28 Werner LEMBERG <wl@gnu.org>
5711 * font/devdvi/generate/ec.map: Add some more Unicode entities.
5712 * font/devdvi/*EC: Updated.
5714 * tmac/composite.tmac, tmac/latin2.tmac, tmac/latin9.tmac: New files.
5715 * tmac/latin1 (latin1-tr): Undo any previous mapping.
5716 * tmac/troffrc: Load `composite.tmac'.
5717 * tmac/Makefile.sub (NORMALFILES): Updated.
5719 * doc/groff.texinfo (Input Encodings): New section.
5722 2003-02-27 Werner LEMBERG <wl@gnu.org>
5724 * doc/texinfo.tex: New version 2003-02-11.06.
5726 * tmac/doc-common (Dt): Don't emit warning for unknown section.
5727 * tmac/groff_mdoc.man: Fix description of `Dt'.
5729 2003-02-26 Egil Kvaleberg <egil@kvaleberg.no>
5731 * font/devps/prologue.ps: Fix for included Postscript that does
5732 a setpagedevice -- which is now safely ignored.
5736 * src/devices/grops/ps.cc: Now sets the page size in the generated
5737 document. This is done in two ways: Via a %%-comment for gv and
5738 the like, and via a PageSize and setpagedevice for programs that
5739 understands Postscript proper, like ps2pdf.
5741 * src/devices/grops/ps.h: New broken-flag to avoid page size
5742 definition, if required.
5744 * src/devices/grops/grops.man: New broken-flag 16 mentioned.
5746 * doc/Makefile.in: Added -nosetpage flag (via @pnmtops_nosetpage@).
5747 Not really necessary due to the fix in prologue.ps, but cleaner:
5748 Such information does not belong in an .eps file.
5750 * doc/Makefile.sub: See doc/Makefile.in.
5752 2003-02-26 Ralph Corderoy <ralph@inputplus.co.uk>
5754 * aclocal.m4 (GROFF_PNMTOPS_NOSETPAGE): Use P2 format for testing
5755 instead of P1 since the latter is broken in some versions of netpbm.
5756 * configure: Updated.
5758 2003-02-26 Larry Kollar <kollar@alltel.net>
5760 Make man pages more customizable.
5762 * tmac/an-old.tmac (FT): New register holding footer distance from
5764 (HF): New string holding the default heading font.
5765 (TH): Handle registers `IN' and `SN' set on the command line.
5767 (PT, BT): New strings to customize header and footer lines.
5768 (an-header, an-footer): Use them.
5770 * tmac/groff_man.man: Document changes.
5772 * doc/groff.texinfo: Document man changes.
5773 Document Ultrix extensions of man.
5775 2003-02-26 Werner LEMBERG <wl@gnu.org>
5777 * src/roff/troff/input.cc (do_width, do_if_request): Reset
5778 `have_input' after changing back to old environment.
5780 * src/devices/grolbp/lbp.cc (lbp_printer::set_line_thickness): Move
5781 function up to be defined before first call. This is necessary to
5782 avoid a compilation problem with Sun's WorkShop 6 C++ compiler.
5784 * src/utils/afmtodit/afmtodit.pl: Make script search for files in
5785 the default font directory also. Based on a patch from James
5786 J. Ramsey <jjramsey_6x9eq42@yahoo.com>.
5787 * src/utils/afmtodit/Makefile.sub (afmtodit): Handle @FONTDIR@.
5788 * src/utils/afmtodit/afmtodit.man: Document it.
5792 * tmac/groff_man.man, doc/groff.texinfo: Many minor fixes.
5794 2003-02-25 Gaius Mulley <gaius@glam.ac.uk>
5796 * aclocal.m4 (GROFF_HTML_PROGRAMS): Add test for pnmtops.
5797 (GROFF_PNMTOPS_NOSETPAGE): New macro.
5798 * configure.ac: Use it.
5799 * configure: Regenerated.
5800 * Makefile.in: Updated.
5802 * tmac/Makefile.sub (NORMALFILES): Remove www.tmac.
5803 (CLEANADD): Add www.tmac-sed.
5804 (pnmtops_nosetpage): Define default.
5805 (install_data): Handle www.tmac-sed and substitute
5806 @PNMTOPS_NOSETPAGE@.
5807 (stamp-sed): Add www.tmac.
5808 * tmac/www.tmac: Rewritten, based on a patch by Bernd Warken.
5809 It now breaks URLs at suitable places.
5810 (www:substring_ok): New register set by...
5811 (www:@test_substring): New macro.
5812 (www:error): New alias to www-error.
5813 (www:lenstr, www:splitstr, www:url_breaks, www:url_breaks_splitted):
5815 (URL): Use www:url_breaks.
5816 (PIMG, MPIMG): Use @PNMTOPS_NOSETPAGE@.
5817 (CDS, CDE): New macros.
5819 2003-02-25 Werner LEMBERG <wl@gnu.org>
5821 * src/devices/grops/ps.cc (ps_printer::define_encoding): Avoid
5824 2003-02-24 Werner LEMBERG <wl@gnu.org>
5826 Contrary to the PCL5 Developer's Guide, the ascenders in TFM files
5827 can be negative also.
5829 * src/utils/hpftodit/hpftodit.cc (char_info): `ascent' must be
5831 (read_char_table): Avoid negative ascenders.
5832 (output_charset): Add cast.
5833 * font/devlj4/*: Regenerated.
5835 Replace unnamed glyphs for DVI fonts with `uXXXX' glyph names where
5838 * font/devdvi/generate/{tc,texttt,ec,texmi,texsy,textex}.map: Do it.
5839 * font/devdvi/generate/textex.map: Map glyph 23 to `u21C6' instead
5841 * font/devdvi/*: Regenerated.
5843 Map `la' and `ra' to U+27E8 and U+27E9. These two characters have
5844 normal width, while the previously used characters (U+2329 and
5845 U+232A) are classified as wide due to canonical equivalence with the
5846 CJK punctuation characters U+3008 and U+3009.
5848 * font/devutf8/R.proto: Updated.
5849 * src/roff/troff/uniglyph.cc, src/roff/troff/glyphuni.cc: Ditto.
5851 * man/groff_char.man: Simplify handling of table traps by
5852 introducing `start block' and `end block' macros.
5853 (Ns, Ne, 2s, 2e, Ds, De): New macros.
5854 (DL): Make it work with Unix troff also.
5855 Fix code values of `la' and `ra'.
5857 * tmac/dvi.tmac: Define `<>' for CW and CWI.
5859 2003-02-23 Gaius Mulley <gaius@glam.ac.uk>
5861 * src/devices/grohtml/post-html.cc (element_list::~element_list):
5862 New destructor, fixing a major memory leak.
5864 2003-02-22 Werner LEMBERG <wl@gnu.org>
5866 * font/devhtml/R.proto, font/devutf8/R.proto: Flip `*f' and `+f'
5867 to be in conformance with Unicode 3.0 and newer.
5869 * font/devlj4/generate/text.map: Add `Eu'.
5870 * font/devlj4/generate/special.map: Flip `*e' and `+e'.
5871 * font/devlj4/S: Regenerated.
5873 * man/groff_char.man: Completely rewritten.
5875 * doc/groff.texinfo: Fix description of request and macro arguments.
5877 2003-02-20 Gaius Mulley <gaius@glam.ac.uk>
5881 * src/devices/grohtml/html-table.cc (html_table::~html_table):
5882 Deallocate `columns' list.
5883 * src/devices/grohtml/post-html.cc (char_block::~char_block):
5885 (text_glob::text_glob_html, text_glob::text_glob_special,
5886 text_glob::text_glob_line, text_glob::text_glob_auto_image,
5887 text_glob::text_glob_tag): Avoid memory leaks.
5888 (text_glob::remember_table): Free memory before reassigning.
5890 2003-02-19 Werner LEMBERG <wl@gnu.org>
5892 Add glyph `+e', greek lunate epsilon symbol, and `-h' (with the
5893 alias `hbar'), the Planck constant over two pi.
5895 * font/devdvi/generate/texmi.map: Use `*e' for position 15 and
5896 `+e' for position 34.
5897 * font/devdvi/generate/texsy.map: Replace `DI' and `HE' with
5898 `u2662' and `u2661'.
5899 * font/devdvi/{MI,S}: Regenerated.
5900 * font/devhtml/R.proto, font/devutf8/R.proto: Add `+e', `-h', `hbar'.
5901 * font/devlbp/*: Add `hbar' alias.
5902 * font/devlj4/generate/special.map: Ditto.
5903 * font/devlj4/S: Regenerated.
5904 * font/devps/generate/symbolchars: Add `+e'.
5905 * font/devps/generate/textmap: Fix PS name for `-h'.
5907 * font/devps/symbolmap: Regenerated.
5909 * src/devices/grops/ps.cc (transform_fill): Removed since unused.
5911 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `+e',
5913 * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `+e',
5916 * tmac/X.tmac, tmac/ps.tmac: Provide definitions for `-h' and
5918 * tmac/tty-char.tmac: Add `+e'.
5920 2003-02-17 Werner LEMBERG <wl@gnu.org>
5922 Another round trying to really fix problems with `have_input'.
5924 * src/roff/troff/input.cc (input_stack::get): Handle `have_input'.
5925 (token::next) <'\n'>, <\'\n'>: Don't handle `have_input'.
5927 * src/devices/grotty/tty.cc (tty_printer::put_color): Fix color
5928 handling if both foreground and background colors are default.
5930 * doc/groff.texinfo (Debugging): Document .lf differences to
5933 2003-02-16 Werner LEMBERG <wl@gnu.org>
5935 * src/devices/grotty/tty.cc (tty_printer::make_rgb_string): Avoid
5936 null-bytes in created string.
5938 * src/roff/troff/input.cc (lookup_color, interpolate_macro,
5939 alias_macro, lookup_request): Improve warning messages.
5941 * src/roff/troff/node.cc (suppress_node::tprint): Use `strsave',
5943 Free `last_image_filename'.
5945 * src/preproc/html/pre-html.cc (char_block::char_block): Initialize
5947 (imageList::createPage, imageList::createImage): Use `free', not
5949 (imageItem::~imageItem): Free `imageName'.
5950 (addRegDef): Use `strsave', not `strdup'.
5951 (get_resolution): Free `pathp'.
5953 2003-02-15 Werner LEMBERG <wl@gnu.org>
5955 * src/devices/grotty/tty.cc (tty_printer::tty_printer): Fix pointer
5958 2003-02-14 Werner LEMBERG <wl@gnu.org>
5960 Add memory management for colors to deallocate unnamed colors
5963 * src/include/color.h (color): New members `free_list' and `next'.
5964 New member functions `new' and `delete'.
5966 * src/libs/libgroff/color.cc: Implement it.
5968 * src/libs/libgroff/font.cc (font::add_kern): Use integer cast
5969 for array size of new operator.
5971 * src/libs/libdriver/input.cc (IntArray::operator[]): Remove
5972 redundant comparison.
5974 * src/roff/troff/input.cc (word_space_node::reread,
5975 hmotion_node::reread): Avoid warning about unused parameter.
5976 (reset_output_registers): Remove redundant parameter.
5977 (define_color): Undo change 2003-02-12.
5979 * src/roff/troff/reg.h: Updated.
5981 * src/roff/troff/node.cc (troff_output_file::really_print_line,
5982 output_file::put_filename, real_output_file::really_put_filename,
5983 ascii_output_file::really_print_line,
5984 break_char_node::get_hyphen_list): Avoid warning about unused
5986 (suppress_node::tprint): Updated.
5988 * configure.ac: Check declaration for rand() and srand().
5989 * configure: Regenerated.
5991 * src/preproc/pic/pic.h: Declare fmod(), rand(), and srand()
5993 * src/preproc/pic/pic.y: Remove declaration of fmod(), rand(),
5996 * src/preproc/eqn/delim.cc (delim_table): Add missing initializers
5997 to avoid compiler warnings.
5999 * src/preproc/grn/hgraph.cc (HGPrintElt): Second parameter is
6002 * src/devices/grops/ps.cc (ps_printer::set_char): Last parameter
6004 * src/devices/grops/psrm.cc (skip_possible_newline): Remove first
6006 Updated all callers.
6008 * src/devices/grotty/tty.cc (tty_printer::set_char): Last parameter
6010 * src/devices/grodvi/dvi.cc (dvi_printer::set_char): Ditto.
6011 * src/devices/grolj4/lj4.cc (lj4_printer::set_char): Ditto.
6013 * src/devices/grohtml/post-html.cc (html_printer::emit_line):
6014 Parameter is unused.
6015 (html_printer::add_table_end): Define parameter conditionally.
6016 * src/devices/grohtml/output.cc (simple_output::special): Parameter
6019 * src/devices/grolbp/lbp.cc: Define _GNU_SOURCE conditionally.
6020 (lbp_printer::set_char): Last parameter is unused.
6022 * src/utils/indxbib/indxbib.cc (main): Remove redundant comparison.
6024 2003-02-13 Werner LEMBERG <wl@gnu.org>
6026 New commands \D'Fr ...', \D'Fc ...', etc. for orthogonality.
6027 Make \D'f ...' move horizontally again for backwards compatibility.
6028 Replace it with \D'Fg ...' where appropriate to avoid dependency
6029 on horizontal resolution.
6031 * src/roff/troff/input.cc (do_get_long_name): New function.
6032 (get_long_name): Call it.
6034 (read_draw_node): Handle `\D'Fx ...' by calling ...
6035 (read_color_draw_node): New function.
6037 (read_rgb, read_cmy, read_cmyk, read_gray): New optional argument
6039 Pass it to `do_get_long_name' which is used instead of
6042 * src/libs/libdriver/input.cc (color_from_Df_command): Remove
6043 unnecessary value guard.
6044 (parse_D_command) <'f'>: Add horizontal shift.
6046 * src/preproc/grn/hgraph.cc (HGPrintElt) <POLYGON>: Use \D'Fg ...'.
6047 * src/preproc/pic/troff.cc (troff_output::set_fill): Ditto.
6048 (FILL_MAX): Removed.
6050 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
6053 2003-02-12 Werner LEMBERG <wl@gnu.org>
6055 * src/roff/troff/input.cc (do_name_test, do_expr_test,
6056 do_zero_width): Push `\n' if closing delimiter is missing.
6058 (token::next) <ESCAPE_NEWLINE>, <'\n'>, <\'\n'>: Reset `have_input'.
6059 <'F'>: Make \F non-transparent at the beginning of line.
6060 (process_input_stack) <token::TOKEN_CHAR, token::TOKEN_NEWLINE,
6061 token::TOKEN_REQUEST, token::TOKEN_BEGIN_TRAP>: Don't handle
6064 (define_color): Free color in case of reassignment.
6066 * doc/groff.texinfo (@Defesc, @DefescList, @DefescItem,
6067 @DefescListEnd): Use @Var, not @var.
6070 * src/preproc/grn/hgraph.cc (HGPrintElt): Fix typo.
6072 * src/preproc/pic/object.cc (object_spec::~object_spec): Free
6073 `shaded' and `outlined' arrays.
6074 (object_spec::object_spec): Initialize `shaded' and `outlined'.
6075 (graphic_object::set_fill_color, graphic_object::set_outline_color):
6077 (closed_object::set_fill_color): Ditto.
6078 * src/preproc/pic/troff.cc (troff_output::set_color): Use strsave
6080 (troff_output::reset_color): Use a_delete instead of free.
6081 * src/preproc/pic/main.cc (do_file): Free `out' in case of error.
6083 2003-02-11 Werner LEMBERG <wl@gnu.org>
6085 * doc/groff.texinfo: Improve documentation of `ad'.
6086 Document that \D'f...' is dependent on the horizontal resolution.
6087 * man/groff_diff.man: Improve documentation of \D'f...'.
6089 * src/preproc/grn/hgraph.cc (HGPrintElt) <POLYGON>: Don't emit
6090 compensating \h'...' for \D'f ...' since the latter no longer moves
6092 * src/preproc/pic/troff.cc (troff_output::set_fill): Ditto.
6094 2003-02-10 Werner LEMBERG <wl@gnu.org>
6096 Improve error messages for `x F' (and `F') commands.
6098 * src/include/error.h: Add declaration for
6099 `current_source_filename'.
6100 * src/libs/libgroff/filename.cc: Add `current_source_filename'.
6101 * src/libs/libgroff/error.cc (do_error_with_file_and_line): Add
6102 parameter for source file string.
6103 Updated all callers.
6105 * src/libs/libdriver/input.cc: Add `current_source_filename'.
6106 (remember_source_filename): New function.
6107 (parse_x_command <'F'>, do_file <'F'>): Use it.
6109 2003-02-09 Werner LEMBERG <wl@gnu.org>
6111 Make grotty not emit warnings about unknown colors more than
6114 * src/devices/grotty/tty.cc: Include `ptable.h'.
6115 (TTY_MAX_COLORS): Removed.
6116 (DEFAULT_COLOR_IDX): Defined to -1.
6117 (glyph): Change `back_color_idx' and `fore_color_idx' to `char'.
6118 (tty_printer): Change `curr_back_idx' and `curr_fore_idx' to `char'.
6119 Change `tty_colors' to be a ptable.
6120 First arg of `put_color' is now `char'.
6121 New functions `make_rgb_string' and `tty_color'.
6122 (tty_printer::tty_printer): Use `tty_color'.
6123 (tty_printer::color_to_idx): Return value is now `char'.
6126 * src/include/color.h (color): Add `print_color' member function.
6127 * src/libs/libgroff/color.cc (color::print_color): Implement it.
6129 2003-02-08 Werner LEMBERG <wl@gnu.org>
6133 * src/devices/grops/ps.cc (ps_printer::define_encoding): Close
6136 * src/include/ptable.h (PTABLE::~PTABLE, PTABLE::define): Always
6137 assume that value has been allocated with `new[]', thus use
6138 `a_delete' for deallocation.
6140 * src/libs/libdriver/input.cc (get_integer_arg,
6141 get_possibly_int_args, parse_x_command, do_file): Use `a_delete'
6144 * src/libs/libgroff/new.cc (delete) [!COOKIE_BUG]: Define.
6145 * src/libs/libgroff/nametoindex.cc
6146 (character_indexer::named_char_index): Use `new <type>[1]'.
6148 * src/preproc/eqn/lex.cc (init_table, do_definition): Use `new
6150 * src/preproc/eqn/text.cc (set_special_char_type): Ditto.
6151 (split_text): Use `a_delete'.
6153 * src/preproc/pic/pic.y (define_label, define_variable): Use `new
6156 * src/roff/troff/env.cc (environment::choose_breakpoint): Avoid
6157 harmless memory leak.
6158 (hyphen_trie::read_patterns_file): Initialize `buf'.
6159 * src/roff/troff/node.cc (troff_output_file::troff_output_file):
6160 Initialize `current_fill_color'and `current_glyph_color'.
6161 * src/roff/troff/glyphuni.cc
6162 (glyph_to_unicode_init::glyph_to_unicode_init): Use `new <type>[1]'.
6163 * src/roff/troff/uniuni.cc
6164 (unicode_decompose_init::unicode_decompose_init): Ditto.
6165 * src/roff/troff/uniglyph.cc
6166 (unicode_to_glyph_init::unicode_to_glyph_init): Ditto.
6168 2003-01-26 Werner LEMBERG <wl@gnu.org>
6170 * src/utils/indxbib/indxbib.cc (main) [__EMX__]: Check with
6171 `access' before calling `unlink'.
6172 (do_file): Handle __EMX__.
6174 * src/include/nonposix.h: Handle __EMX__.
6176 * Makefile.in (SEP): New variable; set to @PATH_SEPARATOR@.
6177 (fontpath,tmacpath): Use it.
6179 Sorted alphabetically.
6181 * src/preproc/eqn/neqn.sh, src/roff/nroff/nroff.sh: Use
6183 * src/preproc/eqn/Makefile.sub, src/roff/nroff/Makefile.sub: Handle
6186 2003-01-27 Werner LEMBERG <wl@gnu.org>
6188 * src/libs/libgroff/strcasecmp.c, src/libs/libgroff/strncasecmp.c:
6189 New files, copied from gnulib.
6190 * src/libs/libgroff/Makefile.sub (CSRCS): Add them.
6191 * configure.ac: Updated.
6192 * configure: Regenerated.
6194 * src/include/config.hin: Regenerated.
6195 * src/include/lib.h [!HAVE_STRCASECMP]: Declare `strcasecmp'.
6196 Don't define `strcasecmp' as `strcmp'.
6197 [!HAVE_STRNCASECMP]: Declare `strncasecmp'.
6198 Dont define `strncasecmp' as `strncmp'.
6200 * src/roff/groff/pipeline.c [!HAVE_STRCASECMP, !HAVE_STRNCASECMP]:
6203 2003-01-26 Werner LEMBERG <wl@gnu.org>
6205 * src/utils/indxbib/indxbib.cc (main) [__EMX__]: Fix typo:
6208 2003-01-25 Werner LEMBERG <wl@gnu.org>
6210 * doc/groff.texinfo (Ligatures and Kerning): Mention limitations.
6212 2003-01-24 Werner LEMBERG <wl@gnu.org>
6214 Add US-english hyphenation exceptions (converted from Barbara
6215 Beeton's hyphenation exception log reports which appear irregularly
6218 * tmac/hyphen.us: Updated to latest version.
6219 * tmac/README: Updated.
6220 * tmac/hyphenex.us, tmac/hyphenex.sh: New files.
6221 * tmac/troffrc: Load `hyphenex.us'.
6222 * tmac/Makefile.sub (NORMALFILES): Add `hyphenex.us'.
6223 * doc/groff.texinfo: Updated.
6225 2003-01-23 Werner LEMBERG <wl@gnu.org>
6227 Improve hyphenation slightly. This is a first step in redesigning
6228 the hyphenation algorithm to make it more flexible (e.g. allowing
6229 kerns and ligatures between the hyphenation character and the
6230 following character -- while not used normally in English, other
6231 languages like German would benefit).
6233 * src/roff/troff/env.cc (environment::hyphenate_line): Use
6234 assertion instead of if-clause.
6235 Let `get_hyphen_list' return the number of involved characters in
6236 the hyphenation pattern instead of computing it directly (which
6237 often yields too small values).
6238 * src/roff/troff/node.h (*::get_hyphen_list): Add second parameter.
6239 * src/roff/troff/node.cc (*::get_hyphen_list): Handle new second
6242 2003-01-22 Werner LEMBERG <wl@gnu.org>
6244 Fixing a bug which caused groff to hang if the hyphenation exception
6245 dictionary tried to grow.
6247 * src/roff/troff/env.cc (hyphen_trie::insert_hyphenation,
6248 hyphen_trie::read_patterns_file, do_hyphenation_patterns_file): Use
6249 pointer to dictionary.
6251 2003-01-20 Werner LEMBERG <wl@gnu.org>
6253 * src/utils/afmtodit/afmtodit.pl: Add switch `-m' to suppress
6254 negative left italic correction.
6255 * src/utils/afmtodit/afmtodit.man: Document it.
6257 * font/devps/generate/Makefile (RFLAG): Add `-m'.
6258 * font/devps/{AB,AR,BMB,BMR,CB,CR,EURO,HB,HR,HNB,HNR,NB,NR,PB,PR,
6259 S,TB,TR,ZD,ZDR}: Regenerated with afmtodit options `-i 0 -m'.
6263 2003-01-16 Werner LEMBERG <wl@gnu.org>
6267 2003-01-16 Jörgen Grahn <jgrahn@algonet.se>
6269 * src/preproc/refer/refer.man: Mention REFER environment variable.
6271 2003-01-05 Werner LEMBERG <wl@gnu.org>
6273 Similar to \[is], the square root glyph (\[sr]) and the square root
6274 extension glyph (\[radicalex]) are now text symbols. The new
6275 mathematical versions are called \[sqrt] and \[sqrtex],
6278 * font/devX*/S: Regenerated.
6279 * font/devdvi/generate/texex.map: Rename `sr[0123]' to `sqrt[0123]'.
6280 * font/devdvi/generate/texsy.map: Rename `sr' to `sqrt'.
6281 * font/devdvi/EX, font/devdvi/S: Regenerated.
6282 * font/devhtml/R.proto, font/devutf8/R.proto: Add `sqrt'.
6283 * font/devlj4/generate/special.map: Add `sqrt'.
6284 * font/devlj4/S: Regenerated.
6285 * font/devps/generate/textmap: Add `sqrt'.
6286 * font/devps/S, font/devps/symbolmap: Regenerated.
6288 * src/preproc/eqn/sqrt.cc (SQRT_CHAR, RADICAL_EXTENSION_CHAR,
6289 SQRT_CHAIN, BAR_CHAIN): Use `sqrt*' and `sqrtex*'.
6290 * src/roff/troff/input.cc (init_charset_table): Make `sqrtex'
6291 overlap horizontally.
6293 * tmac/X.tmac, tmac/ps.tmac, tmac/lj4.tmac: Add `sqrtex'.
6294 * tmac/dvi.tmac: Add `sr', and `sqrtex'.
6297 * doc/groff.texinfo, man/groff_diff.man: Document that `radicalex'
6298 and `sqrtex' are overlapping glyphs.
6300 2003-01-04 Werner LEMBERG <wl@gnu.org>
6302 * font/devdvi/generate/texsy.map: Add `is'.
6303 * font/devps/symbolmap: Regenerated.
6304 * font/devdvi/*TC, MI, S: Regenerated.
6306 * tmac/dvi.tmac: Remove `is'.
6308 2003-01-03 Werner LEMBERG <wl@gnu.org>
6310 `is' is now a text symbol (only relevant for dvi). The math variant
6311 can be accessed with `integral'.
6313 * font/devX*/S: Regenerated.
6314 * font/devdvi/generate/texex.map: Remove `is'.
6315 * font/devdvi/EX: Updated.
6316 * font/devhtml/R.proto, font/devutf8/R.proto: Add `integral'.
6317 * font/devlj4/generate/special.map: Ditto.
6318 * font/devlj4/S: Regenerated.
6319 * font/devps/generate/textmap: Add `integral'.
6320 * font/devps/S: Regenerated.
6322 * tmac/dvi.tmac: Define `is'.
6324 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `integral'.
6326 * src/preproc/tbl/main.cc (process_format): Fix error message.
6328 2003-01-02 Werner LEMBERG <wl@gnu.org>
6330 * font/devhtml/R.proto, font/devutf8/R.proto: Add `ne' and `nc'.
6331 * font/devps/textmap: Fix entries for `ne' and `nc'.
6332 * font/devps/symbolmap: Regenerated.
6334 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list),
6335 src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `18',
6336 `38', `58', `78', `-+', `|=', `nc', `ne'.
6338 * tmac/dvi.tmac: Add `nm', `ne', `nc'.
6339 Use `schar' for `aq'.
6340 * tmac/ps.tmac, tmac/X.tmac: Add `nc' and `ne'.
6341 * tmac/ec.tmac: Add `SC' to special fonts for `CW' and `CWI'.
6342 * tmac/tty.tmac: Add `ne'.
6344 * src/roff/troff/node.cc (make_glyph_node): Test with `get_macro'
6345 for fallback glyphs.
6347 2002-12-29 Werner LEMBERG <wl@gnu.org>
6351 * font/devX*/*: Regenerated.
6352 * font/devdvi/generate/ec.map: Remove `eq'.
6353 * font/devdvi/generate/texsy.map: Make `~=' the same as `~~'.
6354 Assign `|=' to position 39.
6355 * font/devdvi/*EC, S: Regenerated.
6356 * font/devhtml/R.proto, font/devutf8/R.proto: Add `|='.
6357 * font/devlj4/generate/special.map: Make `~=' the same as `~~'.
6358 Assign `|=' to position 549.
6359 * font/devps/generate/textmap, font/devps/enerate/symbolmap: Remove
6361 Add `uni2243' for `|='.
6363 * tmac/ec.tmac: Add `eq'.
6364 * tmac/dvi.tmac: Add `=~'.
6365 * tmac/tty-char.tmac, tmac/ps.tmac, tmac/X.tmac, tmac/lbp.tmac: Add
6368 2002-12-21 Werner LEMBERG <wl@gnu.org>
6370 * font/devdvi/generate/tc.map: Remove `**'.
6371 * font/devdvi/*TC: Regenerated.
6372 * font/devhtml/R.proto, font/devutf8/R.proto: Add `18', `38', `58',
6374 * font/devutf8/NOTES: Updated.
6376 * src/roff/troff/charinfo.h (charinfo): Add `setx_macro' function.
6377 Don't give default parameter to `set_macro'.
6378 * src/roff/troff/input.cc (do_define_character): Use `setx_macro'
6379 instead of `set_macro'.
6380 (charinfo::setx_macro): Implement it.
6381 (charinfo::set_macro): Don't change `mode'.
6383 * tmac/tty.tmac: Add `18', `38', `58', `78', `<<', `>>'.
6384 * tmac/ps.tmac, tmac/X.tmac: Add `<<', `>>'.
6385 * tmac/dvi.tmac: Define `!=' with `.schar'.
6387 2002-12-20 Werner LEMBERG <wl@gnu.org>
6389 * font/devX*/S: Regenerated.
6390 * font/devdvi/generate/ec.map: Remove `pl'.
6391 * font/devdvi/generate/tc.map: Remove `mi', `14', `12', `34'.
6392 * font/devdvi/*{TC,EC}: Regenerated.
6393 * font/devhtml/R.proto: Add `-+'.
6394 Remove double entries for `rk', `lk', `lt', `rt', `rb', `lb'.
6395 * font/devlbp/*: Remove `or'.
6396 * font/devlj4/generate/special.map: Remove `or'.
6397 * font/devlj4/S: Regenerated.
6398 * font/devps/generate/textmap: Add `fiveeighths', `oneeighth',
6399 `seveneighths', `threeeighths'.
6401 Replace `minusplus' with `uni2213'.
6402 * font/devps/symbolmap: Regenerated.
6403 * font/devutf8/R.proto: Replace `shc' with unnamed glyph.
6406 * src/roff/troff/charinfo.h (charinfo): Add `is_normal' inline
6408 * src/roff/troff/node.cc (troff_output_file::put_char_width):
6409 Call glyph_color and fill_color even if tcommand_flag isn't set.
6410 (make_node, node::add_char): Check not ci->is_fallback but
6413 * tmac/lj4.tmac, tmac/lbp.tmac: Define `or'.
6414 * tmac/ec.tmac: Add .rchar entry for `f/'.
6415 Don't remove `12', `14', `34'.
6416 Define `pl' to be always roman.
6417 * tmac/ps.tmac (ps-frac, ps-frac-mono): New macros.
6418 Define `18', `38', `58', `78'.
6419 * tmac/tty.tmac: Add `-+'.
6420 * tmac/dvi.tmac: Define `f/'.
6421 (dvi-frac): Use `f/'.
6422 * tmac/X.tmac (X-frac, X-frac-mono): New macros.
6423 Define `18', `38', `58', `78'.
6425 2002-12-15 Colin Watson <cjwatson@debian.org>
6427 * contrib/pic2graph/pic2graph.sh: Add missing `;;'.
6429 2002-12-10 Werner LEMBERG <wl@gnu.org>
6431 Add glyph `tno', a textual variant of `no'.
6433 * font/devX*/*: Regenerated.
6434 * font/{devcp1047,devlatin1,devutf8,devhtml}/R.proto: Add `tno'.
6435 * font/devdvi/generate/{tc.map: Replace `no' with `tno'.
6436 * font/devdvi/generated/{texsy,textex}.map: Add `tno'.
6437 * font/devdvi/*: Regenerated.
6438 * font/devlbp/*: Add `tno'.
6439 * font/devlj4/generate/tex.map: Replace `no' with `tno'.
6440 * font/devlj4/*: Regenerated.
6441 * font/devps/generate/textmap: Replace `no' with `tno'.
6442 * font/devps/generate/symbolchars: Add `no'.
6443 * font/devps/*: Regenerated.
6445 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `tno'.
6447 * tmac/cp1047.tmac, tmac/latin1.tmac: Replace `no' with `tno'.
6448 * tmac/tty-char.tmac: Add entry for `tno' and `3d'.
6452 * tmac/dvi.tmac: Replace most `\\' with `\E'.
6453 Add definition for `sd'.
6454 * tmac/X.tmac, tmac/ps.tmac: Replace most `\\' with `\E'.
6456 * tmac/eqnrc <dvi>: Use `integral' instead of `is' glyph.
6458 2002-12-08 Werner LEMBERG <wl@gnu.org>
6460 * tmac/an-old.tmac (TH): Use integer value for `IN' if in nroff
6461 mode to avoid rounding errors.
6462 (an-do-tag, an-do-tag-html, RS, RE): Remove redundant `.br'.
6464 * src/roff/groff/groff.man, src/roff/nroff/nroff.man,
6465 src/roff/troff/troff.man: Improve documentation of -T.
6467 2002-12-07 Jeff Conrad <jeff_conrad@msn.com>
6469 * src/roff/groff/pipeline.c: Don't define `const' for _WIN32.
6470 (run_pipeline) [_WIN32]: Provide working function without `fork'.
6472 2002-12-06 Werner LEMBERG <wl@gnu.org>
6474 * font/devps/generate/freeeuro.sfd: Make dimensions of Euro.symbol
6475 glyphs compatible to Adobe's Euro fonts (scaling them down a bit).
6476 Scaling Euro.sansserif glyphs down to have the same height as
6478 Removed unnecessary points; added some extrema.
6480 * font/devps/EURO, font/devps/freeeuro.afm, font/devps/freeeuro.pfa:
6483 2002-12-04 Werner LEMBERG <wl@gnu.org>
6485 * font/devps/generate/freeeuro.sfd: Add glyphs `Euro.symbol.slanted'
6486 and `Euro.symbol.bold.slanted'.
6487 Improve some glyph offsets and widths.
6488 * font/devps/EURO, font/devps/freeeuro.afm, font/devps/freeeuro.pfa:
6490 * font/devps/generate/Makefile (freeeuro.afm freeeuro.pfa): Fix
6492 * font/devps/generate/sfdtopfa.pe: Generate PFA in current
6495 * tmac/europs.tmac: Updated to new glyph indices.
6496 Use Euro.symbol for font familiy `A'.
6498 * doc/groff.texinfo: Minor improvements.
6500 2002-12-02 Werner LEMBERG <wl@gnu.org>
6502 * font/devdvi/generate.tc.map: s/%O/%0/.
6503 * font/devdvi/*TC: Regenerated.
6505 * src/roff/troff/div.cc (init_div_requests): Sorted.
6507 * tmac/dvi.tmac: Remove `Ye'.
6508 * tmac/ec.tmac: Remove `Ye'.
6509 Add .rchar entry for `de'.
6511 * man/groff.man, man/groff_diff.man: Document register `.pe'.
6512 * doc/groff.texinfo: Document registers `.pe', `.n', and `.w'.
6515 2002-11-30 Werner LEMBERG <wl@gnu.org>
6517 Add PS font for various Euro glyphs.
6519 * font/devps/generate/freeeuro.sfd: New master font file for
6521 * font/devps/generate/sfdtopfa.pe: New conversion script for
6523 * font/devps/generate/Makefile (FONTS): Add `EURO'.
6524 (EURO, freeeuro.afm, freeeuro.pfa): New rules.
6525 * font/devps/freeeuro.pfa, font/devps/freeeuro.afm: Generated from
6527 * font/devps/EURO: Generated from `freeeuro.afm'.
6528 * font/devps/download: Add `freeuro.pfa'.
6529 * font/devps/Makefile.sub (NORMALFILES): Adde `EURO' and
6532 * tmac/europs.tmac: New file.
6533 * tmac/ps.tmac: Include `europs.tmac'.
6534 * tmac/Makefile.sub (DISTFILES): Add `europs.tmac'.
6536 2002-11-29 Werner LEMBERG <wl@gnu.org>
6538 * font/devdvi/generate/texsy.map: Remove `lh' and `rh'.
6539 * font/devdvi/S: Regenerated.
6540 * font/devhtml/R.proto: Fix `CR' and `ci'.
6542 * font/devps/generate/textmap: Fix `lh', `rh', and `sq'.
6544 * font/devps/symbolmap: Regenerated.
6545 * font/devutf8/R.proto: Fix `CR' and `ci'.
6547 * font/devutf8/NOTES: Updated.
6549 * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Fix `CR' and
6552 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Ditto.
6554 * tmac/dvi.tmac: Add `lh' and `rh'.
6555 * tmac/Xps.tmac: Fix `lh' and `rh'.
6556 * tmac/X.tmac: Add `OK'.
6557 * tmac/lj4.tmac: Ditto.
6559 2002-11-24 Werner LEMBERG <wl@gnu.org>
6561 * font/devX*/S: Regenerated.
6562 * font/devascii/R.proto, font/devcp1047/R.proto: Remove glyphs `lb',
6563 `lc', `lf', `lk', `lt', `rb', `rc', `rf', `rk', and `rt'.
6564 * font/devdvi/generate/texsy.map: Remove `or' glyph.
6565 * font/devdvi/S: Regenerated.
6566 * font/devhtml/R.proto, font/devutf8/R.proto: Add/fix glyphs
6567 `parenlefttp', `parenleftex', `parenleftbt', `parenrighttp',
6568 `parenrightex', `parenrightbt', `bracketlefttp', `bracketleftex',
6569 `bracketleftbt', `bracketrighttp', `bracketrightex',
6570 `bracketrightbt', `bracelefttp', `braceleftmid', `braceleftbt',
6571 `braceex', `braceleftex', `bracerightex', `bracerighttp',
6572 `bracerightmid', `bracerightbt', `lt', `lk', `lb', `rt', `rk',
6574 * src/roff/troff/glyphuni.cc, src/roff/troff/uniglyph.cc: Ditto.
6575 * font/devutf8/NOTES: Updated.
6576 * font/devlj4/generate/special.map: Add glyph `braceex'.
6577 * font/devlj4/S: Regenerated.
6579 * tmac/tty-char.tmac: Add glyphs `lf', `rf', `lc', and `rc'.
6581 2002-11-14 Werner LEMBERG <wl@gnu.org>
6583 * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `va'
6586 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Ditto.
6588 * doc/texinfo.tex: New version from texinfo 4.3.
6589 * doc/groff.texinfo: Updated for texinfo 4.3.
6590 Use @tie{} where appropriate.
6591 * font/devdvi/generate/ec.map: Don't include `or' and `bv'.
6592 * font/devdvi/generate/tc.map: Remove `rn'.
6593 * font/devdvi/*TC, font/devdvi/*EC: Regenerated.
6594 * font/devhtml/R.proto, font/devutf8/R.proto: Add `vA'.
6596 * font/devX100/*, font/devX100-12/*, font/devX75/*,
6597 font/devX75-12/*: Regenerated.
6599 * tmac/dvi.tmac: Add special fonts `SA' and `SB'.
6600 Use .char (again) for `br', `ul', `rn', `or', and `ru'.
6601 Improve definition of `an'.
6602 * tmac/ps.tmac: Use .char (again) for `br', `ul', `rn', `or', and
6604 * tmac/lj4.tmac: Use .char (again) for `br', `ul', `rn', and `ru'.
6605 * tmac/X.tmac: Add definition for `or'.
6606 * tmac/Xps.tmac: Undo change 2002-11-05.
6607 * tmac/lbp.tmac: Add definitions for `br', `rn', `ul', and `ru'.
6609 2002-11-11 Werner LEMBERG <wl@gnu.org>
6611 * src/roff/troff/node.cc (troff_output_file::put_char): Always
6614 2002-11-10 Werner LEMBERG <wl@gnu.org>
6616 Added three new requests `schar', `fschar', and `rfschar'. `schar'
6617 defines a glyph which is searched after the check for fonts declared
6618 with `.special' (and before the check for all mounted special
6619 fonts). `fschar' defines a glyph for a particular font which is
6620 searched after the check for fonts declared with `.fspecial' (and
6621 before the check for fonts declared with `.special'). `rfschar'
6622 removes glyphs defined with `fschar'.
6624 * src/roff/troff/token.h (char_mode): New enum.
6625 Declare do_define_character.
6626 * src/roff/troff/charinfo.h (charinfo): Replace `fallback' with
6628 (charinfo::is_fallback): Updated.
6629 (charinfo::is_special): New method.
6630 * src/roff/troff/input.cc (do_define_character): Add and use
6631 optional second parameter used as a prefix for font-specific glyph
6633 (define_character, define_fallback_character): Updated.
6634 (define_special_character): New function.
6635 (init_input_requests): Add `schar'.
6636 (charinfo::charinfo, charinfo::set_macro): Updated.
6637 * src/roff/troff/node.cc: Include `stringclass.h'.
6638 (make_glyph_node): Handle special glyphs defined with `.schar' and
6640 (define_font_special_character, remove_font_special_character): New
6642 (init_node_requests): Sorted.
6643 Add `fschar' and `rfschar'.
6644 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
6645 Document new requests.
6647 * font/devhtml/R.proto, font/devutf8/R.proto: Add `va'.
6648 * tmac/dvi.tmac: Add `va' for CW and CWI (using `.fschar').
6650 2002-11-08 Werner LEMBERG <wl@gnu.org>
6652 Added new font `SC' (cmtex10) to devdvi.
6654 * devdvi/generate/Makefile (FONTS): Add `SC'.
6656 * devdvi/generate/textex.map: New map file for cmtex.
6658 * devdvi/Makefile.sub (DEVFILES): Updated.
6659 * tmac/dvi.tmac: Add fspecial entries for SC.
6660 Add `MI', `S' and `CW' to the `special' call. Otherwise, `SC' is
6661 found before `S' since the font position of `SC' is lower due to the
6662 gaps in DESC's `font' line.
6663 * tmac/ec.tmac: Add a `special' call.
6666 * font/devhtml/R.proto: Remove double entry for `ti'.
6667 * tmac/tty.tmac: Add entries for `IJ', `ij', and `bq'.
6668 * tmac/tty-char.tmac: Remove entry for `bq'.
6669 * tmac/lbp.tmac: Add entries for `lq', `rq', `fo', `fc', and `em'.
6670 * tmac/ec.tmac: Don't remove `aq' glyph.
6671 * tmac/X.tmac: Fix entry for `em'.
6672 Add entries for `fo' and `fc'.
6673 * tmac/dvi.tmac: Add entries for `em', `en', `hy', `fo', and `fc'.
6675 * doc/groff.texinfo, man/groff.man, man/groff_diff.man: Fix
6676 documentation of `special' and `fspecial' requests.
6678 2002-11-05 Werner LEMBERG <wl@gnu.org>
6680 * font/devascii/R.proto, font/devcp1047/R.proto,
6681 font/devlatin1/R.proto: Remove entry for `.i'.
6682 * font/devdvi/generate/textt.map: Add entry for `ad'.
6683 * font/devdvi/generate/texr.map, font/devdvi/generate/texb.map,
6684 font/devdvi/generate/texi.map: Add dummy glyph name `slash@for@l'.
6685 We need this for getting kerning values to compose `/l' and `/L'.
6686 * font/devdvi: Regenerated font definition files for CM fonts.
6687 * font/devhtml/R.proto: Add entries for "'C", "'c", `IJ', and `ij'.
6688 * font/devutf8/R.proto: Ditto.
6689 Remove double entry for `ti'.
6691 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Fix entries
6692 for (groff) ligatures, `la', and `ra'.
6693 Add "'C", "'c", `IJ', and `ij'.
6694 Remove double entry for `ti'.
6695 * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Remove all
6697 Add "'C", "'c", `IJ', and `ij'.
6698 Fix entries for (groff) ligatures, `la', and `ra'.
6700 * tmac/ps.tmac (ps-achar): New macro.
6701 Define "'c" and "'C".
6702 * tmac/tty.tmac: Add entry for `.i'.
6703 * tmac/X.tmac (X-achar): New macro.
6704 Define "'c", "'C", and `:Y'.
6705 Add entries for `IJ' and `ij'.
6706 * tmac/Xps.tmac (Xps-achar): New macro.
6707 Define "'c" and "'C".
6708 Add entries for `IJ' and `ij'.
6709 * tmac/lbp.tmac (lbp-achar): New macro.
6710 Add fallback characters for all groff ligatures and many other
6712 * tmac/dvi.tmac: Fix definitions of `_' and `ul'.
6713 Add entries for `/l' and `/L'.
6714 Define "'c" and "'C".
6715 Add entries for `IJ' and `ij'.
6717 2002-11-02 Larry Kollar <kollar@alltel.net>
6719 * PROBLEMS: Document how to solve Mac OS X compilation problems.
6721 2002-11-02 Werner LEMBERG <wl@gnu.org>
6723 Adding support for composite glyphs: \[xxx yyy ...] and the
6724 `composite' request.
6726 * src/roff/troff/glyphuni.cc: New file for mapping groff glyph names
6727 to Unicode-based glyph names.
6728 * src/roff/troff/uniglyph.cc: New file for mapping Unicode-based
6729 glyph names to groff glyph names.
6730 * src/roff/troff/uniuni.cc: New file for canonically decomposing
6731 Unicode-based glyph names.
6732 * src/roff/troff/unicode.cc, src/roff/troff/unicode.h: New files
6733 for handling Unicode glyph names.
6734 * src/roff/troff/input.cc: Include unicode.h.
6735 (composite_glyph_name): New function.
6736 (token::next) <'['>: Handle Unicode glyph names and composite
6738 (composite_dictionary): New dictionary for the `composite' request.
6739 (composite_request): Implement `composite' request.
6740 (init_input_requests): Add `composite'.
6741 Alphabetically sorted.
6742 * src/roff/troff/env.cc (tabs_save, tabs_restore): Removed (already
6744 (init_env_requests): Alphabetically sorted.
6745 Removed `tas' and `tar' (already commented out).
6746 * src/roff/troff/Makefile.sub: Updated.
6748 2002-10-31 Ruslan Ermilov <ru@FreeBSD.org>
6750 * src/roff/nroff/nroff.man, src/roff/nroff/nroff.sh: Fix description
6753 2002-10-29 Werner LEMBERG <wl@gnu.org>
6755 Fix computation of .trunc register. Additionally, its value (and
6756 the value of the .ne register) is now always set before entering the
6759 * src/roff/troff/div.cc (diversion::need): Set `truncated_space' and
6760 `needed_space' before calling `space'.
6761 (top_level_diversion::space): Remove special code for 'sp before the
6763 Call `begin_page' with the discarded space as a parameter.
6764 (top_level_diversion::begin_page): Add optional parameter to set
6766 * src/roff/troff/div.h: Updated.
6768 * doc/groff.texinfo: Improve documentation of .sp, \n[.trunc], and
6771 * tmac/an-old.tmac (SH, SS, TP, IP, HP, TS): Undo change 2002-10-26.
6772 (LP): Remove superfluous call to `br'.
6773 * tmac/doc-common (doc-paragraph): Undo change 2002-10-26.
6774 * tmac/doc.tmac (Bd, Bl, doc-set-vertical-and-indent): Ditto.
6776 2002-10-26 Werner LEMBERG <wl@gnu.org>
6778 * tmac/doc-ditroff: Remove useless switch/variable -rC.
6779 (doc-setup-header): Don't set page register `%'.
6780 * tmac/doc-nroff: Remove variable `C'.
6781 (doc-setup-page-layout): Set doc-header-space to .5i unconditionally.
6782 (doc-setup-header): Don't set page register `%'.
6784 * tmac/doc-common (doc-header): Call `ns'.
6785 (doc-paragraph): Protect .sp with .br so that it survives traps
6786 possibly set by the user.
6787 * tmac/doc.tmac (Bd, Bl, doc-set-vertical-and-indent): Ditto.
6789 * tmac/doc*: Replace ' with . for consistency if no effect.
6791 2002-10-26 Werner LEMBERG <wl@gnu.org>
6793 * tmac/an-old.tmac (SH, SS, TP, IP, HP, TS): Protect .sp with .br
6794 so that it survives traps possibly set by the user.
6796 * src/roff/troff/node.cc: Fix the changes from 2002-10-23.
6797 (troff_output_file::set_font): Call flush_tbuf if necessary.
6798 (troff_output_file::fill_color, troff_output_file::glyph_color): Call
6799 flush_tbuf and do_motion only if necessary.
6800 (troff_output_file::start_special,
6801 troff_output_file::put_char_width, troff_output_file::put_char,
6802 troff_output_file::draw): Updated.
6803 (word_space_node::tprint, space_node::tprint, hmotion_node::tprint,
6804 vmotion_node::tprint): Undo change 2002-10-23.
6806 2002-10-25 Werner LEMBERG <wl@gnu.org>
6808 * tmac/www.tmac (DC): Fix case of overlapping images.
6810 2002-10-23 Werner LEMBERG <wl@gnu.org>
6812 * src/roff/troff/node.cc (troff_output_file::fill_color,
6813 troff_output_file::glyph_color): Set current color before testing
6815 (troff_output_file::put_char_width, troff_output_file::put_char,
6816 troff_output_file::draw): Don't call flush_tbuf and/or do_motion
6818 (troff_output_file::file_color, troff_output_file::glyph_color):
6820 (word_space_node::tprint, space_node::tprint, hmotion_node::tprint,
6821 vmotion_node::tprint): Move first, then call fill_color.
6823 2002-10-20 Werner LEMBERG <wl@gnu.org>
6825 * doc/groff.texinfo, man/groff_tmac.man: Document that it is not
6826 possible to use multiple main macro packages.
6828 2002-10-19 Werner LEMBERG <wl@gnu.org>
6830 * src/devices/grops/ps.cc (cmyk_flag): New global variable.
6831 (ps_printer::set_color): Set `cmyk_flag' for CMY and CMYK colors.
6832 (ps_printer::~ps_printer): Emit `%%Extensions: CMYK' if `cmyk_flag'
6834 * font/devps/prologue.ps (Fk, Ck): Enclose definitions with a
6835 `where' construction since `cmyksetcolor' is a PS Level 2 operator.
6837 2002-10-16 Werner LEMBERG <wl@gnu.org>
6839 * NEWS, doc/webpage.ms: Updated.
6841 2002-10-14 Werner LEMBERG <wl@gnu.org>
6843 * src/roff/troff/node.cc (troff_output_file::put_char_width,
6844 troff_output_file::put_char, troff_output_file::fill_color,
6845 troff_output_file::glyph_color): Handle case where color pointer
6848 2002-10-13 Ruslan Ermilov <ru@FreeBSD.org>
6850 Add the new -r option to grotty. It is similar to the -i option
6851 except it tells grotty(1) to use the `reverse video' attribute to
6852 render italic fonts.
6854 * src/devices/grotty/tty.cc (reverse_flag): New global variable.
6855 (SGR_REVERSE, SGR_NO_REVERSE): New macros.
6856 (tty_printer::make_underline, tty_printer::put_color,
6857 tty_printer::end_page): Use it.
6858 (main): Add -r switch.
6860 * src/devices/grotty/grotty.man: Document it.
6862 2002-10-11 Ruslan Ermilov <ru@FreeBSD.org>
6864 * src/roff/troff/env.cc (hyphen_trie::read_patterns_file): Add
6865 cast to `unsigned char' to properly read patterns with 8bit
6868 2002-10-08 Werner LEMBERG <wl@gnu.org>
6870 * REVISION: Increased to 2.
6873 version-control: never