1 2006-01-04 Gaius Mulley <gaius@glam.ac.uk>
3 Make -me macros ready for grohtml.
5 * tmac/e.tmac: Load devtag.tmac.
6 (need_eo_h, need_eo_tl, need_tl): New registers.
7 (check_need_title, (x-html, )x-html, xp-html): New macros.
8 (@h, hl, ip, @p, sh, (b, (l, EQ, EN, TS, TE, PS, PE, GS, GE, r, i,
9 b, rb, bi, bx, (x, )x, xp): Adapt for use with grohtml.
10 (bp): Rename to @b only if output device is not html.
12 2007-01-01 Werner LEMBERG <wl@gnu.org>
14 * man/groff_font.man: Document empty lines.
16 * src/utils/afmtodit/afmtodit.pl: Always print a header comment at
17 the very beginning of the output.
20 * font/devps/*: Regenerate font definition files.
22 2007-01-01 Werner LEMBERG <wl@gnu.org>
24 * font/devps/generate/Makefile (AFMTODIT): Use -c flag.
26 * font/devps/*: Regenerate font definition files.
28 2006-12-31 Werner LEMBERG <wl@gnu.org>
30 * Makefile.in (oldfontdir): New variable.
31 (MDEFINES): Add $(oldfontdir).
32 (uninstall_dirs): Remove `current' link.
35 * Makefile.comm (oldfontsubdir): New variable.
36 (install_dev): Install files collected in $(OLDDEVFILES) into
38 (uninstall_dev): Remove data in $(oldfontsubdir).
39 (.man.n): Handle @OLDFONTDIR@.
41 * src/devices/grodvi/grodvi.man, src/devices/grohtml/grohtml.man,
42 src/devices/grolbp/grolbp.man, src/devices/grolj4/grolj4.man,
43 src/devices/grotty/grotty.man, src/devices/xditview/gxditview.man:
44 Document GROFF_FONT_PATH.
46 * src/devices/grops/grops.man: Document GROFF_FONT_PATH and
47 old font description files.
49 * font/devps/Makefile.sub (OLDDISTFILES, OLDDEVFILES): New
52 * font/devps/old/*: New directory, holding the previous version
53 of the 35 Adobe core font description files.
55 * font/devps/*: Regenerated the 35 Adobe core fonts, using the
56 Adobe-Core35_AFMs-229.tar.bz2 bundle from ftp.dante.de.
58 * NEWS: Document font update.
60 2006-12-31 Werner LEMBERG <wl@gnu.org>
62 * font/devps/generate/Makefile (symbolsl.afm): Use $(srcdir).
64 * Makefile.comm (fonts): New (empty) target.
65 * Makefile.in (TARGETS): Add `fonts'.
67 * MANIFEST: Add `chem'.
69 * doc/groff.texinfo (Changing Fonts): Font translations with .ftr
72 2006-12-26 Werner LEMBERG <wl@gnu.org>
74 * src/preproc/grn/hdb.cpp: Include gprint.h later. From NetBSD.
76 2006-12-19 Werner LEMBERG <wl@gnu.org>
78 Add support for German. For activation, simply use -mde or -mden
79 (for traditional and new orthgraphy, respectively) as the last
82 * tmac/de.tmac, tmac/den.tmac, tmac/hyphen.det, tmac/hyphen.den,
83 tmac/hyphenex.det: New files, partly taken from CTAN.
84 * LICENSES: Updated list of hyphenation patterns.
85 * man/groff_tmac.man: Mention de.tmac and den.tmac.
88 2006-12-11 Werner LEMBERG <wl@gnu.org>
90 Support up to 32 macro arguments in pic (and up to 16 on EBCDIC
93 * src/preproc/pic/lex.cpp (ARG1): Redefine. Update all users.
94 (MAX_ARG): New macro. Use it everywhere to replace hard-coded
96 (process_body): Handle argument numbers with more than a single
98 (interpolate_macro_with_args): Protect against exceeding number of
101 * NEWS, src/preproc/pic/pic.man, doc/pic.ms: Document it.
103 2006-12-10 Werner LEMBERG <wl@gnu.org>
105 * Makefile.in (site.exp, docheck): Commented out. Not working
107 (check): Just emit dummy message.
109 2006-12-08 Werner LEMBERG <wl@gnu.org>
111 During installation, create soft link from <version> to `current' in
114 * Makefile.comm (install): Renamed to...
116 (prefix_must_exist): Removed. Code moved to Makefile.in.
118 * Makefile.in (TARGETS): Remove `install'.
120 (install): New target which first creates the directory given by
121 --prefix, then calling `make' to do the installation, and finishing
122 with the creation of the soft link.
124 2006-11-21 Werner LEMBERG <wl@gnu.org>
126 * doc/Makefile.sub (uninstall_sub): Fix names for info files.
128 2006-11-18 Werner LEMBERG <wl@gnu.org>
130 * man/roff.man, doc/groff.texinfo: Improve history of roff, based on
131 information from Tom Van Vleck <thvv@multicians.org>.
133 2006-11-16 Werner LEMBERG <wl@gnu.org>
135 * tmac/62bit.tmac: New macro package.
136 * tmac/Makefile.sub (NORMALFILES): Add it.
139 * tmac/trace.tmac: Protect against being loaded again.
140 (nr): Always show result.
142 * doc/groff.texinfo (Input Encodings): Document latin-5.
144 * man/grof_tmac.man: Document sv, latinX, cp1047, 60bit, ec.
146 2006-11-13 Werner LEMBERG <wl@gnu.org>
148 * doc/groff.texinfo (Page Location Traps) [.wh]: Give more details
149 on negative trap positions.
151 2006-11-10 Werner LEMBERG <wl@gnu.org>
153 * Makefile.comm (.man.n): Handle @DATASUBDIR@.
155 2006-11-09 Werner LEMBERG <wl@gnu.org>
157 * INSTALL: Move information about external installation from
158 INSTALL.gen into this file.
161 * INSTALL.gen: Update to new version (from texinfo CVS).
163 2006-11-09 Bernd Warken
165 * INSTALL.gen: Extend the file by information on `external
166 installation'. Reorder the installation instruction as `normal
169 2006-11-08 Werner LEMBERG <wl@gnu.org>
171 * doc/Makefile.sub (install_data): Take care of proper paths while
172 installing info files. Bug reported by Bernd Warken.
174 2006-11-06 Bernd Warken
176 * src/roff/grog/grog.pl: Rewrite.
177 - Call by `#! /usr/bin/env perl'. That isn't replaced.
178 - Rename usage() to version().
180 - For `use strict', start all global variables with an upper case
181 character. Use `my' for all variables. Use several new variables.
183 - Add copyright to GPL and Emacs comment.
184 - Handle several `-m*' options.
185 - Fix handling of `-ms' and `-mm'. Add .TL and .NH.
186 - Allow options after file names.
187 - Allow only one `-' parameter (standard input).
188 - Add option abbreviations.
189 - Expand the usage information.
191 - Add single quote "'" as additional first character and allow
192 arbitrary space after the first character.
194 * src/roff/grog/grog.sh: Rewrite.
195 - Remove option `-e' of `sed'.
196 - Allow file names with space characters.
198 - Add copyright to GPL.
199 - Handle several `-m*' options.
200 - Fix handling of `-ms' and `-mm'. Add .TL and .NH.
201 - Allow options after file names.
202 - Allow only one `-' parameter (standard input).
203 - Add option abbreviations.
204 - Expand the usage information.
206 - Add single quote "'" as additional first character and allow
207 arbitrary space after the first character.
209 * src/roff/grog/Makefile.sub:
210 - Add copyright to GPL.
211 - Remove `grog:'. Move `grog.old:' to `grog:' in order to have a
212 fair chance to choose between the shell version and the Perl
213 version of `grog'. This is now again comparable to grog in groff
216 * src/roff/grog/grog.man: Rewrite.
217 - Move the license to GPL.
218 - New sections: OPTIONS, DETAILS, EXAMPLES, COPYING.
219 - Take over some setup and macros from `groffer'.
220 - Add information on options.
222 2006-10-28 Werner LEMBERG <wl@gnu.org>
224 * tmac/trace.tmac: Improve tracing of `.nr'.
225 Trace `.substring' also.
229 2006-10-28 Bernd Warken
231 * man/roff.man, src/roff/groff/groff.man: Add `chem', fix position
232 of groff development site, fix fonts.
234 * News: Add information on `chem' and `groffer'.
236 2006-10-26 Bernd Warken
238 * Makefile.in (OTHERDIRS, NOMAKEDIRS): Add `chem' bundle.
240 2006-10-26 Werner LEMBERG <wl@gnu.org>
242 Add `\%^' escape to handle the parameters to a macro as a string
245 * src/roff/troff/input.h (DOUBLE_QUOTE): New special character.
247 * src/roff/troff/input.cpp (input_iterator, input_stack,
248 macro_iterator): Add `space_follows_arg' member function.
249 (macro_iterator::add_arg): Add parameter to set the `space_follows'
251 (arg_list): Add member `space_follows'.
252 Update constructor and all callers.
253 (decode_args): Store discarded double quotes.
254 (interpolate_args): Handle DOUBLE_QUOTE.
256 (get_copy, token::next, composite_glyph_name): Handle DOUBLE_QUOTE.
258 * tmac/trace.tmac: Trace .nr, .ds, .ds1, .as, .as1.
260 * docs/groff.texinfo (Parameters), man/groff.man,
261 man/groff_diff.man, NEWS: Document it.
263 2006-10-24 Bernd Warken
265 * Makefile.in (NOMAKEDIRS): Add groffer subdirectories.
267 2006-10-24 Werner LEMBERG <wl@gnu.org>
269 * tmac/groff_trace.man: Mention problem with `\\\\'.
271 2006-10-23 Werner LEMBERG <wl@gnu.org>
273 * doc/groff.texinfo (Expressions): Improve documentation of `!'.
275 * tmac/trace.tmac (return): Don't call `substring'.
277 2006-09-10 Werner LEMBERG <wl@gnu.org>
279 * src/roff/troff/input.cpp (read_size): Revert previous change
282 * doc/groff.texinfo (Fractional Size Types): Clarify syntax of \s.
284 2006-09-09 Werner LEMBERG <wl@gnu.org>
286 * src/roff/troff/input.cpp (read_size): Fix `\s[-\n[.s]]' so that it
287 behave the same as `\s-[\n[.s]]' (this is, emit a warning and set
288 point size to 1). Reported by Gunnar Ritter.
289 Also catch `\s-[-...]' and friends (causing an error).
291 2006-09-06 Werner LEMBERG <wl@gnu.org>
293 * src/roff/troff/env.cpp (environment::do_break): Insert zero-width
294 space only if there is no previous space. This fixes a bug which
295 caused unwanted filling of the last line in a paragraph. Thanks to
296 Gunnar Ritter for an analysis.
298 2006-09-03 Werner LEMBERG <wl@gnu.org>
300 * src/roff/groff/groff.cpp (main): Pass -U flag to pic also.
301 Reported by Jennifer Sayers <jenjen@isu.usyd.edu.au>.
303 2006-09-01 Nick Stoughton <nick@msbit.com>
304 Werner LEMBERG <wl@gnu.org>
306 Add a request `pev' to print environment information (similar to
307 `pnr' and `ptr' to print number registers and traps).
309 * src/roff/troff/env.h (environment): Add member function print_env.
311 * src/roff/troff/env.cpp: (environment::print_env): New function to
312 print a given environment state.
313 (print_env): New global function to iterate through the
314 environments, printing each one.
315 (init_env_requests): Register `pev'.
317 * doc/groff.texinfo (Debugging), man/groff.man, man/groff_diff.man,
318 NEWS: Document `pev' request.
320 2006-09-01 Bernd Warken
322 * src/preproc/soelim/soelim.cpp (usage): Fix option argument of
325 2006-09-01 Werner LEMBERG <wl@gnu.org>
327 * src/preproc/pic/main.cpp (usage): Add missing options.
329 2006-08-25 Werner LEMBERG <wl@gnu.org>
331 * src/preproc/soelim/soelim.man: Document how to insert `\' and ` '
334 2006-08-19 Werner LEMBERG <wl@gnu.org>
336 * configure: Regenerated.
338 2006-08-18 Keith Marshall <keith.d.marshall@ntlworld.com>
340 * m4/groff.m4 (GROFF_MAKEINFO): Correct `makeinfo version testing
341 logic; it previously caused an `expr' syntax error, if no version of
342 `makinfo' was present. Also, remove dependency on `makeinfo' in VPATH
343 builds, if an up to date `groff.info' is present in either `builddir'
346 2006-08-12 Tadziu Hoffmann <hoffmann@usm.uni-muenchen.de>
348 * font/devps/prologue.ps: Add BPhook.
350 * src/devices/grops/grops.man: Document BPHook.
351 Reorder some sections for better readability.
353 2006-08-12 Werner LEMBERG <wl@gnu.org>
355 * src/include/lib.h (getlocale): New macro.
356 (setlocale, LC_ALL, LC_CTYPE) [!HAVE_SETLOCALE]: Define, as
359 * src/preproc/preconv/preconv.cpp (main): Use getlocale.
361 2006-08-11 Werner LEMBERG <wl@gnu.org>
363 Add new flag to .cflags to enable hyphenation without looking at
366 * src/roff/troff/charinfo.h (charinfo): New enumeration value
368 New member function `ignore_hcodes'.
370 * src/roff/troff/node.cpp (break_char_node::add_self,
371 node::add_char): Updated.
373 * doc/groff.texinfo, man/groff_diff.man, NEWS: Document it.
375 2006-08-09 Werner LEMBERG <wl@gnu.org>
377 Support composite Unicode characters again. Reported by Colin.
379 * font/devhtml/R.proto: Renamed to...
380 * font/devhtml/R.in: This.
382 * font/devutf8/R.proto: Renamed to...
383 * font/devutf8/R.in: This.
386 * font/make-Rproto: New script.
387 * font/devhtml/R.proto, font/devutf8/R.proto: Generated.
389 2006-07-26 Werner LEMBERG <wl@gnu.org>
391 * README: Fix description of CVS access. Reported by Joachim.
393 2006-07-11 Werner LEMBERG <wl@gnu.org>
395 Add a request `.fzoom' and a number register `.zoom' to magnify
398 * src/include/font.h (font): Add member variable `zoom'.
399 Add member functions `set_zoom' and `get_zoom'.
400 Remove `static' attribute from `scale' member function.
402 * src/libs/libgroff/font.cpp (font::font): Updated.
403 (scale_round): New version with three parameters to handle zoom
405 (font::scale, font::get_width): Handle zoom factor.
406 (font::set_zoom, font::get_zoom): New functions.
407 (font::load): Handle `zoom' while computing `space_width'.
409 * src/roff/troff/env.h: Declare `env_get_zoom'.
410 (environment): Add member function `get_zoom'.
412 * src/roff/troff/env.cpp (environment::get_zoom): New function.
413 (init_env_requests): Initialize `.zoom' register.
415 * src/roff/troff/node.cpp (font_info): New member functions
416 `set_zoom' and `get_zoom'.
417 (tfont): New member function `get_zoom'.
418 (env_get_zoom): New function.
419 (troff_output_file::set_font): Handle zoom factor.
420 (font_zoom_request): New function.
421 (init_node_requests): Initialize `fzoom' request.
423 * docs/groff.texinfo (Changing Fonts), man/groff.man,
424 man/groff_diff.man, NEWS: Document `fzoom' request and `.zoom'
427 * src/roff/troff/TODO: Updated.
429 2006-07-10 Werner LEMBERG <wl@gnu.org>
431 * doc/groff.texinfo (Drawing Requests): Improve documentation of
434 2006-07-02 Werner LEMBERG <wl@gnu.org>
436 * man/groff_tmac.man: Document usage of .PSPIC within diversions.
438 2006-07-01 Werner LEMBERG <wl@gnu.org>
440 * tmac/pspic.tmac: Make .PSPIC work for all devices.
441 Print image file name for devices which don't support PS image
443 Handle multiple inclusions.
444 Add lots of comments.
446 * tmac/dvi.tmac, tmac/html.tmac, tmac/ps.tmac: Don't load
449 * tmac/troffrc: Load pspic.tmac.
451 * man/groff_tmac.man: Update .PSPIC documentation.
455 2006-06-29 Werner LEMBERG <wl@gnu.org>
457 * src/roff/troff/input.cpp (interpolate_macro):
458 s/probably/possibly/, as suggested by Keith.
460 2006-06-28 Werner LEMBERG <wl@gnu.org>
462 Add support for \D'p...' to grotty.
464 * src/devices/grotty/grotty.cpp (tty_printer::draw): Move most of
466 (tty_printer::line): This function.
467 (tty_printer::draw): Rewritten; just call either draw_line or
469 (tty_printer::draw_line, tty_printer::draw_polygon): New functions.
471 * src/devices/grotty/grotty.man, NEWS: Document it.
473 2006-06-27 Werner LEMBERG <wl@gnu.org>
475 * src/preproc/refer/command.h (have_bibliography): New variable
478 * src/preproc/refer/command.cpp (bibliography_command): Set
481 * src/preproc/refer/refer.cpp: Initialize `have_bibliography'.
482 (output_references): Emit warning only if `have_bibliography' is
485 2006-06-15 Michail Vidiassov <master@iaas.msu.ru>
487 * fonts/devps/Makefile.sub (DISTFILES): Add freeeuro.afm.
488 * fonts/devps/generate/Makefile (clean): Don't remove symbolsl.afm
491 2006-06-15 Werner LEMBERG <wl@gnu.org>
493 * src/preproc/tbl/tbl.man: Document limitations of .TS/.TE within a
494 macro (as suggested by Tadziu Hoffmann).
496 2006-06-12 Werner LEMBERG <wl@gnu.org>
498 * src/preproc/tbl/tbl.man: Add example for use of .TS/.TE within a
499 macro (as suggested by Tadziu Hoffmann).
501 2006-06-05 Werner LEMBERG <wl@gnu.org>
503 * tmac/strip.sed: Strip `\#' also.
505 * doc/groff.texinfo (Operators in Conditionals): Document usage of
506 \? for string comparison.
508 2006-06-04 Werner LEMBERG <wl@gnu.org>
510 * doc/groff.texinfo: Add more index entries for copy-in mode.
511 (Changing Fonts) <.ft>: Document that a font definition file must
512 not be called `DESC'.
514 2006-05-31 Werner LEMBERG <wl@gnu.org>
516 * src/roff/troff/input.cpp (token::next) <\N>: Catch negative values
519 * doc/Makefile.sub (EXAMPLEFILES): Move gnu.eps to...
520 (PROCESSEDEXAMPLEFILES): Here.
522 2006-05-30 Werner LEMBERG <wl@gnu.org>
524 * src/libs/libgroff/font.cpp (font::load): Reject fonts called
526 Reduce number of false positives for `.if F ...' conditionals.
527 Improve warning messages.
529 2006-05-29 Werner LEMBERG <wl@gnu.org>
531 * tmac/Makefile.sub: Add copyright notice.
532 (NORMALFILES): Add man.tmac and ms.tmac.
533 (SPECIALFILES): Remove man.tmac and ms.tmac.
534 (CLEANADD): Remove man.tmac-sed and ms.tmac-sed.
535 (install_data, uninstall_sub): Don't handle man.tmac and ms.tmac
537 (stamp-sed): Don't handle man.tmac and ms.tmac.
538 Remove obsolete components in sed's regexp.
540 * doc/Makefile.sub (EXAMPLEFILES): Add gnu.eps.
542 * Makefile.in (OTHERDIRS, NOMAKEDIRS): Add hdtbl.
544 2006-05-28 Werner LEMBERG <wl@gnu.org>
546 * doc/groff.texinfo (History): Correct death circumstances of Joe
549 2006-05-27 Werner LEMBERG <wl@gnu.org>
551 * tmac/an-old.tmac (an-do-tag): Simplify.
553 2006-05-26 Werner LEMBERG <wl@gnu.org>
555 * tmac/an-old.tmac (an-do-tag): Make margin characters work.
556 (an-header, an-p-footer): Use named environment.
558 * src/roff/troff/env.cpp (environment::copy): Copy margin character
561 2006-05-21 Werner LEMBERG <wl@gnu.org>
563 * tmac/trace.tmac (de1): Fix serious typo (.di -> .do) and minor
566 2006-05-11 Keith Marshall <keith.d.marshall@ntlworld.com>
568 * src/roff/groff/groff.man: Remove superfluous word `intermediate'.
570 2006-05-10 Keith Marshall <keith.d.marshall@ntlworld.com>
572 * src/roff/groff/groff.man: Update copyright notice.
573 Improved wording to describe effect of `-Z' option.
575 2006-05-06 Werner LEMBERG <wl@gnu.org>
577 * tmac/www.tmac: Decorate `.ds' with trailing `\"' where missing.
578 Normalize handling of `"' in arguments.
579 (PIMG): Remove debug message.
582 2006-05-05 Werner LEMBERG <wl@gnu.org>
584 * src/devices/grohtml/post-html.cpp (page::add_and_encode): Don't
585 swallow character immediately after `\[...]'.
588 2006-05-02 Gaius Mulley <gaius@glam.ac.uk>
590 * tmac/www.tmac (PIMG): Fix the HTML device specific components.
592 2006-05-02 Larry Kollar <kollar@alltel.net>
594 * tmac/www.tmac (PIMG): Really default to `-C' if the alignment
597 2006-04-30 Michail Vidiassov <master@iaas.msu.ru>
599 * src/utils/afmtodit/afmtodit.pl: New option `-c' to add font
600 information as a comment in output.
601 * src/utils/afmtodit/afmtodit.man, NEWS: Document it.
603 2006-04-26 Werner LEMBERG <wl@gnu.org>
605 * src/devices/grohtml/post-html.cpp (html_printer::~html_printer):
606 Handle current_paragraph only if it is non-NULL.
608 * src/libs/libdriver/input.cpp (parse_x_command <'F'>, do_file
609 <'F'>): Use `get_extended_arg' to behave as documented. Reported by
610 Bill Ward <william.a.ward.jr@erdc.usace.army.mil>.
613 Surround the (pseudo) file name for the .pso request with `<' and
616 * src/roff/troff/node.cpp (real_output_file, troff_output_file): Add
617 second parameter to `really_put_filename' and `put_filename'.
618 (troff_output_file::really_put_filename): Emit `<' and `>' around
619 filename if second argument is set.
620 * src/roff/troff/node.h: Updated.
622 * src/roff/troff/input.cpp (file_iterator::file_iterator,
623 file_iterator::set_location): Update to changes in node.cpp.
625 2006-04-25 Tetsurou Okazaki <okazaki@FreeBSD.org>
627 * src/preproc/preconv/preconv.cpp (do_file): Fix conditional
628 preprocessor expression (I18N -> HAVE_ICONV).
629 (main): Fix handling of option `-h'.
630 Fix conditional preprocessor expression.
632 2006-04-04 Werner LEMBERG <wl@gnu.org>
634 Implement new number register `.br' which is set to 1 if a macro has
635 been called as .foo and to 0 if called as 'bar. This is useful for
636 -mtrace so that requests can be reliably traced too.
638 * src/roff/troff/input.cpp (input_iterator): Add virtual function
640 (macro_iterator): Add `with_break' member and `get_break_flag'
643 (input_stack): Add function `get_break_flag'.
644 (break_flag_reg): New number register class.
645 (input_init_requests): Register `.br'.
647 * src/roff/troff/TODO: Updated.
649 * tmac/trace.tmac: s/!!sp/!!!sp/.
650 Modify definitions of `de', `de1', `am', and `am1' to use \n[.br].
652 * docs/groff.texinfo (Requests), man/groff.man, man/groff_diff.man,
655 2006-03-29 Werner LEMBERG <wl@gnu.org>
657 * src/devices/grops/ps.cpp: s/must not/should not/ in warning
658 messages where appropriate.
660 2006-03-28 Werner LEMBERG <wl@gnu.org>
662 * configure.ac: Call AC_PROG_EGREP.
663 * configure: Regenerated.
665 * Makefile.in (EGREP): New variable.
666 (MDEFINES): Add $(EGREP).
668 * src/roff/grog/grog.sh: Treat .TH between .TS and .TE properly
669 (bug reported by Robert Goulding <Goulding.2@nd.edu>).
672 * src/roff/grog/Makefile.sub (grog, grog.old): Use $(EGREP).
674 2006-03-27 Werner LEMBERG <wl@gnu.org>
676 Add two requests `.device' and `.devicem' which are equivalent to
677 `\X' and `\Y', respectively.
679 * src/roff/troff/input.cpp (device_request, device_macro_request):
681 (init_input_requests): Register them.
683 * doc/groff.texinfo (Postprocessor Access), man/groff_diff.man,
684 man/groff.man, NEWS: Document them.
686 2006-03-27 Gaius Mulley <gaius@glam.ac.uk>
688 * src/roff/troff/input.cpp (encode_char): Emit special characters
689 for -Thtml as `\[...]'.
690 * src/devices/grohtml/post-html.cpp (page::add_and_encode): Updated.
692 * doc/groff.texinfo (Postprocessor Access) <\X>: Updated.
694 2006-03-27 Werner LEMBERG <wl@gnu.org>
696 * tmac/Makefile.sub (NORMALFILES, SPECIALFILES): Add various missing
699 2006-03-26 Werner LEMBERG <wl@gnu.org>
701 * doc/groff.texinfo (Writing Macros): More documentation on
702 end-of-macro symbol of `.de'.
703 (Diversions): Minor addition to `.di' description.
705 * src/devices/grops/grops.man: Some clarifications regarding
706 insertion of PostScript snippets.
708 2006-03-25 Michail Vidiassov <master@iaas.msu.ru>
710 Add rules to generate `symbolsl.afm'.
712 * fonts/devps/generate/zapfdr.sed,
713 fonts/devps/generate/symbolsl.awk: New files.
715 * fonts/devps/generate/Makefile (symbolfont, PRINTAFM): New
717 (SS, clean): Updated.
718 (freeeuro.afm): Use $(srcdir).
719 (symbolsl.afm): New rule.
720 (zapfdr.afm): Use zapfdr.sed.
722 2006-03-22 Dwight Aplevich <aplevich@uwaterloo.ca>
724 * src/preproc/pic/pic.y (expr <INT>): Fix code.
726 2006-03-22 Jörgen Grahn <jgrahn@algonet.se>
728 * tmac/sv.tmac: Add missing translations and activate support for
729 other macro packages.
731 2006-03-21 Francis GUDIN <fgudin@nerim.net>
733 * tmac/doc-syms (Dx): New macro to identify DragonFly.
734 (doc-str-St--ieee1275-94, doc-str-St--isoC-amd1,
735 doc-str-St--isoC-tcor1, doc-str-St--isoC-tcor2): New standard
737 (doc-operating-system-FreeBSD-5.5, doc-operating-system-FreeBSD-7.0,
738 doc-operating-system-NetBSD-1.6.3, doc-operating-system-NetBSD-4.0
739 doc-operating-system-DragonFly-*): New operating system strings.
741 * tmac/groff_mdoc.man, NEWS: Document `Dx'.
743 2006-03-21 Werner LEMBERG <wl@gnu.org>
745 * src/preproc/pic/pic.y (object_spec THEN): For compatibility with
746 both DWB pic and dpic, make
754 line right then down;
761 * doc/pic.ms: Document this.
763 2006-03-20 Werner LEMBERG <wl@gnu.org>
765 * doc/pic.ms: With permission of Eric Raymond, put it under the
770 2006-03-19 Werner LEMBERG <wl@gnu.org>
772 * src/preproc/pic/pic.y (expr <INT>): Really return integer part.
774 * src/preproc/pic/objects.cpp (object_spec::make_line): Handle `at'
775 attribute in combination with `with'. Bug reported by Jennifer
776 Sayers <jenjen@mail.usyd.edu.au>.
778 2006-03-19 Miklos Somogyi <msom@netspace.net.au>
780 * doc/groff.texinfo (Manipulating Spacing): Improve documentation of
783 2006-03-18 Werner LEMBERG <wl@gnu.org>
785 * LICENSE: Renamed to...
786 * LICENSES: This. Collect all licensing information in this file.
787 * tmac/README, src/libs/snprintf/README: Removed.
789 * src/devices/grops/grops.man: Add section how to install fonts.
791 * src/utils/xtotroff/xtotroff.c: Add GPL.
793 2006-03-17 Werner LEMBERG <wl@gnu.org>
795 * Makefile.comm (.y.cpp): Fix #line arguments in output.
797 2006-03-13 Werner LEMBERG <wl@gnu.org>
799 * src/preproc/tbl/tbl.man: Mention default length of text blocks.
801 * tmac/doc-common (Os): Add more Darwin versions.
802 * tmac/groff_mdoc.man: Document them.
804 * doc/groff.texinfo (Operators in Conditionals): Mention that `c'
805 works with \N'...' also.
806 * man/groff_diff.man: Ditto. Remove use of future tense where
809 2006-03-12 Michail Vidiassov <master@iaas.msu.ru>
811 * fonts/devps/generate/make-zapfdr, fonts/devps/symbolsl.ps,
812 fonts/devps/zapfdr.ps: Add `%%EndComments' line.
814 2006-03-10 Larry Kollar <kollar@alltel.net>
816 * doc/groff.texinfo (Headers and footers): Document PT, HD, and BT.
818 2006-03-10 Werner LEMBERG <wl@gnu.org>
820 * src/devices/grops/ps.cpp (ps_printer::do_exec, ps_printer::do_def,
821 ps_printer::do_mdef): Overlong lines now cause a warning message,
824 2006-03-09 Werner LEMBERG <wl@gnu.org>
826 * font/devps/generate/make-zapfdr: New script for generating
829 2006-03-08 Werner LEMBERG <wl@gnu.org>
831 * doc/groff.css (pre): Fix `background-color' value.
833 2006-03-04 Larry Kollar <kollar@alltel.net>
835 * tmac/groff_ms.man: Document PT, HD, and BT.
837 2006-03-04 Werner LEMBERG <wl@gnu.org>
839 * src/roff/troff/node.cpp (make_glyph_node): Improve warning message
840 for single-letter glyph names.
842 2006-03-02 Werner LEMBERG <wl@gnu.org>
844 * tmac/sv.tmac: New file; currently holding only the Swedish strings
846 * tmac/hyphen.sv: New hyphenation pattern file for Swedish, taken
848 * tmac/README: Updated.
850 2006-02-27 Werner LEMBERG <wl@gnu.org>
852 * tmac/trans.tmac (Liec, Letdate, Letns!14): Add it (for -mm).
853 * tmac/fr.tmac: Add French translations.
855 * tmac/composite.tmac: Add entry for `:'.
857 2006-02-26 Werner LEMBERG <wl@gnu.org>
859 * doc/Makefile.sub (HTMLEXAMPLEFILESALL): New variable.
861 (install_html, uninstall_sub): Updated.
863 2006-02-26 Bruno Haible <bruno@clisp.org>
865 Introduce Unicode fonts.
867 * font/devhtml/DESC.proto: Mark as unicode.
868 * font/devhtml/R.proto: Remove all charset entries that are already
870 * font/devutf8/DESC.proto: Mark as unicode.
871 * font/devutf8/R.proto: Remove all charset entries.
872 * src/include/font.h (font): New static field `is_unicode'.
873 Change order of fields.
874 * src/libs/libgroff/font.cpp: Include unicode.h.
875 (font::font): Update for changed order of fields.
876 (font::contains, font::get_width, font::get_height, font::get_depth,
877 font::get_italic_correction, font::get_left_italic_correction,
878 font::get_subscript_correction, font::get_character_type,
879 font::get_code, font::get_special_device_encoding): Handle both the
880 explicitly enumerated glyphs and use general code for Unicode fonts.
881 (font::load): Make the charset section optional when the font is
883 (font::load_desc): Recognize the `unicode' attribute.
884 * src/libs/libgroff/fontfile.cpp (font::is_unicode): New variable.
886 2006-02-26 Claudio Fontana <claudio@gnu.org>
888 * Makefile.in: Add comment about DESTDIR.
890 * Makefile.sub: Add DESTDIR to install and uninstall targets
891 to support staged installations.
892 * Makefile.comm: Likewise.
893 * doc/Makefile.sub: Likewise.
894 * contrib/eqn2graph/Makefile.sub: Likewise.
895 * contrib/gdiffmk/Makefile.sub: Likewise.
896 * contrib/grap2graph/Makefile.sub: Likewise.
897 * contrib/pic2graph/Makefile.sub: Likewise.
898 * src/devices/xditview/Makefile.sub: Likewise.
899 * src/preproc/eqn/Makefile.sub: Likewise.
900 * src/roff/grog/Makefile.sub: Likewise.
901 * src/roff/nroff/Makefile.sub: Likewise.
902 * src/utils/afmtodit/Makefile.sub: Likewise.
903 * src/utils/indxbib/Makefile.sub: Likewise.
904 * tmac/Makefile.sub: Likewise.
906 2006-02-24 Werner LEMBERG <wl@gnu.org>
908 * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list): Use entry
910 Remove commented out entries for \' and \` (there are no such glyph
913 * src/libs/libgroff/uniglyph.cpp (unicode_to_glyph_list): Remove
914 commented out entries for \' and \`.
917 * */*: s/legal/valid/ where appropriate.
919 2006-06-23 Werner LEMBERG <wl@gnu.org>
921 * font/devhtml/R.proto, font/devutf8/R.proto: Remove incorrect \'
924 2006-02-22 Werner LEMBERG <wl@gnu.org>
926 Remove all remaining traces from the `shc' glyph.
928 * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list),
929 src/libs/libgroff/uniglyph.cpp (unicode_to_glyph_list): Remove
932 * font/devlatin1/R.proto, font/devcp1046/R.proto: Replace `shc'
933 entry with unnamed glyph.
935 * tmac/html/tmac: Remove `shc' entry from call to `.cflags'.
937 * src/preproc/preconv/preconv.cpp (unicode_entity): Handle U+00AD
940 2006-02-22 Bruno Haible <bruno@clisp.org>
942 Concretize the `glyph' datatype.
944 * src/include/font.h (glyph): Remove class.
945 (glyph): Renamed from struct `glyphinfo'.
946 (glyph_to_index): New inline function.
947 (glyph_to_name): Make extern, not inline.
948 (glyph_to_number): Update.
949 (font): Use `glyph *' instead of `glyph'.
951 * src/libs/libgroff/nametoindex.cpp (charinfo): Inherit from class
952 `glyph'. Make `name' field public.
953 (character_indexer, number_to_glyph, name_to_glyph): Use `glyph *'
955 (glyph_to_name): Renamed from `glyph::glyph_name'.
957 * src/roff/troff/charinfo.h (charinfo): Inherit from class `glyph'.
958 Use `glyph *' instead of `glyph'.
960 * src/roff/troff/input.cpp (name_to_glyph, number_to_glyph): Use
961 `glyph *' instead of `glyph'.
962 (glyph_to_name): Renamed from `glyph::glyph_name'.
964 * src/libs/libgroff/font.cpp: Use `glyph *' instead of `glyph',
965 and `glyph_to_index' instead of `glyph::glyph_index'.
967 * src/include/printer.h (printer): Use `glyph *' instead of `glyph'.
968 * src/libs/libdriver/printer.cpp: Likewise.
969 * src/devices/grodvi/dvi.cpp: Likewise.
970 * src/devices/grohtml/post-html.cpp: Likewise.
971 * src/devices/grolbp/lbp.cpp: Likewise.
972 * src/devices/grolj4/lj4.cpp: Likewise.
973 * src/devices/grops/ps.cpp: Likewise.
974 * src/devices/grotty/tty.cpp: Likewise.
976 2006-02-22 Werner LEMBERG <wl@gnu.org>
978 * font/devdvi/generate/tc.map: Add `sr' glyph.
979 * font/devdvi/*TC: Regenerated.
981 * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list): Use entry
984 2006-02-21 Werner LEMBERG <wl@gnu.org>
986 * man/groff_char.man: Explain `***' marker.
988 2006-02-17 Bruno Haible <bruno@clisp.org>
990 * src/libs/libgroff/nametoindex.cpp (character_indexer): Rename
991 methods and fields from *_index to *_glyph.
992 (character_indexer::named_char_glyph): Test for `charNNN' name
994 (name_to_glyph): ... not here.
996 2006-02-17 Bruno Haible <bruno@clisp.org>
998 * src/include/font.h (name_to_glyph): Renamed from
1000 (number_to_glyph): Renamed from font::number_to_index.
1001 (glyph_to_name): Renamed from font::index_to_name.
1002 (glyph_to_number): Renamed from font::index_to_number.
1003 * src/libs/libgroff/nametoindex.cpp: Likewise.
1004 * src/roff/troff/charinfo.h (charinfo::as_glyph): Renamed from
1005 charinfo::get_index.
1007 * src/roff/troff/input.cpp: All callers changed.
1008 * src/roff/troff/node.cpp: Likewise.
1009 * src/libs/libgroff/font.cpp: Likewise.
1010 * src/devices/grops/ps.cpp: Likewise.
1011 * src/devices/grohtml/post-html.cpp: Likewise.
1012 * src/libs/libdriver/printer.cpp: Likewise.
1014 2006-02-17 Werner LEMBERG <wl@gnu.org>
1016 * src/include/ptable.h, src/include/itable.h
1017 (NEXT_PTABLE_SIZE_DEFINED): Use it to avoid multiple declaration
1018 of external symbol `next_ptable_size' (used by both header files).
1020 2006-02-15 Bruno Haible <bruno@clisp.org>
1022 * src/include/font.h (glyphinfo): New class.
1023 (glyph): Change internal representation.
1024 Change constructor signature.
1025 New method glyph::glyph_number().
1026 (glyph::glyph, glyph glyph::undefined_glyph, glyph::glyph_index,
1027 glyph::operator==, glyph::operator!=): Update.
1028 (font::index_to_name, font::index_to_number): New functions.
1030 * src/include/itable.h: New file, based on src/include/ptable.h.
1032 * src/libs/libgroff/nametoindex.cpp: Include itable.h.
1033 (class charinfo): New class.
1034 (class character_indexer): Change table result type from `int' to
1036 Add table with integer key.
1037 (character_indexer::character_indexer): Update.
1038 (character_indexer::ascii_char_index): Update.
1039 (character_indexer::numbered_char_index): Use NULL as name, not a
1040 string starting with a space.
1041 (character_indexer::named_char_index): Update.
1042 (font::number_to_index, font::name_to_index): Remove no-op cast.
1043 (glyph::glyph_name): New method.
1044 * src/roff/troff/charinfo.h (class charinfo): Inherit from class
1046 (NUMBERED): Remove flag bit.
1047 (charinfo::numbered, charinfo::get_index): Update.
1049 * src/roff/troff/input.cpp (charinfo::charinfo): Update.
1050 (charinfo::set_number, charinfo::get_number): Update.
1051 (glyph::glyph_name): New method.
1053 2006-02-15 Werner LEMBERG <wl@gnu.org>
1055 * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list): Fix
1056 entries for `>>', `<<', `*f', and `+f'. Reported by Bruno.
1058 2006-02-13 Werner LEMBERG <wl@gnu.org>
1060 * font/devps/prologue.ps (RE): Check `UniqueID' also, similar to
1063 2006-02-11 Werner LEMBERG <wl@gnu.org>
1065 * src/include/font.h: s/glyph_t/glyph/.
1068 * src/devices/grotty/tty.cpp: s/glyph/tty_glyph/.
1069 s/output_character_t/output_character/.
1071 2006-02-11 Bruno Haible <bruno@clisp.org>
1073 New accessor method glyph_t::glyph_name().
1075 * src/include/ptable.h (declare_ptable): Add a return value to the
1076 `define' method, and declare a `lookupassoc' method.
1077 (implement_ptable): Return the stored key in `define'. Implement
1079 * src/include/font.h (glyph_t): Add `name' field. Add an argument
1081 (glyph_t::glyph_name): New method.
1083 * src/libs/libgroff/nametoindex.cpp (character_indexer): Change
1084 return type of methods and field member type to glyph_t.
1085 (character_indexer::character_indexer): Update.
1086 (character_indexer::ascii_char_index): Allocate a name for the
1088 Return a glyph_t with name.
1089 (character_indexer::numbered_char_index): Return a glyph_t without a
1091 (character_indexer::named_char_index): Return a glyph_t with a name.
1092 (font::number_to_index, font::name_to_index): Update.
1094 * src/roff/troff/input.cpp (charinfo::charinfo): Use the symbol as
1097 2006-02-11 Bruno Haible <bruno@clisp.org>
1099 * src/devices/grotty/tty.cpp (output_character_t): New type.
1100 (tty_printer::make_bold, tty_printer::add_char,
1101 tty_printer::put_char): Change argument type to output_character_t.
1102 (crossings): Change element type to output_character_t.
1104 2006-02-11 Bruno Haible <bruno@clisp.org>
1106 Make the glyph data type abstract.
1108 * src/include/font.h (glyph_t): New class.
1109 (name_to_index, number_to_index): Change return type to glyph_t.
1110 (font::contains, font::get_width, font::get_height, font::get_depth,
1111 font::get_character_type, font::get_kern, font::get_skew,
1112 font::get_italic_correction, font::get_left_italic_correction,
1113 font::get_subscript_correction, font::get_code,
1114 font::get_special_device_encoding, font::add_entry,
1115 font::copy_entry, font::add_kern, font::hash_kern): Change argument
1118 * src/libs/libgroff/font.cpp (font_kern_list): Change members
1119 type and constructor argument types to glyph_t.
1120 (font::contains, font::get_width, font::get_height, font::get_depth,
1121 font::get_character_type, font::get_kern, font::get_skew,
1122 font::get_italic_correction, font::get_left_italic_correction,
1123 font::get_subscript_correction, font::get_code,
1124 font::get_special_device_encoding, font::add_entry,
1125 font::copy_entry, font::add_kern, font::hash_kern): Change argument
1127 (font::load): Use glyph_t variables.
1129 * src/libs/libgroff/nametoindex.cpp (name_to_index,
1130 number_to_index): Change return type to glyph_t.
1132 * src/roff/troff/charinfo.h (charinfo::index): Change type to
1134 (charinfo::get_index): Change return type to glyph_t.
1136 * src/roff/troff/env.cpp: Include font.h.
1138 * src/roff/troff/node.cpp: Include font.h before charinfo.h.
1140 * src/roff/troff/input.cpp: Include font.h before charinfo.h.
1141 (charinfo::charinfo): Update.
1142 (name_to_index, number_to_index): Change return type to glyph_t.
1144 * src/include/printer.h (printer::set_char_and_width): Change return
1147 * src/libs/libdriver/printer.cpp (printer::set_char_and_width):
1148 Change return type to glyph_t.
1150 * src/devices/grodvi/dvi.cpp (dvi_printer::set_char): Change
1151 argument type to glyph_t.
1153 * src/devices/grohtml/post-html.cpp (page::add_and_encode): Update.
1154 (html_printer::space_glyph): Renamed from space_char_index.
1155 (html_printer::add_to_sbuf, html_printer::sbuf_continuation,
1156 html_printer::overstrike, html_printer::set_char): Change argument
1158 (html_printer::set_char_and_width): Change return type to glyph_t.
1160 * src/devices/grolbp/lbp.cpp (lbp_printer::set_char): Change
1161 argument type to glyph_t.
1163 * src/devices/grolj4/lj4.cpp (lj4_printer::set_char): Change
1164 argument type to glyph_t.
1166 * src/devices/grops/ps.cpp (ps_printer::space_glyph): Renamed from
1168 (ps_printer::set_subencoding, ps_printer::set_char): Change argument
1171 * src/devices/grotty/tty.cpp (tty_printer::set_char): Change
1172 argument type to glyph_t.
1174 2006-02-11 Bruno Haible <bruno@clisp.org>
1176 * src/roff/troff/input.cpp (font::name_to_index): Never return a
1179 * src/libs/libgroff/font.cpp (font::load): Remove failure tests for
1180 font::name_to_index.
1182 2006-02-10 Werner LEMBERG <wl@gnu.org>
1184 * doc/groff.texinfo (Assigning Formats): Number registers are always
1186 Apply some rephrasing, contributed by Michael Burt.
1188 2006-02-07 Werner LEMBERG <wl@gnu.org>
1190 * tmac/fr.tmac <ms>: Set `HY' register.
1192 2006-02-07 Werner LEMBERG <wl@gnu.org>
1194 Add framework for simple adaptation of the main macro packages (mm,
1195 me, ms, mom) to different locales. In particular, add support for
1196 French. For activation, simply use `-mfr' as the last macro
1197 package. This feature has been contributed by Fabrice Ménard
1198 <menard.fabrice@wanadoo.fr>.
1200 * tmac/fr.tmac, tmac/trans.tmac, tmac/hyphen.fr, tmac/LOCALIZATION:
1202 * tmac/README: Mention hyphen.fr.
1203 * man/groff_tmac.man: Mention fr.tmac.
1206 2006-01-27 Werner LEMBERG <wl@gnu.org>
1208 * man/groff_font.man: Updated documentation of `entity_name' field.
1211 2006-01-27 Bruno Haible <bruno@clisp.org>
1213 * font/devhtml/R.proto: Remove the entity names from the font's
1214 special_encoding_encoding column.
1215 * src/devices/grohtml/post-html.cpp (get_html_entity): New function,
1216 handling the entity names here.
1217 (get_html_translation): Use it. Change return type to `const
1219 (page::add_and_encode): Update, removing a useless cast.
1221 2006-01-26 Werner LEMBERG <wl@gnu.org>
1223 This change is based on a patch by Bruno Haible <bruno@clisp.org>.
1225 * src/include/device.h: Add comments.
1226 * src/include/font.h: Add comments.
1227 * src/include/unicode.h: Likewise.
1228 * src/include/ptable.h, src/libs/libgroff/ptable.cpp: Likewise.
1230 2006-01-26 Keith Marshall <keith.d.marshall@ntlworld.com>
1232 Suppress `.st' request emission by `grn'.
1234 * src/preproc/grn/main.cpp (USE_ST_REQUEST): New macro.
1237 2006-01-22 Werner LEMBERG <wl@gnu.org>
1239 * install-sh: New version; taken from texinfo CVS.
1241 2006-01-21 Werner LEMBERG <wl@gnu.org>
1243 * src/preproc/preconv/preconv.cpp (main): Set program_name. Bug
1244 reported by Alexander E. Patrakov <patrakov@ums.usu.ru>.
1246 2006-01-19 Bruno Haible <bruno@clisp.org>
1248 Let `make -k install' install more files.
1250 * Makefile.in (MAKE_K_FLAG): New variable. Use it everywhere where
1251 $(MAKE) and $(MDEFINES) are used.
1252 (CPROGDIRS): Remove $(XPROGDIRS). Treat $(XPROGDIRS) like
1253 $(CPROGDIRS) everywhere.
1254 ($(DEVDIRS) $(XDEVDIRS) $(OTHERDEVDIRS) $(TTYDEVDIRS)): Don't depend
1256 ($(OTHERDIRS)): Likewise.
1259 * src/devices/grohtml/post-html.cpp (get_html_translation): Remove
1260 failure test for font::name_to_index -- it can never fail.
1262 2006-01-19 Werner LEMBERG <wl@gnu.org>
1264 * src/devices/grops/grops.man: Fix section on creating EPS files.
1265 Don't use future time in manual.
1268 2006-01-15 Gaius Mulley <gaius@glam.ac.uk>
1270 * tmac/www.tmac: New macro LINKSTYLE which allows users to set
1271 various typographical URL attributes for non-HTML devices.
1273 * tmac/groff_www.man: Document LINKSTYLE.
1275 2006-01-11 Werner LEMBERG <wl@gnu.org>
1277 * configure.ac: Test for getc_unlocked (needed for localcharset).
1278 * configure, src/include/config.hin: Regenerated.
1280 * src/libs/libgroff/Makefile.sub (EXTRA_CFLAGS): Define
1283 * src/libs/libgroff/relocatable.h: New dummy header file for
1286 * src/libs/libgroff/localcharset.c: Updated to (unchanged) CVS
1289 2006-01-10 Bruno Haible <bruno@clisp.org>
1291 Work around unportability of nl_langinfo(CODESET).
1293 * m4/glibc21.m4: New file, from gnulib.
1294 * Makefile.sub (M4MACROS): Add m4/glibc21.m4.
1295 * configure.ac: Also test for stddef.h, and invoke jm_GLIBC21.
1296 * Makefile.in (HOST, GLIBC21): New variables.
1297 (MDEFINES): Pass them to subdirectories.
1298 * src/include/relocate.h (relocatep): Define with C linkage.
1299 * src/include/localcharset.h: New file, from gnulib.
1300 * src/libs/libgroff/localcharset.c: New file, from gnulib with a
1301 modification for relocate().
1302 * src/libs/libgroff/config.charset: New file, from gnulib.
1303 * src/libs/libgroff/ref-add.sin: New file, from gnulib.
1304 * src/libs/libgroff/ref-del.sin: New file, from gnulib.
1305 * src/libs/libgroff/Makefile.sub (EXTRA_CFLAGS): Also define LIBDIR.
1306 (OBJS): Add localcharset.o.
1307 (CSRCS): Add localcharset.c.
1308 (all): Add dependencies to charset.alias, ref-add.sed, ref-del.sed.
1309 (charset.alias): New rule.
1310 (PACKAGE): New variable.
1311 (ref-add.sed, ref-del.sed): New rules.
1312 (MKINSTALLDIRS): New variable.
1313 (install_data): Depend on install_charset_data.
1314 (install_charset_data): New rule for creating or updating
1316 (uninstall_sub): Depend on uninstall_charset_data.
1317 (uninstall_charset_data): New rule for uninstalling or updating
1319 * src/preproc/preconv/preconv.cpp: Include localcharset.h instead
1321 (main): Initialize default_encoding from locale_charset() instead of
1322 nl_langinfo(CODESET).
1324 * aclocal.m4, configure, src/include/config.hin: Regenerated.
1326 2006-01-10 Werner LEMBERG <wl@gnu.org>
1328 * src/preproc/preconv/preconv.cpp (conversion_iconv): Use
1329 ICONV_CONST in call to iconv. Reported by Robert Goulding.
1331 2006-01-07 Werner LEMBERG <wl@gnu.org>
1333 * fonts/devps/generate/freeeuro.sfd: Run auto-hinter with recent
1335 Bump font version to 001.001.
1337 * fonts/devps/generate/Makefile (freeeuro.afm, freeeuro.pfa):
1338 Call fontforge, not pfaedit.
1340 * fonts/devps/freeeuro.afm, fonts/devps/freeeuro.pfa: Regenerated.
1342 2006-01-05 Ruslan Ermilov <ru@FreeBSD.org>
1344 * tmac/doc-common: Add new FreeBSD and NetBSD versions.
1345 * tmac/groff_mdoc.man: Updated.
1347 2006-01-05 Werner LEMBERG <wl@gnu.org>
1349 * src/preproc/preconv/preconv.cpp: s/debug/debug_flag/.
1350 (raw_flag): New global variable.
1351 (do_file): Use .lf to set file name (if `raw_flag' isn't set).
1352 Don't pass BOM to `conversion_utf8'.
1354 (main): Handle `-r' command line switch to set `raw_flag'.
1355 (get_BOM): Fix encodings in `BOM_table'.
1357 * src/preproc/preconv/preconv.man: New file. Not complete yet.
1358 * src/preproc/proconv/Makefile.sub (MAN1): New variable.
1360 2006-01-04 Werner LEMBERG <wl@gnu.org>
1362 * src/preproc/preconv/preconv.cpp (emacs_to_mime): As suggested by
1363 Bruno, comment out most encodings to support only a small set of
1364 coding tags, thus reducing potential problems with legacy encodings
1365 and character sets in the future.
1366 Add many XEmacs coding tags (now commented out).
1368 (check_encoding_tag): Renamed to...
1369 (check_coding_tag): This.
1370 (get_BOM): Return encoding as specified by BOM.
1371 Test for UTF32-LE too.
1372 (do_file): Don't check for coding tag if a BOM has been found.
1374 2006-01-03 Bruno Haible <bruno@clisp.org>
1376 * m4/groff.m4: Renamed from aclocal.m4.
1377 * m4/codeset.m4: New file, from gnulib.
1378 * m4/iconv.m4: New file, from gnulib.
1379 * m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4: New files, from
1381 * config.rpath: New file, from gnulib.
1382 * config.guess, config.sub: New files, from gnulib.
1383 * Makefile.sub (M4MACROS): New variable.
1384 (configure): Fix typo.
1385 (aclocal.m4): New rule.
1386 (stamp-h.in): Depend on aclocal.m4.
1387 * configure.ac: Invoke AM_ICONV and AM_LANGINFO_CODESET.
1388 * Makefile.in (LIBICONV): New variable.
1389 (MDEFINES): Pass it to recursive makes.
1390 * src/preproc/preconv/preconv.cpp: Use HAVE_LANGINFO_CODESET and
1391 HAVE_ICONV instead of I18N macro.
1392 * src/preproc/preconv/Makefile.sub (EXTRA_LDFLAGS): New variable.
1394 * aclocal.m4, configure, src/include/config.hin: (Re)generated.
1396 2006-01-03 Werner LEMBERG <wl@gnu.org>
1398 * doc/Makefile.in (webpage.html): Simplify.
1399 * doc/Makefile.sub (webpage.html): Synchronize with doc/Makefile.in.
1400 * doc/webpage.ms, tmac/groff_www.man, tmac/www.tmac: Minor updates.
1402 2006-01-01 Werner LEMBERG <wl@gnu.org>
1404 * tmac/doc-common (Os): Add some Darwin versions.
1405 * tmac/groff_mdoc.man: Document them.
1407 2006-01-01 Bruno Haible <bruno@clisp.org>
1409 * src/preproc/preconv/preconv.cpp (emacs_to_mime): Various
1411 . Don't map ascii to latin-1.
1412 . Don't use IBMxxx encodings but cpxxx for portability.
1413 . Map cp932, cp936, cp949, cp950 to itself.
1414 (emacs2mime): Protect calls to strcasecmp.
1415 (conversion_iconv): Add missing call to iconv_close.
1416 (do_file): Emit error message in case of unsupported encoding.
1418 2005-12-31 Werner LEMBERG <wl@gnu.org>
1420 Integrate preconv into the groff binary. Changes based on a patch
1421 from Michail Vidiassov.
1423 * src/roff/groff/pipeline.h (MAX_COMMANDS): Increase by 1.
1425 * src/roff/groff/groff.cpp (PRECONV_INDEX): New macro.
1426 (SOELIM_INDEX): Updated.
1427 (help, synopsis): Updated.
1428 (main): Add command line options `-k' and `-K enc' to select
1430 Add support for GROFF_ENCODING environment variable.
1432 * src/roff/groff/groff.man: Updated and revised.
1435 Start with autoconf support for preconv.
1437 * configure.ac: Call AC_C_BIGENDIAN.
1438 * configure, src/include/config.hin: Regenerated.
1440 2005-12-30 Werner LEMBERG <wl@gnu.org>
1442 New preprocessor `preconv' to convert input encodings to something
1443 groff can understand. Not yet integrated within groff. Proper
1444 autoconf stuff is missing too.
1446 Tomohiro Kubota has written a first draft of this program, and some
1447 ideas have been reused (while almost no code has been taken
1450 * src/preproc/preconv/preconv.cpp. src/preproc/preconv/Makefile.sub:
1453 * MANIFEST, Makefile.in (CCPROGDIRS), test-groff.in
1454 (GROFF_BIN_PATH): Add preconv.
1456 2005-12-12 Werner LEMBERG <wl@gnu.org>
1458 * aclocal.m4 (GROFF_MAKEINFO): Fix regexps to be POSIX conformant.
1459 In particular, don't use `\+' since it is a GNU sed extension.
1461 * configure: Regenerated.
1463 2005-12-09 Werner LEMBERG <wl@gnu.org>
1465 * src/libs/libgroff/make-uniuni: New script to generate uniuni.cpp.
1467 * src/libs/libgroff/uniuni.cpp: Regenerated, using data from Unicode
1471 * src/utils/afmtodit/make-afmtodit-tables: New script to generate
1474 * src/utils/afmtodit/afmtodit.tables: New file, representing Unicode
1477 * src/utils/afmtodit/afmtodit.pl (%unicode_decomposed,
1478 %AGL_to_unicode): Removed. Replace it with a tag.
1480 * src/utils/afmtodit/Makefile.sub (afmtodit): Adjust sed expression
1481 to replace tag with actual file contents.
1483 2005-12-08 Werner LEMBERG <wl@gnu.org>
1485 The change 2005-06-20 can indeed cause problems, so we follow the
1486 advice by using marks.
1488 * font/devps/prologue.ps (PBEGIN): Use `mark'.
1489 (PEND): Use `cleartomark'.
1491 2005-12-07 Michail Vidiassov <master@iaas.msu.ru>
1493 * src/utils/afmtodit.pl: Fix kerning output to avoid warnings for
1494 glyphs which have kern values but aren't handled (glyph variants,
1497 2005-12-02 Werner LEMBERG <wl@gnu.org>
1499 * src/devices/grops/ps.cpp (ps_printer::get_subfont): Use correct
1500 subfont index. Reported by Michail Vidiassov <master@iaas.msu.ru>.
1502 2005-11-28 Gaius Mulley <gaius@glam.ac.uk>
1504 * doc/Makefile.in: Separate rule for webpage.html so that extra
1505 command line options can be passed to grohtml.
1506 * doc/groff.css: Change all margins to 0%.
1507 * doc/webpage.ms: Now use new macros ALN, LNS, and LNE so that left
1508 navigation is exploited. Also update webpage to contain new
1509 sections on licenses, mailing lists, cvs/ftp access, groff
1510 dependencies, and bug reports.
1511 * tmac/groff_www.man: Document the new macros ALN, LNS, and LNE.
1512 * tmac/www.tmac: Implement the new macros ALN, LNS, and LNE.
1514 2005-11-25 Gaius Mulley <gaius@glam.ac.uk>
1516 * src/devices/grohtml/post-html.cpp
1517 (html_printer::do_file_components): Add fputs calls to emit the
1518 head contents and shut down the head tag whenever a new file
1519 component is generated.
1521 2005-11-22 Gaius Mulley <gaius@glam.ac.uk>
1523 * src/devices/grohtml/post-html.cpp (html_printer::flush_page): Add
1524 call to flush_text to flush any outstanding html tags on the
1527 2005-11-18 Werner LEMBERG <wl@gnu.org>
1529 * aclocal.m4 (GROFF_MAKEINFO): Use `groff.info' in tests.
1530 Announce makeinfo version.
1531 * configure: Regenerated.
1533 2005-11-18 Mike Frysinger <vapier@gentoo.org>
1535 * Makefile.in: Declare proper dependencies between make targets.
1537 * doc/Makefile.in: Rename groff info page to `groff.info'.
1538 * doc/Makefile.sub: Likewise.
1539 * doc/groff.texinfo: Likewise.
1541 2005-11-17 Peter O'Gorman <mlists@thewrittenword.com>
1543 * src/utils/pfbtops/pfbtops.c, src/utils/xtotroff/xtotroff.c: Move
1544 definition of __GETOPT_PREFIX to the beginning of file to ensure
1545 that it is defined even on platforms where getopt.h is already
1546 included by other header files.
1548 2005-11-10 Gaius Mulley <gaius@glam.ac.uk>
1550 * src/devices/grohtml/post-html.cpp (html_printer::do_heading):
1551 Reset font to NULL to ensure that a font block is recreated during
1554 2005-11-04 Werner LEMBERG <wl@gnu.org>
1556 * aclocal.m4 (GROFF_MAKEINFO): Fix sed expression.
1557 * configure: Regenerated.
1559 2005-10-27 Werner LEMBERG <wl@gnu.org>
1561 * aclocal.m4 (GROFF_MAKEINFO): New function for checking whether
1562 makeinfo 4.8 or newer is available.
1563 * configure.ac: Call GROFF_MAKEINFO.
1564 * configure: Regenerated.
1566 * Makefile.in (MAKEINFO): Use autoconf variable.
1567 (MDEFINES): Add MAKEINFO.
1569 * doc/Makefile.in (MAKEINFO): Use autoconf variable.
1570 * doc/Makefile.sub (MAKEINFO): Remove.
1572 2005-10-26 Werner LEMBERG <wl@gnu.org>
1574 * REVISION: Set to 3.
1576 2005-10-17 Werner LEMBERG <wl@gnu.org>
1578 Mention $MANPAGER variable used with some `man' systems.
1580 * doc/webpage.ms, src/devices/grotty/grotty.man, NEWS: Updated.
1582 2005-09-13 Werner LEMBERG <wl@gnu.org>
1584 * tmac/hyphenex.us: New version (`ushyphex.tex' from ftp.dante.de).
1586 2005-09-04 Werner LEMBERG <wl@gnu.org>
1588 Version 1.19.2 released
1589 =======================
1591 * tmac/groff_ms.man, doc/groff.texinfo: Synchronize.
1593 * doc/webpage.ms: Updated.
1595 * install-sh, mkinstalldirs: New versions; taken from texinfo CVS.
1597 2005-09-04 Jörgen Grahn <jgrahn@algonet.se>
1599 * tmac/groff_ms.man: Document `PO' better.
1601 2005-09-03 Werner LEMBERG <wl@gnu.org>
1603 * NEWS: Document grotty changes.
1605 2005-09-01 Keith Marshall <keith.d.marshall@ntlworld.com>
1607 Backward compatibility support for `man' program.
1609 * tmac/an-old.tmac (LL): Initialize it to respect prior LL register
1610 assignment, prior `.ll' request and then package defaults, in this
1611 specified order of decreasing priority.
1613 * tmac/groff_man.man, doc/groff.texinfo (Man options): Document
1614 altered `LL' register initialization priorities.
1616 2005-08-29 Gary W. Swearingen <garys@opusnet.com>
1618 * tmac/groff_mdoc.man: Go into more details how the `AUTHORS'
1619 section should look like.
1621 2005-08-29 Werner LEMBERG <wl@gnu.org>
1623 * tmac/groff_mdoc.man: The month's name in a call to .Dd shouldn't
1626 2005-08-27 Bernd Warken
1628 * tmac/groff_man.man: Add man(7) too SEE ALSO and more minor
1631 2005-08-11 Bernd Warken
1633 * tmac/www.tmac (URL, MTO): Handle empty \\$1 better.
1635 2005-08-09 Bernd Warken
1637 * tmac/www.tmac (URL, MTO): Use bold series if color support is
1640 2005-08-02 Bernd Warken
1642 * doc/Makefile.sub (uninstall_sub): Use --remove, not --delete
1643 as argument to $(INSTALL_INFO). The latter isn't portable.
1644 Remove $(HTMLEXAMPLEFILES) too.
1646 * Makefile.in (uninstall_dirs): Remove $(datadir)/doc/groff and
1648 Suppress warning messages and return always true.
1650 * tmac/Makefile.sub (uninstall_sub): Remove www.tmac too.
1652 2005-07-02 Bernd Warken
1654 * src/devices/xditview/gxditview.man: Change many `.I' to `.B'.
1655 * man/groff_out.man: More markup and minor improvements.
1656 * src/roff/groff/groff.man: Minor improvements.
1658 2005-06-28 Werner LEMBERG <wl@gnu.org>
1660 * ChangeLog: Split off older entries into...
1661 * ChangeLog.115 ChangeLog.116, ChangeLog.117, ChangeLog.118: New
1664 2005-06-26 Bernd Warken
1666 * src/devices/xditview/gxditview.man: More minor fixes.
1668 2005-06-24 Werner LEMBERG <wl@gnu.org>
1670 * src/preproc/pic/troff.cpp (troff_output::set_fill,
1671 troff_output::set_color, troff_output::reset_color): Use .bcolor and
1672 .fcolor instead of \m and \M, respectively.
1674 2005-06-23 Bernd Warken
1676 * src/devices/xditview/gxditview.man: More minor fixes.
1677 * README: Formatting issues.
1678 Mention some problems with Debian.
1680 2005-06-23 Bernd Warken
1682 * src/devices/xditview/gxditview.man: Revised and improved.
1684 2005-06-22 Werner LEMBERG <wl@gnu.org>
1686 Another round in fixing getopt problems. Hopefully the last one!
1687 This time we use the getopt stuff from gnulib and define a prefix
1688 unconditionally so that there are no collisions with any other
1689 getopt implementations. This is a slight waste of space in case
1690 we already use a GNU getopt implementation, but on
1691 the other hand it really simplifies life.
1693 * src/include/getopt.h: Use gnulib version.
1695 * src/include/getopt_int.h: Use gnulib version.
1697 * src/include/groff-getopt.h: Removed. Obsolete now.
1699 * src/include/lib.h: Regarding getopt, don't handle any platform
1700 specially; just include getopt.h.
1701 (__GETOPT_PREFIX): Define (before getopt.h).
1703 * src/include/Makefile.sub (HDRS): Updated.
1705 * src/libs/libgroff/getopt1.c, src/libs/libgroff/getopt.c: Use
1708 * src/libs/libgroff/Makefile.sub (EXTRA_CFLAGS): Set
1711 * src/utils/pfbtops/pfbtops.c, src/utils/xtotroff/xtotroff.c
1712 (__GETOPT_PREFIX): Define (before getopt.h).
1714 2005-06-21 Werner LEMBERG <wl@gnu.org>
1716 * src/include/lib.h: Provide a fix for Mac OS X to not include
1719 2005-06-20 Denis M. Wilson <dmw@oxytropis.plus.com>
1721 * font/devps/prologue.ps (EP): Dont' use `bind'. Reason: Using
1722 `bind' to define a procedure which contains `showpage' means that an
1723 invocation of `showpage' may execute wrongly (the exact effect
1724 depending on the interpreter). Not usually a problem except under
1725 transformations, such as combining pages.
1726 (PEND): Don't call `clear'. Reason: Using `clear' in the definition
1727 of /PEND means that stack underflow will occur if the stack is
1728 deliberately non-empty before document inclusion. If included
1729 files are found to be generally badly behaved, we could replace the
1730 `clear' with `mark' in /PBEGIN and `cleartomark' in /PEND (I've
1731 never found this necessary).
1733 2005-06-20 Jörgen Grahn <jgrahn@algonet.se>
1735 * src/preproc/soelim/soelim.cpp (do_file): Append trailing zero
1736 earlier to get correct error message.
1738 2005-06-16 Bernd Warken
1739 * src/roff/nroff/nroff.sh: Add support for iso-8859-15.
1741 2005-06-15 Werner LEMBERG <wl@gnu.org>
1743 Another try to update getopt files. This time we add a dummy
1744 gettext.h file to satisfy the dependency.
1746 * src/include/getopt.h, src/libs/libgroff/getopt.c,
1747 src/libs/libgroff/getopt1.c: Updated from GNU libc CVS.
1749 * src/include/getopt_int.h: New file (from GNU libc CVS).
1751 * src/include/gettext.h: Dummy file which just defines a gettext()
1754 * src/include/groff-getopt.h: Updated.
1756 * src/include/Makefile.sub (HDRS): Add getopt_int.h and gettext.h.
1759 * src/libs/libdriver/input.cpp (IntArray): Remove superfluous
1760 `const' keywords in return value.
1762 * src/preproc/html/pushback.cpp (pushBackBuffer::~pushBackBuffer):
1763 Remove redundant variable `old'.
1764 (pushBackBuffer::skipToNewline): Remove redundant variable `ch'.
1766 * src/preproc/tbl/main.cpp (process_table): Remove redundant
1770 Fix more friend name injection problems since modern C++ compilers
1771 fail otherwise. We simply provide (global) declarations for all
1772 functions declared as friends. This is not really necessary but
1775 * src/preproc/eqn/lex.cpp: Provide declarations for get_char,
1776 peek_char, and get_location.
1778 * src/preproc/refer/ref.h: Provide declarations for
1779 compare_reference, same_reference, same_year, same_date,
1780 same_author_last_name, and same_author_name.
1782 * src/roff/troff/div.h: Provide declarations for do_divert and
1785 * src/roff/troff/env.h: Provide declarations for title_length,
1786 space_size, fill, no_fill, adjust, no_adjust, center, right_justify,
1787 vertical_spacing, post_vertical_spacing, line_spacing, line_length,
1788 indent, temporary_indent, do_underline, do_input_trap, set_tabs,
1789 margin_character, no_number, number_lines, leader_character,
1790 tab_character, hyphenate_request, no_hyphenate,
1791 hyphen_line_max_request, hyphenation_space_request,
1792 hyphenation_margin_request, line_width, tabs_save, tabs_restore,
1793 line_tabs_request, widow_control_request, and do_divert.
1795 * src/roff/troff/input.cpp: Provide declaration for chop_macro.
1797 * src/roff/troff/node.cpp: Provide declarations for class
1799 Provide declaration for make_tfont.
1801 2005-05-29 Werner LEMBERG <wl@gnu.org>
1803 * doc/fdl.texi: Updated to version 1.2. Reported by Bernd Warken.
1805 2005-05-28 Werner LEMBERG <wl@gnu.org>
1807 * contrib/pdfmark/Makefile.sub (.ms.pdf): Use `--stylesheet', not
1810 * src/devices/grolbp/lbp.cpp, src/devices/grolbp/lbp.h: Remove
1811 redundant semicolons.
1813 * src/preproc/eqn/Makefile.sub, src/preproc/html/Makefile.sub,
1814 src/preproc/soelim/Makefile.sub, src/preproc/tbl/Makefile.sub:
1815 Define `MLIB'. Some compilers need this for linking with libgroff.
1817 2005-05-27 Werner LEMBERG <wl@gnu.org>
1819 * MANIFEST, README, doc/webpage.ms: Updated.
1821 2005-05-26 Werner LEMBERG <wl@gnu.org>
1823 * All affected files: Update postal address of FSF.
1825 2005-05-25 Keith Marshall <keith.d.marshall@ntlworld.com>
1828 * README: More fixes.
1830 * README.CVS: Removed. Its contents is now part of the README file.
1832 2005-05-21 Werner LEMBERG <wl@gnu.org>
1834 * README: Updated. Based on a patch from Bernd Warken.
1836 2005-05-16 Keith Marshall <keith.d.marshall@ntlworld.com>
1838 Miscellaneous script portability enhancements.
1840 * aclocal.m4: (GROFF_CSH_HACK): Add space in shebang prototype for
1841 generated conftest.sh script, conforming to portability
1842 recommendation in autoconf docs.
1843 * configure: Likewise, for code generated by GROFF_CSH_HACK.
1844 * contrib/eqn2graph/eqn2graph.sh: Add space in shebang, conforming
1845 to portability recommendation in autoconf docs.
1846 * contrib/gdiffmk/gdiffmk.sh: Likewise.
1847 * contrib/gdiffmk/tests/runtests.in: Likewise.
1848 * contrib/grap2graph/grap2graph.sh: Likewise.
1849 * contrib/groffer/groffer.sh: Likewise.
1850 * contrib/mm/mmroff.pl: Likewise.
1851 * contrib/mom/momdoc/appendices.html: Likewise.
1852 * contrib/pic2graph/pic2graph.sh: Likewise.
1853 * font/devps/generate/afmname: Likewise.
1854 * src/devices/xditview/ad2c: Likewise.
1855 * src/preproc/eqn/neqn.sh: Likewise.
1856 * src/roff/grog/grog.pl: Likewise.
1857 * src/roff/grog/grog.sh: Likewise.
1858 * src/roff/nroff/nroff.sh: Likewise.
1859 * PROBLEMS: Likewise, in embedded script examples.
1861 2005-05-16 Keith Marshall <keith.d.marshall@ntlworld.com>
1863 Improve portability of `pdfroff' shell script.
1865 * arch/misc/shdeps.sh: Add space in shebang, conforming to
1866 portability guidelines in `autoconf' docs.
1867 (PATH_SEARCH_SETUP): New substitution; emits PATH_SEPARATOR
1868 initialization code. Used by contrib/pdfmark/pdfroff.sh's
1869 `searchpath' function.
1871 2005-05-14 Werner LEMBERG <wl@gnu.org>
1873 * contrib/pic2graph/pic2graph.sh, contrib/graph2graph.sh,
1874 contrib/eqn2graph.sh: Add option `-trim' to `convert' which is
1875 needed for newer ImageMagick versions.
1877 2005-05-07 Werner LEMBERG <wl@gnu.org>
1879 * src/preproc/refer/refer.man: Many small typographic fixes.
1881 2005-05-06 Jeff Conrad <jeff_conrad@msn.com>
1883 * src/devices/grohtml/post-html.cpp (assert_state::~assert_state):
1884 Use `char *' cast for a_delete.
1886 2005-05-03 Werner LEMBERG <wl@gnu.org>
1888 * src/libs/libgroff/maxpathname.cpp: Include stdlib.h.
1889 src/libs/libgroff/relocate.cpp: Use path_name_max everywhere.
1891 2005-05-03 Jeff Conrad <jeff_conrad@msn.com>
1893 * src/devices/grohtml/post-html.cpp: Use casts to `char *' if using
1894 `a_delete' for `const char *'.
1896 2005-05-03 Werner LEMBERG <wl@gnu.org>
1898 * src/devices/grohtml/post-html.cpp,
1899 src/devices/grohtml/html-table.cpp,
1900 src/devices/grohtml/html-text.cpp, src/devices/grohtml/output.cpp:
1901 Replace malloc/free with new/delete/a_delete.
1903 * src/devices/grolbp/lbp.h: Remove superfluous semicolons which
1904 are prohibited with ANSI C++.
1905 (lbpprintf, vdmprintf): Remove useless `inline' keyword (since the
1906 function has a variable number of arguments).
1908 * src/preproc/grn/main.cpp (doinput): Change return type to `int'.
1909 Simplify function and update all callers.
1911 2005-05-02 Werner LEMBERG <wl@gnu.org>
1913 Undo getopt changes from 2005-04-30. We don't want a dependency
1916 * src/include/getopt_int.h: Removed.
1918 * src/include/getopt.h, src/include/groff-getopt.h,
1919 src/include/Makefile.sub, src/libs/libgroff/getopt.c,
1920 src/libs/libgroff/getopt1.c: Revert to previous version.
1923 * src/include/nonposix.h (access) [_MSC_VER]: New macro.
1925 * src/include/posix.h (F_OK): Define conditionally.
1927 * src/devices/grotty/tty.cpp (tty_printer::make_underline): Use
1928 different variable name in second `for' loop to avoid MSVC compiler
1931 2005-04-30 Werner LEMBERG <wl@gnu.org>
1933 AC_TYPE_SIGNAL from current autoconf can fail if CC=g++.
1935 * aclocal.m4 (GROFF_TYPE_SIGNAL): New function.
1936 * configure.ac: Use GROFF_TYPE_SIGNAL, not AC_TYPE_SIGNAL.
1937 * configure, src/include/config.hin: Regenerated.
1939 * PROBLEMS: Updated.
1942 Update getopt files.
1944 * src/include/getopt.h, src/libs/libgroff/getopt.c,
1945 src/libs/libgroff/getopt1.c: Updated from GNU libc CVS.
1947 * src/include/getopt_int.h: New file (from GNU libc CVS).
1949 * src/include/groff-getopt.h: Updated.
1951 * src/include/Makefile.sub (HDRS): Add getopt_int.h.
1954 * font/devutf8/NOTES: Updated.
1956 2005-04-28 Werner LEMBERG <wl@gnu.org>
1958 Bug fix for Win32 relocatable code. Based on a patch from Keith
1961 * src/libs/libgroff/maxpathname.cpp (PATH_MAX): Test for `_MAX_PATH'
1964 * src/libs/libgroff/relocate.c (DEBUG): Define it conditionally.
1965 (searchpath) [_WIN32]: Use `_fullpath', not `realpath'.
1967 2005-04-28 Keith Marshall <keith.d.marshall@ntlworld.com>
1969 Correct `gnu.eps' handling for build from distribution tarball, with
1970 separate source and build directories.
1972 * doc/Makefile.sub: (examples.stamp): New target; forces copy of
1973 grnexmpl.g, groff.css and gnu.eps from source to build directory;
1974 generate gnu.eps from gnu.xpm if required; touch examples.stamp.
1975 (prepare_examples): Make it depend on examples.stamp.
1976 (CLEANADD): Add examples.stamp.
1978 2005-04-27 Werner LEMBERG <wl@gnu.org>
1982 position: `(' position `)'
1986 * src/preproc/pic/pic.y (position, position_not_place): Handle
1987 additional parentheses.
1989 * doc/pic.ms: Updated.
1991 2005-04-23 Larry Jones <lawrence.jones@ugs.com>
1993 * src/utils/xtotroff/xtotroff.c (MapFont): Fix variable declaration.
1995 2005-04-18 Werner LEMBERG <wl@gnu.org>
1997 * src/roff/groff/pipeline.c: Don't include ctype.h.
1999 2005-04-13 Werner LEMBERG <wl@gnu.org>
2001 * src/roff/nroff/nroff.man: Document option `-M'.
2003 2005-04-13 Bruce Lilly <blilly@erols.com>
2005 * src/roff/nroff/nroff.sh: Make the script accept option `-M'.
2007 2005-04-01 Kees Zeelenberg <kzlg@users.sourceforge.net>
2008 Werner LEMBERG <wl@gnu.org>
2010 Add binary relocation support for Windows platforms.
2012 * src/include/Makefile.sub (defs.h): Add `INSTALLPATH'.
2014 * src/include/relocate.h, src/libs/libgroff/relocate.cpp: New files.
2016 * src/libs/libgroff/searchpath.cpp: Handle `relocate'.
2017 (search_path::search_path, search_path::open_file_cautious): Use
2020 * src/libs/libgroff/Makefile.sub (OBJS, CCSRCS),
2021 src/include/Makefile.sub (HDRS): Updated.
2023 2005-04-01 Werner LEMBERG <wl@gnu.org>
2025 * src/devices/grohtml/post-html.cpp: Don't use strdup/free but
2028 * src/libs/libgroff/font.cpp: Replace strdup with strsave.
2030 * src/libs/libgroff/maxfilename.cpp: Don't include limits.h since
2031 lib.h already does it.
2033 * src/libs/libgroff/maxpathname.cpp: New file, defining
2036 * src/include/lib.h: Add prototype for path_name_max.
2038 * src/libs/libgroff/Makefile.sub (OBJS, CCSRCS): Updated.
2040 * src/include/nonposix.h (PATH_EXT): New macro.
2042 2005-03-28 Werner LEMBERG <wl@gnu.org>
2044 Add support for double- and zero-width characters in grotty.
2046 * src/devices/grotty/tty.cpp (glyph): Add width.
2047 (tty_printer::make_underline, tty_printer::make_bold,
2048 tty_printer::add_character): Add parameter to pass character width.
2050 (tty_printer::end_page): Increase hpos by actual character width.
2052 * font/devutf8/R.proto: Specify zero width for non-spacing
2055 * tmac/unicode.tmac: Remove definitions for non-spacing entities.
2057 * Makefile.comm (extraclean): Remove more junk files.
2059 2005-03-25 Werner LEMBERG <wl@gnu.org>
2061 * configure.ac: Undo change from 2005-03-24.
2062 * configure: Regenerated.
2064 2005-03-24 Werner LEMBERG <wl@gnu.org>
2066 * Makefile.in (NOMAKEDIRS): Add contrib/gdiffmk/tests.
2067 (dist): Search Makefile while descending into $(EXTRADIRS).
2069 * doc/Makefile.in (.PHONY): Add.
2070 (clean): Don't remove *.png and *.eps.
2072 (realclean): Remove *.png and *.eps.
2073 (extraclean): Depend on distclean.
2075 * configure.ac: Add copyright.
2076 Handle contrib/pdfmark/Makefile.
2078 * configure: Regenerated.
2080 2005-03-18 Larry Kollar <kollar@alltel.net>
2082 Add numbered and definition lists to www.tmac.
2084 * tmac/www.tmac (www-ul-level1, www-ul-level2, www-ul-level3,
2085 www-ol-level1, www-ol-level2, www-ol-level3, www-ol-tmp): New
2086 auxiliary string registers.
2087 (www-ul-level, www-ol-level, www-dl-level, www-ol-ctr1, www-ol-ctr2,
2088 www-ol-ctr3, www-dl-shift): New auxiliary number registers.
2089 (www-level): Removed.
2090 (www-level1, www-level2, www-level3): Initialize to empty.
2091 (www-level0, www-level4, www-level5, www-level6, www-level7,
2092 www-level8, www-level9): New string registers.
2093 (www-push-li, www-pop-li): New macros.
2094 (www-push-level, www-pop-level): Renamed to...
2095 (www-push-ul-level, www-pop-ul-level): This.
2097 (www-push-ol-level, www-pop-ol-level): New macros.
2098 (ULS, ULE): Updated.
2099 (OLS, OLE, DLS, DLE): New user macros.
2100 (LI): Removed. It is aliased to one of...
2101 (www-li-ul, www-li-ol, www-li-dl): New macros.
2103 * tmac/groff_www.man: Document new macros.
2107 2005-03-18 Werner LEMBERG <wl@gnu.org>
2109 * tmac/doc-common (doc-operating-system-NetBSD-2.0.1,
2110 doc-operating-system-NetBSD-2.0.2): New strings.
2112 * tmac/groff_mdoc.man: Updated.
2114 2005-03-17 Werner LEMBERG <wl@gnu.org>
2116 * doc/Makefile.sub (CLEANADD): Add `groff.html'.
2118 2005-03-17 Werner LEMBERG <wl@gnu.org>
2120 * src/libs/libgroff/hypot.c: Renamed to...
2121 * src/libs/libgroff/hypot.cpp: This. Updated to C++.
2123 * src/libs/libgroff/Makefile.sub (CCSRCS, CSRCS): Updated.
2125 * src/include/lib.h: Updated.
2127 2005-03-16 Werner LEMBERG <wl@gnu.org>
2129 Add workaround for broken hypot() on Interix.
2131 * src/libs/libgroff/hypot.c: New wrapper file for `hypot'.
2133 * src/libs/libgroff/Makefile.sub (OBJS): Add `hypot.o'.
2134 (CSRCS): Add `hypot.c'.
2136 * src/include/lib.h: Declare `groff_hypot'.
2138 * src/preproc/grn/hgraph.cpp: Don't declare `hypot'.
2141 * src/preproc/pic/pic.h: Don't declare `hypot'.
2143 * src/preproc/pic/object.cpp (hypot): Use `groff_hypot'.
2145 2005-03-15 Gaius Mulley <gaius@glam.ac.uk>
2147 * src/devices/grohtml/post-html.cpp
2148 (html_printer::lookahead_for_tables): End .ce properly to avoid a
2151 2005-03-15 Werner LEMBERG <wl@gnu.org>
2153 makeinfo 4.8 doesn't produce good HTML output from groff.texinfo.
2155 * doc/fixinfo.sh: New script to postprocess makeinfo's HTML output.
2157 * doc/Makefile.in (.texinfo.html): Call fixinfo.sh.
2159 2005-03-14 Werner LEMBERG <wl@gnu.org>
2161 Add Cyrillic support to devutf8 and devhtml.
2163 * font/devutf8/R.proto, font/devhtml/R.proto: Add Cyrillic blocks.
2165 * tmac/unicode.tmac: New file.
2167 * tmac/tty.tmac: Include unicode.tmac if device is utf8.
2169 * tmac/Makefile.sub (NORMALFILES): Add unicode.tmac.
2173 2005-03-02 Keith Marshall <keith.d.marshall@ntlworld.com>
2175 * src/libs/libdriver/printer.cpp (check_for_output_error): New
2176 function. It has been introduced to catch peculiar error contexts
2177 on MS-Windows platforms.
2179 2005-02-28 Werner LEMBERG <wl@gnu.org>
2181 * src/roff/troff/input.cpp (string_iterator::fill): Protect against
2184 * tmac/papersize.tmac: Convert `paper' string contents to lowercase.
2186 * configure: Regenerated.
2190 2005-02-28 Keith Marshall <keith.d.marshall@ntlworld.com>
2192 Integrate `pdfmark' into normal groff build system;
2193 install macro `pdfmark' packages, build and install `pdfroff',
2194 and PDF format documentation.
2196 * Makefile.comm: Add PDFDOCDIR.
2198 * Makefile.in: (MDEFINES) ALT_AWK_PROGS, ALT_GHOSTSCRIPT_PROGS,
2199 pdfdocdir, make_pdfdoc, make_install_pdfdoc: New variables.
2200 (unstall_dirs): Add pdfdocdir.
2202 * aclocal.m4: (GROFF_GHOSTSCRIPT_PREFS): New function; support
2203 `--with-alt-gs' option, set ALT_GHOSTSCRIPT_PROGS.
2204 (GROFF_GHOSTSCRIPT_PATH): Support `--with-gs' option, force use of
2205 GROFF_GHOSTSCRIPT_PREFS, set GHOSTSCRIPT.
2206 (GROFF_HTML_PROGRAMS): Force use of GROFF_GHOSTSCRIPT_PATH; tidy up.
2207 (GROFF_AWK_PREFS): New function; support `--with-alt-awk' option,
2209 (GROFF_AWK_PATH): New function; support `--with-awk' option, force
2210 use of GROFF_AWK_PREFS.
2211 (GROFF_PDFDOC_PROGRAMS): New function; force use of GROFF_AWK_PATH
2212 and GROFF_GHOSTSCRIPT_PATH, set make_pdfdoc and make_install_pdfdoc.
2214 * configure.ac: Add AC_PREREQ(2.59), GROFF_PDFDOC_PROGRAMS.
2215 Remove GROFF_GHOSTSCRIPT_PATH, (forced by GROFF_PDFDOC_PROGRAMS, and
2216 also by modified GROFF_HTML_PROGRAMS).
2218 2005-02-27 Gaius Mulley <gaius@glam.ac.uk>
2220 * src/devices/grohtml/html-text.cpp (html_text::do_pre): Preserve
2222 (html_text::done_para): Unset `start_space'.
2223 (html_text::remove_para_align): Call `retrieve_para_space' for the
2226 * src/devices/grohtml/post-html.cpp (html_printer::emit_raw): Unset
2228 (html_printer::do_check_center): Emit vertical space if necessary.
2230 * src/roff/troff/env.cpp (environment_switch): Preserve
2231 `seen_space', `seen_eol', and `suppress_next_eol' while switching
2234 * src/roff/troff/node.cpp (suppress_node::suppress_node): Set
2237 2005-02-20 Werner LEMBERG <wl@gnu.org>
2239 * src/preproc/eqn/eqn.man, NEWS: Document various extensions of
2242 2005-02-17 Werner LEMBERG <wl@gnu.org>
2244 * doc/pic.ms, man/groff.man: Fix typos.
2246 * doc/groff.texinfo: Fix typos.
2247 (\LEmacro): Get proper mathematical spacing.
2249 2005-02-16 Werner LEMBERG <wl@gnu.org>
2251 * aclocal.m4 (GROFF_APPRESDIR_CHECK): Improve warning message.
2252 * configure: Regenerated with autoconf 2.59b.
2254 2005-02-16 Gaius Mulley <gaius@glam.ac.uk>
2256 * src/devices/grohtml/post-html.cpp (html_printer::is_line_start,
2257 html_printer::start_font): Fix handling of preformatted text.
2259 2005-02-15 Gaius Mulley <gaius@glam.ac.uk>
2261 These patches modify the indentation implementation to use `<p
2262 style=margin-left: n%>'. Many thanks to Peter and Larry for
2263 suggesting this solution. Grohtml only uses tables for `.IP' and
2264 related tags when the first operand has a short width.
2266 Similarly, they modify all vertical space code. By default, grohtml
2267 sets up a style sheet which uses no vertical space between `table',
2268 `pre', and `p' tags. It forces spaces when it needs them using
2269 `style="margin-top: 1em"'.
2271 * src/devices/grohtml/html-table.cpp: Include `html-text.h'.
2272 (html_table::emit_table_header, html_table::emit_new_row):
2274 (html_table::set_space): New function.
2275 (html_indent::html_indent): Don't set `is_used'.
2276 (html_indent::begin): Rewritten.
2277 (html_indent::end): Remove code in function.
2279 * src/devices/grohtml/html-table.h: Updated.
2280 (html_table): Make `out' public.
2282 * src/devices/grohtml/html-text.cpp (html_text::html_text):
2283 Initialize `start_space' with FALSE.
2284 (html_text::end_tag) <P_TAG, PRE_TAG>: Updated.
2285 (html_text::issue_tag): Add argument to handle space style.
2286 (html_text::start_tag) <P_TAG, PRE_TAG>: Updated.
2287 (html_text::flush_text): Don't set `start_space'.
2288 (html_text::push_para): Don't set `p->really_issued'.
2289 (html_text::do_emittext): Updated.
2290 (html_text::do_para): Add paremeter to handle space.
2292 (html_text::retrieve_para_space): New function.
2294 * src/devices/grohtml/html-text.h (STYLE_VERTICAL_SPACE): New macro.
2295 (tag_definition): Remove `really_issued'.
2296 (html_text): Updated.
2298 * src/devices/grohtml/post-html.cpp (html_printer): Add variables
2299 `current_column' and `row_space'.
2301 (html_printer::emit_raw, html_printer::write_header,
2302 html_printer::do_indent, html_printer::do_check_center,
2303 html_printer::do_tab_ts): Handle vertical space.
2304 (html_printer:do_tab_te, html_printer::do_end_para): Call
2305 `remove_para_space'.
2306 (html_printer::do_col): Rewritten.
2307 (html_printer::flush_globs): Remove debugging code.
2308 (html_printer::is_line_start): New function.
2309 (html_printer::start_font): Use `is_line_start'.
2310 (html_printer::writeHeadMetaStyle): New function.
2311 (html_printer::do_file_components, html_printer::~html_printer):
2312 Call `writeHeadMetaStyle'.
2314 * tmac/www.tmac (www-handle-percent): New macro.
2315 (MPIMG): Handle percent values for width and height parameters.
2318 * tmac/groff_www.man: Updated.
2320 2005-02-14 Werner LEMBERG <wl@gnu.org>
2322 * src/utils/afmtodit/afmtodit.pl: Remove an incorrect `my' from
2323 $psname and $italic_angle.
2324 Immediately restart file input loops if `split' returns an empty
2327 2005-02-13 Michail Vidiassov <master@iaas.msu.ru>
2328 Werner LEMBERG <wl@gnu.org>
2330 Update afmtodit to better support Unicode (Michail).
2331 Update afmtodit to use Perl 5 syntax (Werner).
2333 * src/utils/afmtodit/afmtodit.pl: Don't use `getopts.pl' but
2335 Decorate variables with `my' where necessary.
2336 Use `defined' where necessary to avoid warnings.
2337 Don't use `do' for subroutine calls.
2338 Other minor syntax updates.
2339 Check for both `uXXXX[X[X]]' and `uniXXXX'.
2340 Handle glyph variants properly.
2341 (%unicode_decomposed, %AGL_to_unicode): Don't use `u' prefix in
2344 * src/utils/afmtodit/afmtodit.man: Updated.
2346 2005-02-13 Werner LEMBERG <wl@gnu.org>
2348 Make groff.texinfo work with texinfo 4.8.
2350 * doc/groff.texinfo (@Var): Use @r and @slanted.
2351 (@defdummy, @Def*): Use @c to avoid empty lines.
2352 (\angles): Replaced with...
2353 (\Langlemacro, \Ranglemacro): New TeX macros.
2354 (@Langlemacro, @Ranglemacro): New variables defined with @set.
2355 (@angles): Use @Langlemacro and @Ranglemacro.
2356 (\LE): Replaced with...
2357 (\LEmacro): New TeX macro.
2358 (@LEmacro): New variable defined with @set.
2359 (@LE): Use @LEmacro.
2360 (@Lparenmacro, @Rparenmacro, @Lbrackmacro, @Rbrackmacro): New
2361 variables defined with @set.
2362 (@lparen, @rparen, @lbrack, @rbrack): Replaced with...
2363 (@Lparen, @Rparen, @Lbrack, @Rbrack): New macros.
2366 Other minor updates.
2368 * doc/texinfo.tex: Update to texinfo version 4.8.
2370 * README.CVS: Updated.
2372 2005-02-09 Alejandro López-Valencia <palopez@etb.net.co> (tiny change)
2374 * doc/groff.texinfo (ms Document Control Registers): Document `HY'
2375 and `FAM' registers.
2377 2005-02-05 Werner LEMBERG <wl@gnu.org>
2379 * tmac/groff_mdoc.man, tmac/doc-common, tmac/doc-ditroff,
2380 tmac/doc-nroff, tmac/doc-old.tmac, tmac/doc-syms, tmac/doc.tmac:
2383 2005-02-01 Werner LEMBERG <wl@gnu.org>
2385 * src/roff/groff/groff.man: Add information about paper size.
2387 2005-01-25 Werner LEMBERG <wl@gnu.org>
2389 * src/roff/nroff/nroff.sh: Handle `*.ISO8859-1' in locale. From
2392 2005-01-22 Ruslan Ermilov <ru@FreeBSD.org>
2394 * tmac/doc.tmac (Sm): Improved. It didn't work properly in many
2396 (Re): Emit a warning if called without `.Rs'.
2397 (doc-finish-reference): Use parameter for decreasing
2398 `doc-reference-count'.
2399 (doc-print-reference): Pass specific count parameters to
2400 `doc-finish-reference'.
2402 2005-01-21 Werner LEMBERG <wl@gnu.org>
2404 * src/libs/libdriver/input.cpp (delete_current_env, do_file):
2405 Reset pointers to zero after deallocation. This fixes a crash
2406 if a driver is called with multiple input files. Reported by
2407 Ken Chilton <ken@chiltonfamily.org>.
2409 * src/devices/grops/grops.man: Add more info on DSC.
2411 2005-01-17 Ruslan Ermilov <ru@FreeBSD.org>
2413 * tmac/doc-common (Dd), tmac/doc-ditroff (gX, doc-setup-header):
2416 2005-01-17 Werner LEMBERG <wl@gnu.org>
2418 * src/roff/troff/div.cpp (top_level_diversion::space): Protect
2419 against division by zero.
2421 2005-01-13 Ruslan Ermilov <ru@FreeBSD.org>
2423 * tmac/doc.tmac (Ef): Restore doc-curr-font and doc-curr-size.
2425 2004-12-19 Werner LEMBERG <wl@gnu.org>
2427 * install-sh: New version; taken from texinfo CVS.
2429 2004-12-17 Werner LEMBERG <wl@gnu.org>
2431 * tmac/devtag.tmac: Protect against loading twice.
2432 Protect agains compatibility mode.
2433 * tmac/www.tmac: Protect against loading twice.
2434 Load `devtag.tmac' before switching off compatibility mode.
2435 * tmac/an-old.tmac, tmac/s.tmac: Load `devtag.tmac'.
2437 2004-12-16 Mike Bianchi <mbianchi@Foveal.com>
2439 * configure.ac: Produce `contrib/gdiffmk/tests/runtests'.
2440 * configure: Updated.
2442 2004-12-15 Thomas Klausner <wiz@netbsd.org>
2444 * tmac/doc-syms, tmac/groff_mdoc.man: Add `libpam' library.
2446 2004-12-15 Werner LEMBERG <wl@gnu.org>
2448 Make `test-groff' work again -- previously, wrong paths have been
2449 used. Additionally, it can now be called from anywhere.
2451 * test-groff.in: Don't test for groff binary. This is no longer
2452 necessary since the proper paths are determined by `configure'.
2453 (EXEEXT): Removed. No longer used.
2454 (srcdir, builddir): Use values provided by the configure script.
2455 (XENVIRONMENT): Updated.
2459 2004-12-14 Gaius Mulley <gaius@glam.ac.uk>
2461 Make .tag and .taga work for all devices (but only grohtml actually
2464 * src/devices/grohtml/post-html.cpp: s/html-tag/devtag/.
2465 (text_glob::is_br, page::add_tag, html_printer::troff_tag,
2466 html_printer::handle_assertion): Don't use hard-coded string
2468 (html_printer::lookahead_for_table): Reset `tbl' properly if
2470 (html_printer::devtag): New function, handling `devtag'.
2471 (html_printer::special): Don't handle `html-tag'.
2473 * src/include/printer.h, src/libs/libdriver/printer.cpp
2474 (printer::devtag): New virtual function.
2476 * src/libs/libdriver/input.cpp (parse_x_command) <'X'>: Handle
2479 * src/roff/troff/env.cpp, src/roff/troff/mtsm.cpp,
2480 src/roff/troff/node.cpp: s/html-tag/devtag/.
2482 * src/roff/troff/input.cpp (tag, taga): Always call
2485 * tmac/an-old.tmac, tmac/s.tmac, tmac/troffrc-end: Use DEVTAG*
2486 macros instead of HTML-TAG*.
2488 * tmac/devtag.tmac: New file, defining the DEVTAG-* macros.
2490 * tmac/www.tmac: Load devtag.tmac.
2491 Replace HTML-TAG* macros with DEVTAG* macros.
2492 (HTML, HTML-NS): Changed definitions.
2494 (HTML-TAG, HTML-TAG-NS, HTML-TAG-NEXT): Removed.
2496 * tmac/Makefile.sub (NORMALFILES): Add devtag.tmac.
2498 2004-12-10 Werner LEMBERG <wl@gnu.org>
2500 Import Mike's `gdiffmk' package.
2502 * contrib/gdiffmk/*: New files.
2503 * Makefile.in (OTHERDIRS): Add contrib/gdiffmk.
2506 2004-12-08 Werner LEMBERG <wl@gnu.org>
2508 Import Keith's `pdfmark' package. Integration is very preliminary.
2510 * contrib/pdfmark/*: New files.
2511 * Makefile.in (OTHERDIRS): Add contrib/pdfmark.
2514 2004-12-07 Gaius Mulley <gaius@glam.ac.uk>
2516 Fix a bug with title handling in HTML.
2518 * src/devices/grohtml/post-html.cpp (text_glob::is_nf,
2519 text_glob::is_fi, text_glob::is_ce): Use strlen to compute string
2521 (html_printer::handle_tag_within_title): New function.
2522 (html_printer::do_title): Use it.
2524 * tmac/s.tmac (TL): Don't set `need_eo_tl'.
2525 (cov*tl-au-print): Emit `.eo.tl' tag.
2527 2004-12-05 Alejandro López-Valencia <dradul@etb.net.co>
2529 * man/groff_char.man: Minor imrovements.
2531 2004-12-04 Werner LEMBERG <wl@gnu.org>
2533 * src/preproc/eqn/eqn.man: Revised.
2535 2004-11-25 Werner LEMBERG <wl@gnu.org>
2537 * src/utils/xtotroff/xtotroff.c: Reformat to be similar to other
2541 Remove X_NOT_STDC_ENV conditional.
2542 (Version_string, program_name): New global variables.
2543 (groff_flag): Removed.
2545 (usage): Take a stream as argument.
2548 (main): Add `long_options' array for `--help' and `--version'.
2549 Make `-g' a dummy option.
2550 Handle `-v' and unknown options.
2551 Remove unused `position' variable.
2553 * src/utils/xtotroff/Makefile.sub (MAN1): Define.
2554 (XLIBS): Add LIBGROFF.
2556 * src/utils/xtotroff/xtotroff.man, src/utils/xtotroff/Makefile.in:
2559 * src/devices/xditview/Dvi.c (default_font_map): Split into three
2560 parts to avoid compiler warning.
2561 (resources): Don't initialize with `default_font_map'.
2562 (ClassInitialize): Initialize first element of `resources'.
2564 * src/devices/xditview/Makefile.sub (devdir, xtotroff, DPIS, fonts):
2567 * src/utils/lkbib/lkbib.man, src/utils/lookbib/lookbib.man,
2568 src/utils/pfbtops/pfbtops.man: Revised, updated.
2570 * configure.ac: Generate src/utils/xtotroff/Makefile.
2571 * configure: Regenerated.
2573 2004-11-24 Werner LEMBERG <wl@gnu.org>
2575 First fixes to get produce HTML.
2577 * src/devices/grohtml/post-html.cpp (generate_img_src): Add `alt'
2580 * tmac/www.tmac (IMG, PIMG, MPIMG): Add `alt' attribute.
2581 (HR, LI): Use `HTML</p>', not `HTML'.
2583 * doc/webpage.ms: Minor updates.
2585 2004-11-23 Larry Kollar <kollar@alltel.net>
2587 Add option -S grohtml to determine the file split level.
2589 * src/devices/grohtml/post-html.cpp (split_level): New global
2591 (html_header::determine_header_level): Use split_level.
2592 (main): Handle `-S' command line option.
2595 * src/preproc/html/pre-html.cpp (scanArguments): Updated.
2597 * src/devices/grohtml/grohtml.man: Document it.
2600 * NEWS: Document it.
2602 2004-11-23 Y T <doarhop@hotmail.com>
2604 * tmac/s.tmac (ref*add-V, ref*add-N): New macros for handling
2605 the volume and number refer entries.
2607 2004-11-22 Werner LEMBERG <wl@gnu.org>
2609 * src/devices/grohtml/html-table.cpp
2610 (html_table::emit_table_header): Don't emit `cols' attribute which
2611 doesn't exist in HTML 4.0 and is thus invalid.
2613 * NEWS: More minor fixes and updates.
2615 2004-11-18 Werner LEMBERG <wl@gnu.org>
2617 * tmac/www.tmac (HTML-NS, HTML-TAG-NS, HTML-TAG-NEXT): Simplified.
2618 (HTML</p>): Minor clean-up.
2620 * tmac/groff_www.man: Updated.
2622 * src/devices/grohtml/grohtml.man: Revised and updated.
2626 2004-11-18 Gaius Mulley <gaius@glam.ac.uk>
2628 * src/devices/grohtml/post-html.cpp (html_printer::do_heading):
2629 Fix space insertion.
2630 (html_printer::do_links): Fix rules generation around automatic
2633 * tmac/www.tmac (LK): Use HTML-TAG-NS.
2635 No longer emit empty line for non-HTML devices.
2637 2004-11-17 Werner LEMBERG <wl@gnu.org>
2639 * doc/Makefile.in (prepare_examples, webpage.html): Handle
2642 * doc/Makefile.sub (EXAMPLEFILES, CLEANNOTSRCDIRADD,
2643 prepare_examples, webpage.html): Handle `groff.css'.
2645 2004-11-15 Werner LEMBERG <wl@gnu.org>
2647 * NEWS, README, doc/webpage.ms: Updated.
2649 * tmac/www.tmac (HTML, HTML-TAG): Minor clean-ups.
2651 2004-10-30 Gaius Mulley <gaius@glam.ac.uk>
2653 * src/include/printer.h (printer): Remove virtual function
2655 Update all source files.
2657 * src/devices/grohtml/post-html.cpp (html_printer): New member
2658 function `round_width'.
2660 2004-10-20 Tadziu Hoffmann <hoffmann@usm.uni-muenchen.de>
2662 * src/preproc/tbl/table.cpp (table::do_row): Fix handling of the `d'
2663 column key letter suffix.
2665 2004-10-14 Werner LEMBERG <wl@gnu.org>
2667 * Makefile.in (check): Depend on `site.exp' and `docheck'.
2668 (docheck): Run dejagnu's `runtest' if it exists.
2669 (site.exp): Create dejagnu configuration file.
2671 * Makefile.sub (DISTCLEANFILES): Add files related to dejagnu.
2673 2004-10-13 Werner LEMBERG <wl@gnu.org>
2675 * src/devices/grohtml/html-text.cpp (html_text_get_alignment),
2676 src/devices/grohtml/post-html.cpp (make_val,
2677 html_printer::handle_state_assertion): Fix compiler warnings.
2679 * src/roff/troff/div.cpp: Include `stringclass.h' and `mtsm.h'.
2680 (diversion::diversion): Fix order of initializers.
2682 * src/roff/troff/div.h: Don't include `mtsm.h'.
2684 * src/roff/troff/env.cpp: Include `stringclass.h' and `mtsm.h'.
2685 (environment::environment): Fix order of initializers.
2686 (environment::make_tag, environment::construct_format_state): Fix
2689 * src/roff/troff/input.cpp: Include `stringclass.h' and `mtsm.h'.
2690 (input_iterator::input_iterator, macro::macro): Fix order of
2693 * src/roff/troff/mtsm.cpp: Include only necessary header files.
2694 (state_set::add, state_set::val): Fix compiler warnings.
2696 * src/roff/troff/mtsm.h: Don't include `stringclass.h'.
2697 (bool_value_state, int_value_state, units_value_state,
2698 string_value_state): Remove comma after last element which causes
2699 an error with g++ 3.3.3.
2701 * src/roff/troff/node.cpp: Include `stringclass.h'.
2702 (hline_node::hline_node, vline_node::vline_node,
2703 space_char_hmotion_node, left_italic_corrected_node): Fix compiler
2705 (zero_width_node::zero_width_node): Fix order of initializers.
2707 * src/roff/troff/node.h: Don't include `mtsm.h'.
2708 (hmotion_node): Fix compiler warnings.
2710 * src/roff/troff/number.cpp: Include `stringclass.h' and `mtsm.h'.
2712 2004-10-12 Gaius Mulley <gaius@glam.ac.uk>
2714 * doc/groff.css: New file.
2716 * doc/webpage.ms: Use `groff.css'.
2719 * tmac/an-old.tmac (need_eo_h): New number register.
2720 (TH): Emit `.eo.tl' tag after title.
2721 (SH): Set `need_eo_h'.
2722 (an-trap): Handle `need_eo_h'.
2723 (an-do-tag): s/HTML-TAG-NS/HTML-TAG-NEXT/.
2725 * tmac/s.tmac (need_eo_h, need_eo_tl): New number registers.
2726 (TL): Always start diversion.
2728 (@AI): Always call `par@reset'.
2729 (@AB): Update code for -Thtml.
2730 (cov*tl-au-print): Handle -Thtml.
2731 (par@reset): Handle `need_eo_tl', `need_eo_h'.
2733 (@IT-html): Removed.
2734 (@SH): Set `need_eo_h' for -Thtml.
2735 (par@TL): s/HTML-TAG/HTMl-TAG-NS/.
2737 (@NH): s/HTML-TAG/HTMl-TAG-NS/.
2738 Set `need_eo_h' for -Thtml.
2739 (@EQ, @EN): Don't handle -Thtml specially.
2740 (par@load-init): Don't handle -Thtml specially.
2742 * tmac/www.tmac (www:paraspace): New macro.
2743 (HTML-NS, HTML-TAG-NS): Use new `tag' request.
2744 (HTML</p>, HTML-TAG-NEXT): New macros.
2745 (HnE): Emit tag `.eo.h' instead of break.
2746 (HR): s/HTML-NS/HTML/.
2747 (www-end-nowhere): End diversion only if `www-html' not set.
2749 (ULS, ULE): s|HTML|HTML</p>|.
2750 (LI): Call `www:paraspace'.
2753 2004-10-11 Gaius Mulley <gaius@glam.ac.uk>
2755 * src/roff/troff/request.h (macro): Make `p' public.
2756 New variable `is_a_diversion'.
2757 New member function `is_diversion'.
2760 * src/devices/grohtml/html.h (simple_output): New member function
2763 * src/devices/grohtml/html-table.cpp (tabs::compatible): Fix
2764 computation of `total'.
2765 (tabs::check_init): New function.
2766 (html_table::emit_table_header): Emit style data.
2767 (html_table::insert_column): Improved.
2769 * src/devices/grohtml/html-table.h: Updated.
2771 * src/devices/grohtml/html-text.cpp (html_text::html_text):
2772 Initialize `start_space' with TRUE.
2773 (html_text::end_tag, html_start_tag): Fix `P_TAG' and `PRE_TAG'
2775 (html_text::flush_text): Set `start_space' flag.
2776 (html_text::uses_indent, html_text::remove_para_space,
2777 html_text::get_alignment): New functions.
2778 (html_text::push_para): Updated.
2779 (html_text::do_para): Check for empty argument.
2780 Don't set `space_emitted'.
2781 (html_text::do_space, html_text::emit_space): Updated.
2783 * src/devices/grohtml/html-text.h (tag_definition): New variable
2785 (html_text): New member function `uses_indent', `remove_para_space',
2788 * src/devices/grohtml/output.cpp (simple_output::force_nl): New
2790 (simple_output:nl): Always emit `\n'.
2792 * src/devices/grohtml/post-html.cpp: Include `string.h'.
2793 (BASE_POINT_SIZE): Removed.
2794 (base_point_size, head_info): New global variables.
2795 (text_glob): New member functions `is_ll', `is_tl', `is_eo_tl',
2797 (text_glob::is_nf, text_glob::is_fi): Handle `.fi 0' and `.fi 1'
2799 (page::add_and_encode): Pass additional parameter for tag flag.
2800 (assert_pos): New structure.
2801 (assert_state): New class.
2802 (html_printer): Remove `indentation', `prev_indent'.
2803 Add variables `troff_indent', `device_indent', `temp_indent'.
2804 Add variables `seen_indent', `next_indent', `seen_pageoffset',
2805 `next_pageoffset', `seen_linelenght', `next_linelength',
2806 `seen_center', `next_center', `seen_space', `seen_break', `as'.
2807 Add member functions `do_check_center', `do_space', `do_head',
2808 `get_troff_indent', `restore_troff_indent', `handle_assertion',
2809 `handle_state_assertion', `do_end_para', `set_char_and_width'.
2810 Change argument to `do_fill' to `char *'.
2812 (html_printer::emit_raw): Call `shutdown_table'.
2814 (html_printer::do_center): Simplified.
2815 (html_printer::do_title): Improved.
2816 (html_printer::write_header): Emit one more newline.
2818 (html_printer::do_heading, html_printer::do_indent,
2819 html_printer::do_eol, html_printer::do_tab_ts,
2820 html_printer::do_tab, html_printer::do_tab0,
2821 html_printer::calc_po_in, html_printer::next_horiz_pos,
2822 html_printer::remove_courier_tabs,
2823 html_printer::insert_tab0_foreach_tab, html_printer::begin_page):
2825 (html_printer::do_linelength, html_printer::do_pageoffset,
2826 html_printer::do_indentation, html_printer::do_tempindent,
2827 html_printer::do_tab_te): Simplified.
2828 (html_printer::do_pointsize): Check whether point size is really
2829 associated a `.tl' tag.
2830 (html_printer::do_break): Rewritten.
2831 (html_printer::troff_tag): Improved.
2832 (html_printer::flush_globs): Updated.
2833 (html_printer::lookahead_for_tables): Handle `is_br'.
2835 (html_printer::set_char): Check `sbuf_style.f'.
2836 (html_printer::write_navigation): Use string comparison.
2837 (html_printer::~html_printer): Emit `head_info'.
2838 (html_printer::special): Rewritten.
2839 (get_str, make_val): New functions.
2840 (main): New option `s' to set the base point size.
2842 * src/preproc/html/pre-html.cpp (scanArguments): Handle option `s'.
2844 2004-10-10 Gaius Mulley <gaius@glam.ac.uk>
2846 * src/roff/troff/node.cpp: New extern `debug_state'.
2847 Include `stringclass.h' and `mtsm.h'.
2848 Implement new classes and class members from `node.h'.
2849 (real_output_file): Make `fp' public.
2850 (troff_output_file): New variables `cur_div_level' and `tag_list'.
2851 Update constructors.
2852 (troff_output_file::really_print_line): Check whether we should push
2853 the current troff state and use the state at the start of the
2854 invocation of this diversion.
2855 (troff_output_file::add_to_tag_list): New member function.
2856 (node::add_char): Handle `glyph_comp_np'.
2858 * src/roff/troff/node.h: Include `mtsm.h'.
2859 (node): New variables `state', `push_state', `div_nest_level',
2860 `is_special'. Update constructors, all descendants.
2861 Pass additional argument to `add_char' member function.
2862 New virtual member functions `is_tag', `debug_node',
2863 `debug_node_list'. Update all descendants.
2864 (tag_node): New class for handling tags.
2865 (output_file): Add variable `state'.
2867 2004-10-09 Gaius Mulley <gaius@glam.ac.uk>
2869 * src/roff/troff/mtsm.cpp, src/roff/troff/mtsm.h: New files,
2870 providing a minimal troff state machine to emit meta tags for the
2871 post-grohtml device driver.
2873 * src/roff/troff/Makefile.sub (OBJS, CCSRCS, HDRS): Handle new
2876 2004-10-09 Werner LEMBERG <wl@gnu.org>
2878 * tmac/trace.tmac: Fix handling of `am' and `am1' calls.
2880 2004-10-06 Gaius Mulley <gaius@glam.ac.uk>
2882 * src/roff/troff/column.cpp (vjustify_node::copy): Updated.
2884 * src/roff/troff/div.h: Include `mtsm.h'.
2885 (diversion): New variables `any_chars_added', `needs_push',
2886 `saved_seen_break', `saved_seen_space', `saved_seen_eol',
2887 `saved_suppress_next_eol', `modified_tag'.
2888 New virtual member function `is_diversion'. Update all descendants.
2890 * src/roff/troff/div.cpp (diversion::diversion,
2891 macro_diversion::macro_diversion): Updated.
2892 (do_divert): Handle `seen_break', `seen_space', `seen_eol',
2893 `suppress_next_eol'.
2894 (top_level_diversion::space): Handle `curenv->seen_space'.
2895 (page_offset): Update tag handling.
2896 (space_request, blank_line, flush_output): Don't call `add_html_tag'.
2898 * src/roff/troff/env.h (environment): Make `tabs' public.
2899 Remove `ignore_next_eol', `emitted_node'.
2900 Update `output_line', `output'.
2901 New variables `seen_space', `seen_eol', `suppress_next_eol',
2903 New member functions `construct_state', `make_tag',
2904 `construct_format_state, `construct_new_line_state,
2906 Remove `add_html_tag', `make_html_tag'.
2908 * src/roff/troff/env.cpp: New externs `suppress_push',
2909 `get_diversion_state', `global_diverted_space'.
2910 (pending_output_line): New variable `was_centered'.
2911 Update constructor and all callers.
2912 (pending_output_line::output): Call `curenv->construct_format_state'.
2913 (environment::environment, environment::copy): Updated.
2914 (environment::output): Handle `was_centered'.
2915 (environment::add_char): Handle construct and diversion state.
2916 (environment::add_node): Handle construct state.
2917 (environment::newline): Handle `was_centered'.
2918 (environment::output_line): Updated.
2919 (environment::possibly_break_line): Updated.
2920 Update tag handling.
2921 (environment::add_html_tag): Replaced with...
2922 (environment::make_tag): New function.
2923 (environment::add_html_tag_tabs, environment::make_html_tag): Removed.
2924 (environment::dump_troff_state): New debugging function.
2925 (environment::construct_state, environment::construct_format_state,
2926 environment::construct_new_line_state): New functions.
2927 (environment::do_break): Updated.
2928 Handle `global_diverted_space'.
2929 (environment::handle_tag): Update tag handling.
2930 (point_size, fill, do_break_request): Don't call `add_html_tag'.
2931 (no_fill): Don't call `add_html_tag'.
2932 Set `suppress_next_eol'.
2933 (center, right_justify, line_length, indent, temporary_indent,
2935 Update tag handling.
2937 * src/roff/troff/input.cpp: Don't include `stringclass.h'.
2938 (input_iterator): New variables `is_diversion', `diversion_state'.
2939 Update constructors.
2940 (input_stack): New member functions `get_div_level',
2941 `get_diversion_state', `check_end_diversion'.
2942 New variables `div_level', `diversion_state'. Initialize them.
2943 (suppress_push, global_diverted_space): New global variables.
2944 (input_stack::finish_get, input_stack::finish_peek,
2945 input_stack::remove_boundary, input_stack::end_file,
2946 input_stack::clear, input_stack::pop_macro): Call
2947 `check_end_diversion'.
2948 (input_stack::push): Handle `div_level' and `diversion_state'.
2949 (get_diversion_state): New function.
2950 (diverted_space_node::reread): Handle `global_diverted_space'.
2951 (macro::macro): Update constructors.
2952 (macro::is_diversion): New function.
2953 (macro::operator=): Set `is_a_diversion'.
2954 (string_iterator): New member function `is_diversion'.
2955 (string_iterator::string_iterator): Update constructors.
2956 (string_iterator::fill): Set `div_nest_level'.
2957 (macro_iterator): New member function `is_diversion'.
2958 (do_if_request): Handle `suppress_push'.
2959 (tag, taga): New functions.
2960 (init_input_requests): Add `tag' and `taga' requests.
2962 2004-10-05 Gaius Mulley <gaius@glam.ac.uk>
2964 * src/include/font.h (font): New member function
2965 `get_image_generator'.
2966 New variables `unscaled_charwidths' and `image_generator'.
2968 * src/libs/libgroff/font.cpp (font::get_width): Always return the
2969 character's unscaled width if `font::unscaled_charwidths' is set.
2970 (font::get_image_generator): New function.
2971 (font::load_desc): Check the `unscaled_charwidths' and
2972 `image_generator' keywords.
2974 * src/libs/libgroff/fontfile.cpp: Initialize
2975 `font::unscaled_charwidths' and `font::image_generator'.
2977 * font/devhtml/DESC.proto: s/html/unscaled_charwidths/.
2979 * font/devhtml/Makefile.sub (DESC): Set `image_generator' keyword.
2981 * man/groff_font.man: Document `unscaled_charwidths' and
2984 * src/preproc/html/pre-html.cpp: Include `device.h'.
2985 (image_gen): New global variable.
2986 (imageList::createPage): Use `image_gen'.
2987 (main): Use `image_generator' keyword.
2989 2004-10-04 Gaius Mulley <gaius@glam.ac.uk>
2991 * tmac/html.tmac: Handle \[sqrtex].
2993 2004-10-04 Gaius Mulley <gaius@glam.ac.uk>
2995 * src/include/printer.h (printer): New virtual method `round_width'.
2997 * src/devices/grodvi/dvi.cpp, src/devices/grolbp/lbp.cpp,
2998 src/devices/grolj4/lj4.cpp, src/devices/grops/ps.cpp,
2999 src/devices/grotty/tty.cpp (printer::round_width): New function
3002 * src/devices/grohtml/post-html.cpp (printer::round_width): New
3004 (html_printer::set_numbered_char): Use it.
3006 2004-10-03 Gaius Mulley <gaius@glam.ac.uk>
3008 * aclocal.m4 (GROFF_GHOSTSCRIPT_PATH): New macro.
3010 * configure.ac: Call GROFF_GHOSTSCRIPT_PATH.
3012 * configure: Regenerated.
3014 * Makefile.in (GHOSTSCRIPT): New variable.
3015 (MDEFINES): Add GHOSTSCRIPT.
3017 2004-10-03 Werner LEMBERG <wl@gnu.org>
3019 * INSTALL.gen: Updated (taken from texinfo CVS).
3021 2004-09-28 Werner LEMBERG <wl@gnu.org>
3025 2004-09-28 Heinz-Jürgen Oertel <hj.oertel@surfeu.de>
3027 * tmac/groff_www.man: Revised and updated.
3029 2004-09-26 Werner LEMBERG <wl@gnu.org>
3031 Fix \$@ and \$* to handle any number of arguments.
3033 * src/roff/troff/input.h (BEGIN_QUOTE, END_QUOTE): New special
3036 * src/roff/troff/input.cpp (input_iterator::internal_level):
3038 (input_stack): New member functions `increase_level' and
3040 (input_stack::get_level): Don't use `internal_level'.
3041 (get_copy, token::next): Handle BEGIN_QUOTE and END_QUOTE.
3042 (end_quote_iterator): Completely removed.
3043 (interpolate_arg): Build string for \$@ and \$* which is then
3044 pushed onto the input stack.
3046 2004-09-23 Keith Marshall <keith.d.marshall@ntlworld.com>
3048 * tmac/groff_ms.man, doc/groff.texinfo (ms Document Control
3049 Registers): Document changes from 2004-09-19.
3051 2004-09-23 Werner LEMBERG <wl@gnu.org>
3053 * tmac/an-old.tmac (ne): Using default scaling operator.
3055 2004-09-19 Keith Marshall <keith.d.marshall@ntlworld.com>
3057 This change implements the following features:
3060 New numeric register: Defines number of lines following LP, PP,
3061 QP, IP or XP, which must be kept together, before any automatic
3062 page break. If insufficient space remains on the current page, a
3063 page break is forced before the new paragraph begins.
3066 New numeric register: Sets number of lines of following paragraph
3067 which must be kept with a heading, defined by NH or SH, before any
3068 automatic page break. If insufficient space remains on the
3069 current page, a page break is forced before the heading.
3072 (Thanks to Joerg van den Hoff, for this idea).
3074 New numeric register: Sets the first level of heading (set with
3075 NH), which will keep the same point size as body text; e.g. if
3076 GROWPS is set to 3, .NH 3, .NH 4, ... will produce headings at the
3077 point size specified by \n[PS], but .NH 2 and .NH 1 will have
3078 progressively larger point sizes, determined by \n[PSINCR] (see
3082 New numeric register: Sets the point size increment for each level
3083 of heading, (set with NH), below the threshold level set by
3084 GROWPS; e.g. if \n[PS] = 10, \n[GROWPS] = 3 and \n[PSINCR] = 2.0p,
3085 then .NH 1 will produce 14pt headings, .NH 2 will produce 12pt,
3086 and all other levels will remain at 10pt, (because \n[PS] = 10).
3089 Existing macro now accepts a numeric argument, to make heading
3090 size match that of NH with same argument value, when the
3091 GROWPS/PSINCR feature is enabled.
3094 New string, set by NH macro, replaces the existing (undocumented)
3095 use of SN, to represent the assigned section number.
3098 New string, set by NH macro, represents the assigned section
3099 number, but omits the terminal period (periods at intermediate
3100 levels are retained).
3103 String set by NH macro, originally undocumented, now implemented
3104 as an alias for SN-DOT (which reproduces original behaviour).
3106 * tmac/s.tmac (PORPHANS): New register.
3107 (par*start): Use it.
3108 (HORPHANS, GROWPS, PSINCR): New registers.
3109 (SH-NO-TAG, @SH): Use them.
3112 2004-09-19 Keith Marshall <keith.d.marshall@ntlworld.com>
3114 * NEWS, doc/groff.texinfo (ms Display and Keeps), tmac/groff_ms.man:
3115 Document the deletion of `Ds' and `De' macros.
3117 2004-09-10 Werner LEMBERG <wl@gnu.org>
3119 In tbl, handle \a as an interpreted leader character if in
3122 * src/preproc/tbl/table.h (PREFIX, PREFIX_CHAR, LEADER,
3123 LEADER_CHAR): New macros.
3124 (compatible_flag): New declaration.
3126 * src/preproc/tbl/main.cpp (table_input): Add LEADER_1, LEADER_2,
3127 LEADER_3, and LEADER_4 to `state'.
3128 (table_input::get): Handle `\a'.
3130 * src/preproc/tbl/table.cpp (PREFIX): Removed.
3131 (LEADER_REG): New macro.
3132 (table::init_output): Define LEADER_REG string register if in
3135 * src/preproc/tbl/tbl.man: Document it.
3137 2004-08-18 Werner LEMBERG <wl@gnu.org>
3139 * tmac/doc.tmac (An): Fix error message.
3141 2004-08-06 Werner LEMBERG <wl@gnu.org>
3143 * src/preproc/tbl/main.cpp (main): Call `fatal' not `error' if a
3144 file can't be opened. UNIX tbl has the same behaviour.
3146 2004-08-05 Y T <doarhop@hotmail.com>
3148 * src/preproc/grn/hdb.cpp (compatibility_flag): Add declaration.
3149 (DBRead): If in compatibility mode, take into account the text
3150 when computing figure boundaries.
3152 2004-08-05 Werner LEMBERG <wl@gnu.org>
3154 * src/preproc/soelim/soelim.man: Improved. Based on suggestions
3155 from Tadziu Hoffmann.
3157 2004-08-03 Werner LEMBERG <wl@gnu.org>
3159 * doc/meref.me: Document `_M' register.
3161 2004-08-03 Martin Husemann <martin@duskware.de>
3163 Make hpftodit work correctly on big-endian systems.
3165 * src/utils/hpftodit/hpftodit.cpp (File): New method
3166 `get_uint32(char *)'.
3167 (entry): New member `orig_value'.
3168 (read_tags): Use new method.
3169 (output_font_name, read_and_output_pcltypeface, dump_ascii):
3172 2004-08-01 Werner LEMBERG <wl@gnu.org>
3174 * tmac/s.tmac: Undo change 2003-06-29. The proper macro definitions
3175 are already in X11's `macros.t' file.
3177 2004-08-01 Jeff Conrad <jeff_conrad@msn.com>
3179 * src/utils/hpftodit/hfptodit.cpp (output_font_name, dump_ascii):
3181 (read_and_output_pcltypeface): Handle strings with length <= 4.
3183 2004-07-27 Egil Kvaleberg <egil@kvaleberg.no>
3185 * tmac/s.tmac (pg@top): Don't save `PO' register.
3186 (pg*end-col, pg*end-page): Directly use `PO' register.
3188 2004-07-27 Werner LEMBERG <wl@gnu.org>
3190 * man/groff_tmac.man: Mention `trace' and `pic' macro packages.
3192 * src/preproc/refer/refer.cpp (output_references): Check for
3194 * src/preproc/refer/refer.man: Improve documentation of
3195 `bibliography' command.
3197 2004-07-26 Werner LEMBERG <wl@gnu.org>
3199 Add requests `fcolor' and `gcolor'.
3201 * src/roff/troff/env.cpp (fill_color_change, glyph_color_change):
3203 (init_env_requests): Add `fcolor' and `gcolor'.
3205 * src/roff/troff/input.h: Export do_glyph_color and do_fill_color.
3207 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo
3208 (Colors): Document new requests.
3210 2004-07-24 Werner LEMBERG <wl@gnu.org>
3212 Add support for fractional point sizes in ms macros. A value for
3213 PS, VS, FPS, and FVS greater than or equal to 1000 is always divided
3214 by 1000. For example, `.nr PS 10250' sets the font size to 10.25p.
3216 * tmac/s.tmac (@AU, @AI, par@load-init, par@init, par@reset, NL,
3217 PX): Handle fractional point sizes for PS, VS, FPS, and FVS.
3219 * tmac/groff_ms.man, docs/groff.texinfo (ms Document Control
3220 Registers), NEWS: Document it.
3222 2004-07-19 Werner LEMBERG <wl@gnu.org>
3224 * src/preproc/pic/lex.cpp (for_input): Add member `from'.
3226 (do_for, for_input::get, for_input::peek): Handle negative `by'.
3227 * src/preproc/pic/pic.man, doc/pic.ms, NEWS: Document it.
3229 2004-07-08 Thomas Klausner <wiz@netbsd.org>
3231 * tmac/doc-syms (doc-str-St--p1003.1-2004): New string.
3232 * tmac/groff_mdoc.man: Updated.
3234 2004-07-05 Werner LEMBERG <wl@gnu.org>
3236 * doc/groff.texinfo (Manipulating Hyphenation): Further improve
3237 documentation of `hcode'.
3239 2004-07-04 Sang Dae Yu <sdyu@bh.knu.ac.kr>
3241 Improve appearance of arrows in pic.
3243 * src/preproc/pic/object.cpp (draw_arrow): Make outline of filled
3245 Use two line segments for drawing non-filled arrow head.
3246 (line_object::print, spline_object::print): Shorten line length to
3247 avoid arrow sticking.
3248 (arc_object::print): Take arrow direction into account.
3250 2004-07-03 Heinz-Jürgen Oertel <hj.oertel@surfeu.de>
3252 * tmac/groff_www.man: Update documentation of .MPIMG.
3254 2004-07-03 Werner LEMBERG <wl@gnu.org>
3256 * tmac/an-old.tmac (RI): Always start with font `R'.
3257 (RI, IR): Properly end with font `R'.
3259 2004-07-02 Paul Eggert <eggert@cs.ucla.edu>
3261 * man/ditroff.man, man/groff_font.man, man/groff_out.man,
3262 src/devices/grohtml/grohtml.man, src/preproc/grn/grn.man,
3263 src/preproc/pic/pic.man, tmac/groff_man.man, tmac/groff_ms.man:
3264 Don't pass more than six arguments to .R, .I, .B, etc., for
3265 compatibility with traditional troff macros.
3267 2004-07-02 Werner LEMBERG <wl@gnu.org>
3269 * src/roff/troff/input.h: s/COMPATIBLE_SAVE/PUSH_GROFF_MODE/.
3270 s/COMPATIBLE_RESTORE/POP_GROFFCOMP_MODE/.
3272 (PUSH_COMP_MODE): New internal character constant.
3275 * src/roff/troff/input.cpp (get_copy): Handle PUSH_GROFF_MODE,
3276 PUSH_COMP_MODE, and POP_GROFFCOMP_MODE.
3277 (token::next, macro::append): Handle PUSH_COMP_MODE.
3278 (decode_args): Add PUSH_GROFF_MODE or PUSH_COMP_MODE before and
3279 POP_GROFFCOMP after each of the decoded arguments to make them
3280 independent from the compatibility mode status.
3281 (comp_mode): Add `COMP_ENABLE'.
3282 (do_define_string, do_define_macro): Handle COMP_ENABLE.
3283 (define_string, append_string, define_macro, define_indirect_macro,
3284 append_macro, append_indirect_macro): Handle `compatible_flag'.
3285 (chop_macro, substring_request, asciify): Handle PUSH_COMP_MODE.
3287 * man/groff_diff.man, doc/groff.texinfo: Updated.
3289 2004-07-01 Werner LEMBERG <wl@gnu.org>
3291 * doc/groff.texinfo: Improve documentation of `hcode'.
3292 Use @documentencoding and convert document to latin-1; to do that
3293 make latin characters active and assign proper macros (within a
3294 @tex...@end tex environment).
3295 * doc/Makefile.in (.texinfo.html, groff): Use --enable-encoding.
3296 * doc/Makefile.sub (groff): Ditto.
3298 2004-06-29 Werner LEMBERG <wl@gnu.org>
3300 Implement two new conditional operators `F <name>' and `S <name>'
3301 which check whether <name> is a valid font or style, respectively.
3303 * src/libs/libgroff/font.cpp (text_file): Add `silent' member.
3304 (text_file::text_file): Updated.
3305 (text_file::error): Don't emit message if `silent' is set.
3306 (font::load_font): Add optional third argument (which is directly
3308 (font::load): Add optional second argument to check the header of
3309 a font only, without emitting warning or error messages.
3310 * src/include/font.h (font): Updated.
3312 * src/roff/troff/input.cpp (do_if_request): Implement `S' and `F'
3314 * src/roff/troff/node.cpp (mount_font_no_translate): Add optional
3315 fourth argument to check a font without mounting.
3316 (check_font, check_style): New functions.
3317 * src/roff/troff/node.h: Updated.
3319 * man/groff_diff.man, man/groff.man, NEWS, doc/groff.texinfo:
3322 2004-06-27 Werner LEMBERG <wl@gnu.org>
3324 Implement new string-valued register `.sty' to return the current
3327 * env.cpp (environment::get_style_name_string): New function.
3328 (init_env_requests): Add `.sty' register.
3329 * env.h (environment): Updated.
3330 * node.cpp (font_info): Make `get_style_name' a friend.
3331 (get_style_name): New function.
3334 * man/groff_diff.man, man/groff.man, NEWS, doc/groff.texinfo:
3337 2004-06-15 Werner LEMBERG <wl@gnu.org>
3339 * src/preproc/tbl/main.cpp (process_data) <GOT_RIGHT_BRACE>: Handle
3342 2004-06-10 Colin Percival <colin.percival@wadham.ox.ac.uk>
3344 * doc/meintro.me, doc/meref.me: Don't use \*[td], \n[dy], \*[mo],
3345 and \n[mo] to avoid dependency on current date.
3347 2004-06-08 Werner LEMBERG <wl@gnu.org>
3349 * Makefile.sub (install_data): New target.
3351 2004-06-04 Werner LEMBERG <wl@gnu.org>
3353 * src/libs/libxutil/Makefile.sub (EXTRA_CFLAGS): Define.
3355 2004-06-03 Werner LEMBERG <wl@gnu.org>
3357 * src/devices/xditview/Makefile.sub (EXTRA_LDFLAGS): Fix typo and
3359 (install_data): Add $(srcdir).
3361 * src/utils/xtotroff/Makefile.sub (EXTRA_LDFLAGS): Fix order of
3364 2004-06-02 Werner LEMBERG <wl@gnu.org>
3366 * aclocal.m4 (GROFF_X11): s/have_no_x/groff_no_x/.
3367 Add X11 stuff to CFLAGS, LDFLAGS, and LIBS temporarily.
3368 Add test for Xmu library.
3369 (GROFF_APPRESDIR_OPTION, GROFF_APPRESDIR_CHECK,
3370 GROFF_APPRESDIR_DEFAULT): New macros.
3372 * configure.ac: Call GROFF_APPRESDIR_OPTION, GROFF_APPRESDIR_CHECK,
3373 and GROFF_APPRESDIR_DEFAULT.
3375 * configure: Regenerated.
3377 * Makefile.in (appresdir): New variable.
3378 (MDEFINES): Add appresdir.
3380 * src/devices/xditview/Makefile.sub (EXTRA_LDFLAGS): Add -Xmu and
3382 (install_data, uninstall_sub): New targets to handle GXditview.ad.
3384 * src/utils/indxbib/Makefiles.ub (install_data): Depend on
3385 `$(srcdir)/eign', not `eign'.
3387 * MANIFEST, INSTALL, NEWS, PROBLEMS: Updated.
3389 * man/groff_out.man, man/roff.man, src/devices/grops/grops.man,
3390 src/devices/xditview/gxditview.man, src/roff/groff/groff.man:
3391 Protect (g)xditview with `\%' to avoid hyphenation.
3392 Other minor formatting.
3394 2004-06-01 Werner LEMBERG <wl@gnu.org>
3396 Integrate gxditview into groff's standard directory hierarchy.
3398 * src/xditview/*: Moved to ...
3399 * src/devices/xditview/*: Here.
3400 Moved DviChar.h and XFontName.h to src/include.
3401 Moved DviChar.c and XFontName.c to new directory src/libs/libxutil.
3402 Split off `xmalloc' into new file src/libs/libxutil/xmalloc.c.
3403 Moved xtotroff.c to new directory src/utils/xtotroff.
3404 Provide proper Makefile.sub files (reusing the stuff from
3406 DESC renamed to DESC.in.
3407 Removed GXDitview-ad.h, INSTALL, Imakefile.in.
3408 Converted everything from K&R to ANSI C.
3409 Decorated with const where appropriate.
3410 Cast string constants with `String' and `char *' where appropriate.
3411 Made it compile with C++ (used as a C compiler).
3412 Removed other minor compiler warnings.
3414 * src/devices/xditview/device.c: Include config.h, string.h, and
3416 Don't declare `exit', `strtok', `strchr', and `getenv'.
3419 * src/devices/xditview/font.c: Don't declare `XParseFontName' and
3422 * src/devices/xditview/xditview.c: Include config.h.
3423 Include stdio.h earlier.
3424 Protect declaration of `popen' and `pclose' with
3425 NEED_DECLARATION_POPEN and NEED_DECLARATION_PCLOSE.
3426 Replace `caddr_t' with `XtPointer'.
3427 (MakePromptFunc): New typedef.
3428 (DoPrint): Use RETSIGTYPE.
3429 (promptfunction): Change type to MakePromptFunc.
3430 (MakePrompt): Use MakePromptFunc for third argument.
3433 * src/devices/xditview/ad2c: Add casts to `String'.
3435 * src/include/XFontName.h (XFontNameString): Don't use array
3437 Add prototypes for `XParseFontName', `XFormatFontName',
3438 `XCompareFontName', and `XCopyFontName'.
3440 * src/include/Makefile.sub (HDRS): Add `DviChar.h' and
3443 * src/utils/xtotroff/xtotroff.c: Include getopt.h.
3444 Don't declare `XParseFontName' and `XFormatFontName'.
3446 (main): Remove `optind' and `optarg'.
3448 * Makefile.in (XDEVDIRS, XPROGDIRS, XLIBDIRS): New variables
3449 (to select programs which need X).
3450 Make XDEVIDIRS depend on `FORCE'.
3451 (X_CFLAGS, X_LIBS, X_EXTRA_LIBS, X_PRE_LIBS): New variables (for
3453 (MDEFINES): Updated.
3454 (LIBDIRS): Use XLIBDIRS.
3455 (CPROGDIRS): Use XPROGDIRS.
3456 (DEVDIRS): Remove font directories for gxditview.
3457 (ALLDIRS, DISTDIRS): Add XDEVDIRS.
3458 (EXTRADIRS): Remove src/xditview.
3460 * Makefile.sub (DISCLEANFILES): Updated.
3462 * Makefile.comm (LIBXUTIL): New variable.
3463 (.cpp.o, .cpp.obj): Handle EXTRA_CCFLAGS.
3464 (.c.o, .c.obj, .y.o): Handle EXTRA_CFLAGS.
3466 * Makefile.cpg, Makefile.ccpg ($PROG): Handle EXTRA_LDFLAGS.
3468 * aclocal.m4 (GROFF_X11): New function.
3470 * configure.ac: Call GROFF_X11.
3471 Don't create src/xditview/Imakefile.
3472 Don't emit notice how to build gxditview.
3474 * configure: Regenerated.
3476 * test-groff.in (GROFF_BIN_PATH, XENVIRONMENT): Updated.
3478 2004-05-28 Akihiro Sagawa <sagawa@sohgoh.net>
3480 * Makefile.in (CPPFLAGS): Define.
3481 (MDEFINES): Add CPPFLAGS.
3483 2004-05-27 Werner LEMBERG <wl@gnu.org>
3485 * arch/misc/Makefile.sub (shdeps.sed): Use $(srcdir).
3487 2004-05-26 Niklas Edmundsson <nikke@acc.umu.se>
3489 Fix problems with `friend name injections'.
3491 * src/preproc/eqn/box.h (make_mark_box, make_lineup_box,
3492 make_script_box), src/roff/troff/div.h (end_diversions),
3493 src/roff/troff/env.h (title), input.cpp (process_input_stack): Undo
3496 2004-05-25 Bernd Warken <bwarken@mayn.de>
3498 * src/preproc/pic/pic.man, doc/pic.ms: Add example for `command'.
3500 2004-05-25 Werner LEMBERG <wl@gnu.org>
3502 * src/libs/libgroff/cset.cpp, src/libs/libgroff/lf.cpp,
3503 src/libs/libgroff/color.cpp: Include lib.h.
3505 2004-05-25 Paul Eggert <eggert@cs.ucla.edu>
3507 * PROBLEMS: Update documentation for problems with Sun C++ 5.0
3508 through Forte 6u1, and for how to get GNU make on Solaris.
3510 2004-05-24 Werner LEMBERG <wl@gnu.org>
3512 * PROBLEMS: Document problems with gcc 3.4.0 on Sun. Reported
3515 2004-05-15 Keith Marshall <keith.d.marshall@ntlworld.com>
3517 * arch/misc/Makefile.sub (shdeps.sed): Don't use `$<' in explicit
3520 2004-05-14 Werner LEMBERG <wl@gnu.org>
3522 * REVISION: Set to 2.
3524 * aclocal.m4 (GROFF_STDINT_H): Removed.
3525 (GROFF_INTTYPES_H): Define HAVE_CC_INTTYPES_H.
3527 * configure.ac: Updated.
3528 * configure, src/include/config.hin: Regenerated.
3530 * src/libs/libgroff/tmpname.cpp: Don't include stdint.h but
3531 inttypes.h conditionally.
3533 2004-05-13 Werner LEMBERG <wl@gnu.org>
3535 Version 1.19.1 released
3536 =======================
3538 2004-05-10 Stephen Gildea <http://www.gildea.com/stephen>
3540 * src/preproc/refer/label.y (same_author_last_name,
3541 same_author_name): Handle empty sort keys.
3543 2004-05-10 Werner LEMBERG <wl@gnu.org>
3545 * NEWS, README, TODO, PROJECTS, PROBLEMS, MANIFEST, doc/webpage.ms,
3548 * tmac/doc-syms (doc-str-Lb-libposix, doc-str-Lb-libpthread,
3549 doc-str-Lb-librt): Reset font.
3550 (Lb): Rename `doc-str-Lb' to `doc-str-Lb1'.
3551 Provide `doc-str-Lb' to reset font.
3552 * tmac/groff_mdoc.man: Updated.
3554 2004-05-08 Jan Schaumann <jschauma@netmeister.org>
3556 * src/preproc/html/pre-html.cpp (make_message): Make it work for
3557 snprintf versions which don't conform to ANSI C 99 (this is,
3558 counting the string's trailing null byte in the return value).
3560 2004-05-07 Keith Marshall <keith.d.marshall@ntlworld.com>
3562 * src/roff/troff/node.cpp (suppress_node::tprint): Don't expect
3563 that all implementations of sprintf handle null pointers correctly.
3565 2004-05-04 Werner LEMBERG <wl@gnu.org>
3567 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
3568 Document `.U' register.
3570 * src/roff/troff/env.cpp (environment::mark_last_line)
3571 [WIDOW_CONTROL]: Fix scope of `p' for new C++ compilers.
3573 2004-05-04 Larry Kollar <kollar@alltel.net>
3575 New read-only register `.U'; it returns 1 in safer mode and 0
3578 * src/roff/troff/input.cpp (init_input_requests): Implement `.U'
3581 2004-05-03 Werner LEMBERG <wl@gnu.org>
3583 * install-sh, mkinstalldirs: New versions; taken from texinfo CVS.
3585 2004-04-17 Werner LEMBERG <wl@gnu.org>
3587 * src/include/font.h (font): Use `int' for ch_index.
3588 * src/libs/libgroff/font.cpp (font::alloc_ch_index,
3589 font::compact): Updated.
3591 * src/roff/groff/pipeline.c (run_pipeline) [_WIN32]: Fix compiler
3594 * src/roff/troff/div.cpp (begin_page), src/roff/troff/env.cpp
3595 (hyphen_word): Fix compiler warnings.
3596 * src/roff/troff/input.cpp (get_char_for_escape_name): Return
3599 (get_delim_number, get_line_arg): Change second argument type to
3601 (macro_header::copy, token::next, do_define_string,
3602 do_define_character, substring_request, asciify_macro,
3603 unformat_macro, read_size, non_interpreted_node::interpret,
3604 while_request, main: Fix compiler warnings.
3605 (read_color_draw_node): Initialize `col'.
3607 * src/preproc/tbl/table.cpp (horizontal_span, table_entry): Make
3608 `start_col' and `end_col' of type `int'.
3609 (vertical_rule): Make `col' of type `int'.
3611 * src/preproc/grn/hdb.cpp (DBRead): Protect call to getc with check
3614 * src/preproc/refer/label.y (uppercase_array, lowercase_array):
3616 (format_serial): Use them to remove dependency on ASCII.
3618 * src/devices/grops/ps.cpp (ps_printer::define_encoding): Fix
3620 * src/devices/grops/psrm.cpp (resource_manager::supply_resource):
3623 * src/devices/grotty/tty.cpp (tty_font::load_tty_font): Fix
3625 (glyph): Change type of `hpos' to `int'.
3627 * src/devices/lbp/lbp.cpp (strsep): Removed. Unused.
3628 * src/devices/lbp/lbp.h (splinerel): Fix compiler warnings.
3630 * src/utils/tfmtodit.cpp (gf::load): Fix compiler warnings.
3632 * src/utils/pfbtops/pfbtops.c (get_text): Fix compiler warning.
3634 2004-04-16 Werner LEMBERG <wl@gnu.org>
3636 * src/devices/grolbp/lbp.h, src/preproc/grn/gprint.h,
3637 src/preproc/grn/hgraph.cpp, src/preproc/grn/hpoint.cpp,
3638 src/preproc/html/pushback.cpp, src/preproc/html/pushback.h: Use
3639 `double' instead of `float' everywhere.
3640 * src/preproc/grn/main.cpp: Use `double' instead of `float'
3642 (main): Add return value.
3643 * src/preproc/grn/hdb.cpp: Use `double' instead of `float'
3645 Update all user functions.
3647 * src/include/search.h, src/include/ptable.h, src/include/printer.h,
3648 src/preproc/eqn/box.h, src/preproc/pic/object.h,
3649 src/preproc/refer/refer.h, src/preproc/tbl/table.h,
3650 src/preproc/tbl/table.cpp, src/roff/troff/env.h,
3651 src/roff/troff/div.h, src/roff/troff/token.h, src/roff/troff/node.h,
3652 src/roff/troff/input.cpp, src/roff/troff/request.h,
3653 src/roff/troff/node.cpp: Don't mix `struct' and `class' in forward
3656 * src/utils/indxbib/signal.c: Include stdlib.h.
3658 2004-04-14 Keith Marshall <keith.d.marshall@ntlworld.com>
3660 * tmac/s.tmac (@init, RP): Allow initialization of the PO register
3661 before the first page.
3663 2004-04-14 Thomas Klausner <wiz@netbsd.org>
3665 * tmac/doc-common (doc-volume-as-*): Use lowercase names.
3666 (doc-operating-system-*): Updated.
3667 * tmac/doc-syms (doc-str-St-*): Various small fixes.
3668 (doc-str-Lb-*): Add more library names.
3670 2004-04-10 Art Haas <ahaas@airmail.net>
3672 * src/utils/hpftodit/hpuni.cpp (hp_msl_to_unicode_list): Don't
3675 2004-04-09 Art Haas <ahaas@airmail.net>
3677 * src/utils/tfmtodit.cpp (lig_chars): Don't use anonymous type.
3679 2004-04-09 Keith Marshall <keith.d.marshall@ntlworld.com>
3681 * arch/misc/shdeps.sh: Generate better comment for sed script.
3683 2004-04-08 Art Haas <ahaas@airmail.net>
3685 * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list),
3686 src/libs/libgroff/uniglyph.cpp (unicode_to_glyph_list),
3687 src/libs/libgroff/uniuni.cpp (unicode_decompose_list),
3688 src/preproc/eqn/box.cpp (param_table), src/preproc/grn/hgraph.cpp
3689 (polyfill), src/preproc/grn/main.cpp (polyfill),
3690 src/preproc/refer/command.cpp (command_table),
3691 src/utils/tfmtodit.cpp (lig_table): Don't use anonymous types (which
3692 gcc 3.5 doesn't like).
3694 2004-04-08 Werner LEMBERG <wl@gnu.org>
3696 Removing many compiler warnings. groff should now compile with
3697 a C++ compiler used for C files also. [Simple variable renamings
3698 to avoid shadowing aren't logged in detail.]
3700 * src/devices/grodvi/dvi.cpp: Some local variable renamings.
3701 (draw_dvi_printer::draw) ['c']: Enclose in block.
3703 * src/devices/grohtml/post-html.cpp: Some local variable renamings.
3704 (page::add_line): Fix typos.
3705 * src/devices/grohtml/html-text.cpp: Some local variable renamings.
3707 * src/devices/grolbp/lbp.cpp: Don't define _GNU_SOURCE.
3708 Some local variable renamings.
3709 * src/devices/grolbp/lbp.h: Some local variable renamings.
3711 * src/devices/grolj4/lj4.cpp, src/devices/grotty/tty.cpp: Some local
3714 * src/libs/libbib/index.cpp (index_search_item_iterator::get_tag):
3715 Remove redundant local variable declaration.
3716 * src/libs/libbib/map.c (mapread, unmap): Don't use K&R style.
3717 Don't use `caddr_t' but `void *'.
3718 Enclose functions with `extern "C"' for C++.
3720 * src/libs/libdriver/input.cpp (remember_filename,
3721 remember_source_filename): Use cast for string constant.
3723 * src/libs/libgroff/font.cpp, src/libs/libgroff/fontfile.cpp,
3724 src/libs/libgroff/nametoindex.cpp, src/libs/libgroff/paper.cpp,
3725 src/libs/libgroff/geometry.cpp: Some local variable renamings.
3726 * src/libs/libgroff/iftoa.c, src/libs/libgroff/itoa.c: Don't use K&R
3728 Enclose functions with `extern "C"' for C++.
3729 * src/libs/libgroff/quotearg.c (TRUE,FALSE): Define as macros.
3730 (needs_quoting): Return `int'.
3731 (quote_arg): Add proper casts to malloc and realloc.
3732 * src/libs/libgroff/spawnvp.c: Compile code only for MS-DOS and
3733 various MS Windows environments.
3734 (spawnvp_wrapper): Add proper cast to malloc.
3736 * src/preproc/eqn/box.h: Remove redundant declarations of
3737 `make_script_box', `make_mark_box' and `make_lineup_box'.
3738 * src/preproc/eqn/eqn.y: Remove redundant declaration of `strsave'.
3739 * src/preproc/eqn/script.cpp, src/preproc/eqn/pile.cpp: Some local
3742 * src/preproc/grn/hpoint.cpp: Some local variable renamings.
3743 * src/preproc/grn/hgraph.cpp: Some local variable renamings.
3744 (dx, dy): Renamed functions to...
3745 (deltax, deltay): This.
3746 * src/preproc/grn/main.cpp: Some local variable renamings.
3747 (deffont): Add `const'.
3748 (initpic, conv): Use cast for string constant.
3750 * src/preproc/html/pre-html.cpp: Some local variable renamings.
3751 (makeFileName, alterDeviceTo, addZ): Use cast for string constant.
3752 (char_buffer::run_output_filter): Second argument is unused.
3753 * src/preproc/html/pushback.cpp: Some local variable renamings.
3755 * src/preproc/pic/pic.y: Remove redundant declaration of `do_copy'.
3756 * src/preproc/pic/object.cpp: Some local variable renamings.
3758 * src/preproc/refer/label.y (lookup_label): Remove redundant
3759 declaration of local variable.
3761 * src/preproc/soelim.cpp: Remove redundant declaration of
3762 `interpret_lf_args'.
3764 * src/preproc/tbl/main.cpp: Some local variable renamings.
3766 * src/roff/groff/groff.cpp (main): Use cast for string constant.
3767 * src/roff/groff/pipeline.c: Enclose declarations of `error',
3768 `c_fatal', and `i_to_a' with `extern "C"' for C++.
3769 Don't use C++-style comments.
3771 * src/roff/troff/env.h: Remove redundant declaration of `title'.
3772 * src/roff/troff/node.h, src/roff/troff/env.cpp,
3773 src/roff/troff/div.cpp, src/roff/troff/node.cpp: Some local variable
3775 * src/roff/troff/div.h: Remove redundant declaration of
3777 * src/roff/troff/troff.h: Remove redundant declaration of
3779 * src/roff/troff/input.cpp: Remove redundant declaration of
3780 `handle_first_page_transition' and `process_input_stack'.
3782 * src/utils/hpftodit.cpp: Some local variable renamings.
3784 * src/utils/indxbib/signal.c: Enclose functions with `extern "C"'
3786 Don't define RETSIGTYPE.
3787 * src/utils/indxbib/indxbib.cpp: Some local variable renamings.
3789 * src/utils/pfbtops/pfbtops.cpp: Don't use K&R style.
3790 (error): Use `const' in argument.
3791 (main): Remove redundant declaration of `optind'.
3792 Move declaration of `Version_string' to top-level.
3794 * PROBLEMS: Document difficulties compiling signal.c if a C++
3795 compiler is used for C.
3797 2004-04-07 Werner LEMBERG <wl@gnu.org>
3799 * Makefile.sub (DISTCLEANFILES): Add `test-groff'.
3801 2004-04-06 Keith Marshall <keith.d.marshall@ntlworld.com>
3803 Make scripts like nroff.sh and neqn.sh portable across various
3804 (Unix-like) shell implementations from Cygwin, MSYS, etc., which use
3805 non-POSIX path separators. The idea is to extend those scripts to
3806 decide at run-time (of the script) which path separator to use.
3808 * arch/misc/Makefile.sub: New file.
3809 * arch/misc/shdeps.sh: New file, generating OS dependency fixups.
3810 This script handles @GROFF_BIN_PATH_SETUP@, replacing it with
3811 a proper definition of the variable `GROFF_RUNTIME'.
3813 * Makefile.in (SH_DEPS_SED_SCRIPT): New variable.
3814 (MDEFINES): Add SH_DEPS_SED_SCRIPT.
3815 (PROGDEPDIRS): New variable.
3817 (PROGDIRS): Add PROGDEPDIRS.
3819 * src/preproc/eqn/Makefile.sub (neqn): Call SH_DEPS_SED_SCRIPT.
3820 Don't substitute @SEP@ and @BINDIR@.
3821 * src/preproc/eqn/neqn.sh: Use @GROFF_BIN_PATH_SETUP@.
3822 (PATH): Use GROFF_RUNTIME.
3824 * src/roff/nroff/Makefile.sub (nroff): Call SH_DEPS_SED_SCRIPT.
3825 Don't substitute @SEP@ and @BINDIR@.
3826 * src/roff/nroff/nroff.sh: Use @GROFF_BIN_PATH_SETUP@.
3827 (PATH): Use GROFF_RUNTIME.
3829 2004-04-05 Keith Marshall <keith.d.marshall@ntlworld.com>
3831 * src/roff/nroff/nroff.sh: Implement work-around for sh.exe from
3832 Cygwin which doesn't handle stderr correctly.
3834 2004-03-08 Werner LEMBERG <wl@gnu.org>
3836 * Makefile.comm (install_dev, uninstall_dev): Protect `for' loops
3837 against empty argument. Problem reported by <cgd@broadcom.com>.
3839 2004-03-05 Keith Marshall <keith.d.marshall@ntlworld.com>
3841 * Makefile.in (SEP): Replaced with...
3842 (RT_SEP, SH_SEP): Separators for the target platform's native path
3843 separator and the build environment, respectively.
3844 (fontpath, tmacpath): Use RT_SEP.
3845 (MDEFINES): Updated.
3847 * contrib/mom/Makefile.sub (GROFF_BIN_PATH): Use SH_SEP.
3848 * doc/Makefile.sub (GROFF_BIN_PATH): Use SH_SEP.
3849 * src/preproc/eqn/Makefile.sub (neqn): Use SH_SEP.
3850 * src/roff/nroff/Makefile.sub (nroff): Use SH_SEP.
3852 2004-03-05 Werner LEMBERG <wl@gnu.org>
3854 * fonts/devlj4/Makefile.sub (LJ4RES): Set to 1200. This helps to
3855 reduce alignment problems with newer printers which use built-in
3856 TrueType fonts (instead of the older Intellifonts). The ideal
3857 solution is to provide a second set of groff metric files, but this
3858 is extremely time-consuming to produce, given that HP's metric
3859 files are very rudimentary.
3861 2004-03-01 Werner LEMBERG <wl@gnu.org>
3863 * src/devices/grolj4/lj4.cpp (main): Fix argument of getopt_long.
3864 s/operand/argument/ in error message.
3866 2004-03-01 Keith Marshall <keith.d.marshall@ntlworld.com>
3868 * src/roff/groff/groff.cpp (main): Don't allow option -o if -Thtml
3871 2004-03-01 Antti Kantee <pooka@netbsd.org>
3873 * tmac/s.tmac (XE): Fix error message.
3875 2004-02-27 Jeff Conrad <jeff_conrad@msn.com>
3877 * src/include/nonposix.h (write, dup, dup2, close) [_MSC_VER]:
3880 * src/roff/groff/pipeline.c: Declare strcasecmp.
3881 (run_pipeline) [_WIN32]: Use function name variants which don't
3883 Fix stream handling.
3885 2004-02-27 Keith Marshall <keith.d.marshall@ntlworld.com>
3887 * src/include/nonposix.h: Fix declaration of `system_shell_name'.
3888 Declare `spawnvp_wrapper' and macro definitions of spawnvp only
3889 for platforms which use the native Win32 runtime libraries.
3890 (FLUSH_INPUT_PIPE) [_UWIN]: Provide non-empty version.
3892 * src/libs/libgroff/quotearg.c (QUOTE_ARG_MALLOC_ERROR,
3893 QUOTE_ARG_REALLOC_ERROR): Fix string.
3895 * src/preproc/html/pre-html.cpp: Remove declaration of
3897 Don't use __MINGW32__.
3898 s/DEBUG_FILE/DEBUG_FILE_DIR/.
3899 (DEBUG_TEXT, DEBUG_NAME, DEBUG_FILE) [DEBUGGING]: New macros.
3900 (OUTPUT_STREAM, PS_OUTPUT_STREAM, REGION_OUTPUT_STREAM): New macros.
3901 (char_buffer::run_output_filter) [MAY_FORK_CHILD_PROCESS]: Fix
3902 calls to `set_redirection' and `WAIT'.
3903 [MAY_SPAWN_ASYNCHRONOUS_CHILD]: Remove unused variable `i' and `j'.
3904 Fix calls to `set_redirection' and `save_and_redirect'.
3905 (char_buffer::do_html, char_buffer::do_image) [DEBUGGING]: Fix calls
3906 to `set_redirection' and `save_and_redirect'.
3907 (usage): Fix message.
3908 (makeTempFiles, main): Use `DEBUG_FILE'.
3910 2004-02-21 Werner LEMBERG <wl@gnu.org>
3912 * src/roff/troff/troff.h (WARN_TOTAL): Fix value.
3914 2004-02-21 Keith Marshall <keith.d.marshall@ntlworld.com>
3916 * src/libs/libgroff/quotearg.c: New file, providing proper argument
3917 quoting for MSVC's spawn* and exec* functions.
3918 * src/libs/libgroff/spawnvp.c: New file, providing a wrapper around
3919 spawnvp with proper quoting for MSVC.
3921 * src/libs/libgroff/assert.cpp (program_name),
3922 src/libs/libgroff/new.cpp (program_name): Declare as `extern "C"'.
3923 * src/libs/libgroff/Makefile.sub (OBJS, CSRCS): Updated.
3925 * src/roff/troff/input.cpp (program_name): Declare as `extern "C"'.
3927 * src/include/error.h (program_name): Declare as `extern "C"'.
3928 * src/include/nonposix.h [__MSDOS__ ...]: Handle spawnvp.
3930 2004-02-21 Jeff Conrad <jeff_conrad@msn.com>
3932 * src/preproc/html/pre-html.cpp [__CYGWIN__ ...]: Declare
3934 [MAY_SPAWN_ASYNCHRONOUS_CHILD]: Declare i and j.
3936 2004-02-20 Jeff Conrad <jeff_conrad@msn.com>
3938 * src/roff/groff/pipeline.c (cmd) [__MSDOS__ || ...]: New global
3940 (sbasename) [__MSDOS__ || ...]: New function.
3941 (system_shell_name) [__MSDOS__ || ...]: Use a different, more
3943 (system_shell_dash_c, is_system_shell) [__MSDOS__ || ...]: Updated.
3944 (run_pipeline) [_WIN32]: Use _XXX variants for some macros instead
3946 Use STDOUT_FILENO instead of hardcoded file handle.
3947 (signal_catcher) [__MSDOS__]: Moved to non-_WIN32 section.
3949 2004-02-19 Werner LEMBERG <wl@gnu.org>
3951 * src/roff/troff/div.cpp: Include nonposix.h after troff.h to
3952 avoid warnings w.r.t. redefinition of P_tmpdir for some compilers.
3954 2004-02-18 Werner LEMBERG <wl@gnu.org>
3956 * font/devlj4/Makefile.sub (DEVFILES): Updated to contain all
3957 new font and mapping files.
3959 2004-02-18 Jeff Conrad <jeff_conrad@msn.com>
3960 Keith Marshall <keith.d.marshall@ntlworld.com>
3962 * src/include/nonposix.h (FLUSH_INPUT_PIPE): New macro to empty
3963 an input pipe. This is needed for the MSVC compiler to make troff's
3966 * src/roff/troff/div.cpp: Include nonposix.h.
3967 (cleanup_and_exit): Call FLUSH_INPUT_PIPE.
3969 2004-02-17 Werner LEMBERG <wl@gnu.org>
3971 * font/devlj4/generate/special.awk: New script.
3972 * font/devlj4/generate/Makefile (S): Use special.awk.
3973 * font/devlj4/*: Regenerated, including the following new files:
3974 Arial (AR, AB, AI, ABI), Times New Roman (TNRR, TNRB, TNRI, TNRBI),
3975 MS Symbol (SYMBOL), Wingdings (WINGDINGS).
3976 * NEWS: Document new lj4 fonts and revised hpftodit.
3978 2004-02-17 Paco Andrés Verdú <pandres@dragonet.es>
3980 * src/devices/grolbp/lbp.h (vmdvarc): Fix formatting string.
3982 2004-01-25 Werner LEMBERG <wl@gnu.org>
3984 * src/libs/libgroff/progname.cpp: Replaced with...
3985 * src/libs/libgroff/progname.c: New file.
3986 * src/libs/libgroff/Makefile.sub: Updated accordingly.
3988 2004-01-17 Werner LEMBERG <wl@gnu.org>
3990 * font/devlj4/generate/Makefile (SYMBOL): Use 9nb28703.tfm.
3992 2004-01-16 Jeff Conrad <jeff_conrad@msn.com>
3994 * font/devlj4/generate/wingdings.map,
3995 font/devlj4/generate/symbol.map: Include unnamed glyphs.
3996 Use groff glyph names where possible.
3997 * src/devices/grolj4/lj4_font.man: Minor updates.
3999 2004-01-13 Werner LEMBERG <wl@gnu.org>
4001 * tmac/www.tmac (DC): Handle TTY devices.
4003 * doc/webpage.ms: Document viewCVS from ffii.org.
4004 * NEWS, README: Updated.
4006 * src/roff/groff/groff.man: Mention lj4_font man page.
4008 * font/devlj4/generate/Makefile (SYMBOLMAP, WINGDINGSMAP): New
4010 (FONTS): Add SYMBOL and WINGDINGS.
4011 (SYMBOL, WINGDINGS): New targets.
4013 2004-01-13 Jeff Conrad <jeff_conrad@msn.com>
4015 * src/devices/grolj4/lj4_font.man: New man page.
4016 * src/devices/grolj4/Makefile.sub (MAN5): New variable.
4017 * src/devices/grolj4.man: Mention lj4_font man page.
4019 * src/utils/hpftodit/hpftodit.cpp (read_map): Handle line comments.
4020 * src/utils/hpftodit/hpftodit.man: Document it.
4022 Remove details about fonts (which are now in lj4_font.man).
4024 * font/devlj4/generate/symbol.map,
4025 font/devlj4/generate/wingdings.map: New files.
4027 2004-01-12 Werner LEMBERG <wl@gnu.org>
4029 * README: Mention ffii's viewcvs access.
4031 2004-01-09 Werner LEMBERG <wl@gnu.org>
4033 * font/devlj4/generate/special.map: Map MSL 228 to U+221F.
4035 2004-01-09 Jeff Conrad <jeff_conrad@msn.com>
4037 Revert most of the change from 2004-01-03 to better control used
4040 * src/utils/hpftodit/hpftodit.cpp (symbol_set): New structure.
4041 (text_symbol_sets, special_symbol_sets): New arrays.
4042 (symbol_set_table): New global variable.
4043 (read_symbol_sets): Use search order given in the text_symbol_sets
4044 and special_symbol_sets arrays. If command line flag -a is not
4045 given, search both arrays.
4046 (output_charset): Require x_height_tag only for command line flag -i.
4048 2004-01-06 Werner LEMBERG <wl@gnu.org>
4050 Implement string-valued registers \n[.m] and \n[.M] to return the
4051 name of the current drawing and background color, respectively.
4053 * src/roff/troff/symbol.h: Moved to...
4054 * src/include/symbol.h: Here.
4055 Small fixes to make it work outside of the `troff' directory.
4056 * src/roff/troff/symbol.cpp: Moved to...
4057 * src/libs/libgroff/symbol.cpp: Here.
4058 Small fixes to make it work outside of the `troff' directory.
4060 * src/include/Makefile.sub (HDRS), src/libs/libgroff/Makefile.sub
4061 (OBJS, CCSRCS), src/roff/troff/Makefile.sub (OBJS, CCSRCS, HDRS):
4064 * src/include/color.h: Include symbol.h.
4065 (color): Add new field `nm'.
4066 * src/libs/libgroff/color.cpp (color::color): Updated.
4068 * src/roff/troff/dictionary.cpp, src/roff/troff/div.cpp,
4069 src/roff/troff/node.cpp, src/roff/troff/number.cpp,
4070 src/roff/troff/reg.cpp: Don't include symbol.h.
4072 * src/roff/troff/env.cpp: Don't include symbol.h.
4073 (environment::get_glyph_color_string,
4074 environment_get_fill_color_string): New member functions.
4075 (init_env_requests): Handle `.m' and `.M' registers.
4076 * src/roff/troff/input.cpp: Don't include symbol.h.
4077 (default_symbol): Moved to symbol.cpp/symbol.h.
4078 (do_glyph_color, do_fill_color, define_color): Pass symbol name
4079 to color constructor.
4080 * src/roff/troff/env.h: Updated.
4082 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
4083 Document new registers.
4085 2004-01-05 Werner LEMBERG <wl@gnu.org>
4087 * src/roff/troff/node.cpp (space_node::get_breakpoints,
4088 space_node::nbreaks): Protect against zero `next' field.
4090 2004-01-03 Jeff Conrad <jeff_conrad@msn.com>
4092 In hpftodit, use the symbol sets offered in the TFM.
4094 * src/utils/hpftodit/hpftodit.cpp (NO_GLYPH): New constant.
4095 (symbol_set, text_symbol_sets, special_symbol_sets,
4096 symbol_set_table): Removed.
4097 (get_printcode): Removed.
4098 (read_symbol_sets): Initialize `symbol_set' field with
4100 Simplify code to just use the `kind' value.
4101 (output_charset): Improve output formatting.
4102 (dump_symbols): Simplified.
4104 2004-01-02 Werner LEMBERG <wl@gnu.org>
4106 * font/devlj4/generate/text.map: Add more MSL numbers.
4108 2004-01-02 Jeff Conrad <jeff_conrad@msn.com>
4110 * src/utils/hpftodit/hpftodit.cpp (is_decomposed): New macro.
4111 (text_symbol_sets): Add more symbol sets.
4112 (debug_flag): New static variable (moved from `main').
4113 (get_printcode, show_symset): New functions.
4114 (main): Remove `debug_flag'.
4115 (output_charset): Use `show_symset'.
4116 (dump_symbols): Use `show_symset'.
4117 Print symsets for all glyphs.
4118 (read_map): Actually call `unicode_to_ucode_make' but this time
4121 2004-01-01 Werner LEMBERG <wl@gnu.org>
4123 * font/devlj4/generate/text.map, font/devlj4/generate/special.map:
4124 Fix placement of comments.
4126 2004-01-01 Jeff Conrad <jeff_conrad@msn.com>
4128 * src/utils/hpftodit/hpftodit.cpp (main): Read map file also if
4129 option `-d' is given.
4130 (output_charset): Improve warning messages to give more information.
4131 (dump_symbols): Make information more precise.
4133 (read_map): Don't call unicode_to_ucode_name; the glyph names must
4134 appear as-is and shouldn't be decomposed.
4136 2003-12-31 Werner LEMBERG <wl@gnu.org>
4138 * src/utils/hpftodit/hpftodit.cpp (dump_tags): Handle posture_tag.
4139 * font/devlj4/generate/Makefile (IFLAG): Updated to new units.
4140 (FONTS): Add TrueType font families Arial and Times New Roman.
4141 (TNRR, TNRB, TNRI, TNRBI, AR, AB, AI, ABI): New targets.
4142 * font/devlj4/generate/text.map: Fix Unicode values of `fi' and
4145 2003-12-31 Jeff Conrad <jeff_conrad@msn.com>
4147 * test-groff.in (SEP): Quote value.
4148 * src/roff/troff/node.cpp (suppress_node::tprint): Change type of
4149 `tem' to `char*' to avoid deallocation of a pointer to a constant
4150 object which some compilers don't like.
4152 2003-12-31 Werner LEMBERG <wl@gnu.org>
4154 * font/devlj4/generate (text.map, special.map): Rewritten to work
4155 with the new hpftodit version.
4157 2003-12-30 Jeff Conrad <jeff_conrad@msn.com>
4159 * src/utils/hpftodit/hpftodit.cpp (output_charset): Emit HP symbol
4160 set and 8bit character code for all glyphs also.
4162 2003-12-30 Werner LEMBERG <wl@gnu.org>
4164 * src/libs/libgroff/strcasecmp.c: Updated from gnulib.
4166 2003-12-29 Werner LEMBERG <wl@gnu.org>
4168 More fixes for MSVC compiler.
4170 * doc/Makefile.sub, contrib/mom/Makefile.sub (GROFF_BIN_PATH): Use
4173 * src/include/nonposix.h (STDIN_FILENO, STDOUT_FILENO,
4174 STDERR_FILENO) [_MSC_VER]: Define conditionally.
4175 (getpid) [_MSC_VER]: Remove.
4176 Include direct.h and process.h conditionally.
4178 * src/roff/troff/node.cpp (suppress_node::tprint): Don't use
4179 parentheses for a_delete.
4181 * src/utils/lookbib/lookbib.cpp: Include nonposix.h.
4183 * test-groff: Replaced with...
4184 * test-groff.in: This new template to handle path separator
4187 * configure.ac: Check for direct.h and process.h.
4188 Generate test-groff script.
4189 * configure, src/include/config.hin: Regenerated.
4191 2003-12-28 Werner LEMBERG <wl@gnu.org>
4193 Add integral extension glyph.
4194 Add new option `-x' to afmtodit to suppress use of built-in AGL.
4196 * font/devhtml/R.proto, font/devutf8/R.proto: Add `u23AE'.
4198 * font/devps/generate/textmap: Provide entry for `integralex' to
4199 override (old) PUA value of the AGL.
4200 * font/devps/generate/Makefile (SS): Add afmtodit option `-x'.
4201 * font/devps/*: Regenerated.
4203 * src/utils/afmtodit/afmtodit.pl: Add option `-x'.
4204 * src/utils/afmtodit/afmtodit.man, NEWS: Updated.
4206 2003-12-27 Werner LEMBERG <wl@gnu.org>
4208 Add forgotten `coproduct' symbol (already available for DVI).
4210 * font/devhtml/R.proto, font/devps/generate/textmap,
4211 font/devps/symbolmap, font/devutf8/R.proto, man/groff_char.man,
4212 src/libs/libgroff/uniglyph.cc, src/libs/libgroff/glyphuni.cpp: Add
4213 U+2210 (\[coproduct]).
4215 2003-12-26 Jeff Conrad <jeff_conrad@msn.com>
4217 hpftodit has been extended to handle TrueType metric files and
4218 more glyphs. See hpftodit.man for more details.
4220 * src/utils/hpftodit/hpftodit.cpp: Include stdio.h, string.h,
4221 ctype.h, and unicode.h.
4222 s/msl/charcode/ everywhere since we now handle Unicode values also.
4223 (equal, NO, YES, MSL, SYMSET, UNICODE, UNICODE): New macros.
4224 Use it where appropriate.
4225 (MULTIPLIER): Replaced with...
4226 (multiplier): New global static variable.
4228 (tag_type): Add more TFM tags.
4229 (tag_name): New array.
4230 (ENUM_TYPE, FLOAT_TYPE): Removed.
4231 (BYTE_TYPE): New value assigned.
4232 (ASCII_TYPE, RATIONAL_TYPE): New enumeration values.
4233 (text_symbol_sets, special_symbol_sets): Extended to cover more
4235 (check_type): Add return value.
4236 (check_units): Add parameters to get ppi and upem values.
4237 Handle TrueType TFM data.
4238 (output_font_name): New function.
4239 (output_charset): Add parameter to handle TFM type.
4240 Handle TrueType TFMs also.
4241 (em_fract): New macro.
4242 (dump_tags): Be much more verbose and handle more tags.
4243 (dump_ascii, dump_symbol_sets, dump_symbols): New functions.
4244 (hp_msl_to_ucode_name, unicode_to_ucode_name, is_uname): New
4246 (read_map): Add parameter to handle TFM type.
4247 Handle both MSL and Unicode mappings.
4248 (main): Add two new command line options `-a' and `-q'.
4249 Updated to make use of new functions.
4252 * src/utils/hpftodit/hpuni.cpp: New file.
4254 * src/utils/hpftodit/Makefile.sub, src/utils/hpftodit/hpftodit.man:
4257 2003-12-25 Werner LEMBERG <wl@gnu.org>
4259 * src/include/nonposix.h (read) [_MSC_VER]: Define.
4261 2003-12-24 Werner LEMBERG <wl@gnu.org>
4263 * src/utils/afmtodit/afmtodit.man: Some reformulations as suggested
4264 by Michail Vidiassov <master@iaas.msu.ru>.
4266 2003-12-20 Werner LEMBERG <wl@gnu.org>
4268 * font/devhtml/R.proto: Add u00{47,67}_0306, u00{53,73}_0327,
4270 Add missing latin-2 glyphs.
4271 * font/devutf8/R.proto: Add missing latin-2 glyphs.
4273 * tmac/troffrc: Load `composite.tmac' earlier.
4275 * tmac/dvi.tmac, tmac/ps.tmac, tmac/lbp.tmac: Add u00{47,67}_0306,
4276 u00{53,73}_0327, and u0049_0307.
4277 * tmac/X.tmac: Add u00{47,67}_0306.
4278 * tmac/tty-char.tmac: Use composite glyph names for readability.
4282 * src/include/unicode.h: Remove `extern' keywords.
4284 2003-12-20 Nilgün Belma Bugüner <nilgun@superonline.com>
4286 * tmac/latin5.tmac: New file.
4288 2003-12-19 Werner LEMBERG <wl@gnu.org>
4290 Add some glyphs needed for Turkish.
4292 * font/devutf8/R.proto: Add u00{47,67}_0306, u00{53,73}_0327,
4295 * tmac/composite.tmac: Add `,' as a synonym for `ac' accent.
4296 * tmac/tty-char.tmac: Add representations for u00{47,67}_0306,
4297 u00{53,73}_0327, and u0049_0307.
4299 2003-12-18 Werner LEMBERG <wl@gnu.org>
4301 * src/devices/grops/ps.cc (ps_output::put_float): Revert change
4303 Remove trailing zeros.
4305 2003-12-17 Werner LEMBERG <wl@gnu.org>
4307 Make \? transparent to end-of-sentence recognition.
4309 * src/roff/troff/input.cc (non_interpreted_node): Add
4310 `ends_sentence' member function.
4312 2003-12-16 Werner LEMBERG <wl@gnu.org>
4314 * doc/groff.texinfo: Document `dt' request correctly.
4315 Other minor typographical improvements.
4317 2003-12-10 Michail Vidiassov <master@iaas.msu.ru>
4319 * src/utils/afmtodit/Makefile.sub (afmtodit): Fix typo.
4321 2003-12-10 Richard Stallman <rms@gnu.org>
4323 * LICENSE: Better wording.
4325 2003-12-09 Werner LEMBERG <wl@gnu.org>
4327 * aclocal.m4 (GROFF_BROKEN_SPOOLER_FLAGS): Set default value to 0.
4328 * configure, NEWS: Updated.
4330 2003-12-08 Werner LEMBERG <wl@gnu.org>
4332 * FDL: Updated to version 1.2 (from www.gnu.org/copyleft).
4334 2003-12-07 Bernd Warken <bwarken@mayn.de>
4338 2003-12-07 Werner LEMBERG <wl@gnu.org>
4340 * INSTALL: Improved.
4342 2003-12-05 Keith Marshall <keith.d.marshall@ntlworld.com>
4344 Use path separator character of target platform for compiled-in
4347 * aclocal.m4 (GROFF_TARGET_PATH_SEPARATOR): New macro.
4348 * configure.ac: Use GROFF_TARGET_PATH_SEPARATOR.
4349 * configure: Regenerated.
4350 * Makefile.in (SEP): Use GROFF_PATH_SEPARATOR.
4352 2003-12-05 Werner LEMBERG <wl@gnu.org>
4354 * src/include/nonposix.h (PATH_SEP_CHAR): New definition.
4355 Replace `PATH_SEP[0]' with `PATH_SEP_CHAR' everywhere.
4357 2003-12-04 Bernd Warken <bwarken@mayn.de>
4359 * LICENSE: New file.
4361 2003-12-03 Werner LEMBERG <wl@gnu.org>
4363 * src/utils/afmtodit/afmtodit.pl: Comment out code which handles
4364 ligatures present in AFM files since groff currently only
4365 understands some standard ligatures and nothing else.
4367 2003-12-03 Jeff Conrad <jeff_conrad@msn.com>
4369 * src/roff/groff/groff.cpp (main): Don't run the spooler if
4372 * src/roff/groff/pipeline.c (run_pipeline) [_WIN32]: Fix error
4375 Don't use Unix wait flags.
4377 2003-12-02 Werner LEMBERG <wl@gnu.org>
4379 * src/roff/troff/glyphuni.cpp, src/roff/troff/unicode.cpp,
4380 src/roff/troff/unicode.h, src/roff/troff/uniglyph.cpp,
4381 src/roff/troff/uniuni.cpp: Moved to...
4382 * src/libs/libgroff/glyphuni.cpp, src/libs/libgroff/unicode.cpp,
4383 src/libs/libgroff/unicode.h, src/libs/libgroff/uniglyph.cpp,
4384 src/libs/libgroff/uniuni.cpp: Here.
4386 * src/include/Makefile.sub.old (HDRS),
4387 src/libs/libgroff/Makefile.sub (OBJS, CCSRCS),
4388 src/roff/troff/Makefile.sub (HDRS, PBJS, CCSRCS): Updated.
4390 2003-12-01 Keith Marshall <keith.d.marshall@ntlworld.com>
4392 * src/preproc/htlp/pre-html.cpp (__tmpfile): Renamed to
4396 2003-12-01 Werner LEMBERG <wl@gnu.org>
4398 * groff.texinfo: Document special behaviour of `.vs 0'.
4399 Improve documentation of `cflags' request.
4402 2003-11-29 Werner LEMBERG <wl@gnu.org>
4404 * font/devlj4/generate/Makefile (CORONET): Use correct TFM.
4405 * font/devlj4/CORONET: Regenerated.
4407 2003-11-24 Werner LEMBERG <wl@gnu.org>
4409 * src/roff/troff/env.cpp (hyphen_trie::read_patterns_file): Fix loop
4410 if processing hyphenation patterns in traditional mode.
4411 Improve error messages.
4413 2003-11-20 Werner LEMBERG <wl@gnu.org>
4415 * src/roff/troff/node.cpp (troff_output_file::put_char_width,
4416 troff_output_file::put_char): Fix type of local variable `c'.
4418 2003-11-19 Werner LEMBERG <wl@gnu.org>
4420 * src/roff/groff/pipeline.c (P): Removed. Updated all function
4422 (i_to_a): Removed. libgroff already provides this function.
4423 (run_pipeline) [_WIN32]: Don't use itoa but i_to_a.
4425 2003-11-18 Keith Marshall <keith.d.marshall@ntlworld.com>
4427 * src/roff/groff/pipeline.c (xstrsignal): Fix usage of
4430 2003-11-17 Werner LEMBERG <wl@gnu.org>
4432 * COPYING: Use correct version.
4434 2003-11-11 Werner LEMBERG <wl@gnu.org>
4436 LynxOS 4.0.0 doesn't declare vfprintf.
4438 * configure.ac: Check for vfprintf.
4439 * configure: Regenerated.
4440 * src/include/lib.h: Handle `NEED_DECLARATION_VFPRINTF'.
4441 * src/include/config.hin: Regenerated.
4443 2003-11-10 Werner LEMBERG <wl@gnu.org>
4445 LynxOS 4.0.0 has snprintf (without declaration) but no vsnprintf.
4447 * configure.ac: Check for vsnprintf.
4448 * configure: Regenerated.
4449 * src/include/lib.h: Handle `NEED_DECLARATION_VSNPRINTF' and
4451 * src/include/config.hin: Regenerated.
4453 2003-11-09 Werner LEMBERG <wl@gnu.org>
4455 * aclocal.m4: Updated syntax to autoconf 2.59.
4456 (GROFF_HTML_PROGRAMS): Use AC_FOREACH.
4457 Don't check for gsos2.
4458 (GROFF_SRCDIR, GROFF_BUILDDIR): Removed. autoconf 2.59 provides
4459 working abs_top_srcdir and abs_top_builddir.
4461 * configure.ac: Updated syntax to autoconf 2.59.
4462 Don't call GROFF_SRCDIR and GROFF_BUILDDIR.
4463 Replace call to AC_DECL_SYS_SIGLIST with call to AC_CHECK_DECLS.
4464 * configure: Regenerated.
4466 * Makefile.in, doc/Makefile.in: s/@top_srcdir@/@abs_top_srcdir@/,
4467 s/@groff_top_builddir@/@abs_top_builddir@/.
4469 * src/roff/groff/pipeline.c (xstrsignal):
4470 s/SYS_SIGLIST_DECLARED/HAVE_DECL_SYS_SIGLIST/.
4472 2003-11-07 Werner LEMBERG <wl@gnu.org>
4474 * src/devices/grodvi/dvi.cpp (draw_dvi_printer::draw) ['a']: Always
4475 make start angle smaller than end angle to circumvent a bug in tpic
4476 handling of some versions of dvipdfm (and dvipdfmx).
4478 2003-10-30 Werner LEMBERG <wl@gnu.org>
4480 * src/devices/grops/grops.man: Improve section on creating EPS.
4482 2003-10-29 Werner LEMBERG <wl@gnu.org>
4484 * contrib/pic2graph/pic2graph.sh: Fix typo (-P-letter ->
4487 2003-10-28 Werner LEMBERG <wl@gnu.org>
4489 * doc/groff.texinfo: Fix documentation of `.if'.
4491 2003-10-27 Michail Vidiassov <master@iaas.msu.ru>
4493 * src/utils/afmtodit/afmtodit.pl: Handle unmapped characters of
4494 the form `uniXXXX' also.
4496 2003-10-27 Werner LEMBERG <wl@gnu.org>
4498 * contrib/eqn2graph/eqn2graph.sh, contrib/grap2graph/grap2graph.sh,
4499 contrib/pic2graph/pic2graph.sh: Implement secure management of
4501 Pass `-P-pletter' to groff to avoid data outside of the converted
4502 area -- some versions of `convert' (for example 5.3.8) don't check
4503 the bounding box of the image but always use a fixed image size
4504 (letter paper format).
4505 * contrib/eqn2graph/eqn2graph.man, contrib/grap2graph/grap2graph.man,
4506 contrib/pic2graph/pic2graph.man: Updated.
4508 * src/roff/groff/groff.man: Document $TMP and $TEMP.
4510 2003-10-26 Werner LEMBERG <wl@gnu.org>
4512 * src/preproc/pic/troff.cpp (troff_output::simple_circle,
4513 troff_output::simple_ellipse, troff_output::simple_arc,
4514 troff_output::simple_line, troff_output::simple_spline,
4515 troff_output::simple_polygon): Insert a space before arguments.
4516 (troff_output::set_fill): Emit `\&' before `\D'Fg...' since the
4517 latter doesn't produce a node, so the following `.sp -1' would do
4519 Don't emit `.sp -1' after \M. This also doesn't produce a token
4520 (and we don't have to care about compatibility mode).
4521 (troff_output::set_color, troff_output::reset_color): Don't emit
4522 `.sp -1' after \M and \m.
4524 * src/roff/troff/input.cpp (old_have_input): New global variable.
4525 (input_stack::get): Handle `old_have_input'.
4526 (process_input_stack) <token::TOKEN_NEWLINE>: Call
4527 `trapping_blank_line' depending on `old_have_input', not
4530 2003-10-20 Keith Marshall <keith.d.marshall@ntlworld.com>
4532 * src/libs/libgroff/tmpfile.cpp [__MSDOS__, _Win32]
4533 (WIN32_TMPDIR_ENVVAR, MSDOS_TMPDIR_ENVVAR): New macros, providing
4534 default directory names for temporary files.
4535 [__MSDOS__, _Win32] (temp_init::temp_init): Use them.
4537 * src/roff/groff/pipeline.c [__MSDOS__]: Include stdlib.h.
4538 [__MSDOS__] (run_pipeline): Honour environment variables.
4539 Don't use `tmpnam' but `tempnam' to work around messy
4542 * README.MinGW: New file.
4544 2003-10-16 Werner LEMBERG <wl@gnu.org>
4546 * src/preproc/html/pre-html.cpp (write_upto_newline): Don't use
4547 `(*t)->next' without testing validity of `*t'.
4548 (usage): Make it more readable.
4550 2003-10-16 Keith Marshall <keith.d.marshall@ntlworld.com>
4552 Make html device run under both MS-DOS and Win32.
4554 * src/preproc/html/pre-html.cpp (MAY_FORK_CHILD_PROCESS,
4555 MAY_SPAWN_ASYNCHRONOUS_CHILD): New macros to control whether
4556 spawn or fork+exec has to be used, and whether parent must sleep
4557 until the child process terminates. Used in
4558 `char_buffer::run_output_filter'.
4559 (copyofstdoutfd): Removed.
4560 (char_buffer): Replace `write_file_html' and `write_file_troff'
4561 member functions with `emit_troff_output' and `run_output_filter'.
4562 (DEVICE_FORMAT, HTML_OUTPUT_FILTER, IMAGE_OUTPUT_FILTER): New
4564 (replaceFd): Replaced with...
4565 (set_redirection): New auxiliary function.
4566 (waitForChild): Replaced with...
4567 (save_and_redirect): New auxiliary function for.
4569 (char_buffer::do_html, char_buffer::do_image): Simplified, using new
4572 2003-10-14 Keith Marshall <keith.d.marshall@ntlworld.com>
4574 * aclocal.m4 (GROFF_SYS_NERR): Check stdlib.h also.
4575 (GROFF_LIBC): New function.
4576 * configure.ac: Call GROFF_LIBC.
4578 * configure: Regenerated.
4580 * src/include/lib.h: Handle __MINGW32__.
4581 * src/include/nonposix.h [_MSC_VER]: Handle __MINGW32__.
4582 Add macro for `pipe'.
4585 * src/roff/groff/pipeline.c (run_pipeline): Handle `no_pipe'
4588 * src/utils/indxbib/signal.c (handle_fatal_signal) [!HAVE_KILL]:
4591 2003-10-13 Werner LEMBERG <wl@gnu.org>
4593 Finally fix change 2003-08-26, based on ideas from Chuck Silvers
4596 * contrib/mom/Makefile.sub: Use a stamp file in the `examples'
4599 2003-10-12 Werner LEMBERG <wl@gnu.org>
4601 * src/roff/groff/groff.cpp (help), src/devices/grops/ps.cpp (usage),
4602 src/roff/troff/input.cc (usage): Updated.
4604 * NEWS, doc/groff.texinfo: Updated.
4606 2003-10-12 Peter Miller <millerp@canb.auug.org.au>
4608 * src/libs/libgroff/searchpath.cpp
4609 (search_path::open_file_cautious): New function which also handles
4610 `-' as stdin and stdout depending on the access mode.
4611 * src/include/searchpath.h (search_path): Updated.
4613 * src/devices/grops/ps.cpp (main): Handle new `-I' switch.
4614 * src/devices/grops/ps.h: Include `searchpath.h'.
4615 * src/devices/grops/psrm.cpp (resource_manager::supply_resource):
4616 Open resource file with `include_search_path.open_file_cautious'.
4617 * src/devices/grops/grops.man: Document new `-I' switch.
4619 * src/devices/grodvi/dvi.cpp (main), src/devices/grolbp/lbp.cpp
4620 (main), src/devices/grolj4/lj4.cpp (main),
4621 src/devices/grotty/tty.cpp (main): Ignore new `-I' switch.
4623 * src/preproc/soelim/soelim.cpp (include_list_length, include_list):
4625 (include_search_path): New global variable.
4626 (include_path_append): Removed.
4627 (main): Use `include_search_path.command_line_dir' to handle `-I'.
4628 (do_file): Simplify, using new
4629 `include_search_path.open_file_cautious'.
4631 * src/roff/groff/groff.cpp (print_commands): Accept file handle as
4633 (main): Pass arguments to `-I' to both troff and devices.
4634 Improve handling of `-V'.
4635 * src/roff/groff/groff.man: Document changes to -I and -V.
4637 * src/roff/troff/input.cpp (include_search_path): New global
4639 (next_file, source, ps_bbox_request, transparent_file,
4640 process_input_file): Use new
4641 `include_search_path.open_file_cautious'.
4642 (main) Handle `-I' switch.
4643 * src/roff/troff/node.cpp (troff_output_file::really_copy_file):
4644 Use new `include_search_path.open_file_cautious'.
4645 * src/roff/troff/node.h: New extern symbol `include_search_path'.
4646 * src/roff/troff/troff.man: Document new `-I' switch.
4648 2003-09-15 Ruslan Ermilov <ru@FreeBSD.org>
4650 Support multiple calls of .Lb in LIBRARY section.
4652 * tmac/doc-common (doc-in-library-section): New register.
4653 (doc-section-library): New string.
4654 (Sh): Set `doc-in-library-section'.
4656 * tmac/doc-syms (Lb): Insert breaks before and after arguments
4657 if in LIBRARY section.
4658 * tmac/doc.tmac (doc-save-global-vars): Updated.
4659 * NEWS, tmac/groff_mdoc.man: Updated.
4661 2003-09-14 Ruslan Ermilov <ru@FreeBSD.org>
4663 * tmac/doc-common (doc-default-operating-system): New variable.
4666 2003-09-08 Werner LEMBERG <wl@gnu.org>
4668 * tmac/doc.tmac (doc-reset-reference): Handle data for `%I' also.
4670 2003-08-31 Werner LEMBERG <wl@gnu.org>
4672 * contrib/mom/Makefile.sub: Fix last change to make it really work.
4673 * Makefile.comm: Use `test ... ||' in favor of `if test ...; then'.
4674 (install_dev, uninstall_dev): Check whether $(DEVSCRIPTS) and
4675 $(DEVFILES) are not empty.
4676 * Makefile.in: Use `test ... ||' in favor of `if test ...; then'.
4678 2003-08-26 Chuck Silvers <chuq@chuq.com>
4680 * contrib/mom/Makefile.sub (prepare_make_examples): Make it work
4681 with parallel runs of `make'.
4683 2003-08-23 Stephen Gildea <http://www.gildea.com/stephen>
4685 * src/preproc/ref/ref.cpp (reference::compute_sort_key): Always
4686 insert SORT_SEP. With certain combinations of sort specifications,
4687 refer sorted entries in the wrong order. In particular, entries
4688 with a missing field should be be sorted before all entries that
4689 have that field, before refer looks to the next field.
4691 2003-08-23 Werner LEMBERG <wl@gnu.org>
4693 * src/utils/pfbtops/Makefile.sub (LINK.c): Define it so that the
4694 g++ linker is used. Reported by Mark J. Reed
4695 <mark.reed@turner.com>.
4697 2003-08-16 Heinz-Jürgen Oertel <hj.oertel@surfeu.de>
4699 Add key character `x' to tbl which makes tbl call a user-defined
4700 macro on a table cell.
4702 * src/preproc/tbl/table.h (entry_modifier): Add `macro'.
4703 * src/preproc/tbl/table.cpp (block_entry::do_divert): Call
4704 `set_modifier' after printing the compatibility request.
4705 (set_modifier): Print call to `m->macro' if not empty.
4706 * src/preproc/tbl/main.cpp (entry_format::debug_print): Handle
4708 (process_format): Implement cases `x' and `X'.
4709 * src/preproc/tbl/tbl.man, NEWS: Updated.
4711 2003-08-15 Werner LEMBERG <wl@gnu.org>
4713 * doc/groff.texinfo: Minor fixes.
4715 2003-08-09 Werner LEMBERG <wl@gnu.org>
4717 * tmac/an-old.tmac [cR]: Fix redefinition of `bp'.
4719 2003-08-07 Werner LEMBERG <wl@gnu.org>
4721 * doc/Makefile.sub: Not all shells expand wildcards in the `for'
4722 argument list to nothing if there is no file to match. Use `ls' as
4723 a protection, similar to autoconf.
4725 * Makefile.comm (install_dev, uninstall_dev): Protect `for' against
4726 empty argument lists.
4728 * doc/groff.texinfo: Improve documentation how vertical spacing
4729 and line breaks interact.
4732 * tmac/www.tmac: Initialize `www-htmlimage-gap'.
4734 2003-08-03 Werner LEMBERG <wl@gnu.org>
4736 * NEWS, src/devices/grops/grops.man: -b16 is necessary to produce
4737 EPS (using eps2eps or similar programs to compute the bounding box).
4739 2003-07-24 Werner LEMBERG <wl@gnu.org>
4741 * doc/groff.texinfo: Use the new @/ command to avoid overlong lines.
4742 * doc/texinfo.tex: Updated from texinfo 4.6.
4743 * README.CVS: From now on we need texinfo 4.6.
4745 2003-07-23 Werner LEMBERG <wl@gnu.org>
4747 Add requests `dei1' and `ami1' for completeness.
4749 * src/roff/troff/input.cc (calling_mode): Remove
4750 CALLING_DISABLE_COMP.
4751 (comp_mode): New enumeration.
4752 (do_define_string, define_string, define_nocomp_string,
4753 append_string, append_nocomp_string): Updated.
4754 (do_define_macro): Add third parameter.
4755 (define_macro, define_nocomp_macro, define_indirect_macro,
4756 append_macro, append_nocomp_macro, append_indirect_macro): Updated.
4757 (define_indirect_nocomp_macro, append_indirect_nocomp_macro): New
4760 (init_input_requests): Add `dei1' and `ami1'.
4762 * tmac/trace.tmac: Handle de1 and am1.
4763 (de): Improve tracing message.
4764 (am): Add missing `do'.
4767 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
4768 Document new requests.
4770 2003-07-22 Heinz-Jürgen Oertel <hj.oertel@surfeu.de>
4772 Add option -G to .MPIMG to insert a gap between text and the image.
4774 * tmac/www.tmac (www-finish-left-po, www-finish-right-ll,
4775 www-finish-left-ll): Updated.
4776 (www-image-just, www-image-gap, www-htmlimage-gap): New variables.
4777 (MPIMG): Make option -L and -R optional.
4778 Implement option -G.
4780 2003-07-22 Gaius Mulley <gaius@glam.ac.uk>
4782 * src/devices/grohtml/post-html.cpp
4783 (html_printer::do_file_components): Don't use `stdout' as lvalue
4784 since it can be a macro.
4786 2003-07-22 Werner LEMBERG <wl@gnu.org>
4788 * src/libs/libgroff/strerror.c: Include errno.h to be in sync with
4789 the corresponding test in aclocal.m4.
4791 2003-07-21 Werner LEMBERG <wl@gnu.org>
4793 * src/preproc/html/pre-html.cpp (TRANSPARENT): Don't use colour
4794 names but RGB values directly. Otherwise pnmtopng depends on
4795 an external file `rgb.txt' which maps colour names to values.
4797 2003-07-20 Werner LEMBERG <wl@gnu.org>
4799 * aclocal.m4 (GROFF_SYS_ERRLIST): Include stdlib.h for MinGW.
4800 * configure, src/include/config.hin: Regenerated.
4802 * src/libs/libgroff/strerror.c: Include stdlib.h for MinGW.
4804 2003-07-19 Werner LEMBERG <wl@gnu.org>
4806 * PROBLEMS: Add solution for UTF-8 problem with hyphens.
4808 2003-07-18 Werner LEMBERG <wl@gnu.org>
4810 * *.man: Switch to non-compatibility mode temporarily if GNU
4811 syntax extensions are used in the particular man page.
4813 * PROBLEMS: Add solutions for SGR problems.
4815 2003-07-17 Werner LEMBERG <wl@gnu.org>
4817 Don't ignore grotty's command line options if \X'tty: sgr ...' is
4818 used to change the drawing scheme.
4820 * src/devives/grotty/tty.cpp (bold_flag_option,
4821 underline_flag_option, italic_flag_option, reverse_flag_option,
4822 bold_underline_mode_option): New global variables.
4823 (update_options): New function.
4824 (tty_printer::special): Call update_options.
4825 (main): Don't set xxx_flag but xxx_flag_option, then call
4828 2003-07-14 Werner LEMBERG <wl@gnu.org>
4830 Make grotty emit proper Unicode box drawing characters for -Tutf8.
4832 * src/devices/grotty/tty.cpp (START_LINE, END_LINE): New enum
4834 (hline_char, vline_char): New global variables.
4835 (tty_printer::tty_printer): Initialize them.
4836 (tty_printer::draw): Emit START_LINE and END_LINE flags for both
4837 horizontal and vertical lines.
4838 (crossings): New global array.
4839 (tty_printer::end_page): Use it to determine the proper crossing
4840 character for -Tutf8.
4842 2003-07-12 Werner LEMBERG <wl@gnu.org>
4844 * doc/Makefilesub (HTMLDOCFILESALL): New macro.
4845 (HTMLDOCFILES): Revert to `pic.html'.
4846 (CLEANADD, install_html, uninstall_sub): Use HTMLDOCFILESALL.
4848 2003-07-11 Werner LEMBERG <wl@gnu.org>
4850 * doc/pic.ms: Improve documentation of absolute coordinates.
4851 Document absolute positioning of pictures.
4853 * NEWS: Add new pic capability.
4855 2003-07-09 Hartmut Henkel <hartmut_henkel@gmx.de>
4857 * src/libs/libgroff/geometry.cpp (check_output_arc_limits):
4860 2003-07-07 Werner LEMBERG <wl@gnu.org>
4862 Implement support for dashed and dotted ellipses in pic. Based on
4863 a patch from Hartmut Henkel <hartmut_henkel@gmx.de>.
4865 * src/preproc/pic/common.cpp (common_output::ellipse_arc,
4866 common_output::dashed_ellipse, common_output::dotted_ellipse): New
4867 functions. Ellipse arcs are approximated with circle arcs.
4868 * src/preproc/pic/common.h (common_output): Updated.
4869 * src/preproc/pic/tex.cpp (tex_output::ellipse): Use new ellipse
4871 * src/preproc/pic/troff.cpp (simple_output::ellipse): Ditto.
4873 * src/preproc/pic/TODO, src/preproc/pic/pic.man: Updated.
4875 2003-07-06 Werner LEMBERG <wl@gnu.org>
4877 Make grotty work on platforms which have unsigned char as the
4878 default for char. Based on a patch by Thomas Klausner
4881 * src/devices/grotty/tty.cpp (schar): New typedef.
4882 Updated calls to declare_ptable and implement_ptable.
4883 (glyph): Use schar for back_color_idx and fore_color_idx.
4884 (tty_printer): Use schar for curr_fore_idx and curr_back_idx.
4885 (tty_printer::tty_color, tty_printer::tty_printer,
4886 tty_printer::color_to_idx, tty_printer::put_color): Updated.
4888 2003-07-06 Ruslan Ermilov <ru@FreeBSD.org>
4890 * src/roff/nroff/nroff.sh: Add option -d for completeness.
4891 * src/roff/nroff/nroff.man: Updated.
4893 2003-07-05 Werner LEMBERG <wl@gnu.org>
4895 * NEWS, tmac/groff_www.man: Updated.
4896 * doc/Makefile.sub: Updated.
4898 2003-07-05 Gaius Mulley <gaius@glam.ac.uk>
4900 Implement support for multiple HTML output files.
4902 * src/preproc/html/pre-html.cpp (scanArguments): Dummy handling for
4903 -j command line option.
4905 * src/devices/grohtml/post-html.cpp (job_name, multiple_files): New
4907 (file): New fields `new_output_file', `require_links',
4909 (file::file): Updated.
4910 (files::set_file_name, files::set_links_required,
4911 files::are_links_required, files::is_new_output_file,
4912 files::file_name, files::next_file_name): New functions.
4913 (header_desc): New fields `no_of_level_one_headings',
4915 (header_desc::header_desc): Updated.
4916 (header_desc::write_headings): Handle multiple files.
4917 (html_printer::write_header): Save file name in which header occurs.
4918 (html_printer::determine_header_level): Possibly split files on
4920 (html_printer::do_links, html_printer::troff_tag): Updated.
4921 (html_printer::insert_split_file, html_printer::do_job_name,
4922 html_printer::emit_link, html_printer::write_navigation,
4923 html_printer::do_file_components): New functions.
4924 (html_printer::~html_printer): Handle multiple files.
4925 (main): Handle command line option `-j'.
4927 * src/devices/grohtml/grohtml.man: Updated.
4929 * doc/Makefile.sub (pic.html), doc/Makefile.in (pic.html): New rule
4932 * tmac/www.tmac (JOBNAME): New macro.
4933 * tmac/s.tmac (SH-NO-TAG): New macro.
4934 (@SH): Call SH-NO-TAG.
4937 2003-07-05 Ruslan Ermilov <ru@FreeBSD.org>
4939 * tmac/groff_mdoc.man: Improve documentation of punctuation
4942 2003-07-04 Ruslan Ermilov <ru@FreeBSD.org>
4944 * tmac/doc.tmac (Bd): Change to doc-Li-font later.
4946 2003-07-03 Werner LEMBERG <wl@gnu.org>
4948 * tmac/an-old.tmac [cR]: Redefine `bp' to avoid empty lines.
4950 2003-07-01 Ruslan Ermilov <ru@FreeBSD.org>
4952 * tmac/doc.tmac (doc-do-func, doc-do-func-args): Don't print a comma
4953 after `/*' and `*/'.
4955 (Fn, Fo): Reduce indentation in synopsis.
4957 * tmac/doc-common (doc-check-depth): New macro.
4958 (doc-end-macro, Sh, Ss): Use it.
4959 (Cd): Fix behaviour in synopsis.
4960 (In): Make it parsed and callable.
4961 If not in the synopsis, represent the C header file enclosed in
4963 (doc-str-Rv-std-suffix, doc-str-Rv-stds-suffix, doc-str-Rv-std0):
4964 Use minus, not hyphen.
4966 * tmac/groff_mdoc.man: Updated.
4968 2003-07-01 Werner LEMBERG <wl@gnu.org>
4970 Integrated grap2graph, contributed by Eric S. Raymond.
4972 * contrib/grap2graph/{Makefile.sub, grap2graph.sh, grap2graph.man}:
4974 * Makefile.in, NEWS, MANIFEST, contrib/eqn2graph.man,
4975 contrib/pic2graph.man, src/roff/groff/groff.man: Updated.
4977 2003-07-01 Colin Watson <cjwatson@debian.org>
4979 * src/xditview/*.c: Add prototypes, fix return types, add includes.
4980 Based on work by Fumitoshi UKAI <ukai@debian.or.jp>.
4982 2003-06-31 Ruslan Ermilov <ru@FreeBSD.org>
4984 * tmac/tty-char.tmac: Provide `lb', `rb', `lk', `rk', `lt', `rt'.
4986 2003-06-31 Werner LEMBERG <wl@gnu.org>
4988 * doc/Makefile.sub (CLEANADD): Remove all files created by
4989 running `make groff.{pdf,dvi}'.
4991 * Makefile.sub (DISTCLEANFILES): Remove all non-source files from
4994 2003-06-30 Werner LEMBERG <wl@gnu.org>
4996 * Makefile.in (SHELL): Define as @SHELL@.
4997 (mkinstalldirs): Use $(SHELL).
4998 (MDEFINES): Add $(SHELL).
4999 * Makefile.comm (SHELL): Removed.
5001 2003-06-29 Werner LEMBERG <wl@gnu.org>
5003 * tmac/s.tmac (De, Ds): New aliases for .DE and .DS, respectively.
5004 The X11 documentation files use them.
5005 * tmac/groff_ms.man, doc/groff.texinfo: Document them.
5007 2003-06-15 Robert Goulding <goulding@Princeton.EDU>
5009 * tmac/e.tmac (@C): Handle .ad also.
5011 2003-06-12 Werner LEMBERG <wl@gnu.org>
5013 * src/preproc/tbl/tbl.man: Document formatting of text blocks.
5015 * src/roff/troff/input.cc (token::next) <handle_escape_char>:
5016 Assign `n' even here. It is possible to construct a node
5017 immediately following an escape character:
5025 2003-06-10 Werner LEMBERG <wl@gnu.org>
5027 * README.WIN32: Removed.
5028 * MANIFEST: Updated.
5030 2003-06-07 Werner LEMBERG <wl@gnu.org>
5032 * src/roff/nroff/nroff.sh: Don't emit SGR for option -u.
5034 2003-06-05 Werner LEMBERG <wl@gnu.org>
5036 * src/preproc/pic/pic.y <sprintf_args>: Implement workaround for bug
5037 in Compaq C++ V6.5-033 for Compaq Tru64 UNIX V5.1A (Rev. 1885).
5039 2003-06-03 Werner LEMBERG <wl@gnu.org>
5041 * src/preproc/grn/hdb.cpp (DBRead): Don't close file handle; this
5042 is done by the calling function.
5044 2003-05-22 Ruslan Ermilov <ru@FreeBSD.org>
5046 * tmac/X.tmac: Fix definition of `em'.
5048 2003-05-22 Werner LEMBERG <wl@gnu.org>
5050 * src/roff/troff/input.cc (return_macro_request): Fix detection of
5053 2003-05-18 Werner LEMBERG <wl@gnu.org>
5055 * tmac/doc.tmac (doc-tag-list): Force horizontal mode after tag
5056 to make items work which consist only of a tag.
5058 2003-05-17 Werner LEMBERG <wl@gnu.org>
5060 * tmac/doc.tmac (doc-tag-list): Don't use \Z to assure that spaces
5061 aren't stretched in a tag (this can fail with unformatted boxes).
5062 Instead, insert a break and go back one line.
5064 2003-05-16 Werner LEMBERG <wl@gnu.org>
5066 * src/roff/troff/input.cc (return_macro_request): If called with
5067 argument pop macro twice. We need this to trace `return'.
5069 * tmac/trace.tmac: Handle `return'.
5072 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
5075 2003-05-15 Larry Kollar <kollar@alltel.net>
5077 * tmac/groff_ms.man, doc/groff.texinfo: Improve documentation of
5078 registers `FPS', `FVS', and `FPD'.
5080 2003-05-15 Werner LEMBERG <wl@gnu.org>
5082 * src/utils/pfbtops/pfbtops.c (get_text): Handle loop counter
5085 2003-05-03 Ruslan Ermilov <ru@FreeBSD.org>
5087 * tmac/groff_mdoc.man: Slight improvements.
5089 2003-05-03 Werner LEMBERG <wl@gnu.org>
5091 * tmac/doc-common (doc-header): Emit vertical space of 1v instead of
5092 `doc-header-space' after header line if register `cR' is set.
5094 2003-05-02 Werner LEMBERG <wl@gnu.org>
5098 2003-05-01 Ruslan Ermilov <ru@FreeBSD.org>
5100 * tmac/doc-common (Nd): Use \[em].
5102 2003-05-01 Werner LEMBERG <wl@gnu.org>
5104 * tmac/doc-ditroff, tmac/doc-nroff (doc-header-space,
5105 doc-footer-space): Initialize to 0.5i.
5106 (doc-setup-page-layout): Don't set doc-header-space and
5109 2003-04-30 Werner LEMBERG <wl@gnu.org>
5111 * REVISION: Set to 1.
5113 * doc/pic.ms: Document possible problems with `figname'.
5115 2003-04-29 Werner LEMBERG <wl@gnu.org>
5117 Version 1.19 released
5118 =====================
5120 * VERSION: Set to 1.19.
5121 * REVISION: Set to 0.
5122 * doc/groff.texinfo, doc/webpage.ms, NEWS: Updated.
5124 * src/devices/grohtml/post-html.cpp (html_printer::~html_printer):
5125 Define charset as `US-ASCII' in html output.
5127 * tmac/www.tmac (ULE): Add missing scaling indicator.
5129 * win32-diffs: Removed.
5131 2003-04-28 Werner LEMBERG <wl@gnu.org>
5133 * doc/groff.texinfo: Document `dn' and `dl' registers if used with
5135 Document how to insert discardable whitespace with `.ss'.
5137 2003-04-27 Werner LEMBERG <wl@gnu.org>
5139 * src/preproc/pic/tex.cpp (tex_output::start_picture): Make code
5140 work with plain TeX also.
5142 * src/preproc/pic/pic.man, doc/pic.ms: Fix TeX code example.
5144 2003-04-25 Gaius Mulley <gaius@glam.ac.uk>
5146 * src/devices/grohtml/post-html.cpp (html_printer::~html_printer):
5149 2003-04-24 Werner LEMBERG <wl@gnu.org>
5151 * src/preproc/pic/pic.man, doc/pic.ms: Explain how to get a
5152 vbox with positive height and zero depth if in TeX mode.
5154 * NEWS: Document glyph name changes for grodvi and grolj4.
5156 2003-04-23 Werner LEMBERG <wl@gnu.org>
5158 * src/preproc/pic/tex.cpp (tex_output::start_picture): Fix TeX code.
5159 * doc/pic.ms: Fixed.
5161 2003-04-21 Werner LEMBERG <wl@gnu.org>
5163 HP-UX 10.20 has `snprintf' but it isn't declared.
5165 * configure.ac: Add declaration test for snprintf.
5166 * configure: Regenerated.
5167 * src/include/lib.h: Handle `NEED_DECLARATION_SNPRINTF'.
5168 * src/include/config.hin: Regenerated.
5170 2003-04-19 Werner LEMBERG <wl@gnu.org>
5172 Add keyword `figname' to pic, specifying the name of the picture
5173 box in TeX mode. Based on a patch from William J Poser
5174 <wjposer@unagi.cis.upenn.edu>.
5176 * src/preproc/pic/pic.y: New token `FIGNAME'.
5177 (macro_name): New rule of type <str>.
5178 (placeless_element): Handle `FIGNAME'.
5179 * src/preproc/pic/lex.cpp (lookup_keyword): Add `figname'.
5180 * src/preproc/pic/main.cpp (graphname): New global variable.
5181 (do_picture): Initialize `graphname'.
5182 * src/preproc/pic/pic.h: Updated.
5183 * src/preproc/pic/tex.cpp (tex_output::start_picture): Use
5186 (tex_output::text): Beautify output.
5187 * src/preproc/pic/object.cpp (object_spec::~object_spec): Deallocate
5188 `shaded' and `outlined' unconditionally.
5189 * NEWS, src/preproc/pic/pic.man, doc/pic.ms: Updated.
5192 * PROBLEMS, README.CVS: Mention that bison version 1.875b or
5193 greater is necessary.
5195 2003-04-17 Hartmut Henkel <hartmut_henkel@gmx.de>
5197 Add option -r to soelim to avoid emission of `.lf' lines.
5198 Add option -t to produces TeX comment lines instead of `.lf' lines.
5200 * src/preproc/soelim/soelim.cpp: New global variables `raw_flag'
5203 (main): Handle `-r' and `-t'.
5204 (set_location): Handle `raw_flag' and `tex_flag'.
5205 * src/preproc/soelim/soelim.man, NEWS: Updated.
5207 2003-04-17 Werner LEMBERG <wl@gnu.org>
5209 * tmac/hyphenex.sh: Replaced with...
5210 * tmac/hyphenex.pl: This perl script to avoid sed compatibility
5213 * aclocal.m4 (GROFF_HTML_PROGRAMS): Emit useful warning message
5214 if --quiet is used for the configure script.
5215 * configure: Regenerated.
5217 2003-04-16 Werner LEMBERG <wl@gnu.org>
5219 * src/devices/grohtml/post-html.cpp (text_glob::text_glob):
5220 Add `const' to second argument.
5221 (html_printer::add_table_end): Add `const' to argument.
5222 * src/devices/grohtml/html-text.cpp (html_text::issue_tag): Add
5223 `const' to arguments.
5224 * src/devices/grohtml/html-text.h: Updated.
5226 * src/devices/grolbp/charset.h (symset): Use `unsigned char'.
5227 * src/devices/grolbp/lbp.h (lbpputc): Use `unsigned char' for
5230 * src/devices/grotty/tty.cpp (tty_printer::make_rgb_string): Use
5231 cast for integer constant.
5233 * src/preproc/html/pre-html.cpp (image_device): Use `const'.
5234 (writeNbytes): Add `const' to first argument.
5235 (writeString): Add `const' to argument.
5236 (char_buffer::can_see): Add `const' to third argument.
5237 * src/preproc/html/pushback.cpp (pushBackBuffer::isString): Add
5238 `const' to argument.
5239 * src/preproc/html/pushback.h: Updated.
5241 * src/preproc/soelim/soelim.cpp (include_list): Add `const'.
5242 (include_path_append): Add `const' to argument.
5245 * src/roff/troff/uniglyph.cpp (unicode_to_glyph_list): Use `const'
5247 (unicode_to_glyph_init::unicode_to_glyph_init): Updated.
5248 * src/roff/troff/uniuni.cpp (unicode_decompose_list): Use `const'
5250 (unicode_decompose_init::unicode_decompose_init): Updated.
5251 * src/roff/troff/glyphuni.cpp (glyph_to_unicode_list): Use `const'
5253 (glyph_to_unicode_init::glyph_to_unicode_init): Updated.
5254 * src/roff/troff/input.cc (process_startup_file): Add `const' to
5257 * tmac/hyphenex.sh: Make script more portable by using a here
5260 2003-04-15 Werner LEMBERG <wl@gnu.org>
5262 Renamed all `*.cc' files to `*.cpp'.
5263 Updated all configuration files, makefiles, and documentation.
5265 2003-04-14 Werner LEMBERG <wl@gnu.org>
5267 * tmac/hyphenex.sh: Slight improvements.
5269 2003-04-13 Werner LEMBERG <wl@gnu.org>
5271 * font/devascii/R.proto, font/devcp1037/R.proto,
5272 font/devlatin1/R.proto, font/devutf8/R.proto: Fill up remaining
5273 character slots with unnamed glyphs.
5275 * tmac/an-old.tmac: Fix hyphenation value if `cR' is active.
5276 (an-first): New global variable.
5277 (an-header): Emit vertical space between multiple man pages.
5279 2003-04-11 Werner LEMBERG <wl@gnu.org>
5281 * doc/groff.texinfo, man/groff_out.man: \S only accepts integer
5284 2003-04-10 Werner LEMBERG <wl@gnu.org>
5286 * PROBLEMS: Revised.
5288 2003-04-10 Bernd Warken <bwarken@mayn.de>
5290 * doc/webpage.ms: Improved.
5292 2003-04-09 Werner LEMBERG <wl@gnu.org>
5294 Add register \n[.height] which returns the value of \H.
5295 Add register \n[.slant] which returns the value of \S.
5297 * src/roff/troff/env.cc (init_env_requests): Implement.
5298 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
5301 2003-04-08 Werner LEMBERG <wl@gnu.org>
5303 * tmac/html.tmac: Move some of the data into html-end.tmac.
5304 Remove most of the character translations for eqn since html fonts
5305 now cover those characters.
5307 * tmac/html-end.tmac: New file.
5308 * tmac/troffrc: Load html.tmac not www.tmac for -Thtml.
5309 * tmac/troffrc-end: Load html-end.tmac not html.tmac for -Thtml.
5310 * tmac/Makefile.sub (NORMALFILES): Add html-end.tmac.
5312 2003-04-07 Werner LEMBERG <wl@gnu.org>
5314 * man/groff_out.man: Document negative values of `N' if -Thtml is
5317 2003-04-06 Werner LEMBERG <wl@gnu.org>
5319 * Makefile.comm (depend.temp): Check location of YTABC.
5321 2003-04-05 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
5323 * contrib/mom/Makefile.sub (GROFFBIN): New variable for groff
5325 (groff_bin_path): Rename to GROFF_BIN_PATH.
5326 (GROFF): Use GROFFBIN and GROFF_BIN_PATH.
5327 * doc/Makefile.in (TROFFBIN): New variable for troff
5329 (GROFFBIN): New variable for groff binary path.
5330 (groff_bin_path): Rename to GROFF_BIN_PATH.
5331 (TROFF): Use TROFFBIN.
5332 (GROFF): Use GROFFBIN and GROFF_BIN_PATH.
5333 * doc/Makefile.sub (GROFFBIN): New variable for groff
5335 (groff_bin_path): Rename to GROFF_BIN_PATH.
5336 (GROFF): Use GROFFBIN and GROFF_BIN_PATH.
5338 * Makefile.comm (install_dev): Install scripts from DEVSCRIPTS
5339 with INSTALL_SCRIPT.
5340 (uninstall_dev): Uninstall scripts from DEVSCRIPTS.
5341 * Makefile.dev (all): Depend on DEVSCRIPTS.
5342 (install_dev): Likewise.
5343 * font/devdvi/Makefile.sub (DEVSCRIPTS): New variable to hold
5345 * font/devps/Makefile.sub (DEVSCRIPTS): Likewise.
5346 (DEVGENSCRIPTS): New variable to hold generated scripts.
5348 2003-04-05 Werner LEMBERG <wl@gnu.org>
5350 * src/libs/libdriver/input.cc (IntArray::operator[],
5351 IntArray::get_data): Remove meaningless `const' in return value.
5353 * README.CVS: New file.
5355 2003-04-04 Werner LEMBERG <wl@gnu.org>
5357 Check for stdint.h in C++, not in C.
5359 * aclocal.m4 (GROFF_STDINT_H): New function,
5360 * configure.ac: Check for stdint.h with GROFF_STDINT_H instead of
5362 * configure, src/include/config.hin: Regenerated.
5363 * src/libs/libgroff/tmpname.cc: Use HAVE_CC_STDINT_H.
5366 Fix handling of in grohtml. To do this, troff emits `N'
5367 with a negative value, representing the width of the unbreakable
5368 space (only for -Thtml). grohtml then converts this back to
5369 and uses the value of N as its width.
5371 * src/roff/troff/node.cc (space_char_hmotion_node::tprint,
5372 unbreakable_space_node::tprint): Emit `N-<width>'.
5373 * src/include/printer.h (printer::set_numbered_char): Make it
5375 Make members `font_table' and `nfonts' protected instead of private.
5376 * src/devices/grohtml/post-html.cc
5377 (html_printer::set_numbered_char): New member function.
5380 * src/libs/libgroff/maxfilename.cc:
5381 s/HAVE_LIMITS_H/HAVE_CC_LIMITS_H/.
5383 * src/roff/troff/node.cc (unbreakable_space_node::tprint): Don't
5386 2003-04-03 Sergey A. Osokin <osa@freebsd.org.ru>
5388 * man/roff.man: Small fixes.
5390 2003-04-03 Werner LEMBERG <wl@gnu.org>
5392 Make groff independent from locale's numeric settings.
5394 * configure.ac: Check for `setlocale'.
5395 * configure, src/include/config.hin: Regenerated.
5397 * src/include/lib.h: Handle HAVE_SETLOCALE.
5399 * src/devices/grodvi/dvi.cc (main), src/devices/grolj4/lj4.cc
5400 (main), src/devices/grops/ps.cc (main), src/preproc/grn/main.cc
5401 (main), src/preproc/pic/main.cc (main): Call `setlocale'.
5404 * doc/groff.texinfo: Change dir category to `Typesetting'.
5405 (Man font macros): Mention that there is no space between arguments
5408 * src/libs/libdriver/printer.cc, src/devices/grotty/tty.cc
5409 (*printer::change_color, *printer::change_fill_color): Add missing
5412 2003-04-02 Werner LEMBERG <wl@gnu.org>
5414 * src/devices/grohtml/html-table.cc (html_table::emit_col,
5415 html_table::is_gap): Compute table widths after converting border
5416 positions to avoid rounding errors.
5418 2003-04-01 Werner LEMBERG <wl@gnu.org>
5420 * src/devices/grohtml/html-text.cc (html_text::do_space): Handle
5421 `space_emitted' properly.
5423 2003-03-31 Werner LEMBERG <wl@gnu.org>
5425 * src/devices/grohtml/html-table.cc: Fix column width calculation.
5426 (html_table::set_linelength): Don't add 1.
5427 (html_table::add_indent): Don't subtract 1.
5429 * tmac/html.tmac: Set default page offset to zero.
5431 2003-03-30 Werner LEMBERG <wl@gnu.org>
5433 Make groff emit ` ' for `\ ' and `\~' if `-Thtml' is used.
5435 * src/roff/troff/node.cc (space_char_hmotion_node::tprint,
5436 unbreakable_space_node::tprint): New functions.
5437 (troff_output_file): Make space_char_hmotion_mode::tprint and
5438 unbreakable_space_node::tprint to friends.
5439 * src/roff/troff/node.h: Updated.
5441 * font/devhtml/R.proto: Add ` ' at position 0xA0 (as defined
5442 in the HTML standard).
5444 2003-03-29 Werner LEMBERG <wl@gnu.org>
5446 * src/roff/troff/env.cc (point_size): Fix emission of html tag.
5447 Otherwise, the following code
5456 produces `x a' instead of `xa'. This is a temporary fix, disabling
5457 font changes in diversions for -Thtml.
5459 * tmac/an-old.tmac (TH, SH): Use `HTML-TAG-NS' instead of
5461 (an-do-tag-html): Merge with ...
5462 (an-do-tag): This macro.
5463 Change code slightly to circumvent grohtml bug.
5464 * tmac/troffrc-end: Define dummy for HTML-TAG-NS.
5466 * src/devices/grohtml/html-table.cc (html_table::emit_col,
5467 html_table::is_gap): Round `width' properly.
5469 * tmac/html.tmac: Provide some default layout parameters for
5472 * font/devhtml/DESC.proto: Don't use discrete values for `sizes'
5475 2003-03-28 Werner LEMBERG <wl@gnu.org>
5477 src/devices/grops/ps.cc (ps_printer::do_import): Fix error message.
5479 2003-03-27 Werner LEMBERG <wl@gnu.org>
5481 * tmac/an-old.tmac (BT): Don't call .tl if register `ps4html' is
5484 2003-03-20 Werner LEMBERG <wl@gnu.org>
5486 * src/roff/troff/env.cc (vertical_spacing): Allow zero value for
5488 * doc/groff.texinfo: Updated.
5490 2003-03-19 Werner LEMBERG <wl@gnu.org>
5492 * src/roff/troff/input.cc (process_input_stack) <TOKEN_BEGIN_TRAP,
5493 TOKEN_END_TRAP>: Reset `have_input'.
5495 2003-03-18 Werner LEMBERG <wl@gnu.org>
5497 * src/roff/groff/groff.man: Mention groff_trace man page.
5499 2003-03-16 Werner LEMBERG <wl@gnu.org>
5501 * Makefile.in (LIBEXT): New variable to indicate the file extension
5502 of library files. Computed heuristically from $(OBJEXT).
5503 (MDEFINES): Add $(LIBEXT).
5504 * Makefile.lib, Makefile.comm: Use it.
5506 * src/utils/pfbtops/pfbtops.c (get_text): New function. Split
5507 overlong lines into smaller chunks.
5508 (get_binary): New function.
5510 * src/utils/pfbtops/pfbtops.man: Updated.
5512 2003-03-15 Colin Watson <cjwatson@debian.org>
5514 * src/roff/groff/groff.man: Minor syntax fix.
5516 2003-03-14 Egil Kvaleberg <egil@kvaleberg.no>
5518 * src/devices/grops/ps.cc (ps_printer::media_set,
5519 ps_printer::~ps_printer): Handle zero paper width and length.
5521 2003-03-13 Werner LEMBERG <wl@gnu.org>
5523 Add options -p and -l to grodvi.
5525 * src/devices/grodvi/dvi.cc: Include paper.h.
5526 (landscape_flag, user_paper_length, user_paper_width): New global
5528 (dvi_printer::begin_page): Emit `papersize' special.
5529 Set color after initialization of `cur_h' and `cur_v'.
5530 (main): Add options `-l' and `-p'.
5531 * font/devdvi/Makefile.sub (DESC): Set `papersize'.
5532 * src/devices/grodvi/grodvi.man, NEWS: Updated.
5534 * src/devices/grops/psrm.cc (valid_input_table): Fixed.
5536 2003-03-12 Werner LEMBERG <wl@gnu.org>
5538 * src/devices/grops/grops.man: Move documentation of .PSPIC to...
5539 * man/groff_tmac.man: This man page.
5540 * man/groff_font.man: Declare `paperwidth' and `paperlength' as
5543 * tmac/X.tmac: Don't load pspic.tmac.
5545 2003-03-11 Werner LEMBERG <wl@gnu.org>
5547 Make variable `pr' local to libdriver/input.cc. Based on a patch
5548 by Bernd Warken <bwarken@mayn.de>.
5550 * src/include/driver.h (pr): Removed.
5552 * src/libs/libdriver/input.cc (pr): New global variable.
5553 (do_file): Deallocate `pr'.
5554 * src/libs/libdriver/printer.cc (pr): Removed.
5556 * src/devices/grodvi/dvi.cc (main), src/devices/grohtml/post-html.cc
5557 (main), src/devices/grolbp/lbp.cc (main), src/devices/grolj4/lj4.cc
5558 (main), src/devices/grops/ps.cc (main), src/devices/grotty/tty.cc
5559 (main): Don't delete `pr'.
5561 2003-03-10 Werner LEMBERG <wl@gnu.org>
5563 * tmac/a4.tmac, tmac/composite.tmac: Use `.do'.
5564 * tmac/papersize.tmac: New file.
5565 * tmac/troffrc: Include `papersize.tmac'.
5566 * tmac/Makefile.sub (NORMALFILES): Add `papersize.tmac'.
5567 * tmac/an-old.tmac: Set LT to LL by default.
5569 * NEWS, MANIFEST, tmac/groff_man.man, man/groff_tmac.man,
5570 doc/groff.texinfo: Updated.
5572 * src/libs/libgroff/paper.cc (add_iso_paper): Fix very embarassing
5573 bug which caused all odd iso papers to have wrong dimensions.
5575 * src/devices/grops/ps.cc (user_paper_width): New global variable.
5576 (main) <'p'>: Set `user_paper_width' also.
5577 (ps_printer::media_width, ps_printer::media_height): Use values
5578 given with option `-p'.
5580 2003-03-09 Werner LEMBERG <wl@gnu.org>
5582 * src/include/nonposix.h: Provide default for SET_BINARY.
5584 * src/devices/grodvi/dvi.cc, src/devices/grolbp/lbp.cc,
5585 src/devices/grolj4/lj4.cc, src/devices/grops/ps.cc: Call SET_BINARY
5588 * src/utils/pfbtops/pfbtops.c: Call SET_BINARY unconditionally.
5589 (main): Treat \r\n as \n.
5591 2003-03-08 Werner LEMBERG <wl@gnu.org>
5593 * tmac/an-old.tmac: Use register `HY' to control hyphenation.
5594 * NEWS, tmac/groff_man.man, doc/groff.texinfo: Document it.
5596 2003-03-07 Werner LEMBERG <wl@gnu.org>
5598 Added support to access more than 256 glyphs in Type 1 fonts.
5600 * src/devices/grops/ps.cc (subencoding): New structure.
5601 (style): Add `sub' field.
5603 (ps_printer): Add `subencodings' and `next_subencoding_index' fields.
5604 Add `set_subencoding', `get_subfont' and `encode_subfont' member
5607 (ps_printer::set_char): Use `set_subencoding'.
5608 (make_subencoding_name): New function.
5609 (ps_printer::set_style): Handle case where `sty.sub' is not zero.
5610 (ps_printer::~ps_printer): Emit subencoding definitions.
5612 * src/devices/grops/psrm.cc (valid_input_table): New array to
5613 properly support EBCDIC.
5614 (white_space): Add `\f'.
5615 (ps_get_line): Change first argument to be of type `string &'.
5616 Updated all callers.
5617 This allows to get lines of arbitrary length.
5618 Use `valid_input_table'.
5619 Remove warning about non-conforming PS line length. This seems
5620 not to be of great importance -- for example, dvips don't emit
5622 (PS_LINE_MAX): Removed.
5623 (matches_comment): Change first argument to be of type `string &'.
5625 * src/devices/grops/grops.man, src/devices/grops/TODO: Updated.
5627 * src/utils/afmtodit/afmtodit.pl (%unicode_decomposed,
5628 %AGL_to_unicode, %default_ligatures): New hash tables.
5629 Read all map entries.
5630 Add unencoded characters.
5631 Check for default ligatures if there are no `L' entries.
5632 Print all kern entries.
5633 Print all characters in charset.
5634 * src/utils/afmtodit/afmtodit.man: Updated.
5636 * font/devps/*: Regerated all fonts.
5638 * tmac/latin[129].tmac, tmac/cp1047.tmac: Don't test for existence
5639 of characters, just use `.trin'. Otherwise the mapping depends
5640 on the font encoding.
5641 * tmac/ps.tmac: Add `fi' and `fl'.
5642 Improve `Fi' and `Fl'.
5643 * tmac/X.tmac, tmac/lbp.tmac, tmac/tty.tmac: Improve `Fi' and `Fl'.
5644 * tmac/Xps.tmac: Fix `em'.
5648 2003-03-04 Werner LEMBERG <wl@gnu.org>
5650 * src/roff/troff/input.cc (charinfo_to_node_list): Reset
5653 2003-03-03 Werner LEMBERG <wl@gnu.org>
5655 * Makefile.sub (DISTCLEANFILES): Add gxditview._man.
5657 * font/devps/generate/textmap: Remove entry `similarequal'.
5658 * font/devps/symbolmap: Updated.
5660 2003-03-02 Werner LEMBERG <wl@gnu.org>
5662 * src/libs/libgroff/font.cc (font::load): Fix error message for
5665 * src/devices/grops/grops.man: Improve documentation of the -b
5668 * tmac/tty.tmac: Load latin1.tmac for all TTY devices except
5669 `ascii' and `cp1047'.
5671 2003-03-01 Werner LEMBERG <wl@gnu.org>
5673 Document composite glyphs and the `composite' request.
5675 * man/groff.man, man/groff_diff.man, doc/groff.texinfo: Do it.
5677 2003-02-28 Werner LEMBERG <wl@gnu.org>
5679 * font/devdvi/generate/ec.map: Add some more Unicode entities.
5680 * font/devdvi/*EC: Updated.
5682 * tmac/composite.tmac, tmac/latin2.tmac, tmac/latin9.tmac: New files.
5683 * tmac/latin1 (latin1-tr): Undo any previous mapping.
5684 * tmac/troffrc: Load `composite.tmac'.
5685 * tmac/Makefile.sub (NORMALFILES): Updated.
5687 * doc/groff.texinfo (Input Encodings): New section.
5690 2003-02-27 Werner LEMBERG <wl@gnu.org>
5692 * doc/texinfo.tex: New version 2003-02-11.06.
5694 * tmac/doc-common (Dt): Don't emit warning for unknown section.
5695 * tmac/groff_mdoc.man: Fix description of `Dt'.
5697 2003-02-26 Egil Kvaleberg <egil@kvaleberg.no>
5699 * font/devps/prologue.ps: Fix for included Postscript that does
5700 a setpagedevice -- which is now safely ignored.
5704 * src/devices/grops/ps.cc: Now sets the page size in the generated
5705 document. This is done in two ways: Via a %%-comment for gv and
5706 the like, and via a PageSize and setpagedevice for programs that
5707 understands Postscript proper, like ps2pdf.
5709 * src/devices/grops/ps.h: New broken-flag to avoid page size
5710 definition, if required.
5712 * src/devices/grops/grops.man: New broken-flag 16 mentioned.
5714 * doc/Makefile.in: Added -nosetpage flag (via @pnmtops_nosetpage@).
5715 Not really necessary due to the fix in prologue.ps, but cleaner:
5716 Such information does not belong in an .eps file.
5718 * doc/Makefile.sub: See doc/Makefile.in.
5720 2003-02-26 Ralph Corderoy <ralph@inputplus.co.uk>
5722 * aclocal.m4 (GROFF_PNMTOPS_NOSETPAGE): Use P2 format for testing
5723 instead of P1 since the latter is broken in some versions of netpbm.
5724 * configure: Updated.
5726 2003-02-26 Larry Kollar <kollar@alltel.net>
5728 Make man pages more customizable.
5730 * tmac/an-old.tmac (FT): New register holding footer distance from
5732 (HF): New string holding the default heading font.
5733 (TH): Handle registers `IN' and `SN' set on the command line.
5735 (PT, BT): New strings to customize header and footer lines.
5736 (an-header, an-footer): Use them.
5738 * tmac/groff_man.man: Document changes.
5740 * doc/groff.texinfo: Document man changes.
5741 Document Ultrix extensions of man.
5743 2003-02-26 Werner LEMBERG <wl@gnu.org>
5745 * src/roff/troff/input.cc (do_width, do_if_request): Reset
5746 `have_input' after changing back to old environment.
5748 * src/devices/grolbp/lbp.cc (lbp_printer::set_line_thickness): Move
5749 function up to be defined before first call. This is necessary to
5750 avoid a compilation problem with Sun's WorkShop 6 C++ compiler.
5752 * src/utils/afmtodit/afmtodit.pl: Make script search for files in
5753 the default font directory also. Based on a patch from James
5754 J. Ramsey <jjramsey_6x9eq42@yahoo.com>.
5755 * src/utils/afmtodit/Makefile.sub (afmtodit): Handle @FONTDIR@.
5756 * src/utils/afmtodit/afmtodit.man: Document it.
5760 * tmac/groff_man.man, doc/groff.texinfo: Many minor fixes.
5762 2003-02-25 Gaius Mulley <gaius@glam.ac.uk>
5764 * aclocal.m4 (GROFF_HTML_PROGRAMS): Add test for pnmtops.
5765 (GROFF_PNMTOPS_NOSETPAGE): New macro.
5766 * configure.ac: Use it.
5767 * configure: Regenerated.
5768 * Makefile.in: Updated.
5770 * tmac/Makefile.sub (NORMALFILES): Remove www.tmac.
5771 (CLEANADD): Add www.tmac-sed.
5772 (pnmtops_nosetpage): Define default.
5773 (install_data): Handle www.tmac-sed and substitute
5774 @PNMTOPS_NOSETPAGE@.
5775 (stamp-sed): Add www.tmac.
5776 * tmac/www.tmac: Rewritten, based on a patch by Bernd Warken.
5777 It now breaks URLs at suitable places.
5778 (www:substring_ok): New register set by...
5779 (www:@test_substring): New macro.
5780 (www:error): New alias to www-error.
5781 (www:lenstr, www:splitstr, www:url_breaks, www:url_breaks_splitted):
5783 (URL): Use www:url_breaks.
5784 (PIMG, MPIMG): Use @PNMTOPS_NOSETPAGE@.
5785 (CDS, CDE): New macros.
5787 2003-02-25 Werner LEMBERG <wl@gnu.org>
5789 * src/devices/grops/ps.cc (ps_printer::define_encoding): Avoid
5792 2003-02-24 Werner LEMBERG <wl@gnu.org>
5794 Contrary to the PCL5 Developer's Guide, the ascenders in TFM files
5795 can be negative also.
5797 * src/utils/hpftodit/hpftodit.cc (char_info): `ascent' must be
5799 (read_char_table): Avoid negative ascenders.
5800 (output_charset): Add cast.
5801 * font/devlj4/*: Regenerated.
5803 Replace unnamed glyphs for DVI fonts with `uXXXX' glyph names where
5806 * font/devdvi/generate/{tc,texttt,ec,texmi,texsy,textex}.map: Do it.
5807 * font/devdvi/generate/textex.map: Map glyph 23 to `u21C6' instead
5809 * font/devdvi/*: Regenerated.
5811 Map `la' and `ra' to U+27E8 and U+27E9. These two characters have
5812 normal width, while the previously used characters (U+2329 and
5813 U+232A) are classified as wide due to canonical equivalence with the
5814 CJK punctuation characters U+3008 and U+3009.
5816 * font/devutf8/R.proto: Updated.
5817 * src/roff/troff/uniglyph.cc, src/roff/troff/glyphuni.cc: Ditto.
5819 * man/groff_char.man: Simplify handling of table traps by
5820 introducing `start block' and `end block' macros.
5821 (Ns, Ne, 2s, 2e, Ds, De): New macros.
5822 (DL): Make it work with Unix troff also.
5823 Fix code values of `la' and `ra'.
5825 * tmac/dvi.tmac: Define `<>' for CW and CWI.
5827 2003-02-23 Gaius Mulley <gaius@glam.ac.uk>
5829 * src/devices/grohtml/post-html.cc (element_list::~element_list):
5830 New destructor, fixing a major memory leak.
5832 2003-02-22 Werner LEMBERG <wl@gnu.org>
5834 * font/devhtml/R.proto, font/devutf8/R.proto: Flip `*f' and `+f'
5835 to be in conformance with Unicode 3.0 and newer.
5837 * font/devlj4/generate/text.map: Add `Eu'.
5838 * font/devlj4/generate/special.map: Flip `*e' and `+e'.
5839 * font/devlj4/S: Regenerated.
5841 * man/groff_char.man: Completely rewritten.
5843 * doc/groff.texinfo: Fix description of request and macro arguments.
5845 2003-02-20 Gaius Mulley <gaius@glam.ac.uk>
5849 * src/devices/grohtml/html-table.cc (html_table::~html_table):
5850 Deallocate `columns' list.
5851 * src/devices/grohtml/post-html.cc (char_block::~char_block):
5853 (text_glob::text_glob_html, text_glob::text_glob_special,
5854 text_glob::text_glob_line, text_glob::text_glob_auto_image,
5855 text_glob::text_glob_tag): Avoid memory leaks.
5856 (text_glob::remember_table): Free memory before reassigning.
5858 2003-02-19 Werner LEMBERG <wl@gnu.org>
5860 Add glyph `+e', greek lunate epsilon symbol, and `-h' (with the
5861 alias `hbar'), the Planck constant over two pi.
5863 * font/devdvi/generate/texmi.map: Use `*e' for position 15 and
5864 `+e' for position 34.
5865 * font/devdvi/generate/texsy.map: Replace `DI' and `HE' with
5866 `u2662' and `u2661'.
5867 * font/devdvi/{MI,S}: Regenerated.
5868 * font/devhtml/R.proto, font/devutf8/R.proto: Add `+e', `-h', `hbar'.
5869 * font/devlbp/*: Add `hbar' alias.
5870 * font/devlj4/generate/special.map: Ditto.
5871 * font/devlj4/S: Regenerated.
5872 * font/devps/generate/symbolchars: Add `+e'.
5873 * font/devps/generate/textmap: Fix PS name for `-h'.
5875 * font/devps/symbolmap: Regenerated.
5877 * src/devices/grops/ps.cc (transform_fill): Removed since unused.
5879 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `+e',
5881 * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `+e',
5884 * tmac/X.tmac, tmac/ps.tmac: Provide definitions for `-h' and
5886 * tmac/tty-char.tmac: Add `+e'.
5888 2003-02-17 Werner LEMBERG <wl@gnu.org>
5890 Another round trying to really fix problems with `have_input'.
5892 * src/roff/troff/input.cc (input_stack::get): Handle `have_input'.
5893 (token::next) <'\n'>, <\'\n'>: Don't handle `have_input'.
5895 * src/devices/grotty/tty.cc (tty_printer::put_color): Fix color
5896 handling if both foreground and background colors are default.
5898 * doc/groff.texinfo (Debugging): Document .lf differences to
5901 2003-02-16 Werner LEMBERG <wl@gnu.org>
5903 * src/devices/grotty/tty.cc (tty_printer::make_rgb_string): Avoid
5904 null-bytes in created string.
5906 * src/roff/troff/input.cc (lookup_color, interpolate_macro,
5907 alias_macro, lookup_request): Improve warning messages.
5909 * src/roff/troff/node.cc (suppress_node::tprint): Use `strsave',
5911 Free `last_image_filename'.
5913 * src/preproc/html/pre-html.cc (char_block::char_block): Initialize
5915 (imageList::createPage, imageList::createImage): Use `free', not
5917 (imageItem::~imageItem): Free `imageName'.
5918 (addRegDef): Use `strsave', not `strdup'.
5919 (get_resolution): Free `pathp'.
5921 2003-02-15 Werner LEMBERG <wl@gnu.org>
5923 * src/devices/grotty/tty.cc (tty_printer::tty_printer): Fix pointer
5926 2003-02-14 Werner LEMBERG <wl@gnu.org>
5928 Add memory management for colors to deallocate unnamed colors
5931 * src/include/color.h (color): New members `free_list' and `next'.
5932 New member functions `new' and `delete'.
5934 * src/libs/libgroff/color.cc: Implement it.
5936 * src/libs/libgroff/font.cc (font::add_kern): Use integer cast
5937 for array size of new operator.
5939 * src/libs/libdriver/input.cc (IntArray::operator[]): Remove
5940 redundant comparison.
5942 * src/roff/troff/input.cc (word_space_node::reread,
5943 hmotion_node::reread): Avoid warning about unused parameter.
5944 (reset_output_registers): Remove redundant parameter.
5945 (define_color): Undo change 2003-02-12.
5947 * src/roff/troff/reg.h: Updated.
5949 * src/roff/troff/node.cc (troff_output_file::really_print_line,
5950 output_file::put_filename, real_output_file::really_put_filename,
5951 ascii_output_file::really_print_line,
5952 break_char_node::get_hyphen_list): Avoid warning about unused
5954 (suppress_node::tprint): Updated.
5956 * configure.ac: Check declaration for rand() and srand().
5957 * configure: Regenerated.
5959 * src/preproc/pic/pic.h: Declare fmod(), rand(), and srand()
5961 * src/preproc/pic/pic.y: Remove declaration of fmod(), rand(),
5964 * src/preproc/eqn/delim.cc (delim_table): Add missing initializers
5965 to avoid compiler warnings.
5967 * src/preproc/grn/hgraph.cc (HGPrintElt): Second parameter is
5970 * src/devices/grops/ps.cc (ps_printer::set_char): Last parameter
5972 * src/devices/grops/psrm.cc (skip_possible_newline): Remove first
5974 Updated all callers.
5976 * src/devices/grotty/tty.cc (tty_printer::set_char): Last parameter
5978 * src/devices/grodvi/dvi.cc (dvi_printer::set_char): Ditto.
5979 * src/devices/grolj4/lj4.cc (lj4_printer::set_char): Ditto.
5981 * src/devices/grohtml/post-html.cc (html_printer::emit_line):
5982 Parameter is unused.
5983 (html_printer::add_table_end): Define parameter conditionally.
5984 * src/devices/grohtml/output.cc (simple_output::special): Parameter
5987 * src/devices/grolbp/lbp.cc: Define _GNU_SOURCE conditionally.
5988 (lbp_printer::set_char): Last parameter is unused.
5990 * src/utils/indxbib/indxbib.cc (main): Remove redundant comparison.
5992 2003-02-13 Werner LEMBERG <wl@gnu.org>
5994 New commands \D'Fr ...', \D'Fc ...', etc. for orthogonality.
5995 Make \D'f ...' move horizontally again for backwards compatibility.
5996 Replace it with \D'Fg ...' where appropriate to avoid dependency
5997 on horizontal resolution.
5999 * src/roff/troff/input.cc (do_get_long_name): New function.
6000 (get_long_name): Call it.
6002 (read_draw_node): Handle `\D'Fx ...' by calling ...
6003 (read_color_draw_node): New function.
6005 (read_rgb, read_cmy, read_cmyk, read_gray): New optional argument
6007 Pass it to `do_get_long_name' which is used instead of
6010 * src/libs/libdriver/input.cc (color_from_Df_command): Remove
6011 unnecessary value guard.
6012 (parse_D_command) <'f'>: Add horizontal shift.
6014 * src/preproc/grn/hgraph.cc (HGPrintElt) <POLYGON>: Use \D'Fg ...'.
6015 * src/preproc/pic/troff.cc (troff_output::set_fill): Ditto.
6016 (FILL_MAX): Removed.
6018 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
6021 2003-02-12 Werner LEMBERG <wl@gnu.org>
6023 * src/roff/troff/input.cc (do_name_test, do_expr_test,
6024 do_zero_width): Push `\n' if closing delimiter is missing.
6026 (token::next) <ESCAPE_NEWLINE>, <'\n'>, <\'\n'>: Reset `have_input'.
6027 <'F'>: Make \F non-transparent at the beginning of line.
6028 (process_input_stack) <token::TOKEN_CHAR, token::TOKEN_NEWLINE,
6029 token::TOKEN_REQUEST, token::TOKEN_BEGIN_TRAP>: Don't handle
6032 (define_color): Free color in case of reassignment.
6034 * doc/groff.texinfo (@Defesc, @DefescList, @DefescItem,
6035 @DefescListEnd): Use @Var, not @var.
6038 * src/preproc/grn/hgraph.cc (HGPrintElt): Fix typo.
6040 * src/preproc/pic/object.cc (object_spec::~object_spec): Free
6041 `shaded' and `outlined' arrays.
6042 (object_spec::object_spec): Initialize `shaded' and `outlined'.
6043 (graphic_object::set_fill_color, graphic_object::set_outline_color):
6045 (closed_object::set_fill_color): Ditto.
6046 * src/preproc/pic/troff.cc (troff_output::set_color): Use strsave
6048 (troff_output::reset_color): Use a_delete instead of free.
6049 * src/preproc/pic/main.cc (do_file): Free `out' in case of error.
6051 2003-02-11 Werner LEMBERG <wl@gnu.org>
6053 * doc/groff.texinfo: Improve documentation of `ad'.
6054 Document that \D'f...' is dependent on the horizontal resolution.
6055 * man/groff_diff.man: Improve documentation of \D'f...'.
6057 * src/preproc/grn/hgraph.cc (HGPrintElt) <POLYGON>: Don't emit
6058 compensating \h'...' for \D'f ...' since the latter no longer moves
6060 * src/preproc/pic/troff.cc (troff_output::set_fill): Ditto.
6062 2003-02-10 Werner LEMBERG <wl@gnu.org>
6064 Improve error messages for `x F' (and `F') commands.
6066 * src/include/error.h: Add declaration for
6067 `current_source_filename'.
6068 * src/libs/libgroff/filename.cc: Add `current_source_filename'.
6069 * src/libs/libgroff/error.cc (do_error_with_file_and_line): Add
6070 parameter for source file string.
6071 Updated all callers.
6073 * src/libs/libdriver/input.cc: Add `current_source_filename'.
6074 (remember_source_filename): New function.
6075 (parse_x_command <'F'>, do_file <'F'>): Use it.
6077 2003-02-09 Werner LEMBERG <wl@gnu.org>
6079 Make grotty not emit warnings about unknown colors more than
6082 * src/devices/grotty/tty.cc: Include `ptable.h'.
6083 (TTY_MAX_COLORS): Removed.
6084 (DEFAULT_COLOR_IDX): Defined to -1.
6085 (glyph): Change `back_color_idx' and `fore_color_idx' to `char'.
6086 (tty_printer): Change `curr_back_idx' and `curr_fore_idx' to `char'.
6087 Change `tty_colors' to be a ptable.
6088 First arg of `put_color' is now `char'.
6089 New functions `make_rgb_string' and `tty_color'.
6090 (tty_printer::tty_printer): Use `tty_color'.
6091 (tty_printer::color_to_idx): Return value is now `char'.
6094 * src/include/color.h (color): Add `print_color' member function.
6095 * src/libs/libgroff/color.cc (color::print_color): Implement it.
6097 2003-02-08 Werner LEMBERG <wl@gnu.org>
6101 * src/devices/grops/ps.cc (ps_printer::define_encoding): Close
6104 * src/include/ptable.h (PTABLE::~PTABLE, PTABLE::define): Always
6105 assume that value has been allocated with `new[]', thus use
6106 `a_delete' for deallocation.
6108 * src/libs/libdriver/input.cc (get_integer_arg,
6109 get_possibly_int_args, parse_x_command, do_file): Use `a_delete'
6112 * src/libs/libgroff/new.cc (delete) [!COOKIE_BUG]: Define.
6113 * src/libs/libgroff/nametoindex.cc
6114 (character_indexer::named_char_index): Use `new <type>[1]'.
6116 * src/preproc/eqn/lex.cc (init_table, do_definition): Use `new
6118 * src/preproc/eqn/text.cc (set_special_char_type): Ditto.
6119 (split_text): Use `a_delete'.
6121 * src/preproc/pic/pic.y (define_label, define_variable): Use `new
6124 * src/roff/troff/env.cc (environment::choose_breakpoint): Avoid
6125 harmless memory leak.
6126 (hyphen_trie::read_patterns_file): Initialize `buf'.
6127 * src/roff/troff/node.cc (troff_output_file::troff_output_file):
6128 Initialize `current_fill_color'and `current_glyph_color'.
6129 * src/roff/troff/glyphuni.cc
6130 (glyph_to_unicode_init::glyph_to_unicode_init): Use `new <type>[1]'.
6131 * src/roff/troff/uniuni.cc
6132 (unicode_decompose_init::unicode_decompose_init): Ditto.
6133 * src/roff/troff/uniglyph.cc
6134 (unicode_to_glyph_init::unicode_to_glyph_init): Ditto.
6136 2003-01-26 Werner LEMBERG <wl@gnu.org>
6138 * src/utils/indxbib/indxbib.cc (main) [__EMX__]: Check with
6139 `access' before calling `unlink'.
6140 (do_file): Handle __EMX__.
6142 * src/include/nonposix.h: Handle __EMX__.
6144 * Makefile.in (SEP): New variable; set to @PATH_SEPARATOR@.
6145 (fontpath,tmacpath): Use it.
6147 Sorted alphabetically.
6149 * src/preproc/eqn/neqn.sh, src/roff/nroff/nroff.sh: Use
6151 * src/preproc/eqn/Makefile.sub, src/roff/nroff/Makefile.sub: Handle
6154 2003-01-27 Werner LEMBERG <wl@gnu.org>
6156 * src/libs/libgroff/strcasecmp.c, src/libs/libgroff/strncasecmp.c:
6157 New files, copied from gnulib.
6158 * src/libs/libgroff/Makefile.sub (CSRCS): Add them.
6159 * configure.ac: Updated.
6160 * configure: Regenerated.
6162 * src/include/config.hin: Regenerated.
6163 * src/include/lib.h [!HAVE_STRCASECMP]: Declare `strcasecmp'.
6164 Don't define `strcasecmp' as `strcmp'.
6165 [!HAVE_STRNCASECMP]: Declare `strncasecmp'.
6166 Dont define `strncasecmp' as `strncmp'.
6168 * src/roff/groff/pipeline.c [!HAVE_STRCASECMP, !HAVE_STRNCASECMP]:
6171 2003-01-26 Werner LEMBERG <wl@gnu.org>
6173 * src/utils/indxbib/indxbib.cc (main) [__EMX__]: Fix typo:
6176 2003-01-25 Werner LEMBERG <wl@gnu.org>
6178 * doc/groff.texinfo (Ligatures and Kerning): Mention limitations.
6180 2003-01-24 Werner LEMBERG <wl@gnu.org>
6182 Add US-english hyphenation exceptions (converted from Barbara
6183 Beeton's hyphenation exception log reports which appear irregularly
6186 * tmac/hyphen.us: Updated to latest version.
6187 * tmac/README: Updated.
6188 * tmac/hyphenex.us, tmac/hyphenex.sh: New files.
6189 * tmac/troffrc: Load `hyphenex.us'.
6190 * tmac/Makefile.sub (NORMALFILES): Add `hyphenex.us'.
6191 * doc/groff.texinfo: Updated.
6193 2003-01-23 Werner LEMBERG <wl@gnu.org>
6195 Improve hyphenation slightly. This is a first step in redesigning
6196 the hyphenation algorithm to make it more flexible (e.g. allowing
6197 kerns and ligatures between the hyphenation character and the
6198 following character -- while not used normally in English, other
6199 languages like German would benefit).
6201 * src/roff/troff/env.cc (environment::hyphenate_line): Use
6202 assertion instead of if-clause.
6203 Let `get_hyphen_list' return the number of involved characters in
6204 the hyphenation pattern instead of computing it directly (which
6205 often yields too small values).
6206 * src/roff/troff/node.h (*::get_hyphen_list): Add second parameter.
6207 * src/roff/troff/node.cc (*::get_hyphen_list): Handle new second
6210 2003-01-22 Werner LEMBERG <wl@gnu.org>
6212 Fixing a bug which caused groff to hang if the hyphenation exception
6213 dictionary tried to grow.
6215 * src/roff/troff/env.cc (hyphen_trie::insert_hyphenation,
6216 hyphen_trie::read_patterns_file, do_hyphenation_patterns_file): Use
6217 pointer to dictionary.
6219 2003-01-20 Werner LEMBERG <wl@gnu.org>
6221 * src/utils/afmtodit/afmtodit.pl: Add switch `-m' to suppress
6222 negative left italic correction.
6223 * src/utils/afmtodit/afmtodit.man: Document it.
6225 * font/devps/generate/Makefile (RFLAG): Add `-m'.
6226 * font/devps/{AB,AR,BMB,BMR,CB,CR,EURO,HB,HR,HNB,HNR,NB,NR,PB,PR,
6227 S,TB,TR,ZD,ZDR}: Regenerated with afmtodit options `-i 0 -m'.
6231 2003-01-16 Werner LEMBERG <wl@gnu.org>
6235 2003-01-16 Jörgen Grahn <jgrahn@algonet.se>
6237 * src/preproc/refer/refer.man: Mention REFER environment variable.
6239 2003-01-05 Werner LEMBERG <wl@gnu.org>
6241 Similar to \[is], the square root glyph (\[sr]) and the square root
6242 extension glyph (\[radicalex]) are now text symbols. The new
6243 mathematical versions are called \[sqrt] and \[sqrtex],
6246 * font/devX*/S: Regenerated.
6247 * font/devdvi/generate/texex.map: Rename `sr[0123]' to `sqrt[0123]'.
6248 * font/devdvi/generate/texsy.map: Rename `sr' to `sqrt'.
6249 * font/devdvi/EX, font/devdvi/S: Regenerated.
6250 * font/devhtml/R.proto, font/devutf8/R.proto: Add `sqrt'.
6251 * font/devlj4/generate/special.map: Add `sqrt'.
6252 * font/devlj4/S: Regenerated.
6253 * font/devps/generate/textmap: Add `sqrt'.
6254 * font/devps/S, font/devps/symbolmap: Regenerated.
6256 * src/preproc/eqn/sqrt.cc (SQRT_CHAR, RADICAL_EXTENSION_CHAR,
6257 SQRT_CHAIN, BAR_CHAIN): Use `sqrt*' and `sqrtex*'.
6258 * src/roff/troff/input.cc (init_charset_table): Make `sqrtex'
6259 overlap horizontally.
6261 * tmac/X.tmac, tmac/ps.tmac, tmac/lj4.tmac: Add `sqrtex'.
6262 * tmac/dvi.tmac: Add `sr', and `sqrtex'.
6265 * doc/groff.texinfo, man/groff_diff.man: Document that `radicalex'
6266 and `sqrtex' are overlapping glyphs.
6268 2003-01-04 Werner LEMBERG <wl@gnu.org>
6270 * font/devdvi/generate/texsy.map: Add `is'.
6271 * font/devps/symbolmap: Regenerated.
6272 * font/devdvi/*TC, MI, S: Regenerated.
6274 * tmac/dvi.tmac: Remove `is'.
6276 2003-01-03 Werner LEMBERG <wl@gnu.org>
6278 `is' is now a text symbol (only relevant for dvi). The math variant
6279 can be accessed with `integral'.
6281 * font/devX*/S: Regenerated.
6282 * font/devdvi/generate/texex.map: Remove `is'.
6283 * font/devdvi/EX: Updated.
6284 * font/devhtml/R.proto, font/devutf8/R.proto: Add `integral'.
6285 * font/devlj4/generate/special.map: Ditto.
6286 * font/devlj4/S: Regenerated.
6287 * font/devps/generate/textmap: Add `integral'.
6288 * font/devps/S: Regenerated.
6290 * tmac/dvi.tmac: Define `is'.
6292 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `integral'.
6294 * src/preproc/tbl/main.cc (process_format): Fix error message.
6296 2003-01-02 Werner LEMBERG <wl@gnu.org>
6298 * font/devhtml/R.proto, font/devutf8/R.proto: Add `ne' and `nc'.
6299 * font/devps/textmap: Fix entries for `ne' and `nc'.
6300 * font/devps/symbolmap: Regenerated.
6302 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list),
6303 src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `18',
6304 `38', `58', `78', `-+', `|=', `nc', `ne'.
6306 * tmac/dvi.tmac: Add `nm', `ne', `nc'.
6307 Use `schar' for `aq'.
6308 * tmac/ps.tmac, tmac/X.tmac: Add `nc' and `ne'.
6309 * tmac/ec.tmac: Add `SC' to special fonts for `CW' and `CWI'.
6310 * tmac/tty.tmac: Add `ne'.
6312 * src/roff/troff/node.cc (make_glyph_node): Test with `get_macro'
6313 for fallback glyphs.
6315 2002-12-29 Werner LEMBERG <wl@gnu.org>
6319 * font/devX*/*: Regenerated.
6320 * font/devdvi/generate/ec.map: Remove `eq'.
6321 * font/devdvi/generate/texsy.map: Make `~=' the same as `~~'.
6322 Assign `|=' to position 39.
6323 * font/devdvi/*EC, S: Regenerated.
6324 * font/devhtml/R.proto, font/devutf8/R.proto: Add `|='.
6325 * font/devlj4/generate/special.map: Make `~=' the same as `~~'.
6326 Assign `|=' to position 549.
6327 * font/devps/generate/textmap, font/devps/enerate/symbolmap: Remove
6329 Add `uni2243' for `|='.
6331 * tmac/ec.tmac: Add `eq'.
6332 * tmac/dvi.tmac: Add `=~'.
6333 * tmac/tty-char.tmac, tmac/ps.tmac, tmac/X.tmac, tmac/lbp.tmac: Add
6336 2002-12-21 Werner LEMBERG <wl@gnu.org>
6338 * font/devdvi/generate/tc.map: Remove `**'.
6339 * font/devdvi/*TC: Regenerated.
6340 * font/devhtml/R.proto, font/devutf8/R.proto: Add `18', `38', `58',
6342 * font/devutf8/NOTES: Updated.
6344 * src/roff/troff/charinfo.h (charinfo): Add `setx_macro' function.
6345 Don't give default parameter to `set_macro'.
6346 * src/roff/troff/input.cc (do_define_character): Use `setx_macro'
6347 instead of `set_macro'.
6348 (charinfo::setx_macro): Implement it.
6349 (charinfo::set_macro): Don't change `mode'.
6351 * tmac/tty.tmac: Add `18', `38', `58', `78', `<<', `>>'.
6352 * tmac/ps.tmac, tmac/X.tmac: Add `<<', `>>'.
6353 * tmac/dvi.tmac: Define `!=' with `.schar'.
6355 2002-12-20 Werner LEMBERG <wl@gnu.org>
6357 * font/devX*/S: Regenerated.
6358 * font/devdvi/generate/ec.map: Remove `pl'.
6359 * font/devdvi/generate/tc.map: Remove `mi', `14', `12', `34'.
6360 * font/devdvi/*{TC,EC}: Regenerated.
6361 * font/devhtml/R.proto: Add `-+'.
6362 Remove double entries for `rk', `lk', `lt', `rt', `rb', `lb'.
6363 * font/devlbp/*: Remove `or'.
6364 * font/devlj4/generate/special.map: Remove `or'.
6365 * font/devlj4/S: Regenerated.
6366 * font/devps/generate/textmap: Add `fiveeighths', `oneeighth',
6367 `seveneighths', `threeeighths'.
6369 Replace `minusplus' with `uni2213'.
6370 * font/devps/symbolmap: Regenerated.
6371 * font/devutf8/R.proto: Replace `shc' with unnamed glyph.
6374 * src/roff/troff/charinfo.h (charinfo): Add `is_normal' inline
6376 * src/roff/troff/node.cc (troff_output_file::put_char_width):
6377 Call glyph_color and fill_color even if tcommand_flag isn't set.
6378 (make_node, node::add_char): Check not ci->is_fallback but
6381 * tmac/lj4.tmac, tmac/lbp.tmac: Define `or'.
6382 * tmac/ec.tmac: Add .rchar entry for `f/'.
6383 Don't remove `12', `14', `34'.
6384 Define `pl' to be always roman.
6385 * tmac/ps.tmac (ps-frac, ps-frac-mono): New macros.
6386 Define `18', `38', `58', `78'.
6387 * tmac/tty.tmac: Add `-+'.
6388 * tmac/dvi.tmac: Define `f/'.
6389 (dvi-frac): Use `f/'.
6390 * tmac/X.tmac (X-frac, X-frac-mono): New macros.
6391 Define `18', `38', `58', `78'.
6393 2002-12-15 Colin Watson <cjwatson@debian.org>
6395 * contrib/pic2graph/pic2graph.sh: Add missing `;;'.
6397 2002-12-10 Werner LEMBERG <wl@gnu.org>
6399 Add glyph `tno', a textual variant of `no'.
6401 * font/devX*/*: Regenerated.
6402 * font/{devcp1047,devlatin1,devutf8,devhtml}/R.proto: Add `tno'.
6403 * font/devdvi/generate/{tc.map: Replace `no' with `tno'.
6404 * font/devdvi/generated/{texsy,textex}.map: Add `tno'.
6405 * font/devdvi/*: Regenerated.
6406 * font/devlbp/*: Add `tno'.
6407 * font/devlj4/generate/tex.map: Replace `no' with `tno'.
6408 * font/devlj4/*: Regenerated.
6409 * font/devps/generate/textmap: Replace `no' with `tno'.
6410 * font/devps/generate/symbolchars: Add `no'.
6411 * font/devps/*: Regenerated.
6413 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `tno'.
6415 * tmac/cp1047.tmac, tmac/latin1.tmac: Replace `no' with `tno'.
6416 * tmac/tty-char.tmac: Add entry for `tno' and `3d'.
6420 * tmac/dvi.tmac: Replace most `\\' with `\E'.
6421 Add definition for `sd'.
6422 * tmac/X.tmac, tmac/ps.tmac: Replace most `\\' with `\E'.
6424 * tmac/eqnrc <dvi>: Use `integral' instead of `is' glyph.
6426 2002-12-08 Werner LEMBERG <wl@gnu.org>
6428 * tmac/an-old.tmac (TH): Use integer value for `IN' if in nroff
6429 mode to avoid rounding errors.
6430 (an-do-tag, an-do-tag-html, RS, RE): Remove redundant `.br'.
6432 * src/roff/groff/groff.man, src/roff/nroff/nroff.man,
6433 src/roff/troff/troff.man: Improve documentation of -T.
6435 2002-12-07 Jeff Conrad <jeff_conrad@msn.com>
6437 * src/roff/groff/pipeline.c: Don't define `const' for _WIN32.
6438 (run_pipeline) [_WIN32]: Provide working function without `fork'.
6440 2002-12-06 Werner LEMBERG <wl@gnu.org>
6442 * font/devps/generate/freeeuro.sfd: Make dimensions of Euro.symbol
6443 glyphs compatible to Adobe's Euro fonts (scaling them down a bit).
6444 Scaling Euro.sansserif glyphs down to have the same height as
6446 Removed unnecessary points; added some extrema.
6448 * font/devps/EURO, font/devps/freeeuro.afm, font/devps/freeeuro.pfa:
6451 2002-12-04 Werner LEMBERG <wl@gnu.org>
6453 * font/devps/generate/freeeuro.sfd: Add glyphs `Euro.symbol.slanted'
6454 and `Euro.symbol.bold.slanted'.
6455 Improve some glyph offsets and widths.
6456 * font/devps/EURO, font/devps/freeeuro.afm, font/devps/freeeuro.pfa:
6458 * font/devps/generate/Makefile (freeeuro.afm freeeuro.pfa): Fix
6460 * font/devps/generate/sfdtopfa.pe: Generate PFA in current
6463 * tmac/europs.tmac: Updated to new glyph indices.
6464 Use Euro.symbol for font familiy `A'.
6466 * doc/groff.texinfo: Minor improvements.
6468 2002-12-02 Werner LEMBERG <wl@gnu.org>
6470 * font/devdvi/generate.tc.map: s/%O/%0/.
6471 * font/devdvi/*TC: Regenerated.
6473 * src/roff/troff/div.cc (init_div_requests): Sorted.
6475 * tmac/dvi.tmac: Remove `Ye'.
6476 * tmac/ec.tmac: Remove `Ye'.
6477 Add .rchar entry for `de'.
6479 * man/groff.man, man/groff_diff.man: Document register `.pe'.
6480 * doc/groff.texinfo: Document registers `.pe', `.n', and `.w'.
6483 2002-11-30 Werner LEMBERG <wl@gnu.org>
6485 Add PS font for various Euro glyphs.
6487 * font/devps/generate/freeeuro.sfd: New master font file for
6489 * font/devps/generate/sfdtopfa.pe: New conversion script for
6491 * font/devps/generate/Makefile (FONTS): Add `EURO'.
6492 (EURO, freeeuro.afm, freeeuro.pfa): New rules.
6493 * font/devps/freeeuro.pfa, font/devps/freeeuro.afm: Generated from
6495 * font/devps/EURO: Generated from `freeeuro.afm'.
6496 * font/devps/download: Add `freeuro.pfa'.
6497 * font/devps/Makefile.sub (NORMALFILES): Adde `EURO' and
6500 * tmac/europs.tmac: New file.
6501 * tmac/ps.tmac: Include `europs.tmac'.
6502 * tmac/Makefile.sub (DISTFILES): Add `europs.tmac'.
6504 2002-11-29 Werner LEMBERG <wl@gnu.org>
6506 * font/devdvi/generate/texsy.map: Remove `lh' and `rh'.
6507 * font/devdvi/S: Regenerated.
6508 * font/devhtml/R.proto: Fix `CR' and `ci'.
6510 * font/devps/generate/textmap: Fix `lh', `rh', and `sq'.
6512 * font/devps/symbolmap: Regenerated.
6513 * font/devutf8/R.proto: Fix `CR' and `ci'.
6515 * font/devutf8/NOTES: Updated.
6517 * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Fix `CR' and
6520 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Ditto.
6522 * tmac/dvi.tmac: Add `lh' and `rh'.
6523 * tmac/Xps.tmac: Fix `lh' and `rh'.
6524 * tmac/X.tmac: Add `OK'.
6525 * tmac/lj4.tmac: Ditto.
6527 2002-11-24 Werner LEMBERG <wl@gnu.org>
6529 * font/devX*/S: Regenerated.
6530 * font/devascii/R.proto, font/devcp1047/R.proto: Remove glyphs `lb',
6531 `lc', `lf', `lk', `lt', `rb', `rc', `rf', `rk', and `rt'.
6532 * font/devdvi/generate/texsy.map: Remove `or' glyph.
6533 * font/devdvi/S: Regenerated.
6534 * font/devhtml/R.proto, font/devutf8/R.proto: Add/fix glyphs
6535 `parenlefttp', `parenleftex', `parenleftbt', `parenrighttp',
6536 `parenrightex', `parenrightbt', `bracketlefttp', `bracketleftex',
6537 `bracketleftbt', `bracketrighttp', `bracketrightex',
6538 `bracketrightbt', `bracelefttp', `braceleftmid', `braceleftbt',
6539 `braceex', `braceleftex', `bracerightex', `bracerighttp',
6540 `bracerightmid', `bracerightbt', `lt', `lk', `lb', `rt', `rk',
6542 * src/roff/troff/glyphuni.cc, src/roff/troff/uniglyph.cc: Ditto.
6543 * font/devutf8/NOTES: Updated.
6544 * font/devlj4/generate/special.map: Add glyph `braceex'.
6545 * font/devlj4/S: Regenerated.
6547 * tmac/tty-char.tmac: Add glyphs `lf', `rf', `lc', and `rc'.
6549 2002-11-14 Werner LEMBERG <wl@gnu.org>
6551 * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `va'
6554 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Ditto.
6556 * doc/texinfo.tex: New version from texinfo 4.3.
6557 * doc/groff.texinfo: Updated for texinfo 4.3.
6558 Use @tie{} where appropriate.
6559 * font/devdvi/generate/ec.map: Don't include `or' and `bv'.
6560 * font/devdvi/generate/tc.map: Remove `rn'.
6561 * font/devdvi/*TC, font/devdvi/*EC: Regenerated.
6562 * font/devhtml/R.proto, font/devutf8/R.proto: Add `vA'.
6564 * font/devX100/*, font/devX100-12/*, font/devX75/*,
6565 font/devX75-12/*: Regenerated.
6567 * tmac/dvi.tmac: Add special fonts `SA' and `SB'.
6568 Use .char (again) for `br', `ul', `rn', `or', and `ru'.
6569 Improve definition of `an'.
6570 * tmac/ps.tmac: Use .char (again) for `br', `ul', `rn', `or', and
6572 * tmac/lj4.tmac: Use .char (again) for `br', `ul', `rn', and `ru'.
6573 * tmac/X.tmac: Add definition for `or'.
6574 * tmac/Xps.tmac: Undo change 2002-11-05.
6575 * tmac/lbp.tmac: Add definitions for `br', `rn', `ul', and `ru'.
6577 2002-11-11 Werner LEMBERG <wl@gnu.org>
6579 * src/roff/troff/node.cc (troff_output_file::put_char): Always
6582 2002-11-10 Werner LEMBERG <wl@gnu.org>
6584 Added three new requests `schar', `fschar', and `rfschar'. `schar'
6585 defines a glyph which is searched after the check for fonts declared
6586 with `.special' (and before the check for all mounted special
6587 fonts). `fschar' defines a glyph for a particular font which is
6588 searched after the check for fonts declared with `.fspecial' (and
6589 before the check for fonts declared with `.special'). `rfschar'
6590 removes glyphs defined with `fschar'.
6592 * src/roff/troff/token.h (char_mode): New enum.
6593 Declare do_define_character.
6594 * src/roff/troff/charinfo.h (charinfo): Replace `fallback' with
6596 (charinfo::is_fallback): Updated.
6597 (charinfo::is_special): New method.
6598 * src/roff/troff/input.cc (do_define_character): Add and use
6599 optional second parameter used as a prefix for font-specific glyph
6601 (define_character, define_fallback_character): Updated.
6602 (define_special_character): New function.
6603 (init_input_requests): Add `schar'.
6604 (charinfo::charinfo, charinfo::set_macro): Updated.
6605 * src/roff/troff/node.cc: Include `stringclass.h'.
6606 (make_glyph_node): Handle special glyphs defined with `.schar' and
6608 (define_font_special_character, remove_font_special_character): New
6610 (init_node_requests): Sorted.
6611 Add `fschar' and `rfschar'.
6612 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
6613 Document new requests.
6615 * font/devhtml/R.proto, font/devutf8/R.proto: Add `va'.
6616 * tmac/dvi.tmac: Add `va' for CW and CWI (using `.fschar').
6618 2002-11-08 Werner LEMBERG <wl@gnu.org>
6620 Added new font `SC' (cmtex10) to devdvi.
6622 * devdvi/generate/Makefile (FONTS): Add `SC'.
6624 * devdvi/generate/textex.map: New map file for cmtex.
6626 * devdvi/Makefile.sub (DEVFILES): Updated.
6627 * tmac/dvi.tmac: Add fspecial entries for SC.
6628 Add `MI', `S' and `CW' to the `special' call. Otherwise, `SC' is
6629 found before `S' since the font position of `SC' is lower due to the
6630 gaps in DESC's `font' line.
6631 * tmac/ec.tmac: Add a `special' call.
6634 * font/devhtml/R.proto: Remove double entry for `ti'.
6635 * tmac/tty.tmac: Add entries for `IJ', `ij', and `bq'.
6636 * tmac/tty-char.tmac: Remove entry for `bq'.
6637 * tmac/lbp.tmac: Add entries for `lq', `rq', `fo', `fc', and `em'.
6638 * tmac/ec.tmac: Don't remove `aq' glyph.
6639 * tmac/X.tmac: Fix entry for `em'.
6640 Add entries for `fo' and `fc'.
6641 * tmac/dvi.tmac: Add entries for `em', `en', `hy', `fo', and `fc'.
6643 * doc/groff.texinfo, man/groff.man, man/groff_diff.man: Fix
6644 documentation of `special' and `fspecial' requests.
6646 2002-11-05 Werner LEMBERG <wl@gnu.org>
6648 * font/devascii/R.proto, font/devcp1047/R.proto,
6649 font/devlatin1/R.proto: Remove entry for `.i'.
6650 * font/devdvi/generate/textt.map: Add entry for `ad'.
6651 * font/devdvi/generate/texr.map, font/devdvi/generate/texb.map,
6652 font/devdvi/generate/texi.map: Add dummy glyph name `slash@for@l'.
6653 We need this for getting kerning values to compose `/l' and `/L'.
6654 * font/devdvi: Regenerated font definition files for CM fonts.
6655 * font/devhtml/R.proto: Add entries for "'C", "'c", `IJ', and `ij'.
6656 * font/devutf8/R.proto: Ditto.
6657 Remove double entry for `ti'.
6659 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Fix entries
6660 for (groff) ligatures, `la', and `ra'.
6661 Add "'C", "'c", `IJ', and `ij'.
6662 Remove double entry for `ti'.
6663 * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Remove all
6665 Add "'C", "'c", `IJ', and `ij'.
6666 Fix entries for (groff) ligatures, `la', and `ra'.
6668 * tmac/ps.tmac (ps-achar): New macro.
6669 Define "'c" and "'C".
6670 * tmac/tty.tmac: Add entry for `.i'.
6671 * tmac/X.tmac (X-achar): New macro.
6672 Define "'c", "'C", and `:Y'.
6673 Add entries for `IJ' and `ij'.
6674 * tmac/Xps.tmac (Xps-achar): New macro.
6675 Define "'c" and "'C".
6676 Add entries for `IJ' and `ij'.
6677 * tmac/lbp.tmac (lbp-achar): New macro.
6678 Add fallback characters for all groff ligatures and many other
6680 * tmac/dvi.tmac: Fix definitions of `_' and `ul'.
6681 Add entries for `/l' and `/L'.
6682 Define "'c" and "'C".
6683 Add entries for `IJ' and `ij'.
6685 2002-11-02 Larry Kollar <kollar@alltel.net>
6687 * PROBLEMS: Document how to solve Mac OS X compilation problems.
6689 2002-11-02 Werner LEMBERG <wl@gnu.org>
6691 Adding support for composite glyphs: \[xxx yyy ...] and the
6692 `composite' request.
6694 * src/roff/troff/glyphuni.cc: New file for mapping groff glyph names
6695 to Unicode-based glyph names.
6696 * src/roff/troff/uniglyph.cc: New file for mapping Unicode-based
6697 glyph names to groff glyph names.
6698 * src/roff/troff/uniuni.cc: New file for canonically decomposing
6699 Unicode-based glyph names.
6700 * src/roff/troff/unicode.cc, src/roff/troff/unicode.h: New files
6701 for handling Unicode glyph names.
6702 * src/roff/troff/input.cc: Include unicode.h.
6703 (composite_glyph_name): New function.
6704 (token::next) <'['>: Handle Unicode glyph names and composite
6706 (composite_dictionary): New dictionary for the `composite' request.
6707 (composite_request): Implement `composite' request.
6708 (init_input_requests): Add `composite'.
6709 Alphabetically sorted.
6710 * src/roff/troff/env.cc (tabs_save, tabs_restore): Removed (already
6712 (init_env_requests): Alphabetically sorted.
6713 Removed `tas' and `tar' (already commented out).
6714 * src/roff/troff/Makefile.sub: Updated.
6716 2002-10-31 Ruslan Ermilov <ru@FreeBSD.org>
6718 * src/roff/nroff/nroff.man, src/roff/nroff/nroff.sh: Fix description
6721 2002-10-29 Werner LEMBERG <wl@gnu.org>
6723 Fix computation of .trunc register. Additionally, its value (and
6724 the value of the .ne register) is now always set before entering the
6727 * src/roff/troff/div.cc (diversion::need): Set `truncated_space' and
6728 `needed_space' before calling `space'.
6729 (top_level_diversion::space): Remove special code for 'sp before the
6731 Call `begin_page' with the discarded space as a parameter.
6732 (top_level_diversion::begin_page): Add optional parameter to set
6734 * src/roff/troff/div.h: Updated.
6736 * doc/groff.texinfo: Improve documentation of .sp, \n[.trunc], and
6739 * tmac/an-old.tmac (SH, SS, TP, IP, HP, TS): Undo change 2002-10-26.
6740 (LP): Remove superfluous call to `br'.
6741 * tmac/doc-common (doc-paragraph): Undo change 2002-10-26.
6742 * tmac/doc.tmac (Bd, Bl, doc-set-vertical-and-indent): Ditto.
6744 2002-10-26 Werner LEMBERG <wl@gnu.org>
6746 * tmac/doc-ditroff: Remove useless switch/variable -rC.
6747 (doc-setup-header): Don't set page register `%'.
6748 * tmac/doc-nroff: Remove variable `C'.
6749 (doc-setup-page-layout): Set doc-header-space to .5i unconditionally.
6750 (doc-setup-header): Don't set page register `%'.
6752 * tmac/doc-common (doc-header): Call `ns'.
6753 (doc-paragraph): Protect .sp with .br so that it survives traps
6754 possibly set by the user.
6755 * tmac/doc.tmac (Bd, Bl, doc-set-vertical-and-indent): Ditto.
6757 * tmac/doc*: Replace ' with . for consistency if no effect.
6759 2002-10-26 Werner LEMBERG <wl@gnu.org>
6761 * tmac/an-old.tmac (SH, SS, TP, IP, HP, TS): Protect .sp with .br
6762 so that it survives traps possibly set by the user.
6764 * src/roff/troff/node.cc: Fix the changes from 2002-10-23.
6765 (troff_output_file::set_font): Call flush_tbuf if necessary.
6766 (troff_output_file::fill_color, troff_output_file::glyph_color): Call
6767 flush_tbuf and do_motion only if necessary.
6768 (troff_output_file::start_special,
6769 troff_output_file::put_char_width, troff_output_file::put_char,
6770 troff_output_file::draw): Updated.
6771 (word_space_node::tprint, space_node::tprint, hmotion_node::tprint,
6772 vmotion_node::tprint): Undo change 2002-10-23.
6774 2002-10-25 Werner LEMBERG <wl@gnu.org>
6776 * tmac/www.tmac (DC): Fix case of overlapping images.
6778 2002-10-23 Werner LEMBERG <wl@gnu.org>
6780 * src/roff/troff/node.cc (troff_output_file::fill_color,
6781 troff_output_file::glyph_color): Set current color before testing
6783 (troff_output_file::put_char_width, troff_output_file::put_char,
6784 troff_output_file::draw): Don't call flush_tbuf and/or do_motion
6786 (troff_output_file::file_color, troff_output_file::glyph_color):
6788 (word_space_node::tprint, space_node::tprint, hmotion_node::tprint,
6789 vmotion_node::tprint): Move first, then call fill_color.
6791 2002-10-20 Werner LEMBERG <wl@gnu.org>
6793 * doc/groff.texinfo, man/groff_tmac.man: Document that it is not
6794 possible to use multiple main macro packages.
6796 2002-10-19 Werner LEMBERG <wl@gnu.org>
6798 * src/devices/grops/ps.cc (cmyk_flag): New global variable.
6799 (ps_printer::set_color): Set `cmyk_flag' for CMY and CMYK colors.
6800 (ps_printer::~ps_printer): Emit `%%Extensions: CMYK' if `cmyk_flag'
6802 * font/devps/prologue.ps (Fk, Ck): Enclose definitions with a
6803 `where' construction since `cmyksetcolor' is a PS Level 2 operator.
6805 2002-10-16 Werner LEMBERG <wl@gnu.org>
6807 * NEWS, doc/webpage.ms: Updated.
6809 2002-10-14 Werner LEMBERG <wl@gnu.org>
6811 * src/roff/troff/node.cc (troff_output_file::put_char_width,
6812 troff_output_file::put_char, troff_output_file::fill_color,
6813 troff_output_file::glyph_color): Handle case where color pointer
6816 2002-10-13 Ruslan Ermilov <ru@FreeBSD.org>
6818 Add the new -r option to grotty. It is similar to the -i option
6819 except it tells grotty(1) to use the `reverse video' attribute to
6820 render italic fonts.
6822 * src/devices/grotty/tty.cc (reverse_flag): New global variable.
6823 (SGR_REVERSE, SGR_NO_REVERSE): New macros.
6824 (tty_printer::make_underline, tty_printer::put_color,
6825 tty_printer::end_page): Use it.
6826 (main): Add -r switch.
6828 * src/devices/grotty/grotty.man: Document it.
6830 2002-10-11 Ruslan Ermilov <ru@FreeBSD.org>
6832 * src/roff/troff/env.cc (hyphen_trie::read_patterns_file): Add
6833 cast to `unsigned char' to properly read patterns with 8bit
6836 2002-10-08 Werner LEMBERG <wl@gnu.org>
6838 * REVISION: Increased to 2.
6841 version-control: never