1 2006-11-18 Werner LEMBERG <wl@gnu.org>
3 * man/roff.man, doc/groff.texinfo: Improve history of roff, based on
4 information from Tom Van Vleck <thvv@multicians.org>.
6 2006-11-16 Werner LEMBERG <wl@gnu.org>
8 * tmac/62bit.tmac: New macro package.
9 * tmac/Makefile.sub (NORMALFILES): Add it.
12 * tmac/trace.tmac: Protect against being loaded again.
13 (nr): Always show result.
15 * doc/groff.texinfo (Input Encodings): Document latin-5.
17 * man/grof_tmac.man: Document sv, latinX, cp1047, 60bit, ec.
19 2006-11-13 Werner LEMBERG <wl@gnu.org>
21 * doc/groff.texinfo (Page Location Traps) [.wh]: Give more details
22 on negative trap positions.
24 2006-11-10 Werner LEMBERG <wl@gnu.org>
26 * Makefile.comm (.man.n): Handle @DATASUBDIR@.
28 2006-11-09 Werner LEMBERG <wl@gnu.org>
30 * INSTALL: Move information about external installation from
31 INSTALL.gen into this file.
34 * INSTALL.gen: Update to new version (from texinfo CVS).
36 2006-11-09 Bernd Warken
38 * INSTALL.gen: Extent the file by information on `external
39 installation'. Reorder the installation instruction as `normal
42 2006-11-08 Werner LEMBERG <wl@gnu.org>
44 * doc/Makefile.sub (install_data): Take care of proper paths while
45 installing info files. Bug reported by Bernd Warken.
47 2006-11-06 Bernd Warken
49 * src/roff/grog/grog.pl: Rewrite.
50 - Call by `#! /usr/bin/env perl'. That isn't replaced.
51 - Rename usage() to version().
53 - For `use strict', start all global variables with an upper case
54 character. Use `my' for all variables. Use several new variables.
56 - Add copyright to GPL and Emacs comment.
57 - Handle several `-m*' options.
58 - Fix handling of `-ms' and `-mm'. Add .TL and .NH.
59 - Allow options after file names.
60 - Allow only one `-' parameter (standard input).
61 - Add option abbreviations.
62 - Expand the usage information.
64 - Add single quote "'" as additional first character and allow
65 arbitrary space after the first character.
67 * src/roff/grog/grog.sh: Rewrite.
68 - Remove option `-e' of `sed'.
69 - Allow file names with space characters.
71 - Add copyright to GPL.
72 - Handle several `-m*' options.
73 - Fix handling of `-ms' and `-mm'. Add .TL and .NH.
74 - Allow options after file names.
75 - Allow only one `-' parameter (standard input).
76 - Add option abbreviations.
77 - Expand the usage information.
79 - Add single quote "'" as additional first character and allow
80 arbitrary space after the first character.
82 * src/roff/grog/Makefile.sub:
83 - Add copyright to GPL.
84 - Remove `grog:'. Move `grog.old:' to `grog:' in order to have a
85 fair chance to choose between the shell version and the Perl
86 version of `grog'. This is now again comparable to grog in groff
89 * src/roff/grog/grog.man: Rewrite.
90 - Move the license to GPL.
91 - New sections: OPTIONS, DETAILS, EXAMPLES, COPYING.
92 - Take over some setup and macros from `groffer'.
93 - Add information on options.
95 2006-10-28 Werner LEMBERG <wl@gnu.org>
97 * tmac/trace.tmac: Improve tracing of `.nr'.
98 Trace `.substring' also.
102 2006-10-28 Bernd Warken
104 * man/roff.man, src/roff/groff/groff.man: Add `chem', fix position
105 of groff development site, fix fonts.
107 * News: Add information on `chem' and `groffer'.
109 2006-10-26 Bernd Warken
111 * Makefile.in (OTHERDIRS, NOMAKEDIRS): Add `chem' bundle.
113 2006-10-26 Werner LEMBERG <wl@gnu.org>
115 Add `\%^' escape to handle the parameters to a macro as a string
118 * src/roff/troff/input.h (DOUBLE_QUOTE): New special character.
120 * src/roff/troff/input.cpp (input_iterator, input_stack,
121 macro_iterator): Add `space_follows_arg' member function.
122 (macro_iterator::add_arg): Add parameter to set the `space_follows'
124 (arg_list): Add member `space_follows'.
125 Update constructor and all callers.
126 (decode_args): Store discarded double quotes.
127 (interpolate_args): Handle DOUBLE_QUOTE.
129 (get_copy, token::next, composite_glyph_name): Handle DOUBLE_QUOTE.
131 * tmac/trace.tmac: Trace .nr, .ds, .ds1, .as, .as1.
133 * docs/groff.texinfo (Parameters), man/groff.man,
134 man/groff_diff.man, NEWS: Document it.
136 2006-10-24 Bernd Warken
138 * Makefile.in (NOMAKEDIRS): Add groffer subdirectories.
140 2006-10-24 Werner LEMBERG <wl@gnu.org>
142 * tmac/groff_trace.man: Mention problem with `\\\\'.
144 2006-10-23 Werner LEMBERG <wl@gnu.org>
146 * doc/groff.texinfo (Expressions): Improve documentation of `!'.
148 * tmac/trace.tmac (return): Don't call `substring'.
150 2006-09-10 Werner LEMBERG <wl@gnu.org>
152 * src/roff/troff/input.cpp (read_size): Revert previous change
155 * doc/groff.texinfo (Fractional Size Types): Clarify syntax of \s.
157 2006-09-09 Werner LEMBERG <wl@gnu.org>
159 * src/roff/troff/input.cpp (read_size): Fix `\s[-\n[.s]]' so that it
160 behave the same as `\s-[\n[.s]]' (this is, emit a warning and set
161 point size to 1). Reported by Gunnar Ritter.
162 Also catch `\s-[-...]' and friends (causing an error).
164 2006-09-06 Werner LEMBERG <wl@gnu.org>
166 * src/roff/troff/env.cpp (environment::do_break): Insert zero-width
167 space only if there is no previous space. This fixes a bug which
168 caused unwanted filling of the last line in a paragraph. Thanks to
169 Gunnar Ritter for an analysis.
171 2006-09-03 Werner LEMBERG <wl@gnu.org>
173 * src/roff/groff/groff.cpp (main): Pass -U flag to pic also.
174 Reported by Jennifer Sayers <jenjen@isu.usyd.edu.au>.
176 2006-09-01 Nick Stoughton <nick@msbit.com>
177 Werner LEMBERG <wl@gnu.org>
179 Add a request `pev' to print environment information (similar to
180 `pnr' and `ptr' to print number registers and traps).
182 * src/roff/troff/env.h (environment): Add member function print_env.
184 * src/roff/troff/env.cpp: (environment::print_env): New function to
185 print a given environment state.
186 (print_env): New global function to iterate through the
187 environments, printing each one.
188 (init_env_requests): Register `pev'.
190 * doc/groff.texinfo (Debugging), man/groff.man, man/groff_diff.man,
191 NEWS: Document `pev' request.
193 2006-09-01 Bernd Warken
195 * src/preproc/soelim/soelim.cpp (usage): Fix option argument of
198 2006-09-01 Werner LEMBERG <wl@gnu.org>
200 * src/preproc/pic/main.cpp (usage): Add missing options.
202 2006-08-25 Werner LEMBERG <wl@gnu.org>
204 * src/preproc/soelim/soelim.man: Document how to insert `\' and ` '
207 2006-08-19 Werner LEMBERG <wl@gnu.org>
209 * configure: Regenerated.
211 2006-08-18 Keith Marshall <keith.d.marshall@ntlworld.com>
213 * m4/groff.m4 (GROFF_MAKEINFO): Correct `makeinfo version testing
214 logic; it previously caused an `expr' syntax error, if no version of
215 `makinfo' was present. Also, remove dependency on `makeinfo' in VPATH
216 builds, if an up to date `groff.info' is present in either `builddir'
219 2006-08-12 Tadziu Hoffmann <hoffmann@usm.uni-muenchen.de>
221 * font/devps/prologue.ps: Add BPhook.
223 * src/devices/grops/grops.man: Document BPHook.
224 Reorder some sections for better readability.
226 2006-08-12 Werner LEMBERG <wl@gnu.org>
228 * src/include/lib.h (getlocale): New macro.
229 (setlocale, LC_ALL, LC_CTYPE) [!HAVE_SETLOCALE]: Define, as
232 * src/preproc/preconv/preconv.cpp (main): Use getlocale.
234 2006-08-11 Werner LEMBERG <wl@gnu.org>
236 Add new flag to .cflags to enable hyphenation without looking at
239 * src/roff/troff/charinfo.h (charinfo): New enumeration value
241 New member function `ignore_hcodes'.
243 * src/roff/troff/node.cpp (break_char_node::add_self,
244 node::add_char): Updated.
246 * doc/groff.texinfo, man/groff_diff.man, NEWS: Document it.
248 2006-08-09 Werner LEMBERG <wl@gnu.org>
250 Support composite Unicode characters again. Reported by Colin.
252 * font/devhtml/R.proto: Renamed to...
253 * font/devhtml/R.in: This.
255 * font/devutf8/R.proto: Renamed to...
256 * font/devutf8/R.in: This.
259 * font/make-Rproto: New script.
260 * font/devhtml/R.proto, font/devutf8/R.proto: Generated.
262 2006-07-26 Werner LEMBERG <wl@gnu.org>
264 * README: Fix description of CVS access. Reported by Joachim.
266 2006-07-11 Werner LEMBERG <wl@gnu.org>
268 Add a request `.fzoom' and a number register `.zoom' to magnify
271 * src/include/font.h (font): Add member variable `zoom'.
272 Add member functions `set_zoom' and `get_zoom'.
273 Remove `static' attribute from `scale' member function.
275 * src/libs/libgroff/font.cpp (font::font): Updated.
276 (scale_round): New version with three parameters to handle zoom
278 (font::scale, font::get_width): Handle zoom factor.
279 (font::set_zoom, font::get_zoom): New functions.
280 (font::load): Handle `zoom' while computing `space_width'.
282 * src/roff/troff/env.h: Declare `env_get_zoom'.
283 (environment): Add member function `get_zoom'.
285 * src/roff/troff/env.cpp (environment::get_zoom): New function.
286 (init_env_requests): Initialize `.zoom' register.
288 * src/roff/troff/node.cpp (font_info): New member functions
289 `set_zoom' and `get_zoom'.
290 (tfont): New member function `get_zoom'.
291 (env_get_zoom): New function.
292 (troff_output_file::set_font): Handle zoom factor.
293 (font_zoom_request): New function.
294 (init_node_requests): Initialize `fzoom' request.
296 * docs/groff.texinfo (Changing Fonts), man/groff.man,
297 man/groff_diff.man, NEWS: Document `fzoom' request and `.zoom'
300 * src/roff/troff/TODO: Updated.
302 2006-07-10 Werner LEMBERG <wl@gnu.org>
304 * doc/groff.texinfo (Drawing Requests): Improve documentation of
307 2006-07-02 Werner LEMBERG <wl@gnu.org>
309 * man/groff_tmac.man: Document usage of .PSPIC within diversions.
311 2006-07-01 Werner LEMBERG <wl@gnu.org>
313 * tmac/pspic.tmac: Make .PSPIC work for all devices.
314 Print image file name for devices which don't support PS image
316 Handle multiple inclusions.
317 Add lots of comments.
319 * tmac/dvi.tmac, tmac/html.tmac, tmac/ps.tmac: Don't load
322 * tmac/troffrc: Load pspic.tmac.
324 * man/groff_tmac.man: Update .PSPIC documentation.
328 2006-06-29 Werner LEMBERG <wl@gnu.org>
330 * src/roff/troff/input.cpp (interpolate_macro):
331 s/probably/possibly/, as suggested by Keith.
333 2006-06-28 Werner LEMBERG <wl@gnu.org>
335 Add support for \D'p...' to grotty.
337 * src/devices/grotty/grotty.cpp (tty_printer::draw): Move most of
339 (tty_printer::line): This function.
340 (tty_printer::draw): Rewritten; just call either draw_line or
342 (tty_printer::draw_line, tty_printer::draw_polygon): New functions.
344 * src/devices/grotty/grotty.man, NEWS: Document it.
346 2006-06-27 Werner LEMBERG <wl@gnu.org>
348 * src/preproc/refer/command.h (have_bibliography): New variable
351 * src/preproc/refer/command.cpp (bibliography_command): Set
354 * src/preproc/refer/refer.cpp: Initialize `have_bibliography'.
355 (output_references): Emit warning only if `have_bibliography' is
358 2006-06-15 Michail Vidiassov <master@iaas.msu.ru>
360 * fonts/devps/Makefile.sub (DISTFILES): Add freeeuro.afm.
361 * fonts/devps/generate/Makefile (clean): Don't remove symbolsl.afm
364 2006-06-15 Werner LEMBERG <wl@gnu.org>
366 * src/preproc/tbl/tbl.man: Document limitations of .TS/.TE within a
367 macro (as suggested by Tadziu Hoffmann).
369 2006-06-12 Werner LEMBERG <wl@gnu.org>
371 * src/preproc/tbl/tbl.man: Add example for use of .TS/.TE within a
372 macro (as suggested by Tadziu Hoffmann).
374 2006-06-05 Werner LEMBERG <wl@gnu.org>
376 * tmac/strip.sed: Strip `\#' also.
378 * doc/groff.texinfo (Operators in Conditionals): Document usage of
379 \? for string comparison.
381 2006-06-04 Werner LEMBERG <wl@gnu.org>
383 * doc/groff.texinfo: Add more index entries for copy-in mode.
384 (Changing Fonts) <.ft>: Document that a font definition file must
385 not be called `DESC'.
387 2006-05-31 Werner LEMBERG <wl@gnu.org>
389 * src/roff/troff/input.cpp (token::next) <\N>: Catch negative values
392 * doc/Makefile.sub (EXAMPLEFILES): Move gnu.eps to...
393 (PROCESSEDEXAMPLEFILES): Here.
395 2006-05-30 Werner LEMBERG <wl@gnu.org>
397 * src/libs/libgroff/font.cpp (font::load): Reject fonts called
399 Reduce number of false positives for `.if F ...' conditionals.
400 Improve warning messages.
402 2006-05-29 Werner LEMBERG <wl@gnu.org>
404 * tmac/Makefile.sub: Add copyright notice.
405 (NORMALFILES): Add man.tmac and ms.tmac.
406 (SPECIALFILES): Remove man.tmac and ms.tmac.
407 (CLEANADD): Remove man.tmac-sed and ms.tmac-sed.
408 (install_data, uninstall_sub): Don't handle man.tmac and ms.tmac
410 (stamp-sed): Don't handle man.tmac and ms.tmac.
411 Remove obsolete components in sed's regexp.
413 * doc/Makefile.sub (EXAMPLEFILES): Add gnu.eps.
415 * Makefile.in (OTHERDIRS, NOMAKEDIRS): Add hdtbl.
417 2006-05-28 Werner LEMBERG <wl@gnu.org>
419 * doc/groff.texinfo (History): Correct death circumstances of Joe
422 2006-05-27 Werner LEMBERG <wl@gnu.org>
424 * tmac/an-old.tmac (an-do-tag): Simplify.
426 2006-05-26 Werner LEMBERG <wl@gnu.org>
428 * tmac/an-old.tmac (an-do-tag): Make margin characters work.
429 (an-header, an-p-footer): Use named environment.
431 * src/roff/troff/env.cpp (environment::copy): Copy margin character
434 2006-05-21 Werner LEMBERG <wl@gnu.org>
436 * tmac/trace.tmac (de1): Fix serious typo (.di -> .do) and minor
439 2006-05-11 Keith Marshall <keith.d.marshall@ntlworld.com>
441 * src/roff/groff/groff.man: Remove superfluous word `intermediate'.
443 2006-05-10 Keith Marshall <keith.d.marshall@ntlworld.com>
445 * src/roff/groff/groff.man: Update copyright notice.
446 Improved wording to describe effect of `-Z' option.
448 2006-05-06 Werner LEMBERG <wl@gnu.org>
450 * tmac/www.tmac: Decorate `.ds' with trailing `\"' where missing.
451 Normalize handling of `"' in arguments.
452 (PIMG): Remove debug message.
455 2006-05-05 Werner LEMBERG <wl@gnu.org>
457 * src/devices/grohtml/post-html.cpp (page::add_and_encode): Don't
458 swallow character immediately after `\[...]'.
461 2006-05-02 Gaius Mulley <gaius@glam.ac.uk>
463 * tmac/www.tmac (PIMG): Fix the HTML device specific components.
465 2006-05-02 Larry Kollar <kollar@alltel.net>
467 * tmac/www.tmac (PIMG): Really default to `-C' if the alignment
470 2006-04-30 Michail Vidiassov <master@iaas.msu.ru>
472 * src/utils/afmtodit/afmtodit.pl: New option `-c' to add font
473 information as a comment in output.
474 * src/utils/afmtodit/afmtodit.man, NEWS: Document it.
476 2006-04-26 Werner LEMBERG <wl@gnu.org>
478 * src/devices/grohtml/post-html.cpp (html_printer::~html_printer):
479 Handle current_paragraph only if it is non-NULL.
481 * src/libs/libdriver/input.cpp (parse_x_command <'F'>, do_file
482 <'F'>): Use `get_extended_arg' to behave as documented. Reported by
483 Bill Ward <william.a.ward.jr@erdc.usace.army.mil>.
486 Surround the (pseudo) file name for the .pso request with `<' and
489 * src/roff/troff/node.cpp (real_output_file, troff_output_file): Add
490 second parameter to `really_put_filename' and `put_filename'.
491 (troff_output_file::really_put_filename): Emit `<' and `>' around
492 filename if second argument is set.
493 * src/roff/troff/node.h: Updated.
495 * src/roff/troff/input.cpp (file_iterator::file_iterator,
496 file_iterator::set_location): Update to changes in node.cpp.
498 2006-04-25 Tetsurou Okazaki <okazaki@FreeBSD.org>
500 * src/preproc/preconv/preconv.cpp (do_file): Fix conditional
501 preprocessor expression (I18N -> HAVE_ICONV).
502 (main): Fix handling of option `-h'.
503 Fix conditional preprocessor expression.
505 2006-04-04 Werner LEMBERG <wl@gnu.org>
507 Implement new number register `.br' which is set to 1 if a macro has
508 been called as .foo and to 0 if called as 'bar. This is useful for
509 -mtrace so that requests can be reliably traced too.
511 * src/roff/troff/input.cpp (input_iterator): Add virtual function
513 (macro_iterator): Add `with_break' member and `get_break_flag'
516 (input_stack): Add function `get_break_flag'.
517 (break_flag_reg): New number register class.
518 (input_init_requests): Register `.br'.
520 * src/roff/troff/TODO: Updated.
522 * tmac/trace.tmac: s/!!sp/!!!sp/.
523 Modify definitions of `de', `de1', `am', and `am1' to use \n[.br].
525 * docs/groff.texinfo (Requests), man/groff.man, man/groff_diff.man,
528 2006-03-29 Werner LEMBERG <wl@gnu.org>
530 * src/devices/grops/ps.cpp: s/must not/should not/ in warning
531 messages where appropriate.
533 2006-03-28 Werner LEMBERG <wl@gnu.org>
535 * configure.ac: Call AC_PROG_EGREP.
536 * configure: Regenerated.
538 * Makefile.in (EGREP): New variable.
539 (MDEFINES): Add $(EGREP).
541 * src/roff/grog/grog.sh: Treat .TH between .TS and .TE properly
542 (bug reported by Robert Goulding <Goulding.2@nd.edu>).
545 * src/roff/grog/Makefile.sub (grog, grog.old): Use $(EGREP).
547 2006-03-27 Werner LEMBERG <wl@gnu.org>
549 Add two requests `.device' and `.devicem' which are equivalent to
550 `\X' and `\Y', respectively.
552 * src/roff/troff/input.cpp (device_request, device_macro_request):
554 (init_input_requests): Register them.
556 * doc/groff.texinfo (Postprocessor Access), man/groff_diff.man,
557 man/groff.man, NEWS: Document them.
559 2006-03-27 Gaius Mulley <gaius@glam.ac.uk>
561 * src/roff/troff/input.cpp (encode_char): Emit special characters
562 for -Thtml as `\[...]'.
563 * src/devices/grohtml/post-html.cpp (page::add_and_encode): Updated.
565 * doc/groff.texinfo (Postprocessor Access) <\X>: Updated.
567 2006-03-27 Werner LEMBERG <wl@gnu.org>
569 * tmac/Makefile.sub (NORMALFILES, SPECIALFILES): Add various missing
572 2006-03-26 Werner LEMBERG <wl@gnu.org>
574 * doc/groff.texinfo (Writing Macros): More documentation on
575 end-of-macro symbol of `.de'.
576 (Diversions): Minor addition to `.di' description.
578 * src/devices/grops/grops.man: Some clarifications regarding
579 insertion of PostScript snippets.
581 2006-03-25 Michail Vidiassov <master@iaas.msu.ru>
583 Add rules to generate `symbolsl.afm'.
585 * fonts/devps/generate/zapfdr.sed,
586 fonts/devps/generate/symbolsl.awk: New files.
588 * fonts/devps/generate/Makefile (symbolfont, PRINTAFM): New
590 (SS, clean): Updated.
591 (freeeuro.afm): Use $(srcdir).
592 (symbolsl.afm): New rule.
593 (zapfdr.afm): Use zapfdr.sed.
595 2006-03-22 Dwight Aplevich <aplevich@uwaterloo.ca>
597 * src/preproc/pic/pic.y (expr <INT>): Fix code.
599 2006-03-22 Jörgen Grahn <jgrahn@algonet.se>
601 * tmac/sv.tmac: Add missing translations and activate support for
602 other macro packages.
604 2006-03-21 Francis GUDIN <fgudin@nerim.net>
606 * tmac/doc-syms (Dx): New macro to identify DragonFly.
607 (doc-str-St--ieee1275-94, doc-str-St--isoC-amd1,
608 doc-str-St--isoC-tcor1, doc-str-St--isoC-tcor2): New standard
610 (doc-operating-system-FreeBSD-5.5, doc-operating-system-FreeBSD-7.0,
611 doc-operating-system-NetBSD-1.6.3, doc-operating-system-NetBSD-4.0
612 doc-operating-system-DragonFly-*): New operating system strings.
614 * tmac/groff_mdoc.man, NEWS: Document `Dx'.
616 2006-03-21 Werner LEMBERG <wl@gnu.org>
618 * src/preproc/pic/pic.y (object_spec THEN): For compatibility with
619 both DWB pic and dpic, make
627 line right then down;
634 * doc/pic.ms: Document this.
636 2006-03-20 Werner LEMBERG <wl@gnu.org>
638 * doc/pic.ms: With permission of Eric Raymond, put it under the
643 2006-03-19 Werner LEMBERG <wl@gnu.org>
645 * src/preproc/pic/pic.y (expr <INT>): Really return integer part.
647 * src/preproc/pic/objects.cpp (object_spec::make_line): Handle `at'
648 attribute in combination with `with'. Bug reported by Jennifer
649 Sayers <jenjen@mail.usyd.edu.au>.
651 2006-03-19 Miklos Somogyi <msom@netspace.net.au>
653 * doc/groff.texinfo (Manipulating Spacing): Improve documentation of
656 2006-03-18 Werner LEMBERG <wl@gnu.org>
658 * LICENSE: Renamed to...
659 * LICENSES: This. Collect all licensing information in this file.
660 * tmac/README, src/libs/snprintf/README: Removed.
662 * src/devices/grops/grops.man: Add section how to install fonts.
664 * src/utils/xtotroff/xtotroff.c: Add GPL.
666 2006-03-17 Werner LEMBERG <wl@gnu.org>
668 * Makefile.comm (.y.cpp): Fix #line arguments in output.
670 2006-03-13 Werner LEMBERG <wl@gnu.org>
672 * src/preproc/tbl/tbl.man: Mention default length of text blocks.
674 * tmac/doc-common (Os): Add more Darwin versions.
675 * tmac/groff_mdoc.man: Document them.
677 * doc/groff.texinfo (Operators in Conditionals): Mention that `c'
678 works with \N'...' also.
679 * man/groff_diff.man: Ditto. Remove use of future tense where
682 2006-03-12 Michail Vidiassov <master@iaas.msu.ru>
684 * fonts/devps/generate/make-zapfdr, fonts/devps/symbolsl.ps,
685 fonts/devps/zapfdr.ps: Add `%%EndComments' line.
687 2006-03-10 Larry Kollar <kollar@alltel.net>
689 * doc/groff.texinfo (Headers and footers): Document PT, HD, and BT.
691 2006-03-10 Werner LEMBERG <wl@gnu.org>
693 * src/devices/grops/ps.cpp (ps_printer::do_exec, ps_printer::do_def,
694 ps_printer::do_mdef): Overlong lines now cause a warning message,
697 2006-03-09 Werner LEMBERG <wl@gnu.org>
699 * font/devps/generate/make-zapfdr: New script for generating
702 2006-03-08 Werner LEMBERG <wl@gnu.org>
704 * doc/groff.css (pre): Fix `background-color' value.
706 2006-03-04 Larry Kollar <kollar@alltel.net>
708 * tmac/groff_ms.man: Document PT, HD, and BT.
710 2006-03-04 Werner LEMBERG <wl@gnu.org>
712 * src/roff/troff/node.cpp (make_glyph_node): Improve warning message
713 for single-letter glyph names.
715 2006-03-02 Werner LEMBERG <wl@gnu.org>
717 * tmac/sv.tmac: New file; currently holding only the Swedish strings
719 * tmac/hyphen.sv: New hyphenation pattern file for Swedish, taken
721 * tmac/README: Updated.
723 2006-02-27 Werner LEMBERG <wl@gnu.org>
725 * tmac/trans.tmac (Liec, Letdate, Letns!14): Add it (for -mm).
726 * tmac/fr.tmac: Add French translations.
728 * tmac/composite.tmac: Add entry for `:'.
730 2006-02-26 Werner LEMBERG <wl@gnu.org>
732 * doc/Makefile.sub (HTMLEXAMPLEFILESALL): New variable.
734 (install_html, uninstall_sub): Updated.
736 2006-02-26 Bruno Haible <bruno@clisp.org>
738 Introduce Unicode fonts.
740 * font/devhtml/DESC.proto: Mark as unicode.
741 * font/devhtml/R.proto: Remove all charset entries that are already
743 * font/devutf8/DESC.proto: Mark as unicode.
744 * font/devutf8/R.proto: Remove all charset entries.
745 * src/include/font.h (font): New static field `is_unicode'.
746 Change order of fields.
747 * src/libs/libgroff/font.cpp: Include unicode.h.
748 (font::font): Update for changed order of fields.
749 (font::contains, font::get_width, font::get_height, font::get_depth,
750 font::get_italic_correction, font::get_left_italic_correction,
751 font::get_subscript_correction, font::get_character_type,
752 font::get_code, font::get_special_device_encoding): Handle both the
753 explicitly enumerated glyphs and use general code for Unicode fonts.
754 (font::load): Make the charset section optional when the font is
756 (font::load_desc): Recognize the `unicode' attribute.
757 * src/libs/libgroff/fontfile.cpp (font::is_unicode): New variable.
759 2006-02-26 Claudio Fontana <claudio@gnu.org>
761 * Makefile.in: Add comment about DESTDIR.
763 * Makefile.sub: Add DESTDIR to install and uninstall targets
764 to support staged installations.
765 * Makefile.comm: Likewise.
766 * doc/Makefile.sub: Likewise.
767 * contrib/eqn2graph/Makefile.sub: Likewise.
768 * contrib/gdiffmk/Makefile.sub: Likewise.
769 * contrib/grap2graph/Makefile.sub: Likewise.
770 * contrib/pic2graph/Makefile.sub: Likewise.
771 * src/devices/xditview/Makefile.sub: Likewise.
772 * src/preproc/eqn/Makefile.sub: Likewise.
773 * src/roff/grog/Makefile.sub: Likewise.
774 * src/roff/nroff/Makefile.sub: Likewise.
775 * src/utils/afmtodit/Makefile.sub: Likewise.
776 * src/utils/indxbib/Makefile.sub: Likewise.
777 * tmac/Makefile.sub: Likewise.
779 2006-02-24 Werner LEMBERG <wl@gnu.org>
781 * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list): Use entry
783 Remove commented out entries for \' and \` (there are no such glyph
786 * src/libs/libgroff/uniglyph.cpp (unicode_to_glyph_list): Remove
787 commented out entries for \' and \`.
790 * */*: s/legal/valid/ where appropriate.
792 2006-06-23 Werner LEMBERG <wl@gnu.org>
794 * font/devhtml/R.proto, font/devutf8/R.proto: Remove incorrect \'
797 2006-02-22 Werner LEMBERG <wl@gnu.org>
799 Remove all remaining traces from the `shc' glyph.
801 * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list),
802 src/libs/libgroff/uniglyph.cpp (unicode_to_glyph_list): Remove
805 * font/devlatin1/R.proto, font/devcp1046/R.proto: Replace `shc'
806 entry with unnamed glyph.
808 * tmac/html/tmac: Remove `shc' entry from call to `.cflags'.
810 * src/preproc/preconv/preconv.cpp (unicode_entity): Handle U+00AD
813 2006-02-22 Bruno Haible <bruno@clisp.org>
815 Concretize the `glyph' datatype.
817 * src/include/font.h (glyph): Remove class.
818 (glyph): Renamed from struct `glyphinfo'.
819 (glyph_to_index): New inline function.
820 (glyph_to_name): Make extern, not inline.
821 (glyph_to_number): Update.
822 (font): Use `glyph *' instead of `glyph'.
824 * src/libs/libgroff/nametoindex.cpp (charinfo): Inherit from class
825 `glyph'. Make `name' field public.
826 (character_indexer, number_to_glyph, name_to_glyph): Use `glyph *'
828 (glyph_to_name): Renamed from `glyph::glyph_name'.
830 * src/roff/troff/charinfo.h (charinfo): Inherit from class `glyph'.
831 Use `glyph *' instead of `glyph'.
833 * src/roff/troff/input.cpp (name_to_glyph, number_to_glyph): Use
834 `glyph *' instead of `glyph'.
835 (glyph_to_name): Renamed from `glyph::glyph_name'.
837 * src/libs/libgroff/font.cpp: Use `glyph *' instead of `glyph',
838 and `glyph_to_index' instead of `glyph::glyph_index'.
840 * src/include/printer.h (printer): Use `glyph *' instead of `glyph'.
841 * src/libs/libdriver/printer.cpp: Likewise.
842 * src/devices/grodvi/dvi.cpp: Likewise.
843 * src/devices/grohtml/post-html.cpp: Likewise.
844 * src/devices/grolbp/lbp.cpp: Likewise.
845 * src/devices/grolj4/lj4.cpp: Likewise.
846 * src/devices/grops/ps.cpp: Likewise.
847 * src/devices/grotty/tty.cpp: Likewise.
849 2006-02-22 Werner LEMBERG <wl@gnu.org>
851 * font/devdvi/generate/tc.map: Add `sr' glyph.
852 * font/devdvi/*TC: Regenerated.
854 * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list): Use entry
857 2006-02-21 Werner LEMBERG <wl@gnu.org>
859 * man/groff_char.man: Explain `***' marker.
861 2006-02-17 Bruno Haible <bruno@clisp.org>
863 * src/libs/libgroff/nametoindex.cpp (character_indexer): Rename
864 methods and fields from *_index to *_glyph.
865 (character_indexer::named_char_glyph): Test for `charNNN' name
867 (name_to_glyph): ... not here.
869 2006-02-17 Bruno Haible <bruno@clisp.org>
871 * src/include/font.h (name_to_glyph): Renamed from
873 (number_to_glyph): Renamed from font::number_to_index.
874 (glyph_to_name): Renamed from font::index_to_name.
875 (glyph_to_number): Renamed from font::index_to_number.
876 * src/libs/libgroff/nametoindex.cpp: Likewise.
877 * src/roff/troff/charinfo.h (charinfo::as_glyph): Renamed from
880 * src/roff/troff/input.cpp: All callers changed.
881 * src/roff/troff/node.cpp: Likewise.
882 * src/libs/libgroff/font.cpp: Likewise.
883 * src/devices/grops/ps.cpp: Likewise.
884 * src/devices/grohtml/post-html.cpp: Likewise.
885 * src/libs/libdriver/printer.cpp: Likewise.
887 2006-02-17 Werner LEMBERG <wl@gnu.org>
889 * src/include/ptable.h, src/include/itable.h
890 (NEXT_PTABLE_SIZE_DEFINED): Use it to avoid multiple declaration
891 of external symbol `next_ptable_size' (used by both header files).
893 2006-02-15 Bruno Haible <bruno@clisp.org>
895 * src/include/font.h (glyphinfo): New class.
896 (glyph): Change internal representation.
897 Change constructor signature.
898 New method glyph::glyph_number().
899 (glyph::glyph, glyph glyph::undefined_glyph, glyph::glyph_index,
900 glyph::operator==, glyph::operator!=): Update.
901 (font::index_to_name, font::index_to_number): New functions.
903 * src/include/itable.h: New file, based on src/include/ptable.h.
905 * src/libs/libgroff/nametoindex.cpp: Include itable.h.
906 (class charinfo): New class.
907 (class character_indexer): Change table result type from `int' to
909 Add table with integer key.
910 (character_indexer::character_indexer): Update.
911 (character_indexer::ascii_char_index): Update.
912 (character_indexer::numbered_char_index): Use NULL as name, not a
913 string starting with a space.
914 (character_indexer::named_char_index): Update.
915 (font::number_to_index, font::name_to_index): Remove no-op cast.
916 (glyph::glyph_name): New method.
917 * src/roff/troff/charinfo.h (class charinfo): Inherit from class
919 (NUMBERED): Remove flag bit.
920 (charinfo::numbered, charinfo::get_index): Update.
922 * src/roff/troff/input.cpp (charinfo::charinfo): Update.
923 (charinfo::set_number, charinfo::get_number): Update.
924 (glyph::glyph_name): New method.
926 2006-02-15 Werner LEMBERG <wl@gnu.org>
928 * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list): Fix
929 entries for `>>', `<<', `*f', and `+f'. Reported by Bruno.
931 2006-02-13 Werner LEMBERG <wl@gnu.org>
933 * font/devps/prologue.ps (RE): Check `UniqueID' also, similar to
936 2006-02-11 Werner LEMBERG <wl@gnu.org>
938 * src/include/font.h: s/glyph_t/glyph/.
941 * src/devices/grotty/tty.cpp: s/glyph/tty_glyph/.
942 s/output_character_t/output_character/.
944 2006-02-11 Bruno Haible <bruno@clisp.org>
946 New accessor method glyph_t::glyph_name().
948 * src/include/ptable.h (declare_ptable): Add a return value to the
949 `define' method, and declare a `lookupassoc' method.
950 (implement_ptable): Return the stored key in `define'. Implement
952 * src/include/font.h (glyph_t): Add `name' field. Add an argument
954 (glyph_t::glyph_name): New method.
956 * src/libs/libgroff/nametoindex.cpp (character_indexer): Change
957 return type of methods and field member type to glyph_t.
958 (character_indexer::character_indexer): Update.
959 (character_indexer::ascii_char_index): Allocate a name for the
961 Return a glyph_t with name.
962 (character_indexer::numbered_char_index): Return a glyph_t without a
964 (character_indexer::named_char_index): Return a glyph_t with a name.
965 (font::number_to_index, font::name_to_index): Update.
967 * src/roff/troff/input.cpp (charinfo::charinfo): Use the symbol as
970 2006-02-11 Bruno Haible <bruno@clisp.org>
972 * src/devices/grotty/tty.cpp (output_character_t): New type.
973 (tty_printer::make_bold, tty_printer::add_char,
974 tty_printer::put_char): Change argument type to output_character_t.
975 (crossings): Change element type to output_character_t.
977 2006-02-11 Bruno Haible <bruno@clisp.org>
979 Make the glyph data type abstract.
981 * src/include/font.h (glyph_t): New class.
982 (name_to_index, number_to_index): Change return type to glyph_t.
983 (font::contains, font::get_width, font::get_height, font::get_depth,
984 font::get_character_type, font::get_kern, font::get_skew,
985 font::get_italic_correction, font::get_left_italic_correction,
986 font::get_subscript_correction, font::get_code,
987 font::get_special_device_encoding, font::add_entry,
988 font::copy_entry, font::add_kern, font::hash_kern): Change argument
991 * src/libs/libgroff/font.cpp (font_kern_list): Change members
992 type and constructor argument types to glyph_t.
993 (font::contains, font::get_width, font::get_height, font::get_depth,
994 font::get_character_type, font::get_kern, font::get_skew,
995 font::get_italic_correction, font::get_left_italic_correction,
996 font::get_subscript_correction, font::get_code,
997 font::get_special_device_encoding, font::add_entry,
998 font::copy_entry, font::add_kern, font::hash_kern): Change argument
1000 (font::load): Use glyph_t variables.
1002 * src/libs/libgroff/nametoindex.cpp (name_to_index,
1003 number_to_index): Change return type to glyph_t.
1005 * src/roff/troff/charinfo.h (charinfo::index): Change type to
1007 (charinfo::get_index): Change return type to glyph_t.
1009 * src/roff/troff/env.cpp: Include font.h.
1011 * src/roff/troff/node.cpp: Include font.h before charinfo.h.
1013 * src/roff/troff/input.cpp: Include font.h before charinfo.h.
1014 (charinfo::charinfo): Update.
1015 (name_to_index, number_to_index): Change return type to glyph_t.
1017 * src/include/printer.h (printer::set_char_and_width): Change return
1020 * src/libs/libdriver/printer.cpp (printer::set_char_and_width):
1021 Change return type to glyph_t.
1023 * src/devices/grodvi/dvi.cpp (dvi_printer::set_char): Change
1024 argument type to glyph_t.
1026 * src/devices/grohtml/post-html.cpp (page::add_and_encode): Update.
1027 (html_printer::space_glyph): Renamed from space_char_index.
1028 (html_printer::add_to_sbuf, html_printer::sbuf_continuation,
1029 html_printer::overstrike, html_printer::set_char): Change argument
1031 (html_printer::set_char_and_width): Change return type to glyph_t.
1033 * src/devices/grolbp/lbp.cpp (lbp_printer::set_char): Change
1034 argument type to glyph_t.
1036 * src/devices/grolj4/lj4.cpp (lj4_printer::set_char): Change
1037 argument type to glyph_t.
1039 * src/devices/grops/ps.cpp (ps_printer::space_glyph): Renamed from
1041 (ps_printer::set_subencoding, ps_printer::set_char): Change argument
1044 * src/devices/grotty/tty.cpp (tty_printer::set_char): Change
1045 argument type to glyph_t.
1047 2006-02-11 Bruno Haible <bruno@clisp.org>
1049 * src/roff/troff/input.cpp (font::name_to_index): Never return a
1052 * src/libs/libgroff/font.cpp (font::load): Remove failure tests for
1053 font::name_to_index.
1055 2006-02-10 Werner LEMBERG <wl@gnu.org>
1057 * doc/groff.texinfo (Assigning Formats): Number registers are always
1059 Apply some rephrasing, contributed by Michael Burt.
1061 2006-02-07 Werner LEMBERG <wl@gnu.org>
1063 * tmac/fr.tmac <ms>: Set `HY' register.
1065 2006-02-07 Werner LEMBERG <wl@gnu.org>
1067 Add framework for simple adaptation of the main macro packages (mm,
1068 me, ms, mom) to different locales. In particular, add support for
1069 French. For activation, simply use `-mfr' as the last macro
1070 package. This feature has been contributed by Fabrice Ménard
1071 <menard.fabrice@wanadoo.fr>.
1073 * tmac/fr.tmac, tmac/trans.tmac, tmac/hyphen.fr, tmac/LOCALIZATION:
1075 * tmac/README: Mention hyphen.fr.
1076 * man/groff_tmac.man: Mention fr.tmac.
1079 2006-01-27 Werner LEMBERG <wl@gnu.org>
1081 * man/groff_font.man: Updated documentation of `entity_name' field.
1084 2006-01-27 Bruno Haible <bruno@clisp.org>
1086 * font/devhtml/R.proto: Remove the entity names from the font's
1087 special_encoding_encoding column.
1088 * src/devices/grohtml/post-html.cpp (get_html_entity): New function,
1089 handling the entity names here.
1090 (get_html_translation): Use it. Change return type to `const
1092 (page::add_and_encode): Update, removing a useless cast.
1094 2006-01-26 Werner LEMBERG <wl@gnu.org>
1096 This change is based on a patch by Bruno Haible <bruno@clisp.org>.
1098 * src/include/device.h: Add comments.
1099 * src/include/font.h: Add comments.
1100 * src/include/unicode.h: Likewise.
1101 * src/include/ptable.h, src/libs/libgroff/ptable.cpp: Likewise.
1103 2006-01-26 Keith Marshall <keith.d.marshall@ntlworld.com>
1105 Suppress `.st' request emission by `grn'.
1107 * src/preproc/grn/main.cpp (USE_ST_REQUEST): New macro.
1110 2006-01-22 Werner LEMBERG <wl@gnu.org>
1112 * install-sh: New version; taken from texinfo CVS.
1114 2006-01-21 Werner LEMBERG <wl@gnu.org>
1116 * src/preproc/preconv/preconv.cpp (main): Set program_name. Bug
1117 reported by Alexander E. Patrakov <patrakov@ums.usu.ru>.
1119 2006-01-19 Bruno Haible <bruno@clisp.org>
1121 Let `make -k install' install more files.
1123 * Makefile.in (MAKE_K_FLAG): New variable. Use it everywhere where
1124 $(MAKE) and $(MDEFINES) are used.
1125 (CPROGDIRS): Remove $(XPROGDIRS). Treat $(XPROGDIRS) like
1126 $(CPROGDIRS) everywhere.
1127 ($(DEVDIRS) $(XDEVDIRS) $(OTHERDEVDIRS) $(TTYDEVDIRS)): Don't depend
1129 ($(OTHERDIRS)): Likewise.
1132 * src/devices/grohtml/post-html.cpp (get_html_translation): Remove
1133 failure test for font::name_to_index -- it can never fail.
1135 2006-01-19 Werner LEMBERG <wl@gnu.org>
1137 * src/devices/grops/grops.man: Fix section on creating EPS files.
1138 Don't use future time in manual.
1141 2006-01-15 Gaius Mulley <gaius@glam.ac.uk>
1143 * tmac/www.tmac: New macro LINKSTYLE which allows users to set
1144 various typographical URL attributes for non-HTML devices.
1146 * tmac/groff_www.man: Document LINKSTYLE.
1148 2006-01-11 Werner LEMBERG <wl@gnu.org>
1150 * configure.ac: Test for getc_unlocked (needed for localcharset).
1151 * configure, src/include/config.hin: Regenerated.
1153 * src/libs/libgroff/Makefile.sub (EXTRA_CFLAGS): Define
1156 * src/libs/libgroff/relocatable.h: New dummy header file for
1159 * src/libs/libgroff/localcharset.c: Updated to (unchanged) CVS
1162 2006-01-10 Bruno Haible <bruno@clisp.org>
1164 Work around unportability of nl_langinfo(CODESET).
1166 * m4/glibc21.m4: New file, from gnulib.
1167 * Makefile.sub (M4MACROS): Add m4/glibc21.m4.
1168 * configure.ac: Also test for stddef.h, and invoke jm_GLIBC21.
1169 * Makefile.in (HOST, GLIBC21): New variables.
1170 (MDEFINES): Pass them to subdirectories.
1171 * src/include/relocate.h (relocatep): Define with C linkage.
1172 * src/include/localcharset.h: New file, from gnulib.
1173 * src/libs/libgroff/localcharset.c: New file, from gnulib with a
1174 modification for relocate().
1175 * src/libs/libgroff/config.charset: New file, from gnulib.
1176 * src/libs/libgroff/ref-add.sin: New file, from gnulib.
1177 * src/libs/libgroff/ref-del.sin: New file, from gnulib.
1178 * src/libs/libgroff/Makefile.sub (EXTRA_CFLAGS): Also define LIBDIR.
1179 (OBJS): Add localcharset.o.
1180 (CSRCS): Add localcharset.c.
1181 (all): Add dependencies to charset.alias, ref-add.sed, ref-del.sed.
1182 (charset.alias): New rule.
1183 (PACKAGE): New variable.
1184 (ref-add.sed, ref-del.sed): New rules.
1185 (MKINSTALLDIRS): New variable.
1186 (install_data): Depend on install_charset_data.
1187 (install_charset_data): New rule for creating or updating
1189 (uninstall_sub): Depend on uninstall_charset_data.
1190 (uninstall_charset_data): New rule for uninstalling or updating
1192 * src/preproc/preconv/preconv.cpp: Include localcharset.h instead
1194 (main): Initialize default_encoding from locale_charset() instead of
1195 nl_langinfo(CODESET).
1197 * aclocal.m4, configure, src/include/config.hin: Regenerated.
1199 2006-01-10 Werner LEMBERG <wl@gnu.org>
1201 * src/preproc/preconv/preconv.cpp (conversion_iconv): Use
1202 ICONV_CONST in call to iconv. Reported by Robert Goulding.
1204 2006-01-07 Werner LEMBERG <wl@gnu.org>
1206 * fonts/devps/generate/freeeuro.sfd: Run auto-hinter with recent
1208 Bump font version to 001.001.
1210 * fonts/devps/generate/Makefile (freeeuro.afm, freeeuro.pfa):
1211 Call fontforge, not pfaedit.
1213 * fonts/devps/freeeuro.afm, fonts/devps/freeeuro.pfa: Regenerated.
1215 2006-01-05 Ruslan Ermilov <ru@FreeBSD.org>
1217 * tmac/doc-common: Add new FreeBSD and NetBSD versions.
1218 * tmac/groff_mdoc.man: Updated.
1220 2006-01-05 Werner LEMBERG <wl@gnu.org>
1222 * src/preproc/preconv/preconv.cpp: s/debug/debug_flag/.
1223 (raw_flag): New global variable.
1224 (do_file): Use .lf to set file name (if `raw_flag' isn't set).
1225 Don't pass BOM to `conversion_utf8'.
1227 (main): Handle `-r' command line switch to set `raw_flag'.
1228 (get_BOM): Fix encodings in `BOM_table'.
1230 * src/preproc/preconv/preconv.man: New file. Not complete yet.
1231 * src/preproc/proconv/Makefile.sub (MAN1): New variable.
1233 2006-01-04 Werner LEMBERG <wl@gnu.org>
1235 * src/preproc/preconv/preconv.cpp (emacs_to_mime): As suggested by
1236 Bruno, comment out most encodings to support only a small set of
1237 coding tags, thus reducing potential problems with legacy encodings
1238 and character sets in the future.
1239 Add many XEmacs coding tags (now commented out).
1241 (check_encoding_tag): Renamed to...
1242 (check_coding_tag): This.
1243 (get_BOM): Return encoding as specified by BOM.
1244 Test for UTF32-LE too.
1245 (do_file): Don't check for coding tag if a BOM has been found.
1247 2006-01-03 Bruno Haible <bruno@clisp.org>
1249 * m4/groff.m4: Renamed from aclocal.m4.
1250 * m4/codeset.m4: New file, from gnulib.
1251 * m4/iconv.m4: New file, from gnulib.
1252 * m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4: New files, from
1254 * config.rpath: New file, from gnulib.
1255 * config.guess, config.sub: New files, from gnulib.
1256 * Makefile.sub (M4MACROS): New variable.
1257 (configure): Fix typo.
1258 (aclocal.m4): New rule.
1259 (stamp-h.in): Depend on aclocal.m4.
1260 * configure.ac: Invoke AM_ICONV and AM_LANGINFO_CODESET.
1261 * Makefile.in (LIBICONV): New variable.
1262 (MDEFINES): Pass it to recursive makes.
1263 * src/preproc/preconv/preconv.cpp: Use HAVE_LANGINFO_CODESET and
1264 HAVE_ICONV instead of I18N macro.
1265 * src/preproc/preconv/Makefile.sub (EXTRA_LDFLAGS): New variable.
1267 * aclocal.m4, configure, src/include/config.hin: (Re)generated.
1269 2006-01-03 Werner LEMBERG <wl@gnu.org>
1271 * doc/Makefile.in (webpage.html): Simplify.
1272 * doc/Makefile.sub (webpage.html): Synchronize with doc/Makefile.in.
1273 * doc/webpage.ms, tmac/groff_www.man, tmac/www.tmac: Minor updates.
1275 2006-01-01 Werner LEMBERG <wl@gnu.org>
1277 * tmac/doc-common (Os): Add some Darwin versions.
1278 * tmac/groff_mdoc.man: Document them.
1280 2006-01-01 Bruno Haible <bruno@clisp.org>
1282 * src/preproc/preconv/preconv.cpp (emacs_to_mime): Various
1284 . Don't map ascii to latin-1.
1285 . Don't use IBMxxx encodings but cpxxx for portability.
1286 . Map cp932, cp936, cp949, cp950 to itself.
1287 (emacs2mime): Protect calls to strcasecmp.
1288 (conversion_iconv): Add missing call to iconv_close.
1289 (do_file): Emit error message in case of unsupported encoding.
1291 2005-12-31 Werner LEMBERG <wl@gnu.org>
1293 Integrate preconv into the groff binary. Changes based on a patch
1294 from Michail Vidiassov.
1296 * src/roff/groff/pipeline.h (MAX_COMMANDS): Increase by 1.
1298 * src/roff/groff/groff.cpp (PRECONV_INDEX): New macro.
1299 (SOELIM_INDEX): Updated.
1300 (help, synopsis): Updated.
1301 (main): Add command line options `-k' and `-K enc' to select
1303 Add support for GROFF_ENCODING environment variable.
1305 * src/roff/groff/groff.man: Updated and revised.
1308 Start with autoconf support for preconv.
1310 * configure.ac: Call AC_C_BIGENDIAN.
1311 * configure, src/include/config.hin: Regenerated.
1313 2005-12-30 Werner LEMBERG <wl@gnu.org>
1315 New preprocessor `preconv' to convert input encodings to something
1316 groff can understand. Not yet integrated within groff. Proper
1317 autoconf stuff is missing too.
1319 Tomohiro Kubota has written a first draft of this program, and some
1320 ideas have been reused (while almost no code has been taken
1323 * src/preproc/preconv/preconv.cpp. src/preproc/preconv/Makefile.sub:
1326 * MANIFEST, Makefile.in (CCPROGDIRS), test-groff.in
1327 (GROFF_BIN_PATH): Add preconv.
1329 2005-12-12 Werner LEMBERG <wl@gnu.org>
1331 * aclocal.m4 (GROFF_MAKEINFO): Fix regexps to be POSIX conformant.
1332 In particular, don't use `\+' since it is a GNU sed extension.
1334 * configure: Regenerated.
1336 2005-12-09 Werner LEMBERG <wl@gnu.org>
1338 * src/libs/libgroff/make-uniuni: New script to generate uniuni.cpp.
1340 * src/libs/libgroff/uniuni.cpp: Regenerated, using data from Unicode
1344 * src/utils/afmtodit/make-afmtodit-tables: New script to generate
1347 * src/utils/afmtodit/afmtodit.tables: New file, representing Unicode
1350 * src/utils/afmtodit/afmtodit.pl (%unicode_decomposed,
1351 %AGL_to_unicode): Removed. Replace it with a tag.
1353 * src/utils/afmtodit/Makefile.sub (afmtodit): Adjust sed expression
1354 to replace tag with actual file contents.
1356 2005-12-08 Werner LEMBERG <wl@gnu.org>
1358 The change 2005-06-20 can indeed cause problems, so we follow the
1359 advice by using marks.
1361 * font/devps/prologue.ps (PBEGIN): Use `mark'.
1362 (PEND): Use `cleartomark'.
1364 2005-12-07 Michail Vidiassov <master@iaas.msu.ru>
1366 * src/utils/afmtodit.pl: Fix kerning output to avoid warnings for
1367 glyphs which have kern values but aren't handled (glyph variants,
1370 2005-12-02 Werner LEMBERG <wl@gnu.org>
1372 * src/devices/grops/ps.cpp (ps_printer::get_subfont): Use correct
1373 subfont index. Reported by Michail Vidiassov <master@iaas.msu.ru>.
1375 2005-11-28 Gaius Mulley <gaius@glam.ac.uk>
1377 * doc/Makefile.in: Separate rule for webpage.html so that extra
1378 command line options can be passed to grohtml.
1379 * doc/groff.css: Change all margins to 0%.
1380 * doc/webpage.ms: Now use new macros ALN, LNS, and LNE so that left
1381 navigation is exploited. Also update webpage to contain new
1382 sections on licenses, mailing lists, cvs/ftp access, groff
1383 dependencies, and bug reports.
1384 * tmac/groff_www.man: Document the new macros ALN, LNS, and LNE.
1385 * tmac/www.tmac: Implement the new macros ALN, LNS, and LNE.
1387 2005-11-25 Gaius Mulley <gaius@glam.ac.uk>
1389 * src/devices/grohtml/post-html.cpp
1390 (html_printer::do_file_components): Add fputs calls to emit the
1391 head contents and shut down the head tag whenever a new file
1392 component is generated.
1394 2005-11-22 Gaius Mulley <gaius@glam.ac.uk>
1396 * src/devices/grohtml/post-html.cpp (html_printer::flush_page): Add
1397 call to flush_text to flush any outstanding html tags on the
1400 2005-11-18 Werner LEMBERG <wl@gnu.org>
1402 * aclocal.m4 (GROFF_MAKEINFO): Use `groff.info' in tests.
1403 Announce makeinfo version.
1404 * configure: Regenerated.
1406 2005-11-18 Mike Frysinger <vapier@gentoo.org>
1408 * Makefile.in: Declare proper dependencies between make targets.
1410 * doc/Makefile.in: Rename groff info page to `groff.info'.
1411 * doc/Makefile.sub: Likewise.
1412 * doc/groff.texinfo: Likewise.
1414 2005-11-17 Peter O'Gorman <mlists@thewrittenword.com>
1416 * src/utils/pfbtops/pfbtops.c, src/utils/xtotroff/xtotroff.c: Move
1417 definition of __GETOPT_PREFIX to the beginning of file to ensure
1418 that it is defined even on platforms where getopt.h is already
1419 included by other header files.
1421 2005-11-10 Gaius Mulley <gaius@glam.ac.uk>
1423 * src/devices/grohtml/post-html.cpp (html_printer::do_heading):
1424 Reset font to NULL to ensure that a font block is recreated during
1427 2005-11-04 Werner LEMBERG <wl@gnu.org>
1429 * aclocal.m4 (GROFF_MAKEINFO): Fix sed expression.
1430 * configure: Regenerated.
1432 2005-10-27 Werner LEMBERG <wl@gnu.org>
1434 * aclocal.m4 (GROFF_MAKEINFO): New function for checking whether
1435 makeinfo 4.8 or newer is available.
1436 * configure.ac: Call GROFF_MAKEINFO.
1437 * configure: Regenerated.
1439 * Makefile.in (MAKEINFO): Use autoconf variable.
1440 (MDEFINES): Add MAKEINFO.
1442 * doc/Makefile.in (MAKEINFO): Use autoconf variable.
1443 * doc/Makefile.sub (MAKEINFO): Remove.
1445 2005-10-26 Werner LEMBERG <wl@gnu.org>
1447 * REVISION: Set to 3.
1449 2005-10-17 Werner LEMBERG <wl@gnu.org>
1451 Mention $MANPAGER variable used with some `man' systems.
1453 * doc/webpage.ms, src/devices/grotty/grotty.man, NEWS: Updated.
1455 2005-09-13 Werner LEMBERG <wl@gnu.org>
1457 * tmac/hyphenex.us: New version (`ushyphex.tex' from ftp.dante.de).
1459 2005-09-04 Werner LEMBERG <wl@gnu.org>
1461 Version 1.19.2 released
1462 =======================
1464 * tmac/groff_ms.man, doc/groff.texinfo: Synchronize.
1466 * doc/webpage.ms: Updated.
1468 * install-sh, mkinstalldirs: New versions; taken from texinfo CVS.
1470 2005-09-04 Jörgen Grahn <jgrahn@algonet.se>
1472 * tmac/groff_ms.man: Document `PO' better.
1474 2005-09-03 Werner LEMBERG <wl@gnu.org>
1476 * NEWS: Document grotty changes.
1478 2005-09-01 Keith Marshall <keith.d.marshall@ntlworld.com>
1480 Backward compatibility support for `man' program.
1482 * tmac/an-old.tmac (LL): Initialize it to respect prior LL register
1483 assignment, prior `.ll' request and then package defaults, in this
1484 specified order of decreasing priority.
1486 * tmac/groff_man.man, doc/groff.texinfo (Man options): Document
1487 altered `LL' register initialization priorities.
1489 2005-08-29 Gary W. Swearingen <garys@opusnet.com>
1491 * tmac/groff_mdoc.man: Go into more details how the `AUTHORS'
1492 section should look like.
1494 2005-08-29 Werner LEMBERG <wl@gnu.org>
1496 * tmac/groff_mdoc.man: The month's name in a call to .Dd shouldn't
1499 2005-08-27 Bernd Warken
1501 * tmac/groff_man.man: Add man(7) too SEE ALSO and more minor
1504 2005-08-11 Bernd Warken
1506 * tmac/www.tmac (URL, MTO): Handle empty \\$1 better.
1508 2005-08-09 Bernd Warken
1510 * tmac/www.tmac (URL, MTO): Use bold series if color support is
1513 2005-08-02 Bernd Warken
1515 * doc/Makefile.sub (uninstall_sub): Use --remove, not --delete
1516 as argument to $(INSTALL_INFO). The latter isn't portable.
1517 Remove $(HTMLEXAMPLEFILES) too.
1519 * Makefile.in (uninstall_dirs): Remove $(datadir)/doc/groff and
1521 Suppress warning messages and return always true.
1523 * tmac/Makefile.sub (uninstall_sub): Remove www.tmac too.
1525 2005-07-02 Bernd Warken
1527 * src/devices/xditview/gxditview.man: Change many `.I' to `.B'.
1528 * man/groff_out.man: More markup and minor improvements.
1529 * src/roff/groff/groff.man: Minor improvements.
1531 2005-06-28 Werner LEMBERG <wl@gnu.org>
1533 * ChangeLog: Split off older entries into...
1534 * ChangeLog.115 ChangeLog.116, ChangeLog.117, ChangeLog.118: New
1537 2005-06-26 Bernd Warken
1539 * src/devices/xditview/gxditview.man: More minor fixes.
1541 2005-06-24 Werner LEMBERG <wl@gnu.org>
1543 * src/preproc/pic/troff.cpp (troff_output::set_fill,
1544 troff_output::set_color, troff_output::reset_color): Use .bcolor and
1545 .fcolor instead of \m and \M, respectively.
1547 2005-06-23 Bernd Warken
1549 * src/devices/xditview/gxditview.man: More minor fixes.
1550 * README: Formatting issues.
1551 Mention some problems with Debian.
1553 2005-06-23 Bernd Warken
1555 * src/devices/xditview/gxditview.man: Revised and improved.
1557 2005-06-22 Werner LEMBERG <wl@gnu.org>
1559 Another round in fixing getopt problems. Hopefully the last one!
1560 This time we use the getopt stuff from gnulib and define a prefix
1561 unconditionally so that there are no collisions with any other
1562 getopt implementations. This is a slight waste of space in case
1563 we already use a GNU getopt implementation, but on
1564 the other hand it really simplifies life.
1566 * src/include/getopt.h: Use gnulib version.
1568 * src/include/getopt_int.h: Use gnulib version.
1570 * src/include/groff-getopt.h: Removed. Obsolete now.
1572 * src/include/lib.h: Regarding getopt, don't handle any platform
1573 specially; just include getopt.h.
1574 (__GETOPT_PREFIX): Define (before getopt.h).
1576 * src/include/Makefile.sub (HDRS): Updated.
1578 * src/libs/libgroff/getopt1.c, src/libs/libgroff/getopt.c: Use
1581 * src/libs/libgroff/Makefile.sub (EXTRA_CFLAGS): Set
1584 * src/utils/pfbtops/pfbtops.c, src/utils/xtotroff/xtotroff.c
1585 (__GETOPT_PREFIX): Define (before getopt.h).
1587 2005-06-21 Werner LEMBERG <wl@gnu.org>
1589 * src/include/lib.h: Provide a fix for Mac OS X to not include
1592 2005-06-20 Denis M. Wilson <dmw@oxytropis.plus.com>
1594 * font/devps/prologue.ps (EP): Dont' use `bind'. Reason: Using
1595 `bind' to define a procedure which contains `showpage' means that an
1596 invocation of `showpage' may execute wrongly (the exact effect
1597 depending on the interpreter). Not usually a problem except under
1598 transformations, such as combining pages.
1599 (PEND): Don't call `clear'. Reason: Using `clear' in the definition
1600 of /PEND means that stack underflow will occur if the stack is
1601 deliberately non-empty before document inclusion. If included
1602 files are found to be generally badly behaved, we could replace the
1603 `clear' with `mark' in /PBEGIN and `cleartomark' in /PEND (I've
1604 never found this necessary).
1606 2005-06-20 Jörgen Grahn <jgrahn@algonet.se>
1608 * src/preproc/soelim/soelim.cpp (do_file): Append trailing zero
1609 earlier to get correct error message.
1611 2005-06-16 Bernd Warken
1612 * src/roff/nroff/nroff.sh: Add support for iso-8859-15.
1614 2005-06-15 Werner LEMBERG <wl@gnu.org>
1616 Another try to update getopt files. This time we add a dummy
1617 gettext.h file to satisfy the dependency.
1619 * src/include/getopt.h, src/libs/libgroff/getopt.c,
1620 src/libs/libgroff/getopt1.c: Updated from GNU libc CVS.
1622 * src/include/getopt_int.h: New file (from GNU libc CVS).
1624 * src/include/gettext.h: Dummy file which just defines a gettext()
1627 * src/include/groff-getopt.h: Updated.
1629 * src/include/Makefile.sub (HDRS): Add getopt_int.h and gettext.h.
1632 * src/libs/libdriver/input.cpp (IntArray): Remove superfluous
1633 `const' keywords in return value.
1635 * src/preproc/html/pushback.cpp (pushBackBuffer::~pushBackBuffer):
1636 Remove redundant variable `old'.
1637 (pushBackBuffer::skipToNewline): Remove redundant variable `ch'.
1639 * src/preproc/tbl/main.cpp (process_table): Remove redundant
1643 Fix more friend name injection problems since modern C++ compilers
1644 fail otherwise. We simply provide (global) declarations for all
1645 functions declared as friends. This is not really necessary but
1648 * src/preproc/eqn/lex.cpp: Provide declarations for get_char,
1649 peek_char, and get_location.
1651 * src/preproc/refer/ref.h: Provide declarations for
1652 compare_reference, same_reference, same_year, same_date,
1653 same_author_last_name, and same_author_name.
1655 * src/roff/troff/div.h: Provide declarations for do_divert and
1658 * src/roff/troff/env.h: Provide declarations for title_length,
1659 space_size, fill, no_fill, adjust, no_adjust, center, right_justify,
1660 vertical_spacing, post_vertical_spacing, line_spacing, line_length,
1661 indent, temporary_indent, do_underline, do_input_trap, set_tabs,
1662 margin_character, no_number, number_lines, leader_character,
1663 tab_character, hyphenate_request, no_hyphenate,
1664 hyphen_line_max_request, hyphenation_space_request,
1665 hyphenation_margin_request, line_width, tabs_save, tabs_restore,
1666 line_tabs_request, widow_control_request, and do_divert.
1668 * src/roff/troff/input.cpp: Provide declaration for chop_macro.
1670 * src/roff/troff/node.cpp: Provide declarations for class
1672 Provide declaration for make_tfont.
1674 2005-05-29 Werner LEMBERG <wl@gnu.org>
1676 * doc/fdl.texi: Updated to version 1.2. Reported by Bernd Warken.
1678 2005-05-28 Werner LEMBERG <wl@gnu.org>
1680 * contrib/pdfmark/Makefile.sub (.ms.pdf): Use `--stylesheet', not
1683 * src/devices/grolbp/lbp.cpp, src/devices/grolbp/lbp.h: Remove
1684 redundant semicolons.
1686 * src/preproc/eqn/Makefile.sub, src/preproc/html/Makefile.sub,
1687 src/preproc/soelim/Makefile.sub, src/preproc/tbl/Makefile.sub:
1688 Define `MLIB'. Some compilers need this for linking with libgroff.
1690 2005-05-27 Werner LEMBERG <wl@gnu.org>
1692 * MANIFEST, README, doc/webpage.ms: Updated.
1694 2005-05-26 Werner LEMBERG <wl@gnu.org>
1696 * All affected files: Update postal address of FSF.
1698 2005-05-25 Keith Marshall <keith.d.marshall@ntlworld.com>
1701 * README: More fixes.
1703 * README.CVS: Removed. Its contents is now part of the README file.
1705 2005-05-21 Werner LEMBERG <wl@gnu.org>
1707 * README: Updated. Based on a patch from Bernd Warken.
1709 2005-05-16 Keith Marshall <keith.d.marshall@ntlworld.com>
1711 Miscellaneous script portability enhancements.
1713 * aclocal.m4: (GROFF_CSH_HACK): Add space in shebang prototype for
1714 generated conftest.sh script, conforming to portability
1715 recommendation in autoconf docs.
1716 * configure: Likewise, for code generated by GROFF_CSH_HACK.
1717 * contrib/eqn2graph/eqn2graph.sh: Add space in shebang, conforming
1718 to portability recommendation in autoconf docs.
1719 * contrib/gdiffmk/gdiffmk.sh: Likewise.
1720 * contrib/gdiffmk/tests/runtests.in: Likewise.
1721 * contrib/grap2graph/grap2graph.sh: Likewise.
1722 * contrib/groffer/groffer.sh: Likewise.
1723 * contrib/mm/mmroff.pl: Likewise.
1724 * contrib/mom/momdoc/appendices.html: Likewise.
1725 * contrib/pic2graph/pic2graph.sh: Likewise.
1726 * font/devps/generate/afmname: Likewise.
1727 * src/devices/xditview/ad2c: Likewise.
1728 * src/preproc/eqn/neqn.sh: Likewise.
1729 * src/roff/grog/grog.pl: Likewise.
1730 * src/roff/grog/grog.sh: Likewise.
1731 * src/roff/nroff/nroff.sh: Likewise.
1732 * PROBLEMS: Likewise, in embedded script examples.
1734 2005-05-16 Keith Marshall <keith.d.marshall@ntlworld.com>
1736 Improve portability of `pdfroff' shell script.
1738 * arch/misc/shdeps.sh: Add space in shebang, conforming to
1739 portability guidelines in `autoconf' docs.
1740 (PATH_SEARCH_SETUP): New substitution; emits PATH_SEPARATOR
1741 initialization code. Used by contrib/pdfmark/pdfroff.sh's
1742 `searchpath' function.
1744 2005-05-14 Werner LEMBERG <wl@gnu.org>
1746 * contrib/pic2graph/pic2graph.sh, contrib/graph2graph.sh,
1747 contrib/eqn2graph.sh: Add option `-trim' to `convert' which is
1748 needed for newer ImageMagick versions.
1750 2005-05-07 Werner LEMBERG <wl@gnu.org>
1752 * src/preproc/refer/refer.man: Many small typographic fixes.
1754 2005-05-06 Jeff Conrad <jeff_conrad@msn.com>
1756 * src/devices/grohtml/post-html.cpp (assert_state::~assert_state):
1757 Use `char *' cast for a_delete.
1759 2005-05-03 Werner LEMBERG <wl@gnu.org>
1761 * src/libs/libgroff/maxpathname.cpp: Include stdlib.h.
1762 src/libs/libgroff/relocate.cpp: Use path_name_max everywhere.
1764 2005-05-03 Jeff Conrad <jeff_conrad@msn.com>
1766 * src/devices/grohtml/post-html.cpp: Use casts to `char *' if using
1767 `a_delete' for `const char *'.
1769 2005-05-03 Werner LEMBERG <wl@gnu.org>
1771 * src/devices/grohtml/post-html.cpp,
1772 src/devices/grohtml/html-table.cpp,
1773 src/devices/grohtml/html-text.cpp, src/devices/grohtml/output.cpp:
1774 Replace malloc/free with new/delete/a_delete.
1776 * src/devices/grolbp/lbp.h: Remove superfluous semicolons which
1777 are prohibited with ANSI C++.
1778 (lbpprintf, vdmprintf): Remove useless `inline' keyword (since the
1779 function has a variable number of arguments).
1781 * src/preproc/grn/main.cpp (doinput): Change return type to `int'.
1782 Simplify function and update all callers.
1784 2005-05-02 Werner LEMBERG <wl@gnu.org>
1786 Undo getopt changes from 2005-04-30. We don't want a dependency
1789 * src/include/getopt_int.h: Removed.
1791 * src/include/getopt.h, src/include/groff-getopt.h,
1792 src/include/Makefile.sub, src/libs/libgroff/getopt.c,
1793 src/libs/libgroff/getopt1.c: Revert to previous version.
1796 * src/include/nonposix.h (access) [_MSC_VER]: New macro.
1798 * src/include/posix.h (F_OK): Define conditionally.
1800 * src/devices/grotty/tty.cpp (tty_printer::make_underline): Use
1801 different variable name in second `for' loop to avoid MSVC compiler
1804 2005-04-30 Werner LEMBERG <wl@gnu.org>
1806 AC_TYPE_SIGNAL from current autoconf can fail if CC=g++.
1808 * aclocal.m4 (GROFF_TYPE_SIGNAL): New function.
1809 * configure.ac: Use GROFF_TYPE_SIGNAL, not AC_TYPE_SIGNAL.
1810 * configure, src/include/config.hin: Regenerated.
1812 * PROBLEMS: Updated.
1815 Update getopt files.
1817 * src/include/getopt.h, src/libs/libgroff/getopt.c,
1818 src/libs/libgroff/getopt1.c: Updated from GNU libc CVS.
1820 * src/include/getopt_int.h: New file (from GNU libc CVS).
1822 * src/include/groff-getopt.h: Updated.
1824 * src/include/Makefile.sub (HDRS): Add getopt_int.h.
1827 * font/devutf8/NOTES: Updated.
1829 2005-04-28 Werner LEMBERG <wl@gnu.org>
1831 Bug fix for Win32 relocatable code. Based on a patch from Keith
1834 * src/libs/libgroff/maxpathname.cpp (PATH_MAX): Test for `_MAX_PATH'
1837 * src/libs/libgroff/relocate.c (DEBUG): Define it conditionally.
1838 (searchpath) [_WIN32]: Use `_fullpath', not `realpath'.
1840 2005-04-28 Keith Marshall <keith.d.marshall@ntlworld.com>
1842 Correct `gnu.eps' handling for build from distribution tarball, with
1843 separate source and build directories.
1845 * doc/Makefile.sub: (examples.stamp): New target; forces copy of
1846 grnexmpl.g, groff.css and gnu.eps from source to build directory;
1847 generate gnu.eps from gnu.xpm if required; touch examples.stamp.
1848 (prepare_examples): Make it depend on examples.stamp.
1849 (CLEANADD): Add examples.stamp.
1851 2005-04-27 Werner LEMBERG <wl@gnu.org>
1855 position: `(' position `)'
1859 * src/preproc/pic/pic.y (position, position_not_place): Handle
1860 additional parentheses.
1862 * doc/pic.ms: Updated.
1864 2005-04-23 Larry Jones <lawrence.jones@ugs.com>
1866 * src/utils/xtotroff/xtotroff.c (MapFont): Fix variable declaration.
1868 2005-04-18 Werner LEMBERG <wl@gnu.org>
1870 * src/roff/groff/pipeline.c: Don't include ctype.h.
1872 2005-04-13 Werner LEMBERG <wl@gnu.org>
1874 * src/roff/nroff/nroff.man: Document option `-M'.
1876 2005-04-13 Bruce Lilly <blilly@erols.com>
1878 * src/roff/nroff/nroff.sh: Make the script accept option `-M'.
1880 2005-04-01 Kees Zeelenberg <kzlg@users.sourceforge.net>
1881 Werner LEMBERG <wl@gnu.org>
1883 Add binary relocation support for Windows platforms.
1885 * src/include/Makefile.sub (defs.h): Add `INSTALLPATH'.
1887 * src/include/relocate.h, src/libs/libgroff/relocate.cpp: New files.
1889 * src/libs/libgroff/searchpath.cpp: Handle `relocate'.
1890 (search_path::search_path, search_path::open_file_cautious): Use
1893 * src/libs/libgroff/Makefile.sub (OBJS, CCSRCS),
1894 src/include/Makefile.sub (HDRS): Updated.
1896 2005-04-01 Werner LEMBERG <wl@gnu.org>
1898 * src/devices/grohtml/post-html.cpp: Don't use strdup/free but
1901 * src/libs/libgroff/font.cpp: Replace strdup with strsave.
1903 * src/libs/libgroff/maxfilename.cpp: Don't include limits.h since
1904 lib.h already does it.
1906 * src/libs/libgroff/maxpathname.cpp: New file, defining
1909 * src/include/lib.h: Add prototype for path_name_max.
1911 * src/libs/libgroff/Makefile.sub (OBJS, CCSRCS): Updated.
1913 * src/include/nonposix.h (PATH_EXT): New macro.
1915 2005-03-28 Werner LEMBERG <wl@gnu.org>
1917 Add support for double- and zero-width characters in grotty.
1919 * src/devices/grotty/tty.cpp (glyph): Add width.
1920 (tty_printer::make_underline, tty_printer::make_bold,
1921 tty_printer::add_character): Add parameter to pass character width.
1923 (tty_printer::end_page): Increase hpos by actual character width.
1925 * font/devutf8/R.proto: Specify zero width for non-spacing
1928 * tmac/unicode.tmac: Remove definitions for non-spacing entities.
1930 * Makefile.comm (extraclean): Remove more junk files.
1932 2005-03-25 Werner LEMBERG <wl@gnu.org>
1934 * configure.ac: Undo change from 2005-03-24.
1935 * configure: Regenerated.
1937 2005-03-24 Werner LEMBERG <wl@gnu.org>
1939 * Makefile.in (NOMAKEDIRS): Add contrib/gdiffmk/tests.
1940 (dist): Search Makefile while descending into $(EXTRADIRS).
1942 * doc/Makefile.in (.PHONY): Add.
1943 (clean): Don't remove *.png and *.eps.
1945 (realclean): Remove *.png and *.eps.
1946 (extraclean): Depend on distclean.
1948 * configure.ac: Add copyright.
1949 Handle contrib/pdfmark/Makefile.
1951 * configure: Regenerated.
1953 2005-03-18 Larry Kollar <kollar@alltel.net>
1955 Add numbered and definition lists to www.tmac.
1957 * tmac/www.tmac (www-ul-level1, www-ul-level2, www-ul-level3,
1958 www-ol-level1, www-ol-level2, www-ol-level3, www-ol-tmp): New
1959 auxiliary string registers.
1960 (www-ul-level, www-ol-level, www-dl-level, www-ol-ctr1, www-ol-ctr2,
1961 www-ol-ctr3, www-dl-shift): New auxiliary number registers.
1962 (www-level): Removed.
1963 (www-level1, www-level2, www-level3): Initialize to empty.
1964 (www-level0, www-level4, www-level5, www-level6, www-level7,
1965 www-level8, www-level9): New string registers.
1966 (www-push-li, www-pop-li): New macros.
1967 (www-push-level, www-pop-level): Renamed to...
1968 (www-push-ul-level, www-pop-ul-level): This.
1970 (www-push-ol-level, www-pop-ol-level): New macros.
1971 (ULS, ULE): Updated.
1972 (OLS, OLE, DLS, DLE): New user macros.
1973 (LI): Removed. It is aliased to one of...
1974 (www-li-ul, www-li-ol, www-li-dl): New macros.
1976 * tmac/groff_www.man: Document new macros.
1980 2005-03-18 Werner LEMBERG <wl@gnu.org>
1982 * tmac/doc-common (doc-operating-system-NetBSD-2.0.1,
1983 doc-operating-system-NetBSD-2.0.2): New strings.
1985 * tmac/groff_mdoc.man: Updated.
1987 2005-03-17 Werner LEMBERG <wl@gnu.org>
1989 * doc/Makefile.sub (CLEANADD): Add `groff.html'.
1991 2005-03-17 Werner LEMBERG <wl@gnu.org>
1993 * src/libs/libgroff/hypot.c: Renamed to...
1994 * src/libs/libgroff/hypot.cpp: This. Updated to C++.
1996 * src/libs/libgroff/Makefile.sub (CCSRCS, CSRCS): Updated.
1998 * src/include/lib.h: Updated.
2000 2005-03-16 Werner LEMBERG <wl@gnu.org>
2002 Add workaround for broken hypot() on Interix.
2004 * src/libs/libgroff/hypot.c: New wrapper file for `hypot'.
2006 * src/libs/libgroff/Makefile.sub (OBJS): Add `hypot.o'.
2007 (CSRCS): Add `hypot.c'.
2009 * src/include/lib.h: Declare `groff_hypot'.
2011 * src/preproc/grn/hgraph.cpp: Don't declare `hypot'.
2014 * src/preproc/pic/pic.h: Don't declare `hypot'.
2016 * src/preproc/pic/object.cpp (hypot): Use `groff_hypot'.
2018 2005-03-15 Gaius Mulley <gaius@glam.ac.uk>
2020 * src/devices/grohtml/post-html.cpp
2021 (html_printer::lookahead_for_tables): End .ce properly to avoid a
2024 2005-03-15 Werner LEMBERG <wl@gnu.org>
2026 makeinfo 4.8 doesn't produce good HTML output from groff.texinfo.
2028 * doc/fixinfo.sh: New script to postprocess makeinfo's HTML output.
2030 * doc/Makefile.in (.texinfo.html): Call fixinfo.sh.
2032 2005-03-14 Werner LEMBERG <wl@gnu.org>
2034 Add Cyrillic support to devutf8 and devhtml.
2036 * font/devutf8/R.proto, font/devhtml/R.proto: Add Cyrillic blocks.
2038 * tmac/unicode.tmac: New file.
2040 * tmac/tty.tmac: Include unicode.tmac if device is utf8.
2042 * tmac/Makefile.sub (NORMALFILES): Add unicode.tmac.
2046 2005-03-02 Keith Marshall <keith.d.marshall@ntlworld.com>
2048 * src/libs/libdriver/printer.cpp (check_for_output_error): New
2049 function. It has been introduced to catch peculiar error contexts
2050 on MS-Windows platforms.
2052 2005-02-28 Werner LEMBERG <wl@gnu.org>
2054 * src/roff/troff/input.cpp (string_iterator::fill): Protect against
2057 * tmac/papersize.tmac: Convert `paper' string contents to lowercase.
2059 * configure: Regenerated.
2063 2005-02-28 Keith Marshall <keith.d.marshall@ntlworld.com>
2065 Integrate `pdfmark' into normal groff build system;
2066 install macro `pdfmark' packages, build and install `pdfroff',
2067 and PDF format documentation.
2069 * Makefile.comm: Add PDFDOCDIR.
2071 * Makefile.in: (MDEFINES) ALT_AWK_PROGS, ALT_GHOSTSCRIPT_PROGS,
2072 pdfdocdir, make_pdfdoc, make_install_pdfdoc: New variables.
2073 (unstall_dirs): Add pdfdocdir.
2075 * aclocal.m4: (GROFF_GHOSTSCRIPT_PREFS): New function; support
2076 `--with-alt-gs' option, set ALT_GHOSTSCRIPT_PROGS.
2077 (GROFF_GHOSTSCRIPT_PATH): Support `--with-gs' option, force use of
2078 GROFF_GHOSTSCRIPT_PREFS, set GHOSTSCRIPT.
2079 (GROFF_HTML_PROGRAMS): Force use of GROFF_GHOSTSCRIPT_PATH; tidy up.
2080 (GROFF_AWK_PREFS): New function; support `--with-alt-awk' option,
2082 (GROFF_AWK_PATH): New function; support `--with-awk' option, force
2083 use of GROFF_AWK_PREFS.
2084 (GROFF_PDFDOC_PROGRAMS): New function; force use of GROFF_AWK_PATH
2085 and GROFF_GHOSTSCRIPT_PATH, set make_pdfdoc and make_install_pdfdoc.
2087 * configure.ac: Add AC_PREREQ(2.59), GROFF_PDFDOC_PROGRAMS.
2088 Remove GROFF_GHOSTSCRIPT_PATH, (forced by GROFF_PDFDOC_PROGRAMS, and
2089 also by modified GROFF_HTML_PROGRAMS).
2091 2005-02-27 Gaius Mulley <gaius@glam.ac.uk>
2093 * src/devices/grohtml/html-text.cpp (html_text::do_pre): Preserve
2095 (html_text::done_para): Unset `start_space'.
2096 (html_text::remove_para_align): Call `retrieve_para_space' for the
2099 * src/devices/grohtml/post-html.cpp (html_printer::emit_raw): Unset
2101 (html_printer::do_check_center): Emit vertical space if necessary.
2103 * src/roff/troff/env.cpp (environment_switch): Preserve
2104 `seen_space', `seen_eol', and `suppress_next_eol' while switching
2107 * src/roff/troff/node.cpp (suppress_node::suppress_node): Set
2110 2005-02-20 Werner LEMBERG <wl@gnu.org>
2112 * src/preproc/eqn/eqn.man, NEWS: Document various extensions of
2115 2005-02-17 Werner LEMBERG <wl@gnu.org>
2117 * doc/pic.ms, man/groff.man: Fix typos.
2119 * doc/groff.texinfo: Fix typos.
2120 (\LEmacro): Get proper mathematical spacing.
2122 2005-02-16 Werner LEMBERG <wl@gnu.org>
2124 * aclocal.m4 (GROFF_APPRESDIR_CHECK): Improve warning message.
2125 * configure: Regenerated with autoconf 2.59b.
2127 2005-02-16 Gaius Mulley <gaius@glam.ac.uk>
2129 * src/devices/grohtml/post-html.cpp (html_printer::is_line_start,
2130 html_printer::start_font): Fix handling of preformatted text.
2132 2005-02-15 Gaius Mulley <gaius@glam.ac.uk>
2134 These patches modify the indentation implementation to use `<p
2135 style=margin-left: n%>'. Many thanks to Peter and Larry for
2136 suggesting this solution. Grohtml only uses tables for `.IP' and
2137 related tags when the first operand has a short width.
2139 Similarly, they modify all vertical space code. By default, grohtml
2140 sets up a style sheet which uses no vertical space between `table',
2141 `pre', and `p' tags. It forces spaces when it needs them using
2142 `style="margin-top: 1em"'.
2144 * src/devices/grohtml/html-table.cpp: Include `html-text.h'.
2145 (html_table::emit_table_header, html_table::emit_new_row):
2147 (html_table::set_space): New function.
2148 (html_indent::html_indent): Don't set `is_used'.
2149 (html_indent::begin): Rewritten.
2150 (html_indent::end): Remove code in function.
2152 * src/devices/grohtml/html-table.h: Updated.
2153 (html_table): Make `out' public.
2155 * src/devices/grohtml/html-text.cpp (html_text::html_text):
2156 Initialize `start_space' with FALSE.
2157 (html_text::end_tag) <P_TAG, PRE_TAG>: Updated.
2158 (html_text::issue_tag): Add argument to handle space style.
2159 (html_text::start_tag) <P_TAG, PRE_TAG>: Updated.
2160 (html_text::flush_text): Don't set `start_space'.
2161 (html_text::push_para): Don't set `p->really_issued'.
2162 (html_text::do_emittext): Updated.
2163 (html_text::do_para): Add paremeter to handle space.
2165 (html_text::retrieve_para_space): New function.
2167 * src/devices/grohtml/html-text.h (STYLE_VERTICAL_SPACE): New macro.
2168 (tag_definition): Remove `really_issued'.
2169 (html_text): Updated.
2171 * src/devices/grohtml/post-html.cpp (html_printer): Add variables
2172 `current_column' and `row_space'.
2174 (html_printer::emit_raw, html_printer::write_header,
2175 html_printer::do_indent, html_printer::do_check_center,
2176 html_printer::do_tab_ts): Handle vertical space.
2177 (html_printer:do_tab_te, html_printer::do_end_para): Call
2178 `remove_para_space'.
2179 (html_printer::do_col): Rewritten.
2180 (html_printer::flush_globs): Remove debugging code.
2181 (html_printer::is_line_start): New function.
2182 (html_printer::start_font): Use `is_line_start'.
2183 (html_printer::writeHeadMetaStyle): New function.
2184 (html_printer::do_file_components, html_printer::~html_printer):
2185 Call `writeHeadMetaStyle'.
2187 * tmac/www.tmac (www-handle-percent): New macro.
2188 (MPIMG): Handle percent values for width and height parameters.
2191 * tmac/groff_www.man: Updated.
2193 2005-02-14 Werner LEMBERG <wl@gnu.org>
2195 * src/utils/afmtodit/afmtodit.pl: Remove an incorrect `my' from
2196 $psname and $italic_angle.
2197 Immediately restart file input loops if `split' returns an empty
2200 2005-02-13 Michail Vidiassov <master@iaas.msu.ru>
2201 Werner LEMBERG <wl@gnu.org>
2203 Update afmtodit to better support Unicode (Michail).
2204 Update afmtodit to use Perl 5 syntax (Werner).
2206 * src/utils/afmtodit/afmtodit.pl: Don't use `getopts.pl' but
2208 Decorate variables with `my' where necessary.
2209 Use `defined' where necessary to avoid warnings.
2210 Don't use `do' for subroutine calls.
2211 Other minor syntax updates.
2212 Check for both `uXXXX[X[X]]' and `uniXXXX'.
2213 Handle glyph variants properly.
2214 (%unicode_decomposed, %AGL_to_unicode): Don't use `u' prefix in
2217 * src/utils/afmtodit/afmtodit.man: Updated.
2219 2005-02-13 Werner LEMBERG <wl@gnu.org>
2221 Make groff.texinfo work with texinfo 4.8.
2223 * doc/groff.texinfo (@Var): Use @r and @slanted.
2224 (@defdummy, @Def*): Use @c to avoid empty lines.
2225 (\angles): Replaced with...
2226 (\Langlemacro, \Ranglemacro): New TeX macros.
2227 (@Langlemacro, @Ranglemacro): New variables defined with @set.
2228 (@angles): Use @Langlemacro and @Ranglemacro.
2229 (\LE): Replaced with...
2230 (\LEmacro): New TeX macro.
2231 (@LEmacro): New variable defined with @set.
2232 (@LE): Use @LEmacro.
2233 (@Lparenmacro, @Rparenmacro, @Lbrackmacro, @Rbrackmacro): New
2234 variables defined with @set.
2235 (@lparen, @rparen, @lbrack, @rbrack): Replaced with...
2236 (@Lparen, @Rparen, @Lbrack, @Rbrack): New macros.
2239 Other minor updates.
2241 * doc/texinfo.tex: Update to texinfo version 4.8.
2243 * README.CVS: Updated.
2245 2005-02-09 Alejandro López-Valencia <palopez@etb.net.co> (tiny change)
2247 * doc/groff.texinfo (ms Document Control Registers): Document `HY'
2248 and `FAM' registers.
2250 2005-02-05 Werner LEMBERG <wl@gnu.org>
2252 * tmac/groff_mdoc.man, tmac/doc-common, tmac/doc-ditroff,
2253 tmac/doc-nroff, tmac/doc-old.tmac, tmac/doc-syms, tmac/doc.tmac:
2256 2005-02-01 Werner LEMBERG <wl@gnu.org>
2258 * src/roff/groff/groff.man: Add information about paper size.
2260 2005-01-25 Werner LEMBERG <wl@gnu.org>
2262 * src/roff/nroff/nroff.sh: Handle `*.ISO8859-1' in locale. From
2265 2005-01-22 Ruslan Ermilov <ru@FreeBSD.org>
2267 * tmac/doc.tmac (Sm): Improved. It didn't work properly in many
2269 (Re): Emit a warning if called without `.Rs'.
2270 (doc-finish-reference): Use parameter for decreasing
2271 `doc-reference-count'.
2272 (doc-print-reference): Pass specific count parameters to
2273 `doc-finish-reference'.
2275 2005-01-21 Werner LEMBERG <wl@gnu.org>
2277 * src/libs/libdriver/input.cpp (delete_current_env, do_file):
2278 Reset pointers to zero after deallocation. This fixes a crash
2279 if a driver is called with multiple input files. Reported by
2280 Ken Chilton <ken@chiltonfamily.org>.
2282 * src/devices/grops/grops.man: Add more info on DSC.
2284 2005-01-17 Ruslan Ermilov <ru@FreeBSD.org>
2286 * tmac/doc-common (Dd), tmac/doc-ditroff (gX, doc-setup-header):
2289 2005-01-17 Werner LEMBERG <wl@gnu.org>
2291 * src/roff/troff/div.cpp (top_level_diversion::space): Protect
2292 against division by zero.
2294 2005-01-13 Ruslan Ermilov <ru@FreeBSD.org>
2296 * tmac/doc.tmac (Ef): Restore doc-curr-font and doc-curr-size.
2298 2004-12-19 Werner LEMBERG <wl@gnu.org>
2300 * install-sh: New version; taken from texinfo CVS.
2302 2004-12-17 Werner LEMBERG <wl@gnu.org>
2304 * tmac/devtag.tmac: Protect against loading twice.
2305 Protect agains compatibility mode.
2306 * tmac/www.tmac: Protect against loading twice.
2307 Load `devtag.tmac' before switching off compatibility mode.
2308 * tmac/an-old.tmac, tmac/s.tmac: Load `devtag.tmac'.
2310 2004-12-16 Mike Bianchi <mbianchi@Foveal.com>
2312 * configure.ac: Produce `contrib/gdiffmk/tests/runtests'.
2313 * configure: Updated.
2315 2004-12-15 Thomas Klausner <wiz@netbsd.org>
2317 * tmac/doc-syms, tmac/groff_mdoc.man: Add `libpam' library.
2319 2004-12-15 Werner LEMBERG <wl@gnu.org>
2321 Make `test-groff' work again -- previously, wrong paths have been
2322 used. Additionally, it can now be called from anywhere.
2324 * test-groff.in: Don't test for groff binary. This is no longer
2325 necessary since the proper paths are determined by `configure'.
2326 (EXEEXT): Removed. No longer used.
2327 (srcdir, builddir): Use values provided by the configure script.
2328 (XENVIRONMENT): Updated.
2332 2004-12-14 Gaius Mulley <gaius@glam.ac.uk>
2334 Make .tag and .taga work for all devices (but only grohtml actually
2337 * src/devices/grohtml/post-html.cpp: s/html-tag/devtag/.
2338 (text_glob::is_br, page::add_tag, html_printer::troff_tag,
2339 html_printer::handle_assertion): Don't use hard-coded string
2341 (html_printer::lookahead_for_table): Reset `tbl' properly if
2343 (html_printer::devtag): New function, handling `devtag'.
2344 (html_printer::special): Don't handle `html-tag'.
2346 * src/include/printer.h, src/libs/libdriver/printer.cpp
2347 (printer::devtag): New virtual function.
2349 * src/libs/libdriver/input.cpp (parse_x_command) <'X'>: Handle
2352 * src/roff/troff/env.cpp, src/roff/troff/mtsm.cpp,
2353 src/roff/troff/node.cpp: s/html-tag/devtag/.
2355 * src/roff/troff/input.cpp (tag, taga): Always call
2358 * tmac/an-old.tmac, tmac/s.tmac, tmac/troffrc-end: Use DEVTAG*
2359 macros instead of HTML-TAG*.
2361 * tmac/devtag.tmac: New file, defining the DEVTAG-* macros.
2363 * tmac/www.tmac: Load devtag.tmac.
2364 Replace HTML-TAG* macros with DEVTAG* macros.
2365 (HTML, HTML-NS): Changed definitions.
2367 (HTML-TAG, HTML-TAG-NS, HTML-TAG-NEXT): Removed.
2369 * tmac/Makefile.sub (NORMALFILES): Add devtag.tmac.
2371 2004-12-10 Werner LEMBERG <wl@gnu.org>
2373 Import Mike's `gdiffmk' package.
2375 * contrib/gdiffmk/*: New files.
2376 * Makefile.in (OTHERDIRS): Add contrib/gdiffmk.
2379 2004-12-08 Werner LEMBERG <wl@gnu.org>
2381 Import Keith's `pdfmark' package. Integration is very preliminary.
2383 * contrib/pdfmark/*: New files.
2384 * Makefile.in (OTHERDIRS): Add contrib/pdfmark.
2387 2004-12-07 Gaius Mulley <gaius@glam.ac.uk>
2389 Fix a bug with title handling in HTML.
2391 * src/devices/grohtml/post-html.cpp (text_glob::is_nf,
2392 text_glob::is_fi, text_glob::is_ce): Use strlen to compute string
2394 (html_printer::handle_tag_within_title): New function.
2395 (html_printer::do_title): Use it.
2397 * tmac/s.tmac (TL): Don't set `need_eo_tl'.
2398 (cov*tl-au-print): Emit `.eo.tl' tag.
2400 2004-12-05 Alejandro López-Valencia <dradul@etb.net.co>
2402 * man/groff_char.man: Minor imrovements.
2404 2004-12-04 Werner LEMBERG <wl@gnu.org>
2406 * src/preproc/eqn/eqn.man: Revised.
2408 2004-11-25 Werner LEMBERG <wl@gnu.org>
2410 * src/utils/xtotroff/xtotroff.c: Reformat to be similar to other
2414 Remove X_NOT_STDC_ENV conditional.
2415 (Version_string, program_name): New global variables.
2416 (groff_flag): Removed.
2418 (usage): Take a stream as argument.
2421 (main): Add `long_options' array for `--help' and `--version'.
2422 Make `-g' a dummy option.
2423 Handle `-v' and unknown options.
2424 Remove unused `position' variable.
2426 * src/utils/xtotroff/Makefile.sub (MAN1): Define.
2427 (XLIBS): Add LIBGROFF.
2429 * src/utils/xtotroff/xtotroff.man, src/utils/xtotroff/Makefile.in:
2432 * src/devices/xditview/Dvi.c (default_font_map): Split into three
2433 parts to avoid compiler warning.
2434 (resources): Don't initialize with `default_font_map'.
2435 (ClassInitialize): Initialize first element of `resources'.
2437 * src/devices/xditview/Makefile.sub (devdir, xtotroff, DPIS, fonts):
2440 * src/utils/lkbib/lkbib.man, src/utils/lookbib/lookbib.man,
2441 src/utils/pfbtops/pfbtops.man: Revised, updated.
2443 * configure.ac: Generate src/utils/xtotroff/Makefile.
2444 * configure: Regenerated.
2446 2004-11-24 Werner LEMBERG <wl@gnu.org>
2448 First fixes to get produce HTML.
2450 * src/devices/grohtml/post-html.cpp (generate_img_src): Add `alt'
2453 * tmac/www.tmac (IMG, PIMG, MPIMG): Add `alt' attribute.
2454 (HR, LI): Use `HTML</p>', not `HTML'.
2456 * doc/webpage.ms: Minor updates.
2458 2004-11-23 Larry Kollar <kollar@alltel.net>
2460 Add option -S grohtml to determine the file split level.
2462 * src/devices/grohtml/post-html.cpp (split_level): New global
2464 (html_header::determine_header_level): Use split_level.
2465 (main): Handle `-S' command line option.
2468 * src/preproc/html/pre-html.cpp (scanArguments): Updated.
2470 * src/devices/grohtml/grohtml.man: Document it.
2473 * NEWS: Document it.
2475 2004-11-23 Y T <doarhop@hotmail.com>
2477 * tmac/s.tmac (ref*add-V, ref*add-N): New macros for handling
2478 the volume and number refer entries.
2480 2004-11-22 Werner LEMBERG <wl@gnu.org>
2482 * src/devices/grohtml/html-table.cpp
2483 (html_table::emit_table_header): Don't emit `cols' attribute which
2484 doesn't exist in HTML 4.0 and is thus invalid.
2486 * NEWS: More minor fixes and updates.
2488 2004-11-18 Werner LEMBERG <wl@gnu.org>
2490 * tmac/www.tmac (HTML-NS, HTML-TAG-NS, HTML-TAG-NEXT): Simplified.
2491 (HTML</p>): Minor clean-up.
2493 * tmac/groff_www.man: Updated.
2495 * src/devices/grohtml/grohtml.man: Revised and updated.
2499 2004-11-18 Gaius Mulley <gaius@glam.ac.uk>
2501 * src/devices/grohtml/post-html.cpp (html_printer::do_heading):
2502 Fix space insertion.
2503 (html_printer::do_links): Fix rules generation around automatic
2506 * tmac/www.tmac (LK): Use HTML-TAG-NS.
2508 No longer emit empty line for non-HTML devices.
2510 2004-11-17 Werner LEMBERG <wl@gnu.org>
2512 * doc/Makefile.in (prepare_examples, webpage.html): Handle
2515 * doc/Makefile.sub (EXAMPLEFILES, CLEANNOTSRCDIRADD,
2516 prepare_examples, webpage.html): Handle `groff.css'.
2518 2004-11-15 Werner LEMBERG <wl@gnu.org>
2520 * NEWS, README, doc/webpage.ms: Updated.
2522 * tmac/www.tmac (HTML, HTML-TAG): Minor clean-ups.
2524 2004-10-30 Gaius Mulley <gaius@glam.ac.uk>
2526 * src/include/printer.h (printer): Remove virtual function
2528 Update all source files.
2530 * src/devices/grohtml/post-html.cpp (html_printer): New member
2531 function `round_width'.
2533 2004-10-20 Tadziu Hoffmann <hoffmann@usm.uni-muenchen.de>
2535 * src/preproc/tbl/table.cpp (table::do_row): Fix handling of the `d'
2536 column key letter suffix.
2538 2004-10-14 Werner LEMBERG <wl@gnu.org>
2540 * Makefile.in (check): Depend on `site.exp' and `docheck'.
2541 (docheck): Run dejagnu's `runtest' if it exists.
2542 (site.exp): Create dejagnu configuration file.
2544 * Makefile.sub (DISTCLEANFILES): Add files related to dejagnu.
2546 2004-10-13 Werner LEMBERG <wl@gnu.org>
2548 * src/devices/grohtml/html-text.cpp (html_text_get_alignment),
2549 src/devices/grohtml/post-html.cpp (make_val,
2550 html_printer::handle_state_assertion): Fix compiler warnings.
2552 * src/roff/troff/div.cpp: Include `stringclass.h' and `mtsm.h'.
2553 (diversion::diversion): Fix order of initializers.
2555 * src/roff/troff/div.h: Don't include `mtsm.h'.
2557 * src/roff/troff/env.cpp: Include `stringclass.h' and `mtsm.h'.
2558 (environment::environment): Fix order of initializers.
2559 (environment::make_tag, environment::construct_format_state): Fix
2562 * src/roff/troff/input.cpp: Include `stringclass.h' and `mtsm.h'.
2563 (input_iterator::input_iterator, macro::macro): Fix order of
2566 * src/roff/troff/mtsm.cpp: Include only necessary header files.
2567 (state_set::add, state_set::val): Fix compiler warnings.
2569 * src/roff/troff/mtsm.h: Don't include `stringclass.h'.
2570 (bool_value_state, int_value_state, units_value_state,
2571 string_value_state): Remove comma after last element which causes
2572 an error with g++ 3.3.3.
2574 * src/roff/troff/node.cpp: Include `stringclass.h'.
2575 (hline_node::hline_node, vline_node::vline_node,
2576 space_char_hmotion_node, left_italic_corrected_node): Fix compiler
2578 (zero_width_node::zero_width_node): Fix order of initializers.
2580 * src/roff/troff/node.h: Don't include `mtsm.h'.
2581 (hmotion_node): Fix compiler warnings.
2583 * src/roff/troff/number.cpp: Include `stringclass.h' and `mtsm.h'.
2585 2004-10-12 Gaius Mulley <gaius@glam.ac.uk>
2587 * doc/groff.css: New file.
2589 * doc/webpage.ms: Use `groff.css'.
2592 * tmac/an-old.tmac (need_eo_h): New number register.
2593 (TH): Emit `.eo.tl' tag after title.
2594 (SH): Set `need_eo_h'.
2595 (an-trap): Handle `need_eo_h'.
2596 (an-do-tag): s/HTML-TAG-NS/HTML-TAG-NEXT/.
2598 * tmac/s.tmac (need_eo_h, need_eo_tl): New number registers.
2599 (TL): Always start diversion.
2601 (@AI): Always call `par@reset'.
2602 (@AB): Update code for -Thtml.
2603 (cov*tl-au-print): Handle -Thtml.
2604 (par@reset): Handle `need_eo_tl', `need_eo_h'.
2606 (@IT-html): Removed.
2607 (@SH): Set `need_eo_h' for -Thtml.
2608 (par@TL): s/HTML-TAG/HTMl-TAG-NS/.
2610 (@NH): s/HTML-TAG/HTMl-TAG-NS/.
2611 Set `need_eo_h' for -Thtml.
2612 (@EQ, @EN): Don't handle -Thtml specially.
2613 (par@load-init): Don't handle -Thtml specially.
2615 * tmac/www.tmac (www:paraspace): New macro.
2616 (HTML-NS, HTML-TAG-NS): Use new `tag' request.
2617 (HTML</p>, HTML-TAG-NEXT): New macros.
2618 (HnE): Emit tag `.eo.h' instead of break.
2619 (HR): s/HTML-NS/HTML/.
2620 (www-end-nowhere): End diversion only if `www-html' not set.
2622 (ULS, ULE): s|HTML|HTML</p>|.
2623 (LI): Call `www:paraspace'.
2626 2004-10-11 Gaius Mulley <gaius@glam.ac.uk>
2628 * src/roff/troff/request.h (macro): Make `p' public.
2629 New variable `is_a_diversion'.
2630 New member function `is_diversion'.
2633 * src/devices/grohtml/html.h (simple_output): New member function
2636 * src/devices/grohtml/html-table.cpp (tabs::compatible): Fix
2637 computation of `total'.
2638 (tabs::check_init): New function.
2639 (html_table::emit_table_header): Emit style data.
2640 (html_table::insert_column): Improved.
2642 * src/devices/grohtml/html-table.h: Updated.
2644 * src/devices/grohtml/html-text.cpp (html_text::html_text):
2645 Initialize `start_space' with TRUE.
2646 (html_text::end_tag, html_start_tag): Fix `P_TAG' and `PRE_TAG'
2648 (html_text::flush_text): Set `start_space' flag.
2649 (html_text::uses_indent, html_text::remove_para_space,
2650 html_text::get_alignment): New functions.
2651 (html_text::push_para): Updated.
2652 (html_text::do_para): Check for empty argument.
2653 Don't set `space_emitted'.
2654 (html_text::do_space, html_text::emit_space): Updated.
2656 * src/devices/grohtml/html-text.h (tag_definition): New variable
2658 (html_text): New member function `uses_indent', `remove_para_space',
2661 * src/devices/grohtml/output.cpp (simple_output::force_nl): New
2663 (simple_output:nl): Always emit `\n'.
2665 * src/devices/grohtml/post-html.cpp: Include `string.h'.
2666 (BASE_POINT_SIZE): Removed.
2667 (base_point_size, head_info): New global variables.
2668 (text_glob): New member functions `is_ll', `is_tl', `is_eo_tl',
2670 (text_glob::is_nf, text_glob::is_fi): Handle `.fi 0' and `.fi 1'
2672 (page::add_and_encode): Pass additional parameter for tag flag.
2673 (assert_pos): New structure.
2674 (assert_state): New class.
2675 (html_printer): Remove `indentation', `prev_indent'.
2676 Add variables `troff_indent', `device_indent', `temp_indent'.
2677 Add variables `seen_indent', `next_indent', `seen_pageoffset',
2678 `next_pageoffset', `seen_linelenght', `next_linelength',
2679 `seen_center', `next_center', `seen_space', `seen_break', `as'.
2680 Add member functions `do_check_center', `do_space', `do_head',
2681 `get_troff_indent', `restore_troff_indent', `handle_assertion',
2682 `handle_state_assertion', `do_end_para', `set_char_and_width'.
2683 Change argument to `do_fill' to `char *'.
2685 (html_printer::emit_raw): Call `shutdown_table'.
2687 (html_printer::do_center): Simplified.
2688 (html_printer::do_title): Improved.
2689 (html_printer::write_header): Emit one more newline.
2691 (html_printer::do_heading, html_printer::do_indent,
2692 html_printer::do_eol, html_printer::do_tab_ts,
2693 html_printer::do_tab, html_printer::do_tab0,
2694 html_printer::calc_po_in, html_printer::next_horiz_pos,
2695 html_printer::remove_courier_tabs,
2696 html_printer::insert_tab0_foreach_tab, html_printer::begin_page):
2698 (html_printer::do_linelength, html_printer::do_pageoffset,
2699 html_printer::do_indentation, html_printer::do_tempindent,
2700 html_printer::do_tab_te): Simplified.
2701 (html_printer::do_pointsize): Check whether point size is really
2702 associated a `.tl' tag.
2703 (html_printer::do_break): Rewritten.
2704 (html_printer::troff_tag): Improved.
2705 (html_printer::flush_globs): Updated.
2706 (html_printer::lookahead_for_tables): Handle `is_br'.
2708 (html_printer::set_char): Check `sbuf_style.f'.
2709 (html_printer::write_navigation): Use string comparison.
2710 (html_printer::~html_printer): Emit `head_info'.
2711 (html_printer::special): Rewritten.
2712 (get_str, make_val): New functions.
2713 (main): New option `s' to set the base point size.
2715 * src/preproc/html/pre-html.cpp (scanArguments): Handle option `s'.
2717 2004-10-10 Gaius Mulley <gaius@glam.ac.uk>
2719 * src/roff/troff/node.cpp: New extern `debug_state'.
2720 Include `stringclass.h' and `mtsm.h'.
2721 Implement new classes and class members from `node.h'.
2722 (real_output_file): Make `fp' public.
2723 (troff_output_file): New variables `cur_div_level' and `tag_list'.
2724 Update constructors.
2725 (troff_output_file::really_print_line): Check whether we should push
2726 the current troff state and use the state at the start of the
2727 invocation of this diversion.
2728 (troff_output_file::add_to_tag_list): New member function.
2729 (node::add_char): Handle `glyph_comp_np'.
2731 * src/roff/troff/node.h: Include `mtsm.h'.
2732 (node): New variables `state', `push_state', `div_nest_level',
2733 `is_special'. Update constructors, all descendants.
2734 Pass additional argument to `add_char' member function.
2735 New virtual member functions `is_tag', `debug_node',
2736 `debug_node_list'. Update all descendants.
2737 (tag_node): New class for handling tags.
2738 (output_file): Add variable `state'.
2740 2004-10-09 Gaius Mulley <gaius@glam.ac.uk>
2742 * src/roff/troff/mtsm.cpp, src/roff/troff/mtsm.h: New files,
2743 providing a minimal troff state machine to emit meta tags for the
2744 post-grohtml device driver.
2746 * src/roff/troff/Makefile.sub (OBJS, CCSRCS, HDRS): Handle new
2749 2004-10-09 Werner LEMBERG <wl@gnu.org>
2751 * tmac/trace.tmac: Fix handling of `am' and `am1' calls.
2753 2004-10-06 Gaius Mulley <gaius@glam.ac.uk>
2755 * src/roff/troff/column.cpp (vjustify_node::copy): Updated.
2757 * src/roff/troff/div.h: Include `mtsm.h'.
2758 (diversion): New variables `any_chars_added', `needs_push',
2759 `saved_seen_break', `saved_seen_space', `saved_seen_eol',
2760 `saved_suppress_next_eol', `modified_tag'.
2761 New virtual member function `is_diversion'. Update all descendants.
2763 * src/roff/troff/div.cpp (diversion::diversion,
2764 macro_diversion::macro_diversion): Updated.
2765 (do_divert): Handle `seen_break', `seen_space', `seen_eol',
2766 `suppress_next_eol'.
2767 (top_level_diversion::space): Handle `curenv->seen_space'.
2768 (page_offset): Update tag handling.
2769 (space_request, blank_line, flush_output): Don't call `add_html_tag'.
2771 * src/roff/troff/env.h (environment): Make `tabs' public.
2772 Remove `ignore_next_eol', `emitted_node'.
2773 Update `output_line', `output'.
2774 New variables `seen_space', `seen_eol', `suppress_next_eol',
2776 New member functions `construct_state', `make_tag',
2777 `construct_format_state, `construct_new_line_state,
2779 Remove `add_html_tag', `make_html_tag'.
2781 * src/roff/troff/env.cpp: New externs `suppress_push',
2782 `get_diversion_state', `global_diverted_space'.
2783 (pending_output_line): New variable `was_centered'.
2784 Update constructor and all callers.
2785 (pending_output_line::output): Call `curenv->construct_format_state'.
2786 (environment::environment, environment::copy): Updated.
2787 (environment::output): Handle `was_centered'.
2788 (environment::add_char): Handle construct and diversion state.
2789 (environment::add_node): Handle construct state.
2790 (environment::newline): Handle `was_centered'.
2791 (environment::output_line): Updated.
2792 (environment::possibly_break_line): Updated.
2793 Update tag handling.
2794 (environment::add_html_tag): Replaced with...
2795 (environment::make_tag): New function.
2796 (environment::add_html_tag_tabs, environment::make_html_tag): Removed.
2797 (environment::dump_troff_state): New debugging function.
2798 (environment::construct_state, environment::construct_format_state,
2799 environment::construct_new_line_state): New functions.
2800 (environment::do_break): Updated.
2801 Handle `global_diverted_space'.
2802 (environment::handle_tag): Update tag handling.
2803 (point_size, fill, do_break_request): Don't call `add_html_tag'.
2804 (no_fill): Don't call `add_html_tag'.
2805 Set `suppress_next_eol'.
2806 (center, right_justify, line_length, indent, temporary_indent,
2808 Update tag handling.
2810 * src/roff/troff/input.cpp: Don't include `stringclass.h'.
2811 (input_iterator): New variables `is_diversion', `diversion_state'.
2812 Update constructors.
2813 (input_stack): New member functions `get_div_level',
2814 `get_diversion_state', `check_end_diversion'.
2815 New variables `div_level', `diversion_state'. Initialize them.
2816 (suppress_push, global_diverted_space): New global variables.
2817 (input_stack::finish_get, input_stack::finish_peek,
2818 input_stack::remove_boundary, input_stack::end_file,
2819 input_stack::clear, input_stack::pop_macro): Call
2820 `check_end_diversion'.
2821 (input_stack::push): Handle `div_level' and `diversion_state'.
2822 (get_diversion_state): New function.
2823 (diverted_space_node::reread): Handle `global_diverted_space'.
2824 (macro::macro): Update constructors.
2825 (macro::is_diversion): New function.
2826 (macro::operator=): Set `is_a_diversion'.
2827 (string_iterator): New member function `is_diversion'.
2828 (string_iterator::string_iterator): Update constructors.
2829 (string_iterator::fill): Set `div_nest_level'.
2830 (macro_iterator): New member function `is_diversion'.
2831 (do_if_request): Handle `suppress_push'.
2832 (tag, taga): New functions.
2833 (init_input_requests): Add `tag' and `taga' requests.
2835 2004-10-05 Gaius Mulley <gaius@glam.ac.uk>
2837 * src/include/font.h (font): New member function
2838 `get_image_generator'.
2839 New variables `unscaled_charwidths' and `image_generator'.
2841 * src/libs/libgroff/font.cpp (font::get_width): Always return the
2842 character's unscaled width if `font::unscaled_charwidths' is set.
2843 (font::get_image_generator): New function.
2844 (font::load_desc): Check the `unscaled_charwidths' and
2845 `image_generator' keywords.
2847 * src/libs/libgroff/fontfile.cpp: Initialize
2848 `font::unscaled_charwidths' and `font::image_generator'.
2850 * font/devhtml/DESC.proto: s/html/unscaled_charwidths/.
2852 * font/devhtml/Makefile.sub (DESC): Set `image_generator' keyword.
2854 * man/groff_font.man: Document `unscaled_charwidths' and
2857 * src/preproc/html/pre-html.cpp: Include `device.h'.
2858 (image_gen): New global variable.
2859 (imageList::createPage): Use `image_gen'.
2860 (main): Use `image_generator' keyword.
2862 2004-10-04 Gaius Mulley <gaius@glam.ac.uk>
2864 * tmac/html.tmac: Handle \[sqrtex].
2866 2004-10-04 Gaius Mulley <gaius@glam.ac.uk>
2868 * src/include/printer.h (printer): New virtual method `round_width'.
2870 * src/devices/grodvi/dvi.cpp, src/devices/grolbp/lbp.cpp,
2871 src/devices/grolj4/lj4.cpp, src/devices/grops/ps.cpp,
2872 src/devices/grotty/tty.cpp (printer::round_width): New function
2875 * src/devices/grohtml/post-html.cpp (printer::round_width): New
2877 (html_printer::set_numbered_char): Use it.
2879 2004-10-03 Gaius Mulley <gaius@glam.ac.uk>
2881 * aclocal.m4 (GROFF_GHOSTSCRIPT_PATH): New macro.
2883 * configure.ac: Call GROFF_GHOSTSCRIPT_PATH.
2885 * configure: Regenerated.
2887 * Makefile.in (GHOSTSCRIPT): New variable.
2888 (MDEFINES): Add GHOSTSCRIPT.
2890 2004-10-03 Werner LEMBERG <wl@gnu.org>
2892 * INSTALL.gen: Updated (taken from texinfo CVS).
2894 2004-09-28 Werner LEMBERG <wl@gnu.org>
2898 2004-09-28 Heinz-Jürgen Oertel <hj.oertel@surfeu.de>
2900 * tmac/groff_www.man: Revised and updated.
2902 2004-09-26 Werner LEMBERG <wl@gnu.org>
2904 Fix \$@ and \$* to handle any number of arguments.
2906 * src/roff/troff/input.h (BEGIN_QUOTE, END_QUOTE): New special
2909 * src/roff/troff/input.cpp (input_iterator::internal_level):
2911 (input_stack): New member functions `increase_level' and
2913 (input_stack::get_level): Don't use `internal_level'.
2914 (get_copy, token::next): Handle BEGIN_QUOTE and END_QUOTE.
2915 (end_quote_iterator): Completely removed.
2916 (interpolate_arg): Build string for \$@ and \$* which is then
2917 pushed onto the input stack.
2919 2004-09-23 Keith Marshall <keith.d.marshall@ntlworld.com>
2921 * tmac/groff_ms.man, doc/groff.texinfo (ms Document Control
2922 Registers): Document changes from 2004-09-19.
2924 2004-09-23 Werner LEMBERG <wl@gnu.org>
2926 * tmac/an-old.tmac (ne): Using default scaling operator.
2928 2004-09-19 Keith Marshall <keith.d.marshall@ntlworld.com>
2930 This change implements the following features:
2933 New numeric register: Defines number of lines following LP, PP,
2934 QP, IP or XP, which must be kept together, before any automatic
2935 page break. If insufficient space remains on the current page, a
2936 page break is forced before the new paragraph begins.
2939 New numeric register: Sets number of lines of following paragraph
2940 which must be kept with a heading, defined by NH or SH, before any
2941 automatic page break. If insufficient space remains on the
2942 current page, a page break is forced before the heading.
2945 (Thanks to Joerg van den Hoff, for this idea).
2947 New numeric register: Sets the first level of heading (set with
2948 NH), which will keep the same point size as body text; e.g. if
2949 GROWPS is set to 3, .NH 3, .NH 4, ... will produce headings at the
2950 point size specified by \n[PS], but .NH 2 and .NH 1 will have
2951 progressively larger point sizes, determined by \n[PSINCR] (see
2955 New numeric register: Sets the point size increment for each level
2956 of heading, (set with NH), below the threshold level set by
2957 GROWPS; e.g. if \n[PS] = 10, \n[GROWPS] = 3 and \n[PSINCR] = 2.0p,
2958 then .NH 1 will produce 14pt headings, .NH 2 will produce 12pt,
2959 and all other levels will remain at 10pt, (because \n[PS] = 10).
2962 Existing macro now accepts a numeric argument, to make heading
2963 size match that of NH with same argument value, when the
2964 GROWPS/PSINCR feature is enabled.
2967 New string, set by NH macro, replaces the existing (undocumented)
2968 use of SN, to represent the assigned section number.
2971 New string, set by NH macro, represents the assigned section
2972 number, but omits the terminal period (periods at intermediate
2973 levels are retained).
2976 String set by NH macro, originally undocumented, now implemented
2977 as an alias for SN-DOT (which reproduces original behaviour).
2979 * tmac/s.tmac (PORPHANS): New register.
2980 (par*start): Use it.
2981 (HORPHANS, GROWPS, PSINCR): New registers.
2982 (SH-NO-TAG, @SH): Use them.
2985 2004-09-19 Keith Marshall <keith.d.marshall@ntlworld.com>
2987 * NEWS, doc/groff.texinfo (ms Display and Keeps), tmac/groff_ms.man:
2988 Document the deletion of `Ds' and `De' macros.
2990 2004-09-10 Werner LEMBERG <wl@gnu.org>
2992 In tbl, handle \a as an interpreted leader character if in
2995 * src/preproc/tbl/table.h (PREFIX, PREFIX_CHAR, LEADER,
2996 LEADER_CHAR): New macros.
2997 (compatible_flag): New declaration.
2999 * src/preproc/tbl/main.cpp (table_input): Add LEADER_1, LEADER_2,
3000 LEADER_3, and LEADER_4 to `state'.
3001 (table_input::get): Handle `\a'.
3003 * src/preproc/tbl/table.cpp (PREFIX): Removed.
3004 (LEADER_REG): New macro.
3005 (table::init_output): Define LEADER_REG string register if in
3008 * src/preproc/tbl/tbl.man: Document it.
3010 2004-08-18 Werner LEMBERG <wl@gnu.org>
3012 * tmac/doc.tmac (An): Fix error message.
3014 2004-08-06 Werner LEMBERG <wl@gnu.org>
3016 * src/preproc/tbl/main.cpp (main): Call `fatal' not `error' if a
3017 file can't be opened. UNIX tbl has the same behaviour.
3019 2004-08-05 Y T <doarhop@hotmail.com>
3021 * src/preproc/grn/hdb.cpp (compatibility_flag): Add declaration.
3022 (DBRead): If in compatibility mode, take into account the text
3023 when computing figure boundaries.
3025 2004-08-05 Werner LEMBERG <wl@gnu.org>
3027 * src/preproc/soelim/soelim.man: Improved. Based on suggestions
3028 from Tadziu Hoffmann.
3030 2004-08-03 Werner LEMBERG <wl@gnu.org>
3032 * doc/meref.me: Document `_M' register.
3034 2004-08-03 Martin Husemann <martin@duskware.de>
3036 Make hpftodit work correctly on big-endian systems.
3038 * src/utils/hpftodit/hpftodit.cpp (File): New method
3039 `get_uint32(char *)'.
3040 (entry): New member `orig_value'.
3041 (read_tags): Use new method.
3042 (output_font_name, read_and_output_pcltypeface, dump_ascii):
3045 2004-08-01 Werner LEMBERG <wl@gnu.org>
3047 * tmac/s.tmac: Undo change 2003-06-29. The proper macro definitions
3048 are already in X11's `macros.t' file.
3050 2004-08-01 Jeff Conrad <jeff_conrad@msn.com>
3052 * src/utils/hpftodit/hfptodit.cpp (output_font_name, dump_ascii):
3054 (read_and_output_pcltypeface): Handle strings with length <= 4.
3056 2004-07-27 Egil Kvaleberg <egil@kvaleberg.no>
3058 * tmac/s.tmac (pg@top): Don't save `PO' register.
3059 (pg*end-col, pg*end-page): Directly use `PO' register.
3061 2004-07-27 Werner LEMBERG <wl@gnu.org>
3063 * man/groff_tmac.man: Mention `trace' and `pic' macro packages.
3065 * src/preproc/refer/refer.cpp (output_references): Check for
3067 * src/preproc/refer/refer.man: Improve documentation of
3068 `bibliography' command.
3070 2004-07-26 Werner LEMBERG <wl@gnu.org>
3072 Add requests `fcolor' and `gcolor'.
3074 * src/roff/troff/env.cpp (fill_color_change, glyph_color_change):
3076 (init_env_requests): Add `fcolor' and `gcolor'.
3078 * src/roff/troff/input.h: Export do_glyph_color and do_fill_color.
3080 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo
3081 (Colors): Document new requests.
3083 2004-07-24 Werner LEMBERG <wl@gnu.org>
3085 Add support for fractional point sizes in ms macros. A value for
3086 PS, VS, FPS, and FVS greater than or equal to 1000 is always divided
3087 by 1000. For example, `.nr PS 10250' sets the font size to 10.25p.
3089 * tmac/s.tmac (@AU, @AI, par@load-init, par@init, par@reset, NL,
3090 PX): Handle fractional point sizes for PS, VS, FPS, and FVS.
3092 * tmac/groff_ms.man, docs/groff.texinfo (ms Document Control
3093 Registers), NEWS: Document it.
3095 2004-07-19 Werner LEMBERG <wl@gnu.org>
3097 * src/preproc/pic/lex.cpp (for_input): Add member `from'.
3099 (do_for, for_input::get, for_input::peek): Handle negative `by'.
3100 * src/preproc/pic/pic.man, doc/pic.ms, NEWS: Document it.
3102 2004-07-08 Thomas Klausner <wiz@netbsd.org>
3104 * tmac/doc-syms (doc-str-St--p1003.1-2004): New string.
3105 * tmac/groff_mdoc.man: Updated.
3107 2004-07-05 Werner LEMBERG <wl@gnu.org>
3109 * doc/groff.texinfo (Manipulating Hyphenation): Further improve
3110 documentation of `hcode'.
3112 2004-07-04 Sang Dae Yu <sdyu@bh.knu.ac.kr>
3114 Improve appearance of arrows in pic.
3116 * src/preproc/pic/object.cpp (draw_arrow): Make outline of filled
3118 Use two line segments for drawing non-filled arrow head.
3119 (line_object::print, spline_object::print): Shorten line length to
3120 avoid arrow sticking.
3121 (arc_object::print): Take arrow direction into account.
3123 2004-07-03 Heinz-Jürgen Oertel <hj.oertel@surfeu.de>
3125 * tmac/groff_www.man: Update documentation of .MPIMG.
3127 2004-07-03 Werner LEMBERG <wl@gnu.org>
3129 * tmac/an-old.tmac (RI): Always start with font `R'.
3130 (RI, IR): Properly end with font `R'.
3132 2004-07-02 Paul Eggert <eggert@cs.ucla.edu>
3134 * man/ditroff.man, man/groff_font.man, man/groff_out.man,
3135 src/devices/grohtml/grohtml.man, src/preproc/grn/grn.man,
3136 src/preproc/pic/pic.man, tmac/groff_man.man, tmac/groff_ms.man:
3137 Don't pass more than six arguments to .R, .I, .B, etc., for
3138 compatibility with traditional troff macros.
3140 2004-07-02 Werner LEMBERG <wl@gnu.org>
3142 * src/roff/troff/input.h: s/COMPATIBLE_SAVE/PUSH_GROFF_MODE/.
3143 s/COMPATIBLE_RESTORE/POP_GROFFCOMP_MODE/.
3145 (PUSH_COMP_MODE): New internal character constant.
3148 * src/roff/troff/input.cpp (get_copy): Handle PUSH_GROFF_MODE,
3149 PUSH_COMP_MODE, and POP_GROFFCOMP_MODE.
3150 (token::next, macro::append): Handle PUSH_COMP_MODE.
3151 (decode_args): Add PUSH_GROFF_MODE or PUSH_COMP_MODE before and
3152 POP_GROFFCOMP after each of the decoded arguments to make them
3153 independent from the compatibility mode status.
3154 (comp_mode): Add `COMP_ENABLE'.
3155 (do_define_string, do_define_macro): Handle COMP_ENABLE.
3156 (define_string, append_string, define_macro, define_indirect_macro,
3157 append_macro, append_indirect_macro): Handle `compatible_flag'.
3158 (chop_macro, substring_request, asciify): Handle PUSH_COMP_MODE.
3160 * man/groff_diff.man, doc/groff.texinfo: Updated.
3162 2004-07-01 Werner LEMBERG <wl@gnu.org>
3164 * doc/groff.texinfo: Improve documentation of `hcode'.
3165 Use @documentencoding and convert document to latin-1; to do that
3166 make latin characters active and assign proper macros (within a
3167 @tex...@end tex environment).
3168 * doc/Makefile.in (.texinfo.html, groff): Use --enable-encoding.
3169 * doc/Makefile.sub (groff): Ditto.
3171 2004-06-29 Werner LEMBERG <wl@gnu.org>
3173 Implement two new conditional operators `F <name>' and `S <name>'
3174 which check whether <name> is a valid font or style, respectively.
3176 * src/libs/libgroff/font.cpp (text_file): Add `silent' member.
3177 (text_file::text_file): Updated.
3178 (text_file::error): Don't emit message if `silent' is set.
3179 (font::load_font): Add optional third argument (which is directly
3181 (font::load): Add optional second argument to check the header of
3182 a font only, without emitting warning or error messages.
3183 * src/include/font.h (font): Updated.
3185 * src/roff/troff/input.cpp (do_if_request): Implement `S' and `F'
3187 * src/roff/troff/node.cpp (mount_font_no_translate): Add optional
3188 fourth argument to check a font without mounting.
3189 (check_font, check_style): New functions.
3190 * src/roff/troff/node.h: Updated.
3192 * man/groff_diff.man, man/groff.man, NEWS, doc/groff.texinfo:
3195 2004-06-27 Werner LEMBERG <wl@gnu.org>
3197 Implement new string-valued register `.sty' to return the current
3200 * env.cpp (environment::get_style_name_string): New function.
3201 (init_env_requests): Add `.sty' register.
3202 * env.h (environment): Updated.
3203 * node.cpp (font_info): Make `get_style_name' a friend.
3204 (get_style_name): New function.
3207 * man/groff_diff.man, man/groff.man, NEWS, doc/groff.texinfo:
3210 2004-06-15 Werner LEMBERG <wl@gnu.org>
3212 * src/preproc/tbl/main.cpp (process_data) <GOT_RIGHT_BRACE>: Handle
3215 2004-06-10 Colin Percival <colin.percival@wadham.ox.ac.uk>
3217 * doc/meintro.me, doc/meref.me: Don't use \*[td], \n[dy], \*[mo],
3218 and \n[mo] to avoid dependency on current date.
3220 2004-06-08 Werner LEMBERG <wl@gnu.org>
3222 * Makefile.sub (install_data): New target.
3224 2004-06-04 Werner LEMBERG <wl@gnu.org>
3226 * src/libs/libxutil/Makefile.sub (EXTRA_CFLAGS): Define.
3228 2004-06-03 Werner LEMBERG <wl@gnu.org>
3230 * src/devices/xditview/Makefile.sub (EXTRA_LDFLAGS): Fix typo and
3232 (install_data): Add $(srcdir).
3234 * src/utils/xtotroff/Makefile.sub (EXTRA_LDFLAGS): Fix order of
3237 2004-06-02 Werner LEMBERG <wl@gnu.org>
3239 * aclocal.m4 (GROFF_X11): s/have_no_x/groff_no_x/.
3240 Add X11 stuff to CFLAGS, LDFLAGS, and LIBS temporarily.
3241 Add test for Xmu library.
3242 (GROFF_APPRESDIR_OPTION, GROFF_APPRESDIR_CHECK,
3243 GROFF_APPRESDIR_DEFAULT): New macros.
3245 * configure.ac: Call GROFF_APPRESDIR_OPTION, GROFF_APPRESDIR_CHECK,
3246 and GROFF_APPRESDIR_DEFAULT.
3248 * configure: Regenerated.
3250 * Makefile.in (appresdir): New variable.
3251 (MDEFINES): Add appresdir.
3253 * src/devices/xditview/Makefile.sub (EXTRA_LDFLAGS): Add -Xmu and
3255 (install_data, uninstall_sub): New targets to handle GXditview.ad.
3257 * src/utils/indxbib/Makefiles.ub (install_data): Depend on
3258 `$(srcdir)/eign', not `eign'.
3260 * MANIFEST, INSTALL, NEWS, PROBLEMS: Updated.
3262 * man/groff_out.man, man/roff.man, src/devices/grops/grops.man,
3263 src/devices/xditview/gxditview.man, src/roff/groff/groff.man:
3264 Protect (g)xditview with `\%' to avoid hyphenation.
3265 Other minor formatting.
3267 2004-06-01 Werner LEMBERG <wl@gnu.org>
3269 Integrate gxditview into groff's standard directory hierarchy.
3271 * src/xditview/*: Moved to ...
3272 * src/devices/xditview/*: Here.
3273 Moved DviChar.h and XFontName.h to src/include.
3274 Moved DviChar.c and XFontName.c to new directory src/libs/libxutil.
3275 Split off `xmalloc' into new file src/libs/libxutil/xmalloc.c.
3276 Moved xtotroff.c to new directory src/utils/xtotroff.
3277 Provide proper Makefile.sub files (reusing the stuff from
3279 DESC renamed to DESC.in.
3280 Removed GXDitview-ad.h, INSTALL, Imakefile.in.
3281 Converted everything from K&R to ANSI C.
3282 Decorated with const where appropriate.
3283 Cast string constants with `String' and `char *' where appropriate.
3284 Made it compile with C++ (used as a C compiler).
3285 Removed other minor compiler warnings.
3287 * src/devices/xditview/device.c: Include config.h, string.h, and
3289 Don't declare `exit', `strtok', `strchr', and `getenv'.
3292 * src/devices/xditview/font.c: Don't declare `XParseFontName' and
3295 * src/devices/xditview/xditview.c: Include config.h.
3296 Include stdio.h earlier.
3297 Protect declaration of `popen' and `pclose' with
3298 NEED_DECLARATION_POPEN and NEED_DECLARATION_PCLOSE.
3299 Replace `caddr_t' with `XtPointer'.
3300 (MakePromptFunc): New typedef.
3301 (DoPrint): Use RETSIGTYPE.
3302 (promptfunction): Change type to MakePromptFunc.
3303 (MakePrompt): Use MakePromptFunc for third argument.
3306 * src/devices/xditview/ad2c: Add casts to `String'.
3308 * src/include/XFontName.h (XFontNameString): Don't use array
3310 Add prototypes for `XParseFontName', `XFormatFontName',
3311 `XCompareFontName', and `XCopyFontName'.
3313 * src/include/Makefile.sub (HDRS): Add `DviChar.h' and
3316 * src/utils/xtotroff/xtotroff.c: Include getopt.h.
3317 Don't declare `XParseFontName' and `XFormatFontName'.
3319 (main): Remove `optind' and `optarg'.
3321 * Makefile.in (XDEVDIRS, XPROGDIRS, XLIBDIRS): New variables
3322 (to select programs which need X).
3323 Make XDEVIDIRS depend on `FORCE'.
3324 (X_CFLAGS, X_LIBS, X_EXTRA_LIBS, X_PRE_LIBS): New variables (for
3326 (MDEFINES): Updated.
3327 (LIBDIRS): Use XLIBDIRS.
3328 (CPROGDIRS): Use XPROGDIRS.
3329 (DEVDIRS): Remove font directories for gxditview.
3330 (ALLDIRS, DISTDIRS): Add XDEVDIRS.
3331 (EXTRADIRS): Remove src/xditview.
3333 * Makefile.sub (DISCLEANFILES): Updated.
3335 * Makefile.comm (LIBXUTIL): New variable.
3336 (.cpp.o, .cpp.obj): Handle EXTRA_CCFLAGS.
3337 (.c.o, .c.obj, .y.o): Handle EXTRA_CFLAGS.
3339 * Makefile.cpg, Makefile.ccpg ($PROG): Handle EXTRA_LDFLAGS.
3341 * aclocal.m4 (GROFF_X11): New function.
3343 * configure.ac: Call GROFF_X11.
3344 Don't create src/xditview/Imakefile.
3345 Don't emit notice how to build gxditview.
3347 * configure: Regenerated.
3349 * test-groff.in (GROFF_BIN_PATH, XENVIRONMENT): Updated.
3351 2004-05-28 Akihiro Sagawa <sagawa@sohgoh.net>
3353 * Makefile.in (CPPFLAGS): Define.
3354 (MDEFINES): Add CPPFLAGS.
3356 2004-05-27 Werner LEMBERG <wl@gnu.org>
3358 * arch/misc/Makefile.sub (shdeps.sed): Use $(srcdir).
3360 2004-05-26 Niklas Edmundsson <nikke@acc.umu.se>
3362 Fix problems with `friend name injections'.
3364 * src/preproc/eqn/box.h (make_mark_box, make_lineup_box,
3365 make_script_box), src/roff/troff/div.h (end_diversions),
3366 src/roff/troff/env.h (title), input.cpp (process_input_stack): Undo
3369 2004-05-25 Bernd Warken <bwarken@mayn.de>
3371 * src/preproc/pic/pic.man, doc/pic.ms: Add example for `command'.
3373 2004-05-25 Werner LEMBERG <wl@gnu.org>
3375 * src/libs/libgroff/cset.cpp, src/libs/libgroff/lf.cpp,
3376 src/libs/libgroff/color.cpp: Include lib.h.
3378 2004-05-25 Paul Eggert <eggert@cs.ucla.edu>
3380 * PROBLEMS: Update documentation for problems with Sun C++ 5.0
3381 through Forte 6u1, and for how to get GNU make on Solaris.
3383 2004-05-24 Werner LEMBERG <wl@gnu.org>
3385 * PROBLEMS: Document problems with gcc 3.4.0 on Sun. Reported
3388 2004-05-15 Keith Marshall <keith.d.marshall@ntlworld.com>
3390 * arch/misc/Makefile.sub (shdeps.sed): Don't use `$<' in explicit
3393 2004-05-14 Werner LEMBERG <wl@gnu.org>
3395 * REVISION: Set to 2.
3397 * aclocal.m4 (GROFF_STDINT_H): Removed.
3398 (GROFF_INTTYPES_H): Define HAVE_CC_INTTYPES_H.
3400 * configure.ac: Updated.
3401 * configure, src/include/config.hin: Regenerated.
3403 * src/libs/libgroff/tmpname.cpp: Don't include stdint.h but
3404 inttypes.h conditionally.
3406 2004-05-13 Werner LEMBERG <wl@gnu.org>
3408 Version 1.19.1 released
3409 =======================
3411 2004-05-10 Stephen Gildea <http://www.gildea.com/stephen>
3413 * src/preproc/refer/label.y (same_author_last_name,
3414 same_author_name): Handle empty sort keys.
3416 2004-05-10 Werner LEMBERG <wl@gnu.org>
3418 * NEWS, README, TODO, PROJECTS, PROBLEMS, MANIFEST, doc/webpage.ms,
3421 * tmac/doc-syms (doc-str-Lb-libposix, doc-str-Lb-libpthread,
3422 doc-str-Lb-librt): Reset font.
3423 (Lb): Rename `doc-str-Lb' to `doc-str-Lb1'.
3424 Provide `doc-str-Lb' to reset font.
3425 * tmac/groff_mdoc.man: Updated.
3427 2004-05-08 Jan Schaumann <jschauma@netmeister.org>
3429 * src/preproc/html/pre-html.cpp (make_message): Make it work for
3430 snprintf versions which don't conform to ANSI C 99 (this is,
3431 counting the string's trailing null byte in the return value).
3433 2004-05-07 Keith Marshall <keith.d.marshall@ntlworld.com>
3435 * src/roff/troff/node.cpp (suppress_node::tprint): Don't expect
3436 that all implementations of sprintf handle null pointers correctly.
3438 2004-05-04 Werner LEMBERG <wl@gnu.org>
3440 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
3441 Document `.U' register.
3443 * src/roff/troff/env.cpp (environment::mark_last_line)
3444 [WIDOW_CONTROL]: Fix scope of `p' for new C++ compilers.
3446 2004-05-04 Larry Kollar <kollar@alltel.net>
3448 New read-only register `.U'; it returns 1 in safer mode and 0
3451 * src/roff/troff/input.cpp (init_input_requests): Implement `.U'
3454 2004-05-03 Werner LEMBERG <wl@gnu.org>
3456 * install-sh, mkinstalldirs: New versions; taken from texinfo CVS.
3458 2004-04-17 Werner LEMBERG <wl@gnu.org>
3460 * src/include/font.h (font): Use `int' for ch_index.
3461 * src/libs/libgroff/font.cpp (font::alloc_ch_index,
3462 font::compact): Updated.
3464 * src/roff/groff/pipeline.c (run_pipeline) [_WIN32]: Fix compiler
3467 * src/roff/troff/div.cpp (begin_page), src/roff/troff/env.cpp
3468 (hyphen_word): Fix compiler warnings.
3469 * src/roff/troff/input.cpp (get_char_for_escape_name): Return
3472 (get_delim_number, get_line_arg): Change second argument type to
3474 (macro_header::copy, token::next, do_define_string,
3475 do_define_character, substring_request, asciify_macro,
3476 unformat_macro, read_size, non_interpreted_node::interpret,
3477 while_request, main: Fix compiler warnings.
3478 (read_color_draw_node): Initialize `col'.
3480 * src/preproc/tbl/table.cpp (horizontal_span, table_entry): Make
3481 `start_col' and `end_col' of type `int'.
3482 (vertical_rule): Make `col' of type `int'.
3484 * src/preproc/grn/hdb.cpp (DBRead): Protect call to getc with check
3487 * src/preproc/refer/label.y (uppercase_array, lowercase_array):
3489 (format_serial): Use them to remove dependency on ASCII.
3491 * src/devices/grops/ps.cpp (ps_printer::define_encoding): Fix
3493 * src/devices/grops/psrm.cpp (resource_manager::supply_resource):
3496 * src/devices/grotty/tty.cpp (tty_font::load_tty_font): Fix
3498 (glyph): Change type of `hpos' to `int'.
3500 * src/devices/lbp/lbp.cpp (strsep): Removed. Unused.
3501 * src/devices/lbp/lbp.h (splinerel): Fix compiler warnings.
3503 * src/utils/tfmtodit.cpp (gf::load): Fix compiler warnings.
3505 * src/utils/pfbtops/pfbtops.c (get_text): Fix compiler warning.
3507 2004-04-16 Werner LEMBERG <wl@gnu.org>
3509 * src/devices/grolbp/lbp.h, src/preproc/grn/gprint.h,
3510 src/preproc/grn/hgraph.cpp, src/preproc/grn/hpoint.cpp,
3511 src/preproc/html/pushback.cpp, src/preproc/html/pushback.h: Use
3512 `double' instead of `float' everywhere.
3513 * src/preproc/grn/main.cpp: Use `double' instead of `float'
3515 (main): Add return value.
3516 * src/preproc/grn/hdb.cpp: Use `double' instead of `float'
3518 Update all user functions.
3520 * src/include/search.h, src/include/ptable.h, src/include/printer.h,
3521 src/preproc/eqn/box.h, src/preproc/pic/object.h,
3522 src/preproc/refer/refer.h, src/preproc/tbl/table.h,
3523 src/preproc/tbl/table.cpp, src/roff/troff/env.h,
3524 src/roff/troff/div.h, src/roff/troff/token.h, src/roff/troff/node.h,
3525 src/roff/troff/input.cpp, src/roff/troff/request.h,
3526 src/roff/troff/node.cpp: Don't mix `struct' and `class' in forward
3529 * src/utils/indxbib/signal.c: Include stdlib.h.
3531 2004-04-14 Keith Marshall <keith.d.marshall@ntlworld.com>
3533 * tmac/s.tmac (@init, RP): Allow initialization of the PO register
3534 before the first page.
3536 2004-04-14 Thomas Klausner <wiz@netbsd.org>
3538 * tmac/doc-common (doc-volume-as-*): Use lowercase names.
3539 (doc-operating-system-*): Updated.
3540 * tmac/doc-syms (doc-str-St-*): Various small fixes.
3541 (doc-str-Lb-*): Add more library names.
3543 2004-04-10 Art Haas <ahaas@airmail.net>
3545 * src/utils/hpftodit/hpuni.cpp (hp_msl_to_unicode_list): Don't
3548 2004-04-09 Art Haas <ahaas@airmail.net>
3550 * src/utils/tfmtodit.cpp (lig_chars): Don't use anonymous type.
3552 2004-04-09 Keith Marshall <keith.d.marshall@ntlworld.com>
3554 * arch/misc/shdeps.sh: Generate better comment for sed script.
3556 2004-04-08 Art Haas <ahaas@airmail.net>
3558 * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list),
3559 src/libs/libgroff/uniglyph.cpp (unicode_to_glyph_list),
3560 src/libs/libgroff/uniuni.cpp (unicode_decompose_list),
3561 src/preproc/eqn/box.cpp (param_table), src/preproc/grn/hgraph.cpp
3562 (polyfill), src/preproc/grn/main.cpp (polyfill),
3563 src/preproc/refer/command.cpp (command_table),
3564 src/utils/tfmtodit.cpp (lig_table): Don't use anonymous types (which
3565 gcc 3.5 doesn't like).
3567 2004-04-08 Werner LEMBERG <wl@gnu.org>
3569 Removing many compiler warnings. groff should now compile with
3570 a C++ compiler used for C files also. [Simple variable renamings
3571 to avoid shadowing aren't logged in detail.]
3573 * src/devices/grodvi/dvi.cpp: Some local variable renamings.
3574 (draw_dvi_printer::draw) ['c']: Enclose in block.
3576 * src/devices/grohtml/post-html.cpp: Some local variable renamings.
3577 (page::add_line): Fix typos.
3578 * src/devices/grohtml/html-text.cpp: Some local variable renamings.
3580 * src/devices/grolbp/lbp.cpp: Don't define _GNU_SOURCE.
3581 Some local variable renamings.
3582 * src/devices/grolbp/lbp.h: Some local variable renamings.
3584 * src/devices/grolj4/lj4.cpp, src/devices/grotty/tty.cpp: Some local
3587 * src/libs/libbib/index.cpp (index_search_item_iterator::get_tag):
3588 Remove redundant local variable declaration.
3589 * src/libs/libbib/map.c (mapread, unmap): Don't use K&R style.
3590 Don't use `caddr_t' but `void *'.
3591 Enclose functions with `extern "C"' for C++.
3593 * src/libs/libdriver/input.cpp (remember_filename,
3594 remember_source_filename): Use cast for string constant.
3596 * src/libs/libgroff/font.cpp, src/libs/libgroff/fontfile.cpp,
3597 src/libs/libgroff/nametoindex.cpp, src/libs/libgroff/paper.cpp,
3598 src/libs/libgroff/geometry.cpp: Some local variable renamings.
3599 * src/libs/libgroff/iftoa.c, src/libs/libgroff/itoa.c: Don't use K&R
3601 Enclose functions with `extern "C"' for C++.
3602 * src/libs/libgroff/quotearg.c (TRUE,FALSE): Define as macros.
3603 (needs_quoting): Return `int'.
3604 (quote_arg): Add proper casts to malloc and realloc.
3605 * src/libs/libgroff/spawnvp.c: Compile code only for MS-DOS and
3606 various MS Windows environments.
3607 (spawnvp_wrapper): Add proper cast to malloc.
3609 * src/preproc/eqn/box.h: Remove redundant declarations of
3610 `make_script_box', `make_mark_box' and `make_lineup_box'.
3611 * src/preproc/eqn/eqn.y: Remove redundant declaration of `strsave'.
3612 * src/preproc/eqn/script.cpp, src/preproc/eqn/pile.cpp: Some local
3615 * src/preproc/grn/hpoint.cpp: Some local variable renamings.
3616 * src/preproc/grn/hgraph.cpp: Some local variable renamings.
3617 (dx, dy): Renamed functions to...
3618 (deltax, deltay): This.
3619 * src/preproc/grn/main.cpp: Some local variable renamings.
3620 (deffont): Add `const'.
3621 (initpic, conv): Use cast for string constant.
3623 * src/preproc/html/pre-html.cpp: Some local variable renamings.
3624 (makeFileName, alterDeviceTo, addZ): Use cast for string constant.
3625 (char_buffer::run_output_filter): Second argument is unused.
3626 * src/preproc/html/pushback.cpp: Some local variable renamings.
3628 * src/preproc/pic/pic.y: Remove redundant declaration of `do_copy'.
3629 * src/preproc/pic/object.cpp: Some local variable renamings.
3631 * src/preproc/refer/label.y (lookup_label): Remove redundant
3632 declaration of local variable.
3634 * src/preproc/soelim.cpp: Remove redundant declaration of
3635 `interpret_lf_args'.
3637 * src/preproc/tbl/main.cpp: Some local variable renamings.
3639 * src/roff/groff/groff.cpp (main): Use cast for string constant.
3640 * src/roff/groff/pipeline.c: Enclose declarations of `error',
3641 `c_fatal', and `i_to_a' with `extern "C"' for C++.
3642 Don't use C++-style comments.
3644 * src/roff/troff/env.h: Remove redundant declaration of `title'.
3645 * src/roff/troff/node.h, src/roff/troff/env.cpp,
3646 src/roff/troff/div.cpp, src/roff/troff/node.cpp: Some local variable
3648 * src/roff/troff/div.h: Remove redundant declaration of
3650 * src/roff/troff/troff.h: Remove redundant declaration of
3652 * src/roff/troff/input.cpp: Remove redundant declaration of
3653 `handle_first_page_transition' and `process_input_stack'.
3655 * src/utils/hpftodit.cpp: Some local variable renamings.
3657 * src/utils/indxbib/signal.c: Enclose functions with `extern "C"'
3659 Don't define RETSIGTYPE.
3660 * src/utils/indxbib/indxbib.cpp: Some local variable renamings.
3662 * src/utils/pfbtops/pfbtops.cpp: Don't use K&R style.
3663 (error): Use `const' in argument.
3664 (main): Remove redundant declaration of `optind'.
3665 Move declaration of `Version_string' to top-level.
3667 * PROBLEMS: Document difficulties compiling signal.c if a C++
3668 compiler is used for C.
3670 2004-04-07 Werner LEMBERG <wl@gnu.org>
3672 * Makefile.sub (DISTCLEANFILES): Add `test-groff'.
3674 2004-04-06 Keith Marshall <keith.d.marshall@ntlworld.com>
3676 Make scripts like nroff.sh and neqn.sh portable across various
3677 (Unix-like) shell implementations from Cygwin, MSYS, etc., which use
3678 non-POSIX path separators. The idea is to extend those scripts to
3679 decide at run-time (of the script) which path separator to use.
3681 * arch/misc/Makefile.sub: New file.
3682 * arch/misc/shdeps.sh: New file, generating OS dependency fixups.
3683 This script handles @GROFF_BIN_PATH_SETUP@, replacing it with
3684 a proper definition of the variable `GROFF_RUNTIME'.
3686 * Makefile.in (SH_DEPS_SED_SCRIPT): New variable.
3687 (MDEFINES): Add SH_DEPS_SED_SCRIPT.
3688 (PROGDEPDIRS): New variable.
3690 (PROGDIRS): Add PROGDEPDIRS.
3692 * src/preproc/eqn/Makefile.sub (neqn): Call SH_DEPS_SED_SCRIPT.
3693 Don't substitute @SEP@ and @BINDIR@.
3694 * src/preproc/eqn/neqn.sh: Use @GROFF_BIN_PATH_SETUP@.
3695 (PATH): Use GROFF_RUNTIME.
3697 * src/roff/nroff/Makefile.sub (nroff): Call SH_DEPS_SED_SCRIPT.
3698 Don't substitute @SEP@ and @BINDIR@.
3699 * src/roff/nroff/nroff.sh: Use @GROFF_BIN_PATH_SETUP@.
3700 (PATH): Use GROFF_RUNTIME.
3702 2004-04-05 Keith Marshall <keith.d.marshall@ntlworld.com>
3704 * src/roff/nroff/nroff.sh: Implement work-around for sh.exe from
3705 Cygwin which doesn't handle stderr correctly.
3707 2004-03-08 Werner LEMBERG <wl@gnu.org>
3709 * Makefile.comm (install_dev, uninstall_dev): Protect `for' loops
3710 against empty argument. Problem reported by <cgd@broadcom.com>.
3712 2004-03-05 Keith Marshall <keith.d.marshall@ntlworld.com>
3714 * Makefile.in (SEP): Replaced with...
3715 (RT_SEP, SH_SEP): Separators for the target platform's native path
3716 separator and the build environment, respectively.
3717 (fontpath, tmacpath): Use RT_SEP.
3718 (MDEFINES): Updated.
3720 * contrib/mom/Makefile.sub (GROFF_BIN_PATH): Use SH_SEP.
3721 * doc/Makefile.sub (GROFF_BIN_PATH): Use SH_SEP.
3722 * src/preproc/eqn/Makefile.sub (neqn): Use SH_SEP.
3723 * src/roff/nroff/Makefile.sub (nroff): Use SH_SEP.
3725 2004-03-05 Werner LEMBERG <wl@gnu.org>
3727 * fonts/devlj4/Makefile.sub (LJ4RES): Set to 1200. This helps to
3728 reduce alignment problems with newer printers which use built-in
3729 TrueType fonts (instead of the older Intellifonts). The ideal
3730 solution is to provide a second set of groff metric files, but this
3731 is extremely time-consuming to produce, given that HP's metric
3732 files are very rudimentary.
3734 2004-03-01 Werner LEMBERG <wl@gnu.org>
3736 * src/devices/grolj4/lj4.cpp (main): Fix argument of getopt_long.
3737 s/operand/argument/ in error message.
3739 2004-03-01 Keith Marshall <keith.d.marshall@ntlworld.com>
3741 * src/roff/groff/groff.cpp (main): Don't allow option -o if -Thtml
3744 2004-03-01 Antti Kantee <pooka@netbsd.org>
3746 * tmac/s.tmac (XE): Fix error message.
3748 2004-02-27 Jeff Conrad <jeff_conrad@msn.com>
3750 * src/include/nonposix.h (write, dup, dup2, close) [_MSC_VER]:
3753 * src/roff/groff/pipeline.c: Declare strcasecmp.
3754 (run_pipeline) [_WIN32]: Use function name variants which don't
3756 Fix stream handling.
3758 2004-02-27 Keith Marshall <keith.d.marshall@ntlworld.com>
3760 * src/include/nonposix.h: Fix declaration of `system_shell_name'.
3761 Declare `spawnvp_wrapper' and macro definitions of spawnvp only
3762 for platforms which use the native Win32 runtime libraries.
3763 (FLUSH_INPUT_PIPE) [_UWIN]: Provide non-empty version.
3765 * src/libs/libgroff/quotearg.c (QUOTE_ARG_MALLOC_ERROR,
3766 QUOTE_ARG_REALLOC_ERROR): Fix string.
3768 * src/preproc/html/pre-html.cpp: Remove declaration of
3770 Don't use __MINGW32__.
3771 s/DEBUG_FILE/DEBUG_FILE_DIR/.
3772 (DEBUG_TEXT, DEBUG_NAME, DEBUG_FILE) [DEBUGGING]: New macros.
3773 (OUTPUT_STREAM, PS_OUTPUT_STREAM, REGION_OUTPUT_STREAM): New macros.
3774 (char_buffer::run_output_filter) [MAY_FORK_CHILD_PROCESS]: Fix
3775 calls to `set_redirection' and `WAIT'.
3776 [MAY_SPAWN_ASYNCHRONOUS_CHILD]: Remove unused variable `i' and `j'.
3777 Fix calls to `set_redirection' and `save_and_redirect'.
3778 (char_buffer::do_html, char_buffer::do_image) [DEBUGGING]: Fix calls
3779 to `set_redirection' and `save_and_redirect'.
3780 (usage): Fix message.
3781 (makeTempFiles, main): Use `DEBUG_FILE'.
3783 2004-02-21 Werner LEMBERG <wl@gnu.org>
3785 * src/roff/troff/troff.h (WARN_TOTAL): Fix value.
3787 2004-02-21 Keith Marshall <keith.d.marshall@ntlworld.com>
3789 * src/libs/libgroff/quotearg.c: New file, providing proper argument
3790 quoting for MSVC's spawn* and exec* functions.
3791 * src/libs/libgroff/spawnvp.c: New file, providing a wrapper around
3792 spawnvp with proper quoting for MSVC.
3794 * src/libs/libgroff/assert.cpp (program_name),
3795 src/libs/libgroff/new.cpp (program_name): Declare as `extern "C"'.
3796 * src/libs/libgroff/Makefile.sub (OBJS, CSRCS): Updated.
3798 * src/roff/troff/input.cpp (program_name): Declare as `extern "C"'.
3800 * src/include/error.h (program_name): Declare as `extern "C"'.
3801 * src/include/nonposix.h [__MSDOS__ ...]: Handle spawnvp.
3803 2004-02-21 Jeff Conrad <jeff_conrad@msn.com>
3805 * src/preproc/html/pre-html.cpp [__CYGWIN__ ...]: Declare
3807 [MAY_SPAWN_ASYNCHRONOUS_CHILD]: Declare i and j.
3809 2004-02-20 Jeff Conrad <jeff_conrad@msn.com>
3811 * src/roff/groff/pipeline.c (cmd) [__MSDOS__ || ...]: New global
3813 (sbasename) [__MSDOS__ || ...]: New function.
3814 (system_shell_name) [__MSDOS__ || ...]: Use a different, more
3816 (system_shell_dash_c, is_system_shell) [__MSDOS__ || ...]: Updated.
3817 (run_pipeline) [_WIN32]: Use _XXX variants for some macros instead
3819 Use STDOUT_FILENO instead of hardcoded file handle.
3820 (signal_catcher) [__MSDOS__]: Moved to non-_WIN32 section.
3822 2004-02-19 Werner LEMBERG <wl@gnu.org>
3824 * src/roff/troff/div.cpp: Include nonposix.h after troff.h to
3825 avoid warnings w.r.t. redefinition of P_tmpdir for some compilers.
3827 2004-02-18 Werner LEMBERG <wl@gnu.org>
3829 * font/devlj4/Makefile.sub (DEVFILES): Updated to contain all
3830 new font and mapping files.
3832 2004-02-18 Jeff Conrad <jeff_conrad@msn.com>
3833 Keith Marshall <keith.d.marshall@ntlworld.com>
3835 * src/include/nonposix.h (FLUSH_INPUT_PIPE): New macro to empty
3836 an input pipe. This is needed for the MSVC compiler to make troff's
3839 * src/roff/troff/div.cpp: Include nonposix.h.
3840 (cleanup_and_exit): Call FLUSH_INPUT_PIPE.
3842 2004-02-17 Werner LEMBERG <wl@gnu.org>
3844 * font/devlj4/generate/special.awk: New script.
3845 * font/devlj4/generate/Makefile (S): Use special.awk.
3846 * font/devlj4/*: Regenerated, including the following new files:
3847 Arial (AR, AB, AI, ABI), Times New Roman (TNRR, TNRB, TNRI, TNRBI),
3848 MS Symbol (SYMBOL), Wingdings (WINGDINGS).
3849 * NEWS: Document new lj4 fonts and revised hpftodit.
3851 2004-02-17 Paco Andrés Verdú <pandres@dragonet.es>
3853 * src/devices/grolbp/lbp.h (vmdvarc): Fix formatting string.
3855 2004-01-25 Werner LEMBERG <wl@gnu.org>
3857 * src/libs/libgroff/progname.cpp: Replaced with...
3858 * src/libs/libgroff/progname.c: New file.
3859 * src/libs/libgroff/Makefile.sub: Updated accordingly.
3861 2004-01-17 Werner LEMBERG <wl@gnu.org>
3863 * font/devlj4/generate/Makefile (SYMBOL): Use 9nb28703.tfm.
3865 2004-01-16 Jeff Conrad <jeff_conrad@msn.com>
3867 * font/devlj4/generate/wingdings.map,
3868 font/devlj4/generate/symbol.map: Include unnamed glyphs.
3869 Use groff glyph names where possible.
3870 * src/devices/grolj4/lj4_font.man: Minor updates.
3872 2004-01-13 Werner LEMBERG <wl@gnu.org>
3874 * tmac/www.tmac (DC): Handle TTY devices.
3876 * doc/webpage.ms: Document viewCVS from ffii.org.
3877 * NEWS, README: Updated.
3879 * src/roff/groff/groff.man: Mention lj4_font man page.
3881 * font/devlj4/generate/Makefile (SYMBOLMAP, WINGDINGSMAP): New
3883 (FONTS): Add SYMBOL and WINGDINGS.
3884 (SYMBOL, WINGDINGS): New targets.
3886 2004-01-13 Jeff Conrad <jeff_conrad@msn.com>
3888 * src/devices/grolj4/lj4_font.man: New man page.
3889 * src/devices/grolj4/Makefile.sub (MAN5): New variable.
3890 * src/devices/grolj4.man: Mention lj4_font man page.
3892 * src/utils/hpftodit/hpftodit.cpp (read_map): Handle line comments.
3893 * src/utils/hpftodit/hpftodit.man: Document it.
3895 Remove details about fonts (which are now in lj4_font.man).
3897 * font/devlj4/generate/symbol.map,
3898 font/devlj4/generate/wingdings.map: New files.
3900 2004-01-12 Werner LEMBERG <wl@gnu.org>
3902 * README: Mention ffii's viewcvs access.
3904 2004-01-09 Werner LEMBERG <wl@gnu.org>
3906 * font/devlj4/generate/special.map: Map MSL 228 to U+221F.
3908 2004-01-09 Jeff Conrad <jeff_conrad@msn.com>
3910 Revert most of the change from 2004-01-03 to better control used
3913 * src/utils/hpftodit/hpftodit.cpp (symbol_set): New structure.
3914 (text_symbol_sets, special_symbol_sets): New arrays.
3915 (symbol_set_table): New global variable.
3916 (read_symbol_sets): Use search order given in the text_symbol_sets
3917 and special_symbol_sets arrays. If command line flag -a is not
3918 given, search both arrays.
3919 (output_charset): Require x_height_tag only for command line flag -i.
3921 2004-01-06 Werner LEMBERG <wl@gnu.org>
3923 Implement string-valued registers \n[.m] and \n[.M] to return the
3924 name of the current drawing and background color, respectively.
3926 * src/roff/troff/symbol.h: Moved to...
3927 * src/include/symbol.h: Here.
3928 Small fixes to make it work outside of the `troff' directory.
3929 * src/roff/troff/symbol.cpp: Moved to...
3930 * src/libs/libgroff/symbol.cpp: Here.
3931 Small fixes to make it work outside of the `troff' directory.
3933 * src/include/Makefile.sub (HDRS), src/libs/libgroff/Makefile.sub
3934 (OBJS, CCSRCS), src/roff/troff/Makefile.sub (OBJS, CCSRCS, HDRS):
3937 * src/include/color.h: Include symbol.h.
3938 (color): Add new field `nm'.
3939 * src/libs/libgroff/color.cpp (color::color): Updated.
3941 * src/roff/troff/dictionary.cpp, src/roff/troff/div.cpp,
3942 src/roff/troff/node.cpp, src/roff/troff/number.cpp,
3943 src/roff/troff/reg.cpp: Don't include symbol.h.
3945 * src/roff/troff/env.cpp: Don't include symbol.h.
3946 (environment::get_glyph_color_string,
3947 environment_get_fill_color_string): New member functions.
3948 (init_env_requests): Handle `.m' and `.M' registers.
3949 * src/roff/troff/input.cpp: Don't include symbol.h.
3950 (default_symbol): Moved to symbol.cpp/symbol.h.
3951 (do_glyph_color, do_fill_color, define_color): Pass symbol name
3952 to color constructor.
3953 * src/roff/troff/env.h: Updated.
3955 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
3956 Document new registers.
3958 2004-01-05 Werner LEMBERG <wl@gnu.org>
3960 * src/roff/troff/node.cpp (space_node::get_breakpoints,
3961 space_node::nbreaks): Protect against zero `next' field.
3963 2004-01-03 Jeff Conrad <jeff_conrad@msn.com>
3965 In hpftodit, use the symbol sets offered in the TFM.
3967 * src/utils/hpftodit/hpftodit.cpp (NO_GLYPH): New constant.
3968 (symbol_set, text_symbol_sets, special_symbol_sets,
3969 symbol_set_table): Removed.
3970 (get_printcode): Removed.
3971 (read_symbol_sets): Initialize `symbol_set' field with
3973 Simplify code to just use the `kind' value.
3974 (output_charset): Improve output formatting.
3975 (dump_symbols): Simplified.
3977 2004-01-02 Werner LEMBERG <wl@gnu.org>
3979 * font/devlj4/generate/text.map: Add more MSL numbers.
3981 2004-01-02 Jeff Conrad <jeff_conrad@msn.com>
3983 * src/utils/hpftodit/hpftodit.cpp (is_decomposed): New macro.
3984 (text_symbol_sets): Add more symbol sets.
3985 (debug_flag): New static variable (moved from `main').
3986 (get_printcode, show_symset): New functions.
3987 (main): Remove `debug_flag'.
3988 (output_charset): Use `show_symset'.
3989 (dump_symbols): Use `show_symset'.
3990 Print symsets for all glyphs.
3991 (read_map): Actually call `unicode_to_ucode_make' but this time
3994 2004-01-01 Werner LEMBERG <wl@gnu.org>
3996 * font/devlj4/generate/text.map, font/devlj4/generate/special.map:
3997 Fix placement of comments.
3999 2004-01-01 Jeff Conrad <jeff_conrad@msn.com>
4001 * src/utils/hpftodit/hpftodit.cpp (main): Read map file also if
4002 option `-d' is given.
4003 (output_charset): Improve warning messages to give more information.
4004 (dump_symbols): Make information more precise.
4006 (read_map): Don't call unicode_to_ucode_name; the glyph names must
4007 appear as-is and shouldn't be decomposed.
4009 2003-12-31 Werner LEMBERG <wl@gnu.org>
4011 * src/utils/hpftodit/hpftodit.cpp (dump_tags): Handle posture_tag.
4012 * font/devlj4/generate/Makefile (IFLAG): Updated to new units.
4013 (FONTS): Add TrueType font families Arial and Times New Roman.
4014 (TNRR, TNRB, TNRI, TNRBI, AR, AB, AI, ABI): New targets.
4015 * font/devlj4/generate/text.map: Fix Unicode values of `fi' and
4018 2003-12-31 Jeff Conrad <jeff_conrad@msn.com>
4020 * test-groff.in (SEP): Quote value.
4021 * src/roff/troff/node.cpp (suppress_node::tprint): Change type of
4022 `tem' to `char*' to avoid deallocation of a pointer to a constant
4023 object which some compilers don't like.
4025 2003-12-31 Werner LEMBERG <wl@gnu.org>
4027 * font/devlj4/generate (text.map, special.map): Rewritten to work
4028 with the new hpftodit version.
4030 2003-12-30 Jeff Conrad <jeff_conrad@msn.com>
4032 * src/utils/hpftodit/hpftodit.cpp (output_charset): Emit HP symbol
4033 set and 8bit character code for all glyphs also.
4035 2003-12-30 Werner LEMBERG <wl@gnu.org>
4037 * src/libs/libgroff/strcasecmp.c: Updated from gnulib.
4039 2003-12-29 Werner LEMBERG <wl@gnu.org>
4041 More fixes for MSVC compiler.
4043 * doc/Makefile.sub, contrib/mom/Makefile.sub (GROFF_BIN_PATH): Use
4046 * src/include/nonposix.h (STDIN_FILENO, STDOUT_FILENO,
4047 STDERR_FILENO) [_MSC_VER]: Define conditionally.
4048 (getpid) [_MSC_VER]: Remove.
4049 Include direct.h and process.h conditionally.
4051 * src/roff/troff/node.cpp (suppress_node::tprint): Don't use
4052 parentheses for a_delete.
4054 * src/utils/lookbib/lookbib.cpp: Include nonposix.h.
4056 * test-groff: Replaced with...
4057 * test-groff.in: This new template to handle path separator
4060 * configure.ac: Check for direct.h and process.h.
4061 Generate test-groff script.
4062 * configure, src/include/config.hin: Regenerated.
4064 2003-12-28 Werner LEMBERG <wl@gnu.org>
4066 Add integral extension glyph.
4067 Add new option `-x' to afmtodit to suppress use of built-in AGL.
4069 * font/devhtml/R.proto, font/devutf8/R.proto: Add `u23AE'.
4071 * font/devps/generate/textmap: Provide entry for `integralex' to
4072 override (old) PUA value of the AGL.
4073 * font/devps/generate/Makefile (SS): Add afmtodit option `-x'.
4074 * font/devps/*: Regenerated.
4076 * src/utils/afmtodit/afmtodit.pl: Add option `-x'.
4077 * src/utils/afmtodit/afmtodit.man, NEWS: Updated.
4079 2003-12-27 Werner LEMBERG <wl@gnu.org>
4081 Add forgotten `coproduct' symbol (already available for DVI).
4083 * font/devhtml/R.proto, font/devps/generate/textmap,
4084 font/devps/symbolmap, font/devutf8/R.proto, man/groff_char.man,
4085 src/libs/libgroff/uniglyph.cc, src/libs/libgroff/glyphuni.cpp: Add
4086 U+2210 (\[coproduct]).
4088 2003-12-26 Jeff Conrad <jeff_conrad@msn.com>
4090 hpftodit has been extended to handle TrueType metric files and
4091 more glyphs. See hpftodit.man for more details.
4093 * src/utils/hpftodit/hpftodit.cpp: Include stdio.h, string.h,
4094 ctype.h, and unicode.h.
4095 s/msl/charcode/ everywhere since we now handle Unicode values also.
4096 (equal, NO, YES, MSL, SYMSET, UNICODE, UNICODE): New macros.
4097 Use it where appropriate.
4098 (MULTIPLIER): Replaced with...
4099 (multiplier): New global static variable.
4101 (tag_type): Add more TFM tags.
4102 (tag_name): New array.
4103 (ENUM_TYPE, FLOAT_TYPE): Removed.
4104 (BYTE_TYPE): New value assigned.
4105 (ASCII_TYPE, RATIONAL_TYPE): New enumeration values.
4106 (text_symbol_sets, special_symbol_sets): Extended to cover more
4108 (check_type): Add return value.
4109 (check_units): Add parameters to get ppi and upem values.
4110 Handle TrueType TFM data.
4111 (output_font_name): New function.
4112 (output_charset): Add parameter to handle TFM type.
4113 Handle TrueType TFMs also.
4114 (em_fract): New macro.
4115 (dump_tags): Be much more verbose and handle more tags.
4116 (dump_ascii, dump_symbol_sets, dump_symbols): New functions.
4117 (hp_msl_to_ucode_name, unicode_to_ucode_name, is_uname): New
4119 (read_map): Add parameter to handle TFM type.
4120 Handle both MSL and Unicode mappings.
4121 (main): Add two new command line options `-a' and `-q'.
4122 Updated to make use of new functions.
4125 * src/utils/hpftodit/hpuni.cpp: New file.
4127 * src/utils/hpftodit/Makefile.sub, src/utils/hpftodit/hpftodit.man:
4130 2003-12-25 Werner LEMBERG <wl@gnu.org>
4132 * src/include/nonposix.h (read) [_MSC_VER]: Define.
4134 2003-12-24 Werner LEMBERG <wl@gnu.org>
4136 * src/utils/afmtodit/afmtodit.man: Some reformulations as suggested
4137 by Michail Vidiassov <master@iaas.msu.ru>.
4139 2003-12-20 Werner LEMBERG <wl@gnu.org>
4141 * font/devhtml/R.proto: Add u00{47,67}_0306, u00{53,73}_0327,
4143 Add missing latin-2 glyphs.
4144 * font/devutf8/R.proto: Add missing latin-2 glyphs.
4146 * tmac/troffrc: Load `composite.tmac' earlier.
4148 * tmac/dvi.tmac, tmac/ps.tmac, tmac/lbp.tmac: Add u00{47,67}_0306,
4149 u00{53,73}_0327, and u0049_0307.
4150 * tmac/X.tmac: Add u00{47,67}_0306.
4151 * tmac/tty-char.tmac: Use composite glyph names for readability.
4155 * src/include/unicode.h: Remove `extern' keywords.
4157 2003-12-20 Nilgün Belma Bugüner <nilgun@superonline.com>
4159 * tmac/latin5.tmac: New file.
4161 2003-12-19 Werner LEMBERG <wl@gnu.org>
4163 Add some glyphs needed for Turkish.
4165 * font/devutf8/R.proto: Add u00{47,67}_0306, u00{53,73}_0327,
4168 * tmac/composite.tmac: Add `,' as a synonym for `ac' accent.
4169 * tmac/tty-char.tmac: Add representations for u00{47,67}_0306,
4170 u00{53,73}_0327, and u0049_0307.
4172 2003-12-18 Werner LEMBERG <wl@gnu.org>
4174 * src/devices/grops/ps.cc (ps_output::put_float): Revert change
4176 Remove trailing zeros.
4178 2003-12-17 Werner LEMBERG <wl@gnu.org>
4180 Make \? transparent to end-of-sentence recognition.
4182 * src/roff/troff/input.cc (non_interpreted_node): Add
4183 `ends_sentence' member function.
4185 2003-12-16 Werner LEMBERG <wl@gnu.org>
4187 * doc/groff.texinfo: Document `dt' request correctly.
4188 Other minor typographical improvements.
4190 2003-12-10 Michail Vidiassov <master@iaas.msu.ru>
4192 * src/utils/afmtodit/Makefile.sub (afmtodit): Fix typo.
4194 2003-12-10 Richard Stallman <rms@gnu.org>
4196 * LICENSE: Better wording.
4198 2003-12-09 Werner LEMBERG <wl@gnu.org>
4200 * aclocal.m4 (GROFF_BROKEN_SPOOLER_FLAGS): Set default value to 0.
4201 * configure, NEWS: Updated.
4203 2003-12-08 Werner LEMBERG <wl@gnu.org>
4205 * FDL: Updated to version 1.2 (from www.gnu.org/copyleft).
4207 2003-12-07 Bernd Warken <bwarken@mayn.de>
4211 2003-12-07 Werner LEMBERG <wl@gnu.org>
4213 * INSTALL: Improved.
4215 2003-12-05 Keith Marshall <keith.d.marshall@ntlworld.com>
4217 Use path separator character of target platform for compiled-in
4220 * aclocal.m4 (GROFF_TARGET_PATH_SEPARATOR): New macro.
4221 * configure.ac: Use GROFF_TARGET_PATH_SEPARATOR.
4222 * configure: Regenerated.
4223 * Makefile.in (SEP): Use GROFF_PATH_SEPARATOR.
4225 2003-12-05 Werner LEMBERG <wl@gnu.org>
4227 * src/include/nonposix.h (PATH_SEP_CHAR): New definition.
4228 Replace `PATH_SEP[0]' with `PATH_SEP_CHAR' everywhere.
4230 2003-12-04 Bernd Warken <bwarken@mayn.de>
4232 * LICENSE: New file.
4234 2003-12-03 Werner LEMBERG <wl@gnu.org>
4236 * src/utils/afmtodit/afmtodit.pl: Comment out code which handles
4237 ligatures present in AFM files since groff currently only
4238 understands some standard ligatures and nothing else.
4240 2003-12-03 Jeff Conrad <jeff_conrad@msn.com>
4242 * src/roff/groff/groff.cpp (main): Don't run the spooler if
4245 * src/roff/groff/pipeline.c (run_pipeline) [_WIN32]: Fix error
4248 Don't use Unix wait flags.
4250 2003-12-02 Werner LEMBERG <wl@gnu.org>
4252 * src/roff/troff/glyphuni.cpp, src/roff/troff/unicode.cpp,
4253 src/roff/troff/unicode.h, src/roff/troff/uniglyph.cpp,
4254 src/roff/troff/uniuni.cpp: Moved to...
4255 * src/libs/libgroff/glyphuni.cpp, src/libs/libgroff/unicode.cpp,
4256 src/libs/libgroff/unicode.h, src/libs/libgroff/uniglyph.cpp,
4257 src/libs/libgroff/uniuni.cpp: Here.
4259 * src/include/Makefile.sub.old (HDRS),
4260 src/libs/libgroff/Makefile.sub (OBJS, CCSRCS),
4261 src/roff/troff/Makefile.sub (HDRS, PBJS, CCSRCS): Updated.
4263 2003-12-01 Keith Marshall <keith.d.marshall@ntlworld.com>
4265 * src/preproc/htlp/pre-html.cpp (__tmpfile): Renamed to
4269 2003-12-01 Werner LEMBERG <wl@gnu.org>
4271 * groff.texinfo: Document special behaviour of `.vs 0'.
4272 Improve documentation of `cflags' request.
4275 2003-11-29 Werner LEMBERG <wl@gnu.org>
4277 * font/devlj4/generate/Makefile (CORONET): Use correct TFM.
4278 * font/devlj4/CORONET: Regenerated.
4280 2003-11-24 Werner LEMBERG <wl@gnu.org>
4282 * src/roff/troff/env.cpp (hyphen_trie::read_patterns_file): Fix loop
4283 if processing hyphenation patterns in traditional mode.
4284 Improve error messages.
4286 2003-11-20 Werner LEMBERG <wl@gnu.org>
4288 * src/roff/troff/node.cpp (troff_output_file::put_char_width,
4289 troff_output_file::put_char): Fix type of local variable `c'.
4291 2003-11-19 Werner LEMBERG <wl@gnu.org>
4293 * src/roff/groff/pipeline.c (P): Removed. Updated all function
4295 (i_to_a): Removed. libgroff already provides this function.
4296 (run_pipeline) [_WIN32]: Don't use itoa but i_to_a.
4298 2003-11-18 Keith Marshall <keith.d.marshall@ntlworld.com>
4300 * src/roff/groff/pipeline.c (xstrsignal): Fix usage of
4303 2003-11-17 Werner LEMBERG <wl@gnu.org>
4305 * COPYING: Use correct version.
4307 2003-11-11 Werner LEMBERG <wl@gnu.org>
4309 LynxOS 4.0.0 doesn't declare vfprintf.
4311 * configure.ac: Check for vfprintf.
4312 * configure: Regenerated.
4313 * src/include/lib.h: Handle `NEED_DECLARATION_VFPRINTF'.
4314 * src/include/config.hin: Regenerated.
4316 2003-11-10 Werner LEMBERG <wl@gnu.org>
4318 LynxOS 4.0.0 has snprintf (without declaration) but no vsnprintf.
4320 * configure.ac: Check for vsnprintf.
4321 * configure: Regenerated.
4322 * src/include/lib.h: Handle `NEED_DECLARATION_VSNPRINTF' and
4324 * src/include/config.hin: Regenerated.
4326 2003-11-09 Werner LEMBERG <wl@gnu.org>
4328 * aclocal.m4: Updated syntax to autoconf 2.59.
4329 (GROFF_HTML_PROGRAMS): Use AC_FOREACH.
4330 Don't check for gsos2.
4331 (GROFF_SRCDIR, GROFF_BUILDDIR): Removed. autoconf 2.59 provides
4332 working abs_top_srcdir and abs_top_builddir.
4334 * configure.ac: Updated syntax to autoconf 2.59.
4335 Don't call GROFF_SRCDIR and GROFF_BUILDDIR.
4336 Replace call to AC_DECL_SYS_SIGLIST with call to AC_CHECK_DECLS.
4337 * configure: Regenerated.
4339 * Makefile.in, doc/Makefile.in: s/@top_srcdir@/@abs_top_srcdir@/,
4340 s/@groff_top_builddir@/@abs_top_builddir@/.
4342 * src/roff/groff/pipeline.c (xstrsignal):
4343 s/SYS_SIGLIST_DECLARED/HAVE_DECL_SYS_SIGLIST/.
4345 2003-11-07 Werner LEMBERG <wl@gnu.org>
4347 * src/devices/grodvi/dvi.cpp (draw_dvi_printer::draw) ['a']: Always
4348 make start angle smaller than end angle to circumvent a bug in tpic
4349 handling of some versions of dvipdfm (and dvipdfmx).
4351 2003-10-30 Werner LEMBERG <wl@gnu.org>
4353 * src/devices/grops/grops.man: Improve section on creating EPS.
4355 2003-10-29 Werner LEMBERG <wl@gnu.org>
4357 * contrib/pic2graph/pic2graph.sh: Fix typo (-P-letter ->
4360 2003-10-28 Werner LEMBERG <wl@gnu.org>
4362 * doc/groff.texinfo: Fix documentation of `.if'.
4364 2003-10-27 Michail Vidiassov <master@iaas.msu.ru>
4366 * src/utils/afmtodit/afmtodit.pl: Handle unmapped characters of
4367 the form `uniXXXX' also.
4369 2003-10-27 Werner LEMBERG <wl@gnu.org>
4371 * contrib/eqn2graph/eqn2graph.sh, contrib/grap2graph/grap2graph.sh,
4372 contrib/pic2graph/pic2graph.sh: Implement secure management of
4374 Pass `-P-pletter' to groff to avoid data outside of the converted
4375 area -- some versions of `convert' (for example 5.3.8) don't check
4376 the bounding box of the image but always use a fixed image size
4377 (letter paper format).
4378 * contrib/eqn2graph/eqn2graph.man, contrib/grap2graph/grap2graph.man,
4379 contrib/pic2graph/pic2graph.man: Updated.
4381 * src/roff/groff/groff.man: Document $TMP and $TEMP.
4383 2003-10-26 Werner LEMBERG <wl@gnu.org>
4385 * src/preproc/pic/troff.cpp (troff_output::simple_circle,
4386 troff_output::simple_ellipse, troff_output::simple_arc,
4387 troff_output::simple_line, troff_output::simple_spline,
4388 troff_output::simple_polygon): Insert a space before arguments.
4389 (troff_output::set_fill): Emit `\&' before `\D'Fg...' since the
4390 latter doesn't produce a node, so the following `.sp -1' would do
4392 Don't emit `.sp -1' after \M. This also doesn't produce a token
4393 (and we don't have to care about compatibility mode).
4394 (troff_output::set_color, troff_output::reset_color): Don't emit
4395 `.sp -1' after \M and \m.
4397 * src/roff/troff/input.cpp (old_have_input): New global variable.
4398 (input_stack::get): Handle `old_have_input'.
4399 (process_input_stack) <token::TOKEN_NEWLINE>: Call
4400 `trapping_blank_line' depending on `old_have_input', not
4403 2003-10-20 Keith Marshall <keith.d.marshall@ntlworld.com>
4405 * src/libs/libgroff/tmpfile.cpp [__MSDOS__, _Win32]
4406 (WIN32_TMPDIR_ENVVAR, MSDOS_TMPDIR_ENVVAR): New macros, providing
4407 default directory names for temporary files.
4408 [__MSDOS__, _Win32] (temp_init::temp_init): Use them.
4410 * src/roff/groff/pipeline.c [__MSDOS__]: Include stdlib.h.
4411 [__MSDOS__] (run_pipeline): Honour environment variables.
4412 Don't use `tmpnam' but `tempnam' to work around messy
4415 * README.MinGW: New file.
4417 2003-10-16 Werner LEMBERG <wl@gnu.org>
4419 * src/preproc/html/pre-html.cpp (write_upto_newline): Don't use
4420 `(*t)->next' without testing validity of `*t'.
4421 (usage): Make it more readable.
4423 2003-10-16 Keith Marshall <keith.d.marshall@ntlworld.com>
4425 Make html device run under both MS-DOS and Win32.
4427 * src/preproc/html/pre-html.cpp (MAY_FORK_CHILD_PROCESS,
4428 MAY_SPAWN_ASYNCHRONOUS_CHILD): New macros to control whether
4429 spawn or fork+exec has to be used, and whether parent must sleep
4430 until the child process terminates. Used in
4431 `char_buffer::run_output_filter'.
4432 (copyofstdoutfd): Removed.
4433 (char_buffer): Replace `write_file_html' and `write_file_troff'
4434 member functions with `emit_troff_output' and `run_output_filter'.
4435 (DEVICE_FORMAT, HTML_OUTPUT_FILTER, IMAGE_OUTPUT_FILTER): New
4437 (replaceFd): Replaced with...
4438 (set_redirection): New auxiliary function.
4439 (waitForChild): Replaced with...
4440 (save_and_redirect): New auxiliary function for.
4442 (char_buffer::do_html, char_buffer::do_image): Simplified, using new
4445 2003-10-14 Keith Marshall <keith.d.marshall@ntlworld.com>
4447 * aclocal.m4 (GROFF_SYS_NERR): Check stdlib.h also.
4448 (GROFF_LIBC): New function.
4449 * configure.ac: Call GROFF_LIBC.
4451 * configure: Regenerated.
4453 * src/include/lib.h: Handle __MINGW32__.
4454 * src/include/nonposix.h [_MSC_VER]: Handle __MINGW32__.
4455 Add macro for `pipe'.
4458 * src/roff/groff/pipeline.c (run_pipeline): Handle `no_pipe'
4461 * src/utils/indxbib/signal.c (handle_fatal_signal) [!HAVE_KILL]:
4464 2003-10-13 Werner LEMBERG <wl@gnu.org>
4466 Finally fix change 2003-08-26, based on ideas from Chuck Silvers
4469 * contrib/mom/Makefile.sub: Use a stamp file in the `examples'
4472 2003-10-12 Werner LEMBERG <wl@gnu.org>
4474 * src/roff/groff/groff.cpp (help), src/devices/grops/ps.cpp (usage),
4475 src/roff/troff/input.cc (usage): Updated.
4477 * NEWS, doc/groff.texinfo: Updated.
4479 2003-10-12 Peter Miller <millerp@canb.auug.org.au>
4481 * src/libs/libgroff/searchpath.cpp
4482 (search_path::open_file_cautious): New function which also handles
4483 `-' as stdin and stdout depending on the access mode.
4484 * src/include/searchpath.h (search_path): Updated.
4486 * src/devices/grops/ps.cpp (main): Handle new `-I' switch.
4487 * src/devices/grops/ps.h: Include `searchpath.h'.
4488 * src/devices/grops/psrm.cpp (resource_manager::supply_resource):
4489 Open resource file with `include_search_path.open_file_cautious'.
4490 * src/devices/grops/grops.man: Document new `-I' switch.
4492 * src/devices/grodvi/dvi.cpp (main), src/devices/grolbp/lbp.cpp
4493 (main), src/devices/grolj4/lj4.cpp (main),
4494 src/devices/grotty/tty.cpp (main): Ignore new `-I' switch.
4496 * src/preproc/soelim/soelim.cpp (include_list_length, include_list):
4498 (include_search_path): New global variable.
4499 (include_path_append): Removed.
4500 (main): Use `include_search_path.command_line_dir' to handle `-I'.
4501 (do_file): Simplify, using new
4502 `include_search_path.open_file_cautious'.
4504 * src/roff/groff/groff.cpp (print_commands): Accept file handle as
4506 (main): Pass arguments to `-I' to both troff and devices.
4507 Improve handling of `-V'.
4508 * src/roff/groff/groff.man: Document changes to -I and -V.
4510 * src/roff/troff/input.cpp (include_search_path): New global
4512 (next_file, source, ps_bbox_request, transparent_file,
4513 process_input_file): Use new
4514 `include_search_path.open_file_cautious'.
4515 (main) Handle `-I' switch.
4516 * src/roff/troff/node.cpp (troff_output_file::really_copy_file):
4517 Use new `include_search_path.open_file_cautious'.
4518 * src/roff/troff/node.h: New extern symbol `include_search_path'.
4519 * src/roff/troff/troff.man: Document new `-I' switch.
4521 2003-09-15 Ruslan Ermilov <ru@FreeBSD.org>
4523 Support multiple calls of .Lb in LIBRARY section.
4525 * tmac/doc-common (doc-in-library-section): New register.
4526 (doc-section-library): New string.
4527 (Sh): Set `doc-in-library-section'.
4529 * tmac/doc-syms (Lb): Insert breaks before and after arguments
4530 if in LIBRARY section.
4531 * tmac/doc.tmac (doc-save-global-vars): Updated.
4532 * NEWS, tmac/groff_mdoc.man: Updated.
4534 2003-09-14 Ruslan Ermilov <ru@FreeBSD.org>
4536 * tmac/doc-common (doc-default-operating-system): New variable.
4539 2003-09-08 Werner LEMBERG <wl@gnu.org>
4541 * tmac/doc.tmac (doc-reset-reference): Handle data for `%I' also.
4543 2003-08-31 Werner LEMBERG <wl@gnu.org>
4545 * contrib/mom/Makefile.sub: Fix last change to make it really work.
4546 * Makefile.comm: Use `test ... ||' in favor of `if test ...; then'.
4547 (install_dev, uninstall_dev): Check whether $(DEVSCRIPTS) and
4548 $(DEVFILES) are not empty.
4549 * Makefile.in: Use `test ... ||' in favor of `if test ...; then'.
4551 2003-08-26 Chuck Silvers <chuq@chuq.com>
4553 * contrib/mom/Makefile.sub (prepare_make_examples): Make it work
4554 with parallel runs of `make'.
4556 2003-08-23 Stephen Gildea <http://www.gildea.com/stephen>
4558 * src/preproc/ref/ref.cpp (reference::compute_sort_key): Always
4559 insert SORT_SEP. With certain combinations of sort specifications,
4560 refer sorted entries in the wrong order. In particular, entries
4561 with a missing field should be be sorted before all entries that
4562 have that field, before refer looks to the next field.
4564 2003-08-23 Werner LEMBERG <wl@gnu.org>
4566 * src/utils/pfbtops/Makefile.sub (LINK.c): Define it so that the
4567 g++ linker is used. Reported by Mark J. Reed
4568 <mark.reed@turner.com>.
4570 2003-08-16 Heinz-Jürgen Oertel <hj.oertel@surfeu.de>
4572 Add key character `x' to tbl which makes tbl call a user-defined
4573 macro on a table cell.
4575 * src/preproc/tbl/table.h (entry_modifier): Add `macro'.
4576 * src/preproc/tbl/table.cpp (block_entry::do_divert): Call
4577 `set_modifier' after printing the compatibility request.
4578 (set_modifier): Print call to `m->macro' if not empty.
4579 * src/preproc/tbl/main.cpp (entry_format::debug_print): Handle
4581 (process_format): Implement cases `x' and `X'.
4582 * src/preproc/tbl/tbl.man, NEWS: Updated.
4584 2003-08-15 Werner LEMBERG <wl@gnu.org>
4586 * doc/groff.texinfo: Minor fixes.
4588 2003-08-09 Werner LEMBERG <wl@gnu.org>
4590 * tmac/an-old.tmac [cR]: Fix redefinition of `bp'.
4592 2003-08-07 Werner LEMBERG <wl@gnu.org>
4594 * doc/Makefile.sub: Not all shells expand wildcards in the `for'
4595 argument list to nothing if there is no file to match. Use `ls' as
4596 a protection, similar to autoconf.
4598 * Makefile.comm (install_dev, uninstall_dev): Protect `for' against
4599 empty argument lists.
4601 * doc/groff.texinfo: Improve documentation how vertical spacing
4602 and line breaks interact.
4605 * tmac/www.tmac: Initialize `www-htmlimage-gap'.
4607 2003-08-03 Werner LEMBERG <wl@gnu.org>
4609 * NEWS, src/devices/grops/grops.man: -b16 is necessary to produce
4610 EPS (using eps2eps or similar programs to compute the bounding box).
4612 2003-07-24 Werner LEMBERG <wl@gnu.org>
4614 * doc/groff.texinfo: Use the new @/ command to avoid overlong lines.
4615 * doc/texinfo.tex: Updated from texinfo 4.6.
4616 * README.CVS: From now on we need texinfo 4.6.
4618 2003-07-23 Werner LEMBERG <wl@gnu.org>
4620 Add requests `dei1' and `ami1' for completeness.
4622 * src/roff/troff/input.cc (calling_mode): Remove
4623 CALLING_DISABLE_COMP.
4624 (comp_mode): New enumeration.
4625 (do_define_string, define_string, define_nocomp_string,
4626 append_string, append_nocomp_string): Updated.
4627 (do_define_macro): Add third parameter.
4628 (define_macro, define_nocomp_macro, define_indirect_macro,
4629 append_macro, append_nocomp_macro, append_indirect_macro): Updated.
4630 (define_indirect_nocomp_macro, append_indirect_nocomp_macro): New
4633 (init_input_requests): Add `dei1' and `ami1'.
4635 * tmac/trace.tmac: Handle de1 and am1.
4636 (de): Improve tracing message.
4637 (am): Add missing `do'.
4640 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
4641 Document new requests.
4643 2003-07-22 Heinz-Jürgen Oertel <hj.oertel@surfeu.de>
4645 Add option -G to .MPIMG to insert a gap between text and the image.
4647 * tmac/www.tmac (www-finish-left-po, www-finish-right-ll,
4648 www-finish-left-ll): Updated.
4649 (www-image-just, www-image-gap, www-htmlimage-gap): New variables.
4650 (MPIMG): Make option -L and -R optional.
4651 Implement option -G.
4653 2003-07-22 Gaius Mulley <gaius@glam.ac.uk>
4655 * src/devices/grohtml/post-html.cpp
4656 (html_printer::do_file_components): Don't use `stdout' as lvalue
4657 since it can be a macro.
4659 2003-07-22 Werner LEMBERG <wl@gnu.org>
4661 * src/libs/libgroff/strerror.c: Include errno.h to be in sync with
4662 the corresponding test in aclocal.m4.
4664 2003-07-21 Werner LEMBERG <wl@gnu.org>
4666 * src/preproc/html/pre-html.cpp (TRANSPARENT): Don't use colour
4667 names but RGB values directly. Otherwise pnmtopng depends on
4668 an external file `rgb.txt' which maps colour names to values.
4670 2003-07-20 Werner LEMBERG <wl@gnu.org>
4672 * aclocal.m4 (GROFF_SYS_ERRLIST): Include stdlib.h for MinGW.
4673 * configure, src/include/config.hin: Regenerated.
4675 * src/libs/libgroff/strerror.c: Include stdlib.h for MinGW.
4677 2003-07-19 Werner LEMBERG <wl@gnu.org>
4679 * PROBLEMS: Add solution for UTF-8 problem with hyphens.
4681 2003-07-18 Werner LEMBERG <wl@gnu.org>
4683 * *.man: Switch to non-compatibility mode temporarily if GNU
4684 syntax extensions are used in the particular man page.
4686 * PROBLEMS: Add solutions for SGR problems.
4688 2003-07-17 Werner LEMBERG <wl@gnu.org>
4690 Don't ignore grotty's command line options if \X'tty: sgr ...' is
4691 used to change the drawing scheme.
4693 * src/devives/grotty/tty.cpp (bold_flag_option,
4694 underline_flag_option, italic_flag_option, reverse_flag_option,
4695 bold_underline_mode_option): New global variables.
4696 (update_options): New function.
4697 (tty_printer::special): Call update_options.
4698 (main): Don't set xxx_flag but xxx_flag_option, then call
4701 2003-07-14 Werner LEMBERG <wl@gnu.org>
4703 Make grotty emit proper Unicode box drawing characters for -Tutf8.
4705 * src/devices/grotty/tty.cpp (START_LINE, END_LINE): New enum
4707 (hline_char, vline_char): New global variables.
4708 (tty_printer::tty_printer): Initialize them.
4709 (tty_printer::draw): Emit START_LINE and END_LINE flags for both
4710 horizontal and vertical lines.
4711 (crossings): New global array.
4712 (tty_printer::end_page): Use it to determine the proper crossing
4713 character for -Tutf8.
4715 2003-07-12 Werner LEMBERG <wl@gnu.org>
4717 * doc/Makefilesub (HTMLDOCFILESALL): New macro.
4718 (HTMLDOCFILES): Revert to `pic.html'.
4719 (CLEANADD, install_html, uninstall_sub): Use HTMLDOCFILESALL.
4721 2003-07-11 Werner LEMBERG <wl@gnu.org>
4723 * doc/pic.ms: Improve documentation of absolute coordinates.
4724 Document absolute positioning of pictures.
4726 * NEWS: Add new pic capability.
4728 2003-07-09 Hartmut Henkel <hartmut_henkel@gmx.de>
4730 * src/libs/libgroff/geometry.cpp (check_output_arc_limits):
4733 2003-07-07 Werner LEMBERG <wl@gnu.org>
4735 Implement support for dashed and dotted ellipses in pic. Based on
4736 a patch from Hartmut Henkel <hartmut_henkel@gmx.de>.
4738 * src/preproc/pic/common.cpp (common_output::ellipse_arc,
4739 common_output::dashed_ellipse, common_output::dotted_ellipse): New
4740 functions. Ellipse arcs are approximated with circle arcs.
4741 * src/preproc/pic/common.h (common_output): Updated.
4742 * src/preproc/pic/tex.cpp (tex_output::ellipse): Use new ellipse
4744 * src/preproc/pic/troff.cpp (simple_output::ellipse): Ditto.
4746 * src/preproc/pic/TODO, src/preproc/pic/pic.man: Updated.
4748 2003-07-06 Werner LEMBERG <wl@gnu.org>
4750 Make grotty work on platforms which have unsigned char as the
4751 default for char. Based on a patch by Thomas Klausner
4754 * src/devices/grotty/tty.cpp (schar): New typedef.
4755 Updated calls to declare_ptable and implement_ptable.
4756 (glyph): Use schar for back_color_idx and fore_color_idx.
4757 (tty_printer): Use schar for curr_fore_idx and curr_back_idx.
4758 (tty_printer::tty_color, tty_printer::tty_printer,
4759 tty_printer::color_to_idx, tty_printer::put_color): Updated.
4761 2003-07-06 Ruslan Ermilov <ru@FreeBSD.org>
4763 * src/roff/nroff/nroff.sh: Add option -d for completeness.
4764 * src/roff/nroff/nroff.man: Updated.
4766 2003-07-05 Werner LEMBERG <wl@gnu.org>
4768 * NEWS, tmac/groff_www.man: Updated.
4769 * doc/Makefile.sub: Updated.
4771 2003-07-05 Gaius Mulley <gaius@glam.ac.uk>
4773 Implement support for multiple HTML output files.
4775 * src/preproc/html/pre-html.cpp (scanArguments): Dummy handling for
4776 -j command line option.
4778 * src/devices/grohtml/post-html.cpp (job_name, multiple_files): New
4780 (file): New fields `new_output_file', `require_links',
4782 (file::file): Updated.
4783 (files::set_file_name, files::set_links_required,
4784 files::are_links_required, files::is_new_output_file,
4785 files::file_name, files::next_file_name): New functions.
4786 (header_desc): New fields `no_of_level_one_headings',
4788 (header_desc::header_desc): Updated.
4789 (header_desc::write_headings): Handle multiple files.
4790 (html_printer::write_header): Save file name in which header occurs.
4791 (html_printer::determine_header_level): Possibly split files on
4793 (html_printer::do_links, html_printer::troff_tag): Updated.
4794 (html_printer::insert_split_file, html_printer::do_job_name,
4795 html_printer::emit_link, html_printer::write_navigation,
4796 html_printer::do_file_components): New functions.
4797 (html_printer::~html_printer): Handle multiple files.
4798 (main): Handle command line option `-j'.
4800 * src/devices/grohtml/grohtml.man: Updated.
4802 * doc/Makefile.sub (pic.html), doc/Makefile.in (pic.html): New rule
4805 * tmac/www.tmac (JOBNAME): New macro.
4806 * tmac/s.tmac (SH-NO-TAG): New macro.
4807 (@SH): Call SH-NO-TAG.
4810 2003-07-05 Ruslan Ermilov <ru@FreeBSD.org>
4812 * tmac/groff_mdoc.man: Improve documentation of punctuation
4815 2003-07-04 Ruslan Ermilov <ru@FreeBSD.org>
4817 * tmac/doc.tmac (Bd): Change to doc-Li-font later.
4819 2003-07-03 Werner LEMBERG <wl@gnu.org>
4821 * tmac/an-old.tmac [cR]: Redefine `bp' to avoid empty lines.
4823 2003-07-01 Ruslan Ermilov <ru@FreeBSD.org>
4825 * tmac/doc.tmac (doc-do-func, doc-do-func-args): Don't print a comma
4826 after `/*' and `*/'.
4828 (Fn, Fo): Reduce indentation in synopsis.
4830 * tmac/doc-common (doc-check-depth): New macro.
4831 (doc-end-macro, Sh, Ss): Use it.
4832 (Cd): Fix behaviour in synopsis.
4833 (In): Make it parsed and callable.
4834 If not in the synopsis, represent the C header file enclosed in
4836 (doc-str-Rv-std-suffix, doc-str-Rv-stds-suffix, doc-str-Rv-std0):
4837 Use minus, not hyphen.
4839 * tmac/groff_mdoc.man: Updated.
4841 2003-07-01 Werner LEMBERG <wl@gnu.org>
4843 Integrated grap2graph, contributed by Eric S. Raymond.
4845 * contrib/grap2graph/{Makefile.sub, grap2graph.sh, grap2graph.man}:
4847 * Makefile.in, NEWS, MANIFEST, contrib/eqn2graph.man,
4848 contrib/pic2graph.man, src/roff/groff/groff.man: Updated.
4850 2003-07-01 Colin Watson <cjwatson@debian.org>
4852 * src/xditview/*.c: Add prototypes, fix return types, add includes.
4853 Based on work by Fumitoshi UKAI <ukai@debian.or.jp>.
4855 2003-06-31 Ruslan Ermilov <ru@FreeBSD.org>
4857 * tmac/tty-char.tmac: Provide `lb', `rb', `lk', `rk', `lt', `rt'.
4859 2003-06-31 Werner LEMBERG <wl@gnu.org>
4861 * doc/Makefile.sub (CLEANADD): Remove all files created by
4862 running `make groff.{pdf,dvi}'.
4864 * Makefile.sub (DISTCLEANFILES): Remove all non-source files from
4867 2003-06-30 Werner LEMBERG <wl@gnu.org>
4869 * Makefile.in (SHELL): Define as @SHELL@.
4870 (mkinstalldirs): Use $(SHELL).
4871 (MDEFINES): Add $(SHELL).
4872 * Makefile.comm (SHELL): Removed.
4874 2003-06-29 Werner LEMBERG <wl@gnu.org>
4876 * tmac/s.tmac (De, Ds): New aliases for .DE and .DS, respectively.
4877 The X11 documentation files use them.
4878 * tmac/groff_ms.man, doc/groff.texinfo: Document them.
4880 2003-06-15 Robert Goulding <goulding@Princeton.EDU>
4882 * tmac/e.tmac (@C): Handle .ad also.
4884 2003-06-12 Werner LEMBERG <wl@gnu.org>
4886 * src/preproc/tbl/tbl.man: Document formatting of text blocks.
4888 * src/roff/troff/input.cc (token::next) <handle_escape_char>:
4889 Assign `n' even here. It is possible to construct a node
4890 immediately following an escape character:
4898 2003-06-10 Werner LEMBERG <wl@gnu.org>
4900 * README.WIN32: Removed.
4901 * MANIFEST: Updated.
4903 2003-06-07 Werner LEMBERG <wl@gnu.org>
4905 * src/roff/nroff/nroff.sh: Don't emit SGR for option -u.
4907 2003-06-05 Werner LEMBERG <wl@gnu.org>
4909 * src/preproc/pic/pic.y <sprintf_args>: Implement workaround for bug
4910 in Compaq C++ V6.5-033 for Compaq Tru64 UNIX V5.1A (Rev. 1885).
4912 2003-06-03 Werner LEMBERG <wl@gnu.org>
4914 * src/preproc/grn/hdb.cpp (DBRead): Don't close file handle; this
4915 is done by the calling function.
4917 2003-05-22 Ruslan Ermilov <ru@FreeBSD.org>
4919 * tmac/X.tmac: Fix definition of `em'.
4921 2003-05-22 Werner LEMBERG <wl@gnu.org>
4923 * src/roff/troff/input.cc (return_macro_request): Fix detection of
4926 2003-05-18 Werner LEMBERG <wl@gnu.org>
4928 * tmac/doc.tmac (doc-tag-list): Force horizontal mode after tag
4929 to make items work which consist only of a tag.
4931 2003-05-17 Werner LEMBERG <wl@gnu.org>
4933 * tmac/doc.tmac (doc-tag-list): Don't use \Z to assure that spaces
4934 aren't stretched in a tag (this can fail with unformatted boxes).
4935 Instead, insert a break and go back one line.
4937 2003-05-16 Werner LEMBERG <wl@gnu.org>
4939 * src/roff/troff/input.cc (return_macro_request): If called with
4940 argument pop macro twice. We need this to trace `return'.
4942 * tmac/trace.tmac: Handle `return'.
4945 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
4948 2003-05-15 Larry Kollar <kollar@alltel.net>
4950 * tmac/groff_ms.man, doc/groff.texinfo: Improve documentation of
4951 registers `FPS', `FVS', and `FPD'.
4953 2003-05-15 Werner LEMBERG <wl@gnu.org>
4955 * src/utils/pfbtops/pfbtops.c (get_text): Handle loop counter
4958 2003-05-03 Ruslan Ermilov <ru@FreeBSD.org>
4960 * tmac/groff_mdoc.man: Slight improvements.
4962 2003-05-03 Werner LEMBERG <wl@gnu.org>
4964 * tmac/doc-common (doc-header): Emit vertical space of 1v instead of
4965 `doc-header-space' after header line if register `cR' is set.
4967 2003-05-02 Werner LEMBERG <wl@gnu.org>
4971 2003-05-01 Ruslan Ermilov <ru@FreeBSD.org>
4973 * tmac/doc-common (Nd): Use \[em].
4975 2003-05-01 Werner LEMBERG <wl@gnu.org>
4977 * tmac/doc-ditroff, tmac/doc-nroff (doc-header-space,
4978 doc-footer-space): Initialize to 0.5i.
4979 (doc-setup-page-layout): Don't set doc-header-space and
4982 2003-04-30 Werner LEMBERG <wl@gnu.org>
4984 * REVISION: Set to 1.
4986 * doc/pic.ms: Document possible problems with `figname'.
4988 2003-04-29 Werner LEMBERG <wl@gnu.org>
4990 Version 1.19 released
4991 =====================
4993 * VERSION: Set to 1.19.
4994 * REVISION: Set to 0.
4995 * doc/groff.texinfo, doc/webpage.ms, NEWS: Updated.
4997 * src/devices/grohtml/post-html.cpp (html_printer::~html_printer):
4998 Define charset as `US-ASCII' in html output.
5000 * tmac/www.tmac (ULE): Add missing scaling indicator.
5002 * win32-diffs: Removed.
5004 2003-04-28 Werner LEMBERG <wl@gnu.org>
5006 * doc/groff.texinfo: Document `dn' and `dl' registers if used with
5008 Document how to insert discardable whitespace with `.ss'.
5010 2003-04-27 Werner LEMBERG <wl@gnu.org>
5012 * src/preproc/pic/tex.cpp (tex_output::start_picture): Make code
5013 work with plain TeX also.
5015 * src/preproc/pic/pic.man, doc/pic.ms: Fix TeX code example.
5017 2003-04-25 Gaius Mulley <gaius@glam.ac.uk>
5019 * src/devices/grohtml/post-html.cpp (html_printer::~html_printer):
5022 2003-04-24 Werner LEMBERG <wl@gnu.org>
5024 * src/preproc/pic/pic.man, doc/pic.ms: Explain how to get a
5025 vbox with positive height and zero depth if in TeX mode.
5027 * NEWS: Document glyph name changes for grodvi and grolj4.
5029 2003-04-23 Werner LEMBERG <wl@gnu.org>
5031 * src/preproc/pic/tex.cpp (tex_output::start_picture): Fix TeX code.
5032 * doc/pic.ms: Fixed.
5034 2003-04-21 Werner LEMBERG <wl@gnu.org>
5036 HP-UX 10.20 has `snprintf' but it isn't declared.
5038 * configure.ac: Add declaration test for snprintf.
5039 * configure: Regenerated.
5040 * src/include/lib.h: Handle `NEED_DECLARATION_SNPRINTF'.
5041 * src/include/config.hin: Regenerated.
5043 2003-04-19 Werner LEMBERG <wl@gnu.org>
5045 Add keyword `figname' to pic, specifying the name of the picture
5046 box in TeX mode. Based on a patch from William J Poser
5047 <wjposer@unagi.cis.upenn.edu>.
5049 * src/preproc/pic/pic.y: New token `FIGNAME'.
5050 (macro_name): New rule of type <str>.
5051 (placeless_element): Handle `FIGNAME'.
5052 * src/preproc/pic/lex.cpp (lookup_keyword): Add `figname'.
5053 * src/preproc/pic/main.cpp (graphname): New global variable.
5054 (do_picture): Initialize `graphname'.
5055 * src/preproc/pic/pic.h: Updated.
5056 * src/preproc/pic/tex.cpp (tex_output::start_picture): Use
5059 (tex_output::text): Beautify output.
5060 * src/preproc/pic/object.cpp (object_spec::~object_spec): Deallocate
5061 `shaded' and `outlined' unconditionally.
5062 * NEWS, src/preproc/pic/pic.man, doc/pic.ms: Updated.
5065 * PROBLEMS, README.CVS: Mention that bison version 1.875b or
5066 greater is necessary.
5068 2003-04-17 Hartmut Henkel <hartmut_henkel@gmx.de>
5070 Add option -r to soelim to avoid emission of `.lf' lines.
5071 Add option -t to produces TeX comment lines instead of `.lf' lines.
5073 * src/preproc/soelim/soelim.cpp: New global variables `raw_flag'
5076 (main): Handle `-r' and `-t'.
5077 (set_location): Handle `raw_flag' and `tex_flag'.
5078 * src/preproc/soelim/soelim.man, NEWS: Updated.
5080 2003-04-17 Werner LEMBERG <wl@gnu.org>
5082 * tmac/hyphenex.sh: Replaced with...
5083 * tmac/hyphenex.pl: This perl script to avoid sed compatibility
5086 * aclocal.m4 (GROFF_HTML_PROGRAMS): Emit useful warning message
5087 if --quiet is used for the configure script.
5088 * configure: Regenerated.
5090 2003-04-16 Werner LEMBERG <wl@gnu.org>
5092 * src/devices/grohtml/post-html.cpp (text_glob::text_glob):
5093 Add `const' to second argument.
5094 (html_printer::add_table_end): Add `const' to argument.
5095 * src/devices/grohtml/html-text.cpp (html_text::issue_tag): Add
5096 `const' to arguments.
5097 * src/devices/grohtml/html-text.h: Updated.
5099 * src/devices/grolbp/charset.h (symset): Use `unsigned char'.
5100 * src/devices/grolbp/lbp.h (lbpputc): Use `unsigned char' for
5103 * src/devices/grotty/tty.cpp (tty_printer::make_rgb_string): Use
5104 cast for integer constant.
5106 * src/preproc/html/pre-html.cpp (image_device): Use `const'.
5107 (writeNbytes): Add `const' to first argument.
5108 (writeString): Add `const' to argument.
5109 (char_buffer::can_see): Add `const' to third argument.
5110 * src/preproc/html/pushback.cpp (pushBackBuffer::isString): Add
5111 `const' to argument.
5112 * src/preproc/html/pushback.h: Updated.
5114 * src/preproc/soelim/soelim.cpp (include_list): Add `const'.
5115 (include_path_append): Add `const' to argument.
5118 * src/roff/troff/uniglyph.cpp (unicode_to_glyph_list): Use `const'
5120 (unicode_to_glyph_init::unicode_to_glyph_init): Updated.
5121 * src/roff/troff/uniuni.cpp (unicode_decompose_list): Use `const'
5123 (unicode_decompose_init::unicode_decompose_init): Updated.
5124 * src/roff/troff/glyphuni.cpp (glyph_to_unicode_list): Use `const'
5126 (glyph_to_unicode_init::glyph_to_unicode_init): Updated.
5127 * src/roff/troff/input.cc (process_startup_file): Add `const' to
5130 * tmac/hyphenex.sh: Make script more portable by using a here
5133 2003-04-15 Werner LEMBERG <wl@gnu.org>
5135 Renamed all `*.cc' files to `*.cpp'.
5136 Updated all configuration files, makefiles, and documentation.
5138 2003-04-14 Werner LEMBERG <wl@gnu.org>
5140 * tmac/hyphenex.sh: Slight improvements.
5142 2003-04-13 Werner LEMBERG <wl@gnu.org>
5144 * font/devascii/R.proto, font/devcp1037/R.proto,
5145 font/devlatin1/R.proto, font/devutf8/R.proto: Fill up remaining
5146 character slots with unnamed glyphs.
5148 * tmac/an-old.tmac: Fix hyphenation value if `cR' is active.
5149 (an-first): New global variable.
5150 (an-header): Emit vertical space between multiple man pages.
5152 2003-04-11 Werner LEMBERG <wl@gnu.org>
5154 * doc/groff.texinfo, man/groff_out.man: \S only accepts integer
5157 2003-04-10 Werner LEMBERG <wl@gnu.org>
5159 * PROBLEMS: Revised.
5161 2003-04-10 Bernd Warken <bwarken@mayn.de>
5163 * doc/webpage.ms: Improved.
5165 2003-04-09 Werner LEMBERG <wl@gnu.org>
5167 Add register \n[.height] which returns the value of \H.
5168 Add register \n[.slant] which returns the value of \S.
5170 * src/roff/troff/env.cc (init_env_requests): Implement.
5171 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
5174 2003-04-08 Werner LEMBERG <wl@gnu.org>
5176 * tmac/html.tmac: Move some of the data into html-end.tmac.
5177 Remove most of the character translations for eqn since html fonts
5178 now cover those characters.
5180 * tmac/html-end.tmac: New file.
5181 * tmac/troffrc: Load html.tmac not www.tmac for -Thtml.
5182 * tmac/troffrc-end: Load html-end.tmac not html.tmac for -Thtml.
5183 * tmac/Makefile.sub (NORMALFILES): Add html-end.tmac.
5185 2003-04-07 Werner LEMBERG <wl@gnu.org>
5187 * man/groff_out.man: Document negative values of `N' if -Thtml is
5190 2003-04-06 Werner LEMBERG <wl@gnu.org>
5192 * Makefile.comm (depend.temp): Check location of YTABC.
5194 2003-04-05 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
5196 * contrib/mom/Makefile.sub (GROFFBIN): New variable for groff
5198 (groff_bin_path): Rename to GROFF_BIN_PATH.
5199 (GROFF): Use GROFFBIN and GROFF_BIN_PATH.
5200 * doc/Makefile.in (TROFFBIN): New variable for troff
5202 (GROFFBIN): New variable for groff binary path.
5203 (groff_bin_path): Rename to GROFF_BIN_PATH.
5204 (TROFF): Use TROFFBIN.
5205 (GROFF): Use GROFFBIN and GROFF_BIN_PATH.
5206 * doc/Makefile.sub (GROFFBIN): New variable for groff
5208 (groff_bin_path): Rename to GROFF_BIN_PATH.
5209 (GROFF): Use GROFFBIN and GROFF_BIN_PATH.
5211 * Makefile.comm (install_dev): Install scripts from DEVSCRIPTS
5212 with INSTALL_SCRIPT.
5213 (uninstall_dev): Uninstall scripts from DEVSCRIPTS.
5214 * Makefile.dev (all): Depend on DEVSCRIPTS.
5215 (install_dev): Likewise.
5216 * font/devdvi/Makefile.sub (DEVSCRIPTS): New variable to hold
5218 * font/devps/Makefile.sub (DEVSCRIPTS): Likewise.
5219 (DEVGENSCRIPTS): New variable to hold generated scripts.
5221 2003-04-05 Werner LEMBERG <wl@gnu.org>
5223 * src/libs/libdriver/input.cc (IntArray::operator[],
5224 IntArray::get_data): Remove meaningless `const' in return value.
5226 * README.CVS: New file.
5228 2003-04-04 Werner LEMBERG <wl@gnu.org>
5230 Check for stdint.h in C++, not in C.
5232 * aclocal.m4 (GROFF_STDINT_H): New function,
5233 * configure.ac: Check for stdint.h with GROFF_STDINT_H instead of
5235 * configure, src/include/config.hin: Regenerated.
5236 * src/libs/libgroff/tmpname.cc: Use HAVE_CC_STDINT_H.
5239 Fix handling of in grohtml. To do this, troff emits `N'
5240 with a negative value, representing the width of the unbreakable
5241 space (only for -Thtml). grohtml then converts this back to
5242 and uses the value of N as its width.
5244 * src/roff/troff/node.cc (space_char_hmotion_node::tprint,
5245 unbreakable_space_node::tprint): Emit `N-<width>'.
5246 * src/include/printer.h (printer::set_numbered_char): Make it
5248 Make members `font_table' and `nfonts' protected instead of private.
5249 * src/devices/grohtml/post-html.cc
5250 (html_printer::set_numbered_char): New member function.
5253 * src/libs/libgroff/maxfilename.cc:
5254 s/HAVE_LIMITS_H/HAVE_CC_LIMITS_H/.
5256 * src/roff/troff/node.cc (unbreakable_space_node::tprint): Don't
5259 2003-04-03 Sergey A. Osokin <osa@freebsd.org.ru>
5261 * man/roff.man: Small fixes.
5263 2003-04-03 Werner LEMBERG <wl@gnu.org>
5265 Make groff independent from locale's numeric settings.
5267 * configure.ac: Check for `setlocale'.
5268 * configure, src/include/config.hin: Regenerated.
5270 * src/include/lib.h: Handle HAVE_SETLOCALE.
5272 * src/devices/grodvi/dvi.cc (main), src/devices/grolj4/lj4.cc
5273 (main), src/devices/grops/ps.cc (main), src/preproc/grn/main.cc
5274 (main), src/preproc/pic/main.cc (main): Call `setlocale'.
5277 * doc/groff.texinfo: Change dir category to `Typesetting'.
5278 (Man font macros): Mention that there is no space between arguments
5281 * src/libs/libdriver/printer.cc, src/devices/grotty/tty.cc
5282 (*printer::change_color, *printer::change_fill_color): Add missing
5285 2003-04-02 Werner LEMBERG <wl@gnu.org>
5287 * src/devices/grohtml/html-table.cc (html_table::emit_col,
5288 html_table::is_gap): Compute table widths after converting border
5289 positions to avoid rounding errors.
5291 2003-04-01 Werner LEMBERG <wl@gnu.org>
5293 * src/devices/grohtml/html-text.cc (html_text::do_space): Handle
5294 `space_emitted' properly.
5296 2003-03-31 Werner LEMBERG <wl@gnu.org>
5298 * src/devices/grohtml/html-table.cc: Fix column width calculation.
5299 (html_table::set_linelength): Don't add 1.
5300 (html_table::add_indent): Don't subtract 1.
5302 * tmac/html.tmac: Set default page offset to zero.
5304 2003-03-30 Werner LEMBERG <wl@gnu.org>
5306 Make groff emit ` ' for `\ ' and `\~' if `-Thtml' is used.
5308 * src/roff/troff/node.cc (space_char_hmotion_node::tprint,
5309 unbreakable_space_node::tprint): New functions.
5310 (troff_output_file): Make space_char_hmotion_mode::tprint and
5311 unbreakable_space_node::tprint to friends.
5312 * src/roff/troff/node.h: Updated.
5314 * font/devhtml/R.proto: Add ` ' at position 0xA0 (as defined
5315 in the HTML standard).
5317 2003-03-29 Werner LEMBERG <wl@gnu.org>
5319 * src/roff/troff/env.cc (point_size): Fix emission of html tag.
5320 Otherwise, the following code
5329 produces `x a' instead of `xa'. This is a temporary fix, disabling
5330 font changes in diversions for -Thtml.
5332 * tmac/an-old.tmac (TH, SH): Use `HTML-TAG-NS' instead of
5334 (an-do-tag-html): Merge with ...
5335 (an-do-tag): This macro.
5336 Change code slightly to circumvent grohtml bug.
5337 * tmac/troffrc-end: Define dummy for HTML-TAG-NS.
5339 * src/devices/grohtml/html-table.cc (html_table::emit_col,
5340 html_table::is_gap): Round `width' properly.
5342 * tmac/html.tmac: Provide some default layout parameters for
5345 * font/devhtml/DESC.proto: Don't use discrete values for `sizes'
5348 2003-03-28 Werner LEMBERG <wl@gnu.org>
5350 src/devices/grops/ps.cc (ps_printer::do_import): Fix error message.
5352 2003-03-27 Werner LEMBERG <wl@gnu.org>
5354 * tmac/an-old.tmac (BT): Don't call .tl if register `ps4html' is
5357 2003-03-20 Werner LEMBERG <wl@gnu.org>
5359 * src/roff/troff/env.cc (vertical_spacing): Allow zero value for
5361 * doc/groff.texinfo: Updated.
5363 2003-03-19 Werner LEMBERG <wl@gnu.org>
5365 * src/roff/troff/input.cc (process_input_stack) <TOKEN_BEGIN_TRAP,
5366 TOKEN_END_TRAP>: Reset `have_input'.
5368 2003-03-18 Werner LEMBERG <wl@gnu.org>
5370 * src/roff/groff/groff.man: Mention groff_trace man page.
5372 2003-03-16 Werner LEMBERG <wl@gnu.org>
5374 * Makefile.in (LIBEXT): New variable to indicate the file extension
5375 of library files. Computed heuristically from $(OBJEXT).
5376 (MDEFINES): Add $(LIBEXT).
5377 * Makefile.lib, Makefile.comm: Use it.
5379 * src/utils/pfbtops/pfbtops.c (get_text): New function. Split
5380 overlong lines into smaller chunks.
5381 (get_binary): New function.
5383 * src/utils/pfbtops/pfbtops.man: Updated.
5385 2003-03-15 Colin Watson <cjwatson@debian.org>
5387 * src/roff/groff/groff.man: Minor syntax fix.
5389 2003-03-14 Egil Kvaleberg <egil@kvaleberg.no>
5391 * src/devices/grops/ps.cc (ps_printer::media_set,
5392 ps_printer::~ps_printer): Handle zero paper width and length.
5394 2003-03-13 Werner LEMBERG <wl@gnu.org>
5396 Add options -p and -l to grodvi.
5398 * src/devices/grodvi/dvi.cc: Include paper.h.
5399 (landscape_flag, user_paper_length, user_paper_width): New global
5401 (dvi_printer::begin_page): Emit `papersize' special.
5402 Set color after initialization of `cur_h' and `cur_v'.
5403 (main): Add options `-l' and `-p'.
5404 * font/devdvi/Makefile.sub (DESC): Set `papersize'.
5405 * src/devices/grodvi/grodvi.man, NEWS: Updated.
5407 * src/devices/grops/psrm.cc (valid_input_table): Fixed.
5409 2003-03-12 Werner LEMBERG <wl@gnu.org>
5411 * src/devices/grops/grops.man: Move documentation of .PSPIC to...
5412 * man/groff_tmac.man: This man page.
5413 * man/groff_font.man: Declare `paperwidth' and `paperlength' as
5416 * tmac/X.tmac: Don't load pspic.tmac.
5418 2003-03-11 Werner LEMBERG <wl@gnu.org>
5420 Make variable `pr' local to libdriver/input.cc. Based on a patch
5421 by Bernd Warken <bwarken@mayn.de>.
5423 * src/include/driver.h (pr): Removed.
5425 * src/libs/libdriver/input.cc (pr): New global variable.
5426 (do_file): Deallocate `pr'.
5427 * src/libs/libdriver/printer.cc (pr): Removed.
5429 * src/devices/grodvi/dvi.cc (main), src/devices/grohtml/post-html.cc
5430 (main), src/devices/grolbp/lbp.cc (main), src/devices/grolj4/lj4.cc
5431 (main), src/devices/grops/ps.cc (main), src/devices/grotty/tty.cc
5432 (main): Don't delete `pr'.
5434 2003-03-10 Werner LEMBERG <wl@gnu.org>
5436 * tmac/a4.tmac, tmac/composite.tmac: Use `.do'.
5437 * tmac/papersize.tmac: New file.
5438 * tmac/troffrc: Include `papersize.tmac'.
5439 * tmac/Makefile.sub (NORMALFILES): Add `papersize.tmac'.
5440 * tmac/an-old.tmac: Set LT to LL by default.
5442 * NEWS, MANIFEST, tmac/groff_man.man, man/groff_tmac.man,
5443 doc/groff.texinfo: Updated.
5445 * src/libs/libgroff/paper.cc (add_iso_paper): Fix very embarassing
5446 bug which caused all odd iso papers to have wrong dimensions.
5448 * src/devices/grops/ps.cc (user_paper_width): New global variable.
5449 (main) <'p'>: Set `user_paper_width' also.
5450 (ps_printer::media_width, ps_printer::media_height): Use values
5451 given with option `-p'.
5453 2003-03-09 Werner LEMBERG <wl@gnu.org>
5455 * src/include/nonposix.h: Provide default for SET_BINARY.
5457 * src/devices/grodvi/dvi.cc, src/devices/grolbp/lbp.cc,
5458 src/devices/grolj4/lj4.cc, src/devices/grops/ps.cc: Call SET_BINARY
5461 * src/utils/pfbtops/pfbtops.c: Call SET_BINARY unconditionally.
5462 (main): Treat \r\n as \n.
5464 2003-03-08 Werner LEMBERG <wl@gnu.org>
5466 * tmac/an-old.tmac: Use register `HY' to control hyphenation.
5467 * NEWS, tmac/groff_man.man, doc/groff.texinfo: Document it.
5469 2003-03-07 Werner LEMBERG <wl@gnu.org>
5471 Added support to access more than 256 glyphs in Type 1 fonts.
5473 * src/devices/grops/ps.cc (subencoding): New structure.
5474 (style): Add `sub' field.
5476 (ps_printer): Add `subencodings' and `next_subencoding_index' fields.
5477 Add `set_subencoding', `get_subfont' and `encode_subfont' member
5480 (ps_printer::set_char): Use `set_subencoding'.
5481 (make_subencoding_name): New function.
5482 (ps_printer::set_style): Handle case where `sty.sub' is not zero.
5483 (ps_printer::~ps_printer): Emit subencoding definitions.
5485 * src/devices/grops/psrm.cc (valid_input_table): New array to
5486 properly support EBCDIC.
5487 (white_space): Add `\f'.
5488 (ps_get_line): Change first argument to be of type `string &'.
5489 Updated all callers.
5490 This allows to get lines of arbitrary length.
5491 Use `valid_input_table'.
5492 Remove warning about non-conforming PS line length. This seems
5493 not to be of great importance -- for example, dvips don't emit
5495 (PS_LINE_MAX): Removed.
5496 (matches_comment): Change first argument to be of type `string &'.
5498 * src/devices/grops/grops.man, src/devices/grops/TODO: Updated.
5500 * src/utils/afmtodit/afmtodit.pl (%unicode_decomposed,
5501 %AGL_to_unicode, %default_ligatures): New hash tables.
5502 Read all map entries.
5503 Add unencoded characters.
5504 Check for default ligatures if there are no `L' entries.
5505 Print all kern entries.
5506 Print all characters in charset.
5507 * src/utils/afmtodit/afmtodit.man: Updated.
5509 * font/devps/*: Regerated all fonts.
5511 * tmac/latin[129].tmac, tmac/cp1047.tmac: Don't test for existence
5512 of characters, just use `.trin'. Otherwise the mapping depends
5513 on the font encoding.
5514 * tmac/ps.tmac: Add `fi' and `fl'.
5515 Improve `Fi' and `Fl'.
5516 * tmac/X.tmac, tmac/lbp.tmac, tmac/tty.tmac: Improve `Fi' and `Fl'.
5517 * tmac/Xps.tmac: Fix `em'.
5521 2003-03-04 Werner LEMBERG <wl@gnu.org>
5523 * src/roff/troff/input.cc (charinfo_to_node_list): Reset
5526 2003-03-03 Werner LEMBERG <wl@gnu.org>
5528 * Makefile.sub (DISTCLEANFILES): Add gxditview._man.
5530 * font/devps/generate/textmap: Remove entry `similarequal'.
5531 * font/devps/symbolmap: Updated.
5533 2003-03-02 Werner LEMBERG <wl@gnu.org>
5535 * src/libs/libgroff/font.cc (font::load): Fix error message for
5538 * src/devices/grops/grops.man: Improve documentation of the -b
5541 * tmac/tty.tmac: Load latin1.tmac for all TTY devices except
5542 `ascii' and `cp1047'.
5544 2003-03-01 Werner LEMBERG <wl@gnu.org>
5546 Document composite glyphs and the `composite' request.
5548 * man/groff.man, man/groff_diff.man, doc/groff.texinfo: Do it.
5550 2003-02-28 Werner LEMBERG <wl@gnu.org>
5552 * font/devdvi/generate/ec.map: Add some more Unicode entities.
5553 * font/devdvi/*EC: Updated.
5555 * tmac/composite.tmac, tmac/latin2.tmac, tmac/latin9.tmac: New files.
5556 * tmac/latin1 (latin1-tr): Undo any previous mapping.
5557 * tmac/troffrc: Load `composite.tmac'.
5558 * tmac/Makefile.sub (NORMALFILES): Updated.
5560 * doc/groff.texinfo (Input Encodings): New section.
5563 2003-02-27 Werner LEMBERG <wl@gnu.org>
5565 * doc/texinfo.tex: New version 2003-02-11.06.
5567 * tmac/doc-common (Dt): Don't emit warning for unknown section.
5568 * tmac/groff_mdoc.man: Fix description of `Dt'.
5570 2003-02-26 Egil Kvaleberg <egil@kvaleberg.no>
5572 * font/devps/prologue.ps: Fix for included Postscript that does
5573 a setpagedevice -- which is now safely ignored.
5577 * src/devices/grops/ps.cc: Now sets the page size in the generated
5578 document. This is done in two ways: Via a %%-comment for gv and
5579 the like, and via a PageSize and setpagedevice for programs that
5580 understands Postscript proper, like ps2pdf.
5582 * src/devices/grops/ps.h: New broken-flag to avoid page size
5583 definition, if required.
5585 * src/devices/grops/grops.man: New broken-flag 16 mentioned.
5587 * doc/Makefile.in: Added -nosetpage flag (via @pnmtops_nosetpage@).
5588 Not really necessary due to the fix in prologue.ps, but cleaner:
5589 Such information does not belong in an .eps file.
5591 * doc/Makefile.sub: See doc/Makefile.in.
5593 2003-02-26 Ralph Corderoy <ralph@inputplus.co.uk>
5595 * aclocal.m4 (GROFF_PNMTOPS_NOSETPAGE): Use P2 format for testing
5596 instead of P1 since the latter is broken in some versions of netpbm.
5597 * configure: Updated.
5599 2003-02-26 Larry Kollar <kollar@alltel.net>
5601 Make man pages more customizable.
5603 * tmac/an-old.tmac (FT): New register holding footer distance from
5605 (HF): New string holding the default heading font.
5606 (TH): Handle registers `IN' and `SN' set on the command line.
5608 (PT, BT): New strings to customize header and footer lines.
5609 (an-header, an-footer): Use them.
5611 * tmac/groff_man.man: Document changes.
5613 * doc/groff.texinfo: Document man changes.
5614 Document Ultrix extensions of man.
5616 2003-02-26 Werner LEMBERG <wl@gnu.org>
5618 * src/roff/troff/input.cc (do_width, do_if_request): Reset
5619 `have_input' after changing back to old environment.
5621 * src/devices/grolbp/lbp.cc (lbp_printer::set_line_thickness): Move
5622 function up to be defined before first call. This is necessary to
5623 avoid a compilation problem with Sun's WorkShop 6 C++ compiler.
5625 * src/utils/afmtodit/afmtodit.pl: Make script search for files in
5626 the default font directory also. Based on a patch from James
5627 J. Ramsey <jjramsey_6x9eq42@yahoo.com>.
5628 * src/utils/afmtodit/Makefile.sub (afmtodit): Handle @FONTDIR@.
5629 * src/utils/afmtodit/afmtodit.man: Document it.
5633 * tmac/groff_man.man, doc/groff.texinfo: Many minor fixes.
5635 2003-02-25 Gaius Mulley <gaius@glam.ac.uk>
5637 * aclocal.m4 (GROFF_HTML_PROGRAMS): Add test for pnmtops.
5638 (GROFF_PNMTOPS_NOSETPAGE): New macro.
5639 * configure.ac: Use it.
5640 * configure: Regenerated.
5641 * Makefile.in: Updated.
5643 * tmac/Makefile.sub (NORMALFILES): Remove www.tmac.
5644 (CLEANADD): Add www.tmac-sed.
5645 (pnmtops_nosetpage): Define default.
5646 (install_data): Handle www.tmac-sed and substitute
5647 @PNMTOPS_NOSETPAGE@.
5648 (stamp-sed): Add www.tmac.
5649 * tmac/www.tmac: Rewritten, based on a patch by Bernd Warken.
5650 It now breaks URLs at suitable places.
5651 (www:substring_ok): New register set by...
5652 (www:@test_substring): New macro.
5653 (www:error): New alias to www-error.
5654 (www:lenstr, www:splitstr, www:url_breaks, www:url_breaks_splitted):
5656 (URL): Use www:url_breaks.
5657 (PIMG, MPIMG): Use @PNMTOPS_NOSETPAGE@.
5658 (CDS, CDE): New macros.
5660 2003-02-25 Werner LEMBERG <wl@gnu.org>
5662 * src/devices/grops/ps.cc (ps_printer::define_encoding): Avoid
5665 2003-02-24 Werner LEMBERG <wl@gnu.org>
5667 Contrary to the PCL5 Developer's Guide, the ascenders in TFM files
5668 can be negative also.
5670 * src/utils/hpftodit/hpftodit.cc (char_info): `ascent' must be
5672 (read_char_table): Avoid negative ascenders.
5673 (output_charset): Add cast.
5674 * font/devlj4/*: Regenerated.
5676 Replace unnamed glyphs for DVI fonts with `uXXXX' glyph names where
5679 * font/devdvi/generate/{tc,texttt,ec,texmi,texsy,textex}.map: Do it.
5680 * font/devdvi/generate/textex.map: Map glyph 23 to `u21C6' instead
5682 * font/devdvi/*: Regenerated.
5684 Map `la' and `ra' to U+27E8 and U+27E9. These two characters have
5685 normal width, while the previously used characters (U+2329 and
5686 U+232A) are classified as wide due to canonical equivalence with the
5687 CJK punctuation characters U+3008 and U+3009.
5689 * font/devutf8/R.proto: Updated.
5690 * src/roff/troff/uniglyph.cc, src/roff/troff/glyphuni.cc: Ditto.
5692 * man/groff_char.man: Simplify handling of table traps by
5693 introducing `start block' and `end block' macros.
5694 (Ns, Ne, 2s, 2e, Ds, De): New macros.
5695 (DL): Make it work with Unix troff also.
5696 Fix code values of `la' and `ra'.
5698 * tmac/dvi.tmac: Define `<>' for CW and CWI.
5700 2003-02-23 Gaius Mulley <gaius@glam.ac.uk>
5702 * src/devices/grohtml/post-html.cc (element_list::~element_list):
5703 New destructor, fixing a major memory leak.
5705 2003-02-22 Werner LEMBERG <wl@gnu.org>
5707 * font/devhtml/R.proto, font/devutf8/R.proto: Flip `*f' and `+f'
5708 to be in conformance with Unicode 3.0 and newer.
5710 * font/devlj4/generate/text.map: Add `Eu'.
5711 * font/devlj4/generate/special.map: Flip `*e' and `+e'.
5712 * font/devlj4/S: Regenerated.
5714 * man/groff_char.man: Completely rewritten.
5716 * doc/groff.texinfo: Fix description of request and macro arguments.
5718 2003-02-20 Gaius Mulley <gaius@glam.ac.uk>
5722 * src/devices/grohtml/html-table.cc (html_table::~html_table):
5723 Deallocate `columns' list.
5724 * src/devices/grohtml/post-html.cc (char_block::~char_block):
5726 (text_glob::text_glob_html, text_glob::text_glob_special,
5727 text_glob::text_glob_line, text_glob::text_glob_auto_image,
5728 text_glob::text_glob_tag): Avoid memory leaks.
5729 (text_glob::remember_table): Free memory before reassigning.
5731 2003-02-19 Werner LEMBERG <wl@gnu.org>
5733 Add glyph `+e', greek lunate epsilon symbol, and `-h' (with the
5734 alias `hbar'), the Planck constant over two pi.
5736 * font/devdvi/generate/texmi.map: Use `*e' for position 15 and
5737 `+e' for position 34.
5738 * font/devdvi/generate/texsy.map: Replace `DI' and `HE' with
5739 `u2662' and `u2661'.
5740 * font/devdvi/{MI,S}: Regenerated.
5741 * font/devhtml/R.proto, font/devutf8/R.proto: Add `+e', `-h', `hbar'.
5742 * font/devlbp/*: Add `hbar' alias.
5743 * font/devlj4/generate/special.map: Ditto.
5744 * font/devlj4/S: Regenerated.
5745 * font/devps/generate/symbolchars: Add `+e'.
5746 * font/devps/generate/textmap: Fix PS name for `-h'.
5748 * font/devps/symbolmap: Regenerated.
5750 * src/devices/grops/ps.cc (transform_fill): Removed since unused.
5752 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `+e',
5754 * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `+e',
5757 * tmac/X.tmac, tmac/ps.tmac: Provide definitions for `-h' and
5759 * tmac/tty-char.tmac: Add `+e'.
5761 2003-02-17 Werner LEMBERG <wl@gnu.org>
5763 Another round trying to really fix problems with `have_input'.
5765 * src/roff/troff/input.cc (input_stack::get): Handle `have_input'.
5766 (token::next) <'\n'>, <\'\n'>: Don't handle `have_input'.
5768 * src/devices/grotty/tty.cc (tty_printer::put_color): Fix color
5769 handling if both foreground and background colors are default.
5771 * doc/groff.texinfo (Debugging): Document .lf differences to
5774 2003-02-16 Werner LEMBERG <wl@gnu.org>
5776 * src/devices/grotty/tty.cc (tty_printer::make_rgb_string): Avoid
5777 null-bytes in created string.
5779 * src/roff/troff/input.cc (lookup_color, interpolate_macro,
5780 alias_macro, lookup_request): Improve warning messages.
5782 * src/roff/troff/node.cc (suppress_node::tprint): Use `strsave',
5784 Free `last_image_filename'.
5786 * src/preproc/html/pre-html.cc (char_block::char_block): Initialize
5788 (imageList::createPage, imageList::createImage): Use `free', not
5790 (imageItem::~imageItem): Free `imageName'.
5791 (addRegDef): Use `strsave', not `strdup'.
5792 (get_resolution): Free `pathp'.
5794 2003-02-15 Werner LEMBERG <wl@gnu.org>
5796 * src/devices/grotty/tty.cc (tty_printer::tty_printer): Fix pointer
5799 2003-02-14 Werner LEMBERG <wl@gnu.org>
5801 Add memory management for colors to deallocate unnamed colors
5804 * src/include/color.h (color): New members `free_list' and `next'.
5805 New member functions `new' and `delete'.
5807 * src/libs/libgroff/color.cc: Implement it.
5809 * src/libs/libgroff/font.cc (font::add_kern): Use integer cast
5810 for array size of new operator.
5812 * src/libs/libdriver/input.cc (IntArray::operator[]): Remove
5813 redundant comparison.
5815 * src/roff/troff/input.cc (word_space_node::reread,
5816 hmotion_node::reread): Avoid warning about unused parameter.
5817 (reset_output_registers): Remove redundant parameter.
5818 (define_color): Undo change 2003-02-12.
5820 * src/roff/troff/reg.h: Updated.
5822 * src/roff/troff/node.cc (troff_output_file::really_print_line,
5823 output_file::put_filename, real_output_file::really_put_filename,
5824 ascii_output_file::really_print_line,
5825 break_char_node::get_hyphen_list): Avoid warning about unused
5827 (suppress_node::tprint): Updated.
5829 * configure.ac: Check declaration for rand() and srand().
5830 * configure: Regenerated.
5832 * src/preproc/pic/pic.h: Declare fmod(), rand(), and srand()
5834 * src/preproc/pic/pic.y: Remove declaration of fmod(), rand(),
5837 * src/preproc/eqn/delim.cc (delim_table): Add missing initializers
5838 to avoid compiler warnings.
5840 * src/preproc/grn/hgraph.cc (HGPrintElt): Second parameter is
5843 * src/devices/grops/ps.cc (ps_printer::set_char): Last parameter
5845 * src/devices/grops/psrm.cc (skip_possible_newline): Remove first
5847 Updated all callers.
5849 * src/devices/grotty/tty.cc (tty_printer::set_char): Last parameter
5851 * src/devices/grodvi/dvi.cc (dvi_printer::set_char): Ditto.
5852 * src/devices/grolj4/lj4.cc (lj4_printer::set_char): Ditto.
5854 * src/devices/grohtml/post-html.cc (html_printer::emit_line):
5855 Parameter is unused.
5856 (html_printer::add_table_end): Define parameter conditionally.
5857 * src/devices/grohtml/output.cc (simple_output::special): Parameter
5860 * src/devices/grolbp/lbp.cc: Define _GNU_SOURCE conditionally.
5861 (lbp_printer::set_char): Last parameter is unused.
5863 * src/utils/indxbib/indxbib.cc (main): Remove redundant comparison.
5865 2003-02-13 Werner LEMBERG <wl@gnu.org>
5867 New commands \D'Fr ...', \D'Fc ...', etc. for orthogonality.
5868 Make \D'f ...' move horizontally again for backwards compatibility.
5869 Replace it with \D'Fg ...' where appropriate to avoid dependency
5870 on horizontal resolution.
5872 * src/roff/troff/input.cc (do_get_long_name): New function.
5873 (get_long_name): Call it.
5875 (read_draw_node): Handle `\D'Fx ...' by calling ...
5876 (read_color_draw_node): New function.
5878 (read_rgb, read_cmy, read_cmyk, read_gray): New optional argument
5880 Pass it to `do_get_long_name' which is used instead of
5883 * src/libs/libdriver/input.cc (color_from_Df_command): Remove
5884 unnecessary value guard.
5885 (parse_D_command) <'f'>: Add horizontal shift.
5887 * src/preproc/grn/hgraph.cc (HGPrintElt) <POLYGON>: Use \D'Fg ...'.
5888 * src/preproc/pic/troff.cc (troff_output::set_fill): Ditto.
5889 (FILL_MAX): Removed.
5891 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
5894 2003-02-12 Werner LEMBERG <wl@gnu.org>
5896 * src/roff/troff/input.cc (do_name_test, do_expr_test,
5897 do_zero_width): Push `\n' if closing delimiter is missing.
5899 (token::next) <ESCAPE_NEWLINE>, <'\n'>, <\'\n'>: Reset `have_input'.
5900 <'F'>: Make \F non-transparent at the beginning of line.
5901 (process_input_stack) <token::TOKEN_CHAR, token::TOKEN_NEWLINE,
5902 token::TOKEN_REQUEST, token::TOKEN_BEGIN_TRAP>: Don't handle
5905 (define_color): Free color in case of reassignment.
5907 * doc/groff.texinfo (@Defesc, @DefescList, @DefescItem,
5908 @DefescListEnd): Use @Var, not @var.
5911 * src/preproc/grn/hgraph.cc (HGPrintElt): Fix typo.
5913 * src/preproc/pic/object.cc (object_spec::~object_spec): Free
5914 `shaded' and `outlined' arrays.
5915 (object_spec::object_spec): Initialize `shaded' and `outlined'.
5916 (graphic_object::set_fill_color, graphic_object::set_outline_color):
5918 (closed_object::set_fill_color): Ditto.
5919 * src/preproc/pic/troff.cc (troff_output::set_color): Use strsave
5921 (troff_output::reset_color): Use a_delete instead of free.
5922 * src/preproc/pic/main.cc (do_file): Free `out' in case of error.
5924 2003-02-11 Werner LEMBERG <wl@gnu.org>
5926 * doc/groff.texinfo: Improve documentation of `ad'.
5927 Document that \D'f...' is dependent on the horizontal resolution.
5928 * man/groff_diff.man: Improve documentation of \D'f...'.
5930 * src/preproc/grn/hgraph.cc (HGPrintElt) <POLYGON>: Don't emit
5931 compensating \h'...' for \D'f ...' since the latter no longer moves
5933 * src/preproc/pic/troff.cc (troff_output::set_fill): Ditto.
5935 2003-02-10 Werner LEMBERG <wl@gnu.org>
5937 Improve error messages for `x F' (and `F') commands.
5939 * src/include/error.h: Add declaration for
5940 `current_source_filename'.
5941 * src/libs/libgroff/filename.cc: Add `current_source_filename'.
5942 * src/libs/libgroff/error.cc (do_error_with_file_and_line): Add
5943 parameter for source file string.
5944 Updated all callers.
5946 * src/libs/libdriver/input.cc: Add `current_source_filename'.
5947 (remember_source_filename): New function.
5948 (parse_x_command <'F'>, do_file <'F'>): Use it.
5950 2003-02-09 Werner LEMBERG <wl@gnu.org>
5952 Make grotty not emit warnings about unknown colors more than
5955 * src/devices/grotty/tty.cc: Include `ptable.h'.
5956 (TTY_MAX_COLORS): Removed.
5957 (DEFAULT_COLOR_IDX): Defined to -1.
5958 (glyph): Change `back_color_idx' and `fore_color_idx' to `char'.
5959 (tty_printer): Change `curr_back_idx' and `curr_fore_idx' to `char'.
5960 Change `tty_colors' to be a ptable.
5961 First arg of `put_color' is now `char'.
5962 New functions `make_rgb_string' and `tty_color'.
5963 (tty_printer::tty_printer): Use `tty_color'.
5964 (tty_printer::color_to_idx): Return value is now `char'.
5967 * src/include/color.h (color): Add `print_color' member function.
5968 * src/libs/libgroff/color.cc (color::print_color): Implement it.
5970 2003-02-08 Werner LEMBERG <wl@gnu.org>
5974 * src/devices/grops/ps.cc (ps_printer::define_encoding): Close
5977 * src/include/ptable.h (PTABLE::~PTABLE, PTABLE::define): Always
5978 assume that value has been allocated with `new[]', thus use
5979 `a_delete' for deallocation.
5981 * src/libs/libdriver/input.cc (get_integer_arg,
5982 get_possibly_int_args, parse_x_command, do_file): Use `a_delete'
5985 * src/libs/libgroff/new.cc (delete) [!COOKIE_BUG]: Define.
5986 * src/libs/libgroff/nametoindex.cc
5987 (character_indexer::named_char_index): Use `new <type>[1]'.
5989 * src/preproc/eqn/lex.cc (init_table, do_definition): Use `new
5991 * src/preproc/eqn/text.cc (set_special_char_type): Ditto.
5992 (split_text): Use `a_delete'.
5994 * src/preproc/pic/pic.y (define_label, define_variable): Use `new
5997 * src/roff/troff/env.cc (environment::choose_breakpoint): Avoid
5998 harmless memory leak.
5999 (hyphen_trie::read_patterns_file): Initialize `buf'.
6000 * src/roff/troff/node.cc (troff_output_file::troff_output_file):
6001 Initialize `current_fill_color'and `current_glyph_color'.
6002 * src/roff/troff/glyphuni.cc
6003 (glyph_to_unicode_init::glyph_to_unicode_init): Use `new <type>[1]'.
6004 * src/roff/troff/uniuni.cc
6005 (unicode_decompose_init::unicode_decompose_init): Ditto.
6006 * src/roff/troff/uniglyph.cc
6007 (unicode_to_glyph_init::unicode_to_glyph_init): Ditto.
6009 2003-01-26 Werner LEMBERG <wl@gnu.org>
6011 * src/utils/indxbib/indxbib.cc (main) [__EMX__]: Check with
6012 `access' before calling `unlink'.
6013 (do_file): Handle __EMX__.
6015 * src/include/nonposix.h: Handle __EMX__.
6017 * Makefile.in (SEP): New variable; set to @PATH_SEPARATOR@.
6018 (fontpath,tmacpath): Use it.
6020 Sorted alphabetically.
6022 * src/preproc/eqn/neqn.sh, src/roff/nroff/nroff.sh: Use
6024 * src/preproc/eqn/Makefile.sub, src/roff/nroff/Makefile.sub: Handle
6027 2003-01-27 Werner LEMBERG <wl@gnu.org>
6029 * src/libs/libgroff/strcasecmp.c, src/libs/libgroff/strncasecmp.c:
6030 New files, copied from gnulib.
6031 * src/libs/libgroff/Makefile.sub (CSRCS): Add them.
6032 * configure.ac: Updated.
6033 * configure: Regenerated.
6035 * src/include/config.hin: Regenerated.
6036 * src/include/lib.h [!HAVE_STRCASECMP]: Declare `strcasecmp'.
6037 Don't define `strcasecmp' as `strcmp'.
6038 [!HAVE_STRNCASECMP]: Declare `strncasecmp'.
6039 Dont define `strncasecmp' as `strncmp'.
6041 * src/roff/groff/pipeline.c [!HAVE_STRCASECMP, !HAVE_STRNCASECMP]:
6044 2003-01-26 Werner LEMBERG <wl@gnu.org>
6046 * src/utils/indxbib/indxbib.cc (main) [__EMX__]: Fix typo:
6049 2003-01-25 Werner LEMBERG <wl@gnu.org>
6051 * doc/groff.texinfo (Ligatures and Kerning): Mention limitations.
6053 2003-01-24 Werner LEMBERG <wl@gnu.org>
6055 Add US-english hyphenation exceptions (converted from Barbara
6056 Beeton's hyphenation exception log reports which appear irregularly
6059 * tmac/hyphen.us: Updated to latest version.
6060 * tmac/README: Updated.
6061 * tmac/hyphenex.us, tmac/hyphenex.sh: New files.
6062 * tmac/troffrc: Load `hyphenex.us'.
6063 * tmac/Makefile.sub (NORMALFILES): Add `hyphenex.us'.
6064 * doc/groff.texinfo: Updated.
6066 2003-01-23 Werner LEMBERG <wl@gnu.org>
6068 Improve hyphenation slightly. This is a first step in redesigning
6069 the hyphenation algorithm to make it more flexible (e.g. allowing
6070 kerns and ligatures between the hyphenation character and the
6071 following character -- while not used normally in English, other
6072 languages like German would benefit).
6074 * src/roff/troff/env.cc (environment::hyphenate_line): Use
6075 assertion instead of if-clause.
6076 Let `get_hyphen_list' return the number of involved characters in
6077 the hyphenation pattern instead of computing it directly (which
6078 often yields too small values).
6079 * src/roff/troff/node.h (*::get_hyphen_list): Add second parameter.
6080 * src/roff/troff/node.cc (*::get_hyphen_list): Handle new second
6083 2003-01-22 Werner LEMBERG <wl@gnu.org>
6085 Fixing a bug which caused groff to hang if the hyphenation exception
6086 dictionary tried to grow.
6088 * src/roff/troff/env.cc (hyphen_trie::insert_hyphenation,
6089 hyphen_trie::read_patterns_file, do_hyphenation_patterns_file): Use
6090 pointer to dictionary.
6092 2003-01-20 Werner LEMBERG <wl@gnu.org>
6094 * src/utils/afmtodit/afmtodit.pl: Add switch `-m' to suppress
6095 negative left italic correction.
6096 * src/utils/afmtodit/afmtodit.man: Document it.
6098 * font/devps/generate/Makefile (RFLAG): Add `-m'.
6099 * font/devps/{AB,AR,BMB,BMR,CB,CR,EURO,HB,HR,HNB,HNR,NB,NR,PB,PR,
6100 S,TB,TR,ZD,ZDR}: Regenerated with afmtodit options `-i 0 -m'.
6104 2003-01-16 Werner LEMBERG <wl@gnu.org>
6108 2003-01-16 Jörgen Grahn <jgrahn@algonet.se>
6110 * src/preproc/refer/refer.man: Mention REFER environment variable.
6112 2003-01-05 Werner LEMBERG <wl@gnu.org>
6114 Similar to \[is], the square root glyph (\[sr]) and the square root
6115 extension glyph (\[radicalex]) are now text symbols. The new
6116 mathematical versions are called \[sqrt] and \[sqrtex],
6119 * font/devX*/S: Regenerated.
6120 * font/devdvi/generate/texex.map: Rename `sr[0123]' to `sqrt[0123]'.
6121 * font/devdvi/generate/texsy.map: Rename `sr' to `sqrt'.
6122 * font/devdvi/EX, font/devdvi/S: Regenerated.
6123 * font/devhtml/R.proto, font/devutf8/R.proto: Add `sqrt'.
6124 * font/devlj4/generate/special.map: Add `sqrt'.
6125 * font/devlj4/S: Regenerated.
6126 * font/devps/generate/textmap: Add `sqrt'.
6127 * font/devps/S, font/devps/symbolmap: Regenerated.
6129 * src/preproc/eqn/sqrt.cc (SQRT_CHAR, RADICAL_EXTENSION_CHAR,
6130 SQRT_CHAIN, BAR_CHAIN): Use `sqrt*' and `sqrtex*'.
6131 * src/roff/troff/input.cc (init_charset_table): Make `sqrtex'
6132 overlap horizontally.
6134 * tmac/X.tmac, tmac/ps.tmac, tmac/lj4.tmac: Add `sqrtex'.
6135 * tmac/dvi.tmac: Add `sr', and `sqrtex'.
6138 * doc/groff.texinfo, man/groff_diff.man: Document that `radicalex'
6139 and `sqrtex' are overlapping glyphs.
6141 2003-01-04 Werner LEMBERG <wl@gnu.org>
6143 * font/devdvi/generate/texsy.map: Add `is'.
6144 * font/devps/symbolmap: Regenerated.
6145 * font/devdvi/*TC, MI, S: Regenerated.
6147 * tmac/dvi.tmac: Remove `is'.
6149 2003-01-03 Werner LEMBERG <wl@gnu.org>
6151 `is' is now a text symbol (only relevant for dvi). The math variant
6152 can be accessed with `integral'.
6154 * font/devX*/S: Regenerated.
6155 * font/devdvi/generate/texex.map: Remove `is'.
6156 * font/devdvi/EX: Updated.
6157 * font/devhtml/R.proto, font/devutf8/R.proto: Add `integral'.
6158 * font/devlj4/generate/special.map: Ditto.
6159 * font/devlj4/S: Regenerated.
6160 * font/devps/generate/textmap: Add `integral'.
6161 * font/devps/S: Regenerated.
6163 * tmac/dvi.tmac: Define `is'.
6165 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `integral'.
6167 * src/preproc/tbl/main.cc (process_format): Fix error message.
6169 2003-01-02 Werner LEMBERG <wl@gnu.org>
6171 * font/devhtml/R.proto, font/devutf8/R.proto: Add `ne' and `nc'.
6172 * font/devps/textmap: Fix entries for `ne' and `nc'.
6173 * font/devps/symbolmap: Regenerated.
6175 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list),
6176 src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `18',
6177 `38', `58', `78', `-+', `|=', `nc', `ne'.
6179 * tmac/dvi.tmac: Add `nm', `ne', `nc'.
6180 Use `schar' for `aq'.
6181 * tmac/ps.tmac, tmac/X.tmac: Add `nc' and `ne'.
6182 * tmac/ec.tmac: Add `SC' to special fonts for `CW' and `CWI'.
6183 * tmac/tty.tmac: Add `ne'.
6185 * src/roff/troff/node.cc (make_glyph_node): Test with `get_macro'
6186 for fallback glyphs.
6188 2002-12-29 Werner LEMBERG <wl@gnu.org>
6192 * font/devX*/*: Regenerated.
6193 * font/devdvi/generate/ec.map: Remove `eq'.
6194 * font/devdvi/generate/texsy.map: Make `~=' the same as `~~'.
6195 Assign `|=' to position 39.
6196 * font/devdvi/*EC, S: Regenerated.
6197 * font/devhtml/R.proto, font/devutf8/R.proto: Add `|='.
6198 * font/devlj4/generate/special.map: Make `~=' the same as `~~'.
6199 Assign `|=' to position 549.
6200 * font/devps/generate/textmap, font/devps/enerate/symbolmap: Remove
6202 Add `uni2243' for `|='.
6204 * tmac/ec.tmac: Add `eq'.
6205 * tmac/dvi.tmac: Add `=~'.
6206 * tmac/tty-char.tmac, tmac/ps.tmac, tmac/X.tmac, tmac/lbp.tmac: Add
6209 2002-12-21 Werner LEMBERG <wl@gnu.org>
6211 * font/devdvi/generate/tc.map: Remove `**'.
6212 * font/devdvi/*TC: Regenerated.
6213 * font/devhtml/R.proto, font/devutf8/R.proto: Add `18', `38', `58',
6215 * font/devutf8/NOTES: Updated.
6217 * src/roff/troff/charinfo.h (charinfo): Add `setx_macro' function.
6218 Don't give default parameter to `set_macro'.
6219 * src/roff/troff/input.cc (do_define_character): Use `setx_macro'
6220 instead of `set_macro'.
6221 (charinfo::setx_macro): Implement it.
6222 (charinfo::set_macro): Don't change `mode'.
6224 * tmac/tty.tmac: Add `18', `38', `58', `78', `<<', `>>'.
6225 * tmac/ps.tmac, tmac/X.tmac: Add `<<', `>>'.
6226 * tmac/dvi.tmac: Define `!=' with `.schar'.
6228 2002-12-20 Werner LEMBERG <wl@gnu.org>
6230 * font/devX*/S: Regenerated.
6231 * font/devdvi/generate/ec.map: Remove `pl'.
6232 * font/devdvi/generate/tc.map: Remove `mi', `14', `12', `34'.
6233 * font/devdvi/*{TC,EC}: Regenerated.
6234 * font/devhtml/R.proto: Add `-+'.
6235 Remove double entries for `rk', `lk', `lt', `rt', `rb', `lb'.
6236 * font/devlbp/*: Remove `or'.
6237 * font/devlj4/generate/special.map: Remove `or'.
6238 * font/devlj4/S: Regenerated.
6239 * font/devps/generate/textmap: Add `fiveeighths', `oneeighth',
6240 `seveneighths', `threeeighths'.
6242 Replace `minusplus' with `uni2213'.
6243 * font/devps/symbolmap: Regenerated.
6244 * font/devutf8/R.proto: Replace `shc' with unnamed glyph.
6247 * src/roff/troff/charinfo.h (charinfo): Add `is_normal' inline
6249 * src/roff/troff/node.cc (troff_output_file::put_char_width):
6250 Call glyph_color and fill_color even if tcommand_flag isn't set.
6251 (make_node, node::add_char): Check not ci->is_fallback but
6254 * tmac/lj4.tmac, tmac/lbp.tmac: Define `or'.
6255 * tmac/ec.tmac: Add .rchar entry for `f/'.
6256 Don't remove `12', `14', `34'.
6257 Define `pl' to be always roman.
6258 * tmac/ps.tmac (ps-frac, ps-frac-mono): New macros.
6259 Define `18', `38', `58', `78'.
6260 * tmac/tty.tmac: Add `-+'.
6261 * tmac/dvi.tmac: Define `f/'.
6262 (dvi-frac): Use `f/'.
6263 * tmac/X.tmac (X-frac, X-frac-mono): New macros.
6264 Define `18', `38', `58', `78'.
6266 2002-12-15 Colin Watson <cjwatson@debian.org>
6268 * contrib/pic2graph/pic2graph.sh: Add missing `;;'.
6270 2002-12-10 Werner LEMBERG <wl@gnu.org>
6272 Add glyph `tno', a textual variant of `no'.
6274 * font/devX*/*: Regenerated.
6275 * font/{devcp1047,devlatin1,devutf8,devhtml}/R.proto: Add `tno'.
6276 * font/devdvi/generate/{tc.map: Replace `no' with `tno'.
6277 * font/devdvi/generated/{texsy,textex}.map: Add `tno'.
6278 * font/devdvi/*: Regenerated.
6279 * font/devlbp/*: Add `tno'.
6280 * font/devlj4/generate/tex.map: Replace `no' with `tno'.
6281 * font/devlj4/*: Regenerated.
6282 * font/devps/generate/textmap: Replace `no' with `tno'.
6283 * font/devps/generate/symbolchars: Add `no'.
6284 * font/devps/*: Regenerated.
6286 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `tno'.
6288 * tmac/cp1047.tmac, tmac/latin1.tmac: Replace `no' with `tno'.
6289 * tmac/tty-char.tmac: Add entry for `tno' and `3d'.
6293 * tmac/dvi.tmac: Replace most `\\' with `\E'.
6294 Add definition for `sd'.
6295 * tmac/X.tmac, tmac/ps.tmac: Replace most `\\' with `\E'.
6297 * tmac/eqnrc <dvi>: Use `integral' instead of `is' glyph.
6299 2002-12-08 Werner LEMBERG <wl@gnu.org>
6301 * tmac/an-old.tmac (TH): Use integer value for `IN' if in nroff
6302 mode to avoid rounding errors.
6303 (an-do-tag, an-do-tag-html, RS, RE): Remove redundant `.br'.
6305 * src/roff/groff/groff.man, src/roff/nroff/nroff.man,
6306 src/roff/troff/troff.man: Improve documentation of -T.
6308 2002-12-07 Jeff Conrad <jeff_conrad@msn.com>
6310 * src/roff/groff/pipeline.c: Don't define `const' for _WIN32.
6311 (run_pipeline) [_WIN32]: Provide working function without `fork'.
6313 2002-12-06 Werner LEMBERG <wl@gnu.org>
6315 * font/devps/generate/freeeuro.sfd: Make dimensions of Euro.symbol
6316 glyphs compatible to Adobe's Euro fonts (scaling them down a bit).
6317 Scaling Euro.sansserif glyphs down to have the same height as
6319 Removed unnecessary points; added some extrema.
6321 * font/devps/EURO, font/devps/freeeuro.afm, font/devps/freeeuro.pfa:
6324 2002-12-04 Werner LEMBERG <wl@gnu.org>
6326 * font/devps/generate/freeeuro.sfd: Add glyphs `Euro.symbol.slanted'
6327 and `Euro.symbol.bold.slanted'.
6328 Improve some glyph offsets and widths.
6329 * font/devps/EURO, font/devps/freeeuro.afm, font/devps/freeeuro.pfa:
6331 * font/devps/generate/Makefile (freeeuro.afm freeeuro.pfa): Fix
6333 * font/devps/generate/sfdtopfa.pe: Generate PFA in current
6336 * tmac/europs.tmac: Updated to new glyph indices.
6337 Use Euro.symbol for font familiy `A'.
6339 * doc/groff.texinfo: Minor improvements.
6341 2002-12-02 Werner LEMBERG <wl@gnu.org>
6343 * font/devdvi/generate.tc.map: s/%O/%0/.
6344 * font/devdvi/*TC: Regenerated.
6346 * src/roff/troff/div.cc (init_div_requests): Sorted.
6348 * tmac/dvi.tmac: Remove `Ye'.
6349 * tmac/ec.tmac: Remove `Ye'.
6350 Add .rchar entry for `de'.
6352 * man/groff.man, man/groff_diff.man: Document register `.pe'.
6353 * doc/groff.texinfo: Document registers `.pe', `.n', and `.w'.
6356 2002-11-30 Werner LEMBERG <wl@gnu.org>
6358 Add PS font for various Euro glyphs.
6360 * font/devps/generate/freeeuro.sfd: New master font file for
6362 * font/devps/generate/sfdtopfa.pe: New conversion script for
6364 * font/devps/generate/Makefile (FONTS): Add `EURO'.
6365 (EURO, freeeuro.afm, freeeuro.pfa): New rules.
6366 * font/devps/freeeuro.pfa, font/devps/freeeuro.afm: Generated from
6368 * font/devps/EURO: Generated from `freeeuro.afm'.
6369 * font/devps/download: Add `freeuro.pfa'.
6370 * font/devps/Makefile.sub (NORMALFILES): Adde `EURO' and
6373 * tmac/europs.tmac: New file.
6374 * tmac/ps.tmac: Include `europs.tmac'.
6375 * tmac/Makefile.sub (DISTFILES): Add `europs.tmac'.
6377 2002-11-29 Werner LEMBERG <wl@gnu.org>
6379 * font/devdvi/generate/texsy.map: Remove `lh' and `rh'.
6380 * font/devdvi/S: Regenerated.
6381 * font/devhtml/R.proto: Fix `CR' and `ci'.
6383 * font/devps/generate/textmap: Fix `lh', `rh', and `sq'.
6385 * font/devps/symbolmap: Regenerated.
6386 * font/devutf8/R.proto: Fix `CR' and `ci'.
6388 * font/devutf8/NOTES: Updated.
6390 * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Fix `CR' and
6393 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Ditto.
6395 * tmac/dvi.tmac: Add `lh' and `rh'.
6396 * tmac/Xps.tmac: Fix `lh' and `rh'.
6397 * tmac/X.tmac: Add `OK'.
6398 * tmac/lj4.tmac: Ditto.
6400 2002-11-24 Werner LEMBERG <wl@gnu.org>
6402 * font/devX*/S: Regenerated.
6403 * font/devascii/R.proto, font/devcp1047/R.proto: Remove glyphs `lb',
6404 `lc', `lf', `lk', `lt', `rb', `rc', `rf', `rk', and `rt'.
6405 * font/devdvi/generate/texsy.map: Remove `or' glyph.
6406 * font/devdvi/S: Regenerated.
6407 * font/devhtml/R.proto, font/devutf8/R.proto: Add/fix glyphs
6408 `parenlefttp', `parenleftex', `parenleftbt', `parenrighttp',
6409 `parenrightex', `parenrightbt', `bracketlefttp', `bracketleftex',
6410 `bracketleftbt', `bracketrighttp', `bracketrightex',
6411 `bracketrightbt', `bracelefttp', `braceleftmid', `braceleftbt',
6412 `braceex', `braceleftex', `bracerightex', `bracerighttp',
6413 `bracerightmid', `bracerightbt', `lt', `lk', `lb', `rt', `rk',
6415 * src/roff/troff/glyphuni.cc, src/roff/troff/uniglyph.cc: Ditto.
6416 * font/devutf8/NOTES: Updated.
6417 * font/devlj4/generate/special.map: Add glyph `braceex'.
6418 * font/devlj4/S: Regenerated.
6420 * tmac/tty-char.tmac: Add glyphs `lf', `rf', `lc', and `rc'.
6422 2002-11-14 Werner LEMBERG <wl@gnu.org>
6424 * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `va'
6427 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Ditto.
6429 * doc/texinfo.tex: New version from texinfo 4.3.
6430 * doc/groff.texinfo: Updated for texinfo 4.3.
6431 Use @tie{} where appropriate.
6432 * font/devdvi/generate/ec.map: Don't include `or' and `bv'.
6433 * font/devdvi/generate/tc.map: Remove `rn'.
6434 * font/devdvi/*TC, font/devdvi/*EC: Regenerated.
6435 * font/devhtml/R.proto, font/devutf8/R.proto: Add `vA'.
6437 * font/devX100/*, font/devX100-12/*, font/devX75/*,
6438 font/devX75-12/*: Regenerated.
6440 * tmac/dvi.tmac: Add special fonts `SA' and `SB'.
6441 Use .char (again) for `br', `ul', `rn', `or', and `ru'.
6442 Improve definition of `an'.
6443 * tmac/ps.tmac: Use .char (again) for `br', `ul', `rn', `or', and
6445 * tmac/lj4.tmac: Use .char (again) for `br', `ul', `rn', and `ru'.
6446 * tmac/X.tmac: Add definition for `or'.
6447 * tmac/Xps.tmac: Undo change 2002-11-05.
6448 * tmac/lbp.tmac: Add definitions for `br', `rn', `ul', and `ru'.
6450 2002-11-11 Werner LEMBERG <wl@gnu.org>
6452 * src/roff/troff/node.cc (troff_output_file::put_char): Always
6455 2002-11-10 Werner LEMBERG <wl@gnu.org>
6457 Added three new requests `schar', `fschar', and `rfschar'. `schar'
6458 defines a glyph which is searched after the check for fonts declared
6459 with `.special' (and before the check for all mounted special
6460 fonts). `fschar' defines a glyph for a particular font which is
6461 searched after the check for fonts declared with `.fspecial' (and
6462 before the check for fonts declared with `.special'). `rfschar'
6463 removes glyphs defined with `fschar'.
6465 * src/roff/troff/token.h (char_mode): New enum.
6466 Declare do_define_character.
6467 * src/roff/troff/charinfo.h (charinfo): Replace `fallback' with
6469 (charinfo::is_fallback): Updated.
6470 (charinfo::is_special): New method.
6471 * src/roff/troff/input.cc (do_define_character): Add and use
6472 optional second parameter used as a prefix for font-specific glyph
6474 (define_character, define_fallback_character): Updated.
6475 (define_special_character): New function.
6476 (init_input_requests): Add `schar'.
6477 (charinfo::charinfo, charinfo::set_macro): Updated.
6478 * src/roff/troff/node.cc: Include `stringclass.h'.
6479 (make_glyph_node): Handle special glyphs defined with `.schar' and
6481 (define_font_special_character, remove_font_special_character): New
6483 (init_node_requests): Sorted.
6484 Add `fschar' and `rfschar'.
6485 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
6486 Document new requests.
6488 * font/devhtml/R.proto, font/devutf8/R.proto: Add `va'.
6489 * tmac/dvi.tmac: Add `va' for CW and CWI (using `.fschar').
6491 2002-11-08 Werner LEMBERG <wl@gnu.org>
6493 Added new font `SC' (cmtex10) to devdvi.
6495 * devdvi/generate/Makefile (FONTS): Add `SC'.
6497 * devdvi/generate/textex.map: New map file for cmtex.
6499 * devdvi/Makefile.sub (DEVFILES): Updated.
6500 * tmac/dvi.tmac: Add fspecial entries for SC.
6501 Add `MI', `S' and `CW' to the `special' call. Otherwise, `SC' is
6502 found before `S' since the font position of `SC' is lower due to the
6503 gaps in DESC's `font' line.
6504 * tmac/ec.tmac: Add a `special' call.
6507 * font/devhtml/R.proto: Remove double entry for `ti'.
6508 * tmac/tty.tmac: Add entries for `IJ', `ij', and `bq'.
6509 * tmac/tty-char.tmac: Remove entry for `bq'.
6510 * tmac/lbp.tmac: Add entries for `lq', `rq', `fo', `fc', and `em'.
6511 * tmac/ec.tmac: Don't remove `aq' glyph.
6512 * tmac/X.tmac: Fix entry for `em'.
6513 Add entries for `fo' and `fc'.
6514 * tmac/dvi.tmac: Add entries for `em', `en', `hy', `fo', and `fc'.
6516 * doc/groff.texinfo, man/groff.man, man/groff_diff.man: Fix
6517 documentation of `special' and `fspecial' requests.
6519 2002-11-05 Werner LEMBERG <wl@gnu.org>
6521 * font/devascii/R.proto, font/devcp1047/R.proto,
6522 font/devlatin1/R.proto: Remove entry for `.i'.
6523 * font/devdvi/generate/textt.map: Add entry for `ad'.
6524 * font/devdvi/generate/texr.map, font/devdvi/generate/texb.map,
6525 font/devdvi/generate/texi.map: Add dummy glyph name `slash@for@l'.
6526 We need this for getting kerning values to compose `/l' and `/L'.
6527 * font/devdvi: Regenerated font definition files for CM fonts.
6528 * font/devhtml/R.proto: Add entries for "'C", "'c", `IJ', and `ij'.
6529 * font/devutf8/R.proto: Ditto.
6530 Remove double entry for `ti'.
6532 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Fix entries
6533 for (groff) ligatures, `la', and `ra'.
6534 Add "'C", "'c", `IJ', and `ij'.
6535 Remove double entry for `ti'.
6536 * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Remove all
6538 Add "'C", "'c", `IJ', and `ij'.
6539 Fix entries for (groff) ligatures, `la', and `ra'.
6541 * tmac/ps.tmac (ps-achar): New macro.
6542 Define "'c" and "'C".
6543 * tmac/tty.tmac: Add entry for `.i'.
6544 * tmac/X.tmac (X-achar): New macro.
6545 Define "'c", "'C", and `:Y'.
6546 Add entries for `IJ' and `ij'.
6547 * tmac/Xps.tmac (Xps-achar): New macro.
6548 Define "'c" and "'C".
6549 Add entries for `IJ' and `ij'.
6550 * tmac/lbp.tmac (lbp-achar): New macro.
6551 Add fallback characters for all groff ligatures and many other
6553 * tmac/dvi.tmac: Fix definitions of `_' and `ul'.
6554 Add entries for `/l' and `/L'.
6555 Define "'c" and "'C".
6556 Add entries for `IJ' and `ij'.
6558 2002-11-02 Larry Kollar <kollar@alltel.net>
6560 * PROBLEMS: Document how to solve Mac OS X compilation problems.
6562 2002-11-02 Werner LEMBERG <wl@gnu.org>
6564 Adding support for composite glyphs: \[xxx yyy ...] and the
6565 `composite' request.
6567 * src/roff/troff/glyphuni.cc: New file for mapping groff glyph names
6568 to Unicode-based glyph names.
6569 * src/roff/troff/uniglyph.cc: New file for mapping Unicode-based
6570 glyph names to groff glyph names.
6571 * src/roff/troff/uniuni.cc: New file for canonically decomposing
6572 Unicode-based glyph names.
6573 * src/roff/troff/unicode.cc, src/roff/troff/unicode.h: New files
6574 for handling Unicode glyph names.
6575 * src/roff/troff/input.cc: Include unicode.h.
6576 (composite_glyph_name): New function.
6577 (token::next) <'['>: Handle Unicode glyph names and composite
6579 (composite_dictionary): New dictionary for the `composite' request.
6580 (composite_request): Implement `composite' request.
6581 (init_input_requests): Add `composite'.
6582 Alphabetically sorted.
6583 * src/roff/troff/env.cc (tabs_save, tabs_restore): Removed (already
6585 (init_env_requests): Alphabetically sorted.
6586 Removed `tas' and `tar' (already commented out).
6587 * src/roff/troff/Makefile.sub: Updated.
6589 2002-10-31 Ruslan Ermilov <ru@FreeBSD.org>
6591 * src/roff/nroff/nroff.man, src/roff/nroff/nroff.sh: Fix description
6594 2002-10-29 Werner LEMBERG <wl@gnu.org>
6596 Fix computation of .trunc register. Additionally, its value (and
6597 the value of the .ne register) is now always set before entering the
6600 * src/roff/troff/div.cc (diversion::need): Set `truncated_space' and
6601 `needed_space' before calling `space'.
6602 (top_level_diversion::space): Remove special code for 'sp before the
6604 Call `begin_page' with the discarded space as a parameter.
6605 (top_level_diversion::begin_page): Add optional parameter to set
6607 * src/roff/troff/div.h: Updated.
6609 * doc/groff.texinfo: Improve documentation of .sp, \n[.trunc], and
6612 * tmac/an-old.tmac (SH, SS, TP, IP, HP, TS): Undo change 2002-10-26.
6613 (LP): Remove superfluous call to `br'.
6614 * tmac/doc-common (doc-paragraph): Undo change 2002-10-26.
6615 * tmac/doc.tmac (Bd, Bl, doc-set-vertical-and-indent): Ditto.
6617 2002-10-26 Werner LEMBERG <wl@gnu.org>
6619 * tmac/doc-ditroff: Remove useless switch/variable -rC.
6620 (doc-setup-header): Don't set page register `%'.
6621 * tmac/doc-nroff: Remove variable `C'.
6622 (doc-setup-page-layout): Set doc-header-space to .5i unconditionally.
6623 (doc-setup-header): Don't set page register `%'.
6625 * tmac/doc-common (doc-header): Call `ns'.
6626 (doc-paragraph): Protect .sp with .br so that it survives traps
6627 possibly set by the user.
6628 * tmac/doc.tmac (Bd, Bl, doc-set-vertical-and-indent): Ditto.
6630 * tmac/doc*: Replace ' with . for consistency if no effect.
6632 2002-10-26 Werner LEMBERG <wl@gnu.org>
6634 * tmac/an-old.tmac (SH, SS, TP, IP, HP, TS): Protect .sp with .br
6635 so that it survives traps possibly set by the user.
6637 * src/roff/troff/node.cc: Fix the changes from 2002-10-23.
6638 (troff_output_file::set_font): Call flush_tbuf if necessary.
6639 (troff_output_file::fill_color, troff_output_file::glyph_color): Call
6640 flush_tbuf and do_motion only if necessary.
6641 (troff_output_file::start_special,
6642 troff_output_file::put_char_width, troff_output_file::put_char,
6643 troff_output_file::draw): Updated.
6644 (word_space_node::tprint, space_node::tprint, hmotion_node::tprint,
6645 vmotion_node::tprint): Undo change 2002-10-23.
6647 2002-10-25 Werner LEMBERG <wl@gnu.org>
6649 * tmac/www.tmac (DC): Fix case of overlapping images.
6651 2002-10-23 Werner LEMBERG <wl@gnu.org>
6653 * src/roff/troff/node.cc (troff_output_file::fill_color,
6654 troff_output_file::glyph_color): Set current color before testing
6656 (troff_output_file::put_char_width, troff_output_file::put_char,
6657 troff_output_file::draw): Don't call flush_tbuf and/or do_motion
6659 (troff_output_file::file_color, troff_output_file::glyph_color):
6661 (word_space_node::tprint, space_node::tprint, hmotion_node::tprint,
6662 vmotion_node::tprint): Move first, then call fill_color.
6664 2002-10-20 Werner LEMBERG <wl@gnu.org>
6666 * doc/groff.texinfo, man/groff_tmac.man: Document that it is not
6667 possible to use multiple main macro packages.
6669 2002-10-19 Werner LEMBERG <wl@gnu.org>
6671 * src/devices/grops/ps.cc (cmyk_flag): New global variable.
6672 (ps_printer::set_color): Set `cmyk_flag' for CMY and CMYK colors.
6673 (ps_printer::~ps_printer): Emit `%%Extensions: CMYK' if `cmyk_flag'
6675 * font/devps/prologue.ps (Fk, Ck): Enclose definitions with a
6676 `where' construction since `cmyksetcolor' is a PS Level 2 operator.
6678 2002-10-16 Werner LEMBERG <wl@gnu.org>
6680 * NEWS, doc/webpage.ms: Updated.
6682 2002-10-14 Werner LEMBERG <wl@gnu.org>
6684 * src/roff/troff/node.cc (troff_output_file::put_char_width,
6685 troff_output_file::put_char, troff_output_file::fill_color,
6686 troff_output_file::glyph_color): Handle case where color pointer
6689 2002-10-13 Ruslan Ermilov <ru@FreeBSD.org>
6691 Add the new -r option to grotty. It is similar to the -i option
6692 except it tells grotty(1) to use the `reverse video' attribute to
6693 render italic fonts.
6695 * src/devices/grotty/tty.cc (reverse_flag): New global variable.
6696 (SGR_REVERSE, SGR_NO_REVERSE): New macros.
6697 (tty_printer::make_underline, tty_printer::put_color,
6698 tty_printer::end_page): Use it.
6699 (main): Add -r switch.
6701 * src/devices/grotty/grotty.man: Document it.
6703 2002-10-11 Ruslan Ermilov <ru@FreeBSD.org>
6705 * src/roff/troff/env.cc (hyphen_trie::read_patterns_file): Add
6706 cast to `unsigned char' to properly read patterns with 8bit
6709 2002-10-08 Werner LEMBERG <wl@gnu.org>
6711 * REVISION: Increased to 2.
6714 version-control: never