1 2006-11-21 Werner LEMBERG <wl@gnu.org>
3 * doc/Makefile.sub (uninstall_sub): Fix names for info files.
5 2006-11-18 Werner LEMBERG <wl@gnu.org>
7 * man/roff.man, doc/groff.texinfo: Improve history of roff, based on
8 information from Tom Van Vleck <thvv@multicians.org>.
10 2006-11-16 Werner LEMBERG <wl@gnu.org>
12 * tmac/62bit.tmac: New macro package.
13 * tmac/Makefile.sub (NORMALFILES): Add it.
16 * tmac/trace.tmac: Protect against being loaded again.
17 (nr): Always show result.
19 * doc/groff.texinfo (Input Encodings): Document latin-5.
21 * man/grof_tmac.man: Document sv, latinX, cp1047, 60bit, ec.
23 2006-11-13 Werner LEMBERG <wl@gnu.org>
25 * doc/groff.texinfo (Page Location Traps) [.wh]: Give more details
26 on negative trap positions.
28 2006-11-10 Werner LEMBERG <wl@gnu.org>
30 * Makefile.comm (.man.n): Handle @DATASUBDIR@.
32 2006-11-09 Werner LEMBERG <wl@gnu.org>
34 * INSTALL: Move information about external installation from
35 INSTALL.gen into this file.
38 * INSTALL.gen: Update to new version (from texinfo CVS).
40 2006-11-09 Bernd Warken
42 * INSTALL.gen: Extent the file by information on `external
43 installation'. Reorder the installation instruction as `normal
46 2006-11-08 Werner LEMBERG <wl@gnu.org>
48 * doc/Makefile.sub (install_data): Take care of proper paths while
49 installing info files. Bug reported by Bernd Warken.
51 2006-11-06 Bernd Warken
53 * src/roff/grog/grog.pl: Rewrite.
54 - Call by `#! /usr/bin/env perl'. That isn't replaced.
55 - Rename usage() to version().
57 - For `use strict', start all global variables with an upper case
58 character. Use `my' for all variables. Use several new variables.
60 - Add copyright to GPL and Emacs comment.
61 - Handle several `-m*' options.
62 - Fix handling of `-ms' and `-mm'. Add .TL and .NH.
63 - Allow options after file names.
64 - Allow only one `-' parameter (standard input).
65 - Add option abbreviations.
66 - Expand the usage information.
68 - Add single quote "'" as additional first character and allow
69 arbitrary space after the first character.
71 * src/roff/grog/grog.sh: Rewrite.
72 - Remove option `-e' of `sed'.
73 - Allow file names with space characters.
75 - Add copyright to GPL.
76 - Handle several `-m*' options.
77 - Fix handling of `-ms' and `-mm'. Add .TL and .NH.
78 - Allow options after file names.
79 - Allow only one `-' parameter (standard input).
80 - Add option abbreviations.
81 - Expand the usage information.
83 - Add single quote "'" as additional first character and allow
84 arbitrary space after the first character.
86 * src/roff/grog/Makefile.sub:
87 - Add copyright to GPL.
88 - Remove `grog:'. Move `grog.old:' to `grog:' in order to have a
89 fair chance to choose between the shell version and the Perl
90 version of `grog'. This is now again comparable to grog in groff
93 * src/roff/grog/grog.man: Rewrite.
94 - Move the license to GPL.
95 - New sections: OPTIONS, DETAILS, EXAMPLES, COPYING.
96 - Take over some setup and macros from `groffer'.
97 - Add information on options.
99 2006-10-28 Werner LEMBERG <wl@gnu.org>
101 * tmac/trace.tmac: Improve tracing of `.nr'.
102 Trace `.substring' also.
106 2006-10-28 Bernd Warken
108 * man/roff.man, src/roff/groff/groff.man: Add `chem', fix position
109 of groff development site, fix fonts.
111 * News: Add information on `chem' and `groffer'.
113 2006-10-26 Bernd Warken
115 * Makefile.in (OTHERDIRS, NOMAKEDIRS): Add `chem' bundle.
117 2006-10-26 Werner LEMBERG <wl@gnu.org>
119 Add `\%^' escape to handle the parameters to a macro as a string
122 * src/roff/troff/input.h (DOUBLE_QUOTE): New special character.
124 * src/roff/troff/input.cpp (input_iterator, input_stack,
125 macro_iterator): Add `space_follows_arg' member function.
126 (macro_iterator::add_arg): Add parameter to set the `space_follows'
128 (arg_list): Add member `space_follows'.
129 Update constructor and all callers.
130 (decode_args): Store discarded double quotes.
131 (interpolate_args): Handle DOUBLE_QUOTE.
133 (get_copy, token::next, composite_glyph_name): Handle DOUBLE_QUOTE.
135 * tmac/trace.tmac: Trace .nr, .ds, .ds1, .as, .as1.
137 * docs/groff.texinfo (Parameters), man/groff.man,
138 man/groff_diff.man, NEWS: Document it.
140 2006-10-24 Bernd Warken
142 * Makefile.in (NOMAKEDIRS): Add groffer subdirectories.
144 2006-10-24 Werner LEMBERG <wl@gnu.org>
146 * tmac/groff_trace.man: Mention problem with `\\\\'.
148 2006-10-23 Werner LEMBERG <wl@gnu.org>
150 * doc/groff.texinfo (Expressions): Improve documentation of `!'.
152 * tmac/trace.tmac (return): Don't call `substring'.
154 2006-09-10 Werner LEMBERG <wl@gnu.org>
156 * src/roff/troff/input.cpp (read_size): Revert previous change
159 * doc/groff.texinfo (Fractional Size Types): Clarify syntax of \s.
161 2006-09-09 Werner LEMBERG <wl@gnu.org>
163 * src/roff/troff/input.cpp (read_size): Fix `\s[-\n[.s]]' so that it
164 behave the same as `\s-[\n[.s]]' (this is, emit a warning and set
165 point size to 1). Reported by Gunnar Ritter.
166 Also catch `\s-[-...]' and friends (causing an error).
168 2006-09-06 Werner LEMBERG <wl@gnu.org>
170 * src/roff/troff/env.cpp (environment::do_break): Insert zero-width
171 space only if there is no previous space. This fixes a bug which
172 caused unwanted filling of the last line in a paragraph. Thanks to
173 Gunnar Ritter for an analysis.
175 2006-09-03 Werner LEMBERG <wl@gnu.org>
177 * src/roff/groff/groff.cpp (main): Pass -U flag to pic also.
178 Reported by Jennifer Sayers <jenjen@isu.usyd.edu.au>.
180 2006-09-01 Nick Stoughton <nick@msbit.com>
181 Werner LEMBERG <wl@gnu.org>
183 Add a request `pev' to print environment information (similar to
184 `pnr' and `ptr' to print number registers and traps).
186 * src/roff/troff/env.h (environment): Add member function print_env.
188 * src/roff/troff/env.cpp: (environment::print_env): New function to
189 print a given environment state.
190 (print_env): New global function to iterate through the
191 environments, printing each one.
192 (init_env_requests): Register `pev'.
194 * doc/groff.texinfo (Debugging), man/groff.man, man/groff_diff.man,
195 NEWS: Document `pev' request.
197 2006-09-01 Bernd Warken
199 * src/preproc/soelim/soelim.cpp (usage): Fix option argument of
202 2006-09-01 Werner LEMBERG <wl@gnu.org>
204 * src/preproc/pic/main.cpp (usage): Add missing options.
206 2006-08-25 Werner LEMBERG <wl@gnu.org>
208 * src/preproc/soelim/soelim.man: Document how to insert `\' and ` '
211 2006-08-19 Werner LEMBERG <wl@gnu.org>
213 * configure: Regenerated.
215 2006-08-18 Keith Marshall <keith.d.marshall@ntlworld.com>
217 * m4/groff.m4 (GROFF_MAKEINFO): Correct `makeinfo version testing
218 logic; it previously caused an `expr' syntax error, if no version of
219 `makinfo' was present. Also, remove dependency on `makeinfo' in VPATH
220 builds, if an up to date `groff.info' is present in either `builddir'
223 2006-08-12 Tadziu Hoffmann <hoffmann@usm.uni-muenchen.de>
225 * font/devps/prologue.ps: Add BPhook.
227 * src/devices/grops/grops.man: Document BPHook.
228 Reorder some sections for better readability.
230 2006-08-12 Werner LEMBERG <wl@gnu.org>
232 * src/include/lib.h (getlocale): New macro.
233 (setlocale, LC_ALL, LC_CTYPE) [!HAVE_SETLOCALE]: Define, as
236 * src/preproc/preconv/preconv.cpp (main): Use getlocale.
238 2006-08-11 Werner LEMBERG <wl@gnu.org>
240 Add new flag to .cflags to enable hyphenation without looking at
243 * src/roff/troff/charinfo.h (charinfo): New enumeration value
245 New member function `ignore_hcodes'.
247 * src/roff/troff/node.cpp (break_char_node::add_self,
248 node::add_char): Updated.
250 * doc/groff.texinfo, man/groff_diff.man, NEWS: Document it.
252 2006-08-09 Werner LEMBERG <wl@gnu.org>
254 Support composite Unicode characters again. Reported by Colin.
256 * font/devhtml/R.proto: Renamed to...
257 * font/devhtml/R.in: This.
259 * font/devutf8/R.proto: Renamed to...
260 * font/devutf8/R.in: This.
263 * font/make-Rproto: New script.
264 * font/devhtml/R.proto, font/devutf8/R.proto: Generated.
266 2006-07-26 Werner LEMBERG <wl@gnu.org>
268 * README: Fix description of CVS access. Reported by Joachim.
270 2006-07-11 Werner LEMBERG <wl@gnu.org>
272 Add a request `.fzoom' and a number register `.zoom' to magnify
275 * src/include/font.h (font): Add member variable `zoom'.
276 Add member functions `set_zoom' and `get_zoom'.
277 Remove `static' attribute from `scale' member function.
279 * src/libs/libgroff/font.cpp (font::font): Updated.
280 (scale_round): New version with three parameters to handle zoom
282 (font::scale, font::get_width): Handle zoom factor.
283 (font::set_zoom, font::get_zoom): New functions.
284 (font::load): Handle `zoom' while computing `space_width'.
286 * src/roff/troff/env.h: Declare `env_get_zoom'.
287 (environment): Add member function `get_zoom'.
289 * src/roff/troff/env.cpp (environment::get_zoom): New function.
290 (init_env_requests): Initialize `.zoom' register.
292 * src/roff/troff/node.cpp (font_info): New member functions
293 `set_zoom' and `get_zoom'.
294 (tfont): New member function `get_zoom'.
295 (env_get_zoom): New function.
296 (troff_output_file::set_font): Handle zoom factor.
297 (font_zoom_request): New function.
298 (init_node_requests): Initialize `fzoom' request.
300 * docs/groff.texinfo (Changing Fonts), man/groff.man,
301 man/groff_diff.man, NEWS: Document `fzoom' request and `.zoom'
304 * src/roff/troff/TODO: Updated.
306 2006-07-10 Werner LEMBERG <wl@gnu.org>
308 * doc/groff.texinfo (Drawing Requests): Improve documentation of
311 2006-07-02 Werner LEMBERG <wl@gnu.org>
313 * man/groff_tmac.man: Document usage of .PSPIC within diversions.
315 2006-07-01 Werner LEMBERG <wl@gnu.org>
317 * tmac/pspic.tmac: Make .PSPIC work for all devices.
318 Print image file name for devices which don't support PS image
320 Handle multiple inclusions.
321 Add lots of comments.
323 * tmac/dvi.tmac, tmac/html.tmac, tmac/ps.tmac: Don't load
326 * tmac/troffrc: Load pspic.tmac.
328 * man/groff_tmac.man: Update .PSPIC documentation.
332 2006-06-29 Werner LEMBERG <wl@gnu.org>
334 * src/roff/troff/input.cpp (interpolate_macro):
335 s/probably/possibly/, as suggested by Keith.
337 2006-06-28 Werner LEMBERG <wl@gnu.org>
339 Add support for \D'p...' to grotty.
341 * src/devices/grotty/grotty.cpp (tty_printer::draw): Move most of
343 (tty_printer::line): This function.
344 (tty_printer::draw): Rewritten; just call either draw_line or
346 (tty_printer::draw_line, tty_printer::draw_polygon): New functions.
348 * src/devices/grotty/grotty.man, NEWS: Document it.
350 2006-06-27 Werner LEMBERG <wl@gnu.org>
352 * src/preproc/refer/command.h (have_bibliography): New variable
355 * src/preproc/refer/command.cpp (bibliography_command): Set
358 * src/preproc/refer/refer.cpp: Initialize `have_bibliography'.
359 (output_references): Emit warning only if `have_bibliography' is
362 2006-06-15 Michail Vidiassov <master@iaas.msu.ru>
364 * fonts/devps/Makefile.sub (DISTFILES): Add freeeuro.afm.
365 * fonts/devps/generate/Makefile (clean): Don't remove symbolsl.afm
368 2006-06-15 Werner LEMBERG <wl@gnu.org>
370 * src/preproc/tbl/tbl.man: Document limitations of .TS/.TE within a
371 macro (as suggested by Tadziu Hoffmann).
373 2006-06-12 Werner LEMBERG <wl@gnu.org>
375 * src/preproc/tbl/tbl.man: Add example for use of .TS/.TE within a
376 macro (as suggested by Tadziu Hoffmann).
378 2006-06-05 Werner LEMBERG <wl@gnu.org>
380 * tmac/strip.sed: Strip `\#' also.
382 * doc/groff.texinfo (Operators in Conditionals): Document usage of
383 \? for string comparison.
385 2006-06-04 Werner LEMBERG <wl@gnu.org>
387 * doc/groff.texinfo: Add more index entries for copy-in mode.
388 (Changing Fonts) <.ft>: Document that a font definition file must
389 not be called `DESC'.
391 2006-05-31 Werner LEMBERG <wl@gnu.org>
393 * src/roff/troff/input.cpp (token::next) <\N>: Catch negative values
396 * doc/Makefile.sub (EXAMPLEFILES): Move gnu.eps to...
397 (PROCESSEDEXAMPLEFILES): Here.
399 2006-05-30 Werner LEMBERG <wl@gnu.org>
401 * src/libs/libgroff/font.cpp (font::load): Reject fonts called
403 Reduce number of false positives for `.if F ...' conditionals.
404 Improve warning messages.
406 2006-05-29 Werner LEMBERG <wl@gnu.org>
408 * tmac/Makefile.sub: Add copyright notice.
409 (NORMALFILES): Add man.tmac and ms.tmac.
410 (SPECIALFILES): Remove man.tmac and ms.tmac.
411 (CLEANADD): Remove man.tmac-sed and ms.tmac-sed.
412 (install_data, uninstall_sub): Don't handle man.tmac and ms.tmac
414 (stamp-sed): Don't handle man.tmac and ms.tmac.
415 Remove obsolete components in sed's regexp.
417 * doc/Makefile.sub (EXAMPLEFILES): Add gnu.eps.
419 * Makefile.in (OTHERDIRS, NOMAKEDIRS): Add hdtbl.
421 2006-05-28 Werner LEMBERG <wl@gnu.org>
423 * doc/groff.texinfo (History): Correct death circumstances of Joe
426 2006-05-27 Werner LEMBERG <wl@gnu.org>
428 * tmac/an-old.tmac (an-do-tag): Simplify.
430 2006-05-26 Werner LEMBERG <wl@gnu.org>
432 * tmac/an-old.tmac (an-do-tag): Make margin characters work.
433 (an-header, an-p-footer): Use named environment.
435 * src/roff/troff/env.cpp (environment::copy): Copy margin character
438 2006-05-21 Werner LEMBERG <wl@gnu.org>
440 * tmac/trace.tmac (de1): Fix serious typo (.di -> .do) and minor
443 2006-05-11 Keith Marshall <keith.d.marshall@ntlworld.com>
445 * src/roff/groff/groff.man: Remove superfluous word `intermediate'.
447 2006-05-10 Keith Marshall <keith.d.marshall@ntlworld.com>
449 * src/roff/groff/groff.man: Update copyright notice.
450 Improved wording to describe effect of `-Z' option.
452 2006-05-06 Werner LEMBERG <wl@gnu.org>
454 * tmac/www.tmac: Decorate `.ds' with trailing `\"' where missing.
455 Normalize handling of `"' in arguments.
456 (PIMG): Remove debug message.
459 2006-05-05 Werner LEMBERG <wl@gnu.org>
461 * src/devices/grohtml/post-html.cpp (page::add_and_encode): Don't
462 swallow character immediately after `\[...]'.
465 2006-05-02 Gaius Mulley <gaius@glam.ac.uk>
467 * tmac/www.tmac (PIMG): Fix the HTML device specific components.
469 2006-05-02 Larry Kollar <kollar@alltel.net>
471 * tmac/www.tmac (PIMG): Really default to `-C' if the alignment
474 2006-04-30 Michail Vidiassov <master@iaas.msu.ru>
476 * src/utils/afmtodit/afmtodit.pl: New option `-c' to add font
477 information as a comment in output.
478 * src/utils/afmtodit/afmtodit.man, NEWS: Document it.
480 2006-04-26 Werner LEMBERG <wl@gnu.org>
482 * src/devices/grohtml/post-html.cpp (html_printer::~html_printer):
483 Handle current_paragraph only if it is non-NULL.
485 * src/libs/libdriver/input.cpp (parse_x_command <'F'>, do_file
486 <'F'>): Use `get_extended_arg' to behave as documented. Reported by
487 Bill Ward <william.a.ward.jr@erdc.usace.army.mil>.
490 Surround the (pseudo) file name for the .pso request with `<' and
493 * src/roff/troff/node.cpp (real_output_file, troff_output_file): Add
494 second parameter to `really_put_filename' and `put_filename'.
495 (troff_output_file::really_put_filename): Emit `<' and `>' around
496 filename if second argument is set.
497 * src/roff/troff/node.h: Updated.
499 * src/roff/troff/input.cpp (file_iterator::file_iterator,
500 file_iterator::set_location): Update to changes in node.cpp.
502 2006-04-25 Tetsurou Okazaki <okazaki@FreeBSD.org>
504 * src/preproc/preconv/preconv.cpp (do_file): Fix conditional
505 preprocessor expression (I18N -> HAVE_ICONV).
506 (main): Fix handling of option `-h'.
507 Fix conditional preprocessor expression.
509 2006-04-04 Werner LEMBERG <wl@gnu.org>
511 Implement new number register `.br' which is set to 1 if a macro has
512 been called as .foo and to 0 if called as 'bar. This is useful for
513 -mtrace so that requests can be reliably traced too.
515 * src/roff/troff/input.cpp (input_iterator): Add virtual function
517 (macro_iterator): Add `with_break' member and `get_break_flag'
520 (input_stack): Add function `get_break_flag'.
521 (break_flag_reg): New number register class.
522 (input_init_requests): Register `.br'.
524 * src/roff/troff/TODO: Updated.
526 * tmac/trace.tmac: s/!!sp/!!!sp/.
527 Modify definitions of `de', `de1', `am', and `am1' to use \n[.br].
529 * docs/groff.texinfo (Requests), man/groff.man, man/groff_diff.man,
532 2006-03-29 Werner LEMBERG <wl@gnu.org>
534 * src/devices/grops/ps.cpp: s/must not/should not/ in warning
535 messages where appropriate.
537 2006-03-28 Werner LEMBERG <wl@gnu.org>
539 * configure.ac: Call AC_PROG_EGREP.
540 * configure: Regenerated.
542 * Makefile.in (EGREP): New variable.
543 (MDEFINES): Add $(EGREP).
545 * src/roff/grog/grog.sh: Treat .TH between .TS and .TE properly
546 (bug reported by Robert Goulding <Goulding.2@nd.edu>).
549 * src/roff/grog/Makefile.sub (grog, grog.old): Use $(EGREP).
551 2006-03-27 Werner LEMBERG <wl@gnu.org>
553 Add two requests `.device' and `.devicem' which are equivalent to
554 `\X' and `\Y', respectively.
556 * src/roff/troff/input.cpp (device_request, device_macro_request):
558 (init_input_requests): Register them.
560 * doc/groff.texinfo (Postprocessor Access), man/groff_diff.man,
561 man/groff.man, NEWS: Document them.
563 2006-03-27 Gaius Mulley <gaius@glam.ac.uk>
565 * src/roff/troff/input.cpp (encode_char): Emit special characters
566 for -Thtml as `\[...]'.
567 * src/devices/grohtml/post-html.cpp (page::add_and_encode): Updated.
569 * doc/groff.texinfo (Postprocessor Access) <\X>: Updated.
571 2006-03-27 Werner LEMBERG <wl@gnu.org>
573 * tmac/Makefile.sub (NORMALFILES, SPECIALFILES): Add various missing
576 2006-03-26 Werner LEMBERG <wl@gnu.org>
578 * doc/groff.texinfo (Writing Macros): More documentation on
579 end-of-macro symbol of `.de'.
580 (Diversions): Minor addition to `.di' description.
582 * src/devices/grops/grops.man: Some clarifications regarding
583 insertion of PostScript snippets.
585 2006-03-25 Michail Vidiassov <master@iaas.msu.ru>
587 Add rules to generate `symbolsl.afm'.
589 * fonts/devps/generate/zapfdr.sed,
590 fonts/devps/generate/symbolsl.awk: New files.
592 * fonts/devps/generate/Makefile (symbolfont, PRINTAFM): New
594 (SS, clean): Updated.
595 (freeeuro.afm): Use $(srcdir).
596 (symbolsl.afm): New rule.
597 (zapfdr.afm): Use zapfdr.sed.
599 2006-03-22 Dwight Aplevich <aplevich@uwaterloo.ca>
601 * src/preproc/pic/pic.y (expr <INT>): Fix code.
603 2006-03-22 Jörgen Grahn <jgrahn@algonet.se>
605 * tmac/sv.tmac: Add missing translations and activate support for
606 other macro packages.
608 2006-03-21 Francis GUDIN <fgudin@nerim.net>
610 * tmac/doc-syms (Dx): New macro to identify DragonFly.
611 (doc-str-St--ieee1275-94, doc-str-St--isoC-amd1,
612 doc-str-St--isoC-tcor1, doc-str-St--isoC-tcor2): New standard
614 (doc-operating-system-FreeBSD-5.5, doc-operating-system-FreeBSD-7.0,
615 doc-operating-system-NetBSD-1.6.3, doc-operating-system-NetBSD-4.0
616 doc-operating-system-DragonFly-*): New operating system strings.
618 * tmac/groff_mdoc.man, NEWS: Document `Dx'.
620 2006-03-21 Werner LEMBERG <wl@gnu.org>
622 * src/preproc/pic/pic.y (object_spec THEN): For compatibility with
623 both DWB pic and dpic, make
631 line right then down;
638 * doc/pic.ms: Document this.
640 2006-03-20 Werner LEMBERG <wl@gnu.org>
642 * doc/pic.ms: With permission of Eric Raymond, put it under the
647 2006-03-19 Werner LEMBERG <wl@gnu.org>
649 * src/preproc/pic/pic.y (expr <INT>): Really return integer part.
651 * src/preproc/pic/objects.cpp (object_spec::make_line): Handle `at'
652 attribute in combination with `with'. Bug reported by Jennifer
653 Sayers <jenjen@mail.usyd.edu.au>.
655 2006-03-19 Miklos Somogyi <msom@netspace.net.au>
657 * doc/groff.texinfo (Manipulating Spacing): Improve documentation of
660 2006-03-18 Werner LEMBERG <wl@gnu.org>
662 * LICENSE: Renamed to...
663 * LICENSES: This. Collect all licensing information in this file.
664 * tmac/README, src/libs/snprintf/README: Removed.
666 * src/devices/grops/grops.man: Add section how to install fonts.
668 * src/utils/xtotroff/xtotroff.c: Add GPL.
670 2006-03-17 Werner LEMBERG <wl@gnu.org>
672 * Makefile.comm (.y.cpp): Fix #line arguments in output.
674 2006-03-13 Werner LEMBERG <wl@gnu.org>
676 * src/preproc/tbl/tbl.man: Mention default length of text blocks.
678 * tmac/doc-common (Os): Add more Darwin versions.
679 * tmac/groff_mdoc.man: Document them.
681 * doc/groff.texinfo (Operators in Conditionals): Mention that `c'
682 works with \N'...' also.
683 * man/groff_diff.man: Ditto. Remove use of future tense where
686 2006-03-12 Michail Vidiassov <master@iaas.msu.ru>
688 * fonts/devps/generate/make-zapfdr, fonts/devps/symbolsl.ps,
689 fonts/devps/zapfdr.ps: Add `%%EndComments' line.
691 2006-03-10 Larry Kollar <kollar@alltel.net>
693 * doc/groff.texinfo (Headers and footers): Document PT, HD, and BT.
695 2006-03-10 Werner LEMBERG <wl@gnu.org>
697 * src/devices/grops/ps.cpp (ps_printer::do_exec, ps_printer::do_def,
698 ps_printer::do_mdef): Overlong lines now cause a warning message,
701 2006-03-09 Werner LEMBERG <wl@gnu.org>
703 * font/devps/generate/make-zapfdr: New script for generating
706 2006-03-08 Werner LEMBERG <wl@gnu.org>
708 * doc/groff.css (pre): Fix `background-color' value.
710 2006-03-04 Larry Kollar <kollar@alltel.net>
712 * tmac/groff_ms.man: Document PT, HD, and BT.
714 2006-03-04 Werner LEMBERG <wl@gnu.org>
716 * src/roff/troff/node.cpp (make_glyph_node): Improve warning message
717 for single-letter glyph names.
719 2006-03-02 Werner LEMBERG <wl@gnu.org>
721 * tmac/sv.tmac: New file; currently holding only the Swedish strings
723 * tmac/hyphen.sv: New hyphenation pattern file for Swedish, taken
725 * tmac/README: Updated.
727 2006-02-27 Werner LEMBERG <wl@gnu.org>
729 * tmac/trans.tmac (Liec, Letdate, Letns!14): Add it (for -mm).
730 * tmac/fr.tmac: Add French translations.
732 * tmac/composite.tmac: Add entry for `:'.
734 2006-02-26 Werner LEMBERG <wl@gnu.org>
736 * doc/Makefile.sub (HTMLEXAMPLEFILESALL): New variable.
738 (install_html, uninstall_sub): Updated.
740 2006-02-26 Bruno Haible <bruno@clisp.org>
742 Introduce Unicode fonts.
744 * font/devhtml/DESC.proto: Mark as unicode.
745 * font/devhtml/R.proto: Remove all charset entries that are already
747 * font/devutf8/DESC.proto: Mark as unicode.
748 * font/devutf8/R.proto: Remove all charset entries.
749 * src/include/font.h (font): New static field `is_unicode'.
750 Change order of fields.
751 * src/libs/libgroff/font.cpp: Include unicode.h.
752 (font::font): Update for changed order of fields.
753 (font::contains, font::get_width, font::get_height, font::get_depth,
754 font::get_italic_correction, font::get_left_italic_correction,
755 font::get_subscript_correction, font::get_character_type,
756 font::get_code, font::get_special_device_encoding): Handle both the
757 explicitly enumerated glyphs and use general code for Unicode fonts.
758 (font::load): Make the charset section optional when the font is
760 (font::load_desc): Recognize the `unicode' attribute.
761 * src/libs/libgroff/fontfile.cpp (font::is_unicode): New variable.
763 2006-02-26 Claudio Fontana <claudio@gnu.org>
765 * Makefile.in: Add comment about DESTDIR.
767 * Makefile.sub: Add DESTDIR to install and uninstall targets
768 to support staged installations.
769 * Makefile.comm: Likewise.
770 * doc/Makefile.sub: Likewise.
771 * contrib/eqn2graph/Makefile.sub: Likewise.
772 * contrib/gdiffmk/Makefile.sub: Likewise.
773 * contrib/grap2graph/Makefile.sub: Likewise.
774 * contrib/pic2graph/Makefile.sub: Likewise.
775 * src/devices/xditview/Makefile.sub: Likewise.
776 * src/preproc/eqn/Makefile.sub: Likewise.
777 * src/roff/grog/Makefile.sub: Likewise.
778 * src/roff/nroff/Makefile.sub: Likewise.
779 * src/utils/afmtodit/Makefile.sub: Likewise.
780 * src/utils/indxbib/Makefile.sub: Likewise.
781 * tmac/Makefile.sub: Likewise.
783 2006-02-24 Werner LEMBERG <wl@gnu.org>
785 * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list): Use entry
787 Remove commented out entries for \' and \` (there are no such glyph
790 * src/libs/libgroff/uniglyph.cpp (unicode_to_glyph_list): Remove
791 commented out entries for \' and \`.
794 * */*: s/legal/valid/ where appropriate.
796 2006-06-23 Werner LEMBERG <wl@gnu.org>
798 * font/devhtml/R.proto, font/devutf8/R.proto: Remove incorrect \'
801 2006-02-22 Werner LEMBERG <wl@gnu.org>
803 Remove all remaining traces from the `shc' glyph.
805 * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list),
806 src/libs/libgroff/uniglyph.cpp (unicode_to_glyph_list): Remove
809 * font/devlatin1/R.proto, font/devcp1046/R.proto: Replace `shc'
810 entry with unnamed glyph.
812 * tmac/html/tmac: Remove `shc' entry from call to `.cflags'.
814 * src/preproc/preconv/preconv.cpp (unicode_entity): Handle U+00AD
817 2006-02-22 Bruno Haible <bruno@clisp.org>
819 Concretize the `glyph' datatype.
821 * src/include/font.h (glyph): Remove class.
822 (glyph): Renamed from struct `glyphinfo'.
823 (glyph_to_index): New inline function.
824 (glyph_to_name): Make extern, not inline.
825 (glyph_to_number): Update.
826 (font): Use `glyph *' instead of `glyph'.
828 * src/libs/libgroff/nametoindex.cpp (charinfo): Inherit from class
829 `glyph'. Make `name' field public.
830 (character_indexer, number_to_glyph, name_to_glyph): Use `glyph *'
832 (glyph_to_name): Renamed from `glyph::glyph_name'.
834 * src/roff/troff/charinfo.h (charinfo): Inherit from class `glyph'.
835 Use `glyph *' instead of `glyph'.
837 * src/roff/troff/input.cpp (name_to_glyph, number_to_glyph): Use
838 `glyph *' instead of `glyph'.
839 (glyph_to_name): Renamed from `glyph::glyph_name'.
841 * src/libs/libgroff/font.cpp: Use `glyph *' instead of `glyph',
842 and `glyph_to_index' instead of `glyph::glyph_index'.
844 * src/include/printer.h (printer): Use `glyph *' instead of `glyph'.
845 * src/libs/libdriver/printer.cpp: Likewise.
846 * src/devices/grodvi/dvi.cpp: Likewise.
847 * src/devices/grohtml/post-html.cpp: Likewise.
848 * src/devices/grolbp/lbp.cpp: Likewise.
849 * src/devices/grolj4/lj4.cpp: Likewise.
850 * src/devices/grops/ps.cpp: Likewise.
851 * src/devices/grotty/tty.cpp: Likewise.
853 2006-02-22 Werner LEMBERG <wl@gnu.org>
855 * font/devdvi/generate/tc.map: Add `sr' glyph.
856 * font/devdvi/*TC: Regenerated.
858 * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list): Use entry
861 2006-02-21 Werner LEMBERG <wl@gnu.org>
863 * man/groff_char.man: Explain `***' marker.
865 2006-02-17 Bruno Haible <bruno@clisp.org>
867 * src/libs/libgroff/nametoindex.cpp (character_indexer): Rename
868 methods and fields from *_index to *_glyph.
869 (character_indexer::named_char_glyph): Test for `charNNN' name
871 (name_to_glyph): ... not here.
873 2006-02-17 Bruno Haible <bruno@clisp.org>
875 * src/include/font.h (name_to_glyph): Renamed from
877 (number_to_glyph): Renamed from font::number_to_index.
878 (glyph_to_name): Renamed from font::index_to_name.
879 (glyph_to_number): Renamed from font::index_to_number.
880 * src/libs/libgroff/nametoindex.cpp: Likewise.
881 * src/roff/troff/charinfo.h (charinfo::as_glyph): Renamed from
884 * src/roff/troff/input.cpp: All callers changed.
885 * src/roff/troff/node.cpp: Likewise.
886 * src/libs/libgroff/font.cpp: Likewise.
887 * src/devices/grops/ps.cpp: Likewise.
888 * src/devices/grohtml/post-html.cpp: Likewise.
889 * src/libs/libdriver/printer.cpp: Likewise.
891 2006-02-17 Werner LEMBERG <wl@gnu.org>
893 * src/include/ptable.h, src/include/itable.h
894 (NEXT_PTABLE_SIZE_DEFINED): Use it to avoid multiple declaration
895 of external symbol `next_ptable_size' (used by both header files).
897 2006-02-15 Bruno Haible <bruno@clisp.org>
899 * src/include/font.h (glyphinfo): New class.
900 (glyph): Change internal representation.
901 Change constructor signature.
902 New method glyph::glyph_number().
903 (glyph::glyph, glyph glyph::undefined_glyph, glyph::glyph_index,
904 glyph::operator==, glyph::operator!=): Update.
905 (font::index_to_name, font::index_to_number): New functions.
907 * src/include/itable.h: New file, based on src/include/ptable.h.
909 * src/libs/libgroff/nametoindex.cpp: Include itable.h.
910 (class charinfo): New class.
911 (class character_indexer): Change table result type from `int' to
913 Add table with integer key.
914 (character_indexer::character_indexer): Update.
915 (character_indexer::ascii_char_index): Update.
916 (character_indexer::numbered_char_index): Use NULL as name, not a
917 string starting with a space.
918 (character_indexer::named_char_index): Update.
919 (font::number_to_index, font::name_to_index): Remove no-op cast.
920 (glyph::glyph_name): New method.
921 * src/roff/troff/charinfo.h (class charinfo): Inherit from class
923 (NUMBERED): Remove flag bit.
924 (charinfo::numbered, charinfo::get_index): Update.
926 * src/roff/troff/input.cpp (charinfo::charinfo): Update.
927 (charinfo::set_number, charinfo::get_number): Update.
928 (glyph::glyph_name): New method.
930 2006-02-15 Werner LEMBERG <wl@gnu.org>
932 * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list): Fix
933 entries for `>>', `<<', `*f', and `+f'. Reported by Bruno.
935 2006-02-13 Werner LEMBERG <wl@gnu.org>
937 * font/devps/prologue.ps (RE): Check `UniqueID' also, similar to
940 2006-02-11 Werner LEMBERG <wl@gnu.org>
942 * src/include/font.h: s/glyph_t/glyph/.
945 * src/devices/grotty/tty.cpp: s/glyph/tty_glyph/.
946 s/output_character_t/output_character/.
948 2006-02-11 Bruno Haible <bruno@clisp.org>
950 New accessor method glyph_t::glyph_name().
952 * src/include/ptable.h (declare_ptable): Add a return value to the
953 `define' method, and declare a `lookupassoc' method.
954 (implement_ptable): Return the stored key in `define'. Implement
956 * src/include/font.h (glyph_t): Add `name' field. Add an argument
958 (glyph_t::glyph_name): New method.
960 * src/libs/libgroff/nametoindex.cpp (character_indexer): Change
961 return type of methods and field member type to glyph_t.
962 (character_indexer::character_indexer): Update.
963 (character_indexer::ascii_char_index): Allocate a name for the
965 Return a glyph_t with name.
966 (character_indexer::numbered_char_index): Return a glyph_t without a
968 (character_indexer::named_char_index): Return a glyph_t with a name.
969 (font::number_to_index, font::name_to_index): Update.
971 * src/roff/troff/input.cpp (charinfo::charinfo): Use the symbol as
974 2006-02-11 Bruno Haible <bruno@clisp.org>
976 * src/devices/grotty/tty.cpp (output_character_t): New type.
977 (tty_printer::make_bold, tty_printer::add_char,
978 tty_printer::put_char): Change argument type to output_character_t.
979 (crossings): Change element type to output_character_t.
981 2006-02-11 Bruno Haible <bruno@clisp.org>
983 Make the glyph data type abstract.
985 * src/include/font.h (glyph_t): New class.
986 (name_to_index, number_to_index): Change return type to glyph_t.
987 (font::contains, font::get_width, font::get_height, font::get_depth,
988 font::get_character_type, font::get_kern, font::get_skew,
989 font::get_italic_correction, font::get_left_italic_correction,
990 font::get_subscript_correction, font::get_code,
991 font::get_special_device_encoding, font::add_entry,
992 font::copy_entry, font::add_kern, font::hash_kern): Change argument
995 * src/libs/libgroff/font.cpp (font_kern_list): Change members
996 type and constructor argument types to glyph_t.
997 (font::contains, font::get_width, font::get_height, font::get_depth,
998 font::get_character_type, font::get_kern, font::get_skew,
999 font::get_italic_correction, font::get_left_italic_correction,
1000 font::get_subscript_correction, font::get_code,
1001 font::get_special_device_encoding, font::add_entry,
1002 font::copy_entry, font::add_kern, font::hash_kern): Change argument
1004 (font::load): Use glyph_t variables.
1006 * src/libs/libgroff/nametoindex.cpp (name_to_index,
1007 number_to_index): Change return type to glyph_t.
1009 * src/roff/troff/charinfo.h (charinfo::index): Change type to
1011 (charinfo::get_index): Change return type to glyph_t.
1013 * src/roff/troff/env.cpp: Include font.h.
1015 * src/roff/troff/node.cpp: Include font.h before charinfo.h.
1017 * src/roff/troff/input.cpp: Include font.h before charinfo.h.
1018 (charinfo::charinfo): Update.
1019 (name_to_index, number_to_index): Change return type to glyph_t.
1021 * src/include/printer.h (printer::set_char_and_width): Change return
1024 * src/libs/libdriver/printer.cpp (printer::set_char_and_width):
1025 Change return type to glyph_t.
1027 * src/devices/grodvi/dvi.cpp (dvi_printer::set_char): Change
1028 argument type to glyph_t.
1030 * src/devices/grohtml/post-html.cpp (page::add_and_encode): Update.
1031 (html_printer::space_glyph): Renamed from space_char_index.
1032 (html_printer::add_to_sbuf, html_printer::sbuf_continuation,
1033 html_printer::overstrike, html_printer::set_char): Change argument
1035 (html_printer::set_char_and_width): Change return type to glyph_t.
1037 * src/devices/grolbp/lbp.cpp (lbp_printer::set_char): Change
1038 argument type to glyph_t.
1040 * src/devices/grolj4/lj4.cpp (lj4_printer::set_char): Change
1041 argument type to glyph_t.
1043 * src/devices/grops/ps.cpp (ps_printer::space_glyph): Renamed from
1045 (ps_printer::set_subencoding, ps_printer::set_char): Change argument
1048 * src/devices/grotty/tty.cpp (tty_printer::set_char): Change
1049 argument type to glyph_t.
1051 2006-02-11 Bruno Haible <bruno@clisp.org>
1053 * src/roff/troff/input.cpp (font::name_to_index): Never return a
1056 * src/libs/libgroff/font.cpp (font::load): Remove failure tests for
1057 font::name_to_index.
1059 2006-02-10 Werner LEMBERG <wl@gnu.org>
1061 * doc/groff.texinfo (Assigning Formats): Number registers are always
1063 Apply some rephrasing, contributed by Michael Burt.
1065 2006-02-07 Werner LEMBERG <wl@gnu.org>
1067 * tmac/fr.tmac <ms>: Set `HY' register.
1069 2006-02-07 Werner LEMBERG <wl@gnu.org>
1071 Add framework for simple adaptation of the main macro packages (mm,
1072 me, ms, mom) to different locales. In particular, add support for
1073 French. For activation, simply use `-mfr' as the last macro
1074 package. This feature has been contributed by Fabrice Ménard
1075 <menard.fabrice@wanadoo.fr>.
1077 * tmac/fr.tmac, tmac/trans.tmac, tmac/hyphen.fr, tmac/LOCALIZATION:
1079 * tmac/README: Mention hyphen.fr.
1080 * man/groff_tmac.man: Mention fr.tmac.
1083 2006-01-27 Werner LEMBERG <wl@gnu.org>
1085 * man/groff_font.man: Updated documentation of `entity_name' field.
1088 2006-01-27 Bruno Haible <bruno@clisp.org>
1090 * font/devhtml/R.proto: Remove the entity names from the font's
1091 special_encoding_encoding column.
1092 * src/devices/grohtml/post-html.cpp (get_html_entity): New function,
1093 handling the entity names here.
1094 (get_html_translation): Use it. Change return type to `const
1096 (page::add_and_encode): Update, removing a useless cast.
1098 2006-01-26 Werner LEMBERG <wl@gnu.org>
1100 This change is based on a patch by Bruno Haible <bruno@clisp.org>.
1102 * src/include/device.h: Add comments.
1103 * src/include/font.h: Add comments.
1104 * src/include/unicode.h: Likewise.
1105 * src/include/ptable.h, src/libs/libgroff/ptable.cpp: Likewise.
1107 2006-01-26 Keith Marshall <keith.d.marshall@ntlworld.com>
1109 Suppress `.st' request emission by `grn'.
1111 * src/preproc/grn/main.cpp (USE_ST_REQUEST): New macro.
1114 2006-01-22 Werner LEMBERG <wl@gnu.org>
1116 * install-sh: New version; taken from texinfo CVS.
1118 2006-01-21 Werner LEMBERG <wl@gnu.org>
1120 * src/preproc/preconv/preconv.cpp (main): Set program_name. Bug
1121 reported by Alexander E. Patrakov <patrakov@ums.usu.ru>.
1123 2006-01-19 Bruno Haible <bruno@clisp.org>
1125 Let `make -k install' install more files.
1127 * Makefile.in (MAKE_K_FLAG): New variable. Use it everywhere where
1128 $(MAKE) and $(MDEFINES) are used.
1129 (CPROGDIRS): Remove $(XPROGDIRS). Treat $(XPROGDIRS) like
1130 $(CPROGDIRS) everywhere.
1131 ($(DEVDIRS) $(XDEVDIRS) $(OTHERDEVDIRS) $(TTYDEVDIRS)): Don't depend
1133 ($(OTHERDIRS)): Likewise.
1136 * src/devices/grohtml/post-html.cpp (get_html_translation): Remove
1137 failure test for font::name_to_index -- it can never fail.
1139 2006-01-19 Werner LEMBERG <wl@gnu.org>
1141 * src/devices/grops/grops.man: Fix section on creating EPS files.
1142 Don't use future time in manual.
1145 2006-01-15 Gaius Mulley <gaius@glam.ac.uk>
1147 * tmac/www.tmac: New macro LINKSTYLE which allows users to set
1148 various typographical URL attributes for non-HTML devices.
1150 * tmac/groff_www.man: Document LINKSTYLE.
1152 2006-01-11 Werner LEMBERG <wl@gnu.org>
1154 * configure.ac: Test for getc_unlocked (needed for localcharset).
1155 * configure, src/include/config.hin: Regenerated.
1157 * src/libs/libgroff/Makefile.sub (EXTRA_CFLAGS): Define
1160 * src/libs/libgroff/relocatable.h: New dummy header file for
1163 * src/libs/libgroff/localcharset.c: Updated to (unchanged) CVS
1166 2006-01-10 Bruno Haible <bruno@clisp.org>
1168 Work around unportability of nl_langinfo(CODESET).
1170 * m4/glibc21.m4: New file, from gnulib.
1171 * Makefile.sub (M4MACROS): Add m4/glibc21.m4.
1172 * configure.ac: Also test for stddef.h, and invoke jm_GLIBC21.
1173 * Makefile.in (HOST, GLIBC21): New variables.
1174 (MDEFINES): Pass them to subdirectories.
1175 * src/include/relocate.h (relocatep): Define with C linkage.
1176 * src/include/localcharset.h: New file, from gnulib.
1177 * src/libs/libgroff/localcharset.c: New file, from gnulib with a
1178 modification for relocate().
1179 * src/libs/libgroff/config.charset: New file, from gnulib.
1180 * src/libs/libgroff/ref-add.sin: New file, from gnulib.
1181 * src/libs/libgroff/ref-del.sin: New file, from gnulib.
1182 * src/libs/libgroff/Makefile.sub (EXTRA_CFLAGS): Also define LIBDIR.
1183 (OBJS): Add localcharset.o.
1184 (CSRCS): Add localcharset.c.
1185 (all): Add dependencies to charset.alias, ref-add.sed, ref-del.sed.
1186 (charset.alias): New rule.
1187 (PACKAGE): New variable.
1188 (ref-add.sed, ref-del.sed): New rules.
1189 (MKINSTALLDIRS): New variable.
1190 (install_data): Depend on install_charset_data.
1191 (install_charset_data): New rule for creating or updating
1193 (uninstall_sub): Depend on uninstall_charset_data.
1194 (uninstall_charset_data): New rule for uninstalling or updating
1196 * src/preproc/preconv/preconv.cpp: Include localcharset.h instead
1198 (main): Initialize default_encoding from locale_charset() instead of
1199 nl_langinfo(CODESET).
1201 * aclocal.m4, configure, src/include/config.hin: Regenerated.
1203 2006-01-10 Werner LEMBERG <wl@gnu.org>
1205 * src/preproc/preconv/preconv.cpp (conversion_iconv): Use
1206 ICONV_CONST in call to iconv. Reported by Robert Goulding.
1208 2006-01-07 Werner LEMBERG <wl@gnu.org>
1210 * fonts/devps/generate/freeeuro.sfd: Run auto-hinter with recent
1212 Bump font version to 001.001.
1214 * fonts/devps/generate/Makefile (freeeuro.afm, freeeuro.pfa):
1215 Call fontforge, not pfaedit.
1217 * fonts/devps/freeeuro.afm, fonts/devps/freeeuro.pfa: Regenerated.
1219 2006-01-05 Ruslan Ermilov <ru@FreeBSD.org>
1221 * tmac/doc-common: Add new FreeBSD and NetBSD versions.
1222 * tmac/groff_mdoc.man: Updated.
1224 2006-01-05 Werner LEMBERG <wl@gnu.org>
1226 * src/preproc/preconv/preconv.cpp: s/debug/debug_flag/.
1227 (raw_flag): New global variable.
1228 (do_file): Use .lf to set file name (if `raw_flag' isn't set).
1229 Don't pass BOM to `conversion_utf8'.
1231 (main): Handle `-r' command line switch to set `raw_flag'.
1232 (get_BOM): Fix encodings in `BOM_table'.
1234 * src/preproc/preconv/preconv.man: New file. Not complete yet.
1235 * src/preproc/proconv/Makefile.sub (MAN1): New variable.
1237 2006-01-04 Werner LEMBERG <wl@gnu.org>
1239 * src/preproc/preconv/preconv.cpp (emacs_to_mime): As suggested by
1240 Bruno, comment out most encodings to support only a small set of
1241 coding tags, thus reducing potential problems with legacy encodings
1242 and character sets in the future.
1243 Add many XEmacs coding tags (now commented out).
1245 (check_encoding_tag): Renamed to...
1246 (check_coding_tag): This.
1247 (get_BOM): Return encoding as specified by BOM.
1248 Test for UTF32-LE too.
1249 (do_file): Don't check for coding tag if a BOM has been found.
1251 2006-01-03 Bruno Haible <bruno@clisp.org>
1253 * m4/groff.m4: Renamed from aclocal.m4.
1254 * m4/codeset.m4: New file, from gnulib.
1255 * m4/iconv.m4: New file, from gnulib.
1256 * m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4: New files, from
1258 * config.rpath: New file, from gnulib.
1259 * config.guess, config.sub: New files, from gnulib.
1260 * Makefile.sub (M4MACROS): New variable.
1261 (configure): Fix typo.
1262 (aclocal.m4): New rule.
1263 (stamp-h.in): Depend on aclocal.m4.
1264 * configure.ac: Invoke AM_ICONV and AM_LANGINFO_CODESET.
1265 * Makefile.in (LIBICONV): New variable.
1266 (MDEFINES): Pass it to recursive makes.
1267 * src/preproc/preconv/preconv.cpp: Use HAVE_LANGINFO_CODESET and
1268 HAVE_ICONV instead of I18N macro.
1269 * src/preproc/preconv/Makefile.sub (EXTRA_LDFLAGS): New variable.
1271 * aclocal.m4, configure, src/include/config.hin: (Re)generated.
1273 2006-01-03 Werner LEMBERG <wl@gnu.org>
1275 * doc/Makefile.in (webpage.html): Simplify.
1276 * doc/Makefile.sub (webpage.html): Synchronize with doc/Makefile.in.
1277 * doc/webpage.ms, tmac/groff_www.man, tmac/www.tmac: Minor updates.
1279 2006-01-01 Werner LEMBERG <wl@gnu.org>
1281 * tmac/doc-common (Os): Add some Darwin versions.
1282 * tmac/groff_mdoc.man: Document them.
1284 2006-01-01 Bruno Haible <bruno@clisp.org>
1286 * src/preproc/preconv/preconv.cpp (emacs_to_mime): Various
1288 . Don't map ascii to latin-1.
1289 . Don't use IBMxxx encodings but cpxxx for portability.
1290 . Map cp932, cp936, cp949, cp950 to itself.
1291 (emacs2mime): Protect calls to strcasecmp.
1292 (conversion_iconv): Add missing call to iconv_close.
1293 (do_file): Emit error message in case of unsupported encoding.
1295 2005-12-31 Werner LEMBERG <wl@gnu.org>
1297 Integrate preconv into the groff binary. Changes based on a patch
1298 from Michail Vidiassov.
1300 * src/roff/groff/pipeline.h (MAX_COMMANDS): Increase by 1.
1302 * src/roff/groff/groff.cpp (PRECONV_INDEX): New macro.
1303 (SOELIM_INDEX): Updated.
1304 (help, synopsis): Updated.
1305 (main): Add command line options `-k' and `-K enc' to select
1307 Add support for GROFF_ENCODING environment variable.
1309 * src/roff/groff/groff.man: Updated and revised.
1312 Start with autoconf support for preconv.
1314 * configure.ac: Call AC_C_BIGENDIAN.
1315 * configure, src/include/config.hin: Regenerated.
1317 2005-12-30 Werner LEMBERG <wl@gnu.org>
1319 New preprocessor `preconv' to convert input encodings to something
1320 groff can understand. Not yet integrated within groff. Proper
1321 autoconf stuff is missing too.
1323 Tomohiro Kubota has written a first draft of this program, and some
1324 ideas have been reused (while almost no code has been taken
1327 * src/preproc/preconv/preconv.cpp. src/preproc/preconv/Makefile.sub:
1330 * MANIFEST, Makefile.in (CCPROGDIRS), test-groff.in
1331 (GROFF_BIN_PATH): Add preconv.
1333 2005-12-12 Werner LEMBERG <wl@gnu.org>
1335 * aclocal.m4 (GROFF_MAKEINFO): Fix regexps to be POSIX conformant.
1336 In particular, don't use `\+' since it is a GNU sed extension.
1338 * configure: Regenerated.
1340 2005-12-09 Werner LEMBERG <wl@gnu.org>
1342 * src/libs/libgroff/make-uniuni: New script to generate uniuni.cpp.
1344 * src/libs/libgroff/uniuni.cpp: Regenerated, using data from Unicode
1348 * src/utils/afmtodit/make-afmtodit-tables: New script to generate
1351 * src/utils/afmtodit/afmtodit.tables: New file, representing Unicode
1354 * src/utils/afmtodit/afmtodit.pl (%unicode_decomposed,
1355 %AGL_to_unicode): Removed. Replace it with a tag.
1357 * src/utils/afmtodit/Makefile.sub (afmtodit): Adjust sed expression
1358 to replace tag with actual file contents.
1360 2005-12-08 Werner LEMBERG <wl@gnu.org>
1362 The change 2005-06-20 can indeed cause problems, so we follow the
1363 advice by using marks.
1365 * font/devps/prologue.ps (PBEGIN): Use `mark'.
1366 (PEND): Use `cleartomark'.
1368 2005-12-07 Michail Vidiassov <master@iaas.msu.ru>
1370 * src/utils/afmtodit.pl: Fix kerning output to avoid warnings for
1371 glyphs which have kern values but aren't handled (glyph variants,
1374 2005-12-02 Werner LEMBERG <wl@gnu.org>
1376 * src/devices/grops/ps.cpp (ps_printer::get_subfont): Use correct
1377 subfont index. Reported by Michail Vidiassov <master@iaas.msu.ru>.
1379 2005-11-28 Gaius Mulley <gaius@glam.ac.uk>
1381 * doc/Makefile.in: Separate rule for webpage.html so that extra
1382 command line options can be passed to grohtml.
1383 * doc/groff.css: Change all margins to 0%.
1384 * doc/webpage.ms: Now use new macros ALN, LNS, and LNE so that left
1385 navigation is exploited. Also update webpage to contain new
1386 sections on licenses, mailing lists, cvs/ftp access, groff
1387 dependencies, and bug reports.
1388 * tmac/groff_www.man: Document the new macros ALN, LNS, and LNE.
1389 * tmac/www.tmac: Implement the new macros ALN, LNS, and LNE.
1391 2005-11-25 Gaius Mulley <gaius@glam.ac.uk>
1393 * src/devices/grohtml/post-html.cpp
1394 (html_printer::do_file_components): Add fputs calls to emit the
1395 head contents and shut down the head tag whenever a new file
1396 component is generated.
1398 2005-11-22 Gaius Mulley <gaius@glam.ac.uk>
1400 * src/devices/grohtml/post-html.cpp (html_printer::flush_page): Add
1401 call to flush_text to flush any outstanding html tags on the
1404 2005-11-18 Werner LEMBERG <wl@gnu.org>
1406 * aclocal.m4 (GROFF_MAKEINFO): Use `groff.info' in tests.
1407 Announce makeinfo version.
1408 * configure: Regenerated.
1410 2005-11-18 Mike Frysinger <vapier@gentoo.org>
1412 * Makefile.in: Declare proper dependencies between make targets.
1414 * doc/Makefile.in: Rename groff info page to `groff.info'.
1415 * doc/Makefile.sub: Likewise.
1416 * doc/groff.texinfo: Likewise.
1418 2005-11-17 Peter O'Gorman <mlists@thewrittenword.com>
1420 * src/utils/pfbtops/pfbtops.c, src/utils/xtotroff/xtotroff.c: Move
1421 definition of __GETOPT_PREFIX to the beginning of file to ensure
1422 that it is defined even on platforms where getopt.h is already
1423 included by other header files.
1425 2005-11-10 Gaius Mulley <gaius@glam.ac.uk>
1427 * src/devices/grohtml/post-html.cpp (html_printer::do_heading):
1428 Reset font to NULL to ensure that a font block is recreated during
1431 2005-11-04 Werner LEMBERG <wl@gnu.org>
1433 * aclocal.m4 (GROFF_MAKEINFO): Fix sed expression.
1434 * configure: Regenerated.
1436 2005-10-27 Werner LEMBERG <wl@gnu.org>
1438 * aclocal.m4 (GROFF_MAKEINFO): New function for checking whether
1439 makeinfo 4.8 or newer is available.
1440 * configure.ac: Call GROFF_MAKEINFO.
1441 * configure: Regenerated.
1443 * Makefile.in (MAKEINFO): Use autoconf variable.
1444 (MDEFINES): Add MAKEINFO.
1446 * doc/Makefile.in (MAKEINFO): Use autoconf variable.
1447 * doc/Makefile.sub (MAKEINFO): Remove.
1449 2005-10-26 Werner LEMBERG <wl@gnu.org>
1451 * REVISION: Set to 3.
1453 2005-10-17 Werner LEMBERG <wl@gnu.org>
1455 Mention $MANPAGER variable used with some `man' systems.
1457 * doc/webpage.ms, src/devices/grotty/grotty.man, NEWS: Updated.
1459 2005-09-13 Werner LEMBERG <wl@gnu.org>
1461 * tmac/hyphenex.us: New version (`ushyphex.tex' from ftp.dante.de).
1463 2005-09-04 Werner LEMBERG <wl@gnu.org>
1465 Version 1.19.2 released
1466 =======================
1468 * tmac/groff_ms.man, doc/groff.texinfo: Synchronize.
1470 * doc/webpage.ms: Updated.
1472 * install-sh, mkinstalldirs: New versions; taken from texinfo CVS.
1474 2005-09-04 Jörgen Grahn <jgrahn@algonet.se>
1476 * tmac/groff_ms.man: Document `PO' better.
1478 2005-09-03 Werner LEMBERG <wl@gnu.org>
1480 * NEWS: Document grotty changes.
1482 2005-09-01 Keith Marshall <keith.d.marshall@ntlworld.com>
1484 Backward compatibility support for `man' program.
1486 * tmac/an-old.tmac (LL): Initialize it to respect prior LL register
1487 assignment, prior `.ll' request and then package defaults, in this
1488 specified order of decreasing priority.
1490 * tmac/groff_man.man, doc/groff.texinfo (Man options): Document
1491 altered `LL' register initialization priorities.
1493 2005-08-29 Gary W. Swearingen <garys@opusnet.com>
1495 * tmac/groff_mdoc.man: Go into more details how the `AUTHORS'
1496 section should look like.
1498 2005-08-29 Werner LEMBERG <wl@gnu.org>
1500 * tmac/groff_mdoc.man: The month's name in a call to .Dd shouldn't
1503 2005-08-27 Bernd Warken
1505 * tmac/groff_man.man: Add man(7) too SEE ALSO and more minor
1508 2005-08-11 Bernd Warken
1510 * tmac/www.tmac (URL, MTO): Handle empty \\$1 better.
1512 2005-08-09 Bernd Warken
1514 * tmac/www.tmac (URL, MTO): Use bold series if color support is
1517 2005-08-02 Bernd Warken
1519 * doc/Makefile.sub (uninstall_sub): Use --remove, not --delete
1520 as argument to $(INSTALL_INFO). The latter isn't portable.
1521 Remove $(HTMLEXAMPLEFILES) too.
1523 * Makefile.in (uninstall_dirs): Remove $(datadir)/doc/groff and
1525 Suppress warning messages and return always true.
1527 * tmac/Makefile.sub (uninstall_sub): Remove www.tmac too.
1529 2005-07-02 Bernd Warken
1531 * src/devices/xditview/gxditview.man: Change many `.I' to `.B'.
1532 * man/groff_out.man: More markup and minor improvements.
1533 * src/roff/groff/groff.man: Minor improvements.
1535 2005-06-28 Werner LEMBERG <wl@gnu.org>
1537 * ChangeLog: Split off older entries into...
1538 * ChangeLog.115 ChangeLog.116, ChangeLog.117, ChangeLog.118: New
1541 2005-06-26 Bernd Warken
1543 * src/devices/xditview/gxditview.man: More minor fixes.
1545 2005-06-24 Werner LEMBERG <wl@gnu.org>
1547 * src/preproc/pic/troff.cpp (troff_output::set_fill,
1548 troff_output::set_color, troff_output::reset_color): Use .bcolor and
1549 .fcolor instead of \m and \M, respectively.
1551 2005-06-23 Bernd Warken
1553 * src/devices/xditview/gxditview.man: More minor fixes.
1554 * README: Formatting issues.
1555 Mention some problems with Debian.
1557 2005-06-23 Bernd Warken
1559 * src/devices/xditview/gxditview.man: Revised and improved.
1561 2005-06-22 Werner LEMBERG <wl@gnu.org>
1563 Another round in fixing getopt problems. Hopefully the last one!
1564 This time we use the getopt stuff from gnulib and define a prefix
1565 unconditionally so that there are no collisions with any other
1566 getopt implementations. This is a slight waste of space in case
1567 we already use a GNU getopt implementation, but on
1568 the other hand it really simplifies life.
1570 * src/include/getopt.h: Use gnulib version.
1572 * src/include/getopt_int.h: Use gnulib version.
1574 * src/include/groff-getopt.h: Removed. Obsolete now.
1576 * src/include/lib.h: Regarding getopt, don't handle any platform
1577 specially; just include getopt.h.
1578 (__GETOPT_PREFIX): Define (before getopt.h).
1580 * src/include/Makefile.sub (HDRS): Updated.
1582 * src/libs/libgroff/getopt1.c, src/libs/libgroff/getopt.c: Use
1585 * src/libs/libgroff/Makefile.sub (EXTRA_CFLAGS): Set
1588 * src/utils/pfbtops/pfbtops.c, src/utils/xtotroff/xtotroff.c
1589 (__GETOPT_PREFIX): Define (before getopt.h).
1591 2005-06-21 Werner LEMBERG <wl@gnu.org>
1593 * src/include/lib.h: Provide a fix for Mac OS X to not include
1596 2005-06-20 Denis M. Wilson <dmw@oxytropis.plus.com>
1598 * font/devps/prologue.ps (EP): Dont' use `bind'. Reason: Using
1599 `bind' to define a procedure which contains `showpage' means that an
1600 invocation of `showpage' may execute wrongly (the exact effect
1601 depending on the interpreter). Not usually a problem except under
1602 transformations, such as combining pages.
1603 (PEND): Don't call `clear'. Reason: Using `clear' in the definition
1604 of /PEND means that stack underflow will occur if the stack is
1605 deliberately non-empty before document inclusion. If included
1606 files are found to be generally badly behaved, we could replace the
1607 `clear' with `mark' in /PBEGIN and `cleartomark' in /PEND (I've
1608 never found this necessary).
1610 2005-06-20 Jörgen Grahn <jgrahn@algonet.se>
1612 * src/preproc/soelim/soelim.cpp (do_file): Append trailing zero
1613 earlier to get correct error message.
1615 2005-06-16 Bernd Warken
1616 * src/roff/nroff/nroff.sh: Add support for iso-8859-15.
1618 2005-06-15 Werner LEMBERG <wl@gnu.org>
1620 Another try to update getopt files. This time we add a dummy
1621 gettext.h file to satisfy the dependency.
1623 * src/include/getopt.h, src/libs/libgroff/getopt.c,
1624 src/libs/libgroff/getopt1.c: Updated from GNU libc CVS.
1626 * src/include/getopt_int.h: New file (from GNU libc CVS).
1628 * src/include/gettext.h: Dummy file which just defines a gettext()
1631 * src/include/groff-getopt.h: Updated.
1633 * src/include/Makefile.sub (HDRS): Add getopt_int.h and gettext.h.
1636 * src/libs/libdriver/input.cpp (IntArray): Remove superfluous
1637 `const' keywords in return value.
1639 * src/preproc/html/pushback.cpp (pushBackBuffer::~pushBackBuffer):
1640 Remove redundant variable `old'.
1641 (pushBackBuffer::skipToNewline): Remove redundant variable `ch'.
1643 * src/preproc/tbl/main.cpp (process_table): Remove redundant
1647 Fix more friend name injection problems since modern C++ compilers
1648 fail otherwise. We simply provide (global) declarations for all
1649 functions declared as friends. This is not really necessary but
1652 * src/preproc/eqn/lex.cpp: Provide declarations for get_char,
1653 peek_char, and get_location.
1655 * src/preproc/refer/ref.h: Provide declarations for
1656 compare_reference, same_reference, same_year, same_date,
1657 same_author_last_name, and same_author_name.
1659 * src/roff/troff/div.h: Provide declarations for do_divert and
1662 * src/roff/troff/env.h: Provide declarations for title_length,
1663 space_size, fill, no_fill, adjust, no_adjust, center, right_justify,
1664 vertical_spacing, post_vertical_spacing, line_spacing, line_length,
1665 indent, temporary_indent, do_underline, do_input_trap, set_tabs,
1666 margin_character, no_number, number_lines, leader_character,
1667 tab_character, hyphenate_request, no_hyphenate,
1668 hyphen_line_max_request, hyphenation_space_request,
1669 hyphenation_margin_request, line_width, tabs_save, tabs_restore,
1670 line_tabs_request, widow_control_request, and do_divert.
1672 * src/roff/troff/input.cpp: Provide declaration for chop_macro.
1674 * src/roff/troff/node.cpp: Provide declarations for class
1676 Provide declaration for make_tfont.
1678 2005-05-29 Werner LEMBERG <wl@gnu.org>
1680 * doc/fdl.texi: Updated to version 1.2. Reported by Bernd Warken.
1682 2005-05-28 Werner LEMBERG <wl@gnu.org>
1684 * contrib/pdfmark/Makefile.sub (.ms.pdf): Use `--stylesheet', not
1687 * src/devices/grolbp/lbp.cpp, src/devices/grolbp/lbp.h: Remove
1688 redundant semicolons.
1690 * src/preproc/eqn/Makefile.sub, src/preproc/html/Makefile.sub,
1691 src/preproc/soelim/Makefile.sub, src/preproc/tbl/Makefile.sub:
1692 Define `MLIB'. Some compilers need this for linking with libgroff.
1694 2005-05-27 Werner LEMBERG <wl@gnu.org>
1696 * MANIFEST, README, doc/webpage.ms: Updated.
1698 2005-05-26 Werner LEMBERG <wl@gnu.org>
1700 * All affected files: Update postal address of FSF.
1702 2005-05-25 Keith Marshall <keith.d.marshall@ntlworld.com>
1705 * README: More fixes.
1707 * README.CVS: Removed. Its contents is now part of the README file.
1709 2005-05-21 Werner LEMBERG <wl@gnu.org>
1711 * README: Updated. Based on a patch from Bernd Warken.
1713 2005-05-16 Keith Marshall <keith.d.marshall@ntlworld.com>
1715 Miscellaneous script portability enhancements.
1717 * aclocal.m4: (GROFF_CSH_HACK): Add space in shebang prototype for
1718 generated conftest.sh script, conforming to portability
1719 recommendation in autoconf docs.
1720 * configure: Likewise, for code generated by GROFF_CSH_HACK.
1721 * contrib/eqn2graph/eqn2graph.sh: Add space in shebang, conforming
1722 to portability recommendation in autoconf docs.
1723 * contrib/gdiffmk/gdiffmk.sh: Likewise.
1724 * contrib/gdiffmk/tests/runtests.in: Likewise.
1725 * contrib/grap2graph/grap2graph.sh: Likewise.
1726 * contrib/groffer/groffer.sh: Likewise.
1727 * contrib/mm/mmroff.pl: Likewise.
1728 * contrib/mom/momdoc/appendices.html: Likewise.
1729 * contrib/pic2graph/pic2graph.sh: Likewise.
1730 * font/devps/generate/afmname: Likewise.
1731 * src/devices/xditview/ad2c: Likewise.
1732 * src/preproc/eqn/neqn.sh: Likewise.
1733 * src/roff/grog/grog.pl: Likewise.
1734 * src/roff/grog/grog.sh: Likewise.
1735 * src/roff/nroff/nroff.sh: Likewise.
1736 * PROBLEMS: Likewise, in embedded script examples.
1738 2005-05-16 Keith Marshall <keith.d.marshall@ntlworld.com>
1740 Improve portability of `pdfroff' shell script.
1742 * arch/misc/shdeps.sh: Add space in shebang, conforming to
1743 portability guidelines in `autoconf' docs.
1744 (PATH_SEARCH_SETUP): New substitution; emits PATH_SEPARATOR
1745 initialization code. Used by contrib/pdfmark/pdfroff.sh's
1746 `searchpath' function.
1748 2005-05-14 Werner LEMBERG <wl@gnu.org>
1750 * contrib/pic2graph/pic2graph.sh, contrib/graph2graph.sh,
1751 contrib/eqn2graph.sh: Add option `-trim' to `convert' which is
1752 needed for newer ImageMagick versions.
1754 2005-05-07 Werner LEMBERG <wl@gnu.org>
1756 * src/preproc/refer/refer.man: Many small typographic fixes.
1758 2005-05-06 Jeff Conrad <jeff_conrad@msn.com>
1760 * src/devices/grohtml/post-html.cpp (assert_state::~assert_state):
1761 Use `char *' cast for a_delete.
1763 2005-05-03 Werner LEMBERG <wl@gnu.org>
1765 * src/libs/libgroff/maxpathname.cpp: Include stdlib.h.
1766 src/libs/libgroff/relocate.cpp: Use path_name_max everywhere.
1768 2005-05-03 Jeff Conrad <jeff_conrad@msn.com>
1770 * src/devices/grohtml/post-html.cpp: Use casts to `char *' if using
1771 `a_delete' for `const char *'.
1773 2005-05-03 Werner LEMBERG <wl@gnu.org>
1775 * src/devices/grohtml/post-html.cpp,
1776 src/devices/grohtml/html-table.cpp,
1777 src/devices/grohtml/html-text.cpp, src/devices/grohtml/output.cpp:
1778 Replace malloc/free with new/delete/a_delete.
1780 * src/devices/grolbp/lbp.h: Remove superfluous semicolons which
1781 are prohibited with ANSI C++.
1782 (lbpprintf, vdmprintf): Remove useless `inline' keyword (since the
1783 function has a variable number of arguments).
1785 * src/preproc/grn/main.cpp (doinput): Change return type to `int'.
1786 Simplify function and update all callers.
1788 2005-05-02 Werner LEMBERG <wl@gnu.org>
1790 Undo getopt changes from 2005-04-30. We don't want a dependency
1793 * src/include/getopt_int.h: Removed.
1795 * src/include/getopt.h, src/include/groff-getopt.h,
1796 src/include/Makefile.sub, src/libs/libgroff/getopt.c,
1797 src/libs/libgroff/getopt1.c: Revert to previous version.
1800 * src/include/nonposix.h (access) [_MSC_VER]: New macro.
1802 * src/include/posix.h (F_OK): Define conditionally.
1804 * src/devices/grotty/tty.cpp (tty_printer::make_underline): Use
1805 different variable name in second `for' loop to avoid MSVC compiler
1808 2005-04-30 Werner LEMBERG <wl@gnu.org>
1810 AC_TYPE_SIGNAL from current autoconf can fail if CC=g++.
1812 * aclocal.m4 (GROFF_TYPE_SIGNAL): New function.
1813 * configure.ac: Use GROFF_TYPE_SIGNAL, not AC_TYPE_SIGNAL.
1814 * configure, src/include/config.hin: Regenerated.
1816 * PROBLEMS: Updated.
1819 Update getopt files.
1821 * src/include/getopt.h, src/libs/libgroff/getopt.c,
1822 src/libs/libgroff/getopt1.c: Updated from GNU libc CVS.
1824 * src/include/getopt_int.h: New file (from GNU libc CVS).
1826 * src/include/groff-getopt.h: Updated.
1828 * src/include/Makefile.sub (HDRS): Add getopt_int.h.
1831 * font/devutf8/NOTES: Updated.
1833 2005-04-28 Werner LEMBERG <wl@gnu.org>
1835 Bug fix for Win32 relocatable code. Based on a patch from Keith
1838 * src/libs/libgroff/maxpathname.cpp (PATH_MAX): Test for `_MAX_PATH'
1841 * src/libs/libgroff/relocate.c (DEBUG): Define it conditionally.
1842 (searchpath) [_WIN32]: Use `_fullpath', not `realpath'.
1844 2005-04-28 Keith Marshall <keith.d.marshall@ntlworld.com>
1846 Correct `gnu.eps' handling for build from distribution tarball, with
1847 separate source and build directories.
1849 * doc/Makefile.sub: (examples.stamp): New target; forces copy of
1850 grnexmpl.g, groff.css and gnu.eps from source to build directory;
1851 generate gnu.eps from gnu.xpm if required; touch examples.stamp.
1852 (prepare_examples): Make it depend on examples.stamp.
1853 (CLEANADD): Add examples.stamp.
1855 2005-04-27 Werner LEMBERG <wl@gnu.org>
1859 position: `(' position `)'
1863 * src/preproc/pic/pic.y (position, position_not_place): Handle
1864 additional parentheses.
1866 * doc/pic.ms: Updated.
1868 2005-04-23 Larry Jones <lawrence.jones@ugs.com>
1870 * src/utils/xtotroff/xtotroff.c (MapFont): Fix variable declaration.
1872 2005-04-18 Werner LEMBERG <wl@gnu.org>
1874 * src/roff/groff/pipeline.c: Don't include ctype.h.
1876 2005-04-13 Werner LEMBERG <wl@gnu.org>
1878 * src/roff/nroff/nroff.man: Document option `-M'.
1880 2005-04-13 Bruce Lilly <blilly@erols.com>
1882 * src/roff/nroff/nroff.sh: Make the script accept option `-M'.
1884 2005-04-01 Kees Zeelenberg <kzlg@users.sourceforge.net>
1885 Werner LEMBERG <wl@gnu.org>
1887 Add binary relocation support for Windows platforms.
1889 * src/include/Makefile.sub (defs.h): Add `INSTALLPATH'.
1891 * src/include/relocate.h, src/libs/libgroff/relocate.cpp: New files.
1893 * src/libs/libgroff/searchpath.cpp: Handle `relocate'.
1894 (search_path::search_path, search_path::open_file_cautious): Use
1897 * src/libs/libgroff/Makefile.sub (OBJS, CCSRCS),
1898 src/include/Makefile.sub (HDRS): Updated.
1900 2005-04-01 Werner LEMBERG <wl@gnu.org>
1902 * src/devices/grohtml/post-html.cpp: Don't use strdup/free but
1905 * src/libs/libgroff/font.cpp: Replace strdup with strsave.
1907 * src/libs/libgroff/maxfilename.cpp: Don't include limits.h since
1908 lib.h already does it.
1910 * src/libs/libgroff/maxpathname.cpp: New file, defining
1913 * src/include/lib.h: Add prototype for path_name_max.
1915 * src/libs/libgroff/Makefile.sub (OBJS, CCSRCS): Updated.
1917 * src/include/nonposix.h (PATH_EXT): New macro.
1919 2005-03-28 Werner LEMBERG <wl@gnu.org>
1921 Add support for double- and zero-width characters in grotty.
1923 * src/devices/grotty/tty.cpp (glyph): Add width.
1924 (tty_printer::make_underline, tty_printer::make_bold,
1925 tty_printer::add_character): Add parameter to pass character width.
1927 (tty_printer::end_page): Increase hpos by actual character width.
1929 * font/devutf8/R.proto: Specify zero width for non-spacing
1932 * tmac/unicode.tmac: Remove definitions for non-spacing entities.
1934 * Makefile.comm (extraclean): Remove more junk files.
1936 2005-03-25 Werner LEMBERG <wl@gnu.org>
1938 * configure.ac: Undo change from 2005-03-24.
1939 * configure: Regenerated.
1941 2005-03-24 Werner LEMBERG <wl@gnu.org>
1943 * Makefile.in (NOMAKEDIRS): Add contrib/gdiffmk/tests.
1944 (dist): Search Makefile while descending into $(EXTRADIRS).
1946 * doc/Makefile.in (.PHONY): Add.
1947 (clean): Don't remove *.png and *.eps.
1949 (realclean): Remove *.png and *.eps.
1950 (extraclean): Depend on distclean.
1952 * configure.ac: Add copyright.
1953 Handle contrib/pdfmark/Makefile.
1955 * configure: Regenerated.
1957 2005-03-18 Larry Kollar <kollar@alltel.net>
1959 Add numbered and definition lists to www.tmac.
1961 * tmac/www.tmac (www-ul-level1, www-ul-level2, www-ul-level3,
1962 www-ol-level1, www-ol-level2, www-ol-level3, www-ol-tmp): New
1963 auxiliary string registers.
1964 (www-ul-level, www-ol-level, www-dl-level, www-ol-ctr1, www-ol-ctr2,
1965 www-ol-ctr3, www-dl-shift): New auxiliary number registers.
1966 (www-level): Removed.
1967 (www-level1, www-level2, www-level3): Initialize to empty.
1968 (www-level0, www-level4, www-level5, www-level6, www-level7,
1969 www-level8, www-level9): New string registers.
1970 (www-push-li, www-pop-li): New macros.
1971 (www-push-level, www-pop-level): Renamed to...
1972 (www-push-ul-level, www-pop-ul-level): This.
1974 (www-push-ol-level, www-pop-ol-level): New macros.
1975 (ULS, ULE): Updated.
1976 (OLS, OLE, DLS, DLE): New user macros.
1977 (LI): Removed. It is aliased to one of...
1978 (www-li-ul, www-li-ol, www-li-dl): New macros.
1980 * tmac/groff_www.man: Document new macros.
1984 2005-03-18 Werner LEMBERG <wl@gnu.org>
1986 * tmac/doc-common (doc-operating-system-NetBSD-2.0.1,
1987 doc-operating-system-NetBSD-2.0.2): New strings.
1989 * tmac/groff_mdoc.man: Updated.
1991 2005-03-17 Werner LEMBERG <wl@gnu.org>
1993 * doc/Makefile.sub (CLEANADD): Add `groff.html'.
1995 2005-03-17 Werner LEMBERG <wl@gnu.org>
1997 * src/libs/libgroff/hypot.c: Renamed to...
1998 * src/libs/libgroff/hypot.cpp: This. Updated to C++.
2000 * src/libs/libgroff/Makefile.sub (CCSRCS, CSRCS): Updated.
2002 * src/include/lib.h: Updated.
2004 2005-03-16 Werner LEMBERG <wl@gnu.org>
2006 Add workaround for broken hypot() on Interix.
2008 * src/libs/libgroff/hypot.c: New wrapper file for `hypot'.
2010 * src/libs/libgroff/Makefile.sub (OBJS): Add `hypot.o'.
2011 (CSRCS): Add `hypot.c'.
2013 * src/include/lib.h: Declare `groff_hypot'.
2015 * src/preproc/grn/hgraph.cpp: Don't declare `hypot'.
2018 * src/preproc/pic/pic.h: Don't declare `hypot'.
2020 * src/preproc/pic/object.cpp (hypot): Use `groff_hypot'.
2022 2005-03-15 Gaius Mulley <gaius@glam.ac.uk>
2024 * src/devices/grohtml/post-html.cpp
2025 (html_printer::lookahead_for_tables): End .ce properly to avoid a
2028 2005-03-15 Werner LEMBERG <wl@gnu.org>
2030 makeinfo 4.8 doesn't produce good HTML output from groff.texinfo.
2032 * doc/fixinfo.sh: New script to postprocess makeinfo's HTML output.
2034 * doc/Makefile.in (.texinfo.html): Call fixinfo.sh.
2036 2005-03-14 Werner LEMBERG <wl@gnu.org>
2038 Add Cyrillic support to devutf8 and devhtml.
2040 * font/devutf8/R.proto, font/devhtml/R.proto: Add Cyrillic blocks.
2042 * tmac/unicode.tmac: New file.
2044 * tmac/tty.tmac: Include unicode.tmac if device is utf8.
2046 * tmac/Makefile.sub (NORMALFILES): Add unicode.tmac.
2050 2005-03-02 Keith Marshall <keith.d.marshall@ntlworld.com>
2052 * src/libs/libdriver/printer.cpp (check_for_output_error): New
2053 function. It has been introduced to catch peculiar error contexts
2054 on MS-Windows platforms.
2056 2005-02-28 Werner LEMBERG <wl@gnu.org>
2058 * src/roff/troff/input.cpp (string_iterator::fill): Protect against
2061 * tmac/papersize.tmac: Convert `paper' string contents to lowercase.
2063 * configure: Regenerated.
2067 2005-02-28 Keith Marshall <keith.d.marshall@ntlworld.com>
2069 Integrate `pdfmark' into normal groff build system;
2070 install macro `pdfmark' packages, build and install `pdfroff',
2071 and PDF format documentation.
2073 * Makefile.comm: Add PDFDOCDIR.
2075 * Makefile.in: (MDEFINES) ALT_AWK_PROGS, ALT_GHOSTSCRIPT_PROGS,
2076 pdfdocdir, make_pdfdoc, make_install_pdfdoc: New variables.
2077 (unstall_dirs): Add pdfdocdir.
2079 * aclocal.m4: (GROFF_GHOSTSCRIPT_PREFS): New function; support
2080 `--with-alt-gs' option, set ALT_GHOSTSCRIPT_PROGS.
2081 (GROFF_GHOSTSCRIPT_PATH): Support `--with-gs' option, force use of
2082 GROFF_GHOSTSCRIPT_PREFS, set GHOSTSCRIPT.
2083 (GROFF_HTML_PROGRAMS): Force use of GROFF_GHOSTSCRIPT_PATH; tidy up.
2084 (GROFF_AWK_PREFS): New function; support `--with-alt-awk' option,
2086 (GROFF_AWK_PATH): New function; support `--with-awk' option, force
2087 use of GROFF_AWK_PREFS.
2088 (GROFF_PDFDOC_PROGRAMS): New function; force use of GROFF_AWK_PATH
2089 and GROFF_GHOSTSCRIPT_PATH, set make_pdfdoc and make_install_pdfdoc.
2091 * configure.ac: Add AC_PREREQ(2.59), GROFF_PDFDOC_PROGRAMS.
2092 Remove GROFF_GHOSTSCRIPT_PATH, (forced by GROFF_PDFDOC_PROGRAMS, and
2093 also by modified GROFF_HTML_PROGRAMS).
2095 2005-02-27 Gaius Mulley <gaius@glam.ac.uk>
2097 * src/devices/grohtml/html-text.cpp (html_text::do_pre): Preserve
2099 (html_text::done_para): Unset `start_space'.
2100 (html_text::remove_para_align): Call `retrieve_para_space' for the
2103 * src/devices/grohtml/post-html.cpp (html_printer::emit_raw): Unset
2105 (html_printer::do_check_center): Emit vertical space if necessary.
2107 * src/roff/troff/env.cpp (environment_switch): Preserve
2108 `seen_space', `seen_eol', and `suppress_next_eol' while switching
2111 * src/roff/troff/node.cpp (suppress_node::suppress_node): Set
2114 2005-02-20 Werner LEMBERG <wl@gnu.org>
2116 * src/preproc/eqn/eqn.man, NEWS: Document various extensions of
2119 2005-02-17 Werner LEMBERG <wl@gnu.org>
2121 * doc/pic.ms, man/groff.man: Fix typos.
2123 * doc/groff.texinfo: Fix typos.
2124 (\LEmacro): Get proper mathematical spacing.
2126 2005-02-16 Werner LEMBERG <wl@gnu.org>
2128 * aclocal.m4 (GROFF_APPRESDIR_CHECK): Improve warning message.
2129 * configure: Regenerated with autoconf 2.59b.
2131 2005-02-16 Gaius Mulley <gaius@glam.ac.uk>
2133 * src/devices/grohtml/post-html.cpp (html_printer::is_line_start,
2134 html_printer::start_font): Fix handling of preformatted text.
2136 2005-02-15 Gaius Mulley <gaius@glam.ac.uk>
2138 These patches modify the indentation implementation to use `<p
2139 style=margin-left: n%>'. Many thanks to Peter and Larry for
2140 suggesting this solution. Grohtml only uses tables for `.IP' and
2141 related tags when the first operand has a short width.
2143 Similarly, they modify all vertical space code. By default, grohtml
2144 sets up a style sheet which uses no vertical space between `table',
2145 `pre', and `p' tags. It forces spaces when it needs them using
2146 `style="margin-top: 1em"'.
2148 * src/devices/grohtml/html-table.cpp: Include `html-text.h'.
2149 (html_table::emit_table_header, html_table::emit_new_row):
2151 (html_table::set_space): New function.
2152 (html_indent::html_indent): Don't set `is_used'.
2153 (html_indent::begin): Rewritten.
2154 (html_indent::end): Remove code in function.
2156 * src/devices/grohtml/html-table.h: Updated.
2157 (html_table): Make `out' public.
2159 * src/devices/grohtml/html-text.cpp (html_text::html_text):
2160 Initialize `start_space' with FALSE.
2161 (html_text::end_tag) <P_TAG, PRE_TAG>: Updated.
2162 (html_text::issue_tag): Add argument to handle space style.
2163 (html_text::start_tag) <P_TAG, PRE_TAG>: Updated.
2164 (html_text::flush_text): Don't set `start_space'.
2165 (html_text::push_para): Don't set `p->really_issued'.
2166 (html_text::do_emittext): Updated.
2167 (html_text::do_para): Add paremeter to handle space.
2169 (html_text::retrieve_para_space): New function.
2171 * src/devices/grohtml/html-text.h (STYLE_VERTICAL_SPACE): New macro.
2172 (tag_definition): Remove `really_issued'.
2173 (html_text): Updated.
2175 * src/devices/grohtml/post-html.cpp (html_printer): Add variables
2176 `current_column' and `row_space'.
2178 (html_printer::emit_raw, html_printer::write_header,
2179 html_printer::do_indent, html_printer::do_check_center,
2180 html_printer::do_tab_ts): Handle vertical space.
2181 (html_printer:do_tab_te, html_printer::do_end_para): Call
2182 `remove_para_space'.
2183 (html_printer::do_col): Rewritten.
2184 (html_printer::flush_globs): Remove debugging code.
2185 (html_printer::is_line_start): New function.
2186 (html_printer::start_font): Use `is_line_start'.
2187 (html_printer::writeHeadMetaStyle): New function.
2188 (html_printer::do_file_components, html_printer::~html_printer):
2189 Call `writeHeadMetaStyle'.
2191 * tmac/www.tmac (www-handle-percent): New macro.
2192 (MPIMG): Handle percent values for width and height parameters.
2195 * tmac/groff_www.man: Updated.
2197 2005-02-14 Werner LEMBERG <wl@gnu.org>
2199 * src/utils/afmtodit/afmtodit.pl: Remove an incorrect `my' from
2200 $psname and $italic_angle.
2201 Immediately restart file input loops if `split' returns an empty
2204 2005-02-13 Michail Vidiassov <master@iaas.msu.ru>
2205 Werner LEMBERG <wl@gnu.org>
2207 Update afmtodit to better support Unicode (Michail).
2208 Update afmtodit to use Perl 5 syntax (Werner).
2210 * src/utils/afmtodit/afmtodit.pl: Don't use `getopts.pl' but
2212 Decorate variables with `my' where necessary.
2213 Use `defined' where necessary to avoid warnings.
2214 Don't use `do' for subroutine calls.
2215 Other minor syntax updates.
2216 Check for both `uXXXX[X[X]]' and `uniXXXX'.
2217 Handle glyph variants properly.
2218 (%unicode_decomposed, %AGL_to_unicode): Don't use `u' prefix in
2221 * src/utils/afmtodit/afmtodit.man: Updated.
2223 2005-02-13 Werner LEMBERG <wl@gnu.org>
2225 Make groff.texinfo work with texinfo 4.8.
2227 * doc/groff.texinfo (@Var): Use @r and @slanted.
2228 (@defdummy, @Def*): Use @c to avoid empty lines.
2229 (\angles): Replaced with...
2230 (\Langlemacro, \Ranglemacro): New TeX macros.
2231 (@Langlemacro, @Ranglemacro): New variables defined with @set.
2232 (@angles): Use @Langlemacro and @Ranglemacro.
2233 (\LE): Replaced with...
2234 (\LEmacro): New TeX macro.
2235 (@LEmacro): New variable defined with @set.
2236 (@LE): Use @LEmacro.
2237 (@Lparenmacro, @Rparenmacro, @Lbrackmacro, @Rbrackmacro): New
2238 variables defined with @set.
2239 (@lparen, @rparen, @lbrack, @rbrack): Replaced with...
2240 (@Lparen, @Rparen, @Lbrack, @Rbrack): New macros.
2243 Other minor updates.
2245 * doc/texinfo.tex: Update to texinfo version 4.8.
2247 * README.CVS: Updated.
2249 2005-02-09 Alejandro López-Valencia <palopez@etb.net.co> (tiny change)
2251 * doc/groff.texinfo (ms Document Control Registers): Document `HY'
2252 and `FAM' registers.
2254 2005-02-05 Werner LEMBERG <wl@gnu.org>
2256 * tmac/groff_mdoc.man, tmac/doc-common, tmac/doc-ditroff,
2257 tmac/doc-nroff, tmac/doc-old.tmac, tmac/doc-syms, tmac/doc.tmac:
2260 2005-02-01 Werner LEMBERG <wl@gnu.org>
2262 * src/roff/groff/groff.man: Add information about paper size.
2264 2005-01-25 Werner LEMBERG <wl@gnu.org>
2266 * src/roff/nroff/nroff.sh: Handle `*.ISO8859-1' in locale. From
2269 2005-01-22 Ruslan Ermilov <ru@FreeBSD.org>
2271 * tmac/doc.tmac (Sm): Improved. It didn't work properly in many
2273 (Re): Emit a warning if called without `.Rs'.
2274 (doc-finish-reference): Use parameter for decreasing
2275 `doc-reference-count'.
2276 (doc-print-reference): Pass specific count parameters to
2277 `doc-finish-reference'.
2279 2005-01-21 Werner LEMBERG <wl@gnu.org>
2281 * src/libs/libdriver/input.cpp (delete_current_env, do_file):
2282 Reset pointers to zero after deallocation. This fixes a crash
2283 if a driver is called with multiple input files. Reported by
2284 Ken Chilton <ken@chiltonfamily.org>.
2286 * src/devices/grops/grops.man: Add more info on DSC.
2288 2005-01-17 Ruslan Ermilov <ru@FreeBSD.org>
2290 * tmac/doc-common (Dd), tmac/doc-ditroff (gX, doc-setup-header):
2293 2005-01-17 Werner LEMBERG <wl@gnu.org>
2295 * src/roff/troff/div.cpp (top_level_diversion::space): Protect
2296 against division by zero.
2298 2005-01-13 Ruslan Ermilov <ru@FreeBSD.org>
2300 * tmac/doc.tmac (Ef): Restore doc-curr-font and doc-curr-size.
2302 2004-12-19 Werner LEMBERG <wl@gnu.org>
2304 * install-sh: New version; taken from texinfo CVS.
2306 2004-12-17 Werner LEMBERG <wl@gnu.org>
2308 * tmac/devtag.tmac: Protect against loading twice.
2309 Protect agains compatibility mode.
2310 * tmac/www.tmac: Protect against loading twice.
2311 Load `devtag.tmac' before switching off compatibility mode.
2312 * tmac/an-old.tmac, tmac/s.tmac: Load `devtag.tmac'.
2314 2004-12-16 Mike Bianchi <mbianchi@Foveal.com>
2316 * configure.ac: Produce `contrib/gdiffmk/tests/runtests'.
2317 * configure: Updated.
2319 2004-12-15 Thomas Klausner <wiz@netbsd.org>
2321 * tmac/doc-syms, tmac/groff_mdoc.man: Add `libpam' library.
2323 2004-12-15 Werner LEMBERG <wl@gnu.org>
2325 Make `test-groff' work again -- previously, wrong paths have been
2326 used. Additionally, it can now be called from anywhere.
2328 * test-groff.in: Don't test for groff binary. This is no longer
2329 necessary since the proper paths are determined by `configure'.
2330 (EXEEXT): Removed. No longer used.
2331 (srcdir, builddir): Use values provided by the configure script.
2332 (XENVIRONMENT): Updated.
2336 2004-12-14 Gaius Mulley <gaius@glam.ac.uk>
2338 Make .tag and .taga work for all devices (but only grohtml actually
2341 * src/devices/grohtml/post-html.cpp: s/html-tag/devtag/.
2342 (text_glob::is_br, page::add_tag, html_printer::troff_tag,
2343 html_printer::handle_assertion): Don't use hard-coded string
2345 (html_printer::lookahead_for_table): Reset `tbl' properly if
2347 (html_printer::devtag): New function, handling `devtag'.
2348 (html_printer::special): Don't handle `html-tag'.
2350 * src/include/printer.h, src/libs/libdriver/printer.cpp
2351 (printer::devtag): New virtual function.
2353 * src/libs/libdriver/input.cpp (parse_x_command) <'X'>: Handle
2356 * src/roff/troff/env.cpp, src/roff/troff/mtsm.cpp,
2357 src/roff/troff/node.cpp: s/html-tag/devtag/.
2359 * src/roff/troff/input.cpp (tag, taga): Always call
2362 * tmac/an-old.tmac, tmac/s.tmac, tmac/troffrc-end: Use DEVTAG*
2363 macros instead of HTML-TAG*.
2365 * tmac/devtag.tmac: New file, defining the DEVTAG-* macros.
2367 * tmac/www.tmac: Load devtag.tmac.
2368 Replace HTML-TAG* macros with DEVTAG* macros.
2369 (HTML, HTML-NS): Changed definitions.
2371 (HTML-TAG, HTML-TAG-NS, HTML-TAG-NEXT): Removed.
2373 * tmac/Makefile.sub (NORMALFILES): Add devtag.tmac.
2375 2004-12-10 Werner LEMBERG <wl@gnu.org>
2377 Import Mike's `gdiffmk' package.
2379 * contrib/gdiffmk/*: New files.
2380 * Makefile.in (OTHERDIRS): Add contrib/gdiffmk.
2383 2004-12-08 Werner LEMBERG <wl@gnu.org>
2385 Import Keith's `pdfmark' package. Integration is very preliminary.
2387 * contrib/pdfmark/*: New files.
2388 * Makefile.in (OTHERDIRS): Add contrib/pdfmark.
2391 2004-12-07 Gaius Mulley <gaius@glam.ac.uk>
2393 Fix a bug with title handling in HTML.
2395 * src/devices/grohtml/post-html.cpp (text_glob::is_nf,
2396 text_glob::is_fi, text_glob::is_ce): Use strlen to compute string
2398 (html_printer::handle_tag_within_title): New function.
2399 (html_printer::do_title): Use it.
2401 * tmac/s.tmac (TL): Don't set `need_eo_tl'.
2402 (cov*tl-au-print): Emit `.eo.tl' tag.
2404 2004-12-05 Alejandro López-Valencia <dradul@etb.net.co>
2406 * man/groff_char.man: Minor imrovements.
2408 2004-12-04 Werner LEMBERG <wl@gnu.org>
2410 * src/preproc/eqn/eqn.man: Revised.
2412 2004-11-25 Werner LEMBERG <wl@gnu.org>
2414 * src/utils/xtotroff/xtotroff.c: Reformat to be similar to other
2418 Remove X_NOT_STDC_ENV conditional.
2419 (Version_string, program_name): New global variables.
2420 (groff_flag): Removed.
2422 (usage): Take a stream as argument.
2425 (main): Add `long_options' array for `--help' and `--version'.
2426 Make `-g' a dummy option.
2427 Handle `-v' and unknown options.
2428 Remove unused `position' variable.
2430 * src/utils/xtotroff/Makefile.sub (MAN1): Define.
2431 (XLIBS): Add LIBGROFF.
2433 * src/utils/xtotroff/xtotroff.man, src/utils/xtotroff/Makefile.in:
2436 * src/devices/xditview/Dvi.c (default_font_map): Split into three
2437 parts to avoid compiler warning.
2438 (resources): Don't initialize with `default_font_map'.
2439 (ClassInitialize): Initialize first element of `resources'.
2441 * src/devices/xditview/Makefile.sub (devdir, xtotroff, DPIS, fonts):
2444 * src/utils/lkbib/lkbib.man, src/utils/lookbib/lookbib.man,
2445 src/utils/pfbtops/pfbtops.man: Revised, updated.
2447 * configure.ac: Generate src/utils/xtotroff/Makefile.
2448 * configure: Regenerated.
2450 2004-11-24 Werner LEMBERG <wl@gnu.org>
2452 First fixes to get produce HTML.
2454 * src/devices/grohtml/post-html.cpp (generate_img_src): Add `alt'
2457 * tmac/www.tmac (IMG, PIMG, MPIMG): Add `alt' attribute.
2458 (HR, LI): Use `HTML</p>', not `HTML'.
2460 * doc/webpage.ms: Minor updates.
2462 2004-11-23 Larry Kollar <kollar@alltel.net>
2464 Add option -S grohtml to determine the file split level.
2466 * src/devices/grohtml/post-html.cpp (split_level): New global
2468 (html_header::determine_header_level): Use split_level.
2469 (main): Handle `-S' command line option.
2472 * src/preproc/html/pre-html.cpp (scanArguments): Updated.
2474 * src/devices/grohtml/grohtml.man: Document it.
2477 * NEWS: Document it.
2479 2004-11-23 Y T <doarhop@hotmail.com>
2481 * tmac/s.tmac (ref*add-V, ref*add-N): New macros for handling
2482 the volume and number refer entries.
2484 2004-11-22 Werner LEMBERG <wl@gnu.org>
2486 * src/devices/grohtml/html-table.cpp
2487 (html_table::emit_table_header): Don't emit `cols' attribute which
2488 doesn't exist in HTML 4.0 and is thus invalid.
2490 * NEWS: More minor fixes and updates.
2492 2004-11-18 Werner LEMBERG <wl@gnu.org>
2494 * tmac/www.tmac (HTML-NS, HTML-TAG-NS, HTML-TAG-NEXT): Simplified.
2495 (HTML</p>): Minor clean-up.
2497 * tmac/groff_www.man: Updated.
2499 * src/devices/grohtml/grohtml.man: Revised and updated.
2503 2004-11-18 Gaius Mulley <gaius@glam.ac.uk>
2505 * src/devices/grohtml/post-html.cpp (html_printer::do_heading):
2506 Fix space insertion.
2507 (html_printer::do_links): Fix rules generation around automatic
2510 * tmac/www.tmac (LK): Use HTML-TAG-NS.
2512 No longer emit empty line for non-HTML devices.
2514 2004-11-17 Werner LEMBERG <wl@gnu.org>
2516 * doc/Makefile.in (prepare_examples, webpage.html): Handle
2519 * doc/Makefile.sub (EXAMPLEFILES, CLEANNOTSRCDIRADD,
2520 prepare_examples, webpage.html): Handle `groff.css'.
2522 2004-11-15 Werner LEMBERG <wl@gnu.org>
2524 * NEWS, README, doc/webpage.ms: Updated.
2526 * tmac/www.tmac (HTML, HTML-TAG): Minor clean-ups.
2528 2004-10-30 Gaius Mulley <gaius@glam.ac.uk>
2530 * src/include/printer.h (printer): Remove virtual function
2532 Update all source files.
2534 * src/devices/grohtml/post-html.cpp (html_printer): New member
2535 function `round_width'.
2537 2004-10-20 Tadziu Hoffmann <hoffmann@usm.uni-muenchen.de>
2539 * src/preproc/tbl/table.cpp (table::do_row): Fix handling of the `d'
2540 column key letter suffix.
2542 2004-10-14 Werner LEMBERG <wl@gnu.org>
2544 * Makefile.in (check): Depend on `site.exp' and `docheck'.
2545 (docheck): Run dejagnu's `runtest' if it exists.
2546 (site.exp): Create dejagnu configuration file.
2548 * Makefile.sub (DISTCLEANFILES): Add files related to dejagnu.
2550 2004-10-13 Werner LEMBERG <wl@gnu.org>
2552 * src/devices/grohtml/html-text.cpp (html_text_get_alignment),
2553 src/devices/grohtml/post-html.cpp (make_val,
2554 html_printer::handle_state_assertion): Fix compiler warnings.
2556 * src/roff/troff/div.cpp: Include `stringclass.h' and `mtsm.h'.
2557 (diversion::diversion): Fix order of initializers.
2559 * src/roff/troff/div.h: Don't include `mtsm.h'.
2561 * src/roff/troff/env.cpp: Include `stringclass.h' and `mtsm.h'.
2562 (environment::environment): Fix order of initializers.
2563 (environment::make_tag, environment::construct_format_state): Fix
2566 * src/roff/troff/input.cpp: Include `stringclass.h' and `mtsm.h'.
2567 (input_iterator::input_iterator, macro::macro): Fix order of
2570 * src/roff/troff/mtsm.cpp: Include only necessary header files.
2571 (state_set::add, state_set::val): Fix compiler warnings.
2573 * src/roff/troff/mtsm.h: Don't include `stringclass.h'.
2574 (bool_value_state, int_value_state, units_value_state,
2575 string_value_state): Remove comma after last element which causes
2576 an error with g++ 3.3.3.
2578 * src/roff/troff/node.cpp: Include `stringclass.h'.
2579 (hline_node::hline_node, vline_node::vline_node,
2580 space_char_hmotion_node, left_italic_corrected_node): Fix compiler
2582 (zero_width_node::zero_width_node): Fix order of initializers.
2584 * src/roff/troff/node.h: Don't include `mtsm.h'.
2585 (hmotion_node): Fix compiler warnings.
2587 * src/roff/troff/number.cpp: Include `stringclass.h' and `mtsm.h'.
2589 2004-10-12 Gaius Mulley <gaius@glam.ac.uk>
2591 * doc/groff.css: New file.
2593 * doc/webpage.ms: Use `groff.css'.
2596 * tmac/an-old.tmac (need_eo_h): New number register.
2597 (TH): Emit `.eo.tl' tag after title.
2598 (SH): Set `need_eo_h'.
2599 (an-trap): Handle `need_eo_h'.
2600 (an-do-tag): s/HTML-TAG-NS/HTML-TAG-NEXT/.
2602 * tmac/s.tmac (need_eo_h, need_eo_tl): New number registers.
2603 (TL): Always start diversion.
2605 (@AI): Always call `par@reset'.
2606 (@AB): Update code for -Thtml.
2607 (cov*tl-au-print): Handle -Thtml.
2608 (par@reset): Handle `need_eo_tl', `need_eo_h'.
2610 (@IT-html): Removed.
2611 (@SH): Set `need_eo_h' for -Thtml.
2612 (par@TL): s/HTML-TAG/HTMl-TAG-NS/.
2614 (@NH): s/HTML-TAG/HTMl-TAG-NS/.
2615 Set `need_eo_h' for -Thtml.
2616 (@EQ, @EN): Don't handle -Thtml specially.
2617 (par@load-init): Don't handle -Thtml specially.
2619 * tmac/www.tmac (www:paraspace): New macro.
2620 (HTML-NS, HTML-TAG-NS): Use new `tag' request.
2621 (HTML</p>, HTML-TAG-NEXT): New macros.
2622 (HnE): Emit tag `.eo.h' instead of break.
2623 (HR): s/HTML-NS/HTML/.
2624 (www-end-nowhere): End diversion only if `www-html' not set.
2626 (ULS, ULE): s|HTML|HTML</p>|.
2627 (LI): Call `www:paraspace'.
2630 2004-10-11 Gaius Mulley <gaius@glam.ac.uk>
2632 * src/roff/troff/request.h (macro): Make `p' public.
2633 New variable `is_a_diversion'.
2634 New member function `is_diversion'.
2637 * src/devices/grohtml/html.h (simple_output): New member function
2640 * src/devices/grohtml/html-table.cpp (tabs::compatible): Fix
2641 computation of `total'.
2642 (tabs::check_init): New function.
2643 (html_table::emit_table_header): Emit style data.
2644 (html_table::insert_column): Improved.
2646 * src/devices/grohtml/html-table.h: Updated.
2648 * src/devices/grohtml/html-text.cpp (html_text::html_text):
2649 Initialize `start_space' with TRUE.
2650 (html_text::end_tag, html_start_tag): Fix `P_TAG' and `PRE_TAG'
2652 (html_text::flush_text): Set `start_space' flag.
2653 (html_text::uses_indent, html_text::remove_para_space,
2654 html_text::get_alignment): New functions.
2655 (html_text::push_para): Updated.
2656 (html_text::do_para): Check for empty argument.
2657 Don't set `space_emitted'.
2658 (html_text::do_space, html_text::emit_space): Updated.
2660 * src/devices/grohtml/html-text.h (tag_definition): New variable
2662 (html_text): New member function `uses_indent', `remove_para_space',
2665 * src/devices/grohtml/output.cpp (simple_output::force_nl): New
2667 (simple_output:nl): Always emit `\n'.
2669 * src/devices/grohtml/post-html.cpp: Include `string.h'.
2670 (BASE_POINT_SIZE): Removed.
2671 (base_point_size, head_info): New global variables.
2672 (text_glob): New member functions `is_ll', `is_tl', `is_eo_tl',
2674 (text_glob::is_nf, text_glob::is_fi): Handle `.fi 0' and `.fi 1'
2676 (page::add_and_encode): Pass additional parameter for tag flag.
2677 (assert_pos): New structure.
2678 (assert_state): New class.
2679 (html_printer): Remove `indentation', `prev_indent'.
2680 Add variables `troff_indent', `device_indent', `temp_indent'.
2681 Add variables `seen_indent', `next_indent', `seen_pageoffset',
2682 `next_pageoffset', `seen_linelenght', `next_linelength',
2683 `seen_center', `next_center', `seen_space', `seen_break', `as'.
2684 Add member functions `do_check_center', `do_space', `do_head',
2685 `get_troff_indent', `restore_troff_indent', `handle_assertion',
2686 `handle_state_assertion', `do_end_para', `set_char_and_width'.
2687 Change argument to `do_fill' to `char *'.
2689 (html_printer::emit_raw): Call `shutdown_table'.
2691 (html_printer::do_center): Simplified.
2692 (html_printer::do_title): Improved.
2693 (html_printer::write_header): Emit one more newline.
2695 (html_printer::do_heading, html_printer::do_indent,
2696 html_printer::do_eol, html_printer::do_tab_ts,
2697 html_printer::do_tab, html_printer::do_tab0,
2698 html_printer::calc_po_in, html_printer::next_horiz_pos,
2699 html_printer::remove_courier_tabs,
2700 html_printer::insert_tab0_foreach_tab, html_printer::begin_page):
2702 (html_printer::do_linelength, html_printer::do_pageoffset,
2703 html_printer::do_indentation, html_printer::do_tempindent,
2704 html_printer::do_tab_te): Simplified.
2705 (html_printer::do_pointsize): Check whether point size is really
2706 associated a `.tl' tag.
2707 (html_printer::do_break): Rewritten.
2708 (html_printer::troff_tag): Improved.
2709 (html_printer::flush_globs): Updated.
2710 (html_printer::lookahead_for_tables): Handle `is_br'.
2712 (html_printer::set_char): Check `sbuf_style.f'.
2713 (html_printer::write_navigation): Use string comparison.
2714 (html_printer::~html_printer): Emit `head_info'.
2715 (html_printer::special): Rewritten.
2716 (get_str, make_val): New functions.
2717 (main): New option `s' to set the base point size.
2719 * src/preproc/html/pre-html.cpp (scanArguments): Handle option `s'.
2721 2004-10-10 Gaius Mulley <gaius@glam.ac.uk>
2723 * src/roff/troff/node.cpp: New extern `debug_state'.
2724 Include `stringclass.h' and `mtsm.h'.
2725 Implement new classes and class members from `node.h'.
2726 (real_output_file): Make `fp' public.
2727 (troff_output_file): New variables `cur_div_level' and `tag_list'.
2728 Update constructors.
2729 (troff_output_file::really_print_line): Check whether we should push
2730 the current troff state and use the state at the start of the
2731 invocation of this diversion.
2732 (troff_output_file::add_to_tag_list): New member function.
2733 (node::add_char): Handle `glyph_comp_np'.
2735 * src/roff/troff/node.h: Include `mtsm.h'.
2736 (node): New variables `state', `push_state', `div_nest_level',
2737 `is_special'. Update constructors, all descendants.
2738 Pass additional argument to `add_char' member function.
2739 New virtual member functions `is_tag', `debug_node',
2740 `debug_node_list'. Update all descendants.
2741 (tag_node): New class for handling tags.
2742 (output_file): Add variable `state'.
2744 2004-10-09 Gaius Mulley <gaius@glam.ac.uk>
2746 * src/roff/troff/mtsm.cpp, src/roff/troff/mtsm.h: New files,
2747 providing a minimal troff state machine to emit meta tags for the
2748 post-grohtml device driver.
2750 * src/roff/troff/Makefile.sub (OBJS, CCSRCS, HDRS): Handle new
2753 2004-10-09 Werner LEMBERG <wl@gnu.org>
2755 * tmac/trace.tmac: Fix handling of `am' and `am1' calls.
2757 2004-10-06 Gaius Mulley <gaius@glam.ac.uk>
2759 * src/roff/troff/column.cpp (vjustify_node::copy): Updated.
2761 * src/roff/troff/div.h: Include `mtsm.h'.
2762 (diversion): New variables `any_chars_added', `needs_push',
2763 `saved_seen_break', `saved_seen_space', `saved_seen_eol',
2764 `saved_suppress_next_eol', `modified_tag'.
2765 New virtual member function `is_diversion'. Update all descendants.
2767 * src/roff/troff/div.cpp (diversion::diversion,
2768 macro_diversion::macro_diversion): Updated.
2769 (do_divert): Handle `seen_break', `seen_space', `seen_eol',
2770 `suppress_next_eol'.
2771 (top_level_diversion::space): Handle `curenv->seen_space'.
2772 (page_offset): Update tag handling.
2773 (space_request, blank_line, flush_output): Don't call `add_html_tag'.
2775 * src/roff/troff/env.h (environment): Make `tabs' public.
2776 Remove `ignore_next_eol', `emitted_node'.
2777 Update `output_line', `output'.
2778 New variables `seen_space', `seen_eol', `suppress_next_eol',
2780 New member functions `construct_state', `make_tag',
2781 `construct_format_state, `construct_new_line_state,
2783 Remove `add_html_tag', `make_html_tag'.
2785 * src/roff/troff/env.cpp: New externs `suppress_push',
2786 `get_diversion_state', `global_diverted_space'.
2787 (pending_output_line): New variable `was_centered'.
2788 Update constructor and all callers.
2789 (pending_output_line::output): Call `curenv->construct_format_state'.
2790 (environment::environment, environment::copy): Updated.
2791 (environment::output): Handle `was_centered'.
2792 (environment::add_char): Handle construct and diversion state.
2793 (environment::add_node): Handle construct state.
2794 (environment::newline): Handle `was_centered'.
2795 (environment::output_line): Updated.
2796 (environment::possibly_break_line): Updated.
2797 Update tag handling.
2798 (environment::add_html_tag): Replaced with...
2799 (environment::make_tag): New function.
2800 (environment::add_html_tag_tabs, environment::make_html_tag): Removed.
2801 (environment::dump_troff_state): New debugging function.
2802 (environment::construct_state, environment::construct_format_state,
2803 environment::construct_new_line_state): New functions.
2804 (environment::do_break): Updated.
2805 Handle `global_diverted_space'.
2806 (environment::handle_tag): Update tag handling.
2807 (point_size, fill, do_break_request): Don't call `add_html_tag'.
2808 (no_fill): Don't call `add_html_tag'.
2809 Set `suppress_next_eol'.
2810 (center, right_justify, line_length, indent, temporary_indent,
2812 Update tag handling.
2814 * src/roff/troff/input.cpp: Don't include `stringclass.h'.
2815 (input_iterator): New variables `is_diversion', `diversion_state'.
2816 Update constructors.
2817 (input_stack): New member functions `get_div_level',
2818 `get_diversion_state', `check_end_diversion'.
2819 New variables `div_level', `diversion_state'. Initialize them.
2820 (suppress_push, global_diverted_space): New global variables.
2821 (input_stack::finish_get, input_stack::finish_peek,
2822 input_stack::remove_boundary, input_stack::end_file,
2823 input_stack::clear, input_stack::pop_macro): Call
2824 `check_end_diversion'.
2825 (input_stack::push): Handle `div_level' and `diversion_state'.
2826 (get_diversion_state): New function.
2827 (diverted_space_node::reread): Handle `global_diverted_space'.
2828 (macro::macro): Update constructors.
2829 (macro::is_diversion): New function.
2830 (macro::operator=): Set `is_a_diversion'.
2831 (string_iterator): New member function `is_diversion'.
2832 (string_iterator::string_iterator): Update constructors.
2833 (string_iterator::fill): Set `div_nest_level'.
2834 (macro_iterator): New member function `is_diversion'.
2835 (do_if_request): Handle `suppress_push'.
2836 (tag, taga): New functions.
2837 (init_input_requests): Add `tag' and `taga' requests.
2839 2004-10-05 Gaius Mulley <gaius@glam.ac.uk>
2841 * src/include/font.h (font): New member function
2842 `get_image_generator'.
2843 New variables `unscaled_charwidths' and `image_generator'.
2845 * src/libs/libgroff/font.cpp (font::get_width): Always return the
2846 character's unscaled width if `font::unscaled_charwidths' is set.
2847 (font::get_image_generator): New function.
2848 (font::load_desc): Check the `unscaled_charwidths' and
2849 `image_generator' keywords.
2851 * src/libs/libgroff/fontfile.cpp: Initialize
2852 `font::unscaled_charwidths' and `font::image_generator'.
2854 * font/devhtml/DESC.proto: s/html/unscaled_charwidths/.
2856 * font/devhtml/Makefile.sub (DESC): Set `image_generator' keyword.
2858 * man/groff_font.man: Document `unscaled_charwidths' and
2861 * src/preproc/html/pre-html.cpp: Include `device.h'.
2862 (image_gen): New global variable.
2863 (imageList::createPage): Use `image_gen'.
2864 (main): Use `image_generator' keyword.
2866 2004-10-04 Gaius Mulley <gaius@glam.ac.uk>
2868 * tmac/html.tmac: Handle \[sqrtex].
2870 2004-10-04 Gaius Mulley <gaius@glam.ac.uk>
2872 * src/include/printer.h (printer): New virtual method `round_width'.
2874 * src/devices/grodvi/dvi.cpp, src/devices/grolbp/lbp.cpp,
2875 src/devices/grolj4/lj4.cpp, src/devices/grops/ps.cpp,
2876 src/devices/grotty/tty.cpp (printer::round_width): New function
2879 * src/devices/grohtml/post-html.cpp (printer::round_width): New
2881 (html_printer::set_numbered_char): Use it.
2883 2004-10-03 Gaius Mulley <gaius@glam.ac.uk>
2885 * aclocal.m4 (GROFF_GHOSTSCRIPT_PATH): New macro.
2887 * configure.ac: Call GROFF_GHOSTSCRIPT_PATH.
2889 * configure: Regenerated.
2891 * Makefile.in (GHOSTSCRIPT): New variable.
2892 (MDEFINES): Add GHOSTSCRIPT.
2894 2004-10-03 Werner LEMBERG <wl@gnu.org>
2896 * INSTALL.gen: Updated (taken from texinfo CVS).
2898 2004-09-28 Werner LEMBERG <wl@gnu.org>
2902 2004-09-28 Heinz-Jürgen Oertel <hj.oertel@surfeu.de>
2904 * tmac/groff_www.man: Revised and updated.
2906 2004-09-26 Werner LEMBERG <wl@gnu.org>
2908 Fix \$@ and \$* to handle any number of arguments.
2910 * src/roff/troff/input.h (BEGIN_QUOTE, END_QUOTE): New special
2913 * src/roff/troff/input.cpp (input_iterator::internal_level):
2915 (input_stack): New member functions `increase_level' and
2917 (input_stack::get_level): Don't use `internal_level'.
2918 (get_copy, token::next): Handle BEGIN_QUOTE and END_QUOTE.
2919 (end_quote_iterator): Completely removed.
2920 (interpolate_arg): Build string for \$@ and \$* which is then
2921 pushed onto the input stack.
2923 2004-09-23 Keith Marshall <keith.d.marshall@ntlworld.com>
2925 * tmac/groff_ms.man, doc/groff.texinfo (ms Document Control
2926 Registers): Document changes from 2004-09-19.
2928 2004-09-23 Werner LEMBERG <wl@gnu.org>
2930 * tmac/an-old.tmac (ne): Using default scaling operator.
2932 2004-09-19 Keith Marshall <keith.d.marshall@ntlworld.com>
2934 This change implements the following features:
2937 New numeric register: Defines number of lines following LP, PP,
2938 QP, IP or XP, which must be kept together, before any automatic
2939 page break. If insufficient space remains on the current page, a
2940 page break is forced before the new paragraph begins.
2943 New numeric register: Sets number of lines of following paragraph
2944 which must be kept with a heading, defined by NH or SH, before any
2945 automatic page break. If insufficient space remains on the
2946 current page, a page break is forced before the heading.
2949 (Thanks to Joerg van den Hoff, for this idea).
2951 New numeric register: Sets the first level of heading (set with
2952 NH), which will keep the same point size as body text; e.g. if
2953 GROWPS is set to 3, .NH 3, .NH 4, ... will produce headings at the
2954 point size specified by \n[PS], but .NH 2 and .NH 1 will have
2955 progressively larger point sizes, determined by \n[PSINCR] (see
2959 New numeric register: Sets the point size increment for each level
2960 of heading, (set with NH), below the threshold level set by
2961 GROWPS; e.g. if \n[PS] = 10, \n[GROWPS] = 3 and \n[PSINCR] = 2.0p,
2962 then .NH 1 will produce 14pt headings, .NH 2 will produce 12pt,
2963 and all other levels will remain at 10pt, (because \n[PS] = 10).
2966 Existing macro now accepts a numeric argument, to make heading
2967 size match that of NH with same argument value, when the
2968 GROWPS/PSINCR feature is enabled.
2971 New string, set by NH macro, replaces the existing (undocumented)
2972 use of SN, to represent the assigned section number.
2975 New string, set by NH macro, represents the assigned section
2976 number, but omits the terminal period (periods at intermediate
2977 levels are retained).
2980 String set by NH macro, originally undocumented, now implemented
2981 as an alias for SN-DOT (which reproduces original behaviour).
2983 * tmac/s.tmac (PORPHANS): New register.
2984 (par*start): Use it.
2985 (HORPHANS, GROWPS, PSINCR): New registers.
2986 (SH-NO-TAG, @SH): Use them.
2989 2004-09-19 Keith Marshall <keith.d.marshall@ntlworld.com>
2991 * NEWS, doc/groff.texinfo (ms Display and Keeps), tmac/groff_ms.man:
2992 Document the deletion of `Ds' and `De' macros.
2994 2004-09-10 Werner LEMBERG <wl@gnu.org>
2996 In tbl, handle \a as an interpreted leader character if in
2999 * src/preproc/tbl/table.h (PREFIX, PREFIX_CHAR, LEADER,
3000 LEADER_CHAR): New macros.
3001 (compatible_flag): New declaration.
3003 * src/preproc/tbl/main.cpp (table_input): Add LEADER_1, LEADER_2,
3004 LEADER_3, and LEADER_4 to `state'.
3005 (table_input::get): Handle `\a'.
3007 * src/preproc/tbl/table.cpp (PREFIX): Removed.
3008 (LEADER_REG): New macro.
3009 (table::init_output): Define LEADER_REG string register if in
3012 * src/preproc/tbl/tbl.man: Document it.
3014 2004-08-18 Werner LEMBERG <wl@gnu.org>
3016 * tmac/doc.tmac (An): Fix error message.
3018 2004-08-06 Werner LEMBERG <wl@gnu.org>
3020 * src/preproc/tbl/main.cpp (main): Call `fatal' not `error' if a
3021 file can't be opened. UNIX tbl has the same behaviour.
3023 2004-08-05 Y T <doarhop@hotmail.com>
3025 * src/preproc/grn/hdb.cpp (compatibility_flag): Add declaration.
3026 (DBRead): If in compatibility mode, take into account the text
3027 when computing figure boundaries.
3029 2004-08-05 Werner LEMBERG <wl@gnu.org>
3031 * src/preproc/soelim/soelim.man: Improved. Based on suggestions
3032 from Tadziu Hoffmann.
3034 2004-08-03 Werner LEMBERG <wl@gnu.org>
3036 * doc/meref.me: Document `_M' register.
3038 2004-08-03 Martin Husemann <martin@duskware.de>
3040 Make hpftodit work correctly on big-endian systems.
3042 * src/utils/hpftodit/hpftodit.cpp (File): New method
3043 `get_uint32(char *)'.
3044 (entry): New member `orig_value'.
3045 (read_tags): Use new method.
3046 (output_font_name, read_and_output_pcltypeface, dump_ascii):
3049 2004-08-01 Werner LEMBERG <wl@gnu.org>
3051 * tmac/s.tmac: Undo change 2003-06-29. The proper macro definitions
3052 are already in X11's `macros.t' file.
3054 2004-08-01 Jeff Conrad <jeff_conrad@msn.com>
3056 * src/utils/hpftodit/hfptodit.cpp (output_font_name, dump_ascii):
3058 (read_and_output_pcltypeface): Handle strings with length <= 4.
3060 2004-07-27 Egil Kvaleberg <egil@kvaleberg.no>
3062 * tmac/s.tmac (pg@top): Don't save `PO' register.
3063 (pg*end-col, pg*end-page): Directly use `PO' register.
3065 2004-07-27 Werner LEMBERG <wl@gnu.org>
3067 * man/groff_tmac.man: Mention `trace' and `pic' macro packages.
3069 * src/preproc/refer/refer.cpp (output_references): Check for
3071 * src/preproc/refer/refer.man: Improve documentation of
3072 `bibliography' command.
3074 2004-07-26 Werner LEMBERG <wl@gnu.org>
3076 Add requests `fcolor' and `gcolor'.
3078 * src/roff/troff/env.cpp (fill_color_change, glyph_color_change):
3080 (init_env_requests): Add `fcolor' and `gcolor'.
3082 * src/roff/troff/input.h: Export do_glyph_color and do_fill_color.
3084 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo
3085 (Colors): Document new requests.
3087 2004-07-24 Werner LEMBERG <wl@gnu.org>
3089 Add support for fractional point sizes in ms macros. A value for
3090 PS, VS, FPS, and FVS greater than or equal to 1000 is always divided
3091 by 1000. For example, `.nr PS 10250' sets the font size to 10.25p.
3093 * tmac/s.tmac (@AU, @AI, par@load-init, par@init, par@reset, NL,
3094 PX): Handle fractional point sizes for PS, VS, FPS, and FVS.
3096 * tmac/groff_ms.man, docs/groff.texinfo (ms Document Control
3097 Registers), NEWS: Document it.
3099 2004-07-19 Werner LEMBERG <wl@gnu.org>
3101 * src/preproc/pic/lex.cpp (for_input): Add member `from'.
3103 (do_for, for_input::get, for_input::peek): Handle negative `by'.
3104 * src/preproc/pic/pic.man, doc/pic.ms, NEWS: Document it.
3106 2004-07-08 Thomas Klausner <wiz@netbsd.org>
3108 * tmac/doc-syms (doc-str-St--p1003.1-2004): New string.
3109 * tmac/groff_mdoc.man: Updated.
3111 2004-07-05 Werner LEMBERG <wl@gnu.org>
3113 * doc/groff.texinfo (Manipulating Hyphenation): Further improve
3114 documentation of `hcode'.
3116 2004-07-04 Sang Dae Yu <sdyu@bh.knu.ac.kr>
3118 Improve appearance of arrows in pic.
3120 * src/preproc/pic/object.cpp (draw_arrow): Make outline of filled
3122 Use two line segments for drawing non-filled arrow head.
3123 (line_object::print, spline_object::print): Shorten line length to
3124 avoid arrow sticking.
3125 (arc_object::print): Take arrow direction into account.
3127 2004-07-03 Heinz-Jürgen Oertel <hj.oertel@surfeu.de>
3129 * tmac/groff_www.man: Update documentation of .MPIMG.
3131 2004-07-03 Werner LEMBERG <wl@gnu.org>
3133 * tmac/an-old.tmac (RI): Always start with font `R'.
3134 (RI, IR): Properly end with font `R'.
3136 2004-07-02 Paul Eggert <eggert@cs.ucla.edu>
3138 * man/ditroff.man, man/groff_font.man, man/groff_out.man,
3139 src/devices/grohtml/grohtml.man, src/preproc/grn/grn.man,
3140 src/preproc/pic/pic.man, tmac/groff_man.man, tmac/groff_ms.man:
3141 Don't pass more than six arguments to .R, .I, .B, etc., for
3142 compatibility with traditional troff macros.
3144 2004-07-02 Werner LEMBERG <wl@gnu.org>
3146 * src/roff/troff/input.h: s/COMPATIBLE_SAVE/PUSH_GROFF_MODE/.
3147 s/COMPATIBLE_RESTORE/POP_GROFFCOMP_MODE/.
3149 (PUSH_COMP_MODE): New internal character constant.
3152 * src/roff/troff/input.cpp (get_copy): Handle PUSH_GROFF_MODE,
3153 PUSH_COMP_MODE, and POP_GROFFCOMP_MODE.
3154 (token::next, macro::append): Handle PUSH_COMP_MODE.
3155 (decode_args): Add PUSH_GROFF_MODE or PUSH_COMP_MODE before and
3156 POP_GROFFCOMP after each of the decoded arguments to make them
3157 independent from the compatibility mode status.
3158 (comp_mode): Add `COMP_ENABLE'.
3159 (do_define_string, do_define_macro): Handle COMP_ENABLE.
3160 (define_string, append_string, define_macro, define_indirect_macro,
3161 append_macro, append_indirect_macro): Handle `compatible_flag'.
3162 (chop_macro, substring_request, asciify): Handle PUSH_COMP_MODE.
3164 * man/groff_diff.man, doc/groff.texinfo: Updated.
3166 2004-07-01 Werner LEMBERG <wl@gnu.org>
3168 * doc/groff.texinfo: Improve documentation of `hcode'.
3169 Use @documentencoding and convert document to latin-1; to do that
3170 make latin characters active and assign proper macros (within a
3171 @tex...@end tex environment).
3172 * doc/Makefile.in (.texinfo.html, groff): Use --enable-encoding.
3173 * doc/Makefile.sub (groff): Ditto.
3175 2004-06-29 Werner LEMBERG <wl@gnu.org>
3177 Implement two new conditional operators `F <name>' and `S <name>'
3178 which check whether <name> is a valid font or style, respectively.
3180 * src/libs/libgroff/font.cpp (text_file): Add `silent' member.
3181 (text_file::text_file): Updated.
3182 (text_file::error): Don't emit message if `silent' is set.
3183 (font::load_font): Add optional third argument (which is directly
3185 (font::load): Add optional second argument to check the header of
3186 a font only, without emitting warning or error messages.
3187 * src/include/font.h (font): Updated.
3189 * src/roff/troff/input.cpp (do_if_request): Implement `S' and `F'
3191 * src/roff/troff/node.cpp (mount_font_no_translate): Add optional
3192 fourth argument to check a font without mounting.
3193 (check_font, check_style): New functions.
3194 * src/roff/troff/node.h: Updated.
3196 * man/groff_diff.man, man/groff.man, NEWS, doc/groff.texinfo:
3199 2004-06-27 Werner LEMBERG <wl@gnu.org>
3201 Implement new string-valued register `.sty' to return the current
3204 * env.cpp (environment::get_style_name_string): New function.
3205 (init_env_requests): Add `.sty' register.
3206 * env.h (environment): Updated.
3207 * node.cpp (font_info): Make `get_style_name' a friend.
3208 (get_style_name): New function.
3211 * man/groff_diff.man, man/groff.man, NEWS, doc/groff.texinfo:
3214 2004-06-15 Werner LEMBERG <wl@gnu.org>
3216 * src/preproc/tbl/main.cpp (process_data) <GOT_RIGHT_BRACE>: Handle
3219 2004-06-10 Colin Percival <colin.percival@wadham.ox.ac.uk>
3221 * doc/meintro.me, doc/meref.me: Don't use \*[td], \n[dy], \*[mo],
3222 and \n[mo] to avoid dependency on current date.
3224 2004-06-08 Werner LEMBERG <wl@gnu.org>
3226 * Makefile.sub (install_data): New target.
3228 2004-06-04 Werner LEMBERG <wl@gnu.org>
3230 * src/libs/libxutil/Makefile.sub (EXTRA_CFLAGS): Define.
3232 2004-06-03 Werner LEMBERG <wl@gnu.org>
3234 * src/devices/xditview/Makefile.sub (EXTRA_LDFLAGS): Fix typo and
3236 (install_data): Add $(srcdir).
3238 * src/utils/xtotroff/Makefile.sub (EXTRA_LDFLAGS): Fix order of
3241 2004-06-02 Werner LEMBERG <wl@gnu.org>
3243 * aclocal.m4 (GROFF_X11): s/have_no_x/groff_no_x/.
3244 Add X11 stuff to CFLAGS, LDFLAGS, and LIBS temporarily.
3245 Add test for Xmu library.
3246 (GROFF_APPRESDIR_OPTION, GROFF_APPRESDIR_CHECK,
3247 GROFF_APPRESDIR_DEFAULT): New macros.
3249 * configure.ac: Call GROFF_APPRESDIR_OPTION, GROFF_APPRESDIR_CHECK,
3250 and GROFF_APPRESDIR_DEFAULT.
3252 * configure: Regenerated.
3254 * Makefile.in (appresdir): New variable.
3255 (MDEFINES): Add appresdir.
3257 * src/devices/xditview/Makefile.sub (EXTRA_LDFLAGS): Add -Xmu and
3259 (install_data, uninstall_sub): New targets to handle GXditview.ad.
3261 * src/utils/indxbib/Makefiles.ub (install_data): Depend on
3262 `$(srcdir)/eign', not `eign'.
3264 * MANIFEST, INSTALL, NEWS, PROBLEMS: Updated.
3266 * man/groff_out.man, man/roff.man, src/devices/grops/grops.man,
3267 src/devices/xditview/gxditview.man, src/roff/groff/groff.man:
3268 Protect (g)xditview with `\%' to avoid hyphenation.
3269 Other minor formatting.
3271 2004-06-01 Werner LEMBERG <wl@gnu.org>
3273 Integrate gxditview into groff's standard directory hierarchy.
3275 * src/xditview/*: Moved to ...
3276 * src/devices/xditview/*: Here.
3277 Moved DviChar.h and XFontName.h to src/include.
3278 Moved DviChar.c and XFontName.c to new directory src/libs/libxutil.
3279 Split off `xmalloc' into new file src/libs/libxutil/xmalloc.c.
3280 Moved xtotroff.c to new directory src/utils/xtotroff.
3281 Provide proper Makefile.sub files (reusing the stuff from
3283 DESC renamed to DESC.in.
3284 Removed GXDitview-ad.h, INSTALL, Imakefile.in.
3285 Converted everything from K&R to ANSI C.
3286 Decorated with const where appropriate.
3287 Cast string constants with `String' and `char *' where appropriate.
3288 Made it compile with C++ (used as a C compiler).
3289 Removed other minor compiler warnings.
3291 * src/devices/xditview/device.c: Include config.h, string.h, and
3293 Don't declare `exit', `strtok', `strchr', and `getenv'.
3296 * src/devices/xditview/font.c: Don't declare `XParseFontName' and
3299 * src/devices/xditview/xditview.c: Include config.h.
3300 Include stdio.h earlier.
3301 Protect declaration of `popen' and `pclose' with
3302 NEED_DECLARATION_POPEN and NEED_DECLARATION_PCLOSE.
3303 Replace `caddr_t' with `XtPointer'.
3304 (MakePromptFunc): New typedef.
3305 (DoPrint): Use RETSIGTYPE.
3306 (promptfunction): Change type to MakePromptFunc.
3307 (MakePrompt): Use MakePromptFunc for third argument.
3310 * src/devices/xditview/ad2c: Add casts to `String'.
3312 * src/include/XFontName.h (XFontNameString): Don't use array
3314 Add prototypes for `XParseFontName', `XFormatFontName',
3315 `XCompareFontName', and `XCopyFontName'.
3317 * src/include/Makefile.sub (HDRS): Add `DviChar.h' and
3320 * src/utils/xtotroff/xtotroff.c: Include getopt.h.
3321 Don't declare `XParseFontName' and `XFormatFontName'.
3323 (main): Remove `optind' and `optarg'.
3325 * Makefile.in (XDEVDIRS, XPROGDIRS, XLIBDIRS): New variables
3326 (to select programs which need X).
3327 Make XDEVIDIRS depend on `FORCE'.
3328 (X_CFLAGS, X_LIBS, X_EXTRA_LIBS, X_PRE_LIBS): New variables (for
3330 (MDEFINES): Updated.
3331 (LIBDIRS): Use XLIBDIRS.
3332 (CPROGDIRS): Use XPROGDIRS.
3333 (DEVDIRS): Remove font directories for gxditview.
3334 (ALLDIRS, DISTDIRS): Add XDEVDIRS.
3335 (EXTRADIRS): Remove src/xditview.
3337 * Makefile.sub (DISCLEANFILES): Updated.
3339 * Makefile.comm (LIBXUTIL): New variable.
3340 (.cpp.o, .cpp.obj): Handle EXTRA_CCFLAGS.
3341 (.c.o, .c.obj, .y.o): Handle EXTRA_CFLAGS.
3343 * Makefile.cpg, Makefile.ccpg ($PROG): Handle EXTRA_LDFLAGS.
3345 * aclocal.m4 (GROFF_X11): New function.
3347 * configure.ac: Call GROFF_X11.
3348 Don't create src/xditview/Imakefile.
3349 Don't emit notice how to build gxditview.
3351 * configure: Regenerated.
3353 * test-groff.in (GROFF_BIN_PATH, XENVIRONMENT): Updated.
3355 2004-05-28 Akihiro Sagawa <sagawa@sohgoh.net>
3357 * Makefile.in (CPPFLAGS): Define.
3358 (MDEFINES): Add CPPFLAGS.
3360 2004-05-27 Werner LEMBERG <wl@gnu.org>
3362 * arch/misc/Makefile.sub (shdeps.sed): Use $(srcdir).
3364 2004-05-26 Niklas Edmundsson <nikke@acc.umu.se>
3366 Fix problems with `friend name injections'.
3368 * src/preproc/eqn/box.h (make_mark_box, make_lineup_box,
3369 make_script_box), src/roff/troff/div.h (end_diversions),
3370 src/roff/troff/env.h (title), input.cpp (process_input_stack): Undo
3373 2004-05-25 Bernd Warken <bwarken@mayn.de>
3375 * src/preproc/pic/pic.man, doc/pic.ms: Add example for `command'.
3377 2004-05-25 Werner LEMBERG <wl@gnu.org>
3379 * src/libs/libgroff/cset.cpp, src/libs/libgroff/lf.cpp,
3380 src/libs/libgroff/color.cpp: Include lib.h.
3382 2004-05-25 Paul Eggert <eggert@cs.ucla.edu>
3384 * PROBLEMS: Update documentation for problems with Sun C++ 5.0
3385 through Forte 6u1, and for how to get GNU make on Solaris.
3387 2004-05-24 Werner LEMBERG <wl@gnu.org>
3389 * PROBLEMS: Document problems with gcc 3.4.0 on Sun. Reported
3392 2004-05-15 Keith Marshall <keith.d.marshall@ntlworld.com>
3394 * arch/misc/Makefile.sub (shdeps.sed): Don't use `$<' in explicit
3397 2004-05-14 Werner LEMBERG <wl@gnu.org>
3399 * REVISION: Set to 2.
3401 * aclocal.m4 (GROFF_STDINT_H): Removed.
3402 (GROFF_INTTYPES_H): Define HAVE_CC_INTTYPES_H.
3404 * configure.ac: Updated.
3405 * configure, src/include/config.hin: Regenerated.
3407 * src/libs/libgroff/tmpname.cpp: Don't include stdint.h but
3408 inttypes.h conditionally.
3410 2004-05-13 Werner LEMBERG <wl@gnu.org>
3412 Version 1.19.1 released
3413 =======================
3415 2004-05-10 Stephen Gildea <http://www.gildea.com/stephen>
3417 * src/preproc/refer/label.y (same_author_last_name,
3418 same_author_name): Handle empty sort keys.
3420 2004-05-10 Werner LEMBERG <wl@gnu.org>
3422 * NEWS, README, TODO, PROJECTS, PROBLEMS, MANIFEST, doc/webpage.ms,
3425 * tmac/doc-syms (doc-str-Lb-libposix, doc-str-Lb-libpthread,
3426 doc-str-Lb-librt): Reset font.
3427 (Lb): Rename `doc-str-Lb' to `doc-str-Lb1'.
3428 Provide `doc-str-Lb' to reset font.
3429 * tmac/groff_mdoc.man: Updated.
3431 2004-05-08 Jan Schaumann <jschauma@netmeister.org>
3433 * src/preproc/html/pre-html.cpp (make_message): Make it work for
3434 snprintf versions which don't conform to ANSI C 99 (this is,
3435 counting the string's trailing null byte in the return value).
3437 2004-05-07 Keith Marshall <keith.d.marshall@ntlworld.com>
3439 * src/roff/troff/node.cpp (suppress_node::tprint): Don't expect
3440 that all implementations of sprintf handle null pointers correctly.
3442 2004-05-04 Werner LEMBERG <wl@gnu.org>
3444 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
3445 Document `.U' register.
3447 * src/roff/troff/env.cpp (environment::mark_last_line)
3448 [WIDOW_CONTROL]: Fix scope of `p' for new C++ compilers.
3450 2004-05-04 Larry Kollar <kollar@alltel.net>
3452 New read-only register `.U'; it returns 1 in safer mode and 0
3455 * src/roff/troff/input.cpp (init_input_requests): Implement `.U'
3458 2004-05-03 Werner LEMBERG <wl@gnu.org>
3460 * install-sh, mkinstalldirs: New versions; taken from texinfo CVS.
3462 2004-04-17 Werner LEMBERG <wl@gnu.org>
3464 * src/include/font.h (font): Use `int' for ch_index.
3465 * src/libs/libgroff/font.cpp (font::alloc_ch_index,
3466 font::compact): Updated.
3468 * src/roff/groff/pipeline.c (run_pipeline) [_WIN32]: Fix compiler
3471 * src/roff/troff/div.cpp (begin_page), src/roff/troff/env.cpp
3472 (hyphen_word): Fix compiler warnings.
3473 * src/roff/troff/input.cpp (get_char_for_escape_name): Return
3476 (get_delim_number, get_line_arg): Change second argument type to
3478 (macro_header::copy, token::next, do_define_string,
3479 do_define_character, substring_request, asciify_macro,
3480 unformat_macro, read_size, non_interpreted_node::interpret,
3481 while_request, main: Fix compiler warnings.
3482 (read_color_draw_node): Initialize `col'.
3484 * src/preproc/tbl/table.cpp (horizontal_span, table_entry): Make
3485 `start_col' and `end_col' of type `int'.
3486 (vertical_rule): Make `col' of type `int'.
3488 * src/preproc/grn/hdb.cpp (DBRead): Protect call to getc with check
3491 * src/preproc/refer/label.y (uppercase_array, lowercase_array):
3493 (format_serial): Use them to remove dependency on ASCII.
3495 * src/devices/grops/ps.cpp (ps_printer::define_encoding): Fix
3497 * src/devices/grops/psrm.cpp (resource_manager::supply_resource):
3500 * src/devices/grotty/tty.cpp (tty_font::load_tty_font): Fix
3502 (glyph): Change type of `hpos' to `int'.
3504 * src/devices/lbp/lbp.cpp (strsep): Removed. Unused.
3505 * src/devices/lbp/lbp.h (splinerel): Fix compiler warnings.
3507 * src/utils/tfmtodit.cpp (gf::load): Fix compiler warnings.
3509 * src/utils/pfbtops/pfbtops.c (get_text): Fix compiler warning.
3511 2004-04-16 Werner LEMBERG <wl@gnu.org>
3513 * src/devices/grolbp/lbp.h, src/preproc/grn/gprint.h,
3514 src/preproc/grn/hgraph.cpp, src/preproc/grn/hpoint.cpp,
3515 src/preproc/html/pushback.cpp, src/preproc/html/pushback.h: Use
3516 `double' instead of `float' everywhere.
3517 * src/preproc/grn/main.cpp: Use `double' instead of `float'
3519 (main): Add return value.
3520 * src/preproc/grn/hdb.cpp: Use `double' instead of `float'
3522 Update all user functions.
3524 * src/include/search.h, src/include/ptable.h, src/include/printer.h,
3525 src/preproc/eqn/box.h, src/preproc/pic/object.h,
3526 src/preproc/refer/refer.h, src/preproc/tbl/table.h,
3527 src/preproc/tbl/table.cpp, src/roff/troff/env.h,
3528 src/roff/troff/div.h, src/roff/troff/token.h, src/roff/troff/node.h,
3529 src/roff/troff/input.cpp, src/roff/troff/request.h,
3530 src/roff/troff/node.cpp: Don't mix `struct' and `class' in forward
3533 * src/utils/indxbib/signal.c: Include stdlib.h.
3535 2004-04-14 Keith Marshall <keith.d.marshall@ntlworld.com>
3537 * tmac/s.tmac (@init, RP): Allow initialization of the PO register
3538 before the first page.
3540 2004-04-14 Thomas Klausner <wiz@netbsd.org>
3542 * tmac/doc-common (doc-volume-as-*): Use lowercase names.
3543 (doc-operating-system-*): Updated.
3544 * tmac/doc-syms (doc-str-St-*): Various small fixes.
3545 (doc-str-Lb-*): Add more library names.
3547 2004-04-10 Art Haas <ahaas@airmail.net>
3549 * src/utils/hpftodit/hpuni.cpp (hp_msl_to_unicode_list): Don't
3552 2004-04-09 Art Haas <ahaas@airmail.net>
3554 * src/utils/tfmtodit.cpp (lig_chars): Don't use anonymous type.
3556 2004-04-09 Keith Marshall <keith.d.marshall@ntlworld.com>
3558 * arch/misc/shdeps.sh: Generate better comment for sed script.
3560 2004-04-08 Art Haas <ahaas@airmail.net>
3562 * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list),
3563 src/libs/libgroff/uniglyph.cpp (unicode_to_glyph_list),
3564 src/libs/libgroff/uniuni.cpp (unicode_decompose_list),
3565 src/preproc/eqn/box.cpp (param_table), src/preproc/grn/hgraph.cpp
3566 (polyfill), src/preproc/grn/main.cpp (polyfill),
3567 src/preproc/refer/command.cpp (command_table),
3568 src/utils/tfmtodit.cpp (lig_table): Don't use anonymous types (which
3569 gcc 3.5 doesn't like).
3571 2004-04-08 Werner LEMBERG <wl@gnu.org>
3573 Removing many compiler warnings. groff should now compile with
3574 a C++ compiler used for C files also. [Simple variable renamings
3575 to avoid shadowing aren't logged in detail.]
3577 * src/devices/grodvi/dvi.cpp: Some local variable renamings.
3578 (draw_dvi_printer::draw) ['c']: Enclose in block.
3580 * src/devices/grohtml/post-html.cpp: Some local variable renamings.
3581 (page::add_line): Fix typos.
3582 * src/devices/grohtml/html-text.cpp: Some local variable renamings.
3584 * src/devices/grolbp/lbp.cpp: Don't define _GNU_SOURCE.
3585 Some local variable renamings.
3586 * src/devices/grolbp/lbp.h: Some local variable renamings.
3588 * src/devices/grolj4/lj4.cpp, src/devices/grotty/tty.cpp: Some local
3591 * src/libs/libbib/index.cpp (index_search_item_iterator::get_tag):
3592 Remove redundant local variable declaration.
3593 * src/libs/libbib/map.c (mapread, unmap): Don't use K&R style.
3594 Don't use `caddr_t' but `void *'.
3595 Enclose functions with `extern "C"' for C++.
3597 * src/libs/libdriver/input.cpp (remember_filename,
3598 remember_source_filename): Use cast for string constant.
3600 * src/libs/libgroff/font.cpp, src/libs/libgroff/fontfile.cpp,
3601 src/libs/libgroff/nametoindex.cpp, src/libs/libgroff/paper.cpp,
3602 src/libs/libgroff/geometry.cpp: Some local variable renamings.
3603 * src/libs/libgroff/iftoa.c, src/libs/libgroff/itoa.c: Don't use K&R
3605 Enclose functions with `extern "C"' for C++.
3606 * src/libs/libgroff/quotearg.c (TRUE,FALSE): Define as macros.
3607 (needs_quoting): Return `int'.
3608 (quote_arg): Add proper casts to malloc and realloc.
3609 * src/libs/libgroff/spawnvp.c: Compile code only for MS-DOS and
3610 various MS Windows environments.
3611 (spawnvp_wrapper): Add proper cast to malloc.
3613 * src/preproc/eqn/box.h: Remove redundant declarations of
3614 `make_script_box', `make_mark_box' and `make_lineup_box'.
3615 * src/preproc/eqn/eqn.y: Remove redundant declaration of `strsave'.
3616 * src/preproc/eqn/script.cpp, src/preproc/eqn/pile.cpp: Some local
3619 * src/preproc/grn/hpoint.cpp: Some local variable renamings.
3620 * src/preproc/grn/hgraph.cpp: Some local variable renamings.
3621 (dx, dy): Renamed functions to...
3622 (deltax, deltay): This.
3623 * src/preproc/grn/main.cpp: Some local variable renamings.
3624 (deffont): Add `const'.
3625 (initpic, conv): Use cast for string constant.
3627 * src/preproc/html/pre-html.cpp: Some local variable renamings.
3628 (makeFileName, alterDeviceTo, addZ): Use cast for string constant.
3629 (char_buffer::run_output_filter): Second argument is unused.
3630 * src/preproc/html/pushback.cpp: Some local variable renamings.
3632 * src/preproc/pic/pic.y: Remove redundant declaration of `do_copy'.
3633 * src/preproc/pic/object.cpp: Some local variable renamings.
3635 * src/preproc/refer/label.y (lookup_label): Remove redundant
3636 declaration of local variable.
3638 * src/preproc/soelim.cpp: Remove redundant declaration of
3639 `interpret_lf_args'.
3641 * src/preproc/tbl/main.cpp: Some local variable renamings.
3643 * src/roff/groff/groff.cpp (main): Use cast for string constant.
3644 * src/roff/groff/pipeline.c: Enclose declarations of `error',
3645 `c_fatal', and `i_to_a' with `extern "C"' for C++.
3646 Don't use C++-style comments.
3648 * src/roff/troff/env.h: Remove redundant declaration of `title'.
3649 * src/roff/troff/node.h, src/roff/troff/env.cpp,
3650 src/roff/troff/div.cpp, src/roff/troff/node.cpp: Some local variable
3652 * src/roff/troff/div.h: Remove redundant declaration of
3654 * src/roff/troff/troff.h: Remove redundant declaration of
3656 * src/roff/troff/input.cpp: Remove redundant declaration of
3657 `handle_first_page_transition' and `process_input_stack'.
3659 * src/utils/hpftodit.cpp: Some local variable renamings.
3661 * src/utils/indxbib/signal.c: Enclose functions with `extern "C"'
3663 Don't define RETSIGTYPE.
3664 * src/utils/indxbib/indxbib.cpp: Some local variable renamings.
3666 * src/utils/pfbtops/pfbtops.cpp: Don't use K&R style.
3667 (error): Use `const' in argument.
3668 (main): Remove redundant declaration of `optind'.
3669 Move declaration of `Version_string' to top-level.
3671 * PROBLEMS: Document difficulties compiling signal.c if a C++
3672 compiler is used for C.
3674 2004-04-07 Werner LEMBERG <wl@gnu.org>
3676 * Makefile.sub (DISTCLEANFILES): Add `test-groff'.
3678 2004-04-06 Keith Marshall <keith.d.marshall@ntlworld.com>
3680 Make scripts like nroff.sh and neqn.sh portable across various
3681 (Unix-like) shell implementations from Cygwin, MSYS, etc., which use
3682 non-POSIX path separators. The idea is to extend those scripts to
3683 decide at run-time (of the script) which path separator to use.
3685 * arch/misc/Makefile.sub: New file.
3686 * arch/misc/shdeps.sh: New file, generating OS dependency fixups.
3687 This script handles @GROFF_BIN_PATH_SETUP@, replacing it with
3688 a proper definition of the variable `GROFF_RUNTIME'.
3690 * Makefile.in (SH_DEPS_SED_SCRIPT): New variable.
3691 (MDEFINES): Add SH_DEPS_SED_SCRIPT.
3692 (PROGDEPDIRS): New variable.
3694 (PROGDIRS): Add PROGDEPDIRS.
3696 * src/preproc/eqn/Makefile.sub (neqn): Call SH_DEPS_SED_SCRIPT.
3697 Don't substitute @SEP@ and @BINDIR@.
3698 * src/preproc/eqn/neqn.sh: Use @GROFF_BIN_PATH_SETUP@.
3699 (PATH): Use GROFF_RUNTIME.
3701 * src/roff/nroff/Makefile.sub (nroff): Call SH_DEPS_SED_SCRIPT.
3702 Don't substitute @SEP@ and @BINDIR@.
3703 * src/roff/nroff/nroff.sh: Use @GROFF_BIN_PATH_SETUP@.
3704 (PATH): Use GROFF_RUNTIME.
3706 2004-04-05 Keith Marshall <keith.d.marshall@ntlworld.com>
3708 * src/roff/nroff/nroff.sh: Implement work-around for sh.exe from
3709 Cygwin which doesn't handle stderr correctly.
3711 2004-03-08 Werner LEMBERG <wl@gnu.org>
3713 * Makefile.comm (install_dev, uninstall_dev): Protect `for' loops
3714 against empty argument. Problem reported by <cgd@broadcom.com>.
3716 2004-03-05 Keith Marshall <keith.d.marshall@ntlworld.com>
3718 * Makefile.in (SEP): Replaced with...
3719 (RT_SEP, SH_SEP): Separators for the target platform's native path
3720 separator and the build environment, respectively.
3721 (fontpath, tmacpath): Use RT_SEP.
3722 (MDEFINES): Updated.
3724 * contrib/mom/Makefile.sub (GROFF_BIN_PATH): Use SH_SEP.
3725 * doc/Makefile.sub (GROFF_BIN_PATH): Use SH_SEP.
3726 * src/preproc/eqn/Makefile.sub (neqn): Use SH_SEP.
3727 * src/roff/nroff/Makefile.sub (nroff): Use SH_SEP.
3729 2004-03-05 Werner LEMBERG <wl@gnu.org>
3731 * fonts/devlj4/Makefile.sub (LJ4RES): Set to 1200. This helps to
3732 reduce alignment problems with newer printers which use built-in
3733 TrueType fonts (instead of the older Intellifonts). The ideal
3734 solution is to provide a second set of groff metric files, but this
3735 is extremely time-consuming to produce, given that HP's metric
3736 files are very rudimentary.
3738 2004-03-01 Werner LEMBERG <wl@gnu.org>
3740 * src/devices/grolj4/lj4.cpp (main): Fix argument of getopt_long.
3741 s/operand/argument/ in error message.
3743 2004-03-01 Keith Marshall <keith.d.marshall@ntlworld.com>
3745 * src/roff/groff/groff.cpp (main): Don't allow option -o if -Thtml
3748 2004-03-01 Antti Kantee <pooka@netbsd.org>
3750 * tmac/s.tmac (XE): Fix error message.
3752 2004-02-27 Jeff Conrad <jeff_conrad@msn.com>
3754 * src/include/nonposix.h (write, dup, dup2, close) [_MSC_VER]:
3757 * src/roff/groff/pipeline.c: Declare strcasecmp.
3758 (run_pipeline) [_WIN32]: Use function name variants which don't
3760 Fix stream handling.
3762 2004-02-27 Keith Marshall <keith.d.marshall@ntlworld.com>
3764 * src/include/nonposix.h: Fix declaration of `system_shell_name'.
3765 Declare `spawnvp_wrapper' and macro definitions of spawnvp only
3766 for platforms which use the native Win32 runtime libraries.
3767 (FLUSH_INPUT_PIPE) [_UWIN]: Provide non-empty version.
3769 * src/libs/libgroff/quotearg.c (QUOTE_ARG_MALLOC_ERROR,
3770 QUOTE_ARG_REALLOC_ERROR): Fix string.
3772 * src/preproc/html/pre-html.cpp: Remove declaration of
3774 Don't use __MINGW32__.
3775 s/DEBUG_FILE/DEBUG_FILE_DIR/.
3776 (DEBUG_TEXT, DEBUG_NAME, DEBUG_FILE) [DEBUGGING]: New macros.
3777 (OUTPUT_STREAM, PS_OUTPUT_STREAM, REGION_OUTPUT_STREAM): New macros.
3778 (char_buffer::run_output_filter) [MAY_FORK_CHILD_PROCESS]: Fix
3779 calls to `set_redirection' and `WAIT'.
3780 [MAY_SPAWN_ASYNCHRONOUS_CHILD]: Remove unused variable `i' and `j'.
3781 Fix calls to `set_redirection' and `save_and_redirect'.
3782 (char_buffer::do_html, char_buffer::do_image) [DEBUGGING]: Fix calls
3783 to `set_redirection' and `save_and_redirect'.
3784 (usage): Fix message.
3785 (makeTempFiles, main): Use `DEBUG_FILE'.
3787 2004-02-21 Werner LEMBERG <wl@gnu.org>
3789 * src/roff/troff/troff.h (WARN_TOTAL): Fix value.
3791 2004-02-21 Keith Marshall <keith.d.marshall@ntlworld.com>
3793 * src/libs/libgroff/quotearg.c: New file, providing proper argument
3794 quoting for MSVC's spawn* and exec* functions.
3795 * src/libs/libgroff/spawnvp.c: New file, providing a wrapper around
3796 spawnvp with proper quoting for MSVC.
3798 * src/libs/libgroff/assert.cpp (program_name),
3799 src/libs/libgroff/new.cpp (program_name): Declare as `extern "C"'.
3800 * src/libs/libgroff/Makefile.sub (OBJS, CSRCS): Updated.
3802 * src/roff/troff/input.cpp (program_name): Declare as `extern "C"'.
3804 * src/include/error.h (program_name): Declare as `extern "C"'.
3805 * src/include/nonposix.h [__MSDOS__ ...]: Handle spawnvp.
3807 2004-02-21 Jeff Conrad <jeff_conrad@msn.com>
3809 * src/preproc/html/pre-html.cpp [__CYGWIN__ ...]: Declare
3811 [MAY_SPAWN_ASYNCHRONOUS_CHILD]: Declare i and j.
3813 2004-02-20 Jeff Conrad <jeff_conrad@msn.com>
3815 * src/roff/groff/pipeline.c (cmd) [__MSDOS__ || ...]: New global
3817 (sbasename) [__MSDOS__ || ...]: New function.
3818 (system_shell_name) [__MSDOS__ || ...]: Use a different, more
3820 (system_shell_dash_c, is_system_shell) [__MSDOS__ || ...]: Updated.
3821 (run_pipeline) [_WIN32]: Use _XXX variants for some macros instead
3823 Use STDOUT_FILENO instead of hardcoded file handle.
3824 (signal_catcher) [__MSDOS__]: Moved to non-_WIN32 section.
3826 2004-02-19 Werner LEMBERG <wl@gnu.org>
3828 * src/roff/troff/div.cpp: Include nonposix.h after troff.h to
3829 avoid warnings w.r.t. redefinition of P_tmpdir for some compilers.
3831 2004-02-18 Werner LEMBERG <wl@gnu.org>
3833 * font/devlj4/Makefile.sub (DEVFILES): Updated to contain all
3834 new font and mapping files.
3836 2004-02-18 Jeff Conrad <jeff_conrad@msn.com>
3837 Keith Marshall <keith.d.marshall@ntlworld.com>
3839 * src/include/nonposix.h (FLUSH_INPUT_PIPE): New macro to empty
3840 an input pipe. This is needed for the MSVC compiler to make troff's
3843 * src/roff/troff/div.cpp: Include nonposix.h.
3844 (cleanup_and_exit): Call FLUSH_INPUT_PIPE.
3846 2004-02-17 Werner LEMBERG <wl@gnu.org>
3848 * font/devlj4/generate/special.awk: New script.
3849 * font/devlj4/generate/Makefile (S): Use special.awk.
3850 * font/devlj4/*: Regenerated, including the following new files:
3851 Arial (AR, AB, AI, ABI), Times New Roman (TNRR, TNRB, TNRI, TNRBI),
3852 MS Symbol (SYMBOL), Wingdings (WINGDINGS).
3853 * NEWS: Document new lj4 fonts and revised hpftodit.
3855 2004-02-17 Paco Andrés Verdú <pandres@dragonet.es>
3857 * src/devices/grolbp/lbp.h (vmdvarc): Fix formatting string.
3859 2004-01-25 Werner LEMBERG <wl@gnu.org>
3861 * src/libs/libgroff/progname.cpp: Replaced with...
3862 * src/libs/libgroff/progname.c: New file.
3863 * src/libs/libgroff/Makefile.sub: Updated accordingly.
3865 2004-01-17 Werner LEMBERG <wl@gnu.org>
3867 * font/devlj4/generate/Makefile (SYMBOL): Use 9nb28703.tfm.
3869 2004-01-16 Jeff Conrad <jeff_conrad@msn.com>
3871 * font/devlj4/generate/wingdings.map,
3872 font/devlj4/generate/symbol.map: Include unnamed glyphs.
3873 Use groff glyph names where possible.
3874 * src/devices/grolj4/lj4_font.man: Minor updates.
3876 2004-01-13 Werner LEMBERG <wl@gnu.org>
3878 * tmac/www.tmac (DC): Handle TTY devices.
3880 * doc/webpage.ms: Document viewCVS from ffii.org.
3881 * NEWS, README: Updated.
3883 * src/roff/groff/groff.man: Mention lj4_font man page.
3885 * font/devlj4/generate/Makefile (SYMBOLMAP, WINGDINGSMAP): New
3887 (FONTS): Add SYMBOL and WINGDINGS.
3888 (SYMBOL, WINGDINGS): New targets.
3890 2004-01-13 Jeff Conrad <jeff_conrad@msn.com>
3892 * src/devices/grolj4/lj4_font.man: New man page.
3893 * src/devices/grolj4/Makefile.sub (MAN5): New variable.
3894 * src/devices/grolj4.man: Mention lj4_font man page.
3896 * src/utils/hpftodit/hpftodit.cpp (read_map): Handle line comments.
3897 * src/utils/hpftodit/hpftodit.man: Document it.
3899 Remove details about fonts (which are now in lj4_font.man).
3901 * font/devlj4/generate/symbol.map,
3902 font/devlj4/generate/wingdings.map: New files.
3904 2004-01-12 Werner LEMBERG <wl@gnu.org>
3906 * README: Mention ffii's viewcvs access.
3908 2004-01-09 Werner LEMBERG <wl@gnu.org>
3910 * font/devlj4/generate/special.map: Map MSL 228 to U+221F.
3912 2004-01-09 Jeff Conrad <jeff_conrad@msn.com>
3914 Revert most of the change from 2004-01-03 to better control used
3917 * src/utils/hpftodit/hpftodit.cpp (symbol_set): New structure.
3918 (text_symbol_sets, special_symbol_sets): New arrays.
3919 (symbol_set_table): New global variable.
3920 (read_symbol_sets): Use search order given in the text_symbol_sets
3921 and special_symbol_sets arrays. If command line flag -a is not
3922 given, search both arrays.
3923 (output_charset): Require x_height_tag only for command line flag -i.
3925 2004-01-06 Werner LEMBERG <wl@gnu.org>
3927 Implement string-valued registers \n[.m] and \n[.M] to return the
3928 name of the current drawing and background color, respectively.
3930 * src/roff/troff/symbol.h: Moved to...
3931 * src/include/symbol.h: Here.
3932 Small fixes to make it work outside of the `troff' directory.
3933 * src/roff/troff/symbol.cpp: Moved to...
3934 * src/libs/libgroff/symbol.cpp: Here.
3935 Small fixes to make it work outside of the `troff' directory.
3937 * src/include/Makefile.sub (HDRS), src/libs/libgroff/Makefile.sub
3938 (OBJS, CCSRCS), src/roff/troff/Makefile.sub (OBJS, CCSRCS, HDRS):
3941 * src/include/color.h: Include symbol.h.
3942 (color): Add new field `nm'.
3943 * src/libs/libgroff/color.cpp (color::color): Updated.
3945 * src/roff/troff/dictionary.cpp, src/roff/troff/div.cpp,
3946 src/roff/troff/node.cpp, src/roff/troff/number.cpp,
3947 src/roff/troff/reg.cpp: Don't include symbol.h.
3949 * src/roff/troff/env.cpp: Don't include symbol.h.
3950 (environment::get_glyph_color_string,
3951 environment_get_fill_color_string): New member functions.
3952 (init_env_requests): Handle `.m' and `.M' registers.
3953 * src/roff/troff/input.cpp: Don't include symbol.h.
3954 (default_symbol): Moved to symbol.cpp/symbol.h.
3955 (do_glyph_color, do_fill_color, define_color): Pass symbol name
3956 to color constructor.
3957 * src/roff/troff/env.h: Updated.
3959 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
3960 Document new registers.
3962 2004-01-05 Werner LEMBERG <wl@gnu.org>
3964 * src/roff/troff/node.cpp (space_node::get_breakpoints,
3965 space_node::nbreaks): Protect against zero `next' field.
3967 2004-01-03 Jeff Conrad <jeff_conrad@msn.com>
3969 In hpftodit, use the symbol sets offered in the TFM.
3971 * src/utils/hpftodit/hpftodit.cpp (NO_GLYPH): New constant.
3972 (symbol_set, text_symbol_sets, special_symbol_sets,
3973 symbol_set_table): Removed.
3974 (get_printcode): Removed.
3975 (read_symbol_sets): Initialize `symbol_set' field with
3977 Simplify code to just use the `kind' value.
3978 (output_charset): Improve output formatting.
3979 (dump_symbols): Simplified.
3981 2004-01-02 Werner LEMBERG <wl@gnu.org>
3983 * font/devlj4/generate/text.map: Add more MSL numbers.
3985 2004-01-02 Jeff Conrad <jeff_conrad@msn.com>
3987 * src/utils/hpftodit/hpftodit.cpp (is_decomposed): New macro.
3988 (text_symbol_sets): Add more symbol sets.
3989 (debug_flag): New static variable (moved from `main').
3990 (get_printcode, show_symset): New functions.
3991 (main): Remove `debug_flag'.
3992 (output_charset): Use `show_symset'.
3993 (dump_symbols): Use `show_symset'.
3994 Print symsets for all glyphs.
3995 (read_map): Actually call `unicode_to_ucode_make' but this time
3998 2004-01-01 Werner LEMBERG <wl@gnu.org>
4000 * font/devlj4/generate/text.map, font/devlj4/generate/special.map:
4001 Fix placement of comments.
4003 2004-01-01 Jeff Conrad <jeff_conrad@msn.com>
4005 * src/utils/hpftodit/hpftodit.cpp (main): Read map file also if
4006 option `-d' is given.
4007 (output_charset): Improve warning messages to give more information.
4008 (dump_symbols): Make information more precise.
4010 (read_map): Don't call unicode_to_ucode_name; the glyph names must
4011 appear as-is and shouldn't be decomposed.
4013 2003-12-31 Werner LEMBERG <wl@gnu.org>
4015 * src/utils/hpftodit/hpftodit.cpp (dump_tags): Handle posture_tag.
4016 * font/devlj4/generate/Makefile (IFLAG): Updated to new units.
4017 (FONTS): Add TrueType font families Arial and Times New Roman.
4018 (TNRR, TNRB, TNRI, TNRBI, AR, AB, AI, ABI): New targets.
4019 * font/devlj4/generate/text.map: Fix Unicode values of `fi' and
4022 2003-12-31 Jeff Conrad <jeff_conrad@msn.com>
4024 * test-groff.in (SEP): Quote value.
4025 * src/roff/troff/node.cpp (suppress_node::tprint): Change type of
4026 `tem' to `char*' to avoid deallocation of a pointer to a constant
4027 object which some compilers don't like.
4029 2003-12-31 Werner LEMBERG <wl@gnu.org>
4031 * font/devlj4/generate (text.map, special.map): Rewritten to work
4032 with the new hpftodit version.
4034 2003-12-30 Jeff Conrad <jeff_conrad@msn.com>
4036 * src/utils/hpftodit/hpftodit.cpp (output_charset): Emit HP symbol
4037 set and 8bit character code for all glyphs also.
4039 2003-12-30 Werner LEMBERG <wl@gnu.org>
4041 * src/libs/libgroff/strcasecmp.c: Updated from gnulib.
4043 2003-12-29 Werner LEMBERG <wl@gnu.org>
4045 More fixes for MSVC compiler.
4047 * doc/Makefile.sub, contrib/mom/Makefile.sub (GROFF_BIN_PATH): Use
4050 * src/include/nonposix.h (STDIN_FILENO, STDOUT_FILENO,
4051 STDERR_FILENO) [_MSC_VER]: Define conditionally.
4052 (getpid) [_MSC_VER]: Remove.
4053 Include direct.h and process.h conditionally.
4055 * src/roff/troff/node.cpp (suppress_node::tprint): Don't use
4056 parentheses for a_delete.
4058 * src/utils/lookbib/lookbib.cpp: Include nonposix.h.
4060 * test-groff: Replaced with...
4061 * test-groff.in: This new template to handle path separator
4064 * configure.ac: Check for direct.h and process.h.
4065 Generate test-groff script.
4066 * configure, src/include/config.hin: Regenerated.
4068 2003-12-28 Werner LEMBERG <wl@gnu.org>
4070 Add integral extension glyph.
4071 Add new option `-x' to afmtodit to suppress use of built-in AGL.
4073 * font/devhtml/R.proto, font/devutf8/R.proto: Add `u23AE'.
4075 * font/devps/generate/textmap: Provide entry for `integralex' to
4076 override (old) PUA value of the AGL.
4077 * font/devps/generate/Makefile (SS): Add afmtodit option `-x'.
4078 * font/devps/*: Regenerated.
4080 * src/utils/afmtodit/afmtodit.pl: Add option `-x'.
4081 * src/utils/afmtodit/afmtodit.man, NEWS: Updated.
4083 2003-12-27 Werner LEMBERG <wl@gnu.org>
4085 Add forgotten `coproduct' symbol (already available for DVI).
4087 * font/devhtml/R.proto, font/devps/generate/textmap,
4088 font/devps/symbolmap, font/devutf8/R.proto, man/groff_char.man,
4089 src/libs/libgroff/uniglyph.cc, src/libs/libgroff/glyphuni.cpp: Add
4090 U+2210 (\[coproduct]).
4092 2003-12-26 Jeff Conrad <jeff_conrad@msn.com>
4094 hpftodit has been extended to handle TrueType metric files and
4095 more glyphs. See hpftodit.man for more details.
4097 * src/utils/hpftodit/hpftodit.cpp: Include stdio.h, string.h,
4098 ctype.h, and unicode.h.
4099 s/msl/charcode/ everywhere since we now handle Unicode values also.
4100 (equal, NO, YES, MSL, SYMSET, UNICODE, UNICODE): New macros.
4101 Use it where appropriate.
4102 (MULTIPLIER): Replaced with...
4103 (multiplier): New global static variable.
4105 (tag_type): Add more TFM tags.
4106 (tag_name): New array.
4107 (ENUM_TYPE, FLOAT_TYPE): Removed.
4108 (BYTE_TYPE): New value assigned.
4109 (ASCII_TYPE, RATIONAL_TYPE): New enumeration values.
4110 (text_symbol_sets, special_symbol_sets): Extended to cover more
4112 (check_type): Add return value.
4113 (check_units): Add parameters to get ppi and upem values.
4114 Handle TrueType TFM data.
4115 (output_font_name): New function.
4116 (output_charset): Add parameter to handle TFM type.
4117 Handle TrueType TFMs also.
4118 (em_fract): New macro.
4119 (dump_tags): Be much more verbose and handle more tags.
4120 (dump_ascii, dump_symbol_sets, dump_symbols): New functions.
4121 (hp_msl_to_ucode_name, unicode_to_ucode_name, is_uname): New
4123 (read_map): Add parameter to handle TFM type.
4124 Handle both MSL and Unicode mappings.
4125 (main): Add two new command line options `-a' and `-q'.
4126 Updated to make use of new functions.
4129 * src/utils/hpftodit/hpuni.cpp: New file.
4131 * src/utils/hpftodit/Makefile.sub, src/utils/hpftodit/hpftodit.man:
4134 2003-12-25 Werner LEMBERG <wl@gnu.org>
4136 * src/include/nonposix.h (read) [_MSC_VER]: Define.
4138 2003-12-24 Werner LEMBERG <wl@gnu.org>
4140 * src/utils/afmtodit/afmtodit.man: Some reformulations as suggested
4141 by Michail Vidiassov <master@iaas.msu.ru>.
4143 2003-12-20 Werner LEMBERG <wl@gnu.org>
4145 * font/devhtml/R.proto: Add u00{47,67}_0306, u00{53,73}_0327,
4147 Add missing latin-2 glyphs.
4148 * font/devutf8/R.proto: Add missing latin-2 glyphs.
4150 * tmac/troffrc: Load `composite.tmac' earlier.
4152 * tmac/dvi.tmac, tmac/ps.tmac, tmac/lbp.tmac: Add u00{47,67}_0306,
4153 u00{53,73}_0327, and u0049_0307.
4154 * tmac/X.tmac: Add u00{47,67}_0306.
4155 * tmac/tty-char.tmac: Use composite glyph names for readability.
4159 * src/include/unicode.h: Remove `extern' keywords.
4161 2003-12-20 Nilgün Belma Bugüner <nilgun@superonline.com>
4163 * tmac/latin5.tmac: New file.
4165 2003-12-19 Werner LEMBERG <wl@gnu.org>
4167 Add some glyphs needed for Turkish.
4169 * font/devutf8/R.proto: Add u00{47,67}_0306, u00{53,73}_0327,
4172 * tmac/composite.tmac: Add `,' as a synonym for `ac' accent.
4173 * tmac/tty-char.tmac: Add representations for u00{47,67}_0306,
4174 u00{53,73}_0327, and u0049_0307.
4176 2003-12-18 Werner LEMBERG <wl@gnu.org>
4178 * src/devices/grops/ps.cc (ps_output::put_float): Revert change
4180 Remove trailing zeros.
4182 2003-12-17 Werner LEMBERG <wl@gnu.org>
4184 Make \? transparent to end-of-sentence recognition.
4186 * src/roff/troff/input.cc (non_interpreted_node): Add
4187 `ends_sentence' member function.
4189 2003-12-16 Werner LEMBERG <wl@gnu.org>
4191 * doc/groff.texinfo: Document `dt' request correctly.
4192 Other minor typographical improvements.
4194 2003-12-10 Michail Vidiassov <master@iaas.msu.ru>
4196 * src/utils/afmtodit/Makefile.sub (afmtodit): Fix typo.
4198 2003-12-10 Richard Stallman <rms@gnu.org>
4200 * LICENSE: Better wording.
4202 2003-12-09 Werner LEMBERG <wl@gnu.org>
4204 * aclocal.m4 (GROFF_BROKEN_SPOOLER_FLAGS): Set default value to 0.
4205 * configure, NEWS: Updated.
4207 2003-12-08 Werner LEMBERG <wl@gnu.org>
4209 * FDL: Updated to version 1.2 (from www.gnu.org/copyleft).
4211 2003-12-07 Bernd Warken <bwarken@mayn.de>
4215 2003-12-07 Werner LEMBERG <wl@gnu.org>
4217 * INSTALL: Improved.
4219 2003-12-05 Keith Marshall <keith.d.marshall@ntlworld.com>
4221 Use path separator character of target platform for compiled-in
4224 * aclocal.m4 (GROFF_TARGET_PATH_SEPARATOR): New macro.
4225 * configure.ac: Use GROFF_TARGET_PATH_SEPARATOR.
4226 * configure: Regenerated.
4227 * Makefile.in (SEP): Use GROFF_PATH_SEPARATOR.
4229 2003-12-05 Werner LEMBERG <wl@gnu.org>
4231 * src/include/nonposix.h (PATH_SEP_CHAR): New definition.
4232 Replace `PATH_SEP[0]' with `PATH_SEP_CHAR' everywhere.
4234 2003-12-04 Bernd Warken <bwarken@mayn.de>
4236 * LICENSE: New file.
4238 2003-12-03 Werner LEMBERG <wl@gnu.org>
4240 * src/utils/afmtodit/afmtodit.pl: Comment out code which handles
4241 ligatures present in AFM files since groff currently only
4242 understands some standard ligatures and nothing else.
4244 2003-12-03 Jeff Conrad <jeff_conrad@msn.com>
4246 * src/roff/groff/groff.cpp (main): Don't run the spooler if
4249 * src/roff/groff/pipeline.c (run_pipeline) [_WIN32]: Fix error
4252 Don't use Unix wait flags.
4254 2003-12-02 Werner LEMBERG <wl@gnu.org>
4256 * src/roff/troff/glyphuni.cpp, src/roff/troff/unicode.cpp,
4257 src/roff/troff/unicode.h, src/roff/troff/uniglyph.cpp,
4258 src/roff/troff/uniuni.cpp: Moved to...
4259 * src/libs/libgroff/glyphuni.cpp, src/libs/libgroff/unicode.cpp,
4260 src/libs/libgroff/unicode.h, src/libs/libgroff/uniglyph.cpp,
4261 src/libs/libgroff/uniuni.cpp: Here.
4263 * src/include/Makefile.sub.old (HDRS),
4264 src/libs/libgroff/Makefile.sub (OBJS, CCSRCS),
4265 src/roff/troff/Makefile.sub (HDRS, PBJS, CCSRCS): Updated.
4267 2003-12-01 Keith Marshall <keith.d.marshall@ntlworld.com>
4269 * src/preproc/htlp/pre-html.cpp (__tmpfile): Renamed to
4273 2003-12-01 Werner LEMBERG <wl@gnu.org>
4275 * groff.texinfo: Document special behaviour of `.vs 0'.
4276 Improve documentation of `cflags' request.
4279 2003-11-29 Werner LEMBERG <wl@gnu.org>
4281 * font/devlj4/generate/Makefile (CORONET): Use correct TFM.
4282 * font/devlj4/CORONET: Regenerated.
4284 2003-11-24 Werner LEMBERG <wl@gnu.org>
4286 * src/roff/troff/env.cpp (hyphen_trie::read_patterns_file): Fix loop
4287 if processing hyphenation patterns in traditional mode.
4288 Improve error messages.
4290 2003-11-20 Werner LEMBERG <wl@gnu.org>
4292 * src/roff/troff/node.cpp (troff_output_file::put_char_width,
4293 troff_output_file::put_char): Fix type of local variable `c'.
4295 2003-11-19 Werner LEMBERG <wl@gnu.org>
4297 * src/roff/groff/pipeline.c (P): Removed. Updated all function
4299 (i_to_a): Removed. libgroff already provides this function.
4300 (run_pipeline) [_WIN32]: Don't use itoa but i_to_a.
4302 2003-11-18 Keith Marshall <keith.d.marshall@ntlworld.com>
4304 * src/roff/groff/pipeline.c (xstrsignal): Fix usage of
4307 2003-11-17 Werner LEMBERG <wl@gnu.org>
4309 * COPYING: Use correct version.
4311 2003-11-11 Werner LEMBERG <wl@gnu.org>
4313 LynxOS 4.0.0 doesn't declare vfprintf.
4315 * configure.ac: Check for vfprintf.
4316 * configure: Regenerated.
4317 * src/include/lib.h: Handle `NEED_DECLARATION_VFPRINTF'.
4318 * src/include/config.hin: Regenerated.
4320 2003-11-10 Werner LEMBERG <wl@gnu.org>
4322 LynxOS 4.0.0 has snprintf (without declaration) but no vsnprintf.
4324 * configure.ac: Check for vsnprintf.
4325 * configure: Regenerated.
4326 * src/include/lib.h: Handle `NEED_DECLARATION_VSNPRINTF' and
4328 * src/include/config.hin: Regenerated.
4330 2003-11-09 Werner LEMBERG <wl@gnu.org>
4332 * aclocal.m4: Updated syntax to autoconf 2.59.
4333 (GROFF_HTML_PROGRAMS): Use AC_FOREACH.
4334 Don't check for gsos2.
4335 (GROFF_SRCDIR, GROFF_BUILDDIR): Removed. autoconf 2.59 provides
4336 working abs_top_srcdir and abs_top_builddir.
4338 * configure.ac: Updated syntax to autoconf 2.59.
4339 Don't call GROFF_SRCDIR and GROFF_BUILDDIR.
4340 Replace call to AC_DECL_SYS_SIGLIST with call to AC_CHECK_DECLS.
4341 * configure: Regenerated.
4343 * Makefile.in, doc/Makefile.in: s/@top_srcdir@/@abs_top_srcdir@/,
4344 s/@groff_top_builddir@/@abs_top_builddir@/.
4346 * src/roff/groff/pipeline.c (xstrsignal):
4347 s/SYS_SIGLIST_DECLARED/HAVE_DECL_SYS_SIGLIST/.
4349 2003-11-07 Werner LEMBERG <wl@gnu.org>
4351 * src/devices/grodvi/dvi.cpp (draw_dvi_printer::draw) ['a']: Always
4352 make start angle smaller than end angle to circumvent a bug in tpic
4353 handling of some versions of dvipdfm (and dvipdfmx).
4355 2003-10-30 Werner LEMBERG <wl@gnu.org>
4357 * src/devices/grops/grops.man: Improve section on creating EPS.
4359 2003-10-29 Werner LEMBERG <wl@gnu.org>
4361 * contrib/pic2graph/pic2graph.sh: Fix typo (-P-letter ->
4364 2003-10-28 Werner LEMBERG <wl@gnu.org>
4366 * doc/groff.texinfo: Fix documentation of `.if'.
4368 2003-10-27 Michail Vidiassov <master@iaas.msu.ru>
4370 * src/utils/afmtodit/afmtodit.pl: Handle unmapped characters of
4371 the form `uniXXXX' also.
4373 2003-10-27 Werner LEMBERG <wl@gnu.org>
4375 * contrib/eqn2graph/eqn2graph.sh, contrib/grap2graph/grap2graph.sh,
4376 contrib/pic2graph/pic2graph.sh: Implement secure management of
4378 Pass `-P-pletter' to groff to avoid data outside of the converted
4379 area -- some versions of `convert' (for example 5.3.8) don't check
4380 the bounding box of the image but always use a fixed image size
4381 (letter paper format).
4382 * contrib/eqn2graph/eqn2graph.man, contrib/grap2graph/grap2graph.man,
4383 contrib/pic2graph/pic2graph.man: Updated.
4385 * src/roff/groff/groff.man: Document $TMP and $TEMP.
4387 2003-10-26 Werner LEMBERG <wl@gnu.org>
4389 * src/preproc/pic/troff.cpp (troff_output::simple_circle,
4390 troff_output::simple_ellipse, troff_output::simple_arc,
4391 troff_output::simple_line, troff_output::simple_spline,
4392 troff_output::simple_polygon): Insert a space before arguments.
4393 (troff_output::set_fill): Emit `\&' before `\D'Fg...' since the
4394 latter doesn't produce a node, so the following `.sp -1' would do
4396 Don't emit `.sp -1' after \M. This also doesn't produce a token
4397 (and we don't have to care about compatibility mode).
4398 (troff_output::set_color, troff_output::reset_color): Don't emit
4399 `.sp -1' after \M and \m.
4401 * src/roff/troff/input.cpp (old_have_input): New global variable.
4402 (input_stack::get): Handle `old_have_input'.
4403 (process_input_stack) <token::TOKEN_NEWLINE>: Call
4404 `trapping_blank_line' depending on `old_have_input', not
4407 2003-10-20 Keith Marshall <keith.d.marshall@ntlworld.com>
4409 * src/libs/libgroff/tmpfile.cpp [__MSDOS__, _Win32]
4410 (WIN32_TMPDIR_ENVVAR, MSDOS_TMPDIR_ENVVAR): New macros, providing
4411 default directory names for temporary files.
4412 [__MSDOS__, _Win32] (temp_init::temp_init): Use them.
4414 * src/roff/groff/pipeline.c [__MSDOS__]: Include stdlib.h.
4415 [__MSDOS__] (run_pipeline): Honour environment variables.
4416 Don't use `tmpnam' but `tempnam' to work around messy
4419 * README.MinGW: New file.
4421 2003-10-16 Werner LEMBERG <wl@gnu.org>
4423 * src/preproc/html/pre-html.cpp (write_upto_newline): Don't use
4424 `(*t)->next' without testing validity of `*t'.
4425 (usage): Make it more readable.
4427 2003-10-16 Keith Marshall <keith.d.marshall@ntlworld.com>
4429 Make html device run under both MS-DOS and Win32.
4431 * src/preproc/html/pre-html.cpp (MAY_FORK_CHILD_PROCESS,
4432 MAY_SPAWN_ASYNCHRONOUS_CHILD): New macros to control whether
4433 spawn or fork+exec has to be used, and whether parent must sleep
4434 until the child process terminates. Used in
4435 `char_buffer::run_output_filter'.
4436 (copyofstdoutfd): Removed.
4437 (char_buffer): Replace `write_file_html' and `write_file_troff'
4438 member functions with `emit_troff_output' and `run_output_filter'.
4439 (DEVICE_FORMAT, HTML_OUTPUT_FILTER, IMAGE_OUTPUT_FILTER): New
4441 (replaceFd): Replaced with...
4442 (set_redirection): New auxiliary function.
4443 (waitForChild): Replaced with...
4444 (save_and_redirect): New auxiliary function for.
4446 (char_buffer::do_html, char_buffer::do_image): Simplified, using new
4449 2003-10-14 Keith Marshall <keith.d.marshall@ntlworld.com>
4451 * aclocal.m4 (GROFF_SYS_NERR): Check stdlib.h also.
4452 (GROFF_LIBC): New function.
4453 * configure.ac: Call GROFF_LIBC.
4455 * configure: Regenerated.
4457 * src/include/lib.h: Handle __MINGW32__.
4458 * src/include/nonposix.h [_MSC_VER]: Handle __MINGW32__.
4459 Add macro for `pipe'.
4462 * src/roff/groff/pipeline.c (run_pipeline): Handle `no_pipe'
4465 * src/utils/indxbib/signal.c (handle_fatal_signal) [!HAVE_KILL]:
4468 2003-10-13 Werner LEMBERG <wl@gnu.org>
4470 Finally fix change 2003-08-26, based on ideas from Chuck Silvers
4473 * contrib/mom/Makefile.sub: Use a stamp file in the `examples'
4476 2003-10-12 Werner LEMBERG <wl@gnu.org>
4478 * src/roff/groff/groff.cpp (help), src/devices/grops/ps.cpp (usage),
4479 src/roff/troff/input.cc (usage): Updated.
4481 * NEWS, doc/groff.texinfo: Updated.
4483 2003-10-12 Peter Miller <millerp@canb.auug.org.au>
4485 * src/libs/libgroff/searchpath.cpp
4486 (search_path::open_file_cautious): New function which also handles
4487 `-' as stdin and stdout depending on the access mode.
4488 * src/include/searchpath.h (search_path): Updated.
4490 * src/devices/grops/ps.cpp (main): Handle new `-I' switch.
4491 * src/devices/grops/ps.h: Include `searchpath.h'.
4492 * src/devices/grops/psrm.cpp (resource_manager::supply_resource):
4493 Open resource file with `include_search_path.open_file_cautious'.
4494 * src/devices/grops/grops.man: Document new `-I' switch.
4496 * src/devices/grodvi/dvi.cpp (main), src/devices/grolbp/lbp.cpp
4497 (main), src/devices/grolj4/lj4.cpp (main),
4498 src/devices/grotty/tty.cpp (main): Ignore new `-I' switch.
4500 * src/preproc/soelim/soelim.cpp (include_list_length, include_list):
4502 (include_search_path): New global variable.
4503 (include_path_append): Removed.
4504 (main): Use `include_search_path.command_line_dir' to handle `-I'.
4505 (do_file): Simplify, using new
4506 `include_search_path.open_file_cautious'.
4508 * src/roff/groff/groff.cpp (print_commands): Accept file handle as
4510 (main): Pass arguments to `-I' to both troff and devices.
4511 Improve handling of `-V'.
4512 * src/roff/groff/groff.man: Document changes to -I and -V.
4514 * src/roff/troff/input.cpp (include_search_path): New global
4516 (next_file, source, ps_bbox_request, transparent_file,
4517 process_input_file): Use new
4518 `include_search_path.open_file_cautious'.
4519 (main) Handle `-I' switch.
4520 * src/roff/troff/node.cpp (troff_output_file::really_copy_file):
4521 Use new `include_search_path.open_file_cautious'.
4522 * src/roff/troff/node.h: New extern symbol `include_search_path'.
4523 * src/roff/troff/troff.man: Document new `-I' switch.
4525 2003-09-15 Ruslan Ermilov <ru@FreeBSD.org>
4527 Support multiple calls of .Lb in LIBRARY section.
4529 * tmac/doc-common (doc-in-library-section): New register.
4530 (doc-section-library): New string.
4531 (Sh): Set `doc-in-library-section'.
4533 * tmac/doc-syms (Lb): Insert breaks before and after arguments
4534 if in LIBRARY section.
4535 * tmac/doc.tmac (doc-save-global-vars): Updated.
4536 * NEWS, tmac/groff_mdoc.man: Updated.
4538 2003-09-14 Ruslan Ermilov <ru@FreeBSD.org>
4540 * tmac/doc-common (doc-default-operating-system): New variable.
4543 2003-09-08 Werner LEMBERG <wl@gnu.org>
4545 * tmac/doc.tmac (doc-reset-reference): Handle data for `%I' also.
4547 2003-08-31 Werner LEMBERG <wl@gnu.org>
4549 * contrib/mom/Makefile.sub: Fix last change to make it really work.
4550 * Makefile.comm: Use `test ... ||' in favor of `if test ...; then'.
4551 (install_dev, uninstall_dev): Check whether $(DEVSCRIPTS) and
4552 $(DEVFILES) are not empty.
4553 * Makefile.in: Use `test ... ||' in favor of `if test ...; then'.
4555 2003-08-26 Chuck Silvers <chuq@chuq.com>
4557 * contrib/mom/Makefile.sub (prepare_make_examples): Make it work
4558 with parallel runs of `make'.
4560 2003-08-23 Stephen Gildea <http://www.gildea.com/stephen>
4562 * src/preproc/ref/ref.cpp (reference::compute_sort_key): Always
4563 insert SORT_SEP. With certain combinations of sort specifications,
4564 refer sorted entries in the wrong order. In particular, entries
4565 with a missing field should be be sorted before all entries that
4566 have that field, before refer looks to the next field.
4568 2003-08-23 Werner LEMBERG <wl@gnu.org>
4570 * src/utils/pfbtops/Makefile.sub (LINK.c): Define it so that the
4571 g++ linker is used. Reported by Mark J. Reed
4572 <mark.reed@turner.com>.
4574 2003-08-16 Heinz-Jürgen Oertel <hj.oertel@surfeu.de>
4576 Add key character `x' to tbl which makes tbl call a user-defined
4577 macro on a table cell.
4579 * src/preproc/tbl/table.h (entry_modifier): Add `macro'.
4580 * src/preproc/tbl/table.cpp (block_entry::do_divert): Call
4581 `set_modifier' after printing the compatibility request.
4582 (set_modifier): Print call to `m->macro' if not empty.
4583 * src/preproc/tbl/main.cpp (entry_format::debug_print): Handle
4585 (process_format): Implement cases `x' and `X'.
4586 * src/preproc/tbl/tbl.man, NEWS: Updated.
4588 2003-08-15 Werner LEMBERG <wl@gnu.org>
4590 * doc/groff.texinfo: Minor fixes.
4592 2003-08-09 Werner LEMBERG <wl@gnu.org>
4594 * tmac/an-old.tmac [cR]: Fix redefinition of `bp'.
4596 2003-08-07 Werner LEMBERG <wl@gnu.org>
4598 * doc/Makefile.sub: Not all shells expand wildcards in the `for'
4599 argument list to nothing if there is no file to match. Use `ls' as
4600 a protection, similar to autoconf.
4602 * Makefile.comm (install_dev, uninstall_dev): Protect `for' against
4603 empty argument lists.
4605 * doc/groff.texinfo: Improve documentation how vertical spacing
4606 and line breaks interact.
4609 * tmac/www.tmac: Initialize `www-htmlimage-gap'.
4611 2003-08-03 Werner LEMBERG <wl@gnu.org>
4613 * NEWS, src/devices/grops/grops.man: -b16 is necessary to produce
4614 EPS (using eps2eps or similar programs to compute the bounding box).
4616 2003-07-24 Werner LEMBERG <wl@gnu.org>
4618 * doc/groff.texinfo: Use the new @/ command to avoid overlong lines.
4619 * doc/texinfo.tex: Updated from texinfo 4.6.
4620 * README.CVS: From now on we need texinfo 4.6.
4622 2003-07-23 Werner LEMBERG <wl@gnu.org>
4624 Add requests `dei1' and `ami1' for completeness.
4626 * src/roff/troff/input.cc (calling_mode): Remove
4627 CALLING_DISABLE_COMP.
4628 (comp_mode): New enumeration.
4629 (do_define_string, define_string, define_nocomp_string,
4630 append_string, append_nocomp_string): Updated.
4631 (do_define_macro): Add third parameter.
4632 (define_macro, define_nocomp_macro, define_indirect_macro,
4633 append_macro, append_nocomp_macro, append_indirect_macro): Updated.
4634 (define_indirect_nocomp_macro, append_indirect_nocomp_macro): New
4637 (init_input_requests): Add `dei1' and `ami1'.
4639 * tmac/trace.tmac: Handle de1 and am1.
4640 (de): Improve tracing message.
4641 (am): Add missing `do'.
4644 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
4645 Document new requests.
4647 2003-07-22 Heinz-Jürgen Oertel <hj.oertel@surfeu.de>
4649 Add option -G to .MPIMG to insert a gap between text and the image.
4651 * tmac/www.tmac (www-finish-left-po, www-finish-right-ll,
4652 www-finish-left-ll): Updated.
4653 (www-image-just, www-image-gap, www-htmlimage-gap): New variables.
4654 (MPIMG): Make option -L and -R optional.
4655 Implement option -G.
4657 2003-07-22 Gaius Mulley <gaius@glam.ac.uk>
4659 * src/devices/grohtml/post-html.cpp
4660 (html_printer::do_file_components): Don't use `stdout' as lvalue
4661 since it can be a macro.
4663 2003-07-22 Werner LEMBERG <wl@gnu.org>
4665 * src/libs/libgroff/strerror.c: Include errno.h to be in sync with
4666 the corresponding test in aclocal.m4.
4668 2003-07-21 Werner LEMBERG <wl@gnu.org>
4670 * src/preproc/html/pre-html.cpp (TRANSPARENT): Don't use colour
4671 names but RGB values directly. Otherwise pnmtopng depends on
4672 an external file `rgb.txt' which maps colour names to values.
4674 2003-07-20 Werner LEMBERG <wl@gnu.org>
4676 * aclocal.m4 (GROFF_SYS_ERRLIST): Include stdlib.h for MinGW.
4677 * configure, src/include/config.hin: Regenerated.
4679 * src/libs/libgroff/strerror.c: Include stdlib.h for MinGW.
4681 2003-07-19 Werner LEMBERG <wl@gnu.org>
4683 * PROBLEMS: Add solution for UTF-8 problem with hyphens.
4685 2003-07-18 Werner LEMBERG <wl@gnu.org>
4687 * *.man: Switch to non-compatibility mode temporarily if GNU
4688 syntax extensions are used in the particular man page.
4690 * PROBLEMS: Add solutions for SGR problems.
4692 2003-07-17 Werner LEMBERG <wl@gnu.org>
4694 Don't ignore grotty's command line options if \X'tty: sgr ...' is
4695 used to change the drawing scheme.
4697 * src/devives/grotty/tty.cpp (bold_flag_option,
4698 underline_flag_option, italic_flag_option, reverse_flag_option,
4699 bold_underline_mode_option): New global variables.
4700 (update_options): New function.
4701 (tty_printer::special): Call update_options.
4702 (main): Don't set xxx_flag but xxx_flag_option, then call
4705 2003-07-14 Werner LEMBERG <wl@gnu.org>
4707 Make grotty emit proper Unicode box drawing characters for -Tutf8.
4709 * src/devices/grotty/tty.cpp (START_LINE, END_LINE): New enum
4711 (hline_char, vline_char): New global variables.
4712 (tty_printer::tty_printer): Initialize them.
4713 (tty_printer::draw): Emit START_LINE and END_LINE flags for both
4714 horizontal and vertical lines.
4715 (crossings): New global array.
4716 (tty_printer::end_page): Use it to determine the proper crossing
4717 character for -Tutf8.
4719 2003-07-12 Werner LEMBERG <wl@gnu.org>
4721 * doc/Makefilesub (HTMLDOCFILESALL): New macro.
4722 (HTMLDOCFILES): Revert to `pic.html'.
4723 (CLEANADD, install_html, uninstall_sub): Use HTMLDOCFILESALL.
4725 2003-07-11 Werner LEMBERG <wl@gnu.org>
4727 * doc/pic.ms: Improve documentation of absolute coordinates.
4728 Document absolute positioning of pictures.
4730 * NEWS: Add new pic capability.
4732 2003-07-09 Hartmut Henkel <hartmut_henkel@gmx.de>
4734 * src/libs/libgroff/geometry.cpp (check_output_arc_limits):
4737 2003-07-07 Werner LEMBERG <wl@gnu.org>
4739 Implement support for dashed and dotted ellipses in pic. Based on
4740 a patch from Hartmut Henkel <hartmut_henkel@gmx.de>.
4742 * src/preproc/pic/common.cpp (common_output::ellipse_arc,
4743 common_output::dashed_ellipse, common_output::dotted_ellipse): New
4744 functions. Ellipse arcs are approximated with circle arcs.
4745 * src/preproc/pic/common.h (common_output): Updated.
4746 * src/preproc/pic/tex.cpp (tex_output::ellipse): Use new ellipse
4748 * src/preproc/pic/troff.cpp (simple_output::ellipse): Ditto.
4750 * src/preproc/pic/TODO, src/preproc/pic/pic.man: Updated.
4752 2003-07-06 Werner LEMBERG <wl@gnu.org>
4754 Make grotty work on platforms which have unsigned char as the
4755 default for char. Based on a patch by Thomas Klausner
4758 * src/devices/grotty/tty.cpp (schar): New typedef.
4759 Updated calls to declare_ptable and implement_ptable.
4760 (glyph): Use schar for back_color_idx and fore_color_idx.
4761 (tty_printer): Use schar for curr_fore_idx and curr_back_idx.
4762 (tty_printer::tty_color, tty_printer::tty_printer,
4763 tty_printer::color_to_idx, tty_printer::put_color): Updated.
4765 2003-07-06 Ruslan Ermilov <ru@FreeBSD.org>
4767 * src/roff/nroff/nroff.sh: Add option -d for completeness.
4768 * src/roff/nroff/nroff.man: Updated.
4770 2003-07-05 Werner LEMBERG <wl@gnu.org>
4772 * NEWS, tmac/groff_www.man: Updated.
4773 * doc/Makefile.sub: Updated.
4775 2003-07-05 Gaius Mulley <gaius@glam.ac.uk>
4777 Implement support for multiple HTML output files.
4779 * src/preproc/html/pre-html.cpp (scanArguments): Dummy handling for
4780 -j command line option.
4782 * src/devices/grohtml/post-html.cpp (job_name, multiple_files): New
4784 (file): New fields `new_output_file', `require_links',
4786 (file::file): Updated.
4787 (files::set_file_name, files::set_links_required,
4788 files::are_links_required, files::is_new_output_file,
4789 files::file_name, files::next_file_name): New functions.
4790 (header_desc): New fields `no_of_level_one_headings',
4792 (header_desc::header_desc): Updated.
4793 (header_desc::write_headings): Handle multiple files.
4794 (html_printer::write_header): Save file name in which header occurs.
4795 (html_printer::determine_header_level): Possibly split files on
4797 (html_printer::do_links, html_printer::troff_tag): Updated.
4798 (html_printer::insert_split_file, html_printer::do_job_name,
4799 html_printer::emit_link, html_printer::write_navigation,
4800 html_printer::do_file_components): New functions.
4801 (html_printer::~html_printer): Handle multiple files.
4802 (main): Handle command line option `-j'.
4804 * src/devices/grohtml/grohtml.man: Updated.
4806 * doc/Makefile.sub (pic.html), doc/Makefile.in (pic.html): New rule
4809 * tmac/www.tmac (JOBNAME): New macro.
4810 * tmac/s.tmac (SH-NO-TAG): New macro.
4811 (@SH): Call SH-NO-TAG.
4814 2003-07-05 Ruslan Ermilov <ru@FreeBSD.org>
4816 * tmac/groff_mdoc.man: Improve documentation of punctuation
4819 2003-07-04 Ruslan Ermilov <ru@FreeBSD.org>
4821 * tmac/doc.tmac (Bd): Change to doc-Li-font later.
4823 2003-07-03 Werner LEMBERG <wl@gnu.org>
4825 * tmac/an-old.tmac [cR]: Redefine `bp' to avoid empty lines.
4827 2003-07-01 Ruslan Ermilov <ru@FreeBSD.org>
4829 * tmac/doc.tmac (doc-do-func, doc-do-func-args): Don't print a comma
4830 after `/*' and `*/'.
4832 (Fn, Fo): Reduce indentation in synopsis.
4834 * tmac/doc-common (doc-check-depth): New macro.
4835 (doc-end-macro, Sh, Ss): Use it.
4836 (Cd): Fix behaviour in synopsis.
4837 (In): Make it parsed and callable.
4838 If not in the synopsis, represent the C header file enclosed in
4840 (doc-str-Rv-std-suffix, doc-str-Rv-stds-suffix, doc-str-Rv-std0):
4841 Use minus, not hyphen.
4843 * tmac/groff_mdoc.man: Updated.
4845 2003-07-01 Werner LEMBERG <wl@gnu.org>
4847 Integrated grap2graph, contributed by Eric S. Raymond.
4849 * contrib/grap2graph/{Makefile.sub, grap2graph.sh, grap2graph.man}:
4851 * Makefile.in, NEWS, MANIFEST, contrib/eqn2graph.man,
4852 contrib/pic2graph.man, src/roff/groff/groff.man: Updated.
4854 2003-07-01 Colin Watson <cjwatson@debian.org>
4856 * src/xditview/*.c: Add prototypes, fix return types, add includes.
4857 Based on work by Fumitoshi UKAI <ukai@debian.or.jp>.
4859 2003-06-31 Ruslan Ermilov <ru@FreeBSD.org>
4861 * tmac/tty-char.tmac: Provide `lb', `rb', `lk', `rk', `lt', `rt'.
4863 2003-06-31 Werner LEMBERG <wl@gnu.org>
4865 * doc/Makefile.sub (CLEANADD): Remove all files created by
4866 running `make groff.{pdf,dvi}'.
4868 * Makefile.sub (DISTCLEANFILES): Remove all non-source files from
4871 2003-06-30 Werner LEMBERG <wl@gnu.org>
4873 * Makefile.in (SHELL): Define as @SHELL@.
4874 (mkinstalldirs): Use $(SHELL).
4875 (MDEFINES): Add $(SHELL).
4876 * Makefile.comm (SHELL): Removed.
4878 2003-06-29 Werner LEMBERG <wl@gnu.org>
4880 * tmac/s.tmac (De, Ds): New aliases for .DE and .DS, respectively.
4881 The X11 documentation files use them.
4882 * tmac/groff_ms.man, doc/groff.texinfo: Document them.
4884 2003-06-15 Robert Goulding <goulding@Princeton.EDU>
4886 * tmac/e.tmac (@C): Handle .ad also.
4888 2003-06-12 Werner LEMBERG <wl@gnu.org>
4890 * src/preproc/tbl/tbl.man: Document formatting of text blocks.
4892 * src/roff/troff/input.cc (token::next) <handle_escape_char>:
4893 Assign `n' even here. It is possible to construct a node
4894 immediately following an escape character:
4902 2003-06-10 Werner LEMBERG <wl@gnu.org>
4904 * README.WIN32: Removed.
4905 * MANIFEST: Updated.
4907 2003-06-07 Werner LEMBERG <wl@gnu.org>
4909 * src/roff/nroff/nroff.sh: Don't emit SGR for option -u.
4911 2003-06-05 Werner LEMBERG <wl@gnu.org>
4913 * src/preproc/pic/pic.y <sprintf_args>: Implement workaround for bug
4914 in Compaq C++ V6.5-033 for Compaq Tru64 UNIX V5.1A (Rev. 1885).
4916 2003-06-03 Werner LEMBERG <wl@gnu.org>
4918 * src/preproc/grn/hdb.cpp (DBRead): Don't close file handle; this
4919 is done by the calling function.
4921 2003-05-22 Ruslan Ermilov <ru@FreeBSD.org>
4923 * tmac/X.tmac: Fix definition of `em'.
4925 2003-05-22 Werner LEMBERG <wl@gnu.org>
4927 * src/roff/troff/input.cc (return_macro_request): Fix detection of
4930 2003-05-18 Werner LEMBERG <wl@gnu.org>
4932 * tmac/doc.tmac (doc-tag-list): Force horizontal mode after tag
4933 to make items work which consist only of a tag.
4935 2003-05-17 Werner LEMBERG <wl@gnu.org>
4937 * tmac/doc.tmac (doc-tag-list): Don't use \Z to assure that spaces
4938 aren't stretched in a tag (this can fail with unformatted boxes).
4939 Instead, insert a break and go back one line.
4941 2003-05-16 Werner LEMBERG <wl@gnu.org>
4943 * src/roff/troff/input.cc (return_macro_request): If called with
4944 argument pop macro twice. We need this to trace `return'.
4946 * tmac/trace.tmac: Handle `return'.
4949 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
4952 2003-05-15 Larry Kollar <kollar@alltel.net>
4954 * tmac/groff_ms.man, doc/groff.texinfo: Improve documentation of
4955 registers `FPS', `FVS', and `FPD'.
4957 2003-05-15 Werner LEMBERG <wl@gnu.org>
4959 * src/utils/pfbtops/pfbtops.c (get_text): Handle loop counter
4962 2003-05-03 Ruslan Ermilov <ru@FreeBSD.org>
4964 * tmac/groff_mdoc.man: Slight improvements.
4966 2003-05-03 Werner LEMBERG <wl@gnu.org>
4968 * tmac/doc-common (doc-header): Emit vertical space of 1v instead of
4969 `doc-header-space' after header line if register `cR' is set.
4971 2003-05-02 Werner LEMBERG <wl@gnu.org>
4975 2003-05-01 Ruslan Ermilov <ru@FreeBSD.org>
4977 * tmac/doc-common (Nd): Use \[em].
4979 2003-05-01 Werner LEMBERG <wl@gnu.org>
4981 * tmac/doc-ditroff, tmac/doc-nroff (doc-header-space,
4982 doc-footer-space): Initialize to 0.5i.
4983 (doc-setup-page-layout): Don't set doc-header-space and
4986 2003-04-30 Werner LEMBERG <wl@gnu.org>
4988 * REVISION: Set to 1.
4990 * doc/pic.ms: Document possible problems with `figname'.
4992 2003-04-29 Werner LEMBERG <wl@gnu.org>
4994 Version 1.19 released
4995 =====================
4997 * VERSION: Set to 1.19.
4998 * REVISION: Set to 0.
4999 * doc/groff.texinfo, doc/webpage.ms, NEWS: Updated.
5001 * src/devices/grohtml/post-html.cpp (html_printer::~html_printer):
5002 Define charset as `US-ASCII' in html output.
5004 * tmac/www.tmac (ULE): Add missing scaling indicator.
5006 * win32-diffs: Removed.
5008 2003-04-28 Werner LEMBERG <wl@gnu.org>
5010 * doc/groff.texinfo: Document `dn' and `dl' registers if used with
5012 Document how to insert discardable whitespace with `.ss'.
5014 2003-04-27 Werner LEMBERG <wl@gnu.org>
5016 * src/preproc/pic/tex.cpp (tex_output::start_picture): Make code
5017 work with plain TeX also.
5019 * src/preproc/pic/pic.man, doc/pic.ms: Fix TeX code example.
5021 2003-04-25 Gaius Mulley <gaius@glam.ac.uk>
5023 * src/devices/grohtml/post-html.cpp (html_printer::~html_printer):
5026 2003-04-24 Werner LEMBERG <wl@gnu.org>
5028 * src/preproc/pic/pic.man, doc/pic.ms: Explain how to get a
5029 vbox with positive height and zero depth if in TeX mode.
5031 * NEWS: Document glyph name changes for grodvi and grolj4.
5033 2003-04-23 Werner LEMBERG <wl@gnu.org>
5035 * src/preproc/pic/tex.cpp (tex_output::start_picture): Fix TeX code.
5036 * doc/pic.ms: Fixed.
5038 2003-04-21 Werner LEMBERG <wl@gnu.org>
5040 HP-UX 10.20 has `snprintf' but it isn't declared.
5042 * configure.ac: Add declaration test for snprintf.
5043 * configure: Regenerated.
5044 * src/include/lib.h: Handle `NEED_DECLARATION_SNPRINTF'.
5045 * src/include/config.hin: Regenerated.
5047 2003-04-19 Werner LEMBERG <wl@gnu.org>
5049 Add keyword `figname' to pic, specifying the name of the picture
5050 box in TeX mode. Based on a patch from William J Poser
5051 <wjposer@unagi.cis.upenn.edu>.
5053 * src/preproc/pic/pic.y: New token `FIGNAME'.
5054 (macro_name): New rule of type <str>.
5055 (placeless_element): Handle `FIGNAME'.
5056 * src/preproc/pic/lex.cpp (lookup_keyword): Add `figname'.
5057 * src/preproc/pic/main.cpp (graphname): New global variable.
5058 (do_picture): Initialize `graphname'.
5059 * src/preproc/pic/pic.h: Updated.
5060 * src/preproc/pic/tex.cpp (tex_output::start_picture): Use
5063 (tex_output::text): Beautify output.
5064 * src/preproc/pic/object.cpp (object_spec::~object_spec): Deallocate
5065 `shaded' and `outlined' unconditionally.
5066 * NEWS, src/preproc/pic/pic.man, doc/pic.ms: Updated.
5069 * PROBLEMS, README.CVS: Mention that bison version 1.875b or
5070 greater is necessary.
5072 2003-04-17 Hartmut Henkel <hartmut_henkel@gmx.de>
5074 Add option -r to soelim to avoid emission of `.lf' lines.
5075 Add option -t to produces TeX comment lines instead of `.lf' lines.
5077 * src/preproc/soelim/soelim.cpp: New global variables `raw_flag'
5080 (main): Handle `-r' and `-t'.
5081 (set_location): Handle `raw_flag' and `tex_flag'.
5082 * src/preproc/soelim/soelim.man, NEWS: Updated.
5084 2003-04-17 Werner LEMBERG <wl@gnu.org>
5086 * tmac/hyphenex.sh: Replaced with...
5087 * tmac/hyphenex.pl: This perl script to avoid sed compatibility
5090 * aclocal.m4 (GROFF_HTML_PROGRAMS): Emit useful warning message
5091 if --quiet is used for the configure script.
5092 * configure: Regenerated.
5094 2003-04-16 Werner LEMBERG <wl@gnu.org>
5096 * src/devices/grohtml/post-html.cpp (text_glob::text_glob):
5097 Add `const' to second argument.
5098 (html_printer::add_table_end): Add `const' to argument.
5099 * src/devices/grohtml/html-text.cpp (html_text::issue_tag): Add
5100 `const' to arguments.
5101 * src/devices/grohtml/html-text.h: Updated.
5103 * src/devices/grolbp/charset.h (symset): Use `unsigned char'.
5104 * src/devices/grolbp/lbp.h (lbpputc): Use `unsigned char' for
5107 * src/devices/grotty/tty.cpp (tty_printer::make_rgb_string): Use
5108 cast for integer constant.
5110 * src/preproc/html/pre-html.cpp (image_device): Use `const'.
5111 (writeNbytes): Add `const' to first argument.
5112 (writeString): Add `const' to argument.
5113 (char_buffer::can_see): Add `const' to third argument.
5114 * src/preproc/html/pushback.cpp (pushBackBuffer::isString): Add
5115 `const' to argument.
5116 * src/preproc/html/pushback.h: Updated.
5118 * src/preproc/soelim/soelim.cpp (include_list): Add `const'.
5119 (include_path_append): Add `const' to argument.
5122 * src/roff/troff/uniglyph.cpp (unicode_to_glyph_list): Use `const'
5124 (unicode_to_glyph_init::unicode_to_glyph_init): Updated.
5125 * src/roff/troff/uniuni.cpp (unicode_decompose_list): Use `const'
5127 (unicode_decompose_init::unicode_decompose_init): Updated.
5128 * src/roff/troff/glyphuni.cpp (glyph_to_unicode_list): Use `const'
5130 (glyph_to_unicode_init::glyph_to_unicode_init): Updated.
5131 * src/roff/troff/input.cc (process_startup_file): Add `const' to
5134 * tmac/hyphenex.sh: Make script more portable by using a here
5137 2003-04-15 Werner LEMBERG <wl@gnu.org>
5139 Renamed all `*.cc' files to `*.cpp'.
5140 Updated all configuration files, makefiles, and documentation.
5142 2003-04-14 Werner LEMBERG <wl@gnu.org>
5144 * tmac/hyphenex.sh: Slight improvements.
5146 2003-04-13 Werner LEMBERG <wl@gnu.org>
5148 * font/devascii/R.proto, font/devcp1037/R.proto,
5149 font/devlatin1/R.proto, font/devutf8/R.proto: Fill up remaining
5150 character slots with unnamed glyphs.
5152 * tmac/an-old.tmac: Fix hyphenation value if `cR' is active.
5153 (an-first): New global variable.
5154 (an-header): Emit vertical space between multiple man pages.
5156 2003-04-11 Werner LEMBERG <wl@gnu.org>
5158 * doc/groff.texinfo, man/groff_out.man: \S only accepts integer
5161 2003-04-10 Werner LEMBERG <wl@gnu.org>
5163 * PROBLEMS: Revised.
5165 2003-04-10 Bernd Warken <bwarken@mayn.de>
5167 * doc/webpage.ms: Improved.
5169 2003-04-09 Werner LEMBERG <wl@gnu.org>
5171 Add register \n[.height] which returns the value of \H.
5172 Add register \n[.slant] which returns the value of \S.
5174 * src/roff/troff/env.cc (init_env_requests): Implement.
5175 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
5178 2003-04-08 Werner LEMBERG <wl@gnu.org>
5180 * tmac/html.tmac: Move some of the data into html-end.tmac.
5181 Remove most of the character translations for eqn since html fonts
5182 now cover those characters.
5184 * tmac/html-end.tmac: New file.
5185 * tmac/troffrc: Load html.tmac not www.tmac for -Thtml.
5186 * tmac/troffrc-end: Load html-end.tmac not html.tmac for -Thtml.
5187 * tmac/Makefile.sub (NORMALFILES): Add html-end.tmac.
5189 2003-04-07 Werner LEMBERG <wl@gnu.org>
5191 * man/groff_out.man: Document negative values of `N' if -Thtml is
5194 2003-04-06 Werner LEMBERG <wl@gnu.org>
5196 * Makefile.comm (depend.temp): Check location of YTABC.
5198 2003-04-05 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
5200 * contrib/mom/Makefile.sub (GROFFBIN): New variable for groff
5202 (groff_bin_path): Rename to GROFF_BIN_PATH.
5203 (GROFF): Use GROFFBIN and GROFF_BIN_PATH.
5204 * doc/Makefile.in (TROFFBIN): New variable for troff
5206 (GROFFBIN): New variable for groff binary path.
5207 (groff_bin_path): Rename to GROFF_BIN_PATH.
5208 (TROFF): Use TROFFBIN.
5209 (GROFF): Use GROFFBIN and GROFF_BIN_PATH.
5210 * doc/Makefile.sub (GROFFBIN): New variable for groff
5212 (groff_bin_path): Rename to GROFF_BIN_PATH.
5213 (GROFF): Use GROFFBIN and GROFF_BIN_PATH.
5215 * Makefile.comm (install_dev): Install scripts from DEVSCRIPTS
5216 with INSTALL_SCRIPT.
5217 (uninstall_dev): Uninstall scripts from DEVSCRIPTS.
5218 * Makefile.dev (all): Depend on DEVSCRIPTS.
5219 (install_dev): Likewise.
5220 * font/devdvi/Makefile.sub (DEVSCRIPTS): New variable to hold
5222 * font/devps/Makefile.sub (DEVSCRIPTS): Likewise.
5223 (DEVGENSCRIPTS): New variable to hold generated scripts.
5225 2003-04-05 Werner LEMBERG <wl@gnu.org>
5227 * src/libs/libdriver/input.cc (IntArray::operator[],
5228 IntArray::get_data): Remove meaningless `const' in return value.
5230 * README.CVS: New file.
5232 2003-04-04 Werner LEMBERG <wl@gnu.org>
5234 Check for stdint.h in C++, not in C.
5236 * aclocal.m4 (GROFF_STDINT_H): New function,
5237 * configure.ac: Check for stdint.h with GROFF_STDINT_H instead of
5239 * configure, src/include/config.hin: Regenerated.
5240 * src/libs/libgroff/tmpname.cc: Use HAVE_CC_STDINT_H.
5243 Fix handling of in grohtml. To do this, troff emits `N'
5244 with a negative value, representing the width of the unbreakable
5245 space (only for -Thtml). grohtml then converts this back to
5246 and uses the value of N as its width.
5248 * src/roff/troff/node.cc (space_char_hmotion_node::tprint,
5249 unbreakable_space_node::tprint): Emit `N-<width>'.
5250 * src/include/printer.h (printer::set_numbered_char): Make it
5252 Make members `font_table' and `nfonts' protected instead of private.
5253 * src/devices/grohtml/post-html.cc
5254 (html_printer::set_numbered_char): New member function.
5257 * src/libs/libgroff/maxfilename.cc:
5258 s/HAVE_LIMITS_H/HAVE_CC_LIMITS_H/.
5260 * src/roff/troff/node.cc (unbreakable_space_node::tprint): Don't
5263 2003-04-03 Sergey A. Osokin <osa@freebsd.org.ru>
5265 * man/roff.man: Small fixes.
5267 2003-04-03 Werner LEMBERG <wl@gnu.org>
5269 Make groff independent from locale's numeric settings.
5271 * configure.ac: Check for `setlocale'.
5272 * configure, src/include/config.hin: Regenerated.
5274 * src/include/lib.h: Handle HAVE_SETLOCALE.
5276 * src/devices/grodvi/dvi.cc (main), src/devices/grolj4/lj4.cc
5277 (main), src/devices/grops/ps.cc (main), src/preproc/grn/main.cc
5278 (main), src/preproc/pic/main.cc (main): Call `setlocale'.
5281 * doc/groff.texinfo: Change dir category to `Typesetting'.
5282 (Man font macros): Mention that there is no space between arguments
5285 * src/libs/libdriver/printer.cc, src/devices/grotty/tty.cc
5286 (*printer::change_color, *printer::change_fill_color): Add missing
5289 2003-04-02 Werner LEMBERG <wl@gnu.org>
5291 * src/devices/grohtml/html-table.cc (html_table::emit_col,
5292 html_table::is_gap): Compute table widths after converting border
5293 positions to avoid rounding errors.
5295 2003-04-01 Werner LEMBERG <wl@gnu.org>
5297 * src/devices/grohtml/html-text.cc (html_text::do_space): Handle
5298 `space_emitted' properly.
5300 2003-03-31 Werner LEMBERG <wl@gnu.org>
5302 * src/devices/grohtml/html-table.cc: Fix column width calculation.
5303 (html_table::set_linelength): Don't add 1.
5304 (html_table::add_indent): Don't subtract 1.
5306 * tmac/html.tmac: Set default page offset to zero.
5308 2003-03-30 Werner LEMBERG <wl@gnu.org>
5310 Make groff emit ` ' for `\ ' and `\~' if `-Thtml' is used.
5312 * src/roff/troff/node.cc (space_char_hmotion_node::tprint,
5313 unbreakable_space_node::tprint): New functions.
5314 (troff_output_file): Make space_char_hmotion_mode::tprint and
5315 unbreakable_space_node::tprint to friends.
5316 * src/roff/troff/node.h: Updated.
5318 * font/devhtml/R.proto: Add ` ' at position 0xA0 (as defined
5319 in the HTML standard).
5321 2003-03-29 Werner LEMBERG <wl@gnu.org>
5323 * src/roff/troff/env.cc (point_size): Fix emission of html tag.
5324 Otherwise, the following code
5333 produces `x a' instead of `xa'. This is a temporary fix, disabling
5334 font changes in diversions for -Thtml.
5336 * tmac/an-old.tmac (TH, SH): Use `HTML-TAG-NS' instead of
5338 (an-do-tag-html): Merge with ...
5339 (an-do-tag): This macro.
5340 Change code slightly to circumvent grohtml bug.
5341 * tmac/troffrc-end: Define dummy for HTML-TAG-NS.
5343 * src/devices/grohtml/html-table.cc (html_table::emit_col,
5344 html_table::is_gap): Round `width' properly.
5346 * tmac/html.tmac: Provide some default layout parameters for
5349 * font/devhtml/DESC.proto: Don't use discrete values for `sizes'
5352 2003-03-28 Werner LEMBERG <wl@gnu.org>
5354 src/devices/grops/ps.cc (ps_printer::do_import): Fix error message.
5356 2003-03-27 Werner LEMBERG <wl@gnu.org>
5358 * tmac/an-old.tmac (BT): Don't call .tl if register `ps4html' is
5361 2003-03-20 Werner LEMBERG <wl@gnu.org>
5363 * src/roff/troff/env.cc (vertical_spacing): Allow zero value for
5365 * doc/groff.texinfo: Updated.
5367 2003-03-19 Werner LEMBERG <wl@gnu.org>
5369 * src/roff/troff/input.cc (process_input_stack) <TOKEN_BEGIN_TRAP,
5370 TOKEN_END_TRAP>: Reset `have_input'.
5372 2003-03-18 Werner LEMBERG <wl@gnu.org>
5374 * src/roff/groff/groff.man: Mention groff_trace man page.
5376 2003-03-16 Werner LEMBERG <wl@gnu.org>
5378 * Makefile.in (LIBEXT): New variable to indicate the file extension
5379 of library files. Computed heuristically from $(OBJEXT).
5380 (MDEFINES): Add $(LIBEXT).
5381 * Makefile.lib, Makefile.comm: Use it.
5383 * src/utils/pfbtops/pfbtops.c (get_text): New function. Split
5384 overlong lines into smaller chunks.
5385 (get_binary): New function.
5387 * src/utils/pfbtops/pfbtops.man: Updated.
5389 2003-03-15 Colin Watson <cjwatson@debian.org>
5391 * src/roff/groff/groff.man: Minor syntax fix.
5393 2003-03-14 Egil Kvaleberg <egil@kvaleberg.no>
5395 * src/devices/grops/ps.cc (ps_printer::media_set,
5396 ps_printer::~ps_printer): Handle zero paper width and length.
5398 2003-03-13 Werner LEMBERG <wl@gnu.org>
5400 Add options -p and -l to grodvi.
5402 * src/devices/grodvi/dvi.cc: Include paper.h.
5403 (landscape_flag, user_paper_length, user_paper_width): New global
5405 (dvi_printer::begin_page): Emit `papersize' special.
5406 Set color after initialization of `cur_h' and `cur_v'.
5407 (main): Add options `-l' and `-p'.
5408 * font/devdvi/Makefile.sub (DESC): Set `papersize'.
5409 * src/devices/grodvi/grodvi.man, NEWS: Updated.
5411 * src/devices/grops/psrm.cc (valid_input_table): Fixed.
5413 2003-03-12 Werner LEMBERG <wl@gnu.org>
5415 * src/devices/grops/grops.man: Move documentation of .PSPIC to...
5416 * man/groff_tmac.man: This man page.
5417 * man/groff_font.man: Declare `paperwidth' and `paperlength' as
5420 * tmac/X.tmac: Don't load pspic.tmac.
5422 2003-03-11 Werner LEMBERG <wl@gnu.org>
5424 Make variable `pr' local to libdriver/input.cc. Based on a patch
5425 by Bernd Warken <bwarken@mayn.de>.
5427 * src/include/driver.h (pr): Removed.
5429 * src/libs/libdriver/input.cc (pr): New global variable.
5430 (do_file): Deallocate `pr'.
5431 * src/libs/libdriver/printer.cc (pr): Removed.
5433 * src/devices/grodvi/dvi.cc (main), src/devices/grohtml/post-html.cc
5434 (main), src/devices/grolbp/lbp.cc (main), src/devices/grolj4/lj4.cc
5435 (main), src/devices/grops/ps.cc (main), src/devices/grotty/tty.cc
5436 (main): Don't delete `pr'.
5438 2003-03-10 Werner LEMBERG <wl@gnu.org>
5440 * tmac/a4.tmac, tmac/composite.tmac: Use `.do'.
5441 * tmac/papersize.tmac: New file.
5442 * tmac/troffrc: Include `papersize.tmac'.
5443 * tmac/Makefile.sub (NORMALFILES): Add `papersize.tmac'.
5444 * tmac/an-old.tmac: Set LT to LL by default.
5446 * NEWS, MANIFEST, tmac/groff_man.man, man/groff_tmac.man,
5447 doc/groff.texinfo: Updated.
5449 * src/libs/libgroff/paper.cc (add_iso_paper): Fix very embarassing
5450 bug which caused all odd iso papers to have wrong dimensions.
5452 * src/devices/grops/ps.cc (user_paper_width): New global variable.
5453 (main) <'p'>: Set `user_paper_width' also.
5454 (ps_printer::media_width, ps_printer::media_height): Use values
5455 given with option `-p'.
5457 2003-03-09 Werner LEMBERG <wl@gnu.org>
5459 * src/include/nonposix.h: Provide default for SET_BINARY.
5461 * src/devices/grodvi/dvi.cc, src/devices/grolbp/lbp.cc,
5462 src/devices/grolj4/lj4.cc, src/devices/grops/ps.cc: Call SET_BINARY
5465 * src/utils/pfbtops/pfbtops.c: Call SET_BINARY unconditionally.
5466 (main): Treat \r\n as \n.
5468 2003-03-08 Werner LEMBERG <wl@gnu.org>
5470 * tmac/an-old.tmac: Use register `HY' to control hyphenation.
5471 * NEWS, tmac/groff_man.man, doc/groff.texinfo: Document it.
5473 2003-03-07 Werner LEMBERG <wl@gnu.org>
5475 Added support to access more than 256 glyphs in Type 1 fonts.
5477 * src/devices/grops/ps.cc (subencoding): New structure.
5478 (style): Add `sub' field.
5480 (ps_printer): Add `subencodings' and `next_subencoding_index' fields.
5481 Add `set_subencoding', `get_subfont' and `encode_subfont' member
5484 (ps_printer::set_char): Use `set_subencoding'.
5485 (make_subencoding_name): New function.
5486 (ps_printer::set_style): Handle case where `sty.sub' is not zero.
5487 (ps_printer::~ps_printer): Emit subencoding definitions.
5489 * src/devices/grops/psrm.cc (valid_input_table): New array to
5490 properly support EBCDIC.
5491 (white_space): Add `\f'.
5492 (ps_get_line): Change first argument to be of type `string &'.
5493 Updated all callers.
5494 This allows to get lines of arbitrary length.
5495 Use `valid_input_table'.
5496 Remove warning about non-conforming PS line length. This seems
5497 not to be of great importance -- for example, dvips don't emit
5499 (PS_LINE_MAX): Removed.
5500 (matches_comment): Change first argument to be of type `string &'.
5502 * src/devices/grops/grops.man, src/devices/grops/TODO: Updated.
5504 * src/utils/afmtodit/afmtodit.pl (%unicode_decomposed,
5505 %AGL_to_unicode, %default_ligatures): New hash tables.
5506 Read all map entries.
5507 Add unencoded characters.
5508 Check for default ligatures if there are no `L' entries.
5509 Print all kern entries.
5510 Print all characters in charset.
5511 * src/utils/afmtodit/afmtodit.man: Updated.
5513 * font/devps/*: Regerated all fonts.
5515 * tmac/latin[129].tmac, tmac/cp1047.tmac: Don't test for existence
5516 of characters, just use `.trin'. Otherwise the mapping depends
5517 on the font encoding.
5518 * tmac/ps.tmac: Add `fi' and `fl'.
5519 Improve `Fi' and `Fl'.
5520 * tmac/X.tmac, tmac/lbp.tmac, tmac/tty.tmac: Improve `Fi' and `Fl'.
5521 * tmac/Xps.tmac: Fix `em'.
5525 2003-03-04 Werner LEMBERG <wl@gnu.org>
5527 * src/roff/troff/input.cc (charinfo_to_node_list): Reset
5530 2003-03-03 Werner LEMBERG <wl@gnu.org>
5532 * Makefile.sub (DISTCLEANFILES): Add gxditview._man.
5534 * font/devps/generate/textmap: Remove entry `similarequal'.
5535 * font/devps/symbolmap: Updated.
5537 2003-03-02 Werner LEMBERG <wl@gnu.org>
5539 * src/libs/libgroff/font.cc (font::load): Fix error message for
5542 * src/devices/grops/grops.man: Improve documentation of the -b
5545 * tmac/tty.tmac: Load latin1.tmac for all TTY devices except
5546 `ascii' and `cp1047'.
5548 2003-03-01 Werner LEMBERG <wl@gnu.org>
5550 Document composite glyphs and the `composite' request.
5552 * man/groff.man, man/groff_diff.man, doc/groff.texinfo: Do it.
5554 2003-02-28 Werner LEMBERG <wl@gnu.org>
5556 * font/devdvi/generate/ec.map: Add some more Unicode entities.
5557 * font/devdvi/*EC: Updated.
5559 * tmac/composite.tmac, tmac/latin2.tmac, tmac/latin9.tmac: New files.
5560 * tmac/latin1 (latin1-tr): Undo any previous mapping.
5561 * tmac/troffrc: Load `composite.tmac'.
5562 * tmac/Makefile.sub (NORMALFILES): Updated.
5564 * doc/groff.texinfo (Input Encodings): New section.
5567 2003-02-27 Werner LEMBERG <wl@gnu.org>
5569 * doc/texinfo.tex: New version 2003-02-11.06.
5571 * tmac/doc-common (Dt): Don't emit warning for unknown section.
5572 * tmac/groff_mdoc.man: Fix description of `Dt'.
5574 2003-02-26 Egil Kvaleberg <egil@kvaleberg.no>
5576 * font/devps/prologue.ps: Fix for included Postscript that does
5577 a setpagedevice -- which is now safely ignored.
5581 * src/devices/grops/ps.cc: Now sets the page size in the generated
5582 document. This is done in two ways: Via a %%-comment for gv and
5583 the like, and via a PageSize and setpagedevice for programs that
5584 understands Postscript proper, like ps2pdf.
5586 * src/devices/grops/ps.h: New broken-flag to avoid page size
5587 definition, if required.
5589 * src/devices/grops/grops.man: New broken-flag 16 mentioned.
5591 * doc/Makefile.in: Added -nosetpage flag (via @pnmtops_nosetpage@).
5592 Not really necessary due to the fix in prologue.ps, but cleaner:
5593 Such information does not belong in an .eps file.
5595 * doc/Makefile.sub: See doc/Makefile.in.
5597 2003-02-26 Ralph Corderoy <ralph@inputplus.co.uk>
5599 * aclocal.m4 (GROFF_PNMTOPS_NOSETPAGE): Use P2 format for testing
5600 instead of P1 since the latter is broken in some versions of netpbm.
5601 * configure: Updated.
5603 2003-02-26 Larry Kollar <kollar@alltel.net>
5605 Make man pages more customizable.
5607 * tmac/an-old.tmac (FT): New register holding footer distance from
5609 (HF): New string holding the default heading font.
5610 (TH): Handle registers `IN' and `SN' set on the command line.
5612 (PT, BT): New strings to customize header and footer lines.
5613 (an-header, an-footer): Use them.
5615 * tmac/groff_man.man: Document changes.
5617 * doc/groff.texinfo: Document man changes.
5618 Document Ultrix extensions of man.
5620 2003-02-26 Werner LEMBERG <wl@gnu.org>
5622 * src/roff/troff/input.cc (do_width, do_if_request): Reset
5623 `have_input' after changing back to old environment.
5625 * src/devices/grolbp/lbp.cc (lbp_printer::set_line_thickness): Move
5626 function up to be defined before first call. This is necessary to
5627 avoid a compilation problem with Sun's WorkShop 6 C++ compiler.
5629 * src/utils/afmtodit/afmtodit.pl: Make script search for files in
5630 the default font directory also. Based on a patch from James
5631 J. Ramsey <jjramsey_6x9eq42@yahoo.com>.
5632 * src/utils/afmtodit/Makefile.sub (afmtodit): Handle @FONTDIR@.
5633 * src/utils/afmtodit/afmtodit.man: Document it.
5637 * tmac/groff_man.man, doc/groff.texinfo: Many minor fixes.
5639 2003-02-25 Gaius Mulley <gaius@glam.ac.uk>
5641 * aclocal.m4 (GROFF_HTML_PROGRAMS): Add test for pnmtops.
5642 (GROFF_PNMTOPS_NOSETPAGE): New macro.
5643 * configure.ac: Use it.
5644 * configure: Regenerated.
5645 * Makefile.in: Updated.
5647 * tmac/Makefile.sub (NORMALFILES): Remove www.tmac.
5648 (CLEANADD): Add www.tmac-sed.
5649 (pnmtops_nosetpage): Define default.
5650 (install_data): Handle www.tmac-sed and substitute
5651 @PNMTOPS_NOSETPAGE@.
5652 (stamp-sed): Add www.tmac.
5653 * tmac/www.tmac: Rewritten, based on a patch by Bernd Warken.
5654 It now breaks URLs at suitable places.
5655 (www:substring_ok): New register set by...
5656 (www:@test_substring): New macro.
5657 (www:error): New alias to www-error.
5658 (www:lenstr, www:splitstr, www:url_breaks, www:url_breaks_splitted):
5660 (URL): Use www:url_breaks.
5661 (PIMG, MPIMG): Use @PNMTOPS_NOSETPAGE@.
5662 (CDS, CDE): New macros.
5664 2003-02-25 Werner LEMBERG <wl@gnu.org>
5666 * src/devices/grops/ps.cc (ps_printer::define_encoding): Avoid
5669 2003-02-24 Werner LEMBERG <wl@gnu.org>
5671 Contrary to the PCL5 Developer's Guide, the ascenders in TFM files
5672 can be negative also.
5674 * src/utils/hpftodit/hpftodit.cc (char_info): `ascent' must be
5676 (read_char_table): Avoid negative ascenders.
5677 (output_charset): Add cast.
5678 * font/devlj4/*: Regenerated.
5680 Replace unnamed glyphs for DVI fonts with `uXXXX' glyph names where
5683 * font/devdvi/generate/{tc,texttt,ec,texmi,texsy,textex}.map: Do it.
5684 * font/devdvi/generate/textex.map: Map glyph 23 to `u21C6' instead
5686 * font/devdvi/*: Regenerated.
5688 Map `la' and `ra' to U+27E8 and U+27E9. These two characters have
5689 normal width, while the previously used characters (U+2329 and
5690 U+232A) are classified as wide due to canonical equivalence with the
5691 CJK punctuation characters U+3008 and U+3009.
5693 * font/devutf8/R.proto: Updated.
5694 * src/roff/troff/uniglyph.cc, src/roff/troff/glyphuni.cc: Ditto.
5696 * man/groff_char.man: Simplify handling of table traps by
5697 introducing `start block' and `end block' macros.
5698 (Ns, Ne, 2s, 2e, Ds, De): New macros.
5699 (DL): Make it work with Unix troff also.
5700 Fix code values of `la' and `ra'.
5702 * tmac/dvi.tmac: Define `<>' for CW and CWI.
5704 2003-02-23 Gaius Mulley <gaius@glam.ac.uk>
5706 * src/devices/grohtml/post-html.cc (element_list::~element_list):
5707 New destructor, fixing a major memory leak.
5709 2003-02-22 Werner LEMBERG <wl@gnu.org>
5711 * font/devhtml/R.proto, font/devutf8/R.proto: Flip `*f' and `+f'
5712 to be in conformance with Unicode 3.0 and newer.
5714 * font/devlj4/generate/text.map: Add `Eu'.
5715 * font/devlj4/generate/special.map: Flip `*e' and `+e'.
5716 * font/devlj4/S: Regenerated.
5718 * man/groff_char.man: Completely rewritten.
5720 * doc/groff.texinfo: Fix description of request and macro arguments.
5722 2003-02-20 Gaius Mulley <gaius@glam.ac.uk>
5726 * src/devices/grohtml/html-table.cc (html_table::~html_table):
5727 Deallocate `columns' list.
5728 * src/devices/grohtml/post-html.cc (char_block::~char_block):
5730 (text_glob::text_glob_html, text_glob::text_glob_special,
5731 text_glob::text_glob_line, text_glob::text_glob_auto_image,
5732 text_glob::text_glob_tag): Avoid memory leaks.
5733 (text_glob::remember_table): Free memory before reassigning.
5735 2003-02-19 Werner LEMBERG <wl@gnu.org>
5737 Add glyph `+e', greek lunate epsilon symbol, and `-h' (with the
5738 alias `hbar'), the Planck constant over two pi.
5740 * font/devdvi/generate/texmi.map: Use `*e' for position 15 and
5741 `+e' for position 34.
5742 * font/devdvi/generate/texsy.map: Replace `DI' and `HE' with
5743 `u2662' and `u2661'.
5744 * font/devdvi/{MI,S}: Regenerated.
5745 * font/devhtml/R.proto, font/devutf8/R.proto: Add `+e', `-h', `hbar'.
5746 * font/devlbp/*: Add `hbar' alias.
5747 * font/devlj4/generate/special.map: Ditto.
5748 * font/devlj4/S: Regenerated.
5749 * font/devps/generate/symbolchars: Add `+e'.
5750 * font/devps/generate/textmap: Fix PS name for `-h'.
5752 * font/devps/symbolmap: Regenerated.
5754 * src/devices/grops/ps.cc (transform_fill): Removed since unused.
5756 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `+e',
5758 * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `+e',
5761 * tmac/X.tmac, tmac/ps.tmac: Provide definitions for `-h' and
5763 * tmac/tty-char.tmac: Add `+e'.
5765 2003-02-17 Werner LEMBERG <wl@gnu.org>
5767 Another round trying to really fix problems with `have_input'.
5769 * src/roff/troff/input.cc (input_stack::get): Handle `have_input'.
5770 (token::next) <'\n'>, <\'\n'>: Don't handle `have_input'.
5772 * src/devices/grotty/tty.cc (tty_printer::put_color): Fix color
5773 handling if both foreground and background colors are default.
5775 * doc/groff.texinfo (Debugging): Document .lf differences to
5778 2003-02-16 Werner LEMBERG <wl@gnu.org>
5780 * src/devices/grotty/tty.cc (tty_printer::make_rgb_string): Avoid
5781 null-bytes in created string.
5783 * src/roff/troff/input.cc (lookup_color, interpolate_macro,
5784 alias_macro, lookup_request): Improve warning messages.
5786 * src/roff/troff/node.cc (suppress_node::tprint): Use `strsave',
5788 Free `last_image_filename'.
5790 * src/preproc/html/pre-html.cc (char_block::char_block): Initialize
5792 (imageList::createPage, imageList::createImage): Use `free', not
5794 (imageItem::~imageItem): Free `imageName'.
5795 (addRegDef): Use `strsave', not `strdup'.
5796 (get_resolution): Free `pathp'.
5798 2003-02-15 Werner LEMBERG <wl@gnu.org>
5800 * src/devices/grotty/tty.cc (tty_printer::tty_printer): Fix pointer
5803 2003-02-14 Werner LEMBERG <wl@gnu.org>
5805 Add memory management for colors to deallocate unnamed colors
5808 * src/include/color.h (color): New members `free_list' and `next'.
5809 New member functions `new' and `delete'.
5811 * src/libs/libgroff/color.cc: Implement it.
5813 * src/libs/libgroff/font.cc (font::add_kern): Use integer cast
5814 for array size of new operator.
5816 * src/libs/libdriver/input.cc (IntArray::operator[]): Remove
5817 redundant comparison.
5819 * src/roff/troff/input.cc (word_space_node::reread,
5820 hmotion_node::reread): Avoid warning about unused parameter.
5821 (reset_output_registers): Remove redundant parameter.
5822 (define_color): Undo change 2003-02-12.
5824 * src/roff/troff/reg.h: Updated.
5826 * src/roff/troff/node.cc (troff_output_file::really_print_line,
5827 output_file::put_filename, real_output_file::really_put_filename,
5828 ascii_output_file::really_print_line,
5829 break_char_node::get_hyphen_list): Avoid warning about unused
5831 (suppress_node::tprint): Updated.
5833 * configure.ac: Check declaration for rand() and srand().
5834 * configure: Regenerated.
5836 * src/preproc/pic/pic.h: Declare fmod(), rand(), and srand()
5838 * src/preproc/pic/pic.y: Remove declaration of fmod(), rand(),
5841 * src/preproc/eqn/delim.cc (delim_table): Add missing initializers
5842 to avoid compiler warnings.
5844 * src/preproc/grn/hgraph.cc (HGPrintElt): Second parameter is
5847 * src/devices/grops/ps.cc (ps_printer::set_char): Last parameter
5849 * src/devices/grops/psrm.cc (skip_possible_newline): Remove first
5851 Updated all callers.
5853 * src/devices/grotty/tty.cc (tty_printer::set_char): Last parameter
5855 * src/devices/grodvi/dvi.cc (dvi_printer::set_char): Ditto.
5856 * src/devices/grolj4/lj4.cc (lj4_printer::set_char): Ditto.
5858 * src/devices/grohtml/post-html.cc (html_printer::emit_line):
5859 Parameter is unused.
5860 (html_printer::add_table_end): Define parameter conditionally.
5861 * src/devices/grohtml/output.cc (simple_output::special): Parameter
5864 * src/devices/grolbp/lbp.cc: Define _GNU_SOURCE conditionally.
5865 (lbp_printer::set_char): Last parameter is unused.
5867 * src/utils/indxbib/indxbib.cc (main): Remove redundant comparison.
5869 2003-02-13 Werner LEMBERG <wl@gnu.org>
5871 New commands \D'Fr ...', \D'Fc ...', etc. for orthogonality.
5872 Make \D'f ...' move horizontally again for backwards compatibility.
5873 Replace it with \D'Fg ...' where appropriate to avoid dependency
5874 on horizontal resolution.
5876 * src/roff/troff/input.cc (do_get_long_name): New function.
5877 (get_long_name): Call it.
5879 (read_draw_node): Handle `\D'Fx ...' by calling ...
5880 (read_color_draw_node): New function.
5882 (read_rgb, read_cmy, read_cmyk, read_gray): New optional argument
5884 Pass it to `do_get_long_name' which is used instead of
5887 * src/libs/libdriver/input.cc (color_from_Df_command): Remove
5888 unnecessary value guard.
5889 (parse_D_command) <'f'>: Add horizontal shift.
5891 * src/preproc/grn/hgraph.cc (HGPrintElt) <POLYGON>: Use \D'Fg ...'.
5892 * src/preproc/pic/troff.cc (troff_output::set_fill): Ditto.
5893 (FILL_MAX): Removed.
5895 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
5898 2003-02-12 Werner LEMBERG <wl@gnu.org>
5900 * src/roff/troff/input.cc (do_name_test, do_expr_test,
5901 do_zero_width): Push `\n' if closing delimiter is missing.
5903 (token::next) <ESCAPE_NEWLINE>, <'\n'>, <\'\n'>: Reset `have_input'.
5904 <'F'>: Make \F non-transparent at the beginning of line.
5905 (process_input_stack) <token::TOKEN_CHAR, token::TOKEN_NEWLINE,
5906 token::TOKEN_REQUEST, token::TOKEN_BEGIN_TRAP>: Don't handle
5909 (define_color): Free color in case of reassignment.
5911 * doc/groff.texinfo (@Defesc, @DefescList, @DefescItem,
5912 @DefescListEnd): Use @Var, not @var.
5915 * src/preproc/grn/hgraph.cc (HGPrintElt): Fix typo.
5917 * src/preproc/pic/object.cc (object_spec::~object_spec): Free
5918 `shaded' and `outlined' arrays.
5919 (object_spec::object_spec): Initialize `shaded' and `outlined'.
5920 (graphic_object::set_fill_color, graphic_object::set_outline_color):
5922 (closed_object::set_fill_color): Ditto.
5923 * src/preproc/pic/troff.cc (troff_output::set_color): Use strsave
5925 (troff_output::reset_color): Use a_delete instead of free.
5926 * src/preproc/pic/main.cc (do_file): Free `out' in case of error.
5928 2003-02-11 Werner LEMBERG <wl@gnu.org>
5930 * doc/groff.texinfo: Improve documentation of `ad'.
5931 Document that \D'f...' is dependent on the horizontal resolution.
5932 * man/groff_diff.man: Improve documentation of \D'f...'.
5934 * src/preproc/grn/hgraph.cc (HGPrintElt) <POLYGON>: Don't emit
5935 compensating \h'...' for \D'f ...' since the latter no longer moves
5937 * src/preproc/pic/troff.cc (troff_output::set_fill): Ditto.
5939 2003-02-10 Werner LEMBERG <wl@gnu.org>
5941 Improve error messages for `x F' (and `F') commands.
5943 * src/include/error.h: Add declaration for
5944 `current_source_filename'.
5945 * src/libs/libgroff/filename.cc: Add `current_source_filename'.
5946 * src/libs/libgroff/error.cc (do_error_with_file_and_line): Add
5947 parameter for source file string.
5948 Updated all callers.
5950 * src/libs/libdriver/input.cc: Add `current_source_filename'.
5951 (remember_source_filename): New function.
5952 (parse_x_command <'F'>, do_file <'F'>): Use it.
5954 2003-02-09 Werner LEMBERG <wl@gnu.org>
5956 Make grotty not emit warnings about unknown colors more than
5959 * src/devices/grotty/tty.cc: Include `ptable.h'.
5960 (TTY_MAX_COLORS): Removed.
5961 (DEFAULT_COLOR_IDX): Defined to -1.
5962 (glyph): Change `back_color_idx' and `fore_color_idx' to `char'.
5963 (tty_printer): Change `curr_back_idx' and `curr_fore_idx' to `char'.
5964 Change `tty_colors' to be a ptable.
5965 First arg of `put_color' is now `char'.
5966 New functions `make_rgb_string' and `tty_color'.
5967 (tty_printer::tty_printer): Use `tty_color'.
5968 (tty_printer::color_to_idx): Return value is now `char'.
5971 * src/include/color.h (color): Add `print_color' member function.
5972 * src/libs/libgroff/color.cc (color::print_color): Implement it.
5974 2003-02-08 Werner LEMBERG <wl@gnu.org>
5978 * src/devices/grops/ps.cc (ps_printer::define_encoding): Close
5981 * src/include/ptable.h (PTABLE::~PTABLE, PTABLE::define): Always
5982 assume that value has been allocated with `new[]', thus use
5983 `a_delete' for deallocation.
5985 * src/libs/libdriver/input.cc (get_integer_arg,
5986 get_possibly_int_args, parse_x_command, do_file): Use `a_delete'
5989 * src/libs/libgroff/new.cc (delete) [!COOKIE_BUG]: Define.
5990 * src/libs/libgroff/nametoindex.cc
5991 (character_indexer::named_char_index): Use `new <type>[1]'.
5993 * src/preproc/eqn/lex.cc (init_table, do_definition): Use `new
5995 * src/preproc/eqn/text.cc (set_special_char_type): Ditto.
5996 (split_text): Use `a_delete'.
5998 * src/preproc/pic/pic.y (define_label, define_variable): Use `new
6001 * src/roff/troff/env.cc (environment::choose_breakpoint): Avoid
6002 harmless memory leak.
6003 (hyphen_trie::read_patterns_file): Initialize `buf'.
6004 * src/roff/troff/node.cc (troff_output_file::troff_output_file):
6005 Initialize `current_fill_color'and `current_glyph_color'.
6006 * src/roff/troff/glyphuni.cc
6007 (glyph_to_unicode_init::glyph_to_unicode_init): Use `new <type>[1]'.
6008 * src/roff/troff/uniuni.cc
6009 (unicode_decompose_init::unicode_decompose_init): Ditto.
6010 * src/roff/troff/uniglyph.cc
6011 (unicode_to_glyph_init::unicode_to_glyph_init): Ditto.
6013 2003-01-26 Werner LEMBERG <wl@gnu.org>
6015 * src/utils/indxbib/indxbib.cc (main) [__EMX__]: Check with
6016 `access' before calling `unlink'.
6017 (do_file): Handle __EMX__.
6019 * src/include/nonposix.h: Handle __EMX__.
6021 * Makefile.in (SEP): New variable; set to @PATH_SEPARATOR@.
6022 (fontpath,tmacpath): Use it.
6024 Sorted alphabetically.
6026 * src/preproc/eqn/neqn.sh, src/roff/nroff/nroff.sh: Use
6028 * src/preproc/eqn/Makefile.sub, src/roff/nroff/Makefile.sub: Handle
6031 2003-01-27 Werner LEMBERG <wl@gnu.org>
6033 * src/libs/libgroff/strcasecmp.c, src/libs/libgroff/strncasecmp.c:
6034 New files, copied from gnulib.
6035 * src/libs/libgroff/Makefile.sub (CSRCS): Add them.
6036 * configure.ac: Updated.
6037 * configure: Regenerated.
6039 * src/include/config.hin: Regenerated.
6040 * src/include/lib.h [!HAVE_STRCASECMP]: Declare `strcasecmp'.
6041 Don't define `strcasecmp' as `strcmp'.
6042 [!HAVE_STRNCASECMP]: Declare `strncasecmp'.
6043 Dont define `strncasecmp' as `strncmp'.
6045 * src/roff/groff/pipeline.c [!HAVE_STRCASECMP, !HAVE_STRNCASECMP]:
6048 2003-01-26 Werner LEMBERG <wl@gnu.org>
6050 * src/utils/indxbib/indxbib.cc (main) [__EMX__]: Fix typo:
6053 2003-01-25 Werner LEMBERG <wl@gnu.org>
6055 * doc/groff.texinfo (Ligatures and Kerning): Mention limitations.
6057 2003-01-24 Werner LEMBERG <wl@gnu.org>
6059 Add US-english hyphenation exceptions (converted from Barbara
6060 Beeton's hyphenation exception log reports which appear irregularly
6063 * tmac/hyphen.us: Updated to latest version.
6064 * tmac/README: Updated.
6065 * tmac/hyphenex.us, tmac/hyphenex.sh: New files.
6066 * tmac/troffrc: Load `hyphenex.us'.
6067 * tmac/Makefile.sub (NORMALFILES): Add `hyphenex.us'.
6068 * doc/groff.texinfo: Updated.
6070 2003-01-23 Werner LEMBERG <wl@gnu.org>
6072 Improve hyphenation slightly. This is a first step in redesigning
6073 the hyphenation algorithm to make it more flexible (e.g. allowing
6074 kerns and ligatures between the hyphenation character and the
6075 following character -- while not used normally in English, other
6076 languages like German would benefit).
6078 * src/roff/troff/env.cc (environment::hyphenate_line): Use
6079 assertion instead of if-clause.
6080 Let `get_hyphen_list' return the number of involved characters in
6081 the hyphenation pattern instead of computing it directly (which
6082 often yields too small values).
6083 * src/roff/troff/node.h (*::get_hyphen_list): Add second parameter.
6084 * src/roff/troff/node.cc (*::get_hyphen_list): Handle new second
6087 2003-01-22 Werner LEMBERG <wl@gnu.org>
6089 Fixing a bug which caused groff to hang if the hyphenation exception
6090 dictionary tried to grow.
6092 * src/roff/troff/env.cc (hyphen_trie::insert_hyphenation,
6093 hyphen_trie::read_patterns_file, do_hyphenation_patterns_file): Use
6094 pointer to dictionary.
6096 2003-01-20 Werner LEMBERG <wl@gnu.org>
6098 * src/utils/afmtodit/afmtodit.pl: Add switch `-m' to suppress
6099 negative left italic correction.
6100 * src/utils/afmtodit/afmtodit.man: Document it.
6102 * font/devps/generate/Makefile (RFLAG): Add `-m'.
6103 * font/devps/{AB,AR,BMB,BMR,CB,CR,EURO,HB,HR,HNB,HNR,NB,NR,PB,PR,
6104 S,TB,TR,ZD,ZDR}: Regenerated with afmtodit options `-i 0 -m'.
6108 2003-01-16 Werner LEMBERG <wl@gnu.org>
6112 2003-01-16 Jörgen Grahn <jgrahn@algonet.se>
6114 * src/preproc/refer/refer.man: Mention REFER environment variable.
6116 2003-01-05 Werner LEMBERG <wl@gnu.org>
6118 Similar to \[is], the square root glyph (\[sr]) and the square root
6119 extension glyph (\[radicalex]) are now text symbols. The new
6120 mathematical versions are called \[sqrt] and \[sqrtex],
6123 * font/devX*/S: Regenerated.
6124 * font/devdvi/generate/texex.map: Rename `sr[0123]' to `sqrt[0123]'.
6125 * font/devdvi/generate/texsy.map: Rename `sr' to `sqrt'.
6126 * font/devdvi/EX, font/devdvi/S: Regenerated.
6127 * font/devhtml/R.proto, font/devutf8/R.proto: Add `sqrt'.
6128 * font/devlj4/generate/special.map: Add `sqrt'.
6129 * font/devlj4/S: Regenerated.
6130 * font/devps/generate/textmap: Add `sqrt'.
6131 * font/devps/S, font/devps/symbolmap: Regenerated.
6133 * src/preproc/eqn/sqrt.cc (SQRT_CHAR, RADICAL_EXTENSION_CHAR,
6134 SQRT_CHAIN, BAR_CHAIN): Use `sqrt*' and `sqrtex*'.
6135 * src/roff/troff/input.cc (init_charset_table): Make `sqrtex'
6136 overlap horizontally.
6138 * tmac/X.tmac, tmac/ps.tmac, tmac/lj4.tmac: Add `sqrtex'.
6139 * tmac/dvi.tmac: Add `sr', and `sqrtex'.
6142 * doc/groff.texinfo, man/groff_diff.man: Document that `radicalex'
6143 and `sqrtex' are overlapping glyphs.
6145 2003-01-04 Werner LEMBERG <wl@gnu.org>
6147 * font/devdvi/generate/texsy.map: Add `is'.
6148 * font/devps/symbolmap: Regenerated.
6149 * font/devdvi/*TC, MI, S: Regenerated.
6151 * tmac/dvi.tmac: Remove `is'.
6153 2003-01-03 Werner LEMBERG <wl@gnu.org>
6155 `is' is now a text symbol (only relevant for dvi). The math variant
6156 can be accessed with `integral'.
6158 * font/devX*/S: Regenerated.
6159 * font/devdvi/generate/texex.map: Remove `is'.
6160 * font/devdvi/EX: Updated.
6161 * font/devhtml/R.proto, font/devutf8/R.proto: Add `integral'.
6162 * font/devlj4/generate/special.map: Ditto.
6163 * font/devlj4/S: Regenerated.
6164 * font/devps/generate/textmap: Add `integral'.
6165 * font/devps/S: Regenerated.
6167 * tmac/dvi.tmac: Define `is'.
6169 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `integral'.
6171 * src/preproc/tbl/main.cc (process_format): Fix error message.
6173 2003-01-02 Werner LEMBERG <wl@gnu.org>
6175 * font/devhtml/R.proto, font/devutf8/R.proto: Add `ne' and `nc'.
6176 * font/devps/textmap: Fix entries for `ne' and `nc'.
6177 * font/devps/symbolmap: Regenerated.
6179 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list),
6180 src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `18',
6181 `38', `58', `78', `-+', `|=', `nc', `ne'.
6183 * tmac/dvi.tmac: Add `nm', `ne', `nc'.
6184 Use `schar' for `aq'.
6185 * tmac/ps.tmac, tmac/X.tmac: Add `nc' and `ne'.
6186 * tmac/ec.tmac: Add `SC' to special fonts for `CW' and `CWI'.
6187 * tmac/tty.tmac: Add `ne'.
6189 * src/roff/troff/node.cc (make_glyph_node): Test with `get_macro'
6190 for fallback glyphs.
6192 2002-12-29 Werner LEMBERG <wl@gnu.org>
6196 * font/devX*/*: Regenerated.
6197 * font/devdvi/generate/ec.map: Remove `eq'.
6198 * font/devdvi/generate/texsy.map: Make `~=' the same as `~~'.
6199 Assign `|=' to position 39.
6200 * font/devdvi/*EC, S: Regenerated.
6201 * font/devhtml/R.proto, font/devutf8/R.proto: Add `|='.
6202 * font/devlj4/generate/special.map: Make `~=' the same as `~~'.
6203 Assign `|=' to position 549.
6204 * font/devps/generate/textmap, font/devps/enerate/symbolmap: Remove
6206 Add `uni2243' for `|='.
6208 * tmac/ec.tmac: Add `eq'.
6209 * tmac/dvi.tmac: Add `=~'.
6210 * tmac/tty-char.tmac, tmac/ps.tmac, tmac/X.tmac, tmac/lbp.tmac: Add
6213 2002-12-21 Werner LEMBERG <wl@gnu.org>
6215 * font/devdvi/generate/tc.map: Remove `**'.
6216 * font/devdvi/*TC: Regenerated.
6217 * font/devhtml/R.proto, font/devutf8/R.proto: Add `18', `38', `58',
6219 * font/devutf8/NOTES: Updated.
6221 * src/roff/troff/charinfo.h (charinfo): Add `setx_macro' function.
6222 Don't give default parameter to `set_macro'.
6223 * src/roff/troff/input.cc (do_define_character): Use `setx_macro'
6224 instead of `set_macro'.
6225 (charinfo::setx_macro): Implement it.
6226 (charinfo::set_macro): Don't change `mode'.
6228 * tmac/tty.tmac: Add `18', `38', `58', `78', `<<', `>>'.
6229 * tmac/ps.tmac, tmac/X.tmac: Add `<<', `>>'.
6230 * tmac/dvi.tmac: Define `!=' with `.schar'.
6232 2002-12-20 Werner LEMBERG <wl@gnu.org>
6234 * font/devX*/S: Regenerated.
6235 * font/devdvi/generate/ec.map: Remove `pl'.
6236 * font/devdvi/generate/tc.map: Remove `mi', `14', `12', `34'.
6237 * font/devdvi/*{TC,EC}: Regenerated.
6238 * font/devhtml/R.proto: Add `-+'.
6239 Remove double entries for `rk', `lk', `lt', `rt', `rb', `lb'.
6240 * font/devlbp/*: Remove `or'.
6241 * font/devlj4/generate/special.map: Remove `or'.
6242 * font/devlj4/S: Regenerated.
6243 * font/devps/generate/textmap: Add `fiveeighths', `oneeighth',
6244 `seveneighths', `threeeighths'.
6246 Replace `minusplus' with `uni2213'.
6247 * font/devps/symbolmap: Regenerated.
6248 * font/devutf8/R.proto: Replace `shc' with unnamed glyph.
6251 * src/roff/troff/charinfo.h (charinfo): Add `is_normal' inline
6253 * src/roff/troff/node.cc (troff_output_file::put_char_width):
6254 Call glyph_color and fill_color even if tcommand_flag isn't set.
6255 (make_node, node::add_char): Check not ci->is_fallback but
6258 * tmac/lj4.tmac, tmac/lbp.tmac: Define `or'.
6259 * tmac/ec.tmac: Add .rchar entry for `f/'.
6260 Don't remove `12', `14', `34'.
6261 Define `pl' to be always roman.
6262 * tmac/ps.tmac (ps-frac, ps-frac-mono): New macros.
6263 Define `18', `38', `58', `78'.
6264 * tmac/tty.tmac: Add `-+'.
6265 * tmac/dvi.tmac: Define `f/'.
6266 (dvi-frac): Use `f/'.
6267 * tmac/X.tmac (X-frac, X-frac-mono): New macros.
6268 Define `18', `38', `58', `78'.
6270 2002-12-15 Colin Watson <cjwatson@debian.org>
6272 * contrib/pic2graph/pic2graph.sh: Add missing `;;'.
6274 2002-12-10 Werner LEMBERG <wl@gnu.org>
6276 Add glyph `tno', a textual variant of `no'.
6278 * font/devX*/*: Regenerated.
6279 * font/{devcp1047,devlatin1,devutf8,devhtml}/R.proto: Add `tno'.
6280 * font/devdvi/generate/{tc.map: Replace `no' with `tno'.
6281 * font/devdvi/generated/{texsy,textex}.map: Add `tno'.
6282 * font/devdvi/*: Regenerated.
6283 * font/devlbp/*: Add `tno'.
6284 * font/devlj4/generate/tex.map: Replace `no' with `tno'.
6285 * font/devlj4/*: Regenerated.
6286 * font/devps/generate/textmap: Replace `no' with `tno'.
6287 * font/devps/generate/symbolchars: Add `no'.
6288 * font/devps/*: Regenerated.
6290 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `tno'.
6292 * tmac/cp1047.tmac, tmac/latin1.tmac: Replace `no' with `tno'.
6293 * tmac/tty-char.tmac: Add entry for `tno' and `3d'.
6297 * tmac/dvi.tmac: Replace most `\\' with `\E'.
6298 Add definition for `sd'.
6299 * tmac/X.tmac, tmac/ps.tmac: Replace most `\\' with `\E'.
6301 * tmac/eqnrc <dvi>: Use `integral' instead of `is' glyph.
6303 2002-12-08 Werner LEMBERG <wl@gnu.org>
6305 * tmac/an-old.tmac (TH): Use integer value for `IN' if in nroff
6306 mode to avoid rounding errors.
6307 (an-do-tag, an-do-tag-html, RS, RE): Remove redundant `.br'.
6309 * src/roff/groff/groff.man, src/roff/nroff/nroff.man,
6310 src/roff/troff/troff.man: Improve documentation of -T.
6312 2002-12-07 Jeff Conrad <jeff_conrad@msn.com>
6314 * src/roff/groff/pipeline.c: Don't define `const' for _WIN32.
6315 (run_pipeline) [_WIN32]: Provide working function without `fork'.
6317 2002-12-06 Werner LEMBERG <wl@gnu.org>
6319 * font/devps/generate/freeeuro.sfd: Make dimensions of Euro.symbol
6320 glyphs compatible to Adobe's Euro fonts (scaling them down a bit).
6321 Scaling Euro.sansserif glyphs down to have the same height as
6323 Removed unnecessary points; added some extrema.
6325 * font/devps/EURO, font/devps/freeeuro.afm, font/devps/freeeuro.pfa:
6328 2002-12-04 Werner LEMBERG <wl@gnu.org>
6330 * font/devps/generate/freeeuro.sfd: Add glyphs `Euro.symbol.slanted'
6331 and `Euro.symbol.bold.slanted'.
6332 Improve some glyph offsets and widths.
6333 * font/devps/EURO, font/devps/freeeuro.afm, font/devps/freeeuro.pfa:
6335 * font/devps/generate/Makefile (freeeuro.afm freeeuro.pfa): Fix
6337 * font/devps/generate/sfdtopfa.pe: Generate PFA in current
6340 * tmac/europs.tmac: Updated to new glyph indices.
6341 Use Euro.symbol for font familiy `A'.
6343 * doc/groff.texinfo: Minor improvements.
6345 2002-12-02 Werner LEMBERG <wl@gnu.org>
6347 * font/devdvi/generate.tc.map: s/%O/%0/.
6348 * font/devdvi/*TC: Regenerated.
6350 * src/roff/troff/div.cc (init_div_requests): Sorted.
6352 * tmac/dvi.tmac: Remove `Ye'.
6353 * tmac/ec.tmac: Remove `Ye'.
6354 Add .rchar entry for `de'.
6356 * man/groff.man, man/groff_diff.man: Document register `.pe'.
6357 * doc/groff.texinfo: Document registers `.pe', `.n', and `.w'.
6360 2002-11-30 Werner LEMBERG <wl@gnu.org>
6362 Add PS font for various Euro glyphs.
6364 * font/devps/generate/freeeuro.sfd: New master font file for
6366 * font/devps/generate/sfdtopfa.pe: New conversion script for
6368 * font/devps/generate/Makefile (FONTS): Add `EURO'.
6369 (EURO, freeeuro.afm, freeeuro.pfa): New rules.
6370 * font/devps/freeeuro.pfa, font/devps/freeeuro.afm: Generated from
6372 * font/devps/EURO: Generated from `freeeuro.afm'.
6373 * font/devps/download: Add `freeuro.pfa'.
6374 * font/devps/Makefile.sub (NORMALFILES): Adde `EURO' and
6377 * tmac/europs.tmac: New file.
6378 * tmac/ps.tmac: Include `europs.tmac'.
6379 * tmac/Makefile.sub (DISTFILES): Add `europs.tmac'.
6381 2002-11-29 Werner LEMBERG <wl@gnu.org>
6383 * font/devdvi/generate/texsy.map: Remove `lh' and `rh'.
6384 * font/devdvi/S: Regenerated.
6385 * font/devhtml/R.proto: Fix `CR' and `ci'.
6387 * font/devps/generate/textmap: Fix `lh', `rh', and `sq'.
6389 * font/devps/symbolmap: Regenerated.
6390 * font/devutf8/R.proto: Fix `CR' and `ci'.
6392 * font/devutf8/NOTES: Updated.
6394 * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Fix `CR' and
6397 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Ditto.
6399 * tmac/dvi.tmac: Add `lh' and `rh'.
6400 * tmac/Xps.tmac: Fix `lh' and `rh'.
6401 * tmac/X.tmac: Add `OK'.
6402 * tmac/lj4.tmac: Ditto.
6404 2002-11-24 Werner LEMBERG <wl@gnu.org>
6406 * font/devX*/S: Regenerated.
6407 * font/devascii/R.proto, font/devcp1047/R.proto: Remove glyphs `lb',
6408 `lc', `lf', `lk', `lt', `rb', `rc', `rf', `rk', and `rt'.
6409 * font/devdvi/generate/texsy.map: Remove `or' glyph.
6410 * font/devdvi/S: Regenerated.
6411 * font/devhtml/R.proto, font/devutf8/R.proto: Add/fix glyphs
6412 `parenlefttp', `parenleftex', `parenleftbt', `parenrighttp',
6413 `parenrightex', `parenrightbt', `bracketlefttp', `bracketleftex',
6414 `bracketleftbt', `bracketrighttp', `bracketrightex',
6415 `bracketrightbt', `bracelefttp', `braceleftmid', `braceleftbt',
6416 `braceex', `braceleftex', `bracerightex', `bracerighttp',
6417 `bracerightmid', `bracerightbt', `lt', `lk', `lb', `rt', `rk',
6419 * src/roff/troff/glyphuni.cc, src/roff/troff/uniglyph.cc: Ditto.
6420 * font/devutf8/NOTES: Updated.
6421 * font/devlj4/generate/special.map: Add glyph `braceex'.
6422 * font/devlj4/S: Regenerated.
6424 * tmac/tty-char.tmac: Add glyphs `lf', `rf', `lc', and `rc'.
6426 2002-11-14 Werner LEMBERG <wl@gnu.org>
6428 * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `va'
6431 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Ditto.
6433 * doc/texinfo.tex: New version from texinfo 4.3.
6434 * doc/groff.texinfo: Updated for texinfo 4.3.
6435 Use @tie{} where appropriate.
6436 * font/devdvi/generate/ec.map: Don't include `or' and `bv'.
6437 * font/devdvi/generate/tc.map: Remove `rn'.
6438 * font/devdvi/*TC, font/devdvi/*EC: Regenerated.
6439 * font/devhtml/R.proto, font/devutf8/R.proto: Add `vA'.
6441 * font/devX100/*, font/devX100-12/*, font/devX75/*,
6442 font/devX75-12/*: Regenerated.
6444 * tmac/dvi.tmac: Add special fonts `SA' and `SB'.
6445 Use .char (again) for `br', `ul', `rn', `or', and `ru'.
6446 Improve definition of `an'.
6447 * tmac/ps.tmac: Use .char (again) for `br', `ul', `rn', `or', and
6449 * tmac/lj4.tmac: Use .char (again) for `br', `ul', `rn', and `ru'.
6450 * tmac/X.tmac: Add definition for `or'.
6451 * tmac/Xps.tmac: Undo change 2002-11-05.
6452 * tmac/lbp.tmac: Add definitions for `br', `rn', `ul', and `ru'.
6454 2002-11-11 Werner LEMBERG <wl@gnu.org>
6456 * src/roff/troff/node.cc (troff_output_file::put_char): Always
6459 2002-11-10 Werner LEMBERG <wl@gnu.org>
6461 Added three new requests `schar', `fschar', and `rfschar'. `schar'
6462 defines a glyph which is searched after the check for fonts declared
6463 with `.special' (and before the check for all mounted special
6464 fonts). `fschar' defines a glyph for a particular font which is
6465 searched after the check for fonts declared with `.fspecial' (and
6466 before the check for fonts declared with `.special'). `rfschar'
6467 removes glyphs defined with `fschar'.
6469 * src/roff/troff/token.h (char_mode): New enum.
6470 Declare do_define_character.
6471 * src/roff/troff/charinfo.h (charinfo): Replace `fallback' with
6473 (charinfo::is_fallback): Updated.
6474 (charinfo::is_special): New method.
6475 * src/roff/troff/input.cc (do_define_character): Add and use
6476 optional second parameter used as a prefix for font-specific glyph
6478 (define_character, define_fallback_character): Updated.
6479 (define_special_character): New function.
6480 (init_input_requests): Add `schar'.
6481 (charinfo::charinfo, charinfo::set_macro): Updated.
6482 * src/roff/troff/node.cc: Include `stringclass.h'.
6483 (make_glyph_node): Handle special glyphs defined with `.schar' and
6485 (define_font_special_character, remove_font_special_character): New
6487 (init_node_requests): Sorted.
6488 Add `fschar' and `rfschar'.
6489 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
6490 Document new requests.
6492 * font/devhtml/R.proto, font/devutf8/R.proto: Add `va'.
6493 * tmac/dvi.tmac: Add `va' for CW and CWI (using `.fschar').
6495 2002-11-08 Werner LEMBERG <wl@gnu.org>
6497 Added new font `SC' (cmtex10) to devdvi.
6499 * devdvi/generate/Makefile (FONTS): Add `SC'.
6501 * devdvi/generate/textex.map: New map file for cmtex.
6503 * devdvi/Makefile.sub (DEVFILES): Updated.
6504 * tmac/dvi.tmac: Add fspecial entries for SC.
6505 Add `MI', `S' and `CW' to the `special' call. Otherwise, `SC' is
6506 found before `S' since the font position of `SC' is lower due to the
6507 gaps in DESC's `font' line.
6508 * tmac/ec.tmac: Add a `special' call.
6511 * font/devhtml/R.proto: Remove double entry for `ti'.
6512 * tmac/tty.tmac: Add entries for `IJ', `ij', and `bq'.
6513 * tmac/tty-char.tmac: Remove entry for `bq'.
6514 * tmac/lbp.tmac: Add entries for `lq', `rq', `fo', `fc', and `em'.
6515 * tmac/ec.tmac: Don't remove `aq' glyph.
6516 * tmac/X.tmac: Fix entry for `em'.
6517 Add entries for `fo' and `fc'.
6518 * tmac/dvi.tmac: Add entries for `em', `en', `hy', `fo', and `fc'.
6520 * doc/groff.texinfo, man/groff.man, man/groff_diff.man: Fix
6521 documentation of `special' and `fspecial' requests.
6523 2002-11-05 Werner LEMBERG <wl@gnu.org>
6525 * font/devascii/R.proto, font/devcp1047/R.proto,
6526 font/devlatin1/R.proto: Remove entry for `.i'.
6527 * font/devdvi/generate/textt.map: Add entry for `ad'.
6528 * font/devdvi/generate/texr.map, font/devdvi/generate/texb.map,
6529 font/devdvi/generate/texi.map: Add dummy glyph name `slash@for@l'.
6530 We need this for getting kerning values to compose `/l' and `/L'.
6531 * font/devdvi: Regenerated font definition files for CM fonts.
6532 * font/devhtml/R.proto: Add entries for "'C", "'c", `IJ', and `ij'.
6533 * font/devutf8/R.proto: Ditto.
6534 Remove double entry for `ti'.
6536 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Fix entries
6537 for (groff) ligatures, `la', and `ra'.
6538 Add "'C", "'c", `IJ', and `ij'.
6539 Remove double entry for `ti'.
6540 * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Remove all
6542 Add "'C", "'c", `IJ', and `ij'.
6543 Fix entries for (groff) ligatures, `la', and `ra'.
6545 * tmac/ps.tmac (ps-achar): New macro.
6546 Define "'c" and "'C".
6547 * tmac/tty.tmac: Add entry for `.i'.
6548 * tmac/X.tmac (X-achar): New macro.
6549 Define "'c", "'C", and `:Y'.
6550 Add entries for `IJ' and `ij'.
6551 * tmac/Xps.tmac (Xps-achar): New macro.
6552 Define "'c" and "'C".
6553 Add entries for `IJ' and `ij'.
6554 * tmac/lbp.tmac (lbp-achar): New macro.
6555 Add fallback characters for all groff ligatures and many other
6557 * tmac/dvi.tmac: Fix definitions of `_' and `ul'.
6558 Add entries for `/l' and `/L'.
6559 Define "'c" and "'C".
6560 Add entries for `IJ' and `ij'.
6562 2002-11-02 Larry Kollar <kollar@alltel.net>
6564 * PROBLEMS: Document how to solve Mac OS X compilation problems.
6566 2002-11-02 Werner LEMBERG <wl@gnu.org>
6568 Adding support for composite glyphs: \[xxx yyy ...] and the
6569 `composite' request.
6571 * src/roff/troff/glyphuni.cc: New file for mapping groff glyph names
6572 to Unicode-based glyph names.
6573 * src/roff/troff/uniglyph.cc: New file for mapping Unicode-based
6574 glyph names to groff glyph names.
6575 * src/roff/troff/uniuni.cc: New file for canonically decomposing
6576 Unicode-based glyph names.
6577 * src/roff/troff/unicode.cc, src/roff/troff/unicode.h: New files
6578 for handling Unicode glyph names.
6579 * src/roff/troff/input.cc: Include unicode.h.
6580 (composite_glyph_name): New function.
6581 (token::next) <'['>: Handle Unicode glyph names and composite
6583 (composite_dictionary): New dictionary for the `composite' request.
6584 (composite_request): Implement `composite' request.
6585 (init_input_requests): Add `composite'.
6586 Alphabetically sorted.
6587 * src/roff/troff/env.cc (tabs_save, tabs_restore): Removed (already
6589 (init_env_requests): Alphabetically sorted.
6590 Removed `tas' and `tar' (already commented out).
6591 * src/roff/troff/Makefile.sub: Updated.
6593 2002-10-31 Ruslan Ermilov <ru@FreeBSD.org>
6595 * src/roff/nroff/nroff.man, src/roff/nroff/nroff.sh: Fix description
6598 2002-10-29 Werner LEMBERG <wl@gnu.org>
6600 Fix computation of .trunc register. Additionally, its value (and
6601 the value of the .ne register) is now always set before entering the
6604 * src/roff/troff/div.cc (diversion::need): Set `truncated_space' and
6605 `needed_space' before calling `space'.
6606 (top_level_diversion::space): Remove special code for 'sp before the
6608 Call `begin_page' with the discarded space as a parameter.
6609 (top_level_diversion::begin_page): Add optional parameter to set
6611 * src/roff/troff/div.h: Updated.
6613 * doc/groff.texinfo: Improve documentation of .sp, \n[.trunc], and
6616 * tmac/an-old.tmac (SH, SS, TP, IP, HP, TS): Undo change 2002-10-26.
6617 (LP): Remove superfluous call to `br'.
6618 * tmac/doc-common (doc-paragraph): Undo change 2002-10-26.
6619 * tmac/doc.tmac (Bd, Bl, doc-set-vertical-and-indent): Ditto.
6621 2002-10-26 Werner LEMBERG <wl@gnu.org>
6623 * tmac/doc-ditroff: Remove useless switch/variable -rC.
6624 (doc-setup-header): Don't set page register `%'.
6625 * tmac/doc-nroff: Remove variable `C'.
6626 (doc-setup-page-layout): Set doc-header-space to .5i unconditionally.
6627 (doc-setup-header): Don't set page register `%'.
6629 * tmac/doc-common (doc-header): Call `ns'.
6630 (doc-paragraph): Protect .sp with .br so that it survives traps
6631 possibly set by the user.
6632 * tmac/doc.tmac (Bd, Bl, doc-set-vertical-and-indent): Ditto.
6634 * tmac/doc*: Replace ' with . for consistency if no effect.
6636 2002-10-26 Werner LEMBERG <wl@gnu.org>
6638 * tmac/an-old.tmac (SH, SS, TP, IP, HP, TS): Protect .sp with .br
6639 so that it survives traps possibly set by the user.
6641 * src/roff/troff/node.cc: Fix the changes from 2002-10-23.
6642 (troff_output_file::set_font): Call flush_tbuf if necessary.
6643 (troff_output_file::fill_color, troff_output_file::glyph_color): Call
6644 flush_tbuf and do_motion only if necessary.
6645 (troff_output_file::start_special,
6646 troff_output_file::put_char_width, troff_output_file::put_char,
6647 troff_output_file::draw): Updated.
6648 (word_space_node::tprint, space_node::tprint, hmotion_node::tprint,
6649 vmotion_node::tprint): Undo change 2002-10-23.
6651 2002-10-25 Werner LEMBERG <wl@gnu.org>
6653 * tmac/www.tmac (DC): Fix case of overlapping images.
6655 2002-10-23 Werner LEMBERG <wl@gnu.org>
6657 * src/roff/troff/node.cc (troff_output_file::fill_color,
6658 troff_output_file::glyph_color): Set current color before testing
6660 (troff_output_file::put_char_width, troff_output_file::put_char,
6661 troff_output_file::draw): Don't call flush_tbuf and/or do_motion
6663 (troff_output_file::file_color, troff_output_file::glyph_color):
6665 (word_space_node::tprint, space_node::tprint, hmotion_node::tprint,
6666 vmotion_node::tprint): Move first, then call fill_color.
6668 2002-10-20 Werner LEMBERG <wl@gnu.org>
6670 * doc/groff.texinfo, man/groff_tmac.man: Document that it is not
6671 possible to use multiple main macro packages.
6673 2002-10-19 Werner LEMBERG <wl@gnu.org>
6675 * src/devices/grops/ps.cc (cmyk_flag): New global variable.
6676 (ps_printer::set_color): Set `cmyk_flag' for CMY and CMYK colors.
6677 (ps_printer::~ps_printer): Emit `%%Extensions: CMYK' if `cmyk_flag'
6679 * font/devps/prologue.ps (Fk, Ck): Enclose definitions with a
6680 `where' construction since `cmyksetcolor' is a PS Level 2 operator.
6682 2002-10-16 Werner LEMBERG <wl@gnu.org>
6684 * NEWS, doc/webpage.ms: Updated.
6686 2002-10-14 Werner LEMBERG <wl@gnu.org>
6688 * src/roff/troff/node.cc (troff_output_file::put_char_width,
6689 troff_output_file::put_char, troff_output_file::fill_color,
6690 troff_output_file::glyph_color): Handle case where color pointer
6693 2002-10-13 Ruslan Ermilov <ru@FreeBSD.org>
6695 Add the new -r option to grotty. It is similar to the -i option
6696 except it tells grotty(1) to use the `reverse video' attribute to
6697 render italic fonts.
6699 * src/devices/grotty/tty.cc (reverse_flag): New global variable.
6700 (SGR_REVERSE, SGR_NO_REVERSE): New macros.
6701 (tty_printer::make_underline, tty_printer::put_color,
6702 tty_printer::end_page): Use it.
6703 (main): Add -r switch.
6705 * src/devices/grotty/grotty.man: Document it.
6707 2002-10-11 Ruslan Ermilov <ru@FreeBSD.org>
6709 * src/roff/troff/env.cc (hyphen_trie::read_patterns_file): Add
6710 cast to `unsigned char' to properly read patterns with 8bit
6713 2002-10-08 Werner LEMBERG <wl@gnu.org>
6715 * REVISION: Increased to 2.
6718 version-control: never