1 2007-01-22 Gaius Mulley <gaius@glam.ac.uk>
3 * tmac/an-old.tmac (an-trap, HP): Make `HP' work as expected.
5 2007-01-22 Werner LEMBERG <wl@gnu.org>
7 * tmac/an-ext.tmac: Protect against being sourced twice.
8 (URL, EE): Use always two backslashes.
11 2007-01-21 Werner LEMBERG <wl@gnu.org>
13 * contrib/pdfmark/pdfroff.man: Revised, based on a patch from Eric
14 Raymond. It now uses the new macros from an-ext.tmac. This is the
15 first of a series of man patches which Eric has contributed.
17 2007-01-16 Werner LEMBERG <wl@gnu.org>
19 * tmac/an-ext.tmac: Remove code for grodvi.
21 Don't insert empty line.
24 2007-01-14 Werner LEMBERG <wl@gnu.org>
26 * tmac/an-ext.tmac: New file, containing extension macros
27 for -man. See discussion on the groff mailing list for
28 background information.
29 * tmac/an-old.tmac: Load an-ext.tmac.
30 Decorate .ds and as with comment escapes where appropriate.
31 * tmac/Makefile.sub (NORMALFILES): Add an-ext.tmac.
33 2007-01-05 Werner LEMBERG <wl@gnu.org>
35 * src/preproc/tbl/tbl.man: Document .T# and \n[TW].
37 2007-01-04 Gaius Mulley <gaius@glam.ac.uk>
39 Make -me macros ready for grohtml.
41 * tmac/e.tmac: Load devtag.tmac.
42 (need_eo_h, need_eo_tl, need_tl): New registers.
43 (check_need_title, (x-html, )x-html, xp-html): New macros.
44 (@h, hl, ip, @p, sh, (b, (l, EQ, EN, TS, TE, PS, PE, GS, GE, r, i,
45 b, rb, bi, bx, (x, )x, xp): Adapt for use with grohtml.
46 (bp): Rename to @b only if output device is not html.
48 2007-01-01 Werner LEMBERG <wl@gnu.org>
50 * man/groff_font.man: Document empty lines.
52 * src/utils/afmtodit/afmtodit.pl: Always print a header comment at
53 the very beginning of the output.
56 * font/devps/*: Regenerate font definition files.
58 2007-01-01 Werner LEMBERG <wl@gnu.org>
60 * font/devps/generate/Makefile (AFMTODIT): Use -c flag.
62 * font/devps/*: Regenerate font definition files.
64 2006-12-31 Werner LEMBERG <wl@gnu.org>
66 * Makefile.in (oldfontdir): New variable.
67 (MDEFINES): Add $(oldfontdir).
68 (uninstall_dirs): Remove `current' link.
71 * Makefile.comm (oldfontsubdir): New variable.
72 (install_dev): Install files collected in $(OLDDEVFILES) into
74 (uninstall_dev): Remove data in $(oldfontsubdir).
75 (.man.n): Handle @OLDFONTDIR@.
77 * src/devices/grodvi/grodvi.man, src/devices/grohtml/grohtml.man,
78 src/devices/grolbp/grolbp.man, src/devices/grolj4/grolj4.man,
79 src/devices/grotty/grotty.man, src/devices/xditview/gxditview.man:
80 Document GROFF_FONT_PATH.
82 * src/devices/grops/grops.man: Document GROFF_FONT_PATH and
83 old font description files.
85 * font/devps/Makefile.sub (OLDDISTFILES, OLDDEVFILES): New
88 * font/devps/old/*: New directory, holding the previous version
89 of the 35 Adobe core font description files.
91 * font/devps/*: Regenerated the 35 Adobe core fonts, using the
92 Adobe-Core35_AFMs-229.tar.bz2 bundle from ftp.dante.de.
94 * NEWS: Document font update.
96 2006-12-31 Werner LEMBERG <wl@gnu.org>
98 * font/devps/generate/Makefile (symbolsl.afm): Use $(srcdir).
100 * Makefile.comm (fonts): New (empty) target.
101 * Makefile.in (TARGETS): Add `fonts'.
103 * MANIFEST: Add `chem'.
105 * doc/groff.texinfo (Changing Fonts): Font translations with .ftr
108 2006-12-26 Werner LEMBERG <wl@gnu.org>
110 * src/preproc/grn/hdb.cpp: Include gprint.h later. From NetBSD.
112 2006-12-19 Werner LEMBERG <wl@gnu.org>
114 Add support for German. For activation, simply use -mde or -mden
115 (for traditional and new orthgraphy, respectively) as the last
118 * tmac/de.tmac, tmac/den.tmac, tmac/hyphen.det, tmac/hyphen.den,
119 tmac/hyphenex.det: New files, partly taken from CTAN.
120 * LICENSES: Updated list of hyphenation patterns.
121 * man/groff_tmac.man: Mention de.tmac and den.tmac.
124 2006-12-11 Werner LEMBERG <wl@gnu.org>
126 Support up to 32 macro arguments in pic (and up to 16 on EBCDIC
129 * src/preproc/pic/lex.cpp (ARG1): Redefine. Update all users.
130 (MAX_ARG): New macro. Use it everywhere to replace hard-coded
131 limit of 9 arguments.
132 (process_body): Handle argument numbers with more than a single
134 (interpolate_macro_with_args): Protect against exceeding number of
137 * NEWS, src/preproc/pic/pic.man, doc/pic.ms: Document it.
139 2006-12-10 Werner LEMBERG <wl@gnu.org>
141 * Makefile.in (site.exp, docheck): Commented out. Not working
143 (check): Just emit dummy message.
145 2006-12-08 Werner LEMBERG <wl@gnu.org>
147 During installation, create soft link from <version> to `current' in
150 * Makefile.comm (install): Renamed to...
152 (prefix_must_exist): Removed. Code moved to Makefile.in.
154 * Makefile.in (TARGETS): Remove `install'.
156 (install): New target which first creates the directory given by
157 --prefix, then calling `make' to do the installation, and finishing
158 with the creation of the soft link.
160 2006-11-21 Werner LEMBERG <wl@gnu.org>
162 * doc/Makefile.sub (uninstall_sub): Fix names for info files.
164 2006-11-18 Werner LEMBERG <wl@gnu.org>
166 * man/roff.man, doc/groff.texinfo: Improve history of roff, based on
167 information from Tom Van Vleck <thvv@multicians.org>.
169 2006-11-16 Werner LEMBERG <wl@gnu.org>
171 * tmac/62bit.tmac: New macro package.
172 * tmac/Makefile.sub (NORMALFILES): Add it.
175 * tmac/trace.tmac: Protect against being loaded again.
176 (nr): Always show result.
178 * doc/groff.texinfo (Input Encodings): Document latin-5.
180 * man/grof_tmac.man: Document sv, latinX, cp1047, 60bit, ec.
182 2006-11-13 Werner LEMBERG <wl@gnu.org>
184 * doc/groff.texinfo (Page Location Traps) [.wh]: Give more details
185 on negative trap positions.
187 2006-11-10 Werner LEMBERG <wl@gnu.org>
189 * Makefile.comm (.man.n): Handle @DATASUBDIR@.
191 2006-11-09 Werner LEMBERG <wl@gnu.org>
193 * INSTALL: Move information about external installation from
194 INSTALL.gen into this file.
197 * INSTALL.gen: Update to new version (from texinfo CVS).
199 2006-11-09 Bernd Warken
201 * INSTALL.gen: Extend the file by information on `external
202 installation'. Reorder the installation instruction as `normal
205 2006-11-08 Werner LEMBERG <wl@gnu.org>
207 * doc/Makefile.sub (install_data): Take care of proper paths while
208 installing info files. Bug reported by Bernd Warken.
210 2006-11-06 Bernd Warken
212 * src/roff/grog/grog.pl: Rewrite.
213 - Call by `#! /usr/bin/env perl'. That isn't replaced.
214 - Rename usage() to version().
216 - For `use strict', start all global variables with an upper case
217 character. Use `my' for all variables. Use several new variables.
219 - Add copyright to GPL and Emacs comment.
220 - Handle several `-m*' options.
221 - Fix handling of `-ms' and `-mm'. Add .TL and .NH.
222 - Allow options after file names.
223 - Allow only one `-' parameter (standard input).
224 - Add option abbreviations.
225 - Expand the usage information.
227 - Add single quote "'" as additional first character and allow
228 arbitrary space after the first character.
230 * src/roff/grog/grog.sh: Rewrite.
231 - Remove option `-e' of `sed'.
232 - Allow file names with space characters.
234 - Add copyright to GPL.
235 - Handle several `-m*' options.
236 - Fix handling of `-ms' and `-mm'. Add .TL and .NH.
237 - Allow options after file names.
238 - Allow only one `-' parameter (standard input).
239 - Add option abbreviations.
240 - Expand the usage information.
242 - Add single quote "'" as additional first character and allow
243 arbitrary space after the first character.
245 * src/roff/grog/Makefile.sub:
246 - Add copyright to GPL.
247 - Remove `grog:'. Move `grog.old:' to `grog:' in order to have a
248 fair chance to choose between the shell version and the Perl
249 version of `grog'. This is now again comparable to grog in groff
252 * src/roff/grog/grog.man: Rewrite.
253 - Move the license to GPL.
254 - New sections: OPTIONS, DETAILS, EXAMPLES, COPYING.
255 - Take over some setup and macros from `groffer'.
256 - Add information on options.
258 2006-10-28 Werner LEMBERG <wl@gnu.org>
260 * tmac/trace.tmac: Improve tracing of `.nr'.
261 Trace `.substring' also.
265 2006-10-28 Bernd Warken
267 * man/roff.man, src/roff/groff/groff.man: Add `chem', fix position
268 of groff development site, fix fonts.
270 * News: Add information on `chem' and `groffer'.
272 2006-10-26 Bernd Warken
274 * Makefile.in (OTHERDIRS, NOMAKEDIRS): Add `chem' bundle.
276 2006-10-26 Werner LEMBERG <wl@gnu.org>
278 Add `\%^' escape to handle the parameters to a macro as a string
281 * src/roff/troff/input.h (DOUBLE_QUOTE): New special character.
283 * src/roff/troff/input.cpp (input_iterator, input_stack,
284 macro_iterator): Add `space_follows_arg' member function.
285 (macro_iterator::add_arg): Add parameter to set the `space_follows'
287 (arg_list): Add member `space_follows'.
288 Update constructor and all callers.
289 (decode_args): Store discarded double quotes.
290 (interpolate_args): Handle DOUBLE_QUOTE.
292 (get_copy, token::next, composite_glyph_name): Handle DOUBLE_QUOTE.
294 * tmac/trace.tmac: Trace .nr, .ds, .ds1, .as, .as1.
296 * docs/groff.texinfo (Parameters), man/groff.man,
297 man/groff_diff.man, NEWS: Document it.
299 2006-10-24 Bernd Warken
301 * Makefile.in (NOMAKEDIRS): Add groffer subdirectories.
303 2006-10-24 Werner LEMBERG <wl@gnu.org>
305 * tmac/groff_trace.man: Mention problem with `\\\\'.
307 2006-10-23 Werner LEMBERG <wl@gnu.org>
309 * doc/groff.texinfo (Expressions): Improve documentation of `!'.
311 * tmac/trace.tmac (return): Don't call `substring'.
313 2006-09-10 Werner LEMBERG <wl@gnu.org>
315 * src/roff/troff/input.cpp (read_size): Revert previous change
318 * doc/groff.texinfo (Fractional Size Types): Clarify syntax of \s.
320 2006-09-09 Werner LEMBERG <wl@gnu.org>
322 * src/roff/troff/input.cpp (read_size): Fix `\s[-\n[.s]]' so that it
323 behave the same as `\s-[\n[.s]]' (this is, emit a warning and set
324 point size to 1). Reported by Gunnar Ritter.
325 Also catch `\s-[-...]' and friends (causing an error).
327 2006-09-06 Werner LEMBERG <wl@gnu.org>
329 * src/roff/troff/env.cpp (environment::do_break): Insert zero-width
330 space only if there is no previous space. This fixes a bug which
331 caused unwanted filling of the last line in a paragraph. Thanks to
332 Gunnar Ritter for an analysis.
334 2006-09-03 Werner LEMBERG <wl@gnu.org>
336 * src/roff/groff/groff.cpp (main): Pass -U flag to pic also.
337 Reported by Jennifer Sayers <jenjen@isu.usyd.edu.au>.
339 2006-09-01 Nick Stoughton <nick@msbit.com>
340 Werner LEMBERG <wl@gnu.org>
342 Add a request `pev' to print environment information (similar to
343 `pnr' and `ptr' to print number registers and traps).
345 * src/roff/troff/env.h (environment): Add member function print_env.
347 * src/roff/troff/env.cpp: (environment::print_env): New function to
348 print a given environment state.
349 (print_env): New global function to iterate through the
350 environments, printing each one.
351 (init_env_requests): Register `pev'.
353 * doc/groff.texinfo (Debugging), man/groff.man, man/groff_diff.man,
354 NEWS: Document `pev' request.
356 2006-09-01 Bernd Warken
358 * src/preproc/soelim/soelim.cpp (usage): Fix option argument of
361 2006-09-01 Werner LEMBERG <wl@gnu.org>
363 * src/preproc/pic/main.cpp (usage): Add missing options.
365 2006-08-25 Werner LEMBERG <wl@gnu.org>
367 * src/preproc/soelim/soelim.man: Document how to insert `\' and ` '
370 2006-08-19 Werner LEMBERG <wl@gnu.org>
372 * configure: Regenerated.
374 2006-08-18 Keith Marshall <keith.d.marshall@ntlworld.com>
376 * m4/groff.m4 (GROFF_MAKEINFO): Correct `makeinfo version testing
377 logic; it previously caused an `expr' syntax error, if no version of
378 `makinfo' was present. Also, remove dependency on `makeinfo' in VPATH
379 builds, if an up to date `groff.info' is present in either `builddir'
382 2006-08-12 Tadziu Hoffmann <hoffmann@usm.uni-muenchen.de>
384 * font/devps/prologue.ps: Add BPhook.
386 * src/devices/grops/grops.man: Document BPHook.
387 Reorder some sections for better readability.
389 2006-08-12 Werner LEMBERG <wl@gnu.org>
391 * src/include/lib.h (getlocale): New macro.
392 (setlocale, LC_ALL, LC_CTYPE) [!HAVE_SETLOCALE]: Define, as
395 * src/preproc/preconv/preconv.cpp (main): Use getlocale.
397 2006-08-11 Werner LEMBERG <wl@gnu.org>
399 Add new flag to .cflags to enable hyphenation without looking at
402 * src/roff/troff/charinfo.h (charinfo): New enumeration value
404 New member function `ignore_hcodes'.
406 * src/roff/troff/node.cpp (break_char_node::add_self,
407 node::add_char): Updated.
409 * doc/groff.texinfo, man/groff_diff.man, NEWS: Document it.
411 2006-08-09 Werner LEMBERG <wl@gnu.org>
413 Support composite Unicode characters again. Reported by Colin.
415 * font/devhtml/R.proto: Renamed to...
416 * font/devhtml/R.in: This.
418 * font/devutf8/R.proto: Renamed to...
419 * font/devutf8/R.in: This.
422 * font/make-Rproto: New script.
423 * font/devhtml/R.proto, font/devutf8/R.proto: Generated.
425 2006-07-26 Werner LEMBERG <wl@gnu.org>
427 * README: Fix description of CVS access. Reported by Joachim.
429 2006-07-11 Werner LEMBERG <wl@gnu.org>
431 Add a request `.fzoom' and a number register `.zoom' to magnify
434 * src/include/font.h (font): Add member variable `zoom'.
435 Add member functions `set_zoom' and `get_zoom'.
436 Remove `static' attribute from `scale' member function.
438 * src/libs/libgroff/font.cpp (font::font): Updated.
439 (scale_round): New version with three parameters to handle zoom
441 (font::scale, font::get_width): Handle zoom factor.
442 (font::set_zoom, font::get_zoom): New functions.
443 (font::load): Handle `zoom' while computing `space_width'.
445 * src/roff/troff/env.h: Declare `env_get_zoom'.
446 (environment): Add member function `get_zoom'.
448 * src/roff/troff/env.cpp (environment::get_zoom): New function.
449 (init_env_requests): Initialize `.zoom' register.
451 * src/roff/troff/node.cpp (font_info): New member functions
452 `set_zoom' and `get_zoom'.
453 (tfont): New member function `get_zoom'.
454 (env_get_zoom): New function.
455 (troff_output_file::set_font): Handle zoom factor.
456 (font_zoom_request): New function.
457 (init_node_requests): Initialize `fzoom' request.
459 * docs/groff.texinfo (Changing Fonts), man/groff.man,
460 man/groff_diff.man, NEWS: Document `fzoom' request and `.zoom'
463 * src/roff/troff/TODO: Updated.
465 2006-07-10 Werner LEMBERG <wl@gnu.org>
467 * doc/groff.texinfo (Drawing Requests): Improve documentation of
470 2006-07-02 Werner LEMBERG <wl@gnu.org>
472 * man/groff_tmac.man: Document usage of .PSPIC within diversions.
474 2006-07-01 Werner LEMBERG <wl@gnu.org>
476 * tmac/pspic.tmac: Make .PSPIC work for all devices.
477 Print image file name for devices which don't support PS image
479 Handle multiple inclusions.
480 Add lots of comments.
482 * tmac/dvi.tmac, tmac/html.tmac, tmac/ps.tmac: Don't load
485 * tmac/troffrc: Load pspic.tmac.
487 * man/groff_tmac.man: Update .PSPIC documentation.
491 2006-06-29 Werner LEMBERG <wl@gnu.org>
493 * src/roff/troff/input.cpp (interpolate_macro):
494 s/probably/possibly/, as suggested by Keith.
496 2006-06-28 Werner LEMBERG <wl@gnu.org>
498 Add support for \D'p...' to grotty.
500 * src/devices/grotty/grotty.cpp (tty_printer::draw): Move most of
502 (tty_printer::line): This function.
503 (tty_printer::draw): Rewritten; just call either draw_line or
505 (tty_printer::draw_line, tty_printer::draw_polygon): New functions.
507 * src/devices/grotty/grotty.man, NEWS: Document it.
509 2006-06-27 Werner LEMBERG <wl@gnu.org>
511 * src/preproc/refer/command.h (have_bibliography): New variable
514 * src/preproc/refer/command.cpp (bibliography_command): Set
517 * src/preproc/refer/refer.cpp: Initialize `have_bibliography'.
518 (output_references): Emit warning only if `have_bibliography' is
521 2006-06-15 Michail Vidiassov <master@iaas.msu.ru>
523 * fonts/devps/Makefile.sub (DISTFILES): Add freeeuro.afm.
524 * fonts/devps/generate/Makefile (clean): Don't remove symbolsl.afm
527 2006-06-15 Werner LEMBERG <wl@gnu.org>
529 * src/preproc/tbl/tbl.man: Document limitations of .TS/.TE within a
530 macro (as suggested by Tadziu Hoffmann).
532 2006-06-12 Werner LEMBERG <wl@gnu.org>
534 * src/preproc/tbl/tbl.man: Add example for use of .TS/.TE within a
535 macro (as suggested by Tadziu Hoffmann).
537 2006-06-05 Werner LEMBERG <wl@gnu.org>
539 * tmac/strip.sed: Strip `\#' also.
541 * doc/groff.texinfo (Operators in Conditionals): Document usage of
542 \? for string comparison.
544 2006-06-04 Werner LEMBERG <wl@gnu.org>
546 * doc/groff.texinfo: Add more index entries for copy-in mode.
547 (Changing Fonts) <.ft>: Document that a font definition file must
548 not be called `DESC'.
550 2006-05-31 Werner LEMBERG <wl@gnu.org>
552 * src/roff/troff/input.cpp (token::next) <\N>: Catch negative values
555 * doc/Makefile.sub (EXAMPLEFILES): Move gnu.eps to...
556 (PROCESSEDEXAMPLEFILES): Here.
558 2006-05-30 Werner LEMBERG <wl@gnu.org>
560 * src/libs/libgroff/font.cpp (font::load): Reject fonts called
562 Reduce number of false positives for `.if F ...' conditionals.
563 Improve warning messages.
565 2006-05-29 Werner LEMBERG <wl@gnu.org>
567 * tmac/Makefile.sub: Add copyright notice.
568 (NORMALFILES): Add man.tmac and ms.tmac.
569 (SPECIALFILES): Remove man.tmac and ms.tmac.
570 (CLEANADD): Remove man.tmac-sed and ms.tmac-sed.
571 (install_data, uninstall_sub): Don't handle man.tmac and ms.tmac
573 (stamp-sed): Don't handle man.tmac and ms.tmac.
574 Remove obsolete components in sed's regexp.
576 * doc/Makefile.sub (EXAMPLEFILES): Add gnu.eps.
578 * Makefile.in (OTHERDIRS, NOMAKEDIRS): Add hdtbl.
580 2006-05-28 Werner LEMBERG <wl@gnu.org>
582 * doc/groff.texinfo (History): Correct death circumstances of Joe
585 2006-05-27 Werner LEMBERG <wl@gnu.org>
587 * tmac/an-old.tmac (an-do-tag): Simplify.
589 2006-05-26 Werner LEMBERG <wl@gnu.org>
591 * tmac/an-old.tmac (an-do-tag): Make margin characters work.
592 (an-header, an-p-footer): Use named environment.
594 * src/roff/troff/env.cpp (environment::copy): Copy margin character
597 2006-05-21 Werner LEMBERG <wl@gnu.org>
599 * tmac/trace.tmac (de1): Fix serious typo (.di -> .do) and minor
602 2006-05-11 Keith Marshall <keith.d.marshall@ntlworld.com>
604 * src/roff/groff/groff.man: Remove superfluous word `intermediate'.
606 2006-05-10 Keith Marshall <keith.d.marshall@ntlworld.com>
608 * src/roff/groff/groff.man: Update copyright notice.
609 Improved wording to describe effect of `-Z' option.
611 2006-05-06 Werner LEMBERG <wl@gnu.org>
613 * tmac/www.tmac: Decorate `.ds' with trailing `\"' where missing.
614 Normalize handling of `"' in arguments.
615 (PIMG): Remove debug message.
618 2006-05-05 Werner LEMBERG <wl@gnu.org>
620 * src/devices/grohtml/post-html.cpp (page::add_and_encode): Don't
621 swallow character immediately after `\[...]'.
624 2006-05-02 Gaius Mulley <gaius@glam.ac.uk>
626 * tmac/www.tmac (PIMG): Fix the HTML device specific components.
628 2006-05-02 Larry Kollar <kollar@alltel.net>
630 * tmac/www.tmac (PIMG): Really default to `-C' if the alignment
633 2006-04-30 Michail Vidiassov <master@iaas.msu.ru>
635 * src/utils/afmtodit/afmtodit.pl: New option `-c' to add font
636 information as a comment in output.
637 * src/utils/afmtodit/afmtodit.man, NEWS: Document it.
639 2006-04-26 Werner LEMBERG <wl@gnu.org>
641 * src/devices/grohtml/post-html.cpp (html_printer::~html_printer):
642 Handle current_paragraph only if it is non-NULL.
644 * src/libs/libdriver/input.cpp (parse_x_command <'F'>, do_file
645 <'F'>): Use `get_extended_arg' to behave as documented. Reported by
646 Bill Ward <william.a.ward.jr@erdc.usace.army.mil>.
649 Surround the (pseudo) file name for the .pso request with `<' and
652 * src/roff/troff/node.cpp (real_output_file, troff_output_file): Add
653 second parameter to `really_put_filename' and `put_filename'.
654 (troff_output_file::really_put_filename): Emit `<' and `>' around
655 filename if second argument is set.
656 * src/roff/troff/node.h: Updated.
658 * src/roff/troff/input.cpp (file_iterator::file_iterator,
659 file_iterator::set_location): Update to changes in node.cpp.
661 2006-04-25 Tetsurou Okazaki <okazaki@FreeBSD.org>
663 * src/preproc/preconv/preconv.cpp (do_file): Fix conditional
664 preprocessor expression (I18N -> HAVE_ICONV).
665 (main): Fix handling of option `-h'.
666 Fix conditional preprocessor expression.
668 2006-04-04 Werner LEMBERG <wl@gnu.org>
670 Implement new number register `.br' which is set to 1 if a macro has
671 been called as .foo and to 0 if called as 'bar. This is useful for
672 -mtrace so that requests can be reliably traced too.
674 * src/roff/troff/input.cpp (input_iterator): Add virtual function
676 (macro_iterator): Add `with_break' member and `get_break_flag'
679 (input_stack): Add function `get_break_flag'.
680 (break_flag_reg): New number register class.
681 (input_init_requests): Register `.br'.
683 * src/roff/troff/TODO: Updated.
685 * tmac/trace.tmac: s/!!sp/!!!sp/.
686 Modify definitions of `de', `de1', `am', and `am1' to use \n[.br].
688 * docs/groff.texinfo (Requests), man/groff.man, man/groff_diff.man,
691 2006-03-29 Werner LEMBERG <wl@gnu.org>
693 * src/devices/grops/ps.cpp: s/must not/should not/ in warning
694 messages where appropriate.
696 2006-03-28 Werner LEMBERG <wl@gnu.org>
698 * configure.ac: Call AC_PROG_EGREP.
699 * configure: Regenerated.
701 * Makefile.in (EGREP): New variable.
702 (MDEFINES): Add $(EGREP).
704 * src/roff/grog/grog.sh: Treat .TH between .TS and .TE properly
705 (bug reported by Robert Goulding <Goulding.2@nd.edu>).
708 * src/roff/grog/Makefile.sub (grog, grog.old): Use $(EGREP).
710 2006-03-27 Werner LEMBERG <wl@gnu.org>
712 Add two requests `.device' and `.devicem' which are equivalent to
713 `\X' and `\Y', respectively.
715 * src/roff/troff/input.cpp (device_request, device_macro_request):
717 (init_input_requests): Register them.
719 * doc/groff.texinfo (Postprocessor Access), man/groff_diff.man,
720 man/groff.man, NEWS: Document them.
722 2006-03-27 Gaius Mulley <gaius@glam.ac.uk>
724 * src/roff/troff/input.cpp (encode_char): Emit special characters
725 for -Thtml as `\[...]'.
726 * src/devices/grohtml/post-html.cpp (page::add_and_encode): Updated.
728 * doc/groff.texinfo (Postprocessor Access) <\X>: Updated.
730 2006-03-27 Werner LEMBERG <wl@gnu.org>
732 * tmac/Makefile.sub (NORMALFILES, SPECIALFILES): Add various missing
735 2006-03-26 Werner LEMBERG <wl@gnu.org>
737 * doc/groff.texinfo (Writing Macros): More documentation on
738 end-of-macro symbol of `.de'.
739 (Diversions): Minor addition to `.di' description.
741 * src/devices/grops/grops.man: Some clarifications regarding
742 insertion of PostScript snippets.
744 2006-03-25 Michail Vidiassov <master@iaas.msu.ru>
746 Add rules to generate `symbolsl.afm'.
748 * fonts/devps/generate/zapfdr.sed,
749 fonts/devps/generate/symbolsl.awk: New files.
751 * fonts/devps/generate/Makefile (symbolfont, PRINTAFM): New
753 (SS, clean): Updated.
754 (freeeuro.afm): Use $(srcdir).
755 (symbolsl.afm): New rule.
756 (zapfdr.afm): Use zapfdr.sed.
758 2006-03-22 Dwight Aplevich <aplevich@uwaterloo.ca>
760 * src/preproc/pic/pic.y (expr <INT>): Fix code.
762 2006-03-22 Jörgen Grahn <jgrahn@algonet.se>
764 * tmac/sv.tmac: Add missing translations and activate support for
765 other macro packages.
767 2006-03-21 Francis GUDIN <fgudin@nerim.net>
769 * tmac/doc-syms (Dx): New macro to identify DragonFly.
770 (doc-str-St--ieee1275-94, doc-str-St--isoC-amd1,
771 doc-str-St--isoC-tcor1, doc-str-St--isoC-tcor2): New standard
773 (doc-operating-system-FreeBSD-5.5, doc-operating-system-FreeBSD-7.0,
774 doc-operating-system-NetBSD-1.6.3, doc-operating-system-NetBSD-4.0
775 doc-operating-system-DragonFly-*): New operating system strings.
777 * tmac/groff_mdoc.man, NEWS: Document `Dx'.
779 2006-03-21 Werner LEMBERG <wl@gnu.org>
781 * src/preproc/pic/pic.y (object_spec THEN): For compatibility with
782 both DWB pic and dpic, make
790 line right then down;
797 * doc/pic.ms: Document this.
799 2006-03-20 Werner LEMBERG <wl@gnu.org>
801 * doc/pic.ms: With permission of Eric Raymond, put it under the
806 2006-03-19 Werner LEMBERG <wl@gnu.org>
808 * src/preproc/pic/pic.y (expr <INT>): Really return integer part.
810 * src/preproc/pic/objects.cpp (object_spec::make_line): Handle `at'
811 attribute in combination with `with'. Bug reported by Jennifer
812 Sayers <jenjen@mail.usyd.edu.au>.
814 2006-03-19 Miklos Somogyi <msom@netspace.net.au>
816 * doc/groff.texinfo (Manipulating Spacing): Improve documentation of
819 2006-03-18 Werner LEMBERG <wl@gnu.org>
821 * LICENSE: Renamed to...
822 * LICENSES: This. Collect all licensing information in this file.
823 * tmac/README, src/libs/snprintf/README: Removed.
825 * src/devices/grops/grops.man: Add section how to install fonts.
827 * src/utils/xtotroff/xtotroff.c: Add GPL.
829 2006-03-17 Werner LEMBERG <wl@gnu.org>
831 * Makefile.comm (.y.cpp): Fix #line arguments in output.
833 2006-03-13 Werner LEMBERG <wl@gnu.org>
835 * src/preproc/tbl/tbl.man: Mention default length of text blocks.
837 * tmac/doc-common (Os): Add more Darwin versions.
838 * tmac/groff_mdoc.man: Document them.
840 * doc/groff.texinfo (Operators in Conditionals): Mention that `c'
841 works with \N'...' also.
842 * man/groff_diff.man: Ditto. Remove use of future tense where
845 2006-03-12 Michail Vidiassov <master@iaas.msu.ru>
847 * fonts/devps/generate/make-zapfdr, fonts/devps/symbolsl.ps,
848 fonts/devps/zapfdr.ps: Add `%%EndComments' line.
850 2006-03-10 Larry Kollar <kollar@alltel.net>
852 * doc/groff.texinfo (Headers and footers): Document PT, HD, and BT.
854 2006-03-10 Werner LEMBERG <wl@gnu.org>
856 * src/devices/grops/ps.cpp (ps_printer::do_exec, ps_printer::do_def,
857 ps_printer::do_mdef): Overlong lines now cause a warning message,
860 2006-03-09 Werner LEMBERG <wl@gnu.org>
862 * font/devps/generate/make-zapfdr: New script for generating
865 2006-03-08 Werner LEMBERG <wl@gnu.org>
867 * doc/groff.css (pre): Fix `background-color' value.
869 2006-03-04 Larry Kollar <kollar@alltel.net>
871 * tmac/groff_ms.man: Document PT, HD, and BT.
873 2006-03-04 Werner LEMBERG <wl@gnu.org>
875 * src/roff/troff/node.cpp (make_glyph_node): Improve warning message
876 for single-letter glyph names.
878 2006-03-02 Werner LEMBERG <wl@gnu.org>
880 * tmac/sv.tmac: New file; currently holding only the Swedish strings
882 * tmac/hyphen.sv: New hyphenation pattern file for Swedish, taken
884 * tmac/README: Updated.
886 2006-02-27 Werner LEMBERG <wl@gnu.org>
888 * tmac/trans.tmac (Liec, Letdate, Letns!14): Add it (for -mm).
889 * tmac/fr.tmac: Add French translations.
891 * tmac/composite.tmac: Add entry for `:'.
893 2006-02-26 Werner LEMBERG <wl@gnu.org>
895 * doc/Makefile.sub (HTMLEXAMPLEFILESALL): New variable.
897 (install_html, uninstall_sub): Updated.
899 2006-02-26 Bruno Haible <bruno@clisp.org>
901 Introduce Unicode fonts.
903 * font/devhtml/DESC.proto: Mark as unicode.
904 * font/devhtml/R.proto: Remove all charset entries that are already
906 * font/devutf8/DESC.proto: Mark as unicode.
907 * font/devutf8/R.proto: Remove all charset entries.
908 * src/include/font.h (font): New static field `is_unicode'.
909 Change order of fields.
910 * src/libs/libgroff/font.cpp: Include unicode.h.
911 (font::font): Update for changed order of fields.
912 (font::contains, font::get_width, font::get_height, font::get_depth,
913 font::get_italic_correction, font::get_left_italic_correction,
914 font::get_subscript_correction, font::get_character_type,
915 font::get_code, font::get_special_device_encoding): Handle both the
916 explicitly enumerated glyphs and use general code for Unicode fonts.
917 (font::load): Make the charset section optional when the font is
919 (font::load_desc): Recognize the `unicode' attribute.
920 * src/libs/libgroff/fontfile.cpp (font::is_unicode): New variable.
922 2006-02-26 Claudio Fontana <claudio@gnu.org>
924 * Makefile.in: Add comment about DESTDIR.
926 * Makefile.sub: Add DESTDIR to install and uninstall targets
927 to support staged installations.
928 * Makefile.comm: Likewise.
929 * doc/Makefile.sub: Likewise.
930 * contrib/eqn2graph/Makefile.sub: Likewise.
931 * contrib/gdiffmk/Makefile.sub: Likewise.
932 * contrib/grap2graph/Makefile.sub: Likewise.
933 * contrib/pic2graph/Makefile.sub: Likewise.
934 * src/devices/xditview/Makefile.sub: Likewise.
935 * src/preproc/eqn/Makefile.sub: Likewise.
936 * src/roff/grog/Makefile.sub: Likewise.
937 * src/roff/nroff/Makefile.sub: Likewise.
938 * src/utils/afmtodit/Makefile.sub: Likewise.
939 * src/utils/indxbib/Makefile.sub: Likewise.
940 * tmac/Makefile.sub: Likewise.
942 2006-02-24 Werner LEMBERG <wl@gnu.org>
944 * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list): Use entry
946 Remove commented out entries for \' and \` (there are no such glyph
949 * src/libs/libgroff/uniglyph.cpp (unicode_to_glyph_list): Remove
950 commented out entries for \' and \`.
953 * */*: s/legal/valid/ where appropriate.
955 2006-06-23 Werner LEMBERG <wl@gnu.org>
957 * font/devhtml/R.proto, font/devutf8/R.proto: Remove incorrect \'
960 2006-02-22 Werner LEMBERG <wl@gnu.org>
962 Remove all remaining traces from the `shc' glyph.
964 * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list),
965 src/libs/libgroff/uniglyph.cpp (unicode_to_glyph_list): Remove
968 * font/devlatin1/R.proto, font/devcp1046/R.proto: Replace `shc'
969 entry with unnamed glyph.
971 * tmac/html/tmac: Remove `shc' entry from call to `.cflags'.
973 * src/preproc/preconv/preconv.cpp (unicode_entity): Handle U+00AD
976 2006-02-22 Bruno Haible <bruno@clisp.org>
978 Concretize the `glyph' datatype.
980 * src/include/font.h (glyph): Remove class.
981 (glyph): Renamed from struct `glyphinfo'.
982 (glyph_to_index): New inline function.
983 (glyph_to_name): Make extern, not inline.
984 (glyph_to_number): Update.
985 (font): Use `glyph *' instead of `glyph'.
987 * src/libs/libgroff/nametoindex.cpp (charinfo): Inherit from class
988 `glyph'. Make `name' field public.
989 (character_indexer, number_to_glyph, name_to_glyph): Use `glyph *'
991 (glyph_to_name): Renamed from `glyph::glyph_name'.
993 * src/roff/troff/charinfo.h (charinfo): Inherit from class `glyph'.
994 Use `glyph *' instead of `glyph'.
996 * src/roff/troff/input.cpp (name_to_glyph, number_to_glyph): Use
997 `glyph *' instead of `glyph'.
998 (glyph_to_name): Renamed from `glyph::glyph_name'.
1000 * src/libs/libgroff/font.cpp: Use `glyph *' instead of `glyph',
1001 and `glyph_to_index' instead of `glyph::glyph_index'.
1003 * src/include/printer.h (printer): Use `glyph *' instead of `glyph'.
1004 * src/libs/libdriver/printer.cpp: Likewise.
1005 * src/devices/grodvi/dvi.cpp: Likewise.
1006 * src/devices/grohtml/post-html.cpp: Likewise.
1007 * src/devices/grolbp/lbp.cpp: Likewise.
1008 * src/devices/grolj4/lj4.cpp: Likewise.
1009 * src/devices/grops/ps.cpp: Likewise.
1010 * src/devices/grotty/tty.cpp: Likewise.
1012 2006-02-22 Werner LEMBERG <wl@gnu.org>
1014 * font/devdvi/generate/tc.map: Add `sr' glyph.
1015 * font/devdvi/*TC: Regenerated.
1017 * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list): Use entry
1020 2006-02-21 Werner LEMBERG <wl@gnu.org>
1022 * man/groff_char.man: Explain `***' marker.
1024 2006-02-17 Bruno Haible <bruno@clisp.org>
1026 * src/libs/libgroff/nametoindex.cpp (character_indexer): Rename
1027 methods and fields from *_index to *_glyph.
1028 (character_indexer::named_char_glyph): Test for `charNNN' name
1030 (name_to_glyph): ... not here.
1032 2006-02-17 Bruno Haible <bruno@clisp.org>
1034 * src/include/font.h (name_to_glyph): Renamed from
1035 font::name_to_index.
1036 (number_to_glyph): Renamed from font::number_to_index.
1037 (glyph_to_name): Renamed from font::index_to_name.
1038 (glyph_to_number): Renamed from font::index_to_number.
1039 * src/libs/libgroff/nametoindex.cpp: Likewise.
1040 * src/roff/troff/charinfo.h (charinfo::as_glyph): Renamed from
1041 charinfo::get_index.
1043 * src/roff/troff/input.cpp: All callers changed.
1044 * src/roff/troff/node.cpp: Likewise.
1045 * src/libs/libgroff/font.cpp: Likewise.
1046 * src/devices/grops/ps.cpp: Likewise.
1047 * src/devices/grohtml/post-html.cpp: Likewise.
1048 * src/libs/libdriver/printer.cpp: Likewise.
1050 2006-02-17 Werner LEMBERG <wl@gnu.org>
1052 * src/include/ptable.h, src/include/itable.h
1053 (NEXT_PTABLE_SIZE_DEFINED): Use it to avoid multiple declaration
1054 of external symbol `next_ptable_size' (used by both header files).
1056 2006-02-15 Bruno Haible <bruno@clisp.org>
1058 * src/include/font.h (glyphinfo): New class.
1059 (glyph): Change internal representation.
1060 Change constructor signature.
1061 New method glyph::glyph_number().
1062 (glyph::glyph, glyph glyph::undefined_glyph, glyph::glyph_index,
1063 glyph::operator==, glyph::operator!=): Update.
1064 (font::index_to_name, font::index_to_number): New functions.
1066 * src/include/itable.h: New file, based on src/include/ptable.h.
1068 * src/libs/libgroff/nametoindex.cpp: Include itable.h.
1069 (class charinfo): New class.
1070 (class character_indexer): Change table result type from `int' to
1072 Add table with integer key.
1073 (character_indexer::character_indexer): Update.
1074 (character_indexer::ascii_char_index): Update.
1075 (character_indexer::numbered_char_index): Use NULL as name, not a
1076 string starting with a space.
1077 (character_indexer::named_char_index): Update.
1078 (font::number_to_index, font::name_to_index): Remove no-op cast.
1079 (glyph::glyph_name): New method.
1080 * src/roff/troff/charinfo.h (class charinfo): Inherit from class
1082 (NUMBERED): Remove flag bit.
1083 (charinfo::numbered, charinfo::get_index): Update.
1085 * src/roff/troff/input.cpp (charinfo::charinfo): Update.
1086 (charinfo::set_number, charinfo::get_number): Update.
1087 (glyph::glyph_name): New method.
1089 2006-02-15 Werner LEMBERG <wl@gnu.org>
1091 * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list): Fix
1092 entries for `>>', `<<', `*f', and `+f'. Reported by Bruno.
1094 2006-02-13 Werner LEMBERG <wl@gnu.org>
1096 * font/devps/prologue.ps (RE): Check `UniqueID' also, similar to
1099 2006-02-11 Werner LEMBERG <wl@gnu.org>
1101 * src/include/font.h: s/glyph_t/glyph/.
1104 * src/devices/grotty/tty.cpp: s/glyph/tty_glyph/.
1105 s/output_character_t/output_character/.
1107 2006-02-11 Bruno Haible <bruno@clisp.org>
1109 New accessor method glyph_t::glyph_name().
1111 * src/include/ptable.h (declare_ptable): Add a return value to the
1112 `define' method, and declare a `lookupassoc' method.
1113 (implement_ptable): Return the stored key in `define'. Implement
1115 * src/include/font.h (glyph_t): Add `name' field. Add an argument
1117 (glyph_t::glyph_name): New method.
1119 * src/libs/libgroff/nametoindex.cpp (character_indexer): Change
1120 return type of methods and field member type to glyph_t.
1121 (character_indexer::character_indexer): Update.
1122 (character_indexer::ascii_char_index): Allocate a name for the
1124 Return a glyph_t with name.
1125 (character_indexer::numbered_char_index): Return a glyph_t without a
1127 (character_indexer::named_char_index): Return a glyph_t with a name.
1128 (font::number_to_index, font::name_to_index): Update.
1130 * src/roff/troff/input.cpp (charinfo::charinfo): Use the symbol as
1133 2006-02-11 Bruno Haible <bruno@clisp.org>
1135 * src/devices/grotty/tty.cpp (output_character_t): New type.
1136 (tty_printer::make_bold, tty_printer::add_char,
1137 tty_printer::put_char): Change argument type to output_character_t.
1138 (crossings): Change element type to output_character_t.
1140 2006-02-11 Bruno Haible <bruno@clisp.org>
1142 Make the glyph data type abstract.
1144 * src/include/font.h (glyph_t): New class.
1145 (name_to_index, number_to_index): Change return type to glyph_t.
1146 (font::contains, font::get_width, font::get_height, font::get_depth,
1147 font::get_character_type, font::get_kern, font::get_skew,
1148 font::get_italic_correction, font::get_left_italic_correction,
1149 font::get_subscript_correction, font::get_code,
1150 font::get_special_device_encoding, font::add_entry,
1151 font::copy_entry, font::add_kern, font::hash_kern): Change argument
1154 * src/libs/libgroff/font.cpp (font_kern_list): Change members
1155 type and constructor argument types to glyph_t.
1156 (font::contains, font::get_width, font::get_height, font::get_depth,
1157 font::get_character_type, font::get_kern, font::get_skew,
1158 font::get_italic_correction, font::get_left_italic_correction,
1159 font::get_subscript_correction, font::get_code,
1160 font::get_special_device_encoding, font::add_entry,
1161 font::copy_entry, font::add_kern, font::hash_kern): Change argument
1163 (font::load): Use glyph_t variables.
1165 * src/libs/libgroff/nametoindex.cpp (name_to_index,
1166 number_to_index): Change return type to glyph_t.
1168 * src/roff/troff/charinfo.h (charinfo::index): Change type to
1170 (charinfo::get_index): Change return type to glyph_t.
1172 * src/roff/troff/env.cpp: Include font.h.
1174 * src/roff/troff/node.cpp: Include font.h before charinfo.h.
1176 * src/roff/troff/input.cpp: Include font.h before charinfo.h.
1177 (charinfo::charinfo): Update.
1178 (name_to_index, number_to_index): Change return type to glyph_t.
1180 * src/include/printer.h (printer::set_char_and_width): Change return
1183 * src/libs/libdriver/printer.cpp (printer::set_char_and_width):
1184 Change return type to glyph_t.
1186 * src/devices/grodvi/dvi.cpp (dvi_printer::set_char): Change
1187 argument type to glyph_t.
1189 * src/devices/grohtml/post-html.cpp (page::add_and_encode): Update.
1190 (html_printer::space_glyph): Renamed from space_char_index.
1191 (html_printer::add_to_sbuf, html_printer::sbuf_continuation,
1192 html_printer::overstrike, html_printer::set_char): Change argument
1194 (html_printer::set_char_and_width): Change return type to glyph_t.
1196 * src/devices/grolbp/lbp.cpp (lbp_printer::set_char): Change
1197 argument type to glyph_t.
1199 * src/devices/grolj4/lj4.cpp (lj4_printer::set_char): Change
1200 argument type to glyph_t.
1202 * src/devices/grops/ps.cpp (ps_printer::space_glyph): Renamed from
1204 (ps_printer::set_subencoding, ps_printer::set_char): Change argument
1207 * src/devices/grotty/tty.cpp (tty_printer::set_char): Change
1208 argument type to glyph_t.
1210 2006-02-11 Bruno Haible <bruno@clisp.org>
1212 * src/roff/troff/input.cpp (font::name_to_index): Never return a
1215 * src/libs/libgroff/font.cpp (font::load): Remove failure tests for
1216 font::name_to_index.
1218 2006-02-10 Werner LEMBERG <wl@gnu.org>
1220 * doc/groff.texinfo (Assigning Formats): Number registers are always
1222 Apply some rephrasing, contributed by Michael Burt.
1224 2006-02-07 Werner LEMBERG <wl@gnu.org>
1226 * tmac/fr.tmac <ms>: Set `HY' register.
1228 2006-02-07 Werner LEMBERG <wl@gnu.org>
1230 Add framework for simple adaptation of the main macro packages (mm,
1231 me, ms, mom) to different locales. In particular, add support for
1232 French. For activation, simply use `-mfr' as the last macro
1233 package. This feature has been contributed by Fabrice Ménard
1234 <menard.fabrice@wanadoo.fr>.
1236 * tmac/fr.tmac, tmac/trans.tmac, tmac/hyphen.fr, tmac/LOCALIZATION:
1238 * tmac/README: Mention hyphen.fr.
1239 * man/groff_tmac.man: Mention fr.tmac.
1242 2006-01-27 Werner LEMBERG <wl@gnu.org>
1244 * man/groff_font.man: Updated documentation of `entity_name' field.
1247 2006-01-27 Bruno Haible <bruno@clisp.org>
1249 * font/devhtml/R.proto: Remove the entity names from the font's
1250 special_encoding_encoding column.
1251 * src/devices/grohtml/post-html.cpp (get_html_entity): New function,
1252 handling the entity names here.
1253 (get_html_translation): Use it. Change return type to `const
1255 (page::add_and_encode): Update, removing a useless cast.
1257 2006-01-26 Werner LEMBERG <wl@gnu.org>
1259 This change is based on a patch by Bruno Haible <bruno@clisp.org>.
1261 * src/include/device.h: Add comments.
1262 * src/include/font.h: Add comments.
1263 * src/include/unicode.h: Likewise.
1264 * src/include/ptable.h, src/libs/libgroff/ptable.cpp: Likewise.
1266 2006-01-26 Keith Marshall <keith.d.marshall@ntlworld.com>
1268 Suppress `.st' request emission by `grn'.
1270 * src/preproc/grn/main.cpp (USE_ST_REQUEST): New macro.
1273 2006-01-22 Werner LEMBERG <wl@gnu.org>
1275 * install-sh: New version; taken from texinfo CVS.
1277 2006-01-21 Werner LEMBERG <wl@gnu.org>
1279 * src/preproc/preconv/preconv.cpp (main): Set program_name. Bug
1280 reported by Alexander E. Patrakov <patrakov@ums.usu.ru>.
1282 2006-01-19 Bruno Haible <bruno@clisp.org>
1284 Let `make -k install' install more files.
1286 * Makefile.in (MAKE_K_FLAG): New variable. Use it everywhere where
1287 $(MAKE) and $(MDEFINES) are used.
1288 (CPROGDIRS): Remove $(XPROGDIRS). Treat $(XPROGDIRS) like
1289 $(CPROGDIRS) everywhere.
1290 ($(DEVDIRS) $(XDEVDIRS) $(OTHERDEVDIRS) $(TTYDEVDIRS)): Don't depend
1292 ($(OTHERDIRS)): Likewise.
1295 * src/devices/grohtml/post-html.cpp (get_html_translation): Remove
1296 failure test for font::name_to_index -- it can never fail.
1298 2006-01-19 Werner LEMBERG <wl@gnu.org>
1300 * src/devices/grops/grops.man: Fix section on creating EPS files.
1301 Don't use future time in manual.
1304 2006-01-15 Gaius Mulley <gaius@glam.ac.uk>
1306 * tmac/www.tmac: New macro LINKSTYLE which allows users to set
1307 various typographical URL attributes for non-HTML devices.
1309 * tmac/groff_www.man: Document LINKSTYLE.
1311 2006-01-11 Werner LEMBERG <wl@gnu.org>
1313 * configure.ac: Test for getc_unlocked (needed for localcharset).
1314 * configure, src/include/config.hin: Regenerated.
1316 * src/libs/libgroff/Makefile.sub (EXTRA_CFLAGS): Define
1319 * src/libs/libgroff/relocatable.h: New dummy header file for
1322 * src/libs/libgroff/localcharset.c: Updated to (unchanged) CVS
1325 2006-01-10 Bruno Haible <bruno@clisp.org>
1327 Work around unportability of nl_langinfo(CODESET).
1329 * m4/glibc21.m4: New file, from gnulib.
1330 * Makefile.sub (M4MACROS): Add m4/glibc21.m4.
1331 * configure.ac: Also test for stddef.h, and invoke jm_GLIBC21.
1332 * Makefile.in (HOST, GLIBC21): New variables.
1333 (MDEFINES): Pass them to subdirectories.
1334 * src/include/relocate.h (relocatep): Define with C linkage.
1335 * src/include/localcharset.h: New file, from gnulib.
1336 * src/libs/libgroff/localcharset.c: New file, from gnulib with a
1337 modification for relocate().
1338 * src/libs/libgroff/config.charset: New file, from gnulib.
1339 * src/libs/libgroff/ref-add.sin: New file, from gnulib.
1340 * src/libs/libgroff/ref-del.sin: New file, from gnulib.
1341 * src/libs/libgroff/Makefile.sub (EXTRA_CFLAGS): Also define LIBDIR.
1342 (OBJS): Add localcharset.o.
1343 (CSRCS): Add localcharset.c.
1344 (all): Add dependencies to charset.alias, ref-add.sed, ref-del.sed.
1345 (charset.alias): New rule.
1346 (PACKAGE): New variable.
1347 (ref-add.sed, ref-del.sed): New rules.
1348 (MKINSTALLDIRS): New variable.
1349 (install_data): Depend on install_charset_data.
1350 (install_charset_data): New rule for creating or updating
1352 (uninstall_sub): Depend on uninstall_charset_data.
1353 (uninstall_charset_data): New rule for uninstalling or updating
1355 * src/preproc/preconv/preconv.cpp: Include localcharset.h instead
1357 (main): Initialize default_encoding from locale_charset() instead of
1358 nl_langinfo(CODESET).
1360 * aclocal.m4, configure, src/include/config.hin: Regenerated.
1362 2006-01-10 Werner LEMBERG <wl@gnu.org>
1364 * src/preproc/preconv/preconv.cpp (conversion_iconv): Use
1365 ICONV_CONST in call to iconv. Reported by Robert Goulding.
1367 2006-01-07 Werner LEMBERG <wl@gnu.org>
1369 * fonts/devps/generate/freeeuro.sfd: Run auto-hinter with recent
1371 Bump font version to 001.001.
1373 * fonts/devps/generate/Makefile (freeeuro.afm, freeeuro.pfa):
1374 Call fontforge, not pfaedit.
1376 * fonts/devps/freeeuro.afm, fonts/devps/freeeuro.pfa: Regenerated.
1378 2006-01-05 Ruslan Ermilov <ru@FreeBSD.org>
1380 * tmac/doc-common: Add new FreeBSD and NetBSD versions.
1381 * tmac/groff_mdoc.man: Updated.
1383 2006-01-05 Werner LEMBERG <wl@gnu.org>
1385 * src/preproc/preconv/preconv.cpp: s/debug/debug_flag/.
1386 (raw_flag): New global variable.
1387 (do_file): Use .lf to set file name (if `raw_flag' isn't set).
1388 Don't pass BOM to `conversion_utf8'.
1390 (main): Handle `-r' command line switch to set `raw_flag'.
1391 (get_BOM): Fix encodings in `BOM_table'.
1393 * src/preproc/preconv/preconv.man: New file. Not complete yet.
1394 * src/preproc/proconv/Makefile.sub (MAN1): New variable.
1396 2006-01-04 Werner LEMBERG <wl@gnu.org>
1398 * src/preproc/preconv/preconv.cpp (emacs_to_mime): As suggested by
1399 Bruno, comment out most encodings to support only a small set of
1400 coding tags, thus reducing potential problems with legacy encodings
1401 and character sets in the future.
1402 Add many XEmacs coding tags (now commented out).
1404 (check_encoding_tag): Renamed to...
1405 (check_coding_tag): This.
1406 (get_BOM): Return encoding as specified by BOM.
1407 Test for UTF32-LE too.
1408 (do_file): Don't check for coding tag if a BOM has been found.
1410 2006-01-03 Bruno Haible <bruno@clisp.org>
1412 * m4/groff.m4: Renamed from aclocal.m4.
1413 * m4/codeset.m4: New file, from gnulib.
1414 * m4/iconv.m4: New file, from gnulib.
1415 * m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4: New files, from
1417 * config.rpath: New file, from gnulib.
1418 * config.guess, config.sub: New files, from gnulib.
1419 * Makefile.sub (M4MACROS): New variable.
1420 (configure): Fix typo.
1421 (aclocal.m4): New rule.
1422 (stamp-h.in): Depend on aclocal.m4.
1423 * configure.ac: Invoke AM_ICONV and AM_LANGINFO_CODESET.
1424 * Makefile.in (LIBICONV): New variable.
1425 (MDEFINES): Pass it to recursive makes.
1426 * src/preproc/preconv/preconv.cpp: Use HAVE_LANGINFO_CODESET and
1427 HAVE_ICONV instead of I18N macro.
1428 * src/preproc/preconv/Makefile.sub (EXTRA_LDFLAGS): New variable.
1430 * aclocal.m4, configure, src/include/config.hin: (Re)generated.
1432 2006-01-03 Werner LEMBERG <wl@gnu.org>
1434 * doc/Makefile.in (webpage.html): Simplify.
1435 * doc/Makefile.sub (webpage.html): Synchronize with doc/Makefile.in.
1436 * doc/webpage.ms, tmac/groff_www.man, tmac/www.tmac: Minor updates.
1438 2006-01-01 Werner LEMBERG <wl@gnu.org>
1440 * tmac/doc-common (Os): Add some Darwin versions.
1441 * tmac/groff_mdoc.man: Document them.
1443 2006-01-01 Bruno Haible <bruno@clisp.org>
1445 * src/preproc/preconv/preconv.cpp (emacs_to_mime): Various
1447 . Don't map ascii to latin-1.
1448 . Don't use IBMxxx encodings but cpxxx for portability.
1449 . Map cp932, cp936, cp949, cp950 to itself.
1450 (emacs2mime): Protect calls to strcasecmp.
1451 (conversion_iconv): Add missing call to iconv_close.
1452 (do_file): Emit error message in case of unsupported encoding.
1454 2005-12-31 Werner LEMBERG <wl@gnu.org>
1456 Integrate preconv into the groff binary. Changes based on a patch
1457 from Michail Vidiassov.
1459 * src/roff/groff/pipeline.h (MAX_COMMANDS): Increase by 1.
1461 * src/roff/groff/groff.cpp (PRECONV_INDEX): New macro.
1462 (SOELIM_INDEX): Updated.
1463 (help, synopsis): Updated.
1464 (main): Add command line options `-k' and `-K enc' to select
1466 Add support for GROFF_ENCODING environment variable.
1468 * src/roff/groff/groff.man: Updated and revised.
1471 Start with autoconf support for preconv.
1473 * configure.ac: Call AC_C_BIGENDIAN.
1474 * configure, src/include/config.hin: Regenerated.
1476 2005-12-30 Werner LEMBERG <wl@gnu.org>
1478 New preprocessor `preconv' to convert input encodings to something
1479 groff can understand. Not yet integrated within groff. Proper
1480 autoconf stuff is missing too.
1482 Tomohiro Kubota has written a first draft of this program, and some
1483 ideas have been reused (while almost no code has been taken
1486 * src/preproc/preconv/preconv.cpp. src/preproc/preconv/Makefile.sub:
1489 * MANIFEST, Makefile.in (CCPROGDIRS), test-groff.in
1490 (GROFF_BIN_PATH): Add preconv.
1492 2005-12-12 Werner LEMBERG <wl@gnu.org>
1494 * aclocal.m4 (GROFF_MAKEINFO): Fix regexps to be POSIX conformant.
1495 In particular, don't use `\+' since it is a GNU sed extension.
1497 * configure: Regenerated.
1499 2005-12-09 Werner LEMBERG <wl@gnu.org>
1501 * src/libs/libgroff/make-uniuni: New script to generate uniuni.cpp.
1503 * src/libs/libgroff/uniuni.cpp: Regenerated, using data from Unicode
1507 * src/utils/afmtodit/make-afmtodit-tables: New script to generate
1510 * src/utils/afmtodit/afmtodit.tables: New file, representing Unicode
1513 * src/utils/afmtodit/afmtodit.pl (%unicode_decomposed,
1514 %AGL_to_unicode): Removed. Replace it with a tag.
1516 * src/utils/afmtodit/Makefile.sub (afmtodit): Adjust sed expression
1517 to replace tag with actual file contents.
1519 2005-12-08 Werner LEMBERG <wl@gnu.org>
1521 The change 2005-06-20 can indeed cause problems, so we follow the
1522 advice by using marks.
1524 * font/devps/prologue.ps (PBEGIN): Use `mark'.
1525 (PEND): Use `cleartomark'.
1527 2005-12-07 Michail Vidiassov <master@iaas.msu.ru>
1529 * src/utils/afmtodit.pl: Fix kerning output to avoid warnings for
1530 glyphs which have kern values but aren't handled (glyph variants,
1533 2005-12-02 Werner LEMBERG <wl@gnu.org>
1535 * src/devices/grops/ps.cpp (ps_printer::get_subfont): Use correct
1536 subfont index. Reported by Michail Vidiassov <master@iaas.msu.ru>.
1538 2005-11-28 Gaius Mulley <gaius@glam.ac.uk>
1540 * doc/Makefile.in: Separate rule for webpage.html so that extra
1541 command line options can be passed to grohtml.
1542 * doc/groff.css: Change all margins to 0%.
1543 * doc/webpage.ms: Now use new macros ALN, LNS, and LNE so that left
1544 navigation is exploited. Also update webpage to contain new
1545 sections on licenses, mailing lists, cvs/ftp access, groff
1546 dependencies, and bug reports.
1547 * tmac/groff_www.man: Document the new macros ALN, LNS, and LNE.
1548 * tmac/www.tmac: Implement the new macros ALN, LNS, and LNE.
1550 2005-11-25 Gaius Mulley <gaius@glam.ac.uk>
1552 * src/devices/grohtml/post-html.cpp
1553 (html_printer::do_file_components): Add fputs calls to emit the
1554 head contents and shut down the head tag whenever a new file
1555 component is generated.
1557 2005-11-22 Gaius Mulley <gaius@glam.ac.uk>
1559 * src/devices/grohtml/post-html.cpp (html_printer::flush_page): Add
1560 call to flush_text to flush any outstanding html tags on the
1563 2005-11-18 Werner LEMBERG <wl@gnu.org>
1565 * aclocal.m4 (GROFF_MAKEINFO): Use `groff.info' in tests.
1566 Announce makeinfo version.
1567 * configure: Regenerated.
1569 2005-11-18 Mike Frysinger <vapier@gentoo.org>
1571 * Makefile.in: Declare proper dependencies between make targets.
1573 * doc/Makefile.in: Rename groff info page to `groff.info'.
1574 * doc/Makefile.sub: Likewise.
1575 * doc/groff.texinfo: Likewise.
1577 2005-11-17 Peter O'Gorman <mlists@thewrittenword.com>
1579 * src/utils/pfbtops/pfbtops.c, src/utils/xtotroff/xtotroff.c: Move
1580 definition of __GETOPT_PREFIX to the beginning of file to ensure
1581 that it is defined even on platforms where getopt.h is already
1582 included by other header files.
1584 2005-11-10 Gaius Mulley <gaius@glam.ac.uk>
1586 * src/devices/grohtml/post-html.cpp (html_printer::do_heading):
1587 Reset font to NULL to ensure that a font block is recreated during
1590 2005-11-04 Werner LEMBERG <wl@gnu.org>
1592 * aclocal.m4 (GROFF_MAKEINFO): Fix sed expression.
1593 * configure: Regenerated.
1595 2005-10-27 Werner LEMBERG <wl@gnu.org>
1597 * aclocal.m4 (GROFF_MAKEINFO): New function for checking whether
1598 makeinfo 4.8 or newer is available.
1599 * configure.ac: Call GROFF_MAKEINFO.
1600 * configure: Regenerated.
1602 * Makefile.in (MAKEINFO): Use autoconf variable.
1603 (MDEFINES): Add MAKEINFO.
1605 * doc/Makefile.in (MAKEINFO): Use autoconf variable.
1606 * doc/Makefile.sub (MAKEINFO): Remove.
1608 2005-10-26 Werner LEMBERG <wl@gnu.org>
1610 * REVISION: Set to 3.
1612 2005-10-17 Werner LEMBERG <wl@gnu.org>
1614 Mention $MANPAGER variable used with some `man' systems.
1616 * doc/webpage.ms, src/devices/grotty/grotty.man, NEWS: Updated.
1618 2005-09-13 Werner LEMBERG <wl@gnu.org>
1620 * tmac/hyphenex.us: New version (`ushyphex.tex' from ftp.dante.de).
1622 2005-09-04 Werner LEMBERG <wl@gnu.org>
1624 Version 1.19.2 released
1625 =======================
1627 * tmac/groff_ms.man, doc/groff.texinfo: Synchronize.
1629 * doc/webpage.ms: Updated.
1631 * install-sh, mkinstalldirs: New versions; taken from texinfo CVS.
1633 2005-09-04 Jörgen Grahn <jgrahn@algonet.se>
1635 * tmac/groff_ms.man: Document `PO' better.
1637 2005-09-03 Werner LEMBERG <wl@gnu.org>
1639 * NEWS: Document grotty changes.
1641 2005-09-01 Keith Marshall <keith.d.marshall@ntlworld.com>
1643 Backward compatibility support for `man' program.
1645 * tmac/an-old.tmac (LL): Initialize it to respect prior LL register
1646 assignment, prior `.ll' request and then package defaults, in this
1647 specified order of decreasing priority.
1649 * tmac/groff_man.man, doc/groff.texinfo (Man options): Document
1650 altered `LL' register initialization priorities.
1652 2005-08-29 Gary W. Swearingen <garys@opusnet.com>
1654 * tmac/groff_mdoc.man: Go into more details how the `AUTHORS'
1655 section should look like.
1657 2005-08-29 Werner LEMBERG <wl@gnu.org>
1659 * tmac/groff_mdoc.man: The month's name in a call to .Dd shouldn't
1662 2005-08-27 Bernd Warken
1664 * tmac/groff_man.man: Add man(7) too SEE ALSO and more minor
1667 2005-08-11 Bernd Warken
1669 * tmac/www.tmac (URL, MTO): Handle empty \\$1 better.
1671 2005-08-09 Bernd Warken
1673 * tmac/www.tmac (URL, MTO): Use bold series if color support is
1676 2005-08-02 Bernd Warken
1678 * doc/Makefile.sub (uninstall_sub): Use --remove, not --delete
1679 as argument to $(INSTALL_INFO). The latter isn't portable.
1680 Remove $(HTMLEXAMPLEFILES) too.
1682 * Makefile.in (uninstall_dirs): Remove $(datadir)/doc/groff and
1684 Suppress warning messages and return always true.
1686 * tmac/Makefile.sub (uninstall_sub): Remove www.tmac too.
1688 2005-07-02 Bernd Warken
1690 * src/devices/xditview/gxditview.man: Change many `.I' to `.B'.
1691 * man/groff_out.man: More markup and minor improvements.
1692 * src/roff/groff/groff.man: Minor improvements.
1694 2005-06-28 Werner LEMBERG <wl@gnu.org>
1696 * ChangeLog: Split off older entries into...
1697 * ChangeLog.115 ChangeLog.116, ChangeLog.117, ChangeLog.118: New
1700 2005-06-26 Bernd Warken
1702 * src/devices/xditview/gxditview.man: More minor fixes.
1704 2005-06-24 Werner LEMBERG <wl@gnu.org>
1706 * src/preproc/pic/troff.cpp (troff_output::set_fill,
1707 troff_output::set_color, troff_output::reset_color): Use .bcolor and
1708 .fcolor instead of \m and \M, respectively.
1710 2005-06-23 Bernd Warken
1712 * src/devices/xditview/gxditview.man: More minor fixes.
1713 * README: Formatting issues.
1714 Mention some problems with Debian.
1716 2005-06-23 Bernd Warken
1718 * src/devices/xditview/gxditview.man: Revised and improved.
1720 2005-06-22 Werner LEMBERG <wl@gnu.org>
1722 Another round in fixing getopt problems. Hopefully the last one!
1723 This time we use the getopt stuff from gnulib and define a prefix
1724 unconditionally so that there are no collisions with any other
1725 getopt implementations. This is a slight waste of space in case
1726 we already use a GNU getopt implementation, but on
1727 the other hand it really simplifies life.
1729 * src/include/getopt.h: Use gnulib version.
1731 * src/include/getopt_int.h: Use gnulib version.
1733 * src/include/groff-getopt.h: Removed. Obsolete now.
1735 * src/include/lib.h: Regarding getopt, don't handle any platform
1736 specially; just include getopt.h.
1737 (__GETOPT_PREFIX): Define (before getopt.h).
1739 * src/include/Makefile.sub (HDRS): Updated.
1741 * src/libs/libgroff/getopt1.c, src/libs/libgroff/getopt.c: Use
1744 * src/libs/libgroff/Makefile.sub (EXTRA_CFLAGS): Set
1747 * src/utils/pfbtops/pfbtops.c, src/utils/xtotroff/xtotroff.c
1748 (__GETOPT_PREFIX): Define (before getopt.h).
1750 2005-06-21 Werner LEMBERG <wl@gnu.org>
1752 * src/include/lib.h: Provide a fix for Mac OS X to not include
1755 2005-06-20 Denis M. Wilson <dmw@oxytropis.plus.com>
1757 * font/devps/prologue.ps (EP): Dont' use `bind'. Reason: Using
1758 `bind' to define a procedure which contains `showpage' means that an
1759 invocation of `showpage' may execute wrongly (the exact effect
1760 depending on the interpreter). Not usually a problem except under
1761 transformations, such as combining pages.
1762 (PEND): Don't call `clear'. Reason: Using `clear' in the definition
1763 of /PEND means that stack underflow will occur if the stack is
1764 deliberately non-empty before document inclusion. If included
1765 files are found to be generally badly behaved, we could replace the
1766 `clear' with `mark' in /PBEGIN and `cleartomark' in /PEND (I've
1767 never found this necessary).
1769 2005-06-20 Jörgen Grahn <jgrahn@algonet.se>
1771 * src/preproc/soelim/soelim.cpp (do_file): Append trailing zero
1772 earlier to get correct error message.
1774 2005-06-16 Bernd Warken
1775 * src/roff/nroff/nroff.sh: Add support for iso-8859-15.
1777 2005-06-15 Werner LEMBERG <wl@gnu.org>
1779 Another try to update getopt files. This time we add a dummy
1780 gettext.h file to satisfy the dependency.
1782 * src/include/getopt.h, src/libs/libgroff/getopt.c,
1783 src/libs/libgroff/getopt1.c: Updated from GNU libc CVS.
1785 * src/include/getopt_int.h: New file (from GNU libc CVS).
1787 * src/include/gettext.h: Dummy file which just defines a gettext()
1790 * src/include/groff-getopt.h: Updated.
1792 * src/include/Makefile.sub (HDRS): Add getopt_int.h and gettext.h.
1795 * src/libs/libdriver/input.cpp (IntArray): Remove superfluous
1796 `const' keywords in return value.
1798 * src/preproc/html/pushback.cpp (pushBackBuffer::~pushBackBuffer):
1799 Remove redundant variable `old'.
1800 (pushBackBuffer::skipToNewline): Remove redundant variable `ch'.
1802 * src/preproc/tbl/main.cpp (process_table): Remove redundant
1806 Fix more friend name injection problems since modern C++ compilers
1807 fail otherwise. We simply provide (global) declarations for all
1808 functions declared as friends. This is not really necessary but
1811 * src/preproc/eqn/lex.cpp: Provide declarations for get_char,
1812 peek_char, and get_location.
1814 * src/preproc/refer/ref.h: Provide declarations for
1815 compare_reference, same_reference, same_year, same_date,
1816 same_author_last_name, and same_author_name.
1818 * src/roff/troff/div.h: Provide declarations for do_divert and
1821 * src/roff/troff/env.h: Provide declarations for title_length,
1822 space_size, fill, no_fill, adjust, no_adjust, center, right_justify,
1823 vertical_spacing, post_vertical_spacing, line_spacing, line_length,
1824 indent, temporary_indent, do_underline, do_input_trap, set_tabs,
1825 margin_character, no_number, number_lines, leader_character,
1826 tab_character, hyphenate_request, no_hyphenate,
1827 hyphen_line_max_request, hyphenation_space_request,
1828 hyphenation_margin_request, line_width, tabs_save, tabs_restore,
1829 line_tabs_request, widow_control_request, and do_divert.
1831 * src/roff/troff/input.cpp: Provide declaration for chop_macro.
1833 * src/roff/troff/node.cpp: Provide declarations for class
1835 Provide declaration for make_tfont.
1837 2005-05-29 Werner LEMBERG <wl@gnu.org>
1839 * doc/fdl.texi: Updated to version 1.2. Reported by Bernd Warken.
1841 2005-05-28 Werner LEMBERG <wl@gnu.org>
1843 * contrib/pdfmark/Makefile.sub (.ms.pdf): Use `--stylesheet', not
1846 * src/devices/grolbp/lbp.cpp, src/devices/grolbp/lbp.h: Remove
1847 redundant semicolons.
1849 * src/preproc/eqn/Makefile.sub, src/preproc/html/Makefile.sub,
1850 src/preproc/soelim/Makefile.sub, src/preproc/tbl/Makefile.sub:
1851 Define `MLIB'. Some compilers need this for linking with libgroff.
1853 2005-05-27 Werner LEMBERG <wl@gnu.org>
1855 * MANIFEST, README, doc/webpage.ms: Updated.
1857 2005-05-26 Werner LEMBERG <wl@gnu.org>
1859 * All affected files: Update postal address of FSF.
1861 2005-05-25 Keith Marshall <keith.d.marshall@ntlworld.com>
1864 * README: More fixes.
1866 * README.CVS: Removed. Its contents is now part of the README file.
1868 2005-05-21 Werner LEMBERG <wl@gnu.org>
1870 * README: Updated. Based on a patch from Bernd Warken.
1872 2005-05-16 Keith Marshall <keith.d.marshall@ntlworld.com>
1874 Miscellaneous script portability enhancements.
1876 * aclocal.m4: (GROFF_CSH_HACK): Add space in shebang prototype for
1877 generated conftest.sh script, conforming to portability
1878 recommendation in autoconf docs.
1879 * configure: Likewise, for code generated by GROFF_CSH_HACK.
1880 * contrib/eqn2graph/eqn2graph.sh: Add space in shebang, conforming
1881 to portability recommendation in autoconf docs.
1882 * contrib/gdiffmk/gdiffmk.sh: Likewise.
1883 * contrib/gdiffmk/tests/runtests.in: Likewise.
1884 * contrib/grap2graph/grap2graph.sh: Likewise.
1885 * contrib/groffer/groffer.sh: Likewise.
1886 * contrib/mm/mmroff.pl: Likewise.
1887 * contrib/mom/momdoc/appendices.html: Likewise.
1888 * contrib/pic2graph/pic2graph.sh: Likewise.
1889 * font/devps/generate/afmname: Likewise.
1890 * src/devices/xditview/ad2c: Likewise.
1891 * src/preproc/eqn/neqn.sh: Likewise.
1892 * src/roff/grog/grog.pl: Likewise.
1893 * src/roff/grog/grog.sh: Likewise.
1894 * src/roff/nroff/nroff.sh: Likewise.
1895 * PROBLEMS: Likewise, in embedded script examples.
1897 2005-05-16 Keith Marshall <keith.d.marshall@ntlworld.com>
1899 Improve portability of `pdfroff' shell script.
1901 * arch/misc/shdeps.sh: Add space in shebang, conforming to
1902 portability guidelines in `autoconf' docs.
1903 (PATH_SEARCH_SETUP): New substitution; emits PATH_SEPARATOR
1904 initialization code. Used by contrib/pdfmark/pdfroff.sh's
1905 `searchpath' function.
1907 2005-05-14 Werner LEMBERG <wl@gnu.org>
1909 * contrib/pic2graph/pic2graph.sh, contrib/graph2graph.sh,
1910 contrib/eqn2graph.sh: Add option `-trim' to `convert' which is
1911 needed for newer ImageMagick versions.
1913 2005-05-07 Werner LEMBERG <wl@gnu.org>
1915 * src/preproc/refer/refer.man: Many small typographic fixes.
1917 2005-05-06 Jeff Conrad <jeff_conrad@msn.com>
1919 * src/devices/grohtml/post-html.cpp (assert_state::~assert_state):
1920 Use `char *' cast for a_delete.
1922 2005-05-03 Werner LEMBERG <wl@gnu.org>
1924 * src/libs/libgroff/maxpathname.cpp: Include stdlib.h.
1925 src/libs/libgroff/relocate.cpp: Use path_name_max everywhere.
1927 2005-05-03 Jeff Conrad <jeff_conrad@msn.com>
1929 * src/devices/grohtml/post-html.cpp: Use casts to `char *' if using
1930 `a_delete' for `const char *'.
1932 2005-05-03 Werner LEMBERG <wl@gnu.org>
1934 * src/devices/grohtml/post-html.cpp,
1935 src/devices/grohtml/html-table.cpp,
1936 src/devices/grohtml/html-text.cpp, src/devices/grohtml/output.cpp:
1937 Replace malloc/free with new/delete/a_delete.
1939 * src/devices/grolbp/lbp.h: Remove superfluous semicolons which
1940 are prohibited with ANSI C++.
1941 (lbpprintf, vdmprintf): Remove useless `inline' keyword (since the
1942 function has a variable number of arguments).
1944 * src/preproc/grn/main.cpp (doinput): Change return type to `int'.
1945 Simplify function and update all callers.
1947 2005-05-02 Werner LEMBERG <wl@gnu.org>
1949 Undo getopt changes from 2005-04-30. We don't want a dependency
1952 * src/include/getopt_int.h: Removed.
1954 * src/include/getopt.h, src/include/groff-getopt.h,
1955 src/include/Makefile.sub, src/libs/libgroff/getopt.c,
1956 src/libs/libgroff/getopt1.c: Revert to previous version.
1959 * src/include/nonposix.h (access) [_MSC_VER]: New macro.
1961 * src/include/posix.h (F_OK): Define conditionally.
1963 * src/devices/grotty/tty.cpp (tty_printer::make_underline): Use
1964 different variable name in second `for' loop to avoid MSVC compiler
1967 2005-04-30 Werner LEMBERG <wl@gnu.org>
1969 AC_TYPE_SIGNAL from current autoconf can fail if CC=g++.
1971 * aclocal.m4 (GROFF_TYPE_SIGNAL): New function.
1972 * configure.ac: Use GROFF_TYPE_SIGNAL, not AC_TYPE_SIGNAL.
1973 * configure, src/include/config.hin: Regenerated.
1975 * PROBLEMS: Updated.
1978 Update getopt files.
1980 * src/include/getopt.h, src/libs/libgroff/getopt.c,
1981 src/libs/libgroff/getopt1.c: Updated from GNU libc CVS.
1983 * src/include/getopt_int.h: New file (from GNU libc CVS).
1985 * src/include/groff-getopt.h: Updated.
1987 * src/include/Makefile.sub (HDRS): Add getopt_int.h.
1990 * font/devutf8/NOTES: Updated.
1992 2005-04-28 Werner LEMBERG <wl@gnu.org>
1994 Bug fix for Win32 relocatable code. Based on a patch from Keith
1997 * src/libs/libgroff/maxpathname.cpp (PATH_MAX): Test for `_MAX_PATH'
2000 * src/libs/libgroff/relocate.c (DEBUG): Define it conditionally.
2001 (searchpath) [_WIN32]: Use `_fullpath', not `realpath'.
2003 2005-04-28 Keith Marshall <keith.d.marshall@ntlworld.com>
2005 Correct `gnu.eps' handling for build from distribution tarball, with
2006 separate source and build directories.
2008 * doc/Makefile.sub: (examples.stamp): New target; forces copy of
2009 grnexmpl.g, groff.css and gnu.eps from source to build directory;
2010 generate gnu.eps from gnu.xpm if required; touch examples.stamp.
2011 (prepare_examples): Make it depend on examples.stamp.
2012 (CLEANADD): Add examples.stamp.
2014 2005-04-27 Werner LEMBERG <wl@gnu.org>
2018 position: `(' position `)'
2022 * src/preproc/pic/pic.y (position, position_not_place): Handle
2023 additional parentheses.
2025 * doc/pic.ms: Updated.
2027 2005-04-23 Larry Jones <lawrence.jones@ugs.com>
2029 * src/utils/xtotroff/xtotroff.c (MapFont): Fix variable declaration.
2031 2005-04-18 Werner LEMBERG <wl@gnu.org>
2033 * src/roff/groff/pipeline.c: Don't include ctype.h.
2035 2005-04-13 Werner LEMBERG <wl@gnu.org>
2037 * src/roff/nroff/nroff.man: Document option `-M'.
2039 2005-04-13 Bruce Lilly <blilly@erols.com>
2041 * src/roff/nroff/nroff.sh: Make the script accept option `-M'.
2043 2005-04-01 Kees Zeelenberg <kzlg@users.sourceforge.net>
2044 Werner LEMBERG <wl@gnu.org>
2046 Add binary relocation support for Windows platforms.
2048 * src/include/Makefile.sub (defs.h): Add `INSTALLPATH'.
2050 * src/include/relocate.h, src/libs/libgroff/relocate.cpp: New files.
2052 * src/libs/libgroff/searchpath.cpp: Handle `relocate'.
2053 (search_path::search_path, search_path::open_file_cautious): Use
2056 * src/libs/libgroff/Makefile.sub (OBJS, CCSRCS),
2057 src/include/Makefile.sub (HDRS): Updated.
2059 2005-04-01 Werner LEMBERG <wl@gnu.org>
2061 * src/devices/grohtml/post-html.cpp: Don't use strdup/free but
2064 * src/libs/libgroff/font.cpp: Replace strdup with strsave.
2066 * src/libs/libgroff/maxfilename.cpp: Don't include limits.h since
2067 lib.h already does it.
2069 * src/libs/libgroff/maxpathname.cpp: New file, defining
2072 * src/include/lib.h: Add prototype for path_name_max.
2074 * src/libs/libgroff/Makefile.sub (OBJS, CCSRCS): Updated.
2076 * src/include/nonposix.h (PATH_EXT): New macro.
2078 2005-03-28 Werner LEMBERG <wl@gnu.org>
2080 Add support for double- and zero-width characters in grotty.
2082 * src/devices/grotty/tty.cpp (glyph): Add width.
2083 (tty_printer::make_underline, tty_printer::make_bold,
2084 tty_printer::add_character): Add parameter to pass character width.
2086 (tty_printer::end_page): Increase hpos by actual character width.
2088 * font/devutf8/R.proto: Specify zero width for non-spacing
2091 * tmac/unicode.tmac: Remove definitions for non-spacing entities.
2093 * Makefile.comm (extraclean): Remove more junk files.
2095 2005-03-25 Werner LEMBERG <wl@gnu.org>
2097 * configure.ac: Undo change from 2005-03-24.
2098 * configure: Regenerated.
2100 2005-03-24 Werner LEMBERG <wl@gnu.org>
2102 * Makefile.in (NOMAKEDIRS): Add contrib/gdiffmk/tests.
2103 (dist): Search Makefile while descending into $(EXTRADIRS).
2105 * doc/Makefile.in (.PHONY): Add.
2106 (clean): Don't remove *.png and *.eps.
2108 (realclean): Remove *.png and *.eps.
2109 (extraclean): Depend on distclean.
2111 * configure.ac: Add copyright.
2112 Handle contrib/pdfmark/Makefile.
2114 * configure: Regenerated.
2116 2005-03-18 Larry Kollar <kollar@alltel.net>
2118 Add numbered and definition lists to www.tmac.
2120 * tmac/www.tmac (www-ul-level1, www-ul-level2, www-ul-level3,
2121 www-ol-level1, www-ol-level2, www-ol-level3, www-ol-tmp): New
2122 auxiliary string registers.
2123 (www-ul-level, www-ol-level, www-dl-level, www-ol-ctr1, www-ol-ctr2,
2124 www-ol-ctr3, www-dl-shift): New auxiliary number registers.
2125 (www-level): Removed.
2126 (www-level1, www-level2, www-level3): Initialize to empty.
2127 (www-level0, www-level4, www-level5, www-level6, www-level7,
2128 www-level8, www-level9): New string registers.
2129 (www-push-li, www-pop-li): New macros.
2130 (www-push-level, www-pop-level): Renamed to...
2131 (www-push-ul-level, www-pop-ul-level): This.
2133 (www-push-ol-level, www-pop-ol-level): New macros.
2134 (ULS, ULE): Updated.
2135 (OLS, OLE, DLS, DLE): New user macros.
2136 (LI): Removed. It is aliased to one of...
2137 (www-li-ul, www-li-ol, www-li-dl): New macros.
2139 * tmac/groff_www.man: Document new macros.
2143 2005-03-18 Werner LEMBERG <wl@gnu.org>
2145 * tmac/doc-common (doc-operating-system-NetBSD-2.0.1,
2146 doc-operating-system-NetBSD-2.0.2): New strings.
2148 * tmac/groff_mdoc.man: Updated.
2150 2005-03-17 Werner LEMBERG <wl@gnu.org>
2152 * doc/Makefile.sub (CLEANADD): Add `groff.html'.
2154 2005-03-17 Werner LEMBERG <wl@gnu.org>
2156 * src/libs/libgroff/hypot.c: Renamed to...
2157 * src/libs/libgroff/hypot.cpp: This. Updated to C++.
2159 * src/libs/libgroff/Makefile.sub (CCSRCS, CSRCS): Updated.
2161 * src/include/lib.h: Updated.
2163 2005-03-16 Werner LEMBERG <wl@gnu.org>
2165 Add workaround for broken hypot() on Interix.
2167 * src/libs/libgroff/hypot.c: New wrapper file for `hypot'.
2169 * src/libs/libgroff/Makefile.sub (OBJS): Add `hypot.o'.
2170 (CSRCS): Add `hypot.c'.
2172 * src/include/lib.h: Declare `groff_hypot'.
2174 * src/preproc/grn/hgraph.cpp: Don't declare `hypot'.
2177 * src/preproc/pic/pic.h: Don't declare `hypot'.
2179 * src/preproc/pic/object.cpp (hypot): Use `groff_hypot'.
2181 2005-03-15 Gaius Mulley <gaius@glam.ac.uk>
2183 * src/devices/grohtml/post-html.cpp
2184 (html_printer::lookahead_for_tables): End .ce properly to avoid a
2187 2005-03-15 Werner LEMBERG <wl@gnu.org>
2189 makeinfo 4.8 doesn't produce good HTML output from groff.texinfo.
2191 * doc/fixinfo.sh: New script to postprocess makeinfo's HTML output.
2193 * doc/Makefile.in (.texinfo.html): Call fixinfo.sh.
2195 2005-03-14 Werner LEMBERG <wl@gnu.org>
2197 Add Cyrillic support to devutf8 and devhtml.
2199 * font/devutf8/R.proto, font/devhtml/R.proto: Add Cyrillic blocks.
2201 * tmac/unicode.tmac: New file.
2203 * tmac/tty.tmac: Include unicode.tmac if device is utf8.
2205 * tmac/Makefile.sub (NORMALFILES): Add unicode.tmac.
2209 2005-03-02 Keith Marshall <keith.d.marshall@ntlworld.com>
2211 * src/libs/libdriver/printer.cpp (check_for_output_error): New
2212 function. It has been introduced to catch peculiar error contexts
2213 on MS-Windows platforms.
2215 2005-02-28 Werner LEMBERG <wl@gnu.org>
2217 * src/roff/troff/input.cpp (string_iterator::fill): Protect against
2220 * tmac/papersize.tmac: Convert `paper' string contents to lowercase.
2222 * configure: Regenerated.
2226 2005-02-28 Keith Marshall <keith.d.marshall@ntlworld.com>
2228 Integrate `pdfmark' into normal groff build system;
2229 install macro `pdfmark' packages, build and install `pdfroff',
2230 and PDF format documentation.
2232 * Makefile.comm: Add PDFDOCDIR.
2234 * Makefile.in: (MDEFINES) ALT_AWK_PROGS, ALT_GHOSTSCRIPT_PROGS,
2235 pdfdocdir, make_pdfdoc, make_install_pdfdoc: New variables.
2236 (unstall_dirs): Add pdfdocdir.
2238 * aclocal.m4: (GROFF_GHOSTSCRIPT_PREFS): New function; support
2239 `--with-alt-gs' option, set ALT_GHOSTSCRIPT_PROGS.
2240 (GROFF_GHOSTSCRIPT_PATH): Support `--with-gs' option, force use of
2241 GROFF_GHOSTSCRIPT_PREFS, set GHOSTSCRIPT.
2242 (GROFF_HTML_PROGRAMS): Force use of GROFF_GHOSTSCRIPT_PATH; tidy up.
2243 (GROFF_AWK_PREFS): New function; support `--with-alt-awk' option,
2245 (GROFF_AWK_PATH): New function; support `--with-awk' option, force
2246 use of GROFF_AWK_PREFS.
2247 (GROFF_PDFDOC_PROGRAMS): New function; force use of GROFF_AWK_PATH
2248 and GROFF_GHOSTSCRIPT_PATH, set make_pdfdoc and make_install_pdfdoc.
2250 * configure.ac: Add AC_PREREQ(2.59), GROFF_PDFDOC_PROGRAMS.
2251 Remove GROFF_GHOSTSCRIPT_PATH, (forced by GROFF_PDFDOC_PROGRAMS, and
2252 also by modified GROFF_HTML_PROGRAMS).
2254 2005-02-27 Gaius Mulley <gaius@glam.ac.uk>
2256 * src/devices/grohtml/html-text.cpp (html_text::do_pre): Preserve
2258 (html_text::done_para): Unset `start_space'.
2259 (html_text::remove_para_align): Call `retrieve_para_space' for the
2262 * src/devices/grohtml/post-html.cpp (html_printer::emit_raw): Unset
2264 (html_printer::do_check_center): Emit vertical space if necessary.
2266 * src/roff/troff/env.cpp (environment_switch): Preserve
2267 `seen_space', `seen_eol', and `suppress_next_eol' while switching
2270 * src/roff/troff/node.cpp (suppress_node::suppress_node): Set
2273 2005-02-20 Werner LEMBERG <wl@gnu.org>
2275 * src/preproc/eqn/eqn.man, NEWS: Document various extensions of
2278 2005-02-17 Werner LEMBERG <wl@gnu.org>
2280 * doc/pic.ms, man/groff.man: Fix typos.
2282 * doc/groff.texinfo: Fix typos.
2283 (\LEmacro): Get proper mathematical spacing.
2285 2005-02-16 Werner LEMBERG <wl@gnu.org>
2287 * aclocal.m4 (GROFF_APPRESDIR_CHECK): Improve warning message.
2288 * configure: Regenerated with autoconf 2.59b.
2290 2005-02-16 Gaius Mulley <gaius@glam.ac.uk>
2292 * src/devices/grohtml/post-html.cpp (html_printer::is_line_start,
2293 html_printer::start_font): Fix handling of preformatted text.
2295 2005-02-15 Gaius Mulley <gaius@glam.ac.uk>
2297 These patches modify the indentation implementation to use `<p
2298 style=margin-left: n%>'. Many thanks to Peter and Larry for
2299 suggesting this solution. Grohtml only uses tables for `.IP' and
2300 related tags when the first operand has a short width.
2302 Similarly, they modify all vertical space code. By default, grohtml
2303 sets up a style sheet which uses no vertical space between `table',
2304 `pre', and `p' tags. It forces spaces when it needs them using
2305 `style="margin-top: 1em"'.
2307 * src/devices/grohtml/html-table.cpp: Include `html-text.h'.
2308 (html_table::emit_table_header, html_table::emit_new_row):
2310 (html_table::set_space): New function.
2311 (html_indent::html_indent): Don't set `is_used'.
2312 (html_indent::begin): Rewritten.
2313 (html_indent::end): Remove code in function.
2315 * src/devices/grohtml/html-table.h: Updated.
2316 (html_table): Make `out' public.
2318 * src/devices/grohtml/html-text.cpp (html_text::html_text):
2319 Initialize `start_space' with FALSE.
2320 (html_text::end_tag) <P_TAG, PRE_TAG>: Updated.
2321 (html_text::issue_tag): Add argument to handle space style.
2322 (html_text::start_tag) <P_TAG, PRE_TAG>: Updated.
2323 (html_text::flush_text): Don't set `start_space'.
2324 (html_text::push_para): Don't set `p->really_issued'.
2325 (html_text::do_emittext): Updated.
2326 (html_text::do_para): Add paremeter to handle space.
2328 (html_text::retrieve_para_space): New function.
2330 * src/devices/grohtml/html-text.h (STYLE_VERTICAL_SPACE): New macro.
2331 (tag_definition): Remove `really_issued'.
2332 (html_text): Updated.
2334 * src/devices/grohtml/post-html.cpp (html_printer): Add variables
2335 `current_column' and `row_space'.
2337 (html_printer::emit_raw, html_printer::write_header,
2338 html_printer::do_indent, html_printer::do_check_center,
2339 html_printer::do_tab_ts): Handle vertical space.
2340 (html_printer:do_tab_te, html_printer::do_end_para): Call
2341 `remove_para_space'.
2342 (html_printer::do_col): Rewritten.
2343 (html_printer::flush_globs): Remove debugging code.
2344 (html_printer::is_line_start): New function.
2345 (html_printer::start_font): Use `is_line_start'.
2346 (html_printer::writeHeadMetaStyle): New function.
2347 (html_printer::do_file_components, html_printer::~html_printer):
2348 Call `writeHeadMetaStyle'.
2350 * tmac/www.tmac (www-handle-percent): New macro.
2351 (MPIMG): Handle percent values for width and height parameters.
2354 * tmac/groff_www.man: Updated.
2356 2005-02-14 Werner LEMBERG <wl@gnu.org>
2358 * src/utils/afmtodit/afmtodit.pl: Remove an incorrect `my' from
2359 $psname and $italic_angle.
2360 Immediately restart file input loops if `split' returns an empty
2363 2005-02-13 Michail Vidiassov <master@iaas.msu.ru>
2364 Werner LEMBERG <wl@gnu.org>
2366 Update afmtodit to better support Unicode (Michail).
2367 Update afmtodit to use Perl 5 syntax (Werner).
2369 * src/utils/afmtodit/afmtodit.pl: Don't use `getopts.pl' but
2371 Decorate variables with `my' where necessary.
2372 Use `defined' where necessary to avoid warnings.
2373 Don't use `do' for subroutine calls.
2374 Other minor syntax updates.
2375 Check for both `uXXXX[X[X]]' and `uniXXXX'.
2376 Handle glyph variants properly.
2377 (%unicode_decomposed, %AGL_to_unicode): Don't use `u' prefix in
2380 * src/utils/afmtodit/afmtodit.man: Updated.
2382 2005-02-13 Werner LEMBERG <wl@gnu.org>
2384 Make groff.texinfo work with texinfo 4.8.
2386 * doc/groff.texinfo (@Var): Use @r and @slanted.
2387 (@defdummy, @Def*): Use @c to avoid empty lines.
2388 (\angles): Replaced with...
2389 (\Langlemacro, \Ranglemacro): New TeX macros.
2390 (@Langlemacro, @Ranglemacro): New variables defined with @set.
2391 (@angles): Use @Langlemacro and @Ranglemacro.
2392 (\LE): Replaced with...
2393 (\LEmacro): New TeX macro.
2394 (@LEmacro): New variable defined with @set.
2395 (@LE): Use @LEmacro.
2396 (@Lparenmacro, @Rparenmacro, @Lbrackmacro, @Rbrackmacro): New
2397 variables defined with @set.
2398 (@lparen, @rparen, @lbrack, @rbrack): Replaced with...
2399 (@Lparen, @Rparen, @Lbrack, @Rbrack): New macros.
2402 Other minor updates.
2404 * doc/texinfo.tex: Update to texinfo version 4.8.
2406 * README.CVS: Updated.
2408 2005-02-09 Alejandro López-Valencia <palopez@etb.net.co> (tiny change)
2410 * doc/groff.texinfo (ms Document Control Registers): Document `HY'
2411 and `FAM' registers.
2413 2005-02-05 Werner LEMBERG <wl@gnu.org>
2415 * tmac/groff_mdoc.man, tmac/doc-common, tmac/doc-ditroff,
2416 tmac/doc-nroff, tmac/doc-old.tmac, tmac/doc-syms, tmac/doc.tmac:
2419 2005-02-01 Werner LEMBERG <wl@gnu.org>
2421 * src/roff/groff/groff.man: Add information about paper size.
2423 2005-01-25 Werner LEMBERG <wl@gnu.org>
2425 * src/roff/nroff/nroff.sh: Handle `*.ISO8859-1' in locale. From
2428 2005-01-22 Ruslan Ermilov <ru@FreeBSD.org>
2430 * tmac/doc.tmac (Sm): Improved. It didn't work properly in many
2432 (Re): Emit a warning if called without `.Rs'.
2433 (doc-finish-reference): Use parameter for decreasing
2434 `doc-reference-count'.
2435 (doc-print-reference): Pass specific count parameters to
2436 `doc-finish-reference'.
2438 2005-01-21 Werner LEMBERG <wl@gnu.org>
2440 * src/libs/libdriver/input.cpp (delete_current_env, do_file):
2441 Reset pointers to zero after deallocation. This fixes a crash
2442 if a driver is called with multiple input files. Reported by
2443 Ken Chilton <ken@chiltonfamily.org>.
2445 * src/devices/grops/grops.man: Add more info on DSC.
2447 2005-01-17 Ruslan Ermilov <ru@FreeBSD.org>
2449 * tmac/doc-common (Dd), tmac/doc-ditroff (gX, doc-setup-header):
2452 2005-01-17 Werner LEMBERG <wl@gnu.org>
2454 * src/roff/troff/div.cpp (top_level_diversion::space): Protect
2455 against division by zero.
2457 2005-01-13 Ruslan Ermilov <ru@FreeBSD.org>
2459 * tmac/doc.tmac (Ef): Restore doc-curr-font and doc-curr-size.
2461 2004-12-19 Werner LEMBERG <wl@gnu.org>
2463 * install-sh: New version; taken from texinfo CVS.
2465 2004-12-17 Werner LEMBERG <wl@gnu.org>
2467 * tmac/devtag.tmac: Protect against loading twice.
2468 Protect agains compatibility mode.
2469 * tmac/www.tmac: Protect against loading twice.
2470 Load `devtag.tmac' before switching off compatibility mode.
2471 * tmac/an-old.tmac, tmac/s.tmac: Load `devtag.tmac'.
2473 2004-12-16 Mike Bianchi <mbianchi@Foveal.com>
2475 * configure.ac: Produce `contrib/gdiffmk/tests/runtests'.
2476 * configure: Updated.
2478 2004-12-15 Thomas Klausner <wiz@netbsd.org>
2480 * tmac/doc-syms, tmac/groff_mdoc.man: Add `libpam' library.
2482 2004-12-15 Werner LEMBERG <wl@gnu.org>
2484 Make `test-groff' work again -- previously, wrong paths have been
2485 used. Additionally, it can now be called from anywhere.
2487 * test-groff.in: Don't test for groff binary. This is no longer
2488 necessary since the proper paths are determined by `configure'.
2489 (EXEEXT): Removed. No longer used.
2490 (srcdir, builddir): Use values provided by the configure script.
2491 (XENVIRONMENT): Updated.
2495 2004-12-14 Gaius Mulley <gaius@glam.ac.uk>
2497 Make .tag and .taga work for all devices (but only grohtml actually
2500 * src/devices/grohtml/post-html.cpp: s/html-tag/devtag/.
2501 (text_glob::is_br, page::add_tag, html_printer::troff_tag,
2502 html_printer::handle_assertion): Don't use hard-coded string
2504 (html_printer::lookahead_for_table): Reset `tbl' properly if
2506 (html_printer::devtag): New function, handling `devtag'.
2507 (html_printer::special): Don't handle `html-tag'.
2509 * src/include/printer.h, src/libs/libdriver/printer.cpp
2510 (printer::devtag): New virtual function.
2512 * src/libs/libdriver/input.cpp (parse_x_command) <'X'>: Handle
2515 * src/roff/troff/env.cpp, src/roff/troff/mtsm.cpp,
2516 src/roff/troff/node.cpp: s/html-tag/devtag/.
2518 * src/roff/troff/input.cpp (tag, taga): Always call
2521 * tmac/an-old.tmac, tmac/s.tmac, tmac/troffrc-end: Use DEVTAG*
2522 macros instead of HTML-TAG*.
2524 * tmac/devtag.tmac: New file, defining the DEVTAG-* macros.
2526 * tmac/www.tmac: Load devtag.tmac.
2527 Replace HTML-TAG* macros with DEVTAG* macros.
2528 (HTML, HTML-NS): Changed definitions.
2530 (HTML-TAG, HTML-TAG-NS, HTML-TAG-NEXT): Removed.
2532 * tmac/Makefile.sub (NORMALFILES): Add devtag.tmac.
2534 2004-12-10 Werner LEMBERG <wl@gnu.org>
2536 Import Mike's `gdiffmk' package.
2538 * contrib/gdiffmk/*: New files.
2539 * Makefile.in (OTHERDIRS): Add contrib/gdiffmk.
2542 2004-12-08 Werner LEMBERG <wl@gnu.org>
2544 Import Keith's `pdfmark' package. Integration is very preliminary.
2546 * contrib/pdfmark/*: New files.
2547 * Makefile.in (OTHERDIRS): Add contrib/pdfmark.
2550 2004-12-07 Gaius Mulley <gaius@glam.ac.uk>
2552 Fix a bug with title handling in HTML.
2554 * src/devices/grohtml/post-html.cpp (text_glob::is_nf,
2555 text_glob::is_fi, text_glob::is_ce): Use strlen to compute string
2557 (html_printer::handle_tag_within_title): New function.
2558 (html_printer::do_title): Use it.
2560 * tmac/s.tmac (TL): Don't set `need_eo_tl'.
2561 (cov*tl-au-print): Emit `.eo.tl' tag.
2563 2004-12-05 Alejandro López-Valencia <dradul@etb.net.co>
2565 * man/groff_char.man: Minor imrovements.
2567 2004-12-04 Werner LEMBERG <wl@gnu.org>
2569 * src/preproc/eqn/eqn.man: Revised.
2571 2004-11-25 Werner LEMBERG <wl@gnu.org>
2573 * src/utils/xtotroff/xtotroff.c: Reformat to be similar to other
2577 Remove X_NOT_STDC_ENV conditional.
2578 (Version_string, program_name): New global variables.
2579 (groff_flag): Removed.
2581 (usage): Take a stream as argument.
2584 (main): Add `long_options' array for `--help' and `--version'.
2585 Make `-g' a dummy option.
2586 Handle `-v' and unknown options.
2587 Remove unused `position' variable.
2589 * src/utils/xtotroff/Makefile.sub (MAN1): Define.
2590 (XLIBS): Add LIBGROFF.
2592 * src/utils/xtotroff/xtotroff.man, src/utils/xtotroff/Makefile.in:
2595 * src/devices/xditview/Dvi.c (default_font_map): Split into three
2596 parts to avoid compiler warning.
2597 (resources): Don't initialize with `default_font_map'.
2598 (ClassInitialize): Initialize first element of `resources'.
2600 * src/devices/xditview/Makefile.sub (devdir, xtotroff, DPIS, fonts):
2603 * src/utils/lkbib/lkbib.man, src/utils/lookbib/lookbib.man,
2604 src/utils/pfbtops/pfbtops.man: Revised, updated.
2606 * configure.ac: Generate src/utils/xtotroff/Makefile.
2607 * configure: Regenerated.
2609 2004-11-24 Werner LEMBERG <wl@gnu.org>
2611 First fixes to get produce HTML.
2613 * src/devices/grohtml/post-html.cpp (generate_img_src): Add `alt'
2616 * tmac/www.tmac (IMG, PIMG, MPIMG): Add `alt' attribute.
2617 (HR, LI): Use `HTML</p>', not `HTML'.
2619 * doc/webpage.ms: Minor updates.
2621 2004-11-23 Larry Kollar <kollar@alltel.net>
2623 Add option -S grohtml to determine the file split level.
2625 * src/devices/grohtml/post-html.cpp (split_level): New global
2627 (html_header::determine_header_level): Use split_level.
2628 (main): Handle `-S' command line option.
2631 * src/preproc/html/pre-html.cpp (scanArguments): Updated.
2633 * src/devices/grohtml/grohtml.man: Document it.
2636 * NEWS: Document it.
2638 2004-11-23 Y T <doarhop@hotmail.com>
2640 * tmac/s.tmac (ref*add-V, ref*add-N): New macros for handling
2641 the volume and number refer entries.
2643 2004-11-22 Werner LEMBERG <wl@gnu.org>
2645 * src/devices/grohtml/html-table.cpp
2646 (html_table::emit_table_header): Don't emit `cols' attribute which
2647 doesn't exist in HTML 4.0 and is thus invalid.
2649 * NEWS: More minor fixes and updates.
2651 2004-11-18 Werner LEMBERG <wl@gnu.org>
2653 * tmac/www.tmac (HTML-NS, HTML-TAG-NS, HTML-TAG-NEXT): Simplified.
2654 (HTML</p>): Minor clean-up.
2656 * tmac/groff_www.man: Updated.
2658 * src/devices/grohtml/grohtml.man: Revised and updated.
2662 2004-11-18 Gaius Mulley <gaius@glam.ac.uk>
2664 * src/devices/grohtml/post-html.cpp (html_printer::do_heading):
2665 Fix space insertion.
2666 (html_printer::do_links): Fix rules generation around automatic
2669 * tmac/www.tmac (LK): Use HTML-TAG-NS.
2671 No longer emit empty line for non-HTML devices.
2673 2004-11-17 Werner LEMBERG <wl@gnu.org>
2675 * doc/Makefile.in (prepare_examples, webpage.html): Handle
2678 * doc/Makefile.sub (EXAMPLEFILES, CLEANNOTSRCDIRADD,
2679 prepare_examples, webpage.html): Handle `groff.css'.
2681 2004-11-15 Werner LEMBERG <wl@gnu.org>
2683 * NEWS, README, doc/webpage.ms: Updated.
2685 * tmac/www.tmac (HTML, HTML-TAG): Minor clean-ups.
2687 2004-10-30 Gaius Mulley <gaius@glam.ac.uk>
2689 * src/include/printer.h (printer): Remove virtual function
2691 Update all source files.
2693 * src/devices/grohtml/post-html.cpp (html_printer): New member
2694 function `round_width'.
2696 2004-10-20 Tadziu Hoffmann <hoffmann@usm.uni-muenchen.de>
2698 * src/preproc/tbl/table.cpp (table::do_row): Fix handling of the `d'
2699 column key letter suffix.
2701 2004-10-14 Werner LEMBERG <wl@gnu.org>
2703 * Makefile.in (check): Depend on `site.exp' and `docheck'.
2704 (docheck): Run dejagnu's `runtest' if it exists.
2705 (site.exp): Create dejagnu configuration file.
2707 * Makefile.sub (DISTCLEANFILES): Add files related to dejagnu.
2709 2004-10-13 Werner LEMBERG <wl@gnu.org>
2711 * src/devices/grohtml/html-text.cpp (html_text_get_alignment),
2712 src/devices/grohtml/post-html.cpp (make_val,
2713 html_printer::handle_state_assertion): Fix compiler warnings.
2715 * src/roff/troff/div.cpp: Include `stringclass.h' and `mtsm.h'.
2716 (diversion::diversion): Fix order of initializers.
2718 * src/roff/troff/div.h: Don't include `mtsm.h'.
2720 * src/roff/troff/env.cpp: Include `stringclass.h' and `mtsm.h'.
2721 (environment::environment): Fix order of initializers.
2722 (environment::make_tag, environment::construct_format_state): Fix
2725 * src/roff/troff/input.cpp: Include `stringclass.h' and `mtsm.h'.
2726 (input_iterator::input_iterator, macro::macro): Fix order of
2729 * src/roff/troff/mtsm.cpp: Include only necessary header files.
2730 (state_set::add, state_set::val): Fix compiler warnings.
2732 * src/roff/troff/mtsm.h: Don't include `stringclass.h'.
2733 (bool_value_state, int_value_state, units_value_state,
2734 string_value_state): Remove comma after last element which causes
2735 an error with g++ 3.3.3.
2737 * src/roff/troff/node.cpp: Include `stringclass.h'.
2738 (hline_node::hline_node, vline_node::vline_node,
2739 space_char_hmotion_node, left_italic_corrected_node): Fix compiler
2741 (zero_width_node::zero_width_node): Fix order of initializers.
2743 * src/roff/troff/node.h: Don't include `mtsm.h'.
2744 (hmotion_node): Fix compiler warnings.
2746 * src/roff/troff/number.cpp: Include `stringclass.h' and `mtsm.h'.
2748 2004-10-12 Gaius Mulley <gaius@glam.ac.uk>
2750 * doc/groff.css: New file.
2752 * doc/webpage.ms: Use `groff.css'.
2755 * tmac/an-old.tmac (need_eo_h): New number register.
2756 (TH): Emit `.eo.tl' tag after title.
2757 (SH): Set `need_eo_h'.
2758 (an-trap): Handle `need_eo_h'.
2759 (an-do-tag): s/HTML-TAG-NS/HTML-TAG-NEXT/.
2761 * tmac/s.tmac (need_eo_h, need_eo_tl): New number registers.
2762 (TL): Always start diversion.
2764 (@AI): Always call `par@reset'.
2765 (@AB): Update code for -Thtml.
2766 (cov*tl-au-print): Handle -Thtml.
2767 (par@reset): Handle `need_eo_tl', `need_eo_h'.
2769 (@IT-html): Removed.
2770 (@SH): Set `need_eo_h' for -Thtml.
2771 (par@TL): s/HTML-TAG/HTMl-TAG-NS/.
2773 (@NH): s/HTML-TAG/HTMl-TAG-NS/.
2774 Set `need_eo_h' for -Thtml.
2775 (@EQ, @EN): Don't handle -Thtml specially.
2776 (par@load-init): Don't handle -Thtml specially.
2778 * tmac/www.tmac (www:paraspace): New macro.
2779 (HTML-NS, HTML-TAG-NS): Use new `tag' request.
2780 (HTML</p>, HTML-TAG-NEXT): New macros.
2781 (HnE): Emit tag `.eo.h' instead of break.
2782 (HR): s/HTML-NS/HTML/.
2783 (www-end-nowhere): End diversion only if `www-html' not set.
2785 (ULS, ULE): s|HTML|HTML</p>|.
2786 (LI): Call `www:paraspace'.
2789 2004-10-11 Gaius Mulley <gaius@glam.ac.uk>
2791 * src/roff/troff/request.h (macro): Make `p' public.
2792 New variable `is_a_diversion'.
2793 New member function `is_diversion'.
2796 * src/devices/grohtml/html.h (simple_output): New member function
2799 * src/devices/grohtml/html-table.cpp (tabs::compatible): Fix
2800 computation of `total'.
2801 (tabs::check_init): New function.
2802 (html_table::emit_table_header): Emit style data.
2803 (html_table::insert_column): Improved.
2805 * src/devices/grohtml/html-table.h: Updated.
2807 * src/devices/grohtml/html-text.cpp (html_text::html_text):
2808 Initialize `start_space' with TRUE.
2809 (html_text::end_tag, html_start_tag): Fix `P_TAG' and `PRE_TAG'
2811 (html_text::flush_text): Set `start_space' flag.
2812 (html_text::uses_indent, html_text::remove_para_space,
2813 html_text::get_alignment): New functions.
2814 (html_text::push_para): Updated.
2815 (html_text::do_para): Check for empty argument.
2816 Don't set `space_emitted'.
2817 (html_text::do_space, html_text::emit_space): Updated.
2819 * src/devices/grohtml/html-text.h (tag_definition): New variable
2821 (html_text): New member function `uses_indent', `remove_para_space',
2824 * src/devices/grohtml/output.cpp (simple_output::force_nl): New
2826 (simple_output:nl): Always emit `\n'.
2828 * src/devices/grohtml/post-html.cpp: Include `string.h'.
2829 (BASE_POINT_SIZE): Removed.
2830 (base_point_size, head_info): New global variables.
2831 (text_glob): New member functions `is_ll', `is_tl', `is_eo_tl',
2833 (text_glob::is_nf, text_glob::is_fi): Handle `.fi 0' and `.fi 1'
2835 (page::add_and_encode): Pass additional parameter for tag flag.
2836 (assert_pos): New structure.
2837 (assert_state): New class.
2838 (html_printer): Remove `indentation', `prev_indent'.
2839 Add variables `troff_indent', `device_indent', `temp_indent'.
2840 Add variables `seen_indent', `next_indent', `seen_pageoffset',
2841 `next_pageoffset', `seen_linelenght', `next_linelength',
2842 `seen_center', `next_center', `seen_space', `seen_break', `as'.
2843 Add member functions `do_check_center', `do_space', `do_head',
2844 `get_troff_indent', `restore_troff_indent', `handle_assertion',
2845 `handle_state_assertion', `do_end_para', `set_char_and_width'.
2846 Change argument to `do_fill' to `char *'.
2848 (html_printer::emit_raw): Call `shutdown_table'.
2850 (html_printer::do_center): Simplified.
2851 (html_printer::do_title): Improved.
2852 (html_printer::write_header): Emit one more newline.
2854 (html_printer::do_heading, html_printer::do_indent,
2855 html_printer::do_eol, html_printer::do_tab_ts,
2856 html_printer::do_tab, html_printer::do_tab0,
2857 html_printer::calc_po_in, html_printer::next_horiz_pos,
2858 html_printer::remove_courier_tabs,
2859 html_printer::insert_tab0_foreach_tab, html_printer::begin_page):
2861 (html_printer::do_linelength, html_printer::do_pageoffset,
2862 html_printer::do_indentation, html_printer::do_tempindent,
2863 html_printer::do_tab_te): Simplified.
2864 (html_printer::do_pointsize): Check whether point size is really
2865 associated a `.tl' tag.
2866 (html_printer::do_break): Rewritten.
2867 (html_printer::troff_tag): Improved.
2868 (html_printer::flush_globs): Updated.
2869 (html_printer::lookahead_for_tables): Handle `is_br'.
2871 (html_printer::set_char): Check `sbuf_style.f'.
2872 (html_printer::write_navigation): Use string comparison.
2873 (html_printer::~html_printer): Emit `head_info'.
2874 (html_printer::special): Rewritten.
2875 (get_str, make_val): New functions.
2876 (main): New option `s' to set the base point size.
2878 * src/preproc/html/pre-html.cpp (scanArguments): Handle option `s'.
2880 2004-10-10 Gaius Mulley <gaius@glam.ac.uk>
2882 * src/roff/troff/node.cpp: New extern `debug_state'.
2883 Include `stringclass.h' and `mtsm.h'.
2884 Implement new classes and class members from `node.h'.
2885 (real_output_file): Make `fp' public.
2886 (troff_output_file): New variables `cur_div_level' and `tag_list'.
2887 Update constructors.
2888 (troff_output_file::really_print_line): Check whether we should push
2889 the current troff state and use the state at the start of the
2890 invocation of this diversion.
2891 (troff_output_file::add_to_tag_list): New member function.
2892 (node::add_char): Handle `glyph_comp_np'.
2894 * src/roff/troff/node.h: Include `mtsm.h'.
2895 (node): New variables `state', `push_state', `div_nest_level',
2896 `is_special'. Update constructors, all descendants.
2897 Pass additional argument to `add_char' member function.
2898 New virtual member functions `is_tag', `debug_node',
2899 `debug_node_list'. Update all descendants.
2900 (tag_node): New class for handling tags.
2901 (output_file): Add variable `state'.
2903 2004-10-09 Gaius Mulley <gaius@glam.ac.uk>
2905 * src/roff/troff/mtsm.cpp, src/roff/troff/mtsm.h: New files,
2906 providing a minimal troff state machine to emit meta tags for the
2907 post-grohtml device driver.
2909 * src/roff/troff/Makefile.sub (OBJS, CCSRCS, HDRS): Handle new
2912 2004-10-09 Werner LEMBERG <wl@gnu.org>
2914 * tmac/trace.tmac: Fix handling of `am' and `am1' calls.
2916 2004-10-06 Gaius Mulley <gaius@glam.ac.uk>
2918 * src/roff/troff/column.cpp (vjustify_node::copy): Updated.
2920 * src/roff/troff/div.h: Include `mtsm.h'.
2921 (diversion): New variables `any_chars_added', `needs_push',
2922 `saved_seen_break', `saved_seen_space', `saved_seen_eol',
2923 `saved_suppress_next_eol', `modified_tag'.
2924 New virtual member function `is_diversion'. Update all descendants.
2926 * src/roff/troff/div.cpp (diversion::diversion,
2927 macro_diversion::macro_diversion): Updated.
2928 (do_divert): Handle `seen_break', `seen_space', `seen_eol',
2929 `suppress_next_eol'.
2930 (top_level_diversion::space): Handle `curenv->seen_space'.
2931 (page_offset): Update tag handling.
2932 (space_request, blank_line, flush_output): Don't call `add_html_tag'.
2934 * src/roff/troff/env.h (environment): Make `tabs' public.
2935 Remove `ignore_next_eol', `emitted_node'.
2936 Update `output_line', `output'.
2937 New variables `seen_space', `seen_eol', `suppress_next_eol',
2939 New member functions `construct_state', `make_tag',
2940 `construct_format_state, `construct_new_line_state,
2942 Remove `add_html_tag', `make_html_tag'.
2944 * src/roff/troff/env.cpp: New externs `suppress_push',
2945 `get_diversion_state', `global_diverted_space'.
2946 (pending_output_line): New variable `was_centered'.
2947 Update constructor and all callers.
2948 (pending_output_line::output): Call `curenv->construct_format_state'.
2949 (environment::environment, environment::copy): Updated.
2950 (environment::output): Handle `was_centered'.
2951 (environment::add_char): Handle construct and diversion state.
2952 (environment::add_node): Handle construct state.
2953 (environment::newline): Handle `was_centered'.
2954 (environment::output_line): Updated.
2955 (environment::possibly_break_line): Updated.
2956 Update tag handling.
2957 (environment::add_html_tag): Replaced with...
2958 (environment::make_tag): New function.
2959 (environment::add_html_tag_tabs, environment::make_html_tag): Removed.
2960 (environment::dump_troff_state): New debugging function.
2961 (environment::construct_state, environment::construct_format_state,
2962 environment::construct_new_line_state): New functions.
2963 (environment::do_break): Updated.
2964 Handle `global_diverted_space'.
2965 (environment::handle_tag): Update tag handling.
2966 (point_size, fill, do_break_request): Don't call `add_html_tag'.
2967 (no_fill): Don't call `add_html_tag'.
2968 Set `suppress_next_eol'.
2969 (center, right_justify, line_length, indent, temporary_indent,
2971 Update tag handling.
2973 * src/roff/troff/input.cpp: Don't include `stringclass.h'.
2974 (input_iterator): New variables `is_diversion', `diversion_state'.
2975 Update constructors.
2976 (input_stack): New member functions `get_div_level',
2977 `get_diversion_state', `check_end_diversion'.
2978 New variables `div_level', `diversion_state'. Initialize them.
2979 (suppress_push, global_diverted_space): New global variables.
2980 (input_stack::finish_get, input_stack::finish_peek,
2981 input_stack::remove_boundary, input_stack::end_file,
2982 input_stack::clear, input_stack::pop_macro): Call
2983 `check_end_diversion'.
2984 (input_stack::push): Handle `div_level' and `diversion_state'.
2985 (get_diversion_state): New function.
2986 (diverted_space_node::reread): Handle `global_diverted_space'.
2987 (macro::macro): Update constructors.
2988 (macro::is_diversion): New function.
2989 (macro::operator=): Set `is_a_diversion'.
2990 (string_iterator): New member function `is_diversion'.
2991 (string_iterator::string_iterator): Update constructors.
2992 (string_iterator::fill): Set `div_nest_level'.
2993 (macro_iterator): New member function `is_diversion'.
2994 (do_if_request): Handle `suppress_push'.
2995 (tag, taga): New functions.
2996 (init_input_requests): Add `tag' and `taga' requests.
2998 2004-10-05 Gaius Mulley <gaius@glam.ac.uk>
3000 * src/include/font.h (font): New member function
3001 `get_image_generator'.
3002 New variables `unscaled_charwidths' and `image_generator'.
3004 * src/libs/libgroff/font.cpp (font::get_width): Always return the
3005 character's unscaled width if `font::unscaled_charwidths' is set.
3006 (font::get_image_generator): New function.
3007 (font::load_desc): Check the `unscaled_charwidths' and
3008 `image_generator' keywords.
3010 * src/libs/libgroff/fontfile.cpp: Initialize
3011 `font::unscaled_charwidths' and `font::image_generator'.
3013 * font/devhtml/DESC.proto: s/html/unscaled_charwidths/.
3015 * font/devhtml/Makefile.sub (DESC): Set `image_generator' keyword.
3017 * man/groff_font.man: Document `unscaled_charwidths' and
3020 * src/preproc/html/pre-html.cpp: Include `device.h'.
3021 (image_gen): New global variable.
3022 (imageList::createPage): Use `image_gen'.
3023 (main): Use `image_generator' keyword.
3025 2004-10-04 Gaius Mulley <gaius@glam.ac.uk>
3027 * tmac/html.tmac: Handle \[sqrtex].
3029 2004-10-04 Gaius Mulley <gaius@glam.ac.uk>
3031 * src/include/printer.h (printer): New virtual method `round_width'.
3033 * src/devices/grodvi/dvi.cpp, src/devices/grolbp/lbp.cpp,
3034 src/devices/grolj4/lj4.cpp, src/devices/grops/ps.cpp,
3035 src/devices/grotty/tty.cpp (printer::round_width): New function
3038 * src/devices/grohtml/post-html.cpp (printer::round_width): New
3040 (html_printer::set_numbered_char): Use it.
3042 2004-10-03 Gaius Mulley <gaius@glam.ac.uk>
3044 * aclocal.m4 (GROFF_GHOSTSCRIPT_PATH): New macro.
3046 * configure.ac: Call GROFF_GHOSTSCRIPT_PATH.
3048 * configure: Regenerated.
3050 * Makefile.in (GHOSTSCRIPT): New variable.
3051 (MDEFINES): Add GHOSTSCRIPT.
3053 2004-10-03 Werner LEMBERG <wl@gnu.org>
3055 * INSTALL.gen: Updated (taken from texinfo CVS).
3057 2004-09-28 Werner LEMBERG <wl@gnu.org>
3061 2004-09-28 Heinz-Jürgen Oertel <hj.oertel@surfeu.de>
3063 * tmac/groff_www.man: Revised and updated.
3065 2004-09-26 Werner LEMBERG <wl@gnu.org>
3067 Fix \$@ and \$* to handle any number of arguments.
3069 * src/roff/troff/input.h (BEGIN_QUOTE, END_QUOTE): New special
3072 * src/roff/troff/input.cpp (input_iterator::internal_level):
3074 (input_stack): New member functions `increase_level' and
3076 (input_stack::get_level): Don't use `internal_level'.
3077 (get_copy, token::next): Handle BEGIN_QUOTE and END_QUOTE.
3078 (end_quote_iterator): Completely removed.
3079 (interpolate_arg): Build string for \$@ and \$* which is then
3080 pushed onto the input stack.
3082 2004-09-23 Keith Marshall <keith.d.marshall@ntlworld.com>
3084 * tmac/groff_ms.man, doc/groff.texinfo (ms Document Control
3085 Registers): Document changes from 2004-09-19.
3087 2004-09-23 Werner LEMBERG <wl@gnu.org>
3089 * tmac/an-old.tmac (ne): Using default scaling operator.
3091 2004-09-19 Keith Marshall <keith.d.marshall@ntlworld.com>
3093 This change implements the following features:
3096 New numeric register: Defines number of lines following LP, PP,
3097 QP, IP or XP, which must be kept together, before any automatic
3098 page break. If insufficient space remains on the current page, a
3099 page break is forced before the new paragraph begins.
3102 New numeric register: Sets number of lines of following paragraph
3103 which must be kept with a heading, defined by NH or SH, before any
3104 automatic page break. If insufficient space remains on the
3105 current page, a page break is forced before the heading.
3108 (Thanks to Joerg van den Hoff, for this idea).
3110 New numeric register: Sets the first level of heading (set with
3111 NH), which will keep the same point size as body text; e.g. if
3112 GROWPS is set to 3, .NH 3, .NH 4, ... will produce headings at the
3113 point size specified by \n[PS], but .NH 2 and .NH 1 will have
3114 progressively larger point sizes, determined by \n[PSINCR] (see
3118 New numeric register: Sets the point size increment for each level
3119 of heading, (set with NH), below the threshold level set by
3120 GROWPS; e.g. if \n[PS] = 10, \n[GROWPS] = 3 and \n[PSINCR] = 2.0p,
3121 then .NH 1 will produce 14pt headings, .NH 2 will produce 12pt,
3122 and all other levels will remain at 10pt, (because \n[PS] = 10).
3125 Existing macro now accepts a numeric argument, to make heading
3126 size match that of NH with same argument value, when the
3127 GROWPS/PSINCR feature is enabled.
3130 New string, set by NH macro, replaces the existing (undocumented)
3131 use of SN, to represent the assigned section number.
3134 New string, set by NH macro, represents the assigned section
3135 number, but omits the terminal period (periods at intermediate
3136 levels are retained).
3139 String set by NH macro, originally undocumented, now implemented
3140 as an alias for SN-DOT (which reproduces original behaviour).
3142 * tmac/s.tmac (PORPHANS): New register.
3143 (par*start): Use it.
3144 (HORPHANS, GROWPS, PSINCR): New registers.
3145 (SH-NO-TAG, @SH): Use them.
3148 2004-09-19 Keith Marshall <keith.d.marshall@ntlworld.com>
3150 * NEWS, doc/groff.texinfo (ms Display and Keeps), tmac/groff_ms.man:
3151 Document the deletion of `Ds' and `De' macros.
3153 2004-09-10 Werner LEMBERG <wl@gnu.org>
3155 In tbl, handle \a as an interpreted leader character if in
3158 * src/preproc/tbl/table.h (PREFIX, PREFIX_CHAR, LEADER,
3159 LEADER_CHAR): New macros.
3160 (compatible_flag): New declaration.
3162 * src/preproc/tbl/main.cpp (table_input): Add LEADER_1, LEADER_2,
3163 LEADER_3, and LEADER_4 to `state'.
3164 (table_input::get): Handle `\a'.
3166 * src/preproc/tbl/table.cpp (PREFIX): Removed.
3167 (LEADER_REG): New macro.
3168 (table::init_output): Define LEADER_REG string register if in
3171 * src/preproc/tbl/tbl.man: Document it.
3173 2004-08-18 Werner LEMBERG <wl@gnu.org>
3175 * tmac/doc.tmac (An): Fix error message.
3177 2004-08-06 Werner LEMBERG <wl@gnu.org>
3179 * src/preproc/tbl/main.cpp (main): Call `fatal' not `error' if a
3180 file can't be opened. UNIX tbl has the same behaviour.
3182 2004-08-05 Y T <doarhop@hotmail.com>
3184 * src/preproc/grn/hdb.cpp (compatibility_flag): Add declaration.
3185 (DBRead): If in compatibility mode, take into account the text
3186 when computing figure boundaries.
3188 2004-08-05 Werner LEMBERG <wl@gnu.org>
3190 * src/preproc/soelim/soelim.man: Improved. Based on suggestions
3191 from Tadziu Hoffmann.
3193 2004-08-03 Werner LEMBERG <wl@gnu.org>
3195 * doc/meref.me: Document `_M' register.
3197 2004-08-03 Martin Husemann <martin@duskware.de>
3199 Make hpftodit work correctly on big-endian systems.
3201 * src/utils/hpftodit/hpftodit.cpp (File): New method
3202 `get_uint32(char *)'.
3203 (entry): New member `orig_value'.
3204 (read_tags): Use new method.
3205 (output_font_name, read_and_output_pcltypeface, dump_ascii):
3208 2004-08-01 Werner LEMBERG <wl@gnu.org>
3210 * tmac/s.tmac: Undo change 2003-06-29. The proper macro definitions
3211 are already in X11's `macros.t' file.
3213 2004-08-01 Jeff Conrad <jeff_conrad@msn.com>
3215 * src/utils/hpftodit/hfptodit.cpp (output_font_name, dump_ascii):
3217 (read_and_output_pcltypeface): Handle strings with length <= 4.
3219 2004-07-27 Egil Kvaleberg <egil@kvaleberg.no>
3221 * tmac/s.tmac (pg@top): Don't save `PO' register.
3222 (pg*end-col, pg*end-page): Directly use `PO' register.
3224 2004-07-27 Werner LEMBERG <wl@gnu.org>
3226 * man/groff_tmac.man: Mention `trace' and `pic' macro packages.
3228 * src/preproc/refer/refer.cpp (output_references): Check for
3230 * src/preproc/refer/refer.man: Improve documentation of
3231 `bibliography' command.
3233 2004-07-26 Werner LEMBERG <wl@gnu.org>
3235 Add requests `fcolor' and `gcolor'.
3237 * src/roff/troff/env.cpp (fill_color_change, glyph_color_change):
3239 (init_env_requests): Add `fcolor' and `gcolor'.
3241 * src/roff/troff/input.h: Export do_glyph_color and do_fill_color.
3243 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo
3244 (Colors): Document new requests.
3246 2004-07-24 Werner LEMBERG <wl@gnu.org>
3248 Add support for fractional point sizes in ms macros. A value for
3249 PS, VS, FPS, and FVS greater than or equal to 1000 is always divided
3250 by 1000. For example, `.nr PS 10250' sets the font size to 10.25p.
3252 * tmac/s.tmac (@AU, @AI, par@load-init, par@init, par@reset, NL,
3253 PX): Handle fractional point sizes for PS, VS, FPS, and FVS.
3255 * tmac/groff_ms.man, docs/groff.texinfo (ms Document Control
3256 Registers), NEWS: Document it.
3258 2004-07-19 Werner LEMBERG <wl@gnu.org>
3260 * src/preproc/pic/lex.cpp (for_input): Add member `from'.
3262 (do_for, for_input::get, for_input::peek): Handle negative `by'.
3263 * src/preproc/pic/pic.man, doc/pic.ms, NEWS: Document it.
3265 2004-07-08 Thomas Klausner <wiz@netbsd.org>
3267 * tmac/doc-syms (doc-str-St--p1003.1-2004): New string.
3268 * tmac/groff_mdoc.man: Updated.
3270 2004-07-05 Werner LEMBERG <wl@gnu.org>
3272 * doc/groff.texinfo (Manipulating Hyphenation): Further improve
3273 documentation of `hcode'.
3275 2004-07-04 Sang Dae Yu <sdyu@bh.knu.ac.kr>
3277 Improve appearance of arrows in pic.
3279 * src/preproc/pic/object.cpp (draw_arrow): Make outline of filled
3281 Use two line segments for drawing non-filled arrow head.
3282 (line_object::print, spline_object::print): Shorten line length to
3283 avoid arrow sticking.
3284 (arc_object::print): Take arrow direction into account.
3286 2004-07-03 Heinz-Jürgen Oertel <hj.oertel@surfeu.de>
3288 * tmac/groff_www.man: Update documentation of .MPIMG.
3290 2004-07-03 Werner LEMBERG <wl@gnu.org>
3292 * tmac/an-old.tmac (RI): Always start with font `R'.
3293 (RI, IR): Properly end with font `R'.
3295 2004-07-02 Paul Eggert <eggert@cs.ucla.edu>
3297 * man/ditroff.man, man/groff_font.man, man/groff_out.man,
3298 src/devices/grohtml/grohtml.man, src/preproc/grn/grn.man,
3299 src/preproc/pic/pic.man, tmac/groff_man.man, tmac/groff_ms.man:
3300 Don't pass more than six arguments to .R, .I, .B, etc., for
3301 compatibility with traditional troff macros.
3303 2004-07-02 Werner LEMBERG <wl@gnu.org>
3305 * src/roff/troff/input.h: s/COMPATIBLE_SAVE/PUSH_GROFF_MODE/.
3306 s/COMPATIBLE_RESTORE/POP_GROFFCOMP_MODE/.
3308 (PUSH_COMP_MODE): New internal character constant.
3311 * src/roff/troff/input.cpp (get_copy): Handle PUSH_GROFF_MODE,
3312 PUSH_COMP_MODE, and POP_GROFFCOMP_MODE.
3313 (token::next, macro::append): Handle PUSH_COMP_MODE.
3314 (decode_args): Add PUSH_GROFF_MODE or PUSH_COMP_MODE before and
3315 POP_GROFFCOMP after each of the decoded arguments to make them
3316 independent from the compatibility mode status.
3317 (comp_mode): Add `COMP_ENABLE'.
3318 (do_define_string, do_define_macro): Handle COMP_ENABLE.
3319 (define_string, append_string, define_macro, define_indirect_macro,
3320 append_macro, append_indirect_macro): Handle `compatible_flag'.
3321 (chop_macro, substring_request, asciify): Handle PUSH_COMP_MODE.
3323 * man/groff_diff.man, doc/groff.texinfo: Updated.
3325 2004-07-01 Werner LEMBERG <wl@gnu.org>
3327 * doc/groff.texinfo: Improve documentation of `hcode'.
3328 Use @documentencoding and convert document to latin-1; to do that
3329 make latin characters active and assign proper macros (within a
3330 @tex...@end tex environment).
3331 * doc/Makefile.in (.texinfo.html, groff): Use --enable-encoding.
3332 * doc/Makefile.sub (groff): Ditto.
3334 2004-06-29 Werner LEMBERG <wl@gnu.org>
3336 Implement two new conditional operators `F <name>' and `S <name>'
3337 which check whether <name> is a valid font or style, respectively.
3339 * src/libs/libgroff/font.cpp (text_file): Add `silent' member.
3340 (text_file::text_file): Updated.
3341 (text_file::error): Don't emit message if `silent' is set.
3342 (font::load_font): Add optional third argument (which is directly
3344 (font::load): Add optional second argument to check the header of
3345 a font only, without emitting warning or error messages.
3346 * src/include/font.h (font): Updated.
3348 * src/roff/troff/input.cpp (do_if_request): Implement `S' and `F'
3350 * src/roff/troff/node.cpp (mount_font_no_translate): Add optional
3351 fourth argument to check a font without mounting.
3352 (check_font, check_style): New functions.
3353 * src/roff/troff/node.h: Updated.
3355 * man/groff_diff.man, man/groff.man, NEWS, doc/groff.texinfo:
3358 2004-06-27 Werner LEMBERG <wl@gnu.org>
3360 Implement new string-valued register `.sty' to return the current
3363 * env.cpp (environment::get_style_name_string): New function.
3364 (init_env_requests): Add `.sty' register.
3365 * env.h (environment): Updated.
3366 * node.cpp (font_info): Make `get_style_name' a friend.
3367 (get_style_name): New function.
3370 * man/groff_diff.man, man/groff.man, NEWS, doc/groff.texinfo:
3373 2004-06-15 Werner LEMBERG <wl@gnu.org>
3375 * src/preproc/tbl/main.cpp (process_data) <GOT_RIGHT_BRACE>: Handle
3378 2004-06-10 Colin Percival <colin.percival@wadham.ox.ac.uk>
3380 * doc/meintro.me, doc/meref.me: Don't use \*[td], \n[dy], \*[mo],
3381 and \n[mo] to avoid dependency on current date.
3383 2004-06-08 Werner LEMBERG <wl@gnu.org>
3385 * Makefile.sub (install_data): New target.
3387 2004-06-04 Werner LEMBERG <wl@gnu.org>
3389 * src/libs/libxutil/Makefile.sub (EXTRA_CFLAGS): Define.
3391 2004-06-03 Werner LEMBERG <wl@gnu.org>
3393 * src/devices/xditview/Makefile.sub (EXTRA_LDFLAGS): Fix typo and
3395 (install_data): Add $(srcdir).
3397 * src/utils/xtotroff/Makefile.sub (EXTRA_LDFLAGS): Fix order of
3400 2004-06-02 Werner LEMBERG <wl@gnu.org>
3402 * aclocal.m4 (GROFF_X11): s/have_no_x/groff_no_x/.
3403 Add X11 stuff to CFLAGS, LDFLAGS, and LIBS temporarily.
3404 Add test for Xmu library.
3405 (GROFF_APPRESDIR_OPTION, GROFF_APPRESDIR_CHECK,
3406 GROFF_APPRESDIR_DEFAULT): New macros.
3408 * configure.ac: Call GROFF_APPRESDIR_OPTION, GROFF_APPRESDIR_CHECK,
3409 and GROFF_APPRESDIR_DEFAULT.
3411 * configure: Regenerated.
3413 * Makefile.in (appresdir): New variable.
3414 (MDEFINES): Add appresdir.
3416 * src/devices/xditview/Makefile.sub (EXTRA_LDFLAGS): Add -Xmu and
3418 (install_data, uninstall_sub): New targets to handle GXditview.ad.
3420 * src/utils/indxbib/Makefiles.ub (install_data): Depend on
3421 `$(srcdir)/eign', not `eign'.
3423 * MANIFEST, INSTALL, NEWS, PROBLEMS: Updated.
3425 * man/groff_out.man, man/roff.man, src/devices/grops/grops.man,
3426 src/devices/xditview/gxditview.man, src/roff/groff/groff.man:
3427 Protect (g)xditview with `\%' to avoid hyphenation.
3428 Other minor formatting.
3430 2004-06-01 Werner LEMBERG <wl@gnu.org>
3432 Integrate gxditview into groff's standard directory hierarchy.
3434 * src/xditview/*: Moved to ...
3435 * src/devices/xditview/*: Here.
3436 Moved DviChar.h and XFontName.h to src/include.
3437 Moved DviChar.c and XFontName.c to new directory src/libs/libxutil.
3438 Split off `xmalloc' into new file src/libs/libxutil/xmalloc.c.
3439 Moved xtotroff.c to new directory src/utils/xtotroff.
3440 Provide proper Makefile.sub files (reusing the stuff from
3442 DESC renamed to DESC.in.
3443 Removed GXDitview-ad.h, INSTALL, Imakefile.in.
3444 Converted everything from K&R to ANSI C.
3445 Decorated with const where appropriate.
3446 Cast string constants with `String' and `char *' where appropriate.
3447 Made it compile with C++ (used as a C compiler).
3448 Removed other minor compiler warnings.
3450 * src/devices/xditview/device.c: Include config.h, string.h, and
3452 Don't declare `exit', `strtok', `strchr', and `getenv'.
3455 * src/devices/xditview/font.c: Don't declare `XParseFontName' and
3458 * src/devices/xditview/xditview.c: Include config.h.
3459 Include stdio.h earlier.
3460 Protect declaration of `popen' and `pclose' with
3461 NEED_DECLARATION_POPEN and NEED_DECLARATION_PCLOSE.
3462 Replace `caddr_t' with `XtPointer'.
3463 (MakePromptFunc): New typedef.
3464 (DoPrint): Use RETSIGTYPE.
3465 (promptfunction): Change type to MakePromptFunc.
3466 (MakePrompt): Use MakePromptFunc for third argument.
3469 * src/devices/xditview/ad2c: Add casts to `String'.
3471 * src/include/XFontName.h (XFontNameString): Don't use array
3473 Add prototypes for `XParseFontName', `XFormatFontName',
3474 `XCompareFontName', and `XCopyFontName'.
3476 * src/include/Makefile.sub (HDRS): Add `DviChar.h' and
3479 * src/utils/xtotroff/xtotroff.c: Include getopt.h.
3480 Don't declare `XParseFontName' and `XFormatFontName'.
3482 (main): Remove `optind' and `optarg'.
3484 * Makefile.in (XDEVDIRS, XPROGDIRS, XLIBDIRS): New variables
3485 (to select programs which need X).
3486 Make XDEVIDIRS depend on `FORCE'.
3487 (X_CFLAGS, X_LIBS, X_EXTRA_LIBS, X_PRE_LIBS): New variables (for
3489 (MDEFINES): Updated.
3490 (LIBDIRS): Use XLIBDIRS.
3491 (CPROGDIRS): Use XPROGDIRS.
3492 (DEVDIRS): Remove font directories for gxditview.
3493 (ALLDIRS, DISTDIRS): Add XDEVDIRS.
3494 (EXTRADIRS): Remove src/xditview.
3496 * Makefile.sub (DISCLEANFILES): Updated.
3498 * Makefile.comm (LIBXUTIL): New variable.
3499 (.cpp.o, .cpp.obj): Handle EXTRA_CCFLAGS.
3500 (.c.o, .c.obj, .y.o): Handle EXTRA_CFLAGS.
3502 * Makefile.cpg, Makefile.ccpg ($PROG): Handle EXTRA_LDFLAGS.
3504 * aclocal.m4 (GROFF_X11): New function.
3506 * configure.ac: Call GROFF_X11.
3507 Don't create src/xditview/Imakefile.
3508 Don't emit notice how to build gxditview.
3510 * configure: Regenerated.
3512 * test-groff.in (GROFF_BIN_PATH, XENVIRONMENT): Updated.
3514 2004-05-28 Akihiro Sagawa <sagawa@sohgoh.net>
3516 * Makefile.in (CPPFLAGS): Define.
3517 (MDEFINES): Add CPPFLAGS.
3519 2004-05-27 Werner LEMBERG <wl@gnu.org>
3521 * arch/misc/Makefile.sub (shdeps.sed): Use $(srcdir).
3523 2004-05-26 Niklas Edmundsson <nikke@acc.umu.se>
3525 Fix problems with `friend name injections'.
3527 * src/preproc/eqn/box.h (make_mark_box, make_lineup_box,
3528 make_script_box), src/roff/troff/div.h (end_diversions),
3529 src/roff/troff/env.h (title), input.cpp (process_input_stack): Undo
3532 2004-05-25 Bernd Warken <bwarken@mayn.de>
3534 * src/preproc/pic/pic.man, doc/pic.ms: Add example for `command'.
3536 2004-05-25 Werner LEMBERG <wl@gnu.org>
3538 * src/libs/libgroff/cset.cpp, src/libs/libgroff/lf.cpp,
3539 src/libs/libgroff/color.cpp: Include lib.h.
3541 2004-05-25 Paul Eggert <eggert@cs.ucla.edu>
3543 * PROBLEMS: Update documentation for problems with Sun C++ 5.0
3544 through Forte 6u1, and for how to get GNU make on Solaris.
3546 2004-05-24 Werner LEMBERG <wl@gnu.org>
3548 * PROBLEMS: Document problems with gcc 3.4.0 on Sun. Reported
3551 2004-05-15 Keith Marshall <keith.d.marshall@ntlworld.com>
3553 * arch/misc/Makefile.sub (shdeps.sed): Don't use `$<' in explicit
3556 2004-05-14 Werner LEMBERG <wl@gnu.org>
3558 * REVISION: Set to 2.
3560 * aclocal.m4 (GROFF_STDINT_H): Removed.
3561 (GROFF_INTTYPES_H): Define HAVE_CC_INTTYPES_H.
3563 * configure.ac: Updated.
3564 * configure, src/include/config.hin: Regenerated.
3566 * src/libs/libgroff/tmpname.cpp: Don't include stdint.h but
3567 inttypes.h conditionally.
3569 2004-05-13 Werner LEMBERG <wl@gnu.org>
3571 Version 1.19.1 released
3572 =======================
3574 2004-05-10 Stephen Gildea <http://www.gildea.com/stephen>
3576 * src/preproc/refer/label.y (same_author_last_name,
3577 same_author_name): Handle empty sort keys.
3579 2004-05-10 Werner LEMBERG <wl@gnu.org>
3581 * NEWS, README, TODO, PROJECTS, PROBLEMS, MANIFEST, doc/webpage.ms,
3584 * tmac/doc-syms (doc-str-Lb-libposix, doc-str-Lb-libpthread,
3585 doc-str-Lb-librt): Reset font.
3586 (Lb): Rename `doc-str-Lb' to `doc-str-Lb1'.
3587 Provide `doc-str-Lb' to reset font.
3588 * tmac/groff_mdoc.man: Updated.
3590 2004-05-08 Jan Schaumann <jschauma@netmeister.org>
3592 * src/preproc/html/pre-html.cpp (make_message): Make it work for
3593 snprintf versions which don't conform to ANSI C 99 (this is,
3594 counting the string's trailing null byte in the return value).
3596 2004-05-07 Keith Marshall <keith.d.marshall@ntlworld.com>
3598 * src/roff/troff/node.cpp (suppress_node::tprint): Don't expect
3599 that all implementations of sprintf handle null pointers correctly.
3601 2004-05-04 Werner LEMBERG <wl@gnu.org>
3603 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
3604 Document `.U' register.
3606 * src/roff/troff/env.cpp (environment::mark_last_line)
3607 [WIDOW_CONTROL]: Fix scope of `p' for new C++ compilers.
3609 2004-05-04 Larry Kollar <kollar@alltel.net>
3611 New read-only register `.U'; it returns 1 in safer mode and 0
3614 * src/roff/troff/input.cpp (init_input_requests): Implement `.U'
3617 2004-05-03 Werner LEMBERG <wl@gnu.org>
3619 * install-sh, mkinstalldirs: New versions; taken from texinfo CVS.
3621 2004-04-17 Werner LEMBERG <wl@gnu.org>
3623 * src/include/font.h (font): Use `int' for ch_index.
3624 * src/libs/libgroff/font.cpp (font::alloc_ch_index,
3625 font::compact): Updated.
3627 * src/roff/groff/pipeline.c (run_pipeline) [_WIN32]: Fix compiler
3630 * src/roff/troff/div.cpp (begin_page), src/roff/troff/env.cpp
3631 (hyphen_word): Fix compiler warnings.
3632 * src/roff/troff/input.cpp (get_char_for_escape_name): Return
3635 (get_delim_number, get_line_arg): Change second argument type to
3637 (macro_header::copy, token::next, do_define_string,
3638 do_define_character, substring_request, asciify_macro,
3639 unformat_macro, read_size, non_interpreted_node::interpret,
3640 while_request, main: Fix compiler warnings.
3641 (read_color_draw_node): Initialize `col'.
3643 * src/preproc/tbl/table.cpp (horizontal_span, table_entry): Make
3644 `start_col' and `end_col' of type `int'.
3645 (vertical_rule): Make `col' of type `int'.
3647 * src/preproc/grn/hdb.cpp (DBRead): Protect call to getc with check
3650 * src/preproc/refer/label.y (uppercase_array, lowercase_array):
3652 (format_serial): Use them to remove dependency on ASCII.
3654 * src/devices/grops/ps.cpp (ps_printer::define_encoding): Fix
3656 * src/devices/grops/psrm.cpp (resource_manager::supply_resource):
3659 * src/devices/grotty/tty.cpp (tty_font::load_tty_font): Fix
3661 (glyph): Change type of `hpos' to `int'.
3663 * src/devices/lbp/lbp.cpp (strsep): Removed. Unused.
3664 * src/devices/lbp/lbp.h (splinerel): Fix compiler warnings.
3666 * src/utils/tfmtodit.cpp (gf::load): Fix compiler warnings.
3668 * src/utils/pfbtops/pfbtops.c (get_text): Fix compiler warning.
3670 2004-04-16 Werner LEMBERG <wl@gnu.org>
3672 * src/devices/grolbp/lbp.h, src/preproc/grn/gprint.h,
3673 src/preproc/grn/hgraph.cpp, src/preproc/grn/hpoint.cpp,
3674 src/preproc/html/pushback.cpp, src/preproc/html/pushback.h: Use
3675 `double' instead of `float' everywhere.
3676 * src/preproc/grn/main.cpp: Use `double' instead of `float'
3678 (main): Add return value.
3679 * src/preproc/grn/hdb.cpp: Use `double' instead of `float'
3681 Update all user functions.
3683 * src/include/search.h, src/include/ptable.h, src/include/printer.h,
3684 src/preproc/eqn/box.h, src/preproc/pic/object.h,
3685 src/preproc/refer/refer.h, src/preproc/tbl/table.h,
3686 src/preproc/tbl/table.cpp, src/roff/troff/env.h,
3687 src/roff/troff/div.h, src/roff/troff/token.h, src/roff/troff/node.h,
3688 src/roff/troff/input.cpp, src/roff/troff/request.h,
3689 src/roff/troff/node.cpp: Don't mix `struct' and `class' in forward
3692 * src/utils/indxbib/signal.c: Include stdlib.h.
3694 2004-04-14 Keith Marshall <keith.d.marshall@ntlworld.com>
3696 * tmac/s.tmac (@init, RP): Allow initialization of the PO register
3697 before the first page.
3699 2004-04-14 Thomas Klausner <wiz@netbsd.org>
3701 * tmac/doc-common (doc-volume-as-*): Use lowercase names.
3702 (doc-operating-system-*): Updated.
3703 * tmac/doc-syms (doc-str-St-*): Various small fixes.
3704 (doc-str-Lb-*): Add more library names.
3706 2004-04-10 Art Haas <ahaas@airmail.net>
3708 * src/utils/hpftodit/hpuni.cpp (hp_msl_to_unicode_list): Don't
3711 2004-04-09 Art Haas <ahaas@airmail.net>
3713 * src/utils/tfmtodit.cpp (lig_chars): Don't use anonymous type.
3715 2004-04-09 Keith Marshall <keith.d.marshall@ntlworld.com>
3717 * arch/misc/shdeps.sh: Generate better comment for sed script.
3719 2004-04-08 Art Haas <ahaas@airmail.net>
3721 * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list),
3722 src/libs/libgroff/uniglyph.cpp (unicode_to_glyph_list),
3723 src/libs/libgroff/uniuni.cpp (unicode_decompose_list),
3724 src/preproc/eqn/box.cpp (param_table), src/preproc/grn/hgraph.cpp
3725 (polyfill), src/preproc/grn/main.cpp (polyfill),
3726 src/preproc/refer/command.cpp (command_table),
3727 src/utils/tfmtodit.cpp (lig_table): Don't use anonymous types (which
3728 gcc 3.5 doesn't like).
3730 2004-04-08 Werner LEMBERG <wl@gnu.org>
3732 Removing many compiler warnings. groff should now compile with
3733 a C++ compiler used for C files also. [Simple variable renamings
3734 to avoid shadowing aren't logged in detail.]
3736 * src/devices/grodvi/dvi.cpp: Some local variable renamings.
3737 (draw_dvi_printer::draw) ['c']: Enclose in block.
3739 * src/devices/grohtml/post-html.cpp: Some local variable renamings.
3740 (page::add_line): Fix typos.
3741 * src/devices/grohtml/html-text.cpp: Some local variable renamings.
3743 * src/devices/grolbp/lbp.cpp: Don't define _GNU_SOURCE.
3744 Some local variable renamings.
3745 * src/devices/grolbp/lbp.h: Some local variable renamings.
3747 * src/devices/grolj4/lj4.cpp, src/devices/grotty/tty.cpp: Some local
3750 * src/libs/libbib/index.cpp (index_search_item_iterator::get_tag):
3751 Remove redundant local variable declaration.
3752 * src/libs/libbib/map.c (mapread, unmap): Don't use K&R style.
3753 Don't use `caddr_t' but `void *'.
3754 Enclose functions with `extern "C"' for C++.
3756 * src/libs/libdriver/input.cpp (remember_filename,
3757 remember_source_filename): Use cast for string constant.
3759 * src/libs/libgroff/font.cpp, src/libs/libgroff/fontfile.cpp,
3760 src/libs/libgroff/nametoindex.cpp, src/libs/libgroff/paper.cpp,
3761 src/libs/libgroff/geometry.cpp: Some local variable renamings.
3762 * src/libs/libgroff/iftoa.c, src/libs/libgroff/itoa.c: Don't use K&R
3764 Enclose functions with `extern "C"' for C++.
3765 * src/libs/libgroff/quotearg.c (TRUE,FALSE): Define as macros.
3766 (needs_quoting): Return `int'.
3767 (quote_arg): Add proper casts to malloc and realloc.
3768 * src/libs/libgroff/spawnvp.c: Compile code only for MS-DOS and
3769 various MS Windows environments.
3770 (spawnvp_wrapper): Add proper cast to malloc.
3772 * src/preproc/eqn/box.h: Remove redundant declarations of
3773 `make_script_box', `make_mark_box' and `make_lineup_box'.
3774 * src/preproc/eqn/eqn.y: Remove redundant declaration of `strsave'.
3775 * src/preproc/eqn/script.cpp, src/preproc/eqn/pile.cpp: Some local
3778 * src/preproc/grn/hpoint.cpp: Some local variable renamings.
3779 * src/preproc/grn/hgraph.cpp: Some local variable renamings.
3780 (dx, dy): Renamed functions to...
3781 (deltax, deltay): This.
3782 * src/preproc/grn/main.cpp: Some local variable renamings.
3783 (deffont): Add `const'.
3784 (initpic, conv): Use cast for string constant.
3786 * src/preproc/html/pre-html.cpp: Some local variable renamings.
3787 (makeFileName, alterDeviceTo, addZ): Use cast for string constant.
3788 (char_buffer::run_output_filter): Second argument is unused.
3789 * src/preproc/html/pushback.cpp: Some local variable renamings.
3791 * src/preproc/pic/pic.y: Remove redundant declaration of `do_copy'.
3792 * src/preproc/pic/object.cpp: Some local variable renamings.
3794 * src/preproc/refer/label.y (lookup_label): Remove redundant
3795 declaration of local variable.
3797 * src/preproc/soelim.cpp: Remove redundant declaration of
3798 `interpret_lf_args'.
3800 * src/preproc/tbl/main.cpp: Some local variable renamings.
3802 * src/roff/groff/groff.cpp (main): Use cast for string constant.
3803 * src/roff/groff/pipeline.c: Enclose declarations of `error',
3804 `c_fatal', and `i_to_a' with `extern "C"' for C++.
3805 Don't use C++-style comments.
3807 * src/roff/troff/env.h: Remove redundant declaration of `title'.
3808 * src/roff/troff/node.h, src/roff/troff/env.cpp,
3809 src/roff/troff/div.cpp, src/roff/troff/node.cpp: Some local variable
3811 * src/roff/troff/div.h: Remove redundant declaration of
3813 * src/roff/troff/troff.h: Remove redundant declaration of
3815 * src/roff/troff/input.cpp: Remove redundant declaration of
3816 `handle_first_page_transition' and `process_input_stack'.
3818 * src/utils/hpftodit.cpp: Some local variable renamings.
3820 * src/utils/indxbib/signal.c: Enclose functions with `extern "C"'
3822 Don't define RETSIGTYPE.
3823 * src/utils/indxbib/indxbib.cpp: Some local variable renamings.
3825 * src/utils/pfbtops/pfbtops.cpp: Don't use K&R style.
3826 (error): Use `const' in argument.
3827 (main): Remove redundant declaration of `optind'.
3828 Move declaration of `Version_string' to top-level.
3830 * PROBLEMS: Document difficulties compiling signal.c if a C++
3831 compiler is used for C.
3833 2004-04-07 Werner LEMBERG <wl@gnu.org>
3835 * Makefile.sub (DISTCLEANFILES): Add `test-groff'.
3837 2004-04-06 Keith Marshall <keith.d.marshall@ntlworld.com>
3839 Make scripts like nroff.sh and neqn.sh portable across various
3840 (Unix-like) shell implementations from Cygwin, MSYS, etc., which use
3841 non-POSIX path separators. The idea is to extend those scripts to
3842 decide at run-time (of the script) which path separator to use.
3844 * arch/misc/Makefile.sub: New file.
3845 * arch/misc/shdeps.sh: New file, generating OS dependency fixups.
3846 This script handles @GROFF_BIN_PATH_SETUP@, replacing it with
3847 a proper definition of the variable `GROFF_RUNTIME'.
3849 * Makefile.in (SH_DEPS_SED_SCRIPT): New variable.
3850 (MDEFINES): Add SH_DEPS_SED_SCRIPT.
3851 (PROGDEPDIRS): New variable.
3853 (PROGDIRS): Add PROGDEPDIRS.
3855 * src/preproc/eqn/Makefile.sub (neqn): Call SH_DEPS_SED_SCRIPT.
3856 Don't substitute @SEP@ and @BINDIR@.
3857 * src/preproc/eqn/neqn.sh: Use @GROFF_BIN_PATH_SETUP@.
3858 (PATH): Use GROFF_RUNTIME.
3860 * src/roff/nroff/Makefile.sub (nroff): Call SH_DEPS_SED_SCRIPT.
3861 Don't substitute @SEP@ and @BINDIR@.
3862 * src/roff/nroff/nroff.sh: Use @GROFF_BIN_PATH_SETUP@.
3863 (PATH): Use GROFF_RUNTIME.
3865 2004-04-05 Keith Marshall <keith.d.marshall@ntlworld.com>
3867 * src/roff/nroff/nroff.sh: Implement work-around for sh.exe from
3868 Cygwin which doesn't handle stderr correctly.
3870 2004-03-08 Werner LEMBERG <wl@gnu.org>
3872 * Makefile.comm (install_dev, uninstall_dev): Protect `for' loops
3873 against empty argument. Problem reported by <cgd@broadcom.com>.
3875 2004-03-05 Keith Marshall <keith.d.marshall@ntlworld.com>
3877 * Makefile.in (SEP): Replaced with...
3878 (RT_SEP, SH_SEP): Separators for the target platform's native path
3879 separator and the build environment, respectively.
3880 (fontpath, tmacpath): Use RT_SEP.
3881 (MDEFINES): Updated.
3883 * contrib/mom/Makefile.sub (GROFF_BIN_PATH): Use SH_SEP.
3884 * doc/Makefile.sub (GROFF_BIN_PATH): Use SH_SEP.
3885 * src/preproc/eqn/Makefile.sub (neqn): Use SH_SEP.
3886 * src/roff/nroff/Makefile.sub (nroff): Use SH_SEP.
3888 2004-03-05 Werner LEMBERG <wl@gnu.org>
3890 * fonts/devlj4/Makefile.sub (LJ4RES): Set to 1200. This helps to
3891 reduce alignment problems with newer printers which use built-in
3892 TrueType fonts (instead of the older Intellifonts). The ideal
3893 solution is to provide a second set of groff metric files, but this
3894 is extremely time-consuming to produce, given that HP's metric
3895 files are very rudimentary.
3897 2004-03-01 Werner LEMBERG <wl@gnu.org>
3899 * src/devices/grolj4/lj4.cpp (main): Fix argument of getopt_long.
3900 s/operand/argument/ in error message.
3902 2004-03-01 Keith Marshall <keith.d.marshall@ntlworld.com>
3904 * src/roff/groff/groff.cpp (main): Don't allow option -o if -Thtml
3907 2004-03-01 Antti Kantee <pooka@netbsd.org>
3909 * tmac/s.tmac (XE): Fix error message.
3911 2004-02-27 Jeff Conrad <jeff_conrad@msn.com>
3913 * src/include/nonposix.h (write, dup, dup2, close) [_MSC_VER]:
3916 * src/roff/groff/pipeline.c: Declare strcasecmp.
3917 (run_pipeline) [_WIN32]: Use function name variants which don't
3919 Fix stream handling.
3921 2004-02-27 Keith Marshall <keith.d.marshall@ntlworld.com>
3923 * src/include/nonposix.h: Fix declaration of `system_shell_name'.
3924 Declare `spawnvp_wrapper' and macro definitions of spawnvp only
3925 for platforms which use the native Win32 runtime libraries.
3926 (FLUSH_INPUT_PIPE) [_UWIN]: Provide non-empty version.
3928 * src/libs/libgroff/quotearg.c (QUOTE_ARG_MALLOC_ERROR,
3929 QUOTE_ARG_REALLOC_ERROR): Fix string.
3931 * src/preproc/html/pre-html.cpp: Remove declaration of
3933 Don't use __MINGW32__.
3934 s/DEBUG_FILE/DEBUG_FILE_DIR/.
3935 (DEBUG_TEXT, DEBUG_NAME, DEBUG_FILE) [DEBUGGING]: New macros.
3936 (OUTPUT_STREAM, PS_OUTPUT_STREAM, REGION_OUTPUT_STREAM): New macros.
3937 (char_buffer::run_output_filter) [MAY_FORK_CHILD_PROCESS]: Fix
3938 calls to `set_redirection' and `WAIT'.
3939 [MAY_SPAWN_ASYNCHRONOUS_CHILD]: Remove unused variable `i' and `j'.
3940 Fix calls to `set_redirection' and `save_and_redirect'.
3941 (char_buffer::do_html, char_buffer::do_image) [DEBUGGING]: Fix calls
3942 to `set_redirection' and `save_and_redirect'.
3943 (usage): Fix message.
3944 (makeTempFiles, main): Use `DEBUG_FILE'.
3946 2004-02-21 Werner LEMBERG <wl@gnu.org>
3948 * src/roff/troff/troff.h (WARN_TOTAL): Fix value.
3950 2004-02-21 Keith Marshall <keith.d.marshall@ntlworld.com>
3952 * src/libs/libgroff/quotearg.c: New file, providing proper argument
3953 quoting for MSVC's spawn* and exec* functions.
3954 * src/libs/libgroff/spawnvp.c: New file, providing a wrapper around
3955 spawnvp with proper quoting for MSVC.
3957 * src/libs/libgroff/assert.cpp (program_name),
3958 src/libs/libgroff/new.cpp (program_name): Declare as `extern "C"'.
3959 * src/libs/libgroff/Makefile.sub (OBJS, CSRCS): Updated.
3961 * src/roff/troff/input.cpp (program_name): Declare as `extern "C"'.
3963 * src/include/error.h (program_name): Declare as `extern "C"'.
3964 * src/include/nonposix.h [__MSDOS__ ...]: Handle spawnvp.
3966 2004-02-21 Jeff Conrad <jeff_conrad@msn.com>
3968 * src/preproc/html/pre-html.cpp [__CYGWIN__ ...]: Declare
3970 [MAY_SPAWN_ASYNCHRONOUS_CHILD]: Declare i and j.
3972 2004-02-20 Jeff Conrad <jeff_conrad@msn.com>
3974 * src/roff/groff/pipeline.c (cmd) [__MSDOS__ || ...]: New global
3976 (sbasename) [__MSDOS__ || ...]: New function.
3977 (system_shell_name) [__MSDOS__ || ...]: Use a different, more
3979 (system_shell_dash_c, is_system_shell) [__MSDOS__ || ...]: Updated.
3980 (run_pipeline) [_WIN32]: Use _XXX variants for some macros instead
3982 Use STDOUT_FILENO instead of hardcoded file handle.
3983 (signal_catcher) [__MSDOS__]: Moved to non-_WIN32 section.
3985 2004-02-19 Werner LEMBERG <wl@gnu.org>
3987 * src/roff/troff/div.cpp: Include nonposix.h after troff.h to
3988 avoid warnings w.r.t. redefinition of P_tmpdir for some compilers.
3990 2004-02-18 Werner LEMBERG <wl@gnu.org>
3992 * font/devlj4/Makefile.sub (DEVFILES): Updated to contain all
3993 new font and mapping files.
3995 2004-02-18 Jeff Conrad <jeff_conrad@msn.com>
3996 Keith Marshall <keith.d.marshall@ntlworld.com>
3998 * src/include/nonposix.h (FLUSH_INPUT_PIPE): New macro to empty
3999 an input pipe. This is needed for the MSVC compiler to make troff's
4002 * src/roff/troff/div.cpp: Include nonposix.h.
4003 (cleanup_and_exit): Call FLUSH_INPUT_PIPE.
4005 2004-02-17 Werner LEMBERG <wl@gnu.org>
4007 * font/devlj4/generate/special.awk: New script.
4008 * font/devlj4/generate/Makefile (S): Use special.awk.
4009 * font/devlj4/*: Regenerated, including the following new files:
4010 Arial (AR, AB, AI, ABI), Times New Roman (TNRR, TNRB, TNRI, TNRBI),
4011 MS Symbol (SYMBOL), Wingdings (WINGDINGS).
4012 * NEWS: Document new lj4 fonts and revised hpftodit.
4014 2004-02-17 Paco Andrés Verdú <pandres@dragonet.es>
4016 * src/devices/grolbp/lbp.h (vmdvarc): Fix formatting string.
4018 2004-01-25 Werner LEMBERG <wl@gnu.org>
4020 * src/libs/libgroff/progname.cpp: Replaced with...
4021 * src/libs/libgroff/progname.c: New file.
4022 * src/libs/libgroff/Makefile.sub: Updated accordingly.
4024 2004-01-17 Werner LEMBERG <wl@gnu.org>
4026 * font/devlj4/generate/Makefile (SYMBOL): Use 9nb28703.tfm.
4028 2004-01-16 Jeff Conrad <jeff_conrad@msn.com>
4030 * font/devlj4/generate/wingdings.map,
4031 font/devlj4/generate/symbol.map: Include unnamed glyphs.
4032 Use groff glyph names where possible.
4033 * src/devices/grolj4/lj4_font.man: Minor updates.
4035 2004-01-13 Werner LEMBERG <wl@gnu.org>
4037 * tmac/www.tmac (DC): Handle TTY devices.
4039 * doc/webpage.ms: Document viewCVS from ffii.org.
4040 * NEWS, README: Updated.
4042 * src/roff/groff/groff.man: Mention lj4_font man page.
4044 * font/devlj4/generate/Makefile (SYMBOLMAP, WINGDINGSMAP): New
4046 (FONTS): Add SYMBOL and WINGDINGS.
4047 (SYMBOL, WINGDINGS): New targets.
4049 2004-01-13 Jeff Conrad <jeff_conrad@msn.com>
4051 * src/devices/grolj4/lj4_font.man: New man page.
4052 * src/devices/grolj4/Makefile.sub (MAN5): New variable.
4053 * src/devices/grolj4.man: Mention lj4_font man page.
4055 * src/utils/hpftodit/hpftodit.cpp (read_map): Handle line comments.
4056 * src/utils/hpftodit/hpftodit.man: Document it.
4058 Remove details about fonts (which are now in lj4_font.man).
4060 * font/devlj4/generate/symbol.map,
4061 font/devlj4/generate/wingdings.map: New files.
4063 2004-01-12 Werner LEMBERG <wl@gnu.org>
4065 * README: Mention ffii's viewcvs access.
4067 2004-01-09 Werner LEMBERG <wl@gnu.org>
4069 * font/devlj4/generate/special.map: Map MSL 228 to U+221F.
4071 2004-01-09 Jeff Conrad <jeff_conrad@msn.com>
4073 Revert most of the change from 2004-01-03 to better control used
4076 * src/utils/hpftodit/hpftodit.cpp (symbol_set): New structure.
4077 (text_symbol_sets, special_symbol_sets): New arrays.
4078 (symbol_set_table): New global variable.
4079 (read_symbol_sets): Use search order given in the text_symbol_sets
4080 and special_symbol_sets arrays. If command line flag -a is not
4081 given, search both arrays.
4082 (output_charset): Require x_height_tag only for command line flag -i.
4084 2004-01-06 Werner LEMBERG <wl@gnu.org>
4086 Implement string-valued registers \n[.m] and \n[.M] to return the
4087 name of the current drawing and background color, respectively.
4089 * src/roff/troff/symbol.h: Moved to...
4090 * src/include/symbol.h: Here.
4091 Small fixes to make it work outside of the `troff' directory.
4092 * src/roff/troff/symbol.cpp: Moved to...
4093 * src/libs/libgroff/symbol.cpp: Here.
4094 Small fixes to make it work outside of the `troff' directory.
4096 * src/include/Makefile.sub (HDRS), src/libs/libgroff/Makefile.sub
4097 (OBJS, CCSRCS), src/roff/troff/Makefile.sub (OBJS, CCSRCS, HDRS):
4100 * src/include/color.h: Include symbol.h.
4101 (color): Add new field `nm'.
4102 * src/libs/libgroff/color.cpp (color::color): Updated.
4104 * src/roff/troff/dictionary.cpp, src/roff/troff/div.cpp,
4105 src/roff/troff/node.cpp, src/roff/troff/number.cpp,
4106 src/roff/troff/reg.cpp: Don't include symbol.h.
4108 * src/roff/troff/env.cpp: Don't include symbol.h.
4109 (environment::get_glyph_color_string,
4110 environment_get_fill_color_string): New member functions.
4111 (init_env_requests): Handle `.m' and `.M' registers.
4112 * src/roff/troff/input.cpp: Don't include symbol.h.
4113 (default_symbol): Moved to symbol.cpp/symbol.h.
4114 (do_glyph_color, do_fill_color, define_color): Pass symbol name
4115 to color constructor.
4116 * src/roff/troff/env.h: Updated.
4118 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
4119 Document new registers.
4121 2004-01-05 Werner LEMBERG <wl@gnu.org>
4123 * src/roff/troff/node.cpp (space_node::get_breakpoints,
4124 space_node::nbreaks): Protect against zero `next' field.
4126 2004-01-03 Jeff Conrad <jeff_conrad@msn.com>
4128 In hpftodit, use the symbol sets offered in the TFM.
4130 * src/utils/hpftodit/hpftodit.cpp (NO_GLYPH): New constant.
4131 (symbol_set, text_symbol_sets, special_symbol_sets,
4132 symbol_set_table): Removed.
4133 (get_printcode): Removed.
4134 (read_symbol_sets): Initialize `symbol_set' field with
4136 Simplify code to just use the `kind' value.
4137 (output_charset): Improve output formatting.
4138 (dump_symbols): Simplified.
4140 2004-01-02 Werner LEMBERG <wl@gnu.org>
4142 * font/devlj4/generate/text.map: Add more MSL numbers.
4144 2004-01-02 Jeff Conrad <jeff_conrad@msn.com>
4146 * src/utils/hpftodit/hpftodit.cpp (is_decomposed): New macro.
4147 (text_symbol_sets): Add more symbol sets.
4148 (debug_flag): New static variable (moved from `main').
4149 (get_printcode, show_symset): New functions.
4150 (main): Remove `debug_flag'.
4151 (output_charset): Use `show_symset'.
4152 (dump_symbols): Use `show_symset'.
4153 Print symsets for all glyphs.
4154 (read_map): Actually call `unicode_to_ucode_make' but this time
4157 2004-01-01 Werner LEMBERG <wl@gnu.org>
4159 * font/devlj4/generate/text.map, font/devlj4/generate/special.map:
4160 Fix placement of comments.
4162 2004-01-01 Jeff Conrad <jeff_conrad@msn.com>
4164 * src/utils/hpftodit/hpftodit.cpp (main): Read map file also if
4165 option `-d' is given.
4166 (output_charset): Improve warning messages to give more information.
4167 (dump_symbols): Make information more precise.
4169 (read_map): Don't call unicode_to_ucode_name; the glyph names must
4170 appear as-is and shouldn't be decomposed.
4172 2003-12-31 Werner LEMBERG <wl@gnu.org>
4174 * src/utils/hpftodit/hpftodit.cpp (dump_tags): Handle posture_tag.
4175 * font/devlj4/generate/Makefile (IFLAG): Updated to new units.
4176 (FONTS): Add TrueType font families Arial and Times New Roman.
4177 (TNRR, TNRB, TNRI, TNRBI, AR, AB, AI, ABI): New targets.
4178 * font/devlj4/generate/text.map: Fix Unicode values of `fi' and
4181 2003-12-31 Jeff Conrad <jeff_conrad@msn.com>
4183 * test-groff.in (SEP): Quote value.
4184 * src/roff/troff/node.cpp (suppress_node::tprint): Change type of
4185 `tem' to `char*' to avoid deallocation of a pointer to a constant
4186 object which some compilers don't like.
4188 2003-12-31 Werner LEMBERG <wl@gnu.org>
4190 * font/devlj4/generate (text.map, special.map): Rewritten to work
4191 with the new hpftodit version.
4193 2003-12-30 Jeff Conrad <jeff_conrad@msn.com>
4195 * src/utils/hpftodit/hpftodit.cpp (output_charset): Emit HP symbol
4196 set and 8bit character code for all glyphs also.
4198 2003-12-30 Werner LEMBERG <wl@gnu.org>
4200 * src/libs/libgroff/strcasecmp.c: Updated from gnulib.
4202 2003-12-29 Werner LEMBERG <wl@gnu.org>
4204 More fixes for MSVC compiler.
4206 * doc/Makefile.sub, contrib/mom/Makefile.sub (GROFF_BIN_PATH): Use
4209 * src/include/nonposix.h (STDIN_FILENO, STDOUT_FILENO,
4210 STDERR_FILENO) [_MSC_VER]: Define conditionally.
4211 (getpid) [_MSC_VER]: Remove.
4212 Include direct.h and process.h conditionally.
4214 * src/roff/troff/node.cpp (suppress_node::tprint): Don't use
4215 parentheses for a_delete.
4217 * src/utils/lookbib/lookbib.cpp: Include nonposix.h.
4219 * test-groff: Replaced with...
4220 * test-groff.in: This new template to handle path separator
4223 * configure.ac: Check for direct.h and process.h.
4224 Generate test-groff script.
4225 * configure, src/include/config.hin: Regenerated.
4227 2003-12-28 Werner LEMBERG <wl@gnu.org>
4229 Add integral extension glyph.
4230 Add new option `-x' to afmtodit to suppress use of built-in AGL.
4232 * font/devhtml/R.proto, font/devutf8/R.proto: Add `u23AE'.
4234 * font/devps/generate/textmap: Provide entry for `integralex' to
4235 override (old) PUA value of the AGL.
4236 * font/devps/generate/Makefile (SS): Add afmtodit option `-x'.
4237 * font/devps/*: Regenerated.
4239 * src/utils/afmtodit/afmtodit.pl: Add option `-x'.
4240 * src/utils/afmtodit/afmtodit.man, NEWS: Updated.
4242 2003-12-27 Werner LEMBERG <wl@gnu.org>
4244 Add forgotten `coproduct' symbol (already available for DVI).
4246 * font/devhtml/R.proto, font/devps/generate/textmap,
4247 font/devps/symbolmap, font/devutf8/R.proto, man/groff_char.man,
4248 src/libs/libgroff/uniglyph.cc, src/libs/libgroff/glyphuni.cpp: Add
4249 U+2210 (\[coproduct]).
4251 2003-12-26 Jeff Conrad <jeff_conrad@msn.com>
4253 hpftodit has been extended to handle TrueType metric files and
4254 more glyphs. See hpftodit.man for more details.
4256 * src/utils/hpftodit/hpftodit.cpp: Include stdio.h, string.h,
4257 ctype.h, and unicode.h.
4258 s/msl/charcode/ everywhere since we now handle Unicode values also.
4259 (equal, NO, YES, MSL, SYMSET, UNICODE, UNICODE): New macros.
4260 Use it where appropriate.
4261 (MULTIPLIER): Replaced with...
4262 (multiplier): New global static variable.
4264 (tag_type): Add more TFM tags.
4265 (tag_name): New array.
4266 (ENUM_TYPE, FLOAT_TYPE): Removed.
4267 (BYTE_TYPE): New value assigned.
4268 (ASCII_TYPE, RATIONAL_TYPE): New enumeration values.
4269 (text_symbol_sets, special_symbol_sets): Extended to cover more
4271 (check_type): Add return value.
4272 (check_units): Add parameters to get ppi and upem values.
4273 Handle TrueType TFM data.
4274 (output_font_name): New function.
4275 (output_charset): Add parameter to handle TFM type.
4276 Handle TrueType TFMs also.
4277 (em_fract): New macro.
4278 (dump_tags): Be much more verbose and handle more tags.
4279 (dump_ascii, dump_symbol_sets, dump_symbols): New functions.
4280 (hp_msl_to_ucode_name, unicode_to_ucode_name, is_uname): New
4282 (read_map): Add parameter to handle TFM type.
4283 Handle both MSL and Unicode mappings.
4284 (main): Add two new command line options `-a' and `-q'.
4285 Updated to make use of new functions.
4288 * src/utils/hpftodit/hpuni.cpp: New file.
4290 * src/utils/hpftodit/Makefile.sub, src/utils/hpftodit/hpftodit.man:
4293 2003-12-25 Werner LEMBERG <wl@gnu.org>
4295 * src/include/nonposix.h (read) [_MSC_VER]: Define.
4297 2003-12-24 Werner LEMBERG <wl@gnu.org>
4299 * src/utils/afmtodit/afmtodit.man: Some reformulations as suggested
4300 by Michail Vidiassov <master@iaas.msu.ru>.
4302 2003-12-20 Werner LEMBERG <wl@gnu.org>
4304 * font/devhtml/R.proto: Add u00{47,67}_0306, u00{53,73}_0327,
4306 Add missing latin-2 glyphs.
4307 * font/devutf8/R.proto: Add missing latin-2 glyphs.
4309 * tmac/troffrc: Load `composite.tmac' earlier.
4311 * tmac/dvi.tmac, tmac/ps.tmac, tmac/lbp.tmac: Add u00{47,67}_0306,
4312 u00{53,73}_0327, and u0049_0307.
4313 * tmac/X.tmac: Add u00{47,67}_0306.
4314 * tmac/tty-char.tmac: Use composite glyph names for readability.
4318 * src/include/unicode.h: Remove `extern' keywords.
4320 2003-12-20 Nilgün Belma Bugüner <nilgun@superonline.com>
4322 * tmac/latin5.tmac: New file.
4324 2003-12-19 Werner LEMBERG <wl@gnu.org>
4326 Add some glyphs needed for Turkish.
4328 * font/devutf8/R.proto: Add u00{47,67}_0306, u00{53,73}_0327,
4331 * tmac/composite.tmac: Add `,' as a synonym for `ac' accent.
4332 * tmac/tty-char.tmac: Add representations for u00{47,67}_0306,
4333 u00{53,73}_0327, and u0049_0307.
4335 2003-12-18 Werner LEMBERG <wl@gnu.org>
4337 * src/devices/grops/ps.cc (ps_output::put_float): Revert change
4339 Remove trailing zeros.
4341 2003-12-17 Werner LEMBERG <wl@gnu.org>
4343 Make \? transparent to end-of-sentence recognition.
4345 * src/roff/troff/input.cc (non_interpreted_node): Add
4346 `ends_sentence' member function.
4348 2003-12-16 Werner LEMBERG <wl@gnu.org>
4350 * doc/groff.texinfo: Document `dt' request correctly.
4351 Other minor typographical improvements.
4353 2003-12-10 Michail Vidiassov <master@iaas.msu.ru>
4355 * src/utils/afmtodit/Makefile.sub (afmtodit): Fix typo.
4357 2003-12-10 Richard Stallman <rms@gnu.org>
4359 * LICENSE: Better wording.
4361 2003-12-09 Werner LEMBERG <wl@gnu.org>
4363 * aclocal.m4 (GROFF_BROKEN_SPOOLER_FLAGS): Set default value to 0.
4364 * configure, NEWS: Updated.
4366 2003-12-08 Werner LEMBERG <wl@gnu.org>
4368 * FDL: Updated to version 1.2 (from www.gnu.org/copyleft).
4370 2003-12-07 Bernd Warken <bwarken@mayn.de>
4374 2003-12-07 Werner LEMBERG <wl@gnu.org>
4376 * INSTALL: Improved.
4378 2003-12-05 Keith Marshall <keith.d.marshall@ntlworld.com>
4380 Use path separator character of target platform for compiled-in
4383 * aclocal.m4 (GROFF_TARGET_PATH_SEPARATOR): New macro.
4384 * configure.ac: Use GROFF_TARGET_PATH_SEPARATOR.
4385 * configure: Regenerated.
4386 * Makefile.in (SEP): Use GROFF_PATH_SEPARATOR.
4388 2003-12-05 Werner LEMBERG <wl@gnu.org>
4390 * src/include/nonposix.h (PATH_SEP_CHAR): New definition.
4391 Replace `PATH_SEP[0]' with `PATH_SEP_CHAR' everywhere.
4393 2003-12-04 Bernd Warken <bwarken@mayn.de>
4395 * LICENSE: New file.
4397 2003-12-03 Werner LEMBERG <wl@gnu.org>
4399 * src/utils/afmtodit/afmtodit.pl: Comment out code which handles
4400 ligatures present in AFM files since groff currently only
4401 understands some standard ligatures and nothing else.
4403 2003-12-03 Jeff Conrad <jeff_conrad@msn.com>
4405 * src/roff/groff/groff.cpp (main): Don't run the spooler if
4408 * src/roff/groff/pipeline.c (run_pipeline) [_WIN32]: Fix error
4411 Don't use Unix wait flags.
4413 2003-12-02 Werner LEMBERG <wl@gnu.org>
4415 * src/roff/troff/glyphuni.cpp, src/roff/troff/unicode.cpp,
4416 src/roff/troff/unicode.h, src/roff/troff/uniglyph.cpp,
4417 src/roff/troff/uniuni.cpp: Moved to...
4418 * src/libs/libgroff/glyphuni.cpp, src/libs/libgroff/unicode.cpp,
4419 src/libs/libgroff/unicode.h, src/libs/libgroff/uniglyph.cpp,
4420 src/libs/libgroff/uniuni.cpp: Here.
4422 * src/include/Makefile.sub.old (HDRS),
4423 src/libs/libgroff/Makefile.sub (OBJS, CCSRCS),
4424 src/roff/troff/Makefile.sub (HDRS, PBJS, CCSRCS): Updated.
4426 2003-12-01 Keith Marshall <keith.d.marshall@ntlworld.com>
4428 * src/preproc/htlp/pre-html.cpp (__tmpfile): Renamed to
4432 2003-12-01 Werner LEMBERG <wl@gnu.org>
4434 * groff.texinfo: Document special behaviour of `.vs 0'.
4435 Improve documentation of `cflags' request.
4438 2003-11-29 Werner LEMBERG <wl@gnu.org>
4440 * font/devlj4/generate/Makefile (CORONET): Use correct TFM.
4441 * font/devlj4/CORONET: Regenerated.
4443 2003-11-24 Werner LEMBERG <wl@gnu.org>
4445 * src/roff/troff/env.cpp (hyphen_trie::read_patterns_file): Fix loop
4446 if processing hyphenation patterns in traditional mode.
4447 Improve error messages.
4449 2003-11-20 Werner LEMBERG <wl@gnu.org>
4451 * src/roff/troff/node.cpp (troff_output_file::put_char_width,
4452 troff_output_file::put_char): Fix type of local variable `c'.
4454 2003-11-19 Werner LEMBERG <wl@gnu.org>
4456 * src/roff/groff/pipeline.c (P): Removed. Updated all function
4458 (i_to_a): Removed. libgroff already provides this function.
4459 (run_pipeline) [_WIN32]: Don't use itoa but i_to_a.
4461 2003-11-18 Keith Marshall <keith.d.marshall@ntlworld.com>
4463 * src/roff/groff/pipeline.c (xstrsignal): Fix usage of
4466 2003-11-17 Werner LEMBERG <wl@gnu.org>
4468 * COPYING: Use correct version.
4470 2003-11-11 Werner LEMBERG <wl@gnu.org>
4472 LynxOS 4.0.0 doesn't declare vfprintf.
4474 * configure.ac: Check for vfprintf.
4475 * configure: Regenerated.
4476 * src/include/lib.h: Handle `NEED_DECLARATION_VFPRINTF'.
4477 * src/include/config.hin: Regenerated.
4479 2003-11-10 Werner LEMBERG <wl@gnu.org>
4481 LynxOS 4.0.0 has snprintf (without declaration) but no vsnprintf.
4483 * configure.ac: Check for vsnprintf.
4484 * configure: Regenerated.
4485 * src/include/lib.h: Handle `NEED_DECLARATION_VSNPRINTF' and
4487 * src/include/config.hin: Regenerated.
4489 2003-11-09 Werner LEMBERG <wl@gnu.org>
4491 * aclocal.m4: Updated syntax to autoconf 2.59.
4492 (GROFF_HTML_PROGRAMS): Use AC_FOREACH.
4493 Don't check for gsos2.
4494 (GROFF_SRCDIR, GROFF_BUILDDIR): Removed. autoconf 2.59 provides
4495 working abs_top_srcdir and abs_top_builddir.
4497 * configure.ac: Updated syntax to autoconf 2.59.
4498 Don't call GROFF_SRCDIR and GROFF_BUILDDIR.
4499 Replace call to AC_DECL_SYS_SIGLIST with call to AC_CHECK_DECLS.
4500 * configure: Regenerated.
4502 * Makefile.in, doc/Makefile.in: s/@top_srcdir@/@abs_top_srcdir@/,
4503 s/@groff_top_builddir@/@abs_top_builddir@/.
4505 * src/roff/groff/pipeline.c (xstrsignal):
4506 s/SYS_SIGLIST_DECLARED/HAVE_DECL_SYS_SIGLIST/.
4508 2003-11-07 Werner LEMBERG <wl@gnu.org>
4510 * src/devices/grodvi/dvi.cpp (draw_dvi_printer::draw) ['a']: Always
4511 make start angle smaller than end angle to circumvent a bug in tpic
4512 handling of some versions of dvipdfm (and dvipdfmx).
4514 2003-10-30 Werner LEMBERG <wl@gnu.org>
4516 * src/devices/grops/grops.man: Improve section on creating EPS.
4518 2003-10-29 Werner LEMBERG <wl@gnu.org>
4520 * contrib/pic2graph/pic2graph.sh: Fix typo (-P-letter ->
4523 2003-10-28 Werner LEMBERG <wl@gnu.org>
4525 * doc/groff.texinfo: Fix documentation of `.if'.
4527 2003-10-27 Michail Vidiassov <master@iaas.msu.ru>
4529 * src/utils/afmtodit/afmtodit.pl: Handle unmapped characters of
4530 the form `uniXXXX' also.
4532 2003-10-27 Werner LEMBERG <wl@gnu.org>
4534 * contrib/eqn2graph/eqn2graph.sh, contrib/grap2graph/grap2graph.sh,
4535 contrib/pic2graph/pic2graph.sh: Implement secure management of
4537 Pass `-P-pletter' to groff to avoid data outside of the converted
4538 area -- some versions of `convert' (for example 5.3.8) don't check
4539 the bounding box of the image but always use a fixed image size
4540 (letter paper format).
4541 * contrib/eqn2graph/eqn2graph.man, contrib/grap2graph/grap2graph.man,
4542 contrib/pic2graph/pic2graph.man: Updated.
4544 * src/roff/groff/groff.man: Document $TMP and $TEMP.
4546 2003-10-26 Werner LEMBERG <wl@gnu.org>
4548 * src/preproc/pic/troff.cpp (troff_output::simple_circle,
4549 troff_output::simple_ellipse, troff_output::simple_arc,
4550 troff_output::simple_line, troff_output::simple_spline,
4551 troff_output::simple_polygon): Insert a space before arguments.
4552 (troff_output::set_fill): Emit `\&' before `\D'Fg...' since the
4553 latter doesn't produce a node, so the following `.sp -1' would do
4555 Don't emit `.sp -1' after \M. This also doesn't produce a token
4556 (and we don't have to care about compatibility mode).
4557 (troff_output::set_color, troff_output::reset_color): Don't emit
4558 `.sp -1' after \M and \m.
4560 * src/roff/troff/input.cpp (old_have_input): New global variable.
4561 (input_stack::get): Handle `old_have_input'.
4562 (process_input_stack) <token::TOKEN_NEWLINE>: Call
4563 `trapping_blank_line' depending on `old_have_input', not
4566 2003-10-20 Keith Marshall <keith.d.marshall@ntlworld.com>
4568 * src/libs/libgroff/tmpfile.cpp [__MSDOS__, _Win32]
4569 (WIN32_TMPDIR_ENVVAR, MSDOS_TMPDIR_ENVVAR): New macros, providing
4570 default directory names for temporary files.
4571 [__MSDOS__, _Win32] (temp_init::temp_init): Use them.
4573 * src/roff/groff/pipeline.c [__MSDOS__]: Include stdlib.h.
4574 [__MSDOS__] (run_pipeline): Honour environment variables.
4575 Don't use `tmpnam' but `tempnam' to work around messy
4578 * README.MinGW: New file.
4580 2003-10-16 Werner LEMBERG <wl@gnu.org>
4582 * src/preproc/html/pre-html.cpp (write_upto_newline): Don't use
4583 `(*t)->next' without testing validity of `*t'.
4584 (usage): Make it more readable.
4586 2003-10-16 Keith Marshall <keith.d.marshall@ntlworld.com>
4588 Make html device run under both MS-DOS and Win32.
4590 * src/preproc/html/pre-html.cpp (MAY_FORK_CHILD_PROCESS,
4591 MAY_SPAWN_ASYNCHRONOUS_CHILD): New macros to control whether
4592 spawn or fork+exec has to be used, and whether parent must sleep
4593 until the child process terminates. Used in
4594 `char_buffer::run_output_filter'.
4595 (copyofstdoutfd): Removed.
4596 (char_buffer): Replace `write_file_html' and `write_file_troff'
4597 member functions with `emit_troff_output' and `run_output_filter'.
4598 (DEVICE_FORMAT, HTML_OUTPUT_FILTER, IMAGE_OUTPUT_FILTER): New
4600 (replaceFd): Replaced with...
4601 (set_redirection): New auxiliary function.
4602 (waitForChild): Replaced with...
4603 (save_and_redirect): New auxiliary function for.
4605 (char_buffer::do_html, char_buffer::do_image): Simplified, using new
4608 2003-10-14 Keith Marshall <keith.d.marshall@ntlworld.com>
4610 * aclocal.m4 (GROFF_SYS_NERR): Check stdlib.h also.
4611 (GROFF_LIBC): New function.
4612 * configure.ac: Call GROFF_LIBC.
4614 * configure: Regenerated.
4616 * src/include/lib.h: Handle __MINGW32__.
4617 * src/include/nonposix.h [_MSC_VER]: Handle __MINGW32__.
4618 Add macro for `pipe'.
4621 * src/roff/groff/pipeline.c (run_pipeline): Handle `no_pipe'
4624 * src/utils/indxbib/signal.c (handle_fatal_signal) [!HAVE_KILL]:
4627 2003-10-13 Werner LEMBERG <wl@gnu.org>
4629 Finally fix change 2003-08-26, based on ideas from Chuck Silvers
4632 * contrib/mom/Makefile.sub: Use a stamp file in the `examples'
4635 2003-10-12 Werner LEMBERG <wl@gnu.org>
4637 * src/roff/groff/groff.cpp (help), src/devices/grops/ps.cpp (usage),
4638 src/roff/troff/input.cc (usage): Updated.
4640 * NEWS, doc/groff.texinfo: Updated.
4642 2003-10-12 Peter Miller <millerp@canb.auug.org.au>
4644 * src/libs/libgroff/searchpath.cpp
4645 (search_path::open_file_cautious): New function which also handles
4646 `-' as stdin and stdout depending on the access mode.
4647 * src/include/searchpath.h (search_path): Updated.
4649 * src/devices/grops/ps.cpp (main): Handle new `-I' switch.
4650 * src/devices/grops/ps.h: Include `searchpath.h'.
4651 * src/devices/grops/psrm.cpp (resource_manager::supply_resource):
4652 Open resource file with `include_search_path.open_file_cautious'.
4653 * src/devices/grops/grops.man: Document new `-I' switch.
4655 * src/devices/grodvi/dvi.cpp (main), src/devices/grolbp/lbp.cpp
4656 (main), src/devices/grolj4/lj4.cpp (main),
4657 src/devices/grotty/tty.cpp (main): Ignore new `-I' switch.
4659 * src/preproc/soelim/soelim.cpp (include_list_length, include_list):
4661 (include_search_path): New global variable.
4662 (include_path_append): Removed.
4663 (main): Use `include_search_path.command_line_dir' to handle `-I'.
4664 (do_file): Simplify, using new
4665 `include_search_path.open_file_cautious'.
4667 * src/roff/groff/groff.cpp (print_commands): Accept file handle as
4669 (main): Pass arguments to `-I' to both troff and devices.
4670 Improve handling of `-V'.
4671 * src/roff/groff/groff.man: Document changes to -I and -V.
4673 * src/roff/troff/input.cpp (include_search_path): New global
4675 (next_file, source, ps_bbox_request, transparent_file,
4676 process_input_file): Use new
4677 `include_search_path.open_file_cautious'.
4678 (main) Handle `-I' switch.
4679 * src/roff/troff/node.cpp (troff_output_file::really_copy_file):
4680 Use new `include_search_path.open_file_cautious'.
4681 * src/roff/troff/node.h: New extern symbol `include_search_path'.
4682 * src/roff/troff/troff.man: Document new `-I' switch.
4684 2003-09-15 Ruslan Ermilov <ru@FreeBSD.org>
4686 Support multiple calls of .Lb in LIBRARY section.
4688 * tmac/doc-common (doc-in-library-section): New register.
4689 (doc-section-library): New string.
4690 (Sh): Set `doc-in-library-section'.
4692 * tmac/doc-syms (Lb): Insert breaks before and after arguments
4693 if in LIBRARY section.
4694 * tmac/doc.tmac (doc-save-global-vars): Updated.
4695 * NEWS, tmac/groff_mdoc.man: Updated.
4697 2003-09-14 Ruslan Ermilov <ru@FreeBSD.org>
4699 * tmac/doc-common (doc-default-operating-system): New variable.
4702 2003-09-08 Werner LEMBERG <wl@gnu.org>
4704 * tmac/doc.tmac (doc-reset-reference): Handle data for `%I' also.
4706 2003-08-31 Werner LEMBERG <wl@gnu.org>
4708 * contrib/mom/Makefile.sub: Fix last change to make it really work.
4709 * Makefile.comm: Use `test ... ||' in favor of `if test ...; then'.
4710 (install_dev, uninstall_dev): Check whether $(DEVSCRIPTS) and
4711 $(DEVFILES) are not empty.
4712 * Makefile.in: Use `test ... ||' in favor of `if test ...; then'.
4714 2003-08-26 Chuck Silvers <chuq@chuq.com>
4716 * contrib/mom/Makefile.sub (prepare_make_examples): Make it work
4717 with parallel runs of `make'.
4719 2003-08-23 Stephen Gildea <http://www.gildea.com/stephen>
4721 * src/preproc/ref/ref.cpp (reference::compute_sort_key): Always
4722 insert SORT_SEP. With certain combinations of sort specifications,
4723 refer sorted entries in the wrong order. In particular, entries
4724 with a missing field should be be sorted before all entries that
4725 have that field, before refer looks to the next field.
4727 2003-08-23 Werner LEMBERG <wl@gnu.org>
4729 * src/utils/pfbtops/Makefile.sub (LINK.c): Define it so that the
4730 g++ linker is used. Reported by Mark J. Reed
4731 <mark.reed@turner.com>.
4733 2003-08-16 Heinz-Jürgen Oertel <hj.oertel@surfeu.de>
4735 Add key character `x' to tbl which makes tbl call a user-defined
4736 macro on a table cell.
4738 * src/preproc/tbl/table.h (entry_modifier): Add `macro'.
4739 * src/preproc/tbl/table.cpp (block_entry::do_divert): Call
4740 `set_modifier' after printing the compatibility request.
4741 (set_modifier): Print call to `m->macro' if not empty.
4742 * src/preproc/tbl/main.cpp (entry_format::debug_print): Handle
4744 (process_format): Implement cases `x' and `X'.
4745 * src/preproc/tbl/tbl.man, NEWS: Updated.
4747 2003-08-15 Werner LEMBERG <wl@gnu.org>
4749 * doc/groff.texinfo: Minor fixes.
4751 2003-08-09 Werner LEMBERG <wl@gnu.org>
4753 * tmac/an-old.tmac [cR]: Fix redefinition of `bp'.
4755 2003-08-07 Werner LEMBERG <wl@gnu.org>
4757 * doc/Makefile.sub: Not all shells expand wildcards in the `for'
4758 argument list to nothing if there is no file to match. Use `ls' as
4759 a protection, similar to autoconf.
4761 * Makefile.comm (install_dev, uninstall_dev): Protect `for' against
4762 empty argument lists.
4764 * doc/groff.texinfo: Improve documentation how vertical spacing
4765 and line breaks interact.
4768 * tmac/www.tmac: Initialize `www-htmlimage-gap'.
4770 2003-08-03 Werner LEMBERG <wl@gnu.org>
4772 * NEWS, src/devices/grops/grops.man: -b16 is necessary to produce
4773 EPS (using eps2eps or similar programs to compute the bounding box).
4775 2003-07-24 Werner LEMBERG <wl@gnu.org>
4777 * doc/groff.texinfo: Use the new @/ command to avoid overlong lines.
4778 * doc/texinfo.tex: Updated from texinfo 4.6.
4779 * README.CVS: From now on we need texinfo 4.6.
4781 2003-07-23 Werner LEMBERG <wl@gnu.org>
4783 Add requests `dei1' and `ami1' for completeness.
4785 * src/roff/troff/input.cc (calling_mode): Remove
4786 CALLING_DISABLE_COMP.
4787 (comp_mode): New enumeration.
4788 (do_define_string, define_string, define_nocomp_string,
4789 append_string, append_nocomp_string): Updated.
4790 (do_define_macro): Add third parameter.
4791 (define_macro, define_nocomp_macro, define_indirect_macro,
4792 append_macro, append_nocomp_macro, append_indirect_macro): Updated.
4793 (define_indirect_nocomp_macro, append_indirect_nocomp_macro): New
4796 (init_input_requests): Add `dei1' and `ami1'.
4798 * tmac/trace.tmac: Handle de1 and am1.
4799 (de): Improve tracing message.
4800 (am): Add missing `do'.
4803 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
4804 Document new requests.
4806 2003-07-22 Heinz-Jürgen Oertel <hj.oertel@surfeu.de>
4808 Add option -G to .MPIMG to insert a gap between text and the image.
4810 * tmac/www.tmac (www-finish-left-po, www-finish-right-ll,
4811 www-finish-left-ll): Updated.
4812 (www-image-just, www-image-gap, www-htmlimage-gap): New variables.
4813 (MPIMG): Make option -L and -R optional.
4814 Implement option -G.
4816 2003-07-22 Gaius Mulley <gaius@glam.ac.uk>
4818 * src/devices/grohtml/post-html.cpp
4819 (html_printer::do_file_components): Don't use `stdout' as lvalue
4820 since it can be a macro.
4822 2003-07-22 Werner LEMBERG <wl@gnu.org>
4824 * src/libs/libgroff/strerror.c: Include errno.h to be in sync with
4825 the corresponding test in aclocal.m4.
4827 2003-07-21 Werner LEMBERG <wl@gnu.org>
4829 * src/preproc/html/pre-html.cpp (TRANSPARENT): Don't use colour
4830 names but RGB values directly. Otherwise pnmtopng depends on
4831 an external file `rgb.txt' which maps colour names to values.
4833 2003-07-20 Werner LEMBERG <wl@gnu.org>
4835 * aclocal.m4 (GROFF_SYS_ERRLIST): Include stdlib.h for MinGW.
4836 * configure, src/include/config.hin: Regenerated.
4838 * src/libs/libgroff/strerror.c: Include stdlib.h for MinGW.
4840 2003-07-19 Werner LEMBERG <wl@gnu.org>
4842 * PROBLEMS: Add solution for UTF-8 problem with hyphens.
4844 2003-07-18 Werner LEMBERG <wl@gnu.org>
4846 * *.man: Switch to non-compatibility mode temporarily if GNU
4847 syntax extensions are used in the particular man page.
4849 * PROBLEMS: Add solutions for SGR problems.
4851 2003-07-17 Werner LEMBERG <wl@gnu.org>
4853 Don't ignore grotty's command line options if \X'tty: sgr ...' is
4854 used to change the drawing scheme.
4856 * src/devives/grotty/tty.cpp (bold_flag_option,
4857 underline_flag_option, italic_flag_option, reverse_flag_option,
4858 bold_underline_mode_option): New global variables.
4859 (update_options): New function.
4860 (tty_printer::special): Call update_options.
4861 (main): Don't set xxx_flag but xxx_flag_option, then call
4864 2003-07-14 Werner LEMBERG <wl@gnu.org>
4866 Make grotty emit proper Unicode box drawing characters for -Tutf8.
4868 * src/devices/grotty/tty.cpp (START_LINE, END_LINE): New enum
4870 (hline_char, vline_char): New global variables.
4871 (tty_printer::tty_printer): Initialize them.
4872 (tty_printer::draw): Emit START_LINE and END_LINE flags for both
4873 horizontal and vertical lines.
4874 (crossings): New global array.
4875 (tty_printer::end_page): Use it to determine the proper crossing
4876 character for -Tutf8.
4878 2003-07-12 Werner LEMBERG <wl@gnu.org>
4880 * doc/Makefilesub (HTMLDOCFILESALL): New macro.
4881 (HTMLDOCFILES): Revert to `pic.html'.
4882 (CLEANADD, install_html, uninstall_sub): Use HTMLDOCFILESALL.
4884 2003-07-11 Werner LEMBERG <wl@gnu.org>
4886 * doc/pic.ms: Improve documentation of absolute coordinates.
4887 Document absolute positioning of pictures.
4889 * NEWS: Add new pic capability.
4891 2003-07-09 Hartmut Henkel <hartmut_henkel@gmx.de>
4893 * src/libs/libgroff/geometry.cpp (check_output_arc_limits):
4896 2003-07-07 Werner LEMBERG <wl@gnu.org>
4898 Implement support for dashed and dotted ellipses in pic. Based on
4899 a patch from Hartmut Henkel <hartmut_henkel@gmx.de>.
4901 * src/preproc/pic/common.cpp (common_output::ellipse_arc,
4902 common_output::dashed_ellipse, common_output::dotted_ellipse): New
4903 functions. Ellipse arcs are approximated with circle arcs.
4904 * src/preproc/pic/common.h (common_output): Updated.
4905 * src/preproc/pic/tex.cpp (tex_output::ellipse): Use new ellipse
4907 * src/preproc/pic/troff.cpp (simple_output::ellipse): Ditto.
4909 * src/preproc/pic/TODO, src/preproc/pic/pic.man: Updated.
4911 2003-07-06 Werner LEMBERG <wl@gnu.org>
4913 Make grotty work on platforms which have unsigned char as the
4914 default for char. Based on a patch by Thomas Klausner
4917 * src/devices/grotty/tty.cpp (schar): New typedef.
4918 Updated calls to declare_ptable and implement_ptable.
4919 (glyph): Use schar for back_color_idx and fore_color_idx.
4920 (tty_printer): Use schar for curr_fore_idx and curr_back_idx.
4921 (tty_printer::tty_color, tty_printer::tty_printer,
4922 tty_printer::color_to_idx, tty_printer::put_color): Updated.
4924 2003-07-06 Ruslan Ermilov <ru@FreeBSD.org>
4926 * src/roff/nroff/nroff.sh: Add option -d for completeness.
4927 * src/roff/nroff/nroff.man: Updated.
4929 2003-07-05 Werner LEMBERG <wl@gnu.org>
4931 * NEWS, tmac/groff_www.man: Updated.
4932 * doc/Makefile.sub: Updated.
4934 2003-07-05 Gaius Mulley <gaius@glam.ac.uk>
4936 Implement support for multiple HTML output files.
4938 * src/preproc/html/pre-html.cpp (scanArguments): Dummy handling for
4939 -j command line option.
4941 * src/devices/grohtml/post-html.cpp (job_name, multiple_files): New
4943 (file): New fields `new_output_file', `require_links',
4945 (file::file): Updated.
4946 (files::set_file_name, files::set_links_required,
4947 files::are_links_required, files::is_new_output_file,
4948 files::file_name, files::next_file_name): New functions.
4949 (header_desc): New fields `no_of_level_one_headings',
4951 (header_desc::header_desc): Updated.
4952 (header_desc::write_headings): Handle multiple files.
4953 (html_printer::write_header): Save file name in which header occurs.
4954 (html_printer::determine_header_level): Possibly split files on
4956 (html_printer::do_links, html_printer::troff_tag): Updated.
4957 (html_printer::insert_split_file, html_printer::do_job_name,
4958 html_printer::emit_link, html_printer::write_navigation,
4959 html_printer::do_file_components): New functions.
4960 (html_printer::~html_printer): Handle multiple files.
4961 (main): Handle command line option `-j'.
4963 * src/devices/grohtml/grohtml.man: Updated.
4965 * doc/Makefile.sub (pic.html), doc/Makefile.in (pic.html): New rule
4968 * tmac/www.tmac (JOBNAME): New macro.
4969 * tmac/s.tmac (SH-NO-TAG): New macro.
4970 (@SH): Call SH-NO-TAG.
4973 2003-07-05 Ruslan Ermilov <ru@FreeBSD.org>
4975 * tmac/groff_mdoc.man: Improve documentation of punctuation
4978 2003-07-04 Ruslan Ermilov <ru@FreeBSD.org>
4980 * tmac/doc.tmac (Bd): Change to doc-Li-font later.
4982 2003-07-03 Werner LEMBERG <wl@gnu.org>
4984 * tmac/an-old.tmac [cR]: Redefine `bp' to avoid empty lines.
4986 2003-07-01 Ruslan Ermilov <ru@FreeBSD.org>
4988 * tmac/doc.tmac (doc-do-func, doc-do-func-args): Don't print a comma
4989 after `/*' and `*/'.
4991 (Fn, Fo): Reduce indentation in synopsis.
4993 * tmac/doc-common (doc-check-depth): New macro.
4994 (doc-end-macro, Sh, Ss): Use it.
4995 (Cd): Fix behaviour in synopsis.
4996 (In): Make it parsed and callable.
4997 If not in the synopsis, represent the C header file enclosed in
4999 (doc-str-Rv-std-suffix, doc-str-Rv-stds-suffix, doc-str-Rv-std0):
5000 Use minus, not hyphen.
5002 * tmac/groff_mdoc.man: Updated.
5004 2003-07-01 Werner LEMBERG <wl@gnu.org>
5006 Integrated grap2graph, contributed by Eric S. Raymond.
5008 * contrib/grap2graph/{Makefile.sub, grap2graph.sh, grap2graph.man}:
5010 * Makefile.in, NEWS, MANIFEST, contrib/eqn2graph.man,
5011 contrib/pic2graph.man, src/roff/groff/groff.man: Updated.
5013 2003-07-01 Colin Watson <cjwatson@debian.org>
5015 * src/xditview/*.c: Add prototypes, fix return types, add includes.
5016 Based on work by Fumitoshi UKAI <ukai@debian.or.jp>.
5018 2003-06-31 Ruslan Ermilov <ru@FreeBSD.org>
5020 * tmac/tty-char.tmac: Provide `lb', `rb', `lk', `rk', `lt', `rt'.
5022 2003-06-31 Werner LEMBERG <wl@gnu.org>
5024 * doc/Makefile.sub (CLEANADD): Remove all files created by
5025 running `make groff.{pdf,dvi}'.
5027 * Makefile.sub (DISTCLEANFILES): Remove all non-source files from
5030 2003-06-30 Werner LEMBERG <wl@gnu.org>
5032 * Makefile.in (SHELL): Define as @SHELL@.
5033 (mkinstalldirs): Use $(SHELL).
5034 (MDEFINES): Add $(SHELL).
5035 * Makefile.comm (SHELL): Removed.
5037 2003-06-29 Werner LEMBERG <wl@gnu.org>
5039 * tmac/s.tmac (De, Ds): New aliases for .DE and .DS, respectively.
5040 The X11 documentation files use them.
5041 * tmac/groff_ms.man, doc/groff.texinfo: Document them.
5043 2003-06-15 Robert Goulding <goulding@Princeton.EDU>
5045 * tmac/e.tmac (@C): Handle .ad also.
5047 2003-06-12 Werner LEMBERG <wl@gnu.org>
5049 * src/preproc/tbl/tbl.man: Document formatting of text blocks.
5051 * src/roff/troff/input.cc (token::next) <handle_escape_char>:
5052 Assign `n' even here. It is possible to construct a node
5053 immediately following an escape character:
5061 2003-06-10 Werner LEMBERG <wl@gnu.org>
5063 * README.WIN32: Removed.
5064 * MANIFEST: Updated.
5066 2003-06-07 Werner LEMBERG <wl@gnu.org>
5068 * src/roff/nroff/nroff.sh: Don't emit SGR for option -u.
5070 2003-06-05 Werner LEMBERG <wl@gnu.org>
5072 * src/preproc/pic/pic.y <sprintf_args>: Implement workaround for bug
5073 in Compaq C++ V6.5-033 for Compaq Tru64 UNIX V5.1A (Rev. 1885).
5075 2003-06-03 Werner LEMBERG <wl@gnu.org>
5077 * src/preproc/grn/hdb.cpp (DBRead): Don't close file handle; this
5078 is done by the calling function.
5080 2003-05-22 Ruslan Ermilov <ru@FreeBSD.org>
5082 * tmac/X.tmac: Fix definition of `em'.
5084 2003-05-22 Werner LEMBERG <wl@gnu.org>
5086 * src/roff/troff/input.cc (return_macro_request): Fix detection of
5089 2003-05-18 Werner LEMBERG <wl@gnu.org>
5091 * tmac/doc.tmac (doc-tag-list): Force horizontal mode after tag
5092 to make items work which consist only of a tag.
5094 2003-05-17 Werner LEMBERG <wl@gnu.org>
5096 * tmac/doc.tmac (doc-tag-list): Don't use \Z to assure that spaces
5097 aren't stretched in a tag (this can fail with unformatted boxes).
5098 Instead, insert a break and go back one line.
5100 2003-05-16 Werner LEMBERG <wl@gnu.org>
5102 * src/roff/troff/input.cc (return_macro_request): If called with
5103 argument pop macro twice. We need this to trace `return'.
5105 * tmac/trace.tmac: Handle `return'.
5108 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
5111 2003-05-15 Larry Kollar <kollar@alltel.net>
5113 * tmac/groff_ms.man, doc/groff.texinfo: Improve documentation of
5114 registers `FPS', `FVS', and `FPD'.
5116 2003-05-15 Werner LEMBERG <wl@gnu.org>
5118 * src/utils/pfbtops/pfbtops.c (get_text): Handle loop counter
5121 2003-05-03 Ruslan Ermilov <ru@FreeBSD.org>
5123 * tmac/groff_mdoc.man: Slight improvements.
5125 2003-05-03 Werner LEMBERG <wl@gnu.org>
5127 * tmac/doc-common (doc-header): Emit vertical space of 1v instead of
5128 `doc-header-space' after header line if register `cR' is set.
5130 2003-05-02 Werner LEMBERG <wl@gnu.org>
5134 2003-05-01 Ruslan Ermilov <ru@FreeBSD.org>
5136 * tmac/doc-common (Nd): Use \[em].
5138 2003-05-01 Werner LEMBERG <wl@gnu.org>
5140 * tmac/doc-ditroff, tmac/doc-nroff (doc-header-space,
5141 doc-footer-space): Initialize to 0.5i.
5142 (doc-setup-page-layout): Don't set doc-header-space and
5145 2003-04-30 Werner LEMBERG <wl@gnu.org>
5147 * REVISION: Set to 1.
5149 * doc/pic.ms: Document possible problems with `figname'.
5151 2003-04-29 Werner LEMBERG <wl@gnu.org>
5153 Version 1.19 released
5154 =====================
5156 * VERSION: Set to 1.19.
5157 * REVISION: Set to 0.
5158 * doc/groff.texinfo, doc/webpage.ms, NEWS: Updated.
5160 * src/devices/grohtml/post-html.cpp (html_printer::~html_printer):
5161 Define charset as `US-ASCII' in html output.
5163 * tmac/www.tmac (ULE): Add missing scaling indicator.
5165 * win32-diffs: Removed.
5167 2003-04-28 Werner LEMBERG <wl@gnu.org>
5169 * doc/groff.texinfo: Document `dn' and `dl' registers if used with
5171 Document how to insert discardable whitespace with `.ss'.
5173 2003-04-27 Werner LEMBERG <wl@gnu.org>
5175 * src/preproc/pic/tex.cpp (tex_output::start_picture): Make code
5176 work with plain TeX also.
5178 * src/preproc/pic/pic.man, doc/pic.ms: Fix TeX code example.
5180 2003-04-25 Gaius Mulley <gaius@glam.ac.uk>
5182 * src/devices/grohtml/post-html.cpp (html_printer::~html_printer):
5185 2003-04-24 Werner LEMBERG <wl@gnu.org>
5187 * src/preproc/pic/pic.man, doc/pic.ms: Explain how to get a
5188 vbox with positive height and zero depth if in TeX mode.
5190 * NEWS: Document glyph name changes for grodvi and grolj4.
5192 2003-04-23 Werner LEMBERG <wl@gnu.org>
5194 * src/preproc/pic/tex.cpp (tex_output::start_picture): Fix TeX code.
5195 * doc/pic.ms: Fixed.
5197 2003-04-21 Werner LEMBERG <wl@gnu.org>
5199 HP-UX 10.20 has `snprintf' but it isn't declared.
5201 * configure.ac: Add declaration test for snprintf.
5202 * configure: Regenerated.
5203 * src/include/lib.h: Handle `NEED_DECLARATION_SNPRINTF'.
5204 * src/include/config.hin: Regenerated.
5206 2003-04-19 Werner LEMBERG <wl@gnu.org>
5208 Add keyword `figname' to pic, specifying the name of the picture
5209 box in TeX mode. Based on a patch from William J Poser
5210 <wjposer@unagi.cis.upenn.edu>.
5212 * src/preproc/pic/pic.y: New token `FIGNAME'.
5213 (macro_name): New rule of type <str>.
5214 (placeless_element): Handle `FIGNAME'.
5215 * src/preproc/pic/lex.cpp (lookup_keyword): Add `figname'.
5216 * src/preproc/pic/main.cpp (graphname): New global variable.
5217 (do_picture): Initialize `graphname'.
5218 * src/preproc/pic/pic.h: Updated.
5219 * src/preproc/pic/tex.cpp (tex_output::start_picture): Use
5222 (tex_output::text): Beautify output.
5223 * src/preproc/pic/object.cpp (object_spec::~object_spec): Deallocate
5224 `shaded' and `outlined' unconditionally.
5225 * NEWS, src/preproc/pic/pic.man, doc/pic.ms: Updated.
5228 * PROBLEMS, README.CVS: Mention that bison version 1.875b or
5229 greater is necessary.
5231 2003-04-17 Hartmut Henkel <hartmut_henkel@gmx.de>
5233 Add option -r to soelim to avoid emission of `.lf' lines.
5234 Add option -t to produces TeX comment lines instead of `.lf' lines.
5236 * src/preproc/soelim/soelim.cpp: New global variables `raw_flag'
5239 (main): Handle `-r' and `-t'.
5240 (set_location): Handle `raw_flag' and `tex_flag'.
5241 * src/preproc/soelim/soelim.man, NEWS: Updated.
5243 2003-04-17 Werner LEMBERG <wl@gnu.org>
5245 * tmac/hyphenex.sh: Replaced with...
5246 * tmac/hyphenex.pl: This perl script to avoid sed compatibility
5249 * aclocal.m4 (GROFF_HTML_PROGRAMS): Emit useful warning message
5250 if --quiet is used for the configure script.
5251 * configure: Regenerated.
5253 2003-04-16 Werner LEMBERG <wl@gnu.org>
5255 * src/devices/grohtml/post-html.cpp (text_glob::text_glob):
5256 Add `const' to second argument.
5257 (html_printer::add_table_end): Add `const' to argument.
5258 * src/devices/grohtml/html-text.cpp (html_text::issue_tag): Add
5259 `const' to arguments.
5260 * src/devices/grohtml/html-text.h: Updated.
5262 * src/devices/grolbp/charset.h (symset): Use `unsigned char'.
5263 * src/devices/grolbp/lbp.h (lbpputc): Use `unsigned char' for
5266 * src/devices/grotty/tty.cpp (tty_printer::make_rgb_string): Use
5267 cast for integer constant.
5269 * src/preproc/html/pre-html.cpp (image_device): Use `const'.
5270 (writeNbytes): Add `const' to first argument.
5271 (writeString): Add `const' to argument.
5272 (char_buffer::can_see): Add `const' to third argument.
5273 * src/preproc/html/pushback.cpp (pushBackBuffer::isString): Add
5274 `const' to argument.
5275 * src/preproc/html/pushback.h: Updated.
5277 * src/preproc/soelim/soelim.cpp (include_list): Add `const'.
5278 (include_path_append): Add `const' to argument.
5281 * src/roff/troff/uniglyph.cpp (unicode_to_glyph_list): Use `const'
5283 (unicode_to_glyph_init::unicode_to_glyph_init): Updated.
5284 * src/roff/troff/uniuni.cpp (unicode_decompose_list): Use `const'
5286 (unicode_decompose_init::unicode_decompose_init): Updated.
5287 * src/roff/troff/glyphuni.cpp (glyph_to_unicode_list): Use `const'
5289 (glyph_to_unicode_init::glyph_to_unicode_init): Updated.
5290 * src/roff/troff/input.cc (process_startup_file): Add `const' to
5293 * tmac/hyphenex.sh: Make script more portable by using a here
5296 2003-04-15 Werner LEMBERG <wl@gnu.org>
5298 Renamed all `*.cc' files to `*.cpp'.
5299 Updated all configuration files, makefiles, and documentation.
5301 2003-04-14 Werner LEMBERG <wl@gnu.org>
5303 * tmac/hyphenex.sh: Slight improvements.
5305 2003-04-13 Werner LEMBERG <wl@gnu.org>
5307 * font/devascii/R.proto, font/devcp1037/R.proto,
5308 font/devlatin1/R.proto, font/devutf8/R.proto: Fill up remaining
5309 character slots with unnamed glyphs.
5311 * tmac/an-old.tmac: Fix hyphenation value if `cR' is active.
5312 (an-first): New global variable.
5313 (an-header): Emit vertical space between multiple man pages.
5315 2003-04-11 Werner LEMBERG <wl@gnu.org>
5317 * doc/groff.texinfo, man/groff_out.man: \S only accepts integer
5320 2003-04-10 Werner LEMBERG <wl@gnu.org>
5322 * PROBLEMS: Revised.
5324 2003-04-10 Bernd Warken <bwarken@mayn.de>
5326 * doc/webpage.ms: Improved.
5328 2003-04-09 Werner LEMBERG <wl@gnu.org>
5330 Add register \n[.height] which returns the value of \H.
5331 Add register \n[.slant] which returns the value of \S.
5333 * src/roff/troff/env.cc (init_env_requests): Implement.
5334 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
5337 2003-04-08 Werner LEMBERG <wl@gnu.org>
5339 * tmac/html.tmac: Move some of the data into html-end.tmac.
5340 Remove most of the character translations for eqn since html fonts
5341 now cover those characters.
5343 * tmac/html-end.tmac: New file.
5344 * tmac/troffrc: Load html.tmac not www.tmac for -Thtml.
5345 * tmac/troffrc-end: Load html-end.tmac not html.tmac for -Thtml.
5346 * tmac/Makefile.sub (NORMALFILES): Add html-end.tmac.
5348 2003-04-07 Werner LEMBERG <wl@gnu.org>
5350 * man/groff_out.man: Document negative values of `N' if -Thtml is
5353 2003-04-06 Werner LEMBERG <wl@gnu.org>
5355 * Makefile.comm (depend.temp): Check location of YTABC.
5357 2003-04-05 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
5359 * contrib/mom/Makefile.sub (GROFFBIN): New variable for groff
5361 (groff_bin_path): Rename to GROFF_BIN_PATH.
5362 (GROFF): Use GROFFBIN and GROFF_BIN_PATH.
5363 * doc/Makefile.in (TROFFBIN): New variable for troff
5365 (GROFFBIN): New variable for groff binary path.
5366 (groff_bin_path): Rename to GROFF_BIN_PATH.
5367 (TROFF): Use TROFFBIN.
5368 (GROFF): Use GROFFBIN and GROFF_BIN_PATH.
5369 * doc/Makefile.sub (GROFFBIN): New variable for groff
5371 (groff_bin_path): Rename to GROFF_BIN_PATH.
5372 (GROFF): Use GROFFBIN and GROFF_BIN_PATH.
5374 * Makefile.comm (install_dev): Install scripts from DEVSCRIPTS
5375 with INSTALL_SCRIPT.
5376 (uninstall_dev): Uninstall scripts from DEVSCRIPTS.
5377 * Makefile.dev (all): Depend on DEVSCRIPTS.
5378 (install_dev): Likewise.
5379 * font/devdvi/Makefile.sub (DEVSCRIPTS): New variable to hold
5381 * font/devps/Makefile.sub (DEVSCRIPTS): Likewise.
5382 (DEVGENSCRIPTS): New variable to hold generated scripts.
5384 2003-04-05 Werner LEMBERG <wl@gnu.org>
5386 * src/libs/libdriver/input.cc (IntArray::operator[],
5387 IntArray::get_data): Remove meaningless `const' in return value.
5389 * README.CVS: New file.
5391 2003-04-04 Werner LEMBERG <wl@gnu.org>
5393 Check for stdint.h in C++, not in C.
5395 * aclocal.m4 (GROFF_STDINT_H): New function,
5396 * configure.ac: Check for stdint.h with GROFF_STDINT_H instead of
5398 * configure, src/include/config.hin: Regenerated.
5399 * src/libs/libgroff/tmpname.cc: Use HAVE_CC_STDINT_H.
5402 Fix handling of in grohtml. To do this, troff emits `N'
5403 with a negative value, representing the width of the unbreakable
5404 space (only for -Thtml). grohtml then converts this back to
5405 and uses the value of N as its width.
5407 * src/roff/troff/node.cc (space_char_hmotion_node::tprint,
5408 unbreakable_space_node::tprint): Emit `N-<width>'.
5409 * src/include/printer.h (printer::set_numbered_char): Make it
5411 Make members `font_table' and `nfonts' protected instead of private.
5412 * src/devices/grohtml/post-html.cc
5413 (html_printer::set_numbered_char): New member function.
5416 * src/libs/libgroff/maxfilename.cc:
5417 s/HAVE_LIMITS_H/HAVE_CC_LIMITS_H/.
5419 * src/roff/troff/node.cc (unbreakable_space_node::tprint): Don't
5422 2003-04-03 Sergey A. Osokin <osa@freebsd.org.ru>
5424 * man/roff.man: Small fixes.
5426 2003-04-03 Werner LEMBERG <wl@gnu.org>
5428 Make groff independent from locale's numeric settings.
5430 * configure.ac: Check for `setlocale'.
5431 * configure, src/include/config.hin: Regenerated.
5433 * src/include/lib.h: Handle HAVE_SETLOCALE.
5435 * src/devices/grodvi/dvi.cc (main), src/devices/grolj4/lj4.cc
5436 (main), src/devices/grops/ps.cc (main), src/preproc/grn/main.cc
5437 (main), src/preproc/pic/main.cc (main): Call `setlocale'.
5440 * doc/groff.texinfo: Change dir category to `Typesetting'.
5441 (Man font macros): Mention that there is no space between arguments
5444 * src/libs/libdriver/printer.cc, src/devices/grotty/tty.cc
5445 (*printer::change_color, *printer::change_fill_color): Add missing
5448 2003-04-02 Werner LEMBERG <wl@gnu.org>
5450 * src/devices/grohtml/html-table.cc (html_table::emit_col,
5451 html_table::is_gap): Compute table widths after converting border
5452 positions to avoid rounding errors.
5454 2003-04-01 Werner LEMBERG <wl@gnu.org>
5456 * src/devices/grohtml/html-text.cc (html_text::do_space): Handle
5457 `space_emitted' properly.
5459 2003-03-31 Werner LEMBERG <wl@gnu.org>
5461 * src/devices/grohtml/html-table.cc: Fix column width calculation.
5462 (html_table::set_linelength): Don't add 1.
5463 (html_table::add_indent): Don't subtract 1.
5465 * tmac/html.tmac: Set default page offset to zero.
5467 2003-03-30 Werner LEMBERG <wl@gnu.org>
5469 Make groff emit ` ' for `\ ' and `\~' if `-Thtml' is used.
5471 * src/roff/troff/node.cc (space_char_hmotion_node::tprint,
5472 unbreakable_space_node::tprint): New functions.
5473 (troff_output_file): Make space_char_hmotion_mode::tprint and
5474 unbreakable_space_node::tprint to friends.
5475 * src/roff/troff/node.h: Updated.
5477 * font/devhtml/R.proto: Add ` ' at position 0xA0 (as defined
5478 in the HTML standard).
5480 2003-03-29 Werner LEMBERG <wl@gnu.org>
5482 * src/roff/troff/env.cc (point_size): Fix emission of html tag.
5483 Otherwise, the following code
5492 produces `x a' instead of `xa'. This is a temporary fix, disabling
5493 font changes in diversions for -Thtml.
5495 * tmac/an-old.tmac (TH, SH): Use `HTML-TAG-NS' instead of
5497 (an-do-tag-html): Merge with ...
5498 (an-do-tag): This macro.
5499 Change code slightly to circumvent grohtml bug.
5500 * tmac/troffrc-end: Define dummy for HTML-TAG-NS.
5502 * src/devices/grohtml/html-table.cc (html_table::emit_col,
5503 html_table::is_gap): Round `width' properly.
5505 * tmac/html.tmac: Provide some default layout parameters for
5508 * font/devhtml/DESC.proto: Don't use discrete values for `sizes'
5511 2003-03-28 Werner LEMBERG <wl@gnu.org>
5513 src/devices/grops/ps.cc (ps_printer::do_import): Fix error message.
5515 2003-03-27 Werner LEMBERG <wl@gnu.org>
5517 * tmac/an-old.tmac (BT): Don't call .tl if register `ps4html' is
5520 2003-03-20 Werner LEMBERG <wl@gnu.org>
5522 * src/roff/troff/env.cc (vertical_spacing): Allow zero value for
5524 * doc/groff.texinfo: Updated.
5526 2003-03-19 Werner LEMBERG <wl@gnu.org>
5528 * src/roff/troff/input.cc (process_input_stack) <TOKEN_BEGIN_TRAP,
5529 TOKEN_END_TRAP>: Reset `have_input'.
5531 2003-03-18 Werner LEMBERG <wl@gnu.org>
5533 * src/roff/groff/groff.man: Mention groff_trace man page.
5535 2003-03-16 Werner LEMBERG <wl@gnu.org>
5537 * Makefile.in (LIBEXT): New variable to indicate the file extension
5538 of library files. Computed heuristically from $(OBJEXT).
5539 (MDEFINES): Add $(LIBEXT).
5540 * Makefile.lib, Makefile.comm: Use it.
5542 * src/utils/pfbtops/pfbtops.c (get_text): New function. Split
5543 overlong lines into smaller chunks.
5544 (get_binary): New function.
5546 * src/utils/pfbtops/pfbtops.man: Updated.
5548 2003-03-15 Colin Watson <cjwatson@debian.org>
5550 * src/roff/groff/groff.man: Minor syntax fix.
5552 2003-03-14 Egil Kvaleberg <egil@kvaleberg.no>
5554 * src/devices/grops/ps.cc (ps_printer::media_set,
5555 ps_printer::~ps_printer): Handle zero paper width and length.
5557 2003-03-13 Werner LEMBERG <wl@gnu.org>
5559 Add options -p and -l to grodvi.
5561 * src/devices/grodvi/dvi.cc: Include paper.h.
5562 (landscape_flag, user_paper_length, user_paper_width): New global
5564 (dvi_printer::begin_page): Emit `papersize' special.
5565 Set color after initialization of `cur_h' and `cur_v'.
5566 (main): Add options `-l' and `-p'.
5567 * font/devdvi/Makefile.sub (DESC): Set `papersize'.
5568 * src/devices/grodvi/grodvi.man, NEWS: Updated.
5570 * src/devices/grops/psrm.cc (valid_input_table): Fixed.
5572 2003-03-12 Werner LEMBERG <wl@gnu.org>
5574 * src/devices/grops/grops.man: Move documentation of .PSPIC to...
5575 * man/groff_tmac.man: This man page.
5576 * man/groff_font.man: Declare `paperwidth' and `paperlength' as
5579 * tmac/X.tmac: Don't load pspic.tmac.
5581 2003-03-11 Werner LEMBERG <wl@gnu.org>
5583 Make variable `pr' local to libdriver/input.cc. Based on a patch
5584 by Bernd Warken <bwarken@mayn.de>.
5586 * src/include/driver.h (pr): Removed.
5588 * src/libs/libdriver/input.cc (pr): New global variable.
5589 (do_file): Deallocate `pr'.
5590 * src/libs/libdriver/printer.cc (pr): Removed.
5592 * src/devices/grodvi/dvi.cc (main), src/devices/grohtml/post-html.cc
5593 (main), src/devices/grolbp/lbp.cc (main), src/devices/grolj4/lj4.cc
5594 (main), src/devices/grops/ps.cc (main), src/devices/grotty/tty.cc
5595 (main): Don't delete `pr'.
5597 2003-03-10 Werner LEMBERG <wl@gnu.org>
5599 * tmac/a4.tmac, tmac/composite.tmac: Use `.do'.
5600 * tmac/papersize.tmac: New file.
5601 * tmac/troffrc: Include `papersize.tmac'.
5602 * tmac/Makefile.sub (NORMALFILES): Add `papersize.tmac'.
5603 * tmac/an-old.tmac: Set LT to LL by default.
5605 * NEWS, MANIFEST, tmac/groff_man.man, man/groff_tmac.man,
5606 doc/groff.texinfo: Updated.
5608 * src/libs/libgroff/paper.cc (add_iso_paper): Fix very embarassing
5609 bug which caused all odd iso papers to have wrong dimensions.
5611 * src/devices/grops/ps.cc (user_paper_width): New global variable.
5612 (main) <'p'>: Set `user_paper_width' also.
5613 (ps_printer::media_width, ps_printer::media_height): Use values
5614 given with option `-p'.
5616 2003-03-09 Werner LEMBERG <wl@gnu.org>
5618 * src/include/nonposix.h: Provide default for SET_BINARY.
5620 * src/devices/grodvi/dvi.cc, src/devices/grolbp/lbp.cc,
5621 src/devices/grolj4/lj4.cc, src/devices/grops/ps.cc: Call SET_BINARY
5624 * src/utils/pfbtops/pfbtops.c: Call SET_BINARY unconditionally.
5625 (main): Treat \r\n as \n.
5627 2003-03-08 Werner LEMBERG <wl@gnu.org>
5629 * tmac/an-old.tmac: Use register `HY' to control hyphenation.
5630 * NEWS, tmac/groff_man.man, doc/groff.texinfo: Document it.
5632 2003-03-07 Werner LEMBERG <wl@gnu.org>
5634 Added support to access more than 256 glyphs in Type 1 fonts.
5636 * src/devices/grops/ps.cc (subencoding): New structure.
5637 (style): Add `sub' field.
5639 (ps_printer): Add `subencodings' and `next_subencoding_index' fields.
5640 Add `set_subencoding', `get_subfont' and `encode_subfont' member
5643 (ps_printer::set_char): Use `set_subencoding'.
5644 (make_subencoding_name): New function.
5645 (ps_printer::set_style): Handle case where `sty.sub' is not zero.
5646 (ps_printer::~ps_printer): Emit subencoding definitions.
5648 * src/devices/grops/psrm.cc (valid_input_table): New array to
5649 properly support EBCDIC.
5650 (white_space): Add `\f'.
5651 (ps_get_line): Change first argument to be of type `string &'.
5652 Updated all callers.
5653 This allows to get lines of arbitrary length.
5654 Use `valid_input_table'.
5655 Remove warning about non-conforming PS line length. This seems
5656 not to be of great importance -- for example, dvips don't emit
5658 (PS_LINE_MAX): Removed.
5659 (matches_comment): Change first argument to be of type `string &'.
5661 * src/devices/grops/grops.man, src/devices/grops/TODO: Updated.
5663 * src/utils/afmtodit/afmtodit.pl (%unicode_decomposed,
5664 %AGL_to_unicode, %default_ligatures): New hash tables.
5665 Read all map entries.
5666 Add unencoded characters.
5667 Check for default ligatures if there are no `L' entries.
5668 Print all kern entries.
5669 Print all characters in charset.
5670 * src/utils/afmtodit/afmtodit.man: Updated.
5672 * font/devps/*: Regerated all fonts.
5674 * tmac/latin[129].tmac, tmac/cp1047.tmac: Don't test for existence
5675 of characters, just use `.trin'. Otherwise the mapping depends
5676 on the font encoding.
5677 * tmac/ps.tmac: Add `fi' and `fl'.
5678 Improve `Fi' and `Fl'.
5679 * tmac/X.tmac, tmac/lbp.tmac, tmac/tty.tmac: Improve `Fi' and `Fl'.
5680 * tmac/Xps.tmac: Fix `em'.
5684 2003-03-04 Werner LEMBERG <wl@gnu.org>
5686 * src/roff/troff/input.cc (charinfo_to_node_list): Reset
5689 2003-03-03 Werner LEMBERG <wl@gnu.org>
5691 * Makefile.sub (DISTCLEANFILES): Add gxditview._man.
5693 * font/devps/generate/textmap: Remove entry `similarequal'.
5694 * font/devps/symbolmap: Updated.
5696 2003-03-02 Werner LEMBERG <wl@gnu.org>
5698 * src/libs/libgroff/font.cc (font::load): Fix error message for
5701 * src/devices/grops/grops.man: Improve documentation of the -b
5704 * tmac/tty.tmac: Load latin1.tmac for all TTY devices except
5705 `ascii' and `cp1047'.
5707 2003-03-01 Werner LEMBERG <wl@gnu.org>
5709 Document composite glyphs and the `composite' request.
5711 * man/groff.man, man/groff_diff.man, doc/groff.texinfo: Do it.
5713 2003-02-28 Werner LEMBERG <wl@gnu.org>
5715 * font/devdvi/generate/ec.map: Add some more Unicode entities.
5716 * font/devdvi/*EC: Updated.
5718 * tmac/composite.tmac, tmac/latin2.tmac, tmac/latin9.tmac: New files.
5719 * tmac/latin1 (latin1-tr): Undo any previous mapping.
5720 * tmac/troffrc: Load `composite.tmac'.
5721 * tmac/Makefile.sub (NORMALFILES): Updated.
5723 * doc/groff.texinfo (Input Encodings): New section.
5726 2003-02-27 Werner LEMBERG <wl@gnu.org>
5728 * doc/texinfo.tex: New version 2003-02-11.06.
5730 * tmac/doc-common (Dt): Don't emit warning for unknown section.
5731 * tmac/groff_mdoc.man: Fix description of `Dt'.
5733 2003-02-26 Egil Kvaleberg <egil@kvaleberg.no>
5735 * font/devps/prologue.ps: Fix for included Postscript that does
5736 a setpagedevice -- which is now safely ignored.
5740 * src/devices/grops/ps.cc: Now sets the page size in the generated
5741 document. This is done in two ways: Via a %%-comment for gv and
5742 the like, and via a PageSize and setpagedevice for programs that
5743 understands Postscript proper, like ps2pdf.
5745 * src/devices/grops/ps.h: New broken-flag to avoid page size
5746 definition, if required.
5748 * src/devices/grops/grops.man: New broken-flag 16 mentioned.
5750 * doc/Makefile.in: Added -nosetpage flag (via @pnmtops_nosetpage@).
5751 Not really necessary due to the fix in prologue.ps, but cleaner:
5752 Such information does not belong in an .eps file.
5754 * doc/Makefile.sub: See doc/Makefile.in.
5756 2003-02-26 Ralph Corderoy <ralph@inputplus.co.uk>
5758 * aclocal.m4 (GROFF_PNMTOPS_NOSETPAGE): Use P2 format for testing
5759 instead of P1 since the latter is broken in some versions of netpbm.
5760 * configure: Updated.
5762 2003-02-26 Larry Kollar <kollar@alltel.net>
5764 Make man pages more customizable.
5766 * tmac/an-old.tmac (FT): New register holding footer distance from
5768 (HF): New string holding the default heading font.
5769 (TH): Handle registers `IN' and `SN' set on the command line.
5771 (PT, BT): New strings to customize header and footer lines.
5772 (an-header, an-footer): Use them.
5774 * tmac/groff_man.man: Document changes.
5776 * doc/groff.texinfo: Document man changes.
5777 Document Ultrix extensions of man.
5779 2003-02-26 Werner LEMBERG <wl@gnu.org>
5781 * src/roff/troff/input.cc (do_width, do_if_request): Reset
5782 `have_input' after changing back to old environment.
5784 * src/devices/grolbp/lbp.cc (lbp_printer::set_line_thickness): Move
5785 function up to be defined before first call. This is necessary to
5786 avoid a compilation problem with Sun's WorkShop 6 C++ compiler.
5788 * src/utils/afmtodit/afmtodit.pl: Make script search for files in
5789 the default font directory also. Based on a patch from James
5790 J. Ramsey <jjramsey_6x9eq42@yahoo.com>.
5791 * src/utils/afmtodit/Makefile.sub (afmtodit): Handle @FONTDIR@.
5792 * src/utils/afmtodit/afmtodit.man: Document it.
5796 * tmac/groff_man.man, doc/groff.texinfo: Many minor fixes.
5798 2003-02-25 Gaius Mulley <gaius@glam.ac.uk>
5800 * aclocal.m4 (GROFF_HTML_PROGRAMS): Add test for pnmtops.
5801 (GROFF_PNMTOPS_NOSETPAGE): New macro.
5802 * configure.ac: Use it.
5803 * configure: Regenerated.
5804 * Makefile.in: Updated.
5806 * tmac/Makefile.sub (NORMALFILES): Remove www.tmac.
5807 (CLEANADD): Add www.tmac-sed.
5808 (pnmtops_nosetpage): Define default.
5809 (install_data): Handle www.tmac-sed and substitute
5810 @PNMTOPS_NOSETPAGE@.
5811 (stamp-sed): Add www.tmac.
5812 * tmac/www.tmac: Rewritten, based on a patch by Bernd Warken.
5813 It now breaks URLs at suitable places.
5814 (www:substring_ok): New register set by...
5815 (www:@test_substring): New macro.
5816 (www:error): New alias to www-error.
5817 (www:lenstr, www:splitstr, www:url_breaks, www:url_breaks_splitted):
5819 (URL): Use www:url_breaks.
5820 (PIMG, MPIMG): Use @PNMTOPS_NOSETPAGE@.
5821 (CDS, CDE): New macros.
5823 2003-02-25 Werner LEMBERG <wl@gnu.org>
5825 * src/devices/grops/ps.cc (ps_printer::define_encoding): Avoid
5828 2003-02-24 Werner LEMBERG <wl@gnu.org>
5830 Contrary to the PCL5 Developer's Guide, the ascenders in TFM files
5831 can be negative also.
5833 * src/utils/hpftodit/hpftodit.cc (char_info): `ascent' must be
5835 (read_char_table): Avoid negative ascenders.
5836 (output_charset): Add cast.
5837 * font/devlj4/*: Regenerated.
5839 Replace unnamed glyphs for DVI fonts with `uXXXX' glyph names where
5842 * font/devdvi/generate/{tc,texttt,ec,texmi,texsy,textex}.map: Do it.
5843 * font/devdvi/generate/textex.map: Map glyph 23 to `u21C6' instead
5845 * font/devdvi/*: Regenerated.
5847 Map `la' and `ra' to U+27E8 and U+27E9. These two characters have
5848 normal width, while the previously used characters (U+2329 and
5849 U+232A) are classified as wide due to canonical equivalence with the
5850 CJK punctuation characters U+3008 and U+3009.
5852 * font/devutf8/R.proto: Updated.
5853 * src/roff/troff/uniglyph.cc, src/roff/troff/glyphuni.cc: Ditto.
5855 * man/groff_char.man: Simplify handling of table traps by
5856 introducing `start block' and `end block' macros.
5857 (Ns, Ne, 2s, 2e, Ds, De): New macros.
5858 (DL): Make it work with Unix troff also.
5859 Fix code values of `la' and `ra'.
5861 * tmac/dvi.tmac: Define `<>' for CW and CWI.
5863 2003-02-23 Gaius Mulley <gaius@glam.ac.uk>
5865 * src/devices/grohtml/post-html.cc (element_list::~element_list):
5866 New destructor, fixing a major memory leak.
5868 2003-02-22 Werner LEMBERG <wl@gnu.org>
5870 * font/devhtml/R.proto, font/devutf8/R.proto: Flip `*f' and `+f'
5871 to be in conformance with Unicode 3.0 and newer.
5873 * font/devlj4/generate/text.map: Add `Eu'.
5874 * font/devlj4/generate/special.map: Flip `*e' and `+e'.
5875 * font/devlj4/S: Regenerated.
5877 * man/groff_char.man: Completely rewritten.
5879 * doc/groff.texinfo: Fix description of request and macro arguments.
5881 2003-02-20 Gaius Mulley <gaius@glam.ac.uk>
5885 * src/devices/grohtml/html-table.cc (html_table::~html_table):
5886 Deallocate `columns' list.
5887 * src/devices/grohtml/post-html.cc (char_block::~char_block):
5889 (text_glob::text_glob_html, text_glob::text_glob_special,
5890 text_glob::text_glob_line, text_glob::text_glob_auto_image,
5891 text_glob::text_glob_tag): Avoid memory leaks.
5892 (text_glob::remember_table): Free memory before reassigning.
5894 2003-02-19 Werner LEMBERG <wl@gnu.org>
5896 Add glyph `+e', greek lunate epsilon symbol, and `-h' (with the
5897 alias `hbar'), the Planck constant over two pi.
5899 * font/devdvi/generate/texmi.map: Use `*e' for position 15 and
5900 `+e' for position 34.
5901 * font/devdvi/generate/texsy.map: Replace `DI' and `HE' with
5902 `u2662' and `u2661'.
5903 * font/devdvi/{MI,S}: Regenerated.
5904 * font/devhtml/R.proto, font/devutf8/R.proto: Add `+e', `-h', `hbar'.
5905 * font/devlbp/*: Add `hbar' alias.
5906 * font/devlj4/generate/special.map: Ditto.
5907 * font/devlj4/S: Regenerated.
5908 * font/devps/generate/symbolchars: Add `+e'.
5909 * font/devps/generate/textmap: Fix PS name for `-h'.
5911 * font/devps/symbolmap: Regenerated.
5913 * src/devices/grops/ps.cc (transform_fill): Removed since unused.
5915 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `+e',
5917 * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `+e',
5920 * tmac/X.tmac, tmac/ps.tmac: Provide definitions for `-h' and
5922 * tmac/tty-char.tmac: Add `+e'.
5924 2003-02-17 Werner LEMBERG <wl@gnu.org>
5926 Another round trying to really fix problems with `have_input'.
5928 * src/roff/troff/input.cc (input_stack::get): Handle `have_input'.
5929 (token::next) <'\n'>, <\'\n'>: Don't handle `have_input'.
5931 * src/devices/grotty/tty.cc (tty_printer::put_color): Fix color
5932 handling if both foreground and background colors are default.
5934 * doc/groff.texinfo (Debugging): Document .lf differences to
5937 2003-02-16 Werner LEMBERG <wl@gnu.org>
5939 * src/devices/grotty/tty.cc (tty_printer::make_rgb_string): Avoid
5940 null-bytes in created string.
5942 * src/roff/troff/input.cc (lookup_color, interpolate_macro,
5943 alias_macro, lookup_request): Improve warning messages.
5945 * src/roff/troff/node.cc (suppress_node::tprint): Use `strsave',
5947 Free `last_image_filename'.
5949 * src/preproc/html/pre-html.cc (char_block::char_block): Initialize
5951 (imageList::createPage, imageList::createImage): Use `free', not
5953 (imageItem::~imageItem): Free `imageName'.
5954 (addRegDef): Use `strsave', not `strdup'.
5955 (get_resolution): Free `pathp'.
5957 2003-02-15 Werner LEMBERG <wl@gnu.org>
5959 * src/devices/grotty/tty.cc (tty_printer::tty_printer): Fix pointer
5962 2003-02-14 Werner LEMBERG <wl@gnu.org>
5964 Add memory management for colors to deallocate unnamed colors
5967 * src/include/color.h (color): New members `free_list' and `next'.
5968 New member functions `new' and `delete'.
5970 * src/libs/libgroff/color.cc: Implement it.
5972 * src/libs/libgroff/font.cc (font::add_kern): Use integer cast
5973 for array size of new operator.
5975 * src/libs/libdriver/input.cc (IntArray::operator[]): Remove
5976 redundant comparison.
5978 * src/roff/troff/input.cc (word_space_node::reread,
5979 hmotion_node::reread): Avoid warning about unused parameter.
5980 (reset_output_registers): Remove redundant parameter.
5981 (define_color): Undo change 2003-02-12.
5983 * src/roff/troff/reg.h: Updated.
5985 * src/roff/troff/node.cc (troff_output_file::really_print_line,
5986 output_file::put_filename, real_output_file::really_put_filename,
5987 ascii_output_file::really_print_line,
5988 break_char_node::get_hyphen_list): Avoid warning about unused
5990 (suppress_node::tprint): Updated.
5992 * configure.ac: Check declaration for rand() and srand().
5993 * configure: Regenerated.
5995 * src/preproc/pic/pic.h: Declare fmod(), rand(), and srand()
5997 * src/preproc/pic/pic.y: Remove declaration of fmod(), rand(),
6000 * src/preproc/eqn/delim.cc (delim_table): Add missing initializers
6001 to avoid compiler warnings.
6003 * src/preproc/grn/hgraph.cc (HGPrintElt): Second parameter is
6006 * src/devices/grops/ps.cc (ps_printer::set_char): Last parameter
6008 * src/devices/grops/psrm.cc (skip_possible_newline): Remove first
6010 Updated all callers.
6012 * src/devices/grotty/tty.cc (tty_printer::set_char): Last parameter
6014 * src/devices/grodvi/dvi.cc (dvi_printer::set_char): Ditto.
6015 * src/devices/grolj4/lj4.cc (lj4_printer::set_char): Ditto.
6017 * src/devices/grohtml/post-html.cc (html_printer::emit_line):
6018 Parameter is unused.
6019 (html_printer::add_table_end): Define parameter conditionally.
6020 * src/devices/grohtml/output.cc (simple_output::special): Parameter
6023 * src/devices/grolbp/lbp.cc: Define _GNU_SOURCE conditionally.
6024 (lbp_printer::set_char): Last parameter is unused.
6026 * src/utils/indxbib/indxbib.cc (main): Remove redundant comparison.
6028 2003-02-13 Werner LEMBERG <wl@gnu.org>
6030 New commands \D'Fr ...', \D'Fc ...', etc. for orthogonality.
6031 Make \D'f ...' move horizontally again for backwards compatibility.
6032 Replace it with \D'Fg ...' where appropriate to avoid dependency
6033 on horizontal resolution.
6035 * src/roff/troff/input.cc (do_get_long_name): New function.
6036 (get_long_name): Call it.
6038 (read_draw_node): Handle `\D'Fx ...' by calling ...
6039 (read_color_draw_node): New function.
6041 (read_rgb, read_cmy, read_cmyk, read_gray): New optional argument
6043 Pass it to `do_get_long_name' which is used instead of
6046 * src/libs/libdriver/input.cc (color_from_Df_command): Remove
6047 unnecessary value guard.
6048 (parse_D_command) <'f'>: Add horizontal shift.
6050 * src/preproc/grn/hgraph.cc (HGPrintElt) <POLYGON>: Use \D'Fg ...'.
6051 * src/preproc/pic/troff.cc (troff_output::set_fill): Ditto.
6052 (FILL_MAX): Removed.
6054 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
6057 2003-02-12 Werner LEMBERG <wl@gnu.org>
6059 * src/roff/troff/input.cc (do_name_test, do_expr_test,
6060 do_zero_width): Push `\n' if closing delimiter is missing.
6062 (token::next) <ESCAPE_NEWLINE>, <'\n'>, <\'\n'>: Reset `have_input'.
6063 <'F'>: Make \F non-transparent at the beginning of line.
6064 (process_input_stack) <token::TOKEN_CHAR, token::TOKEN_NEWLINE,
6065 token::TOKEN_REQUEST, token::TOKEN_BEGIN_TRAP>: Don't handle
6068 (define_color): Free color in case of reassignment.
6070 * doc/groff.texinfo (@Defesc, @DefescList, @DefescItem,
6071 @DefescListEnd): Use @Var, not @var.
6074 * src/preproc/grn/hgraph.cc (HGPrintElt): Fix typo.
6076 * src/preproc/pic/object.cc (object_spec::~object_spec): Free
6077 `shaded' and `outlined' arrays.
6078 (object_spec::object_spec): Initialize `shaded' and `outlined'.
6079 (graphic_object::set_fill_color, graphic_object::set_outline_color):
6081 (closed_object::set_fill_color): Ditto.
6082 * src/preproc/pic/troff.cc (troff_output::set_color): Use strsave
6084 (troff_output::reset_color): Use a_delete instead of free.
6085 * src/preproc/pic/main.cc (do_file): Free `out' in case of error.
6087 2003-02-11 Werner LEMBERG <wl@gnu.org>
6089 * doc/groff.texinfo: Improve documentation of `ad'.
6090 Document that \D'f...' is dependent on the horizontal resolution.
6091 * man/groff_diff.man: Improve documentation of \D'f...'.
6093 * src/preproc/grn/hgraph.cc (HGPrintElt) <POLYGON>: Don't emit
6094 compensating \h'...' for \D'f ...' since the latter no longer moves
6096 * src/preproc/pic/troff.cc (troff_output::set_fill): Ditto.
6098 2003-02-10 Werner LEMBERG <wl@gnu.org>
6100 Improve error messages for `x F' (and `F') commands.
6102 * src/include/error.h: Add declaration for
6103 `current_source_filename'.
6104 * src/libs/libgroff/filename.cc: Add `current_source_filename'.
6105 * src/libs/libgroff/error.cc (do_error_with_file_and_line): Add
6106 parameter for source file string.
6107 Updated all callers.
6109 * src/libs/libdriver/input.cc: Add `current_source_filename'.
6110 (remember_source_filename): New function.
6111 (parse_x_command <'F'>, do_file <'F'>): Use it.
6113 2003-02-09 Werner LEMBERG <wl@gnu.org>
6115 Make grotty not emit warnings about unknown colors more than
6118 * src/devices/grotty/tty.cc: Include `ptable.h'.
6119 (TTY_MAX_COLORS): Removed.
6120 (DEFAULT_COLOR_IDX): Defined to -1.
6121 (glyph): Change `back_color_idx' and `fore_color_idx' to `char'.
6122 (tty_printer): Change `curr_back_idx' and `curr_fore_idx' to `char'.
6123 Change `tty_colors' to be a ptable.
6124 First arg of `put_color' is now `char'.
6125 New functions `make_rgb_string' and `tty_color'.
6126 (tty_printer::tty_printer): Use `tty_color'.
6127 (tty_printer::color_to_idx): Return value is now `char'.
6130 * src/include/color.h (color): Add `print_color' member function.
6131 * src/libs/libgroff/color.cc (color::print_color): Implement it.
6133 2003-02-08 Werner LEMBERG <wl@gnu.org>
6137 * src/devices/grops/ps.cc (ps_printer::define_encoding): Close
6140 * src/include/ptable.h (PTABLE::~PTABLE, PTABLE::define): Always
6141 assume that value has been allocated with `new[]', thus use
6142 `a_delete' for deallocation.
6144 * src/libs/libdriver/input.cc (get_integer_arg,
6145 get_possibly_int_args, parse_x_command, do_file): Use `a_delete'
6148 * src/libs/libgroff/new.cc (delete) [!COOKIE_BUG]: Define.
6149 * src/libs/libgroff/nametoindex.cc
6150 (character_indexer::named_char_index): Use `new <type>[1]'.
6152 * src/preproc/eqn/lex.cc (init_table, do_definition): Use `new
6154 * src/preproc/eqn/text.cc (set_special_char_type): Ditto.
6155 (split_text): Use `a_delete'.
6157 * src/preproc/pic/pic.y (define_label, define_variable): Use `new
6160 * src/roff/troff/env.cc (environment::choose_breakpoint): Avoid
6161 harmless memory leak.
6162 (hyphen_trie::read_patterns_file): Initialize `buf'.
6163 * src/roff/troff/node.cc (troff_output_file::troff_output_file):
6164 Initialize `current_fill_color'and `current_glyph_color'.
6165 * src/roff/troff/glyphuni.cc
6166 (glyph_to_unicode_init::glyph_to_unicode_init): Use `new <type>[1]'.
6167 * src/roff/troff/uniuni.cc
6168 (unicode_decompose_init::unicode_decompose_init): Ditto.
6169 * src/roff/troff/uniglyph.cc
6170 (unicode_to_glyph_init::unicode_to_glyph_init): Ditto.
6172 2003-01-26 Werner LEMBERG <wl@gnu.org>
6174 * src/utils/indxbib/indxbib.cc (main) [__EMX__]: Check with
6175 `access' before calling `unlink'.
6176 (do_file): Handle __EMX__.
6178 * src/include/nonposix.h: Handle __EMX__.
6180 * Makefile.in (SEP): New variable; set to @PATH_SEPARATOR@.
6181 (fontpath,tmacpath): Use it.
6183 Sorted alphabetically.
6185 * src/preproc/eqn/neqn.sh, src/roff/nroff/nroff.sh: Use
6187 * src/preproc/eqn/Makefile.sub, src/roff/nroff/Makefile.sub: Handle
6190 2003-01-27 Werner LEMBERG <wl@gnu.org>
6192 * src/libs/libgroff/strcasecmp.c, src/libs/libgroff/strncasecmp.c:
6193 New files, copied from gnulib.
6194 * src/libs/libgroff/Makefile.sub (CSRCS): Add them.
6195 * configure.ac: Updated.
6196 * configure: Regenerated.
6198 * src/include/config.hin: Regenerated.
6199 * src/include/lib.h [!HAVE_STRCASECMP]: Declare `strcasecmp'.
6200 Don't define `strcasecmp' as `strcmp'.
6201 [!HAVE_STRNCASECMP]: Declare `strncasecmp'.
6202 Dont define `strncasecmp' as `strncmp'.
6204 * src/roff/groff/pipeline.c [!HAVE_STRCASECMP, !HAVE_STRNCASECMP]:
6207 2003-01-26 Werner LEMBERG <wl@gnu.org>
6209 * src/utils/indxbib/indxbib.cc (main) [__EMX__]: Fix typo:
6212 2003-01-25 Werner LEMBERG <wl@gnu.org>
6214 * doc/groff.texinfo (Ligatures and Kerning): Mention limitations.
6216 2003-01-24 Werner LEMBERG <wl@gnu.org>
6218 Add US-english hyphenation exceptions (converted from Barbara
6219 Beeton's hyphenation exception log reports which appear irregularly
6222 * tmac/hyphen.us: Updated to latest version.
6223 * tmac/README: Updated.
6224 * tmac/hyphenex.us, tmac/hyphenex.sh: New files.
6225 * tmac/troffrc: Load `hyphenex.us'.
6226 * tmac/Makefile.sub (NORMALFILES): Add `hyphenex.us'.
6227 * doc/groff.texinfo: Updated.
6229 2003-01-23 Werner LEMBERG <wl@gnu.org>
6231 Improve hyphenation slightly. This is a first step in redesigning
6232 the hyphenation algorithm to make it more flexible (e.g. allowing
6233 kerns and ligatures between the hyphenation character and the
6234 following character -- while not used normally in English, other
6235 languages like German would benefit).
6237 * src/roff/troff/env.cc (environment::hyphenate_line): Use
6238 assertion instead of if-clause.
6239 Let `get_hyphen_list' return the number of involved characters in
6240 the hyphenation pattern instead of computing it directly (which
6241 often yields too small values).
6242 * src/roff/troff/node.h (*::get_hyphen_list): Add second parameter.
6243 * src/roff/troff/node.cc (*::get_hyphen_list): Handle new second
6246 2003-01-22 Werner LEMBERG <wl@gnu.org>
6248 Fixing a bug which caused groff to hang if the hyphenation exception
6249 dictionary tried to grow.
6251 * src/roff/troff/env.cc (hyphen_trie::insert_hyphenation,
6252 hyphen_trie::read_patterns_file, do_hyphenation_patterns_file): Use
6253 pointer to dictionary.
6255 2003-01-20 Werner LEMBERG <wl@gnu.org>
6257 * src/utils/afmtodit/afmtodit.pl: Add switch `-m' to suppress
6258 negative left italic correction.
6259 * src/utils/afmtodit/afmtodit.man: Document it.
6261 * font/devps/generate/Makefile (RFLAG): Add `-m'.
6262 * font/devps/{AB,AR,BMB,BMR,CB,CR,EURO,HB,HR,HNB,HNR,NB,NR,PB,PR,
6263 S,TB,TR,ZD,ZDR}: Regenerated with afmtodit options `-i 0 -m'.
6267 2003-01-16 Werner LEMBERG <wl@gnu.org>
6271 2003-01-16 Jörgen Grahn <jgrahn@algonet.se>
6273 * src/preproc/refer/refer.man: Mention REFER environment variable.
6275 2003-01-05 Werner LEMBERG <wl@gnu.org>
6277 Similar to \[is], the square root glyph (\[sr]) and the square root
6278 extension glyph (\[radicalex]) are now text symbols. The new
6279 mathematical versions are called \[sqrt] and \[sqrtex],
6282 * font/devX*/S: Regenerated.
6283 * font/devdvi/generate/texex.map: Rename `sr[0123]' to `sqrt[0123]'.
6284 * font/devdvi/generate/texsy.map: Rename `sr' to `sqrt'.
6285 * font/devdvi/EX, font/devdvi/S: Regenerated.
6286 * font/devhtml/R.proto, font/devutf8/R.proto: Add `sqrt'.
6287 * font/devlj4/generate/special.map: Add `sqrt'.
6288 * font/devlj4/S: Regenerated.
6289 * font/devps/generate/textmap: Add `sqrt'.
6290 * font/devps/S, font/devps/symbolmap: Regenerated.
6292 * src/preproc/eqn/sqrt.cc (SQRT_CHAR, RADICAL_EXTENSION_CHAR,
6293 SQRT_CHAIN, BAR_CHAIN): Use `sqrt*' and `sqrtex*'.
6294 * src/roff/troff/input.cc (init_charset_table): Make `sqrtex'
6295 overlap horizontally.
6297 * tmac/X.tmac, tmac/ps.tmac, tmac/lj4.tmac: Add `sqrtex'.
6298 * tmac/dvi.tmac: Add `sr', and `sqrtex'.
6301 * doc/groff.texinfo, man/groff_diff.man: Document that `radicalex'
6302 and `sqrtex' are overlapping glyphs.
6304 2003-01-04 Werner LEMBERG <wl@gnu.org>
6306 * font/devdvi/generate/texsy.map: Add `is'.
6307 * font/devps/symbolmap: Regenerated.
6308 * font/devdvi/*TC, MI, S: Regenerated.
6310 * tmac/dvi.tmac: Remove `is'.
6312 2003-01-03 Werner LEMBERG <wl@gnu.org>
6314 `is' is now a text symbol (only relevant for dvi). The math variant
6315 can be accessed with `integral'.
6317 * font/devX*/S: Regenerated.
6318 * font/devdvi/generate/texex.map: Remove `is'.
6319 * font/devdvi/EX: Updated.
6320 * font/devhtml/R.proto, font/devutf8/R.proto: Add `integral'.
6321 * font/devlj4/generate/special.map: Ditto.
6322 * font/devlj4/S: Regenerated.
6323 * font/devps/generate/textmap: Add `integral'.
6324 * font/devps/S: Regenerated.
6326 * tmac/dvi.tmac: Define `is'.
6328 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `integral'.
6330 * src/preproc/tbl/main.cc (process_format): Fix error message.
6332 2003-01-02 Werner LEMBERG <wl@gnu.org>
6334 * font/devhtml/R.proto, font/devutf8/R.proto: Add `ne' and `nc'.
6335 * font/devps/textmap: Fix entries for `ne' and `nc'.
6336 * font/devps/symbolmap: Regenerated.
6338 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list),
6339 src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `18',
6340 `38', `58', `78', `-+', `|=', `nc', `ne'.
6342 * tmac/dvi.tmac: Add `nm', `ne', `nc'.
6343 Use `schar' for `aq'.
6344 * tmac/ps.tmac, tmac/X.tmac: Add `nc' and `ne'.
6345 * tmac/ec.tmac: Add `SC' to special fonts for `CW' and `CWI'.
6346 * tmac/tty.tmac: Add `ne'.
6348 * src/roff/troff/node.cc (make_glyph_node): Test with `get_macro'
6349 for fallback glyphs.
6351 2002-12-29 Werner LEMBERG <wl@gnu.org>
6355 * font/devX*/*: Regenerated.
6356 * font/devdvi/generate/ec.map: Remove `eq'.
6357 * font/devdvi/generate/texsy.map: Make `~=' the same as `~~'.
6358 Assign `|=' to position 39.
6359 * font/devdvi/*EC, S: Regenerated.
6360 * font/devhtml/R.proto, font/devutf8/R.proto: Add `|='.
6361 * font/devlj4/generate/special.map: Make `~=' the same as `~~'.
6362 Assign `|=' to position 549.
6363 * font/devps/generate/textmap, font/devps/enerate/symbolmap: Remove
6365 Add `uni2243' for `|='.
6367 * tmac/ec.tmac: Add `eq'.
6368 * tmac/dvi.tmac: Add `=~'.
6369 * tmac/tty-char.tmac, tmac/ps.tmac, tmac/X.tmac, tmac/lbp.tmac: Add
6372 2002-12-21 Werner LEMBERG <wl@gnu.org>
6374 * font/devdvi/generate/tc.map: Remove `**'.
6375 * font/devdvi/*TC: Regenerated.
6376 * font/devhtml/R.proto, font/devutf8/R.proto: Add `18', `38', `58',
6378 * font/devutf8/NOTES: Updated.
6380 * src/roff/troff/charinfo.h (charinfo): Add `setx_macro' function.
6381 Don't give default parameter to `set_macro'.
6382 * src/roff/troff/input.cc (do_define_character): Use `setx_macro'
6383 instead of `set_macro'.
6384 (charinfo::setx_macro): Implement it.
6385 (charinfo::set_macro): Don't change `mode'.
6387 * tmac/tty.tmac: Add `18', `38', `58', `78', `<<', `>>'.
6388 * tmac/ps.tmac, tmac/X.tmac: Add `<<', `>>'.
6389 * tmac/dvi.tmac: Define `!=' with `.schar'.
6391 2002-12-20 Werner LEMBERG <wl@gnu.org>
6393 * font/devX*/S: Regenerated.
6394 * font/devdvi/generate/ec.map: Remove `pl'.
6395 * font/devdvi/generate/tc.map: Remove `mi', `14', `12', `34'.
6396 * font/devdvi/*{TC,EC}: Regenerated.
6397 * font/devhtml/R.proto: Add `-+'.
6398 Remove double entries for `rk', `lk', `lt', `rt', `rb', `lb'.
6399 * font/devlbp/*: Remove `or'.
6400 * font/devlj4/generate/special.map: Remove `or'.
6401 * font/devlj4/S: Regenerated.
6402 * font/devps/generate/textmap: Add `fiveeighths', `oneeighth',
6403 `seveneighths', `threeeighths'.
6405 Replace `minusplus' with `uni2213'.
6406 * font/devps/symbolmap: Regenerated.
6407 * font/devutf8/R.proto: Replace `shc' with unnamed glyph.
6410 * src/roff/troff/charinfo.h (charinfo): Add `is_normal' inline
6412 * src/roff/troff/node.cc (troff_output_file::put_char_width):
6413 Call glyph_color and fill_color even if tcommand_flag isn't set.
6414 (make_node, node::add_char): Check not ci->is_fallback but
6417 * tmac/lj4.tmac, tmac/lbp.tmac: Define `or'.
6418 * tmac/ec.tmac: Add .rchar entry for `f/'.
6419 Don't remove `12', `14', `34'.
6420 Define `pl' to be always roman.
6421 * tmac/ps.tmac (ps-frac, ps-frac-mono): New macros.
6422 Define `18', `38', `58', `78'.
6423 * tmac/tty.tmac: Add `-+'.
6424 * tmac/dvi.tmac: Define `f/'.
6425 (dvi-frac): Use `f/'.
6426 * tmac/X.tmac (X-frac, X-frac-mono): New macros.
6427 Define `18', `38', `58', `78'.
6429 2002-12-15 Colin Watson <cjwatson@debian.org>
6431 * contrib/pic2graph/pic2graph.sh: Add missing `;;'.
6433 2002-12-10 Werner LEMBERG <wl@gnu.org>
6435 Add glyph `tno', a textual variant of `no'.
6437 * font/devX*/*: Regenerated.
6438 * font/{devcp1047,devlatin1,devutf8,devhtml}/R.proto: Add `tno'.
6439 * font/devdvi/generate/{tc.map: Replace `no' with `tno'.
6440 * font/devdvi/generated/{texsy,textex}.map: Add `tno'.
6441 * font/devdvi/*: Regenerated.
6442 * font/devlbp/*: Add `tno'.
6443 * font/devlj4/generate/tex.map: Replace `no' with `tno'.
6444 * font/devlj4/*: Regenerated.
6445 * font/devps/generate/textmap: Replace `no' with `tno'.
6446 * font/devps/generate/symbolchars: Add `no'.
6447 * font/devps/*: Regenerated.
6449 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `tno'.
6451 * tmac/cp1047.tmac, tmac/latin1.tmac: Replace `no' with `tno'.
6452 * tmac/tty-char.tmac: Add entry for `tno' and `3d'.
6456 * tmac/dvi.tmac: Replace most `\\' with `\E'.
6457 Add definition for `sd'.
6458 * tmac/X.tmac, tmac/ps.tmac: Replace most `\\' with `\E'.
6460 * tmac/eqnrc <dvi>: Use `integral' instead of `is' glyph.
6462 2002-12-08 Werner LEMBERG <wl@gnu.org>
6464 * tmac/an-old.tmac (TH): Use integer value for `IN' if in nroff
6465 mode to avoid rounding errors.
6466 (an-do-tag, an-do-tag-html, RS, RE): Remove redundant `.br'.
6468 * src/roff/groff/groff.man, src/roff/nroff/nroff.man,
6469 src/roff/troff/troff.man: Improve documentation of -T.
6471 2002-12-07 Jeff Conrad <jeff_conrad@msn.com>
6473 * src/roff/groff/pipeline.c: Don't define `const' for _WIN32.
6474 (run_pipeline) [_WIN32]: Provide working function without `fork'.
6476 2002-12-06 Werner LEMBERG <wl@gnu.org>
6478 * font/devps/generate/freeeuro.sfd: Make dimensions of Euro.symbol
6479 glyphs compatible to Adobe's Euro fonts (scaling them down a bit).
6480 Scaling Euro.sansserif glyphs down to have the same height as
6482 Removed unnecessary points; added some extrema.
6484 * font/devps/EURO, font/devps/freeeuro.afm, font/devps/freeeuro.pfa:
6487 2002-12-04 Werner LEMBERG <wl@gnu.org>
6489 * font/devps/generate/freeeuro.sfd: Add glyphs `Euro.symbol.slanted'
6490 and `Euro.symbol.bold.slanted'.
6491 Improve some glyph offsets and widths.
6492 * font/devps/EURO, font/devps/freeeuro.afm, font/devps/freeeuro.pfa:
6494 * font/devps/generate/Makefile (freeeuro.afm freeeuro.pfa): Fix
6496 * font/devps/generate/sfdtopfa.pe: Generate PFA in current
6499 * tmac/europs.tmac: Updated to new glyph indices.
6500 Use Euro.symbol for font familiy `A'.
6502 * doc/groff.texinfo: Minor improvements.
6504 2002-12-02 Werner LEMBERG <wl@gnu.org>
6506 * font/devdvi/generate.tc.map: s/%O/%0/.
6507 * font/devdvi/*TC: Regenerated.
6509 * src/roff/troff/div.cc (init_div_requests): Sorted.
6511 * tmac/dvi.tmac: Remove `Ye'.
6512 * tmac/ec.tmac: Remove `Ye'.
6513 Add .rchar entry for `de'.
6515 * man/groff.man, man/groff_diff.man: Document register `.pe'.
6516 * doc/groff.texinfo: Document registers `.pe', `.n', and `.w'.
6519 2002-11-30 Werner LEMBERG <wl@gnu.org>
6521 Add PS font for various Euro glyphs.
6523 * font/devps/generate/freeeuro.sfd: New master font file for
6525 * font/devps/generate/sfdtopfa.pe: New conversion script for
6527 * font/devps/generate/Makefile (FONTS): Add `EURO'.
6528 (EURO, freeeuro.afm, freeeuro.pfa): New rules.
6529 * font/devps/freeeuro.pfa, font/devps/freeeuro.afm: Generated from
6531 * font/devps/EURO: Generated from `freeeuro.afm'.
6532 * font/devps/download: Add `freeuro.pfa'.
6533 * font/devps/Makefile.sub (NORMALFILES): Adde `EURO' and
6536 * tmac/europs.tmac: New file.
6537 * tmac/ps.tmac: Include `europs.tmac'.
6538 * tmac/Makefile.sub (DISTFILES): Add `europs.tmac'.
6540 2002-11-29 Werner LEMBERG <wl@gnu.org>
6542 * font/devdvi/generate/texsy.map: Remove `lh' and `rh'.
6543 * font/devdvi/S: Regenerated.
6544 * font/devhtml/R.proto: Fix `CR' and `ci'.
6546 * font/devps/generate/textmap: Fix `lh', `rh', and `sq'.
6548 * font/devps/symbolmap: Regenerated.
6549 * font/devutf8/R.proto: Fix `CR' and `ci'.
6551 * font/devutf8/NOTES: Updated.
6553 * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Fix `CR' and
6556 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Ditto.
6558 * tmac/dvi.tmac: Add `lh' and `rh'.
6559 * tmac/Xps.tmac: Fix `lh' and `rh'.
6560 * tmac/X.tmac: Add `OK'.
6561 * tmac/lj4.tmac: Ditto.
6563 2002-11-24 Werner LEMBERG <wl@gnu.org>
6565 * font/devX*/S: Regenerated.
6566 * font/devascii/R.proto, font/devcp1047/R.proto: Remove glyphs `lb',
6567 `lc', `lf', `lk', `lt', `rb', `rc', `rf', `rk', and `rt'.
6568 * font/devdvi/generate/texsy.map: Remove `or' glyph.
6569 * font/devdvi/S: Regenerated.
6570 * font/devhtml/R.proto, font/devutf8/R.proto: Add/fix glyphs
6571 `parenlefttp', `parenleftex', `parenleftbt', `parenrighttp',
6572 `parenrightex', `parenrightbt', `bracketlefttp', `bracketleftex',
6573 `bracketleftbt', `bracketrighttp', `bracketrightex',
6574 `bracketrightbt', `bracelefttp', `braceleftmid', `braceleftbt',
6575 `braceex', `braceleftex', `bracerightex', `bracerighttp',
6576 `bracerightmid', `bracerightbt', `lt', `lk', `lb', `rt', `rk',
6578 * src/roff/troff/glyphuni.cc, src/roff/troff/uniglyph.cc: Ditto.
6579 * font/devutf8/NOTES: Updated.
6580 * font/devlj4/generate/special.map: Add glyph `braceex'.
6581 * font/devlj4/S: Regenerated.
6583 * tmac/tty-char.tmac: Add glyphs `lf', `rf', `lc', and `rc'.
6585 2002-11-14 Werner LEMBERG <wl@gnu.org>
6587 * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `va'
6590 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Ditto.
6592 * doc/texinfo.tex: New version from texinfo 4.3.
6593 * doc/groff.texinfo: Updated for texinfo 4.3.
6594 Use @tie{} where appropriate.
6595 * font/devdvi/generate/ec.map: Don't include `or' and `bv'.
6596 * font/devdvi/generate/tc.map: Remove `rn'.
6597 * font/devdvi/*TC, font/devdvi/*EC: Regenerated.
6598 * font/devhtml/R.proto, font/devutf8/R.proto: Add `vA'.
6600 * font/devX100/*, font/devX100-12/*, font/devX75/*,
6601 font/devX75-12/*: Regenerated.
6603 * tmac/dvi.tmac: Add special fonts `SA' and `SB'.
6604 Use .char (again) for `br', `ul', `rn', `or', and `ru'.
6605 Improve definition of `an'.
6606 * tmac/ps.tmac: Use .char (again) for `br', `ul', `rn', `or', and
6608 * tmac/lj4.tmac: Use .char (again) for `br', `ul', `rn', and `ru'.
6609 * tmac/X.tmac: Add definition for `or'.
6610 * tmac/Xps.tmac: Undo change 2002-11-05.
6611 * tmac/lbp.tmac: Add definitions for `br', `rn', `ul', and `ru'.
6613 2002-11-11 Werner LEMBERG <wl@gnu.org>
6615 * src/roff/troff/node.cc (troff_output_file::put_char): Always
6618 2002-11-10 Werner LEMBERG <wl@gnu.org>
6620 Added three new requests `schar', `fschar', and `rfschar'. `schar'
6621 defines a glyph which is searched after the check for fonts declared
6622 with `.special' (and before the check for all mounted special
6623 fonts). `fschar' defines a glyph for a particular font which is
6624 searched after the check for fonts declared with `.fspecial' (and
6625 before the check for fonts declared with `.special'). `rfschar'
6626 removes glyphs defined with `fschar'.
6628 * src/roff/troff/token.h (char_mode): New enum.
6629 Declare do_define_character.
6630 * src/roff/troff/charinfo.h (charinfo): Replace `fallback' with
6632 (charinfo::is_fallback): Updated.
6633 (charinfo::is_special): New method.
6634 * src/roff/troff/input.cc (do_define_character): Add and use
6635 optional second parameter used as a prefix for font-specific glyph
6637 (define_character, define_fallback_character): Updated.
6638 (define_special_character): New function.
6639 (init_input_requests): Add `schar'.
6640 (charinfo::charinfo, charinfo::set_macro): Updated.
6641 * src/roff/troff/node.cc: Include `stringclass.h'.
6642 (make_glyph_node): Handle special glyphs defined with `.schar' and
6644 (define_font_special_character, remove_font_special_character): New
6646 (init_node_requests): Sorted.
6647 Add `fschar' and `rfschar'.
6648 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
6649 Document new requests.
6651 * font/devhtml/R.proto, font/devutf8/R.proto: Add `va'.
6652 * tmac/dvi.tmac: Add `va' for CW and CWI (using `.fschar').
6654 2002-11-08 Werner LEMBERG <wl@gnu.org>
6656 Added new font `SC' (cmtex10) to devdvi.
6658 * devdvi/generate/Makefile (FONTS): Add `SC'.
6660 * devdvi/generate/textex.map: New map file for cmtex.
6662 * devdvi/Makefile.sub (DEVFILES): Updated.
6663 * tmac/dvi.tmac: Add fspecial entries for SC.
6664 Add `MI', `S' and `CW' to the `special' call. Otherwise, `SC' is
6665 found before `S' since the font position of `SC' is lower due to the
6666 gaps in DESC's `font' line.
6667 * tmac/ec.tmac: Add a `special' call.
6670 * font/devhtml/R.proto: Remove double entry for `ti'.
6671 * tmac/tty.tmac: Add entries for `IJ', `ij', and `bq'.
6672 * tmac/tty-char.tmac: Remove entry for `bq'.
6673 * tmac/lbp.tmac: Add entries for `lq', `rq', `fo', `fc', and `em'.
6674 * tmac/ec.tmac: Don't remove `aq' glyph.
6675 * tmac/X.tmac: Fix entry for `em'.
6676 Add entries for `fo' and `fc'.
6677 * tmac/dvi.tmac: Add entries for `em', `en', `hy', `fo', and `fc'.
6679 * doc/groff.texinfo, man/groff.man, man/groff_diff.man: Fix
6680 documentation of `special' and `fspecial' requests.
6682 2002-11-05 Werner LEMBERG <wl@gnu.org>
6684 * font/devascii/R.proto, font/devcp1047/R.proto,
6685 font/devlatin1/R.proto: Remove entry for `.i'.
6686 * font/devdvi/generate/textt.map: Add entry for `ad'.
6687 * font/devdvi/generate/texr.map, font/devdvi/generate/texb.map,
6688 font/devdvi/generate/texi.map: Add dummy glyph name `slash@for@l'.
6689 We need this for getting kerning values to compose `/l' and `/L'.
6690 * font/devdvi: Regenerated font definition files for CM fonts.
6691 * font/devhtml/R.proto: Add entries for "'C", "'c", `IJ', and `ij'.
6692 * font/devutf8/R.proto: Ditto.
6693 Remove double entry for `ti'.
6695 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Fix entries
6696 for (groff) ligatures, `la', and `ra'.
6697 Add "'C", "'c", `IJ', and `ij'.
6698 Remove double entry for `ti'.
6699 * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Remove all
6701 Add "'C", "'c", `IJ', and `ij'.
6702 Fix entries for (groff) ligatures, `la', and `ra'.
6704 * tmac/ps.tmac (ps-achar): New macro.
6705 Define "'c" and "'C".
6706 * tmac/tty.tmac: Add entry for `.i'.
6707 * tmac/X.tmac (X-achar): New macro.
6708 Define "'c", "'C", and `:Y'.
6709 Add entries for `IJ' and `ij'.
6710 * tmac/Xps.tmac (Xps-achar): New macro.
6711 Define "'c" and "'C".
6712 Add entries for `IJ' and `ij'.
6713 * tmac/lbp.tmac (lbp-achar): New macro.
6714 Add fallback characters for all groff ligatures and many other
6716 * tmac/dvi.tmac: Fix definitions of `_' and `ul'.
6717 Add entries for `/l' and `/L'.
6718 Define "'c" and "'C".
6719 Add entries for `IJ' and `ij'.
6721 2002-11-02 Larry Kollar <kollar@alltel.net>
6723 * PROBLEMS: Document how to solve Mac OS X compilation problems.
6725 2002-11-02 Werner LEMBERG <wl@gnu.org>
6727 Adding support for composite glyphs: \[xxx yyy ...] and the
6728 `composite' request.
6730 * src/roff/troff/glyphuni.cc: New file for mapping groff glyph names
6731 to Unicode-based glyph names.
6732 * src/roff/troff/uniglyph.cc: New file for mapping Unicode-based
6733 glyph names to groff glyph names.
6734 * src/roff/troff/uniuni.cc: New file for canonically decomposing
6735 Unicode-based glyph names.
6736 * src/roff/troff/unicode.cc, src/roff/troff/unicode.h: New files
6737 for handling Unicode glyph names.
6738 * src/roff/troff/input.cc: Include unicode.h.
6739 (composite_glyph_name): New function.
6740 (token::next) <'['>: Handle Unicode glyph names and composite
6742 (composite_dictionary): New dictionary for the `composite' request.
6743 (composite_request): Implement `composite' request.
6744 (init_input_requests): Add `composite'.
6745 Alphabetically sorted.
6746 * src/roff/troff/env.cc (tabs_save, tabs_restore): Removed (already
6748 (init_env_requests): Alphabetically sorted.
6749 Removed `tas' and `tar' (already commented out).
6750 * src/roff/troff/Makefile.sub: Updated.
6752 2002-10-31 Ruslan Ermilov <ru@FreeBSD.org>
6754 * src/roff/nroff/nroff.man, src/roff/nroff/nroff.sh: Fix description
6757 2002-10-29 Werner LEMBERG <wl@gnu.org>
6759 Fix computation of .trunc register. Additionally, its value (and
6760 the value of the .ne register) is now always set before entering the
6763 * src/roff/troff/div.cc (diversion::need): Set `truncated_space' and
6764 `needed_space' before calling `space'.
6765 (top_level_diversion::space): Remove special code for 'sp before the
6767 Call `begin_page' with the discarded space as a parameter.
6768 (top_level_diversion::begin_page): Add optional parameter to set
6770 * src/roff/troff/div.h: Updated.
6772 * doc/groff.texinfo: Improve documentation of .sp, \n[.trunc], and
6775 * tmac/an-old.tmac (SH, SS, TP, IP, HP, TS): Undo change 2002-10-26.
6776 (LP): Remove superfluous call to `br'.
6777 * tmac/doc-common (doc-paragraph): Undo change 2002-10-26.
6778 * tmac/doc.tmac (Bd, Bl, doc-set-vertical-and-indent): Ditto.
6780 2002-10-26 Werner LEMBERG <wl@gnu.org>
6782 * tmac/doc-ditroff: Remove useless switch/variable -rC.
6783 (doc-setup-header): Don't set page register `%'.
6784 * tmac/doc-nroff: Remove variable `C'.
6785 (doc-setup-page-layout): Set doc-header-space to .5i unconditionally.
6786 (doc-setup-header): Don't set page register `%'.
6788 * tmac/doc-common (doc-header): Call `ns'.
6789 (doc-paragraph): Protect .sp with .br so that it survives traps
6790 possibly set by the user.
6791 * tmac/doc.tmac (Bd, Bl, doc-set-vertical-and-indent): Ditto.
6793 * tmac/doc*: Replace ' with . for consistency if no effect.
6795 2002-10-26 Werner LEMBERG <wl@gnu.org>
6797 * tmac/an-old.tmac (SH, SS, TP, IP, HP, TS): Protect .sp with .br
6798 so that it survives traps possibly set by the user.
6800 * src/roff/troff/node.cc: Fix the changes from 2002-10-23.
6801 (troff_output_file::set_font): Call flush_tbuf if necessary.
6802 (troff_output_file::fill_color, troff_output_file::glyph_color): Call
6803 flush_tbuf and do_motion only if necessary.
6804 (troff_output_file::start_special,
6805 troff_output_file::put_char_width, troff_output_file::put_char,
6806 troff_output_file::draw): Updated.
6807 (word_space_node::tprint, space_node::tprint, hmotion_node::tprint,
6808 vmotion_node::tprint): Undo change 2002-10-23.
6810 2002-10-25 Werner LEMBERG <wl@gnu.org>
6812 * tmac/www.tmac (DC): Fix case of overlapping images.
6814 2002-10-23 Werner LEMBERG <wl@gnu.org>
6816 * src/roff/troff/node.cc (troff_output_file::fill_color,
6817 troff_output_file::glyph_color): Set current color before testing
6819 (troff_output_file::put_char_width, troff_output_file::put_char,
6820 troff_output_file::draw): Don't call flush_tbuf and/or do_motion
6822 (troff_output_file::file_color, troff_output_file::glyph_color):
6824 (word_space_node::tprint, space_node::tprint, hmotion_node::tprint,
6825 vmotion_node::tprint): Move first, then call fill_color.
6827 2002-10-20 Werner LEMBERG <wl@gnu.org>
6829 * doc/groff.texinfo, man/groff_tmac.man: Document that it is not
6830 possible to use multiple main macro packages.
6832 2002-10-19 Werner LEMBERG <wl@gnu.org>
6834 * src/devices/grops/ps.cc (cmyk_flag): New global variable.
6835 (ps_printer::set_color): Set `cmyk_flag' for CMY and CMYK colors.
6836 (ps_printer::~ps_printer): Emit `%%Extensions: CMYK' if `cmyk_flag'
6838 * font/devps/prologue.ps (Fk, Ck): Enclose definitions with a
6839 `where' construction since `cmyksetcolor' is a PS Level 2 operator.
6841 2002-10-16 Werner LEMBERG <wl@gnu.org>
6843 * NEWS, doc/webpage.ms: Updated.
6845 2002-10-14 Werner LEMBERG <wl@gnu.org>
6847 * src/roff/troff/node.cc (troff_output_file::put_char_width,
6848 troff_output_file::put_char, troff_output_file::fill_color,
6849 troff_output_file::glyph_color): Handle case where color pointer
6852 2002-10-13 Ruslan Ermilov <ru@FreeBSD.org>
6854 Add the new -r option to grotty. It is similar to the -i option
6855 except it tells grotty(1) to use the `reverse video' attribute to
6856 render italic fonts.
6858 * src/devices/grotty/tty.cc (reverse_flag): New global variable.
6859 (SGR_REVERSE, SGR_NO_REVERSE): New macros.
6860 (tty_printer::make_underline, tty_printer::put_color,
6861 tty_printer::end_page): Use it.
6862 (main): Add -r switch.
6864 * src/devices/grotty/grotty.man: Document it.
6866 2002-10-11 Ruslan Ermilov <ru@FreeBSD.org>
6868 * src/roff/troff/env.cc (hyphen_trie::read_patterns_file): Add
6869 cast to `unsigned char' to properly read patterns with 8bit
6872 2002-10-08 Werner LEMBERG <wl@gnu.org>
6874 * REVISION: Increased to 2.
6877 version-control: never