1 2008-10-04 Werner LEMBERG <wl@gnu.org>
3 * tmac/doc-common (doc-operating-system-*): Update releases.
5 2008-10-04 Werner LEMBERG <wl@gnu.org>
7 * src/roff/troff/input.cpp (do_suppress): Make \O[3], \O[4], and
8 \O[5] non-transparent w.r.t. beginning-of-line recognition (similar
9 to the other \O variants).
11 * tmac/www.tmac (TS, TE, EQ, EN): Don't use .als for setting up
12 default macros. This causes endless loops (at least for TE).
14 * doc/groff.texinfo: Improve documentation of `.als'.
16 2008-10-03 Werner LEMBERG <wl@gnu.org>
18 * src/devices/grops/grops.man, src/roff/troff/troff.man,
19 src/preproc/soelim/soelim.man: Correct documentation of -I switch.
20 Reported by Larry Kollar.
21 Other minor formatting issues.
23 2008-10-02 Werner LEMBERG <wl@gnu.org>
25 * tmac/trace.tmac: Much improved.
26 (trace-full): New register to be set on the command line; it
27 controls whether number and string register assignments get traced
29 (!!c): New macro for comments.
30 (rm): New traced macro.
31 (de, de1, am, am1): Use \\[xxx]\\ calling method to pass \$0 to
32 `!!xxx'; this makes doc.tmac completely traceable.
33 Trace call of .de and friends also.
35 * tmac/groff_tmac.man, NEWS: Update.
37 2008-09-30 Werner LEMBERG <wl@gnu.org>
39 Restore behaviour of \$0 if a macro is called with string syntax
40 (problem caused by change on 2008-09-29).
42 * src/roff/troff/input.cpp (input_iterator, input_stack,
43 macro_iterator): Add `get_macro_name' member function.
44 (interpolate_string): Use it.
46 2008-09-29 Werner LEMBERG <wl@gnu.org>
48 Make \\*[xxx]\\ within a macro (with `xxx' a macro too) work as
49 expected. Without the patch,
60 prints `2 3' instead of `1 2 3'.
62 * src/roff/troff/input.cpp (input_iterator, input_stack,
63 macro_iterator): Add `get_arg_list' member function.
64 (macro): Add `is_a_string', `is_string', and `clear_string_flag'
66 Update constructors and operators.
67 (arg_list): Add copy constructor.
68 (macro_iterator): Add optional argument to constructor to indicate
69 whether arguments shall be inherited from calling macro.
70 (interpolate_string): If string argument is a macro, push a macro
71 iterator on the stack.
72 (do_define_macro): Call clear_string_flag if macro data contains a
75 * src/roff/troff/request.h: Updated.
77 2008-09-29 Eric S. Raymond <esr@snark.thyrsus.com>
79 * doc/pic.ms: Fold in documentation of pic2plot(1) capabilities.
80 Improve the documentation of text objects.
82 2008-09-28 Eric S. Raymond <esr@snark.thyrsus.com>
84 * contrib/pic2graph, contrib/pic2graph.man, contrib/eqn2graph,
85 contrib/eqn2graph.man: Tweak scripts to cope with incompatible
86 changes in ImageMagick crop options. Document the bugs.
88 2008-09-28 Werner LEMBERG <wl@gnu.org>
90 If a macro is called as a string, inherit value of \n[.br] from the
91 caller. This is useful for `trace.tmac'.
93 * src/roff/troff/input.cpp (string_iterator): New members
94 `with_break' and `get_break_flag'.
95 (string_iterator::string_iterator): Updated.
97 * doc/groff.texinfo: Improve documentation of \$0 and string syntax
99 Document behaviour of \n[.br] within strings.
101 2008-09-26 Werner LEMBERG <wl@gnu.org>
103 * tmac/trace.tmac: Add copyright message.
104 Use `.de1' where possible to make source code more readable.
105 (so, mso, als, rn): Restore escape character before executing the
107 (de, de1, am, am1): Trace `.foo' also if called as `\\[foo]'.
109 2008-09-24 Werner LEMBERG <wl@gnu.org>
111 Fix incompatibility between `.de1' and `.do'. Without this change,
112 the following snippet
120 prints 1 instead of 0.
122 * src/roff/troff/input.cc (do_request): If a macro gets processed,
124 (interpolate_macro): Add optional argument. Update callers.
125 (request::invoke): Add optional argument.
126 (macro::invoke): Add optional argument to delay call of tok.next().
128 * src/roff/troff/request.h (request_or_macro): Add argument to
129 `invoke' member. Update all derived classes.
131 * doc/groff.texinfo: Improve documentation of .do request.
133 2008-09-09 Werner LEMBERG <wl@gnu.org>
135 * tmac/an-old.tmac (FT): Initialize properly. Reported by Tadziu
138 2008-09-06 Werner LEMBERG <wl@gnu.org>
140 * tmac/doc-common (Dd, Os, Dt): Reset `doc-command-name' to make
141 `.Nm' work properly if next manual page is printed.
143 2008-08-20 Werner LEMBERG <wl@gnu.org>
145 * src/preproc/tbl/tbl.man: Document computation of element widths.
147 2008-08-20 Alexey Gladkov <legion@altlinux.ru>
148 Werner LEMBERG <wl@gnu.org>
150 Add default encoding option -D to preconv and groff.
152 * src/preproc/preconv/preconv.cpp (default_encoding): Make it an
155 (main): Handle new option -D.
157 * src/preproc/preconv/preconv.man: Updated.
159 * src/roff/groff/groff.cpp (main): Handle new option -D.
160 (synopsis, help): Updated.
161 * src/roff/groff/groff.man: Updated.
163 2008-07-26 Werner LEMBERG <wl@gnu.org>
165 * tmac/eqnrc (.EQ, .EN): Provide default definitions. Reported
168 * tmac/www.tmac (.EQ, .EN, .TS, .TE): Fix definitions.
170 2008-07-24 Denis M. Wilson <dmw@oxytropis.plus.com>
172 New options -f and -k for afmtodit.
174 * src/afmtodit/afmtodit.pl: New options `-f NAME' sets the internal
175 name of the groff font.
176 New option `-k' disables output of kerning data.
177 * src/afmtodit/afmtodit.man, NEWS: Document new options.
179 2008-07-18 Werner LEMBERG <wl@gnu.org>
181 * src/preproc/tbl/table.cpp (table::compute_separation_factor): Emit
182 warning messages if table gets squeezed.
183 (table::compute_widths): Fix computation of AVAILABLE_REG.
184 Emit warning if table is wider than line length.
186 * src/preproc/tbl/tbl.man: Minor improvements.
188 2008-05-02 Larry Jones <lawrence.jones@siemens.com>
190 * contrib/chem/Makefile.sub (README, examples/README): In makefiles,
191 the `$<' macro is only guaranteed to be defined in inference rules,
192 not in explicit target rules. Since there is only one input file in
193 the places where it is used, the `$?' macro (which is guaranteed to be
194 defined for both kinds of rules) is a suitable replacement.
196 * hdtbl/examples/fonts_n.in, hdtbl/examples/fonts_n.in: Most
197 versions of ls don't have a `--color' option.
199 2008-04-30 Larry Jones <lawrence.jones@siemens.com>
201 * Makefile.comm (depend.temp): Add `EXTRA_CCFLAGS'.
203 2008-04-29 Larry Jones <lawrence.jones@siemens.com>
205 * src/eqn/script.cpp (script_box::output): Portability fix.
207 2008-04-05 Dorai Sitaram <ds26gte@yahoo.com>
209 Add better support for `.TAG #<label>' in non-HTML documents: In
210 case of a forward reference in a call to .URL, write `(see below)'.
211 In case of a backwards reference use the page number instead. The
212 reference gets stored in a string `TAG_<label>' and can be
213 overridden while calling `.TAG' with its new optional argument --
214 this is useful for a second-pass system which resolves forward
217 * tmac/www.tmac (www:url_check_tag): New function.
219 (TAG): Add optional argument to define string `TAG_<label>'.
221 2008-03-24 Werner LEMBERG <wl@gnu.org>
223 * tmac/trace.tmac (so, mso): Added.
225 * tmac/www.tmac (PIMG): Replace `.ie' (without `.el') with `.if'.
226 If used with -mtrace, and this clause was active, the macro was
229 * tmac/pspic.tmac (PSPIC): Accept option `-C' for orthogonality.
230 This makes `.PIMG -C <file>' (from www.tmac) work on non-HTML
232 * man/groff_tmac.man: Document it.
234 2008-02-26 Werner LEMBERG <wl@gnu.org>
236 * src/roff/troff/input.cpp: s/safer_flag/unsafe_flag/.
237 Update all occurrences so that \n[.U] works as advertised. Bug
238 reported by Dorai Sitaram.
240 2008-02-17 Werner LEMBERG <wl@gnu.org>
242 * doc/groff.texinfo: Improve documentation of .cf request.
244 2008-01-19 Werner LEMBERG <wl@gnu.org>
246 * src/preproc/html/pre-html.cpp (usage): Don't describe options but
247 mention that it should never be called stand-alone.
249 * tmac/groff_www.man, doc/groff.texinfo, man/groff_font.man,
250 man/groff_tmac.man, man/groff_out.man, README, README.MinGW,
251 src/roff/groff/groff.man: Mention -Txhtml.
253 * man/groff_font.man, man/groff_tmac.man, man/roff.man: Revised.
255 2008-01-16 Werner LEMBERG <wl@gnu.org>
257 * src/libs/libgroff/font.cpp (font::contains, font::get_code):
258 Handle single-letter names correctly.
260 * doc/groff.texinfo, man/groff_diff.man: Extend documentation of \^
264 2008-01-15 Werner LEMBERG <wl@gnu.org>
266 * man/groff_font.man: Revised.
268 2008-01-14 Werner LEMBERG <wl@gnu.org>
270 * man/groff.man: Mention glyph and characters.
272 * man/groff_char.man: Minor updates.
273 * man/groff_diff.man: Better clarification between characters and
276 2008-01-12 Werner LEMBERG <wl@gnu.org>
278 * doc/groff.texinfo: Fix top-level structure to make it compilable
279 again with all texinfo modes. Reported by Jörg van den Hoff
280 <j.van_den_hoff@fzd.de>.
282 2008-01-11 Werner LEMBERG <wl@gnu.org>
284 * doc/pic.ms: Mention that compass points of line objects are
287 2008-01-06 Werner LEMBERG <wl@gnu.org>
289 * src/roff/troff/node.cpp (left_italic_corrected_node::add_self):
290 Don't remove itself if there is no glyph associated with the node
291 yet. This happens, for example, in this situation:
298 2008-01-05 Werner LEMBERG <wl@gnu.org>
300 * man/groff_char.man, man/groff.man: Revised.
302 * src/preproc/eqn/lex.cpp (troff_defs): Fix typo.
304 2008-01-04 Werner LEMBERG <wl@gnu.org>
305 * */*: s/Osanna/Ossanna/.
307 * */*.man: Replace .URL with .UR/.UE (except in groff_www.tmac).
308 Replace .MTO with .MT/.ME (except in groff_www.tmac).
309 Insert `\:' in URLs where appropriate.
310 Don't include www.tmac (except in groff_www.tmac).
312 * man/groff.man (.ESC[]): Fix font of closing bracket.
313 (.ESCq): Fix font of closing quote character.
314 Many other improvements.
316 2007-12-30 Bernhard Fisseni <bfi@ikp.uni-bonn.de
318 * src/devices/grohtml/post-html.cc
319 (html_printer::writeHeadMetaStyle): Fix CSS output.
321 2007-12-29 Werner LEMBERG <wl@gnu.org>
323 * tmac/ec.tmac: Add CM fonts to the .fspecial lines; those fonts
324 contain additional glyphs (like some uppercase Greek letters).
326 2007-12-06 Werner LEMBERG <wl@gnu.org>
330 2007-12-06 Colin Watson <cjwatson@debian.org>
332 * src/roff/nroff/nroff.sh: Add options -w and -W.
333 * src/roff/nroff/nroff.man: Document them.
335 2007-12-06 Karl Berry <karl@freefriends.org>
337 * tmac/hyphenex.pl: Update header output.
339 2007-11-29 Werner LEMBERG <wl@gnu.org>
341 * src/devices/grotty/tty.cpp (tty_printer::line): Fix line lengths.
343 2007-11-20 Werner LEMBERG <wl@gnu.org>
345 * doc/pic.ms: Add Heinz-Jürgen's 3d boxes example.
347 2007-11-17 Werner LEMBERG <wl@gnu.org>
349 * src/roff/nroff/nroff.sh: Handle GROFF_TYPESETTER environment
350 variable. Problem reported by Michael G Schwern
353 * src/roff/nroff/nroff.man: Document it.
356 2007-11-17 Heinz-Jürgen Oertel <hj.oertel@t-online.de>
358 * src/groff/preproc/pic/lex.cpp (table): Add box attributes
359 `xslanted' and `yslanted'.
361 * src/groff/preproc/pic/object.cpp (object_spec::object_spec):
362 Initialize `xslanted' and `yslanted'.
363 (graphic_object): Add methods `set_xlanted' and `set_yslanted'.
364 (closed_object): Ditto.
365 Add members `xslanted' and `yslanted'.
366 (box_object::print): Use them.
367 (object_spec::make_object): Handle slant values.
368 * src/groff/preproc/pic/object.h (IS_XSLANTED, IS_YSLANTED): New
370 (object_spec): Add members `xslanted' and `yslanted'.
371 * src/groff/preproc/pic/pic.y (XSLANTED, YSLANTED): New left-valued
375 * src/groff/preproc/pic/pic.man, NEWS, doc/pic.ms: Document above
378 2007-11-16 Werner LEMBERG <wl@gnu.org>
380 * tmac/hyphenex.pl: Generate copyright notice (this has been
381 approved by Barbara Beeton).
382 * tmac/hyphenex.us: Updated.
384 2007-11-10 Michail Vidiassov <master@iaas.msu.ru>
386 * tmac/doc-syms (doc-str-St--susv3): New string.
387 * tmac/groff_mdoc.man: Document it.
389 2007-11-08 Werner LEMBERG <wl@gnu.org>
391 * src/preproc/preconv/preconv.cpp (emacs_to_mime): Add `utf-16be'
392 `utf-16le', `utf-16be-with-signature', `utf-16le-with-signature'.
393 (is_comment_line): Handle '\" and '\# also.
395 * src/preproc/preconv/preconv.man: Revise and make complete.
397 2007-10-25 Werner LEMBERG <wl@gnu.org>
399 * tmac/cs.tmac: New file holding Czech strings, contributed by
400 Marcela Maslanova <mmaslano@redhat.com>.
401 * tmac/hyphen.cs, tmac/hyphenex.cs: New hyphenation pattern files
402 for Czech, taken from CTAN.
404 * tmac/Makefile (NORMALFILES): Add Czech stuff.
405 * doc/groff_tmac.man: Mention cs.tmac.
407 2007-10-21 Werner LEMBERG <wl@gnu.org>
409 * src/roff/troff/input.cpp (do_ps_file): Handle `%X' in header
410 comments correctly. Reported by Frank Jahnke
411 <jahnke@sonatabio.com>.
413 2007-10-02 Ruslan Ermilov <ru@FreeBSD.org>
415 * tmac/doc-common, tmac/groff_doc.man: Add FreeBSD 6.2, document
418 * tmac/doc-syms: Give better names for System V releases.
420 2007-09-25 Gaius Mulley <gaius@glam.ac.uk>
422 * doc/Makefile.in, doc/Makefile.sub (.ms.html): Add -P-V switch to
423 the production of html files.
425 Remove background colour switch.
426 (.SUFFIXES, clean): Handle *.xhtml files.
428 * src/devices/grohtml/grohtml.man: Document that -V option now
429 generates an HTML-4.01 validator or XHTML validator.
431 * src/devices/grohtml/html-text.cpp (html_text::end_tag,
432 html_text::start_tag): Suppress <small>, <big>, and <color> tags if
433 we are inside a <pre> block.
435 * src/devices/grohtml/post-html.cpp
436 (html_printer::handle_valid_flag): Add a parameter to indicate
437 whether it needs to generate a paragraph block.
438 (html_printer::write_navigation): Updated.
439 (html_printer::do_file_components): Generate an HTML-4.01 blue
440 validator button also.
442 2007-09-23 Axel Kielhorn <A.Kielhorn@web.de>
444 * man/groff.man: Fix URL of CSTR 54.
446 2007-09-23 Werner LEMBERG <wl@gnu.org>
448 * man/groff_char.man: Normalize character set names as defined
449 by IANA. Based on a patch from Axel Kielhorn.
451 * src/preproc/refer/label.y: Undo change from 2007-09-19.
453 2007-09-19 Werner LEMBERG <wl@gnu.org>
455 * src/roff/troff/input.cpp (interpolate_arg): Remove compiler
458 * src/preproc/eqn/pile.cpp (pile_box::output, matrix_box::output):
459 Remove compiler warning.
461 * src/preproc/refer/label.y: Remove compiler warning.
463 * src/preproc/pic/pic.y: Remove doubled token entries.
465 2007-09-19 Gaius Mulley <gaius@glam.ac.uk>
467 * doc/groff.texinfo: Document new .O register and add cross
472 * src/devices/grohtml/grohtml.man: Document new -V and -y options.
474 * src/devices/grohtml/html-table.cpp: Add support for XHTML 1.1.
475 (html_table:: emit_colspan, html_table::emit_td): New methods.
476 (html_table::emit_col): Use html_table::emit_td.
477 (html_table::emit_table_header): Use html_table::emit_colspan if
478 dialect xhtml is specified.
479 (html_table::finish_row): Updated.
481 * src/devices/grohtml/html-table.h (html_table): Declare
482 emit_colspan, emit_td.
484 * src/devices/grohtml/html-text.cpp: Modified tags to comply with
485 xhtml if this dialect was requested.
487 * src/devices/grohtml/html-text.h (html_dialect): New enumeration.
488 (html_text): Add new variable `dialect'.
490 * src/devices/grohtml/post-html.cpp: Modify header tags to be XHTML
492 (valid_flag, groff_sig, dialect): New global variables.
493 (html_printer::handle_valid_flag, html_printer::do_math,
494 html_printer::write_html_anchor, html_printer::write_xhtml_anchor,
495 html_printer::do_math, html_printer::handle_valid_flag): New
497 (html_printer::emit_line, html_printer::emit_raw,
498 html_printer::do_check_center, html_printer::write_title,
499 write_rule, html_printer::writeHeadMetaStyle, generate_img_src,
500 html_printer::begin_page): Altered to be XHTML compliant.
501 (html_printer::write_header): Updated.
502 (html_printer::troff_tag): Call do_math.
503 (html_printer::insert_split_file, html_printer::do_file_components,
504 html_printer::write_navigation): Create XHTML file components if
505 necessary and also produces a groff signature if requested.
506 (~html_printer): Call writeHeadMetaStyle at appropriate places
507 depending upon html_dialect.
508 (html_printer::special): Handle new tags `html<?p>' and `math<?p>'.
509 (main): Added options -x, -V, and -y.
512 * src/preproc/eqn/box.cpp: Create a distinction between
513 the MathML device and the XHTML device.
514 (do_text): Issue a newline at the end of the equation if XHTML was
516 (box::top_level): Prefix the output of an equation by the .MATHML
518 (output_string): Suppress \n if XHTML was specified.
520 * src/preproc/eqn/main.cpp (xhtml): New global flag.
521 (inline_equation): Skip leading spaces after inline equation for
523 (main): Set `xhtml' flag if `-Tmathml:xhtml' is specified.
525 * src/preproc/eqn/eqn.h (xhtml): New external flag.
527 * src/preproc/eqn/text.cpp (entity_table): Fix typo.
529 * src/preproc/html/pre-html.cpp (html_dialect): New enumeration.
530 (dialect, eqn_flag): New global variables.
531 (html_system): Improve debugging support.
532 (alterDeviceTo): Test for -Txhtml when altering device to the image
533 device and reset to -Txhtml.
534 (addZ): Renamed to...
536 Introducea a general parameter.
537 (print_args): New debugging function.
538 (char_buffer::run_output_filter): Use print_args and addArg rather
540 (char_buffer::do_html, char_buffer::do_image): Add -rxhtml=1 command
541 line parameter as an argument to the html generation of text when
542 xhtml is needed. Include -e on the command line if mathml is
544 (scanArguments): Allow -e, -V, -y and -x options.
545 -V, -y are handled by the back end. -e sets `eqn_flag'.
546 -x determines HTML dialect.
548 * src/roff/groff/groff.cpp (possible_command): New method
550 (main): Set eflag if -e is present on command line.
551 Set is_xhtml if -Txhtml is present.
552 Pass `-x x' to the HTML pre and post processors.
553 Pass `-e' to the HTML pre processor if required.
554 Pass `-Tmathml:xhtml' to eqn if XHTML is requested.
556 * src/roff/troff/input.cpp (init_input_requests): Introduce new
557 number register `\n[.O]'.
559 * tmac/s.tmac: (LP): Use .nop for semantic sugar.
560 (cov*ab-init) reformat.
561 (@EQ): Use EQN-HTML-IMAGE and friends rather than HTML-IMAGE.
562 (CHECK-FOOTER-AND-KEEP): Define FS, FE such that they use
563 <cite></cite> for the html device rather than generate images for
566 * tmac/troffrc-end: Define EQN-HTML-IMAGE,
567 EQN-HTML-IMAGE-END, EQN-HTML-IMAGE-RIGHT,
568 EQN-HTML-IMAGE-LEFT, EQN-HTML-IMAGE-INLINE,
569 EQN-HTML-DO-IMAGE, EQN-HTML-IMAGE-END as null strings.
571 * tmac/www.tmac: (HTML<?p>): New macro.
572 (MATH<?p>): New macro.
573 (IMG, PIMG, MPIMG, HR): Use XHTML compliant syntax.
574 (www-emit-ltag): New macro.
575 (www-push-li): Updated.
576 (ULS): Ensure that tags are balanced in order by use of
578 (ULE): Likewise: Use www-emit-ltag and shut down paragraphs in
580 (OLS, OLE, DLS, DLE): Ditto.
581 <global>: Define EQ and EN to EQN-HTML-IMAGE and EQN-HTML-IMAGE-END
583 (www-li-ul, www-li-ol, www-li-dl): Updated.
584 (EQN-HTML-IMAGE, EQN-HTML-IMAGE-RIGHT, EQN-HTML-IMAGE-LEFT,
585 EQN-HTML-IMAGE-INLINE, EQN-HTML-DO-IMAGE, EQN-HTML-IMAGE-END,
588 2007-09-17 Werner LEMBERG <wl@gnu.org>
590 * man/groff_font.man: Document `unicode' keyword.
591 * doc/groff.texinfo (DESC File Format): Synchronize with
594 2007-09-15 Werner LEMBERG <wl@nu.org>
596 * man/groff.man: Document `\_'.
597 * doc/groff.texinfo: Ditto.
598 Remove references to `\@' which isn't a valid escape sequence in
602 * tmac/unicode.tmac: Add ` and '.
603 * tmac/html.tmac: Load unicode.tmac.
605 2007-09-14 Werner LEMBERG <wl@gnu.org>
607 * tmac/unicode.tmac: Make `-' a pure input character by mapping it
610 * src/roff/troff/input.cpp (init_charset_table): Handle `hy'.
612 2007-09-11 Werner LEMBERG <wl@gnu.org>
614 * src/libs/libgroff/string.cpp (string::remove_spaces): Fix memory
617 * src/preproc/tbl/table.cpp (table::allocate): Initialize
620 2007-09-10 Keith Marshall <keith.d.marshall@ntlworld.com>
622 * README.MinGW: Add warnings about use of MSYS-RXVT, and about
623 defective GnuWin32 versions of netpbm/libpng.
625 2007-07-15 Keith Marshall <keith.d.marshall@ntlworld.com>
627 * tmac/s.tmac (cov*first-page-init): Remove invoking trap, to avoid
630 2007-07-11 Werner LEMBERG <wl@gnu.org>
632 * gendef.sh: Add shebang.
634 2007-07-05 Werner LEMBERG <wl@gnu.org>
636 * tmac/papersize.tmac: Fix dimensions of executive paper format.
637 Reported by John Rupley <rupley@u.arizona.edu>.
639 2007-07-02 Keith Marshall <keith.d.marshall@ntlworld.com>
641 * tmac/s.tmac (cov*first-page-init): Emit error message if not in
642 top-level environment.
644 2007-06-12 Werner LEMBERG <wl@gnu.org>
646 * src/devices/xditview/TODO, NEWS: Updated.
647 * src/devices/xditview/Makefile.sub (install_data, uninstall_sub):
648 Handle `GXditview-color'.
649 * src/devices/xditview/gxditview.man: Updated.
651 * m4/groff.m4 (GROFF_APPRESDIR_CHECK): Updated.
652 * m4/codeset.m4, m4/glibc21.m4, m4/iconv.m4, m4/lib-link.m4: Updated
653 from `gnulib' git repository.
655 * configure.ac: Updated.
656 * configure: Regenerated (using autoconf 2.61).
658 * config.guess, config.sub: Updated from `config' CVS repository.
659 * config.rpath, install-sh, mkinstalldirs: Updated from `gnulib' git
662 2007-06-12 Tadziu Hoffmann <hoffmann@usm.uni-muenchen.de>
664 * src/devices/xditview/GXditview.ad: Split off color definitions
666 * src/devices/xditview/GXditview-color.ad: This new file.
668 2007-06-08 Fabrice Ménard <menard.fabrice@wanadoo.fr>.
670 * tmac/fr.tmac: Handle chapter system for `me'.
672 2007-06-05 Tadziu Hoffmann <hoffmann@usm.uni-muenchen.de>
674 * src/devices/xditview/xditview.c (main): Add support for
677 * src/devices/xditview/GXditview.ad: Updated.
678 Make widget more colourful.
680 2007-05-30 Werner LEMBERG <wl@gnu.org>
682 * tmac/groff_mdoc.man: Convert `-' to `\-' where appropriate.
683 Recommend `tbl' instead of `-column' lists for more complicated
686 2007-05-21 Werner LEMBERG <wl@gnu.org>
688 * src/devices/grops/ps.cpp (ps_printer::set_char): Handle subfonts
691 2007-04-10 Werner LEMBERG <wl@gnu.org>
693 In pic, make rounded boxes work with colors. Reported by Urs Eggli
694 <Urs.Eggli@zuerich.ch>.
696 * src/preproc/pic/common.h (common_output), src/preproc/pix/output.h
697 (output): Add color parameter to `rounded_box' member function.
699 * src/preproc/pic/common.cpp (common_output::rounded_box): Use it.
701 * src/preproc/pic/object.cpp (box_object::print): Pass `color_fill'
702 to `out->rounded_box'.
704 2007-04-09 Michail Vidiassov <master@iaas.msu.ru>
706 * font/devps/generate/textmap: Add Greek letters and some more.
708 * src/utils/afmtodit/afmtodit.tables: Change values of `Delta',
709 `Omega', and `mu' to the ones from aglfn.txt.
711 2007-04-08 Keith Marshall <keith.d.marshall@ntlworld.com>
713 * tmac/s.tmac (SN): Define unconditionally.
714 (SN-STYLE): New string; define.
716 * NEWS, tmac/groff_ms.man, doc/groff.texinfo (SN-STYLE): Document it.
718 2007-03-22 Werner LEMBERG <wl@gnu.org>
720 * tmac/pspic.tmac: Fix harmless numeric overflow warning. Reported
721 by Jörg van den Hoff <j.van_den_hoff@fzd.de>.
723 2007-03-20 Werner LEMBERG <wl@gnu.org>
725 * tmac/trace.tmac (rn): Added.
726 (nr, ds, ds1, as, as1, substring): Restore escape character while
728 (nr): Remove dead code.
730 * src/preproc/eqn/box.cpp (box::top_level): Use \E in string
731 definitions to make them traceable.
733 2007-03-19 Werner LEMBERG <wl@gnu.org>
735 * src/roff/troff/input.cpp (get_copy): Add third argument to control
736 whether \E shall be expanded.
737 (get_char_for_escape_name): Allow \E.
739 2007-03-15 Werner LEMBERG <wl@gnu.org>
741 * tmac/s.tmac (MO, CH, pg*OH, pg*EH, pg*OF, pg*EF, *, [., .],
742 par*define-font-macro, \[hooko]): Use \E to make it traceable.
744 (ref*field): Add argument to control the space between previous and
747 (ref*add-N): Fix handling of opening parenthesis. Problem reported
748 by Jörg van den Hoff <j.van_den_hoff@fzd.de>.
750 2007-03-14 Werner LEMBERG <wl@gnu.org>
752 * tmac/trace.tmac (als): Added.
753 (de, de1, am, am1): Make traced macros aliased with .als work.
755 2007-02-25 Werner LEMBERG <wl@gnu.org>
757 * src/devices/xditview/TODO: Add some more items.
759 * Makefile.comm (.man.n): Add @APPRESDIR@.
762 * src/devices/xditview/gxditview.man: Document GXditview resource
764 Other documentation enhancements based on a patch from Jörg.
766 2007-02-25 Tadziu Hoffmann <hoffmann@usm.uni-muenchen.de>
767 Joerg van den Hoff <j.van_den_hoff@fzd.de>
769 * src/devices/xditview/GXditview.ad: Make all keys work regardless
770 of the current mouse position.
772 2007-02-20 Werner LEMBERG <wl@gnu.org>
774 * tmac/groff_man.man: Revised to improve visual appearance.
775 Reduce use of future tense.
777 * tmac/groff_trace.man: Revosed to improve visual appearance.
779 2007-02-19 Eric S. Raymond <esr@snark.thyrsus.com>
781 Make groff.man viewer-portable.
783 * tmac/groff.man: Eliminate use of .eo/.ec.
784 (.REQ): Surround args 2 through N with quotes. This will enable us
785 not to rely on the shift request, which is nonportable.
786 (ExecFF): Remove. The code is simpler without it.
788 2007-02-18 Eric S. Raymond <esr@snark.thyrsus.com>
790 * tmac/groff_www.man: Viewer-portability fixes.
792 2007-02-16 Eric S. Raymond <esr@snark.thyrsus.com>
794 * man/groff.man: Remove some unneeded code and a no-longer-used
795 inclusion of the www macros.
797 2007-02-12 Werner LEMBERG <wl@gnu.org>
799 * src/preproc/tbl/table.cpp (compute_span_width): Fix use of
801 (table::compute_widths): Simplify.
803 2007-02-11 Werner LEMBERG <wl@gnu.org>
805 * src/preproc/tbl/table.h: Don't include `stdbool.h'.
806 (table): Replace `bool' type with `char' for orthogonality.
809 * src/preproc/tbl/table.cpp (block_entry::do_divert): Fix usage of
810 AVAILABLE_REG and COLCOUNT_REG.
811 (table::table): Fix order call of initializers.
812 (table::~table): Deallocate `blockflag'.
814 2007-02-09 Eric S. Raymond <esr@snark.thyrsus.com>
816 A try at the new rule for block column allocation is now enabled by
817 the new `experimental' global option: The horizontal space up to the
818 right margin which is not used by columns without text blocks is
819 evenly distributed to the columns with text blocks.
821 It doesn't work right as yet; there appears to be some error in the
822 computation of `3avail', the available line length. The purpose of
823 this patch is (a) to make experimenting with other formulas easy,
824 and (b) leave the infrastructure for flag `experimental' in place
825 for future experiments. Do not document any behavior associated
828 * src/preproc/tbl/table.h: Include `stdbool.h'.
829 (table): Make `flags' public.
830 Add `count_block_columns' function.
831 Add `blockflag' array.
832 Add `EXPERIMENTAL' enumeration value.
834 * src/preproc/tbl/table.cpp (AVAILABLE_REG, COLCOUNT_REG): New
836 (table_entry): New member `parent' so that class and subclass
837 members can set a parent field. Update all users.
838 (block_entry::do_divert): Handle `EXPERIMENTAL' flag.
839 (block_entry::do_width): Set the parent's `blockflag'.
840 (table::allocate): Handle `blockflag'.
841 (table::count_block_columns): New function.
842 (compute_span_width): Adjust AVAILABLE_REG.
843 (table::compute_widths): Handle COLCOUNT_REG and AVAILABLE_REG.
845 * src/preproc/tbl/main.cpp (process_options): Handle `experimental'
848 2007-02-08 Zhao, Yu (William) <yzhao2@alcatel-lucent.com>
850 * src/devices/grodvi/dvi.cpp (draw_dvi_printer::draw) <'e'>: Set
853 2007-02-08 Werner LEMBERG <wl@gnu.org>
855 * man/groff_out.man (offset): Make it work reliably.
857 2007-02-07 Eric S. Raymond <esr@snark.thyrsus.com>
859 * man/groff_out.man: Simplify some font changes so \fP is less
860 likely to do something surprising.
862 * man/groff_out.man: We can simplify the command macros still
863 further if we stop trying to hide structural requests inside them.
864 Also, fix some instances of \} at start of line without a dot, and
865 make some font changes explicit in strings.
867 * man/groff_out.man: Cleanup -- remove now-unneeded uses of .do and
870 * man/groff_out.man: Final step: Reduce x-command, get rid of eo/ec
871 calls and fix macros to do without them. File should now be
874 * man/groff_out.man: Fourth step: Eliminate use of eqn in favor of
875 micromotions that produce the same visual result and can be lifted
878 * man/groff_out.man: Third step: Reduce Da-comand, fix a
879 call-sequence bug in the original.
881 * man/groff_out.man: Second step: Reduce D-commmand and D-command+,
882 move font-change escapes to portable form.
884 * man/groff_out.man: First step in macro simplification; eliminate
885 list1..n, simplify .offset and .index_offset so they no longer
886 require groff-specific features or eqn (instead, use troff
887 micromotions for subscripting).
889 2007-02-06 Eric S. Raymond <esr@snark.thyrsus.com>
891 * src/preproc/eqn/eqn.man: Minor corrections.
893 * tmac/an-ext.tmac: Change .UR/.UE and .MT/.ME so the start macro no
894 longer takes a second argument that is pasted to the end of the
895 generated text. Instead, the end macro takes an argument that does
898 * man/ditroff.man, man/groff_diff.man, man/groff.man,
899 man/groff_out.man, man/groff_tmac.man, man/roff.man,
900 src/roff/groff/groff.man, src/roff/grog/grog.man,
901 tmac/groff_man.man, tmac/groff_trace.man: Update accordingly.
903 * src/roff/troff/troff.man: .SY and .YS are canned macros now,
904 so we can use them here.
906 2007-02-05 Eric S. Raymond <esr@snark.thyrsus.com>
908 * src/preproc/eqn/lex.cpp, src/preproc/eqn/eqn.man:
909 By popular demand, make ... set three lower dots again
910 and introduce a new predefined macro 'cdots' to set
913 2007-02-05 Werner LEMBERG <wl@gnu.org>
915 * src/preproc/eqn/eqn.man: Revised.
917 * src/preproc/eqn/text.cpp (map, special_char_boc::output): Use
919 (spacing_type): Fix typo.
920 (special_to_entity): Use `const'.
921 Remove unused variable.
922 * src/preproc/eqn/other.cpp (font_box::output): Use `const'.
924 2007-02-05 Eric S. Raymond <esr@snark.thyrsus.com>
926 * src/devices/grotty/grotty.man: \m[] and \M[] aren't portable,
927 which is a shame as the effect was cute.
929 2007-02-04 Eric S. Raymond <esr@snark.thyrsus.com>
931 * man/groff_tmac.man, man/groff_diff.man: Portability conversion;
932 rip out over-elaborate macrology, use .EX/.EE and .UR/.UE where
933 possible, remove preamble declarations and macros that are no
934 longer needed. Conversion checked using the protocol described in
937 2007-02-03 Werner LEMBERG <wl@gnu.org>
939 * tmac/an-old.tmac (LP, IP, HP): Use .ns to suppress additional
942 2007-02-03 Eric S. Raymond <esr@snark.thyrsus.com>
944 * tmac/groff_man.man: Documented the extension macros, and
945 added portability advice.
947 * MORE.STUFF: More-stuff entries for doclifter and pic2plot.
950 Add support for MathML output to eqn.
952 The strategy used is very simple and relies on the fact that the box
953 models of eqn and Presentation MathML differ in only trivial ways.
954 It leaves the grammar and existing internal object structures
955 unchanged. A new global, `output_format', is defined as an
956 enumerated type with values {troff, mathml}. Most of the functions
957 and methods that emit actual output acquire a top-level conditional,
958 dispatching on this global, which has one arm for troff mode and one
959 for MathML mode. In most cases the MathML arm is drastically
962 (This strategy could be easily generalized to support other output
963 formats. TeX is a possibility that leaps to mind.)
965 The only even moderately tricky changes are in the lexer. Some of
966 the predefined macros used constructs like `up', `down', `fwd',
967 `back', and `vcenter' that have no equivalents in MathML. I
968 attacked this problem in these ways:
970 1. I eliminated three uses of `back' to compose characters in favor
971 of using equivalent groff specials `\(<<', `\(>>', and `\(<>'
972 that did not exist when these macros were written. (This will be
973 a quality improvement for troff users.)
975 2. I eliminated one use of `vcenter' by using \\(md. (Likewise...)
977 3. I then split the table of pre-definitions in three; one large
978 common table and two small troff-specific and MathML-specific
979 tables. Use of troff-only operations (up, down, back, fwd,
980 vcenter) is now confined to the former. The latter now uses
981 `size big' and drops out the explicit positioning operations,
982 counting on MathML processors to do them.
984 POTENTIAL TROUBLE SPOTS:
986 Here are notes for reviewers on places I'm not 100% sure I've done
989 * In the process of preparing the troff table, I translated three
990 definitions (dot_def, dotdot_def, and utilde def) that previously
991 used explicit \v escapes to use `up' and `down' instead. I
992 modeled the new definitions on the way `vec' and `dyad' work, but
993 it's possible I got something subtle wrong.
995 * I'm not certain the MathML implementation of font_box::output() is
996 right, because I don't quite get what the switcheroo between
997 `current_roman_font' and `old_roman_font' is supposed to
998 accomplish. It does seem to generare good MathML, though.
1000 Finally, I made one purely cosmetic change in `text.cpp'; I replaced
1001 with an enum some magic numbers for spacing types that I thought
1002 were too ugly to live.
1006 The entirety of eqn is translated when `-TMathML' is specified,
1007 with the following exceptions...
1009 Limitations that cannot be fixed include non-support for special,
1010 up/down/fwd/back, and vcenter.
1012 Limitations that might be fixable include non-support for mark and
1013 lineup. I will investigate further, but if these can be implemented
1014 at all it's going to be in a very complicated and nasty way.
1016 The way character boxes are output means that each digit of a
1017 multi-digit number gets its own <mn></mn> tag pair in the MathHTML.
1018 While this is not technically wrong for Presentation MathML, it is
1019 ugly and inefficient. Fixing this will require implementing a
1020 little state machine in the `text.cpp' output method.
1022 * src/preproc/eqn/box.cpp, src/preproc/eqn/delim.cpp,
1023 src/preproc/eqn/eqn.h, src/preproc/eqn/eqn.man,
1024 src/preproc/eqn/lex.cpp, src/preproc/eqn/limit.cpp,
1025 src/preproc/eqn/list.cpp, src/preproc/eqn/main.cpp,
1026 src/preproc/eqn/other.cpp, src/preproc/eqn/over.cpp,
1027 src/preproc/eqn/pile.cpp, src/preproc/eqn/script.cpp,
1028 src/preproc/eqn/sqrt.cpp, src/preproc/eqn/text.cpp,
1029 src/preproc/eqn/eqn.man: MathML output mode.
1031 * NEWS: Document it.
1033 2007-02-02 Eric S. Raymond <esr@snark.thyrsus.com>
1035 * src/roff/groff/groff.man: Converted to use .SY/.OP/.YS
1036 and for cross-viewer portability. Conversion checked
1037 using the protocol described in tmac/TESTING-HINTS.
1039 2007-02-02 Werner LEMBERG <wl@gnu.org>
1041 * tmac/an-ext.tmac (ME): Don't use `\:'.
1043 * src/roff/grog/grog.man: Further refinements and normalizations.
1045 2007-02-02 Eric S. Raymond <esr@snark.thyrsus.com>
1047 * src/roff/grog/grog.man: Converted to use .SY/.OP/.YS and for
1048 cross-viewer portability. Conversion checked using the protocol
1049 described in tmac/TESTING-HINTS.
1051 2007-02-01 Eric S. Raymond <esr@thyrsus.com>
1053 * tmac/TESTING-HINTS: Added.
1055 2007-02-01 Eric S. Raymond <esr@thyrsus.com>
1057 Enable the support for Bell archaisms on .SC, so the `-r bell'
1058 switch is no longer needed to format old AT&T papers like
1061 * tmac/s.tmac (.SC, .UC, .P1, .P2): Updated.
1063 * tmac/groff_ms.man, doc/groff.texinfo, NEWS: Updated.
1065 2007-02-01 Eric S. Raymond <esr@thyrsus.com>
1067 Add some Bell labs extensions to the -ms macros.
1069 * tmac/s.tmac (.SC, .UC, .P1, .P2) [bell]: New macros.
1071 * tmac/groff_ms.man, doc/groff.texinfo, NEWS: Document `-r bell'.
1073 2007-01-30 Werner LEMBERG <wl@gnu.org>
1075 * tmac/an-ext.tmac (\n[EX]): Rename to \n[mX].
1076 (\n[mH]): New register (set if grohtml is used).
1077 (\n[SY]): Rename to \n[mS].
1078 (\n[a]): Rename to \n[mA].
1079 (\n[i]): Rename to \n[mI].
1080 (mU): New auxiliary input trap macro.
1081 (UR, UE): Replace stub with real definition.
1083 (MT, ME): New macros.
1085 (EX, EE): Don't insert vertical space.
1086 Use a register to store (and restore) the current font.
1088 * man/ditroff.man, man/groff_diff.man, man/roff.man: Revised, based
1089 on patches from Eric Raymond.
1092 2007-01-22 Gaius Mulley <gaius@glam.ac.uk>
1094 * tmac/an-old.tmac (an-trap, HP): Make `HP' work as expected.
1096 2007-01-22 Werner LEMBERG <wl@gnu.org>
1098 * tmac/an-ext.tmac: Protect against being sourced twice.
1099 (URL, EE): Use always two backslashes.
1102 2007-01-16 Werner LEMBERG <wl@gnu.org>
1104 * tmac/an-ext.tmac: Remove code for grodvi.
1106 Don't insert empty line.
1107 (URL, TQ): Fix typos.
1109 2007-01-14 Werner LEMBERG <wl@gnu.org>
1111 * tmac/an-ext.tmac: New file, containing extension macros
1112 for -man. See discussion on the groff mailing list for
1113 background information.
1114 * tmac/an-old.tmac: Load an-ext.tmac.
1115 Decorate .ds and as with comment escapes where appropriate.
1116 * tmac/Makefile.sub (NORMALFILES): Add an-ext.tmac.
1118 2007-01-05 Werner LEMBERG <wl@gnu.org>
1120 * src/preproc/tbl/tbl.man: Document .T# and \n[TW].
1122 2007-01-04 Gaius Mulley <gaius@glam.ac.uk>
1124 Make -me macros ready for grohtml.
1126 * tmac/e.tmac: Load devtag.tmac.
1127 (need_eo_h, need_eo_tl, need_tl): New registers.
1128 (check_need_title, (x-html, )x-html, xp-html): New macros.
1129 (@h, hl, ip, @p, sh, (b, (l, EQ, EN, TS, TE, PS, PE, GS, GE, r, i,
1130 b, rb, bi, bx, (x, )x, xp): Adapt for use with grohtml.
1131 (bp): Rename to @b only if output device is not html.
1133 2007-01-01 Werner LEMBERG <wl@gnu.org>
1135 * man/groff_font.man: Document empty lines.
1137 * src/utils/afmtodit/afmtodit.pl: Always print a header comment at
1138 the very beginning of the output.
1139 [!$opt_x]: Fix typo.
1141 * font/devps/*: Regenerate font definition files.
1143 2007-01-01 Werner LEMBERG <wl@gnu.org>
1145 * font/devps/generate/Makefile (AFMTODIT): Use -c flag.
1147 * font/devps/*: Regenerate font definition files.
1149 2006-12-31 Werner LEMBERG <wl@gnu.org>
1151 * Makefile.in (oldfontdir): New variable.
1152 (MDEFINES): Add $(oldfontdir).
1153 (uninstall_dirs): Remove `current' link.
1154 Remove $(oldfontdir).
1156 * Makefile.comm (oldfontsubdir): New variable.
1157 (install_dev): Install files collected in $(OLDDEVFILES) into
1159 (uninstall_dev): Remove data in $(oldfontsubdir).
1160 (.man.n): Handle @OLDFONTDIR@.
1162 * src/devices/grodvi/grodvi.man, src/devices/grohtml/grohtml.man,
1163 src/devices/grolbp/grolbp.man, src/devices/grolj4/grolj4.man,
1164 src/devices/grotty/grotty.man, src/devices/xditview/gxditview.man:
1165 Document GROFF_FONT_PATH.
1167 * src/devices/grops/grops.man: Document GROFF_FONT_PATH and
1168 old font description files.
1170 * font/devps/Makefile.sub (OLDDISTFILES, OLDDEVFILES): New
1173 * font/devps/old/*: New directory, holding the previous version
1174 of the 35 Adobe core font description files.
1176 * font/devps/*: Regenerated the 35 Adobe core fonts, using the
1177 Adobe-Core35_AFMs-229.tar.bz2 bundle from ftp.dante.de.
1179 * NEWS: Document font update.
1181 2006-12-31 Werner LEMBERG <wl@gnu.org>
1183 * font/devps/generate/Makefile (symbolsl.afm): Use $(srcdir).
1185 * Makefile.comm (fonts): New (empty) target.
1186 * Makefile.in (TARGETS): Add `fonts'.
1188 * MANIFEST: Add `chem'.
1190 * doc/groff.texinfo (Changing Fonts): Font translations with .ftr
1193 2006-12-26 Werner LEMBERG <wl@gnu.org>
1195 * src/preproc/grn/hdb.cpp: Include gprint.h later. From NetBSD.
1197 2006-12-19 Werner LEMBERG <wl@gnu.org>
1199 Add support for German. For activation, simply use -mde or -mden
1200 (for traditional and new orthgraphy, respectively) as the last
1203 * tmac/de.tmac, tmac/den.tmac, tmac/hyphen.det, tmac/hyphen.den,
1204 tmac/hyphenex.det: New files, partly taken from CTAN.
1205 * LICENSES: Updated list of hyphenation patterns.
1206 * man/groff_tmac.man: Mention de.tmac and den.tmac.
1209 2006-12-11 Werner LEMBERG <wl@gnu.org>
1211 Support up to 32 macro arguments in pic (and up to 16 on EBCDIC
1214 * src/preproc/pic/lex.cpp (ARG1): Redefine. Update all users.
1215 (MAX_ARG): New macro. Use it everywhere to replace hard-coded
1216 limit of 9 arguments.
1217 (process_body): Handle argument numbers with more than a single
1219 (interpolate_macro_with_args): Protect against exceeding number of
1222 * NEWS, src/preproc/pic/pic.man, doc/pic.ms: Document it.
1224 2006-12-10 Werner LEMBERG <wl@gnu.org>
1226 * Makefile.in (site.exp, docheck): Commented out. Not working
1228 (check): Just emit dummy message.
1230 2006-12-08 Werner LEMBERG <wl@gnu.org>
1232 During installation, create soft link from <version> to `current' in
1235 * Makefile.comm (install): Renamed to...
1237 (prefix_must_exist): Removed. Code moved to Makefile.in.
1239 * Makefile.in (TARGETS): Remove `install'.
1241 (install): New target which first creates the directory given by
1242 --prefix, then calling `make' to do the installation, and finishing
1243 with the creation of the soft link.
1245 2006-11-21 Werner LEMBERG <wl@gnu.org>
1247 * doc/Makefile.sub (uninstall_sub): Fix names for info files.
1249 2006-11-18 Werner LEMBERG <wl@gnu.org>
1251 * man/roff.man, doc/groff.texinfo: Improve history of roff, based on
1252 information from Tom Van Vleck <thvv@multicians.org>.
1254 2006-11-16 Werner LEMBERG <wl@gnu.org>
1256 * tmac/62bit.tmac: New macro package.
1257 * tmac/Makefile.sub (NORMALFILES): Add it.
1258 * NEWS: Document it.
1260 * tmac/trace.tmac: Protect against being loaded again.
1261 (nr): Always show result.
1263 * doc/groff.texinfo (Input Encodings): Document latin-5.
1265 * man/grof_tmac.man: Document sv, latinX, cp1047, 60bit, ec.
1267 2006-11-13 Werner LEMBERG <wl@gnu.org>
1269 * doc/groff.texinfo (Page Location Traps) [.wh]: Give more details
1270 on negative trap positions.
1272 2006-11-10 Werner LEMBERG <wl@gnu.org>
1274 * Makefile.comm (.man.n): Handle @DATASUBDIR@.
1276 2006-11-09 Werner LEMBERG <wl@gnu.org>
1278 * INSTALL: Move information about external installation from
1279 INSTALL.gen into this file.
1282 * INSTALL.gen: Update to new version (from texinfo CVS).
1284 2006-11-09 Bernd Warken
1286 * INSTALL.gen: Extend the file by information on `external
1287 installation'. Reorder the installation instruction as `normal
1290 2006-11-08 Werner LEMBERG <wl@gnu.org>
1292 * doc/Makefile.sub (install_data): Take care of proper paths while
1293 installing info files. Bug reported by Bernd Warken.
1295 2006-11-06 Bernd Warken
1297 * src/roff/grog/grog.pl: Rewrite.
1298 - Call by `#! /usr/bin/env perl'. That isn't replaced.
1299 - Rename usage() to version().
1301 - For `use strict', start all global variables with an upper case
1302 character. Use `my' for all variables. Use several new variables.
1304 - Add copyright to GPL and Emacs comment.
1305 - Handle several `-m*' options.
1306 - Fix handling of `-ms' and `-mm'. Add .TL and .NH.
1307 - Allow options after file names.
1308 - Allow only one `-' parameter (standard input).
1309 - Add option abbreviations.
1310 - Expand the usage information.
1312 - Add single quote "'" as additional first character and allow
1313 arbitrary space after the first character.
1315 * src/roff/grog/grog.sh: Rewrite.
1316 - Remove option `-e' of `sed'.
1317 - Allow file names with space characters.
1319 - Add copyright to GPL.
1320 - Handle several `-m*' options.
1321 - Fix handling of `-ms' and `-mm'. Add .TL and .NH.
1322 - Allow options after file names.
1323 - Allow only one `-' parameter (standard input).
1324 - Add option abbreviations.
1325 - Expand the usage information.
1327 - Add single quote "'" as additional first character and allow
1328 arbitrary space after the first character.
1330 * src/roff/grog/Makefile.sub:
1331 - Add copyright to GPL.
1332 - Remove `grog:'. Move `grog.old:' to `grog:' in order to have a
1333 fair chance to choose between the shell version and the Perl
1334 version of `grog'. This is now again comparable to grog in groff
1337 * src/roff/grog/grog.man: Rewrite.
1338 - Move the license to GPL.
1339 - New sections: OPTIONS, DETAILS, EXAMPLES, COPYING.
1340 - Take over some setup and macros from `groffer'.
1341 - Add information on options.
1343 2006-10-28 Werner LEMBERG <wl@gnu.org>
1345 * tmac/trace.tmac: Improve tracing of `.nr'.
1346 Trace `.substring' also.
1350 2006-10-28 Bernd Warken
1352 * man/roff.man, src/roff/groff/groff.man: Add `chem', fix position
1353 of groff development site, fix fonts.
1355 * News: Add information on `chem' and `groffer'.
1357 2006-10-26 Bernd Warken
1359 * Makefile.in (OTHERDIRS, NOMAKEDIRS): Add `chem' bundle.
1361 2006-10-26 Werner LEMBERG <wl@gnu.org>
1363 Add `\$^' escape to handle the parameters to a macro as a string
1366 * src/roff/troff/input.h (DOUBLE_QUOTE): New special character.
1368 * src/roff/troff/input.cpp (input_iterator, input_stack,
1369 macro_iterator): Add `space_follows_arg' member function.
1370 (macro_iterator::add_arg): Add parameter to set the `space_follows'
1372 (arg_list): Add member `space_follows'.
1373 Update constructor and all callers.
1374 (decode_args): Store discarded double quotes.
1375 (interpolate_args): Handle DOUBLE_QUOTE.
1377 (get_copy, token::next, composite_glyph_name): Handle DOUBLE_QUOTE.
1379 * tmac/trace.tmac: Trace .nr, .ds, .ds1, .as, .as1.
1381 * docs/groff.texinfo (Parameters), man/groff.man,
1382 man/groff_diff.man, NEWS: Document it.
1384 2006-10-24 Bernd Warken
1386 * Makefile.in (NOMAKEDIRS): Add groffer subdirectories.
1388 2006-10-24 Werner LEMBERG <wl@gnu.org>
1390 * tmac/groff_trace.man: Mention problem with `\\\\'.
1392 2006-10-23 Werner LEMBERG <wl@gnu.org>
1394 * doc/groff.texinfo (Expressions): Improve documentation of `!'.
1396 * tmac/trace.tmac (return): Don't call `substring'.
1398 2006-09-10 Werner LEMBERG <wl@gnu.org>
1400 * src/roff/troff/input.cpp (read_size): Revert previous change
1403 * doc/groff.texinfo (Fractional Size Types): Clarify syntax of \s.
1405 2006-09-09 Werner LEMBERG <wl@gnu.org>
1407 * src/roff/troff/input.cpp (read_size): Fix `\s[-\n[.s]]' so that it
1408 behave the same as `\s-[\n[.s]]' (this is, emit a warning and set
1409 point size to 1). Reported by Gunnar Ritter.
1410 Also catch `\s-[-...]' and friends (causing an error).
1412 2006-09-06 Werner LEMBERG <wl@gnu.org>
1414 * src/roff/troff/env.cpp (environment::do_break): Insert zero-width
1415 space only if there is no previous space. This fixes a bug which
1416 caused unwanted filling of the last line in a paragraph. Thanks to
1417 Gunnar Ritter for an analysis.
1419 2006-09-03 Werner LEMBERG <wl@gnu.org>
1421 * src/roff/groff/groff.cpp (main): Pass -U flag to pic also.
1422 Reported by Jennifer Sayers <jenjen@isu.usyd.edu.au>.
1424 2006-09-01 Nick Stoughton <nick@msbit.com>
1425 Werner LEMBERG <wl@gnu.org>
1427 Add a request `pev' to print environment information (similar to
1428 `pnr' and `ptr' to print number registers and traps).
1430 * src/roff/troff/env.h (environment): Add member function print_env.
1432 * src/roff/troff/env.cpp: (environment::print_env): New function to
1433 print a given environment state.
1434 (print_env): New global function to iterate through the
1435 environments, printing each one.
1436 (init_env_requests): Register `pev'.
1438 * doc/groff.texinfo (Debugging), man/groff.man, man/groff_diff.man,
1439 NEWS: Document `pev' request.
1441 2006-09-01 Bernd Warken
1443 * src/preproc/soelim/soelim.cpp (usage): Fix option argument of
1446 2006-09-01 Werner LEMBERG <wl@gnu.org>
1448 * src/preproc/pic/main.cpp (usage): Add missing options.
1450 2006-08-25 Werner LEMBERG <wl@gnu.org>
1452 * src/preproc/soelim/soelim.man: Document how to insert `\' and ` '
1455 2006-08-19 Werner LEMBERG <wl@gnu.org>
1457 * configure: Regenerated.
1459 2006-08-18 Keith Marshall <keith.d.marshall@ntlworld.com>
1461 * m4/groff.m4 (GROFF_MAKEINFO): Correct `makeinfo version testing
1462 logic; it previously caused an `expr' syntax error, if no version of
1463 `makinfo' was present. Also, remove dependency on `makeinfo' in VPATH
1464 builds, if an up to date `groff.info' is present in either `builddir'
1467 2006-08-12 Tadziu Hoffmann <hoffmann@usm.uni-muenchen.de>
1469 * font/devps/prologue.ps: Add BPhook.
1471 * src/devices/grops/grops.man: Document BPHook.
1472 Reorder some sections for better readability.
1474 2006-08-12 Werner LEMBERG <wl@gnu.org>
1476 * src/include/lib.h (getlocale): New macro.
1477 (setlocale, LC_ALL, LC_CTYPE) [!HAVE_SETLOCALE]: Define, as
1480 * src/preproc/preconv/preconv.cpp (main): Use getlocale.
1482 2006-08-11 Werner LEMBERG <wl@gnu.org>
1484 Add new flag to .cflags to enable hyphenation without looking at
1487 * src/roff/troff/charinfo.h (charinfo): New enumeration value
1489 New member function `ignore_hcodes'.
1491 * src/roff/troff/node.cpp (break_char_node::add_self,
1492 node::add_char): Updated.
1494 * doc/groff.texinfo, man/groff_diff.man, NEWS: Document it.
1496 2006-08-09 Werner LEMBERG <wl@gnu.org>
1498 Support composite Unicode characters again. Reported by Colin.
1500 * font/devhtml/R.proto: Renamed to...
1501 * font/devhtml/R.in: This.
1503 * font/devutf8/R.proto: Renamed to...
1504 * font/devutf8/R.in: This.
1507 * font/make-Rproto: New script.
1508 * font/devhtml/R.proto, font/devutf8/R.proto: Generated.
1510 2006-07-26 Werner LEMBERG <wl@gnu.org>
1512 * README: Fix description of CVS access. Reported by Joachim.
1514 2006-07-11 Werner LEMBERG <wl@gnu.org>
1516 Add a request `.fzoom' and a number register `.zoom' to magnify
1519 * src/include/font.h (font): Add member variable `zoom'.
1520 Add member functions `set_zoom' and `get_zoom'.
1521 Remove `static' attribute from `scale' member function.
1523 * src/libs/libgroff/font.cpp (font::font): Updated.
1524 (scale_round): New version with three parameters to handle zoom
1526 (font::scale, font::get_width): Handle zoom factor.
1527 (font::set_zoom, font::get_zoom): New functions.
1528 (font::load): Handle `zoom' while computing `space_width'.
1530 * src/roff/troff/env.h: Declare `env_get_zoom'.
1531 (environment): Add member function `get_zoom'.
1533 * src/roff/troff/env.cpp (environment::get_zoom): New function.
1534 (init_env_requests): Initialize `.zoom' register.
1536 * src/roff/troff/node.cpp (font_info): New member functions
1537 `set_zoom' and `get_zoom'.
1538 (tfont): New member function `get_zoom'.
1539 (env_get_zoom): New function.
1540 (troff_output_file::set_font): Handle zoom factor.
1541 (font_zoom_request): New function.
1542 (init_node_requests): Initialize `fzoom' request.
1544 * docs/groff.texinfo (Changing Fonts), man/groff.man,
1545 man/groff_diff.man, NEWS: Document `fzoom' request and `.zoom'
1548 * src/roff/troff/TODO: Updated.
1550 2006-07-10 Werner LEMBERG <wl@gnu.org>
1552 * doc/groff.texinfo (Drawing Requests): Improve documentation of
1555 2006-07-02 Werner LEMBERG <wl@gnu.org>
1557 * man/groff_tmac.man: Document usage of .PSPIC within diversions.
1559 2006-07-01 Werner LEMBERG <wl@gnu.org>
1561 * tmac/pspic.tmac: Make .PSPIC work for all devices.
1562 Print image file name for devices which don't support PS image
1564 Handle multiple inclusions.
1565 Add lots of comments.
1567 * tmac/dvi.tmac, tmac/html.tmac, tmac/ps.tmac: Don't load
1570 * tmac/troffrc: Load pspic.tmac.
1572 * man/groff_tmac.man: Update .PSPIC documentation.
1576 2006-06-29 Werner LEMBERG <wl@gnu.org>
1578 * src/roff/troff/input.cpp (interpolate_macro):
1579 s/probably/possibly/, as suggested by Keith.
1581 2006-06-28 Werner LEMBERG <wl@gnu.org>
1583 Add support for \D'p...' to grotty.
1585 * src/devices/grotty/grotty.cpp (tty_printer::draw): Move most of
1587 (tty_printer::line): This function.
1588 (tty_printer::draw): Rewritten; just call either draw_line or
1590 (tty_printer::draw_line, tty_printer::draw_polygon): New functions.
1592 * src/devices/grotty/grotty.man, NEWS: Document it.
1594 2006-06-27 Werner LEMBERG <wl@gnu.org>
1596 * src/preproc/refer/command.h (have_bibliography): New variable
1599 * src/preproc/refer/command.cpp (bibliography_command): Set
1600 `have_bibliography'.
1602 * src/preproc/refer/refer.cpp: Initialize `have_bibliography'.
1603 (output_references): Emit warning only if `have_bibliography' is
1606 2006-06-15 Michail Vidiassov <master@iaas.msu.ru>
1608 * font/devps/Makefile.sub (DISTFILES): Add freeeuro.afm.
1609 * font/devps/generate/Makefile (clean): Don't remove symbolsl.afm
1612 2006-06-15 Werner LEMBERG <wl@gnu.org>
1614 * src/preproc/tbl/tbl.man: Document limitations of .TS/.TE within a
1615 macro (as suggested by Tadziu Hoffmann).
1617 2006-06-12 Werner LEMBERG <wl@gnu.org>
1619 * src/preproc/tbl/tbl.man: Add example for use of .TS/.TE within a
1620 macro (as suggested by Tadziu Hoffmann).
1622 2006-06-05 Werner LEMBERG <wl@gnu.org>
1624 * tmac/strip.sed: Strip `\#' also.
1626 * doc/groff.texinfo (Operators in Conditionals): Document usage of
1627 \? for string comparison.
1629 2006-06-04 Werner LEMBERG <wl@gnu.org>
1631 * doc/groff.texinfo: Add more index entries for copy-in mode.
1632 (Changing Fonts) <.ft>: Document that a font definition file must
1633 not be called `DESC'.
1635 2006-05-31 Werner LEMBERG <wl@gnu.org>
1637 * src/roff/troff/input.cpp (token::next) <\N>: Catch negative values
1640 * doc/Makefile.sub (EXAMPLEFILES): Move gnu.eps to...
1641 (PROCESSEDEXAMPLEFILES): Here.
1643 2006-05-30 Werner LEMBERG <wl@gnu.org>
1645 * src/libs/libgroff/font.cpp (font::load): Reject fonts called
1647 Reduce number of false positives for `.if F ...' conditionals.
1648 Improve warning messages.
1650 2006-05-29 Werner LEMBERG <wl@gnu.org>
1652 * tmac/Makefile.sub: Add copyright notice.
1653 (NORMALFILES): Add man.tmac and ms.tmac.
1654 (SPECIALFILES): Remove man.tmac and ms.tmac.
1655 (CLEANADD): Remove man.tmac-sed and ms.tmac-sed.
1656 (install_data, uninstall_sub): Don't handle man.tmac and ms.tmac
1658 (stamp-sed): Don't handle man.tmac and ms.tmac.
1659 Remove obsolete components in sed's regexp.
1661 * doc/Makefile.sub (EXAMPLEFILES): Add gnu.eps.
1663 * Makefile.in (OTHERDIRS, NOMAKEDIRS): Add hdtbl.
1665 2006-05-28 Werner LEMBERG <wl@gnu.org>
1667 * doc/groff.texinfo (History): Correct death circumstances of Joe
1670 2006-05-27 Werner LEMBERG <wl@gnu.org>
1672 * tmac/an-old.tmac (an-do-tag): Simplify.
1674 2006-05-26 Werner LEMBERG <wl@gnu.org>
1676 * tmac/an-old.tmac (an-do-tag): Make margin characters work.
1677 (an-header, an-p-footer): Use named environment.
1679 * src/roff/troff/env.cpp (environment::copy): Copy margin character
1682 2006-05-21 Werner LEMBERG <wl@gnu.org>
1684 * tmac/trace.tmac (de1): Fix serious typo (.di -> .do) and minor
1687 2006-05-11 Keith Marshall <keith.d.marshall@ntlworld.com>
1689 * src/roff/groff/groff.man: Remove superfluous word `intermediate'.
1691 2006-05-10 Keith Marshall <keith.d.marshall@ntlworld.com>
1693 * src/roff/groff/groff.man: Update copyright notice.
1694 Improved wording to describe effect of `-Z' option.
1696 2006-05-06 Werner LEMBERG <wl@gnu.org>
1698 * tmac/www.tmac: Decorate `.ds' with trailing `\"' where missing.
1699 Normalize handling of `"' in arguments.
1700 (PIMG): Remove debug message.
1703 2006-05-05 Werner LEMBERG <wl@gnu.org>
1705 * src/devices/grohtml/post-html.cpp (page::add_and_encode): Don't
1706 swallow character immediately after `\[...]'.
1709 2006-05-02 Gaius Mulley <gaius@glam.ac.uk>
1711 * tmac/www.tmac (PIMG): Fix the HTML device specific components.
1713 2006-05-02 Larry Kollar <kollar@alltel.net>
1715 * tmac/www.tmac (PIMG): Really default to `-C' if the alignment
1718 2006-04-30 Michail Vidiassov <master@iaas.msu.ru>
1720 * src/utils/afmtodit/afmtodit.pl: New option `-c' to add font
1721 information as a comment in output.
1722 * src/utils/afmtodit/afmtodit.man, NEWS: Document it.
1724 2006-04-26 Werner LEMBERG <wl@gnu.org>
1726 * src/devices/grohtml/post-html.cpp (html_printer::~html_printer):
1727 Handle current_paragraph only if it is non-NULL.
1729 * src/libs/libdriver/input.cpp (parse_x_command <'F'>, do_file
1730 <'F'>): Use `get_extended_arg' to behave as documented. Reported by
1731 Bill Ward <william.a.ward.jr@erdc.usace.army.mil>.
1734 Surround the (pseudo) file name for the .pso request with `<' and
1737 * src/roff/troff/node.cpp (real_output_file, troff_output_file): Add
1738 second parameter to `really_put_filename' and `put_filename'.
1739 (troff_output_file::really_put_filename): Emit `<' and `>' around
1740 filename if second argument is set.
1741 * src/roff/troff/node.h: Updated.
1743 * src/roff/troff/input.cpp (file_iterator::file_iterator,
1744 file_iterator::set_location): Update to changes in node.cpp.
1746 2006-04-25 Tetsurou Okazaki <okazaki@FreeBSD.org>
1748 * src/preproc/preconv/preconv.cpp (do_file): Fix conditional
1749 preprocessor expression (I18N -> HAVE_ICONV).
1750 (main): Fix handling of option `-h'.
1751 Fix conditional preprocessor expression.
1753 2006-04-04 Werner LEMBERG <wl@gnu.org>
1755 Implement new number register `.br' which is set to 1 if a macro has
1756 been called as .foo and to 0 if called as 'bar. This is useful for
1757 -mtrace so that requests can be reliably traced too.
1759 * src/roff/troff/input.cpp (input_iterator): Add virtual function
1761 (macro_iterator): Add `with_break' member and `get_break_flag'
1763 Update constructors.
1764 (input_stack): Add function `get_break_flag'.
1765 (break_flag_reg): New number register class.
1766 (input_init_requests): Register `.br'.
1768 * src/roff/troff/TODO: Updated.
1770 * tmac/trace.tmac: s/!!sp/!!!sp/.
1771 Modify definitions of `de', `de1', `am', and `am1' to use \n[.br].
1773 * docs/groff.texinfo (Requests), man/groff.man, man/groff_diff.man,
1776 2006-03-29 Werner LEMBERG <wl@gnu.org>
1778 * src/devices/grops/ps.cpp: s/must not/should not/ in warning
1779 messages where appropriate.
1781 2006-03-28 Werner LEMBERG <wl@gnu.org>
1783 * configure.ac: Call AC_PROG_EGREP.
1784 * configure: Regenerated.
1786 * Makefile.in (EGREP): New variable.
1787 (MDEFINES): Add $(EGREP).
1789 * src/roff/grog/grog.sh: Treat .TH between .TS and .TE properly
1790 (bug reported by Robert Goulding <Goulding.2@nd.edu>).
1793 * src/roff/grog/Makefile.sub (grog, grog.old): Use $(EGREP).
1795 2006-03-27 Werner LEMBERG <wl@gnu.org>
1797 Add two requests `.device' and `.devicem' which are equivalent to
1798 `\X' and `\Y', respectively.
1800 * src/roff/troff/input.cpp (device_request, device_macro_request):
1802 (init_input_requests): Register them.
1804 * doc/groff.texinfo (Postprocessor Access), man/groff_diff.man,
1805 man/groff.man, NEWS: Document them.
1807 2006-03-27 Gaius Mulley <gaius@glam.ac.uk>
1809 * src/roff/troff/input.cpp (encode_char): Emit special characters
1810 for -Thtml as `\[...]'.
1811 * src/devices/grohtml/post-html.cpp (page::add_and_encode): Updated.
1813 * doc/groff.texinfo (Postprocessor Access) <\X>: Updated.
1815 2006-03-27 Werner LEMBERG <wl@gnu.org>
1817 * tmac/Makefile.sub (NORMALFILES, SPECIALFILES): Add various missing
1820 2006-03-26 Werner LEMBERG <wl@gnu.org>
1822 * doc/groff.texinfo (Writing Macros): More documentation on
1823 end-of-macro symbol of `.de'.
1824 (Diversions): Minor addition to `.di' description.
1826 * src/devices/grops/grops.man: Some clarifications regarding
1827 insertion of PostScript snippets.
1829 2006-03-25 Michail Vidiassov <master@iaas.msu.ru>
1831 Add rules to generate `symbolsl.afm'.
1833 * font/devps/generate/zapfdr.sed,
1834 font/devps/generate/symbolsl.awk: New files.
1836 * font/devps/generate/Makefile (symbolfont, PRINTAFM): New
1838 (SS, clean): Updated.
1839 (freeeuro.afm): Use $(srcdir).
1840 (symbolsl.afm): New rule.
1841 (zapfdr.afm): Use zapfdr.sed.
1843 2006-03-22 Dwight Aplevich <aplevich@uwaterloo.ca>
1845 * src/preproc/pic/pic.y (expr <INT>): Fix code.
1847 2006-03-22 Jörgen Grahn <jgrahn@algonet.se>
1849 * tmac/sv.tmac: Add missing translations and activate support for
1850 other macro packages.
1852 2006-03-21 Francis GUDIN <fgudin@nerim.net>
1854 * tmac/doc-syms (Dx): New macro to identify DragonFly.
1855 (doc-str-St--ieee1275-94, doc-str-St--isoC-amd1,
1856 doc-str-St--isoC-tcor1, doc-str-St--isoC-tcor2): New standard
1858 (doc-operating-system-FreeBSD-5.5, doc-operating-system-FreeBSD-7.0,
1859 doc-operating-system-NetBSD-1.6.3, doc-operating-system-NetBSD-4.0
1860 doc-operating-system-DragonFly-*): New operating system strings.
1862 * tmac/groff_mdoc.man, NEWS: Document `Dx'.
1864 2006-03-21 Werner LEMBERG <wl@gnu.org>
1866 * src/preproc/pic/pic.y (object_spec THEN): For compatibility with
1867 both DWB pic and dpic, make
1875 line right then down;
1882 * doc/pic.ms: Document this.
1884 2006-03-20 Werner LEMBERG <wl@gnu.org>
1886 * doc/pic.ms: With permission of Eric Raymond, put it under the
1891 2006-03-19 Werner LEMBERG <wl@gnu.org>
1893 * src/preproc/pic/pic.y (expr <INT>): Really return integer part.
1895 * src/preproc/pic/objects.cpp (object_spec::make_line): Handle `at'
1896 attribute in combination with `with'. Bug reported by Jennifer
1897 Sayers <jenjen@mail.usyd.edu.au>.
1899 2006-03-19 Miklos Somogyi <msom@netspace.net.au>
1901 * doc/groff.texinfo (Manipulating Spacing): Improve documentation of
1904 2006-03-18 Werner LEMBERG <wl@gnu.org>
1906 * LICENSE: Renamed to...
1907 * LICENSES: This. Collect all licensing information in this file.
1908 * tmac/README, src/libs/snprintf/README: Removed.
1910 * src/devices/grops/grops.man: Add section how to install fonts.
1912 * src/utils/xtotroff/xtotroff.c: Add GPL.
1914 2006-03-17 Werner LEMBERG <wl@gnu.org>
1916 * Makefile.comm (.y.cpp): Fix #line arguments in output.
1918 2006-03-13 Werner LEMBERG <wl@gnu.org>
1920 * src/preproc/tbl/tbl.man: Mention default length of text blocks.
1922 * tmac/doc-common (Os): Add more Darwin versions.
1923 * tmac/groff_mdoc.man: Document them.
1925 * doc/groff.texinfo (Operators in Conditionals): Mention that `c'
1926 works with \N'...' also.
1927 * man/groff_diff.man: Ditto. Remove use of future tense where
1930 2006-03-12 Michail Vidiassov <master@iaas.msu.ru>
1932 * font/devps/generate/make-zapfdr, font/devps/symbolsl.ps,
1933 font/devps/zapfdr.ps: Add `%%EndComments' line.
1935 2006-03-10 Larry Kollar <kollar@alltel.net>
1937 * doc/groff.texinfo (Headers and footers): Document PT, HD, and BT.
1939 2006-03-10 Werner LEMBERG <wl@gnu.org>
1941 * src/devices/grops/ps.cpp (ps_printer::do_exec, ps_printer::do_def,
1942 ps_printer::do_mdef): Overlong lines now cause a warning message,
1945 2006-03-09 Werner LEMBERG <wl@gnu.org>
1947 * font/devps/generate/make-zapfdr: New script for generating
1950 2006-03-08 Werner LEMBERG <wl@gnu.org>
1952 * doc/groff.css (pre): Fix `background-color' value.
1954 2006-03-04 Larry Kollar <kollar@alltel.net>
1956 * tmac/groff_ms.man: Document PT, HD, and BT.
1958 2006-03-04 Werner LEMBERG <wl@gnu.org>
1960 * src/roff/troff/node.cpp (make_glyph_node): Improve warning message
1961 for single-letter glyph names.
1963 2006-03-02 Werner LEMBERG <wl@gnu.org>
1965 * tmac/sv.tmac: New file; currently holding only the Swedish strings
1967 * tmac/hyphen.sv: New hyphenation pattern file for Swedish, taken
1969 * tmac/README: Updated.
1971 2006-02-27 Werner LEMBERG <wl@gnu.org>
1973 * tmac/trans.tmac (Liec, Letdate, Letns!14): Add it (for -mm).
1974 * tmac/fr.tmac: Add French translations.
1976 * tmac/composite.tmac: Add entry for `:'.
1978 2006-02-26 Werner LEMBERG <wl@gnu.org>
1980 * doc/Makefile.sub (HTMLEXAMPLEFILESALL): New variable.
1982 (install_html, uninstall_sub): Updated.
1984 2006-02-26 Bruno Haible <bruno@clisp.org>
1986 Introduce Unicode fonts.
1988 * font/devhtml/DESC.proto: Mark as unicode.
1989 * font/devhtml/R.proto: Remove all charset entries that are already
1991 * font/devutf8/DESC.proto: Mark as unicode.
1992 * font/devutf8/R.proto: Remove all charset entries.
1993 * src/include/font.h (font): New static field `is_unicode'.
1994 Change order of fields.
1995 * src/libs/libgroff/font.cpp: Include unicode.h.
1996 (font::font): Update for changed order of fields.
1997 (font::contains, font::get_width, font::get_height, font::get_depth,
1998 font::get_italic_correction, font::get_left_italic_correction,
1999 font::get_subscript_correction, font::get_character_type,
2000 font::get_code, font::get_special_device_encoding): Handle both the
2001 explicitly enumerated glyphs and use general code for Unicode fonts.
2002 (font::load): Make the charset section optional when the font is
2004 (font::load_desc): Recognize the `unicode' attribute.
2005 * src/libs/libgroff/fontfile.cpp (font::is_unicode): New variable.
2007 2006-02-26 Claudio Fontana <claudio@gnu.org>
2009 * Makefile.in: Add comment about DESTDIR.
2011 * Makefile.sub: Add DESTDIR to install and uninstall targets
2012 to support staged installations.
2013 * Makefile.comm: Likewise.
2014 * doc/Makefile.sub: Likewise.
2015 * contrib/eqn2graph/Makefile.sub: Likewise.
2016 * contrib/grap2graph/Makefile.sub: Likewise.
2017 * contrib/pic2graph/Makefile.sub: Likewise.
2018 * src/devices/xditview/Makefile.sub: Likewise.
2019 * src/preproc/eqn/Makefile.sub: Likewise.
2020 * src/roff/grog/Makefile.sub: Likewise.
2021 * src/roff/nroff/Makefile.sub: Likewise.
2022 * src/utils/afmtodit/Makefile.sub: Likewise.
2023 * src/utils/indxbib/Makefile.sub: Likewise.
2024 * tmac/Makefile.sub: Likewise.
2026 2006-02-24 Werner LEMBERG <wl@gnu.org>
2028 * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list): Use entry
2030 Remove commented out entries for \' and \` (there are no such glyph
2033 * src/libs/libgroff/uniglyph.cpp (unicode_to_glyph_list): Remove
2034 commented out entries for \' and \`.
2037 * */*: s/legal/valid/ where appropriate.
2039 2006-06-23 Werner LEMBERG <wl@gnu.org>
2041 * font/devhtml/R.proto, font/devutf8/R.proto: Remove incorrect \'
2044 2006-02-22 Werner LEMBERG <wl@gnu.org>
2046 Remove all remaining traces from the `shc' glyph.
2048 * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list),
2049 src/libs/libgroff/uniglyph.cpp (unicode_to_glyph_list): Remove
2052 * font/devlatin1/R.proto, font/devcp1046/R.proto: Replace `shc'
2053 entry with unnamed glyph.
2055 * tmac/html/tmac: Remove `shc' entry from call to `.cflags'.
2057 * src/preproc/preconv/preconv.cpp (unicode_entity): Handle U+00AD
2060 2006-02-22 Bruno Haible <bruno@clisp.org>
2062 Concretize the `glyph' datatype.
2064 * src/include/font.h (glyph): Remove class.
2065 (glyph): Renamed from struct `glyphinfo'.
2066 (glyph_to_index): New inline function.
2067 (glyph_to_name): Make extern, not inline.
2068 (glyph_to_number): Update.
2069 (font): Use `glyph *' instead of `glyph'.
2071 * src/libs/libgroff/nametoindex.cpp (charinfo): Inherit from class
2072 `glyph'. Make `name' field public.
2073 (character_indexer, number_to_glyph, name_to_glyph): Use `glyph *'
2075 (glyph_to_name): Renamed from `glyph::glyph_name'.
2077 * src/roff/troff/charinfo.h (charinfo): Inherit from class `glyph'.
2078 Use `glyph *' instead of `glyph'.
2080 * src/roff/troff/input.cpp (name_to_glyph, number_to_glyph): Use
2081 `glyph *' instead of `glyph'.
2082 (glyph_to_name): Renamed from `glyph::glyph_name'.
2084 * src/libs/libgroff/font.cpp: Use `glyph *' instead of `glyph',
2085 and `glyph_to_index' instead of `glyph::glyph_index'.
2087 * src/include/printer.h (printer): Use `glyph *' instead of `glyph'.
2088 * src/libs/libdriver/printer.cpp: Likewise.
2089 * src/devices/grodvi/dvi.cpp: Likewise.
2090 * src/devices/grohtml/post-html.cpp: Likewise.
2091 * src/devices/grolbp/lbp.cpp: Likewise.
2092 * src/devices/grolj4/lj4.cpp: Likewise.
2093 * src/devices/grops/ps.cpp: Likewise.
2094 * src/devices/grotty/tty.cpp: Likewise.
2096 2006-02-22 Werner LEMBERG <wl@gnu.org>
2098 * font/devdvi/generate/tc.map: Add `sr' glyph.
2099 * font/devdvi/*TC: Regenerated.
2101 * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list): Use entry
2104 2006-02-21 Werner LEMBERG <wl@gnu.org>
2106 * man/groff_char.man: Explain `***' marker.
2108 2006-02-17 Bruno Haible <bruno@clisp.org>
2110 * src/libs/libgroff/nametoindex.cpp (character_indexer): Rename
2111 methods and fields from *_index to *_glyph.
2112 (character_indexer::named_char_glyph): Test for `charNNN' name
2114 (name_to_glyph): ... not here.
2116 2006-02-17 Bruno Haible <bruno@clisp.org>
2118 * src/include/font.h (name_to_glyph): Renamed from
2119 font::name_to_index.
2120 (number_to_glyph): Renamed from font::number_to_index.
2121 (glyph_to_name): Renamed from font::index_to_name.
2122 (glyph_to_number): Renamed from font::index_to_number.
2123 * src/libs/libgroff/nametoindex.cpp: Likewise.
2124 * src/roff/troff/charinfo.h (charinfo::as_glyph): Renamed from
2125 charinfo::get_index.
2127 * src/roff/troff/input.cpp: All callers changed.
2128 * src/roff/troff/node.cpp: Likewise.
2129 * src/libs/libgroff/font.cpp: Likewise.
2130 * src/devices/grops/ps.cpp: Likewise.
2131 * src/devices/grohtml/post-html.cpp: Likewise.
2132 * src/libs/libdriver/printer.cpp: Likewise.
2134 2006-02-17 Werner LEMBERG <wl@gnu.org>
2136 * src/include/ptable.h, src/include/itable.h
2137 (NEXT_PTABLE_SIZE_DEFINED): Use it to avoid multiple declaration
2138 of external symbol `next_ptable_size' (used by both header files).
2140 2006-02-15 Bruno Haible <bruno@clisp.org>
2142 * src/include/font.h (glyphinfo): New class.
2143 (glyph): Change internal representation.
2144 Change constructor signature.
2145 New method glyph::glyph_number().
2146 (glyph::glyph, glyph glyph::undefined_glyph, glyph::glyph_index,
2147 glyph::operator==, glyph::operator!=): Update.
2148 (font::index_to_name, font::index_to_number): New functions.
2150 * src/include/itable.h: New file, based on src/include/ptable.h.
2152 * src/libs/libgroff/nametoindex.cpp: Include itable.h.
2153 (class charinfo): New class.
2154 (class character_indexer): Change table result type from `int' to
2156 Add table with integer key.
2157 (character_indexer::character_indexer): Update.
2158 (character_indexer::ascii_char_index): Update.
2159 (character_indexer::numbered_char_index): Use NULL as name, not a
2160 string starting with a space.
2161 (character_indexer::named_char_index): Update.
2162 (font::number_to_index, font::name_to_index): Remove no-op cast.
2163 (glyph::glyph_name): New method.
2164 * src/roff/troff/charinfo.h (class charinfo): Inherit from class
2166 (NUMBERED): Remove flag bit.
2167 (charinfo::numbered, charinfo::get_index): Update.
2169 * src/roff/troff/input.cpp (charinfo::charinfo): Update.
2170 (charinfo::set_number, charinfo::get_number): Update.
2171 (glyph::glyph_name): New method.
2173 2006-02-15 Werner LEMBERG <wl@gnu.org>
2175 * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list): Fix
2176 entries for `>>', `<<', `*f', and `+f'. Reported by Bruno.
2178 2006-02-13 Werner LEMBERG <wl@gnu.org>
2180 * font/devps/prologue.ps (RE): Check `UniqueID' also, similar to
2183 2006-02-11 Werner LEMBERG <wl@gnu.org>
2185 * src/include/font.h: s/glyph_t/glyph/.
2188 * src/devices/grotty/tty.cpp: s/glyph/tty_glyph/.
2189 s/output_character_t/output_character/.
2191 2006-02-11 Bruno Haible <bruno@clisp.org>
2193 New accessor method glyph_t::glyph_name().
2195 * src/include/ptable.h (declare_ptable): Add a return value to the
2196 `define' method, and declare a `lookupassoc' method.
2197 (implement_ptable): Return the stored key in `define'. Implement
2199 * src/include/font.h (glyph_t): Add `name' field. Add an argument
2201 (glyph_t::glyph_name): New method.
2203 * src/libs/libgroff/nametoindex.cpp (character_indexer): Change
2204 return type of methods and field member type to glyph_t.
2205 (character_indexer::character_indexer): Update.
2206 (character_indexer::ascii_char_index): Allocate a name for the
2208 Return a glyph_t with name.
2209 (character_indexer::numbered_char_index): Return a glyph_t without a
2211 (character_indexer::named_char_index): Return a glyph_t with a name.
2212 (font::number_to_index, font::name_to_index): Update.
2214 * src/roff/troff/input.cpp (charinfo::charinfo): Use the symbol as
2217 2006-02-11 Bruno Haible <bruno@clisp.org>
2219 * src/devices/grotty/tty.cpp (output_character_t): New type.
2220 (tty_printer::make_bold, tty_printer::add_char,
2221 tty_printer::put_char): Change argument type to output_character_t.
2222 (crossings): Change element type to output_character_t.
2224 2006-02-11 Bruno Haible <bruno@clisp.org>
2226 Make the glyph data type abstract.
2228 * src/include/font.h (glyph_t): New class.
2229 (name_to_index, number_to_index): Change return type to glyph_t.
2230 (font::contains, font::get_width, font::get_height, font::get_depth,
2231 font::get_character_type, font::get_kern, font::get_skew,
2232 font::get_italic_correction, font::get_left_italic_correction,
2233 font::get_subscript_correction, font::get_code,
2234 font::get_special_device_encoding, font::add_entry,
2235 font::copy_entry, font::add_kern, font::hash_kern): Change argument
2238 * src/libs/libgroff/font.cpp (font_kern_list): Change members
2239 type and constructor argument types to glyph_t.
2240 (font::contains, font::get_width, font::get_height, font::get_depth,
2241 font::get_character_type, font::get_kern, font::get_skew,
2242 font::get_italic_correction, font::get_left_italic_correction,
2243 font::get_subscript_correction, font::get_code,
2244 font::get_special_device_encoding, font::add_entry,
2245 font::copy_entry, font::add_kern, font::hash_kern): Change argument
2247 (font::load): Use glyph_t variables.
2249 * src/libs/libgroff/nametoindex.cpp (name_to_index,
2250 number_to_index): Change return type to glyph_t.
2252 * src/roff/troff/charinfo.h (charinfo::index): Change type to
2254 (charinfo::get_index): Change return type to glyph_t.
2256 * src/roff/troff/env.cpp: Include font.h.
2258 * src/roff/troff/node.cpp: Include font.h before charinfo.h.
2260 * src/roff/troff/input.cpp: Include font.h before charinfo.h.
2261 (charinfo::charinfo): Update.
2262 (name_to_index, number_to_index): Change return type to glyph_t.
2264 * src/include/printer.h (printer::set_char_and_width): Change return
2267 * src/libs/libdriver/printer.cpp (printer::set_char_and_width):
2268 Change return type to glyph_t.
2270 * src/devices/grodvi/dvi.cpp (dvi_printer::set_char): Change
2271 argument type to glyph_t.
2273 * src/devices/grohtml/post-html.cpp (page::add_and_encode): Update.
2274 (html_printer::space_glyph): Renamed from space_char_index.
2275 (html_printer::add_to_sbuf, html_printer::sbuf_continuation,
2276 html_printer::overstrike, html_printer::set_char): Change argument
2278 (html_printer::set_char_and_width): Change return type to glyph_t.
2280 * src/devices/grolbp/lbp.cpp (lbp_printer::set_char): Change
2281 argument type to glyph_t.
2283 * src/devices/grolj4/lj4.cpp (lj4_printer::set_char): Change
2284 argument type to glyph_t.
2286 * src/devices/grops/ps.cpp (ps_printer::space_glyph): Renamed from
2288 (ps_printer::set_subencoding, ps_printer::set_char): Change argument
2291 * src/devices/grotty/tty.cpp (tty_printer::set_char): Change
2292 argument type to glyph_t.
2294 2006-02-11 Bruno Haible <bruno@clisp.org>
2296 * src/roff/troff/input.cpp (font::name_to_index): Never return a
2299 * src/libs/libgroff/font.cpp (font::load): Remove failure tests for
2300 font::name_to_index.
2302 2006-02-10 Werner LEMBERG <wl@gnu.org>
2304 * doc/groff.texinfo (Assigning Formats): Number registers are always
2306 Apply some rephrasing, contributed by Michael Burt.
2308 2006-02-07 Werner LEMBERG <wl@gnu.org>
2310 * tmac/fr.tmac <ms>: Set `HY' register.
2312 2006-02-07 Werner LEMBERG <wl@gnu.org>
2314 Add framework for simple adaptation of the main macro packages (mm,
2315 me, ms, mom) to different locales. In particular, add support for
2316 French. For activation, simply use `-mfr' as the last macro
2317 package. This feature has been contributed by Fabrice Ménard
2318 <menard.fabrice@wanadoo.fr>.
2320 * tmac/fr.tmac, tmac/trans.tmac, tmac/hyphen.fr, tmac/LOCALIZATION:
2322 * tmac/README: Mention hyphen.fr.
2323 * man/groff_tmac.man: Mention fr.tmac.
2326 2006-01-27 Werner LEMBERG <wl@gnu.org>
2328 * man/groff_font.man: Updated documentation of `entity_name' field.
2331 2006-01-27 Bruno Haible <bruno@clisp.org>
2333 * font/devhtml/R.proto: Remove the entity names from the font's
2334 special_encoding_encoding column.
2335 * src/devices/grohtml/post-html.cpp (get_html_entity): New function,
2336 handling the entity names here.
2337 (get_html_translation): Use it. Change return type to `const
2339 (page::add_and_encode): Update, removing a useless cast.
2341 2006-01-26 Werner LEMBERG <wl@gnu.org>
2343 This change is based on a patch by Bruno Haible <bruno@clisp.org>.
2345 * src/include/device.h: Add comments.
2346 * src/include/font.h: Add comments.
2347 * src/include/unicode.h: Likewise.
2348 * src/include/ptable.h, src/libs/libgroff/ptable.cpp: Likewise.
2350 2006-01-26 Keith Marshall <keith.d.marshall@ntlworld.com>
2352 Suppress `.st' request emission by `grn'.
2354 * src/preproc/grn/main.cpp (USE_ST_REQUEST): New macro.
2357 2006-01-22 Werner LEMBERG <wl@gnu.org>
2359 * install-sh: New version; taken from texinfo CVS.
2361 2006-01-21 Werner LEMBERG <wl@gnu.org>
2363 * src/preproc/preconv/preconv.cpp (main): Set program_name. Bug
2364 reported by Alexander E. Patrakov <patrakov@ums.usu.ru>.
2366 2006-01-19 Bruno Haible <bruno@clisp.org>
2368 Let `make -k install' install more files.
2370 * Makefile.in (MAKE_K_FLAG): New variable. Use it everywhere where
2371 $(MAKE) and $(MDEFINES) are used.
2372 (CPROGDIRS): Remove $(XPROGDIRS). Treat $(XPROGDIRS) like
2373 $(CPROGDIRS) everywhere.
2374 ($(DEVDIRS) $(XDEVDIRS) $(OTHERDEVDIRS) $(TTYDEVDIRS)): Don't depend
2376 ($(OTHERDIRS)): Likewise.
2379 * src/devices/grohtml/post-html.cpp (get_html_translation): Remove
2380 failure test for font::name_to_index -- it can never fail.
2382 2006-01-19 Werner LEMBERG <wl@gnu.org>
2384 * src/devices/grops/grops.man: Fix section on creating EPS files.
2385 Don't use future time in manual.
2388 2006-01-15 Gaius Mulley <gaius@glam.ac.uk>
2390 * tmac/www.tmac: New macro LINKSTYLE which allows users to set
2391 various typographical URL attributes for non-HTML devices.
2393 * tmac/groff_www.man: Document LINKSTYLE.
2395 2006-01-11 Werner LEMBERG <wl@gnu.org>
2397 * configure.ac: Test for getc_unlocked (needed for localcharset).
2398 * configure, src/include/config.hin: Regenerated.
2400 * src/libs/libgroff/Makefile.sub (EXTRA_CFLAGS): Define
2403 * src/libs/libgroff/relocatable.h: New dummy header file for
2406 * src/libs/libgroff/localcharset.c: Updated to (unchanged) CVS
2409 2006-01-10 Bruno Haible <bruno@clisp.org>
2411 Work around unportability of nl_langinfo(CODESET).
2413 * m4/glibc21.m4: New file, from gnulib.
2414 * Makefile.sub (M4MACROS): Add m4/glibc21.m4.
2415 * configure.ac: Also test for stddef.h, and invoke jm_GLIBC21.
2416 * Makefile.in (HOST, GLIBC21): New variables.
2417 (MDEFINES): Pass them to subdirectories.
2418 * src/include/relocate.h (relocatep): Define with C linkage.
2419 * src/include/localcharset.h: New file, from gnulib.
2420 * src/libs/libgroff/localcharset.c: New file, from gnulib with a
2421 modification for relocate().
2422 * src/libs/libgroff/config.charset: New file, from gnulib.
2423 * src/libs/libgroff/ref-add.sin: New file, from gnulib.
2424 * src/libs/libgroff/ref-del.sin: New file, from gnulib.
2425 * src/libs/libgroff/Makefile.sub (EXTRA_CFLAGS): Also define LIBDIR.
2426 (OBJS): Add localcharset.o.
2427 (CSRCS): Add localcharset.c.
2428 (all): Add dependencies to charset.alias, ref-add.sed, ref-del.sed.
2429 (charset.alias): New rule.
2430 (PACKAGE): New variable.
2431 (ref-add.sed, ref-del.sed): New rules.
2432 (MKINSTALLDIRS): New variable.
2433 (install_data): Depend on install_charset_data.
2434 (install_charset_data): New rule for creating or updating
2436 (uninstall_sub): Depend on uninstall_charset_data.
2437 (uninstall_charset_data): New rule for uninstalling or updating
2439 * src/preproc/preconv/preconv.cpp: Include localcharset.h instead
2441 (main): Initialize default_encoding from locale_charset() instead of
2442 nl_langinfo(CODESET).
2444 * aclocal.m4, configure, src/include/config.hin: Regenerated.
2446 2006-01-10 Werner LEMBERG <wl@gnu.org>
2448 * src/preproc/preconv/preconv.cpp (conversion_iconv): Use
2449 ICONV_CONST in call to iconv. Reported by Robert Goulding.
2451 2006-01-07 Werner LEMBERG <wl@gnu.org>
2453 * font/devps/generate/freeeuro.sfd: Run auto-hinter with recent
2455 Bump font version to 001.001.
2457 * font/devps/generate/Makefile (freeeuro.afm, freeeuro.pfa):
2458 Call fontforge, not pfaedit.
2460 * font/devps/freeeuro.afm, font/devps/freeeuro.pfa: Regenerated.
2462 2006-01-05 Ruslan Ermilov <ru@FreeBSD.org>
2464 * tmac/doc-common: Add new FreeBSD and NetBSD versions.
2465 * tmac/groff_mdoc.man: Updated.
2467 2006-01-05 Werner LEMBERG <wl@gnu.org>
2469 * src/preproc/preconv/preconv.cpp: s/debug/debug_flag/.
2470 (raw_flag): New global variable.
2471 (do_file): Use .lf to set file name (if `raw_flag' isn't set).
2472 Don't pass BOM to `conversion_utf8'.
2474 (main): Handle `-r' command line switch to set `raw_flag'.
2475 (get_BOM): Fix encodings in `BOM_table'.
2477 * src/preproc/preconv/preconv.man: New file. Not complete yet.
2478 * src/preproc/proconv/Makefile.sub (MAN1): New variable.
2480 2006-01-04 Werner LEMBERG <wl@gnu.org>
2482 * src/preproc/preconv/preconv.cpp (emacs_to_mime): As suggested by
2483 Bruno, comment out most encodings to support only a small set of
2484 coding tags, thus reducing potential problems with legacy encodings
2485 and character sets in the future.
2486 Add many XEmacs coding tags (now commented out).
2488 (check_encoding_tag): Renamed to...
2489 (check_coding_tag): This.
2490 (get_BOM): Return encoding as specified by BOM.
2491 Test for UTF32-LE too.
2492 (do_file): Don't check for coding tag if a BOM has been found.
2494 2006-01-03 Bruno Haible <bruno@clisp.org>
2496 * m4/groff.m4: Renamed from aclocal.m4.
2497 * m4/codeset.m4: New file, from gnulib.
2498 * m4/iconv.m4: New file, from gnulib.
2499 * m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4: New files, from
2501 * config.rpath: New file, from gnulib.
2502 * config.guess, config.sub: New files, from gnulib.
2503 * Makefile.sub (M4MACROS): New variable.
2504 (configure): Fix typo.
2505 (aclocal.m4): New rule.
2506 (stamp-h.in): Depend on aclocal.m4.
2507 * configure.ac: Invoke AM_ICONV and AM_LANGINFO_CODESET.
2508 * Makefile.in (LIBICONV): New variable.
2509 (MDEFINES): Pass it to recursive makes.
2510 * src/preproc/preconv/preconv.cpp: Use HAVE_LANGINFO_CODESET and
2511 HAVE_ICONV instead of I18N macro.
2512 * src/preproc/preconv/Makefile.sub (EXTRA_LDFLAGS): New variable.
2514 * aclocal.m4, configure, src/include/config.hin: (Re)generated.
2516 2006-01-03 Werner LEMBERG <wl@gnu.org>
2518 * doc/Makefile.in (webpage.html): Simplify.
2519 * doc/Makefile.sub (webpage.html): Synchronize with doc/Makefile.in.
2520 * doc/webpage.ms, tmac/groff_www.man, tmac/www.tmac: Minor updates.
2522 2006-01-01 Werner LEMBERG <wl@gnu.org>
2524 * tmac/doc-common (Os): Add some Darwin versions.
2525 * tmac/groff_mdoc.man: Document them.
2527 2006-01-01 Bruno Haible <bruno@clisp.org>
2529 * src/preproc/preconv/preconv.cpp (emacs_to_mime): Various
2531 . Don't map ascii to latin-1.
2532 . Don't use IBMxxx encodings but cpxxx for portability.
2533 . Map cp932, cp936, cp949, cp950 to itself.
2534 (emacs2mime): Protect calls to strcasecmp.
2535 (conversion_iconv): Add missing call to iconv_close.
2536 (do_file): Emit error message in case of unsupported encoding.
2538 2005-12-31 Werner LEMBERG <wl@gnu.org>
2540 Integrate preconv into the groff binary. Changes based on a patch
2541 from Michail Vidiassov.
2543 * src/roff/groff/pipeline.h (MAX_COMMANDS): Increase by 1.
2545 * src/roff/groff/groff.cpp (PRECONV_INDEX): New macro.
2546 (SOELIM_INDEX): Updated.
2547 (help, synopsis): Updated.
2548 (main): Add command line options `-k' and `-K enc' to select
2550 Add support for GROFF_ENCODING environment variable.
2552 * src/roff/groff/groff.man: Updated and revised.
2555 Start with autoconf support for preconv.
2557 * configure.ac: Call AC_C_BIGENDIAN.
2558 * configure, src/include/config.hin: Regenerated.
2560 2005-12-30 Werner LEMBERG <wl@gnu.org>
2562 New preprocessor `preconv' to convert input encodings to something
2563 groff can understand. Not yet integrated within groff. Proper
2564 autoconf stuff is missing too.
2566 Tomohiro Kubota has written a first draft of this program, and some
2567 ideas have been reused (while almost no code has been taken
2570 * src/preproc/preconv/preconv.cpp. src/preproc/preconv/Makefile.sub:
2573 * MANIFEST, Makefile.in (CCPROGDIRS), test-groff.in
2574 (GROFF_BIN_PATH): Add preconv.
2576 2005-12-12 Werner LEMBERG <wl@gnu.org>
2578 * aclocal.m4 (GROFF_MAKEINFO): Fix regexps to be POSIX conformant.
2579 In particular, don't use `\+' since it is a GNU sed extension.
2581 * configure: Regenerated.
2583 2005-12-09 Werner LEMBERG <wl@gnu.org>
2585 * src/libs/libgroff/make-uniuni: New script to generate uniuni.cpp.
2587 * src/libs/libgroff/uniuni.cpp: Regenerated, using data from Unicode
2591 * src/utils/afmtodit/make-afmtodit-tables: New script to generate
2594 * src/utils/afmtodit/afmtodit.tables: New file, representing Unicode
2597 * src/utils/afmtodit/afmtodit.pl (%unicode_decomposed,
2598 %AGL_to_unicode): Removed. Replace it with a tag.
2600 * src/utils/afmtodit/Makefile.sub (afmtodit): Adjust sed expression
2601 to replace tag with actual file contents.
2603 2005-12-08 Werner LEMBERG <wl@gnu.org>
2605 The change 2005-06-20 can indeed cause problems, so we follow the
2606 advice by using marks.
2608 * font/devps/prologue.ps (PBEGIN): Use `mark'.
2609 (PEND): Use `cleartomark'.
2611 2005-12-07 Michail Vidiassov <master@iaas.msu.ru>
2613 * src/utils/afmtodit.pl: Fix kerning output to avoid warnings for
2614 glyphs which have kern values but aren't handled (glyph variants,
2617 2005-12-02 Werner LEMBERG <wl@gnu.org>
2619 * src/devices/grops/ps.cpp (ps_printer::get_subfont): Use correct
2620 subfont index. Reported by Michail Vidiassov <master@iaas.msu.ru>.
2622 2005-11-28 Gaius Mulley <gaius@glam.ac.uk>
2624 * doc/Makefile.in: Separate rule for webpage.html so that extra
2625 command line options can be passed to grohtml.
2626 * doc/groff.css: Change all margins to 0%.
2627 * doc/webpage.ms: Now use new macros ALN, LNS, and LNE so that left
2628 navigation is exploited. Also update webpage to contain new
2629 sections on licenses, mailing lists, cvs/ftp access, groff
2630 dependencies, and bug reports.
2631 * tmac/groff_www.man: Document the new macros ALN, LNS, and LNE.
2632 * tmac/www.tmac: Implement the new macros ALN, LNS, and LNE.
2634 2005-11-25 Gaius Mulley <gaius@glam.ac.uk>
2636 * src/devices/grohtml/post-html.cpp
2637 (html_printer::do_file_components): Add fputs calls to emit the
2638 head contents and shut down the head tag whenever a new file
2639 component is generated.
2641 2005-11-22 Gaius Mulley <gaius@glam.ac.uk>
2643 * src/devices/grohtml/post-html.cpp (html_printer::flush_page): Add
2644 call to flush_text to flush any outstanding html tags on the
2647 2005-11-18 Werner LEMBERG <wl@gnu.org>
2649 * aclocal.m4 (GROFF_MAKEINFO): Use `groff.info' in tests.
2650 Announce makeinfo version.
2651 * configure: Regenerated.
2653 2005-11-18 Mike Frysinger <vapier@gentoo.org>
2655 * Makefile.in: Declare proper dependencies between make targets.
2657 * doc/Makefile.in: Rename groff info page to `groff.info'.
2658 * doc/Makefile.sub: Likewise.
2659 * doc/groff.texinfo: Likewise.
2661 2005-11-17 Peter O'Gorman <mlists@thewrittenword.com>
2663 * src/utils/pfbtops/pfbtops.c, src/utils/xtotroff/xtotroff.c: Move
2664 definition of __GETOPT_PREFIX to the beginning of file to ensure
2665 that it is defined even on platforms where getopt.h is already
2666 included by other header files.
2668 2005-11-10 Gaius Mulley <gaius@glam.ac.uk>
2670 * src/devices/grohtml/post-html.cpp (html_printer::do_heading):
2671 Reset font to NULL to ensure that a font block is recreated during
2674 2005-11-04 Werner LEMBERG <wl@gnu.org>
2676 * aclocal.m4 (GROFF_MAKEINFO): Fix sed expression.
2677 * configure: Regenerated.
2679 2005-10-27 Werner LEMBERG <wl@gnu.org>
2681 * aclocal.m4 (GROFF_MAKEINFO): New function for checking whether
2682 makeinfo 4.8 or newer is available.
2683 * configure.ac: Call GROFF_MAKEINFO.
2684 * configure: Regenerated.
2686 * Makefile.in (MAKEINFO): Use autoconf variable.
2687 (MDEFINES): Add MAKEINFO.
2689 * doc/Makefile.in (MAKEINFO): Use autoconf variable.
2690 * doc/Makefile.sub (MAKEINFO): Remove.
2692 2005-10-26 Werner LEMBERG <wl@gnu.org>
2694 * REVISION: Set to 3.
2696 2005-10-17 Werner LEMBERG <wl@gnu.org>
2698 Mention $MANPAGER variable used with some `man' systems.
2700 * doc/webpage.ms, src/devices/grotty/grotty.man, NEWS: Updated.
2702 2005-09-13 Werner LEMBERG <wl@gnu.org>
2704 * tmac/hyphenex.us: New version (`ushyphex.tex' from ftp.dante.de).
2706 2005-09-04 Werner LEMBERG <wl@gnu.org>
2708 Version 1.19.2 released
2709 =======================
2711 * tmac/groff_ms.man, doc/groff.texinfo: Synchronize.
2713 * doc/webpage.ms: Updated.
2715 * install-sh, mkinstalldirs: New versions; taken from texinfo CVS.
2717 2005-09-04 Jörgen Grahn <jgrahn@algonet.se>
2719 * tmac/groff_ms.man: Document `PO' better.
2721 2005-09-03 Werner LEMBERG <wl@gnu.org>
2723 * NEWS: Document grotty changes.
2725 2005-09-01 Keith Marshall <keith.d.marshall@ntlworld.com>
2727 Backward compatibility support for `man' program.
2729 * tmac/an-old.tmac (LL): Initialize it to respect prior LL register
2730 assignment, prior `.ll' request and then package defaults, in this
2731 specified order of decreasing priority.
2733 * tmac/groff_man.man, doc/groff.texinfo (Man options): Document
2734 altered `LL' register initialization priorities.
2736 2005-08-29 Gary W. Swearingen <garys@opusnet.com>
2738 * tmac/groff_mdoc.man: Go into more details how the `AUTHORS'
2739 section should look like.
2741 2005-08-29 Werner LEMBERG <wl@gnu.org>
2743 * tmac/groff_mdoc.man: The month's name in a call to .Dd shouldn't
2746 2005-08-27 Bernd Warken
2748 * tmac/groff_man.man: Add man(7) too SEE ALSO and more minor
2751 2005-08-11 Bernd Warken
2753 * tmac/www.tmac (URL, MTO): Handle empty \\$1 better.
2755 2005-08-09 Bernd Warken
2757 * tmac/www.tmac (URL, MTO): Use bold series if color support is
2760 2005-08-02 Bernd Warken
2762 * doc/Makefile.sub (uninstall_sub): Use --remove, not --delete
2763 as argument to $(INSTALL_INFO). The latter isn't portable.
2764 Remove $(HTMLEXAMPLEFILES) too.
2766 * Makefile.in (uninstall_dirs): Remove $(datadir)/doc/groff and
2768 Suppress warning messages and return always true.
2770 * tmac/Makefile.sub (uninstall_sub): Remove www.tmac too.
2772 2005-07-02 Bernd Warken
2774 * src/devices/xditview/gxditview.man: Change many `.I' to `.B'.
2775 * man/groff_out.man: More markup and minor improvements.
2776 * src/roff/groff/groff.man: Minor improvements.
2778 2005-06-28 Werner LEMBERG <wl@gnu.org>
2780 * ChangeLog: Split off older entries into...
2781 * ChangeLog.115 ChangeLog.116, ChangeLog.117, ChangeLog.118: New
2784 2005-06-26 Bernd Warken
2786 * src/devices/xditview/gxditview.man: More minor fixes.
2788 2005-06-24 Werner LEMBERG <wl@gnu.org>
2790 * src/preproc/pic/troff.cpp (troff_output::set_fill,
2791 troff_output::set_color, troff_output::reset_color): Use .bcolor and
2792 .fcolor instead of \m and \M, respectively.
2794 2005-06-23 Bernd Warken
2796 * src/devices/xditview/gxditview.man: More minor fixes.
2797 * README: Formatting issues.
2798 Mention some problems with Debian.
2800 2005-06-23 Bernd Warken
2802 * src/devices/xditview/gxditview.man: Revised and improved.
2804 2005-06-22 Werner LEMBERG <wl@gnu.org>
2806 Another round in fixing getopt problems. Hopefully the last one!
2807 This time we use the getopt stuff from gnulib and define a prefix
2808 unconditionally so that there are no collisions with any other
2809 getopt implementations. This is a slight waste of space in case
2810 we already use a GNU getopt implementation, but on
2811 the other hand it really simplifies life.
2813 * src/include/getopt.h: Use gnulib version.
2815 * src/include/getopt_int.h: Use gnulib version.
2817 * src/include/groff-getopt.h: Removed. Obsolete now.
2819 * src/include/lib.h: Regarding getopt, don't handle any platform
2820 specially; just include getopt.h.
2821 (__GETOPT_PREFIX): Define (before getopt.h).
2823 * src/include/Makefile.sub (HDRS): Updated.
2825 * src/libs/libgroff/getopt1.c, src/libs/libgroff/getopt.c: Use
2828 * src/libs/libgroff/Makefile.sub (EXTRA_CFLAGS): Set
2831 * src/utils/pfbtops/pfbtops.c, src/utils/xtotroff/xtotroff.c
2832 (__GETOPT_PREFIX): Define (before getopt.h).
2834 2005-06-21 Werner LEMBERG <wl@gnu.org>
2836 * src/include/lib.h: Provide a fix for Mac OS X to not include
2839 2005-06-20 Denis M. Wilson <dmw@oxytropis.plus.com>
2841 * font/devps/prologue.ps (EP): Dont' use `bind'. Reason: Using
2842 `bind' to define a procedure which contains `showpage' means that an
2843 invocation of `showpage' may execute wrongly (the exact effect
2844 depending on the interpreter). Not usually a problem except under
2845 transformations, such as combining pages.
2846 (PEND): Don't call `clear'. Reason: Using `clear' in the definition
2847 of /PEND means that stack underflow will occur if the stack is
2848 deliberately non-empty before document inclusion. If included
2849 files are found to be generally badly behaved, we could replace the
2850 `clear' with `mark' in /PBEGIN and `cleartomark' in /PEND (I've
2851 never found this necessary).
2853 2005-06-20 Jörgen Grahn <jgrahn@algonet.se>
2855 * src/preproc/soelim/soelim.cpp (do_file): Append trailing zero
2856 earlier to get correct error message.
2858 2005-06-16 Bernd Warken
2859 * src/roff/nroff/nroff.sh: Add support for iso-8859-15.
2861 2005-06-15 Werner LEMBERG <wl@gnu.org>
2863 Another try to update getopt files. This time we add a dummy
2864 gettext.h file to satisfy the dependency.
2866 * src/include/getopt.h, src/libs/libgroff/getopt.c,
2867 src/libs/libgroff/getopt1.c: Updated from GNU libc CVS.
2869 * src/include/getopt_int.h: New file (from GNU libc CVS).
2871 * src/include/gettext.h: Dummy file which just defines a gettext()
2874 * src/include/groff-getopt.h: Updated.
2876 * src/include/Makefile.sub (HDRS): Add getopt_int.h and gettext.h.
2879 * src/libs/libdriver/input.cpp (IntArray): Remove superfluous
2880 `const' keywords in return value.
2882 * src/preproc/html/pushback.cpp (pushBackBuffer::~pushBackBuffer):
2883 Remove redundant variable `old'.
2884 (pushBackBuffer::skipToNewline): Remove redundant variable `ch'.
2886 * src/preproc/tbl/main.cpp (process_table): Remove redundant
2890 Fix more friend name injection problems since modern C++ compilers
2891 fail otherwise. We simply provide (global) declarations for all
2892 functions declared as friends. This is not really necessary but
2895 * src/preproc/eqn/lex.cpp: Provide declarations for get_char,
2896 peek_char, and get_location.
2898 * src/preproc/refer/ref.h: Provide declarations for
2899 compare_reference, same_reference, same_year, same_date,
2900 same_author_last_name, and same_author_name.
2902 * src/roff/troff/div.h: Provide declarations for do_divert and
2905 * src/roff/troff/env.h: Provide declarations for title_length,
2906 space_size, fill, no_fill, adjust, no_adjust, center, right_justify,
2907 vertical_spacing, post_vertical_spacing, line_spacing, line_length,
2908 indent, temporary_indent, do_underline, do_input_trap, set_tabs,
2909 margin_character, no_number, number_lines, leader_character,
2910 tab_character, hyphenate_request, no_hyphenate,
2911 hyphen_line_max_request, hyphenation_space_request,
2912 hyphenation_margin_request, line_width, tabs_save, tabs_restore,
2913 line_tabs_request, widow_control_request, and do_divert.
2915 * src/roff/troff/input.cpp: Provide declaration for chop_macro.
2917 * src/roff/troff/node.cpp: Provide declarations for class
2919 Provide declaration for make_tfont.
2921 2005-05-29 Werner LEMBERG <wl@gnu.org>
2923 * doc/fdl.texi: Updated to version 1.2. Reported by Bernd Warken.
2925 2005-05-28 Werner LEMBERG <wl@gnu.org>
2927 * src/devices/grolbp/lbp.cpp, src/devices/grolbp/lbp.h: Remove
2928 redundant semicolons.
2930 * src/preproc/eqn/Makefile.sub, src/preproc/html/Makefile.sub,
2931 src/preproc/soelim/Makefile.sub, src/preproc/tbl/Makefile.sub:
2932 Define `MLIB'. Some compilers need this for linking with libgroff.
2934 2005-05-27 Werner LEMBERG <wl@gnu.org>
2936 * MANIFEST, README, doc/webpage.ms: Updated.
2938 2005-05-26 Werner LEMBERG <wl@gnu.org>
2940 * All affected files: Update postal address of FSF.
2942 2005-05-25 Keith Marshall <keith.d.marshall@ntlworld.com>
2945 * README: More fixes.
2947 * README.CVS: Removed. Its contents is now part of the README file.
2949 2005-05-21 Werner LEMBERG <wl@gnu.org>
2951 * README: Updated. Based on a patch from Bernd Warken.
2953 2005-05-16 Keith Marshall <keith.d.marshall@ntlworld.com>
2955 Miscellaneous script portability enhancements.
2957 * aclocal.m4: (GROFF_CSH_HACK): Add space in shebang prototype for
2958 generated conftest.sh script, conforming to portability
2959 recommendation in autoconf docs.
2960 * configure: Likewise, for code generated by GROFF_CSH_HACK.
2961 * contrib/eqn2graph/eqn2graph.sh: Add space in shebang, conforming
2962 to portability recommendation in autoconf docs.
2963 * contrib/grap2graph/grap2graph.sh: Likewise.
2964 * contrib/pic2graph/pic2graph.sh: Likewise.
2965 * font/devps/generate/afmname: Likewise.
2966 * src/devices/xditview/ad2c: Likewise.
2967 * src/preproc/eqn/neqn.sh: Likewise.
2968 * src/roff/grog/grog.pl: Likewise.
2969 * src/roff/grog/grog.sh: Likewise.
2970 * src/roff/nroff/nroff.sh: Likewise.
2971 * PROBLEMS: Likewise, in embedded script examples.
2973 2005-05-16 Keith Marshall <keith.d.marshall@ntlworld.com>
2975 Improve portability of `pdfroff' shell script.
2977 * arch/misc/shdeps.sh: Add space in shebang, conforming to
2978 portability guidelines in `autoconf' docs.
2979 (PATH_SEARCH_SETUP): New substitution; emits PATH_SEPARATOR
2980 initialization code. Used by contrib/pdfmark/pdfroff.sh's
2981 `searchpath' function.
2983 2005-05-14 Werner LEMBERG <wl@gnu.org>
2985 * contrib/pic2graph/pic2graph.sh, contrib/graph2graph.sh,
2986 contrib/eqn2graph.sh: Add option `-trim' to `convert' which is
2987 needed for newer ImageMagick versions.
2989 2005-05-07 Werner LEMBERG <wl@gnu.org>
2991 * src/preproc/refer/refer.man: Many small typographic fixes.
2993 2005-05-06 Jeff Conrad <jeff_conrad@msn.com>
2995 * src/devices/grohtml/post-html.cpp (assert_state::~assert_state):
2996 Use `char *' cast for a_delete.
2998 2005-05-03 Werner LEMBERG <wl@gnu.org>
3000 * src/libs/libgroff/maxpathname.cpp: Include stdlib.h.
3001 src/libs/libgroff/relocate.cpp: Use path_name_max everywhere.
3003 2005-05-03 Jeff Conrad <jeff_conrad@msn.com>
3005 * src/devices/grohtml/post-html.cpp: Use casts to `char *' if using
3006 `a_delete' for `const char *'.
3008 2005-05-03 Werner LEMBERG <wl@gnu.org>
3010 * src/devices/grohtml/post-html.cpp,
3011 src/devices/grohtml/html-table.cpp,
3012 src/devices/grohtml/html-text.cpp, src/devices/grohtml/output.cpp:
3013 Replace malloc/free with new/delete/a_delete.
3015 * src/devices/grolbp/lbp.h: Remove superfluous semicolons which
3016 are prohibited with ANSI C++.
3017 (lbpprintf, vdmprintf): Remove useless `inline' keyword (since the
3018 function has a variable number of arguments).
3020 * src/preproc/grn/main.cpp (doinput): Change return type to `int'.
3021 Simplify function and update all callers.
3023 2005-05-02 Werner LEMBERG <wl@gnu.org>
3025 Undo getopt changes from 2005-04-30. We don't want a dependency
3028 * src/include/getopt_int.h: Removed.
3030 * src/include/getopt.h, src/include/groff-getopt.h,
3031 src/include/Makefile.sub, src/libs/libgroff/getopt.c,
3032 src/libs/libgroff/getopt1.c: Revert to previous version.
3035 * src/include/nonposix.h (access) [_MSC_VER]: New macro.
3037 * src/include/posix.h (F_OK): Define conditionally.
3039 * src/devices/grotty/tty.cpp (tty_printer::make_underline): Use
3040 different variable name in second `for' loop to avoid MSVC compiler
3043 2005-04-30 Werner LEMBERG <wl@gnu.org>
3045 AC_TYPE_SIGNAL from current autoconf can fail if CC=g++.
3047 * aclocal.m4 (GROFF_TYPE_SIGNAL): New function.
3048 * configure.ac: Use GROFF_TYPE_SIGNAL, not AC_TYPE_SIGNAL.
3049 * configure, src/include/config.hin: Regenerated.
3051 * PROBLEMS: Updated.
3054 Update getopt files.
3056 * src/include/getopt.h, src/libs/libgroff/getopt.c,
3057 src/libs/libgroff/getopt1.c: Updated from GNU libc CVS.
3059 * src/include/getopt_int.h: New file (from GNU libc CVS).
3061 * src/include/groff-getopt.h: Updated.
3063 * src/include/Makefile.sub (HDRS): Add getopt_int.h.
3066 * font/devutf8/NOTES: Updated.
3068 2005-04-28 Werner LEMBERG <wl@gnu.org>
3070 Bug fix for Win32 relocatable code. Based on a patch from Keith
3073 * src/libs/libgroff/maxpathname.cpp (PATH_MAX): Test for `_MAX_PATH'
3076 * src/libs/libgroff/relocate.c (DEBUG): Define it conditionally.
3077 (searchpath) [_WIN32]: Use `_fullpath', not `realpath'.
3079 2005-04-28 Keith Marshall <keith.d.marshall@ntlworld.com>
3081 Correct `gnu.eps' handling for build from distribution tarball, with
3082 separate source and build directories.
3084 * doc/Makefile.sub: (examples.stamp): New target; forces copy of
3085 grnexmpl.g, groff.css and gnu.eps from source to build directory;
3086 generate gnu.eps from gnu.xpm if required; touch examples.stamp.
3087 (prepare_examples): Make it depend on examples.stamp.
3088 (CLEANADD): Add examples.stamp.
3090 2005-04-27 Werner LEMBERG <wl@gnu.org>
3094 position: `(' position `)'
3098 * src/preproc/pic/pic.y (position, position_not_place): Handle
3099 additional parentheses.
3101 * doc/pic.ms: Updated.
3103 2005-04-23 Larry Jones <lawrence.jones@ugs.com>
3105 * src/utils/xtotroff/xtotroff.c (MapFont): Fix variable declaration.
3107 2005-04-18 Werner LEMBERG <wl@gnu.org>
3109 * src/roff/groff/pipeline.c: Don't include ctype.h.
3111 2005-04-13 Werner LEMBERG <wl@gnu.org>
3113 * src/roff/nroff/nroff.man: Document option `-M'.
3115 2005-04-13 Bruce Lilly <blilly@erols.com>
3117 * src/roff/nroff/nroff.sh: Make the script accept option `-M'.
3119 2005-04-01 Kees Zeelenberg <kzlg@users.sourceforge.net>
3120 Werner LEMBERG <wl@gnu.org>
3122 Add binary relocation support for Windows platforms.
3124 * src/include/Makefile.sub (defs.h): Add `INSTALLPATH'.
3126 * src/include/relocate.h, src/libs/libgroff/relocate.cpp: New files.
3128 * src/libs/libgroff/searchpath.cpp: Handle `relocate'.
3129 (search_path::search_path, search_path::open_file_cautious): Use
3132 * src/libs/libgroff/Makefile.sub (OBJS, CCSRCS),
3133 src/include/Makefile.sub (HDRS): Updated.
3135 2005-04-01 Werner LEMBERG <wl@gnu.org>
3137 * src/devices/grohtml/post-html.cpp: Don't use strdup/free but
3140 * src/libs/libgroff/font.cpp: Replace strdup with strsave.
3142 * src/libs/libgroff/maxfilename.cpp: Don't include limits.h since
3143 lib.h already does it.
3145 * src/libs/libgroff/maxpathname.cpp: New file, defining
3148 * src/include/lib.h: Add prototype for path_name_max.
3150 * src/libs/libgroff/Makefile.sub (OBJS, CCSRCS): Updated.
3152 * src/include/nonposix.h (PATH_EXT): New macro.
3154 2005-03-28 Werner LEMBERG <wl@gnu.org>
3156 Add support for double- and zero-width characters in grotty.
3158 * src/devices/grotty/tty.cpp (glyph): Add width.
3159 (tty_printer::make_underline, tty_printer::make_bold,
3160 tty_printer::add_character): Add parameter to pass character width.
3162 (tty_printer::end_page): Increase hpos by actual character width.
3164 * font/devutf8/R.proto: Specify zero width for non-spacing
3167 * tmac/unicode.tmac: Remove definitions for non-spacing entities.
3169 * Makefile.comm (extraclean): Remove more junk files.
3171 2005-03-25 Werner LEMBERG <wl@gnu.org>
3173 * configure.ac: Undo change from 2005-03-24.
3174 * configure: Regenerated.
3176 2005-03-24 Werner LEMBERG <wl@gnu.org>
3178 * Makefile.in (NOMAKEDIRS): Add contrib/gdiffmk/tests.
3179 (dist): Search Makefile while descending into $(EXTRADIRS).
3181 * doc/Makefile.in (.PHONY): Add.
3182 (clean): Don't remove *.png and *.eps.
3184 (realclean): Remove *.png and *.eps.
3185 (extraclean): Depend on distclean.
3187 * configure.ac: Add copyright.
3188 Handle contrib/pdfmark/Makefile.
3190 * configure: Regenerated.
3192 2005-03-18 Larry Kollar <kollar@alltel.net>
3194 Add numbered and definition lists to www.tmac.
3196 * tmac/www.tmac (www-ul-level1, www-ul-level2, www-ul-level3,
3197 www-ol-level1, www-ol-level2, www-ol-level3, www-ol-tmp): New
3198 auxiliary string registers.
3199 (www-ul-level, www-ol-level, www-dl-level, www-ol-ctr1, www-ol-ctr2,
3200 www-ol-ctr3, www-dl-shift): New auxiliary number registers.
3201 (www-level): Removed.
3202 (www-level1, www-level2, www-level3): Initialize to empty.
3203 (www-level0, www-level4, www-level5, www-level6, www-level7,
3204 www-level8, www-level9): New string registers.
3205 (www-push-li, www-pop-li): New macros.
3206 (www-push-level, www-pop-level): Renamed to...
3207 (www-push-ul-level, www-pop-ul-level): This.
3209 (www-push-ol-level, www-pop-ol-level): New macros.
3210 (ULS, ULE): Updated.
3211 (OLS, OLE, DLS, DLE): New user macros.
3212 (LI): Removed. It is aliased to one of...
3213 (www-li-ul, www-li-ol, www-li-dl): New macros.
3215 * tmac/groff_www.man: Document new macros.
3219 2005-03-18 Werner LEMBERG <wl@gnu.org>
3221 * tmac/doc-common (doc-operating-system-NetBSD-2.0.1,
3222 doc-operating-system-NetBSD-2.0.2): New strings.
3224 * tmac/groff_mdoc.man: Updated.
3226 2005-03-17 Werner LEMBERG <wl@gnu.org>
3228 * doc/Makefile.sub (CLEANADD): Add `groff.html'.
3230 2005-03-17 Werner LEMBERG <wl@gnu.org>
3232 * src/libs/libgroff/hypot.c: Renamed to...
3233 * src/libs/libgroff/hypot.cpp: This. Updated to C++.
3235 * src/libs/libgroff/Makefile.sub (CCSRCS, CSRCS): Updated.
3237 * src/include/lib.h: Updated.
3239 2005-03-16 Werner LEMBERG <wl@gnu.org>
3241 Add workaround for broken hypot() on Interix.
3243 * src/libs/libgroff/hypot.c: New wrapper file for `hypot'.
3245 * src/libs/libgroff/Makefile.sub (OBJS): Add `hypot.o'.
3246 (CSRCS): Add `hypot.c'.
3248 * src/include/lib.h: Declare `groff_hypot'.
3250 * src/preproc/grn/hgraph.cpp: Don't declare `hypot'.
3253 * src/preproc/pic/pic.h: Don't declare `hypot'.
3255 * src/preproc/pic/object.cpp (hypot): Use `groff_hypot'.
3257 2005-03-15 Gaius Mulley <gaius@glam.ac.uk>
3259 * src/devices/grohtml/post-html.cpp
3260 (html_printer::lookahead_for_tables): End .ce properly to avoid a
3263 2005-03-15 Werner LEMBERG <wl@gnu.org>
3265 makeinfo 4.8 doesn't produce good HTML output from groff.texinfo.
3267 * doc/fixinfo.sh: New script to postprocess makeinfo's HTML output.
3269 * doc/Makefile.in (.texinfo.html): Call fixinfo.sh.
3271 2005-03-14 Werner LEMBERG <wl@gnu.org>
3273 Add Cyrillic support to devutf8 and devhtml.
3275 * font/devutf8/R.proto, font/devhtml/R.proto: Add Cyrillic blocks.
3277 * tmac/unicode.tmac: New file.
3279 * tmac/tty.tmac: Include unicode.tmac if device is utf8.
3281 * tmac/Makefile.sub (NORMALFILES): Add unicode.tmac.
3285 2005-03-02 Keith Marshall <keith.d.marshall@ntlworld.com>
3287 * src/libs/libdriver/printer.cpp (check_for_output_error): New
3288 function. It has been introduced to catch peculiar error contexts
3289 on MS-Windows platforms.
3291 2005-02-28 Werner LEMBERG <wl@gnu.org>
3293 * src/roff/troff/input.cpp (string_iterator::fill): Protect against
3296 * tmac/papersize.tmac: Convert `paper' string contents to lowercase.
3298 * configure: Regenerated.
3302 2005-02-28 Keith Marshall <keith.d.marshall@ntlworld.com>
3304 Integrate `pdfmark' into normal groff build system;
3305 install macro `pdfmark' packages, build and install `pdfroff',
3306 and PDF format documentation.
3308 * Makefile.comm: Add PDFDOCDIR.
3310 * Makefile.in: (MDEFINES) ALT_AWK_PROGS, ALT_GHOSTSCRIPT_PROGS,
3311 pdfdocdir, make_pdfdoc, make_install_pdfdoc: New variables.
3312 (unstall_dirs): Add pdfdocdir.
3314 * aclocal.m4: (GROFF_GHOSTSCRIPT_PREFS): New function; support
3315 `--with-alt-gs' option, set ALT_GHOSTSCRIPT_PROGS.
3316 (GROFF_GHOSTSCRIPT_PATH): Support `--with-gs' option, force use of
3317 GROFF_GHOSTSCRIPT_PREFS, set GHOSTSCRIPT.
3318 (GROFF_HTML_PROGRAMS): Force use of GROFF_GHOSTSCRIPT_PATH; tidy up.
3319 (GROFF_AWK_PREFS): New function; support `--with-alt-awk' option,
3321 (GROFF_AWK_PATH): New function; support `--with-awk' option, force
3322 use of GROFF_AWK_PREFS.
3323 (GROFF_PDFDOC_PROGRAMS): New function; force use of GROFF_AWK_PATH
3324 and GROFF_GHOSTSCRIPT_PATH, set make_pdfdoc and make_install_pdfdoc.
3326 * configure.ac: Add AC_PREREQ(2.59), GROFF_PDFDOC_PROGRAMS.
3327 Remove GROFF_GHOSTSCRIPT_PATH, (forced by GROFF_PDFDOC_PROGRAMS, and
3328 also by modified GROFF_HTML_PROGRAMS).
3330 2005-02-27 Gaius Mulley <gaius@glam.ac.uk>
3332 * src/devices/grohtml/html-text.cpp (html_text::do_pre): Preserve
3334 (html_text::done_para): Unset `start_space'.
3335 (html_text::remove_para_align): Call `retrieve_para_space' for the
3338 * src/devices/grohtml/post-html.cpp (html_printer::emit_raw): Unset
3340 (html_printer::do_check_center): Emit vertical space if necessary.
3342 * src/roff/troff/env.cpp (environment_switch): Preserve
3343 `seen_space', `seen_eol', and `suppress_next_eol' while switching
3346 * src/roff/troff/node.cpp (suppress_node::suppress_node): Set
3349 2005-02-20 Werner LEMBERG <wl@gnu.org>
3351 * src/preproc/eqn/eqn.man, NEWS: Document various extensions of
3354 2005-02-17 Werner LEMBERG <wl@gnu.org>
3356 * doc/pic.ms, man/groff.man: Fix typos.
3358 * doc/groff.texinfo: Fix typos.
3359 (\LEmacro): Get proper mathematical spacing.
3361 2005-02-16 Werner LEMBERG <wl@gnu.org>
3363 * aclocal.m4 (GROFF_APPRESDIR_CHECK): Improve warning message.
3364 * configure: Regenerated with autoconf 2.59b.
3366 2005-02-16 Gaius Mulley <gaius@glam.ac.uk>
3368 * src/devices/grohtml/post-html.cpp (html_printer::is_line_start,
3369 html_printer::start_font): Fix handling of preformatted text.
3371 2005-02-15 Gaius Mulley <gaius@glam.ac.uk>
3373 These patches modify the indentation implementation to use `<p
3374 style=margin-left: n%>'. Many thanks to Peter and Larry for
3375 suggesting this solution. Grohtml only uses tables for `.IP' and
3376 related tags when the first operand has a short width.
3378 Similarly, they modify all vertical space code. By default, grohtml
3379 sets up a style sheet which uses no vertical space between `table',
3380 `pre', and `p' tags. It forces spaces when it needs them using
3381 `style="margin-top: 1em"'.
3383 * src/devices/grohtml/html-table.cpp: Include `html-text.h'.
3384 (html_table::emit_table_header, html_table::emit_new_row):
3386 (html_table::set_space): New function.
3387 (html_indent::html_indent): Don't set `is_used'.
3388 (html_indent::begin): Rewritten.
3389 (html_indent::end): Remove code in function.
3391 * src/devices/grohtml/html-table.h: Updated.
3392 (html_table): Make `out' public.
3394 * src/devices/grohtml/html-text.cpp (html_text::html_text):
3395 Initialize `start_space' with FALSE.
3396 (html_text::end_tag) <P_TAG, PRE_TAG>: Updated.
3397 (html_text::issue_tag): Add argument to handle space style.
3398 (html_text::start_tag) <P_TAG, PRE_TAG>: Updated.
3399 (html_text::flush_text): Don't set `start_space'.
3400 (html_text::push_para): Don't set `p->really_issued'.
3401 (html_text::do_emittext): Updated.
3402 (html_text::do_para): Add paremeter to handle space.
3404 (html_text::retrieve_para_space): New function.
3406 * src/devices/grohtml/html-text.h (STYLE_VERTICAL_SPACE): New macro.
3407 (tag_definition): Remove `really_issued'.
3408 (html_text): Updated.
3410 * src/devices/grohtml/post-html.cpp (html_printer): Add variables
3411 `current_column' and `row_space'.
3413 (html_printer::emit_raw, html_printer::write_header,
3414 html_printer::do_indent, html_printer::do_check_center,
3415 html_printer::do_tab_ts): Handle vertical space.
3416 (html_printer:do_tab_te, html_printer::do_end_para): Call
3417 `remove_para_space'.
3418 (html_printer::do_col): Rewritten.
3419 (html_printer::flush_globs): Remove debugging code.
3420 (html_printer::is_line_start): New function.
3421 (html_printer::start_font): Use `is_line_start'.
3422 (html_printer::writeHeadMetaStyle): New function.
3423 (html_printer::do_file_components, html_printer::~html_printer):
3424 Call `writeHeadMetaStyle'.
3426 * tmac/www.tmac (www-handle-percent): New macro.
3427 (MPIMG): Handle percent values for width and height parameters.
3430 * tmac/groff_www.man: Updated.
3432 2005-02-14 Werner LEMBERG <wl@gnu.org>
3434 * src/utils/afmtodit/afmtodit.pl: Remove an incorrect `my' from
3435 $psname and $italic_angle.
3436 Immediately restart file input loops if `split' returns an empty
3439 2005-02-13 Michail Vidiassov <master@iaas.msu.ru>
3440 Werner LEMBERG <wl@gnu.org>
3442 Update afmtodit to better support Unicode (Michail).
3443 Update afmtodit to use Perl 5 syntax (Werner).
3445 * src/utils/afmtodit/afmtodit.pl: Don't use `getopts.pl' but
3447 Decorate variables with `my' where necessary.
3448 Use `defined' where necessary to avoid warnings.
3449 Don't use `do' for subroutine calls.
3450 Other minor syntax updates.
3451 Check for both `uXXXX[X[X]]' and `uniXXXX'.
3452 Handle glyph variants properly.
3453 (%unicode_decomposed, %AGL_to_unicode): Don't use `u' prefix in
3456 * src/utils/afmtodit/afmtodit.man: Updated.
3458 2005-02-13 Werner LEMBERG <wl@gnu.org>
3460 Make groff.texinfo work with texinfo 4.8.
3462 * doc/groff.texinfo (@Var): Use @r and @slanted.
3463 (@defdummy, @Def*): Use @c to avoid empty lines.
3464 (\angles): Replaced with...
3465 (\Langlemacro, \Ranglemacro): New TeX macros.
3466 (@Langlemacro, @Ranglemacro): New variables defined with @set.
3467 (@angles): Use @Langlemacro and @Ranglemacro.
3468 (\LE): Replaced with...
3469 (\LEmacro): New TeX macro.
3470 (@LEmacro): New variable defined with @set.
3471 (@LE): Use @LEmacro.
3472 (@Lparenmacro, @Rparenmacro, @Lbrackmacro, @Rbrackmacro): New
3473 variables defined with @set.
3474 (@lparen, @rparen, @lbrack, @rbrack): Replaced with...
3475 (@Lparen, @Rparen, @Lbrack, @Rbrack): New macros.
3478 Other minor updates.
3480 * doc/texinfo.tex: Update to texinfo version 4.8.
3482 * README.CVS: Updated.
3484 2005-02-09 Alejandro López-Valencia <palopez@etb.net.co> (tiny change)
3486 * doc/groff.texinfo (ms Document Control Registers): Document `HY'
3487 and `FAM' registers.
3489 2005-02-05 Werner LEMBERG <wl@gnu.org>
3491 * tmac/groff_mdoc.man, tmac/doc-common, tmac/doc-ditroff,
3492 tmac/doc-nroff, tmac/doc-old.tmac, tmac/doc-syms, tmac/doc.tmac:
3495 2005-02-01 Werner LEMBERG <wl@gnu.org>
3497 * src/roff/groff/groff.man: Add information about paper size.
3499 2005-01-25 Werner LEMBERG <wl@gnu.org>
3501 * src/roff/nroff/nroff.sh: Handle `*.ISO8859-1' in locale. From
3504 2005-01-22 Ruslan Ermilov <ru@FreeBSD.org>
3506 * tmac/doc.tmac (Sm): Improved. It didn't work properly in many
3508 (Re): Emit a warning if called without `.Rs'.
3509 (doc-finish-reference): Use parameter for decreasing
3510 `doc-reference-count'.
3511 (doc-print-reference): Pass specific count parameters to
3512 `doc-finish-reference'.
3514 2005-01-21 Werner LEMBERG <wl@gnu.org>
3516 * src/libs/libdriver/input.cpp (delete_current_env, do_file):
3517 Reset pointers to zero after deallocation. This fixes a crash
3518 if a driver is called with multiple input files. Reported by
3519 Ken Chilton <ken@chiltonfamily.org>.
3521 * src/devices/grops/grops.man: Add more info on DSC.
3523 2005-01-17 Ruslan Ermilov <ru@FreeBSD.org>
3525 * tmac/doc-common (Dd), tmac/doc-ditroff (gX, doc-setup-header):
3528 2005-01-17 Werner LEMBERG <wl@gnu.org>
3530 * src/roff/troff/div.cpp (top_level_diversion::space): Protect
3531 against division by zero.
3533 2005-01-13 Ruslan Ermilov <ru@FreeBSD.org>
3535 * tmac/doc.tmac (Ef): Restore doc-curr-font and doc-curr-size.
3537 2004-12-19 Werner LEMBERG <wl@gnu.org>
3539 * install-sh: New version; taken from texinfo CVS.
3541 2004-12-17 Werner LEMBERG <wl@gnu.org>
3543 * tmac/devtag.tmac: Protect against loading twice.
3544 Protect agains compatibility mode.
3545 * tmac/www.tmac: Protect against loading twice.
3546 Load `devtag.tmac' before switching off compatibility mode.
3547 * tmac/an-old.tmac, tmac/s.tmac: Load `devtag.tmac'.
3549 2004-12-16 Mike Bianchi <mbianchi@Foveal.com>
3551 * configure.ac: Produce `contrib/gdiffmk/tests/runtests'.
3552 * configure: Updated.
3554 2004-12-15 Thomas Klausner <wiz@netbsd.org>
3556 * tmac/doc-syms, tmac/groff_mdoc.man: Add `libpam' library.
3558 2004-12-15 Werner LEMBERG <wl@gnu.org>
3560 Make `test-groff' work again -- previously, wrong paths have been
3561 used. Additionally, it can now be called from anywhere.
3563 * test-groff.in: Don't test for groff binary. This is no longer
3564 necessary since the proper paths are determined by `configure'.
3565 (EXEEXT): Removed. No longer used.
3566 (srcdir, builddir): Use values provided by the configure script.
3567 (XENVIRONMENT): Updated.
3571 2004-12-14 Gaius Mulley <gaius@glam.ac.uk>
3573 Make .tag and .taga work for all devices (but only grohtml actually
3576 * src/devices/grohtml/post-html.cpp: s/html-tag/devtag/.
3577 (text_glob::is_br, page::add_tag, html_printer::troff_tag,
3578 html_printer::handle_assertion): Don't use hard-coded string
3580 (html_printer::lookahead_for_table): Reset `tbl' properly if
3582 (html_printer::devtag): New function, handling `devtag'.
3583 (html_printer::special): Don't handle `html-tag'.
3585 * src/include/printer.h, src/libs/libdriver/printer.cpp
3586 (printer::devtag): New virtual function.
3588 * src/libs/libdriver/input.cpp (parse_x_command) <'X'>: Handle
3591 * src/roff/troff/env.cpp, src/roff/troff/mtsm.cpp,
3592 src/roff/troff/node.cpp: s/html-tag/devtag/.
3594 * src/roff/troff/input.cpp (tag, taga): Always call
3597 * tmac/an-old.tmac, tmac/s.tmac, tmac/troffrc-end: Use DEVTAG*
3598 macros instead of HTML-TAG*.
3600 * tmac/devtag.tmac: New file, defining the DEVTAG-* macros.
3602 * tmac/www.tmac: Load devtag.tmac.
3603 Replace HTML-TAG* macros with DEVTAG* macros.
3604 (HTML, HTML-NS): Changed definitions.
3606 (HTML-TAG, HTML-TAG-NS, HTML-TAG-NEXT): Removed.
3608 * tmac/Makefile.sub (NORMALFILES): Add devtag.tmac.
3610 2004-12-10 Werner LEMBERG <wl@gnu.org>
3612 Import Mike's `gdiffmk' package.
3614 * contrib/gdiffmk/*: New files.
3615 * Makefile.in (OTHERDIRS): Add contrib/gdiffmk.
3618 2004-12-08 Werner LEMBERG <wl@gnu.org>
3620 Import Keith's `pdfmark' package. Integration is very preliminary.
3622 * contrib/pdfmark/*: New files.
3623 * Makefile.in (OTHERDIRS): Add contrib/pdfmark.
3626 2004-12-07 Gaius Mulley <gaius@glam.ac.uk>
3628 Fix a bug with title handling in HTML.
3630 * src/devices/grohtml/post-html.cpp (text_glob::is_nf,
3631 text_glob::is_fi, text_glob::is_ce): Use strlen to compute string
3633 (html_printer::handle_tag_within_title): New function.
3634 (html_printer::do_title): Use it.
3636 * tmac/s.tmac (TL): Don't set `need_eo_tl'.
3637 (cov*tl-au-print): Emit `.eo.tl' tag.
3639 2004-12-05 Alejandro López-Valencia <dradul@etb.net.co>
3641 * man/groff_char.man: Minor imrovements.
3643 2004-12-04 Werner LEMBERG <wl@gnu.org>
3645 * src/preproc/eqn/eqn.man: Revised.
3647 2004-11-25 Werner LEMBERG <wl@gnu.org>
3649 * src/utils/xtotroff/xtotroff.c: Reformat to be similar to other
3653 Remove X_NOT_STDC_ENV conditional.
3654 (Version_string, program_name): New global variables.
3655 (groff_flag): Removed.
3657 (usage): Take a stream as argument.
3660 (main): Add `long_options' array for `--help' and `--version'.
3661 Make `-g' a dummy option.
3662 Handle `-v' and unknown options.
3663 Remove unused `position' variable.
3665 * src/utils/xtotroff/Makefile.sub (MAN1): Define.
3666 (XLIBS): Add LIBGROFF.
3668 * src/utils/xtotroff/xtotroff.man, src/utils/xtotroff/Makefile.in:
3671 * src/devices/xditview/Dvi.c (default_font_map): Split into three
3672 parts to avoid compiler warning.
3673 (resources): Don't initialize with `default_font_map'.
3674 (ClassInitialize): Initialize first element of `resources'.
3676 * src/devices/xditview/Makefile.sub (devdir, xtotroff, DPIS, fonts):
3679 * src/utils/lkbib/lkbib.man, src/utils/lookbib/lookbib.man,
3680 src/utils/pfbtops/pfbtops.man: Revised, updated.
3682 * configure.ac: Generate src/utils/xtotroff/Makefile.
3683 * configure: Regenerated.
3685 2004-11-24 Werner LEMBERG <wl@gnu.org>
3687 First fixes to get produce HTML.
3689 * src/devices/grohtml/post-html.cpp (generate_img_src): Add `alt'
3692 * tmac/www.tmac (IMG, PIMG, MPIMG): Add `alt' attribute.
3693 (HR, LI): Use `HTML</p>', not `HTML'.
3695 * doc/webpage.ms: Minor updates.
3697 2004-11-23 Larry Kollar <kollar@alltel.net>
3699 Add option -S grohtml to determine the file split level.
3701 * src/devices/grohtml/post-html.cpp (split_level): New global
3703 (html_header::determine_header_level): Use split_level.
3704 (main): Handle `-S' command line option.
3707 * src/preproc/html/pre-html.cpp (scanArguments): Updated.
3709 * src/devices/grohtml/grohtml.man: Document it.
3712 * NEWS: Document it.
3714 2004-11-23 Y T <doarhop@hotmail.com>
3716 * tmac/s.tmac (ref*add-V, ref*add-N): New macros for handling
3717 the volume and number refer entries.
3719 2004-11-22 Werner LEMBERG <wl@gnu.org>
3721 * src/devices/grohtml/html-table.cpp
3722 (html_table::emit_table_header): Don't emit `cols' attribute which
3723 doesn't exist in HTML 4.0 and is thus invalid.
3725 * NEWS: More minor fixes and updates.
3727 2004-11-18 Werner LEMBERG <wl@gnu.org>
3729 * tmac/www.tmac (HTML-NS, HTML-TAG-NS, HTML-TAG-NEXT): Simplified.
3730 (HTML</p>): Minor clean-up.
3732 * tmac/groff_www.man: Updated.
3734 * src/devices/grohtml/grohtml.man: Revised and updated.
3738 2004-11-18 Gaius Mulley <gaius@glam.ac.uk>
3740 * src/devices/grohtml/post-html.cpp (html_printer::do_heading):
3741 Fix space insertion.
3742 (html_printer::do_links): Fix rules generation around automatic
3745 * tmac/www.tmac (LK): Use HTML-TAG-NS.
3747 No longer emit empty line for non-HTML devices.
3749 2004-11-17 Werner LEMBERG <wl@gnu.org>
3751 * doc/Makefile.in (prepare_examples, webpage.html): Handle
3754 * doc/Makefile.sub (EXAMPLEFILES, CLEANNOTSRCDIRADD,
3755 prepare_examples, webpage.html): Handle `groff.css'.
3757 2004-11-15 Werner LEMBERG <wl@gnu.org>
3759 * NEWS, README, doc/webpage.ms: Updated.
3761 * tmac/www.tmac (HTML, HTML-TAG): Minor clean-ups.
3763 2004-10-30 Gaius Mulley <gaius@glam.ac.uk>
3765 * src/include/printer.h (printer): Remove virtual function
3767 Update all source files.
3769 * src/devices/grohtml/post-html.cpp (html_printer): New member
3770 function `round_width'.
3772 2004-10-20 Tadziu Hoffmann <hoffmann@usm.uni-muenchen.de>
3774 * src/preproc/tbl/table.cpp (table::do_row): Fix handling of the `d'
3775 column key letter suffix.
3777 2004-10-14 Werner LEMBERG <wl@gnu.org>
3779 * Makefile.in (check): Depend on `site.exp' and `docheck'.
3780 (docheck): Run dejagnu's `runtest' if it exists.
3781 (site.exp): Create dejagnu configuration file.
3783 * Makefile.sub (DISTCLEANFILES): Add files related to dejagnu.
3785 2004-10-13 Werner LEMBERG <wl@gnu.org>
3787 * src/devices/grohtml/html-text.cpp (html_text_get_alignment),
3788 src/devices/grohtml/post-html.cpp (make_val,
3789 html_printer::handle_state_assertion): Fix compiler warnings.
3791 * src/roff/troff/div.cpp: Include `stringclass.h' and `mtsm.h'.
3792 (diversion::diversion): Fix order of initializers.
3794 * src/roff/troff/div.h: Don't include `mtsm.h'.
3796 * src/roff/troff/env.cpp: Include `stringclass.h' and `mtsm.h'.
3797 (environment::environment): Fix order of initializers.
3798 (environment::make_tag, environment::construct_format_state): Fix
3801 * src/roff/troff/input.cpp: Include `stringclass.h' and `mtsm.h'.
3802 (input_iterator::input_iterator, macro::macro): Fix order of
3805 * src/roff/troff/mtsm.cpp: Include only necessary header files.
3806 (state_set::add, state_set::val): Fix compiler warnings.
3808 * src/roff/troff/mtsm.h: Don't include `stringclass.h'.
3809 (bool_value_state, int_value_state, units_value_state,
3810 string_value_state): Remove comma after last element which causes
3811 an error with g++ 3.3.3.
3813 * src/roff/troff/node.cpp: Include `stringclass.h'.
3814 (hline_node::hline_node, vline_node::vline_node,
3815 space_char_hmotion_node, left_italic_corrected_node): Fix compiler
3817 (zero_width_node::zero_width_node): Fix order of initializers.
3819 * src/roff/troff/node.h: Don't include `mtsm.h'.
3820 (hmotion_node): Fix compiler warnings.
3822 * src/roff/troff/number.cpp: Include `stringclass.h' and `mtsm.h'.
3824 2004-10-12 Gaius Mulley <gaius@glam.ac.uk>
3826 * doc/groff.css: New file.
3828 * doc/webpage.ms: Use `groff.css'.
3831 * tmac/an-old.tmac (need_eo_h): New number register.
3832 (TH): Emit `.eo.tl' tag after title.
3833 (SH): Set `need_eo_h'.
3834 (an-trap): Handle `need_eo_h'.
3835 (an-do-tag): s/HTML-TAG-NS/HTML-TAG-NEXT/.
3837 * tmac/s.tmac (need_eo_h, need_eo_tl): New number registers.
3838 (TL): Always start diversion.
3840 (@AI): Always call `par@reset'.
3841 (@AB): Update code for -Thtml.
3842 (cov*tl-au-print): Handle -Thtml.
3843 (par@reset): Handle `need_eo_tl', `need_eo_h'.
3845 (@IT-html): Removed.
3846 (@SH): Set `need_eo_h' for -Thtml.
3847 (par@TL): s/HTML-TAG/HTMl-TAG-NS/.
3849 (@NH): s/HTML-TAG/HTMl-TAG-NS/.
3850 Set `need_eo_h' for -Thtml.
3851 (@EQ, @EN): Don't handle -Thtml specially.
3852 (par@load-init): Don't handle -Thtml specially.
3854 * tmac/www.tmac (www:paraspace): New macro.
3855 (HTML-NS, HTML-TAG-NS): Use new `tag' request.
3856 (HTML</p>, HTML-TAG-NEXT): New macros.
3857 (HnE): Emit tag `.eo.h' instead of break.
3858 (HR): s/HTML-NS/HTML/.
3859 (www-end-nowhere): End diversion only if `www-html' not set.
3861 (ULS, ULE): s|HTML|HTML</p>|.
3862 (LI): Call `www:paraspace'.
3865 2004-10-11 Gaius Mulley <gaius@glam.ac.uk>
3867 * src/roff/troff/request.h (macro): Make `p' public.
3868 New variable `is_a_diversion'.
3869 New member function `is_diversion'.
3872 * src/devices/grohtml/html.h (simple_output): New member function
3875 * src/devices/grohtml/html-table.cpp (tabs::compatible): Fix
3876 computation of `total'.
3877 (tabs::check_init): New function.
3878 (html_table::emit_table_header): Emit style data.
3879 (html_table::insert_column): Improved.
3881 * src/devices/grohtml/html-table.h: Updated.
3883 * src/devices/grohtml/html-text.cpp (html_text::html_text):
3884 Initialize `start_space' with TRUE.
3885 (html_text::end_tag, html_start_tag): Fix `P_TAG' and `PRE_TAG'
3887 (html_text::flush_text): Set `start_space' flag.
3888 (html_text::uses_indent, html_text::remove_para_space,
3889 html_text::get_alignment): New functions.
3890 (html_text::push_para): Updated.
3891 (html_text::do_para): Check for empty argument.
3892 Don't set `space_emitted'.
3893 (html_text::do_space, html_text::emit_space): Updated.
3895 * src/devices/grohtml/html-text.h (tag_definition): New variable
3897 (html_text): New member function `uses_indent', `remove_para_space',
3900 * src/devices/grohtml/output.cpp (simple_output::force_nl): New
3902 (simple_output:nl): Always emit `\n'.
3904 * src/devices/grohtml/post-html.cpp: Include `string.h'.
3905 (BASE_POINT_SIZE): Removed.
3906 (base_point_size, head_info): New global variables.
3907 (text_glob): New member functions `is_ll', `is_tl', `is_eo_tl',
3909 (text_glob::is_nf, text_glob::is_fi): Handle `.fi 0' and `.fi 1'
3911 (page::add_and_encode): Pass additional parameter for tag flag.
3912 (assert_pos): New structure.
3913 (assert_state): New class.
3914 (html_printer): Remove `indentation', `prev_indent'.
3915 Add variables `troff_indent', `device_indent', `temp_indent'.
3916 Add variables `seen_indent', `next_indent', `seen_pageoffset',
3917 `next_pageoffset', `seen_linelenght', `next_linelength',
3918 `seen_center', `next_center', `seen_space', `seen_break', `as'.
3919 Add member functions `do_check_center', `do_space', `do_head',
3920 `get_troff_indent', `restore_troff_indent', `handle_assertion',
3921 `handle_state_assertion', `do_end_para', `set_char_and_width'.
3922 Change argument to `do_fill' to `char *'.
3924 (html_printer::emit_raw): Call `shutdown_table'.
3926 (html_printer::do_center): Simplified.
3927 (html_printer::do_title): Improved.
3928 (html_printer::write_header): Emit one more newline.
3930 (html_printer::do_heading, html_printer::do_indent,
3931 html_printer::do_eol, html_printer::do_tab_ts,
3932 html_printer::do_tab, html_printer::do_tab0,
3933 html_printer::calc_po_in, html_printer::next_horiz_pos,
3934 html_printer::remove_courier_tabs,
3935 html_printer::insert_tab0_foreach_tab, html_printer::begin_page):
3937 (html_printer::do_linelength, html_printer::do_pageoffset,
3938 html_printer::do_indentation, html_printer::do_tempindent,
3939 html_printer::do_tab_te): Simplified.
3940 (html_printer::do_pointsize): Check whether point size is really
3941 associated a `.tl' tag.
3942 (html_printer::do_break): Rewritten.
3943 (html_printer::troff_tag): Improved.
3944 (html_printer::flush_globs): Updated.
3945 (html_printer::lookahead_for_tables): Handle `is_br'.
3947 (html_printer::set_char): Check `sbuf_style.f'.
3948 (html_printer::write_navigation): Use string comparison.
3949 (html_printer::~html_printer): Emit `head_info'.
3950 (html_printer::special): Rewritten.
3951 (get_str, make_val): New functions.
3952 (main): New option `s' to set the base point size.
3954 * src/preproc/html/pre-html.cpp (scanArguments): Handle option `s'.
3956 2004-10-10 Gaius Mulley <gaius@glam.ac.uk>
3958 * src/roff/troff/node.cpp: New extern `debug_state'.
3959 Include `stringclass.h' and `mtsm.h'.
3960 Implement new classes and class members from `node.h'.
3961 (real_output_file): Make `fp' public.
3962 (troff_output_file): New variables `cur_div_level' and `tag_list'.
3963 Update constructors.
3964 (troff_output_file::really_print_line): Check whether we should push
3965 the current troff state and use the state at the start of the
3966 invocation of this diversion.
3967 (troff_output_file::add_to_tag_list): New member function.
3968 (node::add_char): Handle `glyph_comp_np'.
3970 * src/roff/troff/node.h: Include `mtsm.h'.
3971 (node): New variables `state', `push_state', `div_nest_level',
3972 `is_special'. Update constructors, all descendants.
3973 Pass additional argument to `add_char' member function.
3974 New virtual member functions `is_tag', `debug_node',
3975 `debug_node_list'. Update all descendants.
3976 (tag_node): New class for handling tags.
3977 (output_file): Add variable `state'.
3979 2004-10-09 Gaius Mulley <gaius@glam.ac.uk>
3981 * src/roff/troff/mtsm.cpp, src/roff/troff/mtsm.h: New files,
3982 providing a minimal troff state machine to emit meta tags for the
3983 post-grohtml device driver.
3985 * src/roff/troff/Makefile.sub (OBJS, CCSRCS, HDRS): Handle new
3988 2004-10-09 Werner LEMBERG <wl@gnu.org>
3990 * tmac/trace.tmac: Fix handling of `am' and `am1' calls.
3992 2004-10-06 Gaius Mulley <gaius@glam.ac.uk>
3994 * src/roff/troff/column.cpp (vjustify_node::copy): Updated.
3996 * src/roff/troff/div.h: Include `mtsm.h'.
3997 (diversion): New variables `any_chars_added', `needs_push',
3998 `saved_seen_break', `saved_seen_space', `saved_seen_eol',
3999 `saved_suppress_next_eol', `modified_tag'.
4000 New virtual member function `is_diversion'. Update all descendants.
4002 * src/roff/troff/div.cpp (diversion::diversion,
4003 macro_diversion::macro_diversion): Updated.
4004 (do_divert): Handle `seen_break', `seen_space', `seen_eol',
4005 `suppress_next_eol'.
4006 (top_level_diversion::space): Handle `curenv->seen_space'.
4007 (page_offset): Update tag handling.
4008 (space_request, blank_line, flush_output): Don't call `add_html_tag'.
4010 * src/roff/troff/env.h (environment): Make `tabs' public.
4011 Remove `ignore_next_eol', `emitted_node'.
4012 Update `output_line', `output'.
4013 New variables `seen_space', `seen_eol', `suppress_next_eol',
4015 New member functions `construct_state', `make_tag',
4016 `construct_format_state, `construct_new_line_state,
4018 Remove `add_html_tag', `make_html_tag'.
4020 * src/roff/troff/env.cpp: New externs `suppress_push',
4021 `get_diversion_state', `global_diverted_space'.
4022 (pending_output_line): New variable `was_centered'.
4023 Update constructor and all callers.
4024 (pending_output_line::output): Call `curenv->construct_format_state'.
4025 (environment::environment, environment::copy): Updated.
4026 (environment::output): Handle `was_centered'.
4027 (environment::add_char): Handle construct and diversion state.
4028 (environment::add_node): Handle construct state.
4029 (environment::newline): Handle `was_centered'.
4030 (environment::output_line): Updated.
4031 (environment::possibly_break_line): Updated.
4032 Update tag handling.
4033 (environment::add_html_tag): Replaced with...
4034 (environment::make_tag): New function.
4035 (environment::add_html_tag_tabs, environment::make_html_tag): Removed.
4036 (environment::dump_troff_state): New debugging function.
4037 (environment::construct_state, environment::construct_format_state,
4038 environment::construct_new_line_state): New functions.
4039 (environment::do_break): Updated.
4040 Handle `global_diverted_space'.
4041 (environment::handle_tag): Update tag handling.
4042 (point_size, fill, do_break_request): Don't call `add_html_tag'.
4043 (no_fill): Don't call `add_html_tag'.
4044 Set `suppress_next_eol'.
4045 (center, right_justify, line_length, indent, temporary_indent,
4047 Update tag handling.
4049 * src/roff/troff/input.cpp: Don't include `stringclass.h'.
4050 (input_iterator): New variables `is_diversion', `diversion_state'.
4051 Update constructors.
4052 (input_stack): New member functions `get_div_level',
4053 `get_diversion_state', `check_end_diversion'.
4054 New variables `div_level', `diversion_state'. Initialize them.
4055 (suppress_push, global_diverted_space): New global variables.
4056 (input_stack::finish_get, input_stack::finish_peek,
4057 input_stack::remove_boundary, input_stack::end_file,
4058 input_stack::clear, input_stack::pop_macro): Call
4059 `check_end_diversion'.
4060 (input_stack::push): Handle `div_level' and `diversion_state'.
4061 (get_diversion_state): New function.
4062 (diverted_space_node::reread): Handle `global_diverted_space'.
4063 (macro::macro): Update constructors.
4064 (macro::is_diversion): New function.
4065 (macro::operator=): Set `is_a_diversion'.
4066 (string_iterator): New member function `is_diversion'.
4067 (string_iterator::string_iterator): Update constructors.
4068 (string_iterator::fill): Set `div_nest_level'.
4069 (macro_iterator): New member function `is_diversion'.
4070 (do_if_request): Handle `suppress_push'.
4071 (tag, taga): New functions.
4072 (init_input_requests): Add `tag' and `taga' requests.
4074 2004-10-05 Gaius Mulley <gaius@glam.ac.uk>
4076 * src/include/font.h (font): New member function
4077 `get_image_generator'.
4078 New variables `unscaled_charwidths' and `image_generator'.
4080 * src/libs/libgroff/font.cpp (font::get_width): Always return the
4081 character's unscaled width if `font::unscaled_charwidths' is set.
4082 (font::get_image_generator): New function.
4083 (font::load_desc): Check the `unscaled_charwidths' and
4084 `image_generator' keywords.
4086 * src/libs/libgroff/fontfile.cpp: Initialize
4087 `font::unscaled_charwidths' and `font::image_generator'.
4089 * font/devhtml/DESC.proto: s/html/unscaled_charwidths/.
4091 * font/devhtml/Makefile.sub (DESC): Set `image_generator' keyword.
4093 * man/groff_font.man: Document `unscaled_charwidths' and
4096 * src/preproc/html/pre-html.cpp: Include `device.h'.
4097 (image_gen): New global variable.
4098 (imageList::createPage): Use `image_gen'.
4099 (main): Use `image_generator' keyword.
4101 2004-10-04 Gaius Mulley <gaius@glam.ac.uk>
4103 * tmac/html.tmac: Handle \[sqrtex].
4105 2004-10-04 Gaius Mulley <gaius@glam.ac.uk>
4107 * src/include/printer.h (printer): New virtual method `round_width'.
4109 * src/devices/grodvi/dvi.cpp, src/devices/grolbp/lbp.cpp,
4110 src/devices/grolj4/lj4.cpp, src/devices/grops/ps.cpp,
4111 src/devices/grotty/tty.cpp (printer::round_width): New function
4114 * src/devices/grohtml/post-html.cpp (printer::round_width): New
4116 (html_printer::set_numbered_char): Use it.
4118 2004-10-03 Gaius Mulley <gaius@glam.ac.uk>
4120 * aclocal.m4 (GROFF_GHOSTSCRIPT_PATH): New macro.
4122 * configure.ac: Call GROFF_GHOSTSCRIPT_PATH.
4124 * configure: Regenerated.
4126 * Makefile.in (GHOSTSCRIPT): New variable.
4127 (MDEFINES): Add GHOSTSCRIPT.
4129 2004-10-03 Werner LEMBERG <wl@gnu.org>
4131 * INSTALL.gen: Updated (taken from texinfo CVS).
4133 2004-09-28 Werner LEMBERG <wl@gnu.org>
4137 2004-09-28 Heinz-Jürgen Oertel <hj.oertel@surfeu.de>
4139 * tmac/groff_www.man: Revised and updated.
4141 2004-09-26 Werner LEMBERG <wl@gnu.org>
4143 Fix \$@ and \$* to handle any number of arguments.
4145 * src/roff/troff/input.h (BEGIN_QUOTE, END_QUOTE): New special
4148 * src/roff/troff/input.cpp (input_iterator::internal_level):
4150 (input_stack): New member functions `increase_level' and
4152 (input_stack::get_level): Don't use `internal_level'.
4153 (get_copy, token::next): Handle BEGIN_QUOTE and END_QUOTE.
4154 (end_quote_iterator): Completely removed.
4155 (interpolate_arg): Build string for \$@ and \$* which is then
4156 pushed onto the input stack.
4158 2004-09-23 Keith Marshall <keith.d.marshall@ntlworld.com>
4160 * tmac/groff_ms.man, doc/groff.texinfo (ms Document Control
4161 Registers): Document changes from 2004-09-19.
4163 2004-09-23 Werner LEMBERG <wl@gnu.org>
4165 * tmac/an-old.tmac (ne): Using default scaling operator.
4167 2004-09-19 Keith Marshall <keith.d.marshall@ntlworld.com>
4169 This change implements the following features:
4172 New numeric register: Defines number of lines following LP, PP,
4173 QP, IP or XP, which must be kept together, before any automatic
4174 page break. If insufficient space remains on the current page, a
4175 page break is forced before the new paragraph begins.
4178 New numeric register: Sets number of lines of following paragraph
4179 which must be kept with a heading, defined by NH or SH, before any
4180 automatic page break. If insufficient space remains on the
4181 current page, a page break is forced before the heading.
4184 (Thanks to Joerg van den Hoff, for this idea).
4186 New numeric register: Sets the first level of heading (set with
4187 NH), which will keep the same point size as body text; e.g. if
4188 GROWPS is set to 3, .NH 3, .NH 4, ... will produce headings at the
4189 point size specified by \n[PS], but .NH 2 and .NH 1 will have
4190 progressively larger point sizes, determined by \n[PSINCR] (see
4194 New numeric register: Sets the point size increment for each level
4195 of heading, (set with NH), below the threshold level set by
4196 GROWPS; e.g. if \n[PS] = 10, \n[GROWPS] = 3 and \n[PSINCR] = 2.0p,
4197 then .NH 1 will produce 14pt headings, .NH 2 will produce 12pt,
4198 and all other levels will remain at 10pt, (because \n[PS] = 10).
4201 Existing macro now accepts a numeric argument, to make heading
4202 size match that of NH with same argument value, when the
4203 GROWPS/PSINCR feature is enabled.
4206 New string, set by NH macro, replaces the existing (undocumented)
4207 use of SN, to represent the assigned section number.
4210 New string, set by NH macro, represents the assigned section
4211 number, but omits the terminal period (periods at intermediate
4212 levels are retained).
4215 String set by NH macro, originally undocumented, now implemented
4216 as an alias for SN-DOT (which reproduces original behaviour).
4218 * tmac/s.tmac (PORPHANS): New register.
4219 (par*start): Use it.
4220 (HORPHANS, GROWPS, PSINCR): New registers.
4221 (SH-NO-TAG, @SH): Use them.
4224 2004-09-19 Keith Marshall <keith.d.marshall@ntlworld.com>
4226 * NEWS, doc/groff.texinfo (ms Display and Keeps), tmac/groff_ms.man:
4227 Document the deletion of `Ds' and `De' macros.
4229 2004-09-10 Werner LEMBERG <wl@gnu.org>
4231 In tbl, handle \a as an interpreted leader character if in
4234 * src/preproc/tbl/table.h (PREFIX, PREFIX_CHAR, LEADER,
4235 LEADER_CHAR): New macros.
4236 (compatible_flag): New declaration.
4238 * src/preproc/tbl/main.cpp (table_input): Add LEADER_1, LEADER_2,
4239 LEADER_3, and LEADER_4 to `state'.
4240 (table_input::get): Handle `\a'.
4242 * src/preproc/tbl/table.cpp (PREFIX): Removed.
4243 (LEADER_REG): New macro.
4244 (table::init_output): Define LEADER_REG string register if in
4247 * src/preproc/tbl/tbl.man: Document it.
4249 2004-08-18 Werner LEMBERG <wl@gnu.org>
4251 * tmac/doc.tmac (An): Fix error message.
4253 2004-08-06 Werner LEMBERG <wl@gnu.org>
4255 * src/preproc/tbl/main.cpp (main): Call `fatal' not `error' if a
4256 file can't be opened. UNIX tbl has the same behaviour.
4258 2004-08-05 Y T <doarhop@hotmail.com>
4260 * src/preproc/grn/hdb.cpp (compatibility_flag): Add declaration.
4261 (DBRead): If in compatibility mode, take into account the text
4262 when computing figure boundaries.
4264 2004-08-05 Werner LEMBERG <wl@gnu.org>
4266 * src/preproc/soelim/soelim.man: Improved. Based on suggestions
4267 from Tadziu Hoffmann.
4269 2004-08-03 Werner LEMBERG <wl@gnu.org>
4271 * doc/meref.me: Document `_M' register.
4273 2004-08-03 Martin Husemann <martin@duskware.de>
4275 Make hpftodit work correctly on big-endian systems.
4277 * src/utils/hpftodit/hpftodit.cpp (File): New method
4278 `get_uint32(char *)'.
4279 (entry): New member `orig_value'.
4280 (read_tags): Use new method.
4281 (output_font_name, read_and_output_pcltypeface, dump_ascii):
4284 2004-08-01 Werner LEMBERG <wl@gnu.org>
4286 * tmac/s.tmac: Undo change 2003-06-29. The proper macro definitions
4287 are already in X11's `macros.t' file.
4289 2004-08-01 Jeff Conrad <jeff_conrad@msn.com>
4291 * src/utils/hpftodit/hfptodit.cpp (output_font_name, dump_ascii):
4293 (read_and_output_pcltypeface): Handle strings with length <= 4.
4295 2004-07-27 Egil Kvaleberg <egil@kvaleberg.no>
4297 * tmac/s.tmac (pg@top): Don't save `PO' register.
4298 (pg*end-col, pg*end-page): Directly use `PO' register.
4300 2004-07-27 Werner LEMBERG <wl@gnu.org>
4302 * man/groff_tmac.man: Mention `trace' and `pic' macro packages.
4304 * src/preproc/refer/refer.cpp (output_references): Check for
4306 * src/preproc/refer/refer.man: Improve documentation of
4307 `bibliography' command.
4309 2004-07-26 Werner LEMBERG <wl@gnu.org>
4311 Add requests `fcolor' and `gcolor'.
4313 * src/roff/troff/env.cpp (fill_color_change, glyph_color_change):
4315 (init_env_requests): Add `fcolor' and `gcolor'.
4317 * src/roff/troff/input.h: Export do_glyph_color and do_fill_color.
4319 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo
4320 (Colors): Document new requests.
4322 2004-07-24 Werner LEMBERG <wl@gnu.org>
4324 Add support for fractional point sizes in ms macros. A value for
4325 PS, VS, FPS, and FVS greater than or equal to 1000 is always divided
4326 by 1000. For example, `.nr PS 10250' sets the font size to 10.25p.
4328 * tmac/s.tmac (@AU, @AI, par@load-init, par@init, par@reset, NL,
4329 PX): Handle fractional point sizes for PS, VS, FPS, and FVS.
4331 * tmac/groff_ms.man, docs/groff.texinfo (ms Document Control
4332 Registers), NEWS: Document it.
4334 2004-07-19 Werner LEMBERG <wl@gnu.org>
4336 * src/preproc/pic/lex.cpp (for_input): Add member `from'.
4338 (do_for, for_input::get, for_input::peek): Handle negative `by'.
4339 * src/preproc/pic/pic.man, doc/pic.ms, NEWS: Document it.
4341 2004-07-08 Thomas Klausner <wiz@netbsd.org>
4343 * tmac/doc-syms (doc-str-St--p1003.1-2004): New string.
4344 * tmac/groff_mdoc.man: Updated.
4346 2004-07-05 Werner LEMBERG <wl@gnu.org>
4348 * doc/groff.texinfo (Manipulating Hyphenation): Further improve
4349 documentation of `hcode'.
4351 2004-07-04 Sang Dae Yu <sdyu@bh.knu.ac.kr>
4353 Improve appearance of arrows in pic.
4355 * src/preproc/pic/object.cpp (draw_arrow): Make outline of filled
4357 Use two line segments for drawing non-filled arrow head.
4358 (line_object::print, spline_object::print): Shorten line length to
4359 avoid arrow sticking.
4360 (arc_object::print): Take arrow direction into account.
4362 2004-07-03 Heinz-Jürgen Oertel <hj.oertel@surfeu.de>
4364 * tmac/groff_www.man: Update documentation of .MPIMG.
4366 2004-07-03 Werner LEMBERG <wl@gnu.org>
4368 * tmac/an-old.tmac (RI): Always start with font `R'.
4369 (RI, IR): Properly end with font `R'.
4371 2004-07-02 Paul Eggert <eggert@cs.ucla.edu>
4373 * man/ditroff.man, man/groff_font.man, man/groff_out.man,
4374 src/devices/grohtml/grohtml.man, src/preproc/grn/grn.man,
4375 src/preproc/pic/pic.man, tmac/groff_man.man, tmac/groff_ms.man:
4376 Don't pass more than six arguments to .R, .I, .B, etc., for
4377 compatibility with traditional troff macros.
4379 2004-07-02 Werner LEMBERG <wl@gnu.org>
4381 * src/roff/troff/input.h: s/COMPATIBLE_SAVE/PUSH_GROFF_MODE/.
4382 s/COMPATIBLE_RESTORE/POP_GROFFCOMP_MODE/.
4384 (PUSH_COMP_MODE): New internal character constant.
4387 * src/roff/troff/input.cpp (get_copy): Handle PUSH_GROFF_MODE,
4388 PUSH_COMP_MODE, and POP_GROFFCOMP_MODE.
4389 (token::next, macro::append): Handle PUSH_COMP_MODE.
4390 (decode_args): Add PUSH_GROFF_MODE or PUSH_COMP_MODE before and
4391 POP_GROFFCOMP after each of the decoded arguments to make them
4392 independent from the compatibility mode status.
4393 (comp_mode): Add `COMP_ENABLE'.
4394 (do_define_string, do_define_macro): Handle COMP_ENABLE.
4395 (define_string, append_string, define_macro, define_indirect_macro,
4396 append_macro, append_indirect_macro): Handle `compatible_flag'.
4397 (chop_macro, substring_request, asciify): Handle PUSH_COMP_MODE.
4399 * man/groff_diff.man, doc/groff.texinfo: Updated.
4401 2004-07-01 Werner LEMBERG <wl@gnu.org>
4403 * doc/groff.texinfo: Improve documentation of `hcode'.
4404 Use @documentencoding and convert document to latin-1; to do that
4405 make latin characters active and assign proper macros (within a
4406 @tex...@end tex environment).
4407 * doc/Makefile.in (.texinfo.html, groff): Use --enable-encoding.
4408 * doc/Makefile.sub (groff): Ditto.
4410 2004-06-29 Werner LEMBERG <wl@gnu.org>
4412 Implement two new conditional operators `F <name>' and `S <name>'
4413 which check whether <name> is a valid font or style, respectively.
4415 * src/libs/libgroff/font.cpp (text_file): Add `silent' member.
4416 (text_file::text_file): Updated.
4417 (text_file::error): Don't emit message if `silent' is set.
4418 (font::load_font): Add optional third argument (which is directly
4420 (font::load): Add optional second argument to check the header of
4421 a font only, without emitting warning or error messages.
4422 * src/include/font.h (font): Updated.
4424 * src/roff/troff/input.cpp (do_if_request): Implement `S' and `F'
4426 * src/roff/troff/node.cpp (mount_font_no_translate): Add optional
4427 fourth argument to check a font without mounting.
4428 (check_font, check_style): New functions.
4429 * src/roff/troff/node.h: Updated.
4431 * man/groff_diff.man, man/groff.man, NEWS, doc/groff.texinfo:
4434 2004-06-27 Werner LEMBERG <wl@gnu.org>
4436 Implement new string-valued register `.sty' to return the current
4439 * env.cpp (environment::get_style_name_string): New function.
4440 (init_env_requests): Add `.sty' register.
4441 * env.h (environment): Updated.
4442 * node.cpp (font_info): Make `get_style_name' a friend.
4443 (get_style_name): New function.
4446 * man/groff_diff.man, man/groff.man, NEWS, doc/groff.texinfo:
4449 2004-06-15 Werner LEMBERG <wl@gnu.org>
4451 * src/preproc/tbl/main.cpp (process_data) <GOT_RIGHT_BRACE>: Handle
4454 2004-06-10 Colin Percival <colin.percival@wadham.ox.ac.uk>
4456 * doc/meintro.me, doc/meref.me: Don't use \*[td], \n[dy], \*[mo],
4457 and \n[mo] to avoid dependency on current date.
4459 2004-06-08 Werner LEMBERG <wl@gnu.org>
4461 * Makefile.sub (install_data): New target.
4463 2004-06-04 Werner LEMBERG <wl@gnu.org>
4465 * src/libs/libxutil/Makefile.sub (EXTRA_CFLAGS): Define.
4467 2004-06-03 Werner LEMBERG <wl@gnu.org>
4469 * src/devices/xditview/Makefile.sub (EXTRA_LDFLAGS): Fix typo and
4471 (install_data): Add $(srcdir).
4473 * src/utils/xtotroff/Makefile.sub (EXTRA_LDFLAGS): Fix order of
4476 2004-06-02 Werner LEMBERG <wl@gnu.org>
4478 * aclocal.m4 (GROFF_X11): s/have_no_x/groff_no_x/.
4479 Add X11 stuff to CFLAGS, LDFLAGS, and LIBS temporarily.
4480 Add test for Xmu library.
4481 (GROFF_APPRESDIR_OPTION, GROFF_APPRESDIR_CHECK,
4482 GROFF_APPRESDIR_DEFAULT): New macros.
4484 * configure.ac: Call GROFF_APPRESDIR_OPTION, GROFF_APPRESDIR_CHECK,
4485 and GROFF_APPRESDIR_DEFAULT.
4487 * configure: Regenerated.
4489 * Makefile.in (appresdir): New variable.
4490 (MDEFINES): Add appresdir.
4492 * src/devices/xditview/Makefile.sub (EXTRA_LDFLAGS): Add -Xmu and
4494 (install_data, uninstall_sub): New targets to handle GXditview.ad.
4496 * src/utils/indxbib/Makefiles.ub (install_data): Depend on
4497 `$(srcdir)/eign', not `eign'.
4499 * MANIFEST, INSTALL, NEWS, PROBLEMS: Updated.
4501 * man/groff_out.man, man/roff.man, src/devices/grops/grops.man,
4502 src/devices/xditview/gxditview.man, src/roff/groff/groff.man:
4503 Protect (g)xditview with `\%' to avoid hyphenation.
4504 Other minor formatting.
4506 2004-06-01 Werner LEMBERG <wl@gnu.org>
4508 Integrate gxditview into groff's standard directory hierarchy.
4510 * src/xditview/*: Moved to ...
4511 * src/devices/xditview/*: Here.
4512 Moved DviChar.h and XFontName.h to src/include.
4513 Moved DviChar.c and XFontName.c to new directory src/libs/libxutil.
4514 Split off `xmalloc' into new file src/libs/libxutil/xmalloc.c.
4515 Moved xtotroff.c to new directory src/utils/xtotroff.
4516 Provide proper Makefile.sub files (reusing the stuff from
4518 DESC renamed to DESC.in.
4519 Removed GXDitview-ad.h, INSTALL, Imakefile.in.
4520 Converted everything from K&R to ANSI C.
4521 Decorated with const where appropriate.
4522 Cast string constants with `String' and `char *' where appropriate.
4523 Made it compile with C++ (used as a C compiler).
4524 Removed other minor compiler warnings.
4526 * src/devices/xditview/device.c: Include config.h, string.h, and
4528 Don't declare `exit', `strtok', `strchr', and `getenv'.
4531 * src/devices/xditview/font.c: Don't declare `XParseFontName' and
4534 * src/devices/xditview/xditview.c: Include config.h.
4535 Include stdio.h earlier.
4536 Protect declaration of `popen' and `pclose' with
4537 NEED_DECLARATION_POPEN and NEED_DECLARATION_PCLOSE.
4538 Replace `caddr_t' with `XtPointer'.
4539 (MakePromptFunc): New typedef.
4540 (DoPrint): Use RETSIGTYPE.
4541 (promptfunction): Change type to MakePromptFunc.
4542 (MakePrompt): Use MakePromptFunc for third argument.
4545 * src/devices/xditview/ad2c: Add casts to `String'.
4547 * src/include/XFontName.h (XFontNameString): Don't use array
4549 Add prototypes for `XParseFontName', `XFormatFontName',
4550 `XCompareFontName', and `XCopyFontName'.
4552 * src/include/Makefile.sub (HDRS): Add `DviChar.h' and
4555 * src/utils/xtotroff/xtotroff.c: Include getopt.h.
4556 Don't declare `XParseFontName' and `XFormatFontName'.
4558 (main): Remove `optind' and `optarg'.
4560 * Makefile.in (XDEVDIRS, XPROGDIRS, XLIBDIRS): New variables
4561 (to select programs which need X).
4562 Make XDEVIDIRS depend on `FORCE'.
4563 (X_CFLAGS, X_LIBS, X_EXTRA_LIBS, X_PRE_LIBS): New variables (for
4565 (MDEFINES): Updated.
4566 (LIBDIRS): Use XLIBDIRS.
4567 (CPROGDIRS): Use XPROGDIRS.
4568 (DEVDIRS): Remove font directories for gxditview.
4569 (ALLDIRS, DISTDIRS): Add XDEVDIRS.
4570 (EXTRADIRS): Remove src/xditview.
4572 * Makefile.sub (DISCLEANFILES): Updated.
4574 * Makefile.comm (LIBXUTIL): New variable.
4575 (.cpp.o, .cpp.obj): Handle EXTRA_CCFLAGS.
4576 (.c.o, .c.obj, .y.o): Handle EXTRA_CFLAGS.
4578 * Makefile.cpg, Makefile.ccpg ($PROG): Handle EXTRA_LDFLAGS.
4580 * aclocal.m4 (GROFF_X11): New function.
4582 * configure.ac: Call GROFF_X11.
4583 Don't create src/xditview/Imakefile.
4584 Don't emit notice how to build gxditview.
4586 * configure: Regenerated.
4588 * test-groff.in (GROFF_BIN_PATH, XENVIRONMENT): Updated.
4590 2004-05-28 Akihiro Sagawa <sagawa@sohgoh.net>
4592 * Makefile.in (CPPFLAGS): Define.
4593 (MDEFINES): Add CPPFLAGS.
4595 2004-05-27 Werner LEMBERG <wl@gnu.org>
4597 * arch/misc/Makefile.sub (shdeps.sed): Use $(srcdir).
4599 2004-05-26 Niklas Edmundsson <nikke@acc.umu.se>
4601 Fix problems with `friend name injections'.
4603 * src/preproc/eqn/box.h (make_mark_box, make_lineup_box,
4604 make_script_box), src/roff/troff/div.h (end_diversions),
4605 src/roff/troff/env.h (title), input.cpp (process_input_stack): Undo
4608 2004-05-25 Bernd Warken <bwarken@mayn.de>
4610 * src/preproc/pic/pic.man, doc/pic.ms: Add example for `command'.
4612 2004-05-25 Werner LEMBERG <wl@gnu.org>
4614 * src/libs/libgroff/cset.cpp, src/libs/libgroff/lf.cpp,
4615 src/libs/libgroff/color.cpp: Include lib.h.
4617 2004-05-25 Paul Eggert <eggert@cs.ucla.edu>
4619 * PROBLEMS: Update documentation for problems with Sun C++ 5.0
4620 through Forte 6u1, and for how to get GNU make on Solaris.
4622 2004-05-24 Werner LEMBERG <wl@gnu.org>
4624 * PROBLEMS: Document problems with gcc 3.4.0 on Sun. Reported
4627 2004-05-15 Keith Marshall <keith.d.marshall@ntlworld.com>
4629 * arch/misc/Makefile.sub (shdeps.sed): Don't use `$<' in explicit
4632 2004-05-14 Werner LEMBERG <wl@gnu.org>
4634 * REVISION: Set to 2.
4636 * aclocal.m4 (GROFF_STDINT_H): Removed.
4637 (GROFF_INTTYPES_H): Define HAVE_CC_INTTYPES_H.
4639 * configure.ac: Updated.
4640 * configure, src/include/config.hin: Regenerated.
4642 * src/libs/libgroff/tmpname.cpp: Don't include stdint.h but
4643 inttypes.h conditionally.
4645 2004-05-13 Werner LEMBERG <wl@gnu.org>
4647 Version 1.19.1 released
4648 =======================
4650 2004-05-10 Stephen Gildea <http://www.gildea.com/stephen>
4652 * src/preproc/refer/label.y (same_author_last_name,
4653 same_author_name): Handle empty sort keys.
4655 2004-05-10 Werner LEMBERG <wl@gnu.org>
4657 * NEWS, README, TODO, PROJECTS, PROBLEMS, MANIFEST, doc/webpage.ms,
4660 * tmac/doc-syms (doc-str-Lb-libposix, doc-str-Lb-libpthread,
4661 doc-str-Lb-librt): Reset font.
4662 (Lb): Rename `doc-str-Lb' to `doc-str-Lb1'.
4663 Provide `doc-str-Lb' to reset font.
4664 * tmac/groff_mdoc.man: Updated.
4666 2004-05-08 Jan Schaumann <jschauma@netmeister.org>
4668 * src/preproc/html/pre-html.cpp (make_message): Make it work for
4669 snprintf versions which don't conform to ANSI C 99 (this is,
4670 counting the string's trailing null byte in the return value).
4672 2004-05-07 Keith Marshall <keith.d.marshall@ntlworld.com>
4674 * src/roff/troff/node.cpp (suppress_node::tprint): Don't expect
4675 that all implementations of sprintf handle null pointers correctly.
4677 2004-05-04 Werner LEMBERG <wl@gnu.org>
4679 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
4680 Document `.U' register.
4682 * src/roff/troff/env.cpp (environment::mark_last_line)
4683 [WIDOW_CONTROL]: Fix scope of `p' for new C++ compilers.
4685 2004-05-04 Larry Kollar <kollar@alltel.net>
4687 New read-only register `.U'; it returns 1 in safer mode and 0
4690 * src/roff/troff/input.cpp (init_input_requests): Implement `.U'
4693 2004-05-03 Werner LEMBERG <wl@gnu.org>
4695 * install-sh, mkinstalldirs: New versions; taken from texinfo CVS.
4697 2004-04-17 Werner LEMBERG <wl@gnu.org>
4699 * src/include/font.h (font): Use `int' for ch_index.
4700 * src/libs/libgroff/font.cpp (font::alloc_ch_index,
4701 font::compact): Updated.
4703 * src/roff/groff/pipeline.c (run_pipeline) [_WIN32]: Fix compiler
4706 * src/roff/troff/div.cpp (begin_page), src/roff/troff/env.cpp
4707 (hyphen_word): Fix compiler warnings.
4708 * src/roff/troff/input.cpp (get_char_for_escape_name): Return
4711 (get_delim_number, get_line_arg): Change second argument type to
4713 (macro_header::copy, token::next, do_define_string,
4714 do_define_character, substring_request, asciify_macro,
4715 unformat_macro, read_size, non_interpreted_node::interpret,
4716 while_request, main: Fix compiler warnings.
4717 (read_color_draw_node): Initialize `col'.
4719 * src/preproc/tbl/table.cpp (horizontal_span, table_entry): Make
4720 `start_col' and `end_col' of type `int'.
4721 (vertical_rule): Make `col' of type `int'.
4723 * src/preproc/grn/hdb.cpp (DBRead): Protect call to getc with check
4726 * src/preproc/refer/label.y (uppercase_array, lowercase_array):
4728 (format_serial): Use them to remove dependency on ASCII.
4730 * src/devices/grops/ps.cpp (ps_printer::define_encoding): Fix
4732 * src/devices/grops/psrm.cpp (resource_manager::supply_resource):
4735 * src/devices/grotty/tty.cpp (tty_font::load_tty_font): Fix
4737 (glyph): Change type of `hpos' to `int'.
4739 * src/devices/lbp/lbp.cpp (strsep): Removed. Unused.
4740 * src/devices/lbp/lbp.h (splinerel): Fix compiler warnings.
4742 * src/utils/tfmtodit.cpp (gf::load): Fix compiler warnings.
4744 * src/utils/pfbtops/pfbtops.c (get_text): Fix compiler warning.
4746 2004-04-16 Werner LEMBERG <wl@gnu.org>
4748 * src/devices/grolbp/lbp.h, src/preproc/grn/gprint.h,
4749 src/preproc/grn/hgraph.cpp, src/preproc/grn/hpoint.cpp,
4750 src/preproc/html/pushback.cpp, src/preproc/html/pushback.h: Use
4751 `double' instead of `float' everywhere.
4752 * src/preproc/grn/main.cpp: Use `double' instead of `float'
4754 (main): Add return value.
4755 * src/preproc/grn/hdb.cpp: Use `double' instead of `float'
4757 Update all user functions.
4759 * src/include/search.h, src/include/ptable.h, src/include/printer.h,
4760 src/preproc/eqn/box.h, src/preproc/pic/object.h,
4761 src/preproc/refer/refer.h, src/preproc/tbl/table.h,
4762 src/preproc/tbl/table.cpp, src/roff/troff/env.h,
4763 src/roff/troff/div.h, src/roff/troff/token.h, src/roff/troff/node.h,
4764 src/roff/troff/input.cpp, src/roff/troff/request.h,
4765 src/roff/troff/node.cpp: Don't mix `struct' and `class' in forward
4768 * src/utils/indxbib/signal.c: Include stdlib.h.
4770 2004-04-14 Keith Marshall <keith.d.marshall@ntlworld.com>
4772 * tmac/s.tmac (@init, RP): Allow initialization of the PO register
4773 before the first page.
4775 2004-04-14 Thomas Klausner <wiz@netbsd.org>
4777 * tmac/doc-common (doc-volume-as-*): Use lowercase names.
4778 (doc-operating-system-*): Updated.
4779 * tmac/doc-syms (doc-str-St-*): Various small fixes.
4780 (doc-str-Lb-*): Add more library names.
4782 2004-04-10 Art Haas <ahaas@airmail.net>
4784 * src/utils/hpftodit/hpuni.cpp (hp_msl_to_unicode_list): Don't
4787 2004-04-09 Art Haas <ahaas@airmail.net>
4789 * src/utils/tfmtodit.cpp (lig_chars): Don't use anonymous type.
4791 2004-04-09 Keith Marshall <keith.d.marshall@ntlworld.com>
4793 * arch/misc/shdeps.sh: Generate better comment for sed script.
4795 2004-04-08 Art Haas <ahaas@airmail.net>
4797 * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list),
4798 src/libs/libgroff/uniglyph.cpp (unicode_to_glyph_list),
4799 src/libs/libgroff/uniuni.cpp (unicode_decompose_list),
4800 src/preproc/eqn/box.cpp (param_table), src/preproc/grn/hgraph.cpp
4801 (polyfill), src/preproc/grn/main.cpp (polyfill),
4802 src/preproc/refer/command.cpp (command_table),
4803 src/utils/tfmtodit.cpp (lig_table): Don't use anonymous types (which
4804 gcc 3.5 doesn't like).
4806 2004-04-08 Werner LEMBERG <wl@gnu.org>
4808 Removing many compiler warnings. groff should now compile with
4809 a C++ compiler used for C files also. [Simple variable renamings
4810 to avoid shadowing aren't logged in detail.]
4812 * src/devices/grodvi/dvi.cpp: Some local variable renamings.
4813 (draw_dvi_printer::draw) ['c']: Enclose in block.
4815 * src/devices/grohtml/post-html.cpp: Some local variable renamings.
4816 (page::add_line): Fix typos.
4817 * src/devices/grohtml/html-text.cpp: Some local variable renamings.
4819 * src/devices/grolbp/lbp.cpp: Don't define _GNU_SOURCE.
4820 Some local variable renamings.
4821 * src/devices/grolbp/lbp.h: Some local variable renamings.
4823 * src/devices/grolj4/lj4.cpp, src/devices/grotty/tty.cpp: Some local
4826 * src/libs/libbib/index.cpp (index_search_item_iterator::get_tag):
4827 Remove redundant local variable declaration.
4828 * src/libs/libbib/map.c (mapread, unmap): Don't use K&R style.
4829 Don't use `caddr_t' but `void *'.
4830 Enclose functions with `extern "C"' for C++.
4832 * src/libs/libdriver/input.cpp (remember_filename,
4833 remember_source_filename): Use cast for string constant.
4835 * src/libs/libgroff/font.cpp, src/libs/libgroff/fontfile.cpp,
4836 src/libs/libgroff/nametoindex.cpp, src/libs/libgroff/paper.cpp,
4837 src/libs/libgroff/geometry.cpp: Some local variable renamings.
4838 * src/libs/libgroff/iftoa.c, src/libs/libgroff/itoa.c: Don't use K&R
4840 Enclose functions with `extern "C"' for C++.
4841 * src/libs/libgroff/quotearg.c (TRUE,FALSE): Define as macros.
4842 (needs_quoting): Return `int'.
4843 (quote_arg): Add proper casts to malloc and realloc.
4844 * src/libs/libgroff/spawnvp.c: Compile code only for MS-DOS and
4845 various MS Windows environments.
4846 (spawnvp_wrapper): Add proper cast to malloc.
4848 * src/preproc/eqn/box.h: Remove redundant declarations of
4849 `make_script_box', `make_mark_box' and `make_lineup_box'.
4850 * src/preproc/eqn/eqn.y: Remove redundant declaration of `strsave'.
4851 * src/preproc/eqn/script.cpp, src/preproc/eqn/pile.cpp: Some local
4854 * src/preproc/grn/hpoint.cpp: Some local variable renamings.
4855 * src/preproc/grn/hgraph.cpp: Some local variable renamings.
4856 (dx, dy): Renamed functions to...
4857 (deltax, deltay): This.
4858 * src/preproc/grn/main.cpp: Some local variable renamings.
4859 (deffont): Add `const'.
4860 (initpic, conv): Use cast for string constant.
4862 * src/preproc/html/pre-html.cpp: Some local variable renamings.
4863 (makeFileName, alterDeviceTo, addZ): Use cast for string constant.
4864 (char_buffer::run_output_filter): Second argument is unused.
4865 * src/preproc/html/pushback.cpp: Some local variable renamings.
4867 * src/preproc/pic/pic.y: Remove redundant declaration of `do_copy'.
4868 * src/preproc/pic/object.cpp: Some local variable renamings.
4870 * src/preproc/refer/label.y (lookup_label): Remove redundant
4871 declaration of local variable.
4873 * src/preproc/soelim.cpp: Remove redundant declaration of
4874 `interpret_lf_args'.
4876 * src/preproc/tbl/main.cpp: Some local variable renamings.
4878 * src/roff/groff/groff.cpp (main): Use cast for string constant.
4879 * src/roff/groff/pipeline.c: Enclose declarations of `error',
4880 `c_fatal', and `i_to_a' with `extern "C"' for C++.
4881 Don't use C++-style comments.
4883 * src/roff/troff/env.h: Remove redundant declaration of `title'.
4884 * src/roff/troff/node.h, src/roff/troff/env.cpp,
4885 src/roff/troff/div.cpp, src/roff/troff/node.cpp: Some local variable
4887 * src/roff/troff/div.h: Remove redundant declaration of
4889 * src/roff/troff/troff.h: Remove redundant declaration of
4891 * src/roff/troff/input.cpp: Remove redundant declaration of
4892 `handle_first_page_transition' and `process_input_stack'.
4894 * src/utils/hpftodit.cpp: Some local variable renamings.
4896 * src/utils/indxbib/signal.c: Enclose functions with `extern "C"'
4898 Don't define RETSIGTYPE.
4899 * src/utils/indxbib/indxbib.cpp: Some local variable renamings.
4901 * src/utils/pfbtops/pfbtops.cpp: Don't use K&R style.
4902 (error): Use `const' in argument.
4903 (main): Remove redundant declaration of `optind'.
4904 Move declaration of `Version_string' to top-level.
4906 * PROBLEMS: Document difficulties compiling signal.c if a C++
4907 compiler is used for C.
4909 2004-04-07 Werner LEMBERG <wl@gnu.org>
4911 * Makefile.sub (DISTCLEANFILES): Add `test-groff'.
4913 2004-04-06 Keith Marshall <keith.d.marshall@ntlworld.com>
4915 Make scripts like nroff.sh and neqn.sh portable across various
4916 (Unix-like) shell implementations from Cygwin, MSYS, etc., which use
4917 non-POSIX path separators. The idea is to extend those scripts to
4918 decide at run-time (of the script) which path separator to use.
4920 * arch/misc/Makefile.sub: New file.
4921 * arch/misc/shdeps.sh: New file, generating OS dependency fixups.
4922 This script handles @GROFF_BIN_PATH_SETUP@, replacing it with
4923 a proper definition of the variable `GROFF_RUNTIME'.
4925 * Makefile.in (SH_DEPS_SED_SCRIPT): New variable.
4926 (MDEFINES): Add SH_DEPS_SED_SCRIPT.
4927 (PROGDEPDIRS): New variable.
4929 (PROGDIRS): Add PROGDEPDIRS.
4931 * src/preproc/eqn/Makefile.sub (neqn): Call SH_DEPS_SED_SCRIPT.
4932 Don't substitute @SEP@ and @BINDIR@.
4933 * src/preproc/eqn/neqn.sh: Use @GROFF_BIN_PATH_SETUP@.
4934 (PATH): Use GROFF_RUNTIME.
4936 * src/roff/nroff/Makefile.sub (nroff): Call SH_DEPS_SED_SCRIPT.
4937 Don't substitute @SEP@ and @BINDIR@.
4938 * src/roff/nroff/nroff.sh: Use @GROFF_BIN_PATH_SETUP@.
4939 (PATH): Use GROFF_RUNTIME.
4941 2004-04-05 Keith Marshall <keith.d.marshall@ntlworld.com>
4943 * src/roff/nroff/nroff.sh: Implement work-around for sh.exe from
4944 Cygwin which doesn't handle stderr correctly.
4946 2004-03-08 Werner LEMBERG <wl@gnu.org>
4948 * Makefile.comm (install_dev, uninstall_dev): Protect `for' loops
4949 against empty argument. Problem reported by <cgd@broadcom.com>.
4951 2004-03-05 Keith Marshall <keith.d.marshall@ntlworld.com>
4953 * Makefile.in (SEP): Replaced with...
4954 (RT_SEP, SH_SEP): Separators for the target platform's native path
4955 separator and the build environment, respectively.
4956 (fontpath, tmacpath): Use RT_SEP.
4957 (MDEFINES): Updated.
4959 * doc/Makefile.sub (GROFF_BIN_PATH): Use SH_SEP.
4960 * src/preproc/eqn/Makefile.sub (neqn): Use SH_SEP.
4961 * src/roff/nroff/Makefile.sub (nroff): Use SH_SEP.
4963 2004-03-05 Werner LEMBERG <wl@gnu.org>
4965 * font/devlj4/Makefile.sub (LJ4RES): Set to 1200. This helps to
4966 reduce alignment problems with newer printers which use built-in
4967 TrueType fonts (instead of the older Intellifonts). The ideal
4968 solution is to provide a second set of groff metric files, but this
4969 is extremely time-consuming to produce, given that HP's metric
4970 files are very rudimentary.
4972 2004-03-01 Werner LEMBERG <wl@gnu.org>
4974 * src/devices/grolj4/lj4.cpp (main): Fix argument of getopt_long.
4975 s/operand/argument/ in error message.
4977 2004-03-01 Keith Marshall <keith.d.marshall@ntlworld.com>
4979 * src/roff/groff/groff.cpp (main): Don't allow option -o if -Thtml
4982 2004-03-01 Antti Kantee <pooka@netbsd.org>
4984 * tmac/s.tmac (XE): Fix error message.
4986 2004-02-27 Jeff Conrad <jeff_conrad@msn.com>
4988 * src/include/nonposix.h (write, dup, dup2, close) [_MSC_VER]:
4991 * src/roff/groff/pipeline.c: Declare strcasecmp.
4992 (run_pipeline) [_WIN32]: Use function name variants which don't
4994 Fix stream handling.
4996 2004-02-27 Keith Marshall <keith.d.marshall@ntlworld.com>
4998 * src/include/nonposix.h: Fix declaration of `system_shell_name'.
4999 Declare `spawnvp_wrapper' and macro definitions of spawnvp only
5000 for platforms which use the native Win32 runtime libraries.
5001 (FLUSH_INPUT_PIPE) [_UWIN]: Provide non-empty version.
5003 * src/libs/libgroff/quotearg.c (QUOTE_ARG_MALLOC_ERROR,
5004 QUOTE_ARG_REALLOC_ERROR): Fix string.
5006 * src/preproc/html/pre-html.cpp: Remove declaration of
5008 Don't use __MINGW32__.
5009 s/DEBUG_FILE/DEBUG_FILE_DIR/.
5010 (DEBUG_TEXT, DEBUG_NAME, DEBUG_FILE) [DEBUGGING]: New macros.
5011 (OUTPUT_STREAM, PS_OUTPUT_STREAM, REGION_OUTPUT_STREAM): New macros.
5012 (char_buffer::run_output_filter) [MAY_FORK_CHILD_PROCESS]: Fix
5013 calls to `set_redirection' and `WAIT'.
5014 [MAY_SPAWN_ASYNCHRONOUS_CHILD]: Remove unused variable `i' and `j'.
5015 Fix calls to `set_redirection' and `save_and_redirect'.
5016 (char_buffer::do_html, char_buffer::do_image) [DEBUGGING]: Fix calls
5017 to `set_redirection' and `save_and_redirect'.
5018 (usage): Fix message.
5019 (makeTempFiles, main): Use `DEBUG_FILE'.
5021 2004-02-21 Werner LEMBERG <wl@gnu.org>
5023 * src/roff/troff/troff.h (WARN_TOTAL): Fix value.
5025 2004-02-21 Keith Marshall <keith.d.marshall@ntlworld.com>
5027 * src/libs/libgroff/quotearg.c: New file, providing proper argument
5028 quoting for MSVC's spawn* and exec* functions.
5029 * src/libs/libgroff/spawnvp.c: New file, providing a wrapper around
5030 spawnvp with proper quoting for MSVC.
5032 * src/libs/libgroff/assert.cpp (program_name),
5033 src/libs/libgroff/new.cpp (program_name): Declare as `extern "C"'.
5034 * src/libs/libgroff/Makefile.sub (OBJS, CSRCS): Updated.
5036 * src/roff/troff/input.cpp (program_name): Declare as `extern "C"'.
5038 * src/include/error.h (program_name): Declare as `extern "C"'.
5039 * src/include/nonposix.h [__MSDOS__ ...]: Handle spawnvp.
5041 2004-02-21 Jeff Conrad <jeff_conrad@msn.com>
5043 * src/preproc/html/pre-html.cpp [__CYGWIN__ ...]: Declare
5045 [MAY_SPAWN_ASYNCHRONOUS_CHILD]: Declare i and j.
5047 2004-02-20 Jeff Conrad <jeff_conrad@msn.com>
5049 * src/roff/groff/pipeline.c (cmd) [__MSDOS__ || ...]: New global
5051 (sbasename) [__MSDOS__ || ...]: New function.
5052 (system_shell_name) [__MSDOS__ || ...]: Use a different, more
5054 (system_shell_dash_c, is_system_shell) [__MSDOS__ || ...]: Updated.
5055 (run_pipeline) [_WIN32]: Use _XXX variants for some macros instead
5057 Use STDOUT_FILENO instead of hardcoded file handle.
5058 (signal_catcher) [__MSDOS__]: Moved to non-_WIN32 section.
5060 2004-02-19 Werner LEMBERG <wl@gnu.org>
5062 * src/roff/troff/div.cpp: Include nonposix.h after troff.h to
5063 avoid warnings w.r.t. redefinition of P_tmpdir for some compilers.
5065 2004-02-18 Werner LEMBERG <wl@gnu.org>
5067 * font/devlj4/Makefile.sub (DEVFILES): Updated to contain all
5068 new font and mapping files.
5070 2004-02-18 Jeff Conrad <jeff_conrad@msn.com>
5071 Keith Marshall <keith.d.marshall@ntlworld.com>
5073 * src/include/nonposix.h (FLUSH_INPUT_PIPE): New macro to empty
5074 an input pipe. This is needed for the MSVC compiler to make troff's
5077 * src/roff/troff/div.cpp: Include nonposix.h.
5078 (cleanup_and_exit): Call FLUSH_INPUT_PIPE.
5080 2004-02-17 Werner LEMBERG <wl@gnu.org>
5082 * font/devlj4/generate/special.awk: New script.
5083 * font/devlj4/generate/Makefile (S): Use special.awk.
5084 * font/devlj4/*: Regenerated, including the following new files:
5085 Arial (AR, AB, AI, ABI), Times New Roman (TNRR, TNRB, TNRI, TNRBI),
5086 MS Symbol (SYMBOL), Wingdings (WINGDINGS).
5087 * NEWS: Document new lj4 fonts and revised hpftodit.
5089 2004-02-17 Paco Andrés Verdú <pandres@dragonet.es>
5091 * src/devices/grolbp/lbp.h (vmdvarc): Fix formatting string.
5093 2004-01-25 Werner LEMBERG <wl@gnu.org>
5095 * src/libs/libgroff/progname.cpp: Replaced with...
5096 * src/libs/libgroff/progname.c: New file.
5097 * src/libs/libgroff/Makefile.sub: Updated accordingly.
5099 2004-01-17 Werner LEMBERG <wl@gnu.org>
5101 * font/devlj4/generate/Makefile (SYMBOL): Use 9nb28703.tfm.
5103 2004-01-16 Jeff Conrad <jeff_conrad@msn.com>
5105 * font/devlj4/generate/wingdings.map,
5106 font/devlj4/generate/symbol.map: Include unnamed glyphs.
5107 Use groff glyph names where possible.
5108 * src/devices/grolj4/lj4_font.man: Minor updates.
5110 2004-01-13 Werner LEMBERG <wl@gnu.org>
5112 * tmac/www.tmac (DC): Handle TTY devices.
5114 * doc/webpage.ms: Document viewCVS from ffii.org.
5115 * NEWS, README: Updated.
5117 * src/roff/groff/groff.man: Mention lj4_font man page.
5119 * font/devlj4/generate/Makefile (SYMBOLMAP, WINGDINGSMAP): New
5121 (FONTS): Add SYMBOL and WINGDINGS.
5122 (SYMBOL, WINGDINGS): New targets.
5124 2004-01-13 Jeff Conrad <jeff_conrad@msn.com>
5126 * src/devices/grolj4/lj4_font.man: New man page.
5127 * src/devices/grolj4/Makefile.sub (MAN5): New variable.
5128 * src/devices/grolj4.man: Mention lj4_font man page.
5130 * src/utils/hpftodit/hpftodit.cpp (read_map): Handle line comments.
5131 * src/utils/hpftodit/hpftodit.man: Document it.
5133 Remove details about fonts (which are now in lj4_font.man).
5135 * font/devlj4/generate/symbol.map,
5136 font/devlj4/generate/wingdings.map: New files.
5138 2004-01-12 Werner LEMBERG <wl@gnu.org>
5140 * README: Mention ffii's viewcvs access.
5142 2004-01-09 Werner LEMBERG <wl@gnu.org>
5144 * font/devlj4/generate/special.map: Map MSL 228 to U+221F.
5146 2004-01-09 Jeff Conrad <jeff_conrad@msn.com>
5148 Revert most of the change from 2004-01-03 to better control used
5151 * src/utils/hpftodit/hpftodit.cpp (symbol_set): New structure.
5152 (text_symbol_sets, special_symbol_sets): New arrays.
5153 (symbol_set_table): New global variable.
5154 (read_symbol_sets): Use search order given in the text_symbol_sets
5155 and special_symbol_sets arrays. If command line flag -a is not
5156 given, search both arrays.
5157 (output_charset): Require x_height_tag only for command line flag -i.
5159 2004-01-06 Werner LEMBERG <wl@gnu.org>
5161 Implement string-valued registers \n[.m] and \n[.M] to return the
5162 name of the current drawing and background color, respectively.
5164 * src/roff/troff/symbol.h: Moved to...
5165 * src/include/symbol.h: Here.
5166 Small fixes to make it work outside of the `troff' directory.
5167 * src/roff/troff/symbol.cpp: Moved to...
5168 * src/libs/libgroff/symbol.cpp: Here.
5169 Small fixes to make it work outside of the `troff' directory.
5171 * src/include/Makefile.sub (HDRS), src/libs/libgroff/Makefile.sub
5172 (OBJS, CCSRCS), src/roff/troff/Makefile.sub (OBJS, CCSRCS, HDRS):
5175 * src/include/color.h: Include symbol.h.
5176 (color): Add new field `nm'.
5177 * src/libs/libgroff/color.cpp (color::color): Updated.
5179 * src/roff/troff/dictionary.cpp, src/roff/troff/div.cpp,
5180 src/roff/troff/node.cpp, src/roff/troff/number.cpp,
5181 src/roff/troff/reg.cpp: Don't include symbol.h.
5183 * src/roff/troff/env.cpp: Don't include symbol.h.
5184 (environment::get_glyph_color_string,
5185 environment_get_fill_color_string): New member functions.
5186 (init_env_requests): Handle `.m' and `.M' registers.
5187 * src/roff/troff/input.cpp: Don't include symbol.h.
5188 (default_symbol): Moved to symbol.cpp/symbol.h.
5189 (do_glyph_color, do_fill_color, define_color): Pass symbol name
5190 to color constructor.
5191 * src/roff/troff/env.h: Updated.
5193 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
5194 Document new registers.
5196 2004-01-05 Werner LEMBERG <wl@gnu.org>
5198 * src/roff/troff/node.cpp (space_node::get_breakpoints,
5199 space_node::nbreaks): Protect against zero `next' field.
5201 2004-01-03 Jeff Conrad <jeff_conrad@msn.com>
5203 In hpftodit, use the symbol sets offered in the TFM.
5205 * src/utils/hpftodit/hpftodit.cpp (NO_GLYPH): New constant.
5206 (symbol_set, text_symbol_sets, special_symbol_sets,
5207 symbol_set_table): Removed.
5208 (get_printcode): Removed.
5209 (read_symbol_sets): Initialize `symbol_set' field with
5211 Simplify code to just use the `kind' value.
5212 (output_charset): Improve output formatting.
5213 (dump_symbols): Simplified.
5215 2004-01-02 Werner LEMBERG <wl@gnu.org>
5217 * font/devlj4/generate/text.map: Add more MSL numbers.
5219 2004-01-02 Jeff Conrad <jeff_conrad@msn.com>
5221 * src/utils/hpftodit/hpftodit.cpp (is_decomposed): New macro.
5222 (text_symbol_sets): Add more symbol sets.
5223 (debug_flag): New static variable (moved from `main').
5224 (get_printcode, show_symset): New functions.
5225 (main): Remove `debug_flag'.
5226 (output_charset): Use `show_symset'.
5227 (dump_symbols): Use `show_symset'.
5228 Print symsets for all glyphs.
5229 (read_map): Actually call `unicode_to_ucode_make' but this time
5232 2004-01-01 Werner LEMBERG <wl@gnu.org>
5234 * font/devlj4/generate/text.map, font/devlj4/generate/special.map:
5235 Fix placement of comments.
5237 2004-01-01 Jeff Conrad <jeff_conrad@msn.com>
5239 * src/utils/hpftodit/hpftodit.cpp (main): Read map file also if
5240 option `-d' is given.
5241 (output_charset): Improve warning messages to give more information.
5242 (dump_symbols): Make information more precise.
5244 (read_map): Don't call unicode_to_ucode_name; the glyph names must
5245 appear as-is and shouldn't be decomposed.
5247 2003-12-31 Werner LEMBERG <wl@gnu.org>
5249 * src/utils/hpftodit/hpftodit.cpp (dump_tags): Handle posture_tag.
5250 * font/devlj4/generate/Makefile (IFLAG): Updated to new units.
5251 (FONTS): Add TrueType font families Arial and Times New Roman.
5252 (TNRR, TNRB, TNRI, TNRBI, AR, AB, AI, ABI): New targets.
5253 * font/devlj4/generate/text.map: Fix Unicode values of `fi' and
5256 2003-12-31 Jeff Conrad <jeff_conrad@msn.com>
5258 * test-groff.in (SEP): Quote value.
5259 * src/roff/troff/node.cpp (suppress_node::tprint): Change type of
5260 `tem' to `char*' to avoid deallocation of a pointer to a constant
5261 object which some compilers don't like.
5263 2003-12-31 Werner LEMBERG <wl@gnu.org>
5265 * font/devlj4/generate (text.map, special.map): Rewritten to work
5266 with the new hpftodit version.
5268 2003-12-30 Jeff Conrad <jeff_conrad@msn.com>
5270 * src/utils/hpftodit/hpftodit.cpp (output_charset): Emit HP symbol
5271 set and 8bit character code for all glyphs also.
5273 2003-12-30 Werner LEMBERG <wl@gnu.org>
5275 * src/libs/libgroff/strcasecmp.c: Updated from gnulib.
5277 2003-12-29 Werner LEMBERG <wl@gnu.org>
5279 More fixes for MSVC compiler.
5281 * doc/Makefile.sub (GROFF_BIN_PATH): Use $(SEP).
5283 * src/include/nonposix.h (STDIN_FILENO, STDOUT_FILENO,
5284 STDERR_FILENO) [_MSC_VER]: Define conditionally.
5285 (getpid) [_MSC_VER]: Remove.
5286 Include direct.h and process.h conditionally.
5288 * src/roff/troff/node.cpp (suppress_node::tprint): Don't use
5289 parentheses for a_delete.
5291 * src/utils/lookbib/lookbib.cpp: Include nonposix.h.
5293 * test-groff: Replaced with...
5294 * test-groff.in: This new template to handle path separator
5297 * configure.ac: Check for direct.h and process.h.
5298 Generate test-groff script.
5299 * configure, src/include/config.hin: Regenerated.
5301 2003-12-28 Werner LEMBERG <wl@gnu.org>
5303 Add integral extension glyph.
5304 Add new option `-x' to afmtodit to suppress use of built-in AGL.
5306 * font/devhtml/R.proto, font/devutf8/R.proto: Add `u23AE'.
5308 * font/devps/generate/textmap: Provide entry for `integralex' to
5309 override (old) PUA value of the AGL.
5310 * font/devps/generate/Makefile (SS): Add afmtodit option `-x'.
5311 * font/devps/*: Regenerated.
5313 * src/utils/afmtodit/afmtodit.pl: Add option `-x'.
5314 * src/utils/afmtodit/afmtodit.man, NEWS: Updated.
5316 2003-12-27 Werner LEMBERG <wl@gnu.org>
5318 Add forgotten `coproduct' symbol (already available for DVI).
5320 * font/devhtml/R.proto, font/devps/generate/textmap,
5321 font/devps/symbolmap, font/devutf8/R.proto, man/groff_char.man,
5322 src/libs/libgroff/uniglyph.cc, src/libs/libgroff/glyphuni.cpp: Add
5323 U+2210 (\[coproduct]).
5325 2003-12-26 Jeff Conrad <jeff_conrad@msn.com>
5327 hpftodit has been extended to handle TrueType metric files and
5328 more glyphs. See hpftodit.man for more details.
5330 * src/utils/hpftodit/hpftodit.cpp: Include stdio.h, string.h,
5331 ctype.h, and unicode.h.
5332 s/msl/charcode/ everywhere since we now handle Unicode values also.
5333 (equal, NO, YES, MSL, SYMSET, UNICODE, UNICODE): New macros.
5334 Use it where appropriate.
5335 (MULTIPLIER): Replaced with...
5336 (multiplier): New global static variable.
5338 (tag_type): Add more TFM tags.
5339 (tag_name): New array.
5340 (ENUM_TYPE, FLOAT_TYPE): Removed.
5341 (BYTE_TYPE): New value assigned.
5342 (ASCII_TYPE, RATIONAL_TYPE): New enumeration values.
5343 (text_symbol_sets, special_symbol_sets): Extended to cover more
5345 (check_type): Add return value.
5346 (check_units): Add parameters to get ppi and upem values.
5347 Handle TrueType TFM data.
5348 (output_font_name): New function.
5349 (output_charset): Add parameter to handle TFM type.
5350 Handle TrueType TFMs also.
5351 (em_fract): New macro.
5352 (dump_tags): Be much more verbose and handle more tags.
5353 (dump_ascii, dump_symbol_sets, dump_symbols): New functions.
5354 (hp_msl_to_ucode_name, unicode_to_ucode_name, is_uname): New
5356 (read_map): Add parameter to handle TFM type.
5357 Handle both MSL and Unicode mappings.
5358 (main): Add two new command line options `-a' and `-q'.
5359 Updated to make use of new functions.
5362 * src/utils/hpftodit/hpuni.cpp: New file.
5364 * src/utils/hpftodit/Makefile.sub, src/utils/hpftodit/hpftodit.man:
5367 2003-12-25 Werner LEMBERG <wl@gnu.org>
5369 * src/include/nonposix.h (read) [_MSC_VER]: Define.
5371 2003-12-24 Werner LEMBERG <wl@gnu.org>
5373 * src/utils/afmtodit/afmtodit.man: Some reformulations as suggested
5374 by Michail Vidiassov <master@iaas.msu.ru>.
5376 2003-12-20 Werner LEMBERG <wl@gnu.org>
5378 * font/devhtml/R.proto: Add u00{47,67}_0306, u00{53,73}_0327,
5380 Add missing latin-2 glyphs.
5381 * font/devutf8/R.proto: Add missing latin-2 glyphs.
5383 * tmac/troffrc: Load `composite.tmac' earlier.
5385 * tmac/dvi.tmac, tmac/ps.tmac, tmac/lbp.tmac: Add u00{47,67}_0306,
5386 u00{53,73}_0327, and u0049_0307.
5387 * tmac/X.tmac: Add u00{47,67}_0306.
5388 * tmac/tty-char.tmac: Use composite glyph names for readability.
5392 * src/include/unicode.h: Remove `extern' keywords.
5394 2003-12-20 Nilgün Belma Bugüner <nilgun@superonline.com>
5396 * tmac/latin5.tmac: New file.
5398 2003-12-19 Werner LEMBERG <wl@gnu.org>
5400 Add some glyphs needed for Turkish.
5402 * font/devutf8/R.proto: Add u00{47,67}_0306, u00{53,73}_0327,
5405 * tmac/composite.tmac: Add `,' as a synonym for `ac' accent.
5406 * tmac/tty-char.tmac: Add representations for u00{47,67}_0306,
5407 u00{53,73}_0327, and u0049_0307.
5409 2003-12-18 Werner LEMBERG <wl@gnu.org>
5411 * src/devices/grops/ps.cc (ps_output::put_float): Revert change
5413 Remove trailing zeros.
5415 2003-12-17 Werner LEMBERG <wl@gnu.org>
5417 Make \? transparent to end-of-sentence recognition.
5419 * src/roff/troff/input.cc (non_interpreted_node): Add
5420 `ends_sentence' member function.
5422 2003-12-16 Werner LEMBERG <wl@gnu.org>
5424 * doc/groff.texinfo: Document `dt' request correctly.
5425 Other minor typographical improvements.
5427 2003-12-10 Michail Vidiassov <master@iaas.msu.ru>
5429 * src/utils/afmtodit/Makefile.sub (afmtodit): Fix typo.
5431 2003-12-10 Richard Stallman <rms@gnu.org>
5433 * LICENSE: Better wording.
5435 2003-12-09 Werner LEMBERG <wl@gnu.org>
5437 * aclocal.m4 (GROFF_BROKEN_SPOOLER_FLAGS): Set default value to 0.
5438 * configure, NEWS: Updated.
5440 2003-12-08 Werner LEMBERG <wl@gnu.org>
5442 * FDL: Updated to version 1.2 (from www.gnu.org/copyleft).
5444 2003-12-07 Bernd Warken <bwarken@mayn.de>
5448 2003-12-07 Werner LEMBERG <wl@gnu.org>
5450 * INSTALL: Improved.
5452 2003-12-05 Keith Marshall <keith.d.marshall@ntlworld.com>
5454 Use path separator character of target platform for compiled-in
5457 * aclocal.m4 (GROFF_TARGET_PATH_SEPARATOR): New macro.
5458 * configure.ac: Use GROFF_TARGET_PATH_SEPARATOR.
5459 * configure: Regenerated.
5460 * Makefile.in (SEP): Use GROFF_PATH_SEPARATOR.
5462 2003-12-05 Werner LEMBERG <wl@gnu.org>
5464 * src/include/nonposix.h (PATH_SEP_CHAR): New definition.
5465 Replace `PATH_SEP[0]' with `PATH_SEP_CHAR' everywhere.
5467 2003-12-04 Bernd Warken <bwarken@mayn.de>
5469 * LICENSE: New file.
5471 2003-12-03 Werner LEMBERG <wl@gnu.org>
5473 * src/utils/afmtodit/afmtodit.pl: Comment out code which handles
5474 ligatures present in AFM files since groff currently only
5475 understands some standard ligatures and nothing else.
5477 2003-12-03 Jeff Conrad <jeff_conrad@msn.com>
5479 * src/roff/groff/groff.cpp (main): Don't run the spooler if
5482 * src/roff/groff/pipeline.c (run_pipeline) [_WIN32]: Fix error
5485 Don't use Unix wait flags.
5487 2003-12-02 Werner LEMBERG <wl@gnu.org>
5489 * src/roff/troff/glyphuni.cpp, src/roff/troff/unicode.cpp,
5490 src/roff/troff/unicode.h, src/roff/troff/uniglyph.cpp,
5491 src/roff/troff/uniuni.cpp: Moved to...
5492 * src/libs/libgroff/glyphuni.cpp, src/libs/libgroff/unicode.cpp,
5493 src/libs/libgroff/unicode.h, src/libs/libgroff/uniglyph.cpp,
5494 src/libs/libgroff/uniuni.cpp: Here.
5496 * src/include/Makefile.sub.old (HDRS),
5497 src/libs/libgroff/Makefile.sub (OBJS, CCSRCS),
5498 src/roff/troff/Makefile.sub (HDRS, PBJS, CCSRCS): Updated.
5500 2003-12-01 Keith Marshall <keith.d.marshall@ntlworld.com>
5502 * src/preproc/htlp/pre-html.cpp (__tmpfile): Renamed to
5506 2003-12-01 Werner LEMBERG <wl@gnu.org>
5508 * groff.texinfo: Document special behaviour of `.vs 0'.
5509 Improve documentation of `cflags' request.
5512 2003-11-29 Werner LEMBERG <wl@gnu.org>
5514 * font/devlj4/generate/Makefile (CORONET): Use correct TFM.
5515 * font/devlj4/CORONET: Regenerated.
5517 2003-11-24 Werner LEMBERG <wl@gnu.org>
5519 * src/roff/troff/env.cpp (hyphen_trie::read_patterns_file): Fix loop
5520 if processing hyphenation patterns in traditional mode.
5521 Improve error messages.
5523 2003-11-20 Werner LEMBERG <wl@gnu.org>
5525 * src/roff/troff/node.cpp (troff_output_file::put_char_width,
5526 troff_output_file::put_char): Fix type of local variable `c'.
5528 2003-11-19 Werner LEMBERG <wl@gnu.org>
5530 * src/roff/groff/pipeline.c (P): Removed. Updated all function
5532 (i_to_a): Removed. libgroff already provides this function.
5533 (run_pipeline) [_WIN32]: Don't use itoa but i_to_a.
5535 2003-11-18 Keith Marshall <keith.d.marshall@ntlworld.com>
5537 * src/roff/groff/pipeline.c (xstrsignal): Fix usage of
5540 2003-11-17 Werner LEMBERG <wl@gnu.org>
5542 * COPYING: Use correct version.
5544 2003-11-11 Werner LEMBERG <wl@gnu.org>
5546 LynxOS 4.0.0 doesn't declare vfprintf.
5548 * configure.ac: Check for vfprintf.
5549 * configure: Regenerated.
5550 * src/include/lib.h: Handle `NEED_DECLARATION_VFPRINTF'.
5551 * src/include/config.hin: Regenerated.
5553 2003-11-10 Werner LEMBERG <wl@gnu.org>
5555 LynxOS 4.0.0 has snprintf (without declaration) but no vsnprintf.
5557 * configure.ac: Check for vsnprintf.
5558 * configure: Regenerated.
5559 * src/include/lib.h: Handle `NEED_DECLARATION_VSNPRINTF' and
5561 * src/include/config.hin: Regenerated.
5563 2003-11-09 Werner LEMBERG <wl@gnu.org>
5565 * aclocal.m4: Updated syntax to autoconf 2.59.
5566 (GROFF_HTML_PROGRAMS): Use AC_FOREACH.
5567 Don't check for gsos2.
5568 (GROFF_SRCDIR, GROFF_BUILDDIR): Removed. autoconf 2.59 provides
5569 working abs_top_srcdir and abs_top_builddir.
5571 * configure.ac: Updated syntax to autoconf 2.59.
5572 Don't call GROFF_SRCDIR and GROFF_BUILDDIR.
5573 Replace call to AC_DECL_SYS_SIGLIST with call to AC_CHECK_DECLS.
5574 * configure: Regenerated.
5576 * Makefile.in, doc/Makefile.in: s/@top_srcdir@/@abs_top_srcdir@/,
5577 s/@groff_top_builddir@/@abs_top_builddir@/.
5579 * src/roff/groff/pipeline.c (xstrsignal):
5580 s/SYS_SIGLIST_DECLARED/HAVE_DECL_SYS_SIGLIST/.
5582 2003-11-07 Werner LEMBERG <wl@gnu.org>
5584 * src/devices/grodvi/dvi.cpp (draw_dvi_printer::draw) ['a']: Always
5585 make start angle smaller than end angle to circumvent a bug in tpic
5586 handling of some versions of dvipdfm (and dvipdfmx).
5588 2003-10-30 Werner LEMBERG <wl@gnu.org>
5590 * src/devices/grops/grops.man: Improve section on creating EPS.
5592 2003-10-29 Werner LEMBERG <wl@gnu.org>
5594 * contrib/pic2graph/pic2graph.sh: Fix typo (-P-letter ->
5597 2003-10-28 Werner LEMBERG <wl@gnu.org>
5599 * doc/groff.texinfo: Fix documentation of `.if'.
5601 2003-10-27 Michail Vidiassov <master@iaas.msu.ru>
5603 * src/utils/afmtodit/afmtodit.pl: Handle unmapped characters of
5604 the form `uniXXXX' also.
5606 2003-10-27 Werner LEMBERG <wl@gnu.org>
5608 * contrib/eqn2graph/eqn2graph.sh, contrib/grap2graph/grap2graph.sh,
5609 contrib/pic2graph/pic2graph.sh: Implement secure management of
5611 Pass `-P-pletter' to groff to avoid data outside of the converted
5612 area -- some versions of `convert' (for example 5.3.8) don't check
5613 the bounding box of the image but always use a fixed image size
5614 (letter paper format).
5615 * contrib/eqn2graph/eqn2graph.man, contrib/grap2graph/grap2graph.man,
5616 contrib/pic2graph/pic2graph.man: Updated.
5618 * src/roff/groff/groff.man: Document $TMP and $TEMP.
5620 2003-10-26 Werner LEMBERG <wl@gnu.org>
5622 * src/preproc/pic/troff.cpp (troff_output::simple_circle,
5623 troff_output::simple_ellipse, troff_output::simple_arc,
5624 troff_output::simple_line, troff_output::simple_spline,
5625 troff_output::simple_polygon): Insert a space before arguments.
5626 (troff_output::set_fill): Emit `\&' before `\D'Fg...' since the
5627 latter doesn't produce a node, so the following `.sp -1' would do
5629 Don't emit `.sp -1' after \M. This also doesn't produce a token
5630 (and we don't have to care about compatibility mode).
5631 (troff_output::set_color, troff_output::reset_color): Don't emit
5632 `.sp -1' after \M and \m.
5634 * src/roff/troff/input.cpp (old_have_input): New global variable.
5635 (input_stack::get): Handle `old_have_input'.
5636 (process_input_stack) <token::TOKEN_NEWLINE>: Call
5637 `trapping_blank_line' depending on `old_have_input', not
5640 2003-10-20 Keith Marshall <keith.d.marshall@ntlworld.com>
5642 * src/libs/libgroff/tmpfile.cpp [__MSDOS__, _Win32]
5643 (WIN32_TMPDIR_ENVVAR, MSDOS_TMPDIR_ENVVAR): New macros, providing
5644 default directory names for temporary files.
5645 [__MSDOS__, _Win32] (temp_init::temp_init): Use them.
5647 * src/roff/groff/pipeline.c [__MSDOS__]: Include stdlib.h.
5648 [__MSDOS__] (run_pipeline): Honour environment variables.
5649 Don't use `tmpnam' but `tempnam' to work around messy
5652 * README.MinGW: New file.
5654 2003-10-16 Werner LEMBERG <wl@gnu.org>
5656 * src/preproc/html/pre-html.cpp (write_upto_newline): Don't use
5657 `(*t)->next' without testing validity of `*t'.
5658 (usage): Make it more readable.
5660 2003-10-16 Keith Marshall <keith.d.marshall@ntlworld.com>
5662 Make html device run under both MS-DOS and Win32.
5664 * src/preproc/html/pre-html.cpp (MAY_FORK_CHILD_PROCESS,
5665 MAY_SPAWN_ASYNCHRONOUS_CHILD): New macros to control whether
5666 spawn or fork+exec has to be used, and whether parent must sleep
5667 until the child process terminates. Used in
5668 `char_buffer::run_output_filter'.
5669 (copyofstdoutfd): Removed.
5670 (char_buffer): Replace `write_file_html' and `write_file_troff'
5671 member functions with `emit_troff_output' and `run_output_filter'.
5672 (DEVICE_FORMAT, HTML_OUTPUT_FILTER, IMAGE_OUTPUT_FILTER): New
5674 (replaceFd): Replaced with...
5675 (set_redirection): New auxiliary function.
5676 (waitForChild): Replaced with...
5677 (save_and_redirect): New auxiliary function for.
5679 (char_buffer::do_html, char_buffer::do_image): Simplified, using new
5682 2003-10-14 Keith Marshall <keith.d.marshall@ntlworld.com>
5684 * aclocal.m4 (GROFF_SYS_NERR): Check stdlib.h also.
5685 (GROFF_LIBC): New function.
5686 * configure.ac: Call GROFF_LIBC.
5688 * configure: Regenerated.
5690 * src/include/lib.h: Handle __MINGW32__.
5691 * src/include/nonposix.h [_MSC_VER]: Handle __MINGW32__.
5692 Add macro for `pipe'.
5695 * src/roff/groff/pipeline.c (run_pipeline): Handle `no_pipe'
5698 * src/utils/indxbib/signal.c (handle_fatal_signal) [!HAVE_KILL]:
5701 2003-10-12 Werner LEMBERG <wl@gnu.org>
5703 * src/roff/groff/groff.cpp (help), src/devices/grops/ps.cpp (usage),
5704 src/roff/troff/input.cc (usage): Updated.
5706 * NEWS, doc/groff.texinfo: Updated.
5708 2003-10-12 Peter Miller <millerp@canb.auug.org.au>
5710 * src/libs/libgroff/searchpath.cpp
5711 (search_path::open_file_cautious): New function which also handles
5712 `-' as stdin and stdout depending on the access mode.
5713 * src/include/searchpath.h (search_path): Updated.
5715 * src/devices/grops/ps.cpp (main): Handle new `-I' switch.
5716 * src/devices/grops/ps.h: Include `searchpath.h'.
5717 * src/devices/grops/psrm.cpp (resource_manager::supply_resource):
5718 Open resource file with `include_search_path.open_file_cautious'.
5719 * src/devices/grops/grops.man: Document new `-I' switch.
5721 * src/devices/grodvi/dvi.cpp (main), src/devices/grolbp/lbp.cpp
5722 (main), src/devices/grolj4/lj4.cpp (main),
5723 src/devices/grotty/tty.cpp (main): Ignore new `-I' switch.
5725 * src/preproc/soelim/soelim.cpp (include_list_length, include_list):
5727 (include_search_path): New global variable.
5728 (include_path_append): Removed.
5729 (main): Use `include_search_path.command_line_dir' to handle `-I'.
5730 (do_file): Simplify, using new
5731 `include_search_path.open_file_cautious'.
5733 * src/roff/groff/groff.cpp (print_commands): Accept file handle as
5735 (main): Pass arguments to `-I' to both troff and devices.
5736 Improve handling of `-V'.
5737 * src/roff/groff/groff.man: Document changes to -I and -V.
5739 * src/roff/troff/input.cpp (include_search_path): New global
5741 (next_file, source, ps_bbox_request, transparent_file,
5742 process_input_file): Use new
5743 `include_search_path.open_file_cautious'.
5744 (main) Handle `-I' switch.
5745 * src/roff/troff/node.cpp (troff_output_file::really_copy_file):
5746 Use new `include_search_path.open_file_cautious'.
5747 * src/roff/troff/node.h: New extern symbol `include_search_path'.
5748 * src/roff/troff/troff.man: Document new `-I' switch.
5750 2003-09-15 Ruslan Ermilov <ru@FreeBSD.org>
5752 Support multiple calls of .Lb in LIBRARY section.
5754 * tmac/doc-common (doc-in-library-section): New register.
5755 (doc-section-library): New string.
5756 (Sh): Set `doc-in-library-section'.
5758 * tmac/doc-syms (Lb): Insert breaks before and after arguments
5759 if in LIBRARY section.
5760 * tmac/doc.tmac (doc-save-global-vars): Updated.
5761 * NEWS, tmac/groff_mdoc.man: Updated.
5763 2003-09-14 Ruslan Ermilov <ru@FreeBSD.org>
5765 * tmac/doc-common (doc-default-operating-system): New variable.
5768 2003-09-08 Werner LEMBERG <wl@gnu.org>
5770 * tmac/doc.tmac (doc-reset-reference): Handle data for `%I' also.
5772 2003-08-31 Werner LEMBERG <wl@gnu.org>
5774 * Makefile.comm: Use `test ... ||' in favor of `if test ...; then'.
5775 (install_dev, uninstall_dev): Check whether $(DEVSCRIPTS) and
5776 $(DEVFILES) are not empty.
5777 * Makefile.in: Use `test ... ||' in favor of `if test ...; then'.
5779 2003-08-23 Stephen Gildea <http://www.gildea.com/stephen>
5781 * src/preproc/refer/ref.cpp (reference::compute_sort_key): Always
5782 insert SORT_SEP. With certain combinations of sort specifications,
5783 refer sorted entries in the wrong order. In particular, entries
5784 with a missing field should be be sorted before all entries that
5785 have that field, before refer looks to the next field.
5787 2003-08-23 Werner LEMBERG <wl@gnu.org>
5789 * src/utils/pfbtops/Makefile.sub (LINK.c): Define it so that the
5790 g++ linker is used. Reported by Mark J. Reed
5791 <mark.reed@turner.com>.
5793 2003-08-16 Heinz-Jürgen Oertel <hj.oertel@surfeu.de>
5795 Add key character `x' to tbl which makes tbl call a user-defined
5796 macro on a table cell.
5798 * src/preproc/tbl/table.h (entry_modifier): Add `macro'.
5799 * src/preproc/tbl/table.cpp (block_entry::do_divert): Call
5800 `set_modifier' after printing the compatibility request.
5801 (set_modifier): Print call to `m->macro' if not empty.
5802 * src/preproc/tbl/main.cpp (entry_format::debug_print): Handle
5804 (process_format): Implement cases `x' and `X'.
5805 * src/preproc/tbl/tbl.man, NEWS: Updated.
5807 2003-08-15 Werner LEMBERG <wl@gnu.org>
5809 * doc/groff.texinfo: Minor fixes.
5811 2003-08-09 Werner LEMBERG <wl@gnu.org>
5813 * tmac/an-old.tmac [cR]: Fix redefinition of `bp'.
5815 2003-08-07 Werner LEMBERG <wl@gnu.org>
5817 * doc/Makefile.sub: Not all shells expand wildcards in the `for'
5818 argument list to nothing if there is no file to match. Use `ls' as
5819 a protection, similar to autoconf.
5821 * Makefile.comm (install_dev, uninstall_dev): Protect `for' against
5822 empty argument lists.
5824 * doc/groff.texinfo: Improve documentation how vertical spacing
5825 and line breaks interact.
5828 * tmac/www.tmac: Initialize `www-htmlimage-gap'.
5830 2003-08-03 Werner LEMBERG <wl@gnu.org>
5832 * NEWS, src/devices/grops/grops.man: -b16 is necessary to produce
5833 EPS (using eps2eps or similar programs to compute the bounding box).
5835 2003-07-24 Werner LEMBERG <wl@gnu.org>
5837 * doc/groff.texinfo: Use the new @/ command to avoid overlong lines.
5838 * doc/texinfo.tex: Updated from texinfo 4.6.
5839 * README.CVS: From now on we need texinfo 4.6.
5841 2003-07-23 Werner LEMBERG <wl@gnu.org>
5843 Add requests `dei1' and `ami1' for completeness.
5845 * src/roff/troff/input.cc (calling_mode): Remove
5846 CALLING_DISABLE_COMP.
5847 (comp_mode): New enumeration.
5848 (do_define_string, define_string, define_nocomp_string,
5849 append_string, append_nocomp_string): Updated.
5850 (do_define_macro): Add third parameter.
5851 (define_macro, define_nocomp_macro, define_indirect_macro,
5852 append_macro, append_nocomp_macro, append_indirect_macro): Updated.
5853 (define_indirect_nocomp_macro, append_indirect_nocomp_macro): New
5856 (init_input_requests): Add `dei1' and `ami1'.
5858 * tmac/trace.tmac: Handle de1 and am1.
5859 (de): Improve tracing message.
5860 (am): Add missing `do'.
5863 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
5864 Document new requests.
5866 2003-07-22 Heinz-Jürgen Oertel <hj.oertel@surfeu.de>
5868 Add option -G to .MPIMG to insert a gap between text and the image.
5870 * tmac/www.tmac (www-finish-left-po, www-finish-right-ll,
5871 www-finish-left-ll): Updated.
5872 (www-image-just, www-image-gap, www-htmlimage-gap): New variables.
5873 (MPIMG): Make option -L and -R optional.
5874 Implement option -G.
5876 2003-07-22 Gaius Mulley <gaius@glam.ac.uk>
5878 * src/devices/grohtml/post-html.cpp
5879 (html_printer::do_file_components): Don't use `stdout' as lvalue
5880 since it can be a macro.
5882 2003-07-22 Werner LEMBERG <wl@gnu.org>
5884 * src/libs/libgroff/strerror.c: Include errno.h to be in sync with
5885 the corresponding test in aclocal.m4.
5887 2003-07-21 Werner LEMBERG <wl@gnu.org>
5889 * src/preproc/html/pre-html.cpp (TRANSPARENT): Don't use colour
5890 names but RGB values directly. Otherwise pnmtopng depends on
5891 an external file `rgb.txt' which maps colour names to values.
5893 2003-07-20 Werner LEMBERG <wl@gnu.org>
5895 * aclocal.m4 (GROFF_SYS_ERRLIST): Include stdlib.h for MinGW.
5896 * configure, src/include/config.hin: Regenerated.
5898 * src/libs/libgroff/strerror.c: Include stdlib.h for MinGW.
5900 2003-07-19 Werner LEMBERG <wl@gnu.org>
5902 * PROBLEMS: Add solution for UTF-8 problem with hyphens.
5904 2003-07-18 Werner LEMBERG <wl@gnu.org>
5906 * *.man: Switch to non-compatibility mode temporarily if GNU
5907 syntax extensions are used in the particular man page.
5909 * PROBLEMS: Add solutions for SGR problems.
5911 2003-07-17 Werner LEMBERG <wl@gnu.org>
5913 Don't ignore grotty's command line options if \X'tty: sgr ...' is
5914 used to change the drawing scheme.
5916 * src/devives/grotty/tty.cpp (bold_flag_option,
5917 underline_flag_option, italic_flag_option, reverse_flag_option,
5918 bold_underline_mode_option): New global variables.
5919 (update_options): New function.
5920 (tty_printer::special): Call update_options.
5921 (main): Don't set xxx_flag but xxx_flag_option, then call
5924 2003-07-14 Werner LEMBERG <wl@gnu.org>
5926 Make grotty emit proper Unicode box drawing characters for -Tutf8.
5928 * src/devices/grotty/tty.cpp (START_LINE, END_LINE): New enum
5930 (hline_char, vline_char): New global variables.
5931 (tty_printer::tty_printer): Initialize them.
5932 (tty_printer::draw): Emit START_LINE and END_LINE flags for both
5933 horizontal and vertical lines.
5934 (crossings): New global array.
5935 (tty_printer::end_page): Use it to determine the proper crossing
5936 character for -Tutf8.
5938 2003-07-12 Werner LEMBERG <wl@gnu.org>
5940 * doc/Makefilesub (HTMLDOCFILESALL): New macro.
5941 (HTMLDOCFILES): Revert to `pic.html'.
5942 (CLEANADD, install_html, uninstall_sub): Use HTMLDOCFILESALL.
5944 2003-07-11 Werner LEMBERG <wl@gnu.org>
5946 * doc/pic.ms: Improve documentation of absolute coordinates.
5947 Document absolute positioning of pictures.
5949 * NEWS: Add new pic capability.
5951 2003-07-09 Hartmut Henkel <hartmut_henkel@gmx.de>
5953 * src/libs/libgroff/geometry.cpp (check_output_arc_limits):
5956 2003-07-07 Werner LEMBERG <wl@gnu.org>
5958 Implement support for dashed and dotted ellipses in pic. Based on
5959 a patch from Hartmut Henkel <hartmut_henkel@gmx.de>.
5961 * src/preproc/pic/common.cpp (common_output::ellipse_arc,
5962 common_output::dashed_ellipse, common_output::dotted_ellipse): New
5963 functions. Ellipse arcs are approximated with circle arcs.
5964 * src/preproc/pic/common.h (common_output): Updated.
5965 * src/preproc/pic/tex.cpp (tex_output::ellipse): Use new ellipse
5967 * src/preproc/pic/troff.cpp (simple_output::ellipse): Ditto.
5969 * src/preproc/pic/TODO, src/preproc/pic/pic.man: Updated.
5971 2003-07-06 Werner LEMBERG <wl@gnu.org>
5973 Make grotty work on platforms which have unsigned char as the
5974 default for char. Based on a patch by Thomas Klausner
5977 * src/devices/grotty/tty.cpp (schar): New typedef.
5978 Updated calls to declare_ptable and implement_ptable.
5979 (glyph): Use schar for back_color_idx and fore_color_idx.
5980 (tty_printer): Use schar for curr_fore_idx and curr_back_idx.
5981 (tty_printer::tty_color, tty_printer::tty_printer,
5982 tty_printer::color_to_idx, tty_printer::put_color): Updated.
5984 2003-07-06 Ruslan Ermilov <ru@FreeBSD.org>
5986 * src/roff/nroff/nroff.sh: Add option -d for completeness.
5987 * src/roff/nroff/nroff.man: Updated.
5989 2003-07-05 Werner LEMBERG <wl@gnu.org>
5991 * NEWS, tmac/groff_www.man: Updated.
5992 * doc/Makefile.sub: Updated.
5994 2003-07-05 Gaius Mulley <gaius@glam.ac.uk>
5996 Implement support for multiple HTML output files.
5998 * src/preproc/html/pre-html.cpp (scanArguments): Dummy handling for
5999 -j command line option.
6001 * src/devices/grohtml/post-html.cpp (job_name, multiple_files): New
6003 (file): New fields `new_output_file', `require_links',
6005 (file::file): Updated.
6006 (files::set_file_name, files::set_links_required,
6007 files::are_links_required, files::is_new_output_file,
6008 files::file_name, files::next_file_name): New functions.
6009 (header_desc): New fields `no_of_level_one_headings',
6011 (header_desc::header_desc): Updated.
6012 (header_desc::write_headings): Handle multiple files.
6013 (html_printer::write_header): Save file name in which header occurs.
6014 (html_printer::determine_header_level): Possibly split files on
6016 (html_printer::do_links, html_printer::troff_tag): Updated.
6017 (html_printer::insert_split_file, html_printer::do_job_name,
6018 html_printer::emit_link, html_printer::write_navigation,
6019 html_printer::do_file_components): New functions.
6020 (html_printer::~html_printer): Handle multiple files.
6021 (main): Handle command line option `-j'.
6023 * src/devices/grohtml/grohtml.man: Updated.
6025 * doc/Makefile.sub (pic.html), doc/Makefile.in (pic.html): New rule
6028 * tmac/www.tmac (JOBNAME): New macro.
6029 * tmac/s.tmac (SH-NO-TAG): New macro.
6030 (@SH): Call SH-NO-TAG.
6033 2003-07-05 Ruslan Ermilov <ru@FreeBSD.org>
6035 * tmac/groff_mdoc.man: Improve documentation of punctuation
6038 2003-07-04 Ruslan Ermilov <ru@FreeBSD.org>
6040 * tmac/doc.tmac (Bd): Change to doc-Li-font later.
6042 2003-07-03 Werner LEMBERG <wl@gnu.org>
6044 * tmac/an-old.tmac [cR]: Redefine `bp' to avoid empty lines.
6046 2003-07-01 Ruslan Ermilov <ru@FreeBSD.org>
6048 * tmac/doc.tmac (doc-do-func, doc-do-func-args): Don't print a comma
6049 after `/*' and `*/'.
6051 (Fn, Fo): Reduce indentation in synopsis.
6053 * tmac/doc-common (doc-check-depth): New macro.
6054 (doc-end-macro, Sh, Ss): Use it.
6055 (Cd): Fix behaviour in synopsis.
6056 (In): Make it parsed and callable.
6057 If not in the synopsis, represent the C header file enclosed in
6059 (doc-str-Rv-std-suffix, doc-str-Rv-stds-suffix, doc-str-Rv-std0):
6060 Use minus, not hyphen.
6062 * tmac/groff_mdoc.man: Updated.
6064 2003-07-01 Werner LEMBERG <wl@gnu.org>
6066 Integrated grap2graph, contributed by Eric S. Raymond.
6068 * contrib/grap2graph/{Makefile.sub, grap2graph.sh, grap2graph.man}:
6070 * Makefile.in, NEWS, MANIFEST, contrib/eqn2graph.man,
6071 contrib/pic2graph.man, src/roff/groff/groff.man: Updated.
6073 2003-07-01 Colin Watson <cjwatson@debian.org>
6075 * src/xditview/*.c: Add prototypes, fix return types, add includes.
6076 Based on work by Fumitoshi UKAI <ukai@debian.or.jp>.
6078 2003-06-31 Ruslan Ermilov <ru@FreeBSD.org>
6080 * tmac/tty-char.tmac: Provide `lb', `rb', `lk', `rk', `lt', `rt'.
6082 2003-06-31 Werner LEMBERG <wl@gnu.org>
6084 * doc/Makefile.sub (CLEANADD): Remove all files created by
6085 running `make groff.{pdf,dvi}'.
6087 * Makefile.sub (DISTCLEANFILES): Remove all non-source files from
6090 2003-06-30 Werner LEMBERG <wl@gnu.org>
6092 * Makefile.in (SHELL): Define as @SHELL@.
6093 (mkinstalldirs): Use $(SHELL).
6094 (MDEFINES): Add $(SHELL).
6095 * Makefile.comm (SHELL): Removed.
6097 2003-06-29 Werner LEMBERG <wl@gnu.org>
6099 * tmac/s.tmac (De, Ds): New aliases for .DE and .DS, respectively.
6100 The X11 documentation files use them.
6101 * tmac/groff_ms.man, doc/groff.texinfo: Document them.
6103 2003-06-15 Robert Goulding <goulding@Princeton.EDU>
6105 * tmac/e.tmac (@C): Handle .ad also.
6107 2003-06-12 Werner LEMBERG <wl@gnu.org>
6109 * src/preproc/tbl/tbl.man: Document formatting of text blocks.
6111 * src/roff/troff/input.cc (token::next) <handle_escape_char>:
6112 Assign `n' even here. It is possible to construct a node
6113 immediately following an escape character:
6121 2003-06-10 Werner LEMBERG <wl@gnu.org>
6123 * README.WIN32: Removed.
6124 * MANIFEST: Updated.
6126 2003-06-07 Werner LEMBERG <wl@gnu.org>
6128 * src/roff/nroff/nroff.sh: Don't emit SGR for option -u.
6130 2003-06-05 Werner LEMBERG <wl@gnu.org>
6132 * src/preproc/pic/pic.y <sprintf_args>: Implement workaround for bug
6133 in Compaq C++ V6.5-033 for Compaq Tru64 UNIX V5.1A (Rev. 1885).
6135 2003-06-03 Werner LEMBERG <wl@gnu.org>
6137 * src/preproc/grn/hdb.cpp (DBRead): Don't close file handle; this
6138 is done by the calling function.
6140 2003-05-22 Ruslan Ermilov <ru@FreeBSD.org>
6142 * tmac/X.tmac: Fix definition of `em'.
6144 2003-05-22 Werner LEMBERG <wl@gnu.org>
6146 * src/roff/troff/input.cc (return_macro_request): Fix detection of
6149 2003-05-18 Werner LEMBERG <wl@gnu.org>
6151 * tmac/doc.tmac (doc-tag-list): Force horizontal mode after tag
6152 to make items work which consist only of a tag.
6154 2003-05-17 Werner LEMBERG <wl@gnu.org>
6156 * tmac/doc.tmac (doc-tag-list): Don't use \Z to assure that spaces
6157 aren't stretched in a tag (this can fail with unformatted boxes).
6158 Instead, insert a break and go back one line.
6160 2003-05-16 Werner LEMBERG <wl@gnu.org>
6162 * src/roff/troff/input.cc (return_macro_request): If called with
6163 argument pop macro twice. We need this to trace `return'.
6165 * tmac/trace.tmac: Handle `return'.
6168 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
6171 2003-05-15 Larry Kollar <kollar@alltel.net>
6173 * tmac/groff_ms.man, doc/groff.texinfo: Improve documentation of
6174 registers `FPS', `FVS', and `FPD'.
6176 2003-05-15 Werner LEMBERG <wl@gnu.org>
6178 * src/utils/pfbtops/pfbtops.c (get_text): Handle loop counter
6181 2003-05-03 Ruslan Ermilov <ru@FreeBSD.org>
6183 * tmac/groff_mdoc.man: Slight improvements.
6185 2003-05-03 Werner LEMBERG <wl@gnu.org>
6187 * tmac/doc-common (doc-header): Emit vertical space of 1v instead of
6188 `doc-header-space' after header line if register `cR' is set.
6190 2003-05-02 Werner LEMBERG <wl@gnu.org>
6194 2003-05-01 Ruslan Ermilov <ru@FreeBSD.org>
6196 * tmac/doc-common (Nd): Use \[em].
6198 2003-05-01 Werner LEMBERG <wl@gnu.org>
6200 * tmac/doc-ditroff, tmac/doc-nroff (doc-header-space,
6201 doc-footer-space): Initialize to 0.5i.
6202 (doc-setup-page-layout): Don't set doc-header-space and
6205 2003-04-30 Werner LEMBERG <wl@gnu.org>
6207 * REVISION: Set to 1.
6209 * doc/pic.ms: Document possible problems with `figname'.
6211 2003-04-29 Werner LEMBERG <wl@gnu.org>
6213 Version 1.19 released
6214 =====================
6216 * VERSION: Set to 1.19.
6217 * REVISION: Set to 0.
6218 * doc/groff.texinfo, doc/webpage.ms, NEWS: Updated.
6220 * src/devices/grohtml/post-html.cpp (html_printer::~html_printer):
6221 Define charset as `US-ASCII' in html output.
6223 * tmac/www.tmac (ULE): Add missing scaling indicator.
6225 * win32-diffs: Removed.
6227 2003-04-28 Werner LEMBERG <wl@gnu.org>
6229 * doc/groff.texinfo: Document `dn' and `dl' registers if used with
6231 Document how to insert discardable whitespace with `.ss'.
6233 2003-04-27 Werner LEMBERG <wl@gnu.org>
6235 * src/preproc/pic/tex.cpp (tex_output::start_picture): Make code
6236 work with plain TeX also.
6238 * src/preproc/pic/pic.man, doc/pic.ms: Fix TeX code example.
6240 2003-04-25 Gaius Mulley <gaius@glam.ac.uk>
6242 * src/devices/grohtml/post-html.cpp (html_printer::~html_printer):
6245 2003-04-24 Werner LEMBERG <wl@gnu.org>
6247 * src/preproc/pic/pic.man, doc/pic.ms: Explain how to get a
6248 vbox with positive height and zero depth if in TeX mode.
6250 * NEWS: Document glyph name changes for grodvi and grolj4.
6252 2003-04-23 Werner LEMBERG <wl@gnu.org>
6254 * src/preproc/pic/tex.cpp (tex_output::start_picture): Fix TeX code.
6255 * doc/pic.ms: Fixed.
6257 2003-04-21 Werner LEMBERG <wl@gnu.org>
6259 HP-UX 10.20 has `snprintf' but it isn't declared.
6261 * configure.ac: Add declaration test for snprintf.
6262 * configure: Regenerated.
6263 * src/include/lib.h: Handle `NEED_DECLARATION_SNPRINTF'.
6264 * src/include/config.hin: Regenerated.
6266 2003-04-19 Werner LEMBERG <wl@gnu.org>
6268 Add keyword `figname' to pic, specifying the name of the picture
6269 box in TeX mode. Based on a patch from William J Poser
6270 <wjposer@unagi.cis.upenn.edu>.
6272 * src/preproc/pic/pic.y: New token `FIGNAME'.
6273 (macro_name): New rule of type <str>.
6274 (placeless_element): Handle `FIGNAME'.
6275 * src/preproc/pic/lex.cpp (lookup_keyword): Add `figname'.
6276 * src/preproc/pic/main.cpp (graphname): New global variable.
6277 (do_picture): Initialize `graphname'.
6278 * src/preproc/pic/pic.h: Updated.
6279 * src/preproc/pic/tex.cpp (tex_output::start_picture): Use
6282 (tex_output::text): Beautify output.
6283 * src/preproc/pic/object.cpp (object_spec::~object_spec): Deallocate
6284 `shaded' and `outlined' unconditionally.
6285 * NEWS, src/preproc/pic/pic.man, doc/pic.ms: Updated.
6288 * PROBLEMS, README.CVS: Mention that bison version 1.875b or
6289 greater is necessary.
6291 2003-04-17 Hartmut Henkel <hartmut_henkel@gmx.de>
6293 Add option -r to soelim to avoid emission of `.lf' lines.
6294 Add option -t to produces TeX comment lines instead of `.lf' lines.
6296 * src/preproc/soelim/soelim.cpp: New global variables `raw_flag'
6299 (main): Handle `-r' and `-t'.
6300 (set_location): Handle `raw_flag' and `tex_flag'.
6301 * src/preproc/soelim/soelim.man, NEWS: Updated.
6303 2003-04-17 Werner LEMBERG <wl@gnu.org>
6305 * tmac/hyphenex.sh: Replaced with...
6306 * tmac/hyphenex.pl: This perl script to avoid sed compatibility
6309 * aclocal.m4 (GROFF_HTML_PROGRAMS): Emit useful warning message
6310 if --quiet is used for the configure script.
6311 * configure: Regenerated.
6313 2003-04-16 Werner LEMBERG <wl@gnu.org>
6315 * src/devices/grohtml/post-html.cpp (text_glob::text_glob):
6316 Add `const' to second argument.
6317 (html_printer::add_table_end): Add `const' to argument.
6318 * src/devices/grohtml/html-text.cpp (html_text::issue_tag): Add
6319 `const' to arguments.
6320 * src/devices/grohtml/html-text.h: Updated.
6322 * src/devices/grolbp/charset.h (symset): Use `unsigned char'.
6323 * src/devices/grolbp/lbp.h (lbpputc): Use `unsigned char' for
6326 * src/devices/grotty/tty.cpp (tty_printer::make_rgb_string): Use
6327 cast for integer constant.
6329 * src/preproc/html/pre-html.cpp (image_device): Use `const'.
6330 (writeNbytes): Add `const' to first argument.
6331 (writeString): Add `const' to argument.
6332 (char_buffer::can_see): Add `const' to third argument.
6333 * src/preproc/html/pushback.cpp (pushBackBuffer::isString): Add
6334 `const' to argument.
6335 * src/preproc/html/pushback.h: Updated.
6337 * src/preproc/soelim/soelim.cpp (include_list): Add `const'.
6338 (include_path_append): Add `const' to argument.
6341 * src/roff/troff/uniglyph.cpp (unicode_to_glyph_list): Use `const'
6343 (unicode_to_glyph_init::unicode_to_glyph_init): Updated.
6344 * src/roff/troff/uniuni.cpp (unicode_decompose_list): Use `const'
6346 (unicode_decompose_init::unicode_decompose_init): Updated.
6347 * src/roff/troff/glyphuni.cpp (glyph_to_unicode_list): Use `const'
6349 (glyph_to_unicode_init::glyph_to_unicode_init): Updated.
6350 * src/roff/troff/input.cc (process_startup_file): Add `const' to
6353 * tmac/hyphenex.sh: Make script more portable by using a here
6356 2003-04-15 Werner LEMBERG <wl@gnu.org>
6358 Renamed all `*.cc' files to `*.cpp'.
6359 Updated all configuration files, makefiles, and documentation.
6361 2003-04-14 Werner LEMBERG <wl@gnu.org>
6363 * tmac/hyphenex.sh: Slight improvements.
6365 2003-04-13 Werner LEMBERG <wl@gnu.org>
6367 * font/devascii/R.proto, font/devcp1037/R.proto,
6368 font/devlatin1/R.proto, font/devutf8/R.proto: Fill up remaining
6369 character slots with unnamed glyphs.
6371 * tmac/an-old.tmac: Fix hyphenation value if `cR' is active.
6372 (an-first): New global variable.
6373 (an-header): Emit vertical space between multiple man pages.
6375 2003-04-11 Werner LEMBERG <wl@gnu.org>
6377 * doc/groff.texinfo, man/groff_out.man: \S only accepts integer
6380 2003-04-10 Werner LEMBERG <wl@gnu.org>
6382 * PROBLEMS: Revised.
6384 2003-04-10 Bernd Warken <bwarken@mayn.de>
6386 * doc/webpage.ms: Improved.
6388 2003-04-09 Werner LEMBERG <wl@gnu.org>
6390 Add register \n[.height] which returns the value of \H.
6391 Add register \n[.slant] which returns the value of \S.
6393 * src/roff/troff/env.cc (init_env_requests): Implement.
6394 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
6397 2003-04-08 Werner LEMBERG <wl@gnu.org>
6399 * tmac/html.tmac: Move some of the data into html-end.tmac.
6400 Remove most of the character translations for eqn since html fonts
6401 now cover those characters.
6403 * tmac/html-end.tmac: New file.
6404 * tmac/troffrc: Load html.tmac not www.tmac for -Thtml.
6405 * tmac/troffrc-end: Load html-end.tmac not html.tmac for -Thtml.
6406 * tmac/Makefile.sub (NORMALFILES): Add html-end.tmac.
6408 2003-04-07 Werner LEMBERG <wl@gnu.org>
6410 * man/groff_out.man: Document negative values of `N' if -Thtml is
6413 2003-04-06 Werner LEMBERG <wl@gnu.org>
6415 * Makefile.comm (depend.temp): Check location of YTABC.
6417 2003-04-05 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
6419 * doc/Makefile.in (TROFFBIN): New variable for troff
6421 (GROFFBIN): New variable for groff binary path.
6422 (groff_bin_path): Rename to GROFF_BIN_PATH.
6423 (TROFF): Use TROFFBIN.
6424 (GROFF): Use GROFFBIN and GROFF_BIN_PATH.
6425 * doc/Makefile.sub (GROFFBIN): New variable for groff
6427 (groff_bin_path): Rename to GROFF_BIN_PATH.
6428 (GROFF): Use GROFFBIN and GROFF_BIN_PATH.
6430 * Makefile.comm (install_dev): Install scripts from DEVSCRIPTS
6431 with INSTALL_SCRIPT.
6432 (uninstall_dev): Uninstall scripts from DEVSCRIPTS.
6433 * Makefile.dev (all): Depend on DEVSCRIPTS.
6434 (install_dev): Likewise.
6435 * font/devdvi/Makefile.sub (DEVSCRIPTS): New variable to hold
6437 * font/devps/Makefile.sub (DEVSCRIPTS): Likewise.
6438 (DEVGENSCRIPTS): New variable to hold generated scripts.
6440 2003-04-05 Werner LEMBERG <wl@gnu.org>
6442 * src/libs/libdriver/input.cc (IntArray::operator[],
6443 IntArray::get_data): Remove meaningless `const' in return value.
6445 * README.CVS: New file.
6447 2003-04-04 Werner LEMBERG <wl@gnu.org>
6449 Check for stdint.h in C++, not in C.
6451 * aclocal.m4 (GROFF_STDINT_H): New function,
6452 * configure.ac: Check for stdint.h with GROFF_STDINT_H instead of
6454 * configure, src/include/config.hin: Regenerated.
6455 * src/libs/libgroff/tmpname.cc: Use HAVE_CC_STDINT_H.
6458 Fix handling of in grohtml. To do this, troff emits `N'
6459 with a negative value, representing the width of the unbreakable
6460 space (only for -Thtml). grohtml then converts this back to
6461 and uses the value of N as its width.
6463 * src/roff/troff/node.cc (space_char_hmotion_node::tprint,
6464 unbreakable_space_node::tprint): Emit `N-<width>'.
6465 * src/include/printer.h (printer::set_numbered_char): Make it
6467 Make members `font_table' and `nfonts' protected instead of private.
6468 * src/devices/grohtml/post-html.cc
6469 (html_printer::set_numbered_char): New member function.
6472 * src/libs/libgroff/maxfilename.cc:
6473 s/HAVE_LIMITS_H/HAVE_CC_LIMITS_H/.
6475 * src/roff/troff/node.cc (unbreakable_space_node::tprint): Don't
6478 2003-04-03 Sergey A. Osokin <osa@freebsd.org.ru>
6480 * man/roff.man: Small fixes.
6482 2003-04-03 Werner LEMBERG <wl@gnu.org>
6484 Make groff independent from locale's numeric settings.
6486 * configure.ac: Check for `setlocale'.
6487 * configure, src/include/config.hin: Regenerated.
6489 * src/include/lib.h: Handle HAVE_SETLOCALE.
6491 * src/devices/grodvi/dvi.cc (main), src/devices/grolj4/lj4.cc
6492 (main), src/devices/grops/ps.cc (main), src/preproc/grn/main.cc
6493 (main), src/preproc/pic/main.cc (main): Call `setlocale'.
6496 * doc/groff.texinfo: Change dir category to `Typesetting'.
6497 (Man font macros): Mention that there is no space between arguments
6500 * src/libs/libdriver/printer.cc, src/devices/grotty/tty.cc
6501 (*printer::change_color, *printer::change_fill_color): Add missing
6504 2003-04-02 Werner LEMBERG <wl@gnu.org>
6506 * src/devices/grohtml/html-table.cc (html_table::emit_col,
6507 html_table::is_gap): Compute table widths after converting border
6508 positions to avoid rounding errors.
6510 2003-04-01 Werner LEMBERG <wl@gnu.org>
6512 * src/devices/grohtml/html-text.cc (html_text::do_space): Handle
6513 `space_emitted' properly.
6515 2003-03-31 Werner LEMBERG <wl@gnu.org>
6517 * src/devices/grohtml/html-table.cc: Fix column width calculation.
6518 (html_table::set_linelength): Don't add 1.
6519 (html_table::add_indent): Don't subtract 1.
6521 * tmac/html.tmac: Set default page offset to zero.
6523 2003-03-30 Werner LEMBERG <wl@gnu.org>
6525 Make groff emit ` ' for `\ ' and `\~' if `-Thtml' is used.
6527 * src/roff/troff/node.cc (space_char_hmotion_node::tprint,
6528 unbreakable_space_node::tprint): New functions.
6529 (troff_output_file): Make space_char_hmotion_mode::tprint and
6530 unbreakable_space_node::tprint to friends.
6531 * src/roff/troff/node.h: Updated.
6533 * font/devhtml/R.proto: Add ` ' at position 0xA0 (as defined
6534 in the HTML standard).
6536 2003-03-29 Werner LEMBERG <wl@gnu.org>
6538 * src/roff/troff/env.cc (point_size): Fix emission of html tag.
6539 Otherwise, the following code
6548 produces `x a' instead of `xa'. This is a temporary fix, disabling
6549 font changes in diversions for -Thtml.
6551 * tmac/an-old.tmac (TH, SH): Use `HTML-TAG-NS' instead of
6553 (an-do-tag-html): Merge with ...
6554 (an-do-tag): This macro.
6555 Change code slightly to circumvent grohtml bug.
6556 * tmac/troffrc-end: Define dummy for HTML-TAG-NS.
6558 * src/devices/grohtml/html-table.cc (html_table::emit_col,
6559 html_table::is_gap): Round `width' properly.
6561 * tmac/html.tmac: Provide some default layout parameters for
6564 * font/devhtml/DESC.proto: Don't use discrete values for `sizes'
6567 2003-03-28 Werner LEMBERG <wl@gnu.org>
6569 src/devices/grops/ps.cc (ps_printer::do_import): Fix error message.
6571 2003-03-27 Werner LEMBERG <wl@gnu.org>
6573 * tmac/an-old.tmac (BT): Don't call .tl if register `ps4html' is
6576 2003-03-20 Werner LEMBERG <wl@gnu.org>
6578 * src/roff/troff/env.cc (vertical_spacing): Allow zero value for
6580 * doc/groff.texinfo: Updated.
6582 2003-03-19 Werner LEMBERG <wl@gnu.org>
6584 * src/roff/troff/input.cc (process_input_stack) <TOKEN_BEGIN_TRAP,
6585 TOKEN_END_TRAP>: Reset `have_input'.
6587 2003-03-18 Werner LEMBERG <wl@gnu.org>
6589 * src/roff/groff/groff.man: Mention groff_trace man page.
6591 2003-03-16 Werner LEMBERG <wl@gnu.org>
6593 * Makefile.in (LIBEXT): New variable to indicate the file extension
6594 of library files. Computed heuristically from $(OBJEXT).
6595 (MDEFINES): Add $(LIBEXT).
6596 * Makefile.lib, Makefile.comm: Use it.
6598 * src/utils/pfbtops/pfbtops.c (get_text): New function. Split
6599 overlong lines into smaller chunks.
6600 (get_binary): New function.
6602 * src/utils/pfbtops/pfbtops.man: Updated.
6604 2003-03-15 Colin Watson <cjwatson@debian.org>
6606 * src/roff/groff/groff.man: Minor syntax fix.
6608 2003-03-14 Egil Kvaleberg <egil@kvaleberg.no>
6610 * src/devices/grops/ps.cc (ps_printer::media_set,
6611 ps_printer::~ps_printer): Handle zero paper width and length.
6613 2003-03-13 Werner LEMBERG <wl@gnu.org>
6615 Add options -p and -l to grodvi.
6617 * src/devices/grodvi/dvi.cc: Include paper.h.
6618 (landscape_flag, user_paper_length, user_paper_width): New global
6620 (dvi_printer::begin_page): Emit `papersize' special.
6621 Set color after initialization of `cur_h' and `cur_v'.
6622 (main): Add options `-l' and `-p'.
6623 * font/devdvi/Makefile.sub (DESC): Set `papersize'.
6624 * src/devices/grodvi/grodvi.man, NEWS: Updated.
6626 * src/devices/grops/psrm.cc (valid_input_table): Fixed.
6628 2003-03-12 Werner LEMBERG <wl@gnu.org>
6630 * src/devices/grops/grops.man: Move documentation of .PSPIC to...
6631 * man/groff_tmac.man: This man page.
6632 * man/groff_font.man: Declare `paperwidth' and `paperlength' as
6635 * tmac/X.tmac: Don't load pspic.tmac.
6637 2003-03-11 Werner LEMBERG <wl@gnu.org>
6639 Make variable `pr' local to libdriver/input.cc. Based on a patch
6640 by Bernd Warken <bwarken@mayn.de>.
6642 * src/include/driver.h (pr): Removed.
6644 * src/libs/libdriver/input.cc (pr): New global variable.
6645 (do_file): Deallocate `pr'.
6646 * src/libs/libdriver/printer.cc (pr): Removed.
6648 * src/devices/grodvi/dvi.cc (main), src/devices/grohtml/post-html.cc
6649 (main), src/devices/grolbp/lbp.cc (main), src/devices/grolj4/lj4.cc
6650 (main), src/devices/grops/ps.cc (main), src/devices/grotty/tty.cc
6651 (main): Don't delete `pr'.
6653 2003-03-10 Werner LEMBERG <wl@gnu.org>
6655 * tmac/a4.tmac, tmac/composite.tmac: Use `.do'.
6656 * tmac/papersize.tmac: New file.
6657 * tmac/troffrc: Include `papersize.tmac'.
6658 * tmac/Makefile.sub (NORMALFILES): Add `papersize.tmac'.
6659 * tmac/an-old.tmac: Set LT to LL by default.
6661 * NEWS, MANIFEST, tmac/groff_man.man, man/groff_tmac.man,
6662 doc/groff.texinfo: Updated.
6664 * src/libs/libgroff/paper.cc (add_iso_paper): Fix very embarassing
6665 bug which caused all odd iso papers to have wrong dimensions.
6667 * src/devices/grops/ps.cc (user_paper_width): New global variable.
6668 (main) <'p'>: Set `user_paper_width' also.
6669 (ps_printer::media_width, ps_printer::media_height): Use values
6670 given with option `-p'.
6672 2003-03-09 Werner LEMBERG <wl@gnu.org>
6674 * src/include/nonposix.h: Provide default for SET_BINARY.
6676 * src/devices/grodvi/dvi.cc, src/devices/grolbp/lbp.cc,
6677 src/devices/grolj4/lj4.cc, src/devices/grops/ps.cc: Call SET_BINARY
6680 * src/utils/pfbtops/pfbtops.c: Call SET_BINARY unconditionally.
6681 (main): Treat \r\n as \n.
6683 2003-03-08 Werner LEMBERG <wl@gnu.org>
6685 * tmac/an-old.tmac: Use register `HY' to control hyphenation.
6686 * NEWS, tmac/groff_man.man, doc/groff.texinfo: Document it.
6688 2003-03-07 Werner LEMBERG <wl@gnu.org>
6690 Added support to access more than 256 glyphs in Type 1 fonts.
6692 * src/devices/grops/ps.cc (subencoding): New structure.
6693 (style): Add `sub' field.
6695 (ps_printer): Add `subencodings' and `next_subencoding_index' fields.
6696 Add `set_subencoding', `get_subfont' and `encode_subfont' member
6699 (ps_printer::set_char): Use `set_subencoding'.
6700 (make_subencoding_name): New function.
6701 (ps_printer::set_style): Handle case where `sty.sub' is not zero.
6702 (ps_printer::~ps_printer): Emit subencoding definitions.
6704 * src/devices/grops/psrm.cc (valid_input_table): New array to
6705 properly support EBCDIC.
6706 (white_space): Add `\f'.
6707 (ps_get_line): Change first argument to be of type `string &'.
6708 Updated all callers.
6709 This allows to get lines of arbitrary length.
6710 Use `valid_input_table'.
6711 Remove warning about non-conforming PS line length. This seems
6712 not to be of great importance -- for example, dvips don't emit
6714 (PS_LINE_MAX): Removed.
6715 (matches_comment): Change first argument to be of type `string &'.
6717 * src/devices/grops/grops.man, src/devices/grops/TODO: Updated.
6719 * src/utils/afmtodit/afmtodit.pl (%unicode_decomposed,
6720 %AGL_to_unicode, %default_ligatures): New hash tables.
6721 Read all map entries.
6722 Add unencoded characters.
6723 Check for default ligatures if there are no `L' entries.
6724 Print all kern entries.
6725 Print all characters in charset.
6726 * src/utils/afmtodit/afmtodit.man: Updated.
6728 * font/devps/*: Regerated all fonts.
6730 * tmac/latin[129].tmac, tmac/cp1047.tmac: Don't test for existence
6731 of characters, just use `.trin'. Otherwise the mapping depends
6732 on the font encoding.
6733 * tmac/ps.tmac: Add `fi' and `fl'.
6734 Improve `Fi' and `Fl'.
6735 * tmac/X.tmac, tmac/lbp.tmac, tmac/tty.tmac: Improve `Fi' and `Fl'.
6736 * tmac/Xps.tmac: Fix `em'.
6740 2003-03-04 Werner LEMBERG <wl@gnu.org>
6742 * src/roff/troff/input.cc (charinfo_to_node_list): Reset
6745 2003-03-03 Werner LEMBERG <wl@gnu.org>
6747 * Makefile.sub (DISTCLEANFILES): Add gxditview._man.
6749 * font/devps/generate/textmap: Remove entry `similarequal'.
6750 * font/devps/symbolmap: Updated.
6752 2003-03-02 Werner LEMBERG <wl@gnu.org>
6754 * src/libs/libgroff/font.cc (font::load): Fix error message for
6757 * src/devices/grops/grops.man: Improve documentation of the -b
6760 * tmac/tty.tmac: Load latin1.tmac for all TTY devices except
6761 `ascii' and `cp1047'.
6763 2003-03-01 Werner LEMBERG <wl@gnu.org>
6765 Document composite glyphs and the `composite' request.
6767 * man/groff.man, man/groff_diff.man, doc/groff.texinfo: Do it.
6769 2003-02-28 Werner LEMBERG <wl@gnu.org>
6771 * font/devdvi/generate/ec.map: Add some more Unicode entities.
6772 * font/devdvi/*EC: Updated.
6774 * tmac/composite.tmac, tmac/latin2.tmac, tmac/latin9.tmac: New files.
6775 * tmac/latin1 (latin1-tr): Undo any previous mapping.
6776 * tmac/troffrc: Load `composite.tmac'.
6777 * tmac/Makefile.sub (NORMALFILES): Updated.
6779 * doc/groff.texinfo (Input Encodings): New section.
6782 2003-02-27 Werner LEMBERG <wl@gnu.org>
6784 * doc/texinfo.tex: New version 2003-02-11.06.
6786 * tmac/doc-common (Dt): Don't emit warning for unknown section.
6787 * tmac/groff_mdoc.man: Fix description of `Dt'.
6789 2003-02-26 Egil Kvaleberg <egil@kvaleberg.no>
6791 * font/devps/prologue.ps: Fix for included Postscript that does
6792 a setpagedevice -- which is now safely ignored.
6796 * src/devices/grops/ps.cc: Now sets the page size in the generated
6797 document. This is done in two ways: Via a %%-comment for gv and
6798 the like, and via a PageSize and setpagedevice for programs that
6799 understands Postscript proper, like ps2pdf.
6801 * src/devices/grops/ps.h: New broken-flag to avoid page size
6802 definition, if required.
6804 * src/devices/grops/grops.man: New broken-flag 16 mentioned.
6806 * doc/Makefile.in: Added -nosetpage flag (via @pnmtops_nosetpage@).
6807 Not really necessary due to the fix in prologue.ps, but cleaner:
6808 Such information does not belong in an .eps file.
6810 * doc/Makefile.sub: See doc/Makefile.in.
6812 2003-02-26 Ralph Corderoy <ralph@inputplus.co.uk>
6814 * aclocal.m4 (GROFF_PNMTOPS_NOSETPAGE): Use P2 format for testing
6815 instead of P1 since the latter is broken in some versions of netpbm.
6816 * configure: Updated.
6818 2003-02-26 Larry Kollar <kollar@alltel.net>
6820 Make man pages more customizable.
6822 * tmac/an-old.tmac (FT): New register holding footer distance from
6824 (HF): New string holding the default heading font.
6825 (TH): Handle registers `IN' and `SN' set on the command line.
6827 (PT, BT): New strings to customize header and footer lines.
6828 (an-header, an-footer): Use them.
6830 * tmac/groff_man.man: Document changes.
6832 * doc/groff.texinfo: Document man changes.
6833 Document Ultrix extensions of man.
6835 2003-02-26 Werner LEMBERG <wl@gnu.org>
6837 * src/roff/troff/input.cc (do_width, do_if_request): Reset
6838 `have_input' after changing back to old environment.
6840 * src/devices/grolbp/lbp.cc (lbp_printer::set_line_thickness): Move
6841 function up to be defined before first call. This is necessary to
6842 avoid a compilation problem with Sun's WorkShop 6 C++ compiler.
6844 * src/utils/afmtodit/afmtodit.pl: Make script search for files in
6845 the default font directory also. Based on a patch from James
6846 J. Ramsey <jjramsey_6x9eq42@yahoo.com>.
6847 * src/utils/afmtodit/Makefile.sub (afmtodit): Handle @FONTDIR@.
6848 * src/utils/afmtodit/afmtodit.man: Document it.
6852 * tmac/groff_man.man, doc/groff.texinfo: Many minor fixes.
6854 2003-02-25 Gaius Mulley <gaius@glam.ac.uk>
6856 * aclocal.m4 (GROFF_HTML_PROGRAMS): Add test for pnmtops.
6857 (GROFF_PNMTOPS_NOSETPAGE): New macro.
6858 * configure.ac: Use it.
6859 * configure: Regenerated.
6860 * Makefile.in: Updated.
6862 * tmac/Makefile.sub (NORMALFILES): Remove www.tmac.
6863 (CLEANADD): Add www.tmac-sed.
6864 (pnmtops_nosetpage): Define default.
6865 (install_data): Handle www.tmac-sed and substitute
6866 @PNMTOPS_NOSETPAGE@.
6867 (stamp-sed): Add www.tmac.
6868 * tmac/www.tmac: Rewritten, based on a patch by Bernd Warken.
6869 It now breaks URLs at suitable places.
6870 (www:substring_ok): New register set by...
6871 (www:@test_substring): New macro.
6872 (www:error): New alias to www-error.
6873 (www:lenstr, www:splitstr, www:url_breaks, www:url_breaks_splitted):
6875 (URL): Use www:url_breaks.
6876 (PIMG, MPIMG): Use @PNMTOPS_NOSETPAGE@.
6877 (CDS, CDE): New macros.
6879 2003-02-25 Werner LEMBERG <wl@gnu.org>
6881 * src/devices/grops/ps.cc (ps_printer::define_encoding): Avoid
6884 2003-02-24 Werner LEMBERG <wl@gnu.org>
6886 Contrary to the PCL5 Developer's Guide, the ascenders in TFM files
6887 can be negative also.
6889 * src/utils/hpftodit/hpftodit.cc (char_info): `ascent' must be
6891 (read_char_table): Avoid negative ascenders.
6892 (output_charset): Add cast.
6893 * font/devlj4/*: Regenerated.
6895 Replace unnamed glyphs for DVI fonts with `uXXXX' glyph names where
6898 * font/devdvi/generate/{tc,texttt,ec,texmi,texsy,textex}.map: Do it.
6899 * font/devdvi/generate/textex.map: Map glyph 23 to `u21C6' instead
6901 * font/devdvi/*: Regenerated.
6903 Map `la' and `ra' to U+27E8 and U+27E9. These two characters have
6904 normal width, while the previously used characters (U+2329 and
6905 U+232A) are classified as wide due to canonical equivalence with the
6906 CJK punctuation characters U+3008 and U+3009.
6908 * font/devutf8/R.proto: Updated.
6909 * src/roff/troff/uniglyph.cc, src/roff/troff/glyphuni.cc: Ditto.
6911 * man/groff_char.man: Simplify handling of table traps by
6912 introducing `start block' and `end block' macros.
6913 (Ns, Ne, 2s, 2e, Ds, De): New macros.
6914 (DL): Make it work with Unix troff also.
6915 Fix code values of `la' and `ra'.
6917 * tmac/dvi.tmac: Define `<>' for CW and CWI.
6919 2003-02-23 Gaius Mulley <gaius@glam.ac.uk>
6921 * src/devices/grohtml/post-html.cc (element_list::~element_list):
6922 New destructor, fixing a major memory leak.
6924 2003-02-22 Werner LEMBERG <wl@gnu.org>
6926 * font/devhtml/R.proto, font/devutf8/R.proto: Flip `*f' and `+f'
6927 to be in conformance with Unicode 3.0 and newer.
6929 * font/devlj4/generate/text.map: Add `Eu'.
6930 * font/devlj4/generate/special.map: Flip `*e' and `+e'.
6931 * font/devlj4/S: Regenerated.
6933 * man/groff_char.man: Completely rewritten.
6935 * doc/groff.texinfo: Fix description of request and macro arguments.
6937 2003-02-20 Gaius Mulley <gaius@glam.ac.uk>
6941 * src/devices/grohtml/html-table.cc (html_table::~html_table):
6942 Deallocate `columns' list.
6943 * src/devices/grohtml/post-html.cc (char_block::~char_block):
6945 (text_glob::text_glob_html, text_glob::text_glob_special,
6946 text_glob::text_glob_line, text_glob::text_glob_auto_image,
6947 text_glob::text_glob_tag): Avoid memory leaks.
6948 (text_glob::remember_table): Free memory before reassigning.
6950 2003-02-19 Werner LEMBERG <wl@gnu.org>
6952 Add glyph `+e', greek lunate epsilon symbol, and `-h' (with the
6953 alias `hbar'), the Planck constant over two pi.
6955 * font/devdvi/generate/texmi.map: Use `*e' for position 15 and
6956 `+e' for position 34.
6957 * font/devdvi/generate/texsy.map: Replace `DI' and `HE' with
6958 `u2662' and `u2661'.
6959 * font/devdvi/{MI,S}: Regenerated.
6960 * font/devhtml/R.proto, font/devutf8/R.proto: Add `+e', `-h', `hbar'.
6961 * font/devlbp/*: Add `hbar' alias.
6962 * font/devlj4/generate/special.map: Ditto.
6963 * font/devlj4/S: Regenerated.
6964 * font/devps/generate/symbolchars: Add `+e'.
6965 * font/devps/generate/textmap: Fix PS name for `-h'.
6967 * font/devps/symbolmap: Regenerated.
6969 * src/devices/grops/ps.cc (transform_fill): Removed since unused.
6971 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `+e',
6973 * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `+e',
6976 * tmac/X.tmac, tmac/ps.tmac: Provide definitions for `-h' and
6978 * tmac/tty-char.tmac: Add `+e'.
6980 2003-02-17 Werner LEMBERG <wl@gnu.org>
6982 Another round trying to really fix problems with `have_input'.
6984 * src/roff/troff/input.cc (input_stack::get): Handle `have_input'.
6985 (token::next) <'\n'>, <\'\n'>: Don't handle `have_input'.
6987 * src/devices/grotty/tty.cc (tty_printer::put_color): Fix color
6988 handling if both foreground and background colors are default.
6990 * doc/groff.texinfo (Debugging): Document .lf differences to
6993 2003-02-16 Werner LEMBERG <wl@gnu.org>
6995 * src/devices/grotty/tty.cc (tty_printer::make_rgb_string): Avoid
6996 null-bytes in created string.
6998 * src/roff/troff/input.cc (lookup_color, interpolate_macro,
6999 alias_macro, lookup_request): Improve warning messages.
7001 * src/roff/troff/node.cc (suppress_node::tprint): Use `strsave',
7003 Free `last_image_filename'.
7005 * src/preproc/html/pre-html.cc (char_block::char_block): Initialize
7007 (imageList::createPage, imageList::createImage): Use `free', not
7009 (imageItem::~imageItem): Free `imageName'.
7010 (addRegDef): Use `strsave', not `strdup'.
7011 (get_resolution): Free `pathp'.
7013 2003-02-15 Werner LEMBERG <wl@gnu.org>
7015 * src/devices/grotty/tty.cc (tty_printer::tty_printer): Fix pointer
7018 2003-02-14 Werner LEMBERG <wl@gnu.org>
7020 Add memory management for colors to deallocate unnamed colors
7023 * src/include/color.h (color): New members `free_list' and `next'.
7024 New member functions `new' and `delete'.
7026 * src/libs/libgroff/color.cc: Implement it.
7028 * src/libs/libgroff/font.cc (font::add_kern): Use integer cast
7029 for array size of new operator.
7031 * src/libs/libdriver/input.cc (IntArray::operator[]): Remove
7032 redundant comparison.
7034 * src/roff/troff/input.cc (word_space_node::reread,
7035 hmotion_node::reread): Avoid warning about unused parameter.
7036 (reset_output_registers): Remove redundant parameter.
7037 (define_color): Undo change 2003-02-12.
7039 * src/roff/troff/reg.h: Updated.
7041 * src/roff/troff/node.cc (troff_output_file::really_print_line,
7042 output_file::put_filename, real_output_file::really_put_filename,
7043 ascii_output_file::really_print_line,
7044 break_char_node::get_hyphen_list): Avoid warning about unused
7046 (suppress_node::tprint): Updated.
7048 * configure.ac: Check declaration for rand() and srand().
7049 * configure: Regenerated.
7051 * src/preproc/pic/pic.h: Declare fmod(), rand(), and srand()
7053 * src/preproc/pic/pic.y: Remove declaration of fmod(), rand(),
7056 * src/preproc/eqn/delim.cc (delim_table): Add missing initializers
7057 to avoid compiler warnings.
7059 * src/preproc/grn/hgraph.cc (HGPrintElt): Second parameter is
7062 * src/devices/grops/ps.cc (ps_printer::set_char): Last parameter
7064 * src/devices/grops/psrm.cc (skip_possible_newline): Remove first
7066 Updated all callers.
7068 * src/devices/grotty/tty.cc (tty_printer::set_char): Last parameter
7070 * src/devices/grodvi/dvi.cc (dvi_printer::set_char): Ditto.
7071 * src/devices/grolj4/lj4.cc (lj4_printer::set_char): Ditto.
7073 * src/devices/grohtml/post-html.cc (html_printer::emit_line):
7074 Parameter is unused.
7075 (html_printer::add_table_end): Define parameter conditionally.
7076 * src/devices/grohtml/output.cc (simple_output::special): Parameter
7079 * src/devices/grolbp/lbp.cc: Define _GNU_SOURCE conditionally.
7080 (lbp_printer::set_char): Last parameter is unused.
7082 * src/utils/indxbib/indxbib.cc (main): Remove redundant comparison.
7084 2003-02-13 Werner LEMBERG <wl@gnu.org>
7086 New commands \D'Fr ...', \D'Fc ...', etc. for orthogonality.
7087 Make \D'f ...' move horizontally again for backwards compatibility.
7088 Replace it with \D'Fg ...' where appropriate to avoid dependency
7089 on horizontal resolution.
7091 * src/roff/troff/input.cc (do_get_long_name): New function.
7092 (get_long_name): Call it.
7094 (read_draw_node): Handle `\D'Fx ...' by calling ...
7095 (read_color_draw_node): New function.
7097 (read_rgb, read_cmy, read_cmyk, read_gray): New optional argument
7099 Pass it to `do_get_long_name' which is used instead of
7102 * src/libs/libdriver/input.cc (color_from_Df_command): Remove
7103 unnecessary value guard.
7104 (parse_D_command) <'f'>: Add horizontal shift.
7106 * src/preproc/grn/hgraph.cc (HGPrintElt) <POLYGON>: Use \D'Fg ...'.
7107 * src/preproc/pic/troff.cc (troff_output::set_fill): Ditto.
7108 (FILL_MAX): Removed.
7110 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
7113 2003-02-12 Werner LEMBERG <wl@gnu.org>
7115 * src/roff/troff/input.cc (do_name_test, do_expr_test,
7116 do_zero_width): Push `\n' if closing delimiter is missing.
7118 (token::next) <ESCAPE_NEWLINE>, <'\n'>, <\'\n'>: Reset `have_input'.
7119 <'F'>: Make \F non-transparent at the beginning of line.
7120 (process_input_stack) <token::TOKEN_CHAR, token::TOKEN_NEWLINE,
7121 token::TOKEN_REQUEST, token::TOKEN_BEGIN_TRAP>: Don't handle
7124 (define_color): Free color in case of reassignment.
7126 * doc/groff.texinfo (@Defesc, @DefescList, @DefescItem,
7127 @DefescListEnd): Use @Var, not @var.
7130 * src/preproc/grn/hgraph.cc (HGPrintElt): Fix typo.
7132 * src/preproc/pic/object.cc (object_spec::~object_spec): Free
7133 `shaded' and `outlined' arrays.
7134 (object_spec::object_spec): Initialize `shaded' and `outlined'.
7135 (graphic_object::set_fill_color, graphic_object::set_outline_color):
7137 (closed_object::set_fill_color): Ditto.
7138 * src/preproc/pic/troff.cc (troff_output::set_color): Use strsave
7140 (troff_output::reset_color): Use a_delete instead of free.
7141 * src/preproc/pic/main.cc (do_file): Free `out' in case of error.
7143 2003-02-11 Werner LEMBERG <wl@gnu.org>
7145 * doc/groff.texinfo: Improve documentation of `ad'.
7146 Document that \D'f...' is dependent on the horizontal resolution.
7147 * man/groff_diff.man: Improve documentation of \D'f...'.
7149 * src/preproc/grn/hgraph.cc (HGPrintElt) <POLYGON>: Don't emit
7150 compensating \h'...' for \D'f ...' since the latter no longer moves
7152 * src/preproc/pic/troff.cc (troff_output::set_fill): Ditto.
7154 2003-02-10 Werner LEMBERG <wl@gnu.org>
7156 Improve error messages for `x F' (and `F') commands.
7158 * src/include/error.h: Add declaration for
7159 `current_source_filename'.
7160 * src/libs/libgroff/filename.cc: Add `current_source_filename'.
7161 * src/libs/libgroff/error.cc (do_error_with_file_and_line): Add
7162 parameter for source file string.
7163 Updated all callers.
7165 * src/libs/libdriver/input.cc: Add `current_source_filename'.
7166 (remember_source_filename): New function.
7167 (parse_x_command <'F'>, do_file <'F'>): Use it.
7169 2003-02-09 Werner LEMBERG <wl@gnu.org>
7171 Make grotty not emit warnings about unknown colors more than
7174 * src/devices/grotty/tty.cc: Include `ptable.h'.
7175 (TTY_MAX_COLORS): Removed.
7176 (DEFAULT_COLOR_IDX): Defined to -1.
7177 (glyph): Change `back_color_idx' and `fore_color_idx' to `char'.
7178 (tty_printer): Change `curr_back_idx' and `curr_fore_idx' to `char'.
7179 Change `tty_colors' to be a ptable.
7180 First arg of `put_color' is now `char'.
7181 New functions `make_rgb_string' and `tty_color'.
7182 (tty_printer::tty_printer): Use `tty_color'.
7183 (tty_printer::color_to_idx): Return value is now `char'.
7186 * src/include/color.h (color): Add `print_color' member function.
7187 * src/libs/libgroff/color.cc (color::print_color): Implement it.
7189 2003-02-08 Werner LEMBERG <wl@gnu.org>
7193 * src/devices/grops/ps.cc (ps_printer::define_encoding): Close
7196 * src/include/ptable.h (PTABLE::~PTABLE, PTABLE::define): Always
7197 assume that value has been allocated with `new[]', thus use
7198 `a_delete' for deallocation.
7200 * src/libs/libdriver/input.cc (get_integer_arg,
7201 get_possibly_int_args, parse_x_command, do_file): Use `a_delete'
7204 * src/libs/libgroff/new.cc (delete) [!COOKIE_BUG]: Define.
7205 * src/libs/libgroff/nametoindex.cc
7206 (character_indexer::named_char_index): Use `new <type>[1]'.
7208 * src/preproc/eqn/lex.cc (init_table, do_definition): Use `new
7210 * src/preproc/eqn/text.cc (set_special_char_type): Ditto.
7211 (split_text): Use `a_delete'.
7213 * src/preproc/pic/pic.y (define_label, define_variable): Use `new
7216 * src/roff/troff/env.cc (environment::choose_breakpoint): Avoid
7217 harmless memory leak.
7218 (hyphen_trie::read_patterns_file): Initialize `buf'.
7219 * src/roff/troff/node.cc (troff_output_file::troff_output_file):
7220 Initialize `current_fill_color'and `current_glyph_color'.
7221 * src/roff/troff/glyphuni.cc
7222 (glyph_to_unicode_init::glyph_to_unicode_init): Use `new <type>[1]'.
7223 * src/roff/troff/uniuni.cc
7224 (unicode_decompose_init::unicode_decompose_init): Ditto.
7225 * src/roff/troff/uniglyph.cc
7226 (unicode_to_glyph_init::unicode_to_glyph_init): Ditto.
7228 2003-01-26 Werner LEMBERG <wl@gnu.org>
7230 * src/utils/indxbib/indxbib.cc (main) [__EMX__]: Check with
7231 `access' before calling `unlink'.
7232 (do_file): Handle __EMX__.
7234 * src/include/nonposix.h: Handle __EMX__.
7236 * Makefile.in (SEP): New variable; set to @PATH_SEPARATOR@.
7237 (fontpath,tmacpath): Use it.
7239 Sorted alphabetically.
7241 * src/preproc/eqn/neqn.sh, src/roff/nroff/nroff.sh: Use
7243 * src/preproc/eqn/Makefile.sub, src/roff/nroff/Makefile.sub: Handle
7246 2003-01-27 Werner LEMBERG <wl@gnu.org>
7248 * src/libs/libgroff/strcasecmp.c, src/libs/libgroff/strncasecmp.c:
7249 New files, copied from gnulib.
7250 * src/libs/libgroff/Makefile.sub (CSRCS): Add them.
7251 * configure.ac: Updated.
7252 * configure: Regenerated.
7254 * src/include/config.hin: Regenerated.
7255 * src/include/lib.h [!HAVE_STRCASECMP]: Declare `strcasecmp'.
7256 Don't define `strcasecmp' as `strcmp'.
7257 [!HAVE_STRNCASECMP]: Declare `strncasecmp'.
7258 Dont define `strncasecmp' as `strncmp'.
7260 * src/roff/groff/pipeline.c [!HAVE_STRCASECMP, !HAVE_STRNCASECMP]:
7263 2003-01-26 Werner LEMBERG <wl@gnu.org>
7265 * src/utils/indxbib/indxbib.cc (main) [__EMX__]: Fix typo:
7268 2003-01-25 Werner LEMBERG <wl@gnu.org>
7270 * doc/groff.texinfo (Ligatures and Kerning): Mention limitations.
7272 2003-01-24 Werner LEMBERG <wl@gnu.org>
7274 Add US-english hyphenation exceptions (converted from Barbara
7275 Beeton's hyphenation exception log reports which appear irregularly
7278 * tmac/hyphen.us: Updated to latest version.
7279 * tmac/README: Updated.
7280 * tmac/hyphenex.us, tmac/hyphenex.sh: New files.
7281 * tmac/troffrc: Load `hyphenex.us'.
7282 * tmac/Makefile.sub (NORMALFILES): Add `hyphenex.us'.
7283 * doc/groff.texinfo: Updated.
7285 2003-01-23 Werner LEMBERG <wl@gnu.org>
7287 Improve hyphenation slightly. This is a first step in redesigning
7288 the hyphenation algorithm to make it more flexible (e.g. allowing
7289 kerns and ligatures between the hyphenation character and the
7290 following character -- while not used normally in English, other
7291 languages like German would benefit).
7293 * src/roff/troff/env.cc (environment::hyphenate_line): Use
7294 assertion instead of if-clause.
7295 Let `get_hyphen_list' return the number of involved characters in
7296 the hyphenation pattern instead of computing it directly (which
7297 often yields too small values).
7298 * src/roff/troff/node.h (*::get_hyphen_list): Add second parameter.
7299 * src/roff/troff/node.cc (*::get_hyphen_list): Handle new second
7302 2003-01-22 Werner LEMBERG <wl@gnu.org>
7304 Fixing a bug which caused groff to hang if the hyphenation exception
7305 dictionary tried to grow.
7307 * src/roff/troff/env.cc (hyphen_trie::insert_hyphenation,
7308 hyphen_trie::read_patterns_file, do_hyphenation_patterns_file): Use
7309 pointer to dictionary.
7311 2003-01-20 Werner LEMBERG <wl@gnu.org>
7313 * src/utils/afmtodit/afmtodit.pl: Add switch `-m' to suppress
7314 negative left italic correction.
7315 * src/utils/afmtodit/afmtodit.man: Document it.
7317 * font/devps/generate/Makefile (RFLAG): Add `-m'.
7318 * font/devps/{AB,AR,BMB,BMR,CB,CR,EURO,HB,HR,HNB,HNR,NB,NR,PB,PR,
7319 S,TB,TR,ZD,ZDR}: Regenerated with afmtodit options `-i 0 -m'.
7323 2003-01-16 Werner LEMBERG <wl@gnu.org>
7327 2003-01-16 Jörgen Grahn <jgrahn@algonet.se>
7329 * src/preproc/refer/refer.man: Mention REFER environment variable.
7331 2003-01-05 Werner LEMBERG <wl@gnu.org>
7333 Similar to \[is], the square root glyph (\[sr]) and the square root
7334 extension glyph (\[radicalex]) are now text symbols. The new
7335 mathematical versions are called \[sqrt] and \[sqrtex],
7338 * font/devX*/S: Regenerated.
7339 * font/devdvi/generate/texex.map: Rename `sr[0123]' to `sqrt[0123]'.
7340 * font/devdvi/generate/texsy.map: Rename `sr' to `sqrt'.
7341 * font/devdvi/EX, font/devdvi/S: Regenerated.
7342 * font/devhtml/R.proto, font/devutf8/R.proto: Add `sqrt'.
7343 * font/devlj4/generate/special.map: Add `sqrt'.
7344 * font/devlj4/S: Regenerated.
7345 * font/devps/generate/textmap: Add `sqrt'.
7346 * font/devps/S, font/devps/symbolmap: Regenerated.
7348 * src/preproc/eqn/sqrt.cc (SQRT_CHAR, RADICAL_EXTENSION_CHAR,
7349 SQRT_CHAIN, BAR_CHAIN): Use `sqrt*' and `sqrtex*'.
7350 * src/roff/troff/input.cc (init_charset_table): Make `sqrtex'
7351 overlap horizontally.
7353 * tmac/X.tmac, tmac/ps.tmac, tmac/lj4.tmac: Add `sqrtex'.
7354 * tmac/dvi.tmac: Add `sr', and `sqrtex'.
7357 * doc/groff.texinfo, man/groff_diff.man: Document that `radicalex'
7358 and `sqrtex' are overlapping glyphs.
7360 2003-01-04 Werner LEMBERG <wl@gnu.org>
7362 * font/devdvi/generate/texsy.map: Add `is'.
7363 * font/devps/symbolmap: Regenerated.
7364 * font/devdvi/*TC, MI, S: Regenerated.
7366 * tmac/dvi.tmac: Remove `is'.
7368 2003-01-03 Werner LEMBERG <wl@gnu.org>
7370 `is' is now a text symbol (only relevant for dvi). The math variant
7371 can be accessed with `integral'.
7373 * font/devX*/S: Regenerated.
7374 * font/devdvi/generate/texex.map: Remove `is'.
7375 * font/devdvi/EX: Updated.
7376 * font/devhtml/R.proto, font/devutf8/R.proto: Add `integral'.
7377 * font/devlj4/generate/special.map: Ditto.
7378 * font/devlj4/S: Regenerated.
7379 * font/devps/generate/textmap: Add `integral'.
7380 * font/devps/S: Regenerated.
7382 * tmac/dvi.tmac: Define `is'.
7384 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `integral'.
7386 * src/preproc/tbl/main.cc (process_format): Fix error message.
7388 2003-01-02 Werner LEMBERG <wl@gnu.org>
7390 * font/devhtml/R.proto, font/devutf8/R.proto: Add `ne' and `nc'.
7391 * font/devps/textmap: Fix entries for `ne' and `nc'.
7392 * font/devps/symbolmap: Regenerated.
7394 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list),
7395 src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `18',
7396 `38', `58', `78', `-+', `|=', `nc', `ne'.
7398 * tmac/dvi.tmac: Add `nm', `ne', `nc'.
7399 Use `schar' for `aq'.
7400 * tmac/ps.tmac, tmac/X.tmac: Add `nc' and `ne'.
7401 * tmac/ec.tmac: Add `SC' to special fonts for `CW' and `CWI'.
7402 * tmac/tty.tmac: Add `ne'.
7404 * src/roff/troff/node.cc (make_glyph_node): Test with `get_macro'
7405 for fallback glyphs.
7407 2002-12-29 Werner LEMBERG <wl@gnu.org>
7411 * font/devX*/*: Regenerated.
7412 * font/devdvi/generate/ec.map: Remove `eq'.
7413 * font/devdvi/generate/texsy.map: Make `~=' the same as `~~'.
7414 Assign `|=' to position 39.
7415 * font/devdvi/*EC, S: Regenerated.
7416 * font/devhtml/R.proto, font/devutf8/R.proto: Add `|='.
7417 * font/devlj4/generate/special.map: Make `~=' the same as `~~'.
7418 Assign `|=' to position 549.
7419 * font/devps/generate/textmap, font/devps/enerate/symbolmap: Remove
7421 Add `uni2243' for `|='.
7423 * tmac/ec.tmac: Add `eq'.
7424 * tmac/dvi.tmac: Add `=~'.
7425 * tmac/tty-char.tmac, tmac/ps.tmac, tmac/X.tmac, tmac/lbp.tmac: Add
7428 2002-12-21 Werner LEMBERG <wl@gnu.org>
7430 * font/devdvi/generate/tc.map: Remove `**'.
7431 * font/devdvi/*TC: Regenerated.
7432 * font/devhtml/R.proto, font/devutf8/R.proto: Add `18', `38', `58',
7434 * font/devutf8/NOTES: Updated.
7436 * src/roff/troff/charinfo.h (charinfo): Add `setx_macro' function.
7437 Don't give default parameter to `set_macro'.
7438 * src/roff/troff/input.cc (do_define_character): Use `setx_macro'
7439 instead of `set_macro'.
7440 (charinfo::setx_macro): Implement it.
7441 (charinfo::set_macro): Don't change `mode'.
7443 * tmac/tty.tmac: Add `18', `38', `58', `78', `<<', `>>'.
7444 * tmac/ps.tmac, tmac/X.tmac: Add `<<', `>>'.
7445 * tmac/dvi.tmac: Define `!=' with `.schar'.
7447 2002-12-20 Werner LEMBERG <wl@gnu.org>
7449 * font/devX*/S: Regenerated.
7450 * font/devdvi/generate/ec.map: Remove `pl'.
7451 * font/devdvi/generate/tc.map: Remove `mi', `14', `12', `34'.
7452 * font/devdvi/*{TC,EC}: Regenerated.
7453 * font/devhtml/R.proto: Add `-+'.
7454 Remove double entries for `rk', `lk', `lt', `rt', `rb', `lb'.
7455 * font/devlbp/*: Remove `or'.
7456 * font/devlj4/generate/special.map: Remove `or'.
7457 * font/devlj4/S: Regenerated.
7458 * font/devps/generate/textmap: Add `fiveeighths', `oneeighth',
7459 `seveneighths', `threeeighths'.
7461 Replace `minusplus' with `uni2213'.
7462 * font/devps/symbolmap: Regenerated.
7463 * font/devutf8/R.proto: Replace `shc' with unnamed glyph.
7466 * src/roff/troff/charinfo.h (charinfo): Add `is_normal' inline
7468 * src/roff/troff/node.cc (troff_output_file::put_char_width):
7469 Call glyph_color and fill_color even if tcommand_flag isn't set.
7470 (make_node, node::add_char): Check not ci->is_fallback but
7473 * tmac/lj4.tmac, tmac/lbp.tmac: Define `or'.
7474 * tmac/ec.tmac: Add .rchar entry for `f/'.
7475 Don't remove `12', `14', `34'.
7476 Define `pl' to be always roman.
7477 * tmac/ps.tmac (ps-frac, ps-frac-mono): New macros.
7478 Define `18', `38', `58', `78'.
7479 * tmac/tty.tmac: Add `-+'.
7480 * tmac/dvi.tmac: Define `f/'.
7481 (dvi-frac): Use `f/'.
7482 * tmac/X.tmac (X-frac, X-frac-mono): New macros.
7483 Define `18', `38', `58', `78'.
7485 2002-12-15 Colin Watson <cjwatson@debian.org>
7487 * contrib/pic2graph/pic2graph.sh: Add missing `;;'.
7489 2002-12-10 Werner LEMBERG <wl@gnu.org>
7491 Add glyph `tno', a textual variant of `no'.
7493 * font/devX*/*: Regenerated.
7494 * font/{devcp1047,devlatin1,devutf8,devhtml}/R.proto: Add `tno'.
7495 * font/devdvi/generate/{tc.map: Replace `no' with `tno'.
7496 * font/devdvi/generated/{texsy,textex}.map: Add `tno'.
7497 * font/devdvi/*: Regenerated.
7498 * font/devlbp/*: Add `tno'.
7499 * font/devlj4/generate/tex.map: Replace `no' with `tno'.
7500 * font/devlj4/*: Regenerated.
7501 * font/devps/generate/textmap: Replace `no' with `tno'.
7502 * font/devps/generate/symbolchars: Add `no'.
7503 * font/devps/*: Regenerated.
7505 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `tno'.
7507 * tmac/cp1047.tmac, tmac/latin1.tmac: Replace `no' with `tno'.
7508 * tmac/tty-char.tmac: Add entry for `tno' and `3d'.
7512 * tmac/dvi.tmac: Replace most `\\' with `\E'.
7513 Add definition for `sd'.
7514 * tmac/X.tmac, tmac/ps.tmac: Replace most `\\' with `\E'.
7516 * tmac/eqnrc <dvi>: Use `integral' instead of `is' glyph.
7518 2002-12-08 Werner LEMBERG <wl@gnu.org>
7520 * tmac/an-old.tmac (TH): Use integer value for `IN' if in nroff
7521 mode to avoid rounding errors.
7522 (an-do-tag, an-do-tag-html, RS, RE): Remove redundant `.br'.
7524 * src/roff/groff/groff.man, src/roff/nroff/nroff.man,
7525 src/roff/troff/troff.man: Improve documentation of -T.
7527 2002-12-07 Jeff Conrad <jeff_conrad@msn.com>
7529 * src/roff/groff/pipeline.c: Don't define `const' for _WIN32.
7530 (run_pipeline) [_WIN32]: Provide working function without `fork'.
7532 2002-12-06 Werner LEMBERG <wl@gnu.org>
7534 * font/devps/generate/freeeuro.sfd: Make dimensions of Euro.symbol
7535 glyphs compatible to Adobe's Euro fonts (scaling them down a bit).
7536 Scaling Euro.sansserif glyphs down to have the same height as
7538 Removed unnecessary points; added some extrema.
7540 * font/devps/EURO, font/devps/freeeuro.afm, font/devps/freeeuro.pfa:
7543 2002-12-04 Werner LEMBERG <wl@gnu.org>
7545 * font/devps/generate/freeeuro.sfd: Add glyphs `Euro.symbol.slanted'
7546 and `Euro.symbol.bold.slanted'.
7547 Improve some glyph offsets and widths.
7548 * font/devps/EURO, font/devps/freeeuro.afm, font/devps/freeeuro.pfa:
7550 * font/devps/generate/Makefile (freeeuro.afm freeeuro.pfa): Fix
7552 * font/devps/generate/sfdtopfa.pe: Generate PFA in current
7555 * tmac/europs.tmac: Updated to new glyph indices.
7556 Use Euro.symbol for font familiy `A'.
7558 * doc/groff.texinfo: Minor improvements.
7560 2002-12-02 Werner LEMBERG <wl@gnu.org>
7562 * font/devdvi/generate.tc.map: s/%O/%0/.
7563 * font/devdvi/*TC: Regenerated.
7565 * src/roff/troff/div.cc (init_div_requests): Sorted.
7567 * tmac/dvi.tmac: Remove `Ye'.
7568 * tmac/ec.tmac: Remove `Ye'.
7569 Add .rchar entry for `de'.
7571 * man/groff.man, man/groff_diff.man: Document register `.pe'.
7572 * doc/groff.texinfo: Document registers `.pe', `.n', and `.w'.
7575 2002-11-30 Werner LEMBERG <wl@gnu.org>
7577 Add PS font for various Euro glyphs.
7579 * font/devps/generate/freeeuro.sfd: New master font file for
7581 * font/devps/generate/sfdtopfa.pe: New conversion script for
7583 * font/devps/generate/Makefile (FONTS): Add `EURO'.
7584 (EURO, freeeuro.afm, freeeuro.pfa): New rules.
7585 * font/devps/freeeuro.pfa, font/devps/freeeuro.afm: Generated from
7587 * font/devps/EURO: Generated from `freeeuro.afm'.
7588 * font/devps/download: Add `freeuro.pfa'.
7589 * font/devps/Makefile.sub (NORMALFILES): Adde `EURO' and
7592 * tmac/europs.tmac: New file.
7593 * tmac/ps.tmac: Include `europs.tmac'.
7594 * tmac/Makefile.sub (DISTFILES): Add `europs.tmac'.
7596 2002-11-29 Werner LEMBERG <wl@gnu.org>
7598 * font/devdvi/generate/texsy.map: Remove `lh' and `rh'.
7599 * font/devdvi/S: Regenerated.
7600 * font/devhtml/R.proto: Fix `CR' and `ci'.
7602 * font/devps/generate/textmap: Fix `lh', `rh', and `sq'.
7604 * font/devps/symbolmap: Regenerated.
7605 * font/devutf8/R.proto: Fix `CR' and `ci'.
7607 * font/devutf8/NOTES: Updated.
7609 * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Fix `CR' and
7612 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Ditto.
7614 * tmac/dvi.tmac: Add `lh' and `rh'.
7615 * tmac/Xps.tmac: Fix `lh' and `rh'.
7616 * tmac/X.tmac: Add `OK'.
7617 * tmac/lj4.tmac: Ditto.
7619 2002-11-24 Werner LEMBERG <wl@gnu.org>
7621 * font/devX*/S: Regenerated.
7622 * font/devascii/R.proto, font/devcp1047/R.proto: Remove glyphs `lb',
7623 `lc', `lf', `lk', `lt', `rb', `rc', `rf', `rk', and `rt'.
7624 * font/devdvi/generate/texsy.map: Remove `or' glyph.
7625 * font/devdvi/S: Regenerated.
7626 * font/devhtml/R.proto, font/devutf8/R.proto: Add/fix glyphs
7627 `parenlefttp', `parenleftex', `parenleftbt', `parenrighttp',
7628 `parenrightex', `parenrightbt', `bracketlefttp', `bracketleftex',
7629 `bracketleftbt', `bracketrighttp', `bracketrightex',
7630 `bracketrightbt', `bracelefttp', `braceleftmid', `braceleftbt',
7631 `braceex', `braceleftex', `bracerightex', `bracerighttp',
7632 `bracerightmid', `bracerightbt', `lt', `lk', `lb', `rt', `rk',
7634 * src/roff/troff/glyphuni.cc, src/roff/troff/uniglyph.cc: Ditto.
7635 * font/devutf8/NOTES: Updated.
7636 * font/devlj4/generate/special.map: Add glyph `braceex'.
7637 * font/devlj4/S: Regenerated.
7639 * tmac/tty-char.tmac: Add glyphs `lf', `rf', `lc', and `rc'.
7641 2002-11-14 Werner LEMBERG <wl@gnu.org>
7643 * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `va'
7646 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Ditto.
7648 * doc/texinfo.tex: New version from texinfo 4.3.
7649 * doc/groff.texinfo: Updated for texinfo 4.3.
7650 Use @tie{} where appropriate.
7651 * font/devdvi/generate/ec.map: Don't include `or' and `bv'.
7652 * font/devdvi/generate/tc.map: Remove `rn'.
7653 * font/devdvi/*TC, font/devdvi/*EC: Regenerated.
7654 * font/devhtml/R.proto, font/devutf8/R.proto: Add `vA'.
7656 * font/devX100/*, font/devX100-12/*, font/devX75/*,
7657 font/devX75-12/*: Regenerated.
7659 * tmac/dvi.tmac: Add special fonts `SA' and `SB'.
7660 Use .char (again) for `br', `ul', `rn', `or', and `ru'.
7661 Improve definition of `an'.
7662 * tmac/ps.tmac: Use .char (again) for `br', `ul', `rn', `or', and
7664 * tmac/lj4.tmac: Use .char (again) for `br', `ul', `rn', and `ru'.
7665 * tmac/X.tmac: Add definition for `or'.
7666 * tmac/Xps.tmac: Undo change 2002-11-05.
7667 * tmac/lbp.tmac: Add definitions for `br', `rn', `ul', and `ru'.
7669 2002-11-11 Werner LEMBERG <wl@gnu.org>
7671 * src/roff/troff/node.cc (troff_output_file::put_char): Always
7674 2002-11-10 Werner LEMBERG <wl@gnu.org>
7676 Added three new requests `schar', `fschar', and `rfschar'. `schar'
7677 defines a glyph which is searched after the check for fonts declared
7678 with `.special' (and before the check for all mounted special
7679 fonts). `fschar' defines a glyph for a particular font which is
7680 searched after the check for fonts declared with `.fspecial' (and
7681 before the check for fonts declared with `.special'). `rfschar'
7682 removes glyphs defined with `fschar'.
7684 * src/roff/troff/token.h (char_mode): New enum.
7685 Declare do_define_character.
7686 * src/roff/troff/charinfo.h (charinfo): Replace `fallback' with
7688 (charinfo::is_fallback): Updated.
7689 (charinfo::is_special): New method.
7690 * src/roff/troff/input.cc (do_define_character): Add and use
7691 optional second parameter used as a prefix for font-specific glyph
7693 (define_character, define_fallback_character): Updated.
7694 (define_special_character): New function.
7695 (init_input_requests): Add `schar'.
7696 (charinfo::charinfo, charinfo::set_macro): Updated.
7697 * src/roff/troff/node.cc: Include `stringclass.h'.
7698 (make_glyph_node): Handle special glyphs defined with `.schar' and
7700 (define_font_special_character, remove_font_special_character): New
7702 (init_node_requests): Sorted.
7703 Add `fschar' and `rfschar'.
7704 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
7705 Document new requests.
7707 * font/devhtml/R.proto, font/devutf8/R.proto: Add `va'.
7708 * tmac/dvi.tmac: Add `va' for CW and CWI (using `.fschar').
7710 2002-11-08 Werner LEMBERG <wl@gnu.org>
7712 Added new font `SC' (cmtex10) to devdvi.
7714 * devdvi/generate/Makefile (FONTS): Add `SC'.
7716 * devdvi/generate/textex.map: New map file for cmtex.
7718 * devdvi/Makefile.sub (DEVFILES): Updated.
7719 * tmac/dvi.tmac: Add fspecial entries for SC.
7720 Add `MI', `S' and `CW' to the `special' call. Otherwise, `SC' is
7721 found before `S' since the font position of `SC' is lower due to the
7722 gaps in DESC's `font' line.
7723 * tmac/ec.tmac: Add a `special' call.
7726 * font/devhtml/R.proto: Remove double entry for `ti'.
7727 * tmac/tty.tmac: Add entries for `IJ', `ij', and `bq'.
7728 * tmac/tty-char.tmac: Remove entry for `bq'.
7729 * tmac/lbp.tmac: Add entries for `lq', `rq', `fo', `fc', and `em'.
7730 * tmac/ec.tmac: Don't remove `aq' glyph.
7731 * tmac/X.tmac: Fix entry for `em'.
7732 Add entries for `fo' and `fc'.
7733 * tmac/dvi.tmac: Add entries for `em', `en', `hy', `fo', and `fc'.
7735 * doc/groff.texinfo, man/groff.man, man/groff_diff.man: Fix
7736 documentation of `special' and `fspecial' requests.
7738 2002-11-05 Werner LEMBERG <wl@gnu.org>
7740 * font/devascii/R.proto, font/devcp1047/R.proto,
7741 font/devlatin1/R.proto: Remove entry for `.i'.
7742 * font/devdvi/generate/textt.map: Add entry for `ad'.
7743 * font/devdvi/generate/texr.map, font/devdvi/generate/texb.map,
7744 font/devdvi/generate/texi.map: Add dummy glyph name `slash@for@l'.
7745 We need this for getting kerning values to compose `/l' and `/L'.
7746 * font/devdvi: Regenerated font definition files for CM fonts.
7747 * font/devhtml/R.proto: Add entries for "'C", "'c", `IJ', and `ij'.
7748 * font/devutf8/R.proto: Ditto.
7749 Remove double entry for `ti'.
7751 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Fix entries
7752 for (groff) ligatures, `la', and `ra'.
7753 Add "'C", "'c", `IJ', and `ij'.
7754 Remove double entry for `ti'.
7755 * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Remove all
7757 Add "'C", "'c", `IJ', and `ij'.
7758 Fix entries for (groff) ligatures, `la', and `ra'.
7760 * tmac/ps.tmac (ps-achar): New macro.
7761 Define "'c" and "'C".
7762 * tmac/tty.tmac: Add entry for `.i'.
7763 * tmac/X.tmac (X-achar): New macro.
7764 Define "'c", "'C", and `:Y'.
7765 Add entries for `IJ' and `ij'.
7766 * tmac/Xps.tmac (Xps-achar): New macro.
7767 Define "'c" and "'C".
7768 Add entries for `IJ' and `ij'.
7769 * tmac/lbp.tmac (lbp-achar): New macro.
7770 Add fallback characters for all groff ligatures and many other
7772 * tmac/dvi.tmac: Fix definitions of `_' and `ul'.
7773 Add entries for `/l' and `/L'.
7774 Define "'c" and "'C".
7775 Add entries for `IJ' and `ij'.
7777 2002-11-02 Larry Kollar <kollar@alltel.net>
7779 * PROBLEMS: Document how to solve Mac OS X compilation problems.
7781 2002-11-02 Werner LEMBERG <wl@gnu.org>
7783 Adding support for composite glyphs: \[xxx yyy ...] and the
7784 `composite' request.
7786 * src/roff/troff/glyphuni.cc: New file for mapping groff glyph names
7787 to Unicode-based glyph names.
7788 * src/roff/troff/uniglyph.cc: New file for mapping Unicode-based
7789 glyph names to groff glyph names.
7790 * src/roff/troff/uniuni.cc: New file for canonically decomposing
7791 Unicode-based glyph names.
7792 * src/roff/troff/unicode.cc, src/roff/troff/unicode.h: New files
7793 for handling Unicode glyph names.
7794 * src/roff/troff/input.cc: Include unicode.h.
7795 (composite_glyph_name): New function.
7796 (token::next) <'['>: Handle Unicode glyph names and composite
7798 (composite_dictionary): New dictionary for the `composite' request.
7799 (composite_request): Implement `composite' request.
7800 (init_input_requests): Add `composite'.
7801 Alphabetically sorted.
7802 * src/roff/troff/env.cc (tabs_save, tabs_restore): Removed (already
7804 (init_env_requests): Alphabetically sorted.
7805 Removed `tas' and `tar' (already commented out).
7806 * src/roff/troff/Makefile.sub: Updated.
7808 2002-10-31 Ruslan Ermilov <ru@FreeBSD.org>
7810 * src/roff/nroff/nroff.man, src/roff/nroff/nroff.sh: Fix description
7813 2002-10-29 Werner LEMBERG <wl@gnu.org>
7815 Fix computation of .trunc register. Additionally, its value (and
7816 the value of the .ne register) is now always set before entering the
7819 * src/roff/troff/div.cc (diversion::need): Set `truncated_space' and
7820 `needed_space' before calling `space'.
7821 (top_level_diversion::space): Remove special code for 'sp before the
7823 Call `begin_page' with the discarded space as a parameter.
7824 (top_level_diversion::begin_page): Add optional parameter to set
7826 * src/roff/troff/div.h: Updated.
7828 * doc/groff.texinfo: Improve documentation of .sp, \n[.trunc], and
7831 * tmac/an-old.tmac (SH, SS, TP, IP, HP, TS): Undo change 2002-10-26.
7832 (LP): Remove superfluous call to `br'.
7833 * tmac/doc-common (doc-paragraph): Undo change 2002-10-26.
7834 * tmac/doc.tmac (Bd, Bl, doc-set-vertical-and-indent): Ditto.
7836 2002-10-26 Werner LEMBERG <wl@gnu.org>
7838 * tmac/doc-ditroff: Remove useless switch/variable -rC.
7839 (doc-setup-header): Don't set page register `%'.
7840 * tmac/doc-nroff: Remove variable `C'.
7841 (doc-setup-page-layout): Set doc-header-space to .5i unconditionally.
7842 (doc-setup-header): Don't set page register `%'.
7844 * tmac/doc-common (doc-header): Call `ns'.
7845 (doc-paragraph): Protect .sp with .br so that it survives traps
7846 possibly set by the user.
7847 * tmac/doc.tmac (Bd, Bl, doc-set-vertical-and-indent): Ditto.
7849 * tmac/doc*: Replace ' with . for consistency if no effect.
7851 2002-10-26 Werner LEMBERG <wl@gnu.org>
7853 * tmac/an-old.tmac (SH, SS, TP, IP, HP, TS): Protect .sp with .br
7854 so that it survives traps possibly set by the user.
7856 * src/roff/troff/node.cc: Fix the changes from 2002-10-23.
7857 (troff_output_file::set_font): Call flush_tbuf if necessary.
7858 (troff_output_file::fill_color, troff_output_file::glyph_color): Call
7859 flush_tbuf and do_motion only if necessary.
7860 (troff_output_file::start_special,
7861 troff_output_file::put_char_width, troff_output_file::put_char,
7862 troff_output_file::draw): Updated.
7863 (word_space_node::tprint, space_node::tprint, hmotion_node::tprint,
7864 vmotion_node::tprint): Undo change 2002-10-23.
7866 2002-10-25 Werner LEMBERG <wl@gnu.org>
7868 * tmac/www.tmac (DC): Fix case of overlapping images.
7870 2002-10-23 Werner LEMBERG <wl@gnu.org>
7872 * src/roff/troff/node.cc (troff_output_file::fill_color,
7873 troff_output_file::glyph_color): Set current color before testing
7875 (troff_output_file::put_char_width, troff_output_file::put_char,
7876 troff_output_file::draw): Don't call flush_tbuf and/or do_motion
7878 (troff_output_file::file_color, troff_output_file::glyph_color):
7880 (word_space_node::tprint, space_node::tprint, hmotion_node::tprint,
7881 vmotion_node::tprint): Move first, then call fill_color.
7883 2002-10-20 Werner LEMBERG <wl@gnu.org>
7885 * doc/groff.texinfo, man/groff_tmac.man: Document that it is not
7886 possible to use multiple main macro packages.
7888 2002-10-19 Werner LEMBERG <wl@gnu.org>
7890 * src/devices/grops/ps.cc (cmyk_flag): New global variable.
7891 (ps_printer::set_color): Set `cmyk_flag' for CMY and CMYK colors.
7892 (ps_printer::~ps_printer): Emit `%%Extensions: CMYK' if `cmyk_flag'
7894 * font/devps/prologue.ps (Fk, Ck): Enclose definitions with a
7895 `where' construction since `cmyksetcolor' is a PS Level 2 operator.
7897 2002-10-16 Werner LEMBERG <wl@gnu.org>
7899 * NEWS, doc/webpage.ms: Updated.
7901 2002-10-14 Werner LEMBERG <wl@gnu.org>
7903 * src/roff/troff/node.cc (troff_output_file::put_char_width,
7904 troff_output_file::put_char, troff_output_file::fill_color,
7905 troff_output_file::glyph_color): Handle case where color pointer
7908 2002-10-13 Ruslan Ermilov <ru@FreeBSD.org>
7910 Add the new -r option to grotty. It is similar to the -i option
7911 except it tells grotty(1) to use the `reverse video' attribute to
7912 render italic fonts.
7914 * src/devices/grotty/tty.cc (reverse_flag): New global variable.
7915 (SGR_REVERSE, SGR_NO_REVERSE): New macros.
7916 (tty_printer::make_underline, tty_printer::put_color,
7917 tty_printer::end_page): Use it.
7918 (main): Add -r switch.
7920 * src/devices/grotty/grotty.man: Document it.
7922 2002-10-11 Ruslan Ermilov <ru@FreeBSD.org>
7924 * src/roff/troff/env.cc (hyphen_trie::read_patterns_file): Add
7925 cast to `unsigned char' to properly read patterns with 8bit
7928 2002-10-08 Werner LEMBERG <wl@gnu.org>
7930 * REVISION: Increased to 2.
7932 Copyright 2002, 2003, 2004, 2005, 2006, 2007, 2008
7933 Free Software Foundation, Inc.
7935 Copying and distribution of this file, with or without modification,
7936 are permitted in any medium without royalty provided the copyright
7937 notice and this notice are preserved.
7940 version-control: never