1 2007-10-25 Werner LEMBERG <wl@gnu.org>
3 * tmac/cs.tmac: New file holding Czech strings, contributed by
4 Marcela Maslanova <mmaslano@redhat.com>.
5 * tmac/hyphen.cs, tmac/hyphenex.cs: New hyphenation pattern files
6 for Czech, taken from CTAN.
8 * tmac/Makefile (NORMALFILES): Add Czech stuff.
9 * doc/groff_tmac.man: Mention cs.tmac.
11 2007-10-21 Werner LEMBERG <wl@gnu.org>
13 * src/roff/troff/input.cpp (do_ps_file): Handle `%X' in header
14 comments correctly. Reported by Frank Jahnke
15 <jahnke@sonatabio.com>.
17 2007-10-02 Ruslan Ermilov <ru@FreeBSD.org>
19 * tmac/doc-common, tmac/groff_doc.man: Add FreeBSD 6.2, document
22 * tmac/doc-syms: Give better names for System V releases.
24 2007-09-25 Gaius Mulley <gaius@glam.ac.uk>
26 * doc/Makefile.in, doc/Makefile.sub (.ms.html): Add -P-V switch to
27 the production of html files.
29 Remove background colour switch.
30 (.SUFFIXES, clean): Handle *.xhtml files.
32 * src/devices/grohtml/grohtml.man: Document that -V option now
33 generates an HTML-4.01 validator or XHTML validator.
35 * src/devices/grohtml/html-text.cpp (html_text::end_tag,
36 html_text::start_tag): Suppress <small>, <big>, and <color> tags if
37 we are inside a <pre> block.
39 * src/devices/grohtml/post-html.cpp
40 (html_printer::handle_valid_flag): Add a parameter to indicate
41 whether it needs to generate a paragraph block.
42 (html_printer::write_navigation): Updated.
43 (html_printer::do_file_components): Generate an HTML-4.01 blue
44 validator button also.
46 2007-09-23 Axel Kielhorn <A.Kielhorn@web.de>
48 * man/groff.man: Fix URL of CSTR 54.
50 2007-09-23 Werner LEMBERG <wl@gnu.org>
52 * man/groff_char.man: Normalize character set names as defined
53 by IANA. Based on a patch from Axel Kielhorn.
55 * src/preproc/refer/label.y: Undo change from 2007-09-19.
57 2007-09-19 Werner LEMBERG <wl@gnu.org>
59 * src/roff/troff/input.cpp (interpolate_arg): Remove compiler
62 * src/preproc/eqn/pile.cpp (pile_box::output, matrix_box::output):
63 Remove compiler warning.
65 * src/preproc/refer/label.y: Remove compiler warning.
67 * src/preproc/pic/pic.y: Remove doubled token entries.
69 2007-09-19 Gaius Mulley <gaius@glam.ac.uk>
71 * doc/groff.texinfo: Document new .O register and add cross
76 * src/devices/grohtml/grohtml.man: Document new -V and -y options.
78 * src/devices/grohtml/html-table.cpp: Add support for XHTML 1.1.
79 (html_table:: emit_colspan, html_table::emit_td): New methods.
80 (html_table::emit_col): Use html_table::emit_td.
81 (html_table::emit_table_header): Use html_table::emit_colspan if
82 dialect xhtml is specified.
83 (html_table::finish_row): Updated.
85 * src/devices/grohtml/html-table.h (html_table): Declare
86 emit_colspan, emit_td.
88 * src/devices/grohtml/html-text.cpp: Modified tags to comply with
89 xhtml if this dialect was requested.
91 * src/devices/grohtml/html-text.h (html_dialect): New enumeration.
92 (html_text): Add new variable `dialect'.
94 * src/devices/grohtml/post-html.cpp: Modify header tags to be XHTML
96 (valid_flag, groff_sig, dialect): New global variables.
97 (html_printer::handle_valid_flag, html_printer::do_math,
98 html_printer::write_html_anchor, html_printer::write_xhtml_anchor,
99 html_printer::do_math, html_printer::handle_valid_flag): New
101 (html_printer::emit_line, html_printer::emit_raw,
102 html_printer::do_check_center, html_printer::write_title,
103 write_rule, html_printer::writeHeadMetaStyle, generate_img_src,
104 html_printer::begin_page): Altered to be XHTML compliant.
105 (html_printer::write_header): Updated.
106 (html_printer::troff_tag): Call do_math.
107 (html_printer::insert_split_file, html_printer::do_file_components,
108 html_printer::write_navigation): Create XHTML file components if
109 necessary and also produces a groff signature if requested.
110 (~html_printer): Call writeHeadMetaStyle at appropriate places
111 depending upon html_dialect.
112 (html_printer::special): Handle new tags `html<?p>' and `math<?p>'.
113 (main): Added options -x, -V, and -y.
116 * src/preproc/eqn/box.cpp: Create a distinction between
117 the MathML device and the XHTML device.
118 (do_text): Issue a newline at the end of the equation if XHTML was
120 (box::top_level): Prefix the output of an equation by the .MATHML
122 (output_string): Suppress \n if XHTML was specified.
124 * src/preproc/eqn/main.cpp (xhtml): New global flag.
125 (inline_equation): Skip leading spaces after inline equation for
127 (main): Set `xhtml' flag if `-Tmathml:xhtml' is specified.
129 * src/preproc/eqn/eqn.h (xhtml): New external flag.
131 * src/preproc/eqn/text.cpp (entity_table): Fix typo.
133 * src/preproc/html/pre-html.cpp (html_dialect): New enumeration.
134 (dialect, eqn_flag): New global variables.
135 (html_system): Improve debugging support.
136 (alterDeviceTo): Test for -Txhtml when altering device to the image
137 device and reset to -Txhtml.
138 (addZ): Renamed to...
140 Introducea a general parameter.
141 (print_args): New debugging function.
142 (char_buffer::run_output_filter): Use print_args and addArg rather
144 (char_buffer::do_html, char_buffer::do_image): Add -rxhtml=1 command
145 line parameter as an argument to the html generation of text when
146 xhtml is needed. Include -e on the command line if mathml is
148 (scanArguments): Allow -e, -V, -y and -x options.
149 -V, -y are handled by the back end. -e sets `eqn_flag'.
150 -x determines HTML dialect.
152 * src/roff/groff/groff.cpp (possible_command): New method
154 (main): Set eflag if -e is present on command line.
155 Set is_xhtml if -Txhtml is present.
156 Pass `-x x' to the HTML pre and post processors.
157 Pass `-e' to the HTML pre processor if required.
158 Pass `-Tmathml:xhtml' to eqn if XHTML is requested.
160 * src/roff/troff/input.cpp (init_input_requests): Introduce new
161 number register `\n[.O]'.
163 * tmac/s.tmac: (LP): Use .nop for semantic sugar.
164 (cov*ab-init) reformat.
165 (@EQ): Use EQN-HTML-IMAGE and friends rather than HTML-IMAGE.
166 (CHECK-FOOTER-AND-KEEP): Define FS, FE such that they use
167 <cite></cite> for the html device rather than generate images for
170 * tmac/troffrc-end: Define EQN-HTML-IMAGE,
171 EQN-HTML-IMAGE-END, EQN-HTML-IMAGE-RIGHT,
172 EQN-HTML-IMAGE-LEFT, EQN-HTML-IMAGE-INLINE,
173 EQN-HTML-DO-IMAGE, EQN-HTML-IMAGE-END as null strings.
175 * tmac/www.tmac: (HTML<?p>): New macro.
176 (MATH<?p>): New macro.
177 (IMG, PIMG, MPIMG, HR): Use XHTML compliant syntax.
178 (www-emit-ltag): New macro.
179 (www-push-li): Updated.
180 (ULS): Ensure that tags are balanced in order by use of
182 (ULE): Likewise: Use www-emit-ltag and shut down paragraphs in
184 (OLS, OLE, DLS, DLE): Ditto.
185 <global>: Define EQ and EN to EQN-HTML-IMAGE and EQN-HTML-IMAGE-END
187 (www-li-ul, www-li-ol, www-li-dl): Updated.
188 (EQN-HTML-IMAGE, EQN-HTML-IMAGE-RIGHT, EQN-HTML-IMAGE-LEFT,
189 EQN-HTML-IMAGE-INLINE, EQN-HTML-DO-IMAGE, EQN-HTML-IMAGE-END,
192 2007-09-17 Werner LEMBERG <wl@gnu.org>
194 * man/groff_font.man: Document `unicode' keyword.
195 * doc/groff.texinfo (DESC File Format): Synchronize with
198 2007-09-15 Werner LEMBERG <wl@nu.org>
200 * man/groff.man: Document `\_'.
201 * doc/groff.texinfo: Ditto.
202 Remove references to `\@' which isn't a valid escape sequence in
206 * tmac/unicode.tmac: Add ` and '.
207 * tmac/html.tmac: Load unicode.tmac.
209 2007-09-14 Werner LEMBERG <wl@gnu.org>
211 * tmac/unicode.tmac: Make `-' a pure input character by mapping it
214 * src/roff/troff/input.cpp (init_charset_table): Handle `hy'.
216 2007-09-11 Werner LEMBERG <wl@gnu.org>
218 * src/libs/libgroff/string.cpp (string::remove_spaces): Fix memory
221 * src/preproc/tbl/table.cpp (table::allocate): Initialize
224 2007-09-10 Keith Marshall <keith.d.marshall@ntlworld.com>
226 * README.MinGW: Add warnings about use of MSYS-RXVT, and about
227 defective GnuWin32 versions of netpbm/libpng.
229 2007-07-15 Keith Marshall <keith.d.marshall@ntlworld.com>
231 * tmac/s.tmac (cov*first-page-init): Remove invoking trap, to avoid
234 2007-07-11 Werner LEMBERG <wl@gnu.org>
236 * gendef.sh: Add shebang.
238 2007-07-05 Werner LEMBERG <wl@gnu.org>
240 * tmac/papersize.tmac: Fix dimensions of executive paper format.
241 Reported by John Rupley <rupley@u.arizona.edu>.
243 2007-07-02 Keith Marshall <keith.d.marshall@ntlworld.com>
245 * tmac/s.tmac (cov*first-page-init): Emit error message if not in
246 top-level environment.
248 2007-06-12 Werner LEMBERG <wl@gnu.org>
250 * src/devices/xditview/TODO, NEWS: Updated.
251 * src/devices/xditview/Makefile.sub (install_data, uninstall_sub):
252 Handle `GXditview-color'.
253 * src/devices/xditview/gxditview.man: Updated.
255 * m4/groff.m4 (GROFF_APPRESDIR_CHECK): Updated.
256 * m4/codeset.m4, m4/glibc21.m4, m4/iconv.m4, m4/lib-link.m4: Updated
257 from `gnulib' git repository.
259 * configure.ac: Updated.
260 * configure: Regenerated (using autoconf 2.61).
262 * config.guess, config.sub: Updated from `config' CVS repository.
263 * config.rpath, install-sh, mkinstalldirs: Updated from `gnulib' git
266 2007-06-12 Tadziu Hoffmann <hoffmann@usm.uni-muenchen.de>
268 * src/devices/xditview/GXditview.ad: Split off color definitions
270 * src/devices/xditview/GXditview-color.ad: This new file.
272 2007-06-08 Fabrice Ménard <menard.fabrice@wanadoo.fr>.
274 * tmac/fr.tmac: Handle chapter system for `me'.
276 2007-06-05 Tadziu Hoffmann <hoffmann@usm.uni-muenchen.de>
278 * src/devices/xditview/xditview.c (main): Add support for
281 * src/devices/xditview/GXditview.ad: Updated.
282 Make widget more colourful.
284 2007-05-30 Werner LEMBERG <wl@gnu.org>
286 * tmac/groff_mdoc.man: Convert `-' to `\-' where appropriate.
287 Recommend `tbl' instead of `-column' lists for more complicated
290 2007-05-21 Werner LEMBERG <wl@gnu.org>
292 * src/devices/grops/ps.cpp (ps_printer::set_char): Handle subfonts
295 2007-04-10 Werner LEMBERG <wl@gnu.org>
297 In pic, make rounded boxes work with colors. Reported by Urs Eggli
298 <Urs.Eggli@zuerich.ch>.
300 * src/preproc/pic/common.h (common_output), src/preproc/pix/output.h
301 (output): Add color parameter to `rounded_box' member function.
303 * src/preproc/pic/common.cpp (common_output::rounded_box): Use it.
305 * src/preproc/pic/object.cpp (box_object::print): Pass `color_fill'
306 to `out->rounded_box'.
308 2007-04-09 Michail Vidiassov <master@iaas.msu.ru>
310 * font/devps/generate/textmap: Add Greek letters and some more.
312 * src/utils/afmtodit/afmtodit.tables: Change values of `Delta',
313 `Omega', and `mu' to the ones from aglfn.txt.
315 2007-04-08 Keith Marshall <keith.d.marshall@ntlworld.com>
317 * tmac/s.tmac (SN): Define unconditionally.
318 (SN-STYLE): New string; define.
320 * NEWS, tmac/groff_ms.man, doc/groff.texinfo (SN-STYLE): Document it.
322 2007-03-22 Werner LEMBERG <wl@gnu.org>
324 * tmac/pspic.tmac: Fix harmless numeric overflow warning. Reported
325 by Jörg van den Hoff <j.van_den_hoff@fzd.de>.
327 2007-03-20 Werner LEMBERG <wl@gnu.org>
329 * tmac/trace.tmac (rn): Added.
330 (nr, ds, ds1, as, as1, substring): Restore escape character while
332 (nr): Remove dead code.
334 * src/preproc/eqn/box.cpp (box::top_level): Use \E in string
335 definitions to make them traceable.
337 2007-03-19 Werner LEMBERG <wl@gnu.org>
339 * src/roff/troff/input.cpp (get_copy): Add third argument to control
340 whether \E shall be expanded.
341 (get_char_for_escape_name): Allow \E.
343 2007-03-15 Werner LEMBERG <wl@gnu.org>
345 * tmac/s.tmac (MO, CH, pg*OH, pg*EH, pg*OF, pg*EF, *, [., .],
346 par*define-font-macro, \[hooko]): Use \E to make it traceable.
348 (ref*field): Add argument to control the space between previous and
351 (ref*add-N): Fix handling of opening parenthesis. Problem reported
352 by Jörg van den Hoff <j.van_den_hoff@fzd.de>.
354 2007-03-14 Werner LEMBERG <wl@gnu.org>
356 * tmac/trace.tmac (als): Added.
357 (de, de1, am, am1): Make traced macros aliased with .als work.
359 2007-02-25 Werner LEMBERG <wl@gnu.org>
361 * src/devices/xditview/TODO: Add some more items.
363 * Makefile.comm (.man.n): Add @APPRESDIR@.
366 * src/devices/xditview/gxditview.man: Document GXditview resource
368 Other documentation enhancements based on a patch from Jörg.
370 2007-02-25 Tadziu Hoffmann <hoffmann@usm.uni-muenchen.de>
371 Joerg van den Hoff <j.van_den_hoff@fzd.de>
373 * src/devices/xditview/GXditview.ad: Make all keys work regardless
374 of the current mouse position.
376 2007-02-20 Werner LEMBERG <wl@gnu.org>
378 * tmac/groff_man.man: Revised to improve visual appearance.
379 Reduce use of future tense.
381 * tmac/groff_trace.man: Revosed to improve visual appearance.
383 2007-02-19 Eric S. Raymond <esr@snark.thyrsus.com>
385 Make groff.man viewer-portable.
387 * tmac/groff.man: Eliminate use of .eo/.ec.
388 (.REQ): Surround args 2 through N with quotes. This will enable us
389 not to rely on the shift request, which is nonportable.
390 (ExecFF): Remove. The code is simpler without it.
392 2007-02-18 Eric S. Raymond <esr@snark.thyrsus.com>
394 * tmac/groff_www.man: Viewer-portability fixes.
396 2007-02-16 Eric S. Raymond <esr@snark.thyrsus.com>
398 * man/groff.man: Remove some unneeded code and a no-longer-used
399 inclusion of the www macros.
401 2007-02-12 Werner LEMBERG <wl@gnu.org>
403 * src/preproc/tbl/table.cpp (compute_span_width): Fix use of
405 (table::compute_widths): Simplify.
407 2007-02-11 Werner LEMBERG <wl@gnu.org>
409 * src/preproc/tbl/table.h: Don't include `stdbool.h'.
410 (table): Replace `bool' type with `char' for orthogonality.
413 * src/preproc/tbl/table.cpp (block_entry::do_divert): Fix usage of
414 AVAILABLE_REG and COLCOUNT_REG.
415 (table::table): Fix order call of initializers.
416 (table::~table): Deallocate `blockflag'.
418 2007-02-09 Eric S. Raymond <esr@snark.thyrsus.com>
420 A try at the new rule for block column allocation is now enabled by
421 the new `experimental' global option: The horizontal space up to the
422 right margin which is not used by columns without text blocks is
423 evenly distributed to the columns with text blocks.
425 It doesn't work right as yet; there appears to be some error in the
426 computation of `3avail', the available line length. The purpose of
427 this patch is (a) to make experimenting with other formulas easy,
428 and (b) leave the infrastructure for flag `experimental' in place
429 for future experiments. Do not document any behavior associated
432 * src/preproc/tbl/table.h: Include `stdbool.h'.
433 (table): Make `flags' public.
434 Add `count_block_columns' function.
435 Add `blockflag' array.
436 Add `EXPERIMENTAL' enumeration value.
438 * src/preproc/tbl/table.cpp (AVAILABLE_REG, COLCOUNT_REG): New
440 (table_entry): New member `parent' so that class and subclass
441 members can set a parent field. Update all users.
442 (block_entry::do_divert): Handle `EXPERIMENTAL' flag.
443 (block_entry::do_width): Set the parent's `blockflag'.
444 (table::allocate): Handle `blockflag'.
445 (table::count_block_columns): New function.
446 (compute_span_width): Adjust AVAILABLE_REG.
447 (table::compute_widths): Handle COLCOUNT_REG and AVAILABLE_REG.
449 * src/preproc/tbl/main.cpp (process_options): Handle `experimental'
452 2007-02-08 Zhao, Yu (William) <yzhao2@alcatel-lucent.com>
454 * src/devices/grodvi/dvi.cpp (draw_dvi_printer::draw) <'e'>: Set
457 2007-02-08 Werner LEMBERG <wl@gnu.org>
459 * man/groff_out.man (offset): Make it work reliably.
461 2007-02-07 Eric S. Raymond <esr@snark.thyrsus.com>
463 * man/groff_out.man: Simplify some font changes so \fP is less
464 likely to do something surprising.
466 * man/groff_out.man: We can simplify the command macros still
467 further if we stop trying to hide structural requests inside them.
468 Also, fix some instances of \} at start of line without a dot, and
469 make some font changes explicit in strings.
471 * man/groff_out.man: Cleanup -- remove now-unneeded uses of .do and
474 * man/groff_out.man: Final step: Reduce x-command, get rid of eo/ec
475 calls and fix macros to do without them. File should now be
478 * man/groff_out.man: Fourth step: Eliminate use of eqn in favor of
479 micromotions that produce the same visual result and can be lifted
482 * man/groff_out.man: Third step: Reduce Da-comand, fix a
483 call-sequence bug in the original.
485 * man/groff_out.man: Second step: Reduce D-commmand and D-command+,
486 move font-change escapes to portable form.
488 * man/groff_out.man: First step in macro simplification; eliminate
489 list1..n, simplify .offset and .index_offset so they no longer
490 require groff-specific features or eqn (instead, use troff
491 micromotions for subscripting).
493 2007-02-06 Eric S. Raymond <esr@snark.thyrsus.com>
495 * src/preproc/eqn/eqn.man: Minor corrections.
497 * tmac/an-ext.tmac: Change .UR/.UE and .MT/.ME so the start macro no
498 longer takes a second argument that is pasted to the end of the
499 generated text. Instead, the end macro takes an argument that does
502 * man/ditroff.man, man/groff_diff.man, man/groff.man,
503 man/groff_out.man, man/groff_tmac.man, man/roff.man,
504 src/roff/groff/groff.man, src/roff/grog/grog.man,
505 tmac/groff_man.man, tmac/groff_trace.man: Update accordingly.
507 * src/roff/troff/troff.man: .SY and .YS are canned macros now,
508 so we can use them here.
510 2007-02-05 Eric S. Raymond <esr@snark.thyrsus.com>
512 * src/preproc/eqn/lex.cpp, src/preproc/eqn/eqn.man:
513 By popular demand, make ... set three lower dots again
514 and introduce a new predefined macro 'cdots' to set
517 2007-02-05 Werner LEMBERG <wl@gnu.org>
519 * src/preproc/eqn/eqn.man: Revised.
521 * src/preproc/eqn/text.cpp (map, special_char_boc::output): Use
523 (spacing_type): Fix typo.
524 (special_to_entity): Use `const'.
525 Remove unused variable.
526 * src/preproc/eqn/other.cpp (font_box::output): Use `const'.
528 2007-02-05 Eric S. Raymond <esr@snark.thyrsus.com>
530 * src/devices/grotty/grotty.man: \m[] and \M[] aren't portable,
531 which is a shame as the effect was cute.
533 2007-02-04 Eric S. Raymond <esr@snark.thyrsus.com>
535 * man/groff_tmac.man, man/groff_diff.man: Portability conversion;
536 rip out over-elaborate macrology, use .EX/.EE and .UR/.UE where
537 possible, remove preamble declarations and macros that are no
538 longer needed. Conversion checked using the protocol described in
541 2007-02-03 Werner LEMBERG <wl@gnu.org>
543 * tmac/an-old.tmac (LP, IP, HP): Use .ns to suppress additional
546 2007-02-03 Eric S. Raymond <esr@snark.thyrsus.com>
548 * tmac/groff_man.man: Documented the extension macros, and
549 added portability advice.
551 * MORE.STUFF: More-stuff entries for doclifter and pic2plot.
554 Add support for MathML output to eqn.
556 The strategy used is very simple and relies on the fact that the box
557 models of eqn and Presentation MathML differ in only trivial ways.
558 It leaves the grammar and existing internal object structures
559 unchanged. A new global, `output_format', is defined as an
560 enumerated type with values {troff, mathml}. Most of the functions
561 and methods that emit actual output acquire a top-level conditional,
562 dispatching on this global, which has one arm for troff mode and one
563 for MathML mode. In most cases the MathML arm is drastically
566 (This strategy could be easily generalized to support other output
567 formats. TeX is a possibility that leaps to mind.)
569 The only even moderately tricky changes are in the lexer. Some of
570 the predefined macros used constructs like `up', `down', `fwd',
571 `back', and `vcenter' that have no equivalents in MathML. I
572 attacked this problem in these ways:
574 1. I eliminated three uses of `back' to compose characters in favor
575 of using equivalent groff specials `\(<<', `\(>>', and `\(<>'
576 that did not exist when these macros were written. (This will be
577 a quality improvement for troff users.)
579 2. I eliminated one use of `vcenter' by using \\(md. (Likewise...)
581 3. I then split the table of pre-definitions in three; one large
582 common table and two small troff-specific and MathML-specific
583 tables. Use of troff-only operations (up, down, back, fwd,
584 vcenter) is now confined to the former. The latter now uses
585 `size big' and drops out the explicit positioning operations,
586 counting on MathML processors to do them.
588 POTENTIAL TROUBLE SPOTS:
590 Here are notes for reviewers on places I'm not 100% sure I've done
593 * In the process of preparing the troff table, I translated three
594 definitions (dot_def, dotdot_def, and utilde def) that previously
595 used explicit \v escapes to use `up' and `down' instead. I
596 modeled the new definitions on the way `vec' and `dyad' work, but
597 it's possible I got something subtle wrong.
599 * I'm not certain the MathML implementation of font_box::output() is
600 right, because I don't quite get what the switcheroo between
601 `current_roman_font' and `old_roman_font' is supposed to
602 accomplish. It does seem to generare good MathML, though.
604 Finally, I made one purely cosmetic change in `text.cpp'; I replaced
605 with an enum some magic numbers for spacing types that I thought
606 were too ugly to live.
610 The entirety of eqn is translated when `-TMathML' is specified,
611 with the following exceptions...
613 Limitations that cannot be fixed include non-support for special,
614 up/down/fwd/back, and vcenter.
616 Limitations that might be fixable include non-support for mark and
617 lineup. I will investigate further, but if these can be implemented
618 at all it's going to be in a very complicated and nasty way.
620 The way character boxes are output means that each digit of a
621 multi-digit number gets its own <mn></mn> tag pair in the MathHTML.
622 While this is not technically wrong for Presentation MathML, it is
623 ugly and inefficient. Fixing this will require implementing a
624 little state machine in the `text.cpp' output method.
626 * src/preproc/eqn/box.cpp, src/preproc/eqn/delim.cpp,
627 src/preproc/eqn/eqn.h, src/preproc/eqn/eqn.man,
628 src/preproc/eqn/lex.cpp, src/preproc/eqn/limit.cpp,
629 src/preproc/eqn/list.cpp, src/preproc/eqn/main.cpp,
630 src/preproc/eqn/other.cpp, src/preproc/eqn/over.cpp,
631 src/preproc/eqn/pile.cpp, src/preproc/eqn/script.cpp,
632 src/preproc/eqn/sqrt.cpp, src/preproc/eqn/text.cpp,
633 src/preproc/eqn/eqn.man: MathML output mode.
637 2007-02-02 Eric S. Raymond <esr@snark.thyrsus.com>
639 * src/roff/groff/groff.man: Converted to use .SY/.OP/.YS
640 and for cross-viewer portability. Conversion checked
641 using the protocol described in tmac/TESTING-HINTS.
643 2007-02-02 Werner LEMBERG <wl@gnu.org>
645 * tmac/an-ext.tmac (ME): Don't use `\:'.
647 * src/roff/grog/grog.man: Further refinements and normalizations.
649 2007-02-02 Eric S. Raymond <esr@snark.thyrsus.com>
651 * src/roff/grog/grog.man: Converted to use .SY/.OP/.YS and for
652 cross-viewer portability. Conversion checked using the protocol
653 described in tmac/TESTING-HINTS.
655 2007-02-01 Eric S. Raymond <esr@thyrsus.com>
657 * tmac/TESTING-HINTS: Added.
659 2007-02-01 Eric S. Raymond <esr@thyrsus.com>
661 Enable the support for Bell archaisms on .SC, so the `-r bell'
662 switch is no longer needed to format old AT&T papers like
665 * tmac/s.tmac (.SC, .UC, .P1, .P2): Updated.
667 * tmac/groff_ms.man, doc/groff.texinfo, NEWS: Updated.
669 2007-02-01 Eric S. Raymond <esr@thyrsus.com>
671 Add some Bell labs extensions to the -ms macros.
673 * tmac/s.tmac (.SC, .UC, .P1, .P2) [bell]: New macros.
675 * tmac/groff_ms.man, doc/groff.texinfo, NEWS: Document `-r bell'.
677 2007-01-30 Werner LEMBERG <wl@gnu.org>
679 * tmac/an-ext.tmac (\n[EX]): Rename to \n[mX].
680 (\n[mH]): New register (set if grohtml is used).
681 (\n[SY]): Rename to \n[mS].
682 (\n[a]): Rename to \n[mA].
683 (\n[i]): Rename to \n[mI].
684 (mU): New auxiliary input trap macro.
685 (UR, UE): Replace stub with real definition.
687 (MT, ME): New macros.
689 (EX, EE): Don't insert vertical space.
690 Use a register to store (and restore) the current font.
692 * man/ditroff.man, man/groff_diff.man, man/roff.man: Revised, based
693 on patches from Eric Raymond.
696 2007-01-22 Gaius Mulley <gaius@glam.ac.uk>
698 * tmac/an-old.tmac (an-trap, HP): Make `HP' work as expected.
700 2007-01-22 Werner LEMBERG <wl@gnu.org>
702 * tmac/an-ext.tmac: Protect against being sourced twice.
703 (URL, EE): Use always two backslashes.
706 2007-01-16 Werner LEMBERG <wl@gnu.org>
708 * tmac/an-ext.tmac: Remove code for grodvi.
710 Don't insert empty line.
711 (URL, TQ): Fix typos.
713 2007-01-14 Werner LEMBERG <wl@gnu.org>
715 * tmac/an-ext.tmac: New file, containing extension macros
716 for -man. See discussion on the groff mailing list for
717 background information.
718 * tmac/an-old.tmac: Load an-ext.tmac.
719 Decorate .ds and as with comment escapes where appropriate.
720 * tmac/Makefile.sub (NORMALFILES): Add an-ext.tmac.
722 2007-01-05 Werner LEMBERG <wl@gnu.org>
724 * src/preproc/tbl/tbl.man: Document .T# and \n[TW].
726 2007-01-04 Gaius Mulley <gaius@glam.ac.uk>
728 Make -me macros ready for grohtml.
730 * tmac/e.tmac: Load devtag.tmac.
731 (need_eo_h, need_eo_tl, need_tl): New registers.
732 (check_need_title, (x-html, )x-html, xp-html): New macros.
733 (@h, hl, ip, @p, sh, (b, (l, EQ, EN, TS, TE, PS, PE, GS, GE, r, i,
734 b, rb, bi, bx, (x, )x, xp): Adapt for use with grohtml.
735 (bp): Rename to @b only if output device is not html.
737 2007-01-01 Werner LEMBERG <wl@gnu.org>
739 * man/groff_font.man: Document empty lines.
741 * src/utils/afmtodit/afmtodit.pl: Always print a header comment at
742 the very beginning of the output.
745 * font/devps/*: Regenerate font definition files.
747 2007-01-01 Werner LEMBERG <wl@gnu.org>
749 * font/devps/generate/Makefile (AFMTODIT): Use -c flag.
751 * font/devps/*: Regenerate font definition files.
753 2006-12-31 Werner LEMBERG <wl@gnu.org>
755 * Makefile.in (oldfontdir): New variable.
756 (MDEFINES): Add $(oldfontdir).
757 (uninstall_dirs): Remove `current' link.
758 Remove $(oldfontdir).
760 * Makefile.comm (oldfontsubdir): New variable.
761 (install_dev): Install files collected in $(OLDDEVFILES) into
763 (uninstall_dev): Remove data in $(oldfontsubdir).
764 (.man.n): Handle @OLDFONTDIR@.
766 * src/devices/grodvi/grodvi.man, src/devices/grohtml/grohtml.man,
767 src/devices/grolbp/grolbp.man, src/devices/grolj4/grolj4.man,
768 src/devices/grotty/grotty.man, src/devices/xditview/gxditview.man:
769 Document GROFF_FONT_PATH.
771 * src/devices/grops/grops.man: Document GROFF_FONT_PATH and
772 old font description files.
774 * font/devps/Makefile.sub (OLDDISTFILES, OLDDEVFILES): New
777 * font/devps/old/*: New directory, holding the previous version
778 of the 35 Adobe core font description files.
780 * font/devps/*: Regenerated the 35 Adobe core fonts, using the
781 Adobe-Core35_AFMs-229.tar.bz2 bundle from ftp.dante.de.
783 * NEWS: Document font update.
785 2006-12-31 Werner LEMBERG <wl@gnu.org>
787 * font/devps/generate/Makefile (symbolsl.afm): Use $(srcdir).
789 * Makefile.comm (fonts): New (empty) target.
790 * Makefile.in (TARGETS): Add `fonts'.
792 * MANIFEST: Add `chem'.
794 * doc/groff.texinfo (Changing Fonts): Font translations with .ftr
797 2006-12-26 Werner LEMBERG <wl@gnu.org>
799 * src/preproc/grn/hdb.cpp: Include gprint.h later. From NetBSD.
801 2006-12-19 Werner LEMBERG <wl@gnu.org>
803 Add support for German. For activation, simply use -mde or -mden
804 (for traditional and new orthgraphy, respectively) as the last
807 * tmac/de.tmac, tmac/den.tmac, tmac/hyphen.det, tmac/hyphen.den,
808 tmac/hyphenex.det: New files, partly taken from CTAN.
809 * LICENSES: Updated list of hyphenation patterns.
810 * man/groff_tmac.man: Mention de.tmac and den.tmac.
813 2006-12-11 Werner LEMBERG <wl@gnu.org>
815 Support up to 32 macro arguments in pic (and up to 16 on EBCDIC
818 * src/preproc/pic/lex.cpp (ARG1): Redefine. Update all users.
819 (MAX_ARG): New macro. Use it everywhere to replace hard-coded
820 limit of 9 arguments.
821 (process_body): Handle argument numbers with more than a single
823 (interpolate_macro_with_args): Protect against exceeding number of
826 * NEWS, src/preproc/pic/pic.man, doc/pic.ms: Document it.
828 2006-12-10 Werner LEMBERG <wl@gnu.org>
830 * Makefile.in (site.exp, docheck): Commented out. Not working
832 (check): Just emit dummy message.
834 2006-12-08 Werner LEMBERG <wl@gnu.org>
836 During installation, create soft link from <version> to `current' in
839 * Makefile.comm (install): Renamed to...
841 (prefix_must_exist): Removed. Code moved to Makefile.in.
843 * Makefile.in (TARGETS): Remove `install'.
845 (install): New target which first creates the directory given by
846 --prefix, then calling `make' to do the installation, and finishing
847 with the creation of the soft link.
849 2006-11-21 Werner LEMBERG <wl@gnu.org>
851 * doc/Makefile.sub (uninstall_sub): Fix names for info files.
853 2006-11-18 Werner LEMBERG <wl@gnu.org>
855 * man/roff.man, doc/groff.texinfo: Improve history of roff, based on
856 information from Tom Van Vleck <thvv@multicians.org>.
858 2006-11-16 Werner LEMBERG <wl@gnu.org>
860 * tmac/62bit.tmac: New macro package.
861 * tmac/Makefile.sub (NORMALFILES): Add it.
864 * tmac/trace.tmac: Protect against being loaded again.
865 (nr): Always show result.
867 * doc/groff.texinfo (Input Encodings): Document latin-5.
869 * man/grof_tmac.man: Document sv, latinX, cp1047, 60bit, ec.
871 2006-11-13 Werner LEMBERG <wl@gnu.org>
873 * doc/groff.texinfo (Page Location Traps) [.wh]: Give more details
874 on negative trap positions.
876 2006-11-10 Werner LEMBERG <wl@gnu.org>
878 * Makefile.comm (.man.n): Handle @DATASUBDIR@.
880 2006-11-09 Werner LEMBERG <wl@gnu.org>
882 * INSTALL: Move information about external installation from
883 INSTALL.gen into this file.
886 * INSTALL.gen: Update to new version (from texinfo CVS).
888 2006-11-09 Bernd Warken
890 * INSTALL.gen: Extend the file by information on `external
891 installation'. Reorder the installation instruction as `normal
894 2006-11-08 Werner LEMBERG <wl@gnu.org>
896 * doc/Makefile.sub (install_data): Take care of proper paths while
897 installing info files. Bug reported by Bernd Warken.
899 2006-11-06 Bernd Warken
901 * src/roff/grog/grog.pl: Rewrite.
902 - Call by `#! /usr/bin/env perl'. That isn't replaced.
903 - Rename usage() to version().
905 - For `use strict', start all global variables with an upper case
906 character. Use `my' for all variables. Use several new variables.
908 - Add copyright to GPL and Emacs comment.
909 - Handle several `-m*' options.
910 - Fix handling of `-ms' and `-mm'. Add .TL and .NH.
911 - Allow options after file names.
912 - Allow only one `-' parameter (standard input).
913 - Add option abbreviations.
914 - Expand the usage information.
916 - Add single quote "'" as additional first character and allow
917 arbitrary space after the first character.
919 * src/roff/grog/grog.sh: Rewrite.
920 - Remove option `-e' of `sed'.
921 - Allow file names with space characters.
923 - Add copyright to GPL.
924 - Handle several `-m*' options.
925 - Fix handling of `-ms' and `-mm'. Add .TL and .NH.
926 - Allow options after file names.
927 - Allow only one `-' parameter (standard input).
928 - Add option abbreviations.
929 - Expand the usage information.
931 - Add single quote "'" as additional first character and allow
932 arbitrary space after the first character.
934 * src/roff/grog/Makefile.sub:
935 - Add copyright to GPL.
936 - Remove `grog:'. Move `grog.old:' to `grog:' in order to have a
937 fair chance to choose between the shell version and the Perl
938 version of `grog'. This is now again comparable to grog in groff
941 * src/roff/grog/grog.man: Rewrite.
942 - Move the license to GPL.
943 - New sections: OPTIONS, DETAILS, EXAMPLES, COPYING.
944 - Take over some setup and macros from `groffer'.
945 - Add information on options.
947 2006-10-28 Werner LEMBERG <wl@gnu.org>
949 * tmac/trace.tmac: Improve tracing of `.nr'.
950 Trace `.substring' also.
954 2006-10-28 Bernd Warken
956 * man/roff.man, src/roff/groff/groff.man: Add `chem', fix position
957 of groff development site, fix fonts.
959 * News: Add information on `chem' and `groffer'.
961 2006-10-26 Bernd Warken
963 * Makefile.in (OTHERDIRS, NOMAKEDIRS): Add `chem' bundle.
965 2006-10-26 Werner LEMBERG <wl@gnu.org>
967 Add `\%^' escape to handle the parameters to a macro as a string
970 * src/roff/troff/input.h (DOUBLE_QUOTE): New special character.
972 * src/roff/troff/input.cpp (input_iterator, input_stack,
973 macro_iterator): Add `space_follows_arg' member function.
974 (macro_iterator::add_arg): Add parameter to set the `space_follows'
976 (arg_list): Add member `space_follows'.
977 Update constructor and all callers.
978 (decode_args): Store discarded double quotes.
979 (interpolate_args): Handle DOUBLE_QUOTE.
981 (get_copy, token::next, composite_glyph_name): Handle DOUBLE_QUOTE.
983 * tmac/trace.tmac: Trace .nr, .ds, .ds1, .as, .as1.
985 * docs/groff.texinfo (Parameters), man/groff.man,
986 man/groff_diff.man, NEWS: Document it.
988 2006-10-24 Bernd Warken
990 * Makefile.in (NOMAKEDIRS): Add groffer subdirectories.
992 2006-10-24 Werner LEMBERG <wl@gnu.org>
994 * tmac/groff_trace.man: Mention problem with `\\\\'.
996 2006-10-23 Werner LEMBERG <wl@gnu.org>
998 * doc/groff.texinfo (Expressions): Improve documentation of `!'.
1000 * tmac/trace.tmac (return): Don't call `substring'.
1002 2006-09-10 Werner LEMBERG <wl@gnu.org>
1004 * src/roff/troff/input.cpp (read_size): Revert previous change
1007 * doc/groff.texinfo (Fractional Size Types): Clarify syntax of \s.
1009 2006-09-09 Werner LEMBERG <wl@gnu.org>
1011 * src/roff/troff/input.cpp (read_size): Fix `\s[-\n[.s]]' so that it
1012 behave the same as `\s-[\n[.s]]' (this is, emit a warning and set
1013 point size to 1). Reported by Gunnar Ritter.
1014 Also catch `\s-[-...]' and friends (causing an error).
1016 2006-09-06 Werner LEMBERG <wl@gnu.org>
1018 * src/roff/troff/env.cpp (environment::do_break): Insert zero-width
1019 space only if there is no previous space. This fixes a bug which
1020 caused unwanted filling of the last line in a paragraph. Thanks to
1021 Gunnar Ritter for an analysis.
1023 2006-09-03 Werner LEMBERG <wl@gnu.org>
1025 * src/roff/groff/groff.cpp (main): Pass -U flag to pic also.
1026 Reported by Jennifer Sayers <jenjen@isu.usyd.edu.au>.
1028 2006-09-01 Nick Stoughton <nick@msbit.com>
1029 Werner LEMBERG <wl@gnu.org>
1031 Add a request `pev' to print environment information (similar to
1032 `pnr' and `ptr' to print number registers and traps).
1034 * src/roff/troff/env.h (environment): Add member function print_env.
1036 * src/roff/troff/env.cpp: (environment::print_env): New function to
1037 print a given environment state.
1038 (print_env): New global function to iterate through the
1039 environments, printing each one.
1040 (init_env_requests): Register `pev'.
1042 * doc/groff.texinfo (Debugging), man/groff.man, man/groff_diff.man,
1043 NEWS: Document `pev' request.
1045 2006-09-01 Bernd Warken
1047 * src/preproc/soelim/soelim.cpp (usage): Fix option argument of
1050 2006-09-01 Werner LEMBERG <wl@gnu.org>
1052 * src/preproc/pic/main.cpp (usage): Add missing options.
1054 2006-08-25 Werner LEMBERG <wl@gnu.org>
1056 * src/preproc/soelim/soelim.man: Document how to insert `\' and ` '
1059 2006-08-19 Werner LEMBERG <wl@gnu.org>
1061 * configure: Regenerated.
1063 2006-08-18 Keith Marshall <keith.d.marshall@ntlworld.com>
1065 * m4/groff.m4 (GROFF_MAKEINFO): Correct `makeinfo version testing
1066 logic; it previously caused an `expr' syntax error, if no version of
1067 `makinfo' was present. Also, remove dependency on `makeinfo' in VPATH
1068 builds, if an up to date `groff.info' is present in either `builddir'
1071 2006-08-12 Tadziu Hoffmann <hoffmann@usm.uni-muenchen.de>
1073 * font/devps/prologue.ps: Add BPhook.
1075 * src/devices/grops/grops.man: Document BPHook.
1076 Reorder some sections for better readability.
1078 2006-08-12 Werner LEMBERG <wl@gnu.org>
1080 * src/include/lib.h (getlocale): New macro.
1081 (setlocale, LC_ALL, LC_CTYPE) [!HAVE_SETLOCALE]: Define, as
1084 * src/preproc/preconv/preconv.cpp (main): Use getlocale.
1086 2006-08-11 Werner LEMBERG <wl@gnu.org>
1088 Add new flag to .cflags to enable hyphenation without looking at
1091 * src/roff/troff/charinfo.h (charinfo): New enumeration value
1093 New member function `ignore_hcodes'.
1095 * src/roff/troff/node.cpp (break_char_node::add_self,
1096 node::add_char): Updated.
1098 * doc/groff.texinfo, man/groff_diff.man, NEWS: Document it.
1100 2006-08-09 Werner LEMBERG <wl@gnu.org>
1102 Support composite Unicode characters again. Reported by Colin.
1104 * font/devhtml/R.proto: Renamed to...
1105 * font/devhtml/R.in: This.
1107 * font/devutf8/R.proto: Renamed to...
1108 * font/devutf8/R.in: This.
1111 * font/make-Rproto: New script.
1112 * font/devhtml/R.proto, font/devutf8/R.proto: Generated.
1114 2006-07-26 Werner LEMBERG <wl@gnu.org>
1116 * README: Fix description of CVS access. Reported by Joachim.
1118 2006-07-11 Werner LEMBERG <wl@gnu.org>
1120 Add a request `.fzoom' and a number register `.zoom' to magnify
1123 * src/include/font.h (font): Add member variable `zoom'.
1124 Add member functions `set_zoom' and `get_zoom'.
1125 Remove `static' attribute from `scale' member function.
1127 * src/libs/libgroff/font.cpp (font::font): Updated.
1128 (scale_round): New version with three parameters to handle zoom
1130 (font::scale, font::get_width): Handle zoom factor.
1131 (font::set_zoom, font::get_zoom): New functions.
1132 (font::load): Handle `zoom' while computing `space_width'.
1134 * src/roff/troff/env.h: Declare `env_get_zoom'.
1135 (environment): Add member function `get_zoom'.
1137 * src/roff/troff/env.cpp (environment::get_zoom): New function.
1138 (init_env_requests): Initialize `.zoom' register.
1140 * src/roff/troff/node.cpp (font_info): New member functions
1141 `set_zoom' and `get_zoom'.
1142 (tfont): New member function `get_zoom'.
1143 (env_get_zoom): New function.
1144 (troff_output_file::set_font): Handle zoom factor.
1145 (font_zoom_request): New function.
1146 (init_node_requests): Initialize `fzoom' request.
1148 * docs/groff.texinfo (Changing Fonts), man/groff.man,
1149 man/groff_diff.man, NEWS: Document `fzoom' request and `.zoom'
1152 * src/roff/troff/TODO: Updated.
1154 2006-07-10 Werner LEMBERG <wl@gnu.org>
1156 * doc/groff.texinfo (Drawing Requests): Improve documentation of
1159 2006-07-02 Werner LEMBERG <wl@gnu.org>
1161 * man/groff_tmac.man: Document usage of .PSPIC within diversions.
1163 2006-07-01 Werner LEMBERG <wl@gnu.org>
1165 * tmac/pspic.tmac: Make .PSPIC work for all devices.
1166 Print image file name for devices which don't support PS image
1168 Handle multiple inclusions.
1169 Add lots of comments.
1171 * tmac/dvi.tmac, tmac/html.tmac, tmac/ps.tmac: Don't load
1174 * tmac/troffrc: Load pspic.tmac.
1176 * man/groff_tmac.man: Update .PSPIC documentation.
1180 2006-06-29 Werner LEMBERG <wl@gnu.org>
1182 * src/roff/troff/input.cpp (interpolate_macro):
1183 s/probably/possibly/, as suggested by Keith.
1185 2006-06-28 Werner LEMBERG <wl@gnu.org>
1187 Add support for \D'p...' to grotty.
1189 * src/devices/grotty/grotty.cpp (tty_printer::draw): Move most of
1191 (tty_printer::line): This function.
1192 (tty_printer::draw): Rewritten; just call either draw_line or
1194 (tty_printer::draw_line, tty_printer::draw_polygon): New functions.
1196 * src/devices/grotty/grotty.man, NEWS: Document it.
1198 2006-06-27 Werner LEMBERG <wl@gnu.org>
1200 * src/preproc/refer/command.h (have_bibliography): New variable
1203 * src/preproc/refer/command.cpp (bibliography_command): Set
1204 `have_bibliography'.
1206 * src/preproc/refer/refer.cpp: Initialize `have_bibliography'.
1207 (output_references): Emit warning only if `have_bibliography' is
1210 2006-06-15 Michail Vidiassov <master@iaas.msu.ru>
1212 * font/devps/Makefile.sub (DISTFILES): Add freeeuro.afm.
1213 * font/devps/generate/Makefile (clean): Don't remove symbolsl.afm
1216 2006-06-15 Werner LEMBERG <wl@gnu.org>
1218 * src/preproc/tbl/tbl.man: Document limitations of .TS/.TE within a
1219 macro (as suggested by Tadziu Hoffmann).
1221 2006-06-12 Werner LEMBERG <wl@gnu.org>
1223 * src/preproc/tbl/tbl.man: Add example for use of .TS/.TE within a
1224 macro (as suggested by Tadziu Hoffmann).
1226 2006-06-05 Werner LEMBERG <wl@gnu.org>
1228 * tmac/strip.sed: Strip `\#' also.
1230 * doc/groff.texinfo (Operators in Conditionals): Document usage of
1231 \? for string comparison.
1233 2006-06-04 Werner LEMBERG <wl@gnu.org>
1235 * doc/groff.texinfo: Add more index entries for copy-in mode.
1236 (Changing Fonts) <.ft>: Document that a font definition file must
1237 not be called `DESC'.
1239 2006-05-31 Werner LEMBERG <wl@gnu.org>
1241 * src/roff/troff/input.cpp (token::next) <\N>: Catch negative values
1244 * doc/Makefile.sub (EXAMPLEFILES): Move gnu.eps to...
1245 (PROCESSEDEXAMPLEFILES): Here.
1247 2006-05-30 Werner LEMBERG <wl@gnu.org>
1249 * src/libs/libgroff/font.cpp (font::load): Reject fonts called
1251 Reduce number of false positives for `.if F ...' conditionals.
1252 Improve warning messages.
1254 2006-05-29 Werner LEMBERG <wl@gnu.org>
1256 * tmac/Makefile.sub: Add copyright notice.
1257 (NORMALFILES): Add man.tmac and ms.tmac.
1258 (SPECIALFILES): Remove man.tmac and ms.tmac.
1259 (CLEANADD): Remove man.tmac-sed and ms.tmac-sed.
1260 (install_data, uninstall_sub): Don't handle man.tmac and ms.tmac
1262 (stamp-sed): Don't handle man.tmac and ms.tmac.
1263 Remove obsolete components in sed's regexp.
1265 * doc/Makefile.sub (EXAMPLEFILES): Add gnu.eps.
1267 * Makefile.in (OTHERDIRS, NOMAKEDIRS): Add hdtbl.
1269 2006-05-28 Werner LEMBERG <wl@gnu.org>
1271 * doc/groff.texinfo (History): Correct death circumstances of Joe
1274 2006-05-27 Werner LEMBERG <wl@gnu.org>
1276 * tmac/an-old.tmac (an-do-tag): Simplify.
1278 2006-05-26 Werner LEMBERG <wl@gnu.org>
1280 * tmac/an-old.tmac (an-do-tag): Make margin characters work.
1281 (an-header, an-p-footer): Use named environment.
1283 * src/roff/troff/env.cpp (environment::copy): Copy margin character
1286 2006-05-21 Werner LEMBERG <wl@gnu.org>
1288 * tmac/trace.tmac (de1): Fix serious typo (.di -> .do) and minor
1291 2006-05-11 Keith Marshall <keith.d.marshall@ntlworld.com>
1293 * src/roff/groff/groff.man: Remove superfluous word `intermediate'.
1295 2006-05-10 Keith Marshall <keith.d.marshall@ntlworld.com>
1297 * src/roff/groff/groff.man: Update copyright notice.
1298 Improved wording to describe effect of `-Z' option.
1300 2006-05-06 Werner LEMBERG <wl@gnu.org>
1302 * tmac/www.tmac: Decorate `.ds' with trailing `\"' where missing.
1303 Normalize handling of `"' in arguments.
1304 (PIMG): Remove debug message.
1307 2006-05-05 Werner LEMBERG <wl@gnu.org>
1309 * src/devices/grohtml/post-html.cpp (page::add_and_encode): Don't
1310 swallow character immediately after `\[...]'.
1313 2006-05-02 Gaius Mulley <gaius@glam.ac.uk>
1315 * tmac/www.tmac (PIMG): Fix the HTML device specific components.
1317 2006-05-02 Larry Kollar <kollar@alltel.net>
1319 * tmac/www.tmac (PIMG): Really default to `-C' if the alignment
1322 2006-04-30 Michail Vidiassov <master@iaas.msu.ru>
1324 * src/utils/afmtodit/afmtodit.pl: New option `-c' to add font
1325 information as a comment in output.
1326 * src/utils/afmtodit/afmtodit.man, NEWS: Document it.
1328 2006-04-26 Werner LEMBERG <wl@gnu.org>
1330 * src/devices/grohtml/post-html.cpp (html_printer::~html_printer):
1331 Handle current_paragraph only if it is non-NULL.
1333 * src/libs/libdriver/input.cpp (parse_x_command <'F'>, do_file
1334 <'F'>): Use `get_extended_arg' to behave as documented. Reported by
1335 Bill Ward <william.a.ward.jr@erdc.usace.army.mil>.
1338 Surround the (pseudo) file name for the .pso request with `<' and
1341 * src/roff/troff/node.cpp (real_output_file, troff_output_file): Add
1342 second parameter to `really_put_filename' and `put_filename'.
1343 (troff_output_file::really_put_filename): Emit `<' and `>' around
1344 filename if second argument is set.
1345 * src/roff/troff/node.h: Updated.
1347 * src/roff/troff/input.cpp (file_iterator::file_iterator,
1348 file_iterator::set_location): Update to changes in node.cpp.
1350 2006-04-25 Tetsurou Okazaki <okazaki@FreeBSD.org>
1352 * src/preproc/preconv/preconv.cpp (do_file): Fix conditional
1353 preprocessor expression (I18N -> HAVE_ICONV).
1354 (main): Fix handling of option `-h'.
1355 Fix conditional preprocessor expression.
1357 2006-04-04 Werner LEMBERG <wl@gnu.org>
1359 Implement new number register `.br' which is set to 1 if a macro has
1360 been called as .foo and to 0 if called as 'bar. This is useful for
1361 -mtrace so that requests can be reliably traced too.
1363 * src/roff/troff/input.cpp (input_iterator): Add virtual function
1365 (macro_iterator): Add `with_break' member and `get_break_flag'
1367 Update constructors.
1368 (input_stack): Add function `get_break_flag'.
1369 (break_flag_reg): New number register class.
1370 (input_init_requests): Register `.br'.
1372 * src/roff/troff/TODO: Updated.
1374 * tmac/trace.tmac: s/!!sp/!!!sp/.
1375 Modify definitions of `de', `de1', `am', and `am1' to use \n[.br].
1377 * docs/groff.texinfo (Requests), man/groff.man, man/groff_diff.man,
1380 2006-03-29 Werner LEMBERG <wl@gnu.org>
1382 * src/devices/grops/ps.cpp: s/must not/should not/ in warning
1383 messages where appropriate.
1385 2006-03-28 Werner LEMBERG <wl@gnu.org>
1387 * configure.ac: Call AC_PROG_EGREP.
1388 * configure: Regenerated.
1390 * Makefile.in (EGREP): New variable.
1391 (MDEFINES): Add $(EGREP).
1393 * src/roff/grog/grog.sh: Treat .TH between .TS and .TE properly
1394 (bug reported by Robert Goulding <Goulding.2@nd.edu>).
1397 * src/roff/grog/Makefile.sub (grog, grog.old): Use $(EGREP).
1399 2006-03-27 Werner LEMBERG <wl@gnu.org>
1401 Add two requests `.device' and `.devicem' which are equivalent to
1402 `\X' and `\Y', respectively.
1404 * src/roff/troff/input.cpp (device_request, device_macro_request):
1406 (init_input_requests): Register them.
1408 * doc/groff.texinfo (Postprocessor Access), man/groff_diff.man,
1409 man/groff.man, NEWS: Document them.
1411 2006-03-27 Gaius Mulley <gaius@glam.ac.uk>
1413 * src/roff/troff/input.cpp (encode_char): Emit special characters
1414 for -Thtml as `\[...]'.
1415 * src/devices/grohtml/post-html.cpp (page::add_and_encode): Updated.
1417 * doc/groff.texinfo (Postprocessor Access) <\X>: Updated.
1419 2006-03-27 Werner LEMBERG <wl@gnu.org>
1421 * tmac/Makefile.sub (NORMALFILES, SPECIALFILES): Add various missing
1424 2006-03-26 Werner LEMBERG <wl@gnu.org>
1426 * doc/groff.texinfo (Writing Macros): More documentation on
1427 end-of-macro symbol of `.de'.
1428 (Diversions): Minor addition to `.di' description.
1430 * src/devices/grops/grops.man: Some clarifications regarding
1431 insertion of PostScript snippets.
1433 2006-03-25 Michail Vidiassov <master@iaas.msu.ru>
1435 Add rules to generate `symbolsl.afm'.
1437 * font/devps/generate/zapfdr.sed,
1438 font/devps/generate/symbolsl.awk: New files.
1440 * font/devps/generate/Makefile (symbolfont, PRINTAFM): New
1442 (SS, clean): Updated.
1443 (freeeuro.afm): Use $(srcdir).
1444 (symbolsl.afm): New rule.
1445 (zapfdr.afm): Use zapfdr.sed.
1447 2006-03-22 Dwight Aplevich <aplevich@uwaterloo.ca>
1449 * src/preproc/pic/pic.y (expr <INT>): Fix code.
1451 2006-03-22 Jörgen Grahn <jgrahn@algonet.se>
1453 * tmac/sv.tmac: Add missing translations and activate support for
1454 other macro packages.
1456 2006-03-21 Francis GUDIN <fgudin@nerim.net>
1458 * tmac/doc-syms (Dx): New macro to identify DragonFly.
1459 (doc-str-St--ieee1275-94, doc-str-St--isoC-amd1,
1460 doc-str-St--isoC-tcor1, doc-str-St--isoC-tcor2): New standard
1462 (doc-operating-system-FreeBSD-5.5, doc-operating-system-FreeBSD-7.0,
1463 doc-operating-system-NetBSD-1.6.3, doc-operating-system-NetBSD-4.0
1464 doc-operating-system-DragonFly-*): New operating system strings.
1466 * tmac/groff_mdoc.man, NEWS: Document `Dx'.
1468 2006-03-21 Werner LEMBERG <wl@gnu.org>
1470 * src/preproc/pic/pic.y (object_spec THEN): For compatibility with
1471 both DWB pic and dpic, make
1479 line right then down;
1486 * doc/pic.ms: Document this.
1488 2006-03-20 Werner LEMBERG <wl@gnu.org>
1490 * doc/pic.ms: With permission of Eric Raymond, put it under the
1495 2006-03-19 Werner LEMBERG <wl@gnu.org>
1497 * src/preproc/pic/pic.y (expr <INT>): Really return integer part.
1499 * src/preproc/pic/objects.cpp (object_spec::make_line): Handle `at'
1500 attribute in combination with `with'. Bug reported by Jennifer
1501 Sayers <jenjen@mail.usyd.edu.au>.
1503 2006-03-19 Miklos Somogyi <msom@netspace.net.au>
1505 * doc/groff.texinfo (Manipulating Spacing): Improve documentation of
1508 2006-03-18 Werner LEMBERG <wl@gnu.org>
1510 * LICENSE: Renamed to...
1511 * LICENSES: This. Collect all licensing information in this file.
1512 * tmac/README, src/libs/snprintf/README: Removed.
1514 * src/devices/grops/grops.man: Add section how to install fonts.
1516 * src/utils/xtotroff/xtotroff.c: Add GPL.
1518 2006-03-17 Werner LEMBERG <wl@gnu.org>
1520 * Makefile.comm (.y.cpp): Fix #line arguments in output.
1522 2006-03-13 Werner LEMBERG <wl@gnu.org>
1524 * src/preproc/tbl/tbl.man: Mention default length of text blocks.
1526 * tmac/doc-common (Os): Add more Darwin versions.
1527 * tmac/groff_mdoc.man: Document them.
1529 * doc/groff.texinfo (Operators in Conditionals): Mention that `c'
1530 works with \N'...' also.
1531 * man/groff_diff.man: Ditto. Remove use of future tense where
1534 2006-03-12 Michail Vidiassov <master@iaas.msu.ru>
1536 * font/devps/generate/make-zapfdr, font/devps/symbolsl.ps,
1537 font/devps/zapfdr.ps: Add `%%EndComments' line.
1539 2006-03-10 Larry Kollar <kollar@alltel.net>
1541 * doc/groff.texinfo (Headers and footers): Document PT, HD, and BT.
1543 2006-03-10 Werner LEMBERG <wl@gnu.org>
1545 * src/devices/grops/ps.cpp (ps_printer::do_exec, ps_printer::do_def,
1546 ps_printer::do_mdef): Overlong lines now cause a warning message,
1549 2006-03-09 Werner LEMBERG <wl@gnu.org>
1551 * font/devps/generate/make-zapfdr: New script for generating
1554 2006-03-08 Werner LEMBERG <wl@gnu.org>
1556 * doc/groff.css (pre): Fix `background-color' value.
1558 2006-03-04 Larry Kollar <kollar@alltel.net>
1560 * tmac/groff_ms.man: Document PT, HD, and BT.
1562 2006-03-04 Werner LEMBERG <wl@gnu.org>
1564 * src/roff/troff/node.cpp (make_glyph_node): Improve warning message
1565 for single-letter glyph names.
1567 2006-03-02 Werner LEMBERG <wl@gnu.org>
1569 * tmac/sv.tmac: New file; currently holding only the Swedish strings
1571 * tmac/hyphen.sv: New hyphenation pattern file for Swedish, taken
1573 * tmac/README: Updated.
1575 2006-02-27 Werner LEMBERG <wl@gnu.org>
1577 * tmac/trans.tmac (Liec, Letdate, Letns!14): Add it (for -mm).
1578 * tmac/fr.tmac: Add French translations.
1580 * tmac/composite.tmac: Add entry for `:'.
1582 2006-02-26 Werner LEMBERG <wl@gnu.org>
1584 * doc/Makefile.sub (HTMLEXAMPLEFILESALL): New variable.
1586 (install_html, uninstall_sub): Updated.
1588 2006-02-26 Bruno Haible <bruno@clisp.org>
1590 Introduce Unicode fonts.
1592 * font/devhtml/DESC.proto: Mark as unicode.
1593 * font/devhtml/R.proto: Remove all charset entries that are already
1595 * font/devutf8/DESC.proto: Mark as unicode.
1596 * font/devutf8/R.proto: Remove all charset entries.
1597 * src/include/font.h (font): New static field `is_unicode'.
1598 Change order of fields.
1599 * src/libs/libgroff/font.cpp: Include unicode.h.
1600 (font::font): Update for changed order of fields.
1601 (font::contains, font::get_width, font::get_height, font::get_depth,
1602 font::get_italic_correction, font::get_left_italic_correction,
1603 font::get_subscript_correction, font::get_character_type,
1604 font::get_code, font::get_special_device_encoding): Handle both the
1605 explicitly enumerated glyphs and use general code for Unicode fonts.
1606 (font::load): Make the charset section optional when the font is
1608 (font::load_desc): Recognize the `unicode' attribute.
1609 * src/libs/libgroff/fontfile.cpp (font::is_unicode): New variable.
1611 2006-02-26 Claudio Fontana <claudio@gnu.org>
1613 * Makefile.in: Add comment about DESTDIR.
1615 * Makefile.sub: Add DESTDIR to install and uninstall targets
1616 to support staged installations.
1617 * Makefile.comm: Likewise.
1618 * doc/Makefile.sub: Likewise.
1619 * contrib/eqn2graph/Makefile.sub: Likewise.
1620 * contrib/grap2graph/Makefile.sub: Likewise.
1621 * contrib/pic2graph/Makefile.sub: Likewise.
1622 * src/devices/xditview/Makefile.sub: Likewise.
1623 * src/preproc/eqn/Makefile.sub: Likewise.
1624 * src/roff/grog/Makefile.sub: Likewise.
1625 * src/roff/nroff/Makefile.sub: Likewise.
1626 * src/utils/afmtodit/Makefile.sub: Likewise.
1627 * src/utils/indxbib/Makefile.sub: Likewise.
1628 * tmac/Makefile.sub: Likewise.
1630 2006-02-24 Werner LEMBERG <wl@gnu.org>
1632 * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list): Use entry
1634 Remove commented out entries for \' and \` (there are no such glyph
1637 * src/libs/libgroff/uniglyph.cpp (unicode_to_glyph_list): Remove
1638 commented out entries for \' and \`.
1641 * */*: s/legal/valid/ where appropriate.
1643 2006-06-23 Werner LEMBERG <wl@gnu.org>
1645 * font/devhtml/R.proto, font/devutf8/R.proto: Remove incorrect \'
1648 2006-02-22 Werner LEMBERG <wl@gnu.org>
1650 Remove all remaining traces from the `shc' glyph.
1652 * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list),
1653 src/libs/libgroff/uniglyph.cpp (unicode_to_glyph_list): Remove
1656 * font/devlatin1/R.proto, font/devcp1046/R.proto: Replace `shc'
1657 entry with unnamed glyph.
1659 * tmac/html/tmac: Remove `shc' entry from call to `.cflags'.
1661 * src/preproc/preconv/preconv.cpp (unicode_entity): Handle U+00AD
1664 2006-02-22 Bruno Haible <bruno@clisp.org>
1666 Concretize the `glyph' datatype.
1668 * src/include/font.h (glyph): Remove class.
1669 (glyph): Renamed from struct `glyphinfo'.
1670 (glyph_to_index): New inline function.
1671 (glyph_to_name): Make extern, not inline.
1672 (glyph_to_number): Update.
1673 (font): Use `glyph *' instead of `glyph'.
1675 * src/libs/libgroff/nametoindex.cpp (charinfo): Inherit from class
1676 `glyph'. Make `name' field public.
1677 (character_indexer, number_to_glyph, name_to_glyph): Use `glyph *'
1679 (glyph_to_name): Renamed from `glyph::glyph_name'.
1681 * src/roff/troff/charinfo.h (charinfo): Inherit from class `glyph'.
1682 Use `glyph *' instead of `glyph'.
1684 * src/roff/troff/input.cpp (name_to_glyph, number_to_glyph): Use
1685 `glyph *' instead of `glyph'.
1686 (glyph_to_name): Renamed from `glyph::glyph_name'.
1688 * src/libs/libgroff/font.cpp: Use `glyph *' instead of `glyph',
1689 and `glyph_to_index' instead of `glyph::glyph_index'.
1691 * src/include/printer.h (printer): Use `glyph *' instead of `glyph'.
1692 * src/libs/libdriver/printer.cpp: Likewise.
1693 * src/devices/grodvi/dvi.cpp: Likewise.
1694 * src/devices/grohtml/post-html.cpp: Likewise.
1695 * src/devices/grolbp/lbp.cpp: Likewise.
1696 * src/devices/grolj4/lj4.cpp: Likewise.
1697 * src/devices/grops/ps.cpp: Likewise.
1698 * src/devices/grotty/tty.cpp: Likewise.
1700 2006-02-22 Werner LEMBERG <wl@gnu.org>
1702 * font/devdvi/generate/tc.map: Add `sr' glyph.
1703 * font/devdvi/*TC: Regenerated.
1705 * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list): Use entry
1708 2006-02-21 Werner LEMBERG <wl@gnu.org>
1710 * man/groff_char.man: Explain `***' marker.
1712 2006-02-17 Bruno Haible <bruno@clisp.org>
1714 * src/libs/libgroff/nametoindex.cpp (character_indexer): Rename
1715 methods and fields from *_index to *_glyph.
1716 (character_indexer::named_char_glyph): Test for `charNNN' name
1718 (name_to_glyph): ... not here.
1720 2006-02-17 Bruno Haible <bruno@clisp.org>
1722 * src/include/font.h (name_to_glyph): Renamed from
1723 font::name_to_index.
1724 (number_to_glyph): Renamed from font::number_to_index.
1725 (glyph_to_name): Renamed from font::index_to_name.
1726 (glyph_to_number): Renamed from font::index_to_number.
1727 * src/libs/libgroff/nametoindex.cpp: Likewise.
1728 * src/roff/troff/charinfo.h (charinfo::as_glyph): Renamed from
1729 charinfo::get_index.
1731 * src/roff/troff/input.cpp: All callers changed.
1732 * src/roff/troff/node.cpp: Likewise.
1733 * src/libs/libgroff/font.cpp: Likewise.
1734 * src/devices/grops/ps.cpp: Likewise.
1735 * src/devices/grohtml/post-html.cpp: Likewise.
1736 * src/libs/libdriver/printer.cpp: Likewise.
1738 2006-02-17 Werner LEMBERG <wl@gnu.org>
1740 * src/include/ptable.h, src/include/itable.h
1741 (NEXT_PTABLE_SIZE_DEFINED): Use it to avoid multiple declaration
1742 of external symbol `next_ptable_size' (used by both header files).
1744 2006-02-15 Bruno Haible <bruno@clisp.org>
1746 * src/include/font.h (glyphinfo): New class.
1747 (glyph): Change internal representation.
1748 Change constructor signature.
1749 New method glyph::glyph_number().
1750 (glyph::glyph, glyph glyph::undefined_glyph, glyph::glyph_index,
1751 glyph::operator==, glyph::operator!=): Update.
1752 (font::index_to_name, font::index_to_number): New functions.
1754 * src/include/itable.h: New file, based on src/include/ptable.h.
1756 * src/libs/libgroff/nametoindex.cpp: Include itable.h.
1757 (class charinfo): New class.
1758 (class character_indexer): Change table result type from `int' to
1760 Add table with integer key.
1761 (character_indexer::character_indexer): Update.
1762 (character_indexer::ascii_char_index): Update.
1763 (character_indexer::numbered_char_index): Use NULL as name, not a
1764 string starting with a space.
1765 (character_indexer::named_char_index): Update.
1766 (font::number_to_index, font::name_to_index): Remove no-op cast.
1767 (glyph::glyph_name): New method.
1768 * src/roff/troff/charinfo.h (class charinfo): Inherit from class
1770 (NUMBERED): Remove flag bit.
1771 (charinfo::numbered, charinfo::get_index): Update.
1773 * src/roff/troff/input.cpp (charinfo::charinfo): Update.
1774 (charinfo::set_number, charinfo::get_number): Update.
1775 (glyph::glyph_name): New method.
1777 2006-02-15 Werner LEMBERG <wl@gnu.org>
1779 * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list): Fix
1780 entries for `>>', `<<', `*f', and `+f'. Reported by Bruno.
1782 2006-02-13 Werner LEMBERG <wl@gnu.org>
1784 * font/devps/prologue.ps (RE): Check `UniqueID' also, similar to
1787 2006-02-11 Werner LEMBERG <wl@gnu.org>
1789 * src/include/font.h: s/glyph_t/glyph/.
1792 * src/devices/grotty/tty.cpp: s/glyph/tty_glyph/.
1793 s/output_character_t/output_character/.
1795 2006-02-11 Bruno Haible <bruno@clisp.org>
1797 New accessor method glyph_t::glyph_name().
1799 * src/include/ptable.h (declare_ptable): Add a return value to the
1800 `define' method, and declare a `lookupassoc' method.
1801 (implement_ptable): Return the stored key in `define'. Implement
1803 * src/include/font.h (glyph_t): Add `name' field. Add an argument
1805 (glyph_t::glyph_name): New method.
1807 * src/libs/libgroff/nametoindex.cpp (character_indexer): Change
1808 return type of methods and field member type to glyph_t.
1809 (character_indexer::character_indexer): Update.
1810 (character_indexer::ascii_char_index): Allocate a name for the
1812 Return a glyph_t with name.
1813 (character_indexer::numbered_char_index): Return a glyph_t without a
1815 (character_indexer::named_char_index): Return a glyph_t with a name.
1816 (font::number_to_index, font::name_to_index): Update.
1818 * src/roff/troff/input.cpp (charinfo::charinfo): Use the symbol as
1821 2006-02-11 Bruno Haible <bruno@clisp.org>
1823 * src/devices/grotty/tty.cpp (output_character_t): New type.
1824 (tty_printer::make_bold, tty_printer::add_char,
1825 tty_printer::put_char): Change argument type to output_character_t.
1826 (crossings): Change element type to output_character_t.
1828 2006-02-11 Bruno Haible <bruno@clisp.org>
1830 Make the glyph data type abstract.
1832 * src/include/font.h (glyph_t): New class.
1833 (name_to_index, number_to_index): Change return type to glyph_t.
1834 (font::contains, font::get_width, font::get_height, font::get_depth,
1835 font::get_character_type, font::get_kern, font::get_skew,
1836 font::get_italic_correction, font::get_left_italic_correction,
1837 font::get_subscript_correction, font::get_code,
1838 font::get_special_device_encoding, font::add_entry,
1839 font::copy_entry, font::add_kern, font::hash_kern): Change argument
1842 * src/libs/libgroff/font.cpp (font_kern_list): Change members
1843 type and constructor argument types to glyph_t.
1844 (font::contains, font::get_width, font::get_height, font::get_depth,
1845 font::get_character_type, font::get_kern, font::get_skew,
1846 font::get_italic_correction, font::get_left_italic_correction,
1847 font::get_subscript_correction, font::get_code,
1848 font::get_special_device_encoding, font::add_entry,
1849 font::copy_entry, font::add_kern, font::hash_kern): Change argument
1851 (font::load): Use glyph_t variables.
1853 * src/libs/libgroff/nametoindex.cpp (name_to_index,
1854 number_to_index): Change return type to glyph_t.
1856 * src/roff/troff/charinfo.h (charinfo::index): Change type to
1858 (charinfo::get_index): Change return type to glyph_t.
1860 * src/roff/troff/env.cpp: Include font.h.
1862 * src/roff/troff/node.cpp: Include font.h before charinfo.h.
1864 * src/roff/troff/input.cpp: Include font.h before charinfo.h.
1865 (charinfo::charinfo): Update.
1866 (name_to_index, number_to_index): Change return type to glyph_t.
1868 * src/include/printer.h (printer::set_char_and_width): Change return
1871 * src/libs/libdriver/printer.cpp (printer::set_char_and_width):
1872 Change return type to glyph_t.
1874 * src/devices/grodvi/dvi.cpp (dvi_printer::set_char): Change
1875 argument type to glyph_t.
1877 * src/devices/grohtml/post-html.cpp (page::add_and_encode): Update.
1878 (html_printer::space_glyph): Renamed from space_char_index.
1879 (html_printer::add_to_sbuf, html_printer::sbuf_continuation,
1880 html_printer::overstrike, html_printer::set_char): Change argument
1882 (html_printer::set_char_and_width): Change return type to glyph_t.
1884 * src/devices/grolbp/lbp.cpp (lbp_printer::set_char): Change
1885 argument type to glyph_t.
1887 * src/devices/grolj4/lj4.cpp (lj4_printer::set_char): Change
1888 argument type to glyph_t.
1890 * src/devices/grops/ps.cpp (ps_printer::space_glyph): Renamed from
1892 (ps_printer::set_subencoding, ps_printer::set_char): Change argument
1895 * src/devices/grotty/tty.cpp (tty_printer::set_char): Change
1896 argument type to glyph_t.
1898 2006-02-11 Bruno Haible <bruno@clisp.org>
1900 * src/roff/troff/input.cpp (font::name_to_index): Never return a
1903 * src/libs/libgroff/font.cpp (font::load): Remove failure tests for
1904 font::name_to_index.
1906 2006-02-10 Werner LEMBERG <wl@gnu.org>
1908 * doc/groff.texinfo (Assigning Formats): Number registers are always
1910 Apply some rephrasing, contributed by Michael Burt.
1912 2006-02-07 Werner LEMBERG <wl@gnu.org>
1914 * tmac/fr.tmac <ms>: Set `HY' register.
1916 2006-02-07 Werner LEMBERG <wl@gnu.org>
1918 Add framework for simple adaptation of the main macro packages (mm,
1919 me, ms, mom) to different locales. In particular, add support for
1920 French. For activation, simply use `-mfr' as the last macro
1921 package. This feature has been contributed by Fabrice Ménard
1922 <menard.fabrice@wanadoo.fr>.
1924 * tmac/fr.tmac, tmac/trans.tmac, tmac/hyphen.fr, tmac/LOCALIZATION:
1926 * tmac/README: Mention hyphen.fr.
1927 * man/groff_tmac.man: Mention fr.tmac.
1930 2006-01-27 Werner LEMBERG <wl@gnu.org>
1932 * man/groff_font.man: Updated documentation of `entity_name' field.
1935 2006-01-27 Bruno Haible <bruno@clisp.org>
1937 * font/devhtml/R.proto: Remove the entity names from the font's
1938 special_encoding_encoding column.
1939 * src/devices/grohtml/post-html.cpp (get_html_entity): New function,
1940 handling the entity names here.
1941 (get_html_translation): Use it. Change return type to `const
1943 (page::add_and_encode): Update, removing a useless cast.
1945 2006-01-26 Werner LEMBERG <wl@gnu.org>
1947 This change is based on a patch by Bruno Haible <bruno@clisp.org>.
1949 * src/include/device.h: Add comments.
1950 * src/include/font.h: Add comments.
1951 * src/include/unicode.h: Likewise.
1952 * src/include/ptable.h, src/libs/libgroff/ptable.cpp: Likewise.
1954 2006-01-26 Keith Marshall <keith.d.marshall@ntlworld.com>
1956 Suppress `.st' request emission by `grn'.
1958 * src/preproc/grn/main.cpp (USE_ST_REQUEST): New macro.
1961 2006-01-22 Werner LEMBERG <wl@gnu.org>
1963 * install-sh: New version; taken from texinfo CVS.
1965 2006-01-21 Werner LEMBERG <wl@gnu.org>
1967 * src/preproc/preconv/preconv.cpp (main): Set program_name. Bug
1968 reported by Alexander E. Patrakov <patrakov@ums.usu.ru>.
1970 2006-01-19 Bruno Haible <bruno@clisp.org>
1972 Let `make -k install' install more files.
1974 * Makefile.in (MAKE_K_FLAG): New variable. Use it everywhere where
1975 $(MAKE) and $(MDEFINES) are used.
1976 (CPROGDIRS): Remove $(XPROGDIRS). Treat $(XPROGDIRS) like
1977 $(CPROGDIRS) everywhere.
1978 ($(DEVDIRS) $(XDEVDIRS) $(OTHERDEVDIRS) $(TTYDEVDIRS)): Don't depend
1980 ($(OTHERDIRS)): Likewise.
1983 * src/devices/grohtml/post-html.cpp (get_html_translation): Remove
1984 failure test for font::name_to_index -- it can never fail.
1986 2006-01-19 Werner LEMBERG <wl@gnu.org>
1988 * src/devices/grops/grops.man: Fix section on creating EPS files.
1989 Don't use future time in manual.
1992 2006-01-15 Gaius Mulley <gaius@glam.ac.uk>
1994 * tmac/www.tmac: New macro LINKSTYLE which allows users to set
1995 various typographical URL attributes for non-HTML devices.
1997 * tmac/groff_www.man: Document LINKSTYLE.
1999 2006-01-11 Werner LEMBERG <wl@gnu.org>
2001 * configure.ac: Test for getc_unlocked (needed for localcharset).
2002 * configure, src/include/config.hin: Regenerated.
2004 * src/libs/libgroff/Makefile.sub (EXTRA_CFLAGS): Define
2007 * src/libs/libgroff/relocatable.h: New dummy header file for
2010 * src/libs/libgroff/localcharset.c: Updated to (unchanged) CVS
2013 2006-01-10 Bruno Haible <bruno@clisp.org>
2015 Work around unportability of nl_langinfo(CODESET).
2017 * m4/glibc21.m4: New file, from gnulib.
2018 * Makefile.sub (M4MACROS): Add m4/glibc21.m4.
2019 * configure.ac: Also test for stddef.h, and invoke jm_GLIBC21.
2020 * Makefile.in (HOST, GLIBC21): New variables.
2021 (MDEFINES): Pass them to subdirectories.
2022 * src/include/relocate.h (relocatep): Define with C linkage.
2023 * src/include/localcharset.h: New file, from gnulib.
2024 * src/libs/libgroff/localcharset.c: New file, from gnulib with a
2025 modification for relocate().
2026 * src/libs/libgroff/config.charset: New file, from gnulib.
2027 * src/libs/libgroff/ref-add.sin: New file, from gnulib.
2028 * src/libs/libgroff/ref-del.sin: New file, from gnulib.
2029 * src/libs/libgroff/Makefile.sub (EXTRA_CFLAGS): Also define LIBDIR.
2030 (OBJS): Add localcharset.o.
2031 (CSRCS): Add localcharset.c.
2032 (all): Add dependencies to charset.alias, ref-add.sed, ref-del.sed.
2033 (charset.alias): New rule.
2034 (PACKAGE): New variable.
2035 (ref-add.sed, ref-del.sed): New rules.
2036 (MKINSTALLDIRS): New variable.
2037 (install_data): Depend on install_charset_data.
2038 (install_charset_data): New rule for creating or updating
2040 (uninstall_sub): Depend on uninstall_charset_data.
2041 (uninstall_charset_data): New rule for uninstalling or updating
2043 * src/preproc/preconv/preconv.cpp: Include localcharset.h instead
2045 (main): Initialize default_encoding from locale_charset() instead of
2046 nl_langinfo(CODESET).
2048 * aclocal.m4, configure, src/include/config.hin: Regenerated.
2050 2006-01-10 Werner LEMBERG <wl@gnu.org>
2052 * src/preproc/preconv/preconv.cpp (conversion_iconv): Use
2053 ICONV_CONST in call to iconv. Reported by Robert Goulding.
2055 2006-01-07 Werner LEMBERG <wl@gnu.org>
2057 * font/devps/generate/freeeuro.sfd: Run auto-hinter with recent
2059 Bump font version to 001.001.
2061 * font/devps/generate/Makefile (freeeuro.afm, freeeuro.pfa):
2062 Call fontforge, not pfaedit.
2064 * font/devps/freeeuro.afm, font/devps/freeeuro.pfa: Regenerated.
2066 2006-01-05 Ruslan Ermilov <ru@FreeBSD.org>
2068 * tmac/doc-common: Add new FreeBSD and NetBSD versions.
2069 * tmac/groff_mdoc.man: Updated.
2071 2006-01-05 Werner LEMBERG <wl@gnu.org>
2073 * src/preproc/preconv/preconv.cpp: s/debug/debug_flag/.
2074 (raw_flag): New global variable.
2075 (do_file): Use .lf to set file name (if `raw_flag' isn't set).
2076 Don't pass BOM to `conversion_utf8'.
2078 (main): Handle `-r' command line switch to set `raw_flag'.
2079 (get_BOM): Fix encodings in `BOM_table'.
2081 * src/preproc/preconv/preconv.man: New file. Not complete yet.
2082 * src/preproc/proconv/Makefile.sub (MAN1): New variable.
2084 2006-01-04 Werner LEMBERG <wl@gnu.org>
2086 * src/preproc/preconv/preconv.cpp (emacs_to_mime): As suggested by
2087 Bruno, comment out most encodings to support only a small set of
2088 coding tags, thus reducing potential problems with legacy encodings
2089 and character sets in the future.
2090 Add many XEmacs coding tags (now commented out).
2092 (check_encoding_tag): Renamed to...
2093 (check_coding_tag): This.
2094 (get_BOM): Return encoding as specified by BOM.
2095 Test for UTF32-LE too.
2096 (do_file): Don't check for coding tag if a BOM has been found.
2098 2006-01-03 Bruno Haible <bruno@clisp.org>
2100 * m4/groff.m4: Renamed from aclocal.m4.
2101 * m4/codeset.m4: New file, from gnulib.
2102 * m4/iconv.m4: New file, from gnulib.
2103 * m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4: New files, from
2105 * config.rpath: New file, from gnulib.
2106 * config.guess, config.sub: New files, from gnulib.
2107 * Makefile.sub (M4MACROS): New variable.
2108 (configure): Fix typo.
2109 (aclocal.m4): New rule.
2110 (stamp-h.in): Depend on aclocal.m4.
2111 * configure.ac: Invoke AM_ICONV and AM_LANGINFO_CODESET.
2112 * Makefile.in (LIBICONV): New variable.
2113 (MDEFINES): Pass it to recursive makes.
2114 * src/preproc/preconv/preconv.cpp: Use HAVE_LANGINFO_CODESET and
2115 HAVE_ICONV instead of I18N macro.
2116 * src/preproc/preconv/Makefile.sub (EXTRA_LDFLAGS): New variable.
2118 * aclocal.m4, configure, src/include/config.hin: (Re)generated.
2120 2006-01-03 Werner LEMBERG <wl@gnu.org>
2122 * doc/Makefile.in (webpage.html): Simplify.
2123 * doc/Makefile.sub (webpage.html): Synchronize with doc/Makefile.in.
2124 * doc/webpage.ms, tmac/groff_www.man, tmac/www.tmac: Minor updates.
2126 2006-01-01 Werner LEMBERG <wl@gnu.org>
2128 * tmac/doc-common (Os): Add some Darwin versions.
2129 * tmac/groff_mdoc.man: Document them.
2131 2006-01-01 Bruno Haible <bruno@clisp.org>
2133 * src/preproc/preconv/preconv.cpp (emacs_to_mime): Various
2135 . Don't map ascii to latin-1.
2136 . Don't use IBMxxx encodings but cpxxx for portability.
2137 . Map cp932, cp936, cp949, cp950 to itself.
2138 (emacs2mime): Protect calls to strcasecmp.
2139 (conversion_iconv): Add missing call to iconv_close.
2140 (do_file): Emit error message in case of unsupported encoding.
2142 2005-12-31 Werner LEMBERG <wl@gnu.org>
2144 Integrate preconv into the groff binary. Changes based on a patch
2145 from Michail Vidiassov.
2147 * src/roff/groff/pipeline.h (MAX_COMMANDS): Increase by 1.
2149 * src/roff/groff/groff.cpp (PRECONV_INDEX): New macro.
2150 (SOELIM_INDEX): Updated.
2151 (help, synopsis): Updated.
2152 (main): Add command line options `-k' and `-K enc' to select
2154 Add support for GROFF_ENCODING environment variable.
2156 * src/roff/groff/groff.man: Updated and revised.
2159 Start with autoconf support for preconv.
2161 * configure.ac: Call AC_C_BIGENDIAN.
2162 * configure, src/include/config.hin: Regenerated.
2164 2005-12-30 Werner LEMBERG <wl@gnu.org>
2166 New preprocessor `preconv' to convert input encodings to something
2167 groff can understand. Not yet integrated within groff. Proper
2168 autoconf stuff is missing too.
2170 Tomohiro Kubota has written a first draft of this program, and some
2171 ideas have been reused (while almost no code has been taken
2174 * src/preproc/preconv/preconv.cpp. src/preproc/preconv/Makefile.sub:
2177 * MANIFEST, Makefile.in (CCPROGDIRS), test-groff.in
2178 (GROFF_BIN_PATH): Add preconv.
2180 2005-12-12 Werner LEMBERG <wl@gnu.org>
2182 * aclocal.m4 (GROFF_MAKEINFO): Fix regexps to be POSIX conformant.
2183 In particular, don't use `\+' since it is a GNU sed extension.
2185 * configure: Regenerated.
2187 2005-12-09 Werner LEMBERG <wl@gnu.org>
2189 * src/libs/libgroff/make-uniuni: New script to generate uniuni.cpp.
2191 * src/libs/libgroff/uniuni.cpp: Regenerated, using data from Unicode
2195 * src/utils/afmtodit/make-afmtodit-tables: New script to generate
2198 * src/utils/afmtodit/afmtodit.tables: New file, representing Unicode
2201 * src/utils/afmtodit/afmtodit.pl (%unicode_decomposed,
2202 %AGL_to_unicode): Removed. Replace it with a tag.
2204 * src/utils/afmtodit/Makefile.sub (afmtodit): Adjust sed expression
2205 to replace tag with actual file contents.
2207 2005-12-08 Werner LEMBERG <wl@gnu.org>
2209 The change 2005-06-20 can indeed cause problems, so we follow the
2210 advice by using marks.
2212 * font/devps/prologue.ps (PBEGIN): Use `mark'.
2213 (PEND): Use `cleartomark'.
2215 2005-12-07 Michail Vidiassov <master@iaas.msu.ru>
2217 * src/utils/afmtodit.pl: Fix kerning output to avoid warnings for
2218 glyphs which have kern values but aren't handled (glyph variants,
2221 2005-12-02 Werner LEMBERG <wl@gnu.org>
2223 * src/devices/grops/ps.cpp (ps_printer::get_subfont): Use correct
2224 subfont index. Reported by Michail Vidiassov <master@iaas.msu.ru>.
2226 2005-11-28 Gaius Mulley <gaius@glam.ac.uk>
2228 * doc/Makefile.in: Separate rule for webpage.html so that extra
2229 command line options can be passed to grohtml.
2230 * doc/groff.css: Change all margins to 0%.
2231 * doc/webpage.ms: Now use new macros ALN, LNS, and LNE so that left
2232 navigation is exploited. Also update webpage to contain new
2233 sections on licenses, mailing lists, cvs/ftp access, groff
2234 dependencies, and bug reports.
2235 * tmac/groff_www.man: Document the new macros ALN, LNS, and LNE.
2236 * tmac/www.tmac: Implement the new macros ALN, LNS, and LNE.
2238 2005-11-25 Gaius Mulley <gaius@glam.ac.uk>
2240 * src/devices/grohtml/post-html.cpp
2241 (html_printer::do_file_components): Add fputs calls to emit the
2242 head contents and shut down the head tag whenever a new file
2243 component is generated.
2245 2005-11-22 Gaius Mulley <gaius@glam.ac.uk>
2247 * src/devices/grohtml/post-html.cpp (html_printer::flush_page): Add
2248 call to flush_text to flush any outstanding html tags on the
2251 2005-11-18 Werner LEMBERG <wl@gnu.org>
2253 * aclocal.m4 (GROFF_MAKEINFO): Use `groff.info' in tests.
2254 Announce makeinfo version.
2255 * configure: Regenerated.
2257 2005-11-18 Mike Frysinger <vapier@gentoo.org>
2259 * Makefile.in: Declare proper dependencies between make targets.
2261 * doc/Makefile.in: Rename groff info page to `groff.info'.
2262 * doc/Makefile.sub: Likewise.
2263 * doc/groff.texinfo: Likewise.
2265 2005-11-17 Peter O'Gorman <mlists@thewrittenword.com>
2267 * src/utils/pfbtops/pfbtops.c, src/utils/xtotroff/xtotroff.c: Move
2268 definition of __GETOPT_PREFIX to the beginning of file to ensure
2269 that it is defined even on platforms where getopt.h is already
2270 included by other header files.
2272 2005-11-10 Gaius Mulley <gaius@glam.ac.uk>
2274 * src/devices/grohtml/post-html.cpp (html_printer::do_heading):
2275 Reset font to NULL to ensure that a font block is recreated during
2278 2005-11-04 Werner LEMBERG <wl@gnu.org>
2280 * aclocal.m4 (GROFF_MAKEINFO): Fix sed expression.
2281 * configure: Regenerated.
2283 2005-10-27 Werner LEMBERG <wl@gnu.org>
2285 * aclocal.m4 (GROFF_MAKEINFO): New function for checking whether
2286 makeinfo 4.8 or newer is available.
2287 * configure.ac: Call GROFF_MAKEINFO.
2288 * configure: Regenerated.
2290 * Makefile.in (MAKEINFO): Use autoconf variable.
2291 (MDEFINES): Add MAKEINFO.
2293 * doc/Makefile.in (MAKEINFO): Use autoconf variable.
2294 * doc/Makefile.sub (MAKEINFO): Remove.
2296 2005-10-26 Werner LEMBERG <wl@gnu.org>
2298 * REVISION: Set to 3.
2300 2005-10-17 Werner LEMBERG <wl@gnu.org>
2302 Mention $MANPAGER variable used with some `man' systems.
2304 * doc/webpage.ms, src/devices/grotty/grotty.man, NEWS: Updated.
2306 2005-09-13 Werner LEMBERG <wl@gnu.org>
2308 * tmac/hyphenex.us: New version (`ushyphex.tex' from ftp.dante.de).
2310 2005-09-04 Werner LEMBERG <wl@gnu.org>
2312 Version 1.19.2 released
2313 =======================
2315 * tmac/groff_ms.man, doc/groff.texinfo: Synchronize.
2317 * doc/webpage.ms: Updated.
2319 * install-sh, mkinstalldirs: New versions; taken from texinfo CVS.
2321 2005-09-04 Jörgen Grahn <jgrahn@algonet.se>
2323 * tmac/groff_ms.man: Document `PO' better.
2325 2005-09-03 Werner LEMBERG <wl@gnu.org>
2327 * NEWS: Document grotty changes.
2329 2005-09-01 Keith Marshall <keith.d.marshall@ntlworld.com>
2331 Backward compatibility support for `man' program.
2333 * tmac/an-old.tmac (LL): Initialize it to respect prior LL register
2334 assignment, prior `.ll' request and then package defaults, in this
2335 specified order of decreasing priority.
2337 * tmac/groff_man.man, doc/groff.texinfo (Man options): Document
2338 altered `LL' register initialization priorities.
2340 2005-08-29 Gary W. Swearingen <garys@opusnet.com>
2342 * tmac/groff_mdoc.man: Go into more details how the `AUTHORS'
2343 section should look like.
2345 2005-08-29 Werner LEMBERG <wl@gnu.org>
2347 * tmac/groff_mdoc.man: The month's name in a call to .Dd shouldn't
2350 2005-08-27 Bernd Warken
2352 * tmac/groff_man.man: Add man(7) too SEE ALSO and more minor
2355 2005-08-11 Bernd Warken
2357 * tmac/www.tmac (URL, MTO): Handle empty \\$1 better.
2359 2005-08-09 Bernd Warken
2361 * tmac/www.tmac (URL, MTO): Use bold series if color support is
2364 2005-08-02 Bernd Warken
2366 * doc/Makefile.sub (uninstall_sub): Use --remove, not --delete
2367 as argument to $(INSTALL_INFO). The latter isn't portable.
2368 Remove $(HTMLEXAMPLEFILES) too.
2370 * Makefile.in (uninstall_dirs): Remove $(datadir)/doc/groff and
2372 Suppress warning messages and return always true.
2374 * tmac/Makefile.sub (uninstall_sub): Remove www.tmac too.
2376 2005-07-02 Bernd Warken
2378 * src/devices/xditview/gxditview.man: Change many `.I' to `.B'.
2379 * man/groff_out.man: More markup and minor improvements.
2380 * src/roff/groff/groff.man: Minor improvements.
2382 2005-06-28 Werner LEMBERG <wl@gnu.org>
2384 * ChangeLog: Split off older entries into...
2385 * ChangeLog.115 ChangeLog.116, ChangeLog.117, ChangeLog.118: New
2388 2005-06-26 Bernd Warken
2390 * src/devices/xditview/gxditview.man: More minor fixes.
2392 2005-06-24 Werner LEMBERG <wl@gnu.org>
2394 * src/preproc/pic/troff.cpp (troff_output::set_fill,
2395 troff_output::set_color, troff_output::reset_color): Use .bcolor and
2396 .fcolor instead of \m and \M, respectively.
2398 2005-06-23 Bernd Warken
2400 * src/devices/xditview/gxditview.man: More minor fixes.
2401 * README: Formatting issues.
2402 Mention some problems with Debian.
2404 2005-06-23 Bernd Warken
2406 * src/devices/xditview/gxditview.man: Revised and improved.
2408 2005-06-22 Werner LEMBERG <wl@gnu.org>
2410 Another round in fixing getopt problems. Hopefully the last one!
2411 This time we use the getopt stuff from gnulib and define a prefix
2412 unconditionally so that there are no collisions with any other
2413 getopt implementations. This is a slight waste of space in case
2414 we already use a GNU getopt implementation, but on
2415 the other hand it really simplifies life.
2417 * src/include/getopt.h: Use gnulib version.
2419 * src/include/getopt_int.h: Use gnulib version.
2421 * src/include/groff-getopt.h: Removed. Obsolete now.
2423 * src/include/lib.h: Regarding getopt, don't handle any platform
2424 specially; just include getopt.h.
2425 (__GETOPT_PREFIX): Define (before getopt.h).
2427 * src/include/Makefile.sub (HDRS): Updated.
2429 * src/libs/libgroff/getopt1.c, src/libs/libgroff/getopt.c: Use
2432 * src/libs/libgroff/Makefile.sub (EXTRA_CFLAGS): Set
2435 * src/utils/pfbtops/pfbtops.c, src/utils/xtotroff/xtotroff.c
2436 (__GETOPT_PREFIX): Define (before getopt.h).
2438 2005-06-21 Werner LEMBERG <wl@gnu.org>
2440 * src/include/lib.h: Provide a fix for Mac OS X to not include
2443 2005-06-20 Denis M. Wilson <dmw@oxytropis.plus.com>
2445 * font/devps/prologue.ps (EP): Dont' use `bind'. Reason: Using
2446 `bind' to define a procedure which contains `showpage' means that an
2447 invocation of `showpage' may execute wrongly (the exact effect
2448 depending on the interpreter). Not usually a problem except under
2449 transformations, such as combining pages.
2450 (PEND): Don't call `clear'. Reason: Using `clear' in the definition
2451 of /PEND means that stack underflow will occur if the stack is
2452 deliberately non-empty before document inclusion. If included
2453 files are found to be generally badly behaved, we could replace the
2454 `clear' with `mark' in /PBEGIN and `cleartomark' in /PEND (I've
2455 never found this necessary).
2457 2005-06-20 Jörgen Grahn <jgrahn@algonet.se>
2459 * src/preproc/soelim/soelim.cpp (do_file): Append trailing zero
2460 earlier to get correct error message.
2462 2005-06-16 Bernd Warken
2463 * src/roff/nroff/nroff.sh: Add support for iso-8859-15.
2465 2005-06-15 Werner LEMBERG <wl@gnu.org>
2467 Another try to update getopt files. This time we add a dummy
2468 gettext.h file to satisfy the dependency.
2470 * src/include/getopt.h, src/libs/libgroff/getopt.c,
2471 src/libs/libgroff/getopt1.c: Updated from GNU libc CVS.
2473 * src/include/getopt_int.h: New file (from GNU libc CVS).
2475 * src/include/gettext.h: Dummy file which just defines a gettext()
2478 * src/include/groff-getopt.h: Updated.
2480 * src/include/Makefile.sub (HDRS): Add getopt_int.h and gettext.h.
2483 * src/libs/libdriver/input.cpp (IntArray): Remove superfluous
2484 `const' keywords in return value.
2486 * src/preproc/html/pushback.cpp (pushBackBuffer::~pushBackBuffer):
2487 Remove redundant variable `old'.
2488 (pushBackBuffer::skipToNewline): Remove redundant variable `ch'.
2490 * src/preproc/tbl/main.cpp (process_table): Remove redundant
2494 Fix more friend name injection problems since modern C++ compilers
2495 fail otherwise. We simply provide (global) declarations for all
2496 functions declared as friends. This is not really necessary but
2499 * src/preproc/eqn/lex.cpp: Provide declarations for get_char,
2500 peek_char, and get_location.
2502 * src/preproc/refer/ref.h: Provide declarations for
2503 compare_reference, same_reference, same_year, same_date,
2504 same_author_last_name, and same_author_name.
2506 * src/roff/troff/div.h: Provide declarations for do_divert and
2509 * src/roff/troff/env.h: Provide declarations for title_length,
2510 space_size, fill, no_fill, adjust, no_adjust, center, right_justify,
2511 vertical_spacing, post_vertical_spacing, line_spacing, line_length,
2512 indent, temporary_indent, do_underline, do_input_trap, set_tabs,
2513 margin_character, no_number, number_lines, leader_character,
2514 tab_character, hyphenate_request, no_hyphenate,
2515 hyphen_line_max_request, hyphenation_space_request,
2516 hyphenation_margin_request, line_width, tabs_save, tabs_restore,
2517 line_tabs_request, widow_control_request, and do_divert.
2519 * src/roff/troff/input.cpp: Provide declaration for chop_macro.
2521 * src/roff/troff/node.cpp: Provide declarations for class
2523 Provide declaration for make_tfont.
2525 2005-05-29 Werner LEMBERG <wl@gnu.org>
2527 * doc/fdl.texi: Updated to version 1.2. Reported by Bernd Warken.
2529 2005-05-28 Werner LEMBERG <wl@gnu.org>
2531 * src/devices/grolbp/lbp.cpp, src/devices/grolbp/lbp.h: Remove
2532 redundant semicolons.
2534 * src/preproc/eqn/Makefile.sub, src/preproc/html/Makefile.sub,
2535 src/preproc/soelim/Makefile.sub, src/preproc/tbl/Makefile.sub:
2536 Define `MLIB'. Some compilers need this for linking with libgroff.
2538 2005-05-27 Werner LEMBERG <wl@gnu.org>
2540 * MANIFEST, README, doc/webpage.ms: Updated.
2542 2005-05-26 Werner LEMBERG <wl@gnu.org>
2544 * All affected files: Update postal address of FSF.
2546 2005-05-25 Keith Marshall <keith.d.marshall@ntlworld.com>
2549 * README: More fixes.
2551 * README.CVS: Removed. Its contents is now part of the README file.
2553 2005-05-21 Werner LEMBERG <wl@gnu.org>
2555 * README: Updated. Based on a patch from Bernd Warken.
2557 2005-05-16 Keith Marshall <keith.d.marshall@ntlworld.com>
2559 Miscellaneous script portability enhancements.
2561 * aclocal.m4: (GROFF_CSH_HACK): Add space in shebang prototype for
2562 generated conftest.sh script, conforming to portability
2563 recommendation in autoconf docs.
2564 * configure: Likewise, for code generated by GROFF_CSH_HACK.
2565 * contrib/eqn2graph/eqn2graph.sh: Add space in shebang, conforming
2566 to portability recommendation in autoconf docs.
2567 * contrib/grap2graph/grap2graph.sh: Likewise.
2568 * contrib/pic2graph/pic2graph.sh: Likewise.
2569 * font/devps/generate/afmname: Likewise.
2570 * src/devices/xditview/ad2c: Likewise.
2571 * src/preproc/eqn/neqn.sh: Likewise.
2572 * src/roff/grog/grog.pl: Likewise.
2573 * src/roff/grog/grog.sh: Likewise.
2574 * src/roff/nroff/nroff.sh: Likewise.
2575 * PROBLEMS: Likewise, in embedded script examples.
2577 2005-05-16 Keith Marshall <keith.d.marshall@ntlworld.com>
2579 Improve portability of `pdfroff' shell script.
2581 * arch/misc/shdeps.sh: Add space in shebang, conforming to
2582 portability guidelines in `autoconf' docs.
2583 (PATH_SEARCH_SETUP): New substitution; emits PATH_SEPARATOR
2584 initialization code. Used by contrib/pdfmark/pdfroff.sh's
2585 `searchpath' function.
2587 2005-05-14 Werner LEMBERG <wl@gnu.org>
2589 * contrib/pic2graph/pic2graph.sh, contrib/graph2graph.sh,
2590 contrib/eqn2graph.sh: Add option `-trim' to `convert' which is
2591 needed for newer ImageMagick versions.
2593 2005-05-07 Werner LEMBERG <wl@gnu.org>
2595 * src/preproc/refer/refer.man: Many small typographic fixes.
2597 2005-05-06 Jeff Conrad <jeff_conrad@msn.com>
2599 * src/devices/grohtml/post-html.cpp (assert_state::~assert_state):
2600 Use `char *' cast for a_delete.
2602 2005-05-03 Werner LEMBERG <wl@gnu.org>
2604 * src/libs/libgroff/maxpathname.cpp: Include stdlib.h.
2605 src/libs/libgroff/relocate.cpp: Use path_name_max everywhere.
2607 2005-05-03 Jeff Conrad <jeff_conrad@msn.com>
2609 * src/devices/grohtml/post-html.cpp: Use casts to `char *' if using
2610 `a_delete' for `const char *'.
2612 2005-05-03 Werner LEMBERG <wl@gnu.org>
2614 * src/devices/grohtml/post-html.cpp,
2615 src/devices/grohtml/html-table.cpp,
2616 src/devices/grohtml/html-text.cpp, src/devices/grohtml/output.cpp:
2617 Replace malloc/free with new/delete/a_delete.
2619 * src/devices/grolbp/lbp.h: Remove superfluous semicolons which
2620 are prohibited with ANSI C++.
2621 (lbpprintf, vdmprintf): Remove useless `inline' keyword (since the
2622 function has a variable number of arguments).
2624 * src/preproc/grn/main.cpp (doinput): Change return type to `int'.
2625 Simplify function and update all callers.
2627 2005-05-02 Werner LEMBERG <wl@gnu.org>
2629 Undo getopt changes from 2005-04-30. We don't want a dependency
2632 * src/include/getopt_int.h: Removed.
2634 * src/include/getopt.h, src/include/groff-getopt.h,
2635 src/include/Makefile.sub, src/libs/libgroff/getopt.c,
2636 src/libs/libgroff/getopt1.c: Revert to previous version.
2639 * src/include/nonposix.h (access) [_MSC_VER]: New macro.
2641 * src/include/posix.h (F_OK): Define conditionally.
2643 * src/devices/grotty/tty.cpp (tty_printer::make_underline): Use
2644 different variable name in second `for' loop to avoid MSVC compiler
2647 2005-04-30 Werner LEMBERG <wl@gnu.org>
2649 AC_TYPE_SIGNAL from current autoconf can fail if CC=g++.
2651 * aclocal.m4 (GROFF_TYPE_SIGNAL): New function.
2652 * configure.ac: Use GROFF_TYPE_SIGNAL, not AC_TYPE_SIGNAL.
2653 * configure, src/include/config.hin: Regenerated.
2655 * PROBLEMS: Updated.
2658 Update getopt files.
2660 * src/include/getopt.h, src/libs/libgroff/getopt.c,
2661 src/libs/libgroff/getopt1.c: Updated from GNU libc CVS.
2663 * src/include/getopt_int.h: New file (from GNU libc CVS).
2665 * src/include/groff-getopt.h: Updated.
2667 * src/include/Makefile.sub (HDRS): Add getopt_int.h.
2670 * font/devutf8/NOTES: Updated.
2672 2005-04-28 Werner LEMBERG <wl@gnu.org>
2674 Bug fix for Win32 relocatable code. Based on a patch from Keith
2677 * src/libs/libgroff/maxpathname.cpp (PATH_MAX): Test for `_MAX_PATH'
2680 * src/libs/libgroff/relocate.c (DEBUG): Define it conditionally.
2681 (searchpath) [_WIN32]: Use `_fullpath', not `realpath'.
2683 2005-04-28 Keith Marshall <keith.d.marshall@ntlworld.com>
2685 Correct `gnu.eps' handling for build from distribution tarball, with
2686 separate source and build directories.
2688 * doc/Makefile.sub: (examples.stamp): New target; forces copy of
2689 grnexmpl.g, groff.css and gnu.eps from source to build directory;
2690 generate gnu.eps from gnu.xpm if required; touch examples.stamp.
2691 (prepare_examples): Make it depend on examples.stamp.
2692 (CLEANADD): Add examples.stamp.
2694 2005-04-27 Werner LEMBERG <wl@gnu.org>
2698 position: `(' position `)'
2702 * src/preproc/pic/pic.y (position, position_not_place): Handle
2703 additional parentheses.
2705 * doc/pic.ms: Updated.
2707 2005-04-23 Larry Jones <lawrence.jones@ugs.com>
2709 * src/utils/xtotroff/xtotroff.c (MapFont): Fix variable declaration.
2711 2005-04-18 Werner LEMBERG <wl@gnu.org>
2713 * src/roff/groff/pipeline.c: Don't include ctype.h.
2715 2005-04-13 Werner LEMBERG <wl@gnu.org>
2717 * src/roff/nroff/nroff.man: Document option `-M'.
2719 2005-04-13 Bruce Lilly <blilly@erols.com>
2721 * src/roff/nroff/nroff.sh: Make the script accept option `-M'.
2723 2005-04-01 Kees Zeelenberg <kzlg@users.sourceforge.net>
2724 Werner LEMBERG <wl@gnu.org>
2726 Add binary relocation support for Windows platforms.
2728 * src/include/Makefile.sub (defs.h): Add `INSTALLPATH'.
2730 * src/include/relocate.h, src/libs/libgroff/relocate.cpp: New files.
2732 * src/libs/libgroff/searchpath.cpp: Handle `relocate'.
2733 (search_path::search_path, search_path::open_file_cautious): Use
2736 * src/libs/libgroff/Makefile.sub (OBJS, CCSRCS),
2737 src/include/Makefile.sub (HDRS): Updated.
2739 2005-04-01 Werner LEMBERG <wl@gnu.org>
2741 * src/devices/grohtml/post-html.cpp: Don't use strdup/free but
2744 * src/libs/libgroff/font.cpp: Replace strdup with strsave.
2746 * src/libs/libgroff/maxfilename.cpp: Don't include limits.h since
2747 lib.h already does it.
2749 * src/libs/libgroff/maxpathname.cpp: New file, defining
2752 * src/include/lib.h: Add prototype for path_name_max.
2754 * src/libs/libgroff/Makefile.sub (OBJS, CCSRCS): Updated.
2756 * src/include/nonposix.h (PATH_EXT): New macro.
2758 2005-03-28 Werner LEMBERG <wl@gnu.org>
2760 Add support for double- and zero-width characters in grotty.
2762 * src/devices/grotty/tty.cpp (glyph): Add width.
2763 (tty_printer::make_underline, tty_printer::make_bold,
2764 tty_printer::add_character): Add parameter to pass character width.
2766 (tty_printer::end_page): Increase hpos by actual character width.
2768 * font/devutf8/R.proto: Specify zero width for non-spacing
2771 * tmac/unicode.tmac: Remove definitions for non-spacing entities.
2773 * Makefile.comm (extraclean): Remove more junk files.
2775 2005-03-25 Werner LEMBERG <wl@gnu.org>
2777 * configure.ac: Undo change from 2005-03-24.
2778 * configure: Regenerated.
2780 2005-03-24 Werner LEMBERG <wl@gnu.org>
2782 * Makefile.in (NOMAKEDIRS): Add contrib/gdiffmk/tests.
2783 (dist): Search Makefile while descending into $(EXTRADIRS).
2785 * doc/Makefile.in (.PHONY): Add.
2786 (clean): Don't remove *.png and *.eps.
2788 (realclean): Remove *.png and *.eps.
2789 (extraclean): Depend on distclean.
2791 * configure.ac: Add copyright.
2792 Handle contrib/pdfmark/Makefile.
2794 * configure: Regenerated.
2796 2005-03-18 Larry Kollar <kollar@alltel.net>
2798 Add numbered and definition lists to www.tmac.
2800 * tmac/www.tmac (www-ul-level1, www-ul-level2, www-ul-level3,
2801 www-ol-level1, www-ol-level2, www-ol-level3, www-ol-tmp): New
2802 auxiliary string registers.
2803 (www-ul-level, www-ol-level, www-dl-level, www-ol-ctr1, www-ol-ctr2,
2804 www-ol-ctr3, www-dl-shift): New auxiliary number registers.
2805 (www-level): Removed.
2806 (www-level1, www-level2, www-level3): Initialize to empty.
2807 (www-level0, www-level4, www-level5, www-level6, www-level7,
2808 www-level8, www-level9): New string registers.
2809 (www-push-li, www-pop-li): New macros.
2810 (www-push-level, www-pop-level): Renamed to...
2811 (www-push-ul-level, www-pop-ul-level): This.
2813 (www-push-ol-level, www-pop-ol-level): New macros.
2814 (ULS, ULE): Updated.
2815 (OLS, OLE, DLS, DLE): New user macros.
2816 (LI): Removed. It is aliased to one of...
2817 (www-li-ul, www-li-ol, www-li-dl): New macros.
2819 * tmac/groff_www.man: Document new macros.
2823 2005-03-18 Werner LEMBERG <wl@gnu.org>
2825 * tmac/doc-common (doc-operating-system-NetBSD-2.0.1,
2826 doc-operating-system-NetBSD-2.0.2): New strings.
2828 * tmac/groff_mdoc.man: Updated.
2830 2005-03-17 Werner LEMBERG <wl@gnu.org>
2832 * doc/Makefile.sub (CLEANADD): Add `groff.html'.
2834 2005-03-17 Werner LEMBERG <wl@gnu.org>
2836 * src/libs/libgroff/hypot.c: Renamed to...
2837 * src/libs/libgroff/hypot.cpp: This. Updated to C++.
2839 * src/libs/libgroff/Makefile.sub (CCSRCS, CSRCS): Updated.
2841 * src/include/lib.h: Updated.
2843 2005-03-16 Werner LEMBERG <wl@gnu.org>
2845 Add workaround for broken hypot() on Interix.
2847 * src/libs/libgroff/hypot.c: New wrapper file for `hypot'.
2849 * src/libs/libgroff/Makefile.sub (OBJS): Add `hypot.o'.
2850 (CSRCS): Add `hypot.c'.
2852 * src/include/lib.h: Declare `groff_hypot'.
2854 * src/preproc/grn/hgraph.cpp: Don't declare `hypot'.
2857 * src/preproc/pic/pic.h: Don't declare `hypot'.
2859 * src/preproc/pic/object.cpp (hypot): Use `groff_hypot'.
2861 2005-03-15 Gaius Mulley <gaius@glam.ac.uk>
2863 * src/devices/grohtml/post-html.cpp
2864 (html_printer::lookahead_for_tables): End .ce properly to avoid a
2867 2005-03-15 Werner LEMBERG <wl@gnu.org>
2869 makeinfo 4.8 doesn't produce good HTML output from groff.texinfo.
2871 * doc/fixinfo.sh: New script to postprocess makeinfo's HTML output.
2873 * doc/Makefile.in (.texinfo.html): Call fixinfo.sh.
2875 2005-03-14 Werner LEMBERG <wl@gnu.org>
2877 Add Cyrillic support to devutf8 and devhtml.
2879 * font/devutf8/R.proto, font/devhtml/R.proto: Add Cyrillic blocks.
2881 * tmac/unicode.tmac: New file.
2883 * tmac/tty.tmac: Include unicode.tmac if device is utf8.
2885 * tmac/Makefile.sub (NORMALFILES): Add unicode.tmac.
2889 2005-03-02 Keith Marshall <keith.d.marshall@ntlworld.com>
2891 * src/libs/libdriver/printer.cpp (check_for_output_error): New
2892 function. It has been introduced to catch peculiar error contexts
2893 on MS-Windows platforms.
2895 2005-02-28 Werner LEMBERG <wl@gnu.org>
2897 * src/roff/troff/input.cpp (string_iterator::fill): Protect against
2900 * tmac/papersize.tmac: Convert `paper' string contents to lowercase.
2902 * configure: Regenerated.
2906 2005-02-28 Keith Marshall <keith.d.marshall@ntlworld.com>
2908 Integrate `pdfmark' into normal groff build system;
2909 install macro `pdfmark' packages, build and install `pdfroff',
2910 and PDF format documentation.
2912 * Makefile.comm: Add PDFDOCDIR.
2914 * Makefile.in: (MDEFINES) ALT_AWK_PROGS, ALT_GHOSTSCRIPT_PROGS,
2915 pdfdocdir, make_pdfdoc, make_install_pdfdoc: New variables.
2916 (unstall_dirs): Add pdfdocdir.
2918 * aclocal.m4: (GROFF_GHOSTSCRIPT_PREFS): New function; support
2919 `--with-alt-gs' option, set ALT_GHOSTSCRIPT_PROGS.
2920 (GROFF_GHOSTSCRIPT_PATH): Support `--with-gs' option, force use of
2921 GROFF_GHOSTSCRIPT_PREFS, set GHOSTSCRIPT.
2922 (GROFF_HTML_PROGRAMS): Force use of GROFF_GHOSTSCRIPT_PATH; tidy up.
2923 (GROFF_AWK_PREFS): New function; support `--with-alt-awk' option,
2925 (GROFF_AWK_PATH): New function; support `--with-awk' option, force
2926 use of GROFF_AWK_PREFS.
2927 (GROFF_PDFDOC_PROGRAMS): New function; force use of GROFF_AWK_PATH
2928 and GROFF_GHOSTSCRIPT_PATH, set make_pdfdoc and make_install_pdfdoc.
2930 * configure.ac: Add AC_PREREQ(2.59), GROFF_PDFDOC_PROGRAMS.
2931 Remove GROFF_GHOSTSCRIPT_PATH, (forced by GROFF_PDFDOC_PROGRAMS, and
2932 also by modified GROFF_HTML_PROGRAMS).
2934 2005-02-27 Gaius Mulley <gaius@glam.ac.uk>
2936 * src/devices/grohtml/html-text.cpp (html_text::do_pre): Preserve
2938 (html_text::done_para): Unset `start_space'.
2939 (html_text::remove_para_align): Call `retrieve_para_space' for the
2942 * src/devices/grohtml/post-html.cpp (html_printer::emit_raw): Unset
2944 (html_printer::do_check_center): Emit vertical space if necessary.
2946 * src/roff/troff/env.cpp (environment_switch): Preserve
2947 `seen_space', `seen_eol', and `suppress_next_eol' while switching
2950 * src/roff/troff/node.cpp (suppress_node::suppress_node): Set
2953 2005-02-20 Werner LEMBERG <wl@gnu.org>
2955 * src/preproc/eqn/eqn.man, NEWS: Document various extensions of
2958 2005-02-17 Werner LEMBERG <wl@gnu.org>
2960 * doc/pic.ms, man/groff.man: Fix typos.
2962 * doc/groff.texinfo: Fix typos.
2963 (\LEmacro): Get proper mathematical spacing.
2965 2005-02-16 Werner LEMBERG <wl@gnu.org>
2967 * aclocal.m4 (GROFF_APPRESDIR_CHECK): Improve warning message.
2968 * configure: Regenerated with autoconf 2.59b.
2970 2005-02-16 Gaius Mulley <gaius@glam.ac.uk>
2972 * src/devices/grohtml/post-html.cpp (html_printer::is_line_start,
2973 html_printer::start_font): Fix handling of preformatted text.
2975 2005-02-15 Gaius Mulley <gaius@glam.ac.uk>
2977 These patches modify the indentation implementation to use `<p
2978 style=margin-left: n%>'. Many thanks to Peter and Larry for
2979 suggesting this solution. Grohtml only uses tables for `.IP' and
2980 related tags when the first operand has a short width.
2982 Similarly, they modify all vertical space code. By default, grohtml
2983 sets up a style sheet which uses no vertical space between `table',
2984 `pre', and `p' tags. It forces spaces when it needs them using
2985 `style="margin-top: 1em"'.
2987 * src/devices/grohtml/html-table.cpp: Include `html-text.h'.
2988 (html_table::emit_table_header, html_table::emit_new_row):
2990 (html_table::set_space): New function.
2991 (html_indent::html_indent): Don't set `is_used'.
2992 (html_indent::begin): Rewritten.
2993 (html_indent::end): Remove code in function.
2995 * src/devices/grohtml/html-table.h: Updated.
2996 (html_table): Make `out' public.
2998 * src/devices/grohtml/html-text.cpp (html_text::html_text):
2999 Initialize `start_space' with FALSE.
3000 (html_text::end_tag) <P_TAG, PRE_TAG>: Updated.
3001 (html_text::issue_tag): Add argument to handle space style.
3002 (html_text::start_tag) <P_TAG, PRE_TAG>: Updated.
3003 (html_text::flush_text): Don't set `start_space'.
3004 (html_text::push_para): Don't set `p->really_issued'.
3005 (html_text::do_emittext): Updated.
3006 (html_text::do_para): Add paremeter to handle space.
3008 (html_text::retrieve_para_space): New function.
3010 * src/devices/grohtml/html-text.h (STYLE_VERTICAL_SPACE): New macro.
3011 (tag_definition): Remove `really_issued'.
3012 (html_text): Updated.
3014 * src/devices/grohtml/post-html.cpp (html_printer): Add variables
3015 `current_column' and `row_space'.
3017 (html_printer::emit_raw, html_printer::write_header,
3018 html_printer::do_indent, html_printer::do_check_center,
3019 html_printer::do_tab_ts): Handle vertical space.
3020 (html_printer:do_tab_te, html_printer::do_end_para): Call
3021 `remove_para_space'.
3022 (html_printer::do_col): Rewritten.
3023 (html_printer::flush_globs): Remove debugging code.
3024 (html_printer::is_line_start): New function.
3025 (html_printer::start_font): Use `is_line_start'.
3026 (html_printer::writeHeadMetaStyle): New function.
3027 (html_printer::do_file_components, html_printer::~html_printer):
3028 Call `writeHeadMetaStyle'.
3030 * tmac/www.tmac (www-handle-percent): New macro.
3031 (MPIMG): Handle percent values for width and height parameters.
3034 * tmac/groff_www.man: Updated.
3036 2005-02-14 Werner LEMBERG <wl@gnu.org>
3038 * src/utils/afmtodit/afmtodit.pl: Remove an incorrect `my' from
3039 $psname and $italic_angle.
3040 Immediately restart file input loops if `split' returns an empty
3043 2005-02-13 Michail Vidiassov <master@iaas.msu.ru>
3044 Werner LEMBERG <wl@gnu.org>
3046 Update afmtodit to better support Unicode (Michail).
3047 Update afmtodit to use Perl 5 syntax (Werner).
3049 * src/utils/afmtodit/afmtodit.pl: Don't use `getopts.pl' but
3051 Decorate variables with `my' where necessary.
3052 Use `defined' where necessary to avoid warnings.
3053 Don't use `do' for subroutine calls.
3054 Other minor syntax updates.
3055 Check for both `uXXXX[X[X]]' and `uniXXXX'.
3056 Handle glyph variants properly.
3057 (%unicode_decomposed, %AGL_to_unicode): Don't use `u' prefix in
3060 * src/utils/afmtodit/afmtodit.man: Updated.
3062 2005-02-13 Werner LEMBERG <wl@gnu.org>
3064 Make groff.texinfo work with texinfo 4.8.
3066 * doc/groff.texinfo (@Var): Use @r and @slanted.
3067 (@defdummy, @Def*): Use @c to avoid empty lines.
3068 (\angles): Replaced with...
3069 (\Langlemacro, \Ranglemacro): New TeX macros.
3070 (@Langlemacro, @Ranglemacro): New variables defined with @set.
3071 (@angles): Use @Langlemacro and @Ranglemacro.
3072 (\LE): Replaced with...
3073 (\LEmacro): New TeX macro.
3074 (@LEmacro): New variable defined with @set.
3075 (@LE): Use @LEmacro.
3076 (@Lparenmacro, @Rparenmacro, @Lbrackmacro, @Rbrackmacro): New
3077 variables defined with @set.
3078 (@lparen, @rparen, @lbrack, @rbrack): Replaced with...
3079 (@Lparen, @Rparen, @Lbrack, @Rbrack): New macros.
3082 Other minor updates.
3084 * doc/texinfo.tex: Update to texinfo version 4.8.
3086 * README.CVS: Updated.
3088 2005-02-09 Alejandro López-Valencia <palopez@etb.net.co> (tiny change)
3090 * doc/groff.texinfo (ms Document Control Registers): Document `HY'
3091 and `FAM' registers.
3093 2005-02-05 Werner LEMBERG <wl@gnu.org>
3095 * tmac/groff_mdoc.man, tmac/doc-common, tmac/doc-ditroff,
3096 tmac/doc-nroff, tmac/doc-old.tmac, tmac/doc-syms, tmac/doc.tmac:
3099 2005-02-01 Werner LEMBERG <wl@gnu.org>
3101 * src/roff/groff/groff.man: Add information about paper size.
3103 2005-01-25 Werner LEMBERG <wl@gnu.org>
3105 * src/roff/nroff/nroff.sh: Handle `*.ISO8859-1' in locale. From
3108 2005-01-22 Ruslan Ermilov <ru@FreeBSD.org>
3110 * tmac/doc.tmac (Sm): Improved. It didn't work properly in many
3112 (Re): Emit a warning if called without `.Rs'.
3113 (doc-finish-reference): Use parameter for decreasing
3114 `doc-reference-count'.
3115 (doc-print-reference): Pass specific count parameters to
3116 `doc-finish-reference'.
3118 2005-01-21 Werner LEMBERG <wl@gnu.org>
3120 * src/libs/libdriver/input.cpp (delete_current_env, do_file):
3121 Reset pointers to zero after deallocation. This fixes a crash
3122 if a driver is called with multiple input files. Reported by
3123 Ken Chilton <ken@chiltonfamily.org>.
3125 * src/devices/grops/grops.man: Add more info on DSC.
3127 2005-01-17 Ruslan Ermilov <ru@FreeBSD.org>
3129 * tmac/doc-common (Dd), tmac/doc-ditroff (gX, doc-setup-header):
3132 2005-01-17 Werner LEMBERG <wl@gnu.org>
3134 * src/roff/troff/div.cpp (top_level_diversion::space): Protect
3135 against division by zero.
3137 2005-01-13 Ruslan Ermilov <ru@FreeBSD.org>
3139 * tmac/doc.tmac (Ef): Restore doc-curr-font and doc-curr-size.
3141 2004-12-19 Werner LEMBERG <wl@gnu.org>
3143 * install-sh: New version; taken from texinfo CVS.
3145 2004-12-17 Werner LEMBERG <wl@gnu.org>
3147 * tmac/devtag.tmac: Protect against loading twice.
3148 Protect agains compatibility mode.
3149 * tmac/www.tmac: Protect against loading twice.
3150 Load `devtag.tmac' before switching off compatibility mode.
3151 * tmac/an-old.tmac, tmac/s.tmac: Load `devtag.tmac'.
3153 2004-12-16 Mike Bianchi <mbianchi@Foveal.com>
3155 * configure.ac: Produce `contrib/gdiffmk/tests/runtests'.
3156 * configure: Updated.
3158 2004-12-15 Thomas Klausner <wiz@netbsd.org>
3160 * tmac/doc-syms, tmac/groff_mdoc.man: Add `libpam' library.
3162 2004-12-15 Werner LEMBERG <wl@gnu.org>
3164 Make `test-groff' work again -- previously, wrong paths have been
3165 used. Additionally, it can now be called from anywhere.
3167 * test-groff.in: Don't test for groff binary. This is no longer
3168 necessary since the proper paths are determined by `configure'.
3169 (EXEEXT): Removed. No longer used.
3170 (srcdir, builddir): Use values provided by the configure script.
3171 (XENVIRONMENT): Updated.
3175 2004-12-14 Gaius Mulley <gaius@glam.ac.uk>
3177 Make .tag and .taga work for all devices (but only grohtml actually
3180 * src/devices/grohtml/post-html.cpp: s/html-tag/devtag/.
3181 (text_glob::is_br, page::add_tag, html_printer::troff_tag,
3182 html_printer::handle_assertion): Don't use hard-coded string
3184 (html_printer::lookahead_for_table): Reset `tbl' properly if
3186 (html_printer::devtag): New function, handling `devtag'.
3187 (html_printer::special): Don't handle `html-tag'.
3189 * src/include/printer.h, src/libs/libdriver/printer.cpp
3190 (printer::devtag): New virtual function.
3192 * src/libs/libdriver/input.cpp (parse_x_command) <'X'>: Handle
3195 * src/roff/troff/env.cpp, src/roff/troff/mtsm.cpp,
3196 src/roff/troff/node.cpp: s/html-tag/devtag/.
3198 * src/roff/troff/input.cpp (tag, taga): Always call
3201 * tmac/an-old.tmac, tmac/s.tmac, tmac/troffrc-end: Use DEVTAG*
3202 macros instead of HTML-TAG*.
3204 * tmac/devtag.tmac: New file, defining the DEVTAG-* macros.
3206 * tmac/www.tmac: Load devtag.tmac.
3207 Replace HTML-TAG* macros with DEVTAG* macros.
3208 (HTML, HTML-NS): Changed definitions.
3210 (HTML-TAG, HTML-TAG-NS, HTML-TAG-NEXT): Removed.
3212 * tmac/Makefile.sub (NORMALFILES): Add devtag.tmac.
3214 2004-12-10 Werner LEMBERG <wl@gnu.org>
3216 Import Mike's `gdiffmk' package.
3218 * contrib/gdiffmk/*: New files.
3219 * Makefile.in (OTHERDIRS): Add contrib/gdiffmk.
3222 2004-12-08 Werner LEMBERG <wl@gnu.org>
3224 Import Keith's `pdfmark' package. Integration is very preliminary.
3226 * contrib/pdfmark/*: New files.
3227 * Makefile.in (OTHERDIRS): Add contrib/pdfmark.
3230 2004-12-07 Gaius Mulley <gaius@glam.ac.uk>
3232 Fix a bug with title handling in HTML.
3234 * src/devices/grohtml/post-html.cpp (text_glob::is_nf,
3235 text_glob::is_fi, text_glob::is_ce): Use strlen to compute string
3237 (html_printer::handle_tag_within_title): New function.
3238 (html_printer::do_title): Use it.
3240 * tmac/s.tmac (TL): Don't set `need_eo_tl'.
3241 (cov*tl-au-print): Emit `.eo.tl' tag.
3243 2004-12-05 Alejandro López-Valencia <dradul@etb.net.co>
3245 * man/groff_char.man: Minor imrovements.
3247 2004-12-04 Werner LEMBERG <wl@gnu.org>
3249 * src/preproc/eqn/eqn.man: Revised.
3251 2004-11-25 Werner LEMBERG <wl@gnu.org>
3253 * src/utils/xtotroff/xtotroff.c: Reformat to be similar to other
3257 Remove X_NOT_STDC_ENV conditional.
3258 (Version_string, program_name): New global variables.
3259 (groff_flag): Removed.
3261 (usage): Take a stream as argument.
3264 (main): Add `long_options' array for `--help' and `--version'.
3265 Make `-g' a dummy option.
3266 Handle `-v' and unknown options.
3267 Remove unused `position' variable.
3269 * src/utils/xtotroff/Makefile.sub (MAN1): Define.
3270 (XLIBS): Add LIBGROFF.
3272 * src/utils/xtotroff/xtotroff.man, src/utils/xtotroff/Makefile.in:
3275 * src/devices/xditview/Dvi.c (default_font_map): Split into three
3276 parts to avoid compiler warning.
3277 (resources): Don't initialize with `default_font_map'.
3278 (ClassInitialize): Initialize first element of `resources'.
3280 * src/devices/xditview/Makefile.sub (devdir, xtotroff, DPIS, fonts):
3283 * src/utils/lkbib/lkbib.man, src/utils/lookbib/lookbib.man,
3284 src/utils/pfbtops/pfbtops.man: Revised, updated.
3286 * configure.ac: Generate src/utils/xtotroff/Makefile.
3287 * configure: Regenerated.
3289 2004-11-24 Werner LEMBERG <wl@gnu.org>
3291 First fixes to get produce HTML.
3293 * src/devices/grohtml/post-html.cpp (generate_img_src): Add `alt'
3296 * tmac/www.tmac (IMG, PIMG, MPIMG): Add `alt' attribute.
3297 (HR, LI): Use `HTML</p>', not `HTML'.
3299 * doc/webpage.ms: Minor updates.
3301 2004-11-23 Larry Kollar <kollar@alltel.net>
3303 Add option -S grohtml to determine the file split level.
3305 * src/devices/grohtml/post-html.cpp (split_level): New global
3307 (html_header::determine_header_level): Use split_level.
3308 (main): Handle `-S' command line option.
3311 * src/preproc/html/pre-html.cpp (scanArguments): Updated.
3313 * src/devices/grohtml/grohtml.man: Document it.
3316 * NEWS: Document it.
3318 2004-11-23 Y T <doarhop@hotmail.com>
3320 * tmac/s.tmac (ref*add-V, ref*add-N): New macros for handling
3321 the volume and number refer entries.
3323 2004-11-22 Werner LEMBERG <wl@gnu.org>
3325 * src/devices/grohtml/html-table.cpp
3326 (html_table::emit_table_header): Don't emit `cols' attribute which
3327 doesn't exist in HTML 4.0 and is thus invalid.
3329 * NEWS: More minor fixes and updates.
3331 2004-11-18 Werner LEMBERG <wl@gnu.org>
3333 * tmac/www.tmac (HTML-NS, HTML-TAG-NS, HTML-TAG-NEXT): Simplified.
3334 (HTML</p>): Minor clean-up.
3336 * tmac/groff_www.man: Updated.
3338 * src/devices/grohtml/grohtml.man: Revised and updated.
3342 2004-11-18 Gaius Mulley <gaius@glam.ac.uk>
3344 * src/devices/grohtml/post-html.cpp (html_printer::do_heading):
3345 Fix space insertion.
3346 (html_printer::do_links): Fix rules generation around automatic
3349 * tmac/www.tmac (LK): Use HTML-TAG-NS.
3351 No longer emit empty line for non-HTML devices.
3353 2004-11-17 Werner LEMBERG <wl@gnu.org>
3355 * doc/Makefile.in (prepare_examples, webpage.html): Handle
3358 * doc/Makefile.sub (EXAMPLEFILES, CLEANNOTSRCDIRADD,
3359 prepare_examples, webpage.html): Handle `groff.css'.
3361 2004-11-15 Werner LEMBERG <wl@gnu.org>
3363 * NEWS, README, doc/webpage.ms: Updated.
3365 * tmac/www.tmac (HTML, HTML-TAG): Minor clean-ups.
3367 2004-10-30 Gaius Mulley <gaius@glam.ac.uk>
3369 * src/include/printer.h (printer): Remove virtual function
3371 Update all source files.
3373 * src/devices/grohtml/post-html.cpp (html_printer): New member
3374 function `round_width'.
3376 2004-10-20 Tadziu Hoffmann <hoffmann@usm.uni-muenchen.de>
3378 * src/preproc/tbl/table.cpp (table::do_row): Fix handling of the `d'
3379 column key letter suffix.
3381 2004-10-14 Werner LEMBERG <wl@gnu.org>
3383 * Makefile.in (check): Depend on `site.exp' and `docheck'.
3384 (docheck): Run dejagnu's `runtest' if it exists.
3385 (site.exp): Create dejagnu configuration file.
3387 * Makefile.sub (DISTCLEANFILES): Add files related to dejagnu.
3389 2004-10-13 Werner LEMBERG <wl@gnu.org>
3391 * src/devices/grohtml/html-text.cpp (html_text_get_alignment),
3392 src/devices/grohtml/post-html.cpp (make_val,
3393 html_printer::handle_state_assertion): Fix compiler warnings.
3395 * src/roff/troff/div.cpp: Include `stringclass.h' and `mtsm.h'.
3396 (diversion::diversion): Fix order of initializers.
3398 * src/roff/troff/div.h: Don't include `mtsm.h'.
3400 * src/roff/troff/env.cpp: Include `stringclass.h' and `mtsm.h'.
3401 (environment::environment): Fix order of initializers.
3402 (environment::make_tag, environment::construct_format_state): Fix
3405 * src/roff/troff/input.cpp: Include `stringclass.h' and `mtsm.h'.
3406 (input_iterator::input_iterator, macro::macro): Fix order of
3409 * src/roff/troff/mtsm.cpp: Include only necessary header files.
3410 (state_set::add, state_set::val): Fix compiler warnings.
3412 * src/roff/troff/mtsm.h: Don't include `stringclass.h'.
3413 (bool_value_state, int_value_state, units_value_state,
3414 string_value_state): Remove comma after last element which causes
3415 an error with g++ 3.3.3.
3417 * src/roff/troff/node.cpp: Include `stringclass.h'.
3418 (hline_node::hline_node, vline_node::vline_node,
3419 space_char_hmotion_node, left_italic_corrected_node): Fix compiler
3421 (zero_width_node::zero_width_node): Fix order of initializers.
3423 * src/roff/troff/node.h: Don't include `mtsm.h'.
3424 (hmotion_node): Fix compiler warnings.
3426 * src/roff/troff/number.cpp: Include `stringclass.h' and `mtsm.h'.
3428 2004-10-12 Gaius Mulley <gaius@glam.ac.uk>
3430 * doc/groff.css: New file.
3432 * doc/webpage.ms: Use `groff.css'.
3435 * tmac/an-old.tmac (need_eo_h): New number register.
3436 (TH): Emit `.eo.tl' tag after title.
3437 (SH): Set `need_eo_h'.
3438 (an-trap): Handle `need_eo_h'.
3439 (an-do-tag): s/HTML-TAG-NS/HTML-TAG-NEXT/.
3441 * tmac/s.tmac (need_eo_h, need_eo_tl): New number registers.
3442 (TL): Always start diversion.
3444 (@AI): Always call `par@reset'.
3445 (@AB): Update code for -Thtml.
3446 (cov*tl-au-print): Handle -Thtml.
3447 (par@reset): Handle `need_eo_tl', `need_eo_h'.
3449 (@IT-html): Removed.
3450 (@SH): Set `need_eo_h' for -Thtml.
3451 (par@TL): s/HTML-TAG/HTMl-TAG-NS/.
3453 (@NH): s/HTML-TAG/HTMl-TAG-NS/.
3454 Set `need_eo_h' for -Thtml.
3455 (@EQ, @EN): Don't handle -Thtml specially.
3456 (par@load-init): Don't handle -Thtml specially.
3458 * tmac/www.tmac (www:paraspace): New macro.
3459 (HTML-NS, HTML-TAG-NS): Use new `tag' request.
3460 (HTML</p>, HTML-TAG-NEXT): New macros.
3461 (HnE): Emit tag `.eo.h' instead of break.
3462 (HR): s/HTML-NS/HTML/.
3463 (www-end-nowhere): End diversion only if `www-html' not set.
3465 (ULS, ULE): s|HTML|HTML</p>|.
3466 (LI): Call `www:paraspace'.
3469 2004-10-11 Gaius Mulley <gaius@glam.ac.uk>
3471 * src/roff/troff/request.h (macro): Make `p' public.
3472 New variable `is_a_diversion'.
3473 New member function `is_diversion'.
3476 * src/devices/grohtml/html.h (simple_output): New member function
3479 * src/devices/grohtml/html-table.cpp (tabs::compatible): Fix
3480 computation of `total'.
3481 (tabs::check_init): New function.
3482 (html_table::emit_table_header): Emit style data.
3483 (html_table::insert_column): Improved.
3485 * src/devices/grohtml/html-table.h: Updated.
3487 * src/devices/grohtml/html-text.cpp (html_text::html_text):
3488 Initialize `start_space' with TRUE.
3489 (html_text::end_tag, html_start_tag): Fix `P_TAG' and `PRE_TAG'
3491 (html_text::flush_text): Set `start_space' flag.
3492 (html_text::uses_indent, html_text::remove_para_space,
3493 html_text::get_alignment): New functions.
3494 (html_text::push_para): Updated.
3495 (html_text::do_para): Check for empty argument.
3496 Don't set `space_emitted'.
3497 (html_text::do_space, html_text::emit_space): Updated.
3499 * src/devices/grohtml/html-text.h (tag_definition): New variable
3501 (html_text): New member function `uses_indent', `remove_para_space',
3504 * src/devices/grohtml/output.cpp (simple_output::force_nl): New
3506 (simple_output:nl): Always emit `\n'.
3508 * src/devices/grohtml/post-html.cpp: Include `string.h'.
3509 (BASE_POINT_SIZE): Removed.
3510 (base_point_size, head_info): New global variables.
3511 (text_glob): New member functions `is_ll', `is_tl', `is_eo_tl',
3513 (text_glob::is_nf, text_glob::is_fi): Handle `.fi 0' and `.fi 1'
3515 (page::add_and_encode): Pass additional parameter for tag flag.
3516 (assert_pos): New structure.
3517 (assert_state): New class.
3518 (html_printer): Remove `indentation', `prev_indent'.
3519 Add variables `troff_indent', `device_indent', `temp_indent'.
3520 Add variables `seen_indent', `next_indent', `seen_pageoffset',
3521 `next_pageoffset', `seen_linelenght', `next_linelength',
3522 `seen_center', `next_center', `seen_space', `seen_break', `as'.
3523 Add member functions `do_check_center', `do_space', `do_head',
3524 `get_troff_indent', `restore_troff_indent', `handle_assertion',
3525 `handle_state_assertion', `do_end_para', `set_char_and_width'.
3526 Change argument to `do_fill' to `char *'.
3528 (html_printer::emit_raw): Call `shutdown_table'.
3530 (html_printer::do_center): Simplified.
3531 (html_printer::do_title): Improved.
3532 (html_printer::write_header): Emit one more newline.
3534 (html_printer::do_heading, html_printer::do_indent,
3535 html_printer::do_eol, html_printer::do_tab_ts,
3536 html_printer::do_tab, html_printer::do_tab0,
3537 html_printer::calc_po_in, html_printer::next_horiz_pos,
3538 html_printer::remove_courier_tabs,
3539 html_printer::insert_tab0_foreach_tab, html_printer::begin_page):
3541 (html_printer::do_linelength, html_printer::do_pageoffset,
3542 html_printer::do_indentation, html_printer::do_tempindent,
3543 html_printer::do_tab_te): Simplified.
3544 (html_printer::do_pointsize): Check whether point size is really
3545 associated a `.tl' tag.
3546 (html_printer::do_break): Rewritten.
3547 (html_printer::troff_tag): Improved.
3548 (html_printer::flush_globs): Updated.
3549 (html_printer::lookahead_for_tables): Handle `is_br'.
3551 (html_printer::set_char): Check `sbuf_style.f'.
3552 (html_printer::write_navigation): Use string comparison.
3553 (html_printer::~html_printer): Emit `head_info'.
3554 (html_printer::special): Rewritten.
3555 (get_str, make_val): New functions.
3556 (main): New option `s' to set the base point size.
3558 * src/preproc/html/pre-html.cpp (scanArguments): Handle option `s'.
3560 2004-10-10 Gaius Mulley <gaius@glam.ac.uk>
3562 * src/roff/troff/node.cpp: New extern `debug_state'.
3563 Include `stringclass.h' and `mtsm.h'.
3564 Implement new classes and class members from `node.h'.
3565 (real_output_file): Make `fp' public.
3566 (troff_output_file): New variables `cur_div_level' and `tag_list'.
3567 Update constructors.
3568 (troff_output_file::really_print_line): Check whether we should push
3569 the current troff state and use the state at the start of the
3570 invocation of this diversion.
3571 (troff_output_file::add_to_tag_list): New member function.
3572 (node::add_char): Handle `glyph_comp_np'.
3574 * src/roff/troff/node.h: Include `mtsm.h'.
3575 (node): New variables `state', `push_state', `div_nest_level',
3576 `is_special'. Update constructors, all descendants.
3577 Pass additional argument to `add_char' member function.
3578 New virtual member functions `is_tag', `debug_node',
3579 `debug_node_list'. Update all descendants.
3580 (tag_node): New class for handling tags.
3581 (output_file): Add variable `state'.
3583 2004-10-09 Gaius Mulley <gaius@glam.ac.uk>
3585 * src/roff/troff/mtsm.cpp, src/roff/troff/mtsm.h: New files,
3586 providing a minimal troff state machine to emit meta tags for the
3587 post-grohtml device driver.
3589 * src/roff/troff/Makefile.sub (OBJS, CCSRCS, HDRS): Handle new
3592 2004-10-09 Werner LEMBERG <wl@gnu.org>
3594 * tmac/trace.tmac: Fix handling of `am' and `am1' calls.
3596 2004-10-06 Gaius Mulley <gaius@glam.ac.uk>
3598 * src/roff/troff/column.cpp (vjustify_node::copy): Updated.
3600 * src/roff/troff/div.h: Include `mtsm.h'.
3601 (diversion): New variables `any_chars_added', `needs_push',
3602 `saved_seen_break', `saved_seen_space', `saved_seen_eol',
3603 `saved_suppress_next_eol', `modified_tag'.
3604 New virtual member function `is_diversion'. Update all descendants.
3606 * src/roff/troff/div.cpp (diversion::diversion,
3607 macro_diversion::macro_diversion): Updated.
3608 (do_divert): Handle `seen_break', `seen_space', `seen_eol',
3609 `suppress_next_eol'.
3610 (top_level_diversion::space): Handle `curenv->seen_space'.
3611 (page_offset): Update tag handling.
3612 (space_request, blank_line, flush_output): Don't call `add_html_tag'.
3614 * src/roff/troff/env.h (environment): Make `tabs' public.
3615 Remove `ignore_next_eol', `emitted_node'.
3616 Update `output_line', `output'.
3617 New variables `seen_space', `seen_eol', `suppress_next_eol',
3619 New member functions `construct_state', `make_tag',
3620 `construct_format_state, `construct_new_line_state,
3622 Remove `add_html_tag', `make_html_tag'.
3624 * src/roff/troff/env.cpp: New externs `suppress_push',
3625 `get_diversion_state', `global_diverted_space'.
3626 (pending_output_line): New variable `was_centered'.
3627 Update constructor and all callers.
3628 (pending_output_line::output): Call `curenv->construct_format_state'.
3629 (environment::environment, environment::copy): Updated.
3630 (environment::output): Handle `was_centered'.
3631 (environment::add_char): Handle construct and diversion state.
3632 (environment::add_node): Handle construct state.
3633 (environment::newline): Handle `was_centered'.
3634 (environment::output_line): Updated.
3635 (environment::possibly_break_line): Updated.
3636 Update tag handling.
3637 (environment::add_html_tag): Replaced with...
3638 (environment::make_tag): New function.
3639 (environment::add_html_tag_tabs, environment::make_html_tag): Removed.
3640 (environment::dump_troff_state): New debugging function.
3641 (environment::construct_state, environment::construct_format_state,
3642 environment::construct_new_line_state): New functions.
3643 (environment::do_break): Updated.
3644 Handle `global_diverted_space'.
3645 (environment::handle_tag): Update tag handling.
3646 (point_size, fill, do_break_request): Don't call `add_html_tag'.
3647 (no_fill): Don't call `add_html_tag'.
3648 Set `suppress_next_eol'.
3649 (center, right_justify, line_length, indent, temporary_indent,
3651 Update tag handling.
3653 * src/roff/troff/input.cpp: Don't include `stringclass.h'.
3654 (input_iterator): New variables `is_diversion', `diversion_state'.
3655 Update constructors.
3656 (input_stack): New member functions `get_div_level',
3657 `get_diversion_state', `check_end_diversion'.
3658 New variables `div_level', `diversion_state'. Initialize them.
3659 (suppress_push, global_diverted_space): New global variables.
3660 (input_stack::finish_get, input_stack::finish_peek,
3661 input_stack::remove_boundary, input_stack::end_file,
3662 input_stack::clear, input_stack::pop_macro): Call
3663 `check_end_diversion'.
3664 (input_stack::push): Handle `div_level' and `diversion_state'.
3665 (get_diversion_state): New function.
3666 (diverted_space_node::reread): Handle `global_diverted_space'.
3667 (macro::macro): Update constructors.
3668 (macro::is_diversion): New function.
3669 (macro::operator=): Set `is_a_diversion'.
3670 (string_iterator): New member function `is_diversion'.
3671 (string_iterator::string_iterator): Update constructors.
3672 (string_iterator::fill): Set `div_nest_level'.
3673 (macro_iterator): New member function `is_diversion'.
3674 (do_if_request): Handle `suppress_push'.
3675 (tag, taga): New functions.
3676 (init_input_requests): Add `tag' and `taga' requests.
3678 2004-10-05 Gaius Mulley <gaius@glam.ac.uk>
3680 * src/include/font.h (font): New member function
3681 `get_image_generator'.
3682 New variables `unscaled_charwidths' and `image_generator'.
3684 * src/libs/libgroff/font.cpp (font::get_width): Always return the
3685 character's unscaled width if `font::unscaled_charwidths' is set.
3686 (font::get_image_generator): New function.
3687 (font::load_desc): Check the `unscaled_charwidths' and
3688 `image_generator' keywords.
3690 * src/libs/libgroff/fontfile.cpp: Initialize
3691 `font::unscaled_charwidths' and `font::image_generator'.
3693 * font/devhtml/DESC.proto: s/html/unscaled_charwidths/.
3695 * font/devhtml/Makefile.sub (DESC): Set `image_generator' keyword.
3697 * man/groff_font.man: Document `unscaled_charwidths' and
3700 * src/preproc/html/pre-html.cpp: Include `device.h'.
3701 (image_gen): New global variable.
3702 (imageList::createPage): Use `image_gen'.
3703 (main): Use `image_generator' keyword.
3705 2004-10-04 Gaius Mulley <gaius@glam.ac.uk>
3707 * tmac/html.tmac: Handle \[sqrtex].
3709 2004-10-04 Gaius Mulley <gaius@glam.ac.uk>
3711 * src/include/printer.h (printer): New virtual method `round_width'.
3713 * src/devices/grodvi/dvi.cpp, src/devices/grolbp/lbp.cpp,
3714 src/devices/grolj4/lj4.cpp, src/devices/grops/ps.cpp,
3715 src/devices/grotty/tty.cpp (printer::round_width): New function
3718 * src/devices/grohtml/post-html.cpp (printer::round_width): New
3720 (html_printer::set_numbered_char): Use it.
3722 2004-10-03 Gaius Mulley <gaius@glam.ac.uk>
3724 * aclocal.m4 (GROFF_GHOSTSCRIPT_PATH): New macro.
3726 * configure.ac: Call GROFF_GHOSTSCRIPT_PATH.
3728 * configure: Regenerated.
3730 * Makefile.in (GHOSTSCRIPT): New variable.
3731 (MDEFINES): Add GHOSTSCRIPT.
3733 2004-10-03 Werner LEMBERG <wl@gnu.org>
3735 * INSTALL.gen: Updated (taken from texinfo CVS).
3737 2004-09-28 Werner LEMBERG <wl@gnu.org>
3741 2004-09-28 Heinz-Jürgen Oertel <hj.oertel@surfeu.de>
3743 * tmac/groff_www.man: Revised and updated.
3745 2004-09-26 Werner LEMBERG <wl@gnu.org>
3747 Fix \$@ and \$* to handle any number of arguments.
3749 * src/roff/troff/input.h (BEGIN_QUOTE, END_QUOTE): New special
3752 * src/roff/troff/input.cpp (input_iterator::internal_level):
3754 (input_stack): New member functions `increase_level' and
3756 (input_stack::get_level): Don't use `internal_level'.
3757 (get_copy, token::next): Handle BEGIN_QUOTE and END_QUOTE.
3758 (end_quote_iterator): Completely removed.
3759 (interpolate_arg): Build string for \$@ and \$* which is then
3760 pushed onto the input stack.
3762 2004-09-23 Keith Marshall <keith.d.marshall@ntlworld.com>
3764 * tmac/groff_ms.man, doc/groff.texinfo (ms Document Control
3765 Registers): Document changes from 2004-09-19.
3767 2004-09-23 Werner LEMBERG <wl@gnu.org>
3769 * tmac/an-old.tmac (ne): Using default scaling operator.
3771 2004-09-19 Keith Marshall <keith.d.marshall@ntlworld.com>
3773 This change implements the following features:
3776 New numeric register: Defines number of lines following LP, PP,
3777 QP, IP or XP, which must be kept together, before any automatic
3778 page break. If insufficient space remains on the current page, a
3779 page break is forced before the new paragraph begins.
3782 New numeric register: Sets number of lines of following paragraph
3783 which must be kept with a heading, defined by NH or SH, before any
3784 automatic page break. If insufficient space remains on the
3785 current page, a page break is forced before the heading.
3788 (Thanks to Joerg van den Hoff, for this idea).
3790 New numeric register: Sets the first level of heading (set with
3791 NH), which will keep the same point size as body text; e.g. if
3792 GROWPS is set to 3, .NH 3, .NH 4, ... will produce headings at the
3793 point size specified by \n[PS], but .NH 2 and .NH 1 will have
3794 progressively larger point sizes, determined by \n[PSINCR] (see
3798 New numeric register: Sets the point size increment for each level
3799 of heading, (set with NH), below the threshold level set by
3800 GROWPS; e.g. if \n[PS] = 10, \n[GROWPS] = 3 and \n[PSINCR] = 2.0p,
3801 then .NH 1 will produce 14pt headings, .NH 2 will produce 12pt,
3802 and all other levels will remain at 10pt, (because \n[PS] = 10).
3805 Existing macro now accepts a numeric argument, to make heading
3806 size match that of NH with same argument value, when the
3807 GROWPS/PSINCR feature is enabled.
3810 New string, set by NH macro, replaces the existing (undocumented)
3811 use of SN, to represent the assigned section number.
3814 New string, set by NH macro, represents the assigned section
3815 number, but omits the terminal period (periods at intermediate
3816 levels are retained).
3819 String set by NH macro, originally undocumented, now implemented
3820 as an alias for SN-DOT (which reproduces original behaviour).
3822 * tmac/s.tmac (PORPHANS): New register.
3823 (par*start): Use it.
3824 (HORPHANS, GROWPS, PSINCR): New registers.
3825 (SH-NO-TAG, @SH): Use them.
3828 2004-09-19 Keith Marshall <keith.d.marshall@ntlworld.com>
3830 * NEWS, doc/groff.texinfo (ms Display and Keeps), tmac/groff_ms.man:
3831 Document the deletion of `Ds' and `De' macros.
3833 2004-09-10 Werner LEMBERG <wl@gnu.org>
3835 In tbl, handle \a as an interpreted leader character if in
3838 * src/preproc/tbl/table.h (PREFIX, PREFIX_CHAR, LEADER,
3839 LEADER_CHAR): New macros.
3840 (compatible_flag): New declaration.
3842 * src/preproc/tbl/main.cpp (table_input): Add LEADER_1, LEADER_2,
3843 LEADER_3, and LEADER_4 to `state'.
3844 (table_input::get): Handle `\a'.
3846 * src/preproc/tbl/table.cpp (PREFIX): Removed.
3847 (LEADER_REG): New macro.
3848 (table::init_output): Define LEADER_REG string register if in
3851 * src/preproc/tbl/tbl.man: Document it.
3853 2004-08-18 Werner LEMBERG <wl@gnu.org>
3855 * tmac/doc.tmac (An): Fix error message.
3857 2004-08-06 Werner LEMBERG <wl@gnu.org>
3859 * src/preproc/tbl/main.cpp (main): Call `fatal' not `error' if a
3860 file can't be opened. UNIX tbl has the same behaviour.
3862 2004-08-05 Y T <doarhop@hotmail.com>
3864 * src/preproc/grn/hdb.cpp (compatibility_flag): Add declaration.
3865 (DBRead): If in compatibility mode, take into account the text
3866 when computing figure boundaries.
3868 2004-08-05 Werner LEMBERG <wl@gnu.org>
3870 * src/preproc/soelim/soelim.man: Improved. Based on suggestions
3871 from Tadziu Hoffmann.
3873 2004-08-03 Werner LEMBERG <wl@gnu.org>
3875 * doc/meref.me: Document `_M' register.
3877 2004-08-03 Martin Husemann <martin@duskware.de>
3879 Make hpftodit work correctly on big-endian systems.
3881 * src/utils/hpftodit/hpftodit.cpp (File): New method
3882 `get_uint32(char *)'.
3883 (entry): New member `orig_value'.
3884 (read_tags): Use new method.
3885 (output_font_name, read_and_output_pcltypeface, dump_ascii):
3888 2004-08-01 Werner LEMBERG <wl@gnu.org>
3890 * tmac/s.tmac: Undo change 2003-06-29. The proper macro definitions
3891 are already in X11's `macros.t' file.
3893 2004-08-01 Jeff Conrad <jeff_conrad@msn.com>
3895 * src/utils/hpftodit/hfptodit.cpp (output_font_name, dump_ascii):
3897 (read_and_output_pcltypeface): Handle strings with length <= 4.
3899 2004-07-27 Egil Kvaleberg <egil@kvaleberg.no>
3901 * tmac/s.tmac (pg@top): Don't save `PO' register.
3902 (pg*end-col, pg*end-page): Directly use `PO' register.
3904 2004-07-27 Werner LEMBERG <wl@gnu.org>
3906 * man/groff_tmac.man: Mention `trace' and `pic' macro packages.
3908 * src/preproc/refer/refer.cpp (output_references): Check for
3910 * src/preproc/refer/refer.man: Improve documentation of
3911 `bibliography' command.
3913 2004-07-26 Werner LEMBERG <wl@gnu.org>
3915 Add requests `fcolor' and `gcolor'.
3917 * src/roff/troff/env.cpp (fill_color_change, glyph_color_change):
3919 (init_env_requests): Add `fcolor' and `gcolor'.
3921 * src/roff/troff/input.h: Export do_glyph_color and do_fill_color.
3923 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo
3924 (Colors): Document new requests.
3926 2004-07-24 Werner LEMBERG <wl@gnu.org>
3928 Add support for fractional point sizes in ms macros. A value for
3929 PS, VS, FPS, and FVS greater than or equal to 1000 is always divided
3930 by 1000. For example, `.nr PS 10250' sets the font size to 10.25p.
3932 * tmac/s.tmac (@AU, @AI, par@load-init, par@init, par@reset, NL,
3933 PX): Handle fractional point sizes for PS, VS, FPS, and FVS.
3935 * tmac/groff_ms.man, docs/groff.texinfo (ms Document Control
3936 Registers), NEWS: Document it.
3938 2004-07-19 Werner LEMBERG <wl@gnu.org>
3940 * src/preproc/pic/lex.cpp (for_input): Add member `from'.
3942 (do_for, for_input::get, for_input::peek): Handle negative `by'.
3943 * src/preproc/pic/pic.man, doc/pic.ms, NEWS: Document it.
3945 2004-07-08 Thomas Klausner <wiz@netbsd.org>
3947 * tmac/doc-syms (doc-str-St--p1003.1-2004): New string.
3948 * tmac/groff_mdoc.man: Updated.
3950 2004-07-05 Werner LEMBERG <wl@gnu.org>
3952 * doc/groff.texinfo (Manipulating Hyphenation): Further improve
3953 documentation of `hcode'.
3955 2004-07-04 Sang Dae Yu <sdyu@bh.knu.ac.kr>
3957 Improve appearance of arrows in pic.
3959 * src/preproc/pic/object.cpp (draw_arrow): Make outline of filled
3961 Use two line segments for drawing non-filled arrow head.
3962 (line_object::print, spline_object::print): Shorten line length to
3963 avoid arrow sticking.
3964 (arc_object::print): Take arrow direction into account.
3966 2004-07-03 Heinz-Jürgen Oertel <hj.oertel@surfeu.de>
3968 * tmac/groff_www.man: Update documentation of .MPIMG.
3970 2004-07-03 Werner LEMBERG <wl@gnu.org>
3972 * tmac/an-old.tmac (RI): Always start with font `R'.
3973 (RI, IR): Properly end with font `R'.
3975 2004-07-02 Paul Eggert <eggert@cs.ucla.edu>
3977 * man/ditroff.man, man/groff_font.man, man/groff_out.man,
3978 src/devices/grohtml/grohtml.man, src/preproc/grn/grn.man,
3979 src/preproc/pic/pic.man, tmac/groff_man.man, tmac/groff_ms.man:
3980 Don't pass more than six arguments to .R, .I, .B, etc., for
3981 compatibility with traditional troff macros.
3983 2004-07-02 Werner LEMBERG <wl@gnu.org>
3985 * src/roff/troff/input.h: s/COMPATIBLE_SAVE/PUSH_GROFF_MODE/.
3986 s/COMPATIBLE_RESTORE/POP_GROFFCOMP_MODE/.
3988 (PUSH_COMP_MODE): New internal character constant.
3991 * src/roff/troff/input.cpp (get_copy): Handle PUSH_GROFF_MODE,
3992 PUSH_COMP_MODE, and POP_GROFFCOMP_MODE.
3993 (token::next, macro::append): Handle PUSH_COMP_MODE.
3994 (decode_args): Add PUSH_GROFF_MODE or PUSH_COMP_MODE before and
3995 POP_GROFFCOMP after each of the decoded arguments to make them
3996 independent from the compatibility mode status.
3997 (comp_mode): Add `COMP_ENABLE'.
3998 (do_define_string, do_define_macro): Handle COMP_ENABLE.
3999 (define_string, append_string, define_macro, define_indirect_macro,
4000 append_macro, append_indirect_macro): Handle `compatible_flag'.
4001 (chop_macro, substring_request, asciify): Handle PUSH_COMP_MODE.
4003 * man/groff_diff.man, doc/groff.texinfo: Updated.
4005 2004-07-01 Werner LEMBERG <wl@gnu.org>
4007 * doc/groff.texinfo: Improve documentation of `hcode'.
4008 Use @documentencoding and convert document to latin-1; to do that
4009 make latin characters active and assign proper macros (within a
4010 @tex...@end tex environment).
4011 * doc/Makefile.in (.texinfo.html, groff): Use --enable-encoding.
4012 * doc/Makefile.sub (groff): Ditto.
4014 2004-06-29 Werner LEMBERG <wl@gnu.org>
4016 Implement two new conditional operators `F <name>' and `S <name>'
4017 which check whether <name> is a valid font or style, respectively.
4019 * src/libs/libgroff/font.cpp (text_file): Add `silent' member.
4020 (text_file::text_file): Updated.
4021 (text_file::error): Don't emit message if `silent' is set.
4022 (font::load_font): Add optional third argument (which is directly
4024 (font::load): Add optional second argument to check the header of
4025 a font only, without emitting warning or error messages.
4026 * src/include/font.h (font): Updated.
4028 * src/roff/troff/input.cpp (do_if_request): Implement `S' and `F'
4030 * src/roff/troff/node.cpp (mount_font_no_translate): Add optional
4031 fourth argument to check a font without mounting.
4032 (check_font, check_style): New functions.
4033 * src/roff/troff/node.h: Updated.
4035 * man/groff_diff.man, man/groff.man, NEWS, doc/groff.texinfo:
4038 2004-06-27 Werner LEMBERG <wl@gnu.org>
4040 Implement new string-valued register `.sty' to return the current
4043 * env.cpp (environment::get_style_name_string): New function.
4044 (init_env_requests): Add `.sty' register.
4045 * env.h (environment): Updated.
4046 * node.cpp (font_info): Make `get_style_name' a friend.
4047 (get_style_name): New function.
4050 * man/groff_diff.man, man/groff.man, NEWS, doc/groff.texinfo:
4053 2004-06-15 Werner LEMBERG <wl@gnu.org>
4055 * src/preproc/tbl/main.cpp (process_data) <GOT_RIGHT_BRACE>: Handle
4058 2004-06-10 Colin Percival <colin.percival@wadham.ox.ac.uk>
4060 * doc/meintro.me, doc/meref.me: Don't use \*[td], \n[dy], \*[mo],
4061 and \n[mo] to avoid dependency on current date.
4063 2004-06-08 Werner LEMBERG <wl@gnu.org>
4065 * Makefile.sub (install_data): New target.
4067 2004-06-04 Werner LEMBERG <wl@gnu.org>
4069 * src/libs/libxutil/Makefile.sub (EXTRA_CFLAGS): Define.
4071 2004-06-03 Werner LEMBERG <wl@gnu.org>
4073 * src/devices/xditview/Makefile.sub (EXTRA_LDFLAGS): Fix typo and
4075 (install_data): Add $(srcdir).
4077 * src/utils/xtotroff/Makefile.sub (EXTRA_LDFLAGS): Fix order of
4080 2004-06-02 Werner LEMBERG <wl@gnu.org>
4082 * aclocal.m4 (GROFF_X11): s/have_no_x/groff_no_x/.
4083 Add X11 stuff to CFLAGS, LDFLAGS, and LIBS temporarily.
4084 Add test for Xmu library.
4085 (GROFF_APPRESDIR_OPTION, GROFF_APPRESDIR_CHECK,
4086 GROFF_APPRESDIR_DEFAULT): New macros.
4088 * configure.ac: Call GROFF_APPRESDIR_OPTION, GROFF_APPRESDIR_CHECK,
4089 and GROFF_APPRESDIR_DEFAULT.
4091 * configure: Regenerated.
4093 * Makefile.in (appresdir): New variable.
4094 (MDEFINES): Add appresdir.
4096 * src/devices/xditview/Makefile.sub (EXTRA_LDFLAGS): Add -Xmu and
4098 (install_data, uninstall_sub): New targets to handle GXditview.ad.
4100 * src/utils/indxbib/Makefiles.ub (install_data): Depend on
4101 `$(srcdir)/eign', not `eign'.
4103 * MANIFEST, INSTALL, NEWS, PROBLEMS: Updated.
4105 * man/groff_out.man, man/roff.man, src/devices/grops/grops.man,
4106 src/devices/xditview/gxditview.man, src/roff/groff/groff.man:
4107 Protect (g)xditview with `\%' to avoid hyphenation.
4108 Other minor formatting.
4110 2004-06-01 Werner LEMBERG <wl@gnu.org>
4112 Integrate gxditview into groff's standard directory hierarchy.
4114 * src/xditview/*: Moved to ...
4115 * src/devices/xditview/*: Here.
4116 Moved DviChar.h and XFontName.h to src/include.
4117 Moved DviChar.c and XFontName.c to new directory src/libs/libxutil.
4118 Split off `xmalloc' into new file src/libs/libxutil/xmalloc.c.
4119 Moved xtotroff.c to new directory src/utils/xtotroff.
4120 Provide proper Makefile.sub files (reusing the stuff from
4122 DESC renamed to DESC.in.
4123 Removed GXDitview-ad.h, INSTALL, Imakefile.in.
4124 Converted everything from K&R to ANSI C.
4125 Decorated with const where appropriate.
4126 Cast string constants with `String' and `char *' where appropriate.
4127 Made it compile with C++ (used as a C compiler).
4128 Removed other minor compiler warnings.
4130 * src/devices/xditview/device.c: Include config.h, string.h, and
4132 Don't declare `exit', `strtok', `strchr', and `getenv'.
4135 * src/devices/xditview/font.c: Don't declare `XParseFontName' and
4138 * src/devices/xditview/xditview.c: Include config.h.
4139 Include stdio.h earlier.
4140 Protect declaration of `popen' and `pclose' with
4141 NEED_DECLARATION_POPEN and NEED_DECLARATION_PCLOSE.
4142 Replace `caddr_t' with `XtPointer'.
4143 (MakePromptFunc): New typedef.
4144 (DoPrint): Use RETSIGTYPE.
4145 (promptfunction): Change type to MakePromptFunc.
4146 (MakePrompt): Use MakePromptFunc for third argument.
4149 * src/devices/xditview/ad2c: Add casts to `String'.
4151 * src/include/XFontName.h (XFontNameString): Don't use array
4153 Add prototypes for `XParseFontName', `XFormatFontName',
4154 `XCompareFontName', and `XCopyFontName'.
4156 * src/include/Makefile.sub (HDRS): Add `DviChar.h' and
4159 * src/utils/xtotroff/xtotroff.c: Include getopt.h.
4160 Don't declare `XParseFontName' and `XFormatFontName'.
4162 (main): Remove `optind' and `optarg'.
4164 * Makefile.in (XDEVDIRS, XPROGDIRS, XLIBDIRS): New variables
4165 (to select programs which need X).
4166 Make XDEVIDIRS depend on `FORCE'.
4167 (X_CFLAGS, X_LIBS, X_EXTRA_LIBS, X_PRE_LIBS): New variables (for
4169 (MDEFINES): Updated.
4170 (LIBDIRS): Use XLIBDIRS.
4171 (CPROGDIRS): Use XPROGDIRS.
4172 (DEVDIRS): Remove font directories for gxditview.
4173 (ALLDIRS, DISTDIRS): Add XDEVDIRS.
4174 (EXTRADIRS): Remove src/xditview.
4176 * Makefile.sub (DISCLEANFILES): Updated.
4178 * Makefile.comm (LIBXUTIL): New variable.
4179 (.cpp.o, .cpp.obj): Handle EXTRA_CCFLAGS.
4180 (.c.o, .c.obj, .y.o): Handle EXTRA_CFLAGS.
4182 * Makefile.cpg, Makefile.ccpg ($PROG): Handle EXTRA_LDFLAGS.
4184 * aclocal.m4 (GROFF_X11): New function.
4186 * configure.ac: Call GROFF_X11.
4187 Don't create src/xditview/Imakefile.
4188 Don't emit notice how to build gxditview.
4190 * configure: Regenerated.
4192 * test-groff.in (GROFF_BIN_PATH, XENVIRONMENT): Updated.
4194 2004-05-28 Akihiro Sagawa <sagawa@sohgoh.net>
4196 * Makefile.in (CPPFLAGS): Define.
4197 (MDEFINES): Add CPPFLAGS.
4199 2004-05-27 Werner LEMBERG <wl@gnu.org>
4201 * arch/misc/Makefile.sub (shdeps.sed): Use $(srcdir).
4203 2004-05-26 Niklas Edmundsson <nikke@acc.umu.se>
4205 Fix problems with `friend name injections'.
4207 * src/preproc/eqn/box.h (make_mark_box, make_lineup_box,
4208 make_script_box), src/roff/troff/div.h (end_diversions),
4209 src/roff/troff/env.h (title), input.cpp (process_input_stack): Undo
4212 2004-05-25 Bernd Warken <bwarken@mayn.de>
4214 * src/preproc/pic/pic.man, doc/pic.ms: Add example for `command'.
4216 2004-05-25 Werner LEMBERG <wl@gnu.org>
4218 * src/libs/libgroff/cset.cpp, src/libs/libgroff/lf.cpp,
4219 src/libs/libgroff/color.cpp: Include lib.h.
4221 2004-05-25 Paul Eggert <eggert@cs.ucla.edu>
4223 * PROBLEMS: Update documentation for problems with Sun C++ 5.0
4224 through Forte 6u1, and for how to get GNU make on Solaris.
4226 2004-05-24 Werner LEMBERG <wl@gnu.org>
4228 * PROBLEMS: Document problems with gcc 3.4.0 on Sun. Reported
4231 2004-05-15 Keith Marshall <keith.d.marshall@ntlworld.com>
4233 * arch/misc/Makefile.sub (shdeps.sed): Don't use `$<' in explicit
4236 2004-05-14 Werner LEMBERG <wl@gnu.org>
4238 * REVISION: Set to 2.
4240 * aclocal.m4 (GROFF_STDINT_H): Removed.
4241 (GROFF_INTTYPES_H): Define HAVE_CC_INTTYPES_H.
4243 * configure.ac: Updated.
4244 * configure, src/include/config.hin: Regenerated.
4246 * src/libs/libgroff/tmpname.cpp: Don't include stdint.h but
4247 inttypes.h conditionally.
4249 2004-05-13 Werner LEMBERG <wl@gnu.org>
4251 Version 1.19.1 released
4252 =======================
4254 2004-05-10 Stephen Gildea <http://www.gildea.com/stephen>
4256 * src/preproc/refer/label.y (same_author_last_name,
4257 same_author_name): Handle empty sort keys.
4259 2004-05-10 Werner LEMBERG <wl@gnu.org>
4261 * NEWS, README, TODO, PROJECTS, PROBLEMS, MANIFEST, doc/webpage.ms,
4264 * tmac/doc-syms (doc-str-Lb-libposix, doc-str-Lb-libpthread,
4265 doc-str-Lb-librt): Reset font.
4266 (Lb): Rename `doc-str-Lb' to `doc-str-Lb1'.
4267 Provide `doc-str-Lb' to reset font.
4268 * tmac/groff_mdoc.man: Updated.
4270 2004-05-08 Jan Schaumann <jschauma@netmeister.org>
4272 * src/preproc/html/pre-html.cpp (make_message): Make it work for
4273 snprintf versions which don't conform to ANSI C 99 (this is,
4274 counting the string's trailing null byte in the return value).
4276 2004-05-07 Keith Marshall <keith.d.marshall@ntlworld.com>
4278 * src/roff/troff/node.cpp (suppress_node::tprint): Don't expect
4279 that all implementations of sprintf handle null pointers correctly.
4281 2004-05-04 Werner LEMBERG <wl@gnu.org>
4283 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
4284 Document `.U' register.
4286 * src/roff/troff/env.cpp (environment::mark_last_line)
4287 [WIDOW_CONTROL]: Fix scope of `p' for new C++ compilers.
4289 2004-05-04 Larry Kollar <kollar@alltel.net>
4291 New read-only register `.U'; it returns 1 in safer mode and 0
4294 * src/roff/troff/input.cpp (init_input_requests): Implement `.U'
4297 2004-05-03 Werner LEMBERG <wl@gnu.org>
4299 * install-sh, mkinstalldirs: New versions; taken from texinfo CVS.
4301 2004-04-17 Werner LEMBERG <wl@gnu.org>
4303 * src/include/font.h (font): Use `int' for ch_index.
4304 * src/libs/libgroff/font.cpp (font::alloc_ch_index,
4305 font::compact): Updated.
4307 * src/roff/groff/pipeline.c (run_pipeline) [_WIN32]: Fix compiler
4310 * src/roff/troff/div.cpp (begin_page), src/roff/troff/env.cpp
4311 (hyphen_word): Fix compiler warnings.
4312 * src/roff/troff/input.cpp (get_char_for_escape_name): Return
4315 (get_delim_number, get_line_arg): Change second argument type to
4317 (macro_header::copy, token::next, do_define_string,
4318 do_define_character, substring_request, asciify_macro,
4319 unformat_macro, read_size, non_interpreted_node::interpret,
4320 while_request, main: Fix compiler warnings.
4321 (read_color_draw_node): Initialize `col'.
4323 * src/preproc/tbl/table.cpp (horizontal_span, table_entry): Make
4324 `start_col' and `end_col' of type `int'.
4325 (vertical_rule): Make `col' of type `int'.
4327 * src/preproc/grn/hdb.cpp (DBRead): Protect call to getc with check
4330 * src/preproc/refer/label.y (uppercase_array, lowercase_array):
4332 (format_serial): Use them to remove dependency on ASCII.
4334 * src/devices/grops/ps.cpp (ps_printer::define_encoding): Fix
4336 * src/devices/grops/psrm.cpp (resource_manager::supply_resource):
4339 * src/devices/grotty/tty.cpp (tty_font::load_tty_font): Fix
4341 (glyph): Change type of `hpos' to `int'.
4343 * src/devices/lbp/lbp.cpp (strsep): Removed. Unused.
4344 * src/devices/lbp/lbp.h (splinerel): Fix compiler warnings.
4346 * src/utils/tfmtodit.cpp (gf::load): Fix compiler warnings.
4348 * src/utils/pfbtops/pfbtops.c (get_text): Fix compiler warning.
4350 2004-04-16 Werner LEMBERG <wl@gnu.org>
4352 * src/devices/grolbp/lbp.h, src/preproc/grn/gprint.h,
4353 src/preproc/grn/hgraph.cpp, src/preproc/grn/hpoint.cpp,
4354 src/preproc/html/pushback.cpp, src/preproc/html/pushback.h: Use
4355 `double' instead of `float' everywhere.
4356 * src/preproc/grn/main.cpp: Use `double' instead of `float'
4358 (main): Add return value.
4359 * src/preproc/grn/hdb.cpp: Use `double' instead of `float'
4361 Update all user functions.
4363 * src/include/search.h, src/include/ptable.h, src/include/printer.h,
4364 src/preproc/eqn/box.h, src/preproc/pic/object.h,
4365 src/preproc/refer/refer.h, src/preproc/tbl/table.h,
4366 src/preproc/tbl/table.cpp, src/roff/troff/env.h,
4367 src/roff/troff/div.h, src/roff/troff/token.h, src/roff/troff/node.h,
4368 src/roff/troff/input.cpp, src/roff/troff/request.h,
4369 src/roff/troff/node.cpp: Don't mix `struct' and `class' in forward
4372 * src/utils/indxbib/signal.c: Include stdlib.h.
4374 2004-04-14 Keith Marshall <keith.d.marshall@ntlworld.com>
4376 * tmac/s.tmac (@init, RP): Allow initialization of the PO register
4377 before the first page.
4379 2004-04-14 Thomas Klausner <wiz@netbsd.org>
4381 * tmac/doc-common (doc-volume-as-*): Use lowercase names.
4382 (doc-operating-system-*): Updated.
4383 * tmac/doc-syms (doc-str-St-*): Various small fixes.
4384 (doc-str-Lb-*): Add more library names.
4386 2004-04-10 Art Haas <ahaas@airmail.net>
4388 * src/utils/hpftodit/hpuni.cpp (hp_msl_to_unicode_list): Don't
4391 2004-04-09 Art Haas <ahaas@airmail.net>
4393 * src/utils/tfmtodit.cpp (lig_chars): Don't use anonymous type.
4395 2004-04-09 Keith Marshall <keith.d.marshall@ntlworld.com>
4397 * arch/misc/shdeps.sh: Generate better comment for sed script.
4399 2004-04-08 Art Haas <ahaas@airmail.net>
4401 * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list),
4402 src/libs/libgroff/uniglyph.cpp (unicode_to_glyph_list),
4403 src/libs/libgroff/uniuni.cpp (unicode_decompose_list),
4404 src/preproc/eqn/box.cpp (param_table), src/preproc/grn/hgraph.cpp
4405 (polyfill), src/preproc/grn/main.cpp (polyfill),
4406 src/preproc/refer/command.cpp (command_table),
4407 src/utils/tfmtodit.cpp (lig_table): Don't use anonymous types (which
4408 gcc 3.5 doesn't like).
4410 2004-04-08 Werner LEMBERG <wl@gnu.org>
4412 Removing many compiler warnings. groff should now compile with
4413 a C++ compiler used for C files also. [Simple variable renamings
4414 to avoid shadowing aren't logged in detail.]
4416 * src/devices/grodvi/dvi.cpp: Some local variable renamings.
4417 (draw_dvi_printer::draw) ['c']: Enclose in block.
4419 * src/devices/grohtml/post-html.cpp: Some local variable renamings.
4420 (page::add_line): Fix typos.
4421 * src/devices/grohtml/html-text.cpp: Some local variable renamings.
4423 * src/devices/grolbp/lbp.cpp: Don't define _GNU_SOURCE.
4424 Some local variable renamings.
4425 * src/devices/grolbp/lbp.h: Some local variable renamings.
4427 * src/devices/grolj4/lj4.cpp, src/devices/grotty/tty.cpp: Some local
4430 * src/libs/libbib/index.cpp (index_search_item_iterator::get_tag):
4431 Remove redundant local variable declaration.
4432 * src/libs/libbib/map.c (mapread, unmap): Don't use K&R style.
4433 Don't use `caddr_t' but `void *'.
4434 Enclose functions with `extern "C"' for C++.
4436 * src/libs/libdriver/input.cpp (remember_filename,
4437 remember_source_filename): Use cast for string constant.
4439 * src/libs/libgroff/font.cpp, src/libs/libgroff/fontfile.cpp,
4440 src/libs/libgroff/nametoindex.cpp, src/libs/libgroff/paper.cpp,
4441 src/libs/libgroff/geometry.cpp: Some local variable renamings.
4442 * src/libs/libgroff/iftoa.c, src/libs/libgroff/itoa.c: Don't use K&R
4444 Enclose functions with `extern "C"' for C++.
4445 * src/libs/libgroff/quotearg.c (TRUE,FALSE): Define as macros.
4446 (needs_quoting): Return `int'.
4447 (quote_arg): Add proper casts to malloc and realloc.
4448 * src/libs/libgroff/spawnvp.c: Compile code only for MS-DOS and
4449 various MS Windows environments.
4450 (spawnvp_wrapper): Add proper cast to malloc.
4452 * src/preproc/eqn/box.h: Remove redundant declarations of
4453 `make_script_box', `make_mark_box' and `make_lineup_box'.
4454 * src/preproc/eqn/eqn.y: Remove redundant declaration of `strsave'.
4455 * src/preproc/eqn/script.cpp, src/preproc/eqn/pile.cpp: Some local
4458 * src/preproc/grn/hpoint.cpp: Some local variable renamings.
4459 * src/preproc/grn/hgraph.cpp: Some local variable renamings.
4460 (dx, dy): Renamed functions to...
4461 (deltax, deltay): This.
4462 * src/preproc/grn/main.cpp: Some local variable renamings.
4463 (deffont): Add `const'.
4464 (initpic, conv): Use cast for string constant.
4466 * src/preproc/html/pre-html.cpp: Some local variable renamings.
4467 (makeFileName, alterDeviceTo, addZ): Use cast for string constant.
4468 (char_buffer::run_output_filter): Second argument is unused.
4469 * src/preproc/html/pushback.cpp: Some local variable renamings.
4471 * src/preproc/pic/pic.y: Remove redundant declaration of `do_copy'.
4472 * src/preproc/pic/object.cpp: Some local variable renamings.
4474 * src/preproc/refer/label.y (lookup_label): Remove redundant
4475 declaration of local variable.
4477 * src/preproc/soelim.cpp: Remove redundant declaration of
4478 `interpret_lf_args'.
4480 * src/preproc/tbl/main.cpp: Some local variable renamings.
4482 * src/roff/groff/groff.cpp (main): Use cast for string constant.
4483 * src/roff/groff/pipeline.c: Enclose declarations of `error',
4484 `c_fatal', and `i_to_a' with `extern "C"' for C++.
4485 Don't use C++-style comments.
4487 * src/roff/troff/env.h: Remove redundant declaration of `title'.
4488 * src/roff/troff/node.h, src/roff/troff/env.cpp,
4489 src/roff/troff/div.cpp, src/roff/troff/node.cpp: Some local variable
4491 * src/roff/troff/div.h: Remove redundant declaration of
4493 * src/roff/troff/troff.h: Remove redundant declaration of
4495 * src/roff/troff/input.cpp: Remove redundant declaration of
4496 `handle_first_page_transition' and `process_input_stack'.
4498 * src/utils/hpftodit.cpp: Some local variable renamings.
4500 * src/utils/indxbib/signal.c: Enclose functions with `extern "C"'
4502 Don't define RETSIGTYPE.
4503 * src/utils/indxbib/indxbib.cpp: Some local variable renamings.
4505 * src/utils/pfbtops/pfbtops.cpp: Don't use K&R style.
4506 (error): Use `const' in argument.
4507 (main): Remove redundant declaration of `optind'.
4508 Move declaration of `Version_string' to top-level.
4510 * PROBLEMS: Document difficulties compiling signal.c if a C++
4511 compiler is used for C.
4513 2004-04-07 Werner LEMBERG <wl@gnu.org>
4515 * Makefile.sub (DISTCLEANFILES): Add `test-groff'.
4517 2004-04-06 Keith Marshall <keith.d.marshall@ntlworld.com>
4519 Make scripts like nroff.sh and neqn.sh portable across various
4520 (Unix-like) shell implementations from Cygwin, MSYS, etc., which use
4521 non-POSIX path separators. The idea is to extend those scripts to
4522 decide at run-time (of the script) which path separator to use.
4524 * arch/misc/Makefile.sub: New file.
4525 * arch/misc/shdeps.sh: New file, generating OS dependency fixups.
4526 This script handles @GROFF_BIN_PATH_SETUP@, replacing it with
4527 a proper definition of the variable `GROFF_RUNTIME'.
4529 * Makefile.in (SH_DEPS_SED_SCRIPT): New variable.
4530 (MDEFINES): Add SH_DEPS_SED_SCRIPT.
4531 (PROGDEPDIRS): New variable.
4533 (PROGDIRS): Add PROGDEPDIRS.
4535 * src/preproc/eqn/Makefile.sub (neqn): Call SH_DEPS_SED_SCRIPT.
4536 Don't substitute @SEP@ and @BINDIR@.
4537 * src/preproc/eqn/neqn.sh: Use @GROFF_BIN_PATH_SETUP@.
4538 (PATH): Use GROFF_RUNTIME.
4540 * src/roff/nroff/Makefile.sub (nroff): Call SH_DEPS_SED_SCRIPT.
4541 Don't substitute @SEP@ and @BINDIR@.
4542 * src/roff/nroff/nroff.sh: Use @GROFF_BIN_PATH_SETUP@.
4543 (PATH): Use GROFF_RUNTIME.
4545 2004-04-05 Keith Marshall <keith.d.marshall@ntlworld.com>
4547 * src/roff/nroff/nroff.sh: Implement work-around for sh.exe from
4548 Cygwin which doesn't handle stderr correctly.
4550 2004-03-08 Werner LEMBERG <wl@gnu.org>
4552 * Makefile.comm (install_dev, uninstall_dev): Protect `for' loops
4553 against empty argument. Problem reported by <cgd@broadcom.com>.
4555 2004-03-05 Keith Marshall <keith.d.marshall@ntlworld.com>
4557 * Makefile.in (SEP): Replaced with...
4558 (RT_SEP, SH_SEP): Separators for the target platform's native path
4559 separator and the build environment, respectively.
4560 (fontpath, tmacpath): Use RT_SEP.
4561 (MDEFINES): Updated.
4563 * doc/Makefile.sub (GROFF_BIN_PATH): Use SH_SEP.
4564 * src/preproc/eqn/Makefile.sub (neqn): Use SH_SEP.
4565 * src/roff/nroff/Makefile.sub (nroff): Use SH_SEP.
4567 2004-03-05 Werner LEMBERG <wl@gnu.org>
4569 * font/devlj4/Makefile.sub (LJ4RES): Set to 1200. This helps to
4570 reduce alignment problems with newer printers which use built-in
4571 TrueType fonts (instead of the older Intellifonts). The ideal
4572 solution is to provide a second set of groff metric files, but this
4573 is extremely time-consuming to produce, given that HP's metric
4574 files are very rudimentary.
4576 2004-03-01 Werner LEMBERG <wl@gnu.org>
4578 * src/devices/grolj4/lj4.cpp (main): Fix argument of getopt_long.
4579 s/operand/argument/ in error message.
4581 2004-03-01 Keith Marshall <keith.d.marshall@ntlworld.com>
4583 * src/roff/groff/groff.cpp (main): Don't allow option -o if -Thtml
4586 2004-03-01 Antti Kantee <pooka@netbsd.org>
4588 * tmac/s.tmac (XE): Fix error message.
4590 2004-02-27 Jeff Conrad <jeff_conrad@msn.com>
4592 * src/include/nonposix.h (write, dup, dup2, close) [_MSC_VER]:
4595 * src/roff/groff/pipeline.c: Declare strcasecmp.
4596 (run_pipeline) [_WIN32]: Use function name variants which don't
4598 Fix stream handling.
4600 2004-02-27 Keith Marshall <keith.d.marshall@ntlworld.com>
4602 * src/include/nonposix.h: Fix declaration of `system_shell_name'.
4603 Declare `spawnvp_wrapper' and macro definitions of spawnvp only
4604 for platforms which use the native Win32 runtime libraries.
4605 (FLUSH_INPUT_PIPE) [_UWIN]: Provide non-empty version.
4607 * src/libs/libgroff/quotearg.c (QUOTE_ARG_MALLOC_ERROR,
4608 QUOTE_ARG_REALLOC_ERROR): Fix string.
4610 * src/preproc/html/pre-html.cpp: Remove declaration of
4612 Don't use __MINGW32__.
4613 s/DEBUG_FILE/DEBUG_FILE_DIR/.
4614 (DEBUG_TEXT, DEBUG_NAME, DEBUG_FILE) [DEBUGGING]: New macros.
4615 (OUTPUT_STREAM, PS_OUTPUT_STREAM, REGION_OUTPUT_STREAM): New macros.
4616 (char_buffer::run_output_filter) [MAY_FORK_CHILD_PROCESS]: Fix
4617 calls to `set_redirection' and `WAIT'.
4618 [MAY_SPAWN_ASYNCHRONOUS_CHILD]: Remove unused variable `i' and `j'.
4619 Fix calls to `set_redirection' and `save_and_redirect'.
4620 (char_buffer::do_html, char_buffer::do_image) [DEBUGGING]: Fix calls
4621 to `set_redirection' and `save_and_redirect'.
4622 (usage): Fix message.
4623 (makeTempFiles, main): Use `DEBUG_FILE'.
4625 2004-02-21 Werner LEMBERG <wl@gnu.org>
4627 * src/roff/troff/troff.h (WARN_TOTAL): Fix value.
4629 2004-02-21 Keith Marshall <keith.d.marshall@ntlworld.com>
4631 * src/libs/libgroff/quotearg.c: New file, providing proper argument
4632 quoting for MSVC's spawn* and exec* functions.
4633 * src/libs/libgroff/spawnvp.c: New file, providing a wrapper around
4634 spawnvp with proper quoting for MSVC.
4636 * src/libs/libgroff/assert.cpp (program_name),
4637 src/libs/libgroff/new.cpp (program_name): Declare as `extern "C"'.
4638 * src/libs/libgroff/Makefile.sub (OBJS, CSRCS): Updated.
4640 * src/roff/troff/input.cpp (program_name): Declare as `extern "C"'.
4642 * src/include/error.h (program_name): Declare as `extern "C"'.
4643 * src/include/nonposix.h [__MSDOS__ ...]: Handle spawnvp.
4645 2004-02-21 Jeff Conrad <jeff_conrad@msn.com>
4647 * src/preproc/html/pre-html.cpp [__CYGWIN__ ...]: Declare
4649 [MAY_SPAWN_ASYNCHRONOUS_CHILD]: Declare i and j.
4651 2004-02-20 Jeff Conrad <jeff_conrad@msn.com>
4653 * src/roff/groff/pipeline.c (cmd) [__MSDOS__ || ...]: New global
4655 (sbasename) [__MSDOS__ || ...]: New function.
4656 (system_shell_name) [__MSDOS__ || ...]: Use a different, more
4658 (system_shell_dash_c, is_system_shell) [__MSDOS__ || ...]: Updated.
4659 (run_pipeline) [_WIN32]: Use _XXX variants for some macros instead
4661 Use STDOUT_FILENO instead of hardcoded file handle.
4662 (signal_catcher) [__MSDOS__]: Moved to non-_WIN32 section.
4664 2004-02-19 Werner LEMBERG <wl@gnu.org>
4666 * src/roff/troff/div.cpp: Include nonposix.h after troff.h to
4667 avoid warnings w.r.t. redefinition of P_tmpdir for some compilers.
4669 2004-02-18 Werner LEMBERG <wl@gnu.org>
4671 * font/devlj4/Makefile.sub (DEVFILES): Updated to contain all
4672 new font and mapping files.
4674 2004-02-18 Jeff Conrad <jeff_conrad@msn.com>
4675 Keith Marshall <keith.d.marshall@ntlworld.com>
4677 * src/include/nonposix.h (FLUSH_INPUT_PIPE): New macro to empty
4678 an input pipe. This is needed for the MSVC compiler to make troff's
4681 * src/roff/troff/div.cpp: Include nonposix.h.
4682 (cleanup_and_exit): Call FLUSH_INPUT_PIPE.
4684 2004-02-17 Werner LEMBERG <wl@gnu.org>
4686 * font/devlj4/generate/special.awk: New script.
4687 * font/devlj4/generate/Makefile (S): Use special.awk.
4688 * font/devlj4/*: Regenerated, including the following new files:
4689 Arial (AR, AB, AI, ABI), Times New Roman (TNRR, TNRB, TNRI, TNRBI),
4690 MS Symbol (SYMBOL), Wingdings (WINGDINGS).
4691 * NEWS: Document new lj4 fonts and revised hpftodit.
4693 2004-02-17 Paco Andrés Verdú <pandres@dragonet.es>
4695 * src/devices/grolbp/lbp.h (vmdvarc): Fix formatting string.
4697 2004-01-25 Werner LEMBERG <wl@gnu.org>
4699 * src/libs/libgroff/progname.cpp: Replaced with...
4700 * src/libs/libgroff/progname.c: New file.
4701 * src/libs/libgroff/Makefile.sub: Updated accordingly.
4703 2004-01-17 Werner LEMBERG <wl@gnu.org>
4705 * font/devlj4/generate/Makefile (SYMBOL): Use 9nb28703.tfm.
4707 2004-01-16 Jeff Conrad <jeff_conrad@msn.com>
4709 * font/devlj4/generate/wingdings.map,
4710 font/devlj4/generate/symbol.map: Include unnamed glyphs.
4711 Use groff glyph names where possible.
4712 * src/devices/grolj4/lj4_font.man: Minor updates.
4714 2004-01-13 Werner LEMBERG <wl@gnu.org>
4716 * tmac/www.tmac (DC): Handle TTY devices.
4718 * doc/webpage.ms: Document viewCVS from ffii.org.
4719 * NEWS, README: Updated.
4721 * src/roff/groff/groff.man: Mention lj4_font man page.
4723 * font/devlj4/generate/Makefile (SYMBOLMAP, WINGDINGSMAP): New
4725 (FONTS): Add SYMBOL and WINGDINGS.
4726 (SYMBOL, WINGDINGS): New targets.
4728 2004-01-13 Jeff Conrad <jeff_conrad@msn.com>
4730 * src/devices/grolj4/lj4_font.man: New man page.
4731 * src/devices/grolj4/Makefile.sub (MAN5): New variable.
4732 * src/devices/grolj4.man: Mention lj4_font man page.
4734 * src/utils/hpftodit/hpftodit.cpp (read_map): Handle line comments.
4735 * src/utils/hpftodit/hpftodit.man: Document it.
4737 Remove details about fonts (which are now in lj4_font.man).
4739 * font/devlj4/generate/symbol.map,
4740 font/devlj4/generate/wingdings.map: New files.
4742 2004-01-12 Werner LEMBERG <wl@gnu.org>
4744 * README: Mention ffii's viewcvs access.
4746 2004-01-09 Werner LEMBERG <wl@gnu.org>
4748 * font/devlj4/generate/special.map: Map MSL 228 to U+221F.
4750 2004-01-09 Jeff Conrad <jeff_conrad@msn.com>
4752 Revert most of the change from 2004-01-03 to better control used
4755 * src/utils/hpftodit/hpftodit.cpp (symbol_set): New structure.
4756 (text_symbol_sets, special_symbol_sets): New arrays.
4757 (symbol_set_table): New global variable.
4758 (read_symbol_sets): Use search order given in the text_symbol_sets
4759 and special_symbol_sets arrays. If command line flag -a is not
4760 given, search both arrays.
4761 (output_charset): Require x_height_tag only for command line flag -i.
4763 2004-01-06 Werner LEMBERG <wl@gnu.org>
4765 Implement string-valued registers \n[.m] and \n[.M] to return the
4766 name of the current drawing and background color, respectively.
4768 * src/roff/troff/symbol.h: Moved to...
4769 * src/include/symbol.h: Here.
4770 Small fixes to make it work outside of the `troff' directory.
4771 * src/roff/troff/symbol.cpp: Moved to...
4772 * src/libs/libgroff/symbol.cpp: Here.
4773 Small fixes to make it work outside of the `troff' directory.
4775 * src/include/Makefile.sub (HDRS), src/libs/libgroff/Makefile.sub
4776 (OBJS, CCSRCS), src/roff/troff/Makefile.sub (OBJS, CCSRCS, HDRS):
4779 * src/include/color.h: Include symbol.h.
4780 (color): Add new field `nm'.
4781 * src/libs/libgroff/color.cpp (color::color): Updated.
4783 * src/roff/troff/dictionary.cpp, src/roff/troff/div.cpp,
4784 src/roff/troff/node.cpp, src/roff/troff/number.cpp,
4785 src/roff/troff/reg.cpp: Don't include symbol.h.
4787 * src/roff/troff/env.cpp: Don't include symbol.h.
4788 (environment::get_glyph_color_string,
4789 environment_get_fill_color_string): New member functions.
4790 (init_env_requests): Handle `.m' and `.M' registers.
4791 * src/roff/troff/input.cpp: Don't include symbol.h.
4792 (default_symbol): Moved to symbol.cpp/symbol.h.
4793 (do_glyph_color, do_fill_color, define_color): Pass symbol name
4794 to color constructor.
4795 * src/roff/troff/env.h: Updated.
4797 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
4798 Document new registers.
4800 2004-01-05 Werner LEMBERG <wl@gnu.org>
4802 * src/roff/troff/node.cpp (space_node::get_breakpoints,
4803 space_node::nbreaks): Protect against zero `next' field.
4805 2004-01-03 Jeff Conrad <jeff_conrad@msn.com>
4807 In hpftodit, use the symbol sets offered in the TFM.
4809 * src/utils/hpftodit/hpftodit.cpp (NO_GLYPH): New constant.
4810 (symbol_set, text_symbol_sets, special_symbol_sets,
4811 symbol_set_table): Removed.
4812 (get_printcode): Removed.
4813 (read_symbol_sets): Initialize `symbol_set' field with
4815 Simplify code to just use the `kind' value.
4816 (output_charset): Improve output formatting.
4817 (dump_symbols): Simplified.
4819 2004-01-02 Werner LEMBERG <wl@gnu.org>
4821 * font/devlj4/generate/text.map: Add more MSL numbers.
4823 2004-01-02 Jeff Conrad <jeff_conrad@msn.com>
4825 * src/utils/hpftodit/hpftodit.cpp (is_decomposed): New macro.
4826 (text_symbol_sets): Add more symbol sets.
4827 (debug_flag): New static variable (moved from `main').
4828 (get_printcode, show_symset): New functions.
4829 (main): Remove `debug_flag'.
4830 (output_charset): Use `show_symset'.
4831 (dump_symbols): Use `show_symset'.
4832 Print symsets for all glyphs.
4833 (read_map): Actually call `unicode_to_ucode_make' but this time
4836 2004-01-01 Werner LEMBERG <wl@gnu.org>
4838 * font/devlj4/generate/text.map, font/devlj4/generate/special.map:
4839 Fix placement of comments.
4841 2004-01-01 Jeff Conrad <jeff_conrad@msn.com>
4843 * src/utils/hpftodit/hpftodit.cpp (main): Read map file also if
4844 option `-d' is given.
4845 (output_charset): Improve warning messages to give more information.
4846 (dump_symbols): Make information more precise.
4848 (read_map): Don't call unicode_to_ucode_name; the glyph names must
4849 appear as-is and shouldn't be decomposed.
4851 2003-12-31 Werner LEMBERG <wl@gnu.org>
4853 * src/utils/hpftodit/hpftodit.cpp (dump_tags): Handle posture_tag.
4854 * font/devlj4/generate/Makefile (IFLAG): Updated to new units.
4855 (FONTS): Add TrueType font families Arial and Times New Roman.
4856 (TNRR, TNRB, TNRI, TNRBI, AR, AB, AI, ABI): New targets.
4857 * font/devlj4/generate/text.map: Fix Unicode values of `fi' and
4860 2003-12-31 Jeff Conrad <jeff_conrad@msn.com>
4862 * test-groff.in (SEP): Quote value.
4863 * src/roff/troff/node.cpp (suppress_node::tprint): Change type of
4864 `tem' to `char*' to avoid deallocation of a pointer to a constant
4865 object which some compilers don't like.
4867 2003-12-31 Werner LEMBERG <wl@gnu.org>
4869 * font/devlj4/generate (text.map, special.map): Rewritten to work
4870 with the new hpftodit version.
4872 2003-12-30 Jeff Conrad <jeff_conrad@msn.com>
4874 * src/utils/hpftodit/hpftodit.cpp (output_charset): Emit HP symbol
4875 set and 8bit character code for all glyphs also.
4877 2003-12-30 Werner LEMBERG <wl@gnu.org>
4879 * src/libs/libgroff/strcasecmp.c: Updated from gnulib.
4881 2003-12-29 Werner LEMBERG <wl@gnu.org>
4883 More fixes for MSVC compiler.
4885 * doc/Makefile.sub (GROFF_BIN_PATH): Use $(SEP).
4887 * src/include/nonposix.h (STDIN_FILENO, STDOUT_FILENO,
4888 STDERR_FILENO) [_MSC_VER]: Define conditionally.
4889 (getpid) [_MSC_VER]: Remove.
4890 Include direct.h and process.h conditionally.
4892 * src/roff/troff/node.cpp (suppress_node::tprint): Don't use
4893 parentheses for a_delete.
4895 * src/utils/lookbib/lookbib.cpp: Include nonposix.h.
4897 * test-groff: Replaced with...
4898 * test-groff.in: This new template to handle path separator
4901 * configure.ac: Check for direct.h and process.h.
4902 Generate test-groff script.
4903 * configure, src/include/config.hin: Regenerated.
4905 2003-12-28 Werner LEMBERG <wl@gnu.org>
4907 Add integral extension glyph.
4908 Add new option `-x' to afmtodit to suppress use of built-in AGL.
4910 * font/devhtml/R.proto, font/devutf8/R.proto: Add `u23AE'.
4912 * font/devps/generate/textmap: Provide entry for `integralex' to
4913 override (old) PUA value of the AGL.
4914 * font/devps/generate/Makefile (SS): Add afmtodit option `-x'.
4915 * font/devps/*: Regenerated.
4917 * src/utils/afmtodit/afmtodit.pl: Add option `-x'.
4918 * src/utils/afmtodit/afmtodit.man, NEWS: Updated.
4920 2003-12-27 Werner LEMBERG <wl@gnu.org>
4922 Add forgotten `coproduct' symbol (already available for DVI).
4924 * font/devhtml/R.proto, font/devps/generate/textmap,
4925 font/devps/symbolmap, font/devutf8/R.proto, man/groff_char.man,
4926 src/libs/libgroff/uniglyph.cc, src/libs/libgroff/glyphuni.cpp: Add
4927 U+2210 (\[coproduct]).
4929 2003-12-26 Jeff Conrad <jeff_conrad@msn.com>
4931 hpftodit has been extended to handle TrueType metric files and
4932 more glyphs. See hpftodit.man for more details.
4934 * src/utils/hpftodit/hpftodit.cpp: Include stdio.h, string.h,
4935 ctype.h, and unicode.h.
4936 s/msl/charcode/ everywhere since we now handle Unicode values also.
4937 (equal, NO, YES, MSL, SYMSET, UNICODE, UNICODE): New macros.
4938 Use it where appropriate.
4939 (MULTIPLIER): Replaced with...
4940 (multiplier): New global static variable.
4942 (tag_type): Add more TFM tags.
4943 (tag_name): New array.
4944 (ENUM_TYPE, FLOAT_TYPE): Removed.
4945 (BYTE_TYPE): New value assigned.
4946 (ASCII_TYPE, RATIONAL_TYPE): New enumeration values.
4947 (text_symbol_sets, special_symbol_sets): Extended to cover more
4949 (check_type): Add return value.
4950 (check_units): Add parameters to get ppi and upem values.
4951 Handle TrueType TFM data.
4952 (output_font_name): New function.
4953 (output_charset): Add parameter to handle TFM type.
4954 Handle TrueType TFMs also.
4955 (em_fract): New macro.
4956 (dump_tags): Be much more verbose and handle more tags.
4957 (dump_ascii, dump_symbol_sets, dump_symbols): New functions.
4958 (hp_msl_to_ucode_name, unicode_to_ucode_name, is_uname): New
4960 (read_map): Add parameter to handle TFM type.
4961 Handle both MSL and Unicode mappings.
4962 (main): Add two new command line options `-a' and `-q'.
4963 Updated to make use of new functions.
4966 * src/utils/hpftodit/hpuni.cpp: New file.
4968 * src/utils/hpftodit/Makefile.sub, src/utils/hpftodit/hpftodit.man:
4971 2003-12-25 Werner LEMBERG <wl@gnu.org>
4973 * src/include/nonposix.h (read) [_MSC_VER]: Define.
4975 2003-12-24 Werner LEMBERG <wl@gnu.org>
4977 * src/utils/afmtodit/afmtodit.man: Some reformulations as suggested
4978 by Michail Vidiassov <master@iaas.msu.ru>.
4980 2003-12-20 Werner LEMBERG <wl@gnu.org>
4982 * font/devhtml/R.proto: Add u00{47,67}_0306, u00{53,73}_0327,
4984 Add missing latin-2 glyphs.
4985 * font/devutf8/R.proto: Add missing latin-2 glyphs.
4987 * tmac/troffrc: Load `composite.tmac' earlier.
4989 * tmac/dvi.tmac, tmac/ps.tmac, tmac/lbp.tmac: Add u00{47,67}_0306,
4990 u00{53,73}_0327, and u0049_0307.
4991 * tmac/X.tmac: Add u00{47,67}_0306.
4992 * tmac/tty-char.tmac: Use composite glyph names for readability.
4996 * src/include/unicode.h: Remove `extern' keywords.
4998 2003-12-20 Nilgün Belma Bugüner <nilgun@superonline.com>
5000 * tmac/latin5.tmac: New file.
5002 2003-12-19 Werner LEMBERG <wl@gnu.org>
5004 Add some glyphs needed for Turkish.
5006 * font/devutf8/R.proto: Add u00{47,67}_0306, u00{53,73}_0327,
5009 * tmac/composite.tmac: Add `,' as a synonym for `ac' accent.
5010 * tmac/tty-char.tmac: Add representations for u00{47,67}_0306,
5011 u00{53,73}_0327, and u0049_0307.
5013 2003-12-18 Werner LEMBERG <wl@gnu.org>
5015 * src/devices/grops/ps.cc (ps_output::put_float): Revert change
5017 Remove trailing zeros.
5019 2003-12-17 Werner LEMBERG <wl@gnu.org>
5021 Make \? transparent to end-of-sentence recognition.
5023 * src/roff/troff/input.cc (non_interpreted_node): Add
5024 `ends_sentence' member function.
5026 2003-12-16 Werner LEMBERG <wl@gnu.org>
5028 * doc/groff.texinfo: Document `dt' request correctly.
5029 Other minor typographical improvements.
5031 2003-12-10 Michail Vidiassov <master@iaas.msu.ru>
5033 * src/utils/afmtodit/Makefile.sub (afmtodit): Fix typo.
5035 2003-12-10 Richard Stallman <rms@gnu.org>
5037 * LICENSE: Better wording.
5039 2003-12-09 Werner LEMBERG <wl@gnu.org>
5041 * aclocal.m4 (GROFF_BROKEN_SPOOLER_FLAGS): Set default value to 0.
5042 * configure, NEWS: Updated.
5044 2003-12-08 Werner LEMBERG <wl@gnu.org>
5046 * FDL: Updated to version 1.2 (from www.gnu.org/copyleft).
5048 2003-12-07 Bernd Warken <bwarken@mayn.de>
5052 2003-12-07 Werner LEMBERG <wl@gnu.org>
5054 * INSTALL: Improved.
5056 2003-12-05 Keith Marshall <keith.d.marshall@ntlworld.com>
5058 Use path separator character of target platform for compiled-in
5061 * aclocal.m4 (GROFF_TARGET_PATH_SEPARATOR): New macro.
5062 * configure.ac: Use GROFF_TARGET_PATH_SEPARATOR.
5063 * configure: Regenerated.
5064 * Makefile.in (SEP): Use GROFF_PATH_SEPARATOR.
5066 2003-12-05 Werner LEMBERG <wl@gnu.org>
5068 * src/include/nonposix.h (PATH_SEP_CHAR): New definition.
5069 Replace `PATH_SEP[0]' with `PATH_SEP_CHAR' everywhere.
5071 2003-12-04 Bernd Warken <bwarken@mayn.de>
5073 * LICENSE: New file.
5075 2003-12-03 Werner LEMBERG <wl@gnu.org>
5077 * src/utils/afmtodit/afmtodit.pl: Comment out code which handles
5078 ligatures present in AFM files since groff currently only
5079 understands some standard ligatures and nothing else.
5081 2003-12-03 Jeff Conrad <jeff_conrad@msn.com>
5083 * src/roff/groff/groff.cpp (main): Don't run the spooler if
5086 * src/roff/groff/pipeline.c (run_pipeline) [_WIN32]: Fix error
5089 Don't use Unix wait flags.
5091 2003-12-02 Werner LEMBERG <wl@gnu.org>
5093 * src/roff/troff/glyphuni.cpp, src/roff/troff/unicode.cpp,
5094 src/roff/troff/unicode.h, src/roff/troff/uniglyph.cpp,
5095 src/roff/troff/uniuni.cpp: Moved to...
5096 * src/libs/libgroff/glyphuni.cpp, src/libs/libgroff/unicode.cpp,
5097 src/libs/libgroff/unicode.h, src/libs/libgroff/uniglyph.cpp,
5098 src/libs/libgroff/uniuni.cpp: Here.
5100 * src/include/Makefile.sub.old (HDRS),
5101 src/libs/libgroff/Makefile.sub (OBJS, CCSRCS),
5102 src/roff/troff/Makefile.sub (HDRS, PBJS, CCSRCS): Updated.
5104 2003-12-01 Keith Marshall <keith.d.marshall@ntlworld.com>
5106 * src/preproc/htlp/pre-html.cpp (__tmpfile): Renamed to
5110 2003-12-01 Werner LEMBERG <wl@gnu.org>
5112 * groff.texinfo: Document special behaviour of `.vs 0'.
5113 Improve documentation of `cflags' request.
5116 2003-11-29 Werner LEMBERG <wl@gnu.org>
5118 * font/devlj4/generate/Makefile (CORONET): Use correct TFM.
5119 * font/devlj4/CORONET: Regenerated.
5121 2003-11-24 Werner LEMBERG <wl@gnu.org>
5123 * src/roff/troff/env.cpp (hyphen_trie::read_patterns_file): Fix loop
5124 if processing hyphenation patterns in traditional mode.
5125 Improve error messages.
5127 2003-11-20 Werner LEMBERG <wl@gnu.org>
5129 * src/roff/troff/node.cpp (troff_output_file::put_char_width,
5130 troff_output_file::put_char): Fix type of local variable `c'.
5132 2003-11-19 Werner LEMBERG <wl@gnu.org>
5134 * src/roff/groff/pipeline.c (P): Removed. Updated all function
5136 (i_to_a): Removed. libgroff already provides this function.
5137 (run_pipeline) [_WIN32]: Don't use itoa but i_to_a.
5139 2003-11-18 Keith Marshall <keith.d.marshall@ntlworld.com>
5141 * src/roff/groff/pipeline.c (xstrsignal): Fix usage of
5144 2003-11-17 Werner LEMBERG <wl@gnu.org>
5146 * COPYING: Use correct version.
5148 2003-11-11 Werner LEMBERG <wl@gnu.org>
5150 LynxOS 4.0.0 doesn't declare vfprintf.
5152 * configure.ac: Check for vfprintf.
5153 * configure: Regenerated.
5154 * src/include/lib.h: Handle `NEED_DECLARATION_VFPRINTF'.
5155 * src/include/config.hin: Regenerated.
5157 2003-11-10 Werner LEMBERG <wl@gnu.org>
5159 LynxOS 4.0.0 has snprintf (without declaration) but no vsnprintf.
5161 * configure.ac: Check for vsnprintf.
5162 * configure: Regenerated.
5163 * src/include/lib.h: Handle `NEED_DECLARATION_VSNPRINTF' and
5165 * src/include/config.hin: Regenerated.
5167 2003-11-09 Werner LEMBERG <wl@gnu.org>
5169 * aclocal.m4: Updated syntax to autoconf 2.59.
5170 (GROFF_HTML_PROGRAMS): Use AC_FOREACH.
5171 Don't check for gsos2.
5172 (GROFF_SRCDIR, GROFF_BUILDDIR): Removed. autoconf 2.59 provides
5173 working abs_top_srcdir and abs_top_builddir.
5175 * configure.ac: Updated syntax to autoconf 2.59.
5176 Don't call GROFF_SRCDIR and GROFF_BUILDDIR.
5177 Replace call to AC_DECL_SYS_SIGLIST with call to AC_CHECK_DECLS.
5178 * configure: Regenerated.
5180 * Makefile.in, doc/Makefile.in: s/@top_srcdir@/@abs_top_srcdir@/,
5181 s/@groff_top_builddir@/@abs_top_builddir@/.
5183 * src/roff/groff/pipeline.c (xstrsignal):
5184 s/SYS_SIGLIST_DECLARED/HAVE_DECL_SYS_SIGLIST/.
5186 2003-11-07 Werner LEMBERG <wl@gnu.org>
5188 * src/devices/grodvi/dvi.cpp (draw_dvi_printer::draw) ['a']: Always
5189 make start angle smaller than end angle to circumvent a bug in tpic
5190 handling of some versions of dvipdfm (and dvipdfmx).
5192 2003-10-30 Werner LEMBERG <wl@gnu.org>
5194 * src/devices/grops/grops.man: Improve section on creating EPS.
5196 2003-10-29 Werner LEMBERG <wl@gnu.org>
5198 * contrib/pic2graph/pic2graph.sh: Fix typo (-P-letter ->
5201 2003-10-28 Werner LEMBERG <wl@gnu.org>
5203 * doc/groff.texinfo: Fix documentation of `.if'.
5205 2003-10-27 Michail Vidiassov <master@iaas.msu.ru>
5207 * src/utils/afmtodit/afmtodit.pl: Handle unmapped characters of
5208 the form `uniXXXX' also.
5210 2003-10-27 Werner LEMBERG <wl@gnu.org>
5212 * contrib/eqn2graph/eqn2graph.sh, contrib/grap2graph/grap2graph.sh,
5213 contrib/pic2graph/pic2graph.sh: Implement secure management of
5215 Pass `-P-pletter' to groff to avoid data outside of the converted
5216 area -- some versions of `convert' (for example 5.3.8) don't check
5217 the bounding box of the image but always use a fixed image size
5218 (letter paper format).
5219 * contrib/eqn2graph/eqn2graph.man, contrib/grap2graph/grap2graph.man,
5220 contrib/pic2graph/pic2graph.man: Updated.
5222 * src/roff/groff/groff.man: Document $TMP and $TEMP.
5224 2003-10-26 Werner LEMBERG <wl@gnu.org>
5226 * src/preproc/pic/troff.cpp (troff_output::simple_circle,
5227 troff_output::simple_ellipse, troff_output::simple_arc,
5228 troff_output::simple_line, troff_output::simple_spline,
5229 troff_output::simple_polygon): Insert a space before arguments.
5230 (troff_output::set_fill): Emit `\&' before `\D'Fg...' since the
5231 latter doesn't produce a node, so the following `.sp -1' would do
5233 Don't emit `.sp -1' after \M. This also doesn't produce a token
5234 (and we don't have to care about compatibility mode).
5235 (troff_output::set_color, troff_output::reset_color): Don't emit
5236 `.sp -1' after \M and \m.
5238 * src/roff/troff/input.cpp (old_have_input): New global variable.
5239 (input_stack::get): Handle `old_have_input'.
5240 (process_input_stack) <token::TOKEN_NEWLINE>: Call
5241 `trapping_blank_line' depending on `old_have_input', not
5244 2003-10-20 Keith Marshall <keith.d.marshall@ntlworld.com>
5246 * src/libs/libgroff/tmpfile.cpp [__MSDOS__, _Win32]
5247 (WIN32_TMPDIR_ENVVAR, MSDOS_TMPDIR_ENVVAR): New macros, providing
5248 default directory names for temporary files.
5249 [__MSDOS__, _Win32] (temp_init::temp_init): Use them.
5251 * src/roff/groff/pipeline.c [__MSDOS__]: Include stdlib.h.
5252 [__MSDOS__] (run_pipeline): Honour environment variables.
5253 Don't use `tmpnam' but `tempnam' to work around messy
5256 * README.MinGW: New file.
5258 2003-10-16 Werner LEMBERG <wl@gnu.org>
5260 * src/preproc/html/pre-html.cpp (write_upto_newline): Don't use
5261 `(*t)->next' without testing validity of `*t'.
5262 (usage): Make it more readable.
5264 2003-10-16 Keith Marshall <keith.d.marshall@ntlworld.com>
5266 Make html device run under both MS-DOS and Win32.
5268 * src/preproc/html/pre-html.cpp (MAY_FORK_CHILD_PROCESS,
5269 MAY_SPAWN_ASYNCHRONOUS_CHILD): New macros to control whether
5270 spawn or fork+exec has to be used, and whether parent must sleep
5271 until the child process terminates. Used in
5272 `char_buffer::run_output_filter'.
5273 (copyofstdoutfd): Removed.
5274 (char_buffer): Replace `write_file_html' and `write_file_troff'
5275 member functions with `emit_troff_output' and `run_output_filter'.
5276 (DEVICE_FORMAT, HTML_OUTPUT_FILTER, IMAGE_OUTPUT_FILTER): New
5278 (replaceFd): Replaced with...
5279 (set_redirection): New auxiliary function.
5280 (waitForChild): Replaced with...
5281 (save_and_redirect): New auxiliary function for.
5283 (char_buffer::do_html, char_buffer::do_image): Simplified, using new
5286 2003-10-14 Keith Marshall <keith.d.marshall@ntlworld.com>
5288 * aclocal.m4 (GROFF_SYS_NERR): Check stdlib.h also.
5289 (GROFF_LIBC): New function.
5290 * configure.ac: Call GROFF_LIBC.
5292 * configure: Regenerated.
5294 * src/include/lib.h: Handle __MINGW32__.
5295 * src/include/nonposix.h [_MSC_VER]: Handle __MINGW32__.
5296 Add macro for `pipe'.
5299 * src/roff/groff/pipeline.c (run_pipeline): Handle `no_pipe'
5302 * src/utils/indxbib/signal.c (handle_fatal_signal) [!HAVE_KILL]:
5305 2003-10-12 Werner LEMBERG <wl@gnu.org>
5307 * src/roff/groff/groff.cpp (help), src/devices/grops/ps.cpp (usage),
5308 src/roff/troff/input.cc (usage): Updated.
5310 * NEWS, doc/groff.texinfo: Updated.
5312 2003-10-12 Peter Miller <millerp@canb.auug.org.au>
5314 * src/libs/libgroff/searchpath.cpp
5315 (search_path::open_file_cautious): New function which also handles
5316 `-' as stdin and stdout depending on the access mode.
5317 * src/include/searchpath.h (search_path): Updated.
5319 * src/devices/grops/ps.cpp (main): Handle new `-I' switch.
5320 * src/devices/grops/ps.h: Include `searchpath.h'.
5321 * src/devices/grops/psrm.cpp (resource_manager::supply_resource):
5322 Open resource file with `include_search_path.open_file_cautious'.
5323 * src/devices/grops/grops.man: Document new `-I' switch.
5325 * src/devices/grodvi/dvi.cpp (main), src/devices/grolbp/lbp.cpp
5326 (main), src/devices/grolj4/lj4.cpp (main),
5327 src/devices/grotty/tty.cpp (main): Ignore new `-I' switch.
5329 * src/preproc/soelim/soelim.cpp (include_list_length, include_list):
5331 (include_search_path): New global variable.
5332 (include_path_append): Removed.
5333 (main): Use `include_search_path.command_line_dir' to handle `-I'.
5334 (do_file): Simplify, using new
5335 `include_search_path.open_file_cautious'.
5337 * src/roff/groff/groff.cpp (print_commands): Accept file handle as
5339 (main): Pass arguments to `-I' to both troff and devices.
5340 Improve handling of `-V'.
5341 * src/roff/groff/groff.man: Document changes to -I and -V.
5343 * src/roff/troff/input.cpp (include_search_path): New global
5345 (next_file, source, ps_bbox_request, transparent_file,
5346 process_input_file): Use new
5347 `include_search_path.open_file_cautious'.
5348 (main) Handle `-I' switch.
5349 * src/roff/troff/node.cpp (troff_output_file::really_copy_file):
5350 Use new `include_search_path.open_file_cautious'.
5351 * src/roff/troff/node.h: New extern symbol `include_search_path'.
5352 * src/roff/troff/troff.man: Document new `-I' switch.
5354 2003-09-15 Ruslan Ermilov <ru@FreeBSD.org>
5356 Support multiple calls of .Lb in LIBRARY section.
5358 * tmac/doc-common (doc-in-library-section): New register.
5359 (doc-section-library): New string.
5360 (Sh): Set `doc-in-library-section'.
5362 * tmac/doc-syms (Lb): Insert breaks before and after arguments
5363 if in LIBRARY section.
5364 * tmac/doc.tmac (doc-save-global-vars): Updated.
5365 * NEWS, tmac/groff_mdoc.man: Updated.
5367 2003-09-14 Ruslan Ermilov <ru@FreeBSD.org>
5369 * tmac/doc-common (doc-default-operating-system): New variable.
5372 2003-09-08 Werner LEMBERG <wl@gnu.org>
5374 * tmac/doc.tmac (doc-reset-reference): Handle data for `%I' also.
5376 2003-08-31 Werner LEMBERG <wl@gnu.org>
5378 * Makefile.comm: Use `test ... ||' in favor of `if test ...; then'.
5379 (install_dev, uninstall_dev): Check whether $(DEVSCRIPTS) and
5380 $(DEVFILES) are not empty.
5381 * Makefile.in: Use `test ... ||' in favor of `if test ...; then'.
5383 2003-08-23 Stephen Gildea <http://www.gildea.com/stephen>
5385 * src/preproc/ref/ref.cpp (reference::compute_sort_key): Always
5386 insert SORT_SEP. With certain combinations of sort specifications,
5387 refer sorted entries in the wrong order. In particular, entries
5388 with a missing field should be be sorted before all entries that
5389 have that field, before refer looks to the next field.
5391 2003-08-23 Werner LEMBERG <wl@gnu.org>
5393 * src/utils/pfbtops/Makefile.sub (LINK.c): Define it so that the
5394 g++ linker is used. Reported by Mark J. Reed
5395 <mark.reed@turner.com>.
5397 2003-08-16 Heinz-Jürgen Oertel <hj.oertel@surfeu.de>
5399 Add key character `x' to tbl which makes tbl call a user-defined
5400 macro on a table cell.
5402 * src/preproc/tbl/table.h (entry_modifier): Add `macro'.
5403 * src/preproc/tbl/table.cpp (block_entry::do_divert): Call
5404 `set_modifier' after printing the compatibility request.
5405 (set_modifier): Print call to `m->macro' if not empty.
5406 * src/preproc/tbl/main.cpp (entry_format::debug_print): Handle
5408 (process_format): Implement cases `x' and `X'.
5409 * src/preproc/tbl/tbl.man, NEWS: Updated.
5411 2003-08-15 Werner LEMBERG <wl@gnu.org>
5413 * doc/groff.texinfo: Minor fixes.
5415 2003-08-09 Werner LEMBERG <wl@gnu.org>
5417 * tmac/an-old.tmac [cR]: Fix redefinition of `bp'.
5419 2003-08-07 Werner LEMBERG <wl@gnu.org>
5421 * doc/Makefile.sub: Not all shells expand wildcards in the `for'
5422 argument list to nothing if there is no file to match. Use `ls' as
5423 a protection, similar to autoconf.
5425 * Makefile.comm (install_dev, uninstall_dev): Protect `for' against
5426 empty argument lists.
5428 * doc/groff.texinfo: Improve documentation how vertical spacing
5429 and line breaks interact.
5432 * tmac/www.tmac: Initialize `www-htmlimage-gap'.
5434 2003-08-03 Werner LEMBERG <wl@gnu.org>
5436 * NEWS, src/devices/grops/grops.man: -b16 is necessary to produce
5437 EPS (using eps2eps or similar programs to compute the bounding box).
5439 2003-07-24 Werner LEMBERG <wl@gnu.org>
5441 * doc/groff.texinfo: Use the new @/ command to avoid overlong lines.
5442 * doc/texinfo.tex: Updated from texinfo 4.6.
5443 * README.CVS: From now on we need texinfo 4.6.
5445 2003-07-23 Werner LEMBERG <wl@gnu.org>
5447 Add requests `dei1' and `ami1' for completeness.
5449 * src/roff/troff/input.cc (calling_mode): Remove
5450 CALLING_DISABLE_COMP.
5451 (comp_mode): New enumeration.
5452 (do_define_string, define_string, define_nocomp_string,
5453 append_string, append_nocomp_string): Updated.
5454 (do_define_macro): Add third parameter.
5455 (define_macro, define_nocomp_macro, define_indirect_macro,
5456 append_macro, append_nocomp_macro, append_indirect_macro): Updated.
5457 (define_indirect_nocomp_macro, append_indirect_nocomp_macro): New
5460 (init_input_requests): Add `dei1' and `ami1'.
5462 * tmac/trace.tmac: Handle de1 and am1.
5463 (de): Improve tracing message.
5464 (am): Add missing `do'.
5467 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
5468 Document new requests.
5470 2003-07-22 Heinz-Jürgen Oertel <hj.oertel@surfeu.de>
5472 Add option -G to .MPIMG to insert a gap between text and the image.
5474 * tmac/www.tmac (www-finish-left-po, www-finish-right-ll,
5475 www-finish-left-ll): Updated.
5476 (www-image-just, www-image-gap, www-htmlimage-gap): New variables.
5477 (MPIMG): Make option -L and -R optional.
5478 Implement option -G.
5480 2003-07-22 Gaius Mulley <gaius@glam.ac.uk>
5482 * src/devices/grohtml/post-html.cpp
5483 (html_printer::do_file_components): Don't use `stdout' as lvalue
5484 since it can be a macro.
5486 2003-07-22 Werner LEMBERG <wl@gnu.org>
5488 * src/libs/libgroff/strerror.c: Include errno.h to be in sync with
5489 the corresponding test in aclocal.m4.
5491 2003-07-21 Werner LEMBERG <wl@gnu.org>
5493 * src/preproc/html/pre-html.cpp (TRANSPARENT): Don't use colour
5494 names but RGB values directly. Otherwise pnmtopng depends on
5495 an external file `rgb.txt' which maps colour names to values.
5497 2003-07-20 Werner LEMBERG <wl@gnu.org>
5499 * aclocal.m4 (GROFF_SYS_ERRLIST): Include stdlib.h for MinGW.
5500 * configure, src/include/config.hin: Regenerated.
5502 * src/libs/libgroff/strerror.c: Include stdlib.h for MinGW.
5504 2003-07-19 Werner LEMBERG <wl@gnu.org>
5506 * PROBLEMS: Add solution for UTF-8 problem with hyphens.
5508 2003-07-18 Werner LEMBERG <wl@gnu.org>
5510 * *.man: Switch to non-compatibility mode temporarily if GNU
5511 syntax extensions are used in the particular man page.
5513 * PROBLEMS: Add solutions for SGR problems.
5515 2003-07-17 Werner LEMBERG <wl@gnu.org>
5517 Don't ignore grotty's command line options if \X'tty: sgr ...' is
5518 used to change the drawing scheme.
5520 * src/devives/grotty/tty.cpp (bold_flag_option,
5521 underline_flag_option, italic_flag_option, reverse_flag_option,
5522 bold_underline_mode_option): New global variables.
5523 (update_options): New function.
5524 (tty_printer::special): Call update_options.
5525 (main): Don't set xxx_flag but xxx_flag_option, then call
5528 2003-07-14 Werner LEMBERG <wl@gnu.org>
5530 Make grotty emit proper Unicode box drawing characters for -Tutf8.
5532 * src/devices/grotty/tty.cpp (START_LINE, END_LINE): New enum
5534 (hline_char, vline_char): New global variables.
5535 (tty_printer::tty_printer): Initialize them.
5536 (tty_printer::draw): Emit START_LINE and END_LINE flags for both
5537 horizontal and vertical lines.
5538 (crossings): New global array.
5539 (tty_printer::end_page): Use it to determine the proper crossing
5540 character for -Tutf8.
5542 2003-07-12 Werner LEMBERG <wl@gnu.org>
5544 * doc/Makefilesub (HTMLDOCFILESALL): New macro.
5545 (HTMLDOCFILES): Revert to `pic.html'.
5546 (CLEANADD, install_html, uninstall_sub): Use HTMLDOCFILESALL.
5548 2003-07-11 Werner LEMBERG <wl@gnu.org>
5550 * doc/pic.ms: Improve documentation of absolute coordinates.
5551 Document absolute positioning of pictures.
5553 * NEWS: Add new pic capability.
5555 2003-07-09 Hartmut Henkel <hartmut_henkel@gmx.de>
5557 * src/libs/libgroff/geometry.cpp (check_output_arc_limits):
5560 2003-07-07 Werner LEMBERG <wl@gnu.org>
5562 Implement support for dashed and dotted ellipses in pic. Based on
5563 a patch from Hartmut Henkel <hartmut_henkel@gmx.de>.
5565 * src/preproc/pic/common.cpp (common_output::ellipse_arc,
5566 common_output::dashed_ellipse, common_output::dotted_ellipse): New
5567 functions. Ellipse arcs are approximated with circle arcs.
5568 * src/preproc/pic/common.h (common_output): Updated.
5569 * src/preproc/pic/tex.cpp (tex_output::ellipse): Use new ellipse
5571 * src/preproc/pic/troff.cpp (simple_output::ellipse): Ditto.
5573 * src/preproc/pic/TODO, src/preproc/pic/pic.man: Updated.
5575 2003-07-06 Werner LEMBERG <wl@gnu.org>
5577 Make grotty work on platforms which have unsigned char as the
5578 default for char. Based on a patch by Thomas Klausner
5581 * src/devices/grotty/tty.cpp (schar): New typedef.
5582 Updated calls to declare_ptable and implement_ptable.
5583 (glyph): Use schar for back_color_idx and fore_color_idx.
5584 (tty_printer): Use schar for curr_fore_idx and curr_back_idx.
5585 (tty_printer::tty_color, tty_printer::tty_printer,
5586 tty_printer::color_to_idx, tty_printer::put_color): Updated.
5588 2003-07-06 Ruslan Ermilov <ru@FreeBSD.org>
5590 * src/roff/nroff/nroff.sh: Add option -d for completeness.
5591 * src/roff/nroff/nroff.man: Updated.
5593 2003-07-05 Werner LEMBERG <wl@gnu.org>
5595 * NEWS, tmac/groff_www.man: Updated.
5596 * doc/Makefile.sub: Updated.
5598 2003-07-05 Gaius Mulley <gaius@glam.ac.uk>
5600 Implement support for multiple HTML output files.
5602 * src/preproc/html/pre-html.cpp (scanArguments): Dummy handling for
5603 -j command line option.
5605 * src/devices/grohtml/post-html.cpp (job_name, multiple_files): New
5607 (file): New fields `new_output_file', `require_links',
5609 (file::file): Updated.
5610 (files::set_file_name, files::set_links_required,
5611 files::are_links_required, files::is_new_output_file,
5612 files::file_name, files::next_file_name): New functions.
5613 (header_desc): New fields `no_of_level_one_headings',
5615 (header_desc::header_desc): Updated.
5616 (header_desc::write_headings): Handle multiple files.
5617 (html_printer::write_header): Save file name in which header occurs.
5618 (html_printer::determine_header_level): Possibly split files on
5620 (html_printer::do_links, html_printer::troff_tag): Updated.
5621 (html_printer::insert_split_file, html_printer::do_job_name,
5622 html_printer::emit_link, html_printer::write_navigation,
5623 html_printer::do_file_components): New functions.
5624 (html_printer::~html_printer): Handle multiple files.
5625 (main): Handle command line option `-j'.
5627 * src/devices/grohtml/grohtml.man: Updated.
5629 * doc/Makefile.sub (pic.html), doc/Makefile.in (pic.html): New rule
5632 * tmac/www.tmac (JOBNAME): New macro.
5633 * tmac/s.tmac (SH-NO-TAG): New macro.
5634 (@SH): Call SH-NO-TAG.
5637 2003-07-05 Ruslan Ermilov <ru@FreeBSD.org>
5639 * tmac/groff_mdoc.man: Improve documentation of punctuation
5642 2003-07-04 Ruslan Ermilov <ru@FreeBSD.org>
5644 * tmac/doc.tmac (Bd): Change to doc-Li-font later.
5646 2003-07-03 Werner LEMBERG <wl@gnu.org>
5648 * tmac/an-old.tmac [cR]: Redefine `bp' to avoid empty lines.
5650 2003-07-01 Ruslan Ermilov <ru@FreeBSD.org>
5652 * tmac/doc.tmac (doc-do-func, doc-do-func-args): Don't print a comma
5653 after `/*' and `*/'.
5655 (Fn, Fo): Reduce indentation in synopsis.
5657 * tmac/doc-common (doc-check-depth): New macro.
5658 (doc-end-macro, Sh, Ss): Use it.
5659 (Cd): Fix behaviour in synopsis.
5660 (In): Make it parsed and callable.
5661 If not in the synopsis, represent the C header file enclosed in
5663 (doc-str-Rv-std-suffix, doc-str-Rv-stds-suffix, doc-str-Rv-std0):
5664 Use minus, not hyphen.
5666 * tmac/groff_mdoc.man: Updated.
5668 2003-07-01 Werner LEMBERG <wl@gnu.org>
5670 Integrated grap2graph, contributed by Eric S. Raymond.
5672 * contrib/grap2graph/{Makefile.sub, grap2graph.sh, grap2graph.man}:
5674 * Makefile.in, NEWS, MANIFEST, contrib/eqn2graph.man,
5675 contrib/pic2graph.man, src/roff/groff/groff.man: Updated.
5677 2003-07-01 Colin Watson <cjwatson@debian.org>
5679 * src/xditview/*.c: Add prototypes, fix return types, add includes.
5680 Based on work by Fumitoshi UKAI <ukai@debian.or.jp>.
5682 2003-06-31 Ruslan Ermilov <ru@FreeBSD.org>
5684 * tmac/tty-char.tmac: Provide `lb', `rb', `lk', `rk', `lt', `rt'.
5686 2003-06-31 Werner LEMBERG <wl@gnu.org>
5688 * doc/Makefile.sub (CLEANADD): Remove all files created by
5689 running `make groff.{pdf,dvi}'.
5691 * Makefile.sub (DISTCLEANFILES): Remove all non-source files from
5694 2003-06-30 Werner LEMBERG <wl@gnu.org>
5696 * Makefile.in (SHELL): Define as @SHELL@.
5697 (mkinstalldirs): Use $(SHELL).
5698 (MDEFINES): Add $(SHELL).
5699 * Makefile.comm (SHELL): Removed.
5701 2003-06-29 Werner LEMBERG <wl@gnu.org>
5703 * tmac/s.tmac (De, Ds): New aliases for .DE and .DS, respectively.
5704 The X11 documentation files use them.
5705 * tmac/groff_ms.man, doc/groff.texinfo: Document them.
5707 2003-06-15 Robert Goulding <goulding@Princeton.EDU>
5709 * tmac/e.tmac (@C): Handle .ad also.
5711 2003-06-12 Werner LEMBERG <wl@gnu.org>
5713 * src/preproc/tbl/tbl.man: Document formatting of text blocks.
5715 * src/roff/troff/input.cc (token::next) <handle_escape_char>:
5716 Assign `n' even here. It is possible to construct a node
5717 immediately following an escape character:
5725 2003-06-10 Werner LEMBERG <wl@gnu.org>
5727 * README.WIN32: Removed.
5728 * MANIFEST: Updated.
5730 2003-06-07 Werner LEMBERG <wl@gnu.org>
5732 * src/roff/nroff/nroff.sh: Don't emit SGR for option -u.
5734 2003-06-05 Werner LEMBERG <wl@gnu.org>
5736 * src/preproc/pic/pic.y <sprintf_args>: Implement workaround for bug
5737 in Compaq C++ V6.5-033 for Compaq Tru64 UNIX V5.1A (Rev. 1885).
5739 2003-06-03 Werner LEMBERG <wl@gnu.org>
5741 * src/preproc/grn/hdb.cpp (DBRead): Don't close file handle; this
5742 is done by the calling function.
5744 2003-05-22 Ruslan Ermilov <ru@FreeBSD.org>
5746 * tmac/X.tmac: Fix definition of `em'.
5748 2003-05-22 Werner LEMBERG <wl@gnu.org>
5750 * src/roff/troff/input.cc (return_macro_request): Fix detection of
5753 2003-05-18 Werner LEMBERG <wl@gnu.org>
5755 * tmac/doc.tmac (doc-tag-list): Force horizontal mode after tag
5756 to make items work which consist only of a tag.
5758 2003-05-17 Werner LEMBERG <wl@gnu.org>
5760 * tmac/doc.tmac (doc-tag-list): Don't use \Z to assure that spaces
5761 aren't stretched in a tag (this can fail with unformatted boxes).
5762 Instead, insert a break and go back one line.
5764 2003-05-16 Werner LEMBERG <wl@gnu.org>
5766 * src/roff/troff/input.cc (return_macro_request): If called with
5767 argument pop macro twice. We need this to trace `return'.
5769 * tmac/trace.tmac: Handle `return'.
5772 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
5775 2003-05-15 Larry Kollar <kollar@alltel.net>
5777 * tmac/groff_ms.man, doc/groff.texinfo: Improve documentation of
5778 registers `FPS', `FVS', and `FPD'.
5780 2003-05-15 Werner LEMBERG <wl@gnu.org>
5782 * src/utils/pfbtops/pfbtops.c (get_text): Handle loop counter
5785 2003-05-03 Ruslan Ermilov <ru@FreeBSD.org>
5787 * tmac/groff_mdoc.man: Slight improvements.
5789 2003-05-03 Werner LEMBERG <wl@gnu.org>
5791 * tmac/doc-common (doc-header): Emit vertical space of 1v instead of
5792 `doc-header-space' after header line if register `cR' is set.
5794 2003-05-02 Werner LEMBERG <wl@gnu.org>
5798 2003-05-01 Ruslan Ermilov <ru@FreeBSD.org>
5800 * tmac/doc-common (Nd): Use \[em].
5802 2003-05-01 Werner LEMBERG <wl@gnu.org>
5804 * tmac/doc-ditroff, tmac/doc-nroff (doc-header-space,
5805 doc-footer-space): Initialize to 0.5i.
5806 (doc-setup-page-layout): Don't set doc-header-space and
5809 2003-04-30 Werner LEMBERG <wl@gnu.org>
5811 * REVISION: Set to 1.
5813 * doc/pic.ms: Document possible problems with `figname'.
5815 2003-04-29 Werner LEMBERG <wl@gnu.org>
5817 Version 1.19 released
5818 =====================
5820 * VERSION: Set to 1.19.
5821 * REVISION: Set to 0.
5822 * doc/groff.texinfo, doc/webpage.ms, NEWS: Updated.
5824 * src/devices/grohtml/post-html.cpp (html_printer::~html_printer):
5825 Define charset as `US-ASCII' in html output.
5827 * tmac/www.tmac (ULE): Add missing scaling indicator.
5829 * win32-diffs: Removed.
5831 2003-04-28 Werner LEMBERG <wl@gnu.org>
5833 * doc/groff.texinfo: Document `dn' and `dl' registers if used with
5835 Document how to insert discardable whitespace with `.ss'.
5837 2003-04-27 Werner LEMBERG <wl@gnu.org>
5839 * src/preproc/pic/tex.cpp (tex_output::start_picture): Make code
5840 work with plain TeX also.
5842 * src/preproc/pic/pic.man, doc/pic.ms: Fix TeX code example.
5844 2003-04-25 Gaius Mulley <gaius@glam.ac.uk>
5846 * src/devices/grohtml/post-html.cpp (html_printer::~html_printer):
5849 2003-04-24 Werner LEMBERG <wl@gnu.org>
5851 * src/preproc/pic/pic.man, doc/pic.ms: Explain how to get a
5852 vbox with positive height and zero depth if in TeX mode.
5854 * NEWS: Document glyph name changes for grodvi and grolj4.
5856 2003-04-23 Werner LEMBERG <wl@gnu.org>
5858 * src/preproc/pic/tex.cpp (tex_output::start_picture): Fix TeX code.
5859 * doc/pic.ms: Fixed.
5861 2003-04-21 Werner LEMBERG <wl@gnu.org>
5863 HP-UX 10.20 has `snprintf' but it isn't declared.
5865 * configure.ac: Add declaration test for snprintf.
5866 * configure: Regenerated.
5867 * src/include/lib.h: Handle `NEED_DECLARATION_SNPRINTF'.
5868 * src/include/config.hin: Regenerated.
5870 2003-04-19 Werner LEMBERG <wl@gnu.org>
5872 Add keyword `figname' to pic, specifying the name of the picture
5873 box in TeX mode. Based on a patch from William J Poser
5874 <wjposer@unagi.cis.upenn.edu>.
5876 * src/preproc/pic/pic.y: New token `FIGNAME'.
5877 (macro_name): New rule of type <str>.
5878 (placeless_element): Handle `FIGNAME'.
5879 * src/preproc/pic/lex.cpp (lookup_keyword): Add `figname'.
5880 * src/preproc/pic/main.cpp (graphname): New global variable.
5881 (do_picture): Initialize `graphname'.
5882 * src/preproc/pic/pic.h: Updated.
5883 * src/preproc/pic/tex.cpp (tex_output::start_picture): Use
5886 (tex_output::text): Beautify output.
5887 * src/preproc/pic/object.cpp (object_spec::~object_spec): Deallocate
5888 `shaded' and `outlined' unconditionally.
5889 * NEWS, src/preproc/pic/pic.man, doc/pic.ms: Updated.
5892 * PROBLEMS, README.CVS: Mention that bison version 1.875b or
5893 greater is necessary.
5895 2003-04-17 Hartmut Henkel <hartmut_henkel@gmx.de>
5897 Add option -r to soelim to avoid emission of `.lf' lines.
5898 Add option -t to produces TeX comment lines instead of `.lf' lines.
5900 * src/preproc/soelim/soelim.cpp: New global variables `raw_flag'
5903 (main): Handle `-r' and `-t'.
5904 (set_location): Handle `raw_flag' and `tex_flag'.
5905 * src/preproc/soelim/soelim.man, NEWS: Updated.
5907 2003-04-17 Werner LEMBERG <wl@gnu.org>
5909 * tmac/hyphenex.sh: Replaced with...
5910 * tmac/hyphenex.pl: This perl script to avoid sed compatibility
5913 * aclocal.m4 (GROFF_HTML_PROGRAMS): Emit useful warning message
5914 if --quiet is used for the configure script.
5915 * configure: Regenerated.
5917 2003-04-16 Werner LEMBERG <wl@gnu.org>
5919 * src/devices/grohtml/post-html.cpp (text_glob::text_glob):
5920 Add `const' to second argument.
5921 (html_printer::add_table_end): Add `const' to argument.
5922 * src/devices/grohtml/html-text.cpp (html_text::issue_tag): Add
5923 `const' to arguments.
5924 * src/devices/grohtml/html-text.h: Updated.
5926 * src/devices/grolbp/charset.h (symset): Use `unsigned char'.
5927 * src/devices/grolbp/lbp.h (lbpputc): Use `unsigned char' for
5930 * src/devices/grotty/tty.cpp (tty_printer::make_rgb_string): Use
5931 cast for integer constant.
5933 * src/preproc/html/pre-html.cpp (image_device): Use `const'.
5934 (writeNbytes): Add `const' to first argument.
5935 (writeString): Add `const' to argument.
5936 (char_buffer::can_see): Add `const' to third argument.
5937 * src/preproc/html/pushback.cpp (pushBackBuffer::isString): Add
5938 `const' to argument.
5939 * src/preproc/html/pushback.h: Updated.
5941 * src/preproc/soelim/soelim.cpp (include_list): Add `const'.
5942 (include_path_append): Add `const' to argument.
5945 * src/roff/troff/uniglyph.cpp (unicode_to_glyph_list): Use `const'
5947 (unicode_to_glyph_init::unicode_to_glyph_init): Updated.
5948 * src/roff/troff/uniuni.cpp (unicode_decompose_list): Use `const'
5950 (unicode_decompose_init::unicode_decompose_init): Updated.
5951 * src/roff/troff/glyphuni.cpp (glyph_to_unicode_list): Use `const'
5953 (glyph_to_unicode_init::glyph_to_unicode_init): Updated.
5954 * src/roff/troff/input.cc (process_startup_file): Add `const' to
5957 * tmac/hyphenex.sh: Make script more portable by using a here
5960 2003-04-15 Werner LEMBERG <wl@gnu.org>
5962 Renamed all `*.cc' files to `*.cpp'.
5963 Updated all configuration files, makefiles, and documentation.
5965 2003-04-14 Werner LEMBERG <wl@gnu.org>
5967 * tmac/hyphenex.sh: Slight improvements.
5969 2003-04-13 Werner LEMBERG <wl@gnu.org>
5971 * font/devascii/R.proto, font/devcp1037/R.proto,
5972 font/devlatin1/R.proto, font/devutf8/R.proto: Fill up remaining
5973 character slots with unnamed glyphs.
5975 * tmac/an-old.tmac: Fix hyphenation value if `cR' is active.
5976 (an-first): New global variable.
5977 (an-header): Emit vertical space between multiple man pages.
5979 2003-04-11 Werner LEMBERG <wl@gnu.org>
5981 * doc/groff.texinfo, man/groff_out.man: \S only accepts integer
5984 2003-04-10 Werner LEMBERG <wl@gnu.org>
5986 * PROBLEMS: Revised.
5988 2003-04-10 Bernd Warken <bwarken@mayn.de>
5990 * doc/webpage.ms: Improved.
5992 2003-04-09 Werner LEMBERG <wl@gnu.org>
5994 Add register \n[.height] which returns the value of \H.
5995 Add register \n[.slant] which returns the value of \S.
5997 * src/roff/troff/env.cc (init_env_requests): Implement.
5998 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
6001 2003-04-08 Werner LEMBERG <wl@gnu.org>
6003 * tmac/html.tmac: Move some of the data into html-end.tmac.
6004 Remove most of the character translations for eqn since html fonts
6005 now cover those characters.
6007 * tmac/html-end.tmac: New file.
6008 * tmac/troffrc: Load html.tmac not www.tmac for -Thtml.
6009 * tmac/troffrc-end: Load html-end.tmac not html.tmac for -Thtml.
6010 * tmac/Makefile.sub (NORMALFILES): Add html-end.tmac.
6012 2003-04-07 Werner LEMBERG <wl@gnu.org>
6014 * man/groff_out.man: Document negative values of `N' if -Thtml is
6017 2003-04-06 Werner LEMBERG <wl@gnu.org>
6019 * Makefile.comm (depend.temp): Check location of YTABC.
6021 2003-04-05 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
6023 * doc/Makefile.in (TROFFBIN): New variable for troff
6025 (GROFFBIN): New variable for groff binary path.
6026 (groff_bin_path): Rename to GROFF_BIN_PATH.
6027 (TROFF): Use TROFFBIN.
6028 (GROFF): Use GROFFBIN and GROFF_BIN_PATH.
6029 * doc/Makefile.sub (GROFFBIN): New variable for groff
6031 (groff_bin_path): Rename to GROFF_BIN_PATH.
6032 (GROFF): Use GROFFBIN and GROFF_BIN_PATH.
6034 * Makefile.comm (install_dev): Install scripts from DEVSCRIPTS
6035 with INSTALL_SCRIPT.
6036 (uninstall_dev): Uninstall scripts from DEVSCRIPTS.
6037 * Makefile.dev (all): Depend on DEVSCRIPTS.
6038 (install_dev): Likewise.
6039 * font/devdvi/Makefile.sub (DEVSCRIPTS): New variable to hold
6041 * font/devps/Makefile.sub (DEVSCRIPTS): Likewise.
6042 (DEVGENSCRIPTS): New variable to hold generated scripts.
6044 2003-04-05 Werner LEMBERG <wl@gnu.org>
6046 * src/libs/libdriver/input.cc (IntArray::operator[],
6047 IntArray::get_data): Remove meaningless `const' in return value.
6049 * README.CVS: New file.
6051 2003-04-04 Werner LEMBERG <wl@gnu.org>
6053 Check for stdint.h in C++, not in C.
6055 * aclocal.m4 (GROFF_STDINT_H): New function,
6056 * configure.ac: Check for stdint.h with GROFF_STDINT_H instead of
6058 * configure, src/include/config.hin: Regenerated.
6059 * src/libs/libgroff/tmpname.cc: Use HAVE_CC_STDINT_H.
6062 Fix handling of in grohtml. To do this, troff emits `N'
6063 with a negative value, representing the width of the unbreakable
6064 space (only for -Thtml). grohtml then converts this back to
6065 and uses the value of N as its width.
6067 * src/roff/troff/node.cc (space_char_hmotion_node::tprint,
6068 unbreakable_space_node::tprint): Emit `N-<width>'.
6069 * src/include/printer.h (printer::set_numbered_char): Make it
6071 Make members `font_table' and `nfonts' protected instead of private.
6072 * src/devices/grohtml/post-html.cc
6073 (html_printer::set_numbered_char): New member function.
6076 * src/libs/libgroff/maxfilename.cc:
6077 s/HAVE_LIMITS_H/HAVE_CC_LIMITS_H/.
6079 * src/roff/troff/node.cc (unbreakable_space_node::tprint): Don't
6082 2003-04-03 Sergey A. Osokin <osa@freebsd.org.ru>
6084 * man/roff.man: Small fixes.
6086 2003-04-03 Werner LEMBERG <wl@gnu.org>
6088 Make groff independent from locale's numeric settings.
6090 * configure.ac: Check for `setlocale'.
6091 * configure, src/include/config.hin: Regenerated.
6093 * src/include/lib.h: Handle HAVE_SETLOCALE.
6095 * src/devices/grodvi/dvi.cc (main), src/devices/grolj4/lj4.cc
6096 (main), src/devices/grops/ps.cc (main), src/preproc/grn/main.cc
6097 (main), src/preproc/pic/main.cc (main): Call `setlocale'.
6100 * doc/groff.texinfo: Change dir category to `Typesetting'.
6101 (Man font macros): Mention that there is no space between arguments
6104 * src/libs/libdriver/printer.cc, src/devices/grotty/tty.cc
6105 (*printer::change_color, *printer::change_fill_color): Add missing
6108 2003-04-02 Werner LEMBERG <wl@gnu.org>
6110 * src/devices/grohtml/html-table.cc (html_table::emit_col,
6111 html_table::is_gap): Compute table widths after converting border
6112 positions to avoid rounding errors.
6114 2003-04-01 Werner LEMBERG <wl@gnu.org>
6116 * src/devices/grohtml/html-text.cc (html_text::do_space): Handle
6117 `space_emitted' properly.
6119 2003-03-31 Werner LEMBERG <wl@gnu.org>
6121 * src/devices/grohtml/html-table.cc: Fix column width calculation.
6122 (html_table::set_linelength): Don't add 1.
6123 (html_table::add_indent): Don't subtract 1.
6125 * tmac/html.tmac: Set default page offset to zero.
6127 2003-03-30 Werner LEMBERG <wl@gnu.org>
6129 Make groff emit ` ' for `\ ' and `\~' if `-Thtml' is used.
6131 * src/roff/troff/node.cc (space_char_hmotion_node::tprint,
6132 unbreakable_space_node::tprint): New functions.
6133 (troff_output_file): Make space_char_hmotion_mode::tprint and
6134 unbreakable_space_node::tprint to friends.
6135 * src/roff/troff/node.h: Updated.
6137 * font/devhtml/R.proto: Add ` ' at position 0xA0 (as defined
6138 in the HTML standard).
6140 2003-03-29 Werner LEMBERG <wl@gnu.org>
6142 * src/roff/troff/env.cc (point_size): Fix emission of html tag.
6143 Otherwise, the following code
6152 produces `x a' instead of `xa'. This is a temporary fix, disabling
6153 font changes in diversions for -Thtml.
6155 * tmac/an-old.tmac (TH, SH): Use `HTML-TAG-NS' instead of
6157 (an-do-tag-html): Merge with ...
6158 (an-do-tag): This macro.
6159 Change code slightly to circumvent grohtml bug.
6160 * tmac/troffrc-end: Define dummy for HTML-TAG-NS.
6162 * src/devices/grohtml/html-table.cc (html_table::emit_col,
6163 html_table::is_gap): Round `width' properly.
6165 * tmac/html.tmac: Provide some default layout parameters for
6168 * font/devhtml/DESC.proto: Don't use discrete values for `sizes'
6171 2003-03-28 Werner LEMBERG <wl@gnu.org>
6173 src/devices/grops/ps.cc (ps_printer::do_import): Fix error message.
6175 2003-03-27 Werner LEMBERG <wl@gnu.org>
6177 * tmac/an-old.tmac (BT): Don't call .tl if register `ps4html' is
6180 2003-03-20 Werner LEMBERG <wl@gnu.org>
6182 * src/roff/troff/env.cc (vertical_spacing): Allow zero value for
6184 * doc/groff.texinfo: Updated.
6186 2003-03-19 Werner LEMBERG <wl@gnu.org>
6188 * src/roff/troff/input.cc (process_input_stack) <TOKEN_BEGIN_TRAP,
6189 TOKEN_END_TRAP>: Reset `have_input'.
6191 2003-03-18 Werner LEMBERG <wl@gnu.org>
6193 * src/roff/groff/groff.man: Mention groff_trace man page.
6195 2003-03-16 Werner LEMBERG <wl@gnu.org>
6197 * Makefile.in (LIBEXT): New variable to indicate the file extension
6198 of library files. Computed heuristically from $(OBJEXT).
6199 (MDEFINES): Add $(LIBEXT).
6200 * Makefile.lib, Makefile.comm: Use it.
6202 * src/utils/pfbtops/pfbtops.c (get_text): New function. Split
6203 overlong lines into smaller chunks.
6204 (get_binary): New function.
6206 * src/utils/pfbtops/pfbtops.man: Updated.
6208 2003-03-15 Colin Watson <cjwatson@debian.org>
6210 * src/roff/groff/groff.man: Minor syntax fix.
6212 2003-03-14 Egil Kvaleberg <egil@kvaleberg.no>
6214 * src/devices/grops/ps.cc (ps_printer::media_set,
6215 ps_printer::~ps_printer): Handle zero paper width and length.
6217 2003-03-13 Werner LEMBERG <wl@gnu.org>
6219 Add options -p and -l to grodvi.
6221 * src/devices/grodvi/dvi.cc: Include paper.h.
6222 (landscape_flag, user_paper_length, user_paper_width): New global
6224 (dvi_printer::begin_page): Emit `papersize' special.
6225 Set color after initialization of `cur_h' and `cur_v'.
6226 (main): Add options `-l' and `-p'.
6227 * font/devdvi/Makefile.sub (DESC): Set `papersize'.
6228 * src/devices/grodvi/grodvi.man, NEWS: Updated.
6230 * src/devices/grops/psrm.cc (valid_input_table): Fixed.
6232 2003-03-12 Werner LEMBERG <wl@gnu.org>
6234 * src/devices/grops/grops.man: Move documentation of .PSPIC to...
6235 * man/groff_tmac.man: This man page.
6236 * man/groff_font.man: Declare `paperwidth' and `paperlength' as
6239 * tmac/X.tmac: Don't load pspic.tmac.
6241 2003-03-11 Werner LEMBERG <wl@gnu.org>
6243 Make variable `pr' local to libdriver/input.cc. Based on a patch
6244 by Bernd Warken <bwarken@mayn.de>.
6246 * src/include/driver.h (pr): Removed.
6248 * src/libs/libdriver/input.cc (pr): New global variable.
6249 (do_file): Deallocate `pr'.
6250 * src/libs/libdriver/printer.cc (pr): Removed.
6252 * src/devices/grodvi/dvi.cc (main), src/devices/grohtml/post-html.cc
6253 (main), src/devices/grolbp/lbp.cc (main), src/devices/grolj4/lj4.cc
6254 (main), src/devices/grops/ps.cc (main), src/devices/grotty/tty.cc
6255 (main): Don't delete `pr'.
6257 2003-03-10 Werner LEMBERG <wl@gnu.org>
6259 * tmac/a4.tmac, tmac/composite.tmac: Use `.do'.
6260 * tmac/papersize.tmac: New file.
6261 * tmac/troffrc: Include `papersize.tmac'.
6262 * tmac/Makefile.sub (NORMALFILES): Add `papersize.tmac'.
6263 * tmac/an-old.tmac: Set LT to LL by default.
6265 * NEWS, MANIFEST, tmac/groff_man.man, man/groff_tmac.man,
6266 doc/groff.texinfo: Updated.
6268 * src/libs/libgroff/paper.cc (add_iso_paper): Fix very embarassing
6269 bug which caused all odd iso papers to have wrong dimensions.
6271 * src/devices/grops/ps.cc (user_paper_width): New global variable.
6272 (main) <'p'>: Set `user_paper_width' also.
6273 (ps_printer::media_width, ps_printer::media_height): Use values
6274 given with option `-p'.
6276 2003-03-09 Werner LEMBERG <wl@gnu.org>
6278 * src/include/nonposix.h: Provide default for SET_BINARY.
6280 * src/devices/grodvi/dvi.cc, src/devices/grolbp/lbp.cc,
6281 src/devices/grolj4/lj4.cc, src/devices/grops/ps.cc: Call SET_BINARY
6284 * src/utils/pfbtops/pfbtops.c: Call SET_BINARY unconditionally.
6285 (main): Treat \r\n as \n.
6287 2003-03-08 Werner LEMBERG <wl@gnu.org>
6289 * tmac/an-old.tmac: Use register `HY' to control hyphenation.
6290 * NEWS, tmac/groff_man.man, doc/groff.texinfo: Document it.
6292 2003-03-07 Werner LEMBERG <wl@gnu.org>
6294 Added support to access more than 256 glyphs in Type 1 fonts.
6296 * src/devices/grops/ps.cc (subencoding): New structure.
6297 (style): Add `sub' field.
6299 (ps_printer): Add `subencodings' and `next_subencoding_index' fields.
6300 Add `set_subencoding', `get_subfont' and `encode_subfont' member
6303 (ps_printer::set_char): Use `set_subencoding'.
6304 (make_subencoding_name): New function.
6305 (ps_printer::set_style): Handle case where `sty.sub' is not zero.
6306 (ps_printer::~ps_printer): Emit subencoding definitions.
6308 * src/devices/grops/psrm.cc (valid_input_table): New array to
6309 properly support EBCDIC.
6310 (white_space): Add `\f'.
6311 (ps_get_line): Change first argument to be of type `string &'.
6312 Updated all callers.
6313 This allows to get lines of arbitrary length.
6314 Use `valid_input_table'.
6315 Remove warning about non-conforming PS line length. This seems
6316 not to be of great importance -- for example, dvips don't emit
6318 (PS_LINE_MAX): Removed.
6319 (matches_comment): Change first argument to be of type `string &'.
6321 * src/devices/grops/grops.man, src/devices/grops/TODO: Updated.
6323 * src/utils/afmtodit/afmtodit.pl (%unicode_decomposed,
6324 %AGL_to_unicode, %default_ligatures): New hash tables.
6325 Read all map entries.
6326 Add unencoded characters.
6327 Check for default ligatures if there are no `L' entries.
6328 Print all kern entries.
6329 Print all characters in charset.
6330 * src/utils/afmtodit/afmtodit.man: Updated.
6332 * font/devps/*: Regerated all fonts.
6334 * tmac/latin[129].tmac, tmac/cp1047.tmac: Don't test for existence
6335 of characters, just use `.trin'. Otherwise the mapping depends
6336 on the font encoding.
6337 * tmac/ps.tmac: Add `fi' and `fl'.
6338 Improve `Fi' and `Fl'.
6339 * tmac/X.tmac, tmac/lbp.tmac, tmac/tty.tmac: Improve `Fi' and `Fl'.
6340 * tmac/Xps.tmac: Fix `em'.
6344 2003-03-04 Werner LEMBERG <wl@gnu.org>
6346 * src/roff/troff/input.cc (charinfo_to_node_list): Reset
6349 2003-03-03 Werner LEMBERG <wl@gnu.org>
6351 * Makefile.sub (DISTCLEANFILES): Add gxditview._man.
6353 * font/devps/generate/textmap: Remove entry `similarequal'.
6354 * font/devps/symbolmap: Updated.
6356 2003-03-02 Werner LEMBERG <wl@gnu.org>
6358 * src/libs/libgroff/font.cc (font::load): Fix error message for
6361 * src/devices/grops/grops.man: Improve documentation of the -b
6364 * tmac/tty.tmac: Load latin1.tmac for all TTY devices except
6365 `ascii' and `cp1047'.
6367 2003-03-01 Werner LEMBERG <wl@gnu.org>
6369 Document composite glyphs and the `composite' request.
6371 * man/groff.man, man/groff_diff.man, doc/groff.texinfo: Do it.
6373 2003-02-28 Werner LEMBERG <wl@gnu.org>
6375 * font/devdvi/generate/ec.map: Add some more Unicode entities.
6376 * font/devdvi/*EC: Updated.
6378 * tmac/composite.tmac, tmac/latin2.tmac, tmac/latin9.tmac: New files.
6379 * tmac/latin1 (latin1-tr): Undo any previous mapping.
6380 * tmac/troffrc: Load `composite.tmac'.
6381 * tmac/Makefile.sub (NORMALFILES): Updated.
6383 * doc/groff.texinfo (Input Encodings): New section.
6386 2003-02-27 Werner LEMBERG <wl@gnu.org>
6388 * doc/texinfo.tex: New version 2003-02-11.06.
6390 * tmac/doc-common (Dt): Don't emit warning for unknown section.
6391 * tmac/groff_mdoc.man: Fix description of `Dt'.
6393 2003-02-26 Egil Kvaleberg <egil@kvaleberg.no>
6395 * font/devps/prologue.ps: Fix for included Postscript that does
6396 a setpagedevice -- which is now safely ignored.
6400 * src/devices/grops/ps.cc: Now sets the page size in the generated
6401 document. This is done in two ways: Via a %%-comment for gv and
6402 the like, and via a PageSize and setpagedevice for programs that
6403 understands Postscript proper, like ps2pdf.
6405 * src/devices/grops/ps.h: New broken-flag to avoid page size
6406 definition, if required.
6408 * src/devices/grops/grops.man: New broken-flag 16 mentioned.
6410 * doc/Makefile.in: Added -nosetpage flag (via @pnmtops_nosetpage@).
6411 Not really necessary due to the fix in prologue.ps, but cleaner:
6412 Such information does not belong in an .eps file.
6414 * doc/Makefile.sub: See doc/Makefile.in.
6416 2003-02-26 Ralph Corderoy <ralph@inputplus.co.uk>
6418 * aclocal.m4 (GROFF_PNMTOPS_NOSETPAGE): Use P2 format for testing
6419 instead of P1 since the latter is broken in some versions of netpbm.
6420 * configure: Updated.
6422 2003-02-26 Larry Kollar <kollar@alltel.net>
6424 Make man pages more customizable.
6426 * tmac/an-old.tmac (FT): New register holding footer distance from
6428 (HF): New string holding the default heading font.
6429 (TH): Handle registers `IN' and `SN' set on the command line.
6431 (PT, BT): New strings to customize header and footer lines.
6432 (an-header, an-footer): Use them.
6434 * tmac/groff_man.man: Document changes.
6436 * doc/groff.texinfo: Document man changes.
6437 Document Ultrix extensions of man.
6439 2003-02-26 Werner LEMBERG <wl@gnu.org>
6441 * src/roff/troff/input.cc (do_width, do_if_request): Reset
6442 `have_input' after changing back to old environment.
6444 * src/devices/grolbp/lbp.cc (lbp_printer::set_line_thickness): Move
6445 function up to be defined before first call. This is necessary to
6446 avoid a compilation problem with Sun's WorkShop 6 C++ compiler.
6448 * src/utils/afmtodit/afmtodit.pl: Make script search for files in
6449 the default font directory also. Based on a patch from James
6450 J. Ramsey <jjramsey_6x9eq42@yahoo.com>.
6451 * src/utils/afmtodit/Makefile.sub (afmtodit): Handle @FONTDIR@.
6452 * src/utils/afmtodit/afmtodit.man: Document it.
6456 * tmac/groff_man.man, doc/groff.texinfo: Many minor fixes.
6458 2003-02-25 Gaius Mulley <gaius@glam.ac.uk>
6460 * aclocal.m4 (GROFF_HTML_PROGRAMS): Add test for pnmtops.
6461 (GROFF_PNMTOPS_NOSETPAGE): New macro.
6462 * configure.ac: Use it.
6463 * configure: Regenerated.
6464 * Makefile.in: Updated.
6466 * tmac/Makefile.sub (NORMALFILES): Remove www.tmac.
6467 (CLEANADD): Add www.tmac-sed.
6468 (pnmtops_nosetpage): Define default.
6469 (install_data): Handle www.tmac-sed and substitute
6470 @PNMTOPS_NOSETPAGE@.
6471 (stamp-sed): Add www.tmac.
6472 * tmac/www.tmac: Rewritten, based on a patch by Bernd Warken.
6473 It now breaks URLs at suitable places.
6474 (www:substring_ok): New register set by...
6475 (www:@test_substring): New macro.
6476 (www:error): New alias to www-error.
6477 (www:lenstr, www:splitstr, www:url_breaks, www:url_breaks_splitted):
6479 (URL): Use www:url_breaks.
6480 (PIMG, MPIMG): Use @PNMTOPS_NOSETPAGE@.
6481 (CDS, CDE): New macros.
6483 2003-02-25 Werner LEMBERG <wl@gnu.org>
6485 * src/devices/grops/ps.cc (ps_printer::define_encoding): Avoid
6488 2003-02-24 Werner LEMBERG <wl@gnu.org>
6490 Contrary to the PCL5 Developer's Guide, the ascenders in TFM files
6491 can be negative also.
6493 * src/utils/hpftodit/hpftodit.cc (char_info): `ascent' must be
6495 (read_char_table): Avoid negative ascenders.
6496 (output_charset): Add cast.
6497 * font/devlj4/*: Regenerated.
6499 Replace unnamed glyphs for DVI fonts with `uXXXX' glyph names where
6502 * font/devdvi/generate/{tc,texttt,ec,texmi,texsy,textex}.map: Do it.
6503 * font/devdvi/generate/textex.map: Map glyph 23 to `u21C6' instead
6505 * font/devdvi/*: Regenerated.
6507 Map `la' and `ra' to U+27E8 and U+27E9. These two characters have
6508 normal width, while the previously used characters (U+2329 and
6509 U+232A) are classified as wide due to canonical equivalence with the
6510 CJK punctuation characters U+3008 and U+3009.
6512 * font/devutf8/R.proto: Updated.
6513 * src/roff/troff/uniglyph.cc, src/roff/troff/glyphuni.cc: Ditto.
6515 * man/groff_char.man: Simplify handling of table traps by
6516 introducing `start block' and `end block' macros.
6517 (Ns, Ne, 2s, 2e, Ds, De): New macros.
6518 (DL): Make it work with Unix troff also.
6519 Fix code values of `la' and `ra'.
6521 * tmac/dvi.tmac: Define `<>' for CW and CWI.
6523 2003-02-23 Gaius Mulley <gaius@glam.ac.uk>
6525 * src/devices/grohtml/post-html.cc (element_list::~element_list):
6526 New destructor, fixing a major memory leak.
6528 2003-02-22 Werner LEMBERG <wl@gnu.org>
6530 * font/devhtml/R.proto, font/devutf8/R.proto: Flip `*f' and `+f'
6531 to be in conformance with Unicode 3.0 and newer.
6533 * font/devlj4/generate/text.map: Add `Eu'.
6534 * font/devlj4/generate/special.map: Flip `*e' and `+e'.
6535 * font/devlj4/S: Regenerated.
6537 * man/groff_char.man: Completely rewritten.
6539 * doc/groff.texinfo: Fix description of request and macro arguments.
6541 2003-02-20 Gaius Mulley <gaius@glam.ac.uk>
6545 * src/devices/grohtml/html-table.cc (html_table::~html_table):
6546 Deallocate `columns' list.
6547 * src/devices/grohtml/post-html.cc (char_block::~char_block):
6549 (text_glob::text_glob_html, text_glob::text_glob_special,
6550 text_glob::text_glob_line, text_glob::text_glob_auto_image,
6551 text_glob::text_glob_tag): Avoid memory leaks.
6552 (text_glob::remember_table): Free memory before reassigning.
6554 2003-02-19 Werner LEMBERG <wl@gnu.org>
6556 Add glyph `+e', greek lunate epsilon symbol, and `-h' (with the
6557 alias `hbar'), the Planck constant over two pi.
6559 * font/devdvi/generate/texmi.map: Use `*e' for position 15 and
6560 `+e' for position 34.
6561 * font/devdvi/generate/texsy.map: Replace `DI' and `HE' with
6562 `u2662' and `u2661'.
6563 * font/devdvi/{MI,S}: Regenerated.
6564 * font/devhtml/R.proto, font/devutf8/R.proto: Add `+e', `-h', `hbar'.
6565 * font/devlbp/*: Add `hbar' alias.
6566 * font/devlj4/generate/special.map: Ditto.
6567 * font/devlj4/S: Regenerated.
6568 * font/devps/generate/symbolchars: Add `+e'.
6569 * font/devps/generate/textmap: Fix PS name for `-h'.
6571 * font/devps/symbolmap: Regenerated.
6573 * src/devices/grops/ps.cc (transform_fill): Removed since unused.
6575 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `+e',
6577 * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `+e',
6580 * tmac/X.tmac, tmac/ps.tmac: Provide definitions for `-h' and
6582 * tmac/tty-char.tmac: Add `+e'.
6584 2003-02-17 Werner LEMBERG <wl@gnu.org>
6586 Another round trying to really fix problems with `have_input'.
6588 * src/roff/troff/input.cc (input_stack::get): Handle `have_input'.
6589 (token::next) <'\n'>, <\'\n'>: Don't handle `have_input'.
6591 * src/devices/grotty/tty.cc (tty_printer::put_color): Fix color
6592 handling if both foreground and background colors are default.
6594 * doc/groff.texinfo (Debugging): Document .lf differences to
6597 2003-02-16 Werner LEMBERG <wl@gnu.org>
6599 * src/devices/grotty/tty.cc (tty_printer::make_rgb_string): Avoid
6600 null-bytes in created string.
6602 * src/roff/troff/input.cc (lookup_color, interpolate_macro,
6603 alias_macro, lookup_request): Improve warning messages.
6605 * src/roff/troff/node.cc (suppress_node::tprint): Use `strsave',
6607 Free `last_image_filename'.
6609 * src/preproc/html/pre-html.cc (char_block::char_block): Initialize
6611 (imageList::createPage, imageList::createImage): Use `free', not
6613 (imageItem::~imageItem): Free `imageName'.
6614 (addRegDef): Use `strsave', not `strdup'.
6615 (get_resolution): Free `pathp'.
6617 2003-02-15 Werner LEMBERG <wl@gnu.org>
6619 * src/devices/grotty/tty.cc (tty_printer::tty_printer): Fix pointer
6622 2003-02-14 Werner LEMBERG <wl@gnu.org>
6624 Add memory management for colors to deallocate unnamed colors
6627 * src/include/color.h (color): New members `free_list' and `next'.
6628 New member functions `new' and `delete'.
6630 * src/libs/libgroff/color.cc: Implement it.
6632 * src/libs/libgroff/font.cc (font::add_kern): Use integer cast
6633 for array size of new operator.
6635 * src/libs/libdriver/input.cc (IntArray::operator[]): Remove
6636 redundant comparison.
6638 * src/roff/troff/input.cc (word_space_node::reread,
6639 hmotion_node::reread): Avoid warning about unused parameter.
6640 (reset_output_registers): Remove redundant parameter.
6641 (define_color): Undo change 2003-02-12.
6643 * src/roff/troff/reg.h: Updated.
6645 * src/roff/troff/node.cc (troff_output_file::really_print_line,
6646 output_file::put_filename, real_output_file::really_put_filename,
6647 ascii_output_file::really_print_line,
6648 break_char_node::get_hyphen_list): Avoid warning about unused
6650 (suppress_node::tprint): Updated.
6652 * configure.ac: Check declaration for rand() and srand().
6653 * configure: Regenerated.
6655 * src/preproc/pic/pic.h: Declare fmod(), rand(), and srand()
6657 * src/preproc/pic/pic.y: Remove declaration of fmod(), rand(),
6660 * src/preproc/eqn/delim.cc (delim_table): Add missing initializers
6661 to avoid compiler warnings.
6663 * src/preproc/grn/hgraph.cc (HGPrintElt): Second parameter is
6666 * src/devices/grops/ps.cc (ps_printer::set_char): Last parameter
6668 * src/devices/grops/psrm.cc (skip_possible_newline): Remove first
6670 Updated all callers.
6672 * src/devices/grotty/tty.cc (tty_printer::set_char): Last parameter
6674 * src/devices/grodvi/dvi.cc (dvi_printer::set_char): Ditto.
6675 * src/devices/grolj4/lj4.cc (lj4_printer::set_char): Ditto.
6677 * src/devices/grohtml/post-html.cc (html_printer::emit_line):
6678 Parameter is unused.
6679 (html_printer::add_table_end): Define parameter conditionally.
6680 * src/devices/grohtml/output.cc (simple_output::special): Parameter
6683 * src/devices/grolbp/lbp.cc: Define _GNU_SOURCE conditionally.
6684 (lbp_printer::set_char): Last parameter is unused.
6686 * src/utils/indxbib/indxbib.cc (main): Remove redundant comparison.
6688 2003-02-13 Werner LEMBERG <wl@gnu.org>
6690 New commands \D'Fr ...', \D'Fc ...', etc. for orthogonality.
6691 Make \D'f ...' move horizontally again for backwards compatibility.
6692 Replace it with \D'Fg ...' where appropriate to avoid dependency
6693 on horizontal resolution.
6695 * src/roff/troff/input.cc (do_get_long_name): New function.
6696 (get_long_name): Call it.
6698 (read_draw_node): Handle `\D'Fx ...' by calling ...
6699 (read_color_draw_node): New function.
6701 (read_rgb, read_cmy, read_cmyk, read_gray): New optional argument
6703 Pass it to `do_get_long_name' which is used instead of
6706 * src/libs/libdriver/input.cc (color_from_Df_command): Remove
6707 unnecessary value guard.
6708 (parse_D_command) <'f'>: Add horizontal shift.
6710 * src/preproc/grn/hgraph.cc (HGPrintElt) <POLYGON>: Use \D'Fg ...'.
6711 * src/preproc/pic/troff.cc (troff_output::set_fill): Ditto.
6712 (FILL_MAX): Removed.
6714 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
6717 2003-02-12 Werner LEMBERG <wl@gnu.org>
6719 * src/roff/troff/input.cc (do_name_test, do_expr_test,
6720 do_zero_width): Push `\n' if closing delimiter is missing.
6722 (token::next) <ESCAPE_NEWLINE>, <'\n'>, <\'\n'>: Reset `have_input'.
6723 <'F'>: Make \F non-transparent at the beginning of line.
6724 (process_input_stack) <token::TOKEN_CHAR, token::TOKEN_NEWLINE,
6725 token::TOKEN_REQUEST, token::TOKEN_BEGIN_TRAP>: Don't handle
6728 (define_color): Free color in case of reassignment.
6730 * doc/groff.texinfo (@Defesc, @DefescList, @DefescItem,
6731 @DefescListEnd): Use @Var, not @var.
6734 * src/preproc/grn/hgraph.cc (HGPrintElt): Fix typo.
6736 * src/preproc/pic/object.cc (object_spec::~object_spec): Free
6737 `shaded' and `outlined' arrays.
6738 (object_spec::object_spec): Initialize `shaded' and `outlined'.
6739 (graphic_object::set_fill_color, graphic_object::set_outline_color):
6741 (closed_object::set_fill_color): Ditto.
6742 * src/preproc/pic/troff.cc (troff_output::set_color): Use strsave
6744 (troff_output::reset_color): Use a_delete instead of free.
6745 * src/preproc/pic/main.cc (do_file): Free `out' in case of error.
6747 2003-02-11 Werner LEMBERG <wl@gnu.org>
6749 * doc/groff.texinfo: Improve documentation of `ad'.
6750 Document that \D'f...' is dependent on the horizontal resolution.
6751 * man/groff_diff.man: Improve documentation of \D'f...'.
6753 * src/preproc/grn/hgraph.cc (HGPrintElt) <POLYGON>: Don't emit
6754 compensating \h'...' for \D'f ...' since the latter no longer moves
6756 * src/preproc/pic/troff.cc (troff_output::set_fill): Ditto.
6758 2003-02-10 Werner LEMBERG <wl@gnu.org>
6760 Improve error messages for `x F' (and `F') commands.
6762 * src/include/error.h: Add declaration for
6763 `current_source_filename'.
6764 * src/libs/libgroff/filename.cc: Add `current_source_filename'.
6765 * src/libs/libgroff/error.cc (do_error_with_file_and_line): Add
6766 parameter for source file string.
6767 Updated all callers.
6769 * src/libs/libdriver/input.cc: Add `current_source_filename'.
6770 (remember_source_filename): New function.
6771 (parse_x_command <'F'>, do_file <'F'>): Use it.
6773 2003-02-09 Werner LEMBERG <wl@gnu.org>
6775 Make grotty not emit warnings about unknown colors more than
6778 * src/devices/grotty/tty.cc: Include `ptable.h'.
6779 (TTY_MAX_COLORS): Removed.
6780 (DEFAULT_COLOR_IDX): Defined to -1.
6781 (glyph): Change `back_color_idx' and `fore_color_idx' to `char'.
6782 (tty_printer): Change `curr_back_idx' and `curr_fore_idx' to `char'.
6783 Change `tty_colors' to be a ptable.
6784 First arg of `put_color' is now `char'.
6785 New functions `make_rgb_string' and `tty_color'.
6786 (tty_printer::tty_printer): Use `tty_color'.
6787 (tty_printer::color_to_idx): Return value is now `char'.
6790 * src/include/color.h (color): Add `print_color' member function.
6791 * src/libs/libgroff/color.cc (color::print_color): Implement it.
6793 2003-02-08 Werner LEMBERG <wl@gnu.org>
6797 * src/devices/grops/ps.cc (ps_printer::define_encoding): Close
6800 * src/include/ptable.h (PTABLE::~PTABLE, PTABLE::define): Always
6801 assume that value has been allocated with `new[]', thus use
6802 `a_delete' for deallocation.
6804 * src/libs/libdriver/input.cc (get_integer_arg,
6805 get_possibly_int_args, parse_x_command, do_file): Use `a_delete'
6808 * src/libs/libgroff/new.cc (delete) [!COOKIE_BUG]: Define.
6809 * src/libs/libgroff/nametoindex.cc
6810 (character_indexer::named_char_index): Use `new <type>[1]'.
6812 * src/preproc/eqn/lex.cc (init_table, do_definition): Use `new
6814 * src/preproc/eqn/text.cc (set_special_char_type): Ditto.
6815 (split_text): Use `a_delete'.
6817 * src/preproc/pic/pic.y (define_label, define_variable): Use `new
6820 * src/roff/troff/env.cc (environment::choose_breakpoint): Avoid
6821 harmless memory leak.
6822 (hyphen_trie::read_patterns_file): Initialize `buf'.
6823 * src/roff/troff/node.cc (troff_output_file::troff_output_file):
6824 Initialize `current_fill_color'and `current_glyph_color'.
6825 * src/roff/troff/glyphuni.cc
6826 (glyph_to_unicode_init::glyph_to_unicode_init): Use `new <type>[1]'.
6827 * src/roff/troff/uniuni.cc
6828 (unicode_decompose_init::unicode_decompose_init): Ditto.
6829 * src/roff/troff/uniglyph.cc
6830 (unicode_to_glyph_init::unicode_to_glyph_init): Ditto.
6832 2003-01-26 Werner LEMBERG <wl@gnu.org>
6834 * src/utils/indxbib/indxbib.cc (main) [__EMX__]: Check with
6835 `access' before calling `unlink'.
6836 (do_file): Handle __EMX__.
6838 * src/include/nonposix.h: Handle __EMX__.
6840 * Makefile.in (SEP): New variable; set to @PATH_SEPARATOR@.
6841 (fontpath,tmacpath): Use it.
6843 Sorted alphabetically.
6845 * src/preproc/eqn/neqn.sh, src/roff/nroff/nroff.sh: Use
6847 * src/preproc/eqn/Makefile.sub, src/roff/nroff/Makefile.sub: Handle
6850 2003-01-27 Werner LEMBERG <wl@gnu.org>
6852 * src/libs/libgroff/strcasecmp.c, src/libs/libgroff/strncasecmp.c:
6853 New files, copied from gnulib.
6854 * src/libs/libgroff/Makefile.sub (CSRCS): Add them.
6855 * configure.ac: Updated.
6856 * configure: Regenerated.
6858 * src/include/config.hin: Regenerated.
6859 * src/include/lib.h [!HAVE_STRCASECMP]: Declare `strcasecmp'.
6860 Don't define `strcasecmp' as `strcmp'.
6861 [!HAVE_STRNCASECMP]: Declare `strncasecmp'.
6862 Dont define `strncasecmp' as `strncmp'.
6864 * src/roff/groff/pipeline.c [!HAVE_STRCASECMP, !HAVE_STRNCASECMP]:
6867 2003-01-26 Werner LEMBERG <wl@gnu.org>
6869 * src/utils/indxbib/indxbib.cc (main) [__EMX__]: Fix typo:
6872 2003-01-25 Werner LEMBERG <wl@gnu.org>
6874 * doc/groff.texinfo (Ligatures and Kerning): Mention limitations.
6876 2003-01-24 Werner LEMBERG <wl@gnu.org>
6878 Add US-english hyphenation exceptions (converted from Barbara
6879 Beeton's hyphenation exception log reports which appear irregularly
6882 * tmac/hyphen.us: Updated to latest version.
6883 * tmac/README: Updated.
6884 * tmac/hyphenex.us, tmac/hyphenex.sh: New files.
6885 * tmac/troffrc: Load `hyphenex.us'.
6886 * tmac/Makefile.sub (NORMALFILES): Add `hyphenex.us'.
6887 * doc/groff.texinfo: Updated.
6889 2003-01-23 Werner LEMBERG <wl@gnu.org>
6891 Improve hyphenation slightly. This is a first step in redesigning
6892 the hyphenation algorithm to make it more flexible (e.g. allowing
6893 kerns and ligatures between the hyphenation character and the
6894 following character -- while not used normally in English, other
6895 languages like German would benefit).
6897 * src/roff/troff/env.cc (environment::hyphenate_line): Use
6898 assertion instead of if-clause.
6899 Let `get_hyphen_list' return the number of involved characters in
6900 the hyphenation pattern instead of computing it directly (which
6901 often yields too small values).
6902 * src/roff/troff/node.h (*::get_hyphen_list): Add second parameter.
6903 * src/roff/troff/node.cc (*::get_hyphen_list): Handle new second
6906 2003-01-22 Werner LEMBERG <wl@gnu.org>
6908 Fixing a bug which caused groff to hang if the hyphenation exception
6909 dictionary tried to grow.
6911 * src/roff/troff/env.cc (hyphen_trie::insert_hyphenation,
6912 hyphen_trie::read_patterns_file, do_hyphenation_patterns_file): Use
6913 pointer to dictionary.
6915 2003-01-20 Werner LEMBERG <wl@gnu.org>
6917 * src/utils/afmtodit/afmtodit.pl: Add switch `-m' to suppress
6918 negative left italic correction.
6919 * src/utils/afmtodit/afmtodit.man: Document it.
6921 * font/devps/generate/Makefile (RFLAG): Add `-m'.
6922 * font/devps/{AB,AR,BMB,BMR,CB,CR,EURO,HB,HR,HNB,HNR,NB,NR,PB,PR,
6923 S,TB,TR,ZD,ZDR}: Regenerated with afmtodit options `-i 0 -m'.
6927 2003-01-16 Werner LEMBERG <wl@gnu.org>
6931 2003-01-16 Jörgen Grahn <jgrahn@algonet.se>
6933 * src/preproc/refer/refer.man: Mention REFER environment variable.
6935 2003-01-05 Werner LEMBERG <wl@gnu.org>
6937 Similar to \[is], the square root glyph (\[sr]) and the square root
6938 extension glyph (\[radicalex]) are now text symbols. The new
6939 mathematical versions are called \[sqrt] and \[sqrtex],
6942 * font/devX*/S: Regenerated.
6943 * font/devdvi/generate/texex.map: Rename `sr[0123]' to `sqrt[0123]'.
6944 * font/devdvi/generate/texsy.map: Rename `sr' to `sqrt'.
6945 * font/devdvi/EX, font/devdvi/S: Regenerated.
6946 * font/devhtml/R.proto, font/devutf8/R.proto: Add `sqrt'.
6947 * font/devlj4/generate/special.map: Add `sqrt'.
6948 * font/devlj4/S: Regenerated.
6949 * font/devps/generate/textmap: Add `sqrt'.
6950 * font/devps/S, font/devps/symbolmap: Regenerated.
6952 * src/preproc/eqn/sqrt.cc (SQRT_CHAR, RADICAL_EXTENSION_CHAR,
6953 SQRT_CHAIN, BAR_CHAIN): Use `sqrt*' and `sqrtex*'.
6954 * src/roff/troff/input.cc (init_charset_table): Make `sqrtex'
6955 overlap horizontally.
6957 * tmac/X.tmac, tmac/ps.tmac, tmac/lj4.tmac: Add `sqrtex'.
6958 * tmac/dvi.tmac: Add `sr', and `sqrtex'.
6961 * doc/groff.texinfo, man/groff_diff.man: Document that `radicalex'
6962 and `sqrtex' are overlapping glyphs.
6964 2003-01-04 Werner LEMBERG <wl@gnu.org>
6966 * font/devdvi/generate/texsy.map: Add `is'.
6967 * font/devps/symbolmap: Regenerated.
6968 * font/devdvi/*TC, MI, S: Regenerated.
6970 * tmac/dvi.tmac: Remove `is'.
6972 2003-01-03 Werner LEMBERG <wl@gnu.org>
6974 `is' is now a text symbol (only relevant for dvi). The math variant
6975 can be accessed with `integral'.
6977 * font/devX*/S: Regenerated.
6978 * font/devdvi/generate/texex.map: Remove `is'.
6979 * font/devdvi/EX: Updated.
6980 * font/devhtml/R.proto, font/devutf8/R.proto: Add `integral'.
6981 * font/devlj4/generate/special.map: Ditto.
6982 * font/devlj4/S: Regenerated.
6983 * font/devps/generate/textmap: Add `integral'.
6984 * font/devps/S: Regenerated.
6986 * tmac/dvi.tmac: Define `is'.
6988 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `integral'.
6990 * src/preproc/tbl/main.cc (process_format): Fix error message.
6992 2003-01-02 Werner LEMBERG <wl@gnu.org>
6994 * font/devhtml/R.proto, font/devutf8/R.proto: Add `ne' and `nc'.
6995 * font/devps/textmap: Fix entries for `ne' and `nc'.
6996 * font/devps/symbolmap: Regenerated.
6998 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list),
6999 src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `18',
7000 `38', `58', `78', `-+', `|=', `nc', `ne'.
7002 * tmac/dvi.tmac: Add `nm', `ne', `nc'.
7003 Use `schar' for `aq'.
7004 * tmac/ps.tmac, tmac/X.tmac: Add `nc' and `ne'.
7005 * tmac/ec.tmac: Add `SC' to special fonts for `CW' and `CWI'.
7006 * tmac/tty.tmac: Add `ne'.
7008 * src/roff/troff/node.cc (make_glyph_node): Test with `get_macro'
7009 for fallback glyphs.
7011 2002-12-29 Werner LEMBERG <wl@gnu.org>
7015 * font/devX*/*: Regenerated.
7016 * font/devdvi/generate/ec.map: Remove `eq'.
7017 * font/devdvi/generate/texsy.map: Make `~=' the same as `~~'.
7018 Assign `|=' to position 39.
7019 * font/devdvi/*EC, S: Regenerated.
7020 * font/devhtml/R.proto, font/devutf8/R.proto: Add `|='.
7021 * font/devlj4/generate/special.map: Make `~=' the same as `~~'.
7022 Assign `|=' to position 549.
7023 * font/devps/generate/textmap, font/devps/enerate/symbolmap: Remove
7025 Add `uni2243' for `|='.
7027 * tmac/ec.tmac: Add `eq'.
7028 * tmac/dvi.tmac: Add `=~'.
7029 * tmac/tty-char.tmac, tmac/ps.tmac, tmac/X.tmac, tmac/lbp.tmac: Add
7032 2002-12-21 Werner LEMBERG <wl@gnu.org>
7034 * font/devdvi/generate/tc.map: Remove `**'.
7035 * font/devdvi/*TC: Regenerated.
7036 * font/devhtml/R.proto, font/devutf8/R.proto: Add `18', `38', `58',
7038 * font/devutf8/NOTES: Updated.
7040 * src/roff/troff/charinfo.h (charinfo): Add `setx_macro' function.
7041 Don't give default parameter to `set_macro'.
7042 * src/roff/troff/input.cc (do_define_character): Use `setx_macro'
7043 instead of `set_macro'.
7044 (charinfo::setx_macro): Implement it.
7045 (charinfo::set_macro): Don't change `mode'.
7047 * tmac/tty.tmac: Add `18', `38', `58', `78', `<<', `>>'.
7048 * tmac/ps.tmac, tmac/X.tmac: Add `<<', `>>'.
7049 * tmac/dvi.tmac: Define `!=' with `.schar'.
7051 2002-12-20 Werner LEMBERG <wl@gnu.org>
7053 * font/devX*/S: Regenerated.
7054 * font/devdvi/generate/ec.map: Remove `pl'.
7055 * font/devdvi/generate/tc.map: Remove `mi', `14', `12', `34'.
7056 * font/devdvi/*{TC,EC}: Regenerated.
7057 * font/devhtml/R.proto: Add `-+'.
7058 Remove double entries for `rk', `lk', `lt', `rt', `rb', `lb'.
7059 * font/devlbp/*: Remove `or'.
7060 * font/devlj4/generate/special.map: Remove `or'.
7061 * font/devlj4/S: Regenerated.
7062 * font/devps/generate/textmap: Add `fiveeighths', `oneeighth',
7063 `seveneighths', `threeeighths'.
7065 Replace `minusplus' with `uni2213'.
7066 * font/devps/symbolmap: Regenerated.
7067 * font/devutf8/R.proto: Replace `shc' with unnamed glyph.
7070 * src/roff/troff/charinfo.h (charinfo): Add `is_normal' inline
7072 * src/roff/troff/node.cc (troff_output_file::put_char_width):
7073 Call glyph_color and fill_color even if tcommand_flag isn't set.
7074 (make_node, node::add_char): Check not ci->is_fallback but
7077 * tmac/lj4.tmac, tmac/lbp.tmac: Define `or'.
7078 * tmac/ec.tmac: Add .rchar entry for `f/'.
7079 Don't remove `12', `14', `34'.
7080 Define `pl' to be always roman.
7081 * tmac/ps.tmac (ps-frac, ps-frac-mono): New macros.
7082 Define `18', `38', `58', `78'.
7083 * tmac/tty.tmac: Add `-+'.
7084 * tmac/dvi.tmac: Define `f/'.
7085 (dvi-frac): Use `f/'.
7086 * tmac/X.tmac (X-frac, X-frac-mono): New macros.
7087 Define `18', `38', `58', `78'.
7089 2002-12-15 Colin Watson <cjwatson@debian.org>
7091 * contrib/pic2graph/pic2graph.sh: Add missing `;;'.
7093 2002-12-10 Werner LEMBERG <wl@gnu.org>
7095 Add glyph `tno', a textual variant of `no'.
7097 * font/devX*/*: Regenerated.
7098 * font/{devcp1047,devlatin1,devutf8,devhtml}/R.proto: Add `tno'.
7099 * font/devdvi/generate/{tc.map: Replace `no' with `tno'.
7100 * font/devdvi/generated/{texsy,textex}.map: Add `tno'.
7101 * font/devdvi/*: Regenerated.
7102 * font/devlbp/*: Add `tno'.
7103 * font/devlj4/generate/tex.map: Replace `no' with `tno'.
7104 * font/devlj4/*: Regenerated.
7105 * font/devps/generate/textmap: Replace `no' with `tno'.
7106 * font/devps/generate/symbolchars: Add `no'.
7107 * font/devps/*: Regenerated.
7109 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `tno'.
7111 * tmac/cp1047.tmac, tmac/latin1.tmac: Replace `no' with `tno'.
7112 * tmac/tty-char.tmac: Add entry for `tno' and `3d'.
7116 * tmac/dvi.tmac: Replace most `\\' with `\E'.
7117 Add definition for `sd'.
7118 * tmac/X.tmac, tmac/ps.tmac: Replace most `\\' with `\E'.
7120 * tmac/eqnrc <dvi>: Use `integral' instead of `is' glyph.
7122 2002-12-08 Werner LEMBERG <wl@gnu.org>
7124 * tmac/an-old.tmac (TH): Use integer value for `IN' if in nroff
7125 mode to avoid rounding errors.
7126 (an-do-tag, an-do-tag-html, RS, RE): Remove redundant `.br'.
7128 * src/roff/groff/groff.man, src/roff/nroff/nroff.man,
7129 src/roff/troff/troff.man: Improve documentation of -T.
7131 2002-12-07 Jeff Conrad <jeff_conrad@msn.com>
7133 * src/roff/groff/pipeline.c: Don't define `const' for _WIN32.
7134 (run_pipeline) [_WIN32]: Provide working function without `fork'.
7136 2002-12-06 Werner LEMBERG <wl@gnu.org>
7138 * font/devps/generate/freeeuro.sfd: Make dimensions of Euro.symbol
7139 glyphs compatible to Adobe's Euro fonts (scaling them down a bit).
7140 Scaling Euro.sansserif glyphs down to have the same height as
7142 Removed unnecessary points; added some extrema.
7144 * font/devps/EURO, font/devps/freeeuro.afm, font/devps/freeeuro.pfa:
7147 2002-12-04 Werner LEMBERG <wl@gnu.org>
7149 * font/devps/generate/freeeuro.sfd: Add glyphs `Euro.symbol.slanted'
7150 and `Euro.symbol.bold.slanted'.
7151 Improve some glyph offsets and widths.
7152 * font/devps/EURO, font/devps/freeeuro.afm, font/devps/freeeuro.pfa:
7154 * font/devps/generate/Makefile (freeeuro.afm freeeuro.pfa): Fix
7156 * font/devps/generate/sfdtopfa.pe: Generate PFA in current
7159 * tmac/europs.tmac: Updated to new glyph indices.
7160 Use Euro.symbol for font familiy `A'.
7162 * doc/groff.texinfo: Minor improvements.
7164 2002-12-02 Werner LEMBERG <wl@gnu.org>
7166 * font/devdvi/generate.tc.map: s/%O/%0/.
7167 * font/devdvi/*TC: Regenerated.
7169 * src/roff/troff/div.cc (init_div_requests): Sorted.
7171 * tmac/dvi.tmac: Remove `Ye'.
7172 * tmac/ec.tmac: Remove `Ye'.
7173 Add .rchar entry for `de'.
7175 * man/groff.man, man/groff_diff.man: Document register `.pe'.
7176 * doc/groff.texinfo: Document registers `.pe', `.n', and `.w'.
7179 2002-11-30 Werner LEMBERG <wl@gnu.org>
7181 Add PS font for various Euro glyphs.
7183 * font/devps/generate/freeeuro.sfd: New master font file for
7185 * font/devps/generate/sfdtopfa.pe: New conversion script for
7187 * font/devps/generate/Makefile (FONTS): Add `EURO'.
7188 (EURO, freeeuro.afm, freeeuro.pfa): New rules.
7189 * font/devps/freeeuro.pfa, font/devps/freeeuro.afm: Generated from
7191 * font/devps/EURO: Generated from `freeeuro.afm'.
7192 * font/devps/download: Add `freeuro.pfa'.
7193 * font/devps/Makefile.sub (NORMALFILES): Adde `EURO' and
7196 * tmac/europs.tmac: New file.
7197 * tmac/ps.tmac: Include `europs.tmac'.
7198 * tmac/Makefile.sub (DISTFILES): Add `europs.tmac'.
7200 2002-11-29 Werner LEMBERG <wl@gnu.org>
7202 * font/devdvi/generate/texsy.map: Remove `lh' and `rh'.
7203 * font/devdvi/S: Regenerated.
7204 * font/devhtml/R.proto: Fix `CR' and `ci'.
7206 * font/devps/generate/textmap: Fix `lh', `rh', and `sq'.
7208 * font/devps/symbolmap: Regenerated.
7209 * font/devutf8/R.proto: Fix `CR' and `ci'.
7211 * font/devutf8/NOTES: Updated.
7213 * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Fix `CR' and
7216 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Ditto.
7218 * tmac/dvi.tmac: Add `lh' and `rh'.
7219 * tmac/Xps.tmac: Fix `lh' and `rh'.
7220 * tmac/X.tmac: Add `OK'.
7221 * tmac/lj4.tmac: Ditto.
7223 2002-11-24 Werner LEMBERG <wl@gnu.org>
7225 * font/devX*/S: Regenerated.
7226 * font/devascii/R.proto, font/devcp1047/R.proto: Remove glyphs `lb',
7227 `lc', `lf', `lk', `lt', `rb', `rc', `rf', `rk', and `rt'.
7228 * font/devdvi/generate/texsy.map: Remove `or' glyph.
7229 * font/devdvi/S: Regenerated.
7230 * font/devhtml/R.proto, font/devutf8/R.proto: Add/fix glyphs
7231 `parenlefttp', `parenleftex', `parenleftbt', `parenrighttp',
7232 `parenrightex', `parenrightbt', `bracketlefttp', `bracketleftex',
7233 `bracketleftbt', `bracketrighttp', `bracketrightex',
7234 `bracketrightbt', `bracelefttp', `braceleftmid', `braceleftbt',
7235 `braceex', `braceleftex', `bracerightex', `bracerighttp',
7236 `bracerightmid', `bracerightbt', `lt', `lk', `lb', `rt', `rk',
7238 * src/roff/troff/glyphuni.cc, src/roff/troff/uniglyph.cc: Ditto.
7239 * font/devutf8/NOTES: Updated.
7240 * font/devlj4/generate/special.map: Add glyph `braceex'.
7241 * font/devlj4/S: Regenerated.
7243 * tmac/tty-char.tmac: Add glyphs `lf', `rf', `lc', and `rc'.
7245 2002-11-14 Werner LEMBERG <wl@gnu.org>
7247 * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `va'
7250 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Ditto.
7252 * doc/texinfo.tex: New version from texinfo 4.3.
7253 * doc/groff.texinfo: Updated for texinfo 4.3.
7254 Use @tie{} where appropriate.
7255 * font/devdvi/generate/ec.map: Don't include `or' and `bv'.
7256 * font/devdvi/generate/tc.map: Remove `rn'.
7257 * font/devdvi/*TC, font/devdvi/*EC: Regenerated.
7258 * font/devhtml/R.proto, font/devutf8/R.proto: Add `vA'.
7260 * font/devX100/*, font/devX100-12/*, font/devX75/*,
7261 font/devX75-12/*: Regenerated.
7263 * tmac/dvi.tmac: Add special fonts `SA' and `SB'.
7264 Use .char (again) for `br', `ul', `rn', `or', and `ru'.
7265 Improve definition of `an'.
7266 * tmac/ps.tmac: Use .char (again) for `br', `ul', `rn', `or', and
7268 * tmac/lj4.tmac: Use .char (again) for `br', `ul', `rn', and `ru'.
7269 * tmac/X.tmac: Add definition for `or'.
7270 * tmac/Xps.tmac: Undo change 2002-11-05.
7271 * tmac/lbp.tmac: Add definitions for `br', `rn', `ul', and `ru'.
7273 2002-11-11 Werner LEMBERG <wl@gnu.org>
7275 * src/roff/troff/node.cc (troff_output_file::put_char): Always
7278 2002-11-10 Werner LEMBERG <wl@gnu.org>
7280 Added three new requests `schar', `fschar', and `rfschar'. `schar'
7281 defines a glyph which is searched after the check for fonts declared
7282 with `.special' (and before the check for all mounted special
7283 fonts). `fschar' defines a glyph for a particular font which is
7284 searched after the check for fonts declared with `.fspecial' (and
7285 before the check for fonts declared with `.special'). `rfschar'
7286 removes glyphs defined with `fschar'.
7288 * src/roff/troff/token.h (char_mode): New enum.
7289 Declare do_define_character.
7290 * src/roff/troff/charinfo.h (charinfo): Replace `fallback' with
7292 (charinfo::is_fallback): Updated.
7293 (charinfo::is_special): New method.
7294 * src/roff/troff/input.cc (do_define_character): Add and use
7295 optional second parameter used as a prefix for font-specific glyph
7297 (define_character, define_fallback_character): Updated.
7298 (define_special_character): New function.
7299 (init_input_requests): Add `schar'.
7300 (charinfo::charinfo, charinfo::set_macro): Updated.
7301 * src/roff/troff/node.cc: Include `stringclass.h'.
7302 (make_glyph_node): Handle special glyphs defined with `.schar' and
7304 (define_font_special_character, remove_font_special_character): New
7306 (init_node_requests): Sorted.
7307 Add `fschar' and `rfschar'.
7308 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
7309 Document new requests.
7311 * font/devhtml/R.proto, font/devutf8/R.proto: Add `va'.
7312 * tmac/dvi.tmac: Add `va' for CW and CWI (using `.fschar').
7314 2002-11-08 Werner LEMBERG <wl@gnu.org>
7316 Added new font `SC' (cmtex10) to devdvi.
7318 * devdvi/generate/Makefile (FONTS): Add `SC'.
7320 * devdvi/generate/textex.map: New map file for cmtex.
7322 * devdvi/Makefile.sub (DEVFILES): Updated.
7323 * tmac/dvi.tmac: Add fspecial entries for SC.
7324 Add `MI', `S' and `CW' to the `special' call. Otherwise, `SC' is
7325 found before `S' since the font position of `SC' is lower due to the
7326 gaps in DESC's `font' line.
7327 * tmac/ec.tmac: Add a `special' call.
7330 * font/devhtml/R.proto: Remove double entry for `ti'.
7331 * tmac/tty.tmac: Add entries for `IJ', `ij', and `bq'.
7332 * tmac/tty-char.tmac: Remove entry for `bq'.
7333 * tmac/lbp.tmac: Add entries for `lq', `rq', `fo', `fc', and `em'.
7334 * tmac/ec.tmac: Don't remove `aq' glyph.
7335 * tmac/X.tmac: Fix entry for `em'.
7336 Add entries for `fo' and `fc'.
7337 * tmac/dvi.tmac: Add entries for `em', `en', `hy', `fo', and `fc'.
7339 * doc/groff.texinfo, man/groff.man, man/groff_diff.man: Fix
7340 documentation of `special' and `fspecial' requests.
7342 2002-11-05 Werner LEMBERG <wl@gnu.org>
7344 * font/devascii/R.proto, font/devcp1047/R.proto,
7345 font/devlatin1/R.proto: Remove entry for `.i'.
7346 * font/devdvi/generate/textt.map: Add entry for `ad'.
7347 * font/devdvi/generate/texr.map, font/devdvi/generate/texb.map,
7348 font/devdvi/generate/texi.map: Add dummy glyph name `slash@for@l'.
7349 We need this for getting kerning values to compose `/l' and `/L'.
7350 * font/devdvi: Regenerated font definition files for CM fonts.
7351 * font/devhtml/R.proto: Add entries for "'C", "'c", `IJ', and `ij'.
7352 * font/devutf8/R.proto: Ditto.
7353 Remove double entry for `ti'.
7355 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Fix entries
7356 for (groff) ligatures, `la', and `ra'.
7357 Add "'C", "'c", `IJ', and `ij'.
7358 Remove double entry for `ti'.
7359 * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Remove all
7361 Add "'C", "'c", `IJ', and `ij'.
7362 Fix entries for (groff) ligatures, `la', and `ra'.
7364 * tmac/ps.tmac (ps-achar): New macro.
7365 Define "'c" and "'C".
7366 * tmac/tty.tmac: Add entry for `.i'.
7367 * tmac/X.tmac (X-achar): New macro.
7368 Define "'c", "'C", and `:Y'.
7369 Add entries for `IJ' and `ij'.
7370 * tmac/Xps.tmac (Xps-achar): New macro.
7371 Define "'c" and "'C".
7372 Add entries for `IJ' and `ij'.
7373 * tmac/lbp.tmac (lbp-achar): New macro.
7374 Add fallback characters for all groff ligatures and many other
7376 * tmac/dvi.tmac: Fix definitions of `_' and `ul'.
7377 Add entries for `/l' and `/L'.
7378 Define "'c" and "'C".
7379 Add entries for `IJ' and `ij'.
7381 2002-11-02 Larry Kollar <kollar@alltel.net>
7383 * PROBLEMS: Document how to solve Mac OS X compilation problems.
7385 2002-11-02 Werner LEMBERG <wl@gnu.org>
7387 Adding support for composite glyphs: \[xxx yyy ...] and the
7388 `composite' request.
7390 * src/roff/troff/glyphuni.cc: New file for mapping groff glyph names
7391 to Unicode-based glyph names.
7392 * src/roff/troff/uniglyph.cc: New file for mapping Unicode-based
7393 glyph names to groff glyph names.
7394 * src/roff/troff/uniuni.cc: New file for canonically decomposing
7395 Unicode-based glyph names.
7396 * src/roff/troff/unicode.cc, src/roff/troff/unicode.h: New files
7397 for handling Unicode glyph names.
7398 * src/roff/troff/input.cc: Include unicode.h.
7399 (composite_glyph_name): New function.
7400 (token::next) <'['>: Handle Unicode glyph names and composite
7402 (composite_dictionary): New dictionary for the `composite' request.
7403 (composite_request): Implement `composite' request.
7404 (init_input_requests): Add `composite'.
7405 Alphabetically sorted.
7406 * src/roff/troff/env.cc (tabs_save, tabs_restore): Removed (already
7408 (init_env_requests): Alphabetically sorted.
7409 Removed `tas' and `tar' (already commented out).
7410 * src/roff/troff/Makefile.sub: Updated.
7412 2002-10-31 Ruslan Ermilov <ru@FreeBSD.org>
7414 * src/roff/nroff/nroff.man, src/roff/nroff/nroff.sh: Fix description
7417 2002-10-29 Werner LEMBERG <wl@gnu.org>
7419 Fix computation of .trunc register. Additionally, its value (and
7420 the value of the .ne register) is now always set before entering the
7423 * src/roff/troff/div.cc (diversion::need): Set `truncated_space' and
7424 `needed_space' before calling `space'.
7425 (top_level_diversion::space): Remove special code for 'sp before the
7427 Call `begin_page' with the discarded space as a parameter.
7428 (top_level_diversion::begin_page): Add optional parameter to set
7430 * src/roff/troff/div.h: Updated.
7432 * doc/groff.texinfo: Improve documentation of .sp, \n[.trunc], and
7435 * tmac/an-old.tmac (SH, SS, TP, IP, HP, TS): Undo change 2002-10-26.
7436 (LP): Remove superfluous call to `br'.
7437 * tmac/doc-common (doc-paragraph): Undo change 2002-10-26.
7438 * tmac/doc.tmac (Bd, Bl, doc-set-vertical-and-indent): Ditto.
7440 2002-10-26 Werner LEMBERG <wl@gnu.org>
7442 * tmac/doc-ditroff: Remove useless switch/variable -rC.
7443 (doc-setup-header): Don't set page register `%'.
7444 * tmac/doc-nroff: Remove variable `C'.
7445 (doc-setup-page-layout): Set doc-header-space to .5i unconditionally.
7446 (doc-setup-header): Don't set page register `%'.
7448 * tmac/doc-common (doc-header): Call `ns'.
7449 (doc-paragraph): Protect .sp with .br so that it survives traps
7450 possibly set by the user.
7451 * tmac/doc.tmac (Bd, Bl, doc-set-vertical-and-indent): Ditto.
7453 * tmac/doc*: Replace ' with . for consistency if no effect.
7455 2002-10-26 Werner LEMBERG <wl@gnu.org>
7457 * tmac/an-old.tmac (SH, SS, TP, IP, HP, TS): Protect .sp with .br
7458 so that it survives traps possibly set by the user.
7460 * src/roff/troff/node.cc: Fix the changes from 2002-10-23.
7461 (troff_output_file::set_font): Call flush_tbuf if necessary.
7462 (troff_output_file::fill_color, troff_output_file::glyph_color): Call
7463 flush_tbuf and do_motion only if necessary.
7464 (troff_output_file::start_special,
7465 troff_output_file::put_char_width, troff_output_file::put_char,
7466 troff_output_file::draw): Updated.
7467 (word_space_node::tprint, space_node::tprint, hmotion_node::tprint,
7468 vmotion_node::tprint): Undo change 2002-10-23.
7470 2002-10-25 Werner LEMBERG <wl@gnu.org>
7472 * tmac/www.tmac (DC): Fix case of overlapping images.
7474 2002-10-23 Werner LEMBERG <wl@gnu.org>
7476 * src/roff/troff/node.cc (troff_output_file::fill_color,
7477 troff_output_file::glyph_color): Set current color before testing
7479 (troff_output_file::put_char_width, troff_output_file::put_char,
7480 troff_output_file::draw): Don't call flush_tbuf and/or do_motion
7482 (troff_output_file::file_color, troff_output_file::glyph_color):
7484 (word_space_node::tprint, space_node::tprint, hmotion_node::tprint,
7485 vmotion_node::tprint): Move first, then call fill_color.
7487 2002-10-20 Werner LEMBERG <wl@gnu.org>
7489 * doc/groff.texinfo, man/groff_tmac.man: Document that it is not
7490 possible to use multiple main macro packages.
7492 2002-10-19 Werner LEMBERG <wl@gnu.org>
7494 * src/devices/grops/ps.cc (cmyk_flag): New global variable.
7495 (ps_printer::set_color): Set `cmyk_flag' for CMY and CMYK colors.
7496 (ps_printer::~ps_printer): Emit `%%Extensions: CMYK' if `cmyk_flag'
7498 * font/devps/prologue.ps (Fk, Ck): Enclose definitions with a
7499 `where' construction since `cmyksetcolor' is a PS Level 2 operator.
7501 2002-10-16 Werner LEMBERG <wl@gnu.org>
7503 * NEWS, doc/webpage.ms: Updated.
7505 2002-10-14 Werner LEMBERG <wl@gnu.org>
7507 * src/roff/troff/node.cc (troff_output_file::put_char_width,
7508 troff_output_file::put_char, troff_output_file::fill_color,
7509 troff_output_file::glyph_color): Handle case where color pointer
7512 2002-10-13 Ruslan Ermilov <ru@FreeBSD.org>
7514 Add the new -r option to grotty. It is similar to the -i option
7515 except it tells grotty(1) to use the `reverse video' attribute to
7516 render italic fonts.
7518 * src/devices/grotty/tty.cc (reverse_flag): New global variable.
7519 (SGR_REVERSE, SGR_NO_REVERSE): New macros.
7520 (tty_printer::make_underline, tty_printer::put_color,
7521 tty_printer::end_page): Use it.
7522 (main): Add -r switch.
7524 * src/devices/grotty/grotty.man: Document it.
7526 2002-10-11 Ruslan Ermilov <ru@FreeBSD.org>
7528 * src/roff/troff/env.cc (hyphen_trie::read_patterns_file): Add
7529 cast to `unsigned char' to properly read patterns with 8bit
7532 2002-10-08 Werner LEMBERG <wl@gnu.org>
7534 * REVISION: Increased to 2.
7536 Copyright 2002, 2003, 2004, 2005, 2006, 2007
7537 Free Software Foundation, Inc.
7539 Copying and distribution of this file, with or without modification,
7540 are permitted in any medium without royalty provided the copyright
7541 notice and this notice are preserved.
7544 version-control: never