1 2008-01-11 Werner LEMBERG <wl@gnu.org>
3 * doc/pic.ms: Mention that compass points of line objects are
6 2008-01-06 Werner LEMBERG <wl@gnu.org>
8 * src/roff/troff/node.cpp (left_italic_corrected_node::add_self):
9 Don't remove itself if there is no glyph associated with the node
10 yet. This happens, for example, in this situation:
17 2008-01-05 Werner LEMBERG <wl@gnu.org>
19 * man/groff_char.man, man/groff.man: Revised.
21 * src/preproc/eqn/lex.cpp (troff_defs): Fix typo.
23 2008-01-04 Werner LEMBERG <wl@gnu.org>
24 * */*: s/Osanna/Ossanna/.
26 * */*.man: Replace .URL with .UR/.UE (except in groff_www.tmac).
27 Replace .MTO with .MT/.ME (except in groff_www.tmac).
28 Insert `\:' in URLs where appropriate.
29 Don't include www.tmac (except in groff_www.tmac).
31 * man/groff.man (.ESC[]): Fix font of closing bracket.
32 (.ESCq): Fix font of closing quote character.
33 Many other improvements.
35 2007-12-30 Bernhard Fisseni <bfi@ikp.uni-bonn.de
37 * src/devices/grohtml/post-html.cc
38 (html_printer::writeHeadMetaStyle): Fix CSS output.
40 2007-12-29 Werner LEMBERG <wl@gnu.org>
42 * tmac/ec.tmac: Add CM fonts to the .fspecial lines; those fonts
43 contain additional glyphs (like some uppercase Greek letters).
45 2007-12-06 Werner LEMBERG <wl@gnu.org>
49 2007-12-06 Colin Watson <cjwatson@debian.org>
51 * src/roff/nroff/nroff.sh: Add options -w and -W.
52 * src/roff/nroff/nroff.man: Document them.
54 2007-12-06 Karl Berry <karl@freefriends.org>
56 * tmac/hyphenex.pl: Update header output.
58 2007-11-29 Werner LEMBERG <wl@gnu.org>
60 * src/devices/grotty/tty.cpp (tty_printer::line): Fix line lengths.
62 2007-11-20 Werner LEMBERG <wl@gnu.org>
64 * doc/pic.ms: Add Heinz-Jürgen's 3d boxes example.
66 2007-11-17 Werner LEMBERG <wl@gnu.org>
68 * src/roff/nroff/nroff.sh: Handle GROFF_TYPESETTER environment
69 variable. Problem reported by Michael G Schwern
72 * src/roff/nroff/nroff.man: Document it.
75 2007-11-17 Heinz-Jürgen Oertel <hj.oertel@t-online.de>
77 * src/groff/preproc/pic/lex.cpp (table): Add box attributes
78 `xslanted' and `yslanted'.
80 * src/groff/preproc/pic/object.cpp (object_spec::object_spec):
81 Initialize `xslanted' and `yslanted'.
82 (graphic_object): Add methods `set_xlanted' and `set_yslanted'.
83 (closed_object): Ditto.
84 Add members `xslanted' and `yslanted'.
85 (box_object::print): Use them.
86 (object_spec::make_object): Handle slant values.
87 * src/groff/preproc/pic/object.h (IS_XSLANTED, IS_YSLANTED): New
89 (object_spec): Add members `xslanted' and `yslanted'.
90 * src/groff/preproc/pic/pic.y (XSLANTED, YSLANTED): New left-valued
94 * src/groff/preproc/pic/pic.man, NEWS, doc/pic.ms: Document above
97 2007-11-16 Werner LEMBERG <wl@gnu.org>
99 * tmac/hyphenex.pl: Generate copyright notice (this has been
100 approved by Barbara Beeton).
101 * tmac/hyphenex.us: Updated.
103 2007-11-10 Michail Vidiassov <master@iaas.msu.ru>
105 * tmac/doc-syms (doc-str-St--susv3): New string.
106 * tmac/groff_mdoc.man: Document it.
108 2007-11-08 Werner LEMBERG <wl@gnu.org>
110 * src/preproc/preconv/preconv.cpp (emacs_to_mime): Add `utf-16be'
111 `utf-16le', `utf-16be-with-signature', `utf-16le-with-signature'.
112 (is_comment_line): Handle '\" and '\# also.
114 * src/preproc/preconv/preconv.man: Revise and make complete.
116 2007-10-25 Werner LEMBERG <wl@gnu.org>
118 * tmac/cs.tmac: New file holding Czech strings, contributed by
119 Marcela Maslanova <mmaslano@redhat.com>.
120 * tmac/hyphen.cs, tmac/hyphenex.cs: New hyphenation pattern files
121 for Czech, taken from CTAN.
123 * tmac/Makefile (NORMALFILES): Add Czech stuff.
124 * doc/groff_tmac.man: Mention cs.tmac.
126 2007-10-21 Werner LEMBERG <wl@gnu.org>
128 * src/roff/troff/input.cpp (do_ps_file): Handle `%X' in header
129 comments correctly. Reported by Frank Jahnke
130 <jahnke@sonatabio.com>.
132 2007-10-02 Ruslan Ermilov <ru@FreeBSD.org>
134 * tmac/doc-common, tmac/groff_doc.man: Add FreeBSD 6.2, document
137 * tmac/doc-syms: Give better names for System V releases.
139 2007-09-25 Gaius Mulley <gaius@glam.ac.uk>
141 * doc/Makefile.in, doc/Makefile.sub (.ms.html): Add -P-V switch to
142 the production of html files.
144 Remove background colour switch.
145 (.SUFFIXES, clean): Handle *.xhtml files.
147 * src/devices/grohtml/grohtml.man: Document that -V option now
148 generates an HTML-4.01 validator or XHTML validator.
150 * src/devices/grohtml/html-text.cpp (html_text::end_tag,
151 html_text::start_tag): Suppress <small>, <big>, and <color> tags if
152 we are inside a <pre> block.
154 * src/devices/grohtml/post-html.cpp
155 (html_printer::handle_valid_flag): Add a parameter to indicate
156 whether it needs to generate a paragraph block.
157 (html_printer::write_navigation): Updated.
158 (html_printer::do_file_components): Generate an HTML-4.01 blue
159 validator button also.
161 2007-09-23 Axel Kielhorn <A.Kielhorn@web.de>
163 * man/groff.man: Fix URL of CSTR 54.
165 2007-09-23 Werner LEMBERG <wl@gnu.org>
167 * man/groff_char.man: Normalize character set names as defined
168 by IANA. Based on a patch from Axel Kielhorn.
170 * src/preproc/refer/label.y: Undo change from 2007-09-19.
172 2007-09-19 Werner LEMBERG <wl@gnu.org>
174 * src/roff/troff/input.cpp (interpolate_arg): Remove compiler
177 * src/preproc/eqn/pile.cpp (pile_box::output, matrix_box::output):
178 Remove compiler warning.
180 * src/preproc/refer/label.y: Remove compiler warning.
182 * src/preproc/pic/pic.y: Remove doubled token entries.
184 2007-09-19 Gaius Mulley <gaius@glam.ac.uk>
186 * doc/groff.texinfo: Document new .O register and add cross
191 * src/devices/grohtml/grohtml.man: Document new -V and -y options.
193 * src/devices/grohtml/html-table.cpp: Add support for XHTML 1.1.
194 (html_table:: emit_colspan, html_table::emit_td): New methods.
195 (html_table::emit_col): Use html_table::emit_td.
196 (html_table::emit_table_header): Use html_table::emit_colspan if
197 dialect xhtml is specified.
198 (html_table::finish_row): Updated.
200 * src/devices/grohtml/html-table.h (html_table): Declare
201 emit_colspan, emit_td.
203 * src/devices/grohtml/html-text.cpp: Modified tags to comply with
204 xhtml if this dialect was requested.
206 * src/devices/grohtml/html-text.h (html_dialect): New enumeration.
207 (html_text): Add new variable `dialect'.
209 * src/devices/grohtml/post-html.cpp: Modify header tags to be XHTML
211 (valid_flag, groff_sig, dialect): New global variables.
212 (html_printer::handle_valid_flag, html_printer::do_math,
213 html_printer::write_html_anchor, html_printer::write_xhtml_anchor,
214 html_printer::do_math, html_printer::handle_valid_flag): New
216 (html_printer::emit_line, html_printer::emit_raw,
217 html_printer::do_check_center, html_printer::write_title,
218 write_rule, html_printer::writeHeadMetaStyle, generate_img_src,
219 html_printer::begin_page): Altered to be XHTML compliant.
220 (html_printer::write_header): Updated.
221 (html_printer::troff_tag): Call do_math.
222 (html_printer::insert_split_file, html_printer::do_file_components,
223 html_printer::write_navigation): Create XHTML file components if
224 necessary and also produces a groff signature if requested.
225 (~html_printer): Call writeHeadMetaStyle at appropriate places
226 depending upon html_dialect.
227 (html_printer::special): Handle new tags `html<?p>' and `math<?p>'.
228 (main): Added options -x, -V, and -y.
231 * src/preproc/eqn/box.cpp: Create a distinction between
232 the MathML device and the XHTML device.
233 (do_text): Issue a newline at the end of the equation if XHTML was
235 (box::top_level): Prefix the output of an equation by the .MATHML
237 (output_string): Suppress \n if XHTML was specified.
239 * src/preproc/eqn/main.cpp (xhtml): New global flag.
240 (inline_equation): Skip leading spaces after inline equation for
242 (main): Set `xhtml' flag if `-Tmathml:xhtml' is specified.
244 * src/preproc/eqn/eqn.h (xhtml): New external flag.
246 * src/preproc/eqn/text.cpp (entity_table): Fix typo.
248 * src/preproc/html/pre-html.cpp (html_dialect): New enumeration.
249 (dialect, eqn_flag): New global variables.
250 (html_system): Improve debugging support.
251 (alterDeviceTo): Test for -Txhtml when altering device to the image
252 device and reset to -Txhtml.
253 (addZ): Renamed to...
255 Introducea a general parameter.
256 (print_args): New debugging function.
257 (char_buffer::run_output_filter): Use print_args and addArg rather
259 (char_buffer::do_html, char_buffer::do_image): Add -rxhtml=1 command
260 line parameter as an argument to the html generation of text when
261 xhtml is needed. Include -e on the command line if mathml is
263 (scanArguments): Allow -e, -V, -y and -x options.
264 -V, -y are handled by the back end. -e sets `eqn_flag'.
265 -x determines HTML dialect.
267 * src/roff/groff/groff.cpp (possible_command): New method
269 (main): Set eflag if -e is present on command line.
270 Set is_xhtml if -Txhtml is present.
271 Pass `-x x' to the HTML pre and post processors.
272 Pass `-e' to the HTML pre processor if required.
273 Pass `-Tmathml:xhtml' to eqn if XHTML is requested.
275 * src/roff/troff/input.cpp (init_input_requests): Introduce new
276 number register `\n[.O]'.
278 * tmac/s.tmac: (LP): Use .nop for semantic sugar.
279 (cov*ab-init) reformat.
280 (@EQ): Use EQN-HTML-IMAGE and friends rather than HTML-IMAGE.
281 (CHECK-FOOTER-AND-KEEP): Define FS, FE such that they use
282 <cite></cite> for the html device rather than generate images for
285 * tmac/troffrc-end: Define EQN-HTML-IMAGE,
286 EQN-HTML-IMAGE-END, EQN-HTML-IMAGE-RIGHT,
287 EQN-HTML-IMAGE-LEFT, EQN-HTML-IMAGE-INLINE,
288 EQN-HTML-DO-IMAGE, EQN-HTML-IMAGE-END as null strings.
290 * tmac/www.tmac: (HTML<?p>): New macro.
291 (MATH<?p>): New macro.
292 (IMG, PIMG, MPIMG, HR): Use XHTML compliant syntax.
293 (www-emit-ltag): New macro.
294 (www-push-li): Updated.
295 (ULS): Ensure that tags are balanced in order by use of
297 (ULE): Likewise: Use www-emit-ltag and shut down paragraphs in
299 (OLS, OLE, DLS, DLE): Ditto.
300 <global>: Define EQ and EN to EQN-HTML-IMAGE and EQN-HTML-IMAGE-END
302 (www-li-ul, www-li-ol, www-li-dl): Updated.
303 (EQN-HTML-IMAGE, EQN-HTML-IMAGE-RIGHT, EQN-HTML-IMAGE-LEFT,
304 EQN-HTML-IMAGE-INLINE, EQN-HTML-DO-IMAGE, EQN-HTML-IMAGE-END,
307 2007-09-17 Werner LEMBERG <wl@gnu.org>
309 * man/groff_font.man: Document `unicode' keyword.
310 * doc/groff.texinfo (DESC File Format): Synchronize with
313 2007-09-15 Werner LEMBERG <wl@nu.org>
315 * man/groff.man: Document `\_'.
316 * doc/groff.texinfo: Ditto.
317 Remove references to `\@' which isn't a valid escape sequence in
321 * tmac/unicode.tmac: Add ` and '.
322 * tmac/html.tmac: Load unicode.tmac.
324 2007-09-14 Werner LEMBERG <wl@gnu.org>
326 * tmac/unicode.tmac: Make `-' a pure input character by mapping it
329 * src/roff/troff/input.cpp (init_charset_table): Handle `hy'.
331 2007-09-11 Werner LEMBERG <wl@gnu.org>
333 * src/libs/libgroff/string.cpp (string::remove_spaces): Fix memory
336 * src/preproc/tbl/table.cpp (table::allocate): Initialize
339 2007-09-10 Keith Marshall <keith.d.marshall@ntlworld.com>
341 * README.MinGW: Add warnings about use of MSYS-RXVT, and about
342 defective GnuWin32 versions of netpbm/libpng.
344 2007-07-15 Keith Marshall <keith.d.marshall@ntlworld.com>
346 * tmac/s.tmac (cov*first-page-init): Remove invoking trap, to avoid
349 2007-07-11 Werner LEMBERG <wl@gnu.org>
351 * gendef.sh: Add shebang.
353 2007-07-05 Werner LEMBERG <wl@gnu.org>
355 * tmac/papersize.tmac: Fix dimensions of executive paper format.
356 Reported by John Rupley <rupley@u.arizona.edu>.
358 2007-07-02 Keith Marshall <keith.d.marshall@ntlworld.com>
360 * tmac/s.tmac (cov*first-page-init): Emit error message if not in
361 top-level environment.
363 2007-06-12 Werner LEMBERG <wl@gnu.org>
365 * src/devices/xditview/TODO, NEWS: Updated.
366 * src/devices/xditview/Makefile.sub (install_data, uninstall_sub):
367 Handle `GXditview-color'.
368 * src/devices/xditview/gxditview.man: Updated.
370 * m4/groff.m4 (GROFF_APPRESDIR_CHECK): Updated.
371 * m4/codeset.m4, m4/glibc21.m4, m4/iconv.m4, m4/lib-link.m4: Updated
372 from `gnulib' git repository.
374 * configure.ac: Updated.
375 * configure: Regenerated (using autoconf 2.61).
377 * config.guess, config.sub: Updated from `config' CVS repository.
378 * config.rpath, install-sh, mkinstalldirs: Updated from `gnulib' git
381 2007-06-12 Tadziu Hoffmann <hoffmann@usm.uni-muenchen.de>
383 * src/devices/xditview/GXditview.ad: Split off color definitions
385 * src/devices/xditview/GXditview-color.ad: This new file.
387 2007-06-08 Fabrice Ménard <menard.fabrice@wanadoo.fr>.
389 * tmac/fr.tmac: Handle chapter system for `me'.
391 2007-06-05 Tadziu Hoffmann <hoffmann@usm.uni-muenchen.de>
393 * src/devices/xditview/xditview.c (main): Add support for
396 * src/devices/xditview/GXditview.ad: Updated.
397 Make widget more colourful.
399 2007-05-30 Werner LEMBERG <wl@gnu.org>
401 * tmac/groff_mdoc.man: Convert `-' to `\-' where appropriate.
402 Recommend `tbl' instead of `-column' lists for more complicated
405 2007-05-21 Werner LEMBERG <wl@gnu.org>
407 * src/devices/grops/ps.cpp (ps_printer::set_char): Handle subfonts
410 2007-04-10 Werner LEMBERG <wl@gnu.org>
412 In pic, make rounded boxes work with colors. Reported by Urs Eggli
413 <Urs.Eggli@zuerich.ch>.
415 * src/preproc/pic/common.h (common_output), src/preproc/pix/output.h
416 (output): Add color parameter to `rounded_box' member function.
418 * src/preproc/pic/common.cpp (common_output::rounded_box): Use it.
420 * src/preproc/pic/object.cpp (box_object::print): Pass `color_fill'
421 to `out->rounded_box'.
423 2007-04-09 Michail Vidiassov <master@iaas.msu.ru>
425 * font/devps/generate/textmap: Add Greek letters and some more.
427 * src/utils/afmtodit/afmtodit.tables: Change values of `Delta',
428 `Omega', and `mu' to the ones from aglfn.txt.
430 2007-04-08 Keith Marshall <keith.d.marshall@ntlworld.com>
432 * tmac/s.tmac (SN): Define unconditionally.
433 (SN-STYLE): New string; define.
435 * NEWS, tmac/groff_ms.man, doc/groff.texinfo (SN-STYLE): Document it.
437 2007-03-22 Werner LEMBERG <wl@gnu.org>
439 * tmac/pspic.tmac: Fix harmless numeric overflow warning. Reported
440 by Jörg van den Hoff <j.van_den_hoff@fzd.de>.
442 2007-03-20 Werner LEMBERG <wl@gnu.org>
444 * tmac/trace.tmac (rn): Added.
445 (nr, ds, ds1, as, as1, substring): Restore escape character while
447 (nr): Remove dead code.
449 * src/preproc/eqn/box.cpp (box::top_level): Use \E in string
450 definitions to make them traceable.
452 2007-03-19 Werner LEMBERG <wl@gnu.org>
454 * src/roff/troff/input.cpp (get_copy): Add third argument to control
455 whether \E shall be expanded.
456 (get_char_for_escape_name): Allow \E.
458 2007-03-15 Werner LEMBERG <wl@gnu.org>
460 * tmac/s.tmac (MO, CH, pg*OH, pg*EH, pg*OF, pg*EF, *, [., .],
461 par*define-font-macro, \[hooko]): Use \E to make it traceable.
463 (ref*field): Add argument to control the space between previous and
466 (ref*add-N): Fix handling of opening parenthesis. Problem reported
467 by Jörg van den Hoff <j.van_den_hoff@fzd.de>.
469 2007-03-14 Werner LEMBERG <wl@gnu.org>
471 * tmac/trace.tmac (als): Added.
472 (de, de1, am, am1): Make traced macros aliased with .als work.
474 2007-02-25 Werner LEMBERG <wl@gnu.org>
476 * src/devices/xditview/TODO: Add some more items.
478 * Makefile.comm (.man.n): Add @APPRESDIR@.
481 * src/devices/xditview/gxditview.man: Document GXditview resource
483 Other documentation enhancements based on a patch from Jörg.
485 2007-02-25 Tadziu Hoffmann <hoffmann@usm.uni-muenchen.de>
486 Joerg van den Hoff <j.van_den_hoff@fzd.de>
488 * src/devices/xditview/GXditview.ad: Make all keys work regardless
489 of the current mouse position.
491 2007-02-20 Werner LEMBERG <wl@gnu.org>
493 * tmac/groff_man.man: Revised to improve visual appearance.
494 Reduce use of future tense.
496 * tmac/groff_trace.man: Revosed to improve visual appearance.
498 2007-02-19 Eric S. Raymond <esr@snark.thyrsus.com>
500 Make groff.man viewer-portable.
502 * tmac/groff.man: Eliminate use of .eo/.ec.
503 (.REQ): Surround args 2 through N with quotes. This will enable us
504 not to rely on the shift request, which is nonportable.
505 (ExecFF): Remove. The code is simpler without it.
507 2007-02-18 Eric S. Raymond <esr@snark.thyrsus.com>
509 * tmac/groff_www.man: Viewer-portability fixes.
511 2007-02-16 Eric S. Raymond <esr@snark.thyrsus.com>
513 * man/groff.man: Remove some unneeded code and a no-longer-used
514 inclusion of the www macros.
516 2007-02-12 Werner LEMBERG <wl@gnu.org>
518 * src/preproc/tbl/table.cpp (compute_span_width): Fix use of
520 (table::compute_widths): Simplify.
522 2007-02-11 Werner LEMBERG <wl@gnu.org>
524 * src/preproc/tbl/table.h: Don't include `stdbool.h'.
525 (table): Replace `bool' type with `char' for orthogonality.
528 * src/preproc/tbl/table.cpp (block_entry::do_divert): Fix usage of
529 AVAILABLE_REG and COLCOUNT_REG.
530 (table::table): Fix order call of initializers.
531 (table::~table): Deallocate `blockflag'.
533 2007-02-09 Eric S. Raymond <esr@snark.thyrsus.com>
535 A try at the new rule for block column allocation is now enabled by
536 the new `experimental' global option: The horizontal space up to the
537 right margin which is not used by columns without text blocks is
538 evenly distributed to the columns with text blocks.
540 It doesn't work right as yet; there appears to be some error in the
541 computation of `3avail', the available line length. The purpose of
542 this patch is (a) to make experimenting with other formulas easy,
543 and (b) leave the infrastructure for flag `experimental' in place
544 for future experiments. Do not document any behavior associated
547 * src/preproc/tbl/table.h: Include `stdbool.h'.
548 (table): Make `flags' public.
549 Add `count_block_columns' function.
550 Add `blockflag' array.
551 Add `EXPERIMENTAL' enumeration value.
553 * src/preproc/tbl/table.cpp (AVAILABLE_REG, COLCOUNT_REG): New
555 (table_entry): New member `parent' so that class and subclass
556 members can set a parent field. Update all users.
557 (block_entry::do_divert): Handle `EXPERIMENTAL' flag.
558 (block_entry::do_width): Set the parent's `blockflag'.
559 (table::allocate): Handle `blockflag'.
560 (table::count_block_columns): New function.
561 (compute_span_width): Adjust AVAILABLE_REG.
562 (table::compute_widths): Handle COLCOUNT_REG and AVAILABLE_REG.
564 * src/preproc/tbl/main.cpp (process_options): Handle `experimental'
567 2007-02-08 Zhao, Yu (William) <yzhao2@alcatel-lucent.com>
569 * src/devices/grodvi/dvi.cpp (draw_dvi_printer::draw) <'e'>: Set
572 2007-02-08 Werner LEMBERG <wl@gnu.org>
574 * man/groff_out.man (offset): Make it work reliably.
576 2007-02-07 Eric S. Raymond <esr@snark.thyrsus.com>
578 * man/groff_out.man: Simplify some font changes so \fP is less
579 likely to do something surprising.
581 * man/groff_out.man: We can simplify the command macros still
582 further if we stop trying to hide structural requests inside them.
583 Also, fix some instances of \} at start of line without a dot, and
584 make some font changes explicit in strings.
586 * man/groff_out.man: Cleanup -- remove now-unneeded uses of .do and
589 * man/groff_out.man: Final step: Reduce x-command, get rid of eo/ec
590 calls and fix macros to do without them. File should now be
593 * man/groff_out.man: Fourth step: Eliminate use of eqn in favor of
594 micromotions that produce the same visual result and can be lifted
597 * man/groff_out.man: Third step: Reduce Da-comand, fix a
598 call-sequence bug in the original.
600 * man/groff_out.man: Second step: Reduce D-commmand and D-command+,
601 move font-change escapes to portable form.
603 * man/groff_out.man: First step in macro simplification; eliminate
604 list1..n, simplify .offset and .index_offset so they no longer
605 require groff-specific features or eqn (instead, use troff
606 micromotions for subscripting).
608 2007-02-06 Eric S. Raymond <esr@snark.thyrsus.com>
610 * src/preproc/eqn/eqn.man: Minor corrections.
612 * tmac/an-ext.tmac: Change .UR/.UE and .MT/.ME so the start macro no
613 longer takes a second argument that is pasted to the end of the
614 generated text. Instead, the end macro takes an argument that does
617 * man/ditroff.man, man/groff_diff.man, man/groff.man,
618 man/groff_out.man, man/groff_tmac.man, man/roff.man,
619 src/roff/groff/groff.man, src/roff/grog/grog.man,
620 tmac/groff_man.man, tmac/groff_trace.man: Update accordingly.
622 * src/roff/troff/troff.man: .SY and .YS are canned macros now,
623 so we can use them here.
625 2007-02-05 Eric S. Raymond <esr@snark.thyrsus.com>
627 * src/preproc/eqn/lex.cpp, src/preproc/eqn/eqn.man:
628 By popular demand, make ... set three lower dots again
629 and introduce a new predefined macro 'cdots' to set
632 2007-02-05 Werner LEMBERG <wl@gnu.org>
634 * src/preproc/eqn/eqn.man: Revised.
636 * src/preproc/eqn/text.cpp (map, special_char_boc::output): Use
638 (spacing_type): Fix typo.
639 (special_to_entity): Use `const'.
640 Remove unused variable.
641 * src/preproc/eqn/other.cpp (font_box::output): Use `const'.
643 2007-02-05 Eric S. Raymond <esr@snark.thyrsus.com>
645 * src/devices/grotty/grotty.man: \m[] and \M[] aren't portable,
646 which is a shame as the effect was cute.
648 2007-02-04 Eric S. Raymond <esr@snark.thyrsus.com>
650 * man/groff_tmac.man, man/groff_diff.man: Portability conversion;
651 rip out over-elaborate macrology, use .EX/.EE and .UR/.UE where
652 possible, remove preamble declarations and macros that are no
653 longer needed. Conversion checked using the protocol described in
656 2007-02-03 Werner LEMBERG <wl@gnu.org>
658 * tmac/an-old.tmac (LP, IP, HP): Use .ns to suppress additional
661 2007-02-03 Eric S. Raymond <esr@snark.thyrsus.com>
663 * tmac/groff_man.man: Documented the extension macros, and
664 added portability advice.
666 * MORE.STUFF: More-stuff entries for doclifter and pic2plot.
669 Add support for MathML output to eqn.
671 The strategy used is very simple and relies on the fact that the box
672 models of eqn and Presentation MathML differ in only trivial ways.
673 It leaves the grammar and existing internal object structures
674 unchanged. A new global, `output_format', is defined as an
675 enumerated type with values {troff, mathml}. Most of the functions
676 and methods that emit actual output acquire a top-level conditional,
677 dispatching on this global, which has one arm for troff mode and one
678 for MathML mode. In most cases the MathML arm is drastically
681 (This strategy could be easily generalized to support other output
682 formats. TeX is a possibility that leaps to mind.)
684 The only even moderately tricky changes are in the lexer. Some of
685 the predefined macros used constructs like `up', `down', `fwd',
686 `back', and `vcenter' that have no equivalents in MathML. I
687 attacked this problem in these ways:
689 1. I eliminated three uses of `back' to compose characters in favor
690 of using equivalent groff specials `\(<<', `\(>>', and `\(<>'
691 that did not exist when these macros were written. (This will be
692 a quality improvement for troff users.)
694 2. I eliminated one use of `vcenter' by using \\(md. (Likewise...)
696 3. I then split the table of pre-definitions in three; one large
697 common table and two small troff-specific and MathML-specific
698 tables. Use of troff-only operations (up, down, back, fwd,
699 vcenter) is now confined to the former. The latter now uses
700 `size big' and drops out the explicit positioning operations,
701 counting on MathML processors to do them.
703 POTENTIAL TROUBLE SPOTS:
705 Here are notes for reviewers on places I'm not 100% sure I've done
708 * In the process of preparing the troff table, I translated three
709 definitions (dot_def, dotdot_def, and utilde def) that previously
710 used explicit \v escapes to use `up' and `down' instead. I
711 modeled the new definitions on the way `vec' and `dyad' work, but
712 it's possible I got something subtle wrong.
714 * I'm not certain the MathML implementation of font_box::output() is
715 right, because I don't quite get what the switcheroo between
716 `current_roman_font' and `old_roman_font' is supposed to
717 accomplish. It does seem to generare good MathML, though.
719 Finally, I made one purely cosmetic change in `text.cpp'; I replaced
720 with an enum some magic numbers for spacing types that I thought
721 were too ugly to live.
725 The entirety of eqn is translated when `-TMathML' is specified,
726 with the following exceptions...
728 Limitations that cannot be fixed include non-support for special,
729 up/down/fwd/back, and vcenter.
731 Limitations that might be fixable include non-support for mark and
732 lineup. I will investigate further, but if these can be implemented
733 at all it's going to be in a very complicated and nasty way.
735 The way character boxes are output means that each digit of a
736 multi-digit number gets its own <mn></mn> tag pair in the MathHTML.
737 While this is not technically wrong for Presentation MathML, it is
738 ugly and inefficient. Fixing this will require implementing a
739 little state machine in the `text.cpp' output method.
741 * src/preproc/eqn/box.cpp, src/preproc/eqn/delim.cpp,
742 src/preproc/eqn/eqn.h, src/preproc/eqn/eqn.man,
743 src/preproc/eqn/lex.cpp, src/preproc/eqn/limit.cpp,
744 src/preproc/eqn/list.cpp, src/preproc/eqn/main.cpp,
745 src/preproc/eqn/other.cpp, src/preproc/eqn/over.cpp,
746 src/preproc/eqn/pile.cpp, src/preproc/eqn/script.cpp,
747 src/preproc/eqn/sqrt.cpp, src/preproc/eqn/text.cpp,
748 src/preproc/eqn/eqn.man: MathML output mode.
752 2007-02-02 Eric S. Raymond <esr@snark.thyrsus.com>
754 * src/roff/groff/groff.man: Converted to use .SY/.OP/.YS
755 and for cross-viewer portability. Conversion checked
756 using the protocol described in tmac/TESTING-HINTS.
758 2007-02-02 Werner LEMBERG <wl@gnu.org>
760 * tmac/an-ext.tmac (ME): Don't use `\:'.
762 * src/roff/grog/grog.man: Further refinements and normalizations.
764 2007-02-02 Eric S. Raymond <esr@snark.thyrsus.com>
766 * src/roff/grog/grog.man: Converted to use .SY/.OP/.YS and for
767 cross-viewer portability. Conversion checked using the protocol
768 described in tmac/TESTING-HINTS.
770 2007-02-01 Eric S. Raymond <esr@thyrsus.com>
772 * tmac/TESTING-HINTS: Added.
774 2007-02-01 Eric S. Raymond <esr@thyrsus.com>
776 Enable the support for Bell archaisms on .SC, so the `-r bell'
777 switch is no longer needed to format old AT&T papers like
780 * tmac/s.tmac (.SC, .UC, .P1, .P2): Updated.
782 * tmac/groff_ms.man, doc/groff.texinfo, NEWS: Updated.
784 2007-02-01 Eric S. Raymond <esr@thyrsus.com>
786 Add some Bell labs extensions to the -ms macros.
788 * tmac/s.tmac (.SC, .UC, .P1, .P2) [bell]: New macros.
790 * tmac/groff_ms.man, doc/groff.texinfo, NEWS: Document `-r bell'.
792 2007-01-30 Werner LEMBERG <wl@gnu.org>
794 * tmac/an-ext.tmac (\n[EX]): Rename to \n[mX].
795 (\n[mH]): New register (set if grohtml is used).
796 (\n[SY]): Rename to \n[mS].
797 (\n[a]): Rename to \n[mA].
798 (\n[i]): Rename to \n[mI].
799 (mU): New auxiliary input trap macro.
800 (UR, UE): Replace stub with real definition.
802 (MT, ME): New macros.
804 (EX, EE): Don't insert vertical space.
805 Use a register to store (and restore) the current font.
807 * man/ditroff.man, man/groff_diff.man, man/roff.man: Revised, based
808 on patches from Eric Raymond.
811 2007-01-22 Gaius Mulley <gaius@glam.ac.uk>
813 * tmac/an-old.tmac (an-trap, HP): Make `HP' work as expected.
815 2007-01-22 Werner LEMBERG <wl@gnu.org>
817 * tmac/an-ext.tmac: Protect against being sourced twice.
818 (URL, EE): Use always two backslashes.
821 2007-01-16 Werner LEMBERG <wl@gnu.org>
823 * tmac/an-ext.tmac: Remove code for grodvi.
825 Don't insert empty line.
826 (URL, TQ): Fix typos.
828 2007-01-14 Werner LEMBERG <wl@gnu.org>
830 * tmac/an-ext.tmac: New file, containing extension macros
831 for -man. See discussion on the groff mailing list for
832 background information.
833 * tmac/an-old.tmac: Load an-ext.tmac.
834 Decorate .ds and as with comment escapes where appropriate.
835 * tmac/Makefile.sub (NORMALFILES): Add an-ext.tmac.
837 2007-01-05 Werner LEMBERG <wl@gnu.org>
839 * src/preproc/tbl/tbl.man: Document .T# and \n[TW].
841 2007-01-04 Gaius Mulley <gaius@glam.ac.uk>
843 Make -me macros ready for grohtml.
845 * tmac/e.tmac: Load devtag.tmac.
846 (need_eo_h, need_eo_tl, need_tl): New registers.
847 (check_need_title, (x-html, )x-html, xp-html): New macros.
848 (@h, hl, ip, @p, sh, (b, (l, EQ, EN, TS, TE, PS, PE, GS, GE, r, i,
849 b, rb, bi, bx, (x, )x, xp): Adapt for use with grohtml.
850 (bp): Rename to @b only if output device is not html.
852 2007-01-01 Werner LEMBERG <wl@gnu.org>
854 * man/groff_font.man: Document empty lines.
856 * src/utils/afmtodit/afmtodit.pl: Always print a header comment at
857 the very beginning of the output.
860 * font/devps/*: Regenerate font definition files.
862 2007-01-01 Werner LEMBERG <wl@gnu.org>
864 * font/devps/generate/Makefile (AFMTODIT): Use -c flag.
866 * font/devps/*: Regenerate font definition files.
868 2006-12-31 Werner LEMBERG <wl@gnu.org>
870 * Makefile.in (oldfontdir): New variable.
871 (MDEFINES): Add $(oldfontdir).
872 (uninstall_dirs): Remove `current' link.
873 Remove $(oldfontdir).
875 * Makefile.comm (oldfontsubdir): New variable.
876 (install_dev): Install files collected in $(OLDDEVFILES) into
878 (uninstall_dev): Remove data in $(oldfontsubdir).
879 (.man.n): Handle @OLDFONTDIR@.
881 * src/devices/grodvi/grodvi.man, src/devices/grohtml/grohtml.man,
882 src/devices/grolbp/grolbp.man, src/devices/grolj4/grolj4.man,
883 src/devices/grotty/grotty.man, src/devices/xditview/gxditview.man:
884 Document GROFF_FONT_PATH.
886 * src/devices/grops/grops.man: Document GROFF_FONT_PATH and
887 old font description files.
889 * font/devps/Makefile.sub (OLDDISTFILES, OLDDEVFILES): New
892 * font/devps/old/*: New directory, holding the previous version
893 of the 35 Adobe core font description files.
895 * font/devps/*: Regenerated the 35 Adobe core fonts, using the
896 Adobe-Core35_AFMs-229.tar.bz2 bundle from ftp.dante.de.
898 * NEWS: Document font update.
900 2006-12-31 Werner LEMBERG <wl@gnu.org>
902 * font/devps/generate/Makefile (symbolsl.afm): Use $(srcdir).
904 * Makefile.comm (fonts): New (empty) target.
905 * Makefile.in (TARGETS): Add `fonts'.
907 * MANIFEST: Add `chem'.
909 * doc/groff.texinfo (Changing Fonts): Font translations with .ftr
912 2006-12-26 Werner LEMBERG <wl@gnu.org>
914 * src/preproc/grn/hdb.cpp: Include gprint.h later. From NetBSD.
916 2006-12-19 Werner LEMBERG <wl@gnu.org>
918 Add support for German. For activation, simply use -mde or -mden
919 (for traditional and new orthgraphy, respectively) as the last
922 * tmac/de.tmac, tmac/den.tmac, tmac/hyphen.det, tmac/hyphen.den,
923 tmac/hyphenex.det: New files, partly taken from CTAN.
924 * LICENSES: Updated list of hyphenation patterns.
925 * man/groff_tmac.man: Mention de.tmac and den.tmac.
928 2006-12-11 Werner LEMBERG <wl@gnu.org>
930 Support up to 32 macro arguments in pic (and up to 16 on EBCDIC
933 * src/preproc/pic/lex.cpp (ARG1): Redefine. Update all users.
934 (MAX_ARG): New macro. Use it everywhere to replace hard-coded
935 limit of 9 arguments.
936 (process_body): Handle argument numbers with more than a single
938 (interpolate_macro_with_args): Protect against exceeding number of
941 * NEWS, src/preproc/pic/pic.man, doc/pic.ms: Document it.
943 2006-12-10 Werner LEMBERG <wl@gnu.org>
945 * Makefile.in (site.exp, docheck): Commented out. Not working
947 (check): Just emit dummy message.
949 2006-12-08 Werner LEMBERG <wl@gnu.org>
951 During installation, create soft link from <version> to `current' in
954 * Makefile.comm (install): Renamed to...
956 (prefix_must_exist): Removed. Code moved to Makefile.in.
958 * Makefile.in (TARGETS): Remove `install'.
960 (install): New target which first creates the directory given by
961 --prefix, then calling `make' to do the installation, and finishing
962 with the creation of the soft link.
964 2006-11-21 Werner LEMBERG <wl@gnu.org>
966 * doc/Makefile.sub (uninstall_sub): Fix names for info files.
968 2006-11-18 Werner LEMBERG <wl@gnu.org>
970 * man/roff.man, doc/groff.texinfo: Improve history of roff, based on
971 information from Tom Van Vleck <thvv@multicians.org>.
973 2006-11-16 Werner LEMBERG <wl@gnu.org>
975 * tmac/62bit.tmac: New macro package.
976 * tmac/Makefile.sub (NORMALFILES): Add it.
979 * tmac/trace.tmac: Protect against being loaded again.
980 (nr): Always show result.
982 * doc/groff.texinfo (Input Encodings): Document latin-5.
984 * man/grof_tmac.man: Document sv, latinX, cp1047, 60bit, ec.
986 2006-11-13 Werner LEMBERG <wl@gnu.org>
988 * doc/groff.texinfo (Page Location Traps) [.wh]: Give more details
989 on negative trap positions.
991 2006-11-10 Werner LEMBERG <wl@gnu.org>
993 * Makefile.comm (.man.n): Handle @DATASUBDIR@.
995 2006-11-09 Werner LEMBERG <wl@gnu.org>
997 * INSTALL: Move information about external installation from
998 INSTALL.gen into this file.
1001 * INSTALL.gen: Update to new version (from texinfo CVS).
1003 2006-11-09 Bernd Warken
1005 * INSTALL.gen: Extend the file by information on `external
1006 installation'. Reorder the installation instruction as `normal
1009 2006-11-08 Werner LEMBERG <wl@gnu.org>
1011 * doc/Makefile.sub (install_data): Take care of proper paths while
1012 installing info files. Bug reported by Bernd Warken.
1014 2006-11-06 Bernd Warken
1016 * src/roff/grog/grog.pl: Rewrite.
1017 - Call by `#! /usr/bin/env perl'. That isn't replaced.
1018 - Rename usage() to version().
1020 - For `use strict', start all global variables with an upper case
1021 character. Use `my' for all variables. Use several new variables.
1023 - Add copyright to GPL and Emacs comment.
1024 - Handle several `-m*' options.
1025 - Fix handling of `-ms' and `-mm'. Add .TL and .NH.
1026 - Allow options after file names.
1027 - Allow only one `-' parameter (standard input).
1028 - Add option abbreviations.
1029 - Expand the usage information.
1031 - Add single quote "'" as additional first character and allow
1032 arbitrary space after the first character.
1034 * src/roff/grog/grog.sh: Rewrite.
1035 - Remove option `-e' of `sed'.
1036 - Allow file names with space characters.
1038 - Add copyright to GPL.
1039 - Handle several `-m*' options.
1040 - Fix handling of `-ms' and `-mm'. Add .TL and .NH.
1041 - Allow options after file names.
1042 - Allow only one `-' parameter (standard input).
1043 - Add option abbreviations.
1044 - Expand the usage information.
1046 - Add single quote "'" as additional first character and allow
1047 arbitrary space after the first character.
1049 * src/roff/grog/Makefile.sub:
1050 - Add copyright to GPL.
1051 - Remove `grog:'. Move `grog.old:' to `grog:' in order to have a
1052 fair chance to choose between the shell version and the Perl
1053 version of `grog'. This is now again comparable to grog in groff
1056 * src/roff/grog/grog.man: Rewrite.
1057 - Move the license to GPL.
1058 - New sections: OPTIONS, DETAILS, EXAMPLES, COPYING.
1059 - Take over some setup and macros from `groffer'.
1060 - Add information on options.
1062 2006-10-28 Werner LEMBERG <wl@gnu.org>
1064 * tmac/trace.tmac: Improve tracing of `.nr'.
1065 Trace `.substring' also.
1069 2006-10-28 Bernd Warken
1071 * man/roff.man, src/roff/groff/groff.man: Add `chem', fix position
1072 of groff development site, fix fonts.
1074 * News: Add information on `chem' and `groffer'.
1076 2006-10-26 Bernd Warken
1078 * Makefile.in (OTHERDIRS, NOMAKEDIRS): Add `chem' bundle.
1080 2006-10-26 Werner LEMBERG <wl@gnu.org>
1082 Add `\%^' escape to handle the parameters to a macro as a string
1085 * src/roff/troff/input.h (DOUBLE_QUOTE): New special character.
1087 * src/roff/troff/input.cpp (input_iterator, input_stack,
1088 macro_iterator): Add `space_follows_arg' member function.
1089 (macro_iterator::add_arg): Add parameter to set the `space_follows'
1091 (arg_list): Add member `space_follows'.
1092 Update constructor and all callers.
1093 (decode_args): Store discarded double quotes.
1094 (interpolate_args): Handle DOUBLE_QUOTE.
1096 (get_copy, token::next, composite_glyph_name): Handle DOUBLE_QUOTE.
1098 * tmac/trace.tmac: Trace .nr, .ds, .ds1, .as, .as1.
1100 * docs/groff.texinfo (Parameters), man/groff.man,
1101 man/groff_diff.man, NEWS: Document it.
1103 2006-10-24 Bernd Warken
1105 * Makefile.in (NOMAKEDIRS): Add groffer subdirectories.
1107 2006-10-24 Werner LEMBERG <wl@gnu.org>
1109 * tmac/groff_trace.man: Mention problem with `\\\\'.
1111 2006-10-23 Werner LEMBERG <wl@gnu.org>
1113 * doc/groff.texinfo (Expressions): Improve documentation of `!'.
1115 * tmac/trace.tmac (return): Don't call `substring'.
1117 2006-09-10 Werner LEMBERG <wl@gnu.org>
1119 * src/roff/troff/input.cpp (read_size): Revert previous change
1122 * doc/groff.texinfo (Fractional Size Types): Clarify syntax of \s.
1124 2006-09-09 Werner LEMBERG <wl@gnu.org>
1126 * src/roff/troff/input.cpp (read_size): Fix `\s[-\n[.s]]' so that it
1127 behave the same as `\s-[\n[.s]]' (this is, emit a warning and set
1128 point size to 1). Reported by Gunnar Ritter.
1129 Also catch `\s-[-...]' and friends (causing an error).
1131 2006-09-06 Werner LEMBERG <wl@gnu.org>
1133 * src/roff/troff/env.cpp (environment::do_break): Insert zero-width
1134 space only if there is no previous space. This fixes a bug which
1135 caused unwanted filling of the last line in a paragraph. Thanks to
1136 Gunnar Ritter for an analysis.
1138 2006-09-03 Werner LEMBERG <wl@gnu.org>
1140 * src/roff/groff/groff.cpp (main): Pass -U flag to pic also.
1141 Reported by Jennifer Sayers <jenjen@isu.usyd.edu.au>.
1143 2006-09-01 Nick Stoughton <nick@msbit.com>
1144 Werner LEMBERG <wl@gnu.org>
1146 Add a request `pev' to print environment information (similar to
1147 `pnr' and `ptr' to print number registers and traps).
1149 * src/roff/troff/env.h (environment): Add member function print_env.
1151 * src/roff/troff/env.cpp: (environment::print_env): New function to
1152 print a given environment state.
1153 (print_env): New global function to iterate through the
1154 environments, printing each one.
1155 (init_env_requests): Register `pev'.
1157 * doc/groff.texinfo (Debugging), man/groff.man, man/groff_diff.man,
1158 NEWS: Document `pev' request.
1160 2006-09-01 Bernd Warken
1162 * src/preproc/soelim/soelim.cpp (usage): Fix option argument of
1165 2006-09-01 Werner LEMBERG <wl@gnu.org>
1167 * src/preproc/pic/main.cpp (usage): Add missing options.
1169 2006-08-25 Werner LEMBERG <wl@gnu.org>
1171 * src/preproc/soelim/soelim.man: Document how to insert `\' and ` '
1174 2006-08-19 Werner LEMBERG <wl@gnu.org>
1176 * configure: Regenerated.
1178 2006-08-18 Keith Marshall <keith.d.marshall@ntlworld.com>
1180 * m4/groff.m4 (GROFF_MAKEINFO): Correct `makeinfo version testing
1181 logic; it previously caused an `expr' syntax error, if no version of
1182 `makinfo' was present. Also, remove dependency on `makeinfo' in VPATH
1183 builds, if an up to date `groff.info' is present in either `builddir'
1186 2006-08-12 Tadziu Hoffmann <hoffmann@usm.uni-muenchen.de>
1188 * font/devps/prologue.ps: Add BPhook.
1190 * src/devices/grops/grops.man: Document BPHook.
1191 Reorder some sections for better readability.
1193 2006-08-12 Werner LEMBERG <wl@gnu.org>
1195 * src/include/lib.h (getlocale): New macro.
1196 (setlocale, LC_ALL, LC_CTYPE) [!HAVE_SETLOCALE]: Define, as
1199 * src/preproc/preconv/preconv.cpp (main): Use getlocale.
1201 2006-08-11 Werner LEMBERG <wl@gnu.org>
1203 Add new flag to .cflags to enable hyphenation without looking at
1206 * src/roff/troff/charinfo.h (charinfo): New enumeration value
1208 New member function `ignore_hcodes'.
1210 * src/roff/troff/node.cpp (break_char_node::add_self,
1211 node::add_char): Updated.
1213 * doc/groff.texinfo, man/groff_diff.man, NEWS: Document it.
1215 2006-08-09 Werner LEMBERG <wl@gnu.org>
1217 Support composite Unicode characters again. Reported by Colin.
1219 * font/devhtml/R.proto: Renamed to...
1220 * font/devhtml/R.in: This.
1222 * font/devutf8/R.proto: Renamed to...
1223 * font/devutf8/R.in: This.
1226 * font/make-Rproto: New script.
1227 * font/devhtml/R.proto, font/devutf8/R.proto: Generated.
1229 2006-07-26 Werner LEMBERG <wl@gnu.org>
1231 * README: Fix description of CVS access. Reported by Joachim.
1233 2006-07-11 Werner LEMBERG <wl@gnu.org>
1235 Add a request `.fzoom' and a number register `.zoom' to magnify
1238 * src/include/font.h (font): Add member variable `zoom'.
1239 Add member functions `set_zoom' and `get_zoom'.
1240 Remove `static' attribute from `scale' member function.
1242 * src/libs/libgroff/font.cpp (font::font): Updated.
1243 (scale_round): New version with three parameters to handle zoom
1245 (font::scale, font::get_width): Handle zoom factor.
1246 (font::set_zoom, font::get_zoom): New functions.
1247 (font::load): Handle `zoom' while computing `space_width'.
1249 * src/roff/troff/env.h: Declare `env_get_zoom'.
1250 (environment): Add member function `get_zoom'.
1252 * src/roff/troff/env.cpp (environment::get_zoom): New function.
1253 (init_env_requests): Initialize `.zoom' register.
1255 * src/roff/troff/node.cpp (font_info): New member functions
1256 `set_zoom' and `get_zoom'.
1257 (tfont): New member function `get_zoom'.
1258 (env_get_zoom): New function.
1259 (troff_output_file::set_font): Handle zoom factor.
1260 (font_zoom_request): New function.
1261 (init_node_requests): Initialize `fzoom' request.
1263 * docs/groff.texinfo (Changing Fonts), man/groff.man,
1264 man/groff_diff.man, NEWS: Document `fzoom' request and `.zoom'
1267 * src/roff/troff/TODO: Updated.
1269 2006-07-10 Werner LEMBERG <wl@gnu.org>
1271 * doc/groff.texinfo (Drawing Requests): Improve documentation of
1274 2006-07-02 Werner LEMBERG <wl@gnu.org>
1276 * man/groff_tmac.man: Document usage of .PSPIC within diversions.
1278 2006-07-01 Werner LEMBERG <wl@gnu.org>
1280 * tmac/pspic.tmac: Make .PSPIC work for all devices.
1281 Print image file name for devices which don't support PS image
1283 Handle multiple inclusions.
1284 Add lots of comments.
1286 * tmac/dvi.tmac, tmac/html.tmac, tmac/ps.tmac: Don't load
1289 * tmac/troffrc: Load pspic.tmac.
1291 * man/groff_tmac.man: Update .PSPIC documentation.
1295 2006-06-29 Werner LEMBERG <wl@gnu.org>
1297 * src/roff/troff/input.cpp (interpolate_macro):
1298 s/probably/possibly/, as suggested by Keith.
1300 2006-06-28 Werner LEMBERG <wl@gnu.org>
1302 Add support for \D'p...' to grotty.
1304 * src/devices/grotty/grotty.cpp (tty_printer::draw): Move most of
1306 (tty_printer::line): This function.
1307 (tty_printer::draw): Rewritten; just call either draw_line or
1309 (tty_printer::draw_line, tty_printer::draw_polygon): New functions.
1311 * src/devices/grotty/grotty.man, NEWS: Document it.
1313 2006-06-27 Werner LEMBERG <wl@gnu.org>
1315 * src/preproc/refer/command.h (have_bibliography): New variable
1318 * src/preproc/refer/command.cpp (bibliography_command): Set
1319 `have_bibliography'.
1321 * src/preproc/refer/refer.cpp: Initialize `have_bibliography'.
1322 (output_references): Emit warning only if `have_bibliography' is
1325 2006-06-15 Michail Vidiassov <master@iaas.msu.ru>
1327 * font/devps/Makefile.sub (DISTFILES): Add freeeuro.afm.
1328 * font/devps/generate/Makefile (clean): Don't remove symbolsl.afm
1331 2006-06-15 Werner LEMBERG <wl@gnu.org>
1333 * src/preproc/tbl/tbl.man: Document limitations of .TS/.TE within a
1334 macro (as suggested by Tadziu Hoffmann).
1336 2006-06-12 Werner LEMBERG <wl@gnu.org>
1338 * src/preproc/tbl/tbl.man: Add example for use of .TS/.TE within a
1339 macro (as suggested by Tadziu Hoffmann).
1341 2006-06-05 Werner LEMBERG <wl@gnu.org>
1343 * tmac/strip.sed: Strip `\#' also.
1345 * doc/groff.texinfo (Operators in Conditionals): Document usage of
1346 \? for string comparison.
1348 2006-06-04 Werner LEMBERG <wl@gnu.org>
1350 * doc/groff.texinfo: Add more index entries for copy-in mode.
1351 (Changing Fonts) <.ft>: Document that a font definition file must
1352 not be called `DESC'.
1354 2006-05-31 Werner LEMBERG <wl@gnu.org>
1356 * src/roff/troff/input.cpp (token::next) <\N>: Catch negative values
1359 * doc/Makefile.sub (EXAMPLEFILES): Move gnu.eps to...
1360 (PROCESSEDEXAMPLEFILES): Here.
1362 2006-05-30 Werner LEMBERG <wl@gnu.org>
1364 * src/libs/libgroff/font.cpp (font::load): Reject fonts called
1366 Reduce number of false positives for `.if F ...' conditionals.
1367 Improve warning messages.
1369 2006-05-29 Werner LEMBERG <wl@gnu.org>
1371 * tmac/Makefile.sub: Add copyright notice.
1372 (NORMALFILES): Add man.tmac and ms.tmac.
1373 (SPECIALFILES): Remove man.tmac and ms.tmac.
1374 (CLEANADD): Remove man.tmac-sed and ms.tmac-sed.
1375 (install_data, uninstall_sub): Don't handle man.tmac and ms.tmac
1377 (stamp-sed): Don't handle man.tmac and ms.tmac.
1378 Remove obsolete components in sed's regexp.
1380 * doc/Makefile.sub (EXAMPLEFILES): Add gnu.eps.
1382 * Makefile.in (OTHERDIRS, NOMAKEDIRS): Add hdtbl.
1384 2006-05-28 Werner LEMBERG <wl@gnu.org>
1386 * doc/groff.texinfo (History): Correct death circumstances of Joe
1389 2006-05-27 Werner LEMBERG <wl@gnu.org>
1391 * tmac/an-old.tmac (an-do-tag): Simplify.
1393 2006-05-26 Werner LEMBERG <wl@gnu.org>
1395 * tmac/an-old.tmac (an-do-tag): Make margin characters work.
1396 (an-header, an-p-footer): Use named environment.
1398 * src/roff/troff/env.cpp (environment::copy): Copy margin character
1401 2006-05-21 Werner LEMBERG <wl@gnu.org>
1403 * tmac/trace.tmac (de1): Fix serious typo (.di -> .do) and minor
1406 2006-05-11 Keith Marshall <keith.d.marshall@ntlworld.com>
1408 * src/roff/groff/groff.man: Remove superfluous word `intermediate'.
1410 2006-05-10 Keith Marshall <keith.d.marshall@ntlworld.com>
1412 * src/roff/groff/groff.man: Update copyright notice.
1413 Improved wording to describe effect of `-Z' option.
1415 2006-05-06 Werner LEMBERG <wl@gnu.org>
1417 * tmac/www.tmac: Decorate `.ds' with trailing `\"' where missing.
1418 Normalize handling of `"' in arguments.
1419 (PIMG): Remove debug message.
1422 2006-05-05 Werner LEMBERG <wl@gnu.org>
1424 * src/devices/grohtml/post-html.cpp (page::add_and_encode): Don't
1425 swallow character immediately after `\[...]'.
1428 2006-05-02 Gaius Mulley <gaius@glam.ac.uk>
1430 * tmac/www.tmac (PIMG): Fix the HTML device specific components.
1432 2006-05-02 Larry Kollar <kollar@alltel.net>
1434 * tmac/www.tmac (PIMG): Really default to `-C' if the alignment
1437 2006-04-30 Michail Vidiassov <master@iaas.msu.ru>
1439 * src/utils/afmtodit/afmtodit.pl: New option `-c' to add font
1440 information as a comment in output.
1441 * src/utils/afmtodit/afmtodit.man, NEWS: Document it.
1443 2006-04-26 Werner LEMBERG <wl@gnu.org>
1445 * src/devices/grohtml/post-html.cpp (html_printer::~html_printer):
1446 Handle current_paragraph only if it is non-NULL.
1448 * src/libs/libdriver/input.cpp (parse_x_command <'F'>, do_file
1449 <'F'>): Use `get_extended_arg' to behave as documented. Reported by
1450 Bill Ward <william.a.ward.jr@erdc.usace.army.mil>.
1453 Surround the (pseudo) file name for the .pso request with `<' and
1456 * src/roff/troff/node.cpp (real_output_file, troff_output_file): Add
1457 second parameter to `really_put_filename' and `put_filename'.
1458 (troff_output_file::really_put_filename): Emit `<' and `>' around
1459 filename if second argument is set.
1460 * src/roff/troff/node.h: Updated.
1462 * src/roff/troff/input.cpp (file_iterator::file_iterator,
1463 file_iterator::set_location): Update to changes in node.cpp.
1465 2006-04-25 Tetsurou Okazaki <okazaki@FreeBSD.org>
1467 * src/preproc/preconv/preconv.cpp (do_file): Fix conditional
1468 preprocessor expression (I18N -> HAVE_ICONV).
1469 (main): Fix handling of option `-h'.
1470 Fix conditional preprocessor expression.
1472 2006-04-04 Werner LEMBERG <wl@gnu.org>
1474 Implement new number register `.br' which is set to 1 if a macro has
1475 been called as .foo and to 0 if called as 'bar. This is useful for
1476 -mtrace so that requests can be reliably traced too.
1478 * src/roff/troff/input.cpp (input_iterator): Add virtual function
1480 (macro_iterator): Add `with_break' member and `get_break_flag'
1482 Update constructors.
1483 (input_stack): Add function `get_break_flag'.
1484 (break_flag_reg): New number register class.
1485 (input_init_requests): Register `.br'.
1487 * src/roff/troff/TODO: Updated.
1489 * tmac/trace.tmac: s/!!sp/!!!sp/.
1490 Modify definitions of `de', `de1', `am', and `am1' to use \n[.br].
1492 * docs/groff.texinfo (Requests), man/groff.man, man/groff_diff.man,
1495 2006-03-29 Werner LEMBERG <wl@gnu.org>
1497 * src/devices/grops/ps.cpp: s/must not/should not/ in warning
1498 messages where appropriate.
1500 2006-03-28 Werner LEMBERG <wl@gnu.org>
1502 * configure.ac: Call AC_PROG_EGREP.
1503 * configure: Regenerated.
1505 * Makefile.in (EGREP): New variable.
1506 (MDEFINES): Add $(EGREP).
1508 * src/roff/grog/grog.sh: Treat .TH between .TS and .TE properly
1509 (bug reported by Robert Goulding <Goulding.2@nd.edu>).
1512 * src/roff/grog/Makefile.sub (grog, grog.old): Use $(EGREP).
1514 2006-03-27 Werner LEMBERG <wl@gnu.org>
1516 Add two requests `.device' and `.devicem' which are equivalent to
1517 `\X' and `\Y', respectively.
1519 * src/roff/troff/input.cpp (device_request, device_macro_request):
1521 (init_input_requests): Register them.
1523 * doc/groff.texinfo (Postprocessor Access), man/groff_diff.man,
1524 man/groff.man, NEWS: Document them.
1526 2006-03-27 Gaius Mulley <gaius@glam.ac.uk>
1528 * src/roff/troff/input.cpp (encode_char): Emit special characters
1529 for -Thtml as `\[...]'.
1530 * src/devices/grohtml/post-html.cpp (page::add_and_encode): Updated.
1532 * doc/groff.texinfo (Postprocessor Access) <\X>: Updated.
1534 2006-03-27 Werner LEMBERG <wl@gnu.org>
1536 * tmac/Makefile.sub (NORMALFILES, SPECIALFILES): Add various missing
1539 2006-03-26 Werner LEMBERG <wl@gnu.org>
1541 * doc/groff.texinfo (Writing Macros): More documentation on
1542 end-of-macro symbol of `.de'.
1543 (Diversions): Minor addition to `.di' description.
1545 * src/devices/grops/grops.man: Some clarifications regarding
1546 insertion of PostScript snippets.
1548 2006-03-25 Michail Vidiassov <master@iaas.msu.ru>
1550 Add rules to generate `symbolsl.afm'.
1552 * font/devps/generate/zapfdr.sed,
1553 font/devps/generate/symbolsl.awk: New files.
1555 * font/devps/generate/Makefile (symbolfont, PRINTAFM): New
1557 (SS, clean): Updated.
1558 (freeeuro.afm): Use $(srcdir).
1559 (symbolsl.afm): New rule.
1560 (zapfdr.afm): Use zapfdr.sed.
1562 2006-03-22 Dwight Aplevich <aplevich@uwaterloo.ca>
1564 * src/preproc/pic/pic.y (expr <INT>): Fix code.
1566 2006-03-22 Jörgen Grahn <jgrahn@algonet.se>
1568 * tmac/sv.tmac: Add missing translations and activate support for
1569 other macro packages.
1571 2006-03-21 Francis GUDIN <fgudin@nerim.net>
1573 * tmac/doc-syms (Dx): New macro to identify DragonFly.
1574 (doc-str-St--ieee1275-94, doc-str-St--isoC-amd1,
1575 doc-str-St--isoC-tcor1, doc-str-St--isoC-tcor2): New standard
1577 (doc-operating-system-FreeBSD-5.5, doc-operating-system-FreeBSD-7.0,
1578 doc-operating-system-NetBSD-1.6.3, doc-operating-system-NetBSD-4.0
1579 doc-operating-system-DragonFly-*): New operating system strings.
1581 * tmac/groff_mdoc.man, NEWS: Document `Dx'.
1583 2006-03-21 Werner LEMBERG <wl@gnu.org>
1585 * src/preproc/pic/pic.y (object_spec THEN): For compatibility with
1586 both DWB pic and dpic, make
1594 line right then down;
1601 * doc/pic.ms: Document this.
1603 2006-03-20 Werner LEMBERG <wl@gnu.org>
1605 * doc/pic.ms: With permission of Eric Raymond, put it under the
1610 2006-03-19 Werner LEMBERG <wl@gnu.org>
1612 * src/preproc/pic/pic.y (expr <INT>): Really return integer part.
1614 * src/preproc/pic/objects.cpp (object_spec::make_line): Handle `at'
1615 attribute in combination with `with'. Bug reported by Jennifer
1616 Sayers <jenjen@mail.usyd.edu.au>.
1618 2006-03-19 Miklos Somogyi <msom@netspace.net.au>
1620 * doc/groff.texinfo (Manipulating Spacing): Improve documentation of
1623 2006-03-18 Werner LEMBERG <wl@gnu.org>
1625 * LICENSE: Renamed to...
1626 * LICENSES: This. Collect all licensing information in this file.
1627 * tmac/README, src/libs/snprintf/README: Removed.
1629 * src/devices/grops/grops.man: Add section how to install fonts.
1631 * src/utils/xtotroff/xtotroff.c: Add GPL.
1633 2006-03-17 Werner LEMBERG <wl@gnu.org>
1635 * Makefile.comm (.y.cpp): Fix #line arguments in output.
1637 2006-03-13 Werner LEMBERG <wl@gnu.org>
1639 * src/preproc/tbl/tbl.man: Mention default length of text blocks.
1641 * tmac/doc-common (Os): Add more Darwin versions.
1642 * tmac/groff_mdoc.man: Document them.
1644 * doc/groff.texinfo (Operators in Conditionals): Mention that `c'
1645 works with \N'...' also.
1646 * man/groff_diff.man: Ditto. Remove use of future tense where
1649 2006-03-12 Michail Vidiassov <master@iaas.msu.ru>
1651 * font/devps/generate/make-zapfdr, font/devps/symbolsl.ps,
1652 font/devps/zapfdr.ps: Add `%%EndComments' line.
1654 2006-03-10 Larry Kollar <kollar@alltel.net>
1656 * doc/groff.texinfo (Headers and footers): Document PT, HD, and BT.
1658 2006-03-10 Werner LEMBERG <wl@gnu.org>
1660 * src/devices/grops/ps.cpp (ps_printer::do_exec, ps_printer::do_def,
1661 ps_printer::do_mdef): Overlong lines now cause a warning message,
1664 2006-03-09 Werner LEMBERG <wl@gnu.org>
1666 * font/devps/generate/make-zapfdr: New script for generating
1669 2006-03-08 Werner LEMBERG <wl@gnu.org>
1671 * doc/groff.css (pre): Fix `background-color' value.
1673 2006-03-04 Larry Kollar <kollar@alltel.net>
1675 * tmac/groff_ms.man: Document PT, HD, and BT.
1677 2006-03-04 Werner LEMBERG <wl@gnu.org>
1679 * src/roff/troff/node.cpp (make_glyph_node): Improve warning message
1680 for single-letter glyph names.
1682 2006-03-02 Werner LEMBERG <wl@gnu.org>
1684 * tmac/sv.tmac: New file; currently holding only the Swedish strings
1686 * tmac/hyphen.sv: New hyphenation pattern file for Swedish, taken
1688 * tmac/README: Updated.
1690 2006-02-27 Werner LEMBERG <wl@gnu.org>
1692 * tmac/trans.tmac (Liec, Letdate, Letns!14): Add it (for -mm).
1693 * tmac/fr.tmac: Add French translations.
1695 * tmac/composite.tmac: Add entry for `:'.
1697 2006-02-26 Werner LEMBERG <wl@gnu.org>
1699 * doc/Makefile.sub (HTMLEXAMPLEFILESALL): New variable.
1701 (install_html, uninstall_sub): Updated.
1703 2006-02-26 Bruno Haible <bruno@clisp.org>
1705 Introduce Unicode fonts.
1707 * font/devhtml/DESC.proto: Mark as unicode.
1708 * font/devhtml/R.proto: Remove all charset entries that are already
1710 * font/devutf8/DESC.proto: Mark as unicode.
1711 * font/devutf8/R.proto: Remove all charset entries.
1712 * src/include/font.h (font): New static field `is_unicode'.
1713 Change order of fields.
1714 * src/libs/libgroff/font.cpp: Include unicode.h.
1715 (font::font): Update for changed order of fields.
1716 (font::contains, font::get_width, font::get_height, font::get_depth,
1717 font::get_italic_correction, font::get_left_italic_correction,
1718 font::get_subscript_correction, font::get_character_type,
1719 font::get_code, font::get_special_device_encoding): Handle both the
1720 explicitly enumerated glyphs and use general code for Unicode fonts.
1721 (font::load): Make the charset section optional when the font is
1723 (font::load_desc): Recognize the `unicode' attribute.
1724 * src/libs/libgroff/fontfile.cpp (font::is_unicode): New variable.
1726 2006-02-26 Claudio Fontana <claudio@gnu.org>
1728 * Makefile.in: Add comment about DESTDIR.
1730 * Makefile.sub: Add DESTDIR to install and uninstall targets
1731 to support staged installations.
1732 * Makefile.comm: Likewise.
1733 * doc/Makefile.sub: Likewise.
1734 * contrib/eqn2graph/Makefile.sub: Likewise.
1735 * contrib/grap2graph/Makefile.sub: Likewise.
1736 * contrib/pic2graph/Makefile.sub: Likewise.
1737 * src/devices/xditview/Makefile.sub: Likewise.
1738 * src/preproc/eqn/Makefile.sub: Likewise.
1739 * src/roff/grog/Makefile.sub: Likewise.
1740 * src/roff/nroff/Makefile.sub: Likewise.
1741 * src/utils/afmtodit/Makefile.sub: Likewise.
1742 * src/utils/indxbib/Makefile.sub: Likewise.
1743 * tmac/Makefile.sub: Likewise.
1745 2006-02-24 Werner LEMBERG <wl@gnu.org>
1747 * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list): Use entry
1749 Remove commented out entries for \' and \` (there are no such glyph
1752 * src/libs/libgroff/uniglyph.cpp (unicode_to_glyph_list): Remove
1753 commented out entries for \' and \`.
1756 * */*: s/legal/valid/ where appropriate.
1758 2006-06-23 Werner LEMBERG <wl@gnu.org>
1760 * font/devhtml/R.proto, font/devutf8/R.proto: Remove incorrect \'
1763 2006-02-22 Werner LEMBERG <wl@gnu.org>
1765 Remove all remaining traces from the `shc' glyph.
1767 * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list),
1768 src/libs/libgroff/uniglyph.cpp (unicode_to_glyph_list): Remove
1771 * font/devlatin1/R.proto, font/devcp1046/R.proto: Replace `shc'
1772 entry with unnamed glyph.
1774 * tmac/html/tmac: Remove `shc' entry from call to `.cflags'.
1776 * src/preproc/preconv/preconv.cpp (unicode_entity): Handle U+00AD
1779 2006-02-22 Bruno Haible <bruno@clisp.org>
1781 Concretize the `glyph' datatype.
1783 * src/include/font.h (glyph): Remove class.
1784 (glyph): Renamed from struct `glyphinfo'.
1785 (glyph_to_index): New inline function.
1786 (glyph_to_name): Make extern, not inline.
1787 (glyph_to_number): Update.
1788 (font): Use `glyph *' instead of `glyph'.
1790 * src/libs/libgroff/nametoindex.cpp (charinfo): Inherit from class
1791 `glyph'. Make `name' field public.
1792 (character_indexer, number_to_glyph, name_to_glyph): Use `glyph *'
1794 (glyph_to_name): Renamed from `glyph::glyph_name'.
1796 * src/roff/troff/charinfo.h (charinfo): Inherit from class `glyph'.
1797 Use `glyph *' instead of `glyph'.
1799 * src/roff/troff/input.cpp (name_to_glyph, number_to_glyph): Use
1800 `glyph *' instead of `glyph'.
1801 (glyph_to_name): Renamed from `glyph::glyph_name'.
1803 * src/libs/libgroff/font.cpp: Use `glyph *' instead of `glyph',
1804 and `glyph_to_index' instead of `glyph::glyph_index'.
1806 * src/include/printer.h (printer): Use `glyph *' instead of `glyph'.
1807 * src/libs/libdriver/printer.cpp: Likewise.
1808 * src/devices/grodvi/dvi.cpp: Likewise.
1809 * src/devices/grohtml/post-html.cpp: Likewise.
1810 * src/devices/grolbp/lbp.cpp: Likewise.
1811 * src/devices/grolj4/lj4.cpp: Likewise.
1812 * src/devices/grops/ps.cpp: Likewise.
1813 * src/devices/grotty/tty.cpp: Likewise.
1815 2006-02-22 Werner LEMBERG <wl@gnu.org>
1817 * font/devdvi/generate/tc.map: Add `sr' glyph.
1818 * font/devdvi/*TC: Regenerated.
1820 * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list): Use entry
1823 2006-02-21 Werner LEMBERG <wl@gnu.org>
1825 * man/groff_char.man: Explain `***' marker.
1827 2006-02-17 Bruno Haible <bruno@clisp.org>
1829 * src/libs/libgroff/nametoindex.cpp (character_indexer): Rename
1830 methods and fields from *_index to *_glyph.
1831 (character_indexer::named_char_glyph): Test for `charNNN' name
1833 (name_to_glyph): ... not here.
1835 2006-02-17 Bruno Haible <bruno@clisp.org>
1837 * src/include/font.h (name_to_glyph): Renamed from
1838 font::name_to_index.
1839 (number_to_glyph): Renamed from font::number_to_index.
1840 (glyph_to_name): Renamed from font::index_to_name.
1841 (glyph_to_number): Renamed from font::index_to_number.
1842 * src/libs/libgroff/nametoindex.cpp: Likewise.
1843 * src/roff/troff/charinfo.h (charinfo::as_glyph): Renamed from
1844 charinfo::get_index.
1846 * src/roff/troff/input.cpp: All callers changed.
1847 * src/roff/troff/node.cpp: Likewise.
1848 * src/libs/libgroff/font.cpp: Likewise.
1849 * src/devices/grops/ps.cpp: Likewise.
1850 * src/devices/grohtml/post-html.cpp: Likewise.
1851 * src/libs/libdriver/printer.cpp: Likewise.
1853 2006-02-17 Werner LEMBERG <wl@gnu.org>
1855 * src/include/ptable.h, src/include/itable.h
1856 (NEXT_PTABLE_SIZE_DEFINED): Use it to avoid multiple declaration
1857 of external symbol `next_ptable_size' (used by both header files).
1859 2006-02-15 Bruno Haible <bruno@clisp.org>
1861 * src/include/font.h (glyphinfo): New class.
1862 (glyph): Change internal representation.
1863 Change constructor signature.
1864 New method glyph::glyph_number().
1865 (glyph::glyph, glyph glyph::undefined_glyph, glyph::glyph_index,
1866 glyph::operator==, glyph::operator!=): Update.
1867 (font::index_to_name, font::index_to_number): New functions.
1869 * src/include/itable.h: New file, based on src/include/ptable.h.
1871 * src/libs/libgroff/nametoindex.cpp: Include itable.h.
1872 (class charinfo): New class.
1873 (class character_indexer): Change table result type from `int' to
1875 Add table with integer key.
1876 (character_indexer::character_indexer): Update.
1877 (character_indexer::ascii_char_index): Update.
1878 (character_indexer::numbered_char_index): Use NULL as name, not a
1879 string starting with a space.
1880 (character_indexer::named_char_index): Update.
1881 (font::number_to_index, font::name_to_index): Remove no-op cast.
1882 (glyph::glyph_name): New method.
1883 * src/roff/troff/charinfo.h (class charinfo): Inherit from class
1885 (NUMBERED): Remove flag bit.
1886 (charinfo::numbered, charinfo::get_index): Update.
1888 * src/roff/troff/input.cpp (charinfo::charinfo): Update.
1889 (charinfo::set_number, charinfo::get_number): Update.
1890 (glyph::glyph_name): New method.
1892 2006-02-15 Werner LEMBERG <wl@gnu.org>
1894 * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list): Fix
1895 entries for `>>', `<<', `*f', and `+f'. Reported by Bruno.
1897 2006-02-13 Werner LEMBERG <wl@gnu.org>
1899 * font/devps/prologue.ps (RE): Check `UniqueID' also, similar to
1902 2006-02-11 Werner LEMBERG <wl@gnu.org>
1904 * src/include/font.h: s/glyph_t/glyph/.
1907 * src/devices/grotty/tty.cpp: s/glyph/tty_glyph/.
1908 s/output_character_t/output_character/.
1910 2006-02-11 Bruno Haible <bruno@clisp.org>
1912 New accessor method glyph_t::glyph_name().
1914 * src/include/ptable.h (declare_ptable): Add a return value to the
1915 `define' method, and declare a `lookupassoc' method.
1916 (implement_ptable): Return the stored key in `define'. Implement
1918 * src/include/font.h (glyph_t): Add `name' field. Add an argument
1920 (glyph_t::glyph_name): New method.
1922 * src/libs/libgroff/nametoindex.cpp (character_indexer): Change
1923 return type of methods and field member type to glyph_t.
1924 (character_indexer::character_indexer): Update.
1925 (character_indexer::ascii_char_index): Allocate a name for the
1927 Return a glyph_t with name.
1928 (character_indexer::numbered_char_index): Return a glyph_t without a
1930 (character_indexer::named_char_index): Return a glyph_t with a name.
1931 (font::number_to_index, font::name_to_index): Update.
1933 * src/roff/troff/input.cpp (charinfo::charinfo): Use the symbol as
1936 2006-02-11 Bruno Haible <bruno@clisp.org>
1938 * src/devices/grotty/tty.cpp (output_character_t): New type.
1939 (tty_printer::make_bold, tty_printer::add_char,
1940 tty_printer::put_char): Change argument type to output_character_t.
1941 (crossings): Change element type to output_character_t.
1943 2006-02-11 Bruno Haible <bruno@clisp.org>
1945 Make the glyph data type abstract.
1947 * src/include/font.h (glyph_t): New class.
1948 (name_to_index, number_to_index): Change return type to glyph_t.
1949 (font::contains, font::get_width, font::get_height, font::get_depth,
1950 font::get_character_type, font::get_kern, font::get_skew,
1951 font::get_italic_correction, font::get_left_italic_correction,
1952 font::get_subscript_correction, font::get_code,
1953 font::get_special_device_encoding, font::add_entry,
1954 font::copy_entry, font::add_kern, font::hash_kern): Change argument
1957 * src/libs/libgroff/font.cpp (font_kern_list): Change members
1958 type and constructor argument types to glyph_t.
1959 (font::contains, font::get_width, font::get_height, font::get_depth,
1960 font::get_character_type, font::get_kern, font::get_skew,
1961 font::get_italic_correction, font::get_left_italic_correction,
1962 font::get_subscript_correction, font::get_code,
1963 font::get_special_device_encoding, font::add_entry,
1964 font::copy_entry, font::add_kern, font::hash_kern): Change argument
1966 (font::load): Use glyph_t variables.
1968 * src/libs/libgroff/nametoindex.cpp (name_to_index,
1969 number_to_index): Change return type to glyph_t.
1971 * src/roff/troff/charinfo.h (charinfo::index): Change type to
1973 (charinfo::get_index): Change return type to glyph_t.
1975 * src/roff/troff/env.cpp: Include font.h.
1977 * src/roff/troff/node.cpp: Include font.h before charinfo.h.
1979 * src/roff/troff/input.cpp: Include font.h before charinfo.h.
1980 (charinfo::charinfo): Update.
1981 (name_to_index, number_to_index): Change return type to glyph_t.
1983 * src/include/printer.h (printer::set_char_and_width): Change return
1986 * src/libs/libdriver/printer.cpp (printer::set_char_and_width):
1987 Change return type to glyph_t.
1989 * src/devices/grodvi/dvi.cpp (dvi_printer::set_char): Change
1990 argument type to glyph_t.
1992 * src/devices/grohtml/post-html.cpp (page::add_and_encode): Update.
1993 (html_printer::space_glyph): Renamed from space_char_index.
1994 (html_printer::add_to_sbuf, html_printer::sbuf_continuation,
1995 html_printer::overstrike, html_printer::set_char): Change argument
1997 (html_printer::set_char_and_width): Change return type to glyph_t.
1999 * src/devices/grolbp/lbp.cpp (lbp_printer::set_char): Change
2000 argument type to glyph_t.
2002 * src/devices/grolj4/lj4.cpp (lj4_printer::set_char): Change
2003 argument type to glyph_t.
2005 * src/devices/grops/ps.cpp (ps_printer::space_glyph): Renamed from
2007 (ps_printer::set_subencoding, ps_printer::set_char): Change argument
2010 * src/devices/grotty/tty.cpp (tty_printer::set_char): Change
2011 argument type to glyph_t.
2013 2006-02-11 Bruno Haible <bruno@clisp.org>
2015 * src/roff/troff/input.cpp (font::name_to_index): Never return a
2018 * src/libs/libgroff/font.cpp (font::load): Remove failure tests for
2019 font::name_to_index.
2021 2006-02-10 Werner LEMBERG <wl@gnu.org>
2023 * doc/groff.texinfo (Assigning Formats): Number registers are always
2025 Apply some rephrasing, contributed by Michael Burt.
2027 2006-02-07 Werner LEMBERG <wl@gnu.org>
2029 * tmac/fr.tmac <ms>: Set `HY' register.
2031 2006-02-07 Werner LEMBERG <wl@gnu.org>
2033 Add framework for simple adaptation of the main macro packages (mm,
2034 me, ms, mom) to different locales. In particular, add support for
2035 French. For activation, simply use `-mfr' as the last macro
2036 package. This feature has been contributed by Fabrice Ménard
2037 <menard.fabrice@wanadoo.fr>.
2039 * tmac/fr.tmac, tmac/trans.tmac, tmac/hyphen.fr, tmac/LOCALIZATION:
2041 * tmac/README: Mention hyphen.fr.
2042 * man/groff_tmac.man: Mention fr.tmac.
2045 2006-01-27 Werner LEMBERG <wl@gnu.org>
2047 * man/groff_font.man: Updated documentation of `entity_name' field.
2050 2006-01-27 Bruno Haible <bruno@clisp.org>
2052 * font/devhtml/R.proto: Remove the entity names from the font's
2053 special_encoding_encoding column.
2054 * src/devices/grohtml/post-html.cpp (get_html_entity): New function,
2055 handling the entity names here.
2056 (get_html_translation): Use it. Change return type to `const
2058 (page::add_and_encode): Update, removing a useless cast.
2060 2006-01-26 Werner LEMBERG <wl@gnu.org>
2062 This change is based on a patch by Bruno Haible <bruno@clisp.org>.
2064 * src/include/device.h: Add comments.
2065 * src/include/font.h: Add comments.
2066 * src/include/unicode.h: Likewise.
2067 * src/include/ptable.h, src/libs/libgroff/ptable.cpp: Likewise.
2069 2006-01-26 Keith Marshall <keith.d.marshall@ntlworld.com>
2071 Suppress `.st' request emission by `grn'.
2073 * src/preproc/grn/main.cpp (USE_ST_REQUEST): New macro.
2076 2006-01-22 Werner LEMBERG <wl@gnu.org>
2078 * install-sh: New version; taken from texinfo CVS.
2080 2006-01-21 Werner LEMBERG <wl@gnu.org>
2082 * src/preproc/preconv/preconv.cpp (main): Set program_name. Bug
2083 reported by Alexander E. Patrakov <patrakov@ums.usu.ru>.
2085 2006-01-19 Bruno Haible <bruno@clisp.org>
2087 Let `make -k install' install more files.
2089 * Makefile.in (MAKE_K_FLAG): New variable. Use it everywhere where
2090 $(MAKE) and $(MDEFINES) are used.
2091 (CPROGDIRS): Remove $(XPROGDIRS). Treat $(XPROGDIRS) like
2092 $(CPROGDIRS) everywhere.
2093 ($(DEVDIRS) $(XDEVDIRS) $(OTHERDEVDIRS) $(TTYDEVDIRS)): Don't depend
2095 ($(OTHERDIRS)): Likewise.
2098 * src/devices/grohtml/post-html.cpp (get_html_translation): Remove
2099 failure test for font::name_to_index -- it can never fail.
2101 2006-01-19 Werner LEMBERG <wl@gnu.org>
2103 * src/devices/grops/grops.man: Fix section on creating EPS files.
2104 Don't use future time in manual.
2107 2006-01-15 Gaius Mulley <gaius@glam.ac.uk>
2109 * tmac/www.tmac: New macro LINKSTYLE which allows users to set
2110 various typographical URL attributes for non-HTML devices.
2112 * tmac/groff_www.man: Document LINKSTYLE.
2114 2006-01-11 Werner LEMBERG <wl@gnu.org>
2116 * configure.ac: Test for getc_unlocked (needed for localcharset).
2117 * configure, src/include/config.hin: Regenerated.
2119 * src/libs/libgroff/Makefile.sub (EXTRA_CFLAGS): Define
2122 * src/libs/libgroff/relocatable.h: New dummy header file for
2125 * src/libs/libgroff/localcharset.c: Updated to (unchanged) CVS
2128 2006-01-10 Bruno Haible <bruno@clisp.org>
2130 Work around unportability of nl_langinfo(CODESET).
2132 * m4/glibc21.m4: New file, from gnulib.
2133 * Makefile.sub (M4MACROS): Add m4/glibc21.m4.
2134 * configure.ac: Also test for stddef.h, and invoke jm_GLIBC21.
2135 * Makefile.in (HOST, GLIBC21): New variables.
2136 (MDEFINES): Pass them to subdirectories.
2137 * src/include/relocate.h (relocatep): Define with C linkage.
2138 * src/include/localcharset.h: New file, from gnulib.
2139 * src/libs/libgroff/localcharset.c: New file, from gnulib with a
2140 modification for relocate().
2141 * src/libs/libgroff/config.charset: New file, from gnulib.
2142 * src/libs/libgroff/ref-add.sin: New file, from gnulib.
2143 * src/libs/libgroff/ref-del.sin: New file, from gnulib.
2144 * src/libs/libgroff/Makefile.sub (EXTRA_CFLAGS): Also define LIBDIR.
2145 (OBJS): Add localcharset.o.
2146 (CSRCS): Add localcharset.c.
2147 (all): Add dependencies to charset.alias, ref-add.sed, ref-del.sed.
2148 (charset.alias): New rule.
2149 (PACKAGE): New variable.
2150 (ref-add.sed, ref-del.sed): New rules.
2151 (MKINSTALLDIRS): New variable.
2152 (install_data): Depend on install_charset_data.
2153 (install_charset_data): New rule for creating or updating
2155 (uninstall_sub): Depend on uninstall_charset_data.
2156 (uninstall_charset_data): New rule for uninstalling or updating
2158 * src/preproc/preconv/preconv.cpp: Include localcharset.h instead
2160 (main): Initialize default_encoding from locale_charset() instead of
2161 nl_langinfo(CODESET).
2163 * aclocal.m4, configure, src/include/config.hin: Regenerated.
2165 2006-01-10 Werner LEMBERG <wl@gnu.org>
2167 * src/preproc/preconv/preconv.cpp (conversion_iconv): Use
2168 ICONV_CONST in call to iconv. Reported by Robert Goulding.
2170 2006-01-07 Werner LEMBERG <wl@gnu.org>
2172 * font/devps/generate/freeeuro.sfd: Run auto-hinter with recent
2174 Bump font version to 001.001.
2176 * font/devps/generate/Makefile (freeeuro.afm, freeeuro.pfa):
2177 Call fontforge, not pfaedit.
2179 * font/devps/freeeuro.afm, font/devps/freeeuro.pfa: Regenerated.
2181 2006-01-05 Ruslan Ermilov <ru@FreeBSD.org>
2183 * tmac/doc-common: Add new FreeBSD and NetBSD versions.
2184 * tmac/groff_mdoc.man: Updated.
2186 2006-01-05 Werner LEMBERG <wl@gnu.org>
2188 * src/preproc/preconv/preconv.cpp: s/debug/debug_flag/.
2189 (raw_flag): New global variable.
2190 (do_file): Use .lf to set file name (if `raw_flag' isn't set).
2191 Don't pass BOM to `conversion_utf8'.
2193 (main): Handle `-r' command line switch to set `raw_flag'.
2194 (get_BOM): Fix encodings in `BOM_table'.
2196 * src/preproc/preconv/preconv.man: New file. Not complete yet.
2197 * src/preproc/proconv/Makefile.sub (MAN1): New variable.
2199 2006-01-04 Werner LEMBERG <wl@gnu.org>
2201 * src/preproc/preconv/preconv.cpp (emacs_to_mime): As suggested by
2202 Bruno, comment out most encodings to support only a small set of
2203 coding tags, thus reducing potential problems with legacy encodings
2204 and character sets in the future.
2205 Add many XEmacs coding tags (now commented out).
2207 (check_encoding_tag): Renamed to...
2208 (check_coding_tag): This.
2209 (get_BOM): Return encoding as specified by BOM.
2210 Test for UTF32-LE too.
2211 (do_file): Don't check for coding tag if a BOM has been found.
2213 2006-01-03 Bruno Haible <bruno@clisp.org>
2215 * m4/groff.m4: Renamed from aclocal.m4.
2216 * m4/codeset.m4: New file, from gnulib.
2217 * m4/iconv.m4: New file, from gnulib.
2218 * m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4: New files, from
2220 * config.rpath: New file, from gnulib.
2221 * config.guess, config.sub: New files, from gnulib.
2222 * Makefile.sub (M4MACROS): New variable.
2223 (configure): Fix typo.
2224 (aclocal.m4): New rule.
2225 (stamp-h.in): Depend on aclocal.m4.
2226 * configure.ac: Invoke AM_ICONV and AM_LANGINFO_CODESET.
2227 * Makefile.in (LIBICONV): New variable.
2228 (MDEFINES): Pass it to recursive makes.
2229 * src/preproc/preconv/preconv.cpp: Use HAVE_LANGINFO_CODESET and
2230 HAVE_ICONV instead of I18N macro.
2231 * src/preproc/preconv/Makefile.sub (EXTRA_LDFLAGS): New variable.
2233 * aclocal.m4, configure, src/include/config.hin: (Re)generated.
2235 2006-01-03 Werner LEMBERG <wl@gnu.org>
2237 * doc/Makefile.in (webpage.html): Simplify.
2238 * doc/Makefile.sub (webpage.html): Synchronize with doc/Makefile.in.
2239 * doc/webpage.ms, tmac/groff_www.man, tmac/www.tmac: Minor updates.
2241 2006-01-01 Werner LEMBERG <wl@gnu.org>
2243 * tmac/doc-common (Os): Add some Darwin versions.
2244 * tmac/groff_mdoc.man: Document them.
2246 2006-01-01 Bruno Haible <bruno@clisp.org>
2248 * src/preproc/preconv/preconv.cpp (emacs_to_mime): Various
2250 . Don't map ascii to latin-1.
2251 . Don't use IBMxxx encodings but cpxxx for portability.
2252 . Map cp932, cp936, cp949, cp950 to itself.
2253 (emacs2mime): Protect calls to strcasecmp.
2254 (conversion_iconv): Add missing call to iconv_close.
2255 (do_file): Emit error message in case of unsupported encoding.
2257 2005-12-31 Werner LEMBERG <wl@gnu.org>
2259 Integrate preconv into the groff binary. Changes based on a patch
2260 from Michail Vidiassov.
2262 * src/roff/groff/pipeline.h (MAX_COMMANDS): Increase by 1.
2264 * src/roff/groff/groff.cpp (PRECONV_INDEX): New macro.
2265 (SOELIM_INDEX): Updated.
2266 (help, synopsis): Updated.
2267 (main): Add command line options `-k' and `-K enc' to select
2269 Add support for GROFF_ENCODING environment variable.
2271 * src/roff/groff/groff.man: Updated and revised.
2274 Start with autoconf support for preconv.
2276 * configure.ac: Call AC_C_BIGENDIAN.
2277 * configure, src/include/config.hin: Regenerated.
2279 2005-12-30 Werner LEMBERG <wl@gnu.org>
2281 New preprocessor `preconv' to convert input encodings to something
2282 groff can understand. Not yet integrated within groff. Proper
2283 autoconf stuff is missing too.
2285 Tomohiro Kubota has written a first draft of this program, and some
2286 ideas have been reused (while almost no code has been taken
2289 * src/preproc/preconv/preconv.cpp. src/preproc/preconv/Makefile.sub:
2292 * MANIFEST, Makefile.in (CCPROGDIRS), test-groff.in
2293 (GROFF_BIN_PATH): Add preconv.
2295 2005-12-12 Werner LEMBERG <wl@gnu.org>
2297 * aclocal.m4 (GROFF_MAKEINFO): Fix regexps to be POSIX conformant.
2298 In particular, don't use `\+' since it is a GNU sed extension.
2300 * configure: Regenerated.
2302 2005-12-09 Werner LEMBERG <wl@gnu.org>
2304 * src/libs/libgroff/make-uniuni: New script to generate uniuni.cpp.
2306 * src/libs/libgroff/uniuni.cpp: Regenerated, using data from Unicode
2310 * src/utils/afmtodit/make-afmtodit-tables: New script to generate
2313 * src/utils/afmtodit/afmtodit.tables: New file, representing Unicode
2316 * src/utils/afmtodit/afmtodit.pl (%unicode_decomposed,
2317 %AGL_to_unicode): Removed. Replace it with a tag.
2319 * src/utils/afmtodit/Makefile.sub (afmtodit): Adjust sed expression
2320 to replace tag with actual file contents.
2322 2005-12-08 Werner LEMBERG <wl@gnu.org>
2324 The change 2005-06-20 can indeed cause problems, so we follow the
2325 advice by using marks.
2327 * font/devps/prologue.ps (PBEGIN): Use `mark'.
2328 (PEND): Use `cleartomark'.
2330 2005-12-07 Michail Vidiassov <master@iaas.msu.ru>
2332 * src/utils/afmtodit.pl: Fix kerning output to avoid warnings for
2333 glyphs which have kern values but aren't handled (glyph variants,
2336 2005-12-02 Werner LEMBERG <wl@gnu.org>
2338 * src/devices/grops/ps.cpp (ps_printer::get_subfont): Use correct
2339 subfont index. Reported by Michail Vidiassov <master@iaas.msu.ru>.
2341 2005-11-28 Gaius Mulley <gaius@glam.ac.uk>
2343 * doc/Makefile.in: Separate rule for webpage.html so that extra
2344 command line options can be passed to grohtml.
2345 * doc/groff.css: Change all margins to 0%.
2346 * doc/webpage.ms: Now use new macros ALN, LNS, and LNE so that left
2347 navigation is exploited. Also update webpage to contain new
2348 sections on licenses, mailing lists, cvs/ftp access, groff
2349 dependencies, and bug reports.
2350 * tmac/groff_www.man: Document the new macros ALN, LNS, and LNE.
2351 * tmac/www.tmac: Implement the new macros ALN, LNS, and LNE.
2353 2005-11-25 Gaius Mulley <gaius@glam.ac.uk>
2355 * src/devices/grohtml/post-html.cpp
2356 (html_printer::do_file_components): Add fputs calls to emit the
2357 head contents and shut down the head tag whenever a new file
2358 component is generated.
2360 2005-11-22 Gaius Mulley <gaius@glam.ac.uk>
2362 * src/devices/grohtml/post-html.cpp (html_printer::flush_page): Add
2363 call to flush_text to flush any outstanding html tags on the
2366 2005-11-18 Werner LEMBERG <wl@gnu.org>
2368 * aclocal.m4 (GROFF_MAKEINFO): Use `groff.info' in tests.
2369 Announce makeinfo version.
2370 * configure: Regenerated.
2372 2005-11-18 Mike Frysinger <vapier@gentoo.org>
2374 * Makefile.in: Declare proper dependencies between make targets.
2376 * doc/Makefile.in: Rename groff info page to `groff.info'.
2377 * doc/Makefile.sub: Likewise.
2378 * doc/groff.texinfo: Likewise.
2380 2005-11-17 Peter O'Gorman <mlists@thewrittenword.com>
2382 * src/utils/pfbtops/pfbtops.c, src/utils/xtotroff/xtotroff.c: Move
2383 definition of __GETOPT_PREFIX to the beginning of file to ensure
2384 that it is defined even on platforms where getopt.h is already
2385 included by other header files.
2387 2005-11-10 Gaius Mulley <gaius@glam.ac.uk>
2389 * src/devices/grohtml/post-html.cpp (html_printer::do_heading):
2390 Reset font to NULL to ensure that a font block is recreated during
2393 2005-11-04 Werner LEMBERG <wl@gnu.org>
2395 * aclocal.m4 (GROFF_MAKEINFO): Fix sed expression.
2396 * configure: Regenerated.
2398 2005-10-27 Werner LEMBERG <wl@gnu.org>
2400 * aclocal.m4 (GROFF_MAKEINFO): New function for checking whether
2401 makeinfo 4.8 or newer is available.
2402 * configure.ac: Call GROFF_MAKEINFO.
2403 * configure: Regenerated.
2405 * Makefile.in (MAKEINFO): Use autoconf variable.
2406 (MDEFINES): Add MAKEINFO.
2408 * doc/Makefile.in (MAKEINFO): Use autoconf variable.
2409 * doc/Makefile.sub (MAKEINFO): Remove.
2411 2005-10-26 Werner LEMBERG <wl@gnu.org>
2413 * REVISION: Set to 3.
2415 2005-10-17 Werner LEMBERG <wl@gnu.org>
2417 Mention $MANPAGER variable used with some `man' systems.
2419 * doc/webpage.ms, src/devices/grotty/grotty.man, NEWS: Updated.
2421 2005-09-13 Werner LEMBERG <wl@gnu.org>
2423 * tmac/hyphenex.us: New version (`ushyphex.tex' from ftp.dante.de).
2425 2005-09-04 Werner LEMBERG <wl@gnu.org>
2427 Version 1.19.2 released
2428 =======================
2430 * tmac/groff_ms.man, doc/groff.texinfo: Synchronize.
2432 * doc/webpage.ms: Updated.
2434 * install-sh, mkinstalldirs: New versions; taken from texinfo CVS.
2436 2005-09-04 Jörgen Grahn <jgrahn@algonet.se>
2438 * tmac/groff_ms.man: Document `PO' better.
2440 2005-09-03 Werner LEMBERG <wl@gnu.org>
2442 * NEWS: Document grotty changes.
2444 2005-09-01 Keith Marshall <keith.d.marshall@ntlworld.com>
2446 Backward compatibility support for `man' program.
2448 * tmac/an-old.tmac (LL): Initialize it to respect prior LL register
2449 assignment, prior `.ll' request and then package defaults, in this
2450 specified order of decreasing priority.
2452 * tmac/groff_man.man, doc/groff.texinfo (Man options): Document
2453 altered `LL' register initialization priorities.
2455 2005-08-29 Gary W. Swearingen <garys@opusnet.com>
2457 * tmac/groff_mdoc.man: Go into more details how the `AUTHORS'
2458 section should look like.
2460 2005-08-29 Werner LEMBERG <wl@gnu.org>
2462 * tmac/groff_mdoc.man: The month's name in a call to .Dd shouldn't
2465 2005-08-27 Bernd Warken
2467 * tmac/groff_man.man: Add man(7) too SEE ALSO and more minor
2470 2005-08-11 Bernd Warken
2472 * tmac/www.tmac (URL, MTO): Handle empty \\$1 better.
2474 2005-08-09 Bernd Warken
2476 * tmac/www.tmac (URL, MTO): Use bold series if color support is
2479 2005-08-02 Bernd Warken
2481 * doc/Makefile.sub (uninstall_sub): Use --remove, not --delete
2482 as argument to $(INSTALL_INFO). The latter isn't portable.
2483 Remove $(HTMLEXAMPLEFILES) too.
2485 * Makefile.in (uninstall_dirs): Remove $(datadir)/doc/groff and
2487 Suppress warning messages and return always true.
2489 * tmac/Makefile.sub (uninstall_sub): Remove www.tmac too.
2491 2005-07-02 Bernd Warken
2493 * src/devices/xditview/gxditview.man: Change many `.I' to `.B'.
2494 * man/groff_out.man: More markup and minor improvements.
2495 * src/roff/groff/groff.man: Minor improvements.
2497 2005-06-28 Werner LEMBERG <wl@gnu.org>
2499 * ChangeLog: Split off older entries into...
2500 * ChangeLog.115 ChangeLog.116, ChangeLog.117, ChangeLog.118: New
2503 2005-06-26 Bernd Warken
2505 * src/devices/xditview/gxditview.man: More minor fixes.
2507 2005-06-24 Werner LEMBERG <wl@gnu.org>
2509 * src/preproc/pic/troff.cpp (troff_output::set_fill,
2510 troff_output::set_color, troff_output::reset_color): Use .bcolor and
2511 .fcolor instead of \m and \M, respectively.
2513 2005-06-23 Bernd Warken
2515 * src/devices/xditview/gxditview.man: More minor fixes.
2516 * README: Formatting issues.
2517 Mention some problems with Debian.
2519 2005-06-23 Bernd Warken
2521 * src/devices/xditview/gxditview.man: Revised and improved.
2523 2005-06-22 Werner LEMBERG <wl@gnu.org>
2525 Another round in fixing getopt problems. Hopefully the last one!
2526 This time we use the getopt stuff from gnulib and define a prefix
2527 unconditionally so that there are no collisions with any other
2528 getopt implementations. This is a slight waste of space in case
2529 we already use a GNU getopt implementation, but on
2530 the other hand it really simplifies life.
2532 * src/include/getopt.h: Use gnulib version.
2534 * src/include/getopt_int.h: Use gnulib version.
2536 * src/include/groff-getopt.h: Removed. Obsolete now.
2538 * src/include/lib.h: Regarding getopt, don't handle any platform
2539 specially; just include getopt.h.
2540 (__GETOPT_PREFIX): Define (before getopt.h).
2542 * src/include/Makefile.sub (HDRS): Updated.
2544 * src/libs/libgroff/getopt1.c, src/libs/libgroff/getopt.c: Use
2547 * src/libs/libgroff/Makefile.sub (EXTRA_CFLAGS): Set
2550 * src/utils/pfbtops/pfbtops.c, src/utils/xtotroff/xtotroff.c
2551 (__GETOPT_PREFIX): Define (before getopt.h).
2553 2005-06-21 Werner LEMBERG <wl@gnu.org>
2555 * src/include/lib.h: Provide a fix for Mac OS X to not include
2558 2005-06-20 Denis M. Wilson <dmw@oxytropis.plus.com>
2560 * font/devps/prologue.ps (EP): Dont' use `bind'. Reason: Using
2561 `bind' to define a procedure which contains `showpage' means that an
2562 invocation of `showpage' may execute wrongly (the exact effect
2563 depending on the interpreter). Not usually a problem except under
2564 transformations, such as combining pages.
2565 (PEND): Don't call `clear'. Reason: Using `clear' in the definition
2566 of /PEND means that stack underflow will occur if the stack is
2567 deliberately non-empty before document inclusion. If included
2568 files are found to be generally badly behaved, we could replace the
2569 `clear' with `mark' in /PBEGIN and `cleartomark' in /PEND (I've
2570 never found this necessary).
2572 2005-06-20 Jörgen Grahn <jgrahn@algonet.se>
2574 * src/preproc/soelim/soelim.cpp (do_file): Append trailing zero
2575 earlier to get correct error message.
2577 2005-06-16 Bernd Warken
2578 * src/roff/nroff/nroff.sh: Add support for iso-8859-15.
2580 2005-06-15 Werner LEMBERG <wl@gnu.org>
2582 Another try to update getopt files. This time we add a dummy
2583 gettext.h file to satisfy the dependency.
2585 * src/include/getopt.h, src/libs/libgroff/getopt.c,
2586 src/libs/libgroff/getopt1.c: Updated from GNU libc CVS.
2588 * src/include/getopt_int.h: New file (from GNU libc CVS).
2590 * src/include/gettext.h: Dummy file which just defines a gettext()
2593 * src/include/groff-getopt.h: Updated.
2595 * src/include/Makefile.sub (HDRS): Add getopt_int.h and gettext.h.
2598 * src/libs/libdriver/input.cpp (IntArray): Remove superfluous
2599 `const' keywords in return value.
2601 * src/preproc/html/pushback.cpp (pushBackBuffer::~pushBackBuffer):
2602 Remove redundant variable `old'.
2603 (pushBackBuffer::skipToNewline): Remove redundant variable `ch'.
2605 * src/preproc/tbl/main.cpp (process_table): Remove redundant
2609 Fix more friend name injection problems since modern C++ compilers
2610 fail otherwise. We simply provide (global) declarations for all
2611 functions declared as friends. This is not really necessary but
2614 * src/preproc/eqn/lex.cpp: Provide declarations for get_char,
2615 peek_char, and get_location.
2617 * src/preproc/refer/ref.h: Provide declarations for
2618 compare_reference, same_reference, same_year, same_date,
2619 same_author_last_name, and same_author_name.
2621 * src/roff/troff/div.h: Provide declarations for do_divert and
2624 * src/roff/troff/env.h: Provide declarations for title_length,
2625 space_size, fill, no_fill, adjust, no_adjust, center, right_justify,
2626 vertical_spacing, post_vertical_spacing, line_spacing, line_length,
2627 indent, temporary_indent, do_underline, do_input_trap, set_tabs,
2628 margin_character, no_number, number_lines, leader_character,
2629 tab_character, hyphenate_request, no_hyphenate,
2630 hyphen_line_max_request, hyphenation_space_request,
2631 hyphenation_margin_request, line_width, tabs_save, tabs_restore,
2632 line_tabs_request, widow_control_request, and do_divert.
2634 * src/roff/troff/input.cpp: Provide declaration for chop_macro.
2636 * src/roff/troff/node.cpp: Provide declarations for class
2638 Provide declaration for make_tfont.
2640 2005-05-29 Werner LEMBERG <wl@gnu.org>
2642 * doc/fdl.texi: Updated to version 1.2. Reported by Bernd Warken.
2644 2005-05-28 Werner LEMBERG <wl@gnu.org>
2646 * src/devices/grolbp/lbp.cpp, src/devices/grolbp/lbp.h: Remove
2647 redundant semicolons.
2649 * src/preproc/eqn/Makefile.sub, src/preproc/html/Makefile.sub,
2650 src/preproc/soelim/Makefile.sub, src/preproc/tbl/Makefile.sub:
2651 Define `MLIB'. Some compilers need this for linking with libgroff.
2653 2005-05-27 Werner LEMBERG <wl@gnu.org>
2655 * MANIFEST, README, doc/webpage.ms: Updated.
2657 2005-05-26 Werner LEMBERG <wl@gnu.org>
2659 * All affected files: Update postal address of FSF.
2661 2005-05-25 Keith Marshall <keith.d.marshall@ntlworld.com>
2664 * README: More fixes.
2666 * README.CVS: Removed. Its contents is now part of the README file.
2668 2005-05-21 Werner LEMBERG <wl@gnu.org>
2670 * README: Updated. Based on a patch from Bernd Warken.
2672 2005-05-16 Keith Marshall <keith.d.marshall@ntlworld.com>
2674 Miscellaneous script portability enhancements.
2676 * aclocal.m4: (GROFF_CSH_HACK): Add space in shebang prototype for
2677 generated conftest.sh script, conforming to portability
2678 recommendation in autoconf docs.
2679 * configure: Likewise, for code generated by GROFF_CSH_HACK.
2680 * contrib/eqn2graph/eqn2graph.sh: Add space in shebang, conforming
2681 to portability recommendation in autoconf docs.
2682 * contrib/grap2graph/grap2graph.sh: Likewise.
2683 * contrib/pic2graph/pic2graph.sh: Likewise.
2684 * font/devps/generate/afmname: Likewise.
2685 * src/devices/xditview/ad2c: Likewise.
2686 * src/preproc/eqn/neqn.sh: Likewise.
2687 * src/roff/grog/grog.pl: Likewise.
2688 * src/roff/grog/grog.sh: Likewise.
2689 * src/roff/nroff/nroff.sh: Likewise.
2690 * PROBLEMS: Likewise, in embedded script examples.
2692 2005-05-16 Keith Marshall <keith.d.marshall@ntlworld.com>
2694 Improve portability of `pdfroff' shell script.
2696 * arch/misc/shdeps.sh: Add space in shebang, conforming to
2697 portability guidelines in `autoconf' docs.
2698 (PATH_SEARCH_SETUP): New substitution; emits PATH_SEPARATOR
2699 initialization code. Used by contrib/pdfmark/pdfroff.sh's
2700 `searchpath' function.
2702 2005-05-14 Werner LEMBERG <wl@gnu.org>
2704 * contrib/pic2graph/pic2graph.sh, contrib/graph2graph.sh,
2705 contrib/eqn2graph.sh: Add option `-trim' to `convert' which is
2706 needed for newer ImageMagick versions.
2708 2005-05-07 Werner LEMBERG <wl@gnu.org>
2710 * src/preproc/refer/refer.man: Many small typographic fixes.
2712 2005-05-06 Jeff Conrad <jeff_conrad@msn.com>
2714 * src/devices/grohtml/post-html.cpp (assert_state::~assert_state):
2715 Use `char *' cast for a_delete.
2717 2005-05-03 Werner LEMBERG <wl@gnu.org>
2719 * src/libs/libgroff/maxpathname.cpp: Include stdlib.h.
2720 src/libs/libgroff/relocate.cpp: Use path_name_max everywhere.
2722 2005-05-03 Jeff Conrad <jeff_conrad@msn.com>
2724 * src/devices/grohtml/post-html.cpp: Use casts to `char *' if using
2725 `a_delete' for `const char *'.
2727 2005-05-03 Werner LEMBERG <wl@gnu.org>
2729 * src/devices/grohtml/post-html.cpp,
2730 src/devices/grohtml/html-table.cpp,
2731 src/devices/grohtml/html-text.cpp, src/devices/grohtml/output.cpp:
2732 Replace malloc/free with new/delete/a_delete.
2734 * src/devices/grolbp/lbp.h: Remove superfluous semicolons which
2735 are prohibited with ANSI C++.
2736 (lbpprintf, vdmprintf): Remove useless `inline' keyword (since the
2737 function has a variable number of arguments).
2739 * src/preproc/grn/main.cpp (doinput): Change return type to `int'.
2740 Simplify function and update all callers.
2742 2005-05-02 Werner LEMBERG <wl@gnu.org>
2744 Undo getopt changes from 2005-04-30. We don't want a dependency
2747 * src/include/getopt_int.h: Removed.
2749 * src/include/getopt.h, src/include/groff-getopt.h,
2750 src/include/Makefile.sub, src/libs/libgroff/getopt.c,
2751 src/libs/libgroff/getopt1.c: Revert to previous version.
2754 * src/include/nonposix.h (access) [_MSC_VER]: New macro.
2756 * src/include/posix.h (F_OK): Define conditionally.
2758 * src/devices/grotty/tty.cpp (tty_printer::make_underline): Use
2759 different variable name in second `for' loop to avoid MSVC compiler
2762 2005-04-30 Werner LEMBERG <wl@gnu.org>
2764 AC_TYPE_SIGNAL from current autoconf can fail if CC=g++.
2766 * aclocal.m4 (GROFF_TYPE_SIGNAL): New function.
2767 * configure.ac: Use GROFF_TYPE_SIGNAL, not AC_TYPE_SIGNAL.
2768 * configure, src/include/config.hin: Regenerated.
2770 * PROBLEMS: Updated.
2773 Update getopt files.
2775 * src/include/getopt.h, src/libs/libgroff/getopt.c,
2776 src/libs/libgroff/getopt1.c: Updated from GNU libc CVS.
2778 * src/include/getopt_int.h: New file (from GNU libc CVS).
2780 * src/include/groff-getopt.h: Updated.
2782 * src/include/Makefile.sub (HDRS): Add getopt_int.h.
2785 * font/devutf8/NOTES: Updated.
2787 2005-04-28 Werner LEMBERG <wl@gnu.org>
2789 Bug fix for Win32 relocatable code. Based on a patch from Keith
2792 * src/libs/libgroff/maxpathname.cpp (PATH_MAX): Test for `_MAX_PATH'
2795 * src/libs/libgroff/relocate.c (DEBUG): Define it conditionally.
2796 (searchpath) [_WIN32]: Use `_fullpath', not `realpath'.
2798 2005-04-28 Keith Marshall <keith.d.marshall@ntlworld.com>
2800 Correct `gnu.eps' handling for build from distribution tarball, with
2801 separate source and build directories.
2803 * doc/Makefile.sub: (examples.stamp): New target; forces copy of
2804 grnexmpl.g, groff.css and gnu.eps from source to build directory;
2805 generate gnu.eps from gnu.xpm if required; touch examples.stamp.
2806 (prepare_examples): Make it depend on examples.stamp.
2807 (CLEANADD): Add examples.stamp.
2809 2005-04-27 Werner LEMBERG <wl@gnu.org>
2813 position: `(' position `)'
2817 * src/preproc/pic/pic.y (position, position_not_place): Handle
2818 additional parentheses.
2820 * doc/pic.ms: Updated.
2822 2005-04-23 Larry Jones <lawrence.jones@ugs.com>
2824 * src/utils/xtotroff/xtotroff.c (MapFont): Fix variable declaration.
2826 2005-04-18 Werner LEMBERG <wl@gnu.org>
2828 * src/roff/groff/pipeline.c: Don't include ctype.h.
2830 2005-04-13 Werner LEMBERG <wl@gnu.org>
2832 * src/roff/nroff/nroff.man: Document option `-M'.
2834 2005-04-13 Bruce Lilly <blilly@erols.com>
2836 * src/roff/nroff/nroff.sh: Make the script accept option `-M'.
2838 2005-04-01 Kees Zeelenberg <kzlg@users.sourceforge.net>
2839 Werner LEMBERG <wl@gnu.org>
2841 Add binary relocation support for Windows platforms.
2843 * src/include/Makefile.sub (defs.h): Add `INSTALLPATH'.
2845 * src/include/relocate.h, src/libs/libgroff/relocate.cpp: New files.
2847 * src/libs/libgroff/searchpath.cpp: Handle `relocate'.
2848 (search_path::search_path, search_path::open_file_cautious): Use
2851 * src/libs/libgroff/Makefile.sub (OBJS, CCSRCS),
2852 src/include/Makefile.sub (HDRS): Updated.
2854 2005-04-01 Werner LEMBERG <wl@gnu.org>
2856 * src/devices/grohtml/post-html.cpp: Don't use strdup/free but
2859 * src/libs/libgroff/font.cpp: Replace strdup with strsave.
2861 * src/libs/libgroff/maxfilename.cpp: Don't include limits.h since
2862 lib.h already does it.
2864 * src/libs/libgroff/maxpathname.cpp: New file, defining
2867 * src/include/lib.h: Add prototype for path_name_max.
2869 * src/libs/libgroff/Makefile.sub (OBJS, CCSRCS): Updated.
2871 * src/include/nonposix.h (PATH_EXT): New macro.
2873 2005-03-28 Werner LEMBERG <wl@gnu.org>
2875 Add support for double- and zero-width characters in grotty.
2877 * src/devices/grotty/tty.cpp (glyph): Add width.
2878 (tty_printer::make_underline, tty_printer::make_bold,
2879 tty_printer::add_character): Add parameter to pass character width.
2881 (tty_printer::end_page): Increase hpos by actual character width.
2883 * font/devutf8/R.proto: Specify zero width for non-spacing
2886 * tmac/unicode.tmac: Remove definitions for non-spacing entities.
2888 * Makefile.comm (extraclean): Remove more junk files.
2890 2005-03-25 Werner LEMBERG <wl@gnu.org>
2892 * configure.ac: Undo change from 2005-03-24.
2893 * configure: Regenerated.
2895 2005-03-24 Werner LEMBERG <wl@gnu.org>
2897 * Makefile.in (NOMAKEDIRS): Add contrib/gdiffmk/tests.
2898 (dist): Search Makefile while descending into $(EXTRADIRS).
2900 * doc/Makefile.in (.PHONY): Add.
2901 (clean): Don't remove *.png and *.eps.
2903 (realclean): Remove *.png and *.eps.
2904 (extraclean): Depend on distclean.
2906 * configure.ac: Add copyright.
2907 Handle contrib/pdfmark/Makefile.
2909 * configure: Regenerated.
2911 2005-03-18 Larry Kollar <kollar@alltel.net>
2913 Add numbered and definition lists to www.tmac.
2915 * tmac/www.tmac (www-ul-level1, www-ul-level2, www-ul-level3,
2916 www-ol-level1, www-ol-level2, www-ol-level3, www-ol-tmp): New
2917 auxiliary string registers.
2918 (www-ul-level, www-ol-level, www-dl-level, www-ol-ctr1, www-ol-ctr2,
2919 www-ol-ctr3, www-dl-shift): New auxiliary number registers.
2920 (www-level): Removed.
2921 (www-level1, www-level2, www-level3): Initialize to empty.
2922 (www-level0, www-level4, www-level5, www-level6, www-level7,
2923 www-level8, www-level9): New string registers.
2924 (www-push-li, www-pop-li): New macros.
2925 (www-push-level, www-pop-level): Renamed to...
2926 (www-push-ul-level, www-pop-ul-level): This.
2928 (www-push-ol-level, www-pop-ol-level): New macros.
2929 (ULS, ULE): Updated.
2930 (OLS, OLE, DLS, DLE): New user macros.
2931 (LI): Removed. It is aliased to one of...
2932 (www-li-ul, www-li-ol, www-li-dl): New macros.
2934 * tmac/groff_www.man: Document new macros.
2938 2005-03-18 Werner LEMBERG <wl@gnu.org>
2940 * tmac/doc-common (doc-operating-system-NetBSD-2.0.1,
2941 doc-operating-system-NetBSD-2.0.2): New strings.
2943 * tmac/groff_mdoc.man: Updated.
2945 2005-03-17 Werner LEMBERG <wl@gnu.org>
2947 * doc/Makefile.sub (CLEANADD): Add `groff.html'.
2949 2005-03-17 Werner LEMBERG <wl@gnu.org>
2951 * src/libs/libgroff/hypot.c: Renamed to...
2952 * src/libs/libgroff/hypot.cpp: This. Updated to C++.
2954 * src/libs/libgroff/Makefile.sub (CCSRCS, CSRCS): Updated.
2956 * src/include/lib.h: Updated.
2958 2005-03-16 Werner LEMBERG <wl@gnu.org>
2960 Add workaround for broken hypot() on Interix.
2962 * src/libs/libgroff/hypot.c: New wrapper file for `hypot'.
2964 * src/libs/libgroff/Makefile.sub (OBJS): Add `hypot.o'.
2965 (CSRCS): Add `hypot.c'.
2967 * src/include/lib.h: Declare `groff_hypot'.
2969 * src/preproc/grn/hgraph.cpp: Don't declare `hypot'.
2972 * src/preproc/pic/pic.h: Don't declare `hypot'.
2974 * src/preproc/pic/object.cpp (hypot): Use `groff_hypot'.
2976 2005-03-15 Gaius Mulley <gaius@glam.ac.uk>
2978 * src/devices/grohtml/post-html.cpp
2979 (html_printer::lookahead_for_tables): End .ce properly to avoid a
2982 2005-03-15 Werner LEMBERG <wl@gnu.org>
2984 makeinfo 4.8 doesn't produce good HTML output from groff.texinfo.
2986 * doc/fixinfo.sh: New script to postprocess makeinfo's HTML output.
2988 * doc/Makefile.in (.texinfo.html): Call fixinfo.sh.
2990 2005-03-14 Werner LEMBERG <wl@gnu.org>
2992 Add Cyrillic support to devutf8 and devhtml.
2994 * font/devutf8/R.proto, font/devhtml/R.proto: Add Cyrillic blocks.
2996 * tmac/unicode.tmac: New file.
2998 * tmac/tty.tmac: Include unicode.tmac if device is utf8.
3000 * tmac/Makefile.sub (NORMALFILES): Add unicode.tmac.
3004 2005-03-02 Keith Marshall <keith.d.marshall@ntlworld.com>
3006 * src/libs/libdriver/printer.cpp (check_for_output_error): New
3007 function. It has been introduced to catch peculiar error contexts
3008 on MS-Windows platforms.
3010 2005-02-28 Werner LEMBERG <wl@gnu.org>
3012 * src/roff/troff/input.cpp (string_iterator::fill): Protect against
3015 * tmac/papersize.tmac: Convert `paper' string contents to lowercase.
3017 * configure: Regenerated.
3021 2005-02-28 Keith Marshall <keith.d.marshall@ntlworld.com>
3023 Integrate `pdfmark' into normal groff build system;
3024 install macro `pdfmark' packages, build and install `pdfroff',
3025 and PDF format documentation.
3027 * Makefile.comm: Add PDFDOCDIR.
3029 * Makefile.in: (MDEFINES) ALT_AWK_PROGS, ALT_GHOSTSCRIPT_PROGS,
3030 pdfdocdir, make_pdfdoc, make_install_pdfdoc: New variables.
3031 (unstall_dirs): Add pdfdocdir.
3033 * aclocal.m4: (GROFF_GHOSTSCRIPT_PREFS): New function; support
3034 `--with-alt-gs' option, set ALT_GHOSTSCRIPT_PROGS.
3035 (GROFF_GHOSTSCRIPT_PATH): Support `--with-gs' option, force use of
3036 GROFF_GHOSTSCRIPT_PREFS, set GHOSTSCRIPT.
3037 (GROFF_HTML_PROGRAMS): Force use of GROFF_GHOSTSCRIPT_PATH; tidy up.
3038 (GROFF_AWK_PREFS): New function; support `--with-alt-awk' option,
3040 (GROFF_AWK_PATH): New function; support `--with-awk' option, force
3041 use of GROFF_AWK_PREFS.
3042 (GROFF_PDFDOC_PROGRAMS): New function; force use of GROFF_AWK_PATH
3043 and GROFF_GHOSTSCRIPT_PATH, set make_pdfdoc and make_install_pdfdoc.
3045 * configure.ac: Add AC_PREREQ(2.59), GROFF_PDFDOC_PROGRAMS.
3046 Remove GROFF_GHOSTSCRIPT_PATH, (forced by GROFF_PDFDOC_PROGRAMS, and
3047 also by modified GROFF_HTML_PROGRAMS).
3049 2005-02-27 Gaius Mulley <gaius@glam.ac.uk>
3051 * src/devices/grohtml/html-text.cpp (html_text::do_pre): Preserve
3053 (html_text::done_para): Unset `start_space'.
3054 (html_text::remove_para_align): Call `retrieve_para_space' for the
3057 * src/devices/grohtml/post-html.cpp (html_printer::emit_raw): Unset
3059 (html_printer::do_check_center): Emit vertical space if necessary.
3061 * src/roff/troff/env.cpp (environment_switch): Preserve
3062 `seen_space', `seen_eol', and `suppress_next_eol' while switching
3065 * src/roff/troff/node.cpp (suppress_node::suppress_node): Set
3068 2005-02-20 Werner LEMBERG <wl@gnu.org>
3070 * src/preproc/eqn/eqn.man, NEWS: Document various extensions of
3073 2005-02-17 Werner LEMBERG <wl@gnu.org>
3075 * doc/pic.ms, man/groff.man: Fix typos.
3077 * doc/groff.texinfo: Fix typos.
3078 (\LEmacro): Get proper mathematical spacing.
3080 2005-02-16 Werner LEMBERG <wl@gnu.org>
3082 * aclocal.m4 (GROFF_APPRESDIR_CHECK): Improve warning message.
3083 * configure: Regenerated with autoconf 2.59b.
3085 2005-02-16 Gaius Mulley <gaius@glam.ac.uk>
3087 * src/devices/grohtml/post-html.cpp (html_printer::is_line_start,
3088 html_printer::start_font): Fix handling of preformatted text.
3090 2005-02-15 Gaius Mulley <gaius@glam.ac.uk>
3092 These patches modify the indentation implementation to use `<p
3093 style=margin-left: n%>'. Many thanks to Peter and Larry for
3094 suggesting this solution. Grohtml only uses tables for `.IP' and
3095 related tags when the first operand has a short width.
3097 Similarly, they modify all vertical space code. By default, grohtml
3098 sets up a style sheet which uses no vertical space between `table',
3099 `pre', and `p' tags. It forces spaces when it needs them using
3100 `style="margin-top: 1em"'.
3102 * src/devices/grohtml/html-table.cpp: Include `html-text.h'.
3103 (html_table::emit_table_header, html_table::emit_new_row):
3105 (html_table::set_space): New function.
3106 (html_indent::html_indent): Don't set `is_used'.
3107 (html_indent::begin): Rewritten.
3108 (html_indent::end): Remove code in function.
3110 * src/devices/grohtml/html-table.h: Updated.
3111 (html_table): Make `out' public.
3113 * src/devices/grohtml/html-text.cpp (html_text::html_text):
3114 Initialize `start_space' with FALSE.
3115 (html_text::end_tag) <P_TAG, PRE_TAG>: Updated.
3116 (html_text::issue_tag): Add argument to handle space style.
3117 (html_text::start_tag) <P_TAG, PRE_TAG>: Updated.
3118 (html_text::flush_text): Don't set `start_space'.
3119 (html_text::push_para): Don't set `p->really_issued'.
3120 (html_text::do_emittext): Updated.
3121 (html_text::do_para): Add paremeter to handle space.
3123 (html_text::retrieve_para_space): New function.
3125 * src/devices/grohtml/html-text.h (STYLE_VERTICAL_SPACE): New macro.
3126 (tag_definition): Remove `really_issued'.
3127 (html_text): Updated.
3129 * src/devices/grohtml/post-html.cpp (html_printer): Add variables
3130 `current_column' and `row_space'.
3132 (html_printer::emit_raw, html_printer::write_header,
3133 html_printer::do_indent, html_printer::do_check_center,
3134 html_printer::do_tab_ts): Handle vertical space.
3135 (html_printer:do_tab_te, html_printer::do_end_para): Call
3136 `remove_para_space'.
3137 (html_printer::do_col): Rewritten.
3138 (html_printer::flush_globs): Remove debugging code.
3139 (html_printer::is_line_start): New function.
3140 (html_printer::start_font): Use `is_line_start'.
3141 (html_printer::writeHeadMetaStyle): New function.
3142 (html_printer::do_file_components, html_printer::~html_printer):
3143 Call `writeHeadMetaStyle'.
3145 * tmac/www.tmac (www-handle-percent): New macro.
3146 (MPIMG): Handle percent values for width and height parameters.
3149 * tmac/groff_www.man: Updated.
3151 2005-02-14 Werner LEMBERG <wl@gnu.org>
3153 * src/utils/afmtodit/afmtodit.pl: Remove an incorrect `my' from
3154 $psname and $italic_angle.
3155 Immediately restart file input loops if `split' returns an empty
3158 2005-02-13 Michail Vidiassov <master@iaas.msu.ru>
3159 Werner LEMBERG <wl@gnu.org>
3161 Update afmtodit to better support Unicode (Michail).
3162 Update afmtodit to use Perl 5 syntax (Werner).
3164 * src/utils/afmtodit/afmtodit.pl: Don't use `getopts.pl' but
3166 Decorate variables with `my' where necessary.
3167 Use `defined' where necessary to avoid warnings.
3168 Don't use `do' for subroutine calls.
3169 Other minor syntax updates.
3170 Check for both `uXXXX[X[X]]' and `uniXXXX'.
3171 Handle glyph variants properly.
3172 (%unicode_decomposed, %AGL_to_unicode): Don't use `u' prefix in
3175 * src/utils/afmtodit/afmtodit.man: Updated.
3177 2005-02-13 Werner LEMBERG <wl@gnu.org>
3179 Make groff.texinfo work with texinfo 4.8.
3181 * doc/groff.texinfo (@Var): Use @r and @slanted.
3182 (@defdummy, @Def*): Use @c to avoid empty lines.
3183 (\angles): Replaced with...
3184 (\Langlemacro, \Ranglemacro): New TeX macros.
3185 (@Langlemacro, @Ranglemacro): New variables defined with @set.
3186 (@angles): Use @Langlemacro and @Ranglemacro.
3187 (\LE): Replaced with...
3188 (\LEmacro): New TeX macro.
3189 (@LEmacro): New variable defined with @set.
3190 (@LE): Use @LEmacro.
3191 (@Lparenmacro, @Rparenmacro, @Lbrackmacro, @Rbrackmacro): New
3192 variables defined with @set.
3193 (@lparen, @rparen, @lbrack, @rbrack): Replaced with...
3194 (@Lparen, @Rparen, @Lbrack, @Rbrack): New macros.
3197 Other minor updates.
3199 * doc/texinfo.tex: Update to texinfo version 4.8.
3201 * README.CVS: Updated.
3203 2005-02-09 Alejandro López-Valencia <palopez@etb.net.co> (tiny change)
3205 * doc/groff.texinfo (ms Document Control Registers): Document `HY'
3206 and `FAM' registers.
3208 2005-02-05 Werner LEMBERG <wl@gnu.org>
3210 * tmac/groff_mdoc.man, tmac/doc-common, tmac/doc-ditroff,
3211 tmac/doc-nroff, tmac/doc-old.tmac, tmac/doc-syms, tmac/doc.tmac:
3214 2005-02-01 Werner LEMBERG <wl@gnu.org>
3216 * src/roff/groff/groff.man: Add information about paper size.
3218 2005-01-25 Werner LEMBERG <wl@gnu.org>
3220 * src/roff/nroff/nroff.sh: Handle `*.ISO8859-1' in locale. From
3223 2005-01-22 Ruslan Ermilov <ru@FreeBSD.org>
3225 * tmac/doc.tmac (Sm): Improved. It didn't work properly in many
3227 (Re): Emit a warning if called without `.Rs'.
3228 (doc-finish-reference): Use parameter for decreasing
3229 `doc-reference-count'.
3230 (doc-print-reference): Pass specific count parameters to
3231 `doc-finish-reference'.
3233 2005-01-21 Werner LEMBERG <wl@gnu.org>
3235 * src/libs/libdriver/input.cpp (delete_current_env, do_file):
3236 Reset pointers to zero after deallocation. This fixes a crash
3237 if a driver is called with multiple input files. Reported by
3238 Ken Chilton <ken@chiltonfamily.org>.
3240 * src/devices/grops/grops.man: Add more info on DSC.
3242 2005-01-17 Ruslan Ermilov <ru@FreeBSD.org>
3244 * tmac/doc-common (Dd), tmac/doc-ditroff (gX, doc-setup-header):
3247 2005-01-17 Werner LEMBERG <wl@gnu.org>
3249 * src/roff/troff/div.cpp (top_level_diversion::space): Protect
3250 against division by zero.
3252 2005-01-13 Ruslan Ermilov <ru@FreeBSD.org>
3254 * tmac/doc.tmac (Ef): Restore doc-curr-font and doc-curr-size.
3256 2004-12-19 Werner LEMBERG <wl@gnu.org>
3258 * install-sh: New version; taken from texinfo CVS.
3260 2004-12-17 Werner LEMBERG <wl@gnu.org>
3262 * tmac/devtag.tmac: Protect against loading twice.
3263 Protect agains compatibility mode.
3264 * tmac/www.tmac: Protect against loading twice.
3265 Load `devtag.tmac' before switching off compatibility mode.
3266 * tmac/an-old.tmac, tmac/s.tmac: Load `devtag.tmac'.
3268 2004-12-16 Mike Bianchi <mbianchi@Foveal.com>
3270 * configure.ac: Produce `contrib/gdiffmk/tests/runtests'.
3271 * configure: Updated.
3273 2004-12-15 Thomas Klausner <wiz@netbsd.org>
3275 * tmac/doc-syms, tmac/groff_mdoc.man: Add `libpam' library.
3277 2004-12-15 Werner LEMBERG <wl@gnu.org>
3279 Make `test-groff' work again -- previously, wrong paths have been
3280 used. Additionally, it can now be called from anywhere.
3282 * test-groff.in: Don't test for groff binary. This is no longer
3283 necessary since the proper paths are determined by `configure'.
3284 (EXEEXT): Removed. No longer used.
3285 (srcdir, builddir): Use values provided by the configure script.
3286 (XENVIRONMENT): Updated.
3290 2004-12-14 Gaius Mulley <gaius@glam.ac.uk>
3292 Make .tag and .taga work for all devices (but only grohtml actually
3295 * src/devices/grohtml/post-html.cpp: s/html-tag/devtag/.
3296 (text_glob::is_br, page::add_tag, html_printer::troff_tag,
3297 html_printer::handle_assertion): Don't use hard-coded string
3299 (html_printer::lookahead_for_table): Reset `tbl' properly if
3301 (html_printer::devtag): New function, handling `devtag'.
3302 (html_printer::special): Don't handle `html-tag'.
3304 * src/include/printer.h, src/libs/libdriver/printer.cpp
3305 (printer::devtag): New virtual function.
3307 * src/libs/libdriver/input.cpp (parse_x_command) <'X'>: Handle
3310 * src/roff/troff/env.cpp, src/roff/troff/mtsm.cpp,
3311 src/roff/troff/node.cpp: s/html-tag/devtag/.
3313 * src/roff/troff/input.cpp (tag, taga): Always call
3316 * tmac/an-old.tmac, tmac/s.tmac, tmac/troffrc-end: Use DEVTAG*
3317 macros instead of HTML-TAG*.
3319 * tmac/devtag.tmac: New file, defining the DEVTAG-* macros.
3321 * tmac/www.tmac: Load devtag.tmac.
3322 Replace HTML-TAG* macros with DEVTAG* macros.
3323 (HTML, HTML-NS): Changed definitions.
3325 (HTML-TAG, HTML-TAG-NS, HTML-TAG-NEXT): Removed.
3327 * tmac/Makefile.sub (NORMALFILES): Add devtag.tmac.
3329 2004-12-10 Werner LEMBERG <wl@gnu.org>
3331 Import Mike's `gdiffmk' package.
3333 * contrib/gdiffmk/*: New files.
3334 * Makefile.in (OTHERDIRS): Add contrib/gdiffmk.
3337 2004-12-08 Werner LEMBERG <wl@gnu.org>
3339 Import Keith's `pdfmark' package. Integration is very preliminary.
3341 * contrib/pdfmark/*: New files.
3342 * Makefile.in (OTHERDIRS): Add contrib/pdfmark.
3345 2004-12-07 Gaius Mulley <gaius@glam.ac.uk>
3347 Fix a bug with title handling in HTML.
3349 * src/devices/grohtml/post-html.cpp (text_glob::is_nf,
3350 text_glob::is_fi, text_glob::is_ce): Use strlen to compute string
3352 (html_printer::handle_tag_within_title): New function.
3353 (html_printer::do_title): Use it.
3355 * tmac/s.tmac (TL): Don't set `need_eo_tl'.
3356 (cov*tl-au-print): Emit `.eo.tl' tag.
3358 2004-12-05 Alejandro López-Valencia <dradul@etb.net.co>
3360 * man/groff_char.man: Minor imrovements.
3362 2004-12-04 Werner LEMBERG <wl@gnu.org>
3364 * src/preproc/eqn/eqn.man: Revised.
3366 2004-11-25 Werner LEMBERG <wl@gnu.org>
3368 * src/utils/xtotroff/xtotroff.c: Reformat to be similar to other
3372 Remove X_NOT_STDC_ENV conditional.
3373 (Version_string, program_name): New global variables.
3374 (groff_flag): Removed.
3376 (usage): Take a stream as argument.
3379 (main): Add `long_options' array for `--help' and `--version'.
3380 Make `-g' a dummy option.
3381 Handle `-v' and unknown options.
3382 Remove unused `position' variable.
3384 * src/utils/xtotroff/Makefile.sub (MAN1): Define.
3385 (XLIBS): Add LIBGROFF.
3387 * src/utils/xtotroff/xtotroff.man, src/utils/xtotroff/Makefile.in:
3390 * src/devices/xditview/Dvi.c (default_font_map): Split into three
3391 parts to avoid compiler warning.
3392 (resources): Don't initialize with `default_font_map'.
3393 (ClassInitialize): Initialize first element of `resources'.
3395 * src/devices/xditview/Makefile.sub (devdir, xtotroff, DPIS, fonts):
3398 * src/utils/lkbib/lkbib.man, src/utils/lookbib/lookbib.man,
3399 src/utils/pfbtops/pfbtops.man: Revised, updated.
3401 * configure.ac: Generate src/utils/xtotroff/Makefile.
3402 * configure: Regenerated.
3404 2004-11-24 Werner LEMBERG <wl@gnu.org>
3406 First fixes to get produce HTML.
3408 * src/devices/grohtml/post-html.cpp (generate_img_src): Add `alt'
3411 * tmac/www.tmac (IMG, PIMG, MPIMG): Add `alt' attribute.
3412 (HR, LI): Use `HTML</p>', not `HTML'.
3414 * doc/webpage.ms: Minor updates.
3416 2004-11-23 Larry Kollar <kollar@alltel.net>
3418 Add option -S grohtml to determine the file split level.
3420 * src/devices/grohtml/post-html.cpp (split_level): New global
3422 (html_header::determine_header_level): Use split_level.
3423 (main): Handle `-S' command line option.
3426 * src/preproc/html/pre-html.cpp (scanArguments): Updated.
3428 * src/devices/grohtml/grohtml.man: Document it.
3431 * NEWS: Document it.
3433 2004-11-23 Y T <doarhop@hotmail.com>
3435 * tmac/s.tmac (ref*add-V, ref*add-N): New macros for handling
3436 the volume and number refer entries.
3438 2004-11-22 Werner LEMBERG <wl@gnu.org>
3440 * src/devices/grohtml/html-table.cpp
3441 (html_table::emit_table_header): Don't emit `cols' attribute which
3442 doesn't exist in HTML 4.0 and is thus invalid.
3444 * NEWS: More minor fixes and updates.
3446 2004-11-18 Werner LEMBERG <wl@gnu.org>
3448 * tmac/www.tmac (HTML-NS, HTML-TAG-NS, HTML-TAG-NEXT): Simplified.
3449 (HTML</p>): Minor clean-up.
3451 * tmac/groff_www.man: Updated.
3453 * src/devices/grohtml/grohtml.man: Revised and updated.
3457 2004-11-18 Gaius Mulley <gaius@glam.ac.uk>
3459 * src/devices/grohtml/post-html.cpp (html_printer::do_heading):
3460 Fix space insertion.
3461 (html_printer::do_links): Fix rules generation around automatic
3464 * tmac/www.tmac (LK): Use HTML-TAG-NS.
3466 No longer emit empty line for non-HTML devices.
3468 2004-11-17 Werner LEMBERG <wl@gnu.org>
3470 * doc/Makefile.in (prepare_examples, webpage.html): Handle
3473 * doc/Makefile.sub (EXAMPLEFILES, CLEANNOTSRCDIRADD,
3474 prepare_examples, webpage.html): Handle `groff.css'.
3476 2004-11-15 Werner LEMBERG <wl@gnu.org>
3478 * NEWS, README, doc/webpage.ms: Updated.
3480 * tmac/www.tmac (HTML, HTML-TAG): Minor clean-ups.
3482 2004-10-30 Gaius Mulley <gaius@glam.ac.uk>
3484 * src/include/printer.h (printer): Remove virtual function
3486 Update all source files.
3488 * src/devices/grohtml/post-html.cpp (html_printer): New member
3489 function `round_width'.
3491 2004-10-20 Tadziu Hoffmann <hoffmann@usm.uni-muenchen.de>
3493 * src/preproc/tbl/table.cpp (table::do_row): Fix handling of the `d'
3494 column key letter suffix.
3496 2004-10-14 Werner LEMBERG <wl@gnu.org>
3498 * Makefile.in (check): Depend on `site.exp' and `docheck'.
3499 (docheck): Run dejagnu's `runtest' if it exists.
3500 (site.exp): Create dejagnu configuration file.
3502 * Makefile.sub (DISTCLEANFILES): Add files related to dejagnu.
3504 2004-10-13 Werner LEMBERG <wl@gnu.org>
3506 * src/devices/grohtml/html-text.cpp (html_text_get_alignment),
3507 src/devices/grohtml/post-html.cpp (make_val,
3508 html_printer::handle_state_assertion): Fix compiler warnings.
3510 * src/roff/troff/div.cpp: Include `stringclass.h' and `mtsm.h'.
3511 (diversion::diversion): Fix order of initializers.
3513 * src/roff/troff/div.h: Don't include `mtsm.h'.
3515 * src/roff/troff/env.cpp: Include `stringclass.h' and `mtsm.h'.
3516 (environment::environment): Fix order of initializers.
3517 (environment::make_tag, environment::construct_format_state): Fix
3520 * src/roff/troff/input.cpp: Include `stringclass.h' and `mtsm.h'.
3521 (input_iterator::input_iterator, macro::macro): Fix order of
3524 * src/roff/troff/mtsm.cpp: Include only necessary header files.
3525 (state_set::add, state_set::val): Fix compiler warnings.
3527 * src/roff/troff/mtsm.h: Don't include `stringclass.h'.
3528 (bool_value_state, int_value_state, units_value_state,
3529 string_value_state): Remove comma after last element which causes
3530 an error with g++ 3.3.3.
3532 * src/roff/troff/node.cpp: Include `stringclass.h'.
3533 (hline_node::hline_node, vline_node::vline_node,
3534 space_char_hmotion_node, left_italic_corrected_node): Fix compiler
3536 (zero_width_node::zero_width_node): Fix order of initializers.
3538 * src/roff/troff/node.h: Don't include `mtsm.h'.
3539 (hmotion_node): Fix compiler warnings.
3541 * src/roff/troff/number.cpp: Include `stringclass.h' and `mtsm.h'.
3543 2004-10-12 Gaius Mulley <gaius@glam.ac.uk>
3545 * doc/groff.css: New file.
3547 * doc/webpage.ms: Use `groff.css'.
3550 * tmac/an-old.tmac (need_eo_h): New number register.
3551 (TH): Emit `.eo.tl' tag after title.
3552 (SH): Set `need_eo_h'.
3553 (an-trap): Handle `need_eo_h'.
3554 (an-do-tag): s/HTML-TAG-NS/HTML-TAG-NEXT/.
3556 * tmac/s.tmac (need_eo_h, need_eo_tl): New number registers.
3557 (TL): Always start diversion.
3559 (@AI): Always call `par@reset'.
3560 (@AB): Update code for -Thtml.
3561 (cov*tl-au-print): Handle -Thtml.
3562 (par@reset): Handle `need_eo_tl', `need_eo_h'.
3564 (@IT-html): Removed.
3565 (@SH): Set `need_eo_h' for -Thtml.
3566 (par@TL): s/HTML-TAG/HTMl-TAG-NS/.
3568 (@NH): s/HTML-TAG/HTMl-TAG-NS/.
3569 Set `need_eo_h' for -Thtml.
3570 (@EQ, @EN): Don't handle -Thtml specially.
3571 (par@load-init): Don't handle -Thtml specially.
3573 * tmac/www.tmac (www:paraspace): New macro.
3574 (HTML-NS, HTML-TAG-NS): Use new `tag' request.
3575 (HTML</p>, HTML-TAG-NEXT): New macros.
3576 (HnE): Emit tag `.eo.h' instead of break.
3577 (HR): s/HTML-NS/HTML/.
3578 (www-end-nowhere): End diversion only if `www-html' not set.
3580 (ULS, ULE): s|HTML|HTML</p>|.
3581 (LI): Call `www:paraspace'.
3584 2004-10-11 Gaius Mulley <gaius@glam.ac.uk>
3586 * src/roff/troff/request.h (macro): Make `p' public.
3587 New variable `is_a_diversion'.
3588 New member function `is_diversion'.
3591 * src/devices/grohtml/html.h (simple_output): New member function
3594 * src/devices/grohtml/html-table.cpp (tabs::compatible): Fix
3595 computation of `total'.
3596 (tabs::check_init): New function.
3597 (html_table::emit_table_header): Emit style data.
3598 (html_table::insert_column): Improved.
3600 * src/devices/grohtml/html-table.h: Updated.
3602 * src/devices/grohtml/html-text.cpp (html_text::html_text):
3603 Initialize `start_space' with TRUE.
3604 (html_text::end_tag, html_start_tag): Fix `P_TAG' and `PRE_TAG'
3606 (html_text::flush_text): Set `start_space' flag.
3607 (html_text::uses_indent, html_text::remove_para_space,
3608 html_text::get_alignment): New functions.
3609 (html_text::push_para): Updated.
3610 (html_text::do_para): Check for empty argument.
3611 Don't set `space_emitted'.
3612 (html_text::do_space, html_text::emit_space): Updated.
3614 * src/devices/grohtml/html-text.h (tag_definition): New variable
3616 (html_text): New member function `uses_indent', `remove_para_space',
3619 * src/devices/grohtml/output.cpp (simple_output::force_nl): New
3621 (simple_output:nl): Always emit `\n'.
3623 * src/devices/grohtml/post-html.cpp: Include `string.h'.
3624 (BASE_POINT_SIZE): Removed.
3625 (base_point_size, head_info): New global variables.
3626 (text_glob): New member functions `is_ll', `is_tl', `is_eo_tl',
3628 (text_glob::is_nf, text_glob::is_fi): Handle `.fi 0' and `.fi 1'
3630 (page::add_and_encode): Pass additional parameter for tag flag.
3631 (assert_pos): New structure.
3632 (assert_state): New class.
3633 (html_printer): Remove `indentation', `prev_indent'.
3634 Add variables `troff_indent', `device_indent', `temp_indent'.
3635 Add variables `seen_indent', `next_indent', `seen_pageoffset',
3636 `next_pageoffset', `seen_linelenght', `next_linelength',
3637 `seen_center', `next_center', `seen_space', `seen_break', `as'.
3638 Add member functions `do_check_center', `do_space', `do_head',
3639 `get_troff_indent', `restore_troff_indent', `handle_assertion',
3640 `handle_state_assertion', `do_end_para', `set_char_and_width'.
3641 Change argument to `do_fill' to `char *'.
3643 (html_printer::emit_raw): Call `shutdown_table'.
3645 (html_printer::do_center): Simplified.
3646 (html_printer::do_title): Improved.
3647 (html_printer::write_header): Emit one more newline.
3649 (html_printer::do_heading, html_printer::do_indent,
3650 html_printer::do_eol, html_printer::do_tab_ts,
3651 html_printer::do_tab, html_printer::do_tab0,
3652 html_printer::calc_po_in, html_printer::next_horiz_pos,
3653 html_printer::remove_courier_tabs,
3654 html_printer::insert_tab0_foreach_tab, html_printer::begin_page):
3656 (html_printer::do_linelength, html_printer::do_pageoffset,
3657 html_printer::do_indentation, html_printer::do_tempindent,
3658 html_printer::do_tab_te): Simplified.
3659 (html_printer::do_pointsize): Check whether point size is really
3660 associated a `.tl' tag.
3661 (html_printer::do_break): Rewritten.
3662 (html_printer::troff_tag): Improved.
3663 (html_printer::flush_globs): Updated.
3664 (html_printer::lookahead_for_tables): Handle `is_br'.
3666 (html_printer::set_char): Check `sbuf_style.f'.
3667 (html_printer::write_navigation): Use string comparison.
3668 (html_printer::~html_printer): Emit `head_info'.
3669 (html_printer::special): Rewritten.
3670 (get_str, make_val): New functions.
3671 (main): New option `s' to set the base point size.
3673 * src/preproc/html/pre-html.cpp (scanArguments): Handle option `s'.
3675 2004-10-10 Gaius Mulley <gaius@glam.ac.uk>
3677 * src/roff/troff/node.cpp: New extern `debug_state'.
3678 Include `stringclass.h' and `mtsm.h'.
3679 Implement new classes and class members from `node.h'.
3680 (real_output_file): Make `fp' public.
3681 (troff_output_file): New variables `cur_div_level' and `tag_list'.
3682 Update constructors.
3683 (troff_output_file::really_print_line): Check whether we should push
3684 the current troff state and use the state at the start of the
3685 invocation of this diversion.
3686 (troff_output_file::add_to_tag_list): New member function.
3687 (node::add_char): Handle `glyph_comp_np'.
3689 * src/roff/troff/node.h: Include `mtsm.h'.
3690 (node): New variables `state', `push_state', `div_nest_level',
3691 `is_special'. Update constructors, all descendants.
3692 Pass additional argument to `add_char' member function.
3693 New virtual member functions `is_tag', `debug_node',
3694 `debug_node_list'. Update all descendants.
3695 (tag_node): New class for handling tags.
3696 (output_file): Add variable `state'.
3698 2004-10-09 Gaius Mulley <gaius@glam.ac.uk>
3700 * src/roff/troff/mtsm.cpp, src/roff/troff/mtsm.h: New files,
3701 providing a minimal troff state machine to emit meta tags for the
3702 post-grohtml device driver.
3704 * src/roff/troff/Makefile.sub (OBJS, CCSRCS, HDRS): Handle new
3707 2004-10-09 Werner LEMBERG <wl@gnu.org>
3709 * tmac/trace.tmac: Fix handling of `am' and `am1' calls.
3711 2004-10-06 Gaius Mulley <gaius@glam.ac.uk>
3713 * src/roff/troff/column.cpp (vjustify_node::copy): Updated.
3715 * src/roff/troff/div.h: Include `mtsm.h'.
3716 (diversion): New variables `any_chars_added', `needs_push',
3717 `saved_seen_break', `saved_seen_space', `saved_seen_eol',
3718 `saved_suppress_next_eol', `modified_tag'.
3719 New virtual member function `is_diversion'. Update all descendants.
3721 * src/roff/troff/div.cpp (diversion::diversion,
3722 macro_diversion::macro_diversion): Updated.
3723 (do_divert): Handle `seen_break', `seen_space', `seen_eol',
3724 `suppress_next_eol'.
3725 (top_level_diversion::space): Handle `curenv->seen_space'.
3726 (page_offset): Update tag handling.
3727 (space_request, blank_line, flush_output): Don't call `add_html_tag'.
3729 * src/roff/troff/env.h (environment): Make `tabs' public.
3730 Remove `ignore_next_eol', `emitted_node'.
3731 Update `output_line', `output'.
3732 New variables `seen_space', `seen_eol', `suppress_next_eol',
3734 New member functions `construct_state', `make_tag',
3735 `construct_format_state, `construct_new_line_state,
3737 Remove `add_html_tag', `make_html_tag'.
3739 * src/roff/troff/env.cpp: New externs `suppress_push',
3740 `get_diversion_state', `global_diverted_space'.
3741 (pending_output_line): New variable `was_centered'.
3742 Update constructor and all callers.
3743 (pending_output_line::output): Call `curenv->construct_format_state'.
3744 (environment::environment, environment::copy): Updated.
3745 (environment::output): Handle `was_centered'.
3746 (environment::add_char): Handle construct and diversion state.
3747 (environment::add_node): Handle construct state.
3748 (environment::newline): Handle `was_centered'.
3749 (environment::output_line): Updated.
3750 (environment::possibly_break_line): Updated.
3751 Update tag handling.
3752 (environment::add_html_tag): Replaced with...
3753 (environment::make_tag): New function.
3754 (environment::add_html_tag_tabs, environment::make_html_tag): Removed.
3755 (environment::dump_troff_state): New debugging function.
3756 (environment::construct_state, environment::construct_format_state,
3757 environment::construct_new_line_state): New functions.
3758 (environment::do_break): Updated.
3759 Handle `global_diverted_space'.
3760 (environment::handle_tag): Update tag handling.
3761 (point_size, fill, do_break_request): Don't call `add_html_tag'.
3762 (no_fill): Don't call `add_html_tag'.
3763 Set `suppress_next_eol'.
3764 (center, right_justify, line_length, indent, temporary_indent,
3766 Update tag handling.
3768 * src/roff/troff/input.cpp: Don't include `stringclass.h'.
3769 (input_iterator): New variables `is_diversion', `diversion_state'.
3770 Update constructors.
3771 (input_stack): New member functions `get_div_level',
3772 `get_diversion_state', `check_end_diversion'.
3773 New variables `div_level', `diversion_state'. Initialize them.
3774 (suppress_push, global_diverted_space): New global variables.
3775 (input_stack::finish_get, input_stack::finish_peek,
3776 input_stack::remove_boundary, input_stack::end_file,
3777 input_stack::clear, input_stack::pop_macro): Call
3778 `check_end_diversion'.
3779 (input_stack::push): Handle `div_level' and `diversion_state'.
3780 (get_diversion_state): New function.
3781 (diverted_space_node::reread): Handle `global_diverted_space'.
3782 (macro::macro): Update constructors.
3783 (macro::is_diversion): New function.
3784 (macro::operator=): Set `is_a_diversion'.
3785 (string_iterator): New member function `is_diversion'.
3786 (string_iterator::string_iterator): Update constructors.
3787 (string_iterator::fill): Set `div_nest_level'.
3788 (macro_iterator): New member function `is_diversion'.
3789 (do_if_request): Handle `suppress_push'.
3790 (tag, taga): New functions.
3791 (init_input_requests): Add `tag' and `taga' requests.
3793 2004-10-05 Gaius Mulley <gaius@glam.ac.uk>
3795 * src/include/font.h (font): New member function
3796 `get_image_generator'.
3797 New variables `unscaled_charwidths' and `image_generator'.
3799 * src/libs/libgroff/font.cpp (font::get_width): Always return the
3800 character's unscaled width if `font::unscaled_charwidths' is set.
3801 (font::get_image_generator): New function.
3802 (font::load_desc): Check the `unscaled_charwidths' and
3803 `image_generator' keywords.
3805 * src/libs/libgroff/fontfile.cpp: Initialize
3806 `font::unscaled_charwidths' and `font::image_generator'.
3808 * font/devhtml/DESC.proto: s/html/unscaled_charwidths/.
3810 * font/devhtml/Makefile.sub (DESC): Set `image_generator' keyword.
3812 * man/groff_font.man: Document `unscaled_charwidths' and
3815 * src/preproc/html/pre-html.cpp: Include `device.h'.
3816 (image_gen): New global variable.
3817 (imageList::createPage): Use `image_gen'.
3818 (main): Use `image_generator' keyword.
3820 2004-10-04 Gaius Mulley <gaius@glam.ac.uk>
3822 * tmac/html.tmac: Handle \[sqrtex].
3824 2004-10-04 Gaius Mulley <gaius@glam.ac.uk>
3826 * src/include/printer.h (printer): New virtual method `round_width'.
3828 * src/devices/grodvi/dvi.cpp, src/devices/grolbp/lbp.cpp,
3829 src/devices/grolj4/lj4.cpp, src/devices/grops/ps.cpp,
3830 src/devices/grotty/tty.cpp (printer::round_width): New function
3833 * src/devices/grohtml/post-html.cpp (printer::round_width): New
3835 (html_printer::set_numbered_char): Use it.
3837 2004-10-03 Gaius Mulley <gaius@glam.ac.uk>
3839 * aclocal.m4 (GROFF_GHOSTSCRIPT_PATH): New macro.
3841 * configure.ac: Call GROFF_GHOSTSCRIPT_PATH.
3843 * configure: Regenerated.
3845 * Makefile.in (GHOSTSCRIPT): New variable.
3846 (MDEFINES): Add GHOSTSCRIPT.
3848 2004-10-03 Werner LEMBERG <wl@gnu.org>
3850 * INSTALL.gen: Updated (taken from texinfo CVS).
3852 2004-09-28 Werner LEMBERG <wl@gnu.org>
3856 2004-09-28 Heinz-Jürgen Oertel <hj.oertel@surfeu.de>
3858 * tmac/groff_www.man: Revised and updated.
3860 2004-09-26 Werner LEMBERG <wl@gnu.org>
3862 Fix \$@ and \$* to handle any number of arguments.
3864 * src/roff/troff/input.h (BEGIN_QUOTE, END_QUOTE): New special
3867 * src/roff/troff/input.cpp (input_iterator::internal_level):
3869 (input_stack): New member functions `increase_level' and
3871 (input_stack::get_level): Don't use `internal_level'.
3872 (get_copy, token::next): Handle BEGIN_QUOTE and END_QUOTE.
3873 (end_quote_iterator): Completely removed.
3874 (interpolate_arg): Build string for \$@ and \$* which is then
3875 pushed onto the input stack.
3877 2004-09-23 Keith Marshall <keith.d.marshall@ntlworld.com>
3879 * tmac/groff_ms.man, doc/groff.texinfo (ms Document Control
3880 Registers): Document changes from 2004-09-19.
3882 2004-09-23 Werner LEMBERG <wl@gnu.org>
3884 * tmac/an-old.tmac (ne): Using default scaling operator.
3886 2004-09-19 Keith Marshall <keith.d.marshall@ntlworld.com>
3888 This change implements the following features:
3891 New numeric register: Defines number of lines following LP, PP,
3892 QP, IP or XP, which must be kept together, before any automatic
3893 page break. If insufficient space remains on the current page, a
3894 page break is forced before the new paragraph begins.
3897 New numeric register: Sets number of lines of following paragraph
3898 which must be kept with a heading, defined by NH or SH, before any
3899 automatic page break. If insufficient space remains on the
3900 current page, a page break is forced before the heading.
3903 (Thanks to Joerg van den Hoff, for this idea).
3905 New numeric register: Sets the first level of heading (set with
3906 NH), which will keep the same point size as body text; e.g. if
3907 GROWPS is set to 3, .NH 3, .NH 4, ... will produce headings at the
3908 point size specified by \n[PS], but .NH 2 and .NH 1 will have
3909 progressively larger point sizes, determined by \n[PSINCR] (see
3913 New numeric register: Sets the point size increment for each level
3914 of heading, (set with NH), below the threshold level set by
3915 GROWPS; e.g. if \n[PS] = 10, \n[GROWPS] = 3 and \n[PSINCR] = 2.0p,
3916 then .NH 1 will produce 14pt headings, .NH 2 will produce 12pt,
3917 and all other levels will remain at 10pt, (because \n[PS] = 10).
3920 Existing macro now accepts a numeric argument, to make heading
3921 size match that of NH with same argument value, when the
3922 GROWPS/PSINCR feature is enabled.
3925 New string, set by NH macro, replaces the existing (undocumented)
3926 use of SN, to represent the assigned section number.
3929 New string, set by NH macro, represents the assigned section
3930 number, but omits the terminal period (periods at intermediate
3931 levels are retained).
3934 String set by NH macro, originally undocumented, now implemented
3935 as an alias for SN-DOT (which reproduces original behaviour).
3937 * tmac/s.tmac (PORPHANS): New register.
3938 (par*start): Use it.
3939 (HORPHANS, GROWPS, PSINCR): New registers.
3940 (SH-NO-TAG, @SH): Use them.
3943 2004-09-19 Keith Marshall <keith.d.marshall@ntlworld.com>
3945 * NEWS, doc/groff.texinfo (ms Display and Keeps), tmac/groff_ms.man:
3946 Document the deletion of `Ds' and `De' macros.
3948 2004-09-10 Werner LEMBERG <wl@gnu.org>
3950 In tbl, handle \a as an interpreted leader character if in
3953 * src/preproc/tbl/table.h (PREFIX, PREFIX_CHAR, LEADER,
3954 LEADER_CHAR): New macros.
3955 (compatible_flag): New declaration.
3957 * src/preproc/tbl/main.cpp (table_input): Add LEADER_1, LEADER_2,
3958 LEADER_3, and LEADER_4 to `state'.
3959 (table_input::get): Handle `\a'.
3961 * src/preproc/tbl/table.cpp (PREFIX): Removed.
3962 (LEADER_REG): New macro.
3963 (table::init_output): Define LEADER_REG string register if in
3966 * src/preproc/tbl/tbl.man: Document it.
3968 2004-08-18 Werner LEMBERG <wl@gnu.org>
3970 * tmac/doc.tmac (An): Fix error message.
3972 2004-08-06 Werner LEMBERG <wl@gnu.org>
3974 * src/preproc/tbl/main.cpp (main): Call `fatal' not `error' if a
3975 file can't be opened. UNIX tbl has the same behaviour.
3977 2004-08-05 Y T <doarhop@hotmail.com>
3979 * src/preproc/grn/hdb.cpp (compatibility_flag): Add declaration.
3980 (DBRead): If in compatibility mode, take into account the text
3981 when computing figure boundaries.
3983 2004-08-05 Werner LEMBERG <wl@gnu.org>
3985 * src/preproc/soelim/soelim.man: Improved. Based on suggestions
3986 from Tadziu Hoffmann.
3988 2004-08-03 Werner LEMBERG <wl@gnu.org>
3990 * doc/meref.me: Document `_M' register.
3992 2004-08-03 Martin Husemann <martin@duskware.de>
3994 Make hpftodit work correctly on big-endian systems.
3996 * src/utils/hpftodit/hpftodit.cpp (File): New method
3997 `get_uint32(char *)'.
3998 (entry): New member `orig_value'.
3999 (read_tags): Use new method.
4000 (output_font_name, read_and_output_pcltypeface, dump_ascii):
4003 2004-08-01 Werner LEMBERG <wl@gnu.org>
4005 * tmac/s.tmac: Undo change 2003-06-29. The proper macro definitions
4006 are already in X11's `macros.t' file.
4008 2004-08-01 Jeff Conrad <jeff_conrad@msn.com>
4010 * src/utils/hpftodit/hfptodit.cpp (output_font_name, dump_ascii):
4012 (read_and_output_pcltypeface): Handle strings with length <= 4.
4014 2004-07-27 Egil Kvaleberg <egil@kvaleberg.no>
4016 * tmac/s.tmac (pg@top): Don't save `PO' register.
4017 (pg*end-col, pg*end-page): Directly use `PO' register.
4019 2004-07-27 Werner LEMBERG <wl@gnu.org>
4021 * man/groff_tmac.man: Mention `trace' and `pic' macro packages.
4023 * src/preproc/refer/refer.cpp (output_references): Check for
4025 * src/preproc/refer/refer.man: Improve documentation of
4026 `bibliography' command.
4028 2004-07-26 Werner LEMBERG <wl@gnu.org>
4030 Add requests `fcolor' and `gcolor'.
4032 * src/roff/troff/env.cpp (fill_color_change, glyph_color_change):
4034 (init_env_requests): Add `fcolor' and `gcolor'.
4036 * src/roff/troff/input.h: Export do_glyph_color and do_fill_color.
4038 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo
4039 (Colors): Document new requests.
4041 2004-07-24 Werner LEMBERG <wl@gnu.org>
4043 Add support for fractional point sizes in ms macros. A value for
4044 PS, VS, FPS, and FVS greater than or equal to 1000 is always divided
4045 by 1000. For example, `.nr PS 10250' sets the font size to 10.25p.
4047 * tmac/s.tmac (@AU, @AI, par@load-init, par@init, par@reset, NL,
4048 PX): Handle fractional point sizes for PS, VS, FPS, and FVS.
4050 * tmac/groff_ms.man, docs/groff.texinfo (ms Document Control
4051 Registers), NEWS: Document it.
4053 2004-07-19 Werner LEMBERG <wl@gnu.org>
4055 * src/preproc/pic/lex.cpp (for_input): Add member `from'.
4057 (do_for, for_input::get, for_input::peek): Handle negative `by'.
4058 * src/preproc/pic/pic.man, doc/pic.ms, NEWS: Document it.
4060 2004-07-08 Thomas Klausner <wiz@netbsd.org>
4062 * tmac/doc-syms (doc-str-St--p1003.1-2004): New string.
4063 * tmac/groff_mdoc.man: Updated.
4065 2004-07-05 Werner LEMBERG <wl@gnu.org>
4067 * doc/groff.texinfo (Manipulating Hyphenation): Further improve
4068 documentation of `hcode'.
4070 2004-07-04 Sang Dae Yu <sdyu@bh.knu.ac.kr>
4072 Improve appearance of arrows in pic.
4074 * src/preproc/pic/object.cpp (draw_arrow): Make outline of filled
4076 Use two line segments for drawing non-filled arrow head.
4077 (line_object::print, spline_object::print): Shorten line length to
4078 avoid arrow sticking.
4079 (arc_object::print): Take arrow direction into account.
4081 2004-07-03 Heinz-Jürgen Oertel <hj.oertel@surfeu.de>
4083 * tmac/groff_www.man: Update documentation of .MPIMG.
4085 2004-07-03 Werner LEMBERG <wl@gnu.org>
4087 * tmac/an-old.tmac (RI): Always start with font `R'.
4088 (RI, IR): Properly end with font `R'.
4090 2004-07-02 Paul Eggert <eggert@cs.ucla.edu>
4092 * man/ditroff.man, man/groff_font.man, man/groff_out.man,
4093 src/devices/grohtml/grohtml.man, src/preproc/grn/grn.man,
4094 src/preproc/pic/pic.man, tmac/groff_man.man, tmac/groff_ms.man:
4095 Don't pass more than six arguments to .R, .I, .B, etc., for
4096 compatibility with traditional troff macros.
4098 2004-07-02 Werner LEMBERG <wl@gnu.org>
4100 * src/roff/troff/input.h: s/COMPATIBLE_SAVE/PUSH_GROFF_MODE/.
4101 s/COMPATIBLE_RESTORE/POP_GROFFCOMP_MODE/.
4103 (PUSH_COMP_MODE): New internal character constant.
4106 * src/roff/troff/input.cpp (get_copy): Handle PUSH_GROFF_MODE,
4107 PUSH_COMP_MODE, and POP_GROFFCOMP_MODE.
4108 (token::next, macro::append): Handle PUSH_COMP_MODE.
4109 (decode_args): Add PUSH_GROFF_MODE or PUSH_COMP_MODE before and
4110 POP_GROFFCOMP after each of the decoded arguments to make them
4111 independent from the compatibility mode status.
4112 (comp_mode): Add `COMP_ENABLE'.
4113 (do_define_string, do_define_macro): Handle COMP_ENABLE.
4114 (define_string, append_string, define_macro, define_indirect_macro,
4115 append_macro, append_indirect_macro): Handle `compatible_flag'.
4116 (chop_macro, substring_request, asciify): Handle PUSH_COMP_MODE.
4118 * man/groff_diff.man, doc/groff.texinfo: Updated.
4120 2004-07-01 Werner LEMBERG <wl@gnu.org>
4122 * doc/groff.texinfo: Improve documentation of `hcode'.
4123 Use @documentencoding and convert document to latin-1; to do that
4124 make latin characters active and assign proper macros (within a
4125 @tex...@end tex environment).
4126 * doc/Makefile.in (.texinfo.html, groff): Use --enable-encoding.
4127 * doc/Makefile.sub (groff): Ditto.
4129 2004-06-29 Werner LEMBERG <wl@gnu.org>
4131 Implement two new conditional operators `F <name>' and `S <name>'
4132 which check whether <name> is a valid font or style, respectively.
4134 * src/libs/libgroff/font.cpp (text_file): Add `silent' member.
4135 (text_file::text_file): Updated.
4136 (text_file::error): Don't emit message if `silent' is set.
4137 (font::load_font): Add optional third argument (which is directly
4139 (font::load): Add optional second argument to check the header of
4140 a font only, without emitting warning or error messages.
4141 * src/include/font.h (font): Updated.
4143 * src/roff/troff/input.cpp (do_if_request): Implement `S' and `F'
4145 * src/roff/troff/node.cpp (mount_font_no_translate): Add optional
4146 fourth argument to check a font without mounting.
4147 (check_font, check_style): New functions.
4148 * src/roff/troff/node.h: Updated.
4150 * man/groff_diff.man, man/groff.man, NEWS, doc/groff.texinfo:
4153 2004-06-27 Werner LEMBERG <wl@gnu.org>
4155 Implement new string-valued register `.sty' to return the current
4158 * env.cpp (environment::get_style_name_string): New function.
4159 (init_env_requests): Add `.sty' register.
4160 * env.h (environment): Updated.
4161 * node.cpp (font_info): Make `get_style_name' a friend.
4162 (get_style_name): New function.
4165 * man/groff_diff.man, man/groff.man, NEWS, doc/groff.texinfo:
4168 2004-06-15 Werner LEMBERG <wl@gnu.org>
4170 * src/preproc/tbl/main.cpp (process_data) <GOT_RIGHT_BRACE>: Handle
4173 2004-06-10 Colin Percival <colin.percival@wadham.ox.ac.uk>
4175 * doc/meintro.me, doc/meref.me: Don't use \*[td], \n[dy], \*[mo],
4176 and \n[mo] to avoid dependency on current date.
4178 2004-06-08 Werner LEMBERG <wl@gnu.org>
4180 * Makefile.sub (install_data): New target.
4182 2004-06-04 Werner LEMBERG <wl@gnu.org>
4184 * src/libs/libxutil/Makefile.sub (EXTRA_CFLAGS): Define.
4186 2004-06-03 Werner LEMBERG <wl@gnu.org>
4188 * src/devices/xditview/Makefile.sub (EXTRA_LDFLAGS): Fix typo and
4190 (install_data): Add $(srcdir).
4192 * src/utils/xtotroff/Makefile.sub (EXTRA_LDFLAGS): Fix order of
4195 2004-06-02 Werner LEMBERG <wl@gnu.org>
4197 * aclocal.m4 (GROFF_X11): s/have_no_x/groff_no_x/.
4198 Add X11 stuff to CFLAGS, LDFLAGS, and LIBS temporarily.
4199 Add test for Xmu library.
4200 (GROFF_APPRESDIR_OPTION, GROFF_APPRESDIR_CHECK,
4201 GROFF_APPRESDIR_DEFAULT): New macros.
4203 * configure.ac: Call GROFF_APPRESDIR_OPTION, GROFF_APPRESDIR_CHECK,
4204 and GROFF_APPRESDIR_DEFAULT.
4206 * configure: Regenerated.
4208 * Makefile.in (appresdir): New variable.
4209 (MDEFINES): Add appresdir.
4211 * src/devices/xditview/Makefile.sub (EXTRA_LDFLAGS): Add -Xmu and
4213 (install_data, uninstall_sub): New targets to handle GXditview.ad.
4215 * src/utils/indxbib/Makefiles.ub (install_data): Depend on
4216 `$(srcdir)/eign', not `eign'.
4218 * MANIFEST, INSTALL, NEWS, PROBLEMS: Updated.
4220 * man/groff_out.man, man/roff.man, src/devices/grops/grops.man,
4221 src/devices/xditview/gxditview.man, src/roff/groff/groff.man:
4222 Protect (g)xditview with `\%' to avoid hyphenation.
4223 Other minor formatting.
4225 2004-06-01 Werner LEMBERG <wl@gnu.org>
4227 Integrate gxditview into groff's standard directory hierarchy.
4229 * src/xditview/*: Moved to ...
4230 * src/devices/xditview/*: Here.
4231 Moved DviChar.h and XFontName.h to src/include.
4232 Moved DviChar.c and XFontName.c to new directory src/libs/libxutil.
4233 Split off `xmalloc' into new file src/libs/libxutil/xmalloc.c.
4234 Moved xtotroff.c to new directory src/utils/xtotroff.
4235 Provide proper Makefile.sub files (reusing the stuff from
4237 DESC renamed to DESC.in.
4238 Removed GXDitview-ad.h, INSTALL, Imakefile.in.
4239 Converted everything from K&R to ANSI C.
4240 Decorated with const where appropriate.
4241 Cast string constants with `String' and `char *' where appropriate.
4242 Made it compile with C++ (used as a C compiler).
4243 Removed other minor compiler warnings.
4245 * src/devices/xditview/device.c: Include config.h, string.h, and
4247 Don't declare `exit', `strtok', `strchr', and `getenv'.
4250 * src/devices/xditview/font.c: Don't declare `XParseFontName' and
4253 * src/devices/xditview/xditview.c: Include config.h.
4254 Include stdio.h earlier.
4255 Protect declaration of `popen' and `pclose' with
4256 NEED_DECLARATION_POPEN and NEED_DECLARATION_PCLOSE.
4257 Replace `caddr_t' with `XtPointer'.
4258 (MakePromptFunc): New typedef.
4259 (DoPrint): Use RETSIGTYPE.
4260 (promptfunction): Change type to MakePromptFunc.
4261 (MakePrompt): Use MakePromptFunc for third argument.
4264 * src/devices/xditview/ad2c: Add casts to `String'.
4266 * src/include/XFontName.h (XFontNameString): Don't use array
4268 Add prototypes for `XParseFontName', `XFormatFontName',
4269 `XCompareFontName', and `XCopyFontName'.
4271 * src/include/Makefile.sub (HDRS): Add `DviChar.h' and
4274 * src/utils/xtotroff/xtotroff.c: Include getopt.h.
4275 Don't declare `XParseFontName' and `XFormatFontName'.
4277 (main): Remove `optind' and `optarg'.
4279 * Makefile.in (XDEVDIRS, XPROGDIRS, XLIBDIRS): New variables
4280 (to select programs which need X).
4281 Make XDEVIDIRS depend on `FORCE'.
4282 (X_CFLAGS, X_LIBS, X_EXTRA_LIBS, X_PRE_LIBS): New variables (for
4284 (MDEFINES): Updated.
4285 (LIBDIRS): Use XLIBDIRS.
4286 (CPROGDIRS): Use XPROGDIRS.
4287 (DEVDIRS): Remove font directories for gxditview.
4288 (ALLDIRS, DISTDIRS): Add XDEVDIRS.
4289 (EXTRADIRS): Remove src/xditview.
4291 * Makefile.sub (DISCLEANFILES): Updated.
4293 * Makefile.comm (LIBXUTIL): New variable.
4294 (.cpp.o, .cpp.obj): Handle EXTRA_CCFLAGS.
4295 (.c.o, .c.obj, .y.o): Handle EXTRA_CFLAGS.
4297 * Makefile.cpg, Makefile.ccpg ($PROG): Handle EXTRA_LDFLAGS.
4299 * aclocal.m4 (GROFF_X11): New function.
4301 * configure.ac: Call GROFF_X11.
4302 Don't create src/xditview/Imakefile.
4303 Don't emit notice how to build gxditview.
4305 * configure: Regenerated.
4307 * test-groff.in (GROFF_BIN_PATH, XENVIRONMENT): Updated.
4309 2004-05-28 Akihiro Sagawa <sagawa@sohgoh.net>
4311 * Makefile.in (CPPFLAGS): Define.
4312 (MDEFINES): Add CPPFLAGS.
4314 2004-05-27 Werner LEMBERG <wl@gnu.org>
4316 * arch/misc/Makefile.sub (shdeps.sed): Use $(srcdir).
4318 2004-05-26 Niklas Edmundsson <nikke@acc.umu.se>
4320 Fix problems with `friend name injections'.
4322 * src/preproc/eqn/box.h (make_mark_box, make_lineup_box,
4323 make_script_box), src/roff/troff/div.h (end_diversions),
4324 src/roff/troff/env.h (title), input.cpp (process_input_stack): Undo
4327 2004-05-25 Bernd Warken <bwarken@mayn.de>
4329 * src/preproc/pic/pic.man, doc/pic.ms: Add example for `command'.
4331 2004-05-25 Werner LEMBERG <wl@gnu.org>
4333 * src/libs/libgroff/cset.cpp, src/libs/libgroff/lf.cpp,
4334 src/libs/libgroff/color.cpp: Include lib.h.
4336 2004-05-25 Paul Eggert <eggert@cs.ucla.edu>
4338 * PROBLEMS: Update documentation for problems with Sun C++ 5.0
4339 through Forte 6u1, and for how to get GNU make on Solaris.
4341 2004-05-24 Werner LEMBERG <wl@gnu.org>
4343 * PROBLEMS: Document problems with gcc 3.4.0 on Sun. Reported
4346 2004-05-15 Keith Marshall <keith.d.marshall@ntlworld.com>
4348 * arch/misc/Makefile.sub (shdeps.sed): Don't use `$<' in explicit
4351 2004-05-14 Werner LEMBERG <wl@gnu.org>
4353 * REVISION: Set to 2.
4355 * aclocal.m4 (GROFF_STDINT_H): Removed.
4356 (GROFF_INTTYPES_H): Define HAVE_CC_INTTYPES_H.
4358 * configure.ac: Updated.
4359 * configure, src/include/config.hin: Regenerated.
4361 * src/libs/libgroff/tmpname.cpp: Don't include stdint.h but
4362 inttypes.h conditionally.
4364 2004-05-13 Werner LEMBERG <wl@gnu.org>
4366 Version 1.19.1 released
4367 =======================
4369 2004-05-10 Stephen Gildea <http://www.gildea.com/stephen>
4371 * src/preproc/refer/label.y (same_author_last_name,
4372 same_author_name): Handle empty sort keys.
4374 2004-05-10 Werner LEMBERG <wl@gnu.org>
4376 * NEWS, README, TODO, PROJECTS, PROBLEMS, MANIFEST, doc/webpage.ms,
4379 * tmac/doc-syms (doc-str-Lb-libposix, doc-str-Lb-libpthread,
4380 doc-str-Lb-librt): Reset font.
4381 (Lb): Rename `doc-str-Lb' to `doc-str-Lb1'.
4382 Provide `doc-str-Lb' to reset font.
4383 * tmac/groff_mdoc.man: Updated.
4385 2004-05-08 Jan Schaumann <jschauma@netmeister.org>
4387 * src/preproc/html/pre-html.cpp (make_message): Make it work for
4388 snprintf versions which don't conform to ANSI C 99 (this is,
4389 counting the string's trailing null byte in the return value).
4391 2004-05-07 Keith Marshall <keith.d.marshall@ntlworld.com>
4393 * src/roff/troff/node.cpp (suppress_node::tprint): Don't expect
4394 that all implementations of sprintf handle null pointers correctly.
4396 2004-05-04 Werner LEMBERG <wl@gnu.org>
4398 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
4399 Document `.U' register.
4401 * src/roff/troff/env.cpp (environment::mark_last_line)
4402 [WIDOW_CONTROL]: Fix scope of `p' for new C++ compilers.
4404 2004-05-04 Larry Kollar <kollar@alltel.net>
4406 New read-only register `.U'; it returns 1 in safer mode and 0
4409 * src/roff/troff/input.cpp (init_input_requests): Implement `.U'
4412 2004-05-03 Werner LEMBERG <wl@gnu.org>
4414 * install-sh, mkinstalldirs: New versions; taken from texinfo CVS.
4416 2004-04-17 Werner LEMBERG <wl@gnu.org>
4418 * src/include/font.h (font): Use `int' for ch_index.
4419 * src/libs/libgroff/font.cpp (font::alloc_ch_index,
4420 font::compact): Updated.
4422 * src/roff/groff/pipeline.c (run_pipeline) [_WIN32]: Fix compiler
4425 * src/roff/troff/div.cpp (begin_page), src/roff/troff/env.cpp
4426 (hyphen_word): Fix compiler warnings.
4427 * src/roff/troff/input.cpp (get_char_for_escape_name): Return
4430 (get_delim_number, get_line_arg): Change second argument type to
4432 (macro_header::copy, token::next, do_define_string,
4433 do_define_character, substring_request, asciify_macro,
4434 unformat_macro, read_size, non_interpreted_node::interpret,
4435 while_request, main: Fix compiler warnings.
4436 (read_color_draw_node): Initialize `col'.
4438 * src/preproc/tbl/table.cpp (horizontal_span, table_entry): Make
4439 `start_col' and `end_col' of type `int'.
4440 (vertical_rule): Make `col' of type `int'.
4442 * src/preproc/grn/hdb.cpp (DBRead): Protect call to getc with check
4445 * src/preproc/refer/label.y (uppercase_array, lowercase_array):
4447 (format_serial): Use them to remove dependency on ASCII.
4449 * src/devices/grops/ps.cpp (ps_printer::define_encoding): Fix
4451 * src/devices/grops/psrm.cpp (resource_manager::supply_resource):
4454 * src/devices/grotty/tty.cpp (tty_font::load_tty_font): Fix
4456 (glyph): Change type of `hpos' to `int'.
4458 * src/devices/lbp/lbp.cpp (strsep): Removed. Unused.
4459 * src/devices/lbp/lbp.h (splinerel): Fix compiler warnings.
4461 * src/utils/tfmtodit.cpp (gf::load): Fix compiler warnings.
4463 * src/utils/pfbtops/pfbtops.c (get_text): Fix compiler warning.
4465 2004-04-16 Werner LEMBERG <wl@gnu.org>
4467 * src/devices/grolbp/lbp.h, src/preproc/grn/gprint.h,
4468 src/preproc/grn/hgraph.cpp, src/preproc/grn/hpoint.cpp,
4469 src/preproc/html/pushback.cpp, src/preproc/html/pushback.h: Use
4470 `double' instead of `float' everywhere.
4471 * src/preproc/grn/main.cpp: Use `double' instead of `float'
4473 (main): Add return value.
4474 * src/preproc/grn/hdb.cpp: Use `double' instead of `float'
4476 Update all user functions.
4478 * src/include/search.h, src/include/ptable.h, src/include/printer.h,
4479 src/preproc/eqn/box.h, src/preproc/pic/object.h,
4480 src/preproc/refer/refer.h, src/preproc/tbl/table.h,
4481 src/preproc/tbl/table.cpp, src/roff/troff/env.h,
4482 src/roff/troff/div.h, src/roff/troff/token.h, src/roff/troff/node.h,
4483 src/roff/troff/input.cpp, src/roff/troff/request.h,
4484 src/roff/troff/node.cpp: Don't mix `struct' and `class' in forward
4487 * src/utils/indxbib/signal.c: Include stdlib.h.
4489 2004-04-14 Keith Marshall <keith.d.marshall@ntlworld.com>
4491 * tmac/s.tmac (@init, RP): Allow initialization of the PO register
4492 before the first page.
4494 2004-04-14 Thomas Klausner <wiz@netbsd.org>
4496 * tmac/doc-common (doc-volume-as-*): Use lowercase names.
4497 (doc-operating-system-*): Updated.
4498 * tmac/doc-syms (doc-str-St-*): Various small fixes.
4499 (doc-str-Lb-*): Add more library names.
4501 2004-04-10 Art Haas <ahaas@airmail.net>
4503 * src/utils/hpftodit/hpuni.cpp (hp_msl_to_unicode_list): Don't
4506 2004-04-09 Art Haas <ahaas@airmail.net>
4508 * src/utils/tfmtodit.cpp (lig_chars): Don't use anonymous type.
4510 2004-04-09 Keith Marshall <keith.d.marshall@ntlworld.com>
4512 * arch/misc/shdeps.sh: Generate better comment for sed script.
4514 2004-04-08 Art Haas <ahaas@airmail.net>
4516 * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list),
4517 src/libs/libgroff/uniglyph.cpp (unicode_to_glyph_list),
4518 src/libs/libgroff/uniuni.cpp (unicode_decompose_list),
4519 src/preproc/eqn/box.cpp (param_table), src/preproc/grn/hgraph.cpp
4520 (polyfill), src/preproc/grn/main.cpp (polyfill),
4521 src/preproc/refer/command.cpp (command_table),
4522 src/utils/tfmtodit.cpp (lig_table): Don't use anonymous types (which
4523 gcc 3.5 doesn't like).
4525 2004-04-08 Werner LEMBERG <wl@gnu.org>
4527 Removing many compiler warnings. groff should now compile with
4528 a C++ compiler used for C files also. [Simple variable renamings
4529 to avoid shadowing aren't logged in detail.]
4531 * src/devices/grodvi/dvi.cpp: Some local variable renamings.
4532 (draw_dvi_printer::draw) ['c']: Enclose in block.
4534 * src/devices/grohtml/post-html.cpp: Some local variable renamings.
4535 (page::add_line): Fix typos.
4536 * src/devices/grohtml/html-text.cpp: Some local variable renamings.
4538 * src/devices/grolbp/lbp.cpp: Don't define _GNU_SOURCE.
4539 Some local variable renamings.
4540 * src/devices/grolbp/lbp.h: Some local variable renamings.
4542 * src/devices/grolj4/lj4.cpp, src/devices/grotty/tty.cpp: Some local
4545 * src/libs/libbib/index.cpp (index_search_item_iterator::get_tag):
4546 Remove redundant local variable declaration.
4547 * src/libs/libbib/map.c (mapread, unmap): Don't use K&R style.
4548 Don't use `caddr_t' but `void *'.
4549 Enclose functions with `extern "C"' for C++.
4551 * src/libs/libdriver/input.cpp (remember_filename,
4552 remember_source_filename): Use cast for string constant.
4554 * src/libs/libgroff/font.cpp, src/libs/libgroff/fontfile.cpp,
4555 src/libs/libgroff/nametoindex.cpp, src/libs/libgroff/paper.cpp,
4556 src/libs/libgroff/geometry.cpp: Some local variable renamings.
4557 * src/libs/libgroff/iftoa.c, src/libs/libgroff/itoa.c: Don't use K&R
4559 Enclose functions with `extern "C"' for C++.
4560 * src/libs/libgroff/quotearg.c (TRUE,FALSE): Define as macros.
4561 (needs_quoting): Return `int'.
4562 (quote_arg): Add proper casts to malloc and realloc.
4563 * src/libs/libgroff/spawnvp.c: Compile code only for MS-DOS and
4564 various MS Windows environments.
4565 (spawnvp_wrapper): Add proper cast to malloc.
4567 * src/preproc/eqn/box.h: Remove redundant declarations of
4568 `make_script_box', `make_mark_box' and `make_lineup_box'.
4569 * src/preproc/eqn/eqn.y: Remove redundant declaration of `strsave'.
4570 * src/preproc/eqn/script.cpp, src/preproc/eqn/pile.cpp: Some local
4573 * src/preproc/grn/hpoint.cpp: Some local variable renamings.
4574 * src/preproc/grn/hgraph.cpp: Some local variable renamings.
4575 (dx, dy): Renamed functions to...
4576 (deltax, deltay): This.
4577 * src/preproc/grn/main.cpp: Some local variable renamings.
4578 (deffont): Add `const'.
4579 (initpic, conv): Use cast for string constant.
4581 * src/preproc/html/pre-html.cpp: Some local variable renamings.
4582 (makeFileName, alterDeviceTo, addZ): Use cast for string constant.
4583 (char_buffer::run_output_filter): Second argument is unused.
4584 * src/preproc/html/pushback.cpp: Some local variable renamings.
4586 * src/preproc/pic/pic.y: Remove redundant declaration of `do_copy'.
4587 * src/preproc/pic/object.cpp: Some local variable renamings.
4589 * src/preproc/refer/label.y (lookup_label): Remove redundant
4590 declaration of local variable.
4592 * src/preproc/soelim.cpp: Remove redundant declaration of
4593 `interpret_lf_args'.
4595 * src/preproc/tbl/main.cpp: Some local variable renamings.
4597 * src/roff/groff/groff.cpp (main): Use cast for string constant.
4598 * src/roff/groff/pipeline.c: Enclose declarations of `error',
4599 `c_fatal', and `i_to_a' with `extern "C"' for C++.
4600 Don't use C++-style comments.
4602 * src/roff/troff/env.h: Remove redundant declaration of `title'.
4603 * src/roff/troff/node.h, src/roff/troff/env.cpp,
4604 src/roff/troff/div.cpp, src/roff/troff/node.cpp: Some local variable
4606 * src/roff/troff/div.h: Remove redundant declaration of
4608 * src/roff/troff/troff.h: Remove redundant declaration of
4610 * src/roff/troff/input.cpp: Remove redundant declaration of
4611 `handle_first_page_transition' and `process_input_stack'.
4613 * src/utils/hpftodit.cpp: Some local variable renamings.
4615 * src/utils/indxbib/signal.c: Enclose functions with `extern "C"'
4617 Don't define RETSIGTYPE.
4618 * src/utils/indxbib/indxbib.cpp: Some local variable renamings.
4620 * src/utils/pfbtops/pfbtops.cpp: Don't use K&R style.
4621 (error): Use `const' in argument.
4622 (main): Remove redundant declaration of `optind'.
4623 Move declaration of `Version_string' to top-level.
4625 * PROBLEMS: Document difficulties compiling signal.c if a C++
4626 compiler is used for C.
4628 2004-04-07 Werner LEMBERG <wl@gnu.org>
4630 * Makefile.sub (DISTCLEANFILES): Add `test-groff'.
4632 2004-04-06 Keith Marshall <keith.d.marshall@ntlworld.com>
4634 Make scripts like nroff.sh and neqn.sh portable across various
4635 (Unix-like) shell implementations from Cygwin, MSYS, etc., which use
4636 non-POSIX path separators. The idea is to extend those scripts to
4637 decide at run-time (of the script) which path separator to use.
4639 * arch/misc/Makefile.sub: New file.
4640 * arch/misc/shdeps.sh: New file, generating OS dependency fixups.
4641 This script handles @GROFF_BIN_PATH_SETUP@, replacing it with
4642 a proper definition of the variable `GROFF_RUNTIME'.
4644 * Makefile.in (SH_DEPS_SED_SCRIPT): New variable.
4645 (MDEFINES): Add SH_DEPS_SED_SCRIPT.
4646 (PROGDEPDIRS): New variable.
4648 (PROGDIRS): Add PROGDEPDIRS.
4650 * src/preproc/eqn/Makefile.sub (neqn): Call SH_DEPS_SED_SCRIPT.
4651 Don't substitute @SEP@ and @BINDIR@.
4652 * src/preproc/eqn/neqn.sh: Use @GROFF_BIN_PATH_SETUP@.
4653 (PATH): Use GROFF_RUNTIME.
4655 * src/roff/nroff/Makefile.sub (nroff): Call SH_DEPS_SED_SCRIPT.
4656 Don't substitute @SEP@ and @BINDIR@.
4657 * src/roff/nroff/nroff.sh: Use @GROFF_BIN_PATH_SETUP@.
4658 (PATH): Use GROFF_RUNTIME.
4660 2004-04-05 Keith Marshall <keith.d.marshall@ntlworld.com>
4662 * src/roff/nroff/nroff.sh: Implement work-around for sh.exe from
4663 Cygwin which doesn't handle stderr correctly.
4665 2004-03-08 Werner LEMBERG <wl@gnu.org>
4667 * Makefile.comm (install_dev, uninstall_dev): Protect `for' loops
4668 against empty argument. Problem reported by <cgd@broadcom.com>.
4670 2004-03-05 Keith Marshall <keith.d.marshall@ntlworld.com>
4672 * Makefile.in (SEP): Replaced with...
4673 (RT_SEP, SH_SEP): Separators for the target platform's native path
4674 separator and the build environment, respectively.
4675 (fontpath, tmacpath): Use RT_SEP.
4676 (MDEFINES): Updated.
4678 * doc/Makefile.sub (GROFF_BIN_PATH): Use SH_SEP.
4679 * src/preproc/eqn/Makefile.sub (neqn): Use SH_SEP.
4680 * src/roff/nroff/Makefile.sub (nroff): Use SH_SEP.
4682 2004-03-05 Werner LEMBERG <wl@gnu.org>
4684 * font/devlj4/Makefile.sub (LJ4RES): Set to 1200. This helps to
4685 reduce alignment problems with newer printers which use built-in
4686 TrueType fonts (instead of the older Intellifonts). The ideal
4687 solution is to provide a second set of groff metric files, but this
4688 is extremely time-consuming to produce, given that HP's metric
4689 files are very rudimentary.
4691 2004-03-01 Werner LEMBERG <wl@gnu.org>
4693 * src/devices/grolj4/lj4.cpp (main): Fix argument of getopt_long.
4694 s/operand/argument/ in error message.
4696 2004-03-01 Keith Marshall <keith.d.marshall@ntlworld.com>
4698 * src/roff/groff/groff.cpp (main): Don't allow option -o if -Thtml
4701 2004-03-01 Antti Kantee <pooka@netbsd.org>
4703 * tmac/s.tmac (XE): Fix error message.
4705 2004-02-27 Jeff Conrad <jeff_conrad@msn.com>
4707 * src/include/nonposix.h (write, dup, dup2, close) [_MSC_VER]:
4710 * src/roff/groff/pipeline.c: Declare strcasecmp.
4711 (run_pipeline) [_WIN32]: Use function name variants which don't
4713 Fix stream handling.
4715 2004-02-27 Keith Marshall <keith.d.marshall@ntlworld.com>
4717 * src/include/nonposix.h: Fix declaration of `system_shell_name'.
4718 Declare `spawnvp_wrapper' and macro definitions of spawnvp only
4719 for platforms which use the native Win32 runtime libraries.
4720 (FLUSH_INPUT_PIPE) [_UWIN]: Provide non-empty version.
4722 * src/libs/libgroff/quotearg.c (QUOTE_ARG_MALLOC_ERROR,
4723 QUOTE_ARG_REALLOC_ERROR): Fix string.
4725 * src/preproc/html/pre-html.cpp: Remove declaration of
4727 Don't use __MINGW32__.
4728 s/DEBUG_FILE/DEBUG_FILE_DIR/.
4729 (DEBUG_TEXT, DEBUG_NAME, DEBUG_FILE) [DEBUGGING]: New macros.
4730 (OUTPUT_STREAM, PS_OUTPUT_STREAM, REGION_OUTPUT_STREAM): New macros.
4731 (char_buffer::run_output_filter) [MAY_FORK_CHILD_PROCESS]: Fix
4732 calls to `set_redirection' and `WAIT'.
4733 [MAY_SPAWN_ASYNCHRONOUS_CHILD]: Remove unused variable `i' and `j'.
4734 Fix calls to `set_redirection' and `save_and_redirect'.
4735 (char_buffer::do_html, char_buffer::do_image) [DEBUGGING]: Fix calls
4736 to `set_redirection' and `save_and_redirect'.
4737 (usage): Fix message.
4738 (makeTempFiles, main): Use `DEBUG_FILE'.
4740 2004-02-21 Werner LEMBERG <wl@gnu.org>
4742 * src/roff/troff/troff.h (WARN_TOTAL): Fix value.
4744 2004-02-21 Keith Marshall <keith.d.marshall@ntlworld.com>
4746 * src/libs/libgroff/quotearg.c: New file, providing proper argument
4747 quoting for MSVC's spawn* and exec* functions.
4748 * src/libs/libgroff/spawnvp.c: New file, providing a wrapper around
4749 spawnvp with proper quoting for MSVC.
4751 * src/libs/libgroff/assert.cpp (program_name),
4752 src/libs/libgroff/new.cpp (program_name): Declare as `extern "C"'.
4753 * src/libs/libgroff/Makefile.sub (OBJS, CSRCS): Updated.
4755 * src/roff/troff/input.cpp (program_name): Declare as `extern "C"'.
4757 * src/include/error.h (program_name): Declare as `extern "C"'.
4758 * src/include/nonposix.h [__MSDOS__ ...]: Handle spawnvp.
4760 2004-02-21 Jeff Conrad <jeff_conrad@msn.com>
4762 * src/preproc/html/pre-html.cpp [__CYGWIN__ ...]: Declare
4764 [MAY_SPAWN_ASYNCHRONOUS_CHILD]: Declare i and j.
4766 2004-02-20 Jeff Conrad <jeff_conrad@msn.com>
4768 * src/roff/groff/pipeline.c (cmd) [__MSDOS__ || ...]: New global
4770 (sbasename) [__MSDOS__ || ...]: New function.
4771 (system_shell_name) [__MSDOS__ || ...]: Use a different, more
4773 (system_shell_dash_c, is_system_shell) [__MSDOS__ || ...]: Updated.
4774 (run_pipeline) [_WIN32]: Use _XXX variants for some macros instead
4776 Use STDOUT_FILENO instead of hardcoded file handle.
4777 (signal_catcher) [__MSDOS__]: Moved to non-_WIN32 section.
4779 2004-02-19 Werner LEMBERG <wl@gnu.org>
4781 * src/roff/troff/div.cpp: Include nonposix.h after troff.h to
4782 avoid warnings w.r.t. redefinition of P_tmpdir for some compilers.
4784 2004-02-18 Werner LEMBERG <wl@gnu.org>
4786 * font/devlj4/Makefile.sub (DEVFILES): Updated to contain all
4787 new font and mapping files.
4789 2004-02-18 Jeff Conrad <jeff_conrad@msn.com>
4790 Keith Marshall <keith.d.marshall@ntlworld.com>
4792 * src/include/nonposix.h (FLUSH_INPUT_PIPE): New macro to empty
4793 an input pipe. This is needed for the MSVC compiler to make troff's
4796 * src/roff/troff/div.cpp: Include nonposix.h.
4797 (cleanup_and_exit): Call FLUSH_INPUT_PIPE.
4799 2004-02-17 Werner LEMBERG <wl@gnu.org>
4801 * font/devlj4/generate/special.awk: New script.
4802 * font/devlj4/generate/Makefile (S): Use special.awk.
4803 * font/devlj4/*: Regenerated, including the following new files:
4804 Arial (AR, AB, AI, ABI), Times New Roman (TNRR, TNRB, TNRI, TNRBI),
4805 MS Symbol (SYMBOL), Wingdings (WINGDINGS).
4806 * NEWS: Document new lj4 fonts and revised hpftodit.
4808 2004-02-17 Paco Andrés Verdú <pandres@dragonet.es>
4810 * src/devices/grolbp/lbp.h (vmdvarc): Fix formatting string.
4812 2004-01-25 Werner LEMBERG <wl@gnu.org>
4814 * src/libs/libgroff/progname.cpp: Replaced with...
4815 * src/libs/libgroff/progname.c: New file.
4816 * src/libs/libgroff/Makefile.sub: Updated accordingly.
4818 2004-01-17 Werner LEMBERG <wl@gnu.org>
4820 * font/devlj4/generate/Makefile (SYMBOL): Use 9nb28703.tfm.
4822 2004-01-16 Jeff Conrad <jeff_conrad@msn.com>
4824 * font/devlj4/generate/wingdings.map,
4825 font/devlj4/generate/symbol.map: Include unnamed glyphs.
4826 Use groff glyph names where possible.
4827 * src/devices/grolj4/lj4_font.man: Minor updates.
4829 2004-01-13 Werner LEMBERG <wl@gnu.org>
4831 * tmac/www.tmac (DC): Handle TTY devices.
4833 * doc/webpage.ms: Document viewCVS from ffii.org.
4834 * NEWS, README: Updated.
4836 * src/roff/groff/groff.man: Mention lj4_font man page.
4838 * font/devlj4/generate/Makefile (SYMBOLMAP, WINGDINGSMAP): New
4840 (FONTS): Add SYMBOL and WINGDINGS.
4841 (SYMBOL, WINGDINGS): New targets.
4843 2004-01-13 Jeff Conrad <jeff_conrad@msn.com>
4845 * src/devices/grolj4/lj4_font.man: New man page.
4846 * src/devices/grolj4/Makefile.sub (MAN5): New variable.
4847 * src/devices/grolj4.man: Mention lj4_font man page.
4849 * src/utils/hpftodit/hpftodit.cpp (read_map): Handle line comments.
4850 * src/utils/hpftodit/hpftodit.man: Document it.
4852 Remove details about fonts (which are now in lj4_font.man).
4854 * font/devlj4/generate/symbol.map,
4855 font/devlj4/generate/wingdings.map: New files.
4857 2004-01-12 Werner LEMBERG <wl@gnu.org>
4859 * README: Mention ffii's viewcvs access.
4861 2004-01-09 Werner LEMBERG <wl@gnu.org>
4863 * font/devlj4/generate/special.map: Map MSL 228 to U+221F.
4865 2004-01-09 Jeff Conrad <jeff_conrad@msn.com>
4867 Revert most of the change from 2004-01-03 to better control used
4870 * src/utils/hpftodit/hpftodit.cpp (symbol_set): New structure.
4871 (text_symbol_sets, special_symbol_sets): New arrays.
4872 (symbol_set_table): New global variable.
4873 (read_symbol_sets): Use search order given in the text_symbol_sets
4874 and special_symbol_sets arrays. If command line flag -a is not
4875 given, search both arrays.
4876 (output_charset): Require x_height_tag only for command line flag -i.
4878 2004-01-06 Werner LEMBERG <wl@gnu.org>
4880 Implement string-valued registers \n[.m] and \n[.M] to return the
4881 name of the current drawing and background color, respectively.
4883 * src/roff/troff/symbol.h: Moved to...
4884 * src/include/symbol.h: Here.
4885 Small fixes to make it work outside of the `troff' directory.
4886 * src/roff/troff/symbol.cpp: Moved to...
4887 * src/libs/libgroff/symbol.cpp: Here.
4888 Small fixes to make it work outside of the `troff' directory.
4890 * src/include/Makefile.sub (HDRS), src/libs/libgroff/Makefile.sub
4891 (OBJS, CCSRCS), src/roff/troff/Makefile.sub (OBJS, CCSRCS, HDRS):
4894 * src/include/color.h: Include symbol.h.
4895 (color): Add new field `nm'.
4896 * src/libs/libgroff/color.cpp (color::color): Updated.
4898 * src/roff/troff/dictionary.cpp, src/roff/troff/div.cpp,
4899 src/roff/troff/node.cpp, src/roff/troff/number.cpp,
4900 src/roff/troff/reg.cpp: Don't include symbol.h.
4902 * src/roff/troff/env.cpp: Don't include symbol.h.
4903 (environment::get_glyph_color_string,
4904 environment_get_fill_color_string): New member functions.
4905 (init_env_requests): Handle `.m' and `.M' registers.
4906 * src/roff/troff/input.cpp: Don't include symbol.h.
4907 (default_symbol): Moved to symbol.cpp/symbol.h.
4908 (do_glyph_color, do_fill_color, define_color): Pass symbol name
4909 to color constructor.
4910 * src/roff/troff/env.h: Updated.
4912 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
4913 Document new registers.
4915 2004-01-05 Werner LEMBERG <wl@gnu.org>
4917 * src/roff/troff/node.cpp (space_node::get_breakpoints,
4918 space_node::nbreaks): Protect against zero `next' field.
4920 2004-01-03 Jeff Conrad <jeff_conrad@msn.com>
4922 In hpftodit, use the symbol sets offered in the TFM.
4924 * src/utils/hpftodit/hpftodit.cpp (NO_GLYPH): New constant.
4925 (symbol_set, text_symbol_sets, special_symbol_sets,
4926 symbol_set_table): Removed.
4927 (get_printcode): Removed.
4928 (read_symbol_sets): Initialize `symbol_set' field with
4930 Simplify code to just use the `kind' value.
4931 (output_charset): Improve output formatting.
4932 (dump_symbols): Simplified.
4934 2004-01-02 Werner LEMBERG <wl@gnu.org>
4936 * font/devlj4/generate/text.map: Add more MSL numbers.
4938 2004-01-02 Jeff Conrad <jeff_conrad@msn.com>
4940 * src/utils/hpftodit/hpftodit.cpp (is_decomposed): New macro.
4941 (text_symbol_sets): Add more symbol sets.
4942 (debug_flag): New static variable (moved from `main').
4943 (get_printcode, show_symset): New functions.
4944 (main): Remove `debug_flag'.
4945 (output_charset): Use `show_symset'.
4946 (dump_symbols): Use `show_symset'.
4947 Print symsets for all glyphs.
4948 (read_map): Actually call `unicode_to_ucode_make' but this time
4951 2004-01-01 Werner LEMBERG <wl@gnu.org>
4953 * font/devlj4/generate/text.map, font/devlj4/generate/special.map:
4954 Fix placement of comments.
4956 2004-01-01 Jeff Conrad <jeff_conrad@msn.com>
4958 * src/utils/hpftodit/hpftodit.cpp (main): Read map file also if
4959 option `-d' is given.
4960 (output_charset): Improve warning messages to give more information.
4961 (dump_symbols): Make information more precise.
4963 (read_map): Don't call unicode_to_ucode_name; the glyph names must
4964 appear as-is and shouldn't be decomposed.
4966 2003-12-31 Werner LEMBERG <wl@gnu.org>
4968 * src/utils/hpftodit/hpftodit.cpp (dump_tags): Handle posture_tag.
4969 * font/devlj4/generate/Makefile (IFLAG): Updated to new units.
4970 (FONTS): Add TrueType font families Arial and Times New Roman.
4971 (TNRR, TNRB, TNRI, TNRBI, AR, AB, AI, ABI): New targets.
4972 * font/devlj4/generate/text.map: Fix Unicode values of `fi' and
4975 2003-12-31 Jeff Conrad <jeff_conrad@msn.com>
4977 * test-groff.in (SEP): Quote value.
4978 * src/roff/troff/node.cpp (suppress_node::tprint): Change type of
4979 `tem' to `char*' to avoid deallocation of a pointer to a constant
4980 object which some compilers don't like.
4982 2003-12-31 Werner LEMBERG <wl@gnu.org>
4984 * font/devlj4/generate (text.map, special.map): Rewritten to work
4985 with the new hpftodit version.
4987 2003-12-30 Jeff Conrad <jeff_conrad@msn.com>
4989 * src/utils/hpftodit/hpftodit.cpp (output_charset): Emit HP symbol
4990 set and 8bit character code for all glyphs also.
4992 2003-12-30 Werner LEMBERG <wl@gnu.org>
4994 * src/libs/libgroff/strcasecmp.c: Updated from gnulib.
4996 2003-12-29 Werner LEMBERG <wl@gnu.org>
4998 More fixes for MSVC compiler.
5000 * doc/Makefile.sub (GROFF_BIN_PATH): Use $(SEP).
5002 * src/include/nonposix.h (STDIN_FILENO, STDOUT_FILENO,
5003 STDERR_FILENO) [_MSC_VER]: Define conditionally.
5004 (getpid) [_MSC_VER]: Remove.
5005 Include direct.h and process.h conditionally.
5007 * src/roff/troff/node.cpp (suppress_node::tprint): Don't use
5008 parentheses for a_delete.
5010 * src/utils/lookbib/lookbib.cpp: Include nonposix.h.
5012 * test-groff: Replaced with...
5013 * test-groff.in: This new template to handle path separator
5016 * configure.ac: Check for direct.h and process.h.
5017 Generate test-groff script.
5018 * configure, src/include/config.hin: Regenerated.
5020 2003-12-28 Werner LEMBERG <wl@gnu.org>
5022 Add integral extension glyph.
5023 Add new option `-x' to afmtodit to suppress use of built-in AGL.
5025 * font/devhtml/R.proto, font/devutf8/R.proto: Add `u23AE'.
5027 * font/devps/generate/textmap: Provide entry for `integralex' to
5028 override (old) PUA value of the AGL.
5029 * font/devps/generate/Makefile (SS): Add afmtodit option `-x'.
5030 * font/devps/*: Regenerated.
5032 * src/utils/afmtodit/afmtodit.pl: Add option `-x'.
5033 * src/utils/afmtodit/afmtodit.man, NEWS: Updated.
5035 2003-12-27 Werner LEMBERG <wl@gnu.org>
5037 Add forgotten `coproduct' symbol (already available for DVI).
5039 * font/devhtml/R.proto, font/devps/generate/textmap,
5040 font/devps/symbolmap, font/devutf8/R.proto, man/groff_char.man,
5041 src/libs/libgroff/uniglyph.cc, src/libs/libgroff/glyphuni.cpp: Add
5042 U+2210 (\[coproduct]).
5044 2003-12-26 Jeff Conrad <jeff_conrad@msn.com>
5046 hpftodit has been extended to handle TrueType metric files and
5047 more glyphs. See hpftodit.man for more details.
5049 * src/utils/hpftodit/hpftodit.cpp: Include stdio.h, string.h,
5050 ctype.h, and unicode.h.
5051 s/msl/charcode/ everywhere since we now handle Unicode values also.
5052 (equal, NO, YES, MSL, SYMSET, UNICODE, UNICODE): New macros.
5053 Use it where appropriate.
5054 (MULTIPLIER): Replaced with...
5055 (multiplier): New global static variable.
5057 (tag_type): Add more TFM tags.
5058 (tag_name): New array.
5059 (ENUM_TYPE, FLOAT_TYPE): Removed.
5060 (BYTE_TYPE): New value assigned.
5061 (ASCII_TYPE, RATIONAL_TYPE): New enumeration values.
5062 (text_symbol_sets, special_symbol_sets): Extended to cover more
5064 (check_type): Add return value.
5065 (check_units): Add parameters to get ppi and upem values.
5066 Handle TrueType TFM data.
5067 (output_font_name): New function.
5068 (output_charset): Add parameter to handle TFM type.
5069 Handle TrueType TFMs also.
5070 (em_fract): New macro.
5071 (dump_tags): Be much more verbose and handle more tags.
5072 (dump_ascii, dump_symbol_sets, dump_symbols): New functions.
5073 (hp_msl_to_ucode_name, unicode_to_ucode_name, is_uname): New
5075 (read_map): Add parameter to handle TFM type.
5076 Handle both MSL and Unicode mappings.
5077 (main): Add two new command line options `-a' and `-q'.
5078 Updated to make use of new functions.
5081 * src/utils/hpftodit/hpuni.cpp: New file.
5083 * src/utils/hpftodit/Makefile.sub, src/utils/hpftodit/hpftodit.man:
5086 2003-12-25 Werner LEMBERG <wl@gnu.org>
5088 * src/include/nonposix.h (read) [_MSC_VER]: Define.
5090 2003-12-24 Werner LEMBERG <wl@gnu.org>
5092 * src/utils/afmtodit/afmtodit.man: Some reformulations as suggested
5093 by Michail Vidiassov <master@iaas.msu.ru>.
5095 2003-12-20 Werner LEMBERG <wl@gnu.org>
5097 * font/devhtml/R.proto: Add u00{47,67}_0306, u00{53,73}_0327,
5099 Add missing latin-2 glyphs.
5100 * font/devutf8/R.proto: Add missing latin-2 glyphs.
5102 * tmac/troffrc: Load `composite.tmac' earlier.
5104 * tmac/dvi.tmac, tmac/ps.tmac, tmac/lbp.tmac: Add u00{47,67}_0306,
5105 u00{53,73}_0327, and u0049_0307.
5106 * tmac/X.tmac: Add u00{47,67}_0306.
5107 * tmac/tty-char.tmac: Use composite glyph names for readability.
5111 * src/include/unicode.h: Remove `extern' keywords.
5113 2003-12-20 Nilgün Belma Bugüner <nilgun@superonline.com>
5115 * tmac/latin5.tmac: New file.
5117 2003-12-19 Werner LEMBERG <wl@gnu.org>
5119 Add some glyphs needed for Turkish.
5121 * font/devutf8/R.proto: Add u00{47,67}_0306, u00{53,73}_0327,
5124 * tmac/composite.tmac: Add `,' as a synonym for `ac' accent.
5125 * tmac/tty-char.tmac: Add representations for u00{47,67}_0306,
5126 u00{53,73}_0327, and u0049_0307.
5128 2003-12-18 Werner LEMBERG <wl@gnu.org>
5130 * src/devices/grops/ps.cc (ps_output::put_float): Revert change
5132 Remove trailing zeros.
5134 2003-12-17 Werner LEMBERG <wl@gnu.org>
5136 Make \? transparent to end-of-sentence recognition.
5138 * src/roff/troff/input.cc (non_interpreted_node): Add
5139 `ends_sentence' member function.
5141 2003-12-16 Werner LEMBERG <wl@gnu.org>
5143 * doc/groff.texinfo: Document `dt' request correctly.
5144 Other minor typographical improvements.
5146 2003-12-10 Michail Vidiassov <master@iaas.msu.ru>
5148 * src/utils/afmtodit/Makefile.sub (afmtodit): Fix typo.
5150 2003-12-10 Richard Stallman <rms@gnu.org>
5152 * LICENSE: Better wording.
5154 2003-12-09 Werner LEMBERG <wl@gnu.org>
5156 * aclocal.m4 (GROFF_BROKEN_SPOOLER_FLAGS): Set default value to 0.
5157 * configure, NEWS: Updated.
5159 2003-12-08 Werner LEMBERG <wl@gnu.org>
5161 * FDL: Updated to version 1.2 (from www.gnu.org/copyleft).
5163 2003-12-07 Bernd Warken <bwarken@mayn.de>
5167 2003-12-07 Werner LEMBERG <wl@gnu.org>
5169 * INSTALL: Improved.
5171 2003-12-05 Keith Marshall <keith.d.marshall@ntlworld.com>
5173 Use path separator character of target platform for compiled-in
5176 * aclocal.m4 (GROFF_TARGET_PATH_SEPARATOR): New macro.
5177 * configure.ac: Use GROFF_TARGET_PATH_SEPARATOR.
5178 * configure: Regenerated.
5179 * Makefile.in (SEP): Use GROFF_PATH_SEPARATOR.
5181 2003-12-05 Werner LEMBERG <wl@gnu.org>
5183 * src/include/nonposix.h (PATH_SEP_CHAR): New definition.
5184 Replace `PATH_SEP[0]' with `PATH_SEP_CHAR' everywhere.
5186 2003-12-04 Bernd Warken <bwarken@mayn.de>
5188 * LICENSE: New file.
5190 2003-12-03 Werner LEMBERG <wl@gnu.org>
5192 * src/utils/afmtodit/afmtodit.pl: Comment out code which handles
5193 ligatures present in AFM files since groff currently only
5194 understands some standard ligatures and nothing else.
5196 2003-12-03 Jeff Conrad <jeff_conrad@msn.com>
5198 * src/roff/groff/groff.cpp (main): Don't run the spooler if
5201 * src/roff/groff/pipeline.c (run_pipeline) [_WIN32]: Fix error
5204 Don't use Unix wait flags.
5206 2003-12-02 Werner LEMBERG <wl@gnu.org>
5208 * src/roff/troff/glyphuni.cpp, src/roff/troff/unicode.cpp,
5209 src/roff/troff/unicode.h, src/roff/troff/uniglyph.cpp,
5210 src/roff/troff/uniuni.cpp: Moved to...
5211 * src/libs/libgroff/glyphuni.cpp, src/libs/libgroff/unicode.cpp,
5212 src/libs/libgroff/unicode.h, src/libs/libgroff/uniglyph.cpp,
5213 src/libs/libgroff/uniuni.cpp: Here.
5215 * src/include/Makefile.sub.old (HDRS),
5216 src/libs/libgroff/Makefile.sub (OBJS, CCSRCS),
5217 src/roff/troff/Makefile.sub (HDRS, PBJS, CCSRCS): Updated.
5219 2003-12-01 Keith Marshall <keith.d.marshall@ntlworld.com>
5221 * src/preproc/htlp/pre-html.cpp (__tmpfile): Renamed to
5225 2003-12-01 Werner LEMBERG <wl@gnu.org>
5227 * groff.texinfo: Document special behaviour of `.vs 0'.
5228 Improve documentation of `cflags' request.
5231 2003-11-29 Werner LEMBERG <wl@gnu.org>
5233 * font/devlj4/generate/Makefile (CORONET): Use correct TFM.
5234 * font/devlj4/CORONET: Regenerated.
5236 2003-11-24 Werner LEMBERG <wl@gnu.org>
5238 * src/roff/troff/env.cpp (hyphen_trie::read_patterns_file): Fix loop
5239 if processing hyphenation patterns in traditional mode.
5240 Improve error messages.
5242 2003-11-20 Werner LEMBERG <wl@gnu.org>
5244 * src/roff/troff/node.cpp (troff_output_file::put_char_width,
5245 troff_output_file::put_char): Fix type of local variable `c'.
5247 2003-11-19 Werner LEMBERG <wl@gnu.org>
5249 * src/roff/groff/pipeline.c (P): Removed. Updated all function
5251 (i_to_a): Removed. libgroff already provides this function.
5252 (run_pipeline) [_WIN32]: Don't use itoa but i_to_a.
5254 2003-11-18 Keith Marshall <keith.d.marshall@ntlworld.com>
5256 * src/roff/groff/pipeline.c (xstrsignal): Fix usage of
5259 2003-11-17 Werner LEMBERG <wl@gnu.org>
5261 * COPYING: Use correct version.
5263 2003-11-11 Werner LEMBERG <wl@gnu.org>
5265 LynxOS 4.0.0 doesn't declare vfprintf.
5267 * configure.ac: Check for vfprintf.
5268 * configure: Regenerated.
5269 * src/include/lib.h: Handle `NEED_DECLARATION_VFPRINTF'.
5270 * src/include/config.hin: Regenerated.
5272 2003-11-10 Werner LEMBERG <wl@gnu.org>
5274 LynxOS 4.0.0 has snprintf (without declaration) but no vsnprintf.
5276 * configure.ac: Check for vsnprintf.
5277 * configure: Regenerated.
5278 * src/include/lib.h: Handle `NEED_DECLARATION_VSNPRINTF' and
5280 * src/include/config.hin: Regenerated.
5282 2003-11-09 Werner LEMBERG <wl@gnu.org>
5284 * aclocal.m4: Updated syntax to autoconf 2.59.
5285 (GROFF_HTML_PROGRAMS): Use AC_FOREACH.
5286 Don't check for gsos2.
5287 (GROFF_SRCDIR, GROFF_BUILDDIR): Removed. autoconf 2.59 provides
5288 working abs_top_srcdir and abs_top_builddir.
5290 * configure.ac: Updated syntax to autoconf 2.59.
5291 Don't call GROFF_SRCDIR and GROFF_BUILDDIR.
5292 Replace call to AC_DECL_SYS_SIGLIST with call to AC_CHECK_DECLS.
5293 * configure: Regenerated.
5295 * Makefile.in, doc/Makefile.in: s/@top_srcdir@/@abs_top_srcdir@/,
5296 s/@groff_top_builddir@/@abs_top_builddir@/.
5298 * src/roff/groff/pipeline.c (xstrsignal):
5299 s/SYS_SIGLIST_DECLARED/HAVE_DECL_SYS_SIGLIST/.
5301 2003-11-07 Werner LEMBERG <wl@gnu.org>
5303 * src/devices/grodvi/dvi.cpp (draw_dvi_printer::draw) ['a']: Always
5304 make start angle smaller than end angle to circumvent a bug in tpic
5305 handling of some versions of dvipdfm (and dvipdfmx).
5307 2003-10-30 Werner LEMBERG <wl@gnu.org>
5309 * src/devices/grops/grops.man: Improve section on creating EPS.
5311 2003-10-29 Werner LEMBERG <wl@gnu.org>
5313 * contrib/pic2graph/pic2graph.sh: Fix typo (-P-letter ->
5316 2003-10-28 Werner LEMBERG <wl@gnu.org>
5318 * doc/groff.texinfo: Fix documentation of `.if'.
5320 2003-10-27 Michail Vidiassov <master@iaas.msu.ru>
5322 * src/utils/afmtodit/afmtodit.pl: Handle unmapped characters of
5323 the form `uniXXXX' also.
5325 2003-10-27 Werner LEMBERG <wl@gnu.org>
5327 * contrib/eqn2graph/eqn2graph.sh, contrib/grap2graph/grap2graph.sh,
5328 contrib/pic2graph/pic2graph.sh: Implement secure management of
5330 Pass `-P-pletter' to groff to avoid data outside of the converted
5331 area -- some versions of `convert' (for example 5.3.8) don't check
5332 the bounding box of the image but always use a fixed image size
5333 (letter paper format).
5334 * contrib/eqn2graph/eqn2graph.man, contrib/grap2graph/grap2graph.man,
5335 contrib/pic2graph/pic2graph.man: Updated.
5337 * src/roff/groff/groff.man: Document $TMP and $TEMP.
5339 2003-10-26 Werner LEMBERG <wl@gnu.org>
5341 * src/preproc/pic/troff.cpp (troff_output::simple_circle,
5342 troff_output::simple_ellipse, troff_output::simple_arc,
5343 troff_output::simple_line, troff_output::simple_spline,
5344 troff_output::simple_polygon): Insert a space before arguments.
5345 (troff_output::set_fill): Emit `\&' before `\D'Fg...' since the
5346 latter doesn't produce a node, so the following `.sp -1' would do
5348 Don't emit `.sp -1' after \M. This also doesn't produce a token
5349 (and we don't have to care about compatibility mode).
5350 (troff_output::set_color, troff_output::reset_color): Don't emit
5351 `.sp -1' after \M and \m.
5353 * src/roff/troff/input.cpp (old_have_input): New global variable.
5354 (input_stack::get): Handle `old_have_input'.
5355 (process_input_stack) <token::TOKEN_NEWLINE>: Call
5356 `trapping_blank_line' depending on `old_have_input', not
5359 2003-10-20 Keith Marshall <keith.d.marshall@ntlworld.com>
5361 * src/libs/libgroff/tmpfile.cpp [__MSDOS__, _Win32]
5362 (WIN32_TMPDIR_ENVVAR, MSDOS_TMPDIR_ENVVAR): New macros, providing
5363 default directory names for temporary files.
5364 [__MSDOS__, _Win32] (temp_init::temp_init): Use them.
5366 * src/roff/groff/pipeline.c [__MSDOS__]: Include stdlib.h.
5367 [__MSDOS__] (run_pipeline): Honour environment variables.
5368 Don't use `tmpnam' but `tempnam' to work around messy
5371 * README.MinGW: New file.
5373 2003-10-16 Werner LEMBERG <wl@gnu.org>
5375 * src/preproc/html/pre-html.cpp (write_upto_newline): Don't use
5376 `(*t)->next' without testing validity of `*t'.
5377 (usage): Make it more readable.
5379 2003-10-16 Keith Marshall <keith.d.marshall@ntlworld.com>
5381 Make html device run under both MS-DOS and Win32.
5383 * src/preproc/html/pre-html.cpp (MAY_FORK_CHILD_PROCESS,
5384 MAY_SPAWN_ASYNCHRONOUS_CHILD): New macros to control whether
5385 spawn or fork+exec has to be used, and whether parent must sleep
5386 until the child process terminates. Used in
5387 `char_buffer::run_output_filter'.
5388 (copyofstdoutfd): Removed.
5389 (char_buffer): Replace `write_file_html' and `write_file_troff'
5390 member functions with `emit_troff_output' and `run_output_filter'.
5391 (DEVICE_FORMAT, HTML_OUTPUT_FILTER, IMAGE_OUTPUT_FILTER): New
5393 (replaceFd): Replaced with...
5394 (set_redirection): New auxiliary function.
5395 (waitForChild): Replaced with...
5396 (save_and_redirect): New auxiliary function for.
5398 (char_buffer::do_html, char_buffer::do_image): Simplified, using new
5401 2003-10-14 Keith Marshall <keith.d.marshall@ntlworld.com>
5403 * aclocal.m4 (GROFF_SYS_NERR): Check stdlib.h also.
5404 (GROFF_LIBC): New function.
5405 * configure.ac: Call GROFF_LIBC.
5407 * configure: Regenerated.
5409 * src/include/lib.h: Handle __MINGW32__.
5410 * src/include/nonposix.h [_MSC_VER]: Handle __MINGW32__.
5411 Add macro for `pipe'.
5414 * src/roff/groff/pipeline.c (run_pipeline): Handle `no_pipe'
5417 * src/utils/indxbib/signal.c (handle_fatal_signal) [!HAVE_KILL]:
5420 2003-10-12 Werner LEMBERG <wl@gnu.org>
5422 * src/roff/groff/groff.cpp (help), src/devices/grops/ps.cpp (usage),
5423 src/roff/troff/input.cc (usage): Updated.
5425 * NEWS, doc/groff.texinfo: Updated.
5427 2003-10-12 Peter Miller <millerp@canb.auug.org.au>
5429 * src/libs/libgroff/searchpath.cpp
5430 (search_path::open_file_cautious): New function which also handles
5431 `-' as stdin and stdout depending on the access mode.
5432 * src/include/searchpath.h (search_path): Updated.
5434 * src/devices/grops/ps.cpp (main): Handle new `-I' switch.
5435 * src/devices/grops/ps.h: Include `searchpath.h'.
5436 * src/devices/grops/psrm.cpp (resource_manager::supply_resource):
5437 Open resource file with `include_search_path.open_file_cautious'.
5438 * src/devices/grops/grops.man: Document new `-I' switch.
5440 * src/devices/grodvi/dvi.cpp (main), src/devices/grolbp/lbp.cpp
5441 (main), src/devices/grolj4/lj4.cpp (main),
5442 src/devices/grotty/tty.cpp (main): Ignore new `-I' switch.
5444 * src/preproc/soelim/soelim.cpp (include_list_length, include_list):
5446 (include_search_path): New global variable.
5447 (include_path_append): Removed.
5448 (main): Use `include_search_path.command_line_dir' to handle `-I'.
5449 (do_file): Simplify, using new
5450 `include_search_path.open_file_cautious'.
5452 * src/roff/groff/groff.cpp (print_commands): Accept file handle as
5454 (main): Pass arguments to `-I' to both troff and devices.
5455 Improve handling of `-V'.
5456 * src/roff/groff/groff.man: Document changes to -I and -V.
5458 * src/roff/troff/input.cpp (include_search_path): New global
5460 (next_file, source, ps_bbox_request, transparent_file,
5461 process_input_file): Use new
5462 `include_search_path.open_file_cautious'.
5463 (main) Handle `-I' switch.
5464 * src/roff/troff/node.cpp (troff_output_file::really_copy_file):
5465 Use new `include_search_path.open_file_cautious'.
5466 * src/roff/troff/node.h: New extern symbol `include_search_path'.
5467 * src/roff/troff/troff.man: Document new `-I' switch.
5469 2003-09-15 Ruslan Ermilov <ru@FreeBSD.org>
5471 Support multiple calls of .Lb in LIBRARY section.
5473 * tmac/doc-common (doc-in-library-section): New register.
5474 (doc-section-library): New string.
5475 (Sh): Set `doc-in-library-section'.
5477 * tmac/doc-syms (Lb): Insert breaks before and after arguments
5478 if in LIBRARY section.
5479 * tmac/doc.tmac (doc-save-global-vars): Updated.
5480 * NEWS, tmac/groff_mdoc.man: Updated.
5482 2003-09-14 Ruslan Ermilov <ru@FreeBSD.org>
5484 * tmac/doc-common (doc-default-operating-system): New variable.
5487 2003-09-08 Werner LEMBERG <wl@gnu.org>
5489 * tmac/doc.tmac (doc-reset-reference): Handle data for `%I' also.
5491 2003-08-31 Werner LEMBERG <wl@gnu.org>
5493 * Makefile.comm: Use `test ... ||' in favor of `if test ...; then'.
5494 (install_dev, uninstall_dev): Check whether $(DEVSCRIPTS) and
5495 $(DEVFILES) are not empty.
5496 * Makefile.in: Use `test ... ||' in favor of `if test ...; then'.
5498 2003-08-23 Stephen Gildea <http://www.gildea.com/stephen>
5500 * src/preproc/ref/ref.cpp (reference::compute_sort_key): Always
5501 insert SORT_SEP. With certain combinations of sort specifications,
5502 refer sorted entries in the wrong order. In particular, entries
5503 with a missing field should be be sorted before all entries that
5504 have that field, before refer looks to the next field.
5506 2003-08-23 Werner LEMBERG <wl@gnu.org>
5508 * src/utils/pfbtops/Makefile.sub (LINK.c): Define it so that the
5509 g++ linker is used. Reported by Mark J. Reed
5510 <mark.reed@turner.com>.
5512 2003-08-16 Heinz-Jürgen Oertel <hj.oertel@surfeu.de>
5514 Add key character `x' to tbl which makes tbl call a user-defined
5515 macro on a table cell.
5517 * src/preproc/tbl/table.h (entry_modifier): Add `macro'.
5518 * src/preproc/tbl/table.cpp (block_entry::do_divert): Call
5519 `set_modifier' after printing the compatibility request.
5520 (set_modifier): Print call to `m->macro' if not empty.
5521 * src/preproc/tbl/main.cpp (entry_format::debug_print): Handle
5523 (process_format): Implement cases `x' and `X'.
5524 * src/preproc/tbl/tbl.man, NEWS: Updated.
5526 2003-08-15 Werner LEMBERG <wl@gnu.org>
5528 * doc/groff.texinfo: Minor fixes.
5530 2003-08-09 Werner LEMBERG <wl@gnu.org>
5532 * tmac/an-old.tmac [cR]: Fix redefinition of `bp'.
5534 2003-08-07 Werner LEMBERG <wl@gnu.org>
5536 * doc/Makefile.sub: Not all shells expand wildcards in the `for'
5537 argument list to nothing if there is no file to match. Use `ls' as
5538 a protection, similar to autoconf.
5540 * Makefile.comm (install_dev, uninstall_dev): Protect `for' against
5541 empty argument lists.
5543 * doc/groff.texinfo: Improve documentation how vertical spacing
5544 and line breaks interact.
5547 * tmac/www.tmac: Initialize `www-htmlimage-gap'.
5549 2003-08-03 Werner LEMBERG <wl@gnu.org>
5551 * NEWS, src/devices/grops/grops.man: -b16 is necessary to produce
5552 EPS (using eps2eps or similar programs to compute the bounding box).
5554 2003-07-24 Werner LEMBERG <wl@gnu.org>
5556 * doc/groff.texinfo: Use the new @/ command to avoid overlong lines.
5557 * doc/texinfo.tex: Updated from texinfo 4.6.
5558 * README.CVS: From now on we need texinfo 4.6.
5560 2003-07-23 Werner LEMBERG <wl@gnu.org>
5562 Add requests `dei1' and `ami1' for completeness.
5564 * src/roff/troff/input.cc (calling_mode): Remove
5565 CALLING_DISABLE_COMP.
5566 (comp_mode): New enumeration.
5567 (do_define_string, define_string, define_nocomp_string,
5568 append_string, append_nocomp_string): Updated.
5569 (do_define_macro): Add third parameter.
5570 (define_macro, define_nocomp_macro, define_indirect_macro,
5571 append_macro, append_nocomp_macro, append_indirect_macro): Updated.
5572 (define_indirect_nocomp_macro, append_indirect_nocomp_macro): New
5575 (init_input_requests): Add `dei1' and `ami1'.
5577 * tmac/trace.tmac: Handle de1 and am1.
5578 (de): Improve tracing message.
5579 (am): Add missing `do'.
5582 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
5583 Document new requests.
5585 2003-07-22 Heinz-Jürgen Oertel <hj.oertel@surfeu.de>
5587 Add option -G to .MPIMG to insert a gap between text and the image.
5589 * tmac/www.tmac (www-finish-left-po, www-finish-right-ll,
5590 www-finish-left-ll): Updated.
5591 (www-image-just, www-image-gap, www-htmlimage-gap): New variables.
5592 (MPIMG): Make option -L and -R optional.
5593 Implement option -G.
5595 2003-07-22 Gaius Mulley <gaius@glam.ac.uk>
5597 * src/devices/grohtml/post-html.cpp
5598 (html_printer::do_file_components): Don't use `stdout' as lvalue
5599 since it can be a macro.
5601 2003-07-22 Werner LEMBERG <wl@gnu.org>
5603 * src/libs/libgroff/strerror.c: Include errno.h to be in sync with
5604 the corresponding test in aclocal.m4.
5606 2003-07-21 Werner LEMBERG <wl@gnu.org>
5608 * src/preproc/html/pre-html.cpp (TRANSPARENT): Don't use colour
5609 names but RGB values directly. Otherwise pnmtopng depends on
5610 an external file `rgb.txt' which maps colour names to values.
5612 2003-07-20 Werner LEMBERG <wl@gnu.org>
5614 * aclocal.m4 (GROFF_SYS_ERRLIST): Include stdlib.h for MinGW.
5615 * configure, src/include/config.hin: Regenerated.
5617 * src/libs/libgroff/strerror.c: Include stdlib.h for MinGW.
5619 2003-07-19 Werner LEMBERG <wl@gnu.org>
5621 * PROBLEMS: Add solution for UTF-8 problem with hyphens.
5623 2003-07-18 Werner LEMBERG <wl@gnu.org>
5625 * *.man: Switch to non-compatibility mode temporarily if GNU
5626 syntax extensions are used in the particular man page.
5628 * PROBLEMS: Add solutions for SGR problems.
5630 2003-07-17 Werner LEMBERG <wl@gnu.org>
5632 Don't ignore grotty's command line options if \X'tty: sgr ...' is
5633 used to change the drawing scheme.
5635 * src/devives/grotty/tty.cpp (bold_flag_option,
5636 underline_flag_option, italic_flag_option, reverse_flag_option,
5637 bold_underline_mode_option): New global variables.
5638 (update_options): New function.
5639 (tty_printer::special): Call update_options.
5640 (main): Don't set xxx_flag but xxx_flag_option, then call
5643 2003-07-14 Werner LEMBERG <wl@gnu.org>
5645 Make grotty emit proper Unicode box drawing characters for -Tutf8.
5647 * src/devices/grotty/tty.cpp (START_LINE, END_LINE): New enum
5649 (hline_char, vline_char): New global variables.
5650 (tty_printer::tty_printer): Initialize them.
5651 (tty_printer::draw): Emit START_LINE and END_LINE flags for both
5652 horizontal and vertical lines.
5653 (crossings): New global array.
5654 (tty_printer::end_page): Use it to determine the proper crossing
5655 character for -Tutf8.
5657 2003-07-12 Werner LEMBERG <wl@gnu.org>
5659 * doc/Makefilesub (HTMLDOCFILESALL): New macro.
5660 (HTMLDOCFILES): Revert to `pic.html'.
5661 (CLEANADD, install_html, uninstall_sub): Use HTMLDOCFILESALL.
5663 2003-07-11 Werner LEMBERG <wl@gnu.org>
5665 * doc/pic.ms: Improve documentation of absolute coordinates.
5666 Document absolute positioning of pictures.
5668 * NEWS: Add new pic capability.
5670 2003-07-09 Hartmut Henkel <hartmut_henkel@gmx.de>
5672 * src/libs/libgroff/geometry.cpp (check_output_arc_limits):
5675 2003-07-07 Werner LEMBERG <wl@gnu.org>
5677 Implement support for dashed and dotted ellipses in pic. Based on
5678 a patch from Hartmut Henkel <hartmut_henkel@gmx.de>.
5680 * src/preproc/pic/common.cpp (common_output::ellipse_arc,
5681 common_output::dashed_ellipse, common_output::dotted_ellipse): New
5682 functions. Ellipse arcs are approximated with circle arcs.
5683 * src/preproc/pic/common.h (common_output): Updated.
5684 * src/preproc/pic/tex.cpp (tex_output::ellipse): Use new ellipse
5686 * src/preproc/pic/troff.cpp (simple_output::ellipse): Ditto.
5688 * src/preproc/pic/TODO, src/preproc/pic/pic.man: Updated.
5690 2003-07-06 Werner LEMBERG <wl@gnu.org>
5692 Make grotty work on platforms which have unsigned char as the
5693 default for char. Based on a patch by Thomas Klausner
5696 * src/devices/grotty/tty.cpp (schar): New typedef.
5697 Updated calls to declare_ptable and implement_ptable.
5698 (glyph): Use schar for back_color_idx and fore_color_idx.
5699 (tty_printer): Use schar for curr_fore_idx and curr_back_idx.
5700 (tty_printer::tty_color, tty_printer::tty_printer,
5701 tty_printer::color_to_idx, tty_printer::put_color): Updated.
5703 2003-07-06 Ruslan Ermilov <ru@FreeBSD.org>
5705 * src/roff/nroff/nroff.sh: Add option -d for completeness.
5706 * src/roff/nroff/nroff.man: Updated.
5708 2003-07-05 Werner LEMBERG <wl@gnu.org>
5710 * NEWS, tmac/groff_www.man: Updated.
5711 * doc/Makefile.sub: Updated.
5713 2003-07-05 Gaius Mulley <gaius@glam.ac.uk>
5715 Implement support for multiple HTML output files.
5717 * src/preproc/html/pre-html.cpp (scanArguments): Dummy handling for
5718 -j command line option.
5720 * src/devices/grohtml/post-html.cpp (job_name, multiple_files): New
5722 (file): New fields `new_output_file', `require_links',
5724 (file::file): Updated.
5725 (files::set_file_name, files::set_links_required,
5726 files::are_links_required, files::is_new_output_file,
5727 files::file_name, files::next_file_name): New functions.
5728 (header_desc): New fields `no_of_level_one_headings',
5730 (header_desc::header_desc): Updated.
5731 (header_desc::write_headings): Handle multiple files.
5732 (html_printer::write_header): Save file name in which header occurs.
5733 (html_printer::determine_header_level): Possibly split files on
5735 (html_printer::do_links, html_printer::troff_tag): Updated.
5736 (html_printer::insert_split_file, html_printer::do_job_name,
5737 html_printer::emit_link, html_printer::write_navigation,
5738 html_printer::do_file_components): New functions.
5739 (html_printer::~html_printer): Handle multiple files.
5740 (main): Handle command line option `-j'.
5742 * src/devices/grohtml/grohtml.man: Updated.
5744 * doc/Makefile.sub (pic.html), doc/Makefile.in (pic.html): New rule
5747 * tmac/www.tmac (JOBNAME): New macro.
5748 * tmac/s.tmac (SH-NO-TAG): New macro.
5749 (@SH): Call SH-NO-TAG.
5752 2003-07-05 Ruslan Ermilov <ru@FreeBSD.org>
5754 * tmac/groff_mdoc.man: Improve documentation of punctuation
5757 2003-07-04 Ruslan Ermilov <ru@FreeBSD.org>
5759 * tmac/doc.tmac (Bd): Change to doc-Li-font later.
5761 2003-07-03 Werner LEMBERG <wl@gnu.org>
5763 * tmac/an-old.tmac [cR]: Redefine `bp' to avoid empty lines.
5765 2003-07-01 Ruslan Ermilov <ru@FreeBSD.org>
5767 * tmac/doc.tmac (doc-do-func, doc-do-func-args): Don't print a comma
5768 after `/*' and `*/'.
5770 (Fn, Fo): Reduce indentation in synopsis.
5772 * tmac/doc-common (doc-check-depth): New macro.
5773 (doc-end-macro, Sh, Ss): Use it.
5774 (Cd): Fix behaviour in synopsis.
5775 (In): Make it parsed and callable.
5776 If not in the synopsis, represent the C header file enclosed in
5778 (doc-str-Rv-std-suffix, doc-str-Rv-stds-suffix, doc-str-Rv-std0):
5779 Use minus, not hyphen.
5781 * tmac/groff_mdoc.man: Updated.
5783 2003-07-01 Werner LEMBERG <wl@gnu.org>
5785 Integrated grap2graph, contributed by Eric S. Raymond.
5787 * contrib/grap2graph/{Makefile.sub, grap2graph.sh, grap2graph.man}:
5789 * Makefile.in, NEWS, MANIFEST, contrib/eqn2graph.man,
5790 contrib/pic2graph.man, src/roff/groff/groff.man: Updated.
5792 2003-07-01 Colin Watson <cjwatson@debian.org>
5794 * src/xditview/*.c: Add prototypes, fix return types, add includes.
5795 Based on work by Fumitoshi UKAI <ukai@debian.or.jp>.
5797 2003-06-31 Ruslan Ermilov <ru@FreeBSD.org>
5799 * tmac/tty-char.tmac: Provide `lb', `rb', `lk', `rk', `lt', `rt'.
5801 2003-06-31 Werner LEMBERG <wl@gnu.org>
5803 * doc/Makefile.sub (CLEANADD): Remove all files created by
5804 running `make groff.{pdf,dvi}'.
5806 * Makefile.sub (DISTCLEANFILES): Remove all non-source files from
5809 2003-06-30 Werner LEMBERG <wl@gnu.org>
5811 * Makefile.in (SHELL): Define as @SHELL@.
5812 (mkinstalldirs): Use $(SHELL).
5813 (MDEFINES): Add $(SHELL).
5814 * Makefile.comm (SHELL): Removed.
5816 2003-06-29 Werner LEMBERG <wl@gnu.org>
5818 * tmac/s.tmac (De, Ds): New aliases for .DE and .DS, respectively.
5819 The X11 documentation files use them.
5820 * tmac/groff_ms.man, doc/groff.texinfo: Document them.
5822 2003-06-15 Robert Goulding <goulding@Princeton.EDU>
5824 * tmac/e.tmac (@C): Handle .ad also.
5826 2003-06-12 Werner LEMBERG <wl@gnu.org>
5828 * src/preproc/tbl/tbl.man: Document formatting of text blocks.
5830 * src/roff/troff/input.cc (token::next) <handle_escape_char>:
5831 Assign `n' even here. It is possible to construct a node
5832 immediately following an escape character:
5840 2003-06-10 Werner LEMBERG <wl@gnu.org>
5842 * README.WIN32: Removed.
5843 * MANIFEST: Updated.
5845 2003-06-07 Werner LEMBERG <wl@gnu.org>
5847 * src/roff/nroff/nroff.sh: Don't emit SGR for option -u.
5849 2003-06-05 Werner LEMBERG <wl@gnu.org>
5851 * src/preproc/pic/pic.y <sprintf_args>: Implement workaround for bug
5852 in Compaq C++ V6.5-033 for Compaq Tru64 UNIX V5.1A (Rev. 1885).
5854 2003-06-03 Werner LEMBERG <wl@gnu.org>
5856 * src/preproc/grn/hdb.cpp (DBRead): Don't close file handle; this
5857 is done by the calling function.
5859 2003-05-22 Ruslan Ermilov <ru@FreeBSD.org>
5861 * tmac/X.tmac: Fix definition of `em'.
5863 2003-05-22 Werner LEMBERG <wl@gnu.org>
5865 * src/roff/troff/input.cc (return_macro_request): Fix detection of
5868 2003-05-18 Werner LEMBERG <wl@gnu.org>
5870 * tmac/doc.tmac (doc-tag-list): Force horizontal mode after tag
5871 to make items work which consist only of a tag.
5873 2003-05-17 Werner LEMBERG <wl@gnu.org>
5875 * tmac/doc.tmac (doc-tag-list): Don't use \Z to assure that spaces
5876 aren't stretched in a tag (this can fail with unformatted boxes).
5877 Instead, insert a break and go back one line.
5879 2003-05-16 Werner LEMBERG <wl@gnu.org>
5881 * src/roff/troff/input.cc (return_macro_request): If called with
5882 argument pop macro twice. We need this to trace `return'.
5884 * tmac/trace.tmac: Handle `return'.
5887 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
5890 2003-05-15 Larry Kollar <kollar@alltel.net>
5892 * tmac/groff_ms.man, doc/groff.texinfo: Improve documentation of
5893 registers `FPS', `FVS', and `FPD'.
5895 2003-05-15 Werner LEMBERG <wl@gnu.org>
5897 * src/utils/pfbtops/pfbtops.c (get_text): Handle loop counter
5900 2003-05-03 Ruslan Ermilov <ru@FreeBSD.org>
5902 * tmac/groff_mdoc.man: Slight improvements.
5904 2003-05-03 Werner LEMBERG <wl@gnu.org>
5906 * tmac/doc-common (doc-header): Emit vertical space of 1v instead of
5907 `doc-header-space' after header line if register `cR' is set.
5909 2003-05-02 Werner LEMBERG <wl@gnu.org>
5913 2003-05-01 Ruslan Ermilov <ru@FreeBSD.org>
5915 * tmac/doc-common (Nd): Use \[em].
5917 2003-05-01 Werner LEMBERG <wl@gnu.org>
5919 * tmac/doc-ditroff, tmac/doc-nroff (doc-header-space,
5920 doc-footer-space): Initialize to 0.5i.
5921 (doc-setup-page-layout): Don't set doc-header-space and
5924 2003-04-30 Werner LEMBERG <wl@gnu.org>
5926 * REVISION: Set to 1.
5928 * doc/pic.ms: Document possible problems with `figname'.
5930 2003-04-29 Werner LEMBERG <wl@gnu.org>
5932 Version 1.19 released
5933 =====================
5935 * VERSION: Set to 1.19.
5936 * REVISION: Set to 0.
5937 * doc/groff.texinfo, doc/webpage.ms, NEWS: Updated.
5939 * src/devices/grohtml/post-html.cpp (html_printer::~html_printer):
5940 Define charset as `US-ASCII' in html output.
5942 * tmac/www.tmac (ULE): Add missing scaling indicator.
5944 * win32-diffs: Removed.
5946 2003-04-28 Werner LEMBERG <wl@gnu.org>
5948 * doc/groff.texinfo: Document `dn' and `dl' registers if used with
5950 Document how to insert discardable whitespace with `.ss'.
5952 2003-04-27 Werner LEMBERG <wl@gnu.org>
5954 * src/preproc/pic/tex.cpp (tex_output::start_picture): Make code
5955 work with plain TeX also.
5957 * src/preproc/pic/pic.man, doc/pic.ms: Fix TeX code example.
5959 2003-04-25 Gaius Mulley <gaius@glam.ac.uk>
5961 * src/devices/grohtml/post-html.cpp (html_printer::~html_printer):
5964 2003-04-24 Werner LEMBERG <wl@gnu.org>
5966 * src/preproc/pic/pic.man, doc/pic.ms: Explain how to get a
5967 vbox with positive height and zero depth if in TeX mode.
5969 * NEWS: Document glyph name changes for grodvi and grolj4.
5971 2003-04-23 Werner LEMBERG <wl@gnu.org>
5973 * src/preproc/pic/tex.cpp (tex_output::start_picture): Fix TeX code.
5974 * doc/pic.ms: Fixed.
5976 2003-04-21 Werner LEMBERG <wl@gnu.org>
5978 HP-UX 10.20 has `snprintf' but it isn't declared.
5980 * configure.ac: Add declaration test for snprintf.
5981 * configure: Regenerated.
5982 * src/include/lib.h: Handle `NEED_DECLARATION_SNPRINTF'.
5983 * src/include/config.hin: Regenerated.
5985 2003-04-19 Werner LEMBERG <wl@gnu.org>
5987 Add keyword `figname' to pic, specifying the name of the picture
5988 box in TeX mode. Based on a patch from William J Poser
5989 <wjposer@unagi.cis.upenn.edu>.
5991 * src/preproc/pic/pic.y: New token `FIGNAME'.
5992 (macro_name): New rule of type <str>.
5993 (placeless_element): Handle `FIGNAME'.
5994 * src/preproc/pic/lex.cpp (lookup_keyword): Add `figname'.
5995 * src/preproc/pic/main.cpp (graphname): New global variable.
5996 (do_picture): Initialize `graphname'.
5997 * src/preproc/pic/pic.h: Updated.
5998 * src/preproc/pic/tex.cpp (tex_output::start_picture): Use
6001 (tex_output::text): Beautify output.
6002 * src/preproc/pic/object.cpp (object_spec::~object_spec): Deallocate
6003 `shaded' and `outlined' unconditionally.
6004 * NEWS, src/preproc/pic/pic.man, doc/pic.ms: Updated.
6007 * PROBLEMS, README.CVS: Mention that bison version 1.875b or
6008 greater is necessary.
6010 2003-04-17 Hartmut Henkel <hartmut_henkel@gmx.de>
6012 Add option -r to soelim to avoid emission of `.lf' lines.
6013 Add option -t to produces TeX comment lines instead of `.lf' lines.
6015 * src/preproc/soelim/soelim.cpp: New global variables `raw_flag'
6018 (main): Handle `-r' and `-t'.
6019 (set_location): Handle `raw_flag' and `tex_flag'.
6020 * src/preproc/soelim/soelim.man, NEWS: Updated.
6022 2003-04-17 Werner LEMBERG <wl@gnu.org>
6024 * tmac/hyphenex.sh: Replaced with...
6025 * tmac/hyphenex.pl: This perl script to avoid sed compatibility
6028 * aclocal.m4 (GROFF_HTML_PROGRAMS): Emit useful warning message
6029 if --quiet is used for the configure script.
6030 * configure: Regenerated.
6032 2003-04-16 Werner LEMBERG <wl@gnu.org>
6034 * src/devices/grohtml/post-html.cpp (text_glob::text_glob):
6035 Add `const' to second argument.
6036 (html_printer::add_table_end): Add `const' to argument.
6037 * src/devices/grohtml/html-text.cpp (html_text::issue_tag): Add
6038 `const' to arguments.
6039 * src/devices/grohtml/html-text.h: Updated.
6041 * src/devices/grolbp/charset.h (symset): Use `unsigned char'.
6042 * src/devices/grolbp/lbp.h (lbpputc): Use `unsigned char' for
6045 * src/devices/grotty/tty.cpp (tty_printer::make_rgb_string): Use
6046 cast for integer constant.
6048 * src/preproc/html/pre-html.cpp (image_device): Use `const'.
6049 (writeNbytes): Add `const' to first argument.
6050 (writeString): Add `const' to argument.
6051 (char_buffer::can_see): Add `const' to third argument.
6052 * src/preproc/html/pushback.cpp (pushBackBuffer::isString): Add
6053 `const' to argument.
6054 * src/preproc/html/pushback.h: Updated.
6056 * src/preproc/soelim/soelim.cpp (include_list): Add `const'.
6057 (include_path_append): Add `const' to argument.
6060 * src/roff/troff/uniglyph.cpp (unicode_to_glyph_list): Use `const'
6062 (unicode_to_glyph_init::unicode_to_glyph_init): Updated.
6063 * src/roff/troff/uniuni.cpp (unicode_decompose_list): Use `const'
6065 (unicode_decompose_init::unicode_decompose_init): Updated.
6066 * src/roff/troff/glyphuni.cpp (glyph_to_unicode_list): Use `const'
6068 (glyph_to_unicode_init::glyph_to_unicode_init): Updated.
6069 * src/roff/troff/input.cc (process_startup_file): Add `const' to
6072 * tmac/hyphenex.sh: Make script more portable by using a here
6075 2003-04-15 Werner LEMBERG <wl@gnu.org>
6077 Renamed all `*.cc' files to `*.cpp'.
6078 Updated all configuration files, makefiles, and documentation.
6080 2003-04-14 Werner LEMBERG <wl@gnu.org>
6082 * tmac/hyphenex.sh: Slight improvements.
6084 2003-04-13 Werner LEMBERG <wl@gnu.org>
6086 * font/devascii/R.proto, font/devcp1037/R.proto,
6087 font/devlatin1/R.proto, font/devutf8/R.proto: Fill up remaining
6088 character slots with unnamed glyphs.
6090 * tmac/an-old.tmac: Fix hyphenation value if `cR' is active.
6091 (an-first): New global variable.
6092 (an-header): Emit vertical space between multiple man pages.
6094 2003-04-11 Werner LEMBERG <wl@gnu.org>
6096 * doc/groff.texinfo, man/groff_out.man: \S only accepts integer
6099 2003-04-10 Werner LEMBERG <wl@gnu.org>
6101 * PROBLEMS: Revised.
6103 2003-04-10 Bernd Warken <bwarken@mayn.de>
6105 * doc/webpage.ms: Improved.
6107 2003-04-09 Werner LEMBERG <wl@gnu.org>
6109 Add register \n[.height] which returns the value of \H.
6110 Add register \n[.slant] which returns the value of \S.
6112 * src/roff/troff/env.cc (init_env_requests): Implement.
6113 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
6116 2003-04-08 Werner LEMBERG <wl@gnu.org>
6118 * tmac/html.tmac: Move some of the data into html-end.tmac.
6119 Remove most of the character translations for eqn since html fonts
6120 now cover those characters.
6122 * tmac/html-end.tmac: New file.
6123 * tmac/troffrc: Load html.tmac not www.tmac for -Thtml.
6124 * tmac/troffrc-end: Load html-end.tmac not html.tmac for -Thtml.
6125 * tmac/Makefile.sub (NORMALFILES): Add html-end.tmac.
6127 2003-04-07 Werner LEMBERG <wl@gnu.org>
6129 * man/groff_out.man: Document negative values of `N' if -Thtml is
6132 2003-04-06 Werner LEMBERG <wl@gnu.org>
6134 * Makefile.comm (depend.temp): Check location of YTABC.
6136 2003-04-05 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
6138 * doc/Makefile.in (TROFFBIN): New variable for troff
6140 (GROFFBIN): New variable for groff binary path.
6141 (groff_bin_path): Rename to GROFF_BIN_PATH.
6142 (TROFF): Use TROFFBIN.
6143 (GROFF): Use GROFFBIN and GROFF_BIN_PATH.
6144 * doc/Makefile.sub (GROFFBIN): New variable for groff
6146 (groff_bin_path): Rename to GROFF_BIN_PATH.
6147 (GROFF): Use GROFFBIN and GROFF_BIN_PATH.
6149 * Makefile.comm (install_dev): Install scripts from DEVSCRIPTS
6150 with INSTALL_SCRIPT.
6151 (uninstall_dev): Uninstall scripts from DEVSCRIPTS.
6152 * Makefile.dev (all): Depend on DEVSCRIPTS.
6153 (install_dev): Likewise.
6154 * font/devdvi/Makefile.sub (DEVSCRIPTS): New variable to hold
6156 * font/devps/Makefile.sub (DEVSCRIPTS): Likewise.
6157 (DEVGENSCRIPTS): New variable to hold generated scripts.
6159 2003-04-05 Werner LEMBERG <wl@gnu.org>
6161 * src/libs/libdriver/input.cc (IntArray::operator[],
6162 IntArray::get_data): Remove meaningless `const' in return value.
6164 * README.CVS: New file.
6166 2003-04-04 Werner LEMBERG <wl@gnu.org>
6168 Check for stdint.h in C++, not in C.
6170 * aclocal.m4 (GROFF_STDINT_H): New function,
6171 * configure.ac: Check for stdint.h with GROFF_STDINT_H instead of
6173 * configure, src/include/config.hin: Regenerated.
6174 * src/libs/libgroff/tmpname.cc: Use HAVE_CC_STDINT_H.
6177 Fix handling of in grohtml. To do this, troff emits `N'
6178 with a negative value, representing the width of the unbreakable
6179 space (only for -Thtml). grohtml then converts this back to
6180 and uses the value of N as its width.
6182 * src/roff/troff/node.cc (space_char_hmotion_node::tprint,
6183 unbreakable_space_node::tprint): Emit `N-<width>'.
6184 * src/include/printer.h (printer::set_numbered_char): Make it
6186 Make members `font_table' and `nfonts' protected instead of private.
6187 * src/devices/grohtml/post-html.cc
6188 (html_printer::set_numbered_char): New member function.
6191 * src/libs/libgroff/maxfilename.cc:
6192 s/HAVE_LIMITS_H/HAVE_CC_LIMITS_H/.
6194 * src/roff/troff/node.cc (unbreakable_space_node::tprint): Don't
6197 2003-04-03 Sergey A. Osokin <osa@freebsd.org.ru>
6199 * man/roff.man: Small fixes.
6201 2003-04-03 Werner LEMBERG <wl@gnu.org>
6203 Make groff independent from locale's numeric settings.
6205 * configure.ac: Check for `setlocale'.
6206 * configure, src/include/config.hin: Regenerated.
6208 * src/include/lib.h: Handle HAVE_SETLOCALE.
6210 * src/devices/grodvi/dvi.cc (main), src/devices/grolj4/lj4.cc
6211 (main), src/devices/grops/ps.cc (main), src/preproc/grn/main.cc
6212 (main), src/preproc/pic/main.cc (main): Call `setlocale'.
6215 * doc/groff.texinfo: Change dir category to `Typesetting'.
6216 (Man font macros): Mention that there is no space between arguments
6219 * src/libs/libdriver/printer.cc, src/devices/grotty/tty.cc
6220 (*printer::change_color, *printer::change_fill_color): Add missing
6223 2003-04-02 Werner LEMBERG <wl@gnu.org>
6225 * src/devices/grohtml/html-table.cc (html_table::emit_col,
6226 html_table::is_gap): Compute table widths after converting border
6227 positions to avoid rounding errors.
6229 2003-04-01 Werner LEMBERG <wl@gnu.org>
6231 * src/devices/grohtml/html-text.cc (html_text::do_space): Handle
6232 `space_emitted' properly.
6234 2003-03-31 Werner LEMBERG <wl@gnu.org>
6236 * src/devices/grohtml/html-table.cc: Fix column width calculation.
6237 (html_table::set_linelength): Don't add 1.
6238 (html_table::add_indent): Don't subtract 1.
6240 * tmac/html.tmac: Set default page offset to zero.
6242 2003-03-30 Werner LEMBERG <wl@gnu.org>
6244 Make groff emit ` ' for `\ ' and `\~' if `-Thtml' is used.
6246 * src/roff/troff/node.cc (space_char_hmotion_node::tprint,
6247 unbreakable_space_node::tprint): New functions.
6248 (troff_output_file): Make space_char_hmotion_mode::tprint and
6249 unbreakable_space_node::tprint to friends.
6250 * src/roff/troff/node.h: Updated.
6252 * font/devhtml/R.proto: Add ` ' at position 0xA0 (as defined
6253 in the HTML standard).
6255 2003-03-29 Werner LEMBERG <wl@gnu.org>
6257 * src/roff/troff/env.cc (point_size): Fix emission of html tag.
6258 Otherwise, the following code
6267 produces `x a' instead of `xa'. This is a temporary fix, disabling
6268 font changes in diversions for -Thtml.
6270 * tmac/an-old.tmac (TH, SH): Use `HTML-TAG-NS' instead of
6272 (an-do-tag-html): Merge with ...
6273 (an-do-tag): This macro.
6274 Change code slightly to circumvent grohtml bug.
6275 * tmac/troffrc-end: Define dummy for HTML-TAG-NS.
6277 * src/devices/grohtml/html-table.cc (html_table::emit_col,
6278 html_table::is_gap): Round `width' properly.
6280 * tmac/html.tmac: Provide some default layout parameters for
6283 * font/devhtml/DESC.proto: Don't use discrete values for `sizes'
6286 2003-03-28 Werner LEMBERG <wl@gnu.org>
6288 src/devices/grops/ps.cc (ps_printer::do_import): Fix error message.
6290 2003-03-27 Werner LEMBERG <wl@gnu.org>
6292 * tmac/an-old.tmac (BT): Don't call .tl if register `ps4html' is
6295 2003-03-20 Werner LEMBERG <wl@gnu.org>
6297 * src/roff/troff/env.cc (vertical_spacing): Allow zero value for
6299 * doc/groff.texinfo: Updated.
6301 2003-03-19 Werner LEMBERG <wl@gnu.org>
6303 * src/roff/troff/input.cc (process_input_stack) <TOKEN_BEGIN_TRAP,
6304 TOKEN_END_TRAP>: Reset `have_input'.
6306 2003-03-18 Werner LEMBERG <wl@gnu.org>
6308 * src/roff/groff/groff.man: Mention groff_trace man page.
6310 2003-03-16 Werner LEMBERG <wl@gnu.org>
6312 * Makefile.in (LIBEXT): New variable to indicate the file extension
6313 of library files. Computed heuristically from $(OBJEXT).
6314 (MDEFINES): Add $(LIBEXT).
6315 * Makefile.lib, Makefile.comm: Use it.
6317 * src/utils/pfbtops/pfbtops.c (get_text): New function. Split
6318 overlong lines into smaller chunks.
6319 (get_binary): New function.
6321 * src/utils/pfbtops/pfbtops.man: Updated.
6323 2003-03-15 Colin Watson <cjwatson@debian.org>
6325 * src/roff/groff/groff.man: Minor syntax fix.
6327 2003-03-14 Egil Kvaleberg <egil@kvaleberg.no>
6329 * src/devices/grops/ps.cc (ps_printer::media_set,
6330 ps_printer::~ps_printer): Handle zero paper width and length.
6332 2003-03-13 Werner LEMBERG <wl@gnu.org>
6334 Add options -p and -l to grodvi.
6336 * src/devices/grodvi/dvi.cc: Include paper.h.
6337 (landscape_flag, user_paper_length, user_paper_width): New global
6339 (dvi_printer::begin_page): Emit `papersize' special.
6340 Set color after initialization of `cur_h' and `cur_v'.
6341 (main): Add options `-l' and `-p'.
6342 * font/devdvi/Makefile.sub (DESC): Set `papersize'.
6343 * src/devices/grodvi/grodvi.man, NEWS: Updated.
6345 * src/devices/grops/psrm.cc (valid_input_table): Fixed.
6347 2003-03-12 Werner LEMBERG <wl@gnu.org>
6349 * src/devices/grops/grops.man: Move documentation of .PSPIC to...
6350 * man/groff_tmac.man: This man page.
6351 * man/groff_font.man: Declare `paperwidth' and `paperlength' as
6354 * tmac/X.tmac: Don't load pspic.tmac.
6356 2003-03-11 Werner LEMBERG <wl@gnu.org>
6358 Make variable `pr' local to libdriver/input.cc. Based on a patch
6359 by Bernd Warken <bwarken@mayn.de>.
6361 * src/include/driver.h (pr): Removed.
6363 * src/libs/libdriver/input.cc (pr): New global variable.
6364 (do_file): Deallocate `pr'.
6365 * src/libs/libdriver/printer.cc (pr): Removed.
6367 * src/devices/grodvi/dvi.cc (main), src/devices/grohtml/post-html.cc
6368 (main), src/devices/grolbp/lbp.cc (main), src/devices/grolj4/lj4.cc
6369 (main), src/devices/grops/ps.cc (main), src/devices/grotty/tty.cc
6370 (main): Don't delete `pr'.
6372 2003-03-10 Werner LEMBERG <wl@gnu.org>
6374 * tmac/a4.tmac, tmac/composite.tmac: Use `.do'.
6375 * tmac/papersize.tmac: New file.
6376 * tmac/troffrc: Include `papersize.tmac'.
6377 * tmac/Makefile.sub (NORMALFILES): Add `papersize.tmac'.
6378 * tmac/an-old.tmac: Set LT to LL by default.
6380 * NEWS, MANIFEST, tmac/groff_man.man, man/groff_tmac.man,
6381 doc/groff.texinfo: Updated.
6383 * src/libs/libgroff/paper.cc (add_iso_paper): Fix very embarassing
6384 bug which caused all odd iso papers to have wrong dimensions.
6386 * src/devices/grops/ps.cc (user_paper_width): New global variable.
6387 (main) <'p'>: Set `user_paper_width' also.
6388 (ps_printer::media_width, ps_printer::media_height): Use values
6389 given with option `-p'.
6391 2003-03-09 Werner LEMBERG <wl@gnu.org>
6393 * src/include/nonposix.h: Provide default for SET_BINARY.
6395 * src/devices/grodvi/dvi.cc, src/devices/grolbp/lbp.cc,
6396 src/devices/grolj4/lj4.cc, src/devices/grops/ps.cc: Call SET_BINARY
6399 * src/utils/pfbtops/pfbtops.c: Call SET_BINARY unconditionally.
6400 (main): Treat \r\n as \n.
6402 2003-03-08 Werner LEMBERG <wl@gnu.org>
6404 * tmac/an-old.tmac: Use register `HY' to control hyphenation.
6405 * NEWS, tmac/groff_man.man, doc/groff.texinfo: Document it.
6407 2003-03-07 Werner LEMBERG <wl@gnu.org>
6409 Added support to access more than 256 glyphs in Type 1 fonts.
6411 * src/devices/grops/ps.cc (subencoding): New structure.
6412 (style): Add `sub' field.
6414 (ps_printer): Add `subencodings' and `next_subencoding_index' fields.
6415 Add `set_subencoding', `get_subfont' and `encode_subfont' member
6418 (ps_printer::set_char): Use `set_subencoding'.
6419 (make_subencoding_name): New function.
6420 (ps_printer::set_style): Handle case where `sty.sub' is not zero.
6421 (ps_printer::~ps_printer): Emit subencoding definitions.
6423 * src/devices/grops/psrm.cc (valid_input_table): New array to
6424 properly support EBCDIC.
6425 (white_space): Add `\f'.
6426 (ps_get_line): Change first argument to be of type `string &'.
6427 Updated all callers.
6428 This allows to get lines of arbitrary length.
6429 Use `valid_input_table'.
6430 Remove warning about non-conforming PS line length. This seems
6431 not to be of great importance -- for example, dvips don't emit
6433 (PS_LINE_MAX): Removed.
6434 (matches_comment): Change first argument to be of type `string &'.
6436 * src/devices/grops/grops.man, src/devices/grops/TODO: Updated.
6438 * src/utils/afmtodit/afmtodit.pl (%unicode_decomposed,
6439 %AGL_to_unicode, %default_ligatures): New hash tables.
6440 Read all map entries.
6441 Add unencoded characters.
6442 Check for default ligatures if there are no `L' entries.
6443 Print all kern entries.
6444 Print all characters in charset.
6445 * src/utils/afmtodit/afmtodit.man: Updated.
6447 * font/devps/*: Regerated all fonts.
6449 * tmac/latin[129].tmac, tmac/cp1047.tmac: Don't test for existence
6450 of characters, just use `.trin'. Otherwise the mapping depends
6451 on the font encoding.
6452 * tmac/ps.tmac: Add `fi' and `fl'.
6453 Improve `Fi' and `Fl'.
6454 * tmac/X.tmac, tmac/lbp.tmac, tmac/tty.tmac: Improve `Fi' and `Fl'.
6455 * tmac/Xps.tmac: Fix `em'.
6459 2003-03-04 Werner LEMBERG <wl@gnu.org>
6461 * src/roff/troff/input.cc (charinfo_to_node_list): Reset
6464 2003-03-03 Werner LEMBERG <wl@gnu.org>
6466 * Makefile.sub (DISTCLEANFILES): Add gxditview._man.
6468 * font/devps/generate/textmap: Remove entry `similarequal'.
6469 * font/devps/symbolmap: Updated.
6471 2003-03-02 Werner LEMBERG <wl@gnu.org>
6473 * src/libs/libgroff/font.cc (font::load): Fix error message for
6476 * src/devices/grops/grops.man: Improve documentation of the -b
6479 * tmac/tty.tmac: Load latin1.tmac for all TTY devices except
6480 `ascii' and `cp1047'.
6482 2003-03-01 Werner LEMBERG <wl@gnu.org>
6484 Document composite glyphs and the `composite' request.
6486 * man/groff.man, man/groff_diff.man, doc/groff.texinfo: Do it.
6488 2003-02-28 Werner LEMBERG <wl@gnu.org>
6490 * font/devdvi/generate/ec.map: Add some more Unicode entities.
6491 * font/devdvi/*EC: Updated.
6493 * tmac/composite.tmac, tmac/latin2.tmac, tmac/latin9.tmac: New files.
6494 * tmac/latin1 (latin1-tr): Undo any previous mapping.
6495 * tmac/troffrc: Load `composite.tmac'.
6496 * tmac/Makefile.sub (NORMALFILES): Updated.
6498 * doc/groff.texinfo (Input Encodings): New section.
6501 2003-02-27 Werner LEMBERG <wl@gnu.org>
6503 * doc/texinfo.tex: New version 2003-02-11.06.
6505 * tmac/doc-common (Dt): Don't emit warning for unknown section.
6506 * tmac/groff_mdoc.man: Fix description of `Dt'.
6508 2003-02-26 Egil Kvaleberg <egil@kvaleberg.no>
6510 * font/devps/prologue.ps: Fix for included Postscript that does
6511 a setpagedevice -- which is now safely ignored.
6515 * src/devices/grops/ps.cc: Now sets the page size in the generated
6516 document. This is done in two ways: Via a %%-comment for gv and
6517 the like, and via a PageSize and setpagedevice for programs that
6518 understands Postscript proper, like ps2pdf.
6520 * src/devices/grops/ps.h: New broken-flag to avoid page size
6521 definition, if required.
6523 * src/devices/grops/grops.man: New broken-flag 16 mentioned.
6525 * doc/Makefile.in: Added -nosetpage flag (via @pnmtops_nosetpage@).
6526 Not really necessary due to the fix in prologue.ps, but cleaner:
6527 Such information does not belong in an .eps file.
6529 * doc/Makefile.sub: See doc/Makefile.in.
6531 2003-02-26 Ralph Corderoy <ralph@inputplus.co.uk>
6533 * aclocal.m4 (GROFF_PNMTOPS_NOSETPAGE): Use P2 format for testing
6534 instead of P1 since the latter is broken in some versions of netpbm.
6535 * configure: Updated.
6537 2003-02-26 Larry Kollar <kollar@alltel.net>
6539 Make man pages more customizable.
6541 * tmac/an-old.tmac (FT): New register holding footer distance from
6543 (HF): New string holding the default heading font.
6544 (TH): Handle registers `IN' and `SN' set on the command line.
6546 (PT, BT): New strings to customize header and footer lines.
6547 (an-header, an-footer): Use them.
6549 * tmac/groff_man.man: Document changes.
6551 * doc/groff.texinfo: Document man changes.
6552 Document Ultrix extensions of man.
6554 2003-02-26 Werner LEMBERG <wl@gnu.org>
6556 * src/roff/troff/input.cc (do_width, do_if_request): Reset
6557 `have_input' after changing back to old environment.
6559 * src/devices/grolbp/lbp.cc (lbp_printer::set_line_thickness): Move
6560 function up to be defined before first call. This is necessary to
6561 avoid a compilation problem with Sun's WorkShop 6 C++ compiler.
6563 * src/utils/afmtodit/afmtodit.pl: Make script search for files in
6564 the default font directory also. Based on a patch from James
6565 J. Ramsey <jjramsey_6x9eq42@yahoo.com>.
6566 * src/utils/afmtodit/Makefile.sub (afmtodit): Handle @FONTDIR@.
6567 * src/utils/afmtodit/afmtodit.man: Document it.
6571 * tmac/groff_man.man, doc/groff.texinfo: Many minor fixes.
6573 2003-02-25 Gaius Mulley <gaius@glam.ac.uk>
6575 * aclocal.m4 (GROFF_HTML_PROGRAMS): Add test for pnmtops.
6576 (GROFF_PNMTOPS_NOSETPAGE): New macro.
6577 * configure.ac: Use it.
6578 * configure: Regenerated.
6579 * Makefile.in: Updated.
6581 * tmac/Makefile.sub (NORMALFILES): Remove www.tmac.
6582 (CLEANADD): Add www.tmac-sed.
6583 (pnmtops_nosetpage): Define default.
6584 (install_data): Handle www.tmac-sed and substitute
6585 @PNMTOPS_NOSETPAGE@.
6586 (stamp-sed): Add www.tmac.
6587 * tmac/www.tmac: Rewritten, based on a patch by Bernd Warken.
6588 It now breaks URLs at suitable places.
6589 (www:substring_ok): New register set by...
6590 (www:@test_substring): New macro.
6591 (www:error): New alias to www-error.
6592 (www:lenstr, www:splitstr, www:url_breaks, www:url_breaks_splitted):
6594 (URL): Use www:url_breaks.
6595 (PIMG, MPIMG): Use @PNMTOPS_NOSETPAGE@.
6596 (CDS, CDE): New macros.
6598 2003-02-25 Werner LEMBERG <wl@gnu.org>
6600 * src/devices/grops/ps.cc (ps_printer::define_encoding): Avoid
6603 2003-02-24 Werner LEMBERG <wl@gnu.org>
6605 Contrary to the PCL5 Developer's Guide, the ascenders in TFM files
6606 can be negative also.
6608 * src/utils/hpftodit/hpftodit.cc (char_info): `ascent' must be
6610 (read_char_table): Avoid negative ascenders.
6611 (output_charset): Add cast.
6612 * font/devlj4/*: Regenerated.
6614 Replace unnamed glyphs for DVI fonts with `uXXXX' glyph names where
6617 * font/devdvi/generate/{tc,texttt,ec,texmi,texsy,textex}.map: Do it.
6618 * font/devdvi/generate/textex.map: Map glyph 23 to `u21C6' instead
6620 * font/devdvi/*: Regenerated.
6622 Map `la' and `ra' to U+27E8 and U+27E9. These two characters have
6623 normal width, while the previously used characters (U+2329 and
6624 U+232A) are classified as wide due to canonical equivalence with the
6625 CJK punctuation characters U+3008 and U+3009.
6627 * font/devutf8/R.proto: Updated.
6628 * src/roff/troff/uniglyph.cc, src/roff/troff/glyphuni.cc: Ditto.
6630 * man/groff_char.man: Simplify handling of table traps by
6631 introducing `start block' and `end block' macros.
6632 (Ns, Ne, 2s, 2e, Ds, De): New macros.
6633 (DL): Make it work with Unix troff also.
6634 Fix code values of `la' and `ra'.
6636 * tmac/dvi.tmac: Define `<>' for CW and CWI.
6638 2003-02-23 Gaius Mulley <gaius@glam.ac.uk>
6640 * src/devices/grohtml/post-html.cc (element_list::~element_list):
6641 New destructor, fixing a major memory leak.
6643 2003-02-22 Werner LEMBERG <wl@gnu.org>
6645 * font/devhtml/R.proto, font/devutf8/R.proto: Flip `*f' and `+f'
6646 to be in conformance with Unicode 3.0 and newer.
6648 * font/devlj4/generate/text.map: Add `Eu'.
6649 * font/devlj4/generate/special.map: Flip `*e' and `+e'.
6650 * font/devlj4/S: Regenerated.
6652 * man/groff_char.man: Completely rewritten.
6654 * doc/groff.texinfo: Fix description of request and macro arguments.
6656 2003-02-20 Gaius Mulley <gaius@glam.ac.uk>
6660 * src/devices/grohtml/html-table.cc (html_table::~html_table):
6661 Deallocate `columns' list.
6662 * src/devices/grohtml/post-html.cc (char_block::~char_block):
6664 (text_glob::text_glob_html, text_glob::text_glob_special,
6665 text_glob::text_glob_line, text_glob::text_glob_auto_image,
6666 text_glob::text_glob_tag): Avoid memory leaks.
6667 (text_glob::remember_table): Free memory before reassigning.
6669 2003-02-19 Werner LEMBERG <wl@gnu.org>
6671 Add glyph `+e', greek lunate epsilon symbol, and `-h' (with the
6672 alias `hbar'), the Planck constant over two pi.
6674 * font/devdvi/generate/texmi.map: Use `*e' for position 15 and
6675 `+e' for position 34.
6676 * font/devdvi/generate/texsy.map: Replace `DI' and `HE' with
6677 `u2662' and `u2661'.
6678 * font/devdvi/{MI,S}: Regenerated.
6679 * font/devhtml/R.proto, font/devutf8/R.proto: Add `+e', `-h', `hbar'.
6680 * font/devlbp/*: Add `hbar' alias.
6681 * font/devlj4/generate/special.map: Ditto.
6682 * font/devlj4/S: Regenerated.
6683 * font/devps/generate/symbolchars: Add `+e'.
6684 * font/devps/generate/textmap: Fix PS name for `-h'.
6686 * font/devps/symbolmap: Regenerated.
6688 * src/devices/grops/ps.cc (transform_fill): Removed since unused.
6690 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `+e',
6692 * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `+e',
6695 * tmac/X.tmac, tmac/ps.tmac: Provide definitions for `-h' and
6697 * tmac/tty-char.tmac: Add `+e'.
6699 2003-02-17 Werner LEMBERG <wl@gnu.org>
6701 Another round trying to really fix problems with `have_input'.
6703 * src/roff/troff/input.cc (input_stack::get): Handle `have_input'.
6704 (token::next) <'\n'>, <\'\n'>: Don't handle `have_input'.
6706 * src/devices/grotty/tty.cc (tty_printer::put_color): Fix color
6707 handling if both foreground and background colors are default.
6709 * doc/groff.texinfo (Debugging): Document .lf differences to
6712 2003-02-16 Werner LEMBERG <wl@gnu.org>
6714 * src/devices/grotty/tty.cc (tty_printer::make_rgb_string): Avoid
6715 null-bytes in created string.
6717 * src/roff/troff/input.cc (lookup_color, interpolate_macro,
6718 alias_macro, lookup_request): Improve warning messages.
6720 * src/roff/troff/node.cc (suppress_node::tprint): Use `strsave',
6722 Free `last_image_filename'.
6724 * src/preproc/html/pre-html.cc (char_block::char_block): Initialize
6726 (imageList::createPage, imageList::createImage): Use `free', not
6728 (imageItem::~imageItem): Free `imageName'.
6729 (addRegDef): Use `strsave', not `strdup'.
6730 (get_resolution): Free `pathp'.
6732 2003-02-15 Werner LEMBERG <wl@gnu.org>
6734 * src/devices/grotty/tty.cc (tty_printer::tty_printer): Fix pointer
6737 2003-02-14 Werner LEMBERG <wl@gnu.org>
6739 Add memory management for colors to deallocate unnamed colors
6742 * src/include/color.h (color): New members `free_list' and `next'.
6743 New member functions `new' and `delete'.
6745 * src/libs/libgroff/color.cc: Implement it.
6747 * src/libs/libgroff/font.cc (font::add_kern): Use integer cast
6748 for array size of new operator.
6750 * src/libs/libdriver/input.cc (IntArray::operator[]): Remove
6751 redundant comparison.
6753 * src/roff/troff/input.cc (word_space_node::reread,
6754 hmotion_node::reread): Avoid warning about unused parameter.
6755 (reset_output_registers): Remove redundant parameter.
6756 (define_color): Undo change 2003-02-12.
6758 * src/roff/troff/reg.h: Updated.
6760 * src/roff/troff/node.cc (troff_output_file::really_print_line,
6761 output_file::put_filename, real_output_file::really_put_filename,
6762 ascii_output_file::really_print_line,
6763 break_char_node::get_hyphen_list): Avoid warning about unused
6765 (suppress_node::tprint): Updated.
6767 * configure.ac: Check declaration for rand() and srand().
6768 * configure: Regenerated.
6770 * src/preproc/pic/pic.h: Declare fmod(), rand(), and srand()
6772 * src/preproc/pic/pic.y: Remove declaration of fmod(), rand(),
6775 * src/preproc/eqn/delim.cc (delim_table): Add missing initializers
6776 to avoid compiler warnings.
6778 * src/preproc/grn/hgraph.cc (HGPrintElt): Second parameter is
6781 * src/devices/grops/ps.cc (ps_printer::set_char): Last parameter
6783 * src/devices/grops/psrm.cc (skip_possible_newline): Remove first
6785 Updated all callers.
6787 * src/devices/grotty/tty.cc (tty_printer::set_char): Last parameter
6789 * src/devices/grodvi/dvi.cc (dvi_printer::set_char): Ditto.
6790 * src/devices/grolj4/lj4.cc (lj4_printer::set_char): Ditto.
6792 * src/devices/grohtml/post-html.cc (html_printer::emit_line):
6793 Parameter is unused.
6794 (html_printer::add_table_end): Define parameter conditionally.
6795 * src/devices/grohtml/output.cc (simple_output::special): Parameter
6798 * src/devices/grolbp/lbp.cc: Define _GNU_SOURCE conditionally.
6799 (lbp_printer::set_char): Last parameter is unused.
6801 * src/utils/indxbib/indxbib.cc (main): Remove redundant comparison.
6803 2003-02-13 Werner LEMBERG <wl@gnu.org>
6805 New commands \D'Fr ...', \D'Fc ...', etc. for orthogonality.
6806 Make \D'f ...' move horizontally again for backwards compatibility.
6807 Replace it with \D'Fg ...' where appropriate to avoid dependency
6808 on horizontal resolution.
6810 * src/roff/troff/input.cc (do_get_long_name): New function.
6811 (get_long_name): Call it.
6813 (read_draw_node): Handle `\D'Fx ...' by calling ...
6814 (read_color_draw_node): New function.
6816 (read_rgb, read_cmy, read_cmyk, read_gray): New optional argument
6818 Pass it to `do_get_long_name' which is used instead of
6821 * src/libs/libdriver/input.cc (color_from_Df_command): Remove
6822 unnecessary value guard.
6823 (parse_D_command) <'f'>: Add horizontal shift.
6825 * src/preproc/grn/hgraph.cc (HGPrintElt) <POLYGON>: Use \D'Fg ...'.
6826 * src/preproc/pic/troff.cc (troff_output::set_fill): Ditto.
6827 (FILL_MAX): Removed.
6829 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
6832 2003-02-12 Werner LEMBERG <wl@gnu.org>
6834 * src/roff/troff/input.cc (do_name_test, do_expr_test,
6835 do_zero_width): Push `\n' if closing delimiter is missing.
6837 (token::next) <ESCAPE_NEWLINE>, <'\n'>, <\'\n'>: Reset `have_input'.
6838 <'F'>: Make \F non-transparent at the beginning of line.
6839 (process_input_stack) <token::TOKEN_CHAR, token::TOKEN_NEWLINE,
6840 token::TOKEN_REQUEST, token::TOKEN_BEGIN_TRAP>: Don't handle
6843 (define_color): Free color in case of reassignment.
6845 * doc/groff.texinfo (@Defesc, @DefescList, @DefescItem,
6846 @DefescListEnd): Use @Var, not @var.
6849 * src/preproc/grn/hgraph.cc (HGPrintElt): Fix typo.
6851 * src/preproc/pic/object.cc (object_spec::~object_spec): Free
6852 `shaded' and `outlined' arrays.
6853 (object_spec::object_spec): Initialize `shaded' and `outlined'.
6854 (graphic_object::set_fill_color, graphic_object::set_outline_color):
6856 (closed_object::set_fill_color): Ditto.
6857 * src/preproc/pic/troff.cc (troff_output::set_color): Use strsave
6859 (troff_output::reset_color): Use a_delete instead of free.
6860 * src/preproc/pic/main.cc (do_file): Free `out' in case of error.
6862 2003-02-11 Werner LEMBERG <wl@gnu.org>
6864 * doc/groff.texinfo: Improve documentation of `ad'.
6865 Document that \D'f...' is dependent on the horizontal resolution.
6866 * man/groff_diff.man: Improve documentation of \D'f...'.
6868 * src/preproc/grn/hgraph.cc (HGPrintElt) <POLYGON>: Don't emit
6869 compensating \h'...' for \D'f ...' since the latter no longer moves
6871 * src/preproc/pic/troff.cc (troff_output::set_fill): Ditto.
6873 2003-02-10 Werner LEMBERG <wl@gnu.org>
6875 Improve error messages for `x F' (and `F') commands.
6877 * src/include/error.h: Add declaration for
6878 `current_source_filename'.
6879 * src/libs/libgroff/filename.cc: Add `current_source_filename'.
6880 * src/libs/libgroff/error.cc (do_error_with_file_and_line): Add
6881 parameter for source file string.
6882 Updated all callers.
6884 * src/libs/libdriver/input.cc: Add `current_source_filename'.
6885 (remember_source_filename): New function.
6886 (parse_x_command <'F'>, do_file <'F'>): Use it.
6888 2003-02-09 Werner LEMBERG <wl@gnu.org>
6890 Make grotty not emit warnings about unknown colors more than
6893 * src/devices/grotty/tty.cc: Include `ptable.h'.
6894 (TTY_MAX_COLORS): Removed.
6895 (DEFAULT_COLOR_IDX): Defined to -1.
6896 (glyph): Change `back_color_idx' and `fore_color_idx' to `char'.
6897 (tty_printer): Change `curr_back_idx' and `curr_fore_idx' to `char'.
6898 Change `tty_colors' to be a ptable.
6899 First arg of `put_color' is now `char'.
6900 New functions `make_rgb_string' and `tty_color'.
6901 (tty_printer::tty_printer): Use `tty_color'.
6902 (tty_printer::color_to_idx): Return value is now `char'.
6905 * src/include/color.h (color): Add `print_color' member function.
6906 * src/libs/libgroff/color.cc (color::print_color): Implement it.
6908 2003-02-08 Werner LEMBERG <wl@gnu.org>
6912 * src/devices/grops/ps.cc (ps_printer::define_encoding): Close
6915 * src/include/ptable.h (PTABLE::~PTABLE, PTABLE::define): Always
6916 assume that value has been allocated with `new[]', thus use
6917 `a_delete' for deallocation.
6919 * src/libs/libdriver/input.cc (get_integer_arg,
6920 get_possibly_int_args, parse_x_command, do_file): Use `a_delete'
6923 * src/libs/libgroff/new.cc (delete) [!COOKIE_BUG]: Define.
6924 * src/libs/libgroff/nametoindex.cc
6925 (character_indexer::named_char_index): Use `new <type>[1]'.
6927 * src/preproc/eqn/lex.cc (init_table, do_definition): Use `new
6929 * src/preproc/eqn/text.cc (set_special_char_type): Ditto.
6930 (split_text): Use `a_delete'.
6932 * src/preproc/pic/pic.y (define_label, define_variable): Use `new
6935 * src/roff/troff/env.cc (environment::choose_breakpoint): Avoid
6936 harmless memory leak.
6937 (hyphen_trie::read_patterns_file): Initialize `buf'.
6938 * src/roff/troff/node.cc (troff_output_file::troff_output_file):
6939 Initialize `current_fill_color'and `current_glyph_color'.
6940 * src/roff/troff/glyphuni.cc
6941 (glyph_to_unicode_init::glyph_to_unicode_init): Use `new <type>[1]'.
6942 * src/roff/troff/uniuni.cc
6943 (unicode_decompose_init::unicode_decompose_init): Ditto.
6944 * src/roff/troff/uniglyph.cc
6945 (unicode_to_glyph_init::unicode_to_glyph_init): Ditto.
6947 2003-01-26 Werner LEMBERG <wl@gnu.org>
6949 * src/utils/indxbib/indxbib.cc (main) [__EMX__]: Check with
6950 `access' before calling `unlink'.
6951 (do_file): Handle __EMX__.
6953 * src/include/nonposix.h: Handle __EMX__.
6955 * Makefile.in (SEP): New variable; set to @PATH_SEPARATOR@.
6956 (fontpath,tmacpath): Use it.
6958 Sorted alphabetically.
6960 * src/preproc/eqn/neqn.sh, src/roff/nroff/nroff.sh: Use
6962 * src/preproc/eqn/Makefile.sub, src/roff/nroff/Makefile.sub: Handle
6965 2003-01-27 Werner LEMBERG <wl@gnu.org>
6967 * src/libs/libgroff/strcasecmp.c, src/libs/libgroff/strncasecmp.c:
6968 New files, copied from gnulib.
6969 * src/libs/libgroff/Makefile.sub (CSRCS): Add them.
6970 * configure.ac: Updated.
6971 * configure: Regenerated.
6973 * src/include/config.hin: Regenerated.
6974 * src/include/lib.h [!HAVE_STRCASECMP]: Declare `strcasecmp'.
6975 Don't define `strcasecmp' as `strcmp'.
6976 [!HAVE_STRNCASECMP]: Declare `strncasecmp'.
6977 Dont define `strncasecmp' as `strncmp'.
6979 * src/roff/groff/pipeline.c [!HAVE_STRCASECMP, !HAVE_STRNCASECMP]:
6982 2003-01-26 Werner LEMBERG <wl@gnu.org>
6984 * src/utils/indxbib/indxbib.cc (main) [__EMX__]: Fix typo:
6987 2003-01-25 Werner LEMBERG <wl@gnu.org>
6989 * doc/groff.texinfo (Ligatures and Kerning): Mention limitations.
6991 2003-01-24 Werner LEMBERG <wl@gnu.org>
6993 Add US-english hyphenation exceptions (converted from Barbara
6994 Beeton's hyphenation exception log reports which appear irregularly
6997 * tmac/hyphen.us: Updated to latest version.
6998 * tmac/README: Updated.
6999 * tmac/hyphenex.us, tmac/hyphenex.sh: New files.
7000 * tmac/troffrc: Load `hyphenex.us'.
7001 * tmac/Makefile.sub (NORMALFILES): Add `hyphenex.us'.
7002 * doc/groff.texinfo: Updated.
7004 2003-01-23 Werner LEMBERG <wl@gnu.org>
7006 Improve hyphenation slightly. This is a first step in redesigning
7007 the hyphenation algorithm to make it more flexible (e.g. allowing
7008 kerns and ligatures between the hyphenation character and the
7009 following character -- while not used normally in English, other
7010 languages like German would benefit).
7012 * src/roff/troff/env.cc (environment::hyphenate_line): Use
7013 assertion instead of if-clause.
7014 Let `get_hyphen_list' return the number of involved characters in
7015 the hyphenation pattern instead of computing it directly (which
7016 often yields too small values).
7017 * src/roff/troff/node.h (*::get_hyphen_list): Add second parameter.
7018 * src/roff/troff/node.cc (*::get_hyphen_list): Handle new second
7021 2003-01-22 Werner LEMBERG <wl@gnu.org>
7023 Fixing a bug which caused groff to hang if the hyphenation exception
7024 dictionary tried to grow.
7026 * src/roff/troff/env.cc (hyphen_trie::insert_hyphenation,
7027 hyphen_trie::read_patterns_file, do_hyphenation_patterns_file): Use
7028 pointer to dictionary.
7030 2003-01-20 Werner LEMBERG <wl@gnu.org>
7032 * src/utils/afmtodit/afmtodit.pl: Add switch `-m' to suppress
7033 negative left italic correction.
7034 * src/utils/afmtodit/afmtodit.man: Document it.
7036 * font/devps/generate/Makefile (RFLAG): Add `-m'.
7037 * font/devps/{AB,AR,BMB,BMR,CB,CR,EURO,HB,HR,HNB,HNR,NB,NR,PB,PR,
7038 S,TB,TR,ZD,ZDR}: Regenerated with afmtodit options `-i 0 -m'.
7042 2003-01-16 Werner LEMBERG <wl@gnu.org>
7046 2003-01-16 Jörgen Grahn <jgrahn@algonet.se>
7048 * src/preproc/refer/refer.man: Mention REFER environment variable.
7050 2003-01-05 Werner LEMBERG <wl@gnu.org>
7052 Similar to \[is], the square root glyph (\[sr]) and the square root
7053 extension glyph (\[radicalex]) are now text symbols. The new
7054 mathematical versions are called \[sqrt] and \[sqrtex],
7057 * font/devX*/S: Regenerated.
7058 * font/devdvi/generate/texex.map: Rename `sr[0123]' to `sqrt[0123]'.
7059 * font/devdvi/generate/texsy.map: Rename `sr' to `sqrt'.
7060 * font/devdvi/EX, font/devdvi/S: Regenerated.
7061 * font/devhtml/R.proto, font/devutf8/R.proto: Add `sqrt'.
7062 * font/devlj4/generate/special.map: Add `sqrt'.
7063 * font/devlj4/S: Regenerated.
7064 * font/devps/generate/textmap: Add `sqrt'.
7065 * font/devps/S, font/devps/symbolmap: Regenerated.
7067 * src/preproc/eqn/sqrt.cc (SQRT_CHAR, RADICAL_EXTENSION_CHAR,
7068 SQRT_CHAIN, BAR_CHAIN): Use `sqrt*' and `sqrtex*'.
7069 * src/roff/troff/input.cc (init_charset_table): Make `sqrtex'
7070 overlap horizontally.
7072 * tmac/X.tmac, tmac/ps.tmac, tmac/lj4.tmac: Add `sqrtex'.
7073 * tmac/dvi.tmac: Add `sr', and `sqrtex'.
7076 * doc/groff.texinfo, man/groff_diff.man: Document that `radicalex'
7077 and `sqrtex' are overlapping glyphs.
7079 2003-01-04 Werner LEMBERG <wl@gnu.org>
7081 * font/devdvi/generate/texsy.map: Add `is'.
7082 * font/devps/symbolmap: Regenerated.
7083 * font/devdvi/*TC, MI, S: Regenerated.
7085 * tmac/dvi.tmac: Remove `is'.
7087 2003-01-03 Werner LEMBERG <wl@gnu.org>
7089 `is' is now a text symbol (only relevant for dvi). The math variant
7090 can be accessed with `integral'.
7092 * font/devX*/S: Regenerated.
7093 * font/devdvi/generate/texex.map: Remove `is'.
7094 * font/devdvi/EX: Updated.
7095 * font/devhtml/R.proto, font/devutf8/R.proto: Add `integral'.
7096 * font/devlj4/generate/special.map: Ditto.
7097 * font/devlj4/S: Regenerated.
7098 * font/devps/generate/textmap: Add `integral'.
7099 * font/devps/S: Regenerated.
7101 * tmac/dvi.tmac: Define `is'.
7103 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `integral'.
7105 * src/preproc/tbl/main.cc (process_format): Fix error message.
7107 2003-01-02 Werner LEMBERG <wl@gnu.org>
7109 * font/devhtml/R.proto, font/devutf8/R.proto: Add `ne' and `nc'.
7110 * font/devps/textmap: Fix entries for `ne' and `nc'.
7111 * font/devps/symbolmap: Regenerated.
7113 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list),
7114 src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `18',
7115 `38', `58', `78', `-+', `|=', `nc', `ne'.
7117 * tmac/dvi.tmac: Add `nm', `ne', `nc'.
7118 Use `schar' for `aq'.
7119 * tmac/ps.tmac, tmac/X.tmac: Add `nc' and `ne'.
7120 * tmac/ec.tmac: Add `SC' to special fonts for `CW' and `CWI'.
7121 * tmac/tty.tmac: Add `ne'.
7123 * src/roff/troff/node.cc (make_glyph_node): Test with `get_macro'
7124 for fallback glyphs.
7126 2002-12-29 Werner LEMBERG <wl@gnu.org>
7130 * font/devX*/*: Regenerated.
7131 * font/devdvi/generate/ec.map: Remove `eq'.
7132 * font/devdvi/generate/texsy.map: Make `~=' the same as `~~'.
7133 Assign `|=' to position 39.
7134 * font/devdvi/*EC, S: Regenerated.
7135 * font/devhtml/R.proto, font/devutf8/R.proto: Add `|='.
7136 * font/devlj4/generate/special.map: Make `~=' the same as `~~'.
7137 Assign `|=' to position 549.
7138 * font/devps/generate/textmap, font/devps/enerate/symbolmap: Remove
7140 Add `uni2243' for `|='.
7142 * tmac/ec.tmac: Add `eq'.
7143 * tmac/dvi.tmac: Add `=~'.
7144 * tmac/tty-char.tmac, tmac/ps.tmac, tmac/X.tmac, tmac/lbp.tmac: Add
7147 2002-12-21 Werner LEMBERG <wl@gnu.org>
7149 * font/devdvi/generate/tc.map: Remove `**'.
7150 * font/devdvi/*TC: Regenerated.
7151 * font/devhtml/R.proto, font/devutf8/R.proto: Add `18', `38', `58',
7153 * font/devutf8/NOTES: Updated.
7155 * src/roff/troff/charinfo.h (charinfo): Add `setx_macro' function.
7156 Don't give default parameter to `set_macro'.
7157 * src/roff/troff/input.cc (do_define_character): Use `setx_macro'
7158 instead of `set_macro'.
7159 (charinfo::setx_macro): Implement it.
7160 (charinfo::set_macro): Don't change `mode'.
7162 * tmac/tty.tmac: Add `18', `38', `58', `78', `<<', `>>'.
7163 * tmac/ps.tmac, tmac/X.tmac: Add `<<', `>>'.
7164 * tmac/dvi.tmac: Define `!=' with `.schar'.
7166 2002-12-20 Werner LEMBERG <wl@gnu.org>
7168 * font/devX*/S: Regenerated.
7169 * font/devdvi/generate/ec.map: Remove `pl'.
7170 * font/devdvi/generate/tc.map: Remove `mi', `14', `12', `34'.
7171 * font/devdvi/*{TC,EC}: Regenerated.
7172 * font/devhtml/R.proto: Add `-+'.
7173 Remove double entries for `rk', `lk', `lt', `rt', `rb', `lb'.
7174 * font/devlbp/*: Remove `or'.
7175 * font/devlj4/generate/special.map: Remove `or'.
7176 * font/devlj4/S: Regenerated.
7177 * font/devps/generate/textmap: Add `fiveeighths', `oneeighth',
7178 `seveneighths', `threeeighths'.
7180 Replace `minusplus' with `uni2213'.
7181 * font/devps/symbolmap: Regenerated.
7182 * font/devutf8/R.proto: Replace `shc' with unnamed glyph.
7185 * src/roff/troff/charinfo.h (charinfo): Add `is_normal' inline
7187 * src/roff/troff/node.cc (troff_output_file::put_char_width):
7188 Call glyph_color and fill_color even if tcommand_flag isn't set.
7189 (make_node, node::add_char): Check not ci->is_fallback but
7192 * tmac/lj4.tmac, tmac/lbp.tmac: Define `or'.
7193 * tmac/ec.tmac: Add .rchar entry for `f/'.
7194 Don't remove `12', `14', `34'.
7195 Define `pl' to be always roman.
7196 * tmac/ps.tmac (ps-frac, ps-frac-mono): New macros.
7197 Define `18', `38', `58', `78'.
7198 * tmac/tty.tmac: Add `-+'.
7199 * tmac/dvi.tmac: Define `f/'.
7200 (dvi-frac): Use `f/'.
7201 * tmac/X.tmac (X-frac, X-frac-mono): New macros.
7202 Define `18', `38', `58', `78'.
7204 2002-12-15 Colin Watson <cjwatson@debian.org>
7206 * contrib/pic2graph/pic2graph.sh: Add missing `;;'.
7208 2002-12-10 Werner LEMBERG <wl@gnu.org>
7210 Add glyph `tno', a textual variant of `no'.
7212 * font/devX*/*: Regenerated.
7213 * font/{devcp1047,devlatin1,devutf8,devhtml}/R.proto: Add `tno'.
7214 * font/devdvi/generate/{tc.map: Replace `no' with `tno'.
7215 * font/devdvi/generated/{texsy,textex}.map: Add `tno'.
7216 * font/devdvi/*: Regenerated.
7217 * font/devlbp/*: Add `tno'.
7218 * font/devlj4/generate/tex.map: Replace `no' with `tno'.
7219 * font/devlj4/*: Regenerated.
7220 * font/devps/generate/textmap: Replace `no' with `tno'.
7221 * font/devps/generate/symbolchars: Add `no'.
7222 * font/devps/*: Regenerated.
7224 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `tno'.
7226 * tmac/cp1047.tmac, tmac/latin1.tmac: Replace `no' with `tno'.
7227 * tmac/tty-char.tmac: Add entry for `tno' and `3d'.
7231 * tmac/dvi.tmac: Replace most `\\' with `\E'.
7232 Add definition for `sd'.
7233 * tmac/X.tmac, tmac/ps.tmac: Replace most `\\' with `\E'.
7235 * tmac/eqnrc <dvi>: Use `integral' instead of `is' glyph.
7237 2002-12-08 Werner LEMBERG <wl@gnu.org>
7239 * tmac/an-old.tmac (TH): Use integer value for `IN' if in nroff
7240 mode to avoid rounding errors.
7241 (an-do-tag, an-do-tag-html, RS, RE): Remove redundant `.br'.
7243 * src/roff/groff/groff.man, src/roff/nroff/nroff.man,
7244 src/roff/troff/troff.man: Improve documentation of -T.
7246 2002-12-07 Jeff Conrad <jeff_conrad@msn.com>
7248 * src/roff/groff/pipeline.c: Don't define `const' for _WIN32.
7249 (run_pipeline) [_WIN32]: Provide working function without `fork'.
7251 2002-12-06 Werner LEMBERG <wl@gnu.org>
7253 * font/devps/generate/freeeuro.sfd: Make dimensions of Euro.symbol
7254 glyphs compatible to Adobe's Euro fonts (scaling them down a bit).
7255 Scaling Euro.sansserif glyphs down to have the same height as
7257 Removed unnecessary points; added some extrema.
7259 * font/devps/EURO, font/devps/freeeuro.afm, font/devps/freeeuro.pfa:
7262 2002-12-04 Werner LEMBERG <wl@gnu.org>
7264 * font/devps/generate/freeeuro.sfd: Add glyphs `Euro.symbol.slanted'
7265 and `Euro.symbol.bold.slanted'.
7266 Improve some glyph offsets and widths.
7267 * font/devps/EURO, font/devps/freeeuro.afm, font/devps/freeeuro.pfa:
7269 * font/devps/generate/Makefile (freeeuro.afm freeeuro.pfa): Fix
7271 * font/devps/generate/sfdtopfa.pe: Generate PFA in current
7274 * tmac/europs.tmac: Updated to new glyph indices.
7275 Use Euro.symbol for font familiy `A'.
7277 * doc/groff.texinfo: Minor improvements.
7279 2002-12-02 Werner LEMBERG <wl@gnu.org>
7281 * font/devdvi/generate.tc.map: s/%O/%0/.
7282 * font/devdvi/*TC: Regenerated.
7284 * src/roff/troff/div.cc (init_div_requests): Sorted.
7286 * tmac/dvi.tmac: Remove `Ye'.
7287 * tmac/ec.tmac: Remove `Ye'.
7288 Add .rchar entry for `de'.
7290 * man/groff.man, man/groff_diff.man: Document register `.pe'.
7291 * doc/groff.texinfo: Document registers `.pe', `.n', and `.w'.
7294 2002-11-30 Werner LEMBERG <wl@gnu.org>
7296 Add PS font for various Euro glyphs.
7298 * font/devps/generate/freeeuro.sfd: New master font file for
7300 * font/devps/generate/sfdtopfa.pe: New conversion script for
7302 * font/devps/generate/Makefile (FONTS): Add `EURO'.
7303 (EURO, freeeuro.afm, freeeuro.pfa): New rules.
7304 * font/devps/freeeuro.pfa, font/devps/freeeuro.afm: Generated from
7306 * font/devps/EURO: Generated from `freeeuro.afm'.
7307 * font/devps/download: Add `freeuro.pfa'.
7308 * font/devps/Makefile.sub (NORMALFILES): Adde `EURO' and
7311 * tmac/europs.tmac: New file.
7312 * tmac/ps.tmac: Include `europs.tmac'.
7313 * tmac/Makefile.sub (DISTFILES): Add `europs.tmac'.
7315 2002-11-29 Werner LEMBERG <wl@gnu.org>
7317 * font/devdvi/generate/texsy.map: Remove `lh' and `rh'.
7318 * font/devdvi/S: Regenerated.
7319 * font/devhtml/R.proto: Fix `CR' and `ci'.
7321 * font/devps/generate/textmap: Fix `lh', `rh', and `sq'.
7323 * font/devps/symbolmap: Regenerated.
7324 * font/devutf8/R.proto: Fix `CR' and `ci'.
7326 * font/devutf8/NOTES: Updated.
7328 * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Fix `CR' and
7331 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Ditto.
7333 * tmac/dvi.tmac: Add `lh' and `rh'.
7334 * tmac/Xps.tmac: Fix `lh' and `rh'.
7335 * tmac/X.tmac: Add `OK'.
7336 * tmac/lj4.tmac: Ditto.
7338 2002-11-24 Werner LEMBERG <wl@gnu.org>
7340 * font/devX*/S: Regenerated.
7341 * font/devascii/R.proto, font/devcp1047/R.proto: Remove glyphs `lb',
7342 `lc', `lf', `lk', `lt', `rb', `rc', `rf', `rk', and `rt'.
7343 * font/devdvi/generate/texsy.map: Remove `or' glyph.
7344 * font/devdvi/S: Regenerated.
7345 * font/devhtml/R.proto, font/devutf8/R.proto: Add/fix glyphs
7346 `parenlefttp', `parenleftex', `parenleftbt', `parenrighttp',
7347 `parenrightex', `parenrightbt', `bracketlefttp', `bracketleftex',
7348 `bracketleftbt', `bracketrighttp', `bracketrightex',
7349 `bracketrightbt', `bracelefttp', `braceleftmid', `braceleftbt',
7350 `braceex', `braceleftex', `bracerightex', `bracerighttp',
7351 `bracerightmid', `bracerightbt', `lt', `lk', `lb', `rt', `rk',
7353 * src/roff/troff/glyphuni.cc, src/roff/troff/uniglyph.cc: Ditto.
7354 * font/devutf8/NOTES: Updated.
7355 * font/devlj4/generate/special.map: Add glyph `braceex'.
7356 * font/devlj4/S: Regenerated.
7358 * tmac/tty-char.tmac: Add glyphs `lf', `rf', `lc', and `rc'.
7360 2002-11-14 Werner LEMBERG <wl@gnu.org>
7362 * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `va'
7365 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Ditto.
7367 * doc/texinfo.tex: New version from texinfo 4.3.
7368 * doc/groff.texinfo: Updated for texinfo 4.3.
7369 Use @tie{} where appropriate.
7370 * font/devdvi/generate/ec.map: Don't include `or' and `bv'.
7371 * font/devdvi/generate/tc.map: Remove `rn'.
7372 * font/devdvi/*TC, font/devdvi/*EC: Regenerated.
7373 * font/devhtml/R.proto, font/devutf8/R.proto: Add `vA'.
7375 * font/devX100/*, font/devX100-12/*, font/devX75/*,
7376 font/devX75-12/*: Regenerated.
7378 * tmac/dvi.tmac: Add special fonts `SA' and `SB'.
7379 Use .char (again) for `br', `ul', `rn', `or', and `ru'.
7380 Improve definition of `an'.
7381 * tmac/ps.tmac: Use .char (again) for `br', `ul', `rn', `or', and
7383 * tmac/lj4.tmac: Use .char (again) for `br', `ul', `rn', and `ru'.
7384 * tmac/X.tmac: Add definition for `or'.
7385 * tmac/Xps.tmac: Undo change 2002-11-05.
7386 * tmac/lbp.tmac: Add definitions for `br', `rn', `ul', and `ru'.
7388 2002-11-11 Werner LEMBERG <wl@gnu.org>
7390 * src/roff/troff/node.cc (troff_output_file::put_char): Always
7393 2002-11-10 Werner LEMBERG <wl@gnu.org>
7395 Added three new requests `schar', `fschar', and `rfschar'. `schar'
7396 defines a glyph which is searched after the check for fonts declared
7397 with `.special' (and before the check for all mounted special
7398 fonts). `fschar' defines a glyph for a particular font which is
7399 searched after the check for fonts declared with `.fspecial' (and
7400 before the check for fonts declared with `.special'). `rfschar'
7401 removes glyphs defined with `fschar'.
7403 * src/roff/troff/token.h (char_mode): New enum.
7404 Declare do_define_character.
7405 * src/roff/troff/charinfo.h (charinfo): Replace `fallback' with
7407 (charinfo::is_fallback): Updated.
7408 (charinfo::is_special): New method.
7409 * src/roff/troff/input.cc (do_define_character): Add and use
7410 optional second parameter used as a prefix for font-specific glyph
7412 (define_character, define_fallback_character): Updated.
7413 (define_special_character): New function.
7414 (init_input_requests): Add `schar'.
7415 (charinfo::charinfo, charinfo::set_macro): Updated.
7416 * src/roff/troff/node.cc: Include `stringclass.h'.
7417 (make_glyph_node): Handle special glyphs defined with `.schar' and
7419 (define_font_special_character, remove_font_special_character): New
7421 (init_node_requests): Sorted.
7422 Add `fschar' and `rfschar'.
7423 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
7424 Document new requests.
7426 * font/devhtml/R.proto, font/devutf8/R.proto: Add `va'.
7427 * tmac/dvi.tmac: Add `va' for CW and CWI (using `.fschar').
7429 2002-11-08 Werner LEMBERG <wl@gnu.org>
7431 Added new font `SC' (cmtex10) to devdvi.
7433 * devdvi/generate/Makefile (FONTS): Add `SC'.
7435 * devdvi/generate/textex.map: New map file for cmtex.
7437 * devdvi/Makefile.sub (DEVFILES): Updated.
7438 * tmac/dvi.tmac: Add fspecial entries for SC.
7439 Add `MI', `S' and `CW' to the `special' call. Otherwise, `SC' is
7440 found before `S' since the font position of `SC' is lower due to the
7441 gaps in DESC's `font' line.
7442 * tmac/ec.tmac: Add a `special' call.
7445 * font/devhtml/R.proto: Remove double entry for `ti'.
7446 * tmac/tty.tmac: Add entries for `IJ', `ij', and `bq'.
7447 * tmac/tty-char.tmac: Remove entry for `bq'.
7448 * tmac/lbp.tmac: Add entries for `lq', `rq', `fo', `fc', and `em'.
7449 * tmac/ec.tmac: Don't remove `aq' glyph.
7450 * tmac/X.tmac: Fix entry for `em'.
7451 Add entries for `fo' and `fc'.
7452 * tmac/dvi.tmac: Add entries for `em', `en', `hy', `fo', and `fc'.
7454 * doc/groff.texinfo, man/groff.man, man/groff_diff.man: Fix
7455 documentation of `special' and `fspecial' requests.
7457 2002-11-05 Werner LEMBERG <wl@gnu.org>
7459 * font/devascii/R.proto, font/devcp1047/R.proto,
7460 font/devlatin1/R.proto: Remove entry for `.i'.
7461 * font/devdvi/generate/textt.map: Add entry for `ad'.
7462 * font/devdvi/generate/texr.map, font/devdvi/generate/texb.map,
7463 font/devdvi/generate/texi.map: Add dummy glyph name `slash@for@l'.
7464 We need this for getting kerning values to compose `/l' and `/L'.
7465 * font/devdvi: Regenerated font definition files for CM fonts.
7466 * font/devhtml/R.proto: Add entries for "'C", "'c", `IJ', and `ij'.
7467 * font/devutf8/R.proto: Ditto.
7468 Remove double entry for `ti'.
7470 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Fix entries
7471 for (groff) ligatures, `la', and `ra'.
7472 Add "'C", "'c", `IJ', and `ij'.
7473 Remove double entry for `ti'.
7474 * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Remove all
7476 Add "'C", "'c", `IJ', and `ij'.
7477 Fix entries for (groff) ligatures, `la', and `ra'.
7479 * tmac/ps.tmac (ps-achar): New macro.
7480 Define "'c" and "'C".
7481 * tmac/tty.tmac: Add entry for `.i'.
7482 * tmac/X.tmac (X-achar): New macro.
7483 Define "'c", "'C", and `:Y'.
7484 Add entries for `IJ' and `ij'.
7485 * tmac/Xps.tmac (Xps-achar): New macro.
7486 Define "'c" and "'C".
7487 Add entries for `IJ' and `ij'.
7488 * tmac/lbp.tmac (lbp-achar): New macro.
7489 Add fallback characters for all groff ligatures and many other
7491 * tmac/dvi.tmac: Fix definitions of `_' and `ul'.
7492 Add entries for `/l' and `/L'.
7493 Define "'c" and "'C".
7494 Add entries for `IJ' and `ij'.
7496 2002-11-02 Larry Kollar <kollar@alltel.net>
7498 * PROBLEMS: Document how to solve Mac OS X compilation problems.
7500 2002-11-02 Werner LEMBERG <wl@gnu.org>
7502 Adding support for composite glyphs: \[xxx yyy ...] and the
7503 `composite' request.
7505 * src/roff/troff/glyphuni.cc: New file for mapping groff glyph names
7506 to Unicode-based glyph names.
7507 * src/roff/troff/uniglyph.cc: New file for mapping Unicode-based
7508 glyph names to groff glyph names.
7509 * src/roff/troff/uniuni.cc: New file for canonically decomposing
7510 Unicode-based glyph names.
7511 * src/roff/troff/unicode.cc, src/roff/troff/unicode.h: New files
7512 for handling Unicode glyph names.
7513 * src/roff/troff/input.cc: Include unicode.h.
7514 (composite_glyph_name): New function.
7515 (token::next) <'['>: Handle Unicode glyph names and composite
7517 (composite_dictionary): New dictionary for the `composite' request.
7518 (composite_request): Implement `composite' request.
7519 (init_input_requests): Add `composite'.
7520 Alphabetically sorted.
7521 * src/roff/troff/env.cc (tabs_save, tabs_restore): Removed (already
7523 (init_env_requests): Alphabetically sorted.
7524 Removed `tas' and `tar' (already commented out).
7525 * src/roff/troff/Makefile.sub: Updated.
7527 2002-10-31 Ruslan Ermilov <ru@FreeBSD.org>
7529 * src/roff/nroff/nroff.man, src/roff/nroff/nroff.sh: Fix description
7532 2002-10-29 Werner LEMBERG <wl@gnu.org>
7534 Fix computation of .trunc register. Additionally, its value (and
7535 the value of the .ne register) is now always set before entering the
7538 * src/roff/troff/div.cc (diversion::need): Set `truncated_space' and
7539 `needed_space' before calling `space'.
7540 (top_level_diversion::space): Remove special code for 'sp before the
7542 Call `begin_page' with the discarded space as a parameter.
7543 (top_level_diversion::begin_page): Add optional parameter to set
7545 * src/roff/troff/div.h: Updated.
7547 * doc/groff.texinfo: Improve documentation of .sp, \n[.trunc], and
7550 * tmac/an-old.tmac (SH, SS, TP, IP, HP, TS): Undo change 2002-10-26.
7551 (LP): Remove superfluous call to `br'.
7552 * tmac/doc-common (doc-paragraph): Undo change 2002-10-26.
7553 * tmac/doc.tmac (Bd, Bl, doc-set-vertical-and-indent): Ditto.
7555 2002-10-26 Werner LEMBERG <wl@gnu.org>
7557 * tmac/doc-ditroff: Remove useless switch/variable -rC.
7558 (doc-setup-header): Don't set page register `%'.
7559 * tmac/doc-nroff: Remove variable `C'.
7560 (doc-setup-page-layout): Set doc-header-space to .5i unconditionally.
7561 (doc-setup-header): Don't set page register `%'.
7563 * tmac/doc-common (doc-header): Call `ns'.
7564 (doc-paragraph): Protect .sp with .br so that it survives traps
7565 possibly set by the user.
7566 * tmac/doc.tmac (Bd, Bl, doc-set-vertical-and-indent): Ditto.
7568 * tmac/doc*: Replace ' with . for consistency if no effect.
7570 2002-10-26 Werner LEMBERG <wl@gnu.org>
7572 * tmac/an-old.tmac (SH, SS, TP, IP, HP, TS): Protect .sp with .br
7573 so that it survives traps possibly set by the user.
7575 * src/roff/troff/node.cc: Fix the changes from 2002-10-23.
7576 (troff_output_file::set_font): Call flush_tbuf if necessary.
7577 (troff_output_file::fill_color, troff_output_file::glyph_color): Call
7578 flush_tbuf and do_motion only if necessary.
7579 (troff_output_file::start_special,
7580 troff_output_file::put_char_width, troff_output_file::put_char,
7581 troff_output_file::draw): Updated.
7582 (word_space_node::tprint, space_node::tprint, hmotion_node::tprint,
7583 vmotion_node::tprint): Undo change 2002-10-23.
7585 2002-10-25 Werner LEMBERG <wl@gnu.org>
7587 * tmac/www.tmac (DC): Fix case of overlapping images.
7589 2002-10-23 Werner LEMBERG <wl@gnu.org>
7591 * src/roff/troff/node.cc (troff_output_file::fill_color,
7592 troff_output_file::glyph_color): Set current color before testing
7594 (troff_output_file::put_char_width, troff_output_file::put_char,
7595 troff_output_file::draw): Don't call flush_tbuf and/or do_motion
7597 (troff_output_file::file_color, troff_output_file::glyph_color):
7599 (word_space_node::tprint, space_node::tprint, hmotion_node::tprint,
7600 vmotion_node::tprint): Move first, then call fill_color.
7602 2002-10-20 Werner LEMBERG <wl@gnu.org>
7604 * doc/groff.texinfo, man/groff_tmac.man: Document that it is not
7605 possible to use multiple main macro packages.
7607 2002-10-19 Werner LEMBERG <wl@gnu.org>
7609 * src/devices/grops/ps.cc (cmyk_flag): New global variable.
7610 (ps_printer::set_color): Set `cmyk_flag' for CMY and CMYK colors.
7611 (ps_printer::~ps_printer): Emit `%%Extensions: CMYK' if `cmyk_flag'
7613 * font/devps/prologue.ps (Fk, Ck): Enclose definitions with a
7614 `where' construction since `cmyksetcolor' is a PS Level 2 operator.
7616 2002-10-16 Werner LEMBERG <wl@gnu.org>
7618 * NEWS, doc/webpage.ms: Updated.
7620 2002-10-14 Werner LEMBERG <wl@gnu.org>
7622 * src/roff/troff/node.cc (troff_output_file::put_char_width,
7623 troff_output_file::put_char, troff_output_file::fill_color,
7624 troff_output_file::glyph_color): Handle case where color pointer
7627 2002-10-13 Ruslan Ermilov <ru@FreeBSD.org>
7629 Add the new -r option to grotty. It is similar to the -i option
7630 except it tells grotty(1) to use the `reverse video' attribute to
7631 render italic fonts.
7633 * src/devices/grotty/tty.cc (reverse_flag): New global variable.
7634 (SGR_REVERSE, SGR_NO_REVERSE): New macros.
7635 (tty_printer::make_underline, tty_printer::put_color,
7636 tty_printer::end_page): Use it.
7637 (main): Add -r switch.
7639 * src/devices/grotty/grotty.man: Document it.
7641 2002-10-11 Ruslan Ermilov <ru@FreeBSD.org>
7643 * src/roff/troff/env.cc (hyphen_trie::read_patterns_file): Add
7644 cast to `unsigned char' to properly read patterns with 8bit
7647 2002-10-08 Werner LEMBERG <wl@gnu.org>
7649 * REVISION: Increased to 2.
7651 Copyright 2002, 2003, 2004, 2005, 2006, 2007, 2008
7652 Free Software Foundation, Inc.
7654 Copying and distribution of this file, with or without modification,
7655 are permitted in any medium without royalty provided the copyright
7656 notice and this notice are preserved.
7659 version-control: never