1 2007-01-30 Werner LEMBERG <wl@gnu.org>
3 * tmac/an-ext.tmac (\n[EX]): Rename to \n[mX].
4 (\n[mH]): New register (set if grohtml is used).
5 (\n[SY]): Rename to \n[mS].
6 (\n[a]): Rename to \n[mA].
7 (\n[i]): Rename to \n[mI].
8 (mU): New auxiliary input trap macro.
9 (UR, UE): Replace stub with real definition.
13 (EX, EE): Don't insert vertical space.
14 Use a register to store (and restore) the current font.
16 * man/ditroff.man, man/groff_diff.man, man/roff.man: Revised, based
17 on patches from Eric Raymond.
19 * contrib/pdfmark/pdfroff.man: Updated.
21 2007-01-22 Gaius Mulley <gaius@glam.ac.uk>
23 * tmac/an-old.tmac (an-trap, HP): Make `HP' work as expected.
25 2007-01-22 Werner LEMBERG <wl@gnu.org>
27 * tmac/an-ext.tmac: Protect against being sourced twice.
28 (URL, EE): Use always two backslashes.
31 2007-01-21 Werner LEMBERG <wl@gnu.org>
33 * contrib/pdfmark/pdfroff.man: Revised, based on a patch from Eric
34 Raymond. It now uses the new macros from an-ext.tmac. This is the
35 first of a series of man patches which Eric has contributed.
37 2007-01-16 Werner LEMBERG <wl@gnu.org>
39 * tmac/an-ext.tmac: Remove code for grodvi.
41 Don't insert empty line.
44 2007-01-14 Werner LEMBERG <wl@gnu.org>
46 * tmac/an-ext.tmac: New file, containing extension macros
47 for -man. See discussion on the groff mailing list for
48 background information.
49 * tmac/an-old.tmac: Load an-ext.tmac.
50 Decorate .ds and as with comment escapes where appropriate.
51 * tmac/Makefile.sub (NORMALFILES): Add an-ext.tmac.
53 2007-01-05 Werner LEMBERG <wl@gnu.org>
55 * src/preproc/tbl/tbl.man: Document .T# and \n[TW].
57 2007-01-04 Gaius Mulley <gaius@glam.ac.uk>
59 Make -me macros ready for grohtml.
61 * tmac/e.tmac: Load devtag.tmac.
62 (need_eo_h, need_eo_tl, need_tl): New registers.
63 (check_need_title, (x-html, )x-html, xp-html): New macros.
64 (@h, hl, ip, @p, sh, (b, (l, EQ, EN, TS, TE, PS, PE, GS, GE, r, i,
65 b, rb, bi, bx, (x, )x, xp): Adapt for use with grohtml.
66 (bp): Rename to @b only if output device is not html.
68 2007-01-01 Werner LEMBERG <wl@gnu.org>
70 * man/groff_font.man: Document empty lines.
72 * src/utils/afmtodit/afmtodit.pl: Always print a header comment at
73 the very beginning of the output.
76 * font/devps/*: Regenerate font definition files.
78 2007-01-01 Werner LEMBERG <wl@gnu.org>
80 * font/devps/generate/Makefile (AFMTODIT): Use -c flag.
82 * font/devps/*: Regenerate font definition files.
84 2006-12-31 Werner LEMBERG <wl@gnu.org>
86 * Makefile.in (oldfontdir): New variable.
87 (MDEFINES): Add $(oldfontdir).
88 (uninstall_dirs): Remove `current' link.
91 * Makefile.comm (oldfontsubdir): New variable.
92 (install_dev): Install files collected in $(OLDDEVFILES) into
94 (uninstall_dev): Remove data in $(oldfontsubdir).
95 (.man.n): Handle @OLDFONTDIR@.
97 * src/devices/grodvi/grodvi.man, src/devices/grohtml/grohtml.man,
98 src/devices/grolbp/grolbp.man, src/devices/grolj4/grolj4.man,
99 src/devices/grotty/grotty.man, src/devices/xditview/gxditview.man:
100 Document GROFF_FONT_PATH.
102 * src/devices/grops/grops.man: Document GROFF_FONT_PATH and
103 old font description files.
105 * font/devps/Makefile.sub (OLDDISTFILES, OLDDEVFILES): New
108 * font/devps/old/*: New directory, holding the previous version
109 of the 35 Adobe core font description files.
111 * font/devps/*: Regenerated the 35 Adobe core fonts, using the
112 Adobe-Core35_AFMs-229.tar.bz2 bundle from ftp.dante.de.
114 * NEWS: Document font update.
116 2006-12-31 Werner LEMBERG <wl@gnu.org>
118 * font/devps/generate/Makefile (symbolsl.afm): Use $(srcdir).
120 * Makefile.comm (fonts): New (empty) target.
121 * Makefile.in (TARGETS): Add `fonts'.
123 * MANIFEST: Add `chem'.
125 * doc/groff.texinfo (Changing Fonts): Font translations with .ftr
128 2006-12-26 Werner LEMBERG <wl@gnu.org>
130 * src/preproc/grn/hdb.cpp: Include gprint.h later. From NetBSD.
132 2006-12-19 Werner LEMBERG <wl@gnu.org>
134 Add support for German. For activation, simply use -mde or -mden
135 (for traditional and new orthgraphy, respectively) as the last
138 * tmac/de.tmac, tmac/den.tmac, tmac/hyphen.det, tmac/hyphen.den,
139 tmac/hyphenex.det: New files, partly taken from CTAN.
140 * LICENSES: Updated list of hyphenation patterns.
141 * man/groff_tmac.man: Mention de.tmac and den.tmac.
144 2006-12-11 Werner LEMBERG <wl@gnu.org>
146 Support up to 32 macro arguments in pic (and up to 16 on EBCDIC
149 * src/preproc/pic/lex.cpp (ARG1): Redefine. Update all users.
150 (MAX_ARG): New macro. Use it everywhere to replace hard-coded
151 limit of 9 arguments.
152 (process_body): Handle argument numbers with more than a single
154 (interpolate_macro_with_args): Protect against exceeding number of
157 * NEWS, src/preproc/pic/pic.man, doc/pic.ms: Document it.
159 2006-12-10 Werner LEMBERG <wl@gnu.org>
161 * Makefile.in (site.exp, docheck): Commented out. Not working
163 (check): Just emit dummy message.
165 2006-12-08 Werner LEMBERG <wl@gnu.org>
167 During installation, create soft link from <version> to `current' in
170 * Makefile.comm (install): Renamed to...
172 (prefix_must_exist): Removed. Code moved to Makefile.in.
174 * Makefile.in (TARGETS): Remove `install'.
176 (install): New target which first creates the directory given by
177 --prefix, then calling `make' to do the installation, and finishing
178 with the creation of the soft link.
180 2006-11-21 Werner LEMBERG <wl@gnu.org>
182 * doc/Makefile.sub (uninstall_sub): Fix names for info files.
184 2006-11-18 Werner LEMBERG <wl@gnu.org>
186 * man/roff.man, doc/groff.texinfo: Improve history of roff, based on
187 information from Tom Van Vleck <thvv@multicians.org>.
189 2006-11-16 Werner LEMBERG <wl@gnu.org>
191 * tmac/62bit.tmac: New macro package.
192 * tmac/Makefile.sub (NORMALFILES): Add it.
195 * tmac/trace.tmac: Protect against being loaded again.
196 (nr): Always show result.
198 * doc/groff.texinfo (Input Encodings): Document latin-5.
200 * man/grof_tmac.man: Document sv, latinX, cp1047, 60bit, ec.
202 2006-11-13 Werner LEMBERG <wl@gnu.org>
204 * doc/groff.texinfo (Page Location Traps) [.wh]: Give more details
205 on negative trap positions.
207 2006-11-10 Werner LEMBERG <wl@gnu.org>
209 * Makefile.comm (.man.n): Handle @DATASUBDIR@.
211 2006-11-09 Werner LEMBERG <wl@gnu.org>
213 * INSTALL: Move information about external installation from
214 INSTALL.gen into this file.
217 * INSTALL.gen: Update to new version (from texinfo CVS).
219 2006-11-09 Bernd Warken
221 * INSTALL.gen: Extend the file by information on `external
222 installation'. Reorder the installation instruction as `normal
225 2006-11-08 Werner LEMBERG <wl@gnu.org>
227 * doc/Makefile.sub (install_data): Take care of proper paths while
228 installing info files. Bug reported by Bernd Warken.
230 2006-11-06 Bernd Warken
232 * src/roff/grog/grog.pl: Rewrite.
233 - Call by `#! /usr/bin/env perl'. That isn't replaced.
234 - Rename usage() to version().
236 - For `use strict', start all global variables with an upper case
237 character. Use `my' for all variables. Use several new variables.
239 - Add copyright to GPL and Emacs comment.
240 - Handle several `-m*' options.
241 - Fix handling of `-ms' and `-mm'. Add .TL and .NH.
242 - Allow options after file names.
243 - Allow only one `-' parameter (standard input).
244 - Add option abbreviations.
245 - Expand the usage information.
247 - Add single quote "'" as additional first character and allow
248 arbitrary space after the first character.
250 * src/roff/grog/grog.sh: Rewrite.
251 - Remove option `-e' of `sed'.
252 - Allow file names with space characters.
254 - Add copyright to GPL.
255 - Handle several `-m*' options.
256 - Fix handling of `-ms' and `-mm'. Add .TL and .NH.
257 - Allow options after file names.
258 - Allow only one `-' parameter (standard input).
259 - Add option abbreviations.
260 - Expand the usage information.
262 - Add single quote "'" as additional first character and allow
263 arbitrary space after the first character.
265 * src/roff/grog/Makefile.sub:
266 - Add copyright to GPL.
267 - Remove `grog:'. Move `grog.old:' to `grog:' in order to have a
268 fair chance to choose between the shell version and the Perl
269 version of `grog'. This is now again comparable to grog in groff
272 * src/roff/grog/grog.man: Rewrite.
273 - Move the license to GPL.
274 - New sections: OPTIONS, DETAILS, EXAMPLES, COPYING.
275 - Take over some setup and macros from `groffer'.
276 - Add information on options.
278 2006-10-28 Werner LEMBERG <wl@gnu.org>
280 * tmac/trace.tmac: Improve tracing of `.nr'.
281 Trace `.substring' also.
285 2006-10-28 Bernd Warken
287 * man/roff.man, src/roff/groff/groff.man: Add `chem', fix position
288 of groff development site, fix fonts.
290 * News: Add information on `chem' and `groffer'.
292 2006-10-26 Bernd Warken
294 * Makefile.in (OTHERDIRS, NOMAKEDIRS): Add `chem' bundle.
296 2006-10-26 Werner LEMBERG <wl@gnu.org>
298 Add `\%^' escape to handle the parameters to a macro as a string
301 * src/roff/troff/input.h (DOUBLE_QUOTE): New special character.
303 * src/roff/troff/input.cpp (input_iterator, input_stack,
304 macro_iterator): Add `space_follows_arg' member function.
305 (macro_iterator::add_arg): Add parameter to set the `space_follows'
307 (arg_list): Add member `space_follows'.
308 Update constructor and all callers.
309 (decode_args): Store discarded double quotes.
310 (interpolate_args): Handle DOUBLE_QUOTE.
312 (get_copy, token::next, composite_glyph_name): Handle DOUBLE_QUOTE.
314 * tmac/trace.tmac: Trace .nr, .ds, .ds1, .as, .as1.
316 * docs/groff.texinfo (Parameters), man/groff.man,
317 man/groff_diff.man, NEWS: Document it.
319 2006-10-24 Bernd Warken
321 * Makefile.in (NOMAKEDIRS): Add groffer subdirectories.
323 2006-10-24 Werner LEMBERG <wl@gnu.org>
325 * tmac/groff_trace.man: Mention problem with `\\\\'.
327 2006-10-23 Werner LEMBERG <wl@gnu.org>
329 * doc/groff.texinfo (Expressions): Improve documentation of `!'.
331 * tmac/trace.tmac (return): Don't call `substring'.
333 2006-09-10 Werner LEMBERG <wl@gnu.org>
335 * src/roff/troff/input.cpp (read_size): Revert previous change
338 * doc/groff.texinfo (Fractional Size Types): Clarify syntax of \s.
340 2006-09-09 Werner LEMBERG <wl@gnu.org>
342 * src/roff/troff/input.cpp (read_size): Fix `\s[-\n[.s]]' so that it
343 behave the same as `\s-[\n[.s]]' (this is, emit a warning and set
344 point size to 1). Reported by Gunnar Ritter.
345 Also catch `\s-[-...]' and friends (causing an error).
347 2006-09-06 Werner LEMBERG <wl@gnu.org>
349 * src/roff/troff/env.cpp (environment::do_break): Insert zero-width
350 space only if there is no previous space. This fixes a bug which
351 caused unwanted filling of the last line in a paragraph. Thanks to
352 Gunnar Ritter for an analysis.
354 2006-09-03 Werner LEMBERG <wl@gnu.org>
356 * src/roff/groff/groff.cpp (main): Pass -U flag to pic also.
357 Reported by Jennifer Sayers <jenjen@isu.usyd.edu.au>.
359 2006-09-01 Nick Stoughton <nick@msbit.com>
360 Werner LEMBERG <wl@gnu.org>
362 Add a request `pev' to print environment information (similar to
363 `pnr' and `ptr' to print number registers and traps).
365 * src/roff/troff/env.h (environment): Add member function print_env.
367 * src/roff/troff/env.cpp: (environment::print_env): New function to
368 print a given environment state.
369 (print_env): New global function to iterate through the
370 environments, printing each one.
371 (init_env_requests): Register `pev'.
373 * doc/groff.texinfo (Debugging), man/groff.man, man/groff_diff.man,
374 NEWS: Document `pev' request.
376 2006-09-01 Bernd Warken
378 * src/preproc/soelim/soelim.cpp (usage): Fix option argument of
381 2006-09-01 Werner LEMBERG <wl@gnu.org>
383 * src/preproc/pic/main.cpp (usage): Add missing options.
385 2006-08-25 Werner LEMBERG <wl@gnu.org>
387 * src/preproc/soelim/soelim.man: Document how to insert `\' and ` '
390 2006-08-19 Werner LEMBERG <wl@gnu.org>
392 * configure: Regenerated.
394 2006-08-18 Keith Marshall <keith.d.marshall@ntlworld.com>
396 * m4/groff.m4 (GROFF_MAKEINFO): Correct `makeinfo version testing
397 logic; it previously caused an `expr' syntax error, if no version of
398 `makinfo' was present. Also, remove dependency on `makeinfo' in VPATH
399 builds, if an up to date `groff.info' is present in either `builddir'
402 2006-08-12 Tadziu Hoffmann <hoffmann@usm.uni-muenchen.de>
404 * font/devps/prologue.ps: Add BPhook.
406 * src/devices/grops/grops.man: Document BPHook.
407 Reorder some sections for better readability.
409 2006-08-12 Werner LEMBERG <wl@gnu.org>
411 * src/include/lib.h (getlocale): New macro.
412 (setlocale, LC_ALL, LC_CTYPE) [!HAVE_SETLOCALE]: Define, as
415 * src/preproc/preconv/preconv.cpp (main): Use getlocale.
417 2006-08-11 Werner LEMBERG <wl@gnu.org>
419 Add new flag to .cflags to enable hyphenation without looking at
422 * src/roff/troff/charinfo.h (charinfo): New enumeration value
424 New member function `ignore_hcodes'.
426 * src/roff/troff/node.cpp (break_char_node::add_self,
427 node::add_char): Updated.
429 * doc/groff.texinfo, man/groff_diff.man, NEWS: Document it.
431 2006-08-09 Werner LEMBERG <wl@gnu.org>
433 Support composite Unicode characters again. Reported by Colin.
435 * font/devhtml/R.proto: Renamed to...
436 * font/devhtml/R.in: This.
438 * font/devutf8/R.proto: Renamed to...
439 * font/devutf8/R.in: This.
442 * font/make-Rproto: New script.
443 * font/devhtml/R.proto, font/devutf8/R.proto: Generated.
445 2006-07-26 Werner LEMBERG <wl@gnu.org>
447 * README: Fix description of CVS access. Reported by Joachim.
449 2006-07-11 Werner LEMBERG <wl@gnu.org>
451 Add a request `.fzoom' and a number register `.zoom' to magnify
454 * src/include/font.h (font): Add member variable `zoom'.
455 Add member functions `set_zoom' and `get_zoom'.
456 Remove `static' attribute from `scale' member function.
458 * src/libs/libgroff/font.cpp (font::font): Updated.
459 (scale_round): New version with three parameters to handle zoom
461 (font::scale, font::get_width): Handle zoom factor.
462 (font::set_zoom, font::get_zoom): New functions.
463 (font::load): Handle `zoom' while computing `space_width'.
465 * src/roff/troff/env.h: Declare `env_get_zoom'.
466 (environment): Add member function `get_zoom'.
468 * src/roff/troff/env.cpp (environment::get_zoom): New function.
469 (init_env_requests): Initialize `.zoom' register.
471 * src/roff/troff/node.cpp (font_info): New member functions
472 `set_zoom' and `get_zoom'.
473 (tfont): New member function `get_zoom'.
474 (env_get_zoom): New function.
475 (troff_output_file::set_font): Handle zoom factor.
476 (font_zoom_request): New function.
477 (init_node_requests): Initialize `fzoom' request.
479 * docs/groff.texinfo (Changing Fonts), man/groff.man,
480 man/groff_diff.man, NEWS: Document `fzoom' request and `.zoom'
483 * src/roff/troff/TODO: Updated.
485 2006-07-10 Werner LEMBERG <wl@gnu.org>
487 * doc/groff.texinfo (Drawing Requests): Improve documentation of
490 2006-07-02 Werner LEMBERG <wl@gnu.org>
492 * man/groff_tmac.man: Document usage of .PSPIC within diversions.
494 2006-07-01 Werner LEMBERG <wl@gnu.org>
496 * tmac/pspic.tmac: Make .PSPIC work for all devices.
497 Print image file name for devices which don't support PS image
499 Handle multiple inclusions.
500 Add lots of comments.
502 * tmac/dvi.tmac, tmac/html.tmac, tmac/ps.tmac: Don't load
505 * tmac/troffrc: Load pspic.tmac.
507 * man/groff_tmac.man: Update .PSPIC documentation.
511 2006-06-29 Werner LEMBERG <wl@gnu.org>
513 * src/roff/troff/input.cpp (interpolate_macro):
514 s/probably/possibly/, as suggested by Keith.
516 2006-06-28 Werner LEMBERG <wl@gnu.org>
518 Add support for \D'p...' to grotty.
520 * src/devices/grotty/grotty.cpp (tty_printer::draw): Move most of
522 (tty_printer::line): This function.
523 (tty_printer::draw): Rewritten; just call either draw_line or
525 (tty_printer::draw_line, tty_printer::draw_polygon): New functions.
527 * src/devices/grotty/grotty.man, NEWS: Document it.
529 2006-06-27 Werner LEMBERG <wl@gnu.org>
531 * src/preproc/refer/command.h (have_bibliography): New variable
534 * src/preproc/refer/command.cpp (bibliography_command): Set
537 * src/preproc/refer/refer.cpp: Initialize `have_bibliography'.
538 (output_references): Emit warning only if `have_bibliography' is
541 2006-06-15 Michail Vidiassov <master@iaas.msu.ru>
543 * fonts/devps/Makefile.sub (DISTFILES): Add freeeuro.afm.
544 * fonts/devps/generate/Makefile (clean): Don't remove symbolsl.afm
547 2006-06-15 Werner LEMBERG <wl@gnu.org>
549 * src/preproc/tbl/tbl.man: Document limitations of .TS/.TE within a
550 macro (as suggested by Tadziu Hoffmann).
552 2006-06-12 Werner LEMBERG <wl@gnu.org>
554 * src/preproc/tbl/tbl.man: Add example for use of .TS/.TE within a
555 macro (as suggested by Tadziu Hoffmann).
557 2006-06-05 Werner LEMBERG <wl@gnu.org>
559 * tmac/strip.sed: Strip `\#' also.
561 * doc/groff.texinfo (Operators in Conditionals): Document usage of
562 \? for string comparison.
564 2006-06-04 Werner LEMBERG <wl@gnu.org>
566 * doc/groff.texinfo: Add more index entries for copy-in mode.
567 (Changing Fonts) <.ft>: Document that a font definition file must
568 not be called `DESC'.
570 2006-05-31 Werner LEMBERG <wl@gnu.org>
572 * src/roff/troff/input.cpp (token::next) <\N>: Catch negative values
575 * doc/Makefile.sub (EXAMPLEFILES): Move gnu.eps to...
576 (PROCESSEDEXAMPLEFILES): Here.
578 2006-05-30 Werner LEMBERG <wl@gnu.org>
580 * src/libs/libgroff/font.cpp (font::load): Reject fonts called
582 Reduce number of false positives for `.if F ...' conditionals.
583 Improve warning messages.
585 2006-05-29 Werner LEMBERG <wl@gnu.org>
587 * tmac/Makefile.sub: Add copyright notice.
588 (NORMALFILES): Add man.tmac and ms.tmac.
589 (SPECIALFILES): Remove man.tmac and ms.tmac.
590 (CLEANADD): Remove man.tmac-sed and ms.tmac-sed.
591 (install_data, uninstall_sub): Don't handle man.tmac and ms.tmac
593 (stamp-sed): Don't handle man.tmac and ms.tmac.
594 Remove obsolete components in sed's regexp.
596 * doc/Makefile.sub (EXAMPLEFILES): Add gnu.eps.
598 * Makefile.in (OTHERDIRS, NOMAKEDIRS): Add hdtbl.
600 2006-05-28 Werner LEMBERG <wl@gnu.org>
602 * doc/groff.texinfo (History): Correct death circumstances of Joe
605 2006-05-27 Werner LEMBERG <wl@gnu.org>
607 * tmac/an-old.tmac (an-do-tag): Simplify.
609 2006-05-26 Werner LEMBERG <wl@gnu.org>
611 * tmac/an-old.tmac (an-do-tag): Make margin characters work.
612 (an-header, an-p-footer): Use named environment.
614 * src/roff/troff/env.cpp (environment::copy): Copy margin character
617 2006-05-21 Werner LEMBERG <wl@gnu.org>
619 * tmac/trace.tmac (de1): Fix serious typo (.di -> .do) and minor
622 2006-05-11 Keith Marshall <keith.d.marshall@ntlworld.com>
624 * src/roff/groff/groff.man: Remove superfluous word `intermediate'.
626 2006-05-10 Keith Marshall <keith.d.marshall@ntlworld.com>
628 * src/roff/groff/groff.man: Update copyright notice.
629 Improved wording to describe effect of `-Z' option.
631 2006-05-06 Werner LEMBERG <wl@gnu.org>
633 * tmac/www.tmac: Decorate `.ds' with trailing `\"' where missing.
634 Normalize handling of `"' in arguments.
635 (PIMG): Remove debug message.
638 2006-05-05 Werner LEMBERG <wl@gnu.org>
640 * src/devices/grohtml/post-html.cpp (page::add_and_encode): Don't
641 swallow character immediately after `\[...]'.
644 2006-05-02 Gaius Mulley <gaius@glam.ac.uk>
646 * tmac/www.tmac (PIMG): Fix the HTML device specific components.
648 2006-05-02 Larry Kollar <kollar@alltel.net>
650 * tmac/www.tmac (PIMG): Really default to `-C' if the alignment
653 2006-04-30 Michail Vidiassov <master@iaas.msu.ru>
655 * src/utils/afmtodit/afmtodit.pl: New option `-c' to add font
656 information as a comment in output.
657 * src/utils/afmtodit/afmtodit.man, NEWS: Document it.
659 2006-04-26 Werner LEMBERG <wl@gnu.org>
661 * src/devices/grohtml/post-html.cpp (html_printer::~html_printer):
662 Handle current_paragraph only if it is non-NULL.
664 * src/libs/libdriver/input.cpp (parse_x_command <'F'>, do_file
665 <'F'>): Use `get_extended_arg' to behave as documented. Reported by
666 Bill Ward <william.a.ward.jr@erdc.usace.army.mil>.
669 Surround the (pseudo) file name for the .pso request with `<' and
672 * src/roff/troff/node.cpp (real_output_file, troff_output_file): Add
673 second parameter to `really_put_filename' and `put_filename'.
674 (troff_output_file::really_put_filename): Emit `<' and `>' around
675 filename if second argument is set.
676 * src/roff/troff/node.h: Updated.
678 * src/roff/troff/input.cpp (file_iterator::file_iterator,
679 file_iterator::set_location): Update to changes in node.cpp.
681 2006-04-25 Tetsurou Okazaki <okazaki@FreeBSD.org>
683 * src/preproc/preconv/preconv.cpp (do_file): Fix conditional
684 preprocessor expression (I18N -> HAVE_ICONV).
685 (main): Fix handling of option `-h'.
686 Fix conditional preprocessor expression.
688 2006-04-04 Werner LEMBERG <wl@gnu.org>
690 Implement new number register `.br' which is set to 1 if a macro has
691 been called as .foo and to 0 if called as 'bar. This is useful for
692 -mtrace so that requests can be reliably traced too.
694 * src/roff/troff/input.cpp (input_iterator): Add virtual function
696 (macro_iterator): Add `with_break' member and `get_break_flag'
699 (input_stack): Add function `get_break_flag'.
700 (break_flag_reg): New number register class.
701 (input_init_requests): Register `.br'.
703 * src/roff/troff/TODO: Updated.
705 * tmac/trace.tmac: s/!!sp/!!!sp/.
706 Modify definitions of `de', `de1', `am', and `am1' to use \n[.br].
708 * docs/groff.texinfo (Requests), man/groff.man, man/groff_diff.man,
711 2006-03-29 Werner LEMBERG <wl@gnu.org>
713 * src/devices/grops/ps.cpp: s/must not/should not/ in warning
714 messages where appropriate.
716 2006-03-28 Werner LEMBERG <wl@gnu.org>
718 * configure.ac: Call AC_PROG_EGREP.
719 * configure: Regenerated.
721 * Makefile.in (EGREP): New variable.
722 (MDEFINES): Add $(EGREP).
724 * src/roff/grog/grog.sh: Treat .TH between .TS and .TE properly
725 (bug reported by Robert Goulding <Goulding.2@nd.edu>).
728 * src/roff/grog/Makefile.sub (grog, grog.old): Use $(EGREP).
730 2006-03-27 Werner LEMBERG <wl@gnu.org>
732 Add two requests `.device' and `.devicem' which are equivalent to
733 `\X' and `\Y', respectively.
735 * src/roff/troff/input.cpp (device_request, device_macro_request):
737 (init_input_requests): Register them.
739 * doc/groff.texinfo (Postprocessor Access), man/groff_diff.man,
740 man/groff.man, NEWS: Document them.
742 2006-03-27 Gaius Mulley <gaius@glam.ac.uk>
744 * src/roff/troff/input.cpp (encode_char): Emit special characters
745 for -Thtml as `\[...]'.
746 * src/devices/grohtml/post-html.cpp (page::add_and_encode): Updated.
748 * doc/groff.texinfo (Postprocessor Access) <\X>: Updated.
750 2006-03-27 Werner LEMBERG <wl@gnu.org>
752 * tmac/Makefile.sub (NORMALFILES, SPECIALFILES): Add various missing
755 2006-03-26 Werner LEMBERG <wl@gnu.org>
757 * doc/groff.texinfo (Writing Macros): More documentation on
758 end-of-macro symbol of `.de'.
759 (Diversions): Minor addition to `.di' description.
761 * src/devices/grops/grops.man: Some clarifications regarding
762 insertion of PostScript snippets.
764 2006-03-25 Michail Vidiassov <master@iaas.msu.ru>
766 Add rules to generate `symbolsl.afm'.
768 * fonts/devps/generate/zapfdr.sed,
769 fonts/devps/generate/symbolsl.awk: New files.
771 * fonts/devps/generate/Makefile (symbolfont, PRINTAFM): New
773 (SS, clean): Updated.
774 (freeeuro.afm): Use $(srcdir).
775 (symbolsl.afm): New rule.
776 (zapfdr.afm): Use zapfdr.sed.
778 2006-03-22 Dwight Aplevich <aplevich@uwaterloo.ca>
780 * src/preproc/pic/pic.y (expr <INT>): Fix code.
782 2006-03-22 Jörgen Grahn <jgrahn@algonet.se>
784 * tmac/sv.tmac: Add missing translations and activate support for
785 other macro packages.
787 2006-03-21 Francis GUDIN <fgudin@nerim.net>
789 * tmac/doc-syms (Dx): New macro to identify DragonFly.
790 (doc-str-St--ieee1275-94, doc-str-St--isoC-amd1,
791 doc-str-St--isoC-tcor1, doc-str-St--isoC-tcor2): New standard
793 (doc-operating-system-FreeBSD-5.5, doc-operating-system-FreeBSD-7.0,
794 doc-operating-system-NetBSD-1.6.3, doc-operating-system-NetBSD-4.0
795 doc-operating-system-DragonFly-*): New operating system strings.
797 * tmac/groff_mdoc.man, NEWS: Document `Dx'.
799 2006-03-21 Werner LEMBERG <wl@gnu.org>
801 * src/preproc/pic/pic.y (object_spec THEN): For compatibility with
802 both DWB pic and dpic, make
810 line right then down;
817 * doc/pic.ms: Document this.
819 2006-03-20 Werner LEMBERG <wl@gnu.org>
821 * doc/pic.ms: With permission of Eric Raymond, put it under the
826 2006-03-19 Werner LEMBERG <wl@gnu.org>
828 * src/preproc/pic/pic.y (expr <INT>): Really return integer part.
830 * src/preproc/pic/objects.cpp (object_spec::make_line): Handle `at'
831 attribute in combination with `with'. Bug reported by Jennifer
832 Sayers <jenjen@mail.usyd.edu.au>.
834 2006-03-19 Miklos Somogyi <msom@netspace.net.au>
836 * doc/groff.texinfo (Manipulating Spacing): Improve documentation of
839 2006-03-18 Werner LEMBERG <wl@gnu.org>
841 * LICENSE: Renamed to...
842 * LICENSES: This. Collect all licensing information in this file.
843 * tmac/README, src/libs/snprintf/README: Removed.
845 * src/devices/grops/grops.man: Add section how to install fonts.
847 * src/utils/xtotroff/xtotroff.c: Add GPL.
849 2006-03-17 Werner LEMBERG <wl@gnu.org>
851 * Makefile.comm (.y.cpp): Fix #line arguments in output.
853 2006-03-13 Werner LEMBERG <wl@gnu.org>
855 * src/preproc/tbl/tbl.man: Mention default length of text blocks.
857 * tmac/doc-common (Os): Add more Darwin versions.
858 * tmac/groff_mdoc.man: Document them.
860 * doc/groff.texinfo (Operators in Conditionals): Mention that `c'
861 works with \N'...' also.
862 * man/groff_diff.man: Ditto. Remove use of future tense where
865 2006-03-12 Michail Vidiassov <master@iaas.msu.ru>
867 * fonts/devps/generate/make-zapfdr, fonts/devps/symbolsl.ps,
868 fonts/devps/zapfdr.ps: Add `%%EndComments' line.
870 2006-03-10 Larry Kollar <kollar@alltel.net>
872 * doc/groff.texinfo (Headers and footers): Document PT, HD, and BT.
874 2006-03-10 Werner LEMBERG <wl@gnu.org>
876 * src/devices/grops/ps.cpp (ps_printer::do_exec, ps_printer::do_def,
877 ps_printer::do_mdef): Overlong lines now cause a warning message,
880 2006-03-09 Werner LEMBERG <wl@gnu.org>
882 * font/devps/generate/make-zapfdr: New script for generating
885 2006-03-08 Werner LEMBERG <wl@gnu.org>
887 * doc/groff.css (pre): Fix `background-color' value.
889 2006-03-04 Larry Kollar <kollar@alltel.net>
891 * tmac/groff_ms.man: Document PT, HD, and BT.
893 2006-03-04 Werner LEMBERG <wl@gnu.org>
895 * src/roff/troff/node.cpp (make_glyph_node): Improve warning message
896 for single-letter glyph names.
898 2006-03-02 Werner LEMBERG <wl@gnu.org>
900 * tmac/sv.tmac: New file; currently holding only the Swedish strings
902 * tmac/hyphen.sv: New hyphenation pattern file for Swedish, taken
904 * tmac/README: Updated.
906 2006-02-27 Werner LEMBERG <wl@gnu.org>
908 * tmac/trans.tmac (Liec, Letdate, Letns!14): Add it (for -mm).
909 * tmac/fr.tmac: Add French translations.
911 * tmac/composite.tmac: Add entry for `:'.
913 2006-02-26 Werner LEMBERG <wl@gnu.org>
915 * doc/Makefile.sub (HTMLEXAMPLEFILESALL): New variable.
917 (install_html, uninstall_sub): Updated.
919 2006-02-26 Bruno Haible <bruno@clisp.org>
921 Introduce Unicode fonts.
923 * font/devhtml/DESC.proto: Mark as unicode.
924 * font/devhtml/R.proto: Remove all charset entries that are already
926 * font/devutf8/DESC.proto: Mark as unicode.
927 * font/devutf8/R.proto: Remove all charset entries.
928 * src/include/font.h (font): New static field `is_unicode'.
929 Change order of fields.
930 * src/libs/libgroff/font.cpp: Include unicode.h.
931 (font::font): Update for changed order of fields.
932 (font::contains, font::get_width, font::get_height, font::get_depth,
933 font::get_italic_correction, font::get_left_italic_correction,
934 font::get_subscript_correction, font::get_character_type,
935 font::get_code, font::get_special_device_encoding): Handle both the
936 explicitly enumerated glyphs and use general code for Unicode fonts.
937 (font::load): Make the charset section optional when the font is
939 (font::load_desc): Recognize the `unicode' attribute.
940 * src/libs/libgroff/fontfile.cpp (font::is_unicode): New variable.
942 2006-02-26 Claudio Fontana <claudio@gnu.org>
944 * Makefile.in: Add comment about DESTDIR.
946 * Makefile.sub: Add DESTDIR to install and uninstall targets
947 to support staged installations.
948 * Makefile.comm: Likewise.
949 * doc/Makefile.sub: Likewise.
950 * contrib/eqn2graph/Makefile.sub: Likewise.
951 * contrib/gdiffmk/Makefile.sub: Likewise.
952 * contrib/grap2graph/Makefile.sub: Likewise.
953 * contrib/pic2graph/Makefile.sub: Likewise.
954 * src/devices/xditview/Makefile.sub: Likewise.
955 * src/preproc/eqn/Makefile.sub: Likewise.
956 * src/roff/grog/Makefile.sub: Likewise.
957 * src/roff/nroff/Makefile.sub: Likewise.
958 * src/utils/afmtodit/Makefile.sub: Likewise.
959 * src/utils/indxbib/Makefile.sub: Likewise.
960 * tmac/Makefile.sub: Likewise.
962 2006-02-24 Werner LEMBERG <wl@gnu.org>
964 * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list): Use entry
966 Remove commented out entries for \' and \` (there are no such glyph
969 * src/libs/libgroff/uniglyph.cpp (unicode_to_glyph_list): Remove
970 commented out entries for \' and \`.
973 * */*: s/legal/valid/ where appropriate.
975 2006-06-23 Werner LEMBERG <wl@gnu.org>
977 * font/devhtml/R.proto, font/devutf8/R.proto: Remove incorrect \'
980 2006-02-22 Werner LEMBERG <wl@gnu.org>
982 Remove all remaining traces from the `shc' glyph.
984 * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list),
985 src/libs/libgroff/uniglyph.cpp (unicode_to_glyph_list): Remove
988 * font/devlatin1/R.proto, font/devcp1046/R.proto: Replace `shc'
989 entry with unnamed glyph.
991 * tmac/html/tmac: Remove `shc' entry from call to `.cflags'.
993 * src/preproc/preconv/preconv.cpp (unicode_entity): Handle U+00AD
996 2006-02-22 Bruno Haible <bruno@clisp.org>
998 Concretize the `glyph' datatype.
1000 * src/include/font.h (glyph): Remove class.
1001 (glyph): Renamed from struct `glyphinfo'.
1002 (glyph_to_index): New inline function.
1003 (glyph_to_name): Make extern, not inline.
1004 (glyph_to_number): Update.
1005 (font): Use `glyph *' instead of `glyph'.
1007 * src/libs/libgroff/nametoindex.cpp (charinfo): Inherit from class
1008 `glyph'. Make `name' field public.
1009 (character_indexer, number_to_glyph, name_to_glyph): Use `glyph *'
1011 (glyph_to_name): Renamed from `glyph::glyph_name'.
1013 * src/roff/troff/charinfo.h (charinfo): Inherit from class `glyph'.
1014 Use `glyph *' instead of `glyph'.
1016 * src/roff/troff/input.cpp (name_to_glyph, number_to_glyph): Use
1017 `glyph *' instead of `glyph'.
1018 (glyph_to_name): Renamed from `glyph::glyph_name'.
1020 * src/libs/libgroff/font.cpp: Use `glyph *' instead of `glyph',
1021 and `glyph_to_index' instead of `glyph::glyph_index'.
1023 * src/include/printer.h (printer): Use `glyph *' instead of `glyph'.
1024 * src/libs/libdriver/printer.cpp: Likewise.
1025 * src/devices/grodvi/dvi.cpp: Likewise.
1026 * src/devices/grohtml/post-html.cpp: Likewise.
1027 * src/devices/grolbp/lbp.cpp: Likewise.
1028 * src/devices/grolj4/lj4.cpp: Likewise.
1029 * src/devices/grops/ps.cpp: Likewise.
1030 * src/devices/grotty/tty.cpp: Likewise.
1032 2006-02-22 Werner LEMBERG <wl@gnu.org>
1034 * font/devdvi/generate/tc.map: Add `sr' glyph.
1035 * font/devdvi/*TC: Regenerated.
1037 * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list): Use entry
1040 2006-02-21 Werner LEMBERG <wl@gnu.org>
1042 * man/groff_char.man: Explain `***' marker.
1044 2006-02-17 Bruno Haible <bruno@clisp.org>
1046 * src/libs/libgroff/nametoindex.cpp (character_indexer): Rename
1047 methods and fields from *_index to *_glyph.
1048 (character_indexer::named_char_glyph): Test for `charNNN' name
1050 (name_to_glyph): ... not here.
1052 2006-02-17 Bruno Haible <bruno@clisp.org>
1054 * src/include/font.h (name_to_glyph): Renamed from
1055 font::name_to_index.
1056 (number_to_glyph): Renamed from font::number_to_index.
1057 (glyph_to_name): Renamed from font::index_to_name.
1058 (glyph_to_number): Renamed from font::index_to_number.
1059 * src/libs/libgroff/nametoindex.cpp: Likewise.
1060 * src/roff/troff/charinfo.h (charinfo::as_glyph): Renamed from
1061 charinfo::get_index.
1063 * src/roff/troff/input.cpp: All callers changed.
1064 * src/roff/troff/node.cpp: Likewise.
1065 * src/libs/libgroff/font.cpp: Likewise.
1066 * src/devices/grops/ps.cpp: Likewise.
1067 * src/devices/grohtml/post-html.cpp: Likewise.
1068 * src/libs/libdriver/printer.cpp: Likewise.
1070 2006-02-17 Werner LEMBERG <wl@gnu.org>
1072 * src/include/ptable.h, src/include/itable.h
1073 (NEXT_PTABLE_SIZE_DEFINED): Use it to avoid multiple declaration
1074 of external symbol `next_ptable_size' (used by both header files).
1076 2006-02-15 Bruno Haible <bruno@clisp.org>
1078 * src/include/font.h (glyphinfo): New class.
1079 (glyph): Change internal representation.
1080 Change constructor signature.
1081 New method glyph::glyph_number().
1082 (glyph::glyph, glyph glyph::undefined_glyph, glyph::glyph_index,
1083 glyph::operator==, glyph::operator!=): Update.
1084 (font::index_to_name, font::index_to_number): New functions.
1086 * src/include/itable.h: New file, based on src/include/ptable.h.
1088 * src/libs/libgroff/nametoindex.cpp: Include itable.h.
1089 (class charinfo): New class.
1090 (class character_indexer): Change table result type from `int' to
1092 Add table with integer key.
1093 (character_indexer::character_indexer): Update.
1094 (character_indexer::ascii_char_index): Update.
1095 (character_indexer::numbered_char_index): Use NULL as name, not a
1096 string starting with a space.
1097 (character_indexer::named_char_index): Update.
1098 (font::number_to_index, font::name_to_index): Remove no-op cast.
1099 (glyph::glyph_name): New method.
1100 * src/roff/troff/charinfo.h (class charinfo): Inherit from class
1102 (NUMBERED): Remove flag bit.
1103 (charinfo::numbered, charinfo::get_index): Update.
1105 * src/roff/troff/input.cpp (charinfo::charinfo): Update.
1106 (charinfo::set_number, charinfo::get_number): Update.
1107 (glyph::glyph_name): New method.
1109 2006-02-15 Werner LEMBERG <wl@gnu.org>
1111 * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list): Fix
1112 entries for `>>', `<<', `*f', and `+f'. Reported by Bruno.
1114 2006-02-13 Werner LEMBERG <wl@gnu.org>
1116 * font/devps/prologue.ps (RE): Check `UniqueID' also, similar to
1119 2006-02-11 Werner LEMBERG <wl@gnu.org>
1121 * src/include/font.h: s/glyph_t/glyph/.
1124 * src/devices/grotty/tty.cpp: s/glyph/tty_glyph/.
1125 s/output_character_t/output_character/.
1127 2006-02-11 Bruno Haible <bruno@clisp.org>
1129 New accessor method glyph_t::glyph_name().
1131 * src/include/ptable.h (declare_ptable): Add a return value to the
1132 `define' method, and declare a `lookupassoc' method.
1133 (implement_ptable): Return the stored key in `define'. Implement
1135 * src/include/font.h (glyph_t): Add `name' field. Add an argument
1137 (glyph_t::glyph_name): New method.
1139 * src/libs/libgroff/nametoindex.cpp (character_indexer): Change
1140 return type of methods and field member type to glyph_t.
1141 (character_indexer::character_indexer): Update.
1142 (character_indexer::ascii_char_index): Allocate a name for the
1144 Return a glyph_t with name.
1145 (character_indexer::numbered_char_index): Return a glyph_t without a
1147 (character_indexer::named_char_index): Return a glyph_t with a name.
1148 (font::number_to_index, font::name_to_index): Update.
1150 * src/roff/troff/input.cpp (charinfo::charinfo): Use the symbol as
1153 2006-02-11 Bruno Haible <bruno@clisp.org>
1155 * src/devices/grotty/tty.cpp (output_character_t): New type.
1156 (tty_printer::make_bold, tty_printer::add_char,
1157 tty_printer::put_char): Change argument type to output_character_t.
1158 (crossings): Change element type to output_character_t.
1160 2006-02-11 Bruno Haible <bruno@clisp.org>
1162 Make the glyph data type abstract.
1164 * src/include/font.h (glyph_t): New class.
1165 (name_to_index, number_to_index): Change return type to glyph_t.
1166 (font::contains, font::get_width, font::get_height, font::get_depth,
1167 font::get_character_type, font::get_kern, font::get_skew,
1168 font::get_italic_correction, font::get_left_italic_correction,
1169 font::get_subscript_correction, font::get_code,
1170 font::get_special_device_encoding, font::add_entry,
1171 font::copy_entry, font::add_kern, font::hash_kern): Change argument
1174 * src/libs/libgroff/font.cpp (font_kern_list): Change members
1175 type and constructor argument types to glyph_t.
1176 (font::contains, font::get_width, font::get_height, font::get_depth,
1177 font::get_character_type, font::get_kern, font::get_skew,
1178 font::get_italic_correction, font::get_left_italic_correction,
1179 font::get_subscript_correction, font::get_code,
1180 font::get_special_device_encoding, font::add_entry,
1181 font::copy_entry, font::add_kern, font::hash_kern): Change argument
1183 (font::load): Use glyph_t variables.
1185 * src/libs/libgroff/nametoindex.cpp (name_to_index,
1186 number_to_index): Change return type to glyph_t.
1188 * src/roff/troff/charinfo.h (charinfo::index): Change type to
1190 (charinfo::get_index): Change return type to glyph_t.
1192 * src/roff/troff/env.cpp: Include font.h.
1194 * src/roff/troff/node.cpp: Include font.h before charinfo.h.
1196 * src/roff/troff/input.cpp: Include font.h before charinfo.h.
1197 (charinfo::charinfo): Update.
1198 (name_to_index, number_to_index): Change return type to glyph_t.
1200 * src/include/printer.h (printer::set_char_and_width): Change return
1203 * src/libs/libdriver/printer.cpp (printer::set_char_and_width):
1204 Change return type to glyph_t.
1206 * src/devices/grodvi/dvi.cpp (dvi_printer::set_char): Change
1207 argument type to glyph_t.
1209 * src/devices/grohtml/post-html.cpp (page::add_and_encode): Update.
1210 (html_printer::space_glyph): Renamed from space_char_index.
1211 (html_printer::add_to_sbuf, html_printer::sbuf_continuation,
1212 html_printer::overstrike, html_printer::set_char): Change argument
1214 (html_printer::set_char_and_width): Change return type to glyph_t.
1216 * src/devices/grolbp/lbp.cpp (lbp_printer::set_char): Change
1217 argument type to glyph_t.
1219 * src/devices/grolj4/lj4.cpp (lj4_printer::set_char): Change
1220 argument type to glyph_t.
1222 * src/devices/grops/ps.cpp (ps_printer::space_glyph): Renamed from
1224 (ps_printer::set_subencoding, ps_printer::set_char): Change argument
1227 * src/devices/grotty/tty.cpp (tty_printer::set_char): Change
1228 argument type to glyph_t.
1230 2006-02-11 Bruno Haible <bruno@clisp.org>
1232 * src/roff/troff/input.cpp (font::name_to_index): Never return a
1235 * src/libs/libgroff/font.cpp (font::load): Remove failure tests for
1236 font::name_to_index.
1238 2006-02-10 Werner LEMBERG <wl@gnu.org>
1240 * doc/groff.texinfo (Assigning Formats): Number registers are always
1242 Apply some rephrasing, contributed by Michael Burt.
1244 2006-02-07 Werner LEMBERG <wl@gnu.org>
1246 * tmac/fr.tmac <ms>: Set `HY' register.
1248 2006-02-07 Werner LEMBERG <wl@gnu.org>
1250 Add framework for simple adaptation of the main macro packages (mm,
1251 me, ms, mom) to different locales. In particular, add support for
1252 French. For activation, simply use `-mfr' as the last macro
1253 package. This feature has been contributed by Fabrice Ménard
1254 <menard.fabrice@wanadoo.fr>.
1256 * tmac/fr.tmac, tmac/trans.tmac, tmac/hyphen.fr, tmac/LOCALIZATION:
1258 * tmac/README: Mention hyphen.fr.
1259 * man/groff_tmac.man: Mention fr.tmac.
1262 2006-01-27 Werner LEMBERG <wl@gnu.org>
1264 * man/groff_font.man: Updated documentation of `entity_name' field.
1267 2006-01-27 Bruno Haible <bruno@clisp.org>
1269 * font/devhtml/R.proto: Remove the entity names from the font's
1270 special_encoding_encoding column.
1271 * src/devices/grohtml/post-html.cpp (get_html_entity): New function,
1272 handling the entity names here.
1273 (get_html_translation): Use it. Change return type to `const
1275 (page::add_and_encode): Update, removing a useless cast.
1277 2006-01-26 Werner LEMBERG <wl@gnu.org>
1279 This change is based on a patch by Bruno Haible <bruno@clisp.org>.
1281 * src/include/device.h: Add comments.
1282 * src/include/font.h: Add comments.
1283 * src/include/unicode.h: Likewise.
1284 * src/include/ptable.h, src/libs/libgroff/ptable.cpp: Likewise.
1286 2006-01-26 Keith Marshall <keith.d.marshall@ntlworld.com>
1288 Suppress `.st' request emission by `grn'.
1290 * src/preproc/grn/main.cpp (USE_ST_REQUEST): New macro.
1293 2006-01-22 Werner LEMBERG <wl@gnu.org>
1295 * install-sh: New version; taken from texinfo CVS.
1297 2006-01-21 Werner LEMBERG <wl@gnu.org>
1299 * src/preproc/preconv/preconv.cpp (main): Set program_name. Bug
1300 reported by Alexander E. Patrakov <patrakov@ums.usu.ru>.
1302 2006-01-19 Bruno Haible <bruno@clisp.org>
1304 Let `make -k install' install more files.
1306 * Makefile.in (MAKE_K_FLAG): New variable. Use it everywhere where
1307 $(MAKE) and $(MDEFINES) are used.
1308 (CPROGDIRS): Remove $(XPROGDIRS). Treat $(XPROGDIRS) like
1309 $(CPROGDIRS) everywhere.
1310 ($(DEVDIRS) $(XDEVDIRS) $(OTHERDEVDIRS) $(TTYDEVDIRS)): Don't depend
1312 ($(OTHERDIRS)): Likewise.
1315 * src/devices/grohtml/post-html.cpp (get_html_translation): Remove
1316 failure test for font::name_to_index -- it can never fail.
1318 2006-01-19 Werner LEMBERG <wl@gnu.org>
1320 * src/devices/grops/grops.man: Fix section on creating EPS files.
1321 Don't use future time in manual.
1324 2006-01-15 Gaius Mulley <gaius@glam.ac.uk>
1326 * tmac/www.tmac: New macro LINKSTYLE which allows users to set
1327 various typographical URL attributes for non-HTML devices.
1329 * tmac/groff_www.man: Document LINKSTYLE.
1331 2006-01-11 Werner LEMBERG <wl@gnu.org>
1333 * configure.ac: Test for getc_unlocked (needed for localcharset).
1334 * configure, src/include/config.hin: Regenerated.
1336 * src/libs/libgroff/Makefile.sub (EXTRA_CFLAGS): Define
1339 * src/libs/libgroff/relocatable.h: New dummy header file for
1342 * src/libs/libgroff/localcharset.c: Updated to (unchanged) CVS
1345 2006-01-10 Bruno Haible <bruno@clisp.org>
1347 Work around unportability of nl_langinfo(CODESET).
1349 * m4/glibc21.m4: New file, from gnulib.
1350 * Makefile.sub (M4MACROS): Add m4/glibc21.m4.
1351 * configure.ac: Also test for stddef.h, and invoke jm_GLIBC21.
1352 * Makefile.in (HOST, GLIBC21): New variables.
1353 (MDEFINES): Pass them to subdirectories.
1354 * src/include/relocate.h (relocatep): Define with C linkage.
1355 * src/include/localcharset.h: New file, from gnulib.
1356 * src/libs/libgroff/localcharset.c: New file, from gnulib with a
1357 modification for relocate().
1358 * src/libs/libgroff/config.charset: New file, from gnulib.
1359 * src/libs/libgroff/ref-add.sin: New file, from gnulib.
1360 * src/libs/libgroff/ref-del.sin: New file, from gnulib.
1361 * src/libs/libgroff/Makefile.sub (EXTRA_CFLAGS): Also define LIBDIR.
1362 (OBJS): Add localcharset.o.
1363 (CSRCS): Add localcharset.c.
1364 (all): Add dependencies to charset.alias, ref-add.sed, ref-del.sed.
1365 (charset.alias): New rule.
1366 (PACKAGE): New variable.
1367 (ref-add.sed, ref-del.sed): New rules.
1368 (MKINSTALLDIRS): New variable.
1369 (install_data): Depend on install_charset_data.
1370 (install_charset_data): New rule for creating or updating
1372 (uninstall_sub): Depend on uninstall_charset_data.
1373 (uninstall_charset_data): New rule for uninstalling or updating
1375 * src/preproc/preconv/preconv.cpp: Include localcharset.h instead
1377 (main): Initialize default_encoding from locale_charset() instead of
1378 nl_langinfo(CODESET).
1380 * aclocal.m4, configure, src/include/config.hin: Regenerated.
1382 2006-01-10 Werner LEMBERG <wl@gnu.org>
1384 * src/preproc/preconv/preconv.cpp (conversion_iconv): Use
1385 ICONV_CONST in call to iconv. Reported by Robert Goulding.
1387 2006-01-07 Werner LEMBERG <wl@gnu.org>
1389 * fonts/devps/generate/freeeuro.sfd: Run auto-hinter with recent
1391 Bump font version to 001.001.
1393 * fonts/devps/generate/Makefile (freeeuro.afm, freeeuro.pfa):
1394 Call fontforge, not pfaedit.
1396 * fonts/devps/freeeuro.afm, fonts/devps/freeeuro.pfa: Regenerated.
1398 2006-01-05 Ruslan Ermilov <ru@FreeBSD.org>
1400 * tmac/doc-common: Add new FreeBSD and NetBSD versions.
1401 * tmac/groff_mdoc.man: Updated.
1403 2006-01-05 Werner LEMBERG <wl@gnu.org>
1405 * src/preproc/preconv/preconv.cpp: s/debug/debug_flag/.
1406 (raw_flag): New global variable.
1407 (do_file): Use .lf to set file name (if `raw_flag' isn't set).
1408 Don't pass BOM to `conversion_utf8'.
1410 (main): Handle `-r' command line switch to set `raw_flag'.
1411 (get_BOM): Fix encodings in `BOM_table'.
1413 * src/preproc/preconv/preconv.man: New file. Not complete yet.
1414 * src/preproc/proconv/Makefile.sub (MAN1): New variable.
1416 2006-01-04 Werner LEMBERG <wl@gnu.org>
1418 * src/preproc/preconv/preconv.cpp (emacs_to_mime): As suggested by
1419 Bruno, comment out most encodings to support only a small set of
1420 coding tags, thus reducing potential problems with legacy encodings
1421 and character sets in the future.
1422 Add many XEmacs coding tags (now commented out).
1424 (check_encoding_tag): Renamed to...
1425 (check_coding_tag): This.
1426 (get_BOM): Return encoding as specified by BOM.
1427 Test for UTF32-LE too.
1428 (do_file): Don't check for coding tag if a BOM has been found.
1430 2006-01-03 Bruno Haible <bruno@clisp.org>
1432 * m4/groff.m4: Renamed from aclocal.m4.
1433 * m4/codeset.m4: New file, from gnulib.
1434 * m4/iconv.m4: New file, from gnulib.
1435 * m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4: New files, from
1437 * config.rpath: New file, from gnulib.
1438 * config.guess, config.sub: New files, from gnulib.
1439 * Makefile.sub (M4MACROS): New variable.
1440 (configure): Fix typo.
1441 (aclocal.m4): New rule.
1442 (stamp-h.in): Depend on aclocal.m4.
1443 * configure.ac: Invoke AM_ICONV and AM_LANGINFO_CODESET.
1444 * Makefile.in (LIBICONV): New variable.
1445 (MDEFINES): Pass it to recursive makes.
1446 * src/preproc/preconv/preconv.cpp: Use HAVE_LANGINFO_CODESET and
1447 HAVE_ICONV instead of I18N macro.
1448 * src/preproc/preconv/Makefile.sub (EXTRA_LDFLAGS): New variable.
1450 * aclocal.m4, configure, src/include/config.hin: (Re)generated.
1452 2006-01-03 Werner LEMBERG <wl@gnu.org>
1454 * doc/Makefile.in (webpage.html): Simplify.
1455 * doc/Makefile.sub (webpage.html): Synchronize with doc/Makefile.in.
1456 * doc/webpage.ms, tmac/groff_www.man, tmac/www.tmac: Minor updates.
1458 2006-01-01 Werner LEMBERG <wl@gnu.org>
1460 * tmac/doc-common (Os): Add some Darwin versions.
1461 * tmac/groff_mdoc.man: Document them.
1463 2006-01-01 Bruno Haible <bruno@clisp.org>
1465 * src/preproc/preconv/preconv.cpp (emacs_to_mime): Various
1467 . Don't map ascii to latin-1.
1468 . Don't use IBMxxx encodings but cpxxx for portability.
1469 . Map cp932, cp936, cp949, cp950 to itself.
1470 (emacs2mime): Protect calls to strcasecmp.
1471 (conversion_iconv): Add missing call to iconv_close.
1472 (do_file): Emit error message in case of unsupported encoding.
1474 2005-12-31 Werner LEMBERG <wl@gnu.org>
1476 Integrate preconv into the groff binary. Changes based on a patch
1477 from Michail Vidiassov.
1479 * src/roff/groff/pipeline.h (MAX_COMMANDS): Increase by 1.
1481 * src/roff/groff/groff.cpp (PRECONV_INDEX): New macro.
1482 (SOELIM_INDEX): Updated.
1483 (help, synopsis): Updated.
1484 (main): Add command line options `-k' and `-K enc' to select
1486 Add support for GROFF_ENCODING environment variable.
1488 * src/roff/groff/groff.man: Updated and revised.
1491 Start with autoconf support for preconv.
1493 * configure.ac: Call AC_C_BIGENDIAN.
1494 * configure, src/include/config.hin: Regenerated.
1496 2005-12-30 Werner LEMBERG <wl@gnu.org>
1498 New preprocessor `preconv' to convert input encodings to something
1499 groff can understand. Not yet integrated within groff. Proper
1500 autoconf stuff is missing too.
1502 Tomohiro Kubota has written a first draft of this program, and some
1503 ideas have been reused (while almost no code has been taken
1506 * src/preproc/preconv/preconv.cpp. src/preproc/preconv/Makefile.sub:
1509 * MANIFEST, Makefile.in (CCPROGDIRS), test-groff.in
1510 (GROFF_BIN_PATH): Add preconv.
1512 2005-12-12 Werner LEMBERG <wl@gnu.org>
1514 * aclocal.m4 (GROFF_MAKEINFO): Fix regexps to be POSIX conformant.
1515 In particular, don't use `\+' since it is a GNU sed extension.
1517 * configure: Regenerated.
1519 2005-12-09 Werner LEMBERG <wl@gnu.org>
1521 * src/libs/libgroff/make-uniuni: New script to generate uniuni.cpp.
1523 * src/libs/libgroff/uniuni.cpp: Regenerated, using data from Unicode
1527 * src/utils/afmtodit/make-afmtodit-tables: New script to generate
1530 * src/utils/afmtodit/afmtodit.tables: New file, representing Unicode
1533 * src/utils/afmtodit/afmtodit.pl (%unicode_decomposed,
1534 %AGL_to_unicode): Removed. Replace it with a tag.
1536 * src/utils/afmtodit/Makefile.sub (afmtodit): Adjust sed expression
1537 to replace tag with actual file contents.
1539 2005-12-08 Werner LEMBERG <wl@gnu.org>
1541 The change 2005-06-20 can indeed cause problems, so we follow the
1542 advice by using marks.
1544 * font/devps/prologue.ps (PBEGIN): Use `mark'.
1545 (PEND): Use `cleartomark'.
1547 2005-12-07 Michail Vidiassov <master@iaas.msu.ru>
1549 * src/utils/afmtodit.pl: Fix kerning output to avoid warnings for
1550 glyphs which have kern values but aren't handled (glyph variants,
1553 2005-12-02 Werner LEMBERG <wl@gnu.org>
1555 * src/devices/grops/ps.cpp (ps_printer::get_subfont): Use correct
1556 subfont index. Reported by Michail Vidiassov <master@iaas.msu.ru>.
1558 2005-11-28 Gaius Mulley <gaius@glam.ac.uk>
1560 * doc/Makefile.in: Separate rule for webpage.html so that extra
1561 command line options can be passed to grohtml.
1562 * doc/groff.css: Change all margins to 0%.
1563 * doc/webpage.ms: Now use new macros ALN, LNS, and LNE so that left
1564 navigation is exploited. Also update webpage to contain new
1565 sections on licenses, mailing lists, cvs/ftp access, groff
1566 dependencies, and bug reports.
1567 * tmac/groff_www.man: Document the new macros ALN, LNS, and LNE.
1568 * tmac/www.tmac: Implement the new macros ALN, LNS, and LNE.
1570 2005-11-25 Gaius Mulley <gaius@glam.ac.uk>
1572 * src/devices/grohtml/post-html.cpp
1573 (html_printer::do_file_components): Add fputs calls to emit the
1574 head contents and shut down the head tag whenever a new file
1575 component is generated.
1577 2005-11-22 Gaius Mulley <gaius@glam.ac.uk>
1579 * src/devices/grohtml/post-html.cpp (html_printer::flush_page): Add
1580 call to flush_text to flush any outstanding html tags on the
1583 2005-11-18 Werner LEMBERG <wl@gnu.org>
1585 * aclocal.m4 (GROFF_MAKEINFO): Use `groff.info' in tests.
1586 Announce makeinfo version.
1587 * configure: Regenerated.
1589 2005-11-18 Mike Frysinger <vapier@gentoo.org>
1591 * Makefile.in: Declare proper dependencies between make targets.
1593 * doc/Makefile.in: Rename groff info page to `groff.info'.
1594 * doc/Makefile.sub: Likewise.
1595 * doc/groff.texinfo: Likewise.
1597 2005-11-17 Peter O'Gorman <mlists@thewrittenword.com>
1599 * src/utils/pfbtops/pfbtops.c, src/utils/xtotroff/xtotroff.c: Move
1600 definition of __GETOPT_PREFIX to the beginning of file to ensure
1601 that it is defined even on platforms where getopt.h is already
1602 included by other header files.
1604 2005-11-10 Gaius Mulley <gaius@glam.ac.uk>
1606 * src/devices/grohtml/post-html.cpp (html_printer::do_heading):
1607 Reset font to NULL to ensure that a font block is recreated during
1610 2005-11-04 Werner LEMBERG <wl@gnu.org>
1612 * aclocal.m4 (GROFF_MAKEINFO): Fix sed expression.
1613 * configure: Regenerated.
1615 2005-10-27 Werner LEMBERG <wl@gnu.org>
1617 * aclocal.m4 (GROFF_MAKEINFO): New function for checking whether
1618 makeinfo 4.8 or newer is available.
1619 * configure.ac: Call GROFF_MAKEINFO.
1620 * configure: Regenerated.
1622 * Makefile.in (MAKEINFO): Use autoconf variable.
1623 (MDEFINES): Add MAKEINFO.
1625 * doc/Makefile.in (MAKEINFO): Use autoconf variable.
1626 * doc/Makefile.sub (MAKEINFO): Remove.
1628 2005-10-26 Werner LEMBERG <wl@gnu.org>
1630 * REVISION: Set to 3.
1632 2005-10-17 Werner LEMBERG <wl@gnu.org>
1634 Mention $MANPAGER variable used with some `man' systems.
1636 * doc/webpage.ms, src/devices/grotty/grotty.man, NEWS: Updated.
1638 2005-09-13 Werner LEMBERG <wl@gnu.org>
1640 * tmac/hyphenex.us: New version (`ushyphex.tex' from ftp.dante.de).
1642 2005-09-04 Werner LEMBERG <wl@gnu.org>
1644 Version 1.19.2 released
1645 =======================
1647 * tmac/groff_ms.man, doc/groff.texinfo: Synchronize.
1649 * doc/webpage.ms: Updated.
1651 * install-sh, mkinstalldirs: New versions; taken from texinfo CVS.
1653 2005-09-04 Jörgen Grahn <jgrahn@algonet.se>
1655 * tmac/groff_ms.man: Document `PO' better.
1657 2005-09-03 Werner LEMBERG <wl@gnu.org>
1659 * NEWS: Document grotty changes.
1661 2005-09-01 Keith Marshall <keith.d.marshall@ntlworld.com>
1663 Backward compatibility support for `man' program.
1665 * tmac/an-old.tmac (LL): Initialize it to respect prior LL register
1666 assignment, prior `.ll' request and then package defaults, in this
1667 specified order of decreasing priority.
1669 * tmac/groff_man.man, doc/groff.texinfo (Man options): Document
1670 altered `LL' register initialization priorities.
1672 2005-08-29 Gary W. Swearingen <garys@opusnet.com>
1674 * tmac/groff_mdoc.man: Go into more details how the `AUTHORS'
1675 section should look like.
1677 2005-08-29 Werner LEMBERG <wl@gnu.org>
1679 * tmac/groff_mdoc.man: The month's name in a call to .Dd shouldn't
1682 2005-08-27 Bernd Warken
1684 * tmac/groff_man.man: Add man(7) too SEE ALSO and more minor
1687 2005-08-11 Bernd Warken
1689 * tmac/www.tmac (URL, MTO): Handle empty \\$1 better.
1691 2005-08-09 Bernd Warken
1693 * tmac/www.tmac (URL, MTO): Use bold series if color support is
1696 2005-08-02 Bernd Warken
1698 * doc/Makefile.sub (uninstall_sub): Use --remove, not --delete
1699 as argument to $(INSTALL_INFO). The latter isn't portable.
1700 Remove $(HTMLEXAMPLEFILES) too.
1702 * Makefile.in (uninstall_dirs): Remove $(datadir)/doc/groff and
1704 Suppress warning messages and return always true.
1706 * tmac/Makefile.sub (uninstall_sub): Remove www.tmac too.
1708 2005-07-02 Bernd Warken
1710 * src/devices/xditview/gxditview.man: Change many `.I' to `.B'.
1711 * man/groff_out.man: More markup and minor improvements.
1712 * src/roff/groff/groff.man: Minor improvements.
1714 2005-06-28 Werner LEMBERG <wl@gnu.org>
1716 * ChangeLog: Split off older entries into...
1717 * ChangeLog.115 ChangeLog.116, ChangeLog.117, ChangeLog.118: New
1720 2005-06-26 Bernd Warken
1722 * src/devices/xditview/gxditview.man: More minor fixes.
1724 2005-06-24 Werner LEMBERG <wl@gnu.org>
1726 * src/preproc/pic/troff.cpp (troff_output::set_fill,
1727 troff_output::set_color, troff_output::reset_color): Use .bcolor and
1728 .fcolor instead of \m and \M, respectively.
1730 2005-06-23 Bernd Warken
1732 * src/devices/xditview/gxditview.man: More minor fixes.
1733 * README: Formatting issues.
1734 Mention some problems with Debian.
1736 2005-06-23 Bernd Warken
1738 * src/devices/xditview/gxditview.man: Revised and improved.
1740 2005-06-22 Werner LEMBERG <wl@gnu.org>
1742 Another round in fixing getopt problems. Hopefully the last one!
1743 This time we use the getopt stuff from gnulib and define a prefix
1744 unconditionally so that there are no collisions with any other
1745 getopt implementations. This is a slight waste of space in case
1746 we already use a GNU getopt implementation, but on
1747 the other hand it really simplifies life.
1749 * src/include/getopt.h: Use gnulib version.
1751 * src/include/getopt_int.h: Use gnulib version.
1753 * src/include/groff-getopt.h: Removed. Obsolete now.
1755 * src/include/lib.h: Regarding getopt, don't handle any platform
1756 specially; just include getopt.h.
1757 (__GETOPT_PREFIX): Define (before getopt.h).
1759 * src/include/Makefile.sub (HDRS): Updated.
1761 * src/libs/libgroff/getopt1.c, src/libs/libgroff/getopt.c: Use
1764 * src/libs/libgroff/Makefile.sub (EXTRA_CFLAGS): Set
1767 * src/utils/pfbtops/pfbtops.c, src/utils/xtotroff/xtotroff.c
1768 (__GETOPT_PREFIX): Define (before getopt.h).
1770 2005-06-21 Werner LEMBERG <wl@gnu.org>
1772 * src/include/lib.h: Provide a fix for Mac OS X to not include
1775 2005-06-20 Denis M. Wilson <dmw@oxytropis.plus.com>
1777 * font/devps/prologue.ps (EP): Dont' use `bind'. Reason: Using
1778 `bind' to define a procedure which contains `showpage' means that an
1779 invocation of `showpage' may execute wrongly (the exact effect
1780 depending on the interpreter). Not usually a problem except under
1781 transformations, such as combining pages.
1782 (PEND): Don't call `clear'. Reason: Using `clear' in the definition
1783 of /PEND means that stack underflow will occur if the stack is
1784 deliberately non-empty before document inclusion. If included
1785 files are found to be generally badly behaved, we could replace the
1786 `clear' with `mark' in /PBEGIN and `cleartomark' in /PEND (I've
1787 never found this necessary).
1789 2005-06-20 Jörgen Grahn <jgrahn@algonet.se>
1791 * src/preproc/soelim/soelim.cpp (do_file): Append trailing zero
1792 earlier to get correct error message.
1794 2005-06-16 Bernd Warken
1795 * src/roff/nroff/nroff.sh: Add support for iso-8859-15.
1797 2005-06-15 Werner LEMBERG <wl@gnu.org>
1799 Another try to update getopt files. This time we add a dummy
1800 gettext.h file to satisfy the dependency.
1802 * src/include/getopt.h, src/libs/libgroff/getopt.c,
1803 src/libs/libgroff/getopt1.c: Updated from GNU libc CVS.
1805 * src/include/getopt_int.h: New file (from GNU libc CVS).
1807 * src/include/gettext.h: Dummy file which just defines a gettext()
1810 * src/include/groff-getopt.h: Updated.
1812 * src/include/Makefile.sub (HDRS): Add getopt_int.h and gettext.h.
1815 * src/libs/libdriver/input.cpp (IntArray): Remove superfluous
1816 `const' keywords in return value.
1818 * src/preproc/html/pushback.cpp (pushBackBuffer::~pushBackBuffer):
1819 Remove redundant variable `old'.
1820 (pushBackBuffer::skipToNewline): Remove redundant variable `ch'.
1822 * src/preproc/tbl/main.cpp (process_table): Remove redundant
1826 Fix more friend name injection problems since modern C++ compilers
1827 fail otherwise. We simply provide (global) declarations for all
1828 functions declared as friends. This is not really necessary but
1831 * src/preproc/eqn/lex.cpp: Provide declarations for get_char,
1832 peek_char, and get_location.
1834 * src/preproc/refer/ref.h: Provide declarations for
1835 compare_reference, same_reference, same_year, same_date,
1836 same_author_last_name, and same_author_name.
1838 * src/roff/troff/div.h: Provide declarations for do_divert and
1841 * src/roff/troff/env.h: Provide declarations for title_length,
1842 space_size, fill, no_fill, adjust, no_adjust, center, right_justify,
1843 vertical_spacing, post_vertical_spacing, line_spacing, line_length,
1844 indent, temporary_indent, do_underline, do_input_trap, set_tabs,
1845 margin_character, no_number, number_lines, leader_character,
1846 tab_character, hyphenate_request, no_hyphenate,
1847 hyphen_line_max_request, hyphenation_space_request,
1848 hyphenation_margin_request, line_width, tabs_save, tabs_restore,
1849 line_tabs_request, widow_control_request, and do_divert.
1851 * src/roff/troff/input.cpp: Provide declaration for chop_macro.
1853 * src/roff/troff/node.cpp: Provide declarations for class
1855 Provide declaration for make_tfont.
1857 2005-05-29 Werner LEMBERG <wl@gnu.org>
1859 * doc/fdl.texi: Updated to version 1.2. Reported by Bernd Warken.
1861 2005-05-28 Werner LEMBERG <wl@gnu.org>
1863 * contrib/pdfmark/Makefile.sub (.ms.pdf): Use `--stylesheet', not
1866 * src/devices/grolbp/lbp.cpp, src/devices/grolbp/lbp.h: Remove
1867 redundant semicolons.
1869 * src/preproc/eqn/Makefile.sub, src/preproc/html/Makefile.sub,
1870 src/preproc/soelim/Makefile.sub, src/preproc/tbl/Makefile.sub:
1871 Define `MLIB'. Some compilers need this for linking with libgroff.
1873 2005-05-27 Werner LEMBERG <wl@gnu.org>
1875 * MANIFEST, README, doc/webpage.ms: Updated.
1877 2005-05-26 Werner LEMBERG <wl@gnu.org>
1879 * All affected files: Update postal address of FSF.
1881 2005-05-25 Keith Marshall <keith.d.marshall@ntlworld.com>
1884 * README: More fixes.
1886 * README.CVS: Removed. Its contents is now part of the README file.
1888 2005-05-21 Werner LEMBERG <wl@gnu.org>
1890 * README: Updated. Based on a patch from Bernd Warken.
1892 2005-05-16 Keith Marshall <keith.d.marshall@ntlworld.com>
1894 Miscellaneous script portability enhancements.
1896 * aclocal.m4: (GROFF_CSH_HACK): Add space in shebang prototype for
1897 generated conftest.sh script, conforming to portability
1898 recommendation in autoconf docs.
1899 * configure: Likewise, for code generated by GROFF_CSH_HACK.
1900 * contrib/eqn2graph/eqn2graph.sh: Add space in shebang, conforming
1901 to portability recommendation in autoconf docs.
1902 * contrib/gdiffmk/gdiffmk.sh: Likewise.
1903 * contrib/gdiffmk/tests/runtests.in: Likewise.
1904 * contrib/grap2graph/grap2graph.sh: Likewise.
1905 * contrib/groffer/groffer.sh: Likewise.
1906 * contrib/mm/mmroff.pl: Likewise.
1907 * contrib/mom/momdoc/appendices.html: Likewise.
1908 * contrib/pic2graph/pic2graph.sh: Likewise.
1909 * font/devps/generate/afmname: Likewise.
1910 * src/devices/xditview/ad2c: Likewise.
1911 * src/preproc/eqn/neqn.sh: Likewise.
1912 * src/roff/grog/grog.pl: Likewise.
1913 * src/roff/grog/grog.sh: Likewise.
1914 * src/roff/nroff/nroff.sh: Likewise.
1915 * PROBLEMS: Likewise, in embedded script examples.
1917 2005-05-16 Keith Marshall <keith.d.marshall@ntlworld.com>
1919 Improve portability of `pdfroff' shell script.
1921 * arch/misc/shdeps.sh: Add space in shebang, conforming to
1922 portability guidelines in `autoconf' docs.
1923 (PATH_SEARCH_SETUP): New substitution; emits PATH_SEPARATOR
1924 initialization code. Used by contrib/pdfmark/pdfroff.sh's
1925 `searchpath' function.
1927 2005-05-14 Werner LEMBERG <wl@gnu.org>
1929 * contrib/pic2graph/pic2graph.sh, contrib/graph2graph.sh,
1930 contrib/eqn2graph.sh: Add option `-trim' to `convert' which is
1931 needed for newer ImageMagick versions.
1933 2005-05-07 Werner LEMBERG <wl@gnu.org>
1935 * src/preproc/refer/refer.man: Many small typographic fixes.
1937 2005-05-06 Jeff Conrad <jeff_conrad@msn.com>
1939 * src/devices/grohtml/post-html.cpp (assert_state::~assert_state):
1940 Use `char *' cast for a_delete.
1942 2005-05-03 Werner LEMBERG <wl@gnu.org>
1944 * src/libs/libgroff/maxpathname.cpp: Include stdlib.h.
1945 src/libs/libgroff/relocate.cpp: Use path_name_max everywhere.
1947 2005-05-03 Jeff Conrad <jeff_conrad@msn.com>
1949 * src/devices/grohtml/post-html.cpp: Use casts to `char *' if using
1950 `a_delete' for `const char *'.
1952 2005-05-03 Werner LEMBERG <wl@gnu.org>
1954 * src/devices/grohtml/post-html.cpp,
1955 src/devices/grohtml/html-table.cpp,
1956 src/devices/grohtml/html-text.cpp, src/devices/grohtml/output.cpp:
1957 Replace malloc/free with new/delete/a_delete.
1959 * src/devices/grolbp/lbp.h: Remove superfluous semicolons which
1960 are prohibited with ANSI C++.
1961 (lbpprintf, vdmprintf): Remove useless `inline' keyword (since the
1962 function has a variable number of arguments).
1964 * src/preproc/grn/main.cpp (doinput): Change return type to `int'.
1965 Simplify function and update all callers.
1967 2005-05-02 Werner LEMBERG <wl@gnu.org>
1969 Undo getopt changes from 2005-04-30. We don't want a dependency
1972 * src/include/getopt_int.h: Removed.
1974 * src/include/getopt.h, src/include/groff-getopt.h,
1975 src/include/Makefile.sub, src/libs/libgroff/getopt.c,
1976 src/libs/libgroff/getopt1.c: Revert to previous version.
1979 * src/include/nonposix.h (access) [_MSC_VER]: New macro.
1981 * src/include/posix.h (F_OK): Define conditionally.
1983 * src/devices/grotty/tty.cpp (tty_printer::make_underline): Use
1984 different variable name in second `for' loop to avoid MSVC compiler
1987 2005-04-30 Werner LEMBERG <wl@gnu.org>
1989 AC_TYPE_SIGNAL from current autoconf can fail if CC=g++.
1991 * aclocal.m4 (GROFF_TYPE_SIGNAL): New function.
1992 * configure.ac: Use GROFF_TYPE_SIGNAL, not AC_TYPE_SIGNAL.
1993 * configure, src/include/config.hin: Regenerated.
1995 * PROBLEMS: Updated.
1998 Update getopt files.
2000 * src/include/getopt.h, src/libs/libgroff/getopt.c,
2001 src/libs/libgroff/getopt1.c: Updated from GNU libc CVS.
2003 * src/include/getopt_int.h: New file (from GNU libc CVS).
2005 * src/include/groff-getopt.h: Updated.
2007 * src/include/Makefile.sub (HDRS): Add getopt_int.h.
2010 * font/devutf8/NOTES: Updated.
2012 2005-04-28 Werner LEMBERG <wl@gnu.org>
2014 Bug fix for Win32 relocatable code. Based on a patch from Keith
2017 * src/libs/libgroff/maxpathname.cpp (PATH_MAX): Test for `_MAX_PATH'
2020 * src/libs/libgroff/relocate.c (DEBUG): Define it conditionally.
2021 (searchpath) [_WIN32]: Use `_fullpath', not `realpath'.
2023 2005-04-28 Keith Marshall <keith.d.marshall@ntlworld.com>
2025 Correct `gnu.eps' handling for build from distribution tarball, with
2026 separate source and build directories.
2028 * doc/Makefile.sub: (examples.stamp): New target; forces copy of
2029 grnexmpl.g, groff.css and gnu.eps from source to build directory;
2030 generate gnu.eps from gnu.xpm if required; touch examples.stamp.
2031 (prepare_examples): Make it depend on examples.stamp.
2032 (CLEANADD): Add examples.stamp.
2034 2005-04-27 Werner LEMBERG <wl@gnu.org>
2038 position: `(' position `)'
2042 * src/preproc/pic/pic.y (position, position_not_place): Handle
2043 additional parentheses.
2045 * doc/pic.ms: Updated.
2047 2005-04-23 Larry Jones <lawrence.jones@ugs.com>
2049 * src/utils/xtotroff/xtotroff.c (MapFont): Fix variable declaration.
2051 2005-04-18 Werner LEMBERG <wl@gnu.org>
2053 * src/roff/groff/pipeline.c: Don't include ctype.h.
2055 2005-04-13 Werner LEMBERG <wl@gnu.org>
2057 * src/roff/nroff/nroff.man: Document option `-M'.
2059 2005-04-13 Bruce Lilly <blilly@erols.com>
2061 * src/roff/nroff/nroff.sh: Make the script accept option `-M'.
2063 2005-04-01 Kees Zeelenberg <kzlg@users.sourceforge.net>
2064 Werner LEMBERG <wl@gnu.org>
2066 Add binary relocation support for Windows platforms.
2068 * src/include/Makefile.sub (defs.h): Add `INSTALLPATH'.
2070 * src/include/relocate.h, src/libs/libgroff/relocate.cpp: New files.
2072 * src/libs/libgroff/searchpath.cpp: Handle `relocate'.
2073 (search_path::search_path, search_path::open_file_cautious): Use
2076 * src/libs/libgroff/Makefile.sub (OBJS, CCSRCS),
2077 src/include/Makefile.sub (HDRS): Updated.
2079 2005-04-01 Werner LEMBERG <wl@gnu.org>
2081 * src/devices/grohtml/post-html.cpp: Don't use strdup/free but
2084 * src/libs/libgroff/font.cpp: Replace strdup with strsave.
2086 * src/libs/libgroff/maxfilename.cpp: Don't include limits.h since
2087 lib.h already does it.
2089 * src/libs/libgroff/maxpathname.cpp: New file, defining
2092 * src/include/lib.h: Add prototype for path_name_max.
2094 * src/libs/libgroff/Makefile.sub (OBJS, CCSRCS): Updated.
2096 * src/include/nonposix.h (PATH_EXT): New macro.
2098 2005-03-28 Werner LEMBERG <wl@gnu.org>
2100 Add support for double- and zero-width characters in grotty.
2102 * src/devices/grotty/tty.cpp (glyph): Add width.
2103 (tty_printer::make_underline, tty_printer::make_bold,
2104 tty_printer::add_character): Add parameter to pass character width.
2106 (tty_printer::end_page): Increase hpos by actual character width.
2108 * font/devutf8/R.proto: Specify zero width for non-spacing
2111 * tmac/unicode.tmac: Remove definitions for non-spacing entities.
2113 * Makefile.comm (extraclean): Remove more junk files.
2115 2005-03-25 Werner LEMBERG <wl@gnu.org>
2117 * configure.ac: Undo change from 2005-03-24.
2118 * configure: Regenerated.
2120 2005-03-24 Werner LEMBERG <wl@gnu.org>
2122 * Makefile.in (NOMAKEDIRS): Add contrib/gdiffmk/tests.
2123 (dist): Search Makefile while descending into $(EXTRADIRS).
2125 * doc/Makefile.in (.PHONY): Add.
2126 (clean): Don't remove *.png and *.eps.
2128 (realclean): Remove *.png and *.eps.
2129 (extraclean): Depend on distclean.
2131 * configure.ac: Add copyright.
2132 Handle contrib/pdfmark/Makefile.
2134 * configure: Regenerated.
2136 2005-03-18 Larry Kollar <kollar@alltel.net>
2138 Add numbered and definition lists to www.tmac.
2140 * tmac/www.tmac (www-ul-level1, www-ul-level2, www-ul-level3,
2141 www-ol-level1, www-ol-level2, www-ol-level3, www-ol-tmp): New
2142 auxiliary string registers.
2143 (www-ul-level, www-ol-level, www-dl-level, www-ol-ctr1, www-ol-ctr2,
2144 www-ol-ctr3, www-dl-shift): New auxiliary number registers.
2145 (www-level): Removed.
2146 (www-level1, www-level2, www-level3): Initialize to empty.
2147 (www-level0, www-level4, www-level5, www-level6, www-level7,
2148 www-level8, www-level9): New string registers.
2149 (www-push-li, www-pop-li): New macros.
2150 (www-push-level, www-pop-level): Renamed to...
2151 (www-push-ul-level, www-pop-ul-level): This.
2153 (www-push-ol-level, www-pop-ol-level): New macros.
2154 (ULS, ULE): Updated.
2155 (OLS, OLE, DLS, DLE): New user macros.
2156 (LI): Removed. It is aliased to one of...
2157 (www-li-ul, www-li-ol, www-li-dl): New macros.
2159 * tmac/groff_www.man: Document new macros.
2163 2005-03-18 Werner LEMBERG <wl@gnu.org>
2165 * tmac/doc-common (doc-operating-system-NetBSD-2.0.1,
2166 doc-operating-system-NetBSD-2.0.2): New strings.
2168 * tmac/groff_mdoc.man: Updated.
2170 2005-03-17 Werner LEMBERG <wl@gnu.org>
2172 * doc/Makefile.sub (CLEANADD): Add `groff.html'.
2174 2005-03-17 Werner LEMBERG <wl@gnu.org>
2176 * src/libs/libgroff/hypot.c: Renamed to...
2177 * src/libs/libgroff/hypot.cpp: This. Updated to C++.
2179 * src/libs/libgroff/Makefile.sub (CCSRCS, CSRCS): Updated.
2181 * src/include/lib.h: Updated.
2183 2005-03-16 Werner LEMBERG <wl@gnu.org>
2185 Add workaround for broken hypot() on Interix.
2187 * src/libs/libgroff/hypot.c: New wrapper file for `hypot'.
2189 * src/libs/libgroff/Makefile.sub (OBJS): Add `hypot.o'.
2190 (CSRCS): Add `hypot.c'.
2192 * src/include/lib.h: Declare `groff_hypot'.
2194 * src/preproc/grn/hgraph.cpp: Don't declare `hypot'.
2197 * src/preproc/pic/pic.h: Don't declare `hypot'.
2199 * src/preproc/pic/object.cpp (hypot): Use `groff_hypot'.
2201 2005-03-15 Gaius Mulley <gaius@glam.ac.uk>
2203 * src/devices/grohtml/post-html.cpp
2204 (html_printer::lookahead_for_tables): End .ce properly to avoid a
2207 2005-03-15 Werner LEMBERG <wl@gnu.org>
2209 makeinfo 4.8 doesn't produce good HTML output from groff.texinfo.
2211 * doc/fixinfo.sh: New script to postprocess makeinfo's HTML output.
2213 * doc/Makefile.in (.texinfo.html): Call fixinfo.sh.
2215 2005-03-14 Werner LEMBERG <wl@gnu.org>
2217 Add Cyrillic support to devutf8 and devhtml.
2219 * font/devutf8/R.proto, font/devhtml/R.proto: Add Cyrillic blocks.
2221 * tmac/unicode.tmac: New file.
2223 * tmac/tty.tmac: Include unicode.tmac if device is utf8.
2225 * tmac/Makefile.sub (NORMALFILES): Add unicode.tmac.
2229 2005-03-02 Keith Marshall <keith.d.marshall@ntlworld.com>
2231 * src/libs/libdriver/printer.cpp (check_for_output_error): New
2232 function. It has been introduced to catch peculiar error contexts
2233 on MS-Windows platforms.
2235 2005-02-28 Werner LEMBERG <wl@gnu.org>
2237 * src/roff/troff/input.cpp (string_iterator::fill): Protect against
2240 * tmac/papersize.tmac: Convert `paper' string contents to lowercase.
2242 * configure: Regenerated.
2246 2005-02-28 Keith Marshall <keith.d.marshall@ntlworld.com>
2248 Integrate `pdfmark' into normal groff build system;
2249 install macro `pdfmark' packages, build and install `pdfroff',
2250 and PDF format documentation.
2252 * Makefile.comm: Add PDFDOCDIR.
2254 * Makefile.in: (MDEFINES) ALT_AWK_PROGS, ALT_GHOSTSCRIPT_PROGS,
2255 pdfdocdir, make_pdfdoc, make_install_pdfdoc: New variables.
2256 (unstall_dirs): Add pdfdocdir.
2258 * aclocal.m4: (GROFF_GHOSTSCRIPT_PREFS): New function; support
2259 `--with-alt-gs' option, set ALT_GHOSTSCRIPT_PROGS.
2260 (GROFF_GHOSTSCRIPT_PATH): Support `--with-gs' option, force use of
2261 GROFF_GHOSTSCRIPT_PREFS, set GHOSTSCRIPT.
2262 (GROFF_HTML_PROGRAMS): Force use of GROFF_GHOSTSCRIPT_PATH; tidy up.
2263 (GROFF_AWK_PREFS): New function; support `--with-alt-awk' option,
2265 (GROFF_AWK_PATH): New function; support `--with-awk' option, force
2266 use of GROFF_AWK_PREFS.
2267 (GROFF_PDFDOC_PROGRAMS): New function; force use of GROFF_AWK_PATH
2268 and GROFF_GHOSTSCRIPT_PATH, set make_pdfdoc and make_install_pdfdoc.
2270 * configure.ac: Add AC_PREREQ(2.59), GROFF_PDFDOC_PROGRAMS.
2271 Remove GROFF_GHOSTSCRIPT_PATH, (forced by GROFF_PDFDOC_PROGRAMS, and
2272 also by modified GROFF_HTML_PROGRAMS).
2274 2005-02-27 Gaius Mulley <gaius@glam.ac.uk>
2276 * src/devices/grohtml/html-text.cpp (html_text::do_pre): Preserve
2278 (html_text::done_para): Unset `start_space'.
2279 (html_text::remove_para_align): Call `retrieve_para_space' for the
2282 * src/devices/grohtml/post-html.cpp (html_printer::emit_raw): Unset
2284 (html_printer::do_check_center): Emit vertical space if necessary.
2286 * src/roff/troff/env.cpp (environment_switch): Preserve
2287 `seen_space', `seen_eol', and `suppress_next_eol' while switching
2290 * src/roff/troff/node.cpp (suppress_node::suppress_node): Set
2293 2005-02-20 Werner LEMBERG <wl@gnu.org>
2295 * src/preproc/eqn/eqn.man, NEWS: Document various extensions of
2298 2005-02-17 Werner LEMBERG <wl@gnu.org>
2300 * doc/pic.ms, man/groff.man: Fix typos.
2302 * doc/groff.texinfo: Fix typos.
2303 (\LEmacro): Get proper mathematical spacing.
2305 2005-02-16 Werner LEMBERG <wl@gnu.org>
2307 * aclocal.m4 (GROFF_APPRESDIR_CHECK): Improve warning message.
2308 * configure: Regenerated with autoconf 2.59b.
2310 2005-02-16 Gaius Mulley <gaius@glam.ac.uk>
2312 * src/devices/grohtml/post-html.cpp (html_printer::is_line_start,
2313 html_printer::start_font): Fix handling of preformatted text.
2315 2005-02-15 Gaius Mulley <gaius@glam.ac.uk>
2317 These patches modify the indentation implementation to use `<p
2318 style=margin-left: n%>'. Many thanks to Peter and Larry for
2319 suggesting this solution. Grohtml only uses tables for `.IP' and
2320 related tags when the first operand has a short width.
2322 Similarly, they modify all vertical space code. By default, grohtml
2323 sets up a style sheet which uses no vertical space between `table',
2324 `pre', and `p' tags. It forces spaces when it needs them using
2325 `style="margin-top: 1em"'.
2327 * src/devices/grohtml/html-table.cpp: Include `html-text.h'.
2328 (html_table::emit_table_header, html_table::emit_new_row):
2330 (html_table::set_space): New function.
2331 (html_indent::html_indent): Don't set `is_used'.
2332 (html_indent::begin): Rewritten.
2333 (html_indent::end): Remove code in function.
2335 * src/devices/grohtml/html-table.h: Updated.
2336 (html_table): Make `out' public.
2338 * src/devices/grohtml/html-text.cpp (html_text::html_text):
2339 Initialize `start_space' with FALSE.
2340 (html_text::end_tag) <P_TAG, PRE_TAG>: Updated.
2341 (html_text::issue_tag): Add argument to handle space style.
2342 (html_text::start_tag) <P_TAG, PRE_TAG>: Updated.
2343 (html_text::flush_text): Don't set `start_space'.
2344 (html_text::push_para): Don't set `p->really_issued'.
2345 (html_text::do_emittext): Updated.
2346 (html_text::do_para): Add paremeter to handle space.
2348 (html_text::retrieve_para_space): New function.
2350 * src/devices/grohtml/html-text.h (STYLE_VERTICAL_SPACE): New macro.
2351 (tag_definition): Remove `really_issued'.
2352 (html_text): Updated.
2354 * src/devices/grohtml/post-html.cpp (html_printer): Add variables
2355 `current_column' and `row_space'.
2357 (html_printer::emit_raw, html_printer::write_header,
2358 html_printer::do_indent, html_printer::do_check_center,
2359 html_printer::do_tab_ts): Handle vertical space.
2360 (html_printer:do_tab_te, html_printer::do_end_para): Call
2361 `remove_para_space'.
2362 (html_printer::do_col): Rewritten.
2363 (html_printer::flush_globs): Remove debugging code.
2364 (html_printer::is_line_start): New function.
2365 (html_printer::start_font): Use `is_line_start'.
2366 (html_printer::writeHeadMetaStyle): New function.
2367 (html_printer::do_file_components, html_printer::~html_printer):
2368 Call `writeHeadMetaStyle'.
2370 * tmac/www.tmac (www-handle-percent): New macro.
2371 (MPIMG): Handle percent values for width and height parameters.
2374 * tmac/groff_www.man: Updated.
2376 2005-02-14 Werner LEMBERG <wl@gnu.org>
2378 * src/utils/afmtodit/afmtodit.pl: Remove an incorrect `my' from
2379 $psname and $italic_angle.
2380 Immediately restart file input loops if `split' returns an empty
2383 2005-02-13 Michail Vidiassov <master@iaas.msu.ru>
2384 Werner LEMBERG <wl@gnu.org>
2386 Update afmtodit to better support Unicode (Michail).
2387 Update afmtodit to use Perl 5 syntax (Werner).
2389 * src/utils/afmtodit/afmtodit.pl: Don't use `getopts.pl' but
2391 Decorate variables with `my' where necessary.
2392 Use `defined' where necessary to avoid warnings.
2393 Don't use `do' for subroutine calls.
2394 Other minor syntax updates.
2395 Check for both `uXXXX[X[X]]' and `uniXXXX'.
2396 Handle glyph variants properly.
2397 (%unicode_decomposed, %AGL_to_unicode): Don't use `u' prefix in
2400 * src/utils/afmtodit/afmtodit.man: Updated.
2402 2005-02-13 Werner LEMBERG <wl@gnu.org>
2404 Make groff.texinfo work with texinfo 4.8.
2406 * doc/groff.texinfo (@Var): Use @r and @slanted.
2407 (@defdummy, @Def*): Use @c to avoid empty lines.
2408 (\angles): Replaced with...
2409 (\Langlemacro, \Ranglemacro): New TeX macros.
2410 (@Langlemacro, @Ranglemacro): New variables defined with @set.
2411 (@angles): Use @Langlemacro and @Ranglemacro.
2412 (\LE): Replaced with...
2413 (\LEmacro): New TeX macro.
2414 (@LEmacro): New variable defined with @set.
2415 (@LE): Use @LEmacro.
2416 (@Lparenmacro, @Rparenmacro, @Lbrackmacro, @Rbrackmacro): New
2417 variables defined with @set.
2418 (@lparen, @rparen, @lbrack, @rbrack): Replaced with...
2419 (@Lparen, @Rparen, @Lbrack, @Rbrack): New macros.
2422 Other minor updates.
2424 * doc/texinfo.tex: Update to texinfo version 4.8.
2426 * README.CVS: Updated.
2428 2005-02-09 Alejandro López-Valencia <palopez@etb.net.co> (tiny change)
2430 * doc/groff.texinfo (ms Document Control Registers): Document `HY'
2431 and `FAM' registers.
2433 2005-02-05 Werner LEMBERG <wl@gnu.org>
2435 * tmac/groff_mdoc.man, tmac/doc-common, tmac/doc-ditroff,
2436 tmac/doc-nroff, tmac/doc-old.tmac, tmac/doc-syms, tmac/doc.tmac:
2439 2005-02-01 Werner LEMBERG <wl@gnu.org>
2441 * src/roff/groff/groff.man: Add information about paper size.
2443 2005-01-25 Werner LEMBERG <wl@gnu.org>
2445 * src/roff/nroff/nroff.sh: Handle `*.ISO8859-1' in locale. From
2448 2005-01-22 Ruslan Ermilov <ru@FreeBSD.org>
2450 * tmac/doc.tmac (Sm): Improved. It didn't work properly in many
2452 (Re): Emit a warning if called without `.Rs'.
2453 (doc-finish-reference): Use parameter for decreasing
2454 `doc-reference-count'.
2455 (doc-print-reference): Pass specific count parameters to
2456 `doc-finish-reference'.
2458 2005-01-21 Werner LEMBERG <wl@gnu.org>
2460 * src/libs/libdriver/input.cpp (delete_current_env, do_file):
2461 Reset pointers to zero after deallocation. This fixes a crash
2462 if a driver is called with multiple input files. Reported by
2463 Ken Chilton <ken@chiltonfamily.org>.
2465 * src/devices/grops/grops.man: Add more info on DSC.
2467 2005-01-17 Ruslan Ermilov <ru@FreeBSD.org>
2469 * tmac/doc-common (Dd), tmac/doc-ditroff (gX, doc-setup-header):
2472 2005-01-17 Werner LEMBERG <wl@gnu.org>
2474 * src/roff/troff/div.cpp (top_level_diversion::space): Protect
2475 against division by zero.
2477 2005-01-13 Ruslan Ermilov <ru@FreeBSD.org>
2479 * tmac/doc.tmac (Ef): Restore doc-curr-font and doc-curr-size.
2481 2004-12-19 Werner LEMBERG <wl@gnu.org>
2483 * install-sh: New version; taken from texinfo CVS.
2485 2004-12-17 Werner LEMBERG <wl@gnu.org>
2487 * tmac/devtag.tmac: Protect against loading twice.
2488 Protect agains compatibility mode.
2489 * tmac/www.tmac: Protect against loading twice.
2490 Load `devtag.tmac' before switching off compatibility mode.
2491 * tmac/an-old.tmac, tmac/s.tmac: Load `devtag.tmac'.
2493 2004-12-16 Mike Bianchi <mbianchi@Foveal.com>
2495 * configure.ac: Produce `contrib/gdiffmk/tests/runtests'.
2496 * configure: Updated.
2498 2004-12-15 Thomas Klausner <wiz@netbsd.org>
2500 * tmac/doc-syms, tmac/groff_mdoc.man: Add `libpam' library.
2502 2004-12-15 Werner LEMBERG <wl@gnu.org>
2504 Make `test-groff' work again -- previously, wrong paths have been
2505 used. Additionally, it can now be called from anywhere.
2507 * test-groff.in: Don't test for groff binary. This is no longer
2508 necessary since the proper paths are determined by `configure'.
2509 (EXEEXT): Removed. No longer used.
2510 (srcdir, builddir): Use values provided by the configure script.
2511 (XENVIRONMENT): Updated.
2515 2004-12-14 Gaius Mulley <gaius@glam.ac.uk>
2517 Make .tag and .taga work for all devices (but only grohtml actually
2520 * src/devices/grohtml/post-html.cpp: s/html-tag/devtag/.
2521 (text_glob::is_br, page::add_tag, html_printer::troff_tag,
2522 html_printer::handle_assertion): Don't use hard-coded string
2524 (html_printer::lookahead_for_table): Reset `tbl' properly if
2526 (html_printer::devtag): New function, handling `devtag'.
2527 (html_printer::special): Don't handle `html-tag'.
2529 * src/include/printer.h, src/libs/libdriver/printer.cpp
2530 (printer::devtag): New virtual function.
2532 * src/libs/libdriver/input.cpp (parse_x_command) <'X'>: Handle
2535 * src/roff/troff/env.cpp, src/roff/troff/mtsm.cpp,
2536 src/roff/troff/node.cpp: s/html-tag/devtag/.
2538 * src/roff/troff/input.cpp (tag, taga): Always call
2541 * tmac/an-old.tmac, tmac/s.tmac, tmac/troffrc-end: Use DEVTAG*
2542 macros instead of HTML-TAG*.
2544 * tmac/devtag.tmac: New file, defining the DEVTAG-* macros.
2546 * tmac/www.tmac: Load devtag.tmac.
2547 Replace HTML-TAG* macros with DEVTAG* macros.
2548 (HTML, HTML-NS): Changed definitions.
2550 (HTML-TAG, HTML-TAG-NS, HTML-TAG-NEXT): Removed.
2552 * tmac/Makefile.sub (NORMALFILES): Add devtag.tmac.
2554 2004-12-10 Werner LEMBERG <wl@gnu.org>
2556 Import Mike's `gdiffmk' package.
2558 * contrib/gdiffmk/*: New files.
2559 * Makefile.in (OTHERDIRS): Add contrib/gdiffmk.
2562 2004-12-08 Werner LEMBERG <wl@gnu.org>
2564 Import Keith's `pdfmark' package. Integration is very preliminary.
2566 * contrib/pdfmark/*: New files.
2567 * Makefile.in (OTHERDIRS): Add contrib/pdfmark.
2570 2004-12-07 Gaius Mulley <gaius@glam.ac.uk>
2572 Fix a bug with title handling in HTML.
2574 * src/devices/grohtml/post-html.cpp (text_glob::is_nf,
2575 text_glob::is_fi, text_glob::is_ce): Use strlen to compute string
2577 (html_printer::handle_tag_within_title): New function.
2578 (html_printer::do_title): Use it.
2580 * tmac/s.tmac (TL): Don't set `need_eo_tl'.
2581 (cov*tl-au-print): Emit `.eo.tl' tag.
2583 2004-12-05 Alejandro López-Valencia <dradul@etb.net.co>
2585 * man/groff_char.man: Minor imrovements.
2587 2004-12-04 Werner LEMBERG <wl@gnu.org>
2589 * src/preproc/eqn/eqn.man: Revised.
2591 2004-11-25 Werner LEMBERG <wl@gnu.org>
2593 * src/utils/xtotroff/xtotroff.c: Reformat to be similar to other
2597 Remove X_NOT_STDC_ENV conditional.
2598 (Version_string, program_name): New global variables.
2599 (groff_flag): Removed.
2601 (usage): Take a stream as argument.
2604 (main): Add `long_options' array for `--help' and `--version'.
2605 Make `-g' a dummy option.
2606 Handle `-v' and unknown options.
2607 Remove unused `position' variable.
2609 * src/utils/xtotroff/Makefile.sub (MAN1): Define.
2610 (XLIBS): Add LIBGROFF.
2612 * src/utils/xtotroff/xtotroff.man, src/utils/xtotroff/Makefile.in:
2615 * src/devices/xditview/Dvi.c (default_font_map): Split into three
2616 parts to avoid compiler warning.
2617 (resources): Don't initialize with `default_font_map'.
2618 (ClassInitialize): Initialize first element of `resources'.
2620 * src/devices/xditview/Makefile.sub (devdir, xtotroff, DPIS, fonts):
2623 * src/utils/lkbib/lkbib.man, src/utils/lookbib/lookbib.man,
2624 src/utils/pfbtops/pfbtops.man: Revised, updated.
2626 * configure.ac: Generate src/utils/xtotroff/Makefile.
2627 * configure: Regenerated.
2629 2004-11-24 Werner LEMBERG <wl@gnu.org>
2631 First fixes to get produce HTML.
2633 * src/devices/grohtml/post-html.cpp (generate_img_src): Add `alt'
2636 * tmac/www.tmac (IMG, PIMG, MPIMG): Add `alt' attribute.
2637 (HR, LI): Use `HTML</p>', not `HTML'.
2639 * doc/webpage.ms: Minor updates.
2641 2004-11-23 Larry Kollar <kollar@alltel.net>
2643 Add option -S grohtml to determine the file split level.
2645 * src/devices/grohtml/post-html.cpp (split_level): New global
2647 (html_header::determine_header_level): Use split_level.
2648 (main): Handle `-S' command line option.
2651 * src/preproc/html/pre-html.cpp (scanArguments): Updated.
2653 * src/devices/grohtml/grohtml.man: Document it.
2656 * NEWS: Document it.
2658 2004-11-23 Y T <doarhop@hotmail.com>
2660 * tmac/s.tmac (ref*add-V, ref*add-N): New macros for handling
2661 the volume and number refer entries.
2663 2004-11-22 Werner LEMBERG <wl@gnu.org>
2665 * src/devices/grohtml/html-table.cpp
2666 (html_table::emit_table_header): Don't emit `cols' attribute which
2667 doesn't exist in HTML 4.0 and is thus invalid.
2669 * NEWS: More minor fixes and updates.
2671 2004-11-18 Werner LEMBERG <wl@gnu.org>
2673 * tmac/www.tmac (HTML-NS, HTML-TAG-NS, HTML-TAG-NEXT): Simplified.
2674 (HTML</p>): Minor clean-up.
2676 * tmac/groff_www.man: Updated.
2678 * src/devices/grohtml/grohtml.man: Revised and updated.
2682 2004-11-18 Gaius Mulley <gaius@glam.ac.uk>
2684 * src/devices/grohtml/post-html.cpp (html_printer::do_heading):
2685 Fix space insertion.
2686 (html_printer::do_links): Fix rules generation around automatic
2689 * tmac/www.tmac (LK): Use HTML-TAG-NS.
2691 No longer emit empty line for non-HTML devices.
2693 2004-11-17 Werner LEMBERG <wl@gnu.org>
2695 * doc/Makefile.in (prepare_examples, webpage.html): Handle
2698 * doc/Makefile.sub (EXAMPLEFILES, CLEANNOTSRCDIRADD,
2699 prepare_examples, webpage.html): Handle `groff.css'.
2701 2004-11-15 Werner LEMBERG <wl@gnu.org>
2703 * NEWS, README, doc/webpage.ms: Updated.
2705 * tmac/www.tmac (HTML, HTML-TAG): Minor clean-ups.
2707 2004-10-30 Gaius Mulley <gaius@glam.ac.uk>
2709 * src/include/printer.h (printer): Remove virtual function
2711 Update all source files.
2713 * src/devices/grohtml/post-html.cpp (html_printer): New member
2714 function `round_width'.
2716 2004-10-20 Tadziu Hoffmann <hoffmann@usm.uni-muenchen.de>
2718 * src/preproc/tbl/table.cpp (table::do_row): Fix handling of the `d'
2719 column key letter suffix.
2721 2004-10-14 Werner LEMBERG <wl@gnu.org>
2723 * Makefile.in (check): Depend on `site.exp' and `docheck'.
2724 (docheck): Run dejagnu's `runtest' if it exists.
2725 (site.exp): Create dejagnu configuration file.
2727 * Makefile.sub (DISTCLEANFILES): Add files related to dejagnu.
2729 2004-10-13 Werner LEMBERG <wl@gnu.org>
2731 * src/devices/grohtml/html-text.cpp (html_text_get_alignment),
2732 src/devices/grohtml/post-html.cpp (make_val,
2733 html_printer::handle_state_assertion): Fix compiler warnings.
2735 * src/roff/troff/div.cpp: Include `stringclass.h' and `mtsm.h'.
2736 (diversion::diversion): Fix order of initializers.
2738 * src/roff/troff/div.h: Don't include `mtsm.h'.
2740 * src/roff/troff/env.cpp: Include `stringclass.h' and `mtsm.h'.
2741 (environment::environment): Fix order of initializers.
2742 (environment::make_tag, environment::construct_format_state): Fix
2745 * src/roff/troff/input.cpp: Include `stringclass.h' and `mtsm.h'.
2746 (input_iterator::input_iterator, macro::macro): Fix order of
2749 * src/roff/troff/mtsm.cpp: Include only necessary header files.
2750 (state_set::add, state_set::val): Fix compiler warnings.
2752 * src/roff/troff/mtsm.h: Don't include `stringclass.h'.
2753 (bool_value_state, int_value_state, units_value_state,
2754 string_value_state): Remove comma after last element which causes
2755 an error with g++ 3.3.3.
2757 * src/roff/troff/node.cpp: Include `stringclass.h'.
2758 (hline_node::hline_node, vline_node::vline_node,
2759 space_char_hmotion_node, left_italic_corrected_node): Fix compiler
2761 (zero_width_node::zero_width_node): Fix order of initializers.
2763 * src/roff/troff/node.h: Don't include `mtsm.h'.
2764 (hmotion_node): Fix compiler warnings.
2766 * src/roff/troff/number.cpp: Include `stringclass.h' and `mtsm.h'.
2768 2004-10-12 Gaius Mulley <gaius@glam.ac.uk>
2770 * doc/groff.css: New file.
2772 * doc/webpage.ms: Use `groff.css'.
2775 * tmac/an-old.tmac (need_eo_h): New number register.
2776 (TH): Emit `.eo.tl' tag after title.
2777 (SH): Set `need_eo_h'.
2778 (an-trap): Handle `need_eo_h'.
2779 (an-do-tag): s/HTML-TAG-NS/HTML-TAG-NEXT/.
2781 * tmac/s.tmac (need_eo_h, need_eo_tl): New number registers.
2782 (TL): Always start diversion.
2784 (@AI): Always call `par@reset'.
2785 (@AB): Update code for -Thtml.
2786 (cov*tl-au-print): Handle -Thtml.
2787 (par@reset): Handle `need_eo_tl', `need_eo_h'.
2789 (@IT-html): Removed.
2790 (@SH): Set `need_eo_h' for -Thtml.
2791 (par@TL): s/HTML-TAG/HTMl-TAG-NS/.
2793 (@NH): s/HTML-TAG/HTMl-TAG-NS/.
2794 Set `need_eo_h' for -Thtml.
2795 (@EQ, @EN): Don't handle -Thtml specially.
2796 (par@load-init): Don't handle -Thtml specially.
2798 * tmac/www.tmac (www:paraspace): New macro.
2799 (HTML-NS, HTML-TAG-NS): Use new `tag' request.
2800 (HTML</p>, HTML-TAG-NEXT): New macros.
2801 (HnE): Emit tag `.eo.h' instead of break.
2802 (HR): s/HTML-NS/HTML/.
2803 (www-end-nowhere): End diversion only if `www-html' not set.
2805 (ULS, ULE): s|HTML|HTML</p>|.
2806 (LI): Call `www:paraspace'.
2809 2004-10-11 Gaius Mulley <gaius@glam.ac.uk>
2811 * src/roff/troff/request.h (macro): Make `p' public.
2812 New variable `is_a_diversion'.
2813 New member function `is_diversion'.
2816 * src/devices/grohtml/html.h (simple_output): New member function
2819 * src/devices/grohtml/html-table.cpp (tabs::compatible): Fix
2820 computation of `total'.
2821 (tabs::check_init): New function.
2822 (html_table::emit_table_header): Emit style data.
2823 (html_table::insert_column): Improved.
2825 * src/devices/grohtml/html-table.h: Updated.
2827 * src/devices/grohtml/html-text.cpp (html_text::html_text):
2828 Initialize `start_space' with TRUE.
2829 (html_text::end_tag, html_start_tag): Fix `P_TAG' and `PRE_TAG'
2831 (html_text::flush_text): Set `start_space' flag.
2832 (html_text::uses_indent, html_text::remove_para_space,
2833 html_text::get_alignment): New functions.
2834 (html_text::push_para): Updated.
2835 (html_text::do_para): Check for empty argument.
2836 Don't set `space_emitted'.
2837 (html_text::do_space, html_text::emit_space): Updated.
2839 * src/devices/grohtml/html-text.h (tag_definition): New variable
2841 (html_text): New member function `uses_indent', `remove_para_space',
2844 * src/devices/grohtml/output.cpp (simple_output::force_nl): New
2846 (simple_output:nl): Always emit `\n'.
2848 * src/devices/grohtml/post-html.cpp: Include `string.h'.
2849 (BASE_POINT_SIZE): Removed.
2850 (base_point_size, head_info): New global variables.
2851 (text_glob): New member functions `is_ll', `is_tl', `is_eo_tl',
2853 (text_glob::is_nf, text_glob::is_fi): Handle `.fi 0' and `.fi 1'
2855 (page::add_and_encode): Pass additional parameter for tag flag.
2856 (assert_pos): New structure.
2857 (assert_state): New class.
2858 (html_printer): Remove `indentation', `prev_indent'.
2859 Add variables `troff_indent', `device_indent', `temp_indent'.
2860 Add variables `seen_indent', `next_indent', `seen_pageoffset',
2861 `next_pageoffset', `seen_linelenght', `next_linelength',
2862 `seen_center', `next_center', `seen_space', `seen_break', `as'.
2863 Add member functions `do_check_center', `do_space', `do_head',
2864 `get_troff_indent', `restore_troff_indent', `handle_assertion',
2865 `handle_state_assertion', `do_end_para', `set_char_and_width'.
2866 Change argument to `do_fill' to `char *'.
2868 (html_printer::emit_raw): Call `shutdown_table'.
2870 (html_printer::do_center): Simplified.
2871 (html_printer::do_title): Improved.
2872 (html_printer::write_header): Emit one more newline.
2874 (html_printer::do_heading, html_printer::do_indent,
2875 html_printer::do_eol, html_printer::do_tab_ts,
2876 html_printer::do_tab, html_printer::do_tab0,
2877 html_printer::calc_po_in, html_printer::next_horiz_pos,
2878 html_printer::remove_courier_tabs,
2879 html_printer::insert_tab0_foreach_tab, html_printer::begin_page):
2881 (html_printer::do_linelength, html_printer::do_pageoffset,
2882 html_printer::do_indentation, html_printer::do_tempindent,
2883 html_printer::do_tab_te): Simplified.
2884 (html_printer::do_pointsize): Check whether point size is really
2885 associated a `.tl' tag.
2886 (html_printer::do_break): Rewritten.
2887 (html_printer::troff_tag): Improved.
2888 (html_printer::flush_globs): Updated.
2889 (html_printer::lookahead_for_tables): Handle `is_br'.
2891 (html_printer::set_char): Check `sbuf_style.f'.
2892 (html_printer::write_navigation): Use string comparison.
2893 (html_printer::~html_printer): Emit `head_info'.
2894 (html_printer::special): Rewritten.
2895 (get_str, make_val): New functions.
2896 (main): New option `s' to set the base point size.
2898 * src/preproc/html/pre-html.cpp (scanArguments): Handle option `s'.
2900 2004-10-10 Gaius Mulley <gaius@glam.ac.uk>
2902 * src/roff/troff/node.cpp: New extern `debug_state'.
2903 Include `stringclass.h' and `mtsm.h'.
2904 Implement new classes and class members from `node.h'.
2905 (real_output_file): Make `fp' public.
2906 (troff_output_file): New variables `cur_div_level' and `tag_list'.
2907 Update constructors.
2908 (troff_output_file::really_print_line): Check whether we should push
2909 the current troff state and use the state at the start of the
2910 invocation of this diversion.
2911 (troff_output_file::add_to_tag_list): New member function.
2912 (node::add_char): Handle `glyph_comp_np'.
2914 * src/roff/troff/node.h: Include `mtsm.h'.
2915 (node): New variables `state', `push_state', `div_nest_level',
2916 `is_special'. Update constructors, all descendants.
2917 Pass additional argument to `add_char' member function.
2918 New virtual member functions `is_tag', `debug_node',
2919 `debug_node_list'. Update all descendants.
2920 (tag_node): New class for handling tags.
2921 (output_file): Add variable `state'.
2923 2004-10-09 Gaius Mulley <gaius@glam.ac.uk>
2925 * src/roff/troff/mtsm.cpp, src/roff/troff/mtsm.h: New files,
2926 providing a minimal troff state machine to emit meta tags for the
2927 post-grohtml device driver.
2929 * src/roff/troff/Makefile.sub (OBJS, CCSRCS, HDRS): Handle new
2932 2004-10-09 Werner LEMBERG <wl@gnu.org>
2934 * tmac/trace.tmac: Fix handling of `am' and `am1' calls.
2936 2004-10-06 Gaius Mulley <gaius@glam.ac.uk>
2938 * src/roff/troff/column.cpp (vjustify_node::copy): Updated.
2940 * src/roff/troff/div.h: Include `mtsm.h'.
2941 (diversion): New variables `any_chars_added', `needs_push',
2942 `saved_seen_break', `saved_seen_space', `saved_seen_eol',
2943 `saved_suppress_next_eol', `modified_tag'.
2944 New virtual member function `is_diversion'. Update all descendants.
2946 * src/roff/troff/div.cpp (diversion::diversion,
2947 macro_diversion::macro_diversion): Updated.
2948 (do_divert): Handle `seen_break', `seen_space', `seen_eol',
2949 `suppress_next_eol'.
2950 (top_level_diversion::space): Handle `curenv->seen_space'.
2951 (page_offset): Update tag handling.
2952 (space_request, blank_line, flush_output): Don't call `add_html_tag'.
2954 * src/roff/troff/env.h (environment): Make `tabs' public.
2955 Remove `ignore_next_eol', `emitted_node'.
2956 Update `output_line', `output'.
2957 New variables `seen_space', `seen_eol', `suppress_next_eol',
2959 New member functions `construct_state', `make_tag',
2960 `construct_format_state, `construct_new_line_state,
2962 Remove `add_html_tag', `make_html_tag'.
2964 * src/roff/troff/env.cpp: New externs `suppress_push',
2965 `get_diversion_state', `global_diverted_space'.
2966 (pending_output_line): New variable `was_centered'.
2967 Update constructor and all callers.
2968 (pending_output_line::output): Call `curenv->construct_format_state'.
2969 (environment::environment, environment::copy): Updated.
2970 (environment::output): Handle `was_centered'.
2971 (environment::add_char): Handle construct and diversion state.
2972 (environment::add_node): Handle construct state.
2973 (environment::newline): Handle `was_centered'.
2974 (environment::output_line): Updated.
2975 (environment::possibly_break_line): Updated.
2976 Update tag handling.
2977 (environment::add_html_tag): Replaced with...
2978 (environment::make_tag): New function.
2979 (environment::add_html_tag_tabs, environment::make_html_tag): Removed.
2980 (environment::dump_troff_state): New debugging function.
2981 (environment::construct_state, environment::construct_format_state,
2982 environment::construct_new_line_state): New functions.
2983 (environment::do_break): Updated.
2984 Handle `global_diverted_space'.
2985 (environment::handle_tag): Update tag handling.
2986 (point_size, fill, do_break_request): Don't call `add_html_tag'.
2987 (no_fill): Don't call `add_html_tag'.
2988 Set `suppress_next_eol'.
2989 (center, right_justify, line_length, indent, temporary_indent,
2991 Update tag handling.
2993 * src/roff/troff/input.cpp: Don't include `stringclass.h'.
2994 (input_iterator): New variables `is_diversion', `diversion_state'.
2995 Update constructors.
2996 (input_stack): New member functions `get_div_level',
2997 `get_diversion_state', `check_end_diversion'.
2998 New variables `div_level', `diversion_state'. Initialize them.
2999 (suppress_push, global_diverted_space): New global variables.
3000 (input_stack::finish_get, input_stack::finish_peek,
3001 input_stack::remove_boundary, input_stack::end_file,
3002 input_stack::clear, input_stack::pop_macro): Call
3003 `check_end_diversion'.
3004 (input_stack::push): Handle `div_level' and `diversion_state'.
3005 (get_diversion_state): New function.
3006 (diverted_space_node::reread): Handle `global_diverted_space'.
3007 (macro::macro): Update constructors.
3008 (macro::is_diversion): New function.
3009 (macro::operator=): Set `is_a_diversion'.
3010 (string_iterator): New member function `is_diversion'.
3011 (string_iterator::string_iterator): Update constructors.
3012 (string_iterator::fill): Set `div_nest_level'.
3013 (macro_iterator): New member function `is_diversion'.
3014 (do_if_request): Handle `suppress_push'.
3015 (tag, taga): New functions.
3016 (init_input_requests): Add `tag' and `taga' requests.
3018 2004-10-05 Gaius Mulley <gaius@glam.ac.uk>
3020 * src/include/font.h (font): New member function
3021 `get_image_generator'.
3022 New variables `unscaled_charwidths' and `image_generator'.
3024 * src/libs/libgroff/font.cpp (font::get_width): Always return the
3025 character's unscaled width if `font::unscaled_charwidths' is set.
3026 (font::get_image_generator): New function.
3027 (font::load_desc): Check the `unscaled_charwidths' and
3028 `image_generator' keywords.
3030 * src/libs/libgroff/fontfile.cpp: Initialize
3031 `font::unscaled_charwidths' and `font::image_generator'.
3033 * font/devhtml/DESC.proto: s/html/unscaled_charwidths/.
3035 * font/devhtml/Makefile.sub (DESC): Set `image_generator' keyword.
3037 * man/groff_font.man: Document `unscaled_charwidths' and
3040 * src/preproc/html/pre-html.cpp: Include `device.h'.
3041 (image_gen): New global variable.
3042 (imageList::createPage): Use `image_gen'.
3043 (main): Use `image_generator' keyword.
3045 2004-10-04 Gaius Mulley <gaius@glam.ac.uk>
3047 * tmac/html.tmac: Handle \[sqrtex].
3049 2004-10-04 Gaius Mulley <gaius@glam.ac.uk>
3051 * src/include/printer.h (printer): New virtual method `round_width'.
3053 * src/devices/grodvi/dvi.cpp, src/devices/grolbp/lbp.cpp,
3054 src/devices/grolj4/lj4.cpp, src/devices/grops/ps.cpp,
3055 src/devices/grotty/tty.cpp (printer::round_width): New function
3058 * src/devices/grohtml/post-html.cpp (printer::round_width): New
3060 (html_printer::set_numbered_char): Use it.
3062 2004-10-03 Gaius Mulley <gaius@glam.ac.uk>
3064 * aclocal.m4 (GROFF_GHOSTSCRIPT_PATH): New macro.
3066 * configure.ac: Call GROFF_GHOSTSCRIPT_PATH.
3068 * configure: Regenerated.
3070 * Makefile.in (GHOSTSCRIPT): New variable.
3071 (MDEFINES): Add GHOSTSCRIPT.
3073 2004-10-03 Werner LEMBERG <wl@gnu.org>
3075 * INSTALL.gen: Updated (taken from texinfo CVS).
3077 2004-09-28 Werner LEMBERG <wl@gnu.org>
3081 2004-09-28 Heinz-Jürgen Oertel <hj.oertel@surfeu.de>
3083 * tmac/groff_www.man: Revised and updated.
3085 2004-09-26 Werner LEMBERG <wl@gnu.org>
3087 Fix \$@ and \$* to handle any number of arguments.
3089 * src/roff/troff/input.h (BEGIN_QUOTE, END_QUOTE): New special
3092 * src/roff/troff/input.cpp (input_iterator::internal_level):
3094 (input_stack): New member functions `increase_level' and
3096 (input_stack::get_level): Don't use `internal_level'.
3097 (get_copy, token::next): Handle BEGIN_QUOTE and END_QUOTE.
3098 (end_quote_iterator): Completely removed.
3099 (interpolate_arg): Build string for \$@ and \$* which is then
3100 pushed onto the input stack.
3102 2004-09-23 Keith Marshall <keith.d.marshall@ntlworld.com>
3104 * tmac/groff_ms.man, doc/groff.texinfo (ms Document Control
3105 Registers): Document changes from 2004-09-19.
3107 2004-09-23 Werner LEMBERG <wl@gnu.org>
3109 * tmac/an-old.tmac (ne): Using default scaling operator.
3111 2004-09-19 Keith Marshall <keith.d.marshall@ntlworld.com>
3113 This change implements the following features:
3116 New numeric register: Defines number of lines following LP, PP,
3117 QP, IP or XP, which must be kept together, before any automatic
3118 page break. If insufficient space remains on the current page, a
3119 page break is forced before the new paragraph begins.
3122 New numeric register: Sets number of lines of following paragraph
3123 which must be kept with a heading, defined by NH or SH, before any
3124 automatic page break. If insufficient space remains on the
3125 current page, a page break is forced before the heading.
3128 (Thanks to Joerg van den Hoff, for this idea).
3130 New numeric register: Sets the first level of heading (set with
3131 NH), which will keep the same point size as body text; e.g. if
3132 GROWPS is set to 3, .NH 3, .NH 4, ... will produce headings at the
3133 point size specified by \n[PS], but .NH 2 and .NH 1 will have
3134 progressively larger point sizes, determined by \n[PSINCR] (see
3138 New numeric register: Sets the point size increment for each level
3139 of heading, (set with NH), below the threshold level set by
3140 GROWPS; e.g. if \n[PS] = 10, \n[GROWPS] = 3 and \n[PSINCR] = 2.0p,
3141 then .NH 1 will produce 14pt headings, .NH 2 will produce 12pt,
3142 and all other levels will remain at 10pt, (because \n[PS] = 10).
3145 Existing macro now accepts a numeric argument, to make heading
3146 size match that of NH with same argument value, when the
3147 GROWPS/PSINCR feature is enabled.
3150 New string, set by NH macro, replaces the existing (undocumented)
3151 use of SN, to represent the assigned section number.
3154 New string, set by NH macro, represents the assigned section
3155 number, but omits the terminal period (periods at intermediate
3156 levels are retained).
3159 String set by NH macro, originally undocumented, now implemented
3160 as an alias for SN-DOT (which reproduces original behaviour).
3162 * tmac/s.tmac (PORPHANS): New register.
3163 (par*start): Use it.
3164 (HORPHANS, GROWPS, PSINCR): New registers.
3165 (SH-NO-TAG, @SH): Use them.
3168 2004-09-19 Keith Marshall <keith.d.marshall@ntlworld.com>
3170 * NEWS, doc/groff.texinfo (ms Display and Keeps), tmac/groff_ms.man:
3171 Document the deletion of `Ds' and `De' macros.
3173 2004-09-10 Werner LEMBERG <wl@gnu.org>
3175 In tbl, handle \a as an interpreted leader character if in
3178 * src/preproc/tbl/table.h (PREFIX, PREFIX_CHAR, LEADER,
3179 LEADER_CHAR): New macros.
3180 (compatible_flag): New declaration.
3182 * src/preproc/tbl/main.cpp (table_input): Add LEADER_1, LEADER_2,
3183 LEADER_3, and LEADER_4 to `state'.
3184 (table_input::get): Handle `\a'.
3186 * src/preproc/tbl/table.cpp (PREFIX): Removed.
3187 (LEADER_REG): New macro.
3188 (table::init_output): Define LEADER_REG string register if in
3191 * src/preproc/tbl/tbl.man: Document it.
3193 2004-08-18 Werner LEMBERG <wl@gnu.org>
3195 * tmac/doc.tmac (An): Fix error message.
3197 2004-08-06 Werner LEMBERG <wl@gnu.org>
3199 * src/preproc/tbl/main.cpp (main): Call `fatal' not `error' if a
3200 file can't be opened. UNIX tbl has the same behaviour.
3202 2004-08-05 Y T <doarhop@hotmail.com>
3204 * src/preproc/grn/hdb.cpp (compatibility_flag): Add declaration.
3205 (DBRead): If in compatibility mode, take into account the text
3206 when computing figure boundaries.
3208 2004-08-05 Werner LEMBERG <wl@gnu.org>
3210 * src/preproc/soelim/soelim.man: Improved. Based on suggestions
3211 from Tadziu Hoffmann.
3213 2004-08-03 Werner LEMBERG <wl@gnu.org>
3215 * doc/meref.me: Document `_M' register.
3217 2004-08-03 Martin Husemann <martin@duskware.de>
3219 Make hpftodit work correctly on big-endian systems.
3221 * src/utils/hpftodit/hpftodit.cpp (File): New method
3222 `get_uint32(char *)'.
3223 (entry): New member `orig_value'.
3224 (read_tags): Use new method.
3225 (output_font_name, read_and_output_pcltypeface, dump_ascii):
3228 2004-08-01 Werner LEMBERG <wl@gnu.org>
3230 * tmac/s.tmac: Undo change 2003-06-29. The proper macro definitions
3231 are already in X11's `macros.t' file.
3233 2004-08-01 Jeff Conrad <jeff_conrad@msn.com>
3235 * src/utils/hpftodit/hfptodit.cpp (output_font_name, dump_ascii):
3237 (read_and_output_pcltypeface): Handle strings with length <= 4.
3239 2004-07-27 Egil Kvaleberg <egil@kvaleberg.no>
3241 * tmac/s.tmac (pg@top): Don't save `PO' register.
3242 (pg*end-col, pg*end-page): Directly use `PO' register.
3244 2004-07-27 Werner LEMBERG <wl@gnu.org>
3246 * man/groff_tmac.man: Mention `trace' and `pic' macro packages.
3248 * src/preproc/refer/refer.cpp (output_references): Check for
3250 * src/preproc/refer/refer.man: Improve documentation of
3251 `bibliography' command.
3253 2004-07-26 Werner LEMBERG <wl@gnu.org>
3255 Add requests `fcolor' and `gcolor'.
3257 * src/roff/troff/env.cpp (fill_color_change, glyph_color_change):
3259 (init_env_requests): Add `fcolor' and `gcolor'.
3261 * src/roff/troff/input.h: Export do_glyph_color and do_fill_color.
3263 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo
3264 (Colors): Document new requests.
3266 2004-07-24 Werner LEMBERG <wl@gnu.org>
3268 Add support for fractional point sizes in ms macros. A value for
3269 PS, VS, FPS, and FVS greater than or equal to 1000 is always divided
3270 by 1000. For example, `.nr PS 10250' sets the font size to 10.25p.
3272 * tmac/s.tmac (@AU, @AI, par@load-init, par@init, par@reset, NL,
3273 PX): Handle fractional point sizes for PS, VS, FPS, and FVS.
3275 * tmac/groff_ms.man, docs/groff.texinfo (ms Document Control
3276 Registers), NEWS: Document it.
3278 2004-07-19 Werner LEMBERG <wl@gnu.org>
3280 * src/preproc/pic/lex.cpp (for_input): Add member `from'.
3282 (do_for, for_input::get, for_input::peek): Handle negative `by'.
3283 * src/preproc/pic/pic.man, doc/pic.ms, NEWS: Document it.
3285 2004-07-08 Thomas Klausner <wiz@netbsd.org>
3287 * tmac/doc-syms (doc-str-St--p1003.1-2004): New string.
3288 * tmac/groff_mdoc.man: Updated.
3290 2004-07-05 Werner LEMBERG <wl@gnu.org>
3292 * doc/groff.texinfo (Manipulating Hyphenation): Further improve
3293 documentation of `hcode'.
3295 2004-07-04 Sang Dae Yu <sdyu@bh.knu.ac.kr>
3297 Improve appearance of arrows in pic.
3299 * src/preproc/pic/object.cpp (draw_arrow): Make outline of filled
3301 Use two line segments for drawing non-filled arrow head.
3302 (line_object::print, spline_object::print): Shorten line length to
3303 avoid arrow sticking.
3304 (arc_object::print): Take arrow direction into account.
3306 2004-07-03 Heinz-Jürgen Oertel <hj.oertel@surfeu.de>
3308 * tmac/groff_www.man: Update documentation of .MPIMG.
3310 2004-07-03 Werner LEMBERG <wl@gnu.org>
3312 * tmac/an-old.tmac (RI): Always start with font `R'.
3313 (RI, IR): Properly end with font `R'.
3315 2004-07-02 Paul Eggert <eggert@cs.ucla.edu>
3317 * man/ditroff.man, man/groff_font.man, man/groff_out.man,
3318 src/devices/grohtml/grohtml.man, src/preproc/grn/grn.man,
3319 src/preproc/pic/pic.man, tmac/groff_man.man, tmac/groff_ms.man:
3320 Don't pass more than six arguments to .R, .I, .B, etc., for
3321 compatibility with traditional troff macros.
3323 2004-07-02 Werner LEMBERG <wl@gnu.org>
3325 * src/roff/troff/input.h: s/COMPATIBLE_SAVE/PUSH_GROFF_MODE/.
3326 s/COMPATIBLE_RESTORE/POP_GROFFCOMP_MODE/.
3328 (PUSH_COMP_MODE): New internal character constant.
3331 * src/roff/troff/input.cpp (get_copy): Handle PUSH_GROFF_MODE,
3332 PUSH_COMP_MODE, and POP_GROFFCOMP_MODE.
3333 (token::next, macro::append): Handle PUSH_COMP_MODE.
3334 (decode_args): Add PUSH_GROFF_MODE or PUSH_COMP_MODE before and
3335 POP_GROFFCOMP after each of the decoded arguments to make them
3336 independent from the compatibility mode status.
3337 (comp_mode): Add `COMP_ENABLE'.
3338 (do_define_string, do_define_macro): Handle COMP_ENABLE.
3339 (define_string, append_string, define_macro, define_indirect_macro,
3340 append_macro, append_indirect_macro): Handle `compatible_flag'.
3341 (chop_macro, substring_request, asciify): Handle PUSH_COMP_MODE.
3343 * man/groff_diff.man, doc/groff.texinfo: Updated.
3345 2004-07-01 Werner LEMBERG <wl@gnu.org>
3347 * doc/groff.texinfo: Improve documentation of `hcode'.
3348 Use @documentencoding and convert document to latin-1; to do that
3349 make latin characters active and assign proper macros (within a
3350 @tex...@end tex environment).
3351 * doc/Makefile.in (.texinfo.html, groff): Use --enable-encoding.
3352 * doc/Makefile.sub (groff): Ditto.
3354 2004-06-29 Werner LEMBERG <wl@gnu.org>
3356 Implement two new conditional operators `F <name>' and `S <name>'
3357 which check whether <name> is a valid font or style, respectively.
3359 * src/libs/libgroff/font.cpp (text_file): Add `silent' member.
3360 (text_file::text_file): Updated.
3361 (text_file::error): Don't emit message if `silent' is set.
3362 (font::load_font): Add optional third argument (which is directly
3364 (font::load): Add optional second argument to check the header of
3365 a font only, without emitting warning or error messages.
3366 * src/include/font.h (font): Updated.
3368 * src/roff/troff/input.cpp (do_if_request): Implement `S' and `F'
3370 * src/roff/troff/node.cpp (mount_font_no_translate): Add optional
3371 fourth argument to check a font without mounting.
3372 (check_font, check_style): New functions.
3373 * src/roff/troff/node.h: Updated.
3375 * man/groff_diff.man, man/groff.man, NEWS, doc/groff.texinfo:
3378 2004-06-27 Werner LEMBERG <wl@gnu.org>
3380 Implement new string-valued register `.sty' to return the current
3383 * env.cpp (environment::get_style_name_string): New function.
3384 (init_env_requests): Add `.sty' register.
3385 * env.h (environment): Updated.
3386 * node.cpp (font_info): Make `get_style_name' a friend.
3387 (get_style_name): New function.
3390 * man/groff_diff.man, man/groff.man, NEWS, doc/groff.texinfo:
3393 2004-06-15 Werner LEMBERG <wl@gnu.org>
3395 * src/preproc/tbl/main.cpp (process_data) <GOT_RIGHT_BRACE>: Handle
3398 2004-06-10 Colin Percival <colin.percival@wadham.ox.ac.uk>
3400 * doc/meintro.me, doc/meref.me: Don't use \*[td], \n[dy], \*[mo],
3401 and \n[mo] to avoid dependency on current date.
3403 2004-06-08 Werner LEMBERG <wl@gnu.org>
3405 * Makefile.sub (install_data): New target.
3407 2004-06-04 Werner LEMBERG <wl@gnu.org>
3409 * src/libs/libxutil/Makefile.sub (EXTRA_CFLAGS): Define.
3411 2004-06-03 Werner LEMBERG <wl@gnu.org>
3413 * src/devices/xditview/Makefile.sub (EXTRA_LDFLAGS): Fix typo and
3415 (install_data): Add $(srcdir).
3417 * src/utils/xtotroff/Makefile.sub (EXTRA_LDFLAGS): Fix order of
3420 2004-06-02 Werner LEMBERG <wl@gnu.org>
3422 * aclocal.m4 (GROFF_X11): s/have_no_x/groff_no_x/.
3423 Add X11 stuff to CFLAGS, LDFLAGS, and LIBS temporarily.
3424 Add test for Xmu library.
3425 (GROFF_APPRESDIR_OPTION, GROFF_APPRESDIR_CHECK,
3426 GROFF_APPRESDIR_DEFAULT): New macros.
3428 * configure.ac: Call GROFF_APPRESDIR_OPTION, GROFF_APPRESDIR_CHECK,
3429 and GROFF_APPRESDIR_DEFAULT.
3431 * configure: Regenerated.
3433 * Makefile.in (appresdir): New variable.
3434 (MDEFINES): Add appresdir.
3436 * src/devices/xditview/Makefile.sub (EXTRA_LDFLAGS): Add -Xmu and
3438 (install_data, uninstall_sub): New targets to handle GXditview.ad.
3440 * src/utils/indxbib/Makefiles.ub (install_data): Depend on
3441 `$(srcdir)/eign', not `eign'.
3443 * MANIFEST, INSTALL, NEWS, PROBLEMS: Updated.
3445 * man/groff_out.man, man/roff.man, src/devices/grops/grops.man,
3446 src/devices/xditview/gxditview.man, src/roff/groff/groff.man:
3447 Protect (g)xditview with `\%' to avoid hyphenation.
3448 Other minor formatting.
3450 2004-06-01 Werner LEMBERG <wl@gnu.org>
3452 Integrate gxditview into groff's standard directory hierarchy.
3454 * src/xditview/*: Moved to ...
3455 * src/devices/xditview/*: Here.
3456 Moved DviChar.h and XFontName.h to src/include.
3457 Moved DviChar.c and XFontName.c to new directory src/libs/libxutil.
3458 Split off `xmalloc' into new file src/libs/libxutil/xmalloc.c.
3459 Moved xtotroff.c to new directory src/utils/xtotroff.
3460 Provide proper Makefile.sub files (reusing the stuff from
3462 DESC renamed to DESC.in.
3463 Removed GXDitview-ad.h, INSTALL, Imakefile.in.
3464 Converted everything from K&R to ANSI C.
3465 Decorated with const where appropriate.
3466 Cast string constants with `String' and `char *' where appropriate.
3467 Made it compile with C++ (used as a C compiler).
3468 Removed other minor compiler warnings.
3470 * src/devices/xditview/device.c: Include config.h, string.h, and
3472 Don't declare `exit', `strtok', `strchr', and `getenv'.
3475 * src/devices/xditview/font.c: Don't declare `XParseFontName' and
3478 * src/devices/xditview/xditview.c: Include config.h.
3479 Include stdio.h earlier.
3480 Protect declaration of `popen' and `pclose' with
3481 NEED_DECLARATION_POPEN and NEED_DECLARATION_PCLOSE.
3482 Replace `caddr_t' with `XtPointer'.
3483 (MakePromptFunc): New typedef.
3484 (DoPrint): Use RETSIGTYPE.
3485 (promptfunction): Change type to MakePromptFunc.
3486 (MakePrompt): Use MakePromptFunc for third argument.
3489 * src/devices/xditview/ad2c: Add casts to `String'.
3491 * src/include/XFontName.h (XFontNameString): Don't use array
3493 Add prototypes for `XParseFontName', `XFormatFontName',
3494 `XCompareFontName', and `XCopyFontName'.
3496 * src/include/Makefile.sub (HDRS): Add `DviChar.h' and
3499 * src/utils/xtotroff/xtotroff.c: Include getopt.h.
3500 Don't declare `XParseFontName' and `XFormatFontName'.
3502 (main): Remove `optind' and `optarg'.
3504 * Makefile.in (XDEVDIRS, XPROGDIRS, XLIBDIRS): New variables
3505 (to select programs which need X).
3506 Make XDEVIDIRS depend on `FORCE'.
3507 (X_CFLAGS, X_LIBS, X_EXTRA_LIBS, X_PRE_LIBS): New variables (for
3509 (MDEFINES): Updated.
3510 (LIBDIRS): Use XLIBDIRS.
3511 (CPROGDIRS): Use XPROGDIRS.
3512 (DEVDIRS): Remove font directories for gxditview.
3513 (ALLDIRS, DISTDIRS): Add XDEVDIRS.
3514 (EXTRADIRS): Remove src/xditview.
3516 * Makefile.sub (DISCLEANFILES): Updated.
3518 * Makefile.comm (LIBXUTIL): New variable.
3519 (.cpp.o, .cpp.obj): Handle EXTRA_CCFLAGS.
3520 (.c.o, .c.obj, .y.o): Handle EXTRA_CFLAGS.
3522 * Makefile.cpg, Makefile.ccpg ($PROG): Handle EXTRA_LDFLAGS.
3524 * aclocal.m4 (GROFF_X11): New function.
3526 * configure.ac: Call GROFF_X11.
3527 Don't create src/xditview/Imakefile.
3528 Don't emit notice how to build gxditview.
3530 * configure: Regenerated.
3532 * test-groff.in (GROFF_BIN_PATH, XENVIRONMENT): Updated.
3534 2004-05-28 Akihiro Sagawa <sagawa@sohgoh.net>
3536 * Makefile.in (CPPFLAGS): Define.
3537 (MDEFINES): Add CPPFLAGS.
3539 2004-05-27 Werner LEMBERG <wl@gnu.org>
3541 * arch/misc/Makefile.sub (shdeps.sed): Use $(srcdir).
3543 2004-05-26 Niklas Edmundsson <nikke@acc.umu.se>
3545 Fix problems with `friend name injections'.
3547 * src/preproc/eqn/box.h (make_mark_box, make_lineup_box,
3548 make_script_box), src/roff/troff/div.h (end_diversions),
3549 src/roff/troff/env.h (title), input.cpp (process_input_stack): Undo
3552 2004-05-25 Bernd Warken <bwarken@mayn.de>
3554 * src/preproc/pic/pic.man, doc/pic.ms: Add example for `command'.
3556 2004-05-25 Werner LEMBERG <wl@gnu.org>
3558 * src/libs/libgroff/cset.cpp, src/libs/libgroff/lf.cpp,
3559 src/libs/libgroff/color.cpp: Include lib.h.
3561 2004-05-25 Paul Eggert <eggert@cs.ucla.edu>
3563 * PROBLEMS: Update documentation for problems with Sun C++ 5.0
3564 through Forte 6u1, and for how to get GNU make on Solaris.
3566 2004-05-24 Werner LEMBERG <wl@gnu.org>
3568 * PROBLEMS: Document problems with gcc 3.4.0 on Sun. Reported
3571 2004-05-15 Keith Marshall <keith.d.marshall@ntlworld.com>
3573 * arch/misc/Makefile.sub (shdeps.sed): Don't use `$<' in explicit
3576 2004-05-14 Werner LEMBERG <wl@gnu.org>
3578 * REVISION: Set to 2.
3580 * aclocal.m4 (GROFF_STDINT_H): Removed.
3581 (GROFF_INTTYPES_H): Define HAVE_CC_INTTYPES_H.
3583 * configure.ac: Updated.
3584 * configure, src/include/config.hin: Regenerated.
3586 * src/libs/libgroff/tmpname.cpp: Don't include stdint.h but
3587 inttypes.h conditionally.
3589 2004-05-13 Werner LEMBERG <wl@gnu.org>
3591 Version 1.19.1 released
3592 =======================
3594 2004-05-10 Stephen Gildea <http://www.gildea.com/stephen>
3596 * src/preproc/refer/label.y (same_author_last_name,
3597 same_author_name): Handle empty sort keys.
3599 2004-05-10 Werner LEMBERG <wl@gnu.org>
3601 * NEWS, README, TODO, PROJECTS, PROBLEMS, MANIFEST, doc/webpage.ms,
3604 * tmac/doc-syms (doc-str-Lb-libposix, doc-str-Lb-libpthread,
3605 doc-str-Lb-librt): Reset font.
3606 (Lb): Rename `doc-str-Lb' to `doc-str-Lb1'.
3607 Provide `doc-str-Lb' to reset font.
3608 * tmac/groff_mdoc.man: Updated.
3610 2004-05-08 Jan Schaumann <jschauma@netmeister.org>
3612 * src/preproc/html/pre-html.cpp (make_message): Make it work for
3613 snprintf versions which don't conform to ANSI C 99 (this is,
3614 counting the string's trailing null byte in the return value).
3616 2004-05-07 Keith Marshall <keith.d.marshall@ntlworld.com>
3618 * src/roff/troff/node.cpp (suppress_node::tprint): Don't expect
3619 that all implementations of sprintf handle null pointers correctly.
3621 2004-05-04 Werner LEMBERG <wl@gnu.org>
3623 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
3624 Document `.U' register.
3626 * src/roff/troff/env.cpp (environment::mark_last_line)
3627 [WIDOW_CONTROL]: Fix scope of `p' for new C++ compilers.
3629 2004-05-04 Larry Kollar <kollar@alltel.net>
3631 New read-only register `.U'; it returns 1 in safer mode and 0
3634 * src/roff/troff/input.cpp (init_input_requests): Implement `.U'
3637 2004-05-03 Werner LEMBERG <wl@gnu.org>
3639 * install-sh, mkinstalldirs: New versions; taken from texinfo CVS.
3641 2004-04-17 Werner LEMBERG <wl@gnu.org>
3643 * src/include/font.h (font): Use `int' for ch_index.
3644 * src/libs/libgroff/font.cpp (font::alloc_ch_index,
3645 font::compact): Updated.
3647 * src/roff/groff/pipeline.c (run_pipeline) [_WIN32]: Fix compiler
3650 * src/roff/troff/div.cpp (begin_page), src/roff/troff/env.cpp
3651 (hyphen_word): Fix compiler warnings.
3652 * src/roff/troff/input.cpp (get_char_for_escape_name): Return
3655 (get_delim_number, get_line_arg): Change second argument type to
3657 (macro_header::copy, token::next, do_define_string,
3658 do_define_character, substring_request, asciify_macro,
3659 unformat_macro, read_size, non_interpreted_node::interpret,
3660 while_request, main: Fix compiler warnings.
3661 (read_color_draw_node): Initialize `col'.
3663 * src/preproc/tbl/table.cpp (horizontal_span, table_entry): Make
3664 `start_col' and `end_col' of type `int'.
3665 (vertical_rule): Make `col' of type `int'.
3667 * src/preproc/grn/hdb.cpp (DBRead): Protect call to getc with check
3670 * src/preproc/refer/label.y (uppercase_array, lowercase_array):
3672 (format_serial): Use them to remove dependency on ASCII.
3674 * src/devices/grops/ps.cpp (ps_printer::define_encoding): Fix
3676 * src/devices/grops/psrm.cpp (resource_manager::supply_resource):
3679 * src/devices/grotty/tty.cpp (tty_font::load_tty_font): Fix
3681 (glyph): Change type of `hpos' to `int'.
3683 * src/devices/lbp/lbp.cpp (strsep): Removed. Unused.
3684 * src/devices/lbp/lbp.h (splinerel): Fix compiler warnings.
3686 * src/utils/tfmtodit.cpp (gf::load): Fix compiler warnings.
3688 * src/utils/pfbtops/pfbtops.c (get_text): Fix compiler warning.
3690 2004-04-16 Werner LEMBERG <wl@gnu.org>
3692 * src/devices/grolbp/lbp.h, src/preproc/grn/gprint.h,
3693 src/preproc/grn/hgraph.cpp, src/preproc/grn/hpoint.cpp,
3694 src/preproc/html/pushback.cpp, src/preproc/html/pushback.h: Use
3695 `double' instead of `float' everywhere.
3696 * src/preproc/grn/main.cpp: Use `double' instead of `float'
3698 (main): Add return value.
3699 * src/preproc/grn/hdb.cpp: Use `double' instead of `float'
3701 Update all user functions.
3703 * src/include/search.h, src/include/ptable.h, src/include/printer.h,
3704 src/preproc/eqn/box.h, src/preproc/pic/object.h,
3705 src/preproc/refer/refer.h, src/preproc/tbl/table.h,
3706 src/preproc/tbl/table.cpp, src/roff/troff/env.h,
3707 src/roff/troff/div.h, src/roff/troff/token.h, src/roff/troff/node.h,
3708 src/roff/troff/input.cpp, src/roff/troff/request.h,
3709 src/roff/troff/node.cpp: Don't mix `struct' and `class' in forward
3712 * src/utils/indxbib/signal.c: Include stdlib.h.
3714 2004-04-14 Keith Marshall <keith.d.marshall@ntlworld.com>
3716 * tmac/s.tmac (@init, RP): Allow initialization of the PO register
3717 before the first page.
3719 2004-04-14 Thomas Klausner <wiz@netbsd.org>
3721 * tmac/doc-common (doc-volume-as-*): Use lowercase names.
3722 (doc-operating-system-*): Updated.
3723 * tmac/doc-syms (doc-str-St-*): Various small fixes.
3724 (doc-str-Lb-*): Add more library names.
3726 2004-04-10 Art Haas <ahaas@airmail.net>
3728 * src/utils/hpftodit/hpuni.cpp (hp_msl_to_unicode_list): Don't
3731 2004-04-09 Art Haas <ahaas@airmail.net>
3733 * src/utils/tfmtodit.cpp (lig_chars): Don't use anonymous type.
3735 2004-04-09 Keith Marshall <keith.d.marshall@ntlworld.com>
3737 * arch/misc/shdeps.sh: Generate better comment for sed script.
3739 2004-04-08 Art Haas <ahaas@airmail.net>
3741 * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list),
3742 src/libs/libgroff/uniglyph.cpp (unicode_to_glyph_list),
3743 src/libs/libgroff/uniuni.cpp (unicode_decompose_list),
3744 src/preproc/eqn/box.cpp (param_table), src/preproc/grn/hgraph.cpp
3745 (polyfill), src/preproc/grn/main.cpp (polyfill),
3746 src/preproc/refer/command.cpp (command_table),
3747 src/utils/tfmtodit.cpp (lig_table): Don't use anonymous types (which
3748 gcc 3.5 doesn't like).
3750 2004-04-08 Werner LEMBERG <wl@gnu.org>
3752 Removing many compiler warnings. groff should now compile with
3753 a C++ compiler used for C files also. [Simple variable renamings
3754 to avoid shadowing aren't logged in detail.]
3756 * src/devices/grodvi/dvi.cpp: Some local variable renamings.
3757 (draw_dvi_printer::draw) ['c']: Enclose in block.
3759 * src/devices/grohtml/post-html.cpp: Some local variable renamings.
3760 (page::add_line): Fix typos.
3761 * src/devices/grohtml/html-text.cpp: Some local variable renamings.
3763 * src/devices/grolbp/lbp.cpp: Don't define _GNU_SOURCE.
3764 Some local variable renamings.
3765 * src/devices/grolbp/lbp.h: Some local variable renamings.
3767 * src/devices/grolj4/lj4.cpp, src/devices/grotty/tty.cpp: Some local
3770 * src/libs/libbib/index.cpp (index_search_item_iterator::get_tag):
3771 Remove redundant local variable declaration.
3772 * src/libs/libbib/map.c (mapread, unmap): Don't use K&R style.
3773 Don't use `caddr_t' but `void *'.
3774 Enclose functions with `extern "C"' for C++.
3776 * src/libs/libdriver/input.cpp (remember_filename,
3777 remember_source_filename): Use cast for string constant.
3779 * src/libs/libgroff/font.cpp, src/libs/libgroff/fontfile.cpp,
3780 src/libs/libgroff/nametoindex.cpp, src/libs/libgroff/paper.cpp,
3781 src/libs/libgroff/geometry.cpp: Some local variable renamings.
3782 * src/libs/libgroff/iftoa.c, src/libs/libgroff/itoa.c: Don't use K&R
3784 Enclose functions with `extern "C"' for C++.
3785 * src/libs/libgroff/quotearg.c (TRUE,FALSE): Define as macros.
3786 (needs_quoting): Return `int'.
3787 (quote_arg): Add proper casts to malloc and realloc.
3788 * src/libs/libgroff/spawnvp.c: Compile code only for MS-DOS and
3789 various MS Windows environments.
3790 (spawnvp_wrapper): Add proper cast to malloc.
3792 * src/preproc/eqn/box.h: Remove redundant declarations of
3793 `make_script_box', `make_mark_box' and `make_lineup_box'.
3794 * src/preproc/eqn/eqn.y: Remove redundant declaration of `strsave'.
3795 * src/preproc/eqn/script.cpp, src/preproc/eqn/pile.cpp: Some local
3798 * src/preproc/grn/hpoint.cpp: Some local variable renamings.
3799 * src/preproc/grn/hgraph.cpp: Some local variable renamings.
3800 (dx, dy): Renamed functions to...
3801 (deltax, deltay): This.
3802 * src/preproc/grn/main.cpp: Some local variable renamings.
3803 (deffont): Add `const'.
3804 (initpic, conv): Use cast for string constant.
3806 * src/preproc/html/pre-html.cpp: Some local variable renamings.
3807 (makeFileName, alterDeviceTo, addZ): Use cast for string constant.
3808 (char_buffer::run_output_filter): Second argument is unused.
3809 * src/preproc/html/pushback.cpp: Some local variable renamings.
3811 * src/preproc/pic/pic.y: Remove redundant declaration of `do_copy'.
3812 * src/preproc/pic/object.cpp: Some local variable renamings.
3814 * src/preproc/refer/label.y (lookup_label): Remove redundant
3815 declaration of local variable.
3817 * src/preproc/soelim.cpp: Remove redundant declaration of
3818 `interpret_lf_args'.
3820 * src/preproc/tbl/main.cpp: Some local variable renamings.
3822 * src/roff/groff/groff.cpp (main): Use cast for string constant.
3823 * src/roff/groff/pipeline.c: Enclose declarations of `error',
3824 `c_fatal', and `i_to_a' with `extern "C"' for C++.
3825 Don't use C++-style comments.
3827 * src/roff/troff/env.h: Remove redundant declaration of `title'.
3828 * src/roff/troff/node.h, src/roff/troff/env.cpp,
3829 src/roff/troff/div.cpp, src/roff/troff/node.cpp: Some local variable
3831 * src/roff/troff/div.h: Remove redundant declaration of
3833 * src/roff/troff/troff.h: Remove redundant declaration of
3835 * src/roff/troff/input.cpp: Remove redundant declaration of
3836 `handle_first_page_transition' and `process_input_stack'.
3838 * src/utils/hpftodit.cpp: Some local variable renamings.
3840 * src/utils/indxbib/signal.c: Enclose functions with `extern "C"'
3842 Don't define RETSIGTYPE.
3843 * src/utils/indxbib/indxbib.cpp: Some local variable renamings.
3845 * src/utils/pfbtops/pfbtops.cpp: Don't use K&R style.
3846 (error): Use `const' in argument.
3847 (main): Remove redundant declaration of `optind'.
3848 Move declaration of `Version_string' to top-level.
3850 * PROBLEMS: Document difficulties compiling signal.c if a C++
3851 compiler is used for C.
3853 2004-04-07 Werner LEMBERG <wl@gnu.org>
3855 * Makefile.sub (DISTCLEANFILES): Add `test-groff'.
3857 2004-04-06 Keith Marshall <keith.d.marshall@ntlworld.com>
3859 Make scripts like nroff.sh and neqn.sh portable across various
3860 (Unix-like) shell implementations from Cygwin, MSYS, etc., which use
3861 non-POSIX path separators. The idea is to extend those scripts to
3862 decide at run-time (of the script) which path separator to use.
3864 * arch/misc/Makefile.sub: New file.
3865 * arch/misc/shdeps.sh: New file, generating OS dependency fixups.
3866 This script handles @GROFF_BIN_PATH_SETUP@, replacing it with
3867 a proper definition of the variable `GROFF_RUNTIME'.
3869 * Makefile.in (SH_DEPS_SED_SCRIPT): New variable.
3870 (MDEFINES): Add SH_DEPS_SED_SCRIPT.
3871 (PROGDEPDIRS): New variable.
3873 (PROGDIRS): Add PROGDEPDIRS.
3875 * src/preproc/eqn/Makefile.sub (neqn): Call SH_DEPS_SED_SCRIPT.
3876 Don't substitute @SEP@ and @BINDIR@.
3877 * src/preproc/eqn/neqn.sh: Use @GROFF_BIN_PATH_SETUP@.
3878 (PATH): Use GROFF_RUNTIME.
3880 * src/roff/nroff/Makefile.sub (nroff): Call SH_DEPS_SED_SCRIPT.
3881 Don't substitute @SEP@ and @BINDIR@.
3882 * src/roff/nroff/nroff.sh: Use @GROFF_BIN_PATH_SETUP@.
3883 (PATH): Use GROFF_RUNTIME.
3885 2004-04-05 Keith Marshall <keith.d.marshall@ntlworld.com>
3887 * src/roff/nroff/nroff.sh: Implement work-around for sh.exe from
3888 Cygwin which doesn't handle stderr correctly.
3890 2004-03-08 Werner LEMBERG <wl@gnu.org>
3892 * Makefile.comm (install_dev, uninstall_dev): Protect `for' loops
3893 against empty argument. Problem reported by <cgd@broadcom.com>.
3895 2004-03-05 Keith Marshall <keith.d.marshall@ntlworld.com>
3897 * Makefile.in (SEP): Replaced with...
3898 (RT_SEP, SH_SEP): Separators for the target platform's native path
3899 separator and the build environment, respectively.
3900 (fontpath, tmacpath): Use RT_SEP.
3901 (MDEFINES): Updated.
3903 * contrib/mom/Makefile.sub (GROFF_BIN_PATH): Use SH_SEP.
3904 * doc/Makefile.sub (GROFF_BIN_PATH): Use SH_SEP.
3905 * src/preproc/eqn/Makefile.sub (neqn): Use SH_SEP.
3906 * src/roff/nroff/Makefile.sub (nroff): Use SH_SEP.
3908 2004-03-05 Werner LEMBERG <wl@gnu.org>
3910 * fonts/devlj4/Makefile.sub (LJ4RES): Set to 1200. This helps to
3911 reduce alignment problems with newer printers which use built-in
3912 TrueType fonts (instead of the older Intellifonts). The ideal
3913 solution is to provide a second set of groff metric files, but this
3914 is extremely time-consuming to produce, given that HP's metric
3915 files are very rudimentary.
3917 2004-03-01 Werner LEMBERG <wl@gnu.org>
3919 * src/devices/grolj4/lj4.cpp (main): Fix argument of getopt_long.
3920 s/operand/argument/ in error message.
3922 2004-03-01 Keith Marshall <keith.d.marshall@ntlworld.com>
3924 * src/roff/groff/groff.cpp (main): Don't allow option -o if -Thtml
3927 2004-03-01 Antti Kantee <pooka@netbsd.org>
3929 * tmac/s.tmac (XE): Fix error message.
3931 2004-02-27 Jeff Conrad <jeff_conrad@msn.com>
3933 * src/include/nonposix.h (write, dup, dup2, close) [_MSC_VER]:
3936 * src/roff/groff/pipeline.c: Declare strcasecmp.
3937 (run_pipeline) [_WIN32]: Use function name variants which don't
3939 Fix stream handling.
3941 2004-02-27 Keith Marshall <keith.d.marshall@ntlworld.com>
3943 * src/include/nonposix.h: Fix declaration of `system_shell_name'.
3944 Declare `spawnvp_wrapper' and macro definitions of spawnvp only
3945 for platforms which use the native Win32 runtime libraries.
3946 (FLUSH_INPUT_PIPE) [_UWIN]: Provide non-empty version.
3948 * src/libs/libgroff/quotearg.c (QUOTE_ARG_MALLOC_ERROR,
3949 QUOTE_ARG_REALLOC_ERROR): Fix string.
3951 * src/preproc/html/pre-html.cpp: Remove declaration of
3953 Don't use __MINGW32__.
3954 s/DEBUG_FILE/DEBUG_FILE_DIR/.
3955 (DEBUG_TEXT, DEBUG_NAME, DEBUG_FILE) [DEBUGGING]: New macros.
3956 (OUTPUT_STREAM, PS_OUTPUT_STREAM, REGION_OUTPUT_STREAM): New macros.
3957 (char_buffer::run_output_filter) [MAY_FORK_CHILD_PROCESS]: Fix
3958 calls to `set_redirection' and `WAIT'.
3959 [MAY_SPAWN_ASYNCHRONOUS_CHILD]: Remove unused variable `i' and `j'.
3960 Fix calls to `set_redirection' and `save_and_redirect'.
3961 (char_buffer::do_html, char_buffer::do_image) [DEBUGGING]: Fix calls
3962 to `set_redirection' and `save_and_redirect'.
3963 (usage): Fix message.
3964 (makeTempFiles, main): Use `DEBUG_FILE'.
3966 2004-02-21 Werner LEMBERG <wl@gnu.org>
3968 * src/roff/troff/troff.h (WARN_TOTAL): Fix value.
3970 2004-02-21 Keith Marshall <keith.d.marshall@ntlworld.com>
3972 * src/libs/libgroff/quotearg.c: New file, providing proper argument
3973 quoting for MSVC's spawn* and exec* functions.
3974 * src/libs/libgroff/spawnvp.c: New file, providing a wrapper around
3975 spawnvp with proper quoting for MSVC.
3977 * src/libs/libgroff/assert.cpp (program_name),
3978 src/libs/libgroff/new.cpp (program_name): Declare as `extern "C"'.
3979 * src/libs/libgroff/Makefile.sub (OBJS, CSRCS): Updated.
3981 * src/roff/troff/input.cpp (program_name): Declare as `extern "C"'.
3983 * src/include/error.h (program_name): Declare as `extern "C"'.
3984 * src/include/nonposix.h [__MSDOS__ ...]: Handle spawnvp.
3986 2004-02-21 Jeff Conrad <jeff_conrad@msn.com>
3988 * src/preproc/html/pre-html.cpp [__CYGWIN__ ...]: Declare
3990 [MAY_SPAWN_ASYNCHRONOUS_CHILD]: Declare i and j.
3992 2004-02-20 Jeff Conrad <jeff_conrad@msn.com>
3994 * src/roff/groff/pipeline.c (cmd) [__MSDOS__ || ...]: New global
3996 (sbasename) [__MSDOS__ || ...]: New function.
3997 (system_shell_name) [__MSDOS__ || ...]: Use a different, more
3999 (system_shell_dash_c, is_system_shell) [__MSDOS__ || ...]: Updated.
4000 (run_pipeline) [_WIN32]: Use _XXX variants for some macros instead
4002 Use STDOUT_FILENO instead of hardcoded file handle.
4003 (signal_catcher) [__MSDOS__]: Moved to non-_WIN32 section.
4005 2004-02-19 Werner LEMBERG <wl@gnu.org>
4007 * src/roff/troff/div.cpp: Include nonposix.h after troff.h to
4008 avoid warnings w.r.t. redefinition of P_tmpdir for some compilers.
4010 2004-02-18 Werner LEMBERG <wl@gnu.org>
4012 * font/devlj4/Makefile.sub (DEVFILES): Updated to contain all
4013 new font and mapping files.
4015 2004-02-18 Jeff Conrad <jeff_conrad@msn.com>
4016 Keith Marshall <keith.d.marshall@ntlworld.com>
4018 * src/include/nonposix.h (FLUSH_INPUT_PIPE): New macro to empty
4019 an input pipe. This is needed for the MSVC compiler to make troff's
4022 * src/roff/troff/div.cpp: Include nonposix.h.
4023 (cleanup_and_exit): Call FLUSH_INPUT_PIPE.
4025 2004-02-17 Werner LEMBERG <wl@gnu.org>
4027 * font/devlj4/generate/special.awk: New script.
4028 * font/devlj4/generate/Makefile (S): Use special.awk.
4029 * font/devlj4/*: Regenerated, including the following new files:
4030 Arial (AR, AB, AI, ABI), Times New Roman (TNRR, TNRB, TNRI, TNRBI),
4031 MS Symbol (SYMBOL), Wingdings (WINGDINGS).
4032 * NEWS: Document new lj4 fonts and revised hpftodit.
4034 2004-02-17 Paco Andrés Verdú <pandres@dragonet.es>
4036 * src/devices/grolbp/lbp.h (vmdvarc): Fix formatting string.
4038 2004-01-25 Werner LEMBERG <wl@gnu.org>
4040 * src/libs/libgroff/progname.cpp: Replaced with...
4041 * src/libs/libgroff/progname.c: New file.
4042 * src/libs/libgroff/Makefile.sub: Updated accordingly.
4044 2004-01-17 Werner LEMBERG <wl@gnu.org>
4046 * font/devlj4/generate/Makefile (SYMBOL): Use 9nb28703.tfm.
4048 2004-01-16 Jeff Conrad <jeff_conrad@msn.com>
4050 * font/devlj4/generate/wingdings.map,
4051 font/devlj4/generate/symbol.map: Include unnamed glyphs.
4052 Use groff glyph names where possible.
4053 * src/devices/grolj4/lj4_font.man: Minor updates.
4055 2004-01-13 Werner LEMBERG <wl@gnu.org>
4057 * tmac/www.tmac (DC): Handle TTY devices.
4059 * doc/webpage.ms: Document viewCVS from ffii.org.
4060 * NEWS, README: Updated.
4062 * src/roff/groff/groff.man: Mention lj4_font man page.
4064 * font/devlj4/generate/Makefile (SYMBOLMAP, WINGDINGSMAP): New
4066 (FONTS): Add SYMBOL and WINGDINGS.
4067 (SYMBOL, WINGDINGS): New targets.
4069 2004-01-13 Jeff Conrad <jeff_conrad@msn.com>
4071 * src/devices/grolj4/lj4_font.man: New man page.
4072 * src/devices/grolj4/Makefile.sub (MAN5): New variable.
4073 * src/devices/grolj4.man: Mention lj4_font man page.
4075 * src/utils/hpftodit/hpftodit.cpp (read_map): Handle line comments.
4076 * src/utils/hpftodit/hpftodit.man: Document it.
4078 Remove details about fonts (which are now in lj4_font.man).
4080 * font/devlj4/generate/symbol.map,
4081 font/devlj4/generate/wingdings.map: New files.
4083 2004-01-12 Werner LEMBERG <wl@gnu.org>
4085 * README: Mention ffii's viewcvs access.
4087 2004-01-09 Werner LEMBERG <wl@gnu.org>
4089 * font/devlj4/generate/special.map: Map MSL 228 to U+221F.
4091 2004-01-09 Jeff Conrad <jeff_conrad@msn.com>
4093 Revert most of the change from 2004-01-03 to better control used
4096 * src/utils/hpftodit/hpftodit.cpp (symbol_set): New structure.
4097 (text_symbol_sets, special_symbol_sets): New arrays.
4098 (symbol_set_table): New global variable.
4099 (read_symbol_sets): Use search order given in the text_symbol_sets
4100 and special_symbol_sets arrays. If command line flag -a is not
4101 given, search both arrays.
4102 (output_charset): Require x_height_tag only for command line flag -i.
4104 2004-01-06 Werner LEMBERG <wl@gnu.org>
4106 Implement string-valued registers \n[.m] and \n[.M] to return the
4107 name of the current drawing and background color, respectively.
4109 * src/roff/troff/symbol.h: Moved to...
4110 * src/include/symbol.h: Here.
4111 Small fixes to make it work outside of the `troff' directory.
4112 * src/roff/troff/symbol.cpp: Moved to...
4113 * src/libs/libgroff/symbol.cpp: Here.
4114 Small fixes to make it work outside of the `troff' directory.
4116 * src/include/Makefile.sub (HDRS), src/libs/libgroff/Makefile.sub
4117 (OBJS, CCSRCS), src/roff/troff/Makefile.sub (OBJS, CCSRCS, HDRS):
4120 * src/include/color.h: Include symbol.h.
4121 (color): Add new field `nm'.
4122 * src/libs/libgroff/color.cpp (color::color): Updated.
4124 * src/roff/troff/dictionary.cpp, src/roff/troff/div.cpp,
4125 src/roff/troff/node.cpp, src/roff/troff/number.cpp,
4126 src/roff/troff/reg.cpp: Don't include symbol.h.
4128 * src/roff/troff/env.cpp: Don't include symbol.h.
4129 (environment::get_glyph_color_string,
4130 environment_get_fill_color_string): New member functions.
4131 (init_env_requests): Handle `.m' and `.M' registers.
4132 * src/roff/troff/input.cpp: Don't include symbol.h.
4133 (default_symbol): Moved to symbol.cpp/symbol.h.
4134 (do_glyph_color, do_fill_color, define_color): Pass symbol name
4135 to color constructor.
4136 * src/roff/troff/env.h: Updated.
4138 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
4139 Document new registers.
4141 2004-01-05 Werner LEMBERG <wl@gnu.org>
4143 * src/roff/troff/node.cpp (space_node::get_breakpoints,
4144 space_node::nbreaks): Protect against zero `next' field.
4146 2004-01-03 Jeff Conrad <jeff_conrad@msn.com>
4148 In hpftodit, use the symbol sets offered in the TFM.
4150 * src/utils/hpftodit/hpftodit.cpp (NO_GLYPH): New constant.
4151 (symbol_set, text_symbol_sets, special_symbol_sets,
4152 symbol_set_table): Removed.
4153 (get_printcode): Removed.
4154 (read_symbol_sets): Initialize `symbol_set' field with
4156 Simplify code to just use the `kind' value.
4157 (output_charset): Improve output formatting.
4158 (dump_symbols): Simplified.
4160 2004-01-02 Werner LEMBERG <wl@gnu.org>
4162 * font/devlj4/generate/text.map: Add more MSL numbers.
4164 2004-01-02 Jeff Conrad <jeff_conrad@msn.com>
4166 * src/utils/hpftodit/hpftodit.cpp (is_decomposed): New macro.
4167 (text_symbol_sets): Add more symbol sets.
4168 (debug_flag): New static variable (moved from `main').
4169 (get_printcode, show_symset): New functions.
4170 (main): Remove `debug_flag'.
4171 (output_charset): Use `show_symset'.
4172 (dump_symbols): Use `show_symset'.
4173 Print symsets for all glyphs.
4174 (read_map): Actually call `unicode_to_ucode_make' but this time
4177 2004-01-01 Werner LEMBERG <wl@gnu.org>
4179 * font/devlj4/generate/text.map, font/devlj4/generate/special.map:
4180 Fix placement of comments.
4182 2004-01-01 Jeff Conrad <jeff_conrad@msn.com>
4184 * src/utils/hpftodit/hpftodit.cpp (main): Read map file also if
4185 option `-d' is given.
4186 (output_charset): Improve warning messages to give more information.
4187 (dump_symbols): Make information more precise.
4189 (read_map): Don't call unicode_to_ucode_name; the glyph names must
4190 appear as-is and shouldn't be decomposed.
4192 2003-12-31 Werner LEMBERG <wl@gnu.org>
4194 * src/utils/hpftodit/hpftodit.cpp (dump_tags): Handle posture_tag.
4195 * font/devlj4/generate/Makefile (IFLAG): Updated to new units.
4196 (FONTS): Add TrueType font families Arial and Times New Roman.
4197 (TNRR, TNRB, TNRI, TNRBI, AR, AB, AI, ABI): New targets.
4198 * font/devlj4/generate/text.map: Fix Unicode values of `fi' and
4201 2003-12-31 Jeff Conrad <jeff_conrad@msn.com>
4203 * test-groff.in (SEP): Quote value.
4204 * src/roff/troff/node.cpp (suppress_node::tprint): Change type of
4205 `tem' to `char*' to avoid deallocation of a pointer to a constant
4206 object which some compilers don't like.
4208 2003-12-31 Werner LEMBERG <wl@gnu.org>
4210 * font/devlj4/generate (text.map, special.map): Rewritten to work
4211 with the new hpftodit version.
4213 2003-12-30 Jeff Conrad <jeff_conrad@msn.com>
4215 * src/utils/hpftodit/hpftodit.cpp (output_charset): Emit HP symbol
4216 set and 8bit character code for all glyphs also.
4218 2003-12-30 Werner LEMBERG <wl@gnu.org>
4220 * src/libs/libgroff/strcasecmp.c: Updated from gnulib.
4222 2003-12-29 Werner LEMBERG <wl@gnu.org>
4224 More fixes for MSVC compiler.
4226 * doc/Makefile.sub, contrib/mom/Makefile.sub (GROFF_BIN_PATH): Use
4229 * src/include/nonposix.h (STDIN_FILENO, STDOUT_FILENO,
4230 STDERR_FILENO) [_MSC_VER]: Define conditionally.
4231 (getpid) [_MSC_VER]: Remove.
4232 Include direct.h and process.h conditionally.
4234 * src/roff/troff/node.cpp (suppress_node::tprint): Don't use
4235 parentheses for a_delete.
4237 * src/utils/lookbib/lookbib.cpp: Include nonposix.h.
4239 * test-groff: Replaced with...
4240 * test-groff.in: This new template to handle path separator
4243 * configure.ac: Check for direct.h and process.h.
4244 Generate test-groff script.
4245 * configure, src/include/config.hin: Regenerated.
4247 2003-12-28 Werner LEMBERG <wl@gnu.org>
4249 Add integral extension glyph.
4250 Add new option `-x' to afmtodit to suppress use of built-in AGL.
4252 * font/devhtml/R.proto, font/devutf8/R.proto: Add `u23AE'.
4254 * font/devps/generate/textmap: Provide entry for `integralex' to
4255 override (old) PUA value of the AGL.
4256 * font/devps/generate/Makefile (SS): Add afmtodit option `-x'.
4257 * font/devps/*: Regenerated.
4259 * src/utils/afmtodit/afmtodit.pl: Add option `-x'.
4260 * src/utils/afmtodit/afmtodit.man, NEWS: Updated.
4262 2003-12-27 Werner LEMBERG <wl@gnu.org>
4264 Add forgotten `coproduct' symbol (already available for DVI).
4266 * font/devhtml/R.proto, font/devps/generate/textmap,
4267 font/devps/symbolmap, font/devutf8/R.proto, man/groff_char.man,
4268 src/libs/libgroff/uniglyph.cc, src/libs/libgroff/glyphuni.cpp: Add
4269 U+2210 (\[coproduct]).
4271 2003-12-26 Jeff Conrad <jeff_conrad@msn.com>
4273 hpftodit has been extended to handle TrueType metric files and
4274 more glyphs. See hpftodit.man for more details.
4276 * src/utils/hpftodit/hpftodit.cpp: Include stdio.h, string.h,
4277 ctype.h, and unicode.h.
4278 s/msl/charcode/ everywhere since we now handle Unicode values also.
4279 (equal, NO, YES, MSL, SYMSET, UNICODE, UNICODE): New macros.
4280 Use it where appropriate.
4281 (MULTIPLIER): Replaced with...
4282 (multiplier): New global static variable.
4284 (tag_type): Add more TFM tags.
4285 (tag_name): New array.
4286 (ENUM_TYPE, FLOAT_TYPE): Removed.
4287 (BYTE_TYPE): New value assigned.
4288 (ASCII_TYPE, RATIONAL_TYPE): New enumeration values.
4289 (text_symbol_sets, special_symbol_sets): Extended to cover more
4291 (check_type): Add return value.
4292 (check_units): Add parameters to get ppi and upem values.
4293 Handle TrueType TFM data.
4294 (output_font_name): New function.
4295 (output_charset): Add parameter to handle TFM type.
4296 Handle TrueType TFMs also.
4297 (em_fract): New macro.
4298 (dump_tags): Be much more verbose and handle more tags.
4299 (dump_ascii, dump_symbol_sets, dump_symbols): New functions.
4300 (hp_msl_to_ucode_name, unicode_to_ucode_name, is_uname): New
4302 (read_map): Add parameter to handle TFM type.
4303 Handle both MSL and Unicode mappings.
4304 (main): Add two new command line options `-a' and `-q'.
4305 Updated to make use of new functions.
4308 * src/utils/hpftodit/hpuni.cpp: New file.
4310 * src/utils/hpftodit/Makefile.sub, src/utils/hpftodit/hpftodit.man:
4313 2003-12-25 Werner LEMBERG <wl@gnu.org>
4315 * src/include/nonposix.h (read) [_MSC_VER]: Define.
4317 2003-12-24 Werner LEMBERG <wl@gnu.org>
4319 * src/utils/afmtodit/afmtodit.man: Some reformulations as suggested
4320 by Michail Vidiassov <master@iaas.msu.ru>.
4322 2003-12-20 Werner LEMBERG <wl@gnu.org>
4324 * font/devhtml/R.proto: Add u00{47,67}_0306, u00{53,73}_0327,
4326 Add missing latin-2 glyphs.
4327 * font/devutf8/R.proto: Add missing latin-2 glyphs.
4329 * tmac/troffrc: Load `composite.tmac' earlier.
4331 * tmac/dvi.tmac, tmac/ps.tmac, tmac/lbp.tmac: Add u00{47,67}_0306,
4332 u00{53,73}_0327, and u0049_0307.
4333 * tmac/X.tmac: Add u00{47,67}_0306.
4334 * tmac/tty-char.tmac: Use composite glyph names for readability.
4338 * src/include/unicode.h: Remove `extern' keywords.
4340 2003-12-20 Nilgün Belma Bugüner <nilgun@superonline.com>
4342 * tmac/latin5.tmac: New file.
4344 2003-12-19 Werner LEMBERG <wl@gnu.org>
4346 Add some glyphs needed for Turkish.
4348 * font/devutf8/R.proto: Add u00{47,67}_0306, u00{53,73}_0327,
4351 * tmac/composite.tmac: Add `,' as a synonym for `ac' accent.
4352 * tmac/tty-char.tmac: Add representations for u00{47,67}_0306,
4353 u00{53,73}_0327, and u0049_0307.
4355 2003-12-18 Werner LEMBERG <wl@gnu.org>
4357 * src/devices/grops/ps.cc (ps_output::put_float): Revert change
4359 Remove trailing zeros.
4361 2003-12-17 Werner LEMBERG <wl@gnu.org>
4363 Make \? transparent to end-of-sentence recognition.
4365 * src/roff/troff/input.cc (non_interpreted_node): Add
4366 `ends_sentence' member function.
4368 2003-12-16 Werner LEMBERG <wl@gnu.org>
4370 * doc/groff.texinfo: Document `dt' request correctly.
4371 Other minor typographical improvements.
4373 2003-12-10 Michail Vidiassov <master@iaas.msu.ru>
4375 * src/utils/afmtodit/Makefile.sub (afmtodit): Fix typo.
4377 2003-12-10 Richard Stallman <rms@gnu.org>
4379 * LICENSE: Better wording.
4381 2003-12-09 Werner LEMBERG <wl@gnu.org>
4383 * aclocal.m4 (GROFF_BROKEN_SPOOLER_FLAGS): Set default value to 0.
4384 * configure, NEWS: Updated.
4386 2003-12-08 Werner LEMBERG <wl@gnu.org>
4388 * FDL: Updated to version 1.2 (from www.gnu.org/copyleft).
4390 2003-12-07 Bernd Warken <bwarken@mayn.de>
4394 2003-12-07 Werner LEMBERG <wl@gnu.org>
4396 * INSTALL: Improved.
4398 2003-12-05 Keith Marshall <keith.d.marshall@ntlworld.com>
4400 Use path separator character of target platform for compiled-in
4403 * aclocal.m4 (GROFF_TARGET_PATH_SEPARATOR): New macro.
4404 * configure.ac: Use GROFF_TARGET_PATH_SEPARATOR.
4405 * configure: Regenerated.
4406 * Makefile.in (SEP): Use GROFF_PATH_SEPARATOR.
4408 2003-12-05 Werner LEMBERG <wl@gnu.org>
4410 * src/include/nonposix.h (PATH_SEP_CHAR): New definition.
4411 Replace `PATH_SEP[0]' with `PATH_SEP_CHAR' everywhere.
4413 2003-12-04 Bernd Warken <bwarken@mayn.de>
4415 * LICENSE: New file.
4417 2003-12-03 Werner LEMBERG <wl@gnu.org>
4419 * src/utils/afmtodit/afmtodit.pl: Comment out code which handles
4420 ligatures present in AFM files since groff currently only
4421 understands some standard ligatures and nothing else.
4423 2003-12-03 Jeff Conrad <jeff_conrad@msn.com>
4425 * src/roff/groff/groff.cpp (main): Don't run the spooler if
4428 * src/roff/groff/pipeline.c (run_pipeline) [_WIN32]: Fix error
4431 Don't use Unix wait flags.
4433 2003-12-02 Werner LEMBERG <wl@gnu.org>
4435 * src/roff/troff/glyphuni.cpp, src/roff/troff/unicode.cpp,
4436 src/roff/troff/unicode.h, src/roff/troff/uniglyph.cpp,
4437 src/roff/troff/uniuni.cpp: Moved to...
4438 * src/libs/libgroff/glyphuni.cpp, src/libs/libgroff/unicode.cpp,
4439 src/libs/libgroff/unicode.h, src/libs/libgroff/uniglyph.cpp,
4440 src/libs/libgroff/uniuni.cpp: Here.
4442 * src/include/Makefile.sub.old (HDRS),
4443 src/libs/libgroff/Makefile.sub (OBJS, CCSRCS),
4444 src/roff/troff/Makefile.sub (HDRS, PBJS, CCSRCS): Updated.
4446 2003-12-01 Keith Marshall <keith.d.marshall@ntlworld.com>
4448 * src/preproc/htlp/pre-html.cpp (__tmpfile): Renamed to
4452 2003-12-01 Werner LEMBERG <wl@gnu.org>
4454 * groff.texinfo: Document special behaviour of `.vs 0'.
4455 Improve documentation of `cflags' request.
4458 2003-11-29 Werner LEMBERG <wl@gnu.org>
4460 * font/devlj4/generate/Makefile (CORONET): Use correct TFM.
4461 * font/devlj4/CORONET: Regenerated.
4463 2003-11-24 Werner LEMBERG <wl@gnu.org>
4465 * src/roff/troff/env.cpp (hyphen_trie::read_patterns_file): Fix loop
4466 if processing hyphenation patterns in traditional mode.
4467 Improve error messages.
4469 2003-11-20 Werner LEMBERG <wl@gnu.org>
4471 * src/roff/troff/node.cpp (troff_output_file::put_char_width,
4472 troff_output_file::put_char): Fix type of local variable `c'.
4474 2003-11-19 Werner LEMBERG <wl@gnu.org>
4476 * src/roff/groff/pipeline.c (P): Removed. Updated all function
4478 (i_to_a): Removed. libgroff already provides this function.
4479 (run_pipeline) [_WIN32]: Don't use itoa but i_to_a.
4481 2003-11-18 Keith Marshall <keith.d.marshall@ntlworld.com>
4483 * src/roff/groff/pipeline.c (xstrsignal): Fix usage of
4486 2003-11-17 Werner LEMBERG <wl@gnu.org>
4488 * COPYING: Use correct version.
4490 2003-11-11 Werner LEMBERG <wl@gnu.org>
4492 LynxOS 4.0.0 doesn't declare vfprintf.
4494 * configure.ac: Check for vfprintf.
4495 * configure: Regenerated.
4496 * src/include/lib.h: Handle `NEED_DECLARATION_VFPRINTF'.
4497 * src/include/config.hin: Regenerated.
4499 2003-11-10 Werner LEMBERG <wl@gnu.org>
4501 LynxOS 4.0.0 has snprintf (without declaration) but no vsnprintf.
4503 * configure.ac: Check for vsnprintf.
4504 * configure: Regenerated.
4505 * src/include/lib.h: Handle `NEED_DECLARATION_VSNPRINTF' and
4507 * src/include/config.hin: Regenerated.
4509 2003-11-09 Werner LEMBERG <wl@gnu.org>
4511 * aclocal.m4: Updated syntax to autoconf 2.59.
4512 (GROFF_HTML_PROGRAMS): Use AC_FOREACH.
4513 Don't check for gsos2.
4514 (GROFF_SRCDIR, GROFF_BUILDDIR): Removed. autoconf 2.59 provides
4515 working abs_top_srcdir and abs_top_builddir.
4517 * configure.ac: Updated syntax to autoconf 2.59.
4518 Don't call GROFF_SRCDIR and GROFF_BUILDDIR.
4519 Replace call to AC_DECL_SYS_SIGLIST with call to AC_CHECK_DECLS.
4520 * configure: Regenerated.
4522 * Makefile.in, doc/Makefile.in: s/@top_srcdir@/@abs_top_srcdir@/,
4523 s/@groff_top_builddir@/@abs_top_builddir@/.
4525 * src/roff/groff/pipeline.c (xstrsignal):
4526 s/SYS_SIGLIST_DECLARED/HAVE_DECL_SYS_SIGLIST/.
4528 2003-11-07 Werner LEMBERG <wl@gnu.org>
4530 * src/devices/grodvi/dvi.cpp (draw_dvi_printer::draw) ['a']: Always
4531 make start angle smaller than end angle to circumvent a bug in tpic
4532 handling of some versions of dvipdfm (and dvipdfmx).
4534 2003-10-30 Werner LEMBERG <wl@gnu.org>
4536 * src/devices/grops/grops.man: Improve section on creating EPS.
4538 2003-10-29 Werner LEMBERG <wl@gnu.org>
4540 * contrib/pic2graph/pic2graph.sh: Fix typo (-P-letter ->
4543 2003-10-28 Werner LEMBERG <wl@gnu.org>
4545 * doc/groff.texinfo: Fix documentation of `.if'.
4547 2003-10-27 Michail Vidiassov <master@iaas.msu.ru>
4549 * src/utils/afmtodit/afmtodit.pl: Handle unmapped characters of
4550 the form `uniXXXX' also.
4552 2003-10-27 Werner LEMBERG <wl@gnu.org>
4554 * contrib/eqn2graph/eqn2graph.sh, contrib/grap2graph/grap2graph.sh,
4555 contrib/pic2graph/pic2graph.sh: Implement secure management of
4557 Pass `-P-pletter' to groff to avoid data outside of the converted
4558 area -- some versions of `convert' (for example 5.3.8) don't check
4559 the bounding box of the image but always use a fixed image size
4560 (letter paper format).
4561 * contrib/eqn2graph/eqn2graph.man, contrib/grap2graph/grap2graph.man,
4562 contrib/pic2graph/pic2graph.man: Updated.
4564 * src/roff/groff/groff.man: Document $TMP and $TEMP.
4566 2003-10-26 Werner LEMBERG <wl@gnu.org>
4568 * src/preproc/pic/troff.cpp (troff_output::simple_circle,
4569 troff_output::simple_ellipse, troff_output::simple_arc,
4570 troff_output::simple_line, troff_output::simple_spline,
4571 troff_output::simple_polygon): Insert a space before arguments.
4572 (troff_output::set_fill): Emit `\&' before `\D'Fg...' since the
4573 latter doesn't produce a node, so the following `.sp -1' would do
4575 Don't emit `.sp -1' after \M. This also doesn't produce a token
4576 (and we don't have to care about compatibility mode).
4577 (troff_output::set_color, troff_output::reset_color): Don't emit
4578 `.sp -1' after \M and \m.
4580 * src/roff/troff/input.cpp (old_have_input): New global variable.
4581 (input_stack::get): Handle `old_have_input'.
4582 (process_input_stack) <token::TOKEN_NEWLINE>: Call
4583 `trapping_blank_line' depending on `old_have_input', not
4586 2003-10-20 Keith Marshall <keith.d.marshall@ntlworld.com>
4588 * src/libs/libgroff/tmpfile.cpp [__MSDOS__, _Win32]
4589 (WIN32_TMPDIR_ENVVAR, MSDOS_TMPDIR_ENVVAR): New macros, providing
4590 default directory names for temporary files.
4591 [__MSDOS__, _Win32] (temp_init::temp_init): Use them.
4593 * src/roff/groff/pipeline.c [__MSDOS__]: Include stdlib.h.
4594 [__MSDOS__] (run_pipeline): Honour environment variables.
4595 Don't use `tmpnam' but `tempnam' to work around messy
4598 * README.MinGW: New file.
4600 2003-10-16 Werner LEMBERG <wl@gnu.org>
4602 * src/preproc/html/pre-html.cpp (write_upto_newline): Don't use
4603 `(*t)->next' without testing validity of `*t'.
4604 (usage): Make it more readable.
4606 2003-10-16 Keith Marshall <keith.d.marshall@ntlworld.com>
4608 Make html device run under both MS-DOS and Win32.
4610 * src/preproc/html/pre-html.cpp (MAY_FORK_CHILD_PROCESS,
4611 MAY_SPAWN_ASYNCHRONOUS_CHILD): New macros to control whether
4612 spawn or fork+exec has to be used, and whether parent must sleep
4613 until the child process terminates. Used in
4614 `char_buffer::run_output_filter'.
4615 (copyofstdoutfd): Removed.
4616 (char_buffer): Replace `write_file_html' and `write_file_troff'
4617 member functions with `emit_troff_output' and `run_output_filter'.
4618 (DEVICE_FORMAT, HTML_OUTPUT_FILTER, IMAGE_OUTPUT_FILTER): New
4620 (replaceFd): Replaced with...
4621 (set_redirection): New auxiliary function.
4622 (waitForChild): Replaced with...
4623 (save_and_redirect): New auxiliary function for.
4625 (char_buffer::do_html, char_buffer::do_image): Simplified, using new
4628 2003-10-14 Keith Marshall <keith.d.marshall@ntlworld.com>
4630 * aclocal.m4 (GROFF_SYS_NERR): Check stdlib.h also.
4631 (GROFF_LIBC): New function.
4632 * configure.ac: Call GROFF_LIBC.
4634 * configure: Regenerated.
4636 * src/include/lib.h: Handle __MINGW32__.
4637 * src/include/nonposix.h [_MSC_VER]: Handle __MINGW32__.
4638 Add macro for `pipe'.
4641 * src/roff/groff/pipeline.c (run_pipeline): Handle `no_pipe'
4644 * src/utils/indxbib/signal.c (handle_fatal_signal) [!HAVE_KILL]:
4647 2003-10-13 Werner LEMBERG <wl@gnu.org>
4649 Finally fix change 2003-08-26, based on ideas from Chuck Silvers
4652 * contrib/mom/Makefile.sub: Use a stamp file in the `examples'
4655 2003-10-12 Werner LEMBERG <wl@gnu.org>
4657 * src/roff/groff/groff.cpp (help), src/devices/grops/ps.cpp (usage),
4658 src/roff/troff/input.cc (usage): Updated.
4660 * NEWS, doc/groff.texinfo: Updated.
4662 2003-10-12 Peter Miller <millerp@canb.auug.org.au>
4664 * src/libs/libgroff/searchpath.cpp
4665 (search_path::open_file_cautious): New function which also handles
4666 `-' as stdin and stdout depending on the access mode.
4667 * src/include/searchpath.h (search_path): Updated.
4669 * src/devices/grops/ps.cpp (main): Handle new `-I' switch.
4670 * src/devices/grops/ps.h: Include `searchpath.h'.
4671 * src/devices/grops/psrm.cpp (resource_manager::supply_resource):
4672 Open resource file with `include_search_path.open_file_cautious'.
4673 * src/devices/grops/grops.man: Document new `-I' switch.
4675 * src/devices/grodvi/dvi.cpp (main), src/devices/grolbp/lbp.cpp
4676 (main), src/devices/grolj4/lj4.cpp (main),
4677 src/devices/grotty/tty.cpp (main): Ignore new `-I' switch.
4679 * src/preproc/soelim/soelim.cpp (include_list_length, include_list):
4681 (include_search_path): New global variable.
4682 (include_path_append): Removed.
4683 (main): Use `include_search_path.command_line_dir' to handle `-I'.
4684 (do_file): Simplify, using new
4685 `include_search_path.open_file_cautious'.
4687 * src/roff/groff/groff.cpp (print_commands): Accept file handle as
4689 (main): Pass arguments to `-I' to both troff and devices.
4690 Improve handling of `-V'.
4691 * src/roff/groff/groff.man: Document changes to -I and -V.
4693 * src/roff/troff/input.cpp (include_search_path): New global
4695 (next_file, source, ps_bbox_request, transparent_file,
4696 process_input_file): Use new
4697 `include_search_path.open_file_cautious'.
4698 (main) Handle `-I' switch.
4699 * src/roff/troff/node.cpp (troff_output_file::really_copy_file):
4700 Use new `include_search_path.open_file_cautious'.
4701 * src/roff/troff/node.h: New extern symbol `include_search_path'.
4702 * src/roff/troff/troff.man: Document new `-I' switch.
4704 2003-09-15 Ruslan Ermilov <ru@FreeBSD.org>
4706 Support multiple calls of .Lb in LIBRARY section.
4708 * tmac/doc-common (doc-in-library-section): New register.
4709 (doc-section-library): New string.
4710 (Sh): Set `doc-in-library-section'.
4712 * tmac/doc-syms (Lb): Insert breaks before and after arguments
4713 if in LIBRARY section.
4714 * tmac/doc.tmac (doc-save-global-vars): Updated.
4715 * NEWS, tmac/groff_mdoc.man: Updated.
4717 2003-09-14 Ruslan Ermilov <ru@FreeBSD.org>
4719 * tmac/doc-common (doc-default-operating-system): New variable.
4722 2003-09-08 Werner LEMBERG <wl@gnu.org>
4724 * tmac/doc.tmac (doc-reset-reference): Handle data for `%I' also.
4726 2003-08-31 Werner LEMBERG <wl@gnu.org>
4728 * contrib/mom/Makefile.sub: Fix last change to make it really work.
4729 * Makefile.comm: Use `test ... ||' in favor of `if test ...; then'.
4730 (install_dev, uninstall_dev): Check whether $(DEVSCRIPTS) and
4731 $(DEVFILES) are not empty.
4732 * Makefile.in: Use `test ... ||' in favor of `if test ...; then'.
4734 2003-08-26 Chuck Silvers <chuq@chuq.com>
4736 * contrib/mom/Makefile.sub (prepare_make_examples): Make it work
4737 with parallel runs of `make'.
4739 2003-08-23 Stephen Gildea <http://www.gildea.com/stephen>
4741 * src/preproc/ref/ref.cpp (reference::compute_sort_key): Always
4742 insert SORT_SEP. With certain combinations of sort specifications,
4743 refer sorted entries in the wrong order. In particular, entries
4744 with a missing field should be be sorted before all entries that
4745 have that field, before refer looks to the next field.
4747 2003-08-23 Werner LEMBERG <wl@gnu.org>
4749 * src/utils/pfbtops/Makefile.sub (LINK.c): Define it so that the
4750 g++ linker is used. Reported by Mark J. Reed
4751 <mark.reed@turner.com>.
4753 2003-08-16 Heinz-Jürgen Oertel <hj.oertel@surfeu.de>
4755 Add key character `x' to tbl which makes tbl call a user-defined
4756 macro on a table cell.
4758 * src/preproc/tbl/table.h (entry_modifier): Add `macro'.
4759 * src/preproc/tbl/table.cpp (block_entry::do_divert): Call
4760 `set_modifier' after printing the compatibility request.
4761 (set_modifier): Print call to `m->macro' if not empty.
4762 * src/preproc/tbl/main.cpp (entry_format::debug_print): Handle
4764 (process_format): Implement cases `x' and `X'.
4765 * src/preproc/tbl/tbl.man, NEWS: Updated.
4767 2003-08-15 Werner LEMBERG <wl@gnu.org>
4769 * doc/groff.texinfo: Minor fixes.
4771 2003-08-09 Werner LEMBERG <wl@gnu.org>
4773 * tmac/an-old.tmac [cR]: Fix redefinition of `bp'.
4775 2003-08-07 Werner LEMBERG <wl@gnu.org>
4777 * doc/Makefile.sub: Not all shells expand wildcards in the `for'
4778 argument list to nothing if there is no file to match. Use `ls' as
4779 a protection, similar to autoconf.
4781 * Makefile.comm (install_dev, uninstall_dev): Protect `for' against
4782 empty argument lists.
4784 * doc/groff.texinfo: Improve documentation how vertical spacing
4785 and line breaks interact.
4788 * tmac/www.tmac: Initialize `www-htmlimage-gap'.
4790 2003-08-03 Werner LEMBERG <wl@gnu.org>
4792 * NEWS, src/devices/grops/grops.man: -b16 is necessary to produce
4793 EPS (using eps2eps or similar programs to compute the bounding box).
4795 2003-07-24 Werner LEMBERG <wl@gnu.org>
4797 * doc/groff.texinfo: Use the new @/ command to avoid overlong lines.
4798 * doc/texinfo.tex: Updated from texinfo 4.6.
4799 * README.CVS: From now on we need texinfo 4.6.
4801 2003-07-23 Werner LEMBERG <wl@gnu.org>
4803 Add requests `dei1' and `ami1' for completeness.
4805 * src/roff/troff/input.cc (calling_mode): Remove
4806 CALLING_DISABLE_COMP.
4807 (comp_mode): New enumeration.
4808 (do_define_string, define_string, define_nocomp_string,
4809 append_string, append_nocomp_string): Updated.
4810 (do_define_macro): Add third parameter.
4811 (define_macro, define_nocomp_macro, define_indirect_macro,
4812 append_macro, append_nocomp_macro, append_indirect_macro): Updated.
4813 (define_indirect_nocomp_macro, append_indirect_nocomp_macro): New
4816 (init_input_requests): Add `dei1' and `ami1'.
4818 * tmac/trace.tmac: Handle de1 and am1.
4819 (de): Improve tracing message.
4820 (am): Add missing `do'.
4823 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
4824 Document new requests.
4826 2003-07-22 Heinz-Jürgen Oertel <hj.oertel@surfeu.de>
4828 Add option -G to .MPIMG to insert a gap between text and the image.
4830 * tmac/www.tmac (www-finish-left-po, www-finish-right-ll,
4831 www-finish-left-ll): Updated.
4832 (www-image-just, www-image-gap, www-htmlimage-gap): New variables.
4833 (MPIMG): Make option -L and -R optional.
4834 Implement option -G.
4836 2003-07-22 Gaius Mulley <gaius@glam.ac.uk>
4838 * src/devices/grohtml/post-html.cpp
4839 (html_printer::do_file_components): Don't use `stdout' as lvalue
4840 since it can be a macro.
4842 2003-07-22 Werner LEMBERG <wl@gnu.org>
4844 * src/libs/libgroff/strerror.c: Include errno.h to be in sync with
4845 the corresponding test in aclocal.m4.
4847 2003-07-21 Werner LEMBERG <wl@gnu.org>
4849 * src/preproc/html/pre-html.cpp (TRANSPARENT): Don't use colour
4850 names but RGB values directly. Otherwise pnmtopng depends on
4851 an external file `rgb.txt' which maps colour names to values.
4853 2003-07-20 Werner LEMBERG <wl@gnu.org>
4855 * aclocal.m4 (GROFF_SYS_ERRLIST): Include stdlib.h for MinGW.
4856 * configure, src/include/config.hin: Regenerated.
4858 * src/libs/libgroff/strerror.c: Include stdlib.h for MinGW.
4860 2003-07-19 Werner LEMBERG <wl@gnu.org>
4862 * PROBLEMS: Add solution for UTF-8 problem with hyphens.
4864 2003-07-18 Werner LEMBERG <wl@gnu.org>
4866 * *.man: Switch to non-compatibility mode temporarily if GNU
4867 syntax extensions are used in the particular man page.
4869 * PROBLEMS: Add solutions for SGR problems.
4871 2003-07-17 Werner LEMBERG <wl@gnu.org>
4873 Don't ignore grotty's command line options if \X'tty: sgr ...' is
4874 used to change the drawing scheme.
4876 * src/devives/grotty/tty.cpp (bold_flag_option,
4877 underline_flag_option, italic_flag_option, reverse_flag_option,
4878 bold_underline_mode_option): New global variables.
4879 (update_options): New function.
4880 (tty_printer::special): Call update_options.
4881 (main): Don't set xxx_flag but xxx_flag_option, then call
4884 2003-07-14 Werner LEMBERG <wl@gnu.org>
4886 Make grotty emit proper Unicode box drawing characters for -Tutf8.
4888 * src/devices/grotty/tty.cpp (START_LINE, END_LINE): New enum
4890 (hline_char, vline_char): New global variables.
4891 (tty_printer::tty_printer): Initialize them.
4892 (tty_printer::draw): Emit START_LINE and END_LINE flags for both
4893 horizontal and vertical lines.
4894 (crossings): New global array.
4895 (tty_printer::end_page): Use it to determine the proper crossing
4896 character for -Tutf8.
4898 2003-07-12 Werner LEMBERG <wl@gnu.org>
4900 * doc/Makefilesub (HTMLDOCFILESALL): New macro.
4901 (HTMLDOCFILES): Revert to `pic.html'.
4902 (CLEANADD, install_html, uninstall_sub): Use HTMLDOCFILESALL.
4904 2003-07-11 Werner LEMBERG <wl@gnu.org>
4906 * doc/pic.ms: Improve documentation of absolute coordinates.
4907 Document absolute positioning of pictures.
4909 * NEWS: Add new pic capability.
4911 2003-07-09 Hartmut Henkel <hartmut_henkel@gmx.de>
4913 * src/libs/libgroff/geometry.cpp (check_output_arc_limits):
4916 2003-07-07 Werner LEMBERG <wl@gnu.org>
4918 Implement support for dashed and dotted ellipses in pic. Based on
4919 a patch from Hartmut Henkel <hartmut_henkel@gmx.de>.
4921 * src/preproc/pic/common.cpp (common_output::ellipse_arc,
4922 common_output::dashed_ellipse, common_output::dotted_ellipse): New
4923 functions. Ellipse arcs are approximated with circle arcs.
4924 * src/preproc/pic/common.h (common_output): Updated.
4925 * src/preproc/pic/tex.cpp (tex_output::ellipse): Use new ellipse
4927 * src/preproc/pic/troff.cpp (simple_output::ellipse): Ditto.
4929 * src/preproc/pic/TODO, src/preproc/pic/pic.man: Updated.
4931 2003-07-06 Werner LEMBERG <wl@gnu.org>
4933 Make grotty work on platforms which have unsigned char as the
4934 default for char. Based on a patch by Thomas Klausner
4937 * src/devices/grotty/tty.cpp (schar): New typedef.
4938 Updated calls to declare_ptable and implement_ptable.
4939 (glyph): Use schar for back_color_idx and fore_color_idx.
4940 (tty_printer): Use schar for curr_fore_idx and curr_back_idx.
4941 (tty_printer::tty_color, tty_printer::tty_printer,
4942 tty_printer::color_to_idx, tty_printer::put_color): Updated.
4944 2003-07-06 Ruslan Ermilov <ru@FreeBSD.org>
4946 * src/roff/nroff/nroff.sh: Add option -d for completeness.
4947 * src/roff/nroff/nroff.man: Updated.
4949 2003-07-05 Werner LEMBERG <wl@gnu.org>
4951 * NEWS, tmac/groff_www.man: Updated.
4952 * doc/Makefile.sub: Updated.
4954 2003-07-05 Gaius Mulley <gaius@glam.ac.uk>
4956 Implement support for multiple HTML output files.
4958 * src/preproc/html/pre-html.cpp (scanArguments): Dummy handling for
4959 -j command line option.
4961 * src/devices/grohtml/post-html.cpp (job_name, multiple_files): New
4963 (file): New fields `new_output_file', `require_links',
4965 (file::file): Updated.
4966 (files::set_file_name, files::set_links_required,
4967 files::are_links_required, files::is_new_output_file,
4968 files::file_name, files::next_file_name): New functions.
4969 (header_desc): New fields `no_of_level_one_headings',
4971 (header_desc::header_desc): Updated.
4972 (header_desc::write_headings): Handle multiple files.
4973 (html_printer::write_header): Save file name in which header occurs.
4974 (html_printer::determine_header_level): Possibly split files on
4976 (html_printer::do_links, html_printer::troff_tag): Updated.
4977 (html_printer::insert_split_file, html_printer::do_job_name,
4978 html_printer::emit_link, html_printer::write_navigation,
4979 html_printer::do_file_components): New functions.
4980 (html_printer::~html_printer): Handle multiple files.
4981 (main): Handle command line option `-j'.
4983 * src/devices/grohtml/grohtml.man: Updated.
4985 * doc/Makefile.sub (pic.html), doc/Makefile.in (pic.html): New rule
4988 * tmac/www.tmac (JOBNAME): New macro.
4989 * tmac/s.tmac (SH-NO-TAG): New macro.
4990 (@SH): Call SH-NO-TAG.
4993 2003-07-05 Ruslan Ermilov <ru@FreeBSD.org>
4995 * tmac/groff_mdoc.man: Improve documentation of punctuation
4998 2003-07-04 Ruslan Ermilov <ru@FreeBSD.org>
5000 * tmac/doc.tmac (Bd): Change to doc-Li-font later.
5002 2003-07-03 Werner LEMBERG <wl@gnu.org>
5004 * tmac/an-old.tmac [cR]: Redefine `bp' to avoid empty lines.
5006 2003-07-01 Ruslan Ermilov <ru@FreeBSD.org>
5008 * tmac/doc.tmac (doc-do-func, doc-do-func-args): Don't print a comma
5009 after `/*' and `*/'.
5011 (Fn, Fo): Reduce indentation in synopsis.
5013 * tmac/doc-common (doc-check-depth): New macro.
5014 (doc-end-macro, Sh, Ss): Use it.
5015 (Cd): Fix behaviour in synopsis.
5016 (In): Make it parsed and callable.
5017 If not in the synopsis, represent the C header file enclosed in
5019 (doc-str-Rv-std-suffix, doc-str-Rv-stds-suffix, doc-str-Rv-std0):
5020 Use minus, not hyphen.
5022 * tmac/groff_mdoc.man: Updated.
5024 2003-07-01 Werner LEMBERG <wl@gnu.org>
5026 Integrated grap2graph, contributed by Eric S. Raymond.
5028 * contrib/grap2graph/{Makefile.sub, grap2graph.sh, grap2graph.man}:
5030 * Makefile.in, NEWS, MANIFEST, contrib/eqn2graph.man,
5031 contrib/pic2graph.man, src/roff/groff/groff.man: Updated.
5033 2003-07-01 Colin Watson <cjwatson@debian.org>
5035 * src/xditview/*.c: Add prototypes, fix return types, add includes.
5036 Based on work by Fumitoshi UKAI <ukai@debian.or.jp>.
5038 2003-06-31 Ruslan Ermilov <ru@FreeBSD.org>
5040 * tmac/tty-char.tmac: Provide `lb', `rb', `lk', `rk', `lt', `rt'.
5042 2003-06-31 Werner LEMBERG <wl@gnu.org>
5044 * doc/Makefile.sub (CLEANADD): Remove all files created by
5045 running `make groff.{pdf,dvi}'.
5047 * Makefile.sub (DISTCLEANFILES): Remove all non-source files from
5050 2003-06-30 Werner LEMBERG <wl@gnu.org>
5052 * Makefile.in (SHELL): Define as @SHELL@.
5053 (mkinstalldirs): Use $(SHELL).
5054 (MDEFINES): Add $(SHELL).
5055 * Makefile.comm (SHELL): Removed.
5057 2003-06-29 Werner LEMBERG <wl@gnu.org>
5059 * tmac/s.tmac (De, Ds): New aliases for .DE and .DS, respectively.
5060 The X11 documentation files use them.
5061 * tmac/groff_ms.man, doc/groff.texinfo: Document them.
5063 2003-06-15 Robert Goulding <goulding@Princeton.EDU>
5065 * tmac/e.tmac (@C): Handle .ad also.
5067 2003-06-12 Werner LEMBERG <wl@gnu.org>
5069 * src/preproc/tbl/tbl.man: Document formatting of text blocks.
5071 * src/roff/troff/input.cc (token::next) <handle_escape_char>:
5072 Assign `n' even here. It is possible to construct a node
5073 immediately following an escape character:
5081 2003-06-10 Werner LEMBERG <wl@gnu.org>
5083 * README.WIN32: Removed.
5084 * MANIFEST: Updated.
5086 2003-06-07 Werner LEMBERG <wl@gnu.org>
5088 * src/roff/nroff/nroff.sh: Don't emit SGR for option -u.
5090 2003-06-05 Werner LEMBERG <wl@gnu.org>
5092 * src/preproc/pic/pic.y <sprintf_args>: Implement workaround for bug
5093 in Compaq C++ V6.5-033 for Compaq Tru64 UNIX V5.1A (Rev. 1885).
5095 2003-06-03 Werner LEMBERG <wl@gnu.org>
5097 * src/preproc/grn/hdb.cpp (DBRead): Don't close file handle; this
5098 is done by the calling function.
5100 2003-05-22 Ruslan Ermilov <ru@FreeBSD.org>
5102 * tmac/X.tmac: Fix definition of `em'.
5104 2003-05-22 Werner LEMBERG <wl@gnu.org>
5106 * src/roff/troff/input.cc (return_macro_request): Fix detection of
5109 2003-05-18 Werner LEMBERG <wl@gnu.org>
5111 * tmac/doc.tmac (doc-tag-list): Force horizontal mode after tag
5112 to make items work which consist only of a tag.
5114 2003-05-17 Werner LEMBERG <wl@gnu.org>
5116 * tmac/doc.tmac (doc-tag-list): Don't use \Z to assure that spaces
5117 aren't stretched in a tag (this can fail with unformatted boxes).
5118 Instead, insert a break and go back one line.
5120 2003-05-16 Werner LEMBERG <wl@gnu.org>
5122 * src/roff/troff/input.cc (return_macro_request): If called with
5123 argument pop macro twice. We need this to trace `return'.
5125 * tmac/trace.tmac: Handle `return'.
5128 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
5131 2003-05-15 Larry Kollar <kollar@alltel.net>
5133 * tmac/groff_ms.man, doc/groff.texinfo: Improve documentation of
5134 registers `FPS', `FVS', and `FPD'.
5136 2003-05-15 Werner LEMBERG <wl@gnu.org>
5138 * src/utils/pfbtops/pfbtops.c (get_text): Handle loop counter
5141 2003-05-03 Ruslan Ermilov <ru@FreeBSD.org>
5143 * tmac/groff_mdoc.man: Slight improvements.
5145 2003-05-03 Werner LEMBERG <wl@gnu.org>
5147 * tmac/doc-common (doc-header): Emit vertical space of 1v instead of
5148 `doc-header-space' after header line if register `cR' is set.
5150 2003-05-02 Werner LEMBERG <wl@gnu.org>
5154 2003-05-01 Ruslan Ermilov <ru@FreeBSD.org>
5156 * tmac/doc-common (Nd): Use \[em].
5158 2003-05-01 Werner LEMBERG <wl@gnu.org>
5160 * tmac/doc-ditroff, tmac/doc-nroff (doc-header-space,
5161 doc-footer-space): Initialize to 0.5i.
5162 (doc-setup-page-layout): Don't set doc-header-space and
5165 2003-04-30 Werner LEMBERG <wl@gnu.org>
5167 * REVISION: Set to 1.
5169 * doc/pic.ms: Document possible problems with `figname'.
5171 2003-04-29 Werner LEMBERG <wl@gnu.org>
5173 Version 1.19 released
5174 =====================
5176 * VERSION: Set to 1.19.
5177 * REVISION: Set to 0.
5178 * doc/groff.texinfo, doc/webpage.ms, NEWS: Updated.
5180 * src/devices/grohtml/post-html.cpp (html_printer::~html_printer):
5181 Define charset as `US-ASCII' in html output.
5183 * tmac/www.tmac (ULE): Add missing scaling indicator.
5185 * win32-diffs: Removed.
5187 2003-04-28 Werner LEMBERG <wl@gnu.org>
5189 * doc/groff.texinfo: Document `dn' and `dl' registers if used with
5191 Document how to insert discardable whitespace with `.ss'.
5193 2003-04-27 Werner LEMBERG <wl@gnu.org>
5195 * src/preproc/pic/tex.cpp (tex_output::start_picture): Make code
5196 work with plain TeX also.
5198 * src/preproc/pic/pic.man, doc/pic.ms: Fix TeX code example.
5200 2003-04-25 Gaius Mulley <gaius@glam.ac.uk>
5202 * src/devices/grohtml/post-html.cpp (html_printer::~html_printer):
5205 2003-04-24 Werner LEMBERG <wl@gnu.org>
5207 * src/preproc/pic/pic.man, doc/pic.ms: Explain how to get a
5208 vbox with positive height and zero depth if in TeX mode.
5210 * NEWS: Document glyph name changes for grodvi and grolj4.
5212 2003-04-23 Werner LEMBERG <wl@gnu.org>
5214 * src/preproc/pic/tex.cpp (tex_output::start_picture): Fix TeX code.
5215 * doc/pic.ms: Fixed.
5217 2003-04-21 Werner LEMBERG <wl@gnu.org>
5219 HP-UX 10.20 has `snprintf' but it isn't declared.
5221 * configure.ac: Add declaration test for snprintf.
5222 * configure: Regenerated.
5223 * src/include/lib.h: Handle `NEED_DECLARATION_SNPRINTF'.
5224 * src/include/config.hin: Regenerated.
5226 2003-04-19 Werner LEMBERG <wl@gnu.org>
5228 Add keyword `figname' to pic, specifying the name of the picture
5229 box in TeX mode. Based on a patch from William J Poser
5230 <wjposer@unagi.cis.upenn.edu>.
5232 * src/preproc/pic/pic.y: New token `FIGNAME'.
5233 (macro_name): New rule of type <str>.
5234 (placeless_element): Handle `FIGNAME'.
5235 * src/preproc/pic/lex.cpp (lookup_keyword): Add `figname'.
5236 * src/preproc/pic/main.cpp (graphname): New global variable.
5237 (do_picture): Initialize `graphname'.
5238 * src/preproc/pic/pic.h: Updated.
5239 * src/preproc/pic/tex.cpp (tex_output::start_picture): Use
5242 (tex_output::text): Beautify output.
5243 * src/preproc/pic/object.cpp (object_spec::~object_spec): Deallocate
5244 `shaded' and `outlined' unconditionally.
5245 * NEWS, src/preproc/pic/pic.man, doc/pic.ms: Updated.
5248 * PROBLEMS, README.CVS: Mention that bison version 1.875b or
5249 greater is necessary.
5251 2003-04-17 Hartmut Henkel <hartmut_henkel@gmx.de>
5253 Add option -r to soelim to avoid emission of `.lf' lines.
5254 Add option -t to produces TeX comment lines instead of `.lf' lines.
5256 * src/preproc/soelim/soelim.cpp: New global variables `raw_flag'
5259 (main): Handle `-r' and `-t'.
5260 (set_location): Handle `raw_flag' and `tex_flag'.
5261 * src/preproc/soelim/soelim.man, NEWS: Updated.
5263 2003-04-17 Werner LEMBERG <wl@gnu.org>
5265 * tmac/hyphenex.sh: Replaced with...
5266 * tmac/hyphenex.pl: This perl script to avoid sed compatibility
5269 * aclocal.m4 (GROFF_HTML_PROGRAMS): Emit useful warning message
5270 if --quiet is used for the configure script.
5271 * configure: Regenerated.
5273 2003-04-16 Werner LEMBERG <wl@gnu.org>
5275 * src/devices/grohtml/post-html.cpp (text_glob::text_glob):
5276 Add `const' to second argument.
5277 (html_printer::add_table_end): Add `const' to argument.
5278 * src/devices/grohtml/html-text.cpp (html_text::issue_tag): Add
5279 `const' to arguments.
5280 * src/devices/grohtml/html-text.h: Updated.
5282 * src/devices/grolbp/charset.h (symset): Use `unsigned char'.
5283 * src/devices/grolbp/lbp.h (lbpputc): Use `unsigned char' for
5286 * src/devices/grotty/tty.cpp (tty_printer::make_rgb_string): Use
5287 cast for integer constant.
5289 * src/preproc/html/pre-html.cpp (image_device): Use `const'.
5290 (writeNbytes): Add `const' to first argument.
5291 (writeString): Add `const' to argument.
5292 (char_buffer::can_see): Add `const' to third argument.
5293 * src/preproc/html/pushback.cpp (pushBackBuffer::isString): Add
5294 `const' to argument.
5295 * src/preproc/html/pushback.h: Updated.
5297 * src/preproc/soelim/soelim.cpp (include_list): Add `const'.
5298 (include_path_append): Add `const' to argument.
5301 * src/roff/troff/uniglyph.cpp (unicode_to_glyph_list): Use `const'
5303 (unicode_to_glyph_init::unicode_to_glyph_init): Updated.
5304 * src/roff/troff/uniuni.cpp (unicode_decompose_list): Use `const'
5306 (unicode_decompose_init::unicode_decompose_init): Updated.
5307 * src/roff/troff/glyphuni.cpp (glyph_to_unicode_list): Use `const'
5309 (glyph_to_unicode_init::glyph_to_unicode_init): Updated.
5310 * src/roff/troff/input.cc (process_startup_file): Add `const' to
5313 * tmac/hyphenex.sh: Make script more portable by using a here
5316 2003-04-15 Werner LEMBERG <wl@gnu.org>
5318 Renamed all `*.cc' files to `*.cpp'.
5319 Updated all configuration files, makefiles, and documentation.
5321 2003-04-14 Werner LEMBERG <wl@gnu.org>
5323 * tmac/hyphenex.sh: Slight improvements.
5325 2003-04-13 Werner LEMBERG <wl@gnu.org>
5327 * font/devascii/R.proto, font/devcp1037/R.proto,
5328 font/devlatin1/R.proto, font/devutf8/R.proto: Fill up remaining
5329 character slots with unnamed glyphs.
5331 * tmac/an-old.tmac: Fix hyphenation value if `cR' is active.
5332 (an-first): New global variable.
5333 (an-header): Emit vertical space between multiple man pages.
5335 2003-04-11 Werner LEMBERG <wl@gnu.org>
5337 * doc/groff.texinfo, man/groff_out.man: \S only accepts integer
5340 2003-04-10 Werner LEMBERG <wl@gnu.org>
5342 * PROBLEMS: Revised.
5344 2003-04-10 Bernd Warken <bwarken@mayn.de>
5346 * doc/webpage.ms: Improved.
5348 2003-04-09 Werner LEMBERG <wl@gnu.org>
5350 Add register \n[.height] which returns the value of \H.
5351 Add register \n[.slant] which returns the value of \S.
5353 * src/roff/troff/env.cc (init_env_requests): Implement.
5354 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
5357 2003-04-08 Werner LEMBERG <wl@gnu.org>
5359 * tmac/html.tmac: Move some of the data into html-end.tmac.
5360 Remove most of the character translations for eqn since html fonts
5361 now cover those characters.
5363 * tmac/html-end.tmac: New file.
5364 * tmac/troffrc: Load html.tmac not www.tmac for -Thtml.
5365 * tmac/troffrc-end: Load html-end.tmac not html.tmac for -Thtml.
5366 * tmac/Makefile.sub (NORMALFILES): Add html-end.tmac.
5368 2003-04-07 Werner LEMBERG <wl@gnu.org>
5370 * man/groff_out.man: Document negative values of `N' if -Thtml is
5373 2003-04-06 Werner LEMBERG <wl@gnu.org>
5375 * Makefile.comm (depend.temp): Check location of YTABC.
5377 2003-04-05 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
5379 * contrib/mom/Makefile.sub (GROFFBIN): New variable for groff
5381 (groff_bin_path): Rename to GROFF_BIN_PATH.
5382 (GROFF): Use GROFFBIN and GROFF_BIN_PATH.
5383 * doc/Makefile.in (TROFFBIN): New variable for troff
5385 (GROFFBIN): New variable for groff binary path.
5386 (groff_bin_path): Rename to GROFF_BIN_PATH.
5387 (TROFF): Use TROFFBIN.
5388 (GROFF): Use GROFFBIN and GROFF_BIN_PATH.
5389 * doc/Makefile.sub (GROFFBIN): New variable for groff
5391 (groff_bin_path): Rename to GROFF_BIN_PATH.
5392 (GROFF): Use GROFFBIN and GROFF_BIN_PATH.
5394 * Makefile.comm (install_dev): Install scripts from DEVSCRIPTS
5395 with INSTALL_SCRIPT.
5396 (uninstall_dev): Uninstall scripts from DEVSCRIPTS.
5397 * Makefile.dev (all): Depend on DEVSCRIPTS.
5398 (install_dev): Likewise.
5399 * font/devdvi/Makefile.sub (DEVSCRIPTS): New variable to hold
5401 * font/devps/Makefile.sub (DEVSCRIPTS): Likewise.
5402 (DEVGENSCRIPTS): New variable to hold generated scripts.
5404 2003-04-05 Werner LEMBERG <wl@gnu.org>
5406 * src/libs/libdriver/input.cc (IntArray::operator[],
5407 IntArray::get_data): Remove meaningless `const' in return value.
5409 * README.CVS: New file.
5411 2003-04-04 Werner LEMBERG <wl@gnu.org>
5413 Check for stdint.h in C++, not in C.
5415 * aclocal.m4 (GROFF_STDINT_H): New function,
5416 * configure.ac: Check for stdint.h with GROFF_STDINT_H instead of
5418 * configure, src/include/config.hin: Regenerated.
5419 * src/libs/libgroff/tmpname.cc: Use HAVE_CC_STDINT_H.
5422 Fix handling of in grohtml. To do this, troff emits `N'
5423 with a negative value, representing the width of the unbreakable
5424 space (only for -Thtml). grohtml then converts this back to
5425 and uses the value of N as its width.
5427 * src/roff/troff/node.cc (space_char_hmotion_node::tprint,
5428 unbreakable_space_node::tprint): Emit `N-<width>'.
5429 * src/include/printer.h (printer::set_numbered_char): Make it
5431 Make members `font_table' and `nfonts' protected instead of private.
5432 * src/devices/grohtml/post-html.cc
5433 (html_printer::set_numbered_char): New member function.
5436 * src/libs/libgroff/maxfilename.cc:
5437 s/HAVE_LIMITS_H/HAVE_CC_LIMITS_H/.
5439 * src/roff/troff/node.cc (unbreakable_space_node::tprint): Don't
5442 2003-04-03 Sergey A. Osokin <osa@freebsd.org.ru>
5444 * man/roff.man: Small fixes.
5446 2003-04-03 Werner LEMBERG <wl@gnu.org>
5448 Make groff independent from locale's numeric settings.
5450 * configure.ac: Check for `setlocale'.
5451 * configure, src/include/config.hin: Regenerated.
5453 * src/include/lib.h: Handle HAVE_SETLOCALE.
5455 * src/devices/grodvi/dvi.cc (main), src/devices/grolj4/lj4.cc
5456 (main), src/devices/grops/ps.cc (main), src/preproc/grn/main.cc
5457 (main), src/preproc/pic/main.cc (main): Call `setlocale'.
5460 * doc/groff.texinfo: Change dir category to `Typesetting'.
5461 (Man font macros): Mention that there is no space between arguments
5464 * src/libs/libdriver/printer.cc, src/devices/grotty/tty.cc
5465 (*printer::change_color, *printer::change_fill_color): Add missing
5468 2003-04-02 Werner LEMBERG <wl@gnu.org>
5470 * src/devices/grohtml/html-table.cc (html_table::emit_col,
5471 html_table::is_gap): Compute table widths after converting border
5472 positions to avoid rounding errors.
5474 2003-04-01 Werner LEMBERG <wl@gnu.org>
5476 * src/devices/grohtml/html-text.cc (html_text::do_space): Handle
5477 `space_emitted' properly.
5479 2003-03-31 Werner LEMBERG <wl@gnu.org>
5481 * src/devices/grohtml/html-table.cc: Fix column width calculation.
5482 (html_table::set_linelength): Don't add 1.
5483 (html_table::add_indent): Don't subtract 1.
5485 * tmac/html.tmac: Set default page offset to zero.
5487 2003-03-30 Werner LEMBERG <wl@gnu.org>
5489 Make groff emit ` ' for `\ ' and `\~' if `-Thtml' is used.
5491 * src/roff/troff/node.cc (space_char_hmotion_node::tprint,
5492 unbreakable_space_node::tprint): New functions.
5493 (troff_output_file): Make space_char_hmotion_mode::tprint and
5494 unbreakable_space_node::tprint to friends.
5495 * src/roff/troff/node.h: Updated.
5497 * font/devhtml/R.proto: Add ` ' at position 0xA0 (as defined
5498 in the HTML standard).
5500 2003-03-29 Werner LEMBERG <wl@gnu.org>
5502 * src/roff/troff/env.cc (point_size): Fix emission of html tag.
5503 Otherwise, the following code
5512 produces `x a' instead of `xa'. This is a temporary fix, disabling
5513 font changes in diversions for -Thtml.
5515 * tmac/an-old.tmac (TH, SH): Use `HTML-TAG-NS' instead of
5517 (an-do-tag-html): Merge with ...
5518 (an-do-tag): This macro.
5519 Change code slightly to circumvent grohtml bug.
5520 * tmac/troffrc-end: Define dummy for HTML-TAG-NS.
5522 * src/devices/grohtml/html-table.cc (html_table::emit_col,
5523 html_table::is_gap): Round `width' properly.
5525 * tmac/html.tmac: Provide some default layout parameters for
5528 * font/devhtml/DESC.proto: Don't use discrete values for `sizes'
5531 2003-03-28 Werner LEMBERG <wl@gnu.org>
5533 src/devices/grops/ps.cc (ps_printer::do_import): Fix error message.
5535 2003-03-27 Werner LEMBERG <wl@gnu.org>
5537 * tmac/an-old.tmac (BT): Don't call .tl if register `ps4html' is
5540 2003-03-20 Werner LEMBERG <wl@gnu.org>
5542 * src/roff/troff/env.cc (vertical_spacing): Allow zero value for
5544 * doc/groff.texinfo: Updated.
5546 2003-03-19 Werner LEMBERG <wl@gnu.org>
5548 * src/roff/troff/input.cc (process_input_stack) <TOKEN_BEGIN_TRAP,
5549 TOKEN_END_TRAP>: Reset `have_input'.
5551 2003-03-18 Werner LEMBERG <wl@gnu.org>
5553 * src/roff/groff/groff.man: Mention groff_trace man page.
5555 2003-03-16 Werner LEMBERG <wl@gnu.org>
5557 * Makefile.in (LIBEXT): New variable to indicate the file extension
5558 of library files. Computed heuristically from $(OBJEXT).
5559 (MDEFINES): Add $(LIBEXT).
5560 * Makefile.lib, Makefile.comm: Use it.
5562 * src/utils/pfbtops/pfbtops.c (get_text): New function. Split
5563 overlong lines into smaller chunks.
5564 (get_binary): New function.
5566 * src/utils/pfbtops/pfbtops.man: Updated.
5568 2003-03-15 Colin Watson <cjwatson@debian.org>
5570 * src/roff/groff/groff.man: Minor syntax fix.
5572 2003-03-14 Egil Kvaleberg <egil@kvaleberg.no>
5574 * src/devices/grops/ps.cc (ps_printer::media_set,
5575 ps_printer::~ps_printer): Handle zero paper width and length.
5577 2003-03-13 Werner LEMBERG <wl@gnu.org>
5579 Add options -p and -l to grodvi.
5581 * src/devices/grodvi/dvi.cc: Include paper.h.
5582 (landscape_flag, user_paper_length, user_paper_width): New global
5584 (dvi_printer::begin_page): Emit `papersize' special.
5585 Set color after initialization of `cur_h' and `cur_v'.
5586 (main): Add options `-l' and `-p'.
5587 * font/devdvi/Makefile.sub (DESC): Set `papersize'.
5588 * src/devices/grodvi/grodvi.man, NEWS: Updated.
5590 * src/devices/grops/psrm.cc (valid_input_table): Fixed.
5592 2003-03-12 Werner LEMBERG <wl@gnu.org>
5594 * src/devices/grops/grops.man: Move documentation of .PSPIC to...
5595 * man/groff_tmac.man: This man page.
5596 * man/groff_font.man: Declare `paperwidth' and `paperlength' as
5599 * tmac/X.tmac: Don't load pspic.tmac.
5601 2003-03-11 Werner LEMBERG <wl@gnu.org>
5603 Make variable `pr' local to libdriver/input.cc. Based on a patch
5604 by Bernd Warken <bwarken@mayn.de>.
5606 * src/include/driver.h (pr): Removed.
5608 * src/libs/libdriver/input.cc (pr): New global variable.
5609 (do_file): Deallocate `pr'.
5610 * src/libs/libdriver/printer.cc (pr): Removed.
5612 * src/devices/grodvi/dvi.cc (main), src/devices/grohtml/post-html.cc
5613 (main), src/devices/grolbp/lbp.cc (main), src/devices/grolj4/lj4.cc
5614 (main), src/devices/grops/ps.cc (main), src/devices/grotty/tty.cc
5615 (main): Don't delete `pr'.
5617 2003-03-10 Werner LEMBERG <wl@gnu.org>
5619 * tmac/a4.tmac, tmac/composite.tmac: Use `.do'.
5620 * tmac/papersize.tmac: New file.
5621 * tmac/troffrc: Include `papersize.tmac'.
5622 * tmac/Makefile.sub (NORMALFILES): Add `papersize.tmac'.
5623 * tmac/an-old.tmac: Set LT to LL by default.
5625 * NEWS, MANIFEST, tmac/groff_man.man, man/groff_tmac.man,
5626 doc/groff.texinfo: Updated.
5628 * src/libs/libgroff/paper.cc (add_iso_paper): Fix very embarassing
5629 bug which caused all odd iso papers to have wrong dimensions.
5631 * src/devices/grops/ps.cc (user_paper_width): New global variable.
5632 (main) <'p'>: Set `user_paper_width' also.
5633 (ps_printer::media_width, ps_printer::media_height): Use values
5634 given with option `-p'.
5636 2003-03-09 Werner LEMBERG <wl@gnu.org>
5638 * src/include/nonposix.h: Provide default for SET_BINARY.
5640 * src/devices/grodvi/dvi.cc, src/devices/grolbp/lbp.cc,
5641 src/devices/grolj4/lj4.cc, src/devices/grops/ps.cc: Call SET_BINARY
5644 * src/utils/pfbtops/pfbtops.c: Call SET_BINARY unconditionally.
5645 (main): Treat \r\n as \n.
5647 2003-03-08 Werner LEMBERG <wl@gnu.org>
5649 * tmac/an-old.tmac: Use register `HY' to control hyphenation.
5650 * NEWS, tmac/groff_man.man, doc/groff.texinfo: Document it.
5652 2003-03-07 Werner LEMBERG <wl@gnu.org>
5654 Added support to access more than 256 glyphs in Type 1 fonts.
5656 * src/devices/grops/ps.cc (subencoding): New structure.
5657 (style): Add `sub' field.
5659 (ps_printer): Add `subencodings' and `next_subencoding_index' fields.
5660 Add `set_subencoding', `get_subfont' and `encode_subfont' member
5663 (ps_printer::set_char): Use `set_subencoding'.
5664 (make_subencoding_name): New function.
5665 (ps_printer::set_style): Handle case where `sty.sub' is not zero.
5666 (ps_printer::~ps_printer): Emit subencoding definitions.
5668 * src/devices/grops/psrm.cc (valid_input_table): New array to
5669 properly support EBCDIC.
5670 (white_space): Add `\f'.
5671 (ps_get_line): Change first argument to be of type `string &'.
5672 Updated all callers.
5673 This allows to get lines of arbitrary length.
5674 Use `valid_input_table'.
5675 Remove warning about non-conforming PS line length. This seems
5676 not to be of great importance -- for example, dvips don't emit
5678 (PS_LINE_MAX): Removed.
5679 (matches_comment): Change first argument to be of type `string &'.
5681 * src/devices/grops/grops.man, src/devices/grops/TODO: Updated.
5683 * src/utils/afmtodit/afmtodit.pl (%unicode_decomposed,
5684 %AGL_to_unicode, %default_ligatures): New hash tables.
5685 Read all map entries.
5686 Add unencoded characters.
5687 Check for default ligatures if there are no `L' entries.
5688 Print all kern entries.
5689 Print all characters in charset.
5690 * src/utils/afmtodit/afmtodit.man: Updated.
5692 * font/devps/*: Regerated all fonts.
5694 * tmac/latin[129].tmac, tmac/cp1047.tmac: Don't test for existence
5695 of characters, just use `.trin'. Otherwise the mapping depends
5696 on the font encoding.
5697 * tmac/ps.tmac: Add `fi' and `fl'.
5698 Improve `Fi' and `Fl'.
5699 * tmac/X.tmac, tmac/lbp.tmac, tmac/tty.tmac: Improve `Fi' and `Fl'.
5700 * tmac/Xps.tmac: Fix `em'.
5704 2003-03-04 Werner LEMBERG <wl@gnu.org>
5706 * src/roff/troff/input.cc (charinfo_to_node_list): Reset
5709 2003-03-03 Werner LEMBERG <wl@gnu.org>
5711 * Makefile.sub (DISTCLEANFILES): Add gxditview._man.
5713 * font/devps/generate/textmap: Remove entry `similarequal'.
5714 * font/devps/symbolmap: Updated.
5716 2003-03-02 Werner LEMBERG <wl@gnu.org>
5718 * src/libs/libgroff/font.cc (font::load): Fix error message for
5721 * src/devices/grops/grops.man: Improve documentation of the -b
5724 * tmac/tty.tmac: Load latin1.tmac for all TTY devices except
5725 `ascii' and `cp1047'.
5727 2003-03-01 Werner LEMBERG <wl@gnu.org>
5729 Document composite glyphs and the `composite' request.
5731 * man/groff.man, man/groff_diff.man, doc/groff.texinfo: Do it.
5733 2003-02-28 Werner LEMBERG <wl@gnu.org>
5735 * font/devdvi/generate/ec.map: Add some more Unicode entities.
5736 * font/devdvi/*EC: Updated.
5738 * tmac/composite.tmac, tmac/latin2.tmac, tmac/latin9.tmac: New files.
5739 * tmac/latin1 (latin1-tr): Undo any previous mapping.
5740 * tmac/troffrc: Load `composite.tmac'.
5741 * tmac/Makefile.sub (NORMALFILES): Updated.
5743 * doc/groff.texinfo (Input Encodings): New section.
5746 2003-02-27 Werner LEMBERG <wl@gnu.org>
5748 * doc/texinfo.tex: New version 2003-02-11.06.
5750 * tmac/doc-common (Dt): Don't emit warning for unknown section.
5751 * tmac/groff_mdoc.man: Fix description of `Dt'.
5753 2003-02-26 Egil Kvaleberg <egil@kvaleberg.no>
5755 * font/devps/prologue.ps: Fix for included Postscript that does
5756 a setpagedevice -- which is now safely ignored.
5760 * src/devices/grops/ps.cc: Now sets the page size in the generated
5761 document. This is done in two ways: Via a %%-comment for gv and
5762 the like, and via a PageSize and setpagedevice for programs that
5763 understands Postscript proper, like ps2pdf.
5765 * src/devices/grops/ps.h: New broken-flag to avoid page size
5766 definition, if required.
5768 * src/devices/grops/grops.man: New broken-flag 16 mentioned.
5770 * doc/Makefile.in: Added -nosetpage flag (via @pnmtops_nosetpage@).
5771 Not really necessary due to the fix in prologue.ps, but cleaner:
5772 Such information does not belong in an .eps file.
5774 * doc/Makefile.sub: See doc/Makefile.in.
5776 2003-02-26 Ralph Corderoy <ralph@inputplus.co.uk>
5778 * aclocal.m4 (GROFF_PNMTOPS_NOSETPAGE): Use P2 format for testing
5779 instead of P1 since the latter is broken in some versions of netpbm.
5780 * configure: Updated.
5782 2003-02-26 Larry Kollar <kollar@alltel.net>
5784 Make man pages more customizable.
5786 * tmac/an-old.tmac (FT): New register holding footer distance from
5788 (HF): New string holding the default heading font.
5789 (TH): Handle registers `IN' and `SN' set on the command line.
5791 (PT, BT): New strings to customize header and footer lines.
5792 (an-header, an-footer): Use them.
5794 * tmac/groff_man.man: Document changes.
5796 * doc/groff.texinfo: Document man changes.
5797 Document Ultrix extensions of man.
5799 2003-02-26 Werner LEMBERG <wl@gnu.org>
5801 * src/roff/troff/input.cc (do_width, do_if_request): Reset
5802 `have_input' after changing back to old environment.
5804 * src/devices/grolbp/lbp.cc (lbp_printer::set_line_thickness): Move
5805 function up to be defined before first call. This is necessary to
5806 avoid a compilation problem with Sun's WorkShop 6 C++ compiler.
5808 * src/utils/afmtodit/afmtodit.pl: Make script search for files in
5809 the default font directory also. Based on a patch from James
5810 J. Ramsey <jjramsey_6x9eq42@yahoo.com>.
5811 * src/utils/afmtodit/Makefile.sub (afmtodit): Handle @FONTDIR@.
5812 * src/utils/afmtodit/afmtodit.man: Document it.
5816 * tmac/groff_man.man, doc/groff.texinfo: Many minor fixes.
5818 2003-02-25 Gaius Mulley <gaius@glam.ac.uk>
5820 * aclocal.m4 (GROFF_HTML_PROGRAMS): Add test for pnmtops.
5821 (GROFF_PNMTOPS_NOSETPAGE): New macro.
5822 * configure.ac: Use it.
5823 * configure: Regenerated.
5824 * Makefile.in: Updated.
5826 * tmac/Makefile.sub (NORMALFILES): Remove www.tmac.
5827 (CLEANADD): Add www.tmac-sed.
5828 (pnmtops_nosetpage): Define default.
5829 (install_data): Handle www.tmac-sed and substitute
5830 @PNMTOPS_NOSETPAGE@.
5831 (stamp-sed): Add www.tmac.
5832 * tmac/www.tmac: Rewritten, based on a patch by Bernd Warken.
5833 It now breaks URLs at suitable places.
5834 (www:substring_ok): New register set by...
5835 (www:@test_substring): New macro.
5836 (www:error): New alias to www-error.
5837 (www:lenstr, www:splitstr, www:url_breaks, www:url_breaks_splitted):
5839 (URL): Use www:url_breaks.
5840 (PIMG, MPIMG): Use @PNMTOPS_NOSETPAGE@.
5841 (CDS, CDE): New macros.
5843 2003-02-25 Werner LEMBERG <wl@gnu.org>
5845 * src/devices/grops/ps.cc (ps_printer::define_encoding): Avoid
5848 2003-02-24 Werner LEMBERG <wl@gnu.org>
5850 Contrary to the PCL5 Developer's Guide, the ascenders in TFM files
5851 can be negative also.
5853 * src/utils/hpftodit/hpftodit.cc (char_info): `ascent' must be
5855 (read_char_table): Avoid negative ascenders.
5856 (output_charset): Add cast.
5857 * font/devlj4/*: Regenerated.
5859 Replace unnamed glyphs for DVI fonts with `uXXXX' glyph names where
5862 * font/devdvi/generate/{tc,texttt,ec,texmi,texsy,textex}.map: Do it.
5863 * font/devdvi/generate/textex.map: Map glyph 23 to `u21C6' instead
5865 * font/devdvi/*: Regenerated.
5867 Map `la' and `ra' to U+27E8 and U+27E9. These two characters have
5868 normal width, while the previously used characters (U+2329 and
5869 U+232A) are classified as wide due to canonical equivalence with the
5870 CJK punctuation characters U+3008 and U+3009.
5872 * font/devutf8/R.proto: Updated.
5873 * src/roff/troff/uniglyph.cc, src/roff/troff/glyphuni.cc: Ditto.
5875 * man/groff_char.man: Simplify handling of table traps by
5876 introducing `start block' and `end block' macros.
5877 (Ns, Ne, 2s, 2e, Ds, De): New macros.
5878 (DL): Make it work with Unix troff also.
5879 Fix code values of `la' and `ra'.
5881 * tmac/dvi.tmac: Define `<>' for CW and CWI.
5883 2003-02-23 Gaius Mulley <gaius@glam.ac.uk>
5885 * src/devices/grohtml/post-html.cc (element_list::~element_list):
5886 New destructor, fixing a major memory leak.
5888 2003-02-22 Werner LEMBERG <wl@gnu.org>
5890 * font/devhtml/R.proto, font/devutf8/R.proto: Flip `*f' and `+f'
5891 to be in conformance with Unicode 3.0 and newer.
5893 * font/devlj4/generate/text.map: Add `Eu'.
5894 * font/devlj4/generate/special.map: Flip `*e' and `+e'.
5895 * font/devlj4/S: Regenerated.
5897 * man/groff_char.man: Completely rewritten.
5899 * doc/groff.texinfo: Fix description of request and macro arguments.
5901 2003-02-20 Gaius Mulley <gaius@glam.ac.uk>
5905 * src/devices/grohtml/html-table.cc (html_table::~html_table):
5906 Deallocate `columns' list.
5907 * src/devices/grohtml/post-html.cc (char_block::~char_block):
5909 (text_glob::text_glob_html, text_glob::text_glob_special,
5910 text_glob::text_glob_line, text_glob::text_glob_auto_image,
5911 text_glob::text_glob_tag): Avoid memory leaks.
5912 (text_glob::remember_table): Free memory before reassigning.
5914 2003-02-19 Werner LEMBERG <wl@gnu.org>
5916 Add glyph `+e', greek lunate epsilon symbol, and `-h' (with the
5917 alias `hbar'), the Planck constant over two pi.
5919 * font/devdvi/generate/texmi.map: Use `*e' for position 15 and
5920 `+e' for position 34.
5921 * font/devdvi/generate/texsy.map: Replace `DI' and `HE' with
5922 `u2662' and `u2661'.
5923 * font/devdvi/{MI,S}: Regenerated.
5924 * font/devhtml/R.proto, font/devutf8/R.proto: Add `+e', `-h', `hbar'.
5925 * font/devlbp/*: Add `hbar' alias.
5926 * font/devlj4/generate/special.map: Ditto.
5927 * font/devlj4/S: Regenerated.
5928 * font/devps/generate/symbolchars: Add `+e'.
5929 * font/devps/generate/textmap: Fix PS name for `-h'.
5931 * font/devps/symbolmap: Regenerated.
5933 * src/devices/grops/ps.cc (transform_fill): Removed since unused.
5935 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `+e',
5937 * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `+e',
5940 * tmac/X.tmac, tmac/ps.tmac: Provide definitions for `-h' and
5942 * tmac/tty-char.tmac: Add `+e'.
5944 2003-02-17 Werner LEMBERG <wl@gnu.org>
5946 Another round trying to really fix problems with `have_input'.
5948 * src/roff/troff/input.cc (input_stack::get): Handle `have_input'.
5949 (token::next) <'\n'>, <\'\n'>: Don't handle `have_input'.
5951 * src/devices/grotty/tty.cc (tty_printer::put_color): Fix color
5952 handling if both foreground and background colors are default.
5954 * doc/groff.texinfo (Debugging): Document .lf differences to
5957 2003-02-16 Werner LEMBERG <wl@gnu.org>
5959 * src/devices/grotty/tty.cc (tty_printer::make_rgb_string): Avoid
5960 null-bytes in created string.
5962 * src/roff/troff/input.cc (lookup_color, interpolate_macro,
5963 alias_macro, lookup_request): Improve warning messages.
5965 * src/roff/troff/node.cc (suppress_node::tprint): Use `strsave',
5967 Free `last_image_filename'.
5969 * src/preproc/html/pre-html.cc (char_block::char_block): Initialize
5971 (imageList::createPage, imageList::createImage): Use `free', not
5973 (imageItem::~imageItem): Free `imageName'.
5974 (addRegDef): Use `strsave', not `strdup'.
5975 (get_resolution): Free `pathp'.
5977 2003-02-15 Werner LEMBERG <wl@gnu.org>
5979 * src/devices/grotty/tty.cc (tty_printer::tty_printer): Fix pointer
5982 2003-02-14 Werner LEMBERG <wl@gnu.org>
5984 Add memory management for colors to deallocate unnamed colors
5987 * src/include/color.h (color): New members `free_list' and `next'.
5988 New member functions `new' and `delete'.
5990 * src/libs/libgroff/color.cc: Implement it.
5992 * src/libs/libgroff/font.cc (font::add_kern): Use integer cast
5993 for array size of new operator.
5995 * src/libs/libdriver/input.cc (IntArray::operator[]): Remove
5996 redundant comparison.
5998 * src/roff/troff/input.cc (word_space_node::reread,
5999 hmotion_node::reread): Avoid warning about unused parameter.
6000 (reset_output_registers): Remove redundant parameter.
6001 (define_color): Undo change 2003-02-12.
6003 * src/roff/troff/reg.h: Updated.
6005 * src/roff/troff/node.cc (troff_output_file::really_print_line,
6006 output_file::put_filename, real_output_file::really_put_filename,
6007 ascii_output_file::really_print_line,
6008 break_char_node::get_hyphen_list): Avoid warning about unused
6010 (suppress_node::tprint): Updated.
6012 * configure.ac: Check declaration for rand() and srand().
6013 * configure: Regenerated.
6015 * src/preproc/pic/pic.h: Declare fmod(), rand(), and srand()
6017 * src/preproc/pic/pic.y: Remove declaration of fmod(), rand(),
6020 * src/preproc/eqn/delim.cc (delim_table): Add missing initializers
6021 to avoid compiler warnings.
6023 * src/preproc/grn/hgraph.cc (HGPrintElt): Second parameter is
6026 * src/devices/grops/ps.cc (ps_printer::set_char): Last parameter
6028 * src/devices/grops/psrm.cc (skip_possible_newline): Remove first
6030 Updated all callers.
6032 * src/devices/grotty/tty.cc (tty_printer::set_char): Last parameter
6034 * src/devices/grodvi/dvi.cc (dvi_printer::set_char): Ditto.
6035 * src/devices/grolj4/lj4.cc (lj4_printer::set_char): Ditto.
6037 * src/devices/grohtml/post-html.cc (html_printer::emit_line):
6038 Parameter is unused.
6039 (html_printer::add_table_end): Define parameter conditionally.
6040 * src/devices/grohtml/output.cc (simple_output::special): Parameter
6043 * src/devices/grolbp/lbp.cc: Define _GNU_SOURCE conditionally.
6044 (lbp_printer::set_char): Last parameter is unused.
6046 * src/utils/indxbib/indxbib.cc (main): Remove redundant comparison.
6048 2003-02-13 Werner LEMBERG <wl@gnu.org>
6050 New commands \D'Fr ...', \D'Fc ...', etc. for orthogonality.
6051 Make \D'f ...' move horizontally again for backwards compatibility.
6052 Replace it with \D'Fg ...' where appropriate to avoid dependency
6053 on horizontal resolution.
6055 * src/roff/troff/input.cc (do_get_long_name): New function.
6056 (get_long_name): Call it.
6058 (read_draw_node): Handle `\D'Fx ...' by calling ...
6059 (read_color_draw_node): New function.
6061 (read_rgb, read_cmy, read_cmyk, read_gray): New optional argument
6063 Pass it to `do_get_long_name' which is used instead of
6066 * src/libs/libdriver/input.cc (color_from_Df_command): Remove
6067 unnecessary value guard.
6068 (parse_D_command) <'f'>: Add horizontal shift.
6070 * src/preproc/grn/hgraph.cc (HGPrintElt) <POLYGON>: Use \D'Fg ...'.
6071 * src/preproc/pic/troff.cc (troff_output::set_fill): Ditto.
6072 (FILL_MAX): Removed.
6074 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
6077 2003-02-12 Werner LEMBERG <wl@gnu.org>
6079 * src/roff/troff/input.cc (do_name_test, do_expr_test,
6080 do_zero_width): Push `\n' if closing delimiter is missing.
6082 (token::next) <ESCAPE_NEWLINE>, <'\n'>, <\'\n'>: Reset `have_input'.
6083 <'F'>: Make \F non-transparent at the beginning of line.
6084 (process_input_stack) <token::TOKEN_CHAR, token::TOKEN_NEWLINE,
6085 token::TOKEN_REQUEST, token::TOKEN_BEGIN_TRAP>: Don't handle
6088 (define_color): Free color in case of reassignment.
6090 * doc/groff.texinfo (@Defesc, @DefescList, @DefescItem,
6091 @DefescListEnd): Use @Var, not @var.
6094 * src/preproc/grn/hgraph.cc (HGPrintElt): Fix typo.
6096 * src/preproc/pic/object.cc (object_spec::~object_spec): Free
6097 `shaded' and `outlined' arrays.
6098 (object_spec::object_spec): Initialize `shaded' and `outlined'.
6099 (graphic_object::set_fill_color, graphic_object::set_outline_color):
6101 (closed_object::set_fill_color): Ditto.
6102 * src/preproc/pic/troff.cc (troff_output::set_color): Use strsave
6104 (troff_output::reset_color): Use a_delete instead of free.
6105 * src/preproc/pic/main.cc (do_file): Free `out' in case of error.
6107 2003-02-11 Werner LEMBERG <wl@gnu.org>
6109 * doc/groff.texinfo: Improve documentation of `ad'.
6110 Document that \D'f...' is dependent on the horizontal resolution.
6111 * man/groff_diff.man: Improve documentation of \D'f...'.
6113 * src/preproc/grn/hgraph.cc (HGPrintElt) <POLYGON>: Don't emit
6114 compensating \h'...' for \D'f ...' since the latter no longer moves
6116 * src/preproc/pic/troff.cc (troff_output::set_fill): Ditto.
6118 2003-02-10 Werner LEMBERG <wl@gnu.org>
6120 Improve error messages for `x F' (and `F') commands.
6122 * src/include/error.h: Add declaration for
6123 `current_source_filename'.
6124 * src/libs/libgroff/filename.cc: Add `current_source_filename'.
6125 * src/libs/libgroff/error.cc (do_error_with_file_and_line): Add
6126 parameter for source file string.
6127 Updated all callers.
6129 * src/libs/libdriver/input.cc: Add `current_source_filename'.
6130 (remember_source_filename): New function.
6131 (parse_x_command <'F'>, do_file <'F'>): Use it.
6133 2003-02-09 Werner LEMBERG <wl@gnu.org>
6135 Make grotty not emit warnings about unknown colors more than
6138 * src/devices/grotty/tty.cc: Include `ptable.h'.
6139 (TTY_MAX_COLORS): Removed.
6140 (DEFAULT_COLOR_IDX): Defined to -1.
6141 (glyph): Change `back_color_idx' and `fore_color_idx' to `char'.
6142 (tty_printer): Change `curr_back_idx' and `curr_fore_idx' to `char'.
6143 Change `tty_colors' to be a ptable.
6144 First arg of `put_color' is now `char'.
6145 New functions `make_rgb_string' and `tty_color'.
6146 (tty_printer::tty_printer): Use `tty_color'.
6147 (tty_printer::color_to_idx): Return value is now `char'.
6150 * src/include/color.h (color): Add `print_color' member function.
6151 * src/libs/libgroff/color.cc (color::print_color): Implement it.
6153 2003-02-08 Werner LEMBERG <wl@gnu.org>
6157 * src/devices/grops/ps.cc (ps_printer::define_encoding): Close
6160 * src/include/ptable.h (PTABLE::~PTABLE, PTABLE::define): Always
6161 assume that value has been allocated with `new[]', thus use
6162 `a_delete' for deallocation.
6164 * src/libs/libdriver/input.cc (get_integer_arg,
6165 get_possibly_int_args, parse_x_command, do_file): Use `a_delete'
6168 * src/libs/libgroff/new.cc (delete) [!COOKIE_BUG]: Define.
6169 * src/libs/libgroff/nametoindex.cc
6170 (character_indexer::named_char_index): Use `new <type>[1]'.
6172 * src/preproc/eqn/lex.cc (init_table, do_definition): Use `new
6174 * src/preproc/eqn/text.cc (set_special_char_type): Ditto.
6175 (split_text): Use `a_delete'.
6177 * src/preproc/pic/pic.y (define_label, define_variable): Use `new
6180 * src/roff/troff/env.cc (environment::choose_breakpoint): Avoid
6181 harmless memory leak.
6182 (hyphen_trie::read_patterns_file): Initialize `buf'.
6183 * src/roff/troff/node.cc (troff_output_file::troff_output_file):
6184 Initialize `current_fill_color'and `current_glyph_color'.
6185 * src/roff/troff/glyphuni.cc
6186 (glyph_to_unicode_init::glyph_to_unicode_init): Use `new <type>[1]'.
6187 * src/roff/troff/uniuni.cc
6188 (unicode_decompose_init::unicode_decompose_init): Ditto.
6189 * src/roff/troff/uniglyph.cc
6190 (unicode_to_glyph_init::unicode_to_glyph_init): Ditto.
6192 2003-01-26 Werner LEMBERG <wl@gnu.org>
6194 * src/utils/indxbib/indxbib.cc (main) [__EMX__]: Check with
6195 `access' before calling `unlink'.
6196 (do_file): Handle __EMX__.
6198 * src/include/nonposix.h: Handle __EMX__.
6200 * Makefile.in (SEP): New variable; set to @PATH_SEPARATOR@.
6201 (fontpath,tmacpath): Use it.
6203 Sorted alphabetically.
6205 * src/preproc/eqn/neqn.sh, src/roff/nroff/nroff.sh: Use
6207 * src/preproc/eqn/Makefile.sub, src/roff/nroff/Makefile.sub: Handle
6210 2003-01-27 Werner LEMBERG <wl@gnu.org>
6212 * src/libs/libgroff/strcasecmp.c, src/libs/libgroff/strncasecmp.c:
6213 New files, copied from gnulib.
6214 * src/libs/libgroff/Makefile.sub (CSRCS): Add them.
6215 * configure.ac: Updated.
6216 * configure: Regenerated.
6218 * src/include/config.hin: Regenerated.
6219 * src/include/lib.h [!HAVE_STRCASECMP]: Declare `strcasecmp'.
6220 Don't define `strcasecmp' as `strcmp'.
6221 [!HAVE_STRNCASECMP]: Declare `strncasecmp'.
6222 Dont define `strncasecmp' as `strncmp'.
6224 * src/roff/groff/pipeline.c [!HAVE_STRCASECMP, !HAVE_STRNCASECMP]:
6227 2003-01-26 Werner LEMBERG <wl@gnu.org>
6229 * src/utils/indxbib/indxbib.cc (main) [__EMX__]: Fix typo:
6232 2003-01-25 Werner LEMBERG <wl@gnu.org>
6234 * doc/groff.texinfo (Ligatures and Kerning): Mention limitations.
6236 2003-01-24 Werner LEMBERG <wl@gnu.org>
6238 Add US-english hyphenation exceptions (converted from Barbara
6239 Beeton's hyphenation exception log reports which appear irregularly
6242 * tmac/hyphen.us: Updated to latest version.
6243 * tmac/README: Updated.
6244 * tmac/hyphenex.us, tmac/hyphenex.sh: New files.
6245 * tmac/troffrc: Load `hyphenex.us'.
6246 * tmac/Makefile.sub (NORMALFILES): Add `hyphenex.us'.
6247 * doc/groff.texinfo: Updated.
6249 2003-01-23 Werner LEMBERG <wl@gnu.org>
6251 Improve hyphenation slightly. This is a first step in redesigning
6252 the hyphenation algorithm to make it more flexible (e.g. allowing
6253 kerns and ligatures between the hyphenation character and the
6254 following character -- while not used normally in English, other
6255 languages like German would benefit).
6257 * src/roff/troff/env.cc (environment::hyphenate_line): Use
6258 assertion instead of if-clause.
6259 Let `get_hyphen_list' return the number of involved characters in
6260 the hyphenation pattern instead of computing it directly (which
6261 often yields too small values).
6262 * src/roff/troff/node.h (*::get_hyphen_list): Add second parameter.
6263 * src/roff/troff/node.cc (*::get_hyphen_list): Handle new second
6266 2003-01-22 Werner LEMBERG <wl@gnu.org>
6268 Fixing a bug which caused groff to hang if the hyphenation exception
6269 dictionary tried to grow.
6271 * src/roff/troff/env.cc (hyphen_trie::insert_hyphenation,
6272 hyphen_trie::read_patterns_file, do_hyphenation_patterns_file): Use
6273 pointer to dictionary.
6275 2003-01-20 Werner LEMBERG <wl@gnu.org>
6277 * src/utils/afmtodit/afmtodit.pl: Add switch `-m' to suppress
6278 negative left italic correction.
6279 * src/utils/afmtodit/afmtodit.man: Document it.
6281 * font/devps/generate/Makefile (RFLAG): Add `-m'.
6282 * font/devps/{AB,AR,BMB,BMR,CB,CR,EURO,HB,HR,HNB,HNR,NB,NR,PB,PR,
6283 S,TB,TR,ZD,ZDR}: Regenerated with afmtodit options `-i 0 -m'.
6287 2003-01-16 Werner LEMBERG <wl@gnu.org>
6291 2003-01-16 Jörgen Grahn <jgrahn@algonet.se>
6293 * src/preproc/refer/refer.man: Mention REFER environment variable.
6295 2003-01-05 Werner LEMBERG <wl@gnu.org>
6297 Similar to \[is], the square root glyph (\[sr]) and the square root
6298 extension glyph (\[radicalex]) are now text symbols. The new
6299 mathematical versions are called \[sqrt] and \[sqrtex],
6302 * font/devX*/S: Regenerated.
6303 * font/devdvi/generate/texex.map: Rename `sr[0123]' to `sqrt[0123]'.
6304 * font/devdvi/generate/texsy.map: Rename `sr' to `sqrt'.
6305 * font/devdvi/EX, font/devdvi/S: Regenerated.
6306 * font/devhtml/R.proto, font/devutf8/R.proto: Add `sqrt'.
6307 * font/devlj4/generate/special.map: Add `sqrt'.
6308 * font/devlj4/S: Regenerated.
6309 * font/devps/generate/textmap: Add `sqrt'.
6310 * font/devps/S, font/devps/symbolmap: Regenerated.
6312 * src/preproc/eqn/sqrt.cc (SQRT_CHAR, RADICAL_EXTENSION_CHAR,
6313 SQRT_CHAIN, BAR_CHAIN): Use `sqrt*' and `sqrtex*'.
6314 * src/roff/troff/input.cc (init_charset_table): Make `sqrtex'
6315 overlap horizontally.
6317 * tmac/X.tmac, tmac/ps.tmac, tmac/lj4.tmac: Add `sqrtex'.
6318 * tmac/dvi.tmac: Add `sr', and `sqrtex'.
6321 * doc/groff.texinfo, man/groff_diff.man: Document that `radicalex'
6322 and `sqrtex' are overlapping glyphs.
6324 2003-01-04 Werner LEMBERG <wl@gnu.org>
6326 * font/devdvi/generate/texsy.map: Add `is'.
6327 * font/devps/symbolmap: Regenerated.
6328 * font/devdvi/*TC, MI, S: Regenerated.
6330 * tmac/dvi.tmac: Remove `is'.
6332 2003-01-03 Werner LEMBERG <wl@gnu.org>
6334 `is' is now a text symbol (only relevant for dvi). The math variant
6335 can be accessed with `integral'.
6337 * font/devX*/S: Regenerated.
6338 * font/devdvi/generate/texex.map: Remove `is'.
6339 * font/devdvi/EX: Updated.
6340 * font/devhtml/R.proto, font/devutf8/R.proto: Add `integral'.
6341 * font/devlj4/generate/special.map: Ditto.
6342 * font/devlj4/S: Regenerated.
6343 * font/devps/generate/textmap: Add `integral'.
6344 * font/devps/S: Regenerated.
6346 * tmac/dvi.tmac: Define `is'.
6348 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `integral'.
6350 * src/preproc/tbl/main.cc (process_format): Fix error message.
6352 2003-01-02 Werner LEMBERG <wl@gnu.org>
6354 * font/devhtml/R.proto, font/devutf8/R.proto: Add `ne' and `nc'.
6355 * font/devps/textmap: Fix entries for `ne' and `nc'.
6356 * font/devps/symbolmap: Regenerated.
6358 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list),
6359 src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `18',
6360 `38', `58', `78', `-+', `|=', `nc', `ne'.
6362 * tmac/dvi.tmac: Add `nm', `ne', `nc'.
6363 Use `schar' for `aq'.
6364 * tmac/ps.tmac, tmac/X.tmac: Add `nc' and `ne'.
6365 * tmac/ec.tmac: Add `SC' to special fonts for `CW' and `CWI'.
6366 * tmac/tty.tmac: Add `ne'.
6368 * src/roff/troff/node.cc (make_glyph_node): Test with `get_macro'
6369 for fallback glyphs.
6371 2002-12-29 Werner LEMBERG <wl@gnu.org>
6375 * font/devX*/*: Regenerated.
6376 * font/devdvi/generate/ec.map: Remove `eq'.
6377 * font/devdvi/generate/texsy.map: Make `~=' the same as `~~'.
6378 Assign `|=' to position 39.
6379 * font/devdvi/*EC, S: Regenerated.
6380 * font/devhtml/R.proto, font/devutf8/R.proto: Add `|='.
6381 * font/devlj4/generate/special.map: Make `~=' the same as `~~'.
6382 Assign `|=' to position 549.
6383 * font/devps/generate/textmap, font/devps/enerate/symbolmap: Remove
6385 Add `uni2243' for `|='.
6387 * tmac/ec.tmac: Add `eq'.
6388 * tmac/dvi.tmac: Add `=~'.
6389 * tmac/tty-char.tmac, tmac/ps.tmac, tmac/X.tmac, tmac/lbp.tmac: Add
6392 2002-12-21 Werner LEMBERG <wl@gnu.org>
6394 * font/devdvi/generate/tc.map: Remove `**'.
6395 * font/devdvi/*TC: Regenerated.
6396 * font/devhtml/R.proto, font/devutf8/R.proto: Add `18', `38', `58',
6398 * font/devutf8/NOTES: Updated.
6400 * src/roff/troff/charinfo.h (charinfo): Add `setx_macro' function.
6401 Don't give default parameter to `set_macro'.
6402 * src/roff/troff/input.cc (do_define_character): Use `setx_macro'
6403 instead of `set_macro'.
6404 (charinfo::setx_macro): Implement it.
6405 (charinfo::set_macro): Don't change `mode'.
6407 * tmac/tty.tmac: Add `18', `38', `58', `78', `<<', `>>'.
6408 * tmac/ps.tmac, tmac/X.tmac: Add `<<', `>>'.
6409 * tmac/dvi.tmac: Define `!=' with `.schar'.
6411 2002-12-20 Werner LEMBERG <wl@gnu.org>
6413 * font/devX*/S: Regenerated.
6414 * font/devdvi/generate/ec.map: Remove `pl'.
6415 * font/devdvi/generate/tc.map: Remove `mi', `14', `12', `34'.
6416 * font/devdvi/*{TC,EC}: Regenerated.
6417 * font/devhtml/R.proto: Add `-+'.
6418 Remove double entries for `rk', `lk', `lt', `rt', `rb', `lb'.
6419 * font/devlbp/*: Remove `or'.
6420 * font/devlj4/generate/special.map: Remove `or'.
6421 * font/devlj4/S: Regenerated.
6422 * font/devps/generate/textmap: Add `fiveeighths', `oneeighth',
6423 `seveneighths', `threeeighths'.
6425 Replace `minusplus' with `uni2213'.
6426 * font/devps/symbolmap: Regenerated.
6427 * font/devutf8/R.proto: Replace `shc' with unnamed glyph.
6430 * src/roff/troff/charinfo.h (charinfo): Add `is_normal' inline
6432 * src/roff/troff/node.cc (troff_output_file::put_char_width):
6433 Call glyph_color and fill_color even if tcommand_flag isn't set.
6434 (make_node, node::add_char): Check not ci->is_fallback but
6437 * tmac/lj4.tmac, tmac/lbp.tmac: Define `or'.
6438 * tmac/ec.tmac: Add .rchar entry for `f/'.
6439 Don't remove `12', `14', `34'.
6440 Define `pl' to be always roman.
6441 * tmac/ps.tmac (ps-frac, ps-frac-mono): New macros.
6442 Define `18', `38', `58', `78'.
6443 * tmac/tty.tmac: Add `-+'.
6444 * tmac/dvi.tmac: Define `f/'.
6445 (dvi-frac): Use `f/'.
6446 * tmac/X.tmac (X-frac, X-frac-mono): New macros.
6447 Define `18', `38', `58', `78'.
6449 2002-12-15 Colin Watson <cjwatson@debian.org>
6451 * contrib/pic2graph/pic2graph.sh: Add missing `;;'.
6453 2002-12-10 Werner LEMBERG <wl@gnu.org>
6455 Add glyph `tno', a textual variant of `no'.
6457 * font/devX*/*: Regenerated.
6458 * font/{devcp1047,devlatin1,devutf8,devhtml}/R.proto: Add `tno'.
6459 * font/devdvi/generate/{tc.map: Replace `no' with `tno'.
6460 * font/devdvi/generated/{texsy,textex}.map: Add `tno'.
6461 * font/devdvi/*: Regenerated.
6462 * font/devlbp/*: Add `tno'.
6463 * font/devlj4/generate/tex.map: Replace `no' with `tno'.
6464 * font/devlj4/*: Regenerated.
6465 * font/devps/generate/textmap: Replace `no' with `tno'.
6466 * font/devps/generate/symbolchars: Add `no'.
6467 * font/devps/*: Regenerated.
6469 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `tno'.
6471 * tmac/cp1047.tmac, tmac/latin1.tmac: Replace `no' with `tno'.
6472 * tmac/tty-char.tmac: Add entry for `tno' and `3d'.
6476 * tmac/dvi.tmac: Replace most `\\' with `\E'.
6477 Add definition for `sd'.
6478 * tmac/X.tmac, tmac/ps.tmac: Replace most `\\' with `\E'.
6480 * tmac/eqnrc <dvi>: Use `integral' instead of `is' glyph.
6482 2002-12-08 Werner LEMBERG <wl@gnu.org>
6484 * tmac/an-old.tmac (TH): Use integer value for `IN' if in nroff
6485 mode to avoid rounding errors.
6486 (an-do-tag, an-do-tag-html, RS, RE): Remove redundant `.br'.
6488 * src/roff/groff/groff.man, src/roff/nroff/nroff.man,
6489 src/roff/troff/troff.man: Improve documentation of -T.
6491 2002-12-07 Jeff Conrad <jeff_conrad@msn.com>
6493 * src/roff/groff/pipeline.c: Don't define `const' for _WIN32.
6494 (run_pipeline) [_WIN32]: Provide working function without `fork'.
6496 2002-12-06 Werner LEMBERG <wl@gnu.org>
6498 * font/devps/generate/freeeuro.sfd: Make dimensions of Euro.symbol
6499 glyphs compatible to Adobe's Euro fonts (scaling them down a bit).
6500 Scaling Euro.sansserif glyphs down to have the same height as
6502 Removed unnecessary points; added some extrema.
6504 * font/devps/EURO, font/devps/freeeuro.afm, font/devps/freeeuro.pfa:
6507 2002-12-04 Werner LEMBERG <wl@gnu.org>
6509 * font/devps/generate/freeeuro.sfd: Add glyphs `Euro.symbol.slanted'
6510 and `Euro.symbol.bold.slanted'.
6511 Improve some glyph offsets and widths.
6512 * font/devps/EURO, font/devps/freeeuro.afm, font/devps/freeeuro.pfa:
6514 * font/devps/generate/Makefile (freeeuro.afm freeeuro.pfa): Fix
6516 * font/devps/generate/sfdtopfa.pe: Generate PFA in current
6519 * tmac/europs.tmac: Updated to new glyph indices.
6520 Use Euro.symbol for font familiy `A'.
6522 * doc/groff.texinfo: Minor improvements.
6524 2002-12-02 Werner LEMBERG <wl@gnu.org>
6526 * font/devdvi/generate.tc.map: s/%O/%0/.
6527 * font/devdvi/*TC: Regenerated.
6529 * src/roff/troff/div.cc (init_div_requests): Sorted.
6531 * tmac/dvi.tmac: Remove `Ye'.
6532 * tmac/ec.tmac: Remove `Ye'.
6533 Add .rchar entry for `de'.
6535 * man/groff.man, man/groff_diff.man: Document register `.pe'.
6536 * doc/groff.texinfo: Document registers `.pe', `.n', and `.w'.
6539 2002-11-30 Werner LEMBERG <wl@gnu.org>
6541 Add PS font for various Euro glyphs.
6543 * font/devps/generate/freeeuro.sfd: New master font file for
6545 * font/devps/generate/sfdtopfa.pe: New conversion script for
6547 * font/devps/generate/Makefile (FONTS): Add `EURO'.
6548 (EURO, freeeuro.afm, freeeuro.pfa): New rules.
6549 * font/devps/freeeuro.pfa, font/devps/freeeuro.afm: Generated from
6551 * font/devps/EURO: Generated from `freeeuro.afm'.
6552 * font/devps/download: Add `freeuro.pfa'.
6553 * font/devps/Makefile.sub (NORMALFILES): Adde `EURO' and
6556 * tmac/europs.tmac: New file.
6557 * tmac/ps.tmac: Include `europs.tmac'.
6558 * tmac/Makefile.sub (DISTFILES): Add `europs.tmac'.
6560 2002-11-29 Werner LEMBERG <wl@gnu.org>
6562 * font/devdvi/generate/texsy.map: Remove `lh' and `rh'.
6563 * font/devdvi/S: Regenerated.
6564 * font/devhtml/R.proto: Fix `CR' and `ci'.
6566 * font/devps/generate/textmap: Fix `lh', `rh', and `sq'.
6568 * font/devps/symbolmap: Regenerated.
6569 * font/devutf8/R.proto: Fix `CR' and `ci'.
6571 * font/devutf8/NOTES: Updated.
6573 * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Fix `CR' and
6576 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Ditto.
6578 * tmac/dvi.tmac: Add `lh' and `rh'.
6579 * tmac/Xps.tmac: Fix `lh' and `rh'.
6580 * tmac/X.tmac: Add `OK'.
6581 * tmac/lj4.tmac: Ditto.
6583 2002-11-24 Werner LEMBERG <wl@gnu.org>
6585 * font/devX*/S: Regenerated.
6586 * font/devascii/R.proto, font/devcp1047/R.proto: Remove glyphs `lb',
6587 `lc', `lf', `lk', `lt', `rb', `rc', `rf', `rk', and `rt'.
6588 * font/devdvi/generate/texsy.map: Remove `or' glyph.
6589 * font/devdvi/S: Regenerated.
6590 * font/devhtml/R.proto, font/devutf8/R.proto: Add/fix glyphs
6591 `parenlefttp', `parenleftex', `parenleftbt', `parenrighttp',
6592 `parenrightex', `parenrightbt', `bracketlefttp', `bracketleftex',
6593 `bracketleftbt', `bracketrighttp', `bracketrightex',
6594 `bracketrightbt', `bracelefttp', `braceleftmid', `braceleftbt',
6595 `braceex', `braceleftex', `bracerightex', `bracerighttp',
6596 `bracerightmid', `bracerightbt', `lt', `lk', `lb', `rt', `rk',
6598 * src/roff/troff/glyphuni.cc, src/roff/troff/uniglyph.cc: Ditto.
6599 * font/devutf8/NOTES: Updated.
6600 * font/devlj4/generate/special.map: Add glyph `braceex'.
6601 * font/devlj4/S: Regenerated.
6603 * tmac/tty-char.tmac: Add glyphs `lf', `rf', `lc', and `rc'.
6605 2002-11-14 Werner LEMBERG <wl@gnu.org>
6607 * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `va'
6610 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Ditto.
6612 * doc/texinfo.tex: New version from texinfo 4.3.
6613 * doc/groff.texinfo: Updated for texinfo 4.3.
6614 Use @tie{} where appropriate.
6615 * font/devdvi/generate/ec.map: Don't include `or' and `bv'.
6616 * font/devdvi/generate/tc.map: Remove `rn'.
6617 * font/devdvi/*TC, font/devdvi/*EC: Regenerated.
6618 * font/devhtml/R.proto, font/devutf8/R.proto: Add `vA'.
6620 * font/devX100/*, font/devX100-12/*, font/devX75/*,
6621 font/devX75-12/*: Regenerated.
6623 * tmac/dvi.tmac: Add special fonts `SA' and `SB'.
6624 Use .char (again) for `br', `ul', `rn', `or', and `ru'.
6625 Improve definition of `an'.
6626 * tmac/ps.tmac: Use .char (again) for `br', `ul', `rn', `or', and
6628 * tmac/lj4.tmac: Use .char (again) for `br', `ul', `rn', and `ru'.
6629 * tmac/X.tmac: Add definition for `or'.
6630 * tmac/Xps.tmac: Undo change 2002-11-05.
6631 * tmac/lbp.tmac: Add definitions for `br', `rn', `ul', and `ru'.
6633 2002-11-11 Werner LEMBERG <wl@gnu.org>
6635 * src/roff/troff/node.cc (troff_output_file::put_char): Always
6638 2002-11-10 Werner LEMBERG <wl@gnu.org>
6640 Added three new requests `schar', `fschar', and `rfschar'. `schar'
6641 defines a glyph which is searched after the check for fonts declared
6642 with `.special' (and before the check for all mounted special
6643 fonts). `fschar' defines a glyph for a particular font which is
6644 searched after the check for fonts declared with `.fspecial' (and
6645 before the check for fonts declared with `.special'). `rfschar'
6646 removes glyphs defined with `fschar'.
6648 * src/roff/troff/token.h (char_mode): New enum.
6649 Declare do_define_character.
6650 * src/roff/troff/charinfo.h (charinfo): Replace `fallback' with
6652 (charinfo::is_fallback): Updated.
6653 (charinfo::is_special): New method.
6654 * src/roff/troff/input.cc (do_define_character): Add and use
6655 optional second parameter used as a prefix for font-specific glyph
6657 (define_character, define_fallback_character): Updated.
6658 (define_special_character): New function.
6659 (init_input_requests): Add `schar'.
6660 (charinfo::charinfo, charinfo::set_macro): Updated.
6661 * src/roff/troff/node.cc: Include `stringclass.h'.
6662 (make_glyph_node): Handle special glyphs defined with `.schar' and
6664 (define_font_special_character, remove_font_special_character): New
6666 (init_node_requests): Sorted.
6667 Add `fschar' and `rfschar'.
6668 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
6669 Document new requests.
6671 * font/devhtml/R.proto, font/devutf8/R.proto: Add `va'.
6672 * tmac/dvi.tmac: Add `va' for CW and CWI (using `.fschar').
6674 2002-11-08 Werner LEMBERG <wl@gnu.org>
6676 Added new font `SC' (cmtex10) to devdvi.
6678 * devdvi/generate/Makefile (FONTS): Add `SC'.
6680 * devdvi/generate/textex.map: New map file for cmtex.
6682 * devdvi/Makefile.sub (DEVFILES): Updated.
6683 * tmac/dvi.tmac: Add fspecial entries for SC.
6684 Add `MI', `S' and `CW' to the `special' call. Otherwise, `SC' is
6685 found before `S' since the font position of `SC' is lower due to the
6686 gaps in DESC's `font' line.
6687 * tmac/ec.tmac: Add a `special' call.
6690 * font/devhtml/R.proto: Remove double entry for `ti'.
6691 * tmac/tty.tmac: Add entries for `IJ', `ij', and `bq'.
6692 * tmac/tty-char.tmac: Remove entry for `bq'.
6693 * tmac/lbp.tmac: Add entries for `lq', `rq', `fo', `fc', and `em'.
6694 * tmac/ec.tmac: Don't remove `aq' glyph.
6695 * tmac/X.tmac: Fix entry for `em'.
6696 Add entries for `fo' and `fc'.
6697 * tmac/dvi.tmac: Add entries for `em', `en', `hy', `fo', and `fc'.
6699 * doc/groff.texinfo, man/groff.man, man/groff_diff.man: Fix
6700 documentation of `special' and `fspecial' requests.
6702 2002-11-05 Werner LEMBERG <wl@gnu.org>
6704 * font/devascii/R.proto, font/devcp1047/R.proto,
6705 font/devlatin1/R.proto: Remove entry for `.i'.
6706 * font/devdvi/generate/textt.map: Add entry for `ad'.
6707 * font/devdvi/generate/texr.map, font/devdvi/generate/texb.map,
6708 font/devdvi/generate/texi.map: Add dummy glyph name `slash@for@l'.
6709 We need this for getting kerning values to compose `/l' and `/L'.
6710 * font/devdvi: Regenerated font definition files for CM fonts.
6711 * font/devhtml/R.proto: Add entries for "'C", "'c", `IJ', and `ij'.
6712 * font/devutf8/R.proto: Ditto.
6713 Remove double entry for `ti'.
6715 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Fix entries
6716 for (groff) ligatures, `la', and `ra'.
6717 Add "'C", "'c", `IJ', and `ij'.
6718 Remove double entry for `ti'.
6719 * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Remove all
6721 Add "'C", "'c", `IJ', and `ij'.
6722 Fix entries for (groff) ligatures, `la', and `ra'.
6724 * tmac/ps.tmac (ps-achar): New macro.
6725 Define "'c" and "'C".
6726 * tmac/tty.tmac: Add entry for `.i'.
6727 * tmac/X.tmac (X-achar): New macro.
6728 Define "'c", "'C", and `:Y'.
6729 Add entries for `IJ' and `ij'.
6730 * tmac/Xps.tmac (Xps-achar): New macro.
6731 Define "'c" and "'C".
6732 Add entries for `IJ' and `ij'.
6733 * tmac/lbp.tmac (lbp-achar): New macro.
6734 Add fallback characters for all groff ligatures and many other
6736 * tmac/dvi.tmac: Fix definitions of `_' and `ul'.
6737 Add entries for `/l' and `/L'.
6738 Define "'c" and "'C".
6739 Add entries for `IJ' and `ij'.
6741 2002-11-02 Larry Kollar <kollar@alltel.net>
6743 * PROBLEMS: Document how to solve Mac OS X compilation problems.
6745 2002-11-02 Werner LEMBERG <wl@gnu.org>
6747 Adding support for composite glyphs: \[xxx yyy ...] and the
6748 `composite' request.
6750 * src/roff/troff/glyphuni.cc: New file for mapping groff glyph names
6751 to Unicode-based glyph names.
6752 * src/roff/troff/uniglyph.cc: New file for mapping Unicode-based
6753 glyph names to groff glyph names.
6754 * src/roff/troff/uniuni.cc: New file for canonically decomposing
6755 Unicode-based glyph names.
6756 * src/roff/troff/unicode.cc, src/roff/troff/unicode.h: New files
6757 for handling Unicode glyph names.
6758 * src/roff/troff/input.cc: Include unicode.h.
6759 (composite_glyph_name): New function.
6760 (token::next) <'['>: Handle Unicode glyph names and composite
6762 (composite_dictionary): New dictionary for the `composite' request.
6763 (composite_request): Implement `composite' request.
6764 (init_input_requests): Add `composite'.
6765 Alphabetically sorted.
6766 * src/roff/troff/env.cc (tabs_save, tabs_restore): Removed (already
6768 (init_env_requests): Alphabetically sorted.
6769 Removed `tas' and `tar' (already commented out).
6770 * src/roff/troff/Makefile.sub: Updated.
6772 2002-10-31 Ruslan Ermilov <ru@FreeBSD.org>
6774 * src/roff/nroff/nroff.man, src/roff/nroff/nroff.sh: Fix description
6777 2002-10-29 Werner LEMBERG <wl@gnu.org>
6779 Fix computation of .trunc register. Additionally, its value (and
6780 the value of the .ne register) is now always set before entering the
6783 * src/roff/troff/div.cc (diversion::need): Set `truncated_space' and
6784 `needed_space' before calling `space'.
6785 (top_level_diversion::space): Remove special code for 'sp before the
6787 Call `begin_page' with the discarded space as a parameter.
6788 (top_level_diversion::begin_page): Add optional parameter to set
6790 * src/roff/troff/div.h: Updated.
6792 * doc/groff.texinfo: Improve documentation of .sp, \n[.trunc], and
6795 * tmac/an-old.tmac (SH, SS, TP, IP, HP, TS): Undo change 2002-10-26.
6796 (LP): Remove superfluous call to `br'.
6797 * tmac/doc-common (doc-paragraph): Undo change 2002-10-26.
6798 * tmac/doc.tmac (Bd, Bl, doc-set-vertical-and-indent): Ditto.
6800 2002-10-26 Werner LEMBERG <wl@gnu.org>
6802 * tmac/doc-ditroff: Remove useless switch/variable -rC.
6803 (doc-setup-header): Don't set page register `%'.
6804 * tmac/doc-nroff: Remove variable `C'.
6805 (doc-setup-page-layout): Set doc-header-space to .5i unconditionally.
6806 (doc-setup-header): Don't set page register `%'.
6808 * tmac/doc-common (doc-header): Call `ns'.
6809 (doc-paragraph): Protect .sp with .br so that it survives traps
6810 possibly set by the user.
6811 * tmac/doc.tmac (Bd, Bl, doc-set-vertical-and-indent): Ditto.
6813 * tmac/doc*: Replace ' with . for consistency if no effect.
6815 2002-10-26 Werner LEMBERG <wl@gnu.org>
6817 * tmac/an-old.tmac (SH, SS, TP, IP, HP, TS): Protect .sp with .br
6818 so that it survives traps possibly set by the user.
6820 * src/roff/troff/node.cc: Fix the changes from 2002-10-23.
6821 (troff_output_file::set_font): Call flush_tbuf if necessary.
6822 (troff_output_file::fill_color, troff_output_file::glyph_color): Call
6823 flush_tbuf and do_motion only if necessary.
6824 (troff_output_file::start_special,
6825 troff_output_file::put_char_width, troff_output_file::put_char,
6826 troff_output_file::draw): Updated.
6827 (word_space_node::tprint, space_node::tprint, hmotion_node::tprint,
6828 vmotion_node::tprint): Undo change 2002-10-23.
6830 2002-10-25 Werner LEMBERG <wl@gnu.org>
6832 * tmac/www.tmac (DC): Fix case of overlapping images.
6834 2002-10-23 Werner LEMBERG <wl@gnu.org>
6836 * src/roff/troff/node.cc (troff_output_file::fill_color,
6837 troff_output_file::glyph_color): Set current color before testing
6839 (troff_output_file::put_char_width, troff_output_file::put_char,
6840 troff_output_file::draw): Don't call flush_tbuf and/or do_motion
6842 (troff_output_file::file_color, troff_output_file::glyph_color):
6844 (word_space_node::tprint, space_node::tprint, hmotion_node::tprint,
6845 vmotion_node::tprint): Move first, then call fill_color.
6847 2002-10-20 Werner LEMBERG <wl@gnu.org>
6849 * doc/groff.texinfo, man/groff_tmac.man: Document that it is not
6850 possible to use multiple main macro packages.
6852 2002-10-19 Werner LEMBERG <wl@gnu.org>
6854 * src/devices/grops/ps.cc (cmyk_flag): New global variable.
6855 (ps_printer::set_color): Set `cmyk_flag' for CMY and CMYK colors.
6856 (ps_printer::~ps_printer): Emit `%%Extensions: CMYK' if `cmyk_flag'
6858 * font/devps/prologue.ps (Fk, Ck): Enclose definitions with a
6859 `where' construction since `cmyksetcolor' is a PS Level 2 operator.
6861 2002-10-16 Werner LEMBERG <wl@gnu.org>
6863 * NEWS, doc/webpage.ms: Updated.
6865 2002-10-14 Werner LEMBERG <wl@gnu.org>
6867 * src/roff/troff/node.cc (troff_output_file::put_char_width,
6868 troff_output_file::put_char, troff_output_file::fill_color,
6869 troff_output_file::glyph_color): Handle case where color pointer
6872 2002-10-13 Ruslan Ermilov <ru@FreeBSD.org>
6874 Add the new -r option to grotty. It is similar to the -i option
6875 except it tells grotty(1) to use the `reverse video' attribute to
6876 render italic fonts.
6878 * src/devices/grotty/tty.cc (reverse_flag): New global variable.
6879 (SGR_REVERSE, SGR_NO_REVERSE): New macros.
6880 (tty_printer::make_underline, tty_printer::put_color,
6881 tty_printer::end_page): Use it.
6882 (main): Add -r switch.
6884 * src/devices/grotty/grotty.man: Document it.
6886 2002-10-11 Ruslan Ermilov <ru@FreeBSD.org>
6888 * src/roff/troff/env.cc (hyphen_trie::read_patterns_file): Add
6889 cast to `unsigned char' to properly read patterns with 8bit
6892 2002-10-08 Werner LEMBERG <wl@gnu.org>
6894 * REVISION: Increased to 2.
6897 version-control: never