1 2006-05-21 Werner LEMBERG <wl@gnu.org>
3 * tmac/trace.tmac (de1): Fix serious typo (.di -> .do) and minor
6 2006-05-11 Keith Marshall <keith.marshall@ntlworld.com>
8 * src/roff/groff/groff.man: Remove superfluous word `intermediate'.
10 2006-05-10 Keith Marshall <keith.marshall@ntlworld.com>
12 * src/roff/groff/groff.man: Update copyright notice.
13 Improved wording to describe effect of `-Z' option.
15 2006-05-06 Werner LEMBERG <wl@gnu.org>
17 * tmac/www.tmac: Decorate `.ds' with trailing `\"' where missing.
18 Normalize handling of `"' in arguments.
19 (PIMG): Remove debug message.
22 2006-05-05 Werner LEMBERG <wl@gnu.org>
24 * src/devices/grohtml/post-html.cpp (page::add_and_encode): Don't
25 swallow character immediately after `\[...]'.
28 2006-05-02 Gaius Mulley <gaius@glam.ac.uk>
30 * tmac/www.tmac (PIMG): Fix the HTML device specific components.
32 2006-05-02 Larry Kollar <kollar@alltel.net>
34 * tmac/www.tmac (PIMG): Really default to `-C' if the alignment
37 2006-04-30 Michail Vidiassov <master@iaas.msu.ru>
39 * src/utils/afmtodit/afmtodit.pl: New option `-c' to add font
40 information as a comment in output.
41 * src/utils/afmtodit/afmtodit.man, NEWS: Document it.
43 2006-04-26 Werner LEMBERG <wl@gnu.org>
45 * src/devices/grohtml/post-html.cpp (html_printer::~html_printer):
46 Handle current_paragraph only if it is non-NULL.
48 * src/libs/libdriver/input.cpp (parse_x_command <'F'>, do_file
49 <'F'>): Use `get_extended_arg' to behave as documented. Reported by
50 Bill Ward <william.a.ward.jr@erdc.usace.army.mil>.
53 Surround the (pseudo) file name for the .pso request with `<' and
56 * src/roff/troff/node.cpp (real_output_file, troff_output_file): Add
57 second parameter to `really_put_filename' and `put_filename'.
58 (troff_output_file::really_put_filename): Emit `<' and `>' around
59 filename if second argument is set.
60 * src/roff/troff/node.h: Updated.
62 * src/roff/troff/input.cpp (file_iterator::file_iterator,
63 file_iterator::set_location): Update to changes in node.cpp.
65 2006-04-25 Tetsurou Okazaki <okazaki@FreeBSD.org>
67 * src/preproc/preconv/preconv.cpp (do_file): Fix conditional
68 preprocessor expression (I18N -> HAVE_ICONV).
69 (main): Fix handling of option `-h'.
70 Fix conditional preprocessor expression.
72 2006-04-04 Werner LEMBERG <wl@gnu.org>
74 Implement new number register `.br' which is set to 1 if a macro has
75 been called as .foo and to 0 if called as 'bar. This is useful for
76 -mtrace so that requests can be reliably traced too.
78 * src/roff/troff/input.cpp (input_iterator): Add virtual function
80 (macro_iterator): Add `with_break' member and `get_break_flag'
83 (input_stack): Add function `get_break_flag'.
84 (break_flag_reg): New number register class.
85 (input_init_requests): Register `.br'.
87 * src/roff/troff/TODO: Updated.
89 * tmac/trace.tmac: s/!!sp/!!!sp/.
90 Modify definitions of `de', `de1', `am', and `am1' to use \n[.br].
92 * docs/groff.texinfo, man/groff.man, man/groff_diff.man, NEWS:
95 2006-03-29 Werner LEMBERG <wl@gnu.org>
97 * src/devices/grops/ps.cpp: s/must not/should not/ in warning
98 messages where appropriate.
100 2006-03-28 Werner LEMBERG <wl@gnu.org>
102 * configure.ac: Call AC_PROG_EGREP.
103 * configure: Regenerated.
105 * Makefile.in (EGREP): New variable.
106 (MDEFINES): Add $(EGREP).
108 * src/roff/grog/grog.sh: Treat .TH between .TS and .TE properly
109 (bug reported by Robert Goulding <Goulding.2@nd.edu>).
112 * src/roff/grog/Makefile.sub (grog, grog.old): Use $(EGREP).
114 2006-03-27 Werner LEMBERG <wl@gnu.org>
116 Add two request `.device' and `.devicem' which are equivalent to
117 `\X' and `\Y', respectively.
119 * src/roff/troff/input.cpp (device_request, device_macro_request):
121 (init_input_requests): Register them.
123 * doc/groff.texinfo, man/groff_diff.man, man/groff.man, NEWS:
126 2006-03-27 Gaius Mulley <gaius@glam.ac.uk>
128 * src/roff/troff/input.cpp (encode_char): Emit special characters
129 for -Thtml as `\[...]'.
130 * src/devices/grohtml/post-html.cpp (page::add_and_encode): Updated.
132 * doc/groff.texinfo (\X): Updated.
134 2006-03-27 Werner LEMBERG <wl@gnu.org>
136 * tmac/Makefile.sub (NORMALFILES, SPECIALFILES): Add various missing
139 2006-03-26 Werner LEMBERG <wl@gnu.org>
141 * doc/groff.texinfo: More documentation on end-of-macro symbol of
143 Minor addition to `.di' description.
145 * src/devices/grops/grops.man: Some clarifications regarding
146 insertion of PostScript snippets.
148 2006-03-25 Michail Vidiassov <master@iaas.msu.ru>
150 Add rules to generate `symbolsl.afm'.
152 * fonts/devps/generate/zapfdr.sed,
153 fonts/devps/generate/symbolsl.awk: New files.
155 * fonts/devps/generate/Makefile (symbolfont, PRINTAFM): New
157 (SS, clean): Updated.
158 (freeeuro.afm): Use $(srcdir).
159 (symbolsl.afm): New rule.
160 (zapfdr.afm): Use zapfdr.sed.
162 2006-03-22 Dwight Aplevich <aplevich@uwaterloo.ca>
164 * src/preproc/pic/pic.y (expr <INT>): Fix code.
166 2006-03-22 Jörgen Grahn <jgrahn@algonet.se>
168 * tmac/sv.tmac: Add missing translations and activate support for
169 other macro packages.
171 2006-03-21 Francis GUDIN <fgudin@nerim.net>
173 * tmac/doc-syms (Dx): New macro to identify DragonFly.
174 (doc-str-St--ieee1275-94, doc-str-St--isoC-amd1,
175 doc-str-St--isoC-tcor1, doc-str-St--isoC-tcor2): New standard
177 (doc-operating-system-FreeBSD-5.5, doc-operating-system-FreeBSD-7.0,
178 doc-operating-system-NetBSD-1.6.3, doc-operating-system-NetBSD-4.0
179 doc-operating-system-DragonFly-*): New operating system strings.
181 * tmac/groff_mdoc.man, NEWS: Document `Dx'.
183 2006-03-21 Werner LEMBERG <wl@gnu.org>
185 * src/preproc/pic/pic.y (object_spec THEN): For compatibility with
186 both DWB pic and dpic, make
194 line right then down;
201 * doc/pic.ms: Document this.
203 2006-03-20 Werner LEMBERG <wl@gnu.org>
205 * doc/pic.ms: With permission of Eric Raymond, put it under the
210 2006-03-19 Werner LEMBERG <wl@gnu.org>
212 * src/preproc/pic/pic.y (expr <INT>): Really return integer part.
214 * src/preproc/pic/objects.cpp (object_spec::make_line): Handle `at'
215 attribute in combination with `with'. Bug reported by Jennifer
216 Sayers <jenjen@mail.usyd.edu.au>.
218 2006-03-19 Miklos Somogyi <msom@netspace.net.au>
220 * doc/groff.texinfo: Improve documentation of `.sp'.
222 2006-03-18 Werner LEMBERG <wl@gnu.org>
224 * LICENSE: Renamed to...
225 * LICENSES: This. Collect all licensing information in this file.
226 * tmac/README, src/libs/snprintf/README: Removed.
228 * src/devices/grops/grops.man: Add section how to install fonts.
230 * src/utils/xtotroff/xtotroff.c: Add GPL.
232 2006-03-17 Werner LEMBERG <wl@gnu.org>
234 * Makefile.comm (.y.cpp): Fix #line arguments in output.
236 2006-03-13 Werner LEMBERG <wl@gnu.org>
238 * src/preproc/tbl/tbl.man: Mention default length of text blocks.
240 * tmac/doc-common (Os): Add more Darwin versions.
241 * tmac/groff_mdoc.man: Document them.
243 * doc/groff.texinfo (Operators in Conditionals): Mention that `c'
244 works with \N'...' also.
245 * man/groff_diff.man: Ditto. Remove use of future tense where
248 2006-03-12 Michail Vidiassov <master@iaas.msu.ru>
250 * fonts/devps/generate/make-zapfdr, fonts/devps/symbolsl.ps,
251 fonts/devps/zapfdr.ps: Add `%%EndComments' line.
253 2006-03-10 Larry Kollar <kollar@alltel.net>
255 * doc/groff.texinfo (Headers and footers): Document PT, HD, and BT.
257 2006-03-10 Werner LEMBERG <wl@gnu.org>
259 * src/devices/grops/ps.cpp (ps_printer::do_exec, ps_printer::do_def,
260 ps_printer::do_mdef): Overlong lines now cause a warning message,
263 2006-03-09 Werner LEMBERG <wl@gnu.org>
265 * font/devps/generate/make-zapfdr: New script for generating
268 2006-03-08 Werner LEMBERG <wl@gnu.org>
270 * doc/groff.css (pre): Fix `background-color' value.
272 2006-03-04 Larry Kollar <kollar@alltel.net>
274 * tmac/groff_ms.man: Document PT, HD, and BT.
276 2006-03-04 Werner LEMBERG <wl@gnu.org>
278 * src/roff/troff/node.cpp (make_glyph_node): Improve warning message
279 for single-letter glyph names.
281 2006-03-02 Werner LEMBERG <wl@gnu.org>
283 * tmac/sv.tmac: New file; currently holding only the Swedish strings
285 * tmac/hyphen.sv: New hyphenation pattern file for Swedish, taken
287 * tmac/README: Updated.
289 2006-02-27 Werner LEMBERG <wl@gnu.org>
291 * tmac/trans.tmac (Liec, Letdate, Letns!14): Add it (for -mm).
292 * tmac/fr.tmac: Add French translations.
294 * tmac/composite.tmac: Add entry for `:'.
296 2006-02-26 Werner LEMBERG <wl@gnu.org>
298 * doc/Makefile.sub (HTMLEXAMPLEFILESALL): New variable.
300 (install_html, uninstall_sub): Updated.
302 2006-02-26 Bruno Haible <bruno@clisp.org>
304 Introduce Unicode fonts.
306 * font/devhtml/DESC.proto: Mark as unicode.
307 * font/devhtml/R.proto: Remove all charset entries that are already
309 * font/devutf8/DESC.proto: Mark as unicode.
310 * font/devutf8/R.proto: Remove all charset entries.
311 * src/include/font.h (font): New static field `is_unicode'.
312 Change order of fields.
313 * src/libs/libgroff/font.cpp: Include unicode.h.
314 (font::font): Update for changed order of fields.
315 (font::contains, font::get_width, font::get_height, font::get_depth,
316 font::get_italic_correction, font::get_left_italic_correction,
317 font::get_subscript_correction, font::get_character_type,
318 font::get_code, font::get_special_device_encoding): Handle both the
319 explicitly enumerated glyphs and use general code for Unicode fonts.
320 (font::load): Make the charset section optional when the font is
322 (font::load_desc): Recognize the `unicode' attribute.
323 * src/libs/libgroff/fontfile.cpp (font::is_unicode): New variable.
325 2006-02-26 Claudio Fontana <claudio@gnu.org>
327 * Makefile.in: Add comment about DESTDIR.
329 * Makefile.sub: Add DESTDIR to install and uninstall targets
330 to support staged installations.
331 * Makefile.comm: Likewise.
332 * doc/Makefile.sub: Likewise.
333 * contrib/eqn2graph/Makefile.sub: Likewise.
334 * contrib/gdiffmk/Makefile.sub: Likewise.
335 * contrib/grap2graph/Makefile.sub: Likewise.
336 * contrib/pic2graph/Makefile.sub: Likewise.
337 * src/devices/xditview/Makefile.sub: Likewise.
338 * src/preproc/eqn/Makefile.sub: Likewise.
339 * src/roff/grog/Makefile.sub: Likewise.
340 * src/roff/nroff/Makefile.sub: Likewise.
341 * src/utils/afmtodit/Makefile.sub: Likewise.
342 * src/utils/indxbib/Makefile.sub: Likewise.
343 * tmac/Makefile.sub: Likewise.
345 2006-02-24 Werner LEMBERG <wl@gnu.org>
347 * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list): Use entry
349 Remove commented out entries for \' and \` (there are no such glyph
352 * src/libs/libgroff/uniglyph.cpp (unicode_to_glyph_list): Remove
353 commented out entries for \' and \`.
356 * */*: s/legal/valid/ where appropriate.
358 2006-06-23 Werner LEMBERG <wl@gnu.org>
360 * font/devhtml/R.proto, font/devutf8/R.proto: Remove incorrect \'
363 2006-02-22 Werner LEMBERG <wl@gnu.org>
365 Remove all remaining traces from the `shc' glyph.
367 * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list),
368 src/libs/libgroff/uniglyph.cpp (unicode_to_glyph_list): Remove
371 * font/devlatin1/R.proto, font/devcp1046/R.proto: Replace `shc'
372 entry with unnamed glyph.
374 * tmac/html/tmac: Remove `shc' entry from call to `.cflags'.
376 * src/preproc/preconv/preconv.cpp (unicode_entity): Handle U+00AD
379 2006-02-22 Bruno Haible <bruno@clisp.org>
381 Concretize the `glyph' datatype.
383 * src/include/font.h (glyph): Remove class.
384 (glyph): Renamed from struct `glyphinfo'.
385 (glyph_to_index): New inline function.
386 (glyph_to_name): Make extern, not inline.
387 (glyph_to_number): Update.
388 (font): Use `glyph *' instead of `glyph'.
390 * src/libs/libgroff/nametoindex.cpp (charinfo): Inherit from class
391 `glyph'. Make `name' field public.
392 (character_indexer, number_to_glyph, name_to_glyph): Use `glyph *'
394 (glyph_to_name): Renamed from `glyph::glyph_name'.
396 * src/roff/troff/charinfo.h (charinfo): Inherit from class `glyph'.
397 Use `glyph *' instead of `glyph'.
399 * src/roff/troff/input.cpp (name_to_glyph, number_to_glyph): Use
400 `glyph *' instead of `glyph'.
401 (glyph_to_name): Renamed from `glyph::glyph_name'.
403 * src/libs/libgroff/font.cpp: Use `glyph *' instead of `glyph',
404 and `glyph_to_index' instead of `glyph::glyph_index'.
406 * src/include/printer.h (printer): Use `glyph *' instead of `glyph'.
407 * src/libs/libdriver/printer.cpp: Likewise.
408 * src/devices/grodvi/dvi.cpp: Likewise.
409 * src/devices/grohtml/post-html.cpp: Likewise.
410 * src/devices/grolbp/lbp.cpp: Likewise.
411 * src/devices/grolj4/lj4.cpp: Likewise.
412 * src/devices/grops/ps.cpp: Likewise.
413 * src/devices/grotty/tty.cpp: Likewise.
415 2006-02-22 Werner LEMBERG <wl@gnu.org>
417 * font/devdvi/generate/tc.map: Add `sr' glyph.
418 * font/devdvi/*TC: Regenerated.
420 * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list): Use entry
423 2006-02-21 Werner LEMBERG <wl@gnu.org>
425 * man/groff_char.man: Explain `***' marker.
427 2006-02-17 Bruno Haible <bruno@clisp.org>
429 * src/libs/libgroff/nametoindex.cpp (character_indexer): Rename
430 methods and fields from *_index to *_glyph.
431 (character_indexer::named_char_glyph): Test for `charNNN' name
433 (name_to_glyph): ... not here.
435 2006-02-17 Bruno Haible <bruno@clisp.org>
437 * src/include/font.h (name_to_glyph): Renamed from
439 (number_to_glyph): Renamed from font::number_to_index.
440 (glyph_to_name): Renamed from font::index_to_name.
441 (glyph_to_number): Renamed from font::index_to_number.
442 * src/libs/libgroff/nametoindex.cpp: Likewise.
443 * src/roff/troff/charinfo.h (charinfo::as_glyph): Renamed from
446 * src/roff/troff/input.cpp: All callers changed.
447 * src/roff/troff/node.cpp: Likewise.
448 * src/libs/libgroff/font.cpp: Likewise.
449 * src/devices/grops/ps.cpp: Likewise.
450 * src/devices/grohtml/post-html.cpp: Likewise.
451 * src/libs/libdriver/printer.cpp: Likewise.
453 2006-02-17 Werner LEMBERG <wl@gnu.org>
455 * src/include/ptable.h, src/include/itable.h
456 (NEXT_PTABLE_SIZE_DEFINED): Use it to avoid multiple declaration
457 of external symbol `next_ptable_size' (used by both header files).
459 2006-02-15 Bruno Haible <bruno@clisp.org>
461 * src/include/font.h (glyphinfo): New class.
462 (glyph): Change internal representation.
463 Change constructor signature.
464 New method glyph::glyph_number().
465 (glyph::glyph, glyph glyph::undefined_glyph, glyph::glyph_index,
466 glyph::operator==, glyph::operator!=): Update.
467 (font::index_to_name, font::index_to_number): New functions.
469 * src/include/itable.h: New file, based on src/include/ptable.h.
471 * src/libs/libgroff/nametoindex.cpp: Include itable.h.
472 (class charinfo): New class.
473 (class character_indexer): Change table result type from `int' to
475 Add table with integer key.
476 (character_indexer::character_indexer): Update.
477 (character_indexer::ascii_char_index): Update.
478 (character_indexer::numbered_char_index): Use NULL as name, not a
479 string starting with a space.
480 (character_indexer::named_char_index): Update.
481 (font::number_to_index, font::name_to_index): Remove no-op cast.
482 (glyph::glyph_name): New method.
483 * src/roff/troff/charinfo.h (class charinfo): Inherit from class
485 (NUMBERED): Remove flag bit.
486 (charinfo::numbered, charinfo::get_index): Update.
488 * src/roff/troff/input.cpp (charinfo::charinfo): Update.
489 (charinfo::set_number, charinfo::get_number): Update.
490 (glyph::glyph_name): New method.
492 2006-02-15 Werner LEMBERG <wl@gnu.org>
494 * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list): Fix
495 entries for `>>', `<<', `*f', and `+f'. Reported by Bruno.
497 2006-02-13 Werner LEMBERG <wl@gnu.org>
499 * font/devps/prologue.ps (RE): Check `UniqueID' also, similar to
502 2006-02-11 Werner LEMBERG <wl@gnu.org>
504 * src/include/font.h: s/glyph_t/glyph/.
507 * src/devices/grotty/tty.cpp: s/glyph/tty_glyph/.
508 s/output_character_t/output_character/.
510 2006-02-11 Bruno Haible <bruno@clisp.org>
512 New accessor method glyph_t::glyph_name().
514 * src/include/ptable.h (declare_ptable): Add a return value to the
515 `define' method, and declare a `lookupassoc' method.
516 (implement_ptable): Return the stored key in `define'. Implement
518 * src/include/font.h (glyph_t): Add `name' field. Add an argument
520 (glyph_t::glyph_name): New method.
522 * src/libs/libgroff/nametoindex.cpp (character_indexer): Change
523 return type of methods and field member type to glyph_t.
524 (character_indexer::character_indexer): Update.
525 (character_indexer::ascii_char_index): Allocate a name for the
527 Return a glyph_t with name.
528 (character_indexer::numbered_char_index): Return a glyph_t without a
530 (character_indexer::named_char_index): Return a glyph_t with a name.
531 (font::number_to_index, font::name_to_index): Update.
533 * src/roff/troff/input.cpp (charinfo::charinfo): Use the symbol as
536 2006-02-11 Bruno Haible <bruno@clisp.org>
538 * src/devices/grotty/tty.cpp (output_character_t): New type.
539 (tty_printer::make_bold, tty_printer::add_char,
540 tty_printer::put_char): Change argument type to output_character_t.
541 (crossings): Change element type to output_character_t.
543 2006-02-11 Bruno Haible <bruno@clisp.org>
545 Make the glyph data type abstract.
547 * src/include/font.h (glyph_t): New class.
548 (name_to_index, number_to_index): Change return type to glyph_t.
549 (font::contains, font::get_width, font::get_height, font::get_depth,
550 font::get_character_type, font::get_kern, font::get_skew,
551 font::get_italic_correction, font::get_left_italic_correction,
552 font::get_subscript_correction, font::get_code,
553 font::get_special_device_encoding, font::add_entry,
554 font::copy_entry, font::add_kern, font::hash_kern): Change argument
557 * src/libs/libgroff/font.cpp (font_kern_list): Change members
558 type and constructor argument types to glyph_t.
559 (font::contains, font::get_width, font::get_height, font::get_depth,
560 font::get_character_type, font::get_kern, font::get_skew,
561 font::get_italic_correction, font::get_left_italic_correction,
562 font::get_subscript_correction, font::get_code,
563 font::get_special_device_encoding, font::add_entry,
564 font::copy_entry, font::add_kern, font::hash_kern): Change argument
566 (font::load): Use glyph_t variables.
568 * src/libs/libgroff/nametoindex.cpp (name_to_index,
569 number_to_index): Change return type to glyph_t.
571 * src/roff/troff/charinfo.h (charinfo::index): Change type to
573 (charinfo::get_index): Change return type to glyph_t.
575 * src/roff/troff/env.cpp: Include font.h.
577 * src/roff/troff/node.cpp: Include font.h before charinfo.h.
579 * src/roff/troff/input.cpp: Include font.h before charinfo.h.
580 (charinfo::charinfo): Update.
581 (name_to_index, number_to_index): Change return type to glyph_t.
583 * src/include/printer.h (printer::set_char_and_width): Change return
586 * src/libs/libdriver/printer.cpp (printer::set_char_and_width):
587 Change return type to glyph_t.
589 * src/devices/grodvi/dvi.cpp (dvi_printer::set_char): Change
590 argument type to glyph_t.
592 * src/devices/grohtml/post-html.cpp (page::add_and_encode): Update.
593 (html_printer::space_glyph): Renamed from space_char_index.
594 (html_printer::add_to_sbuf, html_printer::sbuf_continuation,
595 html_printer::overstrike, html_printer::set_char): Change argument
597 (html_printer::set_char_and_width): Change return type to glyph_t.
599 * src/devices/grolbp/lbp.cpp (lbp_printer::set_char): Change
600 argument type to glyph_t.
602 * src/devices/grolj4/lj4.cpp (lj4_printer::set_char): Change
603 argument type to glyph_t.
605 * src/devices/grops/ps.cpp (ps_printer::space_glyph): Renamed from
607 (ps_printer::set_subencoding, ps_printer::set_char): Change argument
610 * src/devices/grotty/tty.cpp (tty_printer::set_char): Change
611 argument type to glyph_t.
613 2006-02-11 Bruno Haible <bruno@clisp.org>
615 * src/roff/troff/input.cpp (font::name_to_index): Never return a
618 * src/libs/libgroff/font.cpp (font::load): Remove failure tests for
621 2006-02-10 Werner LEMBERG <wl@gnu.org>
623 * doc/groff.texinfo (Assigning Formats): Number registers are always
625 Apply some rephrasing, contributed by Michael Burt.
627 2006-02-07 Werner LEMBERG <wl@gnu.org>
629 * tmac/fr.tmac <ms>: Set `HY' register.
631 2006-02-07 Werner LEMBERG <wl@gnu.org>
633 Add framework for simple adaptation of the main macro packages (mm,
634 me, ms, mom) to different locales. In particular, add support for
635 French. For activation, simply use `-mfr' as the last macro
636 package. This feature has been contributed by Fabrice Ménard
637 <menard.fabrice@wanadoo.fr>.
639 * tmac/fr.tmac, tmac/trans.tmac, tmac/hyphen.fr, tmac/LOCALIZATION:
641 * tmac/README: Mention hyphen.fr.
642 * man/groff_tmac.man: Mention fr.tmac.
645 2006-01-27 Werner LEMBERG <wl@gnu.org>
647 * man/groff_font.man: Updated documentation of `entity_name' field.
650 2006-01-27 Bruno Haible <bruno@clisp.org>
652 * font/devhtml/R.proto: Remove the entity names from the font's
653 special_encoding_encoding column.
654 * src/devices/grohtml/post-html.cpp (get_html_entity): New function,
655 handling the entity names here.
656 (get_html_translation): Use it. Change return type to `const
658 (page::add_and_encode): Update, removing a useless cast.
660 2006-01-26 Werner LEMBERG <wl@gnu.org>
662 This change is based on a patch by Bruno Haible <bruno@clisp.org>.
664 * src/include/device.h: Add comments.
665 * src/include/font.h: Add comments.
666 * src/include/unicode.h: Likewise.
667 * src/include/ptable.h, src/libs/libgroff/ptable.cpp: Likewise.
669 2006-01-26 Keith Marshall <keith.d.marshall@ntlworld.com>
671 Suppress `.st' request emission by `grn'.
673 * src/preproc/grn/main.cpp (USE_ST_REQUEST): New macro.
676 2006-01-22 Werner LEMBERG <wl@gnu.org>
678 * install-sh: New version; taken from texinfo CVS.
680 2006-01-21 Werner LEMBERG <wl@gnu.org>
682 * src/preproc/preconv/preconv.cpp (main): Set program_name. Bug
683 reported by Alexander E. Patrakov <patrakov@ums.usu.ru>.
685 2006-01-19 Bruno Haible <bruno@clisp.org>
687 Let `make -k install' install more files.
689 * Makefile.in (MAKE_K_FLAG): New variable. Use it everywhere where
690 $(MAKE) and $(MDEFINES) are used.
691 (CPROGDIRS): Remove $(XPROGDIRS). Treat $(XPROGDIRS) like
692 $(CPROGDIRS) everywhere.
693 ($(DEVDIRS) $(XDEVDIRS) $(OTHERDEVDIRS) $(TTYDEVDIRS)): Don't depend
695 ($(OTHERDIRS)): Likewise.
698 * src/devices/grohtml/post-html.cpp (get_html_translation): Remove
699 failure test for font::name_to_index -- it can never fail.
701 2006-01-19 Werner LEMBERG <wl@gnu.org>
703 * src/devices/grops/grops.man: Fix section on creating EPS files.
704 Don't use future time in manual.
707 2006-01-15 Gaius Mulley <gaius@glam.ac.uk>
709 * tmac/www.tmac: New macro LINKSTYLE which allows users to set
710 various typographical URL attributes for non-HTML devices.
712 * tmac/groff_www.man: Document LINKSTYLE.
714 2006-01-11 Werner LEMBERG <wl@gnu.org>
716 * configure.ac: Test for getc_unlocked (needed for localcharset).
717 * configure, src/include/config.hin: Regenerated.
719 * src/libs/libgroff/Makefile.sub (EXTRA_CFLAGS): Define
722 * src/libs/libgroff/relocatable.h: New dummy header file for
725 * src/libs/libgroff/localcharset.c: Updated to (unchanged) CVS
728 2006-01-10 Bruno Haible <bruno@clisp.org>
730 Work around unportability of nl_langinfo(CODESET).
732 * m4/glibc21.m4: New file, from gnulib.
733 * Makefile.sub (M4MACROS): Add m4/glibc21.m4.
734 * configure.ac: Also test for stddef.h, and invoke jm_GLIBC21.
735 * Makefile.in (HOST, GLIBC21): New variables.
736 (MDEFINES): Pass them to subdirectories.
737 * src/include/relocate.h (relocatep): Define with C linkage.
738 * src/include/localcharset.h: New file, from gnulib.
739 * src/libs/libgroff/localcharset.c: New file, from gnulib with a
740 modification for relocate().
741 * src/libs/libgroff/config.charset: New file, from gnulib.
742 * src/libs/libgroff/ref-add.sin: New file, from gnulib.
743 * src/libs/libgroff/ref-del.sin: New file, from gnulib.
744 * src/libs/libgroff/Makefile.sub (EXTRA_CFLAGS): Also define LIBDIR.
745 (OBJS): Add localcharset.o.
746 (CSRCS): Add localcharset.c.
747 (all): Add dependencies to charset.alias, ref-add.sed, ref-del.sed.
748 (charset.alias): New rule.
749 (PACKAGE): New variable.
750 (ref-add.sed, ref-del.sed): New rules.
751 (MKINSTALLDIRS): New variable.
752 (install_data): Depend on install_charset_data.
753 (install_charset_data): New rule for creating or updating
755 (uninstall_sub): Depend on uninstall_charset_data.
756 (uninstall_charset_data): New rule for uninstalling or updating
758 * src/preproc/preconv/preconv.cpp: Include localcharset.h instead
760 (main): Initialize default_encoding from locale_charset() instead of
761 nl_langinfo(CODESET).
763 * aclocal.m4, configure, src/include/config.hin: Regenerated.
765 2006-01-10 Werner LEMBERG <wl@gnu.org>
767 * src/preproc/preconv/preconv.cpp (conversion_iconv): Use
768 ICONV_CONST in call to iconv. Reported by Robert Goulding.
770 2006-01-07 Werner LEMBERG <wl@gnu.org>
772 * fonts/devps/generate/freeeuro.sfd: Run auto-hinter with recent
774 Bump font version to 001.001.
776 * fonts/devps/generate/Makefile (freeeuro.afm, freeeuro.pfa):
777 Call fontforge, not pfaedit.
779 * fonts/devps/freeeuro.afm, fonts/devps/freeeuro.pfa: Regenerated.
781 2006-01-05 Ruslan Ermilov <ru@FreeBSD.org>
783 * tmac/doc-common: Add new FreeBSD and NetBSD versions.
784 * tmac/groff_mdoc.man: Updated.
786 2006-01-05 Werner LEMBERG <wl@gnu.org>
788 * src/preproc/preconv/preconv.cpp: s/debug/debug_flag/.
789 (raw_flag): New global variable.
790 (do_file): Use .lf to set file name (if `raw_flag' isn't set).
791 Don't pass BOM to `conversion_utf8'.
793 (main): Handle `-r' command line switch to set `raw_flag'.
794 (get_BOM): Fix encodings in `BOM_table'.
796 * src/preproc/preconv/preconv.man: New file. Not complete yet.
797 * src/preproc/proconv/Makefile.sub (MAN1): New variable.
799 2006-01-04 Werner LEMBERG <wl@gnu.org>
801 * src/preproc/preconv/preconv.cpp (emacs_to_mime): As suggested by
802 Bruno, comment out most encodings to support only a small set of
803 coding tags, thus reducing potential problems with legacy encodings
804 and character sets in the future.
805 Add many XEmacs coding tags (now commented out).
807 (check_encoding_tag): Renamed to...
808 (check_coding_tag): This.
809 (get_BOM): Return encoding as specified by BOM.
810 Test for UTF32-LE too.
811 (do_file): Don't check for coding tag if a BOM has been found.
813 2006-01-03 Bruno Haible <bruno@clisp.org>
815 * m4/groff.m4: Renamed from aclocal.m4.
816 * m4/codeset.m4: New file, from gnulib.
817 * m4/iconv.m4: New file, from gnulib.
818 * m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4: New files, from
820 * config.rpath: New file, from gnulib.
821 * config.guess, config.sub: New files, from gnulib.
822 * Makefile.sub (M4MACROS): New variable.
823 (configure): Fix typo.
824 (aclocal.m4): New rule.
825 (stamp-h.in): Depend on aclocal.m4.
826 * configure.ac: Invoke AM_ICONV and AM_LANGINFO_CODESET.
827 * Makefile.in (LIBICONV): New variable.
828 (MDEFINES): Pass it to recursive makes.
829 * src/preproc/preconv/preconv.cpp: Use HAVE_LANGINFO_CODESET and
830 HAVE_ICONV instead of I18N macro.
831 * src/preproc/preconv/Makefile.sub (EXTRA_LDFLAGS): New variable.
833 * aclocal.m4, configure, src/include/config.hin: (Re)generated.
835 2006-01-03 Werner LEMBERG <wl@gnu.org>
837 * doc/Makefile.in (webpage.html): Simplify.
838 * doc/Makefile.sub (webpage.html): Synchronize with doc/Makefile.in.
839 * doc/webpage.ms, tmac/groff_www.man, tmac/www.tmac: Minor updates.
841 2006-01-01 Werner LEMBERG <wl@gnu.org>
843 * tmac/doc-common (Os): Add some Darwin versions.
844 * tmac/groff_mdoc.man: Document them.
846 2006-01-01 Bruno Haible <bruno@clisp.org>
848 * src/preproc/preconv/preconv.cpp (emacs_to_mime): Various
850 . Don't map ascii to latin-1.
851 . Don't use IBMxxx encodings but cpxxx for portability.
852 . Map cp932, cp936, cp949, cp950 to itself.
853 (emacs2mime): Protect calls to strcasecmp.
854 (conversion_iconv): Add missing call to iconv_close.
855 (do_file): Emit error message in case of unsupported encoding.
857 2005-12-31 Werner LEMBERG <wl@gnu.org>
859 Integrate preconv into the groff binary. Changes based on a patch
860 from Michail Vidiassov.
862 * src/roff/groff/pipeline.h (MAX_COMMANDS): Increase by 1.
864 * src/roff/groff/groff.cpp (PRECONV_INDEX): New macro.
865 (SOELIM_INDEX): Updated.
866 (help, synopsis): Updated.
867 (main): Add command line options `-k' and `-K enc' to select
869 Add support for GROFF_ENCODING environment variable.
871 * src/roff/groff/groff.man: Updated and revised.
874 Start with autoconf support for preconv.
876 * configure.ac: Call AC_C_BIGENDIAN.
877 * configure, src/include/config.hin: Regenerated.
879 2005-12-30 Werner LEMBERG <wl@gnu.org>
881 New preprocessor `preconv' to convert input encodings to something
882 groff can understand. Not yet integrated within groff. Proper
883 autoconf stuff is missing too.
885 Tomohiro Kubota has written a first draft of this program, and some
886 ideas have been reused (while almost no code has been taken
889 * src/preproc/preconv/preconv.cpp. src/preproc/preconv/Makefile.sub:
892 * MANIFEST, Makefile.in (CCPROGDIRS), test-groff.in
893 (GROFF_BIN_PATH): Add preconv.
895 2005-12-12 Werner LEMBERG <wl@gnu.org>
897 * aclocal.m4 (GROFF_MAKEINFO): Fix regexps to be POSIX conformant.
898 In particular, don't use `\+' since it is a GNU sed extension.
900 * configure: Regenerated.
902 2005-12-09 Werner LEMBERG <wl@gnu.org>
904 * src/libs/libgroff/make-uniuni: New script to generate uniuni.cpp.
906 * src/libs/libgroff/uniuni.cpp: Regenerated, using data from Unicode
910 * src/utils/afmtodit/make-afmtodit-tables: New script to generate
913 * src/utils/afmtodit/afmtodit.tables: New file, representing Unicode
916 * src/utils/afmtodit/afmtodit.pl (%unicode_decomposed,
917 %AGL_to_unicode): Removed. Replace it with a tag.
919 * src/utils/afmtodit/Makefile.sub (afmtodit): Adjust sed expression
920 to replace tag with actual file contents.
922 2005-12-08 Werner LEMBERG <wl@gnu.org>
924 The change 2005-06-20 can indeed cause problems, so we follow the
925 advice by using marks.
927 * font/devps/prologue.ps (PBEGIN): Use `mark'.
928 (PEND): Use `cleartomark'.
930 2005-12-07 Michail Vidiassov <master@iaas.msu.ru>
932 * src/utils/afmtodit.pl: Fix kerning output to avoid warnings for
933 glyphs which have kern values but aren't handled (glyph variants,
936 2005-12-02 Werner LEMBERG <wl@gnu.org>
938 * src/devices/grops/ps.cpp (ps_printer::get_subfont): Use correct
939 subfont index. Reported by Michail Vidiassov <master@iaas.msu.ru>.
941 2005-11-28 Gaius Mulley <gaius@glam.ac.uk>
943 * doc/Makefile.in: Separate rule for webpage.html so that extra
944 command line options can be passed to grohtml.
945 * doc/groff.css: Change all margins to 0%.
946 * doc/webpage.ms: Now use new macros ALN, LNS, and LNE so that left
947 navigation is exploited. Also update webpage to contain new
948 sections on licenses, mailing lists, cvs/ftp access, groff
949 dependencies, and bug reports.
950 * tmac/groff_www.man: Document the new macros ALN, LNS, and LNE.
951 * tmac/www.tmac: Implement the new macros ALN, LNS, and LNE.
953 2005-11-25 Gaius Mulley <gaius@glam.ac.uk>
955 * src/devices/grohtml/post-html.cpp
956 (html_printer::do_file_components): Add fputs calls to emit the
957 head contents and shut down the head tag whenever a new file
958 component is generated.
960 2005-11-22 Gaius Mulley <gaius@glam.ac.uk>
962 * src/devices/grohtml/post-html.cpp (html_printer::flush_page): Add
963 call to flush_text to flush any outstanding html tags on the
966 2005-11-18 Werner LEMBERG <wl@gnu.org>
968 * aclocal.m4 (GROFF_MAKEINFO): Use `groff.info' in tests.
969 Announce makeinfo version.
970 * configure: Regenerated.
972 2005-11-18 Mike Frysinger <vapier@gentoo.org>
974 * Makefile.in: Declare proper dependencies between make targets.
976 * doc/Makefile.in: Rename groff info page to `groff.info'.
977 * doc/Makefile.sub: Likewise.
978 * doc/groff.texinfo: Likewise.
980 2005-11-17 Peter O'Gorman <mlists@thewrittenword.com>
982 * src/utils/pfbtops/pfbtops.c, src/utils/xtotroff/xtotroff.c: Move
983 definition of __GETOPT_PREFIX to the beginning of file to ensure
984 that it is defined even on platforms where getopt.h is already
985 included by other header files.
987 2005-11-10 Gaius Mulley <gaius@glam.ac.uk>
989 * src/devices/grohtml/post-html.cpp (html_printer::do_heading):
990 Reset font to NULL to ensure that a font block is recreated during
993 2005-11-04 Werner LEMBERG <wl@gnu.org>
995 * aclocal.m4 (GROFF_MAKEINFO): Fix sed expression.
996 * configure: Regenerated.
998 2005-10-27 Werner LEMBERG <wl@gnu.org>
1000 * aclocal.m4 (GROFF_MAKEINFO): New function for checking whether
1001 makeinfo 4.8 or newer is available.
1002 * configure.ac: Call GROFF_MAKEINFO.
1003 * configure: Regenerated.
1005 * Makefile.in (MAKEINFO): Use autoconf variable.
1006 (MDEFINES): Add MAKEINFO.
1008 * doc/Makefile.in (MAKEINFO): Use autoconf variable.
1009 * doc/Makefile.sub (MAKEINFO): Remove.
1011 2005-10-26 Werner LEMBERG <wl@gnu.org>
1013 * REVISION: Set to 3.
1015 2005-10-17 Werner LEMBERG <wl@gnu.org>
1017 Mention $MANPAGER variable used with some `man' systems.
1019 * doc/webpage.ms, src/devices/grotty/grotty.man, NEWS: Updated.
1021 2005-09-13 Werner LEMBERG <wl@gnu.org>
1023 * tmac/hyphenex.us: New version (`ushyphex.tex' from ftp.dante.de).
1025 2005-09-04 Werner LEMBERG <wl@gnu.org>
1027 Version 1.19.2 released
1028 =======================
1030 * tmac/groff_ms.man, doc/groff.texinfo: Synchronize.
1032 * doc/webpage.ms: Updated.
1034 * install-sh, mkinstalldirs: New versions; taken from texinfo CVS.
1036 2005-09-04 Jörgen Grahn <jgrahn@algonet.se>
1038 * tmac/groff_ms.man: Document `PO' better.
1040 2005-09-03 Werner LEMBERG <wl@gnu.org>
1042 * NEWS: Document grotty changes.
1044 2005-09-01 Keith Marshall <keith.d.marshall@ntlworld.com>
1046 Backward compatibility support for `man' program.
1048 * tmac/an-old.tmac (LL): Initialize it to respect prior LL register
1049 assignment, prior `.ll' request and then package defaults, in this
1050 specified order of decreasing priority.
1052 * tmac/groff_man.man, doc/groff.texinfo: Document altered `LL'
1053 register initialization priorities.
1055 2005-08-29 Gary W. Swearingen <garys@opusnet.com>
1057 * tmac/groff_mdoc.man: Go into more details how the `AUTHORS'
1058 section should look like.
1060 2005-08-29 Werner LEMBERG <wl@gnu.org>
1062 * tmac/groff_mdoc.man: The month's name in a call to .Dd shouldn't
1065 2005-08-27 Bernd Warken
1067 * tmac/groff_man.man: Add man(7) too SEE ALSO and more minor
1070 2005-08-11 Bernd Warken
1072 * tmac/www.tmac (URL, MTO): Handle empty \\$1 better.
1074 2005-08-09 Bernd Warken
1076 * tmac/www.tmac (URL, MTO): Use bold series if color support is
1079 2005-08-02 Bernd Warken
1081 * doc/Makefile.sub (uninstall_sub): Use --remove, not --delete
1082 as argument to $(INSTALL_INFO). The latter isn't portable.
1083 Remove $(HTMLEXAMPLEFILES) too.
1085 * Makefile.in (uninstall_dirs): Remove $(datadir)/doc/groff and
1087 Suppress warning messages and return always true.
1089 * tmac/Makefile.sub (uninstall_sub): Remove www.tmac too.
1091 2005-07-02 Bernd Warken
1093 * src/devices/xditview/gxditview.man: Change many `.I' to `.B'.
1094 * man/groff_out.man: More markup and minor improvements.
1095 * src/roff/groff/groff.man: Minor improvements.
1097 2005-06-28 Werner LEMBERG <wl@gnu.org>
1099 * ChangeLog: Split off older entries into...
1100 * ChangeLog.115 ChangeLog.116, ChangeLog.117, ChangeLog.118: New
1103 2005-06-26 Bernd Warken
1105 * src/devices/xditview/gxditview.man: More minor fixes.
1107 2005-06-24 Werner LEMBERG <wl@gnu.org>
1109 * src/preproc/pic/troff.cpp (troff_output::set_fill,
1110 troff_output::set_color, troff_output::reset_color): Use .bcolor and
1111 .fcolor instead of \m and \M, respectively.
1113 2005-06-23 Bernd Warken
1115 * src/devices/xditview/gxditview.man: More minor fixes.
1116 * README: Formatting issues.
1117 Mention some problems with Debian.
1119 2005-06-23 Bernd Warken
1121 * src/devices/xditview/gxditview.man: Revised and improved.
1123 2005-06-22 Werner LEMBERG <wl@gnu.org>
1125 Another round in fixing getopt problems. Hopefully the last one!
1126 This time we use the getopt stuff from gnulib and define a prefix
1127 unconditionally so that there are no collisions with any other
1128 getopt implementations. This is a slight waste of space in case
1129 we already use a GNU getopt implementation, but on
1130 the other hand it really simplifies life.
1132 * src/include/getopt.h: Use gnulib version.
1134 * src/include/getopt_int.h: Use gnulib version.
1136 * src/include/groff-getopt.h: Removed. Obsolete now.
1138 * src/include/lib.h: Regarding getopt, don't handle any platform
1139 specially; just include getopt.h.
1140 (__GETOPT_PREFIX): Define (before getopt.h).
1142 * src/include/Makefile.sub (HDRS): Updated.
1144 * src/libs/libgroff/getopt1.c, src/libs/libgroff/getopt.c: Use
1147 * src/libs/libgroff/Makefile.sub (EXTRA_CFLAGS): Set
1150 * src/utils/pfbtops/pfbtops.c, src/utils/xtotroff/xtotroff.c
1151 (__GETOPT_PREFIX): Define (before getopt.h).
1153 2005-06-21 Werner LEMBERG <wl@gnu.org>
1155 * src/include/lib.h: Provide a fix for Mac OS X to not include
1158 2005-06-20 Denis M. Wilson <dmw@oxytropis.plus.com>
1160 * font/devps/prologue.ps (EP): Dont' use `bind'. Reason: Using
1161 `bind' to define a procedure which contains `showpage' means that an
1162 invocation of `showpage' may execute wrongly (the exact effect
1163 depending on the interpreter). Not usually a problem except under
1164 transformations, such as combining pages.
1165 (PEND): Don't call `clear'. Reason: Using `clear' in the definition
1166 of /PEND means that stack underflow will occur if the stack is
1167 deliberately non-empty before document inclusion. If included
1168 files are found to be generally badly behaved, we could replace the
1169 `clear' with `mark' in /PBEGIN and `cleartomark' in /PEND (I've
1170 never found this necessary).
1172 2005-06-20 Jörgen Grahn <jgrahn@algonet.se>
1174 * src/preproc/soelim/soelim.cpp (do_file): Append trailing zero
1175 earlier to get correct error message.
1177 2005-06-16 Bernd Warken
1178 * src/roff/nroff/nroff.sh: Add support for iso-8859-15.
1180 2005-06-15 Werner LEMBERG <wl@gnu.org>
1182 Another try to update getopt files. This time we add a dummy
1183 gettext.h file to satisfy the dependency.
1185 * src/include/getopt.h, src/libs/libgroff/getopt.c,
1186 src/libs/libgroff/getopt1.c: Updated from GNU libc CVS.
1188 * src/include/getopt_int.h: New file (from GNU libc CVS).
1190 * src/include/gettext.h: Dummy file which just defines a gettext()
1193 * src/include/groff-getopt.h: Updated.
1195 * src/include/Makefile.sub (HDRS): Add getopt_int.h and gettext.h.
1198 * src/libs/libdriver/input.cpp (IntArray): Remove superfluous
1199 `const' keywords in return value.
1201 * src/preproc/html/pushback.cpp (pushBackBuffer::~pushBackBuffer):
1202 Remove redundant variable `old'.
1203 (pushBackBuffer::skipToNewline): Remove redundant variable `ch'.
1205 * src/preproc/tbl/main.cpp (process_table): Remove redundant
1209 Fix more friend name injection problems since modern C++ compilers
1210 fail otherwise. We simply provide (global) declarations for all
1211 functions declared as friends. This is not really necessary but
1214 * src/preproc/eqn/lex.cpp: Provide declarations for get_char,
1215 peek_char, and get_location.
1217 * src/preproc/refer/ref.h: Provide declarations for
1218 compare_reference, same_reference, same_year, same_date,
1219 same_author_last_name, and same_author_name.
1221 * src/roff/troff/div.h: Provide declarations for do_divert and
1224 * src/roff/troff/env.h: Provide declarations for title_length,
1225 space_size, fill, no_fill, adjust, no_adjust, center, right_justify,
1226 vertical_spacing, post_vertical_spacing, line_spacing, line_length,
1227 indent, temporary_indent, do_underline, do_input_trap, set_tabs,
1228 margin_character, no_number, number_lines, leader_character,
1229 tab_character, hyphenate_request, no_hyphenate,
1230 hyphen_line_max_request, hyphenation_space_request,
1231 hyphenation_margin_request, line_width, tabs_save, tabs_restore,
1232 line_tabs_request, widow_control_request, and do_divert.
1234 * src/roff/troff/input.cpp: Provide declaration for chop_macro.
1236 * src/roff/troff/node.cpp: Provide declarations for class
1238 Provide declaration for make_tfont.
1240 2005-05-29 Werner LEMBERG <wl@gnu.org>
1242 * doc/fdl.texi: Updated to version 1.2. Reported by Bernd Warken.
1244 2005-05-28 Werner LEMBERG <wl@gnu.org>
1246 * contrib/pdfmark/Makefile.sub (.ms.pdf): Use `--stylesheet', not
1249 * src/devices/grolbp/lbp.cpp, src/devices/grolbp/lbp.h: Remove
1250 redundant semicolons.
1252 * src/preproc/eqn/Makefile.sub, src/preproc/html/Makefile.sub,
1253 src/preproc/soelim/Makefile.sub, src/preproc/tbl/Makefile.sub:
1254 Define `MLIB'. Some compilers need this for linking with libgroff.
1256 2005-05-27 Werner LEMBERG <wl@gnu.org>
1258 * MANIFEST, README, doc/webpage.ms: Updated.
1260 2005-05-26 Werner LEMBERG <wl@gnu.org>
1262 * All affected files: Update postal address of FSF.
1264 2005-05-25 Keith Marshall <keith.d.marshall@ntlworld.com>
1267 * README: More fixes.
1269 * README.CVS: Removed. Its contents is now part of the README file.
1271 2005-05-21 Werner LEMBERG <wl@gnu.org>
1273 * README: Updated. Based on a patch from Bernd Warken.
1275 2005-05-16 Keith Marshall <keith.d.marshall@ntlworld.com>
1277 Miscellaneous script portability enhancements.
1279 * aclocal.m4: (GROFF_CSH_HACK): Add space in shebang prototype for
1280 generated conftest.sh script, conforming to portability
1281 recommendation in autoconf docs.
1282 * configure: Likewise, for code generated by GROFF_CSH_HACK.
1283 * contrib/eqn2graph/eqn2graph.sh: Add space in shebang, conforming
1284 to portability recommendation in autoconf docs.
1285 * contrib/gdiffmk/gdiffmk.sh: Likewise.
1286 * contrib/gdiffmk/tests/runtests.in: Likewise.
1287 * contrib/grap2graph/grap2graph.sh: Likewise.
1288 * contrib/groffer/groffer.sh: Likewise.
1289 * contrib/mm/mmroff.pl: Likewise.
1290 * contrib/mom/momdoc/appendices.html: Likewise.
1291 * contrib/pic2graph/pic2graph.sh: Likewise.
1292 * font/devps/generate/afmname: Likewise.
1293 * src/devices/xditview/ad2c: Likewise.
1294 * src/preproc/eqn/neqn.sh: Likewise.
1295 * src/roff/grog/grog.pl: Likewise.
1296 * src/roff/grog/grog.sh: Likewise.
1297 * src/roff/nroff/nroff.sh: Likewise.
1298 * PROBLEMS: Likewise, in embedded script examples.
1300 2005-05-16 Keith Marshall <keith.d.marshall@ntlworld.com>
1302 Improve portability of `pdfroff' shell script.
1304 * arch/misc/shdeps.sh: Add space in shebang, conforming to
1305 portability guidelines in `autoconf' docs.
1306 (PATH_SEARCH_SETUP): New substitution; emits PATH_SEPARATOR
1307 initialization code. Used by contrib/pdfmark/pdfroff.sh's
1308 `searchpath' function.
1310 2005-05-14 Werner LEMBERG <wl@gnu.org>
1312 * contrib/pic2graph/pic2graph.sh, contrib/graph2graph.sh,
1313 contrib/eqn2graph.sh: Add option `-trim' to `convert' which is
1314 needed for newer ImageMagick versions.
1316 2005-05-07 Werner LEMBERG <wl@gnu.org>
1318 * src/preproc/refer/refer.man: Many small typographic fixes.
1320 2005-05-06 Jeff Conrad <jeff_conrad@msn.com>
1322 * src/devices/grohtml/post-html.cpp (assert_state::~assert_state):
1323 Use `char *' cast for a_delete.
1325 2005-05-03 Werner LEMBERG <wl@gnu.org>
1327 * src/libs/libgroff/maxpathname.cpp: Include stdlib.h.
1328 src/libs/libgroff/relocate.cpp: Use path_name_max everywhere.
1330 2005-05-03 Jeff Conrad <jeff_conrad@msn.com>
1332 * src/devices/grohtml/post-html.cpp: Use casts to `char *' if using
1333 `a_delete' for `const char *'.
1335 2005-05-03 Werner LEMBERG <wl@gnu.org>
1337 * src/devices/grohtml/post-html.cpp,
1338 src/devices/grohtml/html-table.cpp,
1339 src/devices/grohtml/html-text.cpp, src/devices/grohtml/output.cpp:
1340 Replace malloc/free with new/delete/a_delete.
1342 * src/devices/grolbp/lbp.h: Remove superfluous semicolons which
1343 are prohibited with ANSI C++.
1344 (lbpprintf, vdmprintf): Remove useless `inline' keyword (since the
1345 function has a variable number of arguments).
1347 * src/preproc/grn/main.cpp (doinput): Change return type to `int'.
1348 Simplify function and update all callers.
1350 2005-05-02 Werner LEMBERG <wl@gnu.org>
1352 Undo getopt changes from 2005-04-30. We don't want a dependency
1355 * src/include/getopt_int.h: Removed.
1357 * src/include/getopt.h, src/include/groff-getopt.h,
1358 src/include/Makefile.sub, src/libs/libgroff/getopt.c,
1359 src/libs/libgroff/getopt1.c: Revert to previous version.
1362 * src/include/nonposix.h (access) [_MSC_VER]: New macro.
1364 * src/include/posix.h (F_OK): Define conditionally.
1366 * src/devices/grotty/tty.cpp (tty_printer::make_underline): Use
1367 different variable name in second `for' loop to avoid MSVC compiler
1370 2005-04-30 Werner LEMBERG <wl@gnu.org>
1372 AC_TYPE_SIGNAL from current autoconf can fail if CC=g++.
1374 * aclocal.m4 (GROFF_TYPE_SIGNAL): New function.
1375 * configure.ac: Use GROFF_TYPE_SIGNAL, not AC_TYPE_SIGNAL.
1376 * configure, src/include/config.hin: Regenerated.
1378 * PROBLEMS: Updated.
1381 Update getopt files.
1383 * src/include/getopt.h, src/libs/libgroff/getopt.c,
1384 src/libs/libgroff/getopt1.c: Updated from GNU libc CVS.
1386 * src/include/getopt_int.h: New file (from GNU libc CVS).
1388 * src/include/groff-getopt.h: Updated.
1390 * src/include/Makefile.sub (HDRS): Add getopt_int.h.
1393 * font/devutf8/NOTES: Updated.
1395 2005-04-28 Werner LEMBERG <wl@gnu.org>
1397 Bug fix for Win32 relocatable code. Based on a patch from Keith
1400 * src/libs/libgroff/maxpathname.cpp (PATH_MAX): Test for `_MAX_PATH'
1403 * src/libs/libgroff/relocate.c (DEBUG): Define it conditionally.
1404 (searchpath) [_WIN32]: Use `_fullpath', not `realpath'.
1406 2005-04-28 Keith Marshall <keith.d.marshall@ntlworld.com>
1408 Correct `gnu.eps' handling for build from distribution tarball, with
1409 separate source and build directories.
1411 * doc/Makefile.sub: (examples.stamp): New target; forces copy of
1412 grnexmpl.g, groff.css and gnu.eps from source to build directory;
1413 generate gnu.eps from gnu.xpm if required; touch examples.stamp.
1414 (prepare_examples): Make it depend on examples.stamp.
1415 (CLEANADD): Add examples.stamp.
1417 2005-04-27 Werner LEMBERG <wl@gnu.org>
1421 position: `(' position `)'
1425 * src/preproc/pic/pic.y (position, position_not_place): Handle
1426 additional parentheses.
1428 * doc/pic.ms: Updated.
1430 2005-04-23 Larry Jones <lawrence.jones@ugs.com>
1432 * src/utils/xtotroff/xtotroff.c (MapFont): Fix variable declaration.
1434 2005-04-18 Werner LEMBERG <wl@gnu.org>
1436 * src/roff/groff/pipeline.c: Don't include ctype.h.
1438 2005-04-13 Werner LEMBERG <wl@gnu.org>
1440 * src/roff/nroff/nroff.man: Document option `-M'.
1442 2005-04-13 Bruce Lilly <blilly@erols.com>
1444 * src/roff/nroff/nroff.sh: Make the script accept option `-M'.
1446 2005-04-01 Kees Zeelenberg <kzlg@users.sourceforge.net>
1447 Werner LEMBERG <wl@gnu.org>
1449 Add binary relocation support for Windows platforms.
1451 * src/include/Makefile.sub (defs.h): Add `INSTALLPATH'.
1453 * src/include/relocate.h, src/libs/libgroff/relocate.cpp: New files.
1455 * src/libs/libgroff/searchpath.cpp: Handle `relocate'.
1456 (search_path::search_path, search_path::open_file_cautious): Use
1459 * src/libs/libgroff/Makefile.sub (OBJS, CCSRCS),
1460 src/include/Makefile.sub (HDRS): Updated.
1462 2005-04-01 Werner LEMBERG <wl@gnu.org>
1464 * src/devices/grohtml/post-html.cpp: Don't use strdup/free but
1467 * src/libs/libgroff/font.cpp: Replace strdup with strsave.
1469 * src/libs/libgroff/maxfilename.cpp: Don't include limits.h since
1470 lib.h already does it.
1472 * src/libs/libgroff/maxpathname.cpp: New file, defining
1475 * src/include/lib.h: Add prototype for path_name_max.
1477 * src/libs/libgroff/Makefile.sub (OBJS, CCSRCS): Updated.
1479 * src/include/nonposix.h (PATH_EXT): New macro.
1481 2005-03-28 Werner LEMBERG <wl@gnu.org>
1483 Add support for double- and zero-width characters in grotty.
1485 * src/devices/grotty/tty.cpp (glyph): Add width.
1486 (tty_printer::make_underline, tty_printer::make_bold,
1487 tty_printer::add_character): Add parameter to pass character width.
1489 (tty_printer::end_page): Increase hpos by actual character width.
1491 * font/devutf8/R.proto: Specify zero width for non-spacing
1494 * tmac/unicode.tmac: Remove definitions for non-spacing entities.
1496 * Makefile.comm (extraclean): Remove more junk files.
1498 2005-03-25 Werner LEMBERG <wl@gnu.org>
1500 * configure.ac: Undo change from 2005-03-24.
1501 * configure: Regenerated.
1503 2005-03-24 Werner LEMBERG <wl@gnu.org>
1505 * Makefile.in (NOMAKEDIRS): Add contrib/gdiffmk/tests.
1506 (dist): Search Makefile while descending into $(EXTRADIRS).
1508 * doc/Makefile.in (.PHONY): Add.
1509 (clean): Don't remove *.png and *.eps.
1511 (realclean): Remove *.png and *.eps.
1512 (extraclean): Depend on distclean.
1514 * configure.ac: Add copyright.
1515 Handle contrib/pdfmark/Makefile.
1517 * configure: Regenerated.
1519 2005-03-18 Larry Kollar <kollar@alltel.net>
1521 Add numbered and definition lists to www.tmac.
1523 * tmac/www.tmac (www-ul-level1, www-ul-level2, www-ul-level3,
1524 www-ol-level1, www-ol-level2, www-ol-level3, www-ol-tmp): New
1525 auxiliary string registers.
1526 (www-ul-level, www-ol-level, www-dl-level, www-ol-ctr1, www-ol-ctr2,
1527 www-ol-ctr3, www-dl-shift): New auxiliary number registers.
1528 (www-level): Removed.
1529 (www-level1, www-level2, www-level3): Initialize to empty.
1530 (www-level0, www-level4, www-level5, www-level6, www-level7,
1531 www-level8, www-level9): New string registers.
1532 (www-push-li, www-pop-li): New macros.
1533 (www-push-level, www-pop-level): Renamed to...
1534 (www-push-ul-level, www-pop-ul-level): This.
1536 (www-push-ol-level, www-pop-ol-level): New macros.
1537 (ULS, ULE): Updated.
1538 (OLS, OLE, DLS, DLE): New user macros.
1539 (LI): Removed. It is aliased to one of...
1540 (www-li-ul, www-li-ol, www-li-dl): New macros.
1542 * tmac/groff_www.man: Document new macros.
1546 2005-03-18 Werner LEMBERG <wl@gnu.org>
1548 * tmac/doc-common (doc-operating-system-NetBSD-2.0.1,
1549 doc-operating-system-NetBSD-2.0.2): New strings.
1551 * tmac/groff_mdoc.man: Updated.
1553 2005-03-17 Werner LEMBERG <wl@gnu.org>
1555 * doc/Makefile.sub (CLEANADD): Add `groff.html'.
1557 2005-03-17 Werner LEMBERG <wl@gnu.org>
1559 * src/libs/libgroff/hypot.c: Renamed to...
1560 * src/libs/libgroff/hypot.cpp: This. Updated to C++.
1562 * src/libs/libgroff/Makefile.sub (CCSRCS, CSRCS): Updated.
1564 * src/include/lib.h: Updated.
1566 2005-03-16 Werner LEMBERG <wl@gnu.org>
1568 Add workaround for broken hypot() on Interix.
1570 * src/libs/libgroff/hypot.c: New wrapper file for `hypot'.
1572 * src/libs/libgroff/Makefile.sub (OBJS): Add `hypot.o'.
1573 (CSRCS): Add `hypot.c'.
1575 * src/include/lib.h: Declare `groff_hypot'.
1577 * src/preproc/grn/hgraph.cpp: Don't declare `hypot'.
1580 * src/preproc/pic/pic.h: Don't declare `hypot'.
1582 * src/preproc/pic/object.cpp (hypot): Use `groff_hypot'.
1584 2005-03-15 Gaius Mulley <gaius@glam.ac.uk>
1586 * src/devices/grohtml/post-html.cpp
1587 (html_printer::lookahead_for_tables): End .ce properly to avoid a
1590 2005-03-15 Werner LEMBERG <wl@gnu.org>
1592 makeinfo 4.8 doesn't produce good HTML output from groff.texinfo.
1594 * doc/fixinfo.sh: New script to postprocess makeinfo's HTML output.
1596 * doc/Makefile.in (.texinfo.html): Call fixinfo.sh.
1598 2005-03-14 Werner LEMBERG <wl@gnu.org>
1600 Add Cyrillic support to devutf8 and devhtml.
1602 * font/devutf8/R.proto, font/devhtml/R.proto: Add Cyrillic blocks.
1604 * tmac/unicode.tmac: New file.
1606 * tmac/tty.tmac: Include unicode.tmac if device is utf8.
1608 * tmac/Makefile.sub (NORMALFILES): Add unicode.tmac.
1612 2005-03-02 Keith Marshall <keith.d.marshall@ntlworld.com>
1614 * src/libs/libdriver/printer.cpp (check_for_output_error): New
1615 function. It has been introduced to catch peculiar error contexts
1616 on MS-Windows platforms.
1618 2005-02-28 Werner LEMBERG <wl@gnu.org>
1620 * src/roff/troff/input.cpp (string_iterator::fill): Protect against
1623 * tmac/papersize.tmac: Convert `paper' string contents to lowercase.
1625 * configure: Regenerated.
1629 2005-02-28 Keith Marshall <keith.d.marshall@ntlworld.com>
1631 Integrate `pdfmark' into normal groff build system;
1632 install macro `pdfmark' packages, build and install `pdfroff',
1633 and PDF format documentation.
1635 * Makefile.comm: Add PDFDOCDIR.
1637 * Makefile.in: (MDEFINES) ALT_AWK_PROGS, ALT_GHOSTSCRIPT_PROGS,
1638 pdfdocdir, make_pdfdoc, make_install_pdfdoc: New variables.
1639 (unstall_dirs): Add pdfdocdir.
1641 * aclocal.m4: (GROFF_GHOSTSCRIPT_PREFS): New function; support
1642 `--with-alt-gs' option, set ALT_GHOSTSCRIPT_PROGS.
1643 (GROFF_GHOSTSCRIPT_PATH): Support `--with-gs' option, force use of
1644 GROFF_GHOSTSCRIPT_PREFS, set GHOSTSCRIPT.
1645 (GROFF_HTML_PROGRAMS): Force use of GROFF_GHOSTSCRIPT_PATH; tidy up.
1646 (GROFF_AWK_PREFS): New function; support `--with-alt-awk' option,
1648 (GROFF_AWK_PATH): New function; support `--with-awk' option, force
1649 use of GROFF_AWK_PREFS.
1650 (GROFF_PDFDOC_PROGRAMS): New function; force use of GROFF_AWK_PATH
1651 and GROFF_GHOSTSCRIPT_PATH, set make_pdfdoc and make_install_pdfdoc.
1653 * configure.ac: Add AC_PREREQ(2.59), GROFF_PDFDOC_PROGRAMS.
1654 Remove GROFF_GHOSTSCRIPT_PATH, (forced by GROFF_PDFDOC_PROGRAMS, and
1655 also by modified GROFF_HTML_PROGRAMS).
1657 2005-02-27 Gaius Mulley <gaius@glam.ac.uk>
1659 * src/devices/grohtml/html-text.cpp (html_text::do_pre): Preserve
1661 (html_text::done_para): Unset `start_space'.
1662 (html_text::remove_para_align): Call `retrieve_para_space' for the
1665 * src/devices/grohtml/post-html.cpp (html_printer::emit_raw): Unset
1667 (html_printer::do_check_center): Emit vertical space if necessary.
1669 * src/roff/troff/env.cpp (environment_switch): Preserve
1670 `seen_space', `seen_eol', and `suppress_next_eol' while switching
1673 * src/roff/troff/node.cpp (suppress_node::suppress_node): Set
1676 2005-02-20 Werner LEMBERG <wl@gnu.org>
1678 * src/preproc/eqn/eqn.man, NEWS: Document various extensions of
1681 2005-02-17 Werner LEMBERG <wl@gnu.org>
1683 * doc/pic.ms, man/groff.man: Fix typos.
1685 * doc/groff.texinfo: Fix typos.
1686 (\LEmacro): Get proper mathematical spacing.
1688 2005-02-16 Werner LEMBERG <wl@gnu.org>
1690 * aclocal.m4 (GROFF_APPRESDIR_CHECK): Improve warning message.
1691 * configure: Regenerated with autoconf 2.59b.
1693 2005-02-16 Gaius Mulley <gaius@glam.ac.uk>
1695 * src/devices/grohtml/post-html.cpp (html_printer::is_line_start,
1696 html_printer::start_font): Fix handling of preformatted text.
1698 2005-02-15 Gaius Mulley <gaius@glam.ac.uk>
1700 These patches modify the indentation implementation to use `<p
1701 style=margin-left: n%>'. Many thanks to Peter and Larry for
1702 suggesting this solution. Grohtml only uses tables for `.IP' and
1703 related tags when the first operand has a short width.
1705 Similarly, they modify all vertical space code. By default, grohtml
1706 sets up a style sheet which uses no vertical space between `table',
1707 `pre', and `p' tags. It forces spaces when it needs them using
1708 `style="margin-top: 1em"'.
1710 * src/devices/grohtml/html-table.cpp: Include `html-text.h'.
1711 (html_table::emit_table_header, html_table::emit_new_row):
1713 (html_table::set_space): New function.
1714 (html_indent::html_indent): Don't set `is_used'.
1715 (html_indent::begin): Rewritten.
1716 (html_indent::end): Remove code in function.
1718 * src/devices/grohtml/html-table.h: Updated.
1719 (html_table): Make `out' public.
1721 * src/devices/grohtml/html-text.cpp (html_text::html_text):
1722 Initialize `start_space' with FALSE.
1723 (html_text::end_tag) <P_TAG, PRE_TAG>: Updated.
1724 (html_text::issue_tag): Add argument to handle space style.
1725 (html_text::start_tag) <P_TAG, PRE_TAG>: Updated.
1726 (html_text::flush_text): Don't set `start_space'.
1727 (html_text::push_para): Don't set `p->really_issued'.
1728 (html_text::do_emittext): Updated.
1729 (html_text::do_para): Add paremeter to handle space.
1731 (html_text::retrieve_para_space): New function.
1733 * src/devices/grohtml/html-text.h (STYLE_VERTICAL_SPACE): New macro.
1734 (tag_definition): Remove `really_issued'.
1735 (html_text): Updated.
1737 * src/devices/grohtml/post-html.cpp (html_printer): Add variables
1738 `current_column' and `row_space'.
1740 (html_printer::emit_raw, html_printer::write_header,
1741 html_printer::do_indent, html_printer::do_check_center,
1742 html_printer::do_tab_ts): Handle vertical space.
1743 (html_printer:do_tab_te, html_printer::do_end_para): Call
1744 `remove_para_space'.
1745 (html_printer::do_col): Rewritten.
1746 (html_printer::flush_globs): Remove debugging code.
1747 (html_printer::is_line_start): New function.
1748 (html_printer::start_font): Use `is_line_start'.
1749 (html_printer::writeHeadMetaStyle): New function.
1750 (html_printer::do_file_components, html_printer::~html_printer):
1751 Call `writeHeadMetaStyle'.
1753 * tmac/www.tmac (www-handle-percent): New macro.
1754 (MPIMG): Handle percent values for width and height parameters.
1757 * tmac/groff_www.man: Updated.
1759 2005-02-14 Werner LEMBERG <wl@gnu.org>
1761 * src/utils/afmtodit/afmtodit.pl: Remove an incorrect `my' from
1762 $psname and $italic_angle.
1763 Immediately restart file input loops if `split' returns an empty
1766 2005-02-13 Michail Vidiassov <master@iaas.msu.ru>
1767 Werner LEMBERG <wl@gnu.org>
1769 Update afmtodit to better support Unicode (Michail).
1770 Update afmtodit to use Perl 5 syntax (Werner).
1772 * src/utils/afmtodit/afmtodit.pl: Don't use `getopts.pl' but
1774 Decorate variables with `my' where necessary.
1775 Use `defined' where necessary to avoid warnings.
1776 Don't use `do' for subroutine calls.
1777 Other minor syntax updates.
1778 Check for both `uXXXX[X[X]]' and `uniXXXX'.
1779 Handle glyph variants properly.
1780 (%unicode_decomposed, %AGL_to_unicode): Don't use `u' prefix in
1783 * src/utils/afmtodit/afmtodit.man: Updated.
1785 2005-02-13 Werner LEMBERG <wl@gnu.org>
1787 Make groff.texinfo work with texinfo 4.8.
1789 * doc/groff.texinfo (@Var): Use @r and @slanted.
1790 (@defdummy, @Def*): Use @c to avoid empty lines.
1791 (\angles): Replaced with...
1792 (\Langlemacro, \Ranglemacro): New TeX macros.
1793 (@Langlemacro, @Ranglemacro): New variables defined with @set.
1794 (@angles): Use @Langlemacro and @Ranglemacro.
1795 (\LE): Replaced with...
1796 (\LEmacro): New TeX macro.
1797 (@LEmacro): New variable defined with @set.
1798 (@LE): Use @LEmacro.
1799 (@Lparenmacro, @Rparenmacro, @Lbrackmacro, @Rbrackmacro): New
1800 variables defined with @set.
1801 (@lparen, @rparen, @lbrack, @rbrack): Replaced with...
1802 (@Lparen, @Rparen, @Lbrack, @Rbrack): New macros.
1805 Other minor updates.
1807 * doc/texinfo.tex: Update to texinfo version 4.8.
1809 * README.CVS: Updated.
1811 2005-02-09 Alejandro López-Valencia <palopez@etb.net.co> (tiny change)
1813 * doc/groff.texinfo (ms Document Control Registers): Document `HY'
1814 and `FAM' registers.
1816 2005-02-05 Werner LEMBERG <wl@gnu.org>
1818 * tmac/groff_mdoc.man, tmac/doc-common, tmac/doc-ditroff,
1819 tmac/doc-nroff, tmac/doc-old.tmac, tmac/doc-syms, tmac/doc.tmac:
1822 2005-02-01 Werner LEMBERG <wl@gnu.org>
1824 * src/roff/groff/groff.man: Add information about paper size.
1826 2005-01-25 Werner LEMBERG <wl@gnu.org>
1828 * src/roff/nroff/nroff.sh: Handle `*.ISO8859-1' in locale. From
1831 2005-01-22 Ruslan Ermilov <ru@FreeBSD.org>
1833 * tmac/doc.tmac (Sm): Improved. It didn't work properly in many
1835 (Re): Emit a warning if called without `.Rs'.
1836 (doc-finish-reference): Use parameter for decreasing
1837 `doc-reference-count'.
1838 (doc-print-reference): Pass specific count parameters to
1839 `doc-finish-reference'.
1841 2005-01-21 Werner LEMBERG <wl@gnu.org>
1843 * src/libs/libdriver/input.cpp (delete_current_env, do_file):
1844 Reset pointers to zero after deallocation. This fixes a crash
1845 if a driver is called with multiple input files. Reported by
1846 Ken Chilton <ken@chiltonfamily.org>.
1848 * src/devices/grops/grops.man: Add more info on DSC.
1850 2005-01-17 Ruslan Ermilov <ru@FreeBSD.org>
1852 * tmac/doc-common (Dd), tmac/doc-ditroff (gX, doc-setup-header):
1855 2005-01-17 Werner LEMBERG <wl@gnu.org>
1857 * src/roff/troff/div.cpp (top_level_diversion::space): Protect
1858 against division by zero.
1860 2005-01-13 Ruslan Ermilov <ru@FreeBSD.org>
1862 * tmac/doc.tmac (Ef): Restore doc-curr-font and doc-curr-size.
1864 2004-12-19 Werner LEMBERG <wl@gnu.org>
1866 * install-sh: New version; taken from texinfo CVS.
1868 2004-12-17 Werner LEMBERG <wl@gnu.org>
1870 * tmac/devtag.tmac: Protect against loading twice.
1871 Protect agains compatibility mode.
1872 * tmac/www.tmac: Protect against loading twice.
1873 Load `devtag.tmac' before switching off compatibility mode.
1874 * tmac/an-old.tmac, tmac/s.tmac: Load `devtag.tmac'.
1876 2004-12-16 Mike Bianchi <mbianchi@Foveal.com>
1878 * configure.ac: Produce `contrib/gdiffmk/tests/runtests'.
1879 * configure: Updated.
1881 2004-12-15 Thomas Klausner <wiz@netbsd.org>
1883 * tmac/doc-syms, tmac/groff_mdoc.man: Add `libpam' library.
1885 2004-12-15 Werner LEMBERG <wl@gnu.org>
1887 Make `test-groff' work again -- previously, wrong paths have been
1888 used. Additionally, it can now be called from anywhere.
1890 * test-groff.in: Don't test for groff binary. This is no longer
1891 necessary since the proper paths are determined by `configure'.
1892 (EXEEXT): Removed. No longer used.
1893 (srcdir, builddir): Use values provided by the configure script.
1894 (XENVIRONMENT): Updated.
1898 2004-12-14 Gaius Mulley <gaius@glam.ac.uk>
1900 Make .tag and .taga work for all devices (but only grohtml actually
1903 * src/devices/grohtml/post-html.cpp: s/html-tag/devtag/.
1904 (text_glob::is_br, page::add_tag, html_printer::troff_tag,
1905 html_printer::handle_assertion): Don't use hard-coded string
1907 (html_printer::lookahead_for_table): Reset `tbl' properly if
1909 (html_printer::devtag): New function, handling `devtag'.
1910 (html_printer::special): Don't handle `html-tag'.
1912 * src/include/printer.h, src/libs/libdriver/printer.cpp
1913 (printer::devtag): New virtual function.
1915 * src/libs/libdriver/input.cpp (parse_x_command) <'X'>: Handle
1918 * src/roff/troff/env.cpp, src/roff/troff/mtsm.cpp,
1919 src/roff/troff/node.cpp: s/html-tag/devtag/.
1921 * src/roff/troff/input.cpp (tag, taga): Always call
1924 * tmac/an-old.tmac, tmac/s.tmac, tmac/troffrc-end: Use DEVTAG*
1925 macros instead of HTML-TAG*.
1927 * tmac/devtag.tmac: New file, defining the DEVTAG-* macros.
1929 * tmac/www.tmac: Load devtag.tmac.
1930 Replace HTML-TAG* macros with DEVTAG* macros.
1931 (HTML, HTML-NS): Changed definitions.
1933 (HTML-TAG, HTML-TAG-NS, HTML-TAG-NEXT): Removed.
1935 * tmac/Makefile.sub (NORMALFILES): Add devtag.tmac.
1937 2004-12-10 Werner LEMBERG <wl@gnu.org>
1939 Import Mike's `gdiffmk' package.
1941 * contrib/gdiffmk/*: New files.
1942 * Makefile.in (OTHERDIRS): Add contrib/gdiffmk.
1945 2004-12-08 Werner LEMBERG <wl@gnu.org>
1947 Import Keith's `pdfmark' package. Integration is very preliminary.
1949 * contrib/pdfmark/*: New files.
1950 * Makefile.in (OTHERDIRS): Add contrib/pdfmark.
1953 2004-12-07 Gaius Mulley <gaius@glam.ac.uk>
1955 Fix a bug with title handling in HTML.
1957 * src/devices/grohtml/post-html.cpp (text_glob::is_nf,
1958 text_glob::is_fi, text_glob::is_ce): Use strlen to compute string
1960 (html_printer::handle_tag_within_title): New function.
1961 (html_printer::do_title): Use it.
1963 * tmac/s.tmac (TL): Don't set `need_eo_tl'.
1964 (cov*tl-au-print): Emit `.eo.tl' tag.
1966 2004-12-05 Alejandro López-Valencia <dradul@etb.net.co>
1968 * man/groff_char.man: Minor imrovements.
1970 2004-12-04 Werner LEMBERG <wl@gnu.org>
1972 * src/preproc/eqn/eqn.man: Revised.
1974 2004-11-25 Werner LEMBERG <wl@gnu.org>
1976 * src/utils/xtotroff/xtotroff.c: Reformat to be similar to other
1980 Remove X_NOT_STDC_ENV conditional.
1981 (Version_string, program_name): New global variables.
1982 (groff_flag): Removed.
1984 (usage): Take a stream as argument.
1987 (main): Add `long_options' array for `--help' and `--version'.
1988 Make `-g' a dummy option.
1989 Handle `-v' and unknown options.
1990 Remove unused `position' variable.
1992 * src/utils/xtotroff/Makefile.sub (MAN1): Define.
1993 (XLIBS): Add LIBGROFF.
1995 * src/utils/xtotroff/xtotroff.man, src/utils/xtotroff/Makefile.in:
1998 * src/devices/xditview/Dvi.c (default_font_map): Split into three
1999 parts to avoid compiler warning.
2000 (resources): Don't initialize with `default_font_map'.
2001 (ClassInitialize): Initialize first element of `resources'.
2003 * src/devices/xditview/Makefile.sub (devdir, xtotroff, DPIS, fonts):
2006 * src/utils/lkbib/lkbib.man, src/utils/lookbib/lookbib.man,
2007 src/utils/pfbtops/pfbtops.man: Revised, updated.
2009 * configure.ac: Generate src/utils/xtotroff/Makefile.
2010 * configure: Regenerated.
2012 2004-11-24 Werner LEMBERG <wl@gnu.org>
2014 First fixes to get produce HTML.
2016 * src/devices/grohtml/post-html.cpp (generate_img_src): Add `alt'
2019 * tmac/www.tmac (IMG, PIMG, MPIMG): Add `alt' attribute.
2020 (HR, LI): Use `HTML</p>', not `HTML'.
2022 * doc/webpage.ms: Minor updates.
2024 2004-11-23 Larry Kollar <kollar@alltel.net>
2026 Add option -S grohtml to determine the file split level.
2028 * src/devices/grohtml/post-html.cpp (split_level): New global
2030 (html_header::determine_header_level): Use split_level.
2031 (main): Handle `-S' command line option.
2034 * src/preproc/html/pre-html.cpp (scanArguments): Updated.
2036 * src/devices/grohtml/grohtml.man: Document it.
2039 * NEWS: Document it.
2041 2004-11-23 Y T <doarhop@hotmail.com>
2043 * tmac/s.tmac (ref*add-V, ref*add-N): New macros for handling
2044 the volume and number refer entries.
2046 2004-11-22 Werner LEMBERG <wl@gnu.org>
2048 * src/devices/grohtml/html-table.cpp
2049 (html_table::emit_table_header): Don't emit `cols' attribute which
2050 doesn't exist in HTML 4.0 and is thus invalid.
2052 * NEWS: More minor fixes and updates.
2054 2004-11-18 Werner LEMBERG <wl@gnu.org>
2056 * tmac/www.tmac (HTML-NS, HTML-TAG-NS, HTML-TAG-NEXT): Simplified.
2057 (HTML</p>): Minor clean-up.
2059 * tmac/groff_www.man: Updated.
2061 * src/devices/grohtml/grohtml.man: Revised and updated.
2065 2004-11-18 Gaius Mulley <gaius@glam.ac.uk>
2067 * src/devices/grohtml/post-html.cpp (html_printer::do_heading):
2068 Fix space insertion.
2069 (html_printer::do_links): Fix rules generation around automatic
2072 * tmac/www.tmac (LK): Use HTML-TAG-NS.
2074 No longer emit empty line for non-HTML devices.
2076 2004-11-17 Werner LEMBERG <wl@gnu.org>
2078 * doc/Makefile.in (prepare_examples, webpage.html): Handle
2081 * doc/Makefile.sub (EXAMPLEFILES, CLEANNOTSRCDIRADD,
2082 prepare_examples, webpage.html): Handle `groff.css'.
2084 2004-11-15 Werner LEMBERG <wl@gnu.org>
2086 * NEWS, README, doc/webpage.ms: Updated.
2088 * tmac/www.tmac (HTML, HTML-TAG): Minor clean-ups.
2090 2004-10-30 Gaius Mulley <gaius@glam.ac.uk>
2092 * src/include/printer.h (printer): Remove virtual function
2094 Update all source files.
2096 * src/devices/grohtml/post-html.cpp (html_printer): New member
2097 function `round_width'.
2099 2004-10-20 Tadziu Hoffmann <hoffmann@usm.uni-muenchen.de>
2101 * src/preproc/tbl/table.cpp (table::do_row): Fix handling of the `d'
2102 column key letter suffix.
2104 2004-10-14 Werner LEMBERG <wl@gnu.org>
2106 * Makefile.in (check): Depend on `site.exp' and `docheck'.
2107 (docheck): Run dejagnu's `runtest' if it exists.
2108 (site.exp): Create dejagnu configuration file.
2110 * Makefile.sub (DISTCLEANFILES): Add files related to dejagnu.
2112 2004-10-13 Werner LEMBERG <wl@gnu.org>
2114 * src/devices/grohtml/html-text.cpp (html_text_get_alignment),
2115 src/devices/grohtml/post-html.cpp (make_val,
2116 html_printer::handle_state_assertion): Fix compiler warnings.
2118 * src/roff/troff/div.cpp: Include `stringclass.h' and `mtsm.h'.
2119 (diversion::diversion): Fix order of initializers.
2121 * src/roff/troff/div.h: Don't include `mtsm.h'.
2123 * src/roff/troff/env.cpp: Include `stringclass.h' and `mtsm.h'.
2124 (environment::environment): Fix order of initializers.
2125 (environment::make_tag, environment::construct_format_state): Fix
2128 * src/roff/troff/input.cpp: Include `stringclass.h' and `mtsm.h'.
2129 (input_iterator::input_iterator, macro::macro): Fix order of
2132 * src/roff/troff/mtsm.cpp: Include only necessary header files.
2133 (state_set::add, state_set::val): Fix compiler warnings.
2135 * src/roff/troff/mtsm.h: Don't include `stringclass.h'.
2136 (bool_value_state, int_value_state, units_value_state,
2137 string_value_state): Remove comma after last element which causes
2138 an error with g++ 3.3.3.
2140 * src/roff/troff/node.cpp: Include `stringclass.h'.
2141 (hline_node::hline_node, vline_node::vline_node,
2142 space_char_hmotion_node, left_italic_corrected_node): Fix compiler
2144 (zero_width_node::zero_width_node): Fix order of initializers.
2146 * src/roff/troff/node.h: Don't include `mtsm.h'.
2147 (hmotion_node): Fix compiler warnings.
2149 * src/roff/troff/number.cpp: Include `stringclass.h' and `mtsm.h'.
2151 2004-10-12 Gaius Mulley <gaius@glam.ac.uk>
2153 * doc/groff.css: New file.
2155 * doc/webpage.ms: Use `groff.css'.
2158 * tmac/an-old.tmac (need_eo_h): New number register.
2159 (TH): Emit `.eo.tl' tag after title.
2160 (SH): Set `need_eo_h'.
2161 (an-trap): Handle `need_eo_h'.
2162 (an-do-tag): s/HTML-TAG-NS/HTML-TAG-NEXT/.
2164 * tmac/s.tmac (need_eo_h, need_eo_tl): New number registers.
2165 (TL): Always start diversion.
2167 (@AI): Always call `par@reset'.
2168 (@AB): Update code for -Thtml.
2169 (cov*tl-au-print): Handle -Thtml.
2170 (par@reset): Handle `need_eo_tl', `need_eo_h'.
2172 (@IT-html): Removed.
2173 (@SH): Set `need_eo_h' for -Thtml.
2174 (par@TL): s/HTML-TAG/HTMl-TAG-NS/.
2176 (@NH): s/HTML-TAG/HTMl-TAG-NS/.
2177 Set `need_eo_h' for -Thtml.
2178 (@EQ, @EN): Don't handle -Thtml specially.
2179 (par@load-init): Don't handle -Thtml specially.
2181 * tmac/www.tmac (www:paraspace): New macro.
2182 (HTML-NS, HTML-TAG-NS): Use new `tag' request.
2183 (HTML</p>, HTML-TAG-NEXT): New macros.
2184 (HnE): Emit tag `.eo.h' instead of break.
2185 (HR): s/HTML-NS/HTML/.
2186 (www-end-nowhere): End diversion only if `www-html' not set.
2188 (ULS, ULE): s|HTML|HTML</p>|.
2189 (LI): Call `www:paraspace'.
2192 2004-10-11 Gaius Mulley <gaius@glam.ac.uk>
2194 * src/roff/troff/request.h (macro): Make `p' public.
2195 New variable `is_a_diversion'.
2196 New member function `is_diversion'.
2199 * src/devices/grohtml/html.h (simple_output): New member function
2202 * src/devices/grohtml/html-table.cpp (tabs::compatible): Fix
2203 computation of `total'.
2204 (tabs::check_init): New function.
2205 (html_table::emit_table_header): Emit style data.
2206 (html_table::insert_column): Improved.
2208 * src/devices/grohtml/html-table.h: Updated.
2210 * src/devices/grohtml/html-text.cpp (html_text::html_text):
2211 Initialize `start_space' with TRUE.
2212 (html_text::end_tag, html_start_tag): Fix `P_TAG' and `PRE_TAG'
2214 (html_text::flush_text): Set `start_space' flag.
2215 (html_text::uses_indent, html_text::remove_para_space,
2216 html_text::get_alignment): New functions.
2217 (html_text::push_para): Updated.
2218 (html_text::do_para): Check for empty argument.
2219 Don't set `space_emitted'.
2220 (html_text::do_space, html_text::emit_space): Updated.
2222 * src/devices/grohtml/html-text.h (tag_definition): New variable
2224 (html_text): New member function `uses_indent', `remove_para_space',
2227 * src/devices/grohtml/output.cpp (simple_output::force_nl): New
2229 (simple_output:nl): Always emit `\n'.
2231 * src/devices/grohtml/post-html.cpp: Include `string.h'.
2232 (BASE_POINT_SIZE): Removed.
2233 (base_point_size, head_info): New global variables.
2234 (text_glob): New member functions `is_ll', `is_tl', `is_eo_tl',
2236 (text_glob::is_nf, text_glob::is_fi): Handle `.fi 0' and `.fi 1'
2238 (page::add_and_encode): Pass additional parameter for tag flag.
2239 (assert_pos): New structure.
2240 (assert_state): New class.
2241 (html_printer): Remove `indentation', `prev_indent'.
2242 Add variables `troff_indent', `device_indent', `temp_indent'.
2243 Add variables `seen_indent', `next_indent', `seen_pageoffset',
2244 `next_pageoffset', `seen_linelenght', `next_linelength',
2245 `seen_center', `next_center', `seen_space', `seen_break', `as'.
2246 Add member functions `do_check_center', `do_space', `do_head',
2247 `get_troff_indent', `restore_troff_indent', `handle_assertion',
2248 `handle_state_assertion', `do_end_para', `set_char_and_width'.
2249 Change argument to `do_fill' to `char *'.
2251 (html_printer::emit_raw): Call `shutdown_table'.
2253 (html_printer::do_center): Simplified.
2254 (html_printer::do_title): Improved.
2255 (html_printer::write_header): Emit one more newline.
2257 (html_printer::do_heading, html_printer::do_indent,
2258 html_printer::do_eol, html_printer::do_tab_ts,
2259 html_printer::do_tab, html_printer::do_tab0,
2260 html_printer::calc_po_in, html_printer::next_horiz_pos,
2261 html_printer::remove_courier_tabs,
2262 html_printer::insert_tab0_foreach_tab, html_printer::begin_page):
2264 (html_printer::do_linelength, html_printer::do_pageoffset,
2265 html_printer::do_indentation, html_printer::do_tempindent,
2266 html_printer::do_tab_te): Simplified.
2267 (html_printer::do_pointsize): Check whether point size is really
2268 associated a `.tl' tag.
2269 (html_printer::do_break): Rewritten.
2270 (html_printer::troff_tag): Improved.
2271 (html_printer::flush_globs): Updated.
2272 (html_printer::lookahead_for_tables): Handle `is_br'.
2274 (html_printer::set_char): Check `sbuf_style.f'.
2275 (html_printer::write_navigation): Use string comparison.
2276 (html_printer::~html_printer): Emit `head_info'.
2277 (html_printer::special): Rewritten.
2278 (get_str, make_val): New functions.
2279 (main): New option `s' to set the base point size.
2281 * src/preproc/html/pre-html.cpp (scanArguments): Handle option `s'.
2283 2004-10-10 Gaius Mulley <gaius@glam.ac.uk>
2285 * src/roff/troff/node.cpp: New extern `debug_state'.
2286 Include `stringclass.h' and `mtsm.h'.
2287 Implement new classes and class members from `node.h'.
2288 (real_output_file): Make `fp' public.
2289 (troff_output_file): New variables `cur_div_level' and `tag_list'.
2290 Update constructors.
2291 (troff_output_file::really_print_line): Check whether we should push
2292 the current troff state and use the state at the start of the
2293 invocation of this diversion.
2294 (troff_output_file::add_to_tag_list): New member function.
2295 (node::add_char): Handle `glyph_comp_np'.
2297 * src/roff/troff/node.h: Include `mtsm.h'.
2298 (node): New variables `state', `push_state', `div_nest_level',
2299 `is_special'. Update constructors, all descendants.
2300 Pass additional argument to `add_char' member function.
2301 New virtual member functions `is_tag', `debug_node',
2302 `debug_node_list'. Update all descendants.
2303 (tag_node): New class for handling tags.
2304 (output_file): Add variable `state'.
2306 2004-10-09 Gaius Mulley <gaius@glam.ac.uk>
2308 * src/roff/troff/mtsm.cpp, src/roff/troff/mtsm.h: New files,
2309 providing a minimal troff state machine to emit meta tags for the
2310 post-grohtml device driver.
2312 * src/roff/troff/Makefile.sub (OBJS, CCSRCS, HDRS): Handle new
2315 2004-10-09 Werner LEMBERG <wl@gnu.org>
2317 * tmac/trace.tmac: Fix handling of `am' and `am1' calls.
2319 2004-10-06 Gaius Mulley <gaius@glam.ac.uk>
2321 * src/roff/troff/column.cpp (vjustify_node::copy): Updated.
2323 * src/roff/troff/div.h: Include `mtsm.h'.
2324 (diversion): New variables `any_chars_added', `needs_push',
2325 `saved_seen_break', `saved_seen_space', `saved_seen_eol',
2326 `saved_suppress_next_eol', `modified_tag'.
2327 New virtual member function `is_diversion'. Update all descendants.
2329 * src/roff/troff/div.cpp (diversion::diversion,
2330 macro_diversion::macro_diversion): Updated.
2331 (do_divert): Handle `seen_break', `seen_space', `seen_eol',
2332 `suppress_next_eol'.
2333 (top_level_diversion::space): Handle `curenv->seen_space'.
2334 (page_offset): Update tag handling.
2335 (space_request, blank_line, flush_output): Don't call `add_html_tag'.
2337 * src/roff/troff/env.h (environment): Make `tabs' public.
2338 Remove `ignore_next_eol', `emitted_node'.
2339 Update `output_line', `output'.
2340 New variables `seen_space', `seen_eol', `suppress_next_eol',
2342 New member functions `construct_state', `make_tag',
2343 `construct_format_state, `construct_new_line_state,
2345 Remove `add_html_tag', `make_html_tag'.
2347 * src/roff/troff/env.cpp: New externs `suppress_push',
2348 `get_diversion_state', `global_diverted_space'.
2349 (pending_output_line): New variable `was_centered'.
2350 Update constructor and all callers.
2351 (pending_output_line::output): Call `curenv->construct_format_state'.
2352 (environment::environment, environment::copy): Updated.
2353 (environment::output): Handle `was_centered'.
2354 (environment::add_char): Handle construct and diversion state.
2355 (environment::add_node): Handle construct state.
2356 (environment::newline): Handle `was_centered'.
2357 (environment::output_line): Updated.
2358 (environment::possibly_break_line): Updated.
2359 Update tag handling.
2360 (environment::add_html_tag): Replaced with...
2361 (environment::make_tag): New function.
2362 (environment::add_html_tag_tabs, environment::make_html_tag): Removed.
2363 (environment::dump_troff_state): New debugging function.
2364 (environment::construct_state, environment::construct_format_state,
2365 environment::construct_new_line_state): New functions.
2366 (environment::do_break): Updated.
2367 Handle `global_diverted_space'.
2368 (environment::handle_tag): Update tag handling.
2369 (point_size, fill, do_break_request): Don't call `add_html_tag'.
2370 (no_fill): Don't call `add_html_tag'.
2371 Set `suppress_next_eol'.
2372 (center, right_justify, line_length, indent, temporary_indent,
2374 Update tag handling.
2376 * src/roff/troff/input.cpp: Don't include `stringclass.h'.
2377 (input_iterator): New variables `is_diversion', `diversion_state'.
2378 Update constructors.
2379 (input_stack): New member functions `get_div_level',
2380 `get_diversion_state', `check_end_diversion'.
2381 New variables `div_level', `diversion_state'. Initialize them.
2382 (suppress_push, global_diverted_space): New global variables.
2383 (input_stack::finish_get, input_stack::finish_peek,
2384 input_stack::remove_boundary, input_stack::end_file,
2385 input_stack::clear, input_stack::pop_macro): Call
2386 `check_end_diversion'.
2387 (input_stack::push): Handle `div_level' and `diversion_state'.
2388 (get_diversion_state): New function.
2389 (diverted_space_node::reread): Handle `global_diverted_space'.
2390 (macro::macro): Update constructors.
2391 (macro::is_diversion): New function.
2392 (macro::operator=): Set `is_a_diversion'.
2393 (string_iterator): New member function `is_diversion'.
2394 (string_iterator::string_iterator): Update constructors.
2395 (string_iterator::fill): Set `div_nest_level'.
2396 (macro_iterator): New member function `is_diversion'.
2397 (do_if_request): Handle `suppress_push'.
2398 (tag, taga): New functions.
2399 (init_input_requests): Add `tag' and `taga' requests.
2401 2004-10-05 Gaius Mulley <gaius@glam.ac.uk>
2403 * src/include/font.h (font): New member function
2404 `get_image_generator'.
2405 New variables `unscaled_charwidths' and `image_generator'.
2407 * src/libs/libgroff/font.cpp (font::get_width): Always return the
2408 character's unscaled width if `font::unscaled_charwidths' is set.
2409 (font::get_image_generator): New function.
2410 (font::load_desc): Check the `unscaled_charwidths' and
2411 `image_generator' keywords.
2413 * src/libs/libgroff/fontfile.cpp: Initialize
2414 `font::unscaled_charwidths' and `font::image_generator'.
2416 * font/devhtml/DESC.proto: s/html/unscaled_charwidths/.
2418 * font/devhtml/Makefile.sub (DESC): Set `image_generator' keyword.
2420 * man/groff_font.man: Document `unscaled_charwidths' and
2423 * src/preproc/html/pre-html.cpp: Include `device.h'.
2424 (image_gen): New global variable.
2425 (imageList::createPage): Use `image_gen'.
2426 (main): Use `image_generator' keyword.
2428 2004-10-04 Gaius Mulley <gaius@glam.ac.uk>
2430 * tmac/html.tmac: Handle \[sqrtex].
2432 2004-10-04 Gaius Mulley <gaius@glam.ac.uk>
2434 * src/include/printer.h (printer): New virtual method `round_width'.
2436 * src/devices/grodvi/dvi.cpp, src/devices/grolbp/lbp.cpp,
2437 src/devices/grolj4/lj4.cpp, src/devices/grops/ps.cpp,
2438 src/devices/grotty/tty.cpp (printer::round_width): New function
2441 * src/devices/grohtml/post-html.cpp (printer::round_width): New
2443 (html_printer::set_numbered_char): Use it.
2445 2004-10-03 Gaius Mulley <gaius@glam.ac.uk>
2447 * aclocal.m4 (GROFF_GHOSTSCRIPT_PATH): New macro.
2449 * configure.ac: Call GROFF_GHOSTSCRIPT_PATH.
2451 * configure: Regenerated.
2453 * Makefile.in (GHOSTSCRIPT): New variable.
2454 (MDEFINES): Add GHOSTSCRIPT.
2456 2004-10-03 Werner LEMBERG <wl@gnu.org>
2458 * INSTALL.gen: Updated (taken from texinfo CVS).
2460 2004-09-28 Werner LEMBERG <wl@gnu.org>
2464 2004-09-28 Heinz-Jürgen Oertel <hj.oertel@surfeu.de>
2466 * tmac/groff_www.man: Revised and updated.
2468 2004-09-26 Werner LEMBERG <wl@gnu.org>
2470 Fix \$@ and \$* to handle any number of arguments.
2472 * src/roff/troff/input.h (BEGIN_QUOTE, END_QUOTE): New special
2475 * src/roff/troff/input.cpp (input_iterator::internal_level):
2477 (input_stack): New member functions `increase_level' and
2479 (input_stack::get_level): Don't use `internal_level'.
2480 (get_copy, token::next): Handle BEGIN_QUOTE and END_QUOTE.
2481 (end_quote_iterator): Completely removed.
2482 (interpolate_arg): Build string for \$@ and \$* which is then
2483 pushed onto the input stack.
2485 2004-09-23 Keith Marshall <keith.d.marshall@ntlworld.com>
2487 * tmac/groff_ms.man, doc/groff.texinfo: Document changes from
2490 2004-09-23 Werner LEMBERG <wl@gnu.org>
2492 * tmac/an-old.tmac (ne): Using default scaling operator.
2494 2004-09-19 Keith Marshall <keith.d.marshall@ntlworld.com>
2496 This change implements the following features:
2499 New numeric register: Defines number of lines following LP, PP,
2500 QP, IP or XP, which must be kept together, before any automatic
2501 page break. If insufficient space remains on the current page, a
2502 page break is forced before the new paragraph begins.
2505 New numeric register: Sets number of lines of following paragraph
2506 which must be kept with a heading, defined by NH or SH, before any
2507 automatic page break. If insufficient space remains on the
2508 current page, a page break is forced before the heading.
2511 (Thanks to Joerg van den Hoff, for this idea).
2513 New numeric register: Sets the first level of heading (set with
2514 NH), which will keep the same point size as body text; e.g. if
2515 GROWPS is set to 3, .NH 3, .NH 4, ... will produce headings at the
2516 point size specified by \n[PS], but .NH 2 and .NH 1 will have
2517 progressively larger point sizes, determined by \n[PSINCR] (see
2521 New numeric register: Sets the point size increment for each level
2522 of heading, (set with NH), below the threshold level set by
2523 GROWPS; e.g. if \n[PS] = 10, \n[GROWPS] = 3 and \n[PSINCR] = 2.0p,
2524 then .NH 1 will produce 14pt headings, .NH 2 will produce 12pt,
2525 and all other levels will remain at 10pt, (because \n[PS] = 10).
2528 Existing macro now accepts a numeric argument, to make heading
2529 size match that of NH with same argument value, when the
2530 GROWPS/PSINCR feature is enabled.
2533 New string, set by NH macro, replaces the existing (undocumented)
2534 use of SN, to represent the assigned section number.
2537 New string, set by NH macro, represents the assigned section
2538 number, but omits the terminal period (periods at intermediate
2539 levels are retained).
2542 String set by NH macro, originally undocumented, now implemented
2543 as an alias for SN-DOT (which reproduces original behaviour).
2545 * tmac/s.tmac (PORPHANS): New register.
2546 (par*start): Use it.
2547 (HORPHANS, GROWPS, PSINCR): New registers.
2548 (SH-NO-TAG, @SH): Use them.
2551 2004-09-19 Keith Marshall <keith.d.marshall@ntlworld.com>
2553 * NEWS, doc/groff.texinfo, tmac/groff_ms.man: Document the deletion
2554 of `Ds' and `De' macros.
2556 2004-09-10 Werner LEMBERG <wl@gnu.org>
2558 In tbl, handle \a as an interpreted leader character if in
2561 * src/preproc/tbl/table.h (PREFIX, PREFIX_CHAR, LEADER,
2562 LEADER_CHAR): New macros.
2563 (compatible_flag): New declaration.
2565 * src/preproc/tbl/main.cpp (table_input): Add LEADER_1, LEADER_2,
2566 LEADER_3, and LEADER_4 to `state'.
2567 (table_input::get): Handle `\a'.
2569 * src/preproc/tbl/table.cpp (PREFIX): Removed.
2570 (LEADER_REG): New macro.
2571 (table::init_output): Define LEADER_REG string register if in
2574 * src/preproc/tbl/tbl.man: Document it.
2576 2004-08-18 Werner LEMBERG <wl@gnu.org>
2578 * tmac/doc.tmac (An): Fix error message.
2580 2004-08-06 Werner LEMBERG <wl@gnu.org>
2582 * src/preproc/tbl/main.cpp (main): Call `fatal' not `error' if a
2583 file can't be opened. UNIX tbl has the same behaviour.
2585 2004-08-05 Y T <doarhop@hotmail.com>
2587 * src/preproc/grn/hdb.cpp (compatibility_flag): Add declaration.
2588 (DBRead): If in compatibility mode, take into account the text
2589 when computing figure boundaries.
2591 2004-08-05 Werner LEMBERG <wl@gnu.org>
2593 * src/preproc/soelim/soelim.man: Improved. Based on suggestions
2594 from Tadziu Hoffmann.
2596 2004-08-03 Werner LEMBERG <wl@gnu.org>
2598 * doc/meref.me: Document `_M' register.
2600 2004-08-03 Martin Husemann <martin@duskware.de>
2602 Make hpftodit work correctly on big-endian systems.
2604 * src/utils/hpftodit/hpftodit.cpp (File): New method
2605 `get_uint32(char *)'.
2606 (entry): New member `orig_value'.
2607 (read_tags): Use new method.
2608 (output_font_name, read_and_output_pcltypeface, dump_ascii):
2611 2004-08-01 Werner LEMBERG <wl@gnu.org>
2613 * tmac/s.tmac: Undo change 2003-06-29. The proper macro definitions
2614 are already in X11's `macros.t' file.
2616 2004-08-01 Jeff Conrad <jeff_conrad@msn.com>
2618 * src/utils/hpftodit/hfptodit.cpp (output_font_name, dump_ascii):
2620 (read_and_output_pcltypeface): Handle strings with length <= 4.
2622 2004-07-27 Egil Kvaleberg <egil@kvaleberg.no>
2624 * tmac/s.tmac (pg@top): Don't save `PO' register.
2625 (pg*end-col, pg*end-page): Directly use `PO' register.
2627 2004-07-27 Werner LEMBERG <wl@gnu.org>
2629 * man/groff_tmac.man: Mention `trace' and `pic' macro packages.
2631 * src/preproc/refer/refer.cpp (output_references): Check for
2633 * src/preproc/refer/refer.man: Improve documentation of
2634 `bibliography' command.
2636 2004-07-26 Werner LEMBERG <wl@gnu.org>
2638 Add requests `fcolor' and `gcolor'.
2640 * src/roff/troff/env.cpp (fill_color_change, glyph_color_change):
2642 (init_env_requests): Add `fcolor' and `gcolor'.
2644 * src/roff/troff/input.h: Export do_glyph_color and do_fill_color.
2646 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
2647 Document new requests.
2649 2004-07-24 Werner LEMBERG <wl@gnu.org>
2651 Add support for fractional point sizes in ms macros. A value for
2652 PS, VS, FPS, and FVS greater than or equal to 1000 is always divided
2653 by 1000. For example, `.nr PS 10250' sets the font size to 10.25p.
2655 * tmac/s.tmac (@AU, @AI, par@load-init, par@init, par@reset, NL,
2656 PX): Handle fractional point sizes for PS, VS, FPS, and FVS.
2658 * tmac/groff_ms.man, docs/groff.texinfo, NEWS: Document it.
2660 2004-07-19 Werner LEMBERG <wl@gnu.org>
2662 * src/preproc/pic/lex.cpp (for_input): Add member `from'.
2664 (do_for, for_input::get, for_input::peek): Handle negative `by'.
2665 * src/preproc/pic/pic.man, doc/pic.ms, NEWS: Document it.
2667 2004-07-08 Thomas Klausner <wiz@netbsd.org>
2669 * tmac/doc-syms (doc-str-St--p1003.1-2004): New string.
2670 * tmac/groff_mdoc.man: Updated.
2672 2004-07-05 Werner LEMBERG <wl@gnu.org>
2674 * doc/groff.texinfo: Further improve documentation of `hcode'.
2676 2004-07-04 Sang Dae Yu <sdyu@bh.knu.ac.kr>
2678 Improve appearance of arrows in pic.
2680 * src/preproc/pic/object.cpp (draw_arrow): Make outline of filled
2682 Use two line segments for drawing non-filled arrow head.
2683 (line_object::print, spline_object::print): Shorten line length to
2684 avoid arrow sticking.
2685 (arc_object::print): Take arrow direction into account.
2687 2004-07-03 Heinz-Jürgen Oertel <hj.oertel@surfeu.de>
2689 * tmac/groff_www.man: Update documentation of .MPIMG.
2691 2004-07-03 Werner LEMBERG <wl@gnu.org>
2693 * tmac/an-old.tmac (RI): Always start with font `R'.
2694 (RI, IR): Properly end with font `R'.
2696 2004-07-02 Paul Eggert <eggert@cs.ucla.edu>
2698 * man/ditroff.man, man/groff_font.man, man/groff_out.man,
2699 src/devices/grohtml/grohtml.man, src/preproc/grn/grn.man,
2700 src/preproc/pic/pic.man, tmac/groff_man.man, tmac/groff_ms.man:
2701 Don't pass more than six arguments to .R, .I, .B, etc., for
2702 compatibility with traditional troff macros.
2704 2004-07-02 Werner LEMBERG <wl@gnu.org>
2706 * src/roff/troff/input.h: s/COMPATIBLE_SAVE/PUSH_GROFF_MODE/.
2707 s/COMPATIBLE_RESTORE/POP_GROFFCOMP_MODE/.
2709 (PUSH_COMP_MODE): New internal character constant.
2712 * src/roff/troff/input.cpp (get_copy): Handle PUSH_GROFF_MODE,
2713 PUSH_COMP_MODE, and POP_GROFFCOMP_MODE.
2714 (token::next, macro::append): Handle PUSH_COMP_MODE.
2715 (decode_args): Add PUSH_GROFF_MODE or PUSH_COMP_MODE before and
2716 POP_GROFFCOMP after each of the decoded arguments to make them
2717 independent from the compatibility mode status.
2718 (comp_mode): Add `COMP_ENABLE'.
2719 (do_define_string, do_define_macro): Handle COMP_ENABLE.
2720 (define_string, append_string, define_macro, define_indirect_macro,
2721 append_macro, append_indirect_macro): Handle `compatible_flag'.
2722 (chop_macro, substring_request, asciify): Handle PUSH_COMP_MODE.
2724 * man/groff_diff.man, doc/groff.texinfo: Updated.
2726 2004-07-01 Werner LEMBERG <wl@gnu.org>
2728 * doc/groff.texinfo: Improve documentation of `hcode'.
2729 Use @documentencoding and convert document to latin-1; to do that
2730 make latin characters active and assign proper macros (within a
2731 @tex...@end tex environment).
2732 * doc/Makefile.in (.texinfo.html, groff): Use --enable-encoding.
2733 * doc/Makefile.sub (groff): Ditto.
2735 2004-06-29 Werner LEMBERG <wl@gnu.org>
2737 Implement two new conditional operators `F <name>' and `S <name>'
2738 which check whether <name> is a valid font or style, respectively.
2740 * src/libs/libgroff/font.cpp (text_file): Add `silent' member.
2741 (text_file::text_file): Updated.
2742 (text_file::error): Don't emit message if `silent' is set.
2743 (font::load_font): Add optional third argument (which is directly
2745 (font::load): Add optional second argument to check the header of
2746 a font only, without emitting warning or error messages.
2747 * src/include/font.h (font): Updated.
2749 * src/roff/troff/input.cpp (do_if_request): Implement `S' and `F'
2751 * src/roff/troff/node.cpp (mount_font_no_translate): Add optional
2752 fourth argument to check a font without mounting.
2753 (check_font, check_style): New functions.
2754 * src/roff/troff/node.h: Updated.
2756 * man/groff_diff.man, man/groff.man, NEWS, doc/groff.texinfo:
2759 2004-06-27 Werner LEMBERG <wl@gnu.org>
2761 Implement new string-valued register `.sty' to return the current
2764 * env.cpp (environment::get_style_name_string): New function.
2765 (init_env_requests): Add `.sty' register.
2766 * env.h (environment): Updated.
2767 * node.cpp (font_info): Make `get_style_name' a friend.
2768 (get_style_name): New function.
2771 * man/groff_diff.man, man/groff.man, NEWS, doc/groff.texinfo:
2774 2004-06-15 Werner LEMBERG <wl@gnu.org>
2776 * src/preproc/tbl/main.cpp (process_data) <GOT_RIGHT_BRACE>: Handle
2779 2004-06-10 Colin Percival <colin.percival@wadham.ox.ac.uk>
2781 * doc/meintro.me, doc/meref.me: Don't use \*[td], \n[dy], \*[mo],
2782 and \n[mo] to avoid dependency on current date.
2784 2004-06-08 Werner LEMBERG <wl@gnu.org>
2786 * Makefile.sub (install_data): New target.
2788 2004-06-04 Werner LEMBERG <wl@gnu.org>
2790 * src/libs/libxutil/Makefile.sub (EXTRA_CFLAGS): Define.
2792 2004-06-03 Werner LEMBERG <wl@gnu.org>
2794 * src/devices/xditview/Makefile.sub (EXTRA_LDFLAGS): Fix typo and
2796 (install_data): Add $(srcdir).
2798 * src/utils/xtotroff/Makefile.sub (EXTRA_LDFLAGS): Fix order of
2801 2004-06-02 Werner LEMBERG <wl@gnu.org>
2803 * aclocal.m4 (GROFF_X11): s/have_no_x/groff_no_x/.
2804 Add X11 stuff to CFLAGS, LDFLAGS, and LIBS temporarily.
2805 Add test for Xmu library.
2806 (GROFF_APPRESDIR_OPTION, GROFF_APPRESDIR_CHECK,
2807 GROFF_APPRESDIR_DEFAULT): New macros.
2809 * configure.ac: Call GROFF_APPRESDIR_OPTION, GROFF_APPRESDIR_CHECK,
2810 and GROFF_APPRESDIR_DEFAULT.
2812 * configure: Regenerated.
2814 * Makefile.in (appresdir): New variable.
2815 (MDEFINES): Add appresdir.
2817 * src/devices/xditview/Makefile.sub (EXTRA_LDFLAGS): Add -Xmu and
2819 (install_data, uninstall_sub): New targets to handle GXditview.ad.
2821 * src/utils/indxbib/Makefiles.ub (install_data): Depend on
2822 `$(srcdir)/eign', not `eign'.
2824 * MANIFEST, INSTALL, NEWS, PROBLEMS: Updated.
2826 * man/groff_out.man, man/roff.man, src/devices/grops/grops.man,
2827 src/devices/xditview/gxditview.man, src/roff/groff/groff.man:
2828 Protect (g)xditview with `\%' to avoid hyphenation.
2829 Other minor formatting.
2831 2004-06-01 Werner LEMBERG <wl@gnu.org>
2833 Integrate gxditview into groff's standard directory hierarchy.
2835 * src/xditview/*: Moved to ...
2836 * src/devices/xditview/*: Here.
2837 Moved DviChar.h and XFontName.h to src/include.
2838 Moved DviChar.c and XFontName.c to new directory src/libs/libxutil.
2839 Split off `xmalloc' into new file src/libs/libxutil/xmalloc.c.
2840 Moved xtotroff.c to new directory src/utils/xtotroff.
2841 Provide proper Makefile.sub files (reusing the stuff from
2843 DESC renamed to DESC.in.
2844 Removed GXDitview-ad.h, INSTALL, Imakefile.in.
2845 Converted everything from K&R to ANSI C.
2846 Decorated with const where appropriate.
2847 Cast string constants with `String' and `char *' where appropriate.
2848 Made it compile with C++ (used as a C compiler).
2849 Removed other minor compiler warnings.
2851 * src/devices/xditview/device.c: Include config.h, string.h, and
2853 Don't declare `exit', `strtok', `strchr', and `getenv'.
2856 * src/devices/xditview/font.c: Don't declare `XParseFontName' and
2859 * src/devices/xditview/xditview.c: Include config.h.
2860 Include stdio.h earlier.
2861 Protect declaration of `popen' and `pclose' with
2862 NEED_DECLARATION_POPEN and NEED_DECLARATION_PCLOSE.
2863 Replace `caddr_t' with `XtPointer'.
2864 (MakePromptFunc): New typedef.
2865 (DoPrint): Use RETSIGTYPE.
2866 (promptfunction): Change type to MakePromptFunc.
2867 (MakePrompt): Use MakePromptFunc for third argument.
2870 * src/devices/xditview/ad2c: Add casts to `String'.
2872 * src/include/XFontName.h (XFontNameString): Don't use array
2874 Add prototypes for `XParseFontName', `XFormatFontName',
2875 `XCompareFontName', and `XCopyFontName'.
2877 * src/include/Makefile.sub (HDRS): Add `DviChar.h' and
2880 * src/utils/xtotroff/xtotroff.c: Include getopt.h.
2881 Don't declare `XParseFontName' and `XFormatFontName'.
2883 (main): Remove `optind' and `optarg'.
2885 * Makefile.in (XDEVDIRS, XPROGDIRS, XLIBDIRS): New variables
2886 (to select programs which need X).
2887 Make XDEVIDIRS depend on `FORCE'.
2888 (X_CFLAGS, X_LIBS, X_EXTRA_LIBS, X_PRE_LIBS): New variables (for
2890 (MDEFINES): Updated.
2891 (LIBDIRS): Use XLIBDIRS.
2892 (CPROGDIRS): Use XPROGDIRS.
2893 (DEVDIRS): Remove font directories for gxditview.
2894 (ALLDIRS, DISTDIRS): Add XDEVDIRS.
2895 (EXTRADIRS): Remove src/xditview.
2897 * Makefile.sub (DISCLEANFILES): Updated.
2899 * Makefile.comm (LIBXUTIL): New variable.
2900 (.cpp.o, .cpp.obj): Handle EXTRA_CCFLAGS.
2901 (.c.o, .c.obj, .y.o): Handle EXTRA_CFLAGS.
2903 * Makefile.cpg, Makefile.ccpg ($PROG): Handle EXTRA_LDFLAGS.
2905 * aclocal.m4 (GROFF_X11): New function.
2907 * configure.ac: Call GROFF_X11.
2908 Don't create src/xditview/Imakefile.
2909 Don't emit notice how to build gxditview.
2911 * configure: Regenerated.
2913 * test-groff.in (GROFF_BIN_PATH, XENVIRONMENT): Updated.
2915 2004-05-28 Akihiro Sagawa <sagawa@sohgoh.net>
2917 * Makefile.in (CPPFLAGS): Define.
2918 (MDEFINES): Add CPPFLAGS.
2920 2004-05-27 Werner LEMBERG <wl@gnu.org>
2922 * arch/misc/Makefile.sub (shdeps.sed): Use $(srcdir).
2924 2004-05-26 Niklas Edmundsson <nikke@acc.umu.se>
2926 Fix problems with `friend name injections'.
2928 * src/preproc/eqn/box.h (make_mark_box, make_lineup_box,
2929 make_script_box), src/roff/troff/div.h (end_diversions),
2930 src/roff/troff/env.h (title), input.cpp (process_input_stack): Undo
2933 2004-05-25 Bernd Warken <bwarken@mayn.de>
2935 * src/preproc/pic/pic.man, doc/pic.ms: Add example for `command'.
2937 2004-05-25 Werner LEMBERG <wl@gnu.org>
2939 * src/libs/libgroff/cset.cpp, src/libs/libgroff/lf.cpp,
2940 src/libs/libgroff/color.cpp: Include lib.h.
2942 2004-05-25 Paul Eggert <eggert@cs.ucla.edu>
2944 * PROBLEMS: Update documentation for problems with Sun C++ 5.0
2945 through Forte 6u1, and for how to get GNU make on Solaris.
2947 2004-05-24 Werner LEMBERG <wl@gnu.org>
2949 * PROBLEMS: Document problems with gcc 3.4.0 on Sun. Reported
2952 2004-05-15 Keith Marshall <keith.d.marshall@ntlworld.com>
2954 * arch/misc/Makefile.sub (shdeps.sed): Don't use `$<' in explicit
2957 2004-05-14 Werner LEMBERG <wl@gnu.org>
2959 * REVISION: Set to 2.
2961 * aclocal.m4 (GROFF_STDINT_H): Removed.
2962 (GROFF_INTTYPES_H): Define HAVE_CC_INTTYPES_H.
2964 * configure.ac: Updated.
2965 * configure, src/include/config.hin: Regenerated.
2967 * src/libs/libgroff/tmpname.cpp: Don't include stdint.h but
2968 inttypes.h conditionally.
2970 2004-05-13 Werner LEMBERG <wl@gnu.org>
2972 Version 1.19.1 released
2973 =======================
2975 2004-05-10 Stephen Gildea <http://www.gildea.com/stephen>
2977 * src/preproc/refer/label.y (same_author_last_name,
2978 same_author_name): Handle empty sort keys.
2980 2004-05-10 Werner LEMBERG <wl@gnu.org>
2982 * NEWS, README, TODO, PROJECTS, PROBLEMS, MANIFEST, doc/webpage.ms,
2985 * tmac/doc-syms (doc-str-Lb-libposix, doc-str-Lb-libpthread,
2986 doc-str-Lb-librt): Reset font.
2987 (Lb): Rename `doc-str-Lb' to `doc-str-Lb1'.
2988 Provide `doc-str-Lb' to reset font.
2989 * tmac/groff_mdoc.man: Updated.
2991 2004-05-08 Jan Schaumann <jschauma@netmeister.org>
2993 * src/preproc/html/pre-html.cpp (make_message): Make it work for
2994 snprintf versions which don't conform to ANSI C 99 (this is,
2995 counting the string's trailing null byte in the return value).
2997 2004-05-07 Keith Marshall <keith.d.marshall@ntlworld.com>
2999 * src/roff/troff/node.cpp (suppress_node::tprint): Don't expect
3000 that all implementations of sprintf handle null pointers correctly.
3002 2004-05-04 Werner LEMBERG <wl@gnu.org>
3004 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
3005 Document `.U' register.
3007 * src/roff/troff/env.cpp (environment::mark_last_line)
3008 [WIDOW_CONTROL]: Fix scope of `p' for new C++ compilers.
3010 2004-05-04 Larry Kollar <kollar@alltel.net>
3012 New read-only register `.U'; it returns 1 in safer mode and 0
3015 * src/roff/troff/input.cpp (init_input_requests): Implement `.U'
3018 2004-05-03 Werner LEMBERG <wl@gnu.org>
3020 * install-sh, mkinstalldirs: New versions; taken from texinfo CVS.
3022 2004-04-17 Werner LEMBERG <wl@gnu.org>
3024 * src/include/font.h (font): Use `int' for ch_index.
3025 * src/libs/libgroff/font.cpp (font::alloc_ch_index,
3026 font::compact): Updated.
3028 * src/roff/groff/pipeline.c (run_pipeline) [_WIN32]: Fix compiler
3031 * src/roff/troff/div.cpp (begin_page), src/roff/troff/env.cpp
3032 (hyphen_word): Fix compiler warnings.
3033 * src/roff/troff/input.cpp (get_char_for_escape_name): Return
3036 (get_delim_number, get_line_arg): Change second argument type to
3038 (macro_header::copy, token::next, do_define_string,
3039 do_define_character, substring_request, asciify_macro,
3040 unformat_macro, read_size, non_interpreted_node::interpret,
3041 while_request, main: Fix compiler warnings.
3042 (read_color_draw_node): Initialize `col'.
3044 * src/preproc/tbl/table.cpp (horizontal_span, table_entry): Make
3045 `start_col' and `end_col' of type `int'.
3046 (vertical_rule): Make `col' of type `int'.
3048 * src/preproc/grn/hdb.cpp (DBRead): Protect call to getc with check
3051 * src/preproc/refer/label.y (uppercase_array, lowercase_array):
3053 (format_serial): Use them to remove dependency on ASCII.
3055 * src/devices/grops/ps.cpp (ps_printer::define_encoding): Fix
3057 * src/devices/grops/psrm.cpp (resource_manager::supply_resource):
3060 * src/devices/grotty/tty.cpp (tty_font::load_tty_font): Fix
3062 (glyph): Change type of `hpos' to `int'.
3064 * src/devices/lbp/lbp.cpp (strsep): Removed. Unused.
3065 * src/devices/lbp/lbp.h (splinerel): Fix compiler warnings.
3067 * src/utils/tfmtodit.cpp (gf::load): Fix compiler warnings.
3069 * src/utils/pfbtops/pfbtops.c (get_text): Fix compiler warning.
3071 2004-04-16 Werner LEMBERG <wl@gnu.org>
3073 * src/devices/grolbp/lbp.h, src/preproc/grn/gprint.h,
3074 src/preproc/grn/hgraph.cpp, src/preproc/grn/hpoint.cpp,
3075 src/preproc/html/pushback.cpp, src/preproc/html/pushback.h: Use
3076 `double' instead of `float' everywhere.
3077 * src/preproc/grn/main.cpp: Use `double' instead of `float'
3079 (main): Add return value.
3080 * src/preproc/grn/hdb.cpp: Use `double' instead of `float'
3082 Update all user functions.
3084 * src/include/search.h, src/include/ptable.h, src/include/printer.h,
3085 src/preproc/eqn/box.h, src/preproc/pic/object.h,
3086 src/preproc/refer/refer.h, src/preproc/tbl/table.h,
3087 src/preproc/tbl/table.cpp, src/roff/troff/env.h,
3088 src/roff/troff/div.h, src/roff/troff/token.h, src/roff/troff/node.h,
3089 src/roff/troff/input.cpp, src/roff/troff/request.h,
3090 src/roff/troff/node.cpp: Don't mix `struct' and `class' in forward
3093 * src/utils/indxbib/signal.c: Include stdlib.h.
3095 2004-04-14 Keith Marshall <keith.d.marshall@ntlworld.com>
3097 * tmac/s.tmac (@init, RP): Allow initialization of the PO register
3098 before the first page.
3100 2004-04-14 Thomas Klausner <wiz@netbsd.org>
3102 * tmac/doc-common (doc-volume-as-*): Use lowercase names.
3103 (doc-operating-system-*): Updated.
3104 * tmac/doc-syms (doc-str-St-*): Various small fixes.
3105 (doc-str-Lb-*): Add more library names.
3107 2004-04-10 Art Haas <ahaas@airmail.net>
3109 * src/utils/hpftodit/hpuni.cpp (hp_msl_to_unicode_list): Don't
3112 2004-04-09 Art Haas <ahaas@airmail.net>
3114 * src/utils/tfmtodit.cpp (lig_chars): Don't use anonymous type.
3116 2004-04-09 Keith Marshall <keith.d.marshall@ntlworld.com>
3118 * arch/misc/shdeps.sh: Generate better comment for sed script.
3120 2004-04-08 Art Haas <ahaas@airmail.net>
3122 * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list),
3123 src/libs/libgroff/uniglyph.cpp (unicode_to_glyph_list),
3124 src/libs/libgroff/uniuni.cpp (unicode_decompose_list),
3125 src/preproc/eqn/box.cpp (param_table), src/preproc/grn/hgraph.cpp
3126 (polyfill), src/preproc/grn/main.cpp (polyfill),
3127 src/preproc/refer/command.cpp (command_table),
3128 src/utils/tfmtodit.cpp (lig_table): Don't use anonymous types (which
3129 gcc 3.5 doesn't like).
3131 2004-04-08 Werner LEMBERG <wl@gnu.org>
3133 Removing many compiler warnings. groff should now compile with
3134 a C++ compiler used for C files also. [Simple variable renamings
3135 to avoid shadowing aren't logged in detail.]
3137 * src/devices/grodvi/dvi.cpp: Some local variable renamings.
3138 (draw_dvi_printer::draw) ['c']: Enclose in block.
3140 * src/devices/grohtml/post-html.cpp: Some local variable renamings.
3141 (page::add_line): Fix typos.
3142 * src/devices/grohtml/html-text.cpp: Some local variable renamings.
3144 * src/devices/grolbp/lbp.cpp: Don't define _GNU_SOURCE.
3145 Some local variable renamings.
3146 * src/devices/grolbp/lbp.h: Some local variable renamings.
3148 * src/devices/grolj4/lj4.cpp, src/devices/grotty/tty.cpp: Some local
3151 * src/libs/libbib/index.cpp (index_search_item_iterator::get_tag):
3152 Remove redundant local variable declaration.
3153 * src/libs/libbib/map.c (mapread, unmap): Don't use K&R style.
3154 Don't use `caddr_t' but `void *'.
3155 Enclose functions with `extern "C"' for C++.
3157 * src/libs/libdriver/input.cpp (remember_filename,
3158 remember_source_filename): Use cast for string constant.
3160 * src/libs/libgroff/font.cpp, src/libs/libgroff/fontfile.cpp,
3161 src/libs/libgroff/nametoindex.cpp, src/libs/libgroff/paper.cpp,
3162 src/libs/libgroff/geometry.cpp: Some local variable renamings.
3163 * src/libs/libgroff/iftoa.c, src/libs/libgroff/itoa.c: Don't use K&R
3165 Enclose functions with `extern "C"' for C++.
3166 * src/libs/libgroff/quotearg.c (TRUE,FALSE): Define as macros.
3167 (needs_quoting): Return `int'.
3168 (quote_arg): Add proper casts to malloc and realloc.
3169 * src/libs/libgroff/spawnvp.c: Compile code only for MS-DOS and
3170 various MS Windows environments.
3171 (spawnvp_wrapper): Add proper cast to malloc.
3173 * src/preproc/eqn/box.h: Remove redundant declarations of
3174 `make_script_box', `make_mark_box' and `make_lineup_box'.
3175 * src/preproc/eqn/eqn.y: Remove redundant declaration of `strsave'.
3176 * src/preproc/eqn/script.cpp, src/preproc/eqn/pile.cpp: Some local
3179 * src/preproc/grn/hpoint.cpp: Some local variable renamings.
3180 * src/preproc/grn/hgraph.cpp: Some local variable renamings.
3181 (dx, dy): Renamed functions to...
3182 (deltax, deltay): This.
3183 * src/preproc/grn/main.cpp: Some local variable renamings.
3184 (deffont): Add `const'.
3185 (initpic, conv): Use cast for string constant.
3187 * src/preproc/html/pre-html.cpp: Some local variable renamings.
3188 (makeFileName, alterDeviceTo, addZ): Use cast for string constant.
3189 (char_buffer::run_output_filter): Second argument is unused.
3190 * src/preproc/html/pushback.cpp: Some local variable renamings.
3192 * src/preproc/pic/pic.y: Remove redundant declaration of `do_copy'.
3193 * src/preproc/pic/object.cpp: Some local variable renamings.
3195 * src/preproc/refer/label.y (lookup_label): Remove redundant
3196 declaration of local variable.
3198 * src/preproc/soelim.cpp: Remove redundant declaration of
3199 `interpret_lf_args'.
3201 * src/preproc/tbl/main.cpp: Some local variable renamings.
3203 * src/roff/groff/groff.cpp (main): Use cast for string constant.
3204 * src/roff/groff/pipeline.c: Enclose declarations of `error',
3205 `c_fatal', and `i_to_a' with `extern "C"' for C++.
3206 Don't use C++-style comments.
3208 * src/roff/troff/env.h: Remove redundant declaration of `title'.
3209 * src/roff/troff/node.h, src/roff/troff/env.cpp,
3210 src/roff/troff/div.cpp, src/roff/troff/node.cpp: Some local variable
3212 * src/roff/troff/div.h: Remove redundant declaration of
3214 * src/roff/troff/troff.h: Remove redundant declaration of
3216 * src/roff/troff/input.cpp: Remove redundant declaration of
3217 `handle_first_page_transition' and `process_input_stack'.
3219 * src/utils/hpftodit.cpp: Some local variable renamings.
3221 * src/utils/indxbib/signal.c: Enclose functions with `extern "C"'
3223 Don't define RETSIGTYPE.
3224 * src/utils/indxbib/indxbib.cpp: Some local variable renamings.
3226 * src/utils/pfbtops/pfbtops.cpp: Don't use K&R style.
3227 (error): Use `const' in argument.
3228 (main): Remove redundant declaration of `optind'.
3229 Move declaration of `Version_string' to top-level.
3231 * PROBLEMS: Document difficulties compiling signal.c if a C++
3232 compiler is used for C.
3234 2004-04-07 Werner LEMBERG <wl@gnu.org>
3236 * Makefile.sub (DISTCLEANFILES): Add `test-groff'.
3238 2004-04-06 Keith Marshall <keith.d.marshall@ntlworld.com>
3240 Make scripts like nroff.sh and neqn.sh portable across various
3241 (Unix-like) shell implementations from Cygwin, MSYS, etc., which use
3242 non-POSIX path separators. The idea is to extend those scripts to
3243 decide at run-time (of the script) which path separator to use.
3245 * arch/misc/Makefile.sub: New file.
3246 * arch/misc/shdeps.sh: New file, generating OS dependency fixups.
3247 This script handles @GROFF_BIN_PATH_SETUP@, replacing it with
3248 a proper definition of the variable `GROFF_RUNTIME'.
3250 * Makefile.in (SH_DEPS_SED_SCRIPT): New variable.
3251 (MDEFINES): Add SH_DEPS_SED_SCRIPT.
3252 (PROGDEPDIRS): New variable.
3254 (PROGDIRS): Add PROGDEPDIRS.
3256 * src/preproc/eqn/Makefile.sub (neqn): Call SH_DEPS_SED_SCRIPT.
3257 Don't substitute @SEP@ and @BINDIR@.
3258 * src/preproc/eqn/neqn.sh: Use @GROFF_BIN_PATH_SETUP@.
3259 (PATH): Use GROFF_RUNTIME.
3261 * src/roff/nroff/Makefile.sub (nroff): Call SH_DEPS_SED_SCRIPT.
3262 Don't substitute @SEP@ and @BINDIR@.
3263 * src/roff/nroff/nroff.sh: Use @GROFF_BIN_PATH_SETUP@.
3264 (PATH): Use GROFF_RUNTIME.
3266 2004-04-05 Keith Marshall <keith.d.marshall@ntlworld.com>
3268 * src/roff/nroff/nroff.sh: Implement work-around for sh.exe from
3269 Cygwin which doesn't handle stderr correctly.
3271 2004-03-08 Werner LEMBERG <wl@gnu.org>
3273 * Makefile.comm (install_dev, uninstall_dev): Protect `for' loops
3274 against empty argument. Problem reported by <cgd@broadcom.com>.
3276 2004-03-05 Keith Marshall <keith.d.marshall@ntlworld.com>
3278 * Makefile.in (SEP): Replaced with...
3279 (RT_SEP, SH_SEP): Separators for the target platform's native path
3280 separator and the build environment, respectively.
3281 (fontpath, tmacpath): Use RT_SEP.
3282 (MDEFINES): Updated.
3284 * contrib/mom/Makefile.sub (GROFF_BIN_PATH): Use SH_SEP.
3285 * doc/Makefile.sub (GROFF_BIN_PATH): Use SH_SEP.
3286 * src/preproc/eqn/Makefile.sub (neqn): Use SH_SEP.
3287 * src/roff/nroff/Makefile.sub (nroff): Use SH_SEP.
3289 2004-03-05 Werner LEMBERG <wl@gnu.org>
3291 * fonts/devlj4/Makefile.sub (LJ4RES): Set to 1200. This helps to
3292 reduce alignment problems with newer printers which use built-in
3293 TrueType fonts (instead of the older Intellifonts). The ideal
3294 solution is to provide a second set of groff metric files, but this
3295 is extremely time-consuming to produce, given that HP's metric
3296 files are very rudimentary.
3298 2004-03-01 Werner LEMBERG <wl@gnu.org>
3300 * src/devices/grolj4/lj4.cpp (main): Fix argument of getopt_long.
3301 s/operand/argument/ in error message.
3303 2004-03-01 Keith Marshall <keith.d.marshall@ntlworld.com>
3305 * src/roff/groff/groff.cpp (main): Don't allow option -o if -Thtml
3308 2004-03-01 Antti Kantee <pooka@netbsd.org>
3310 * tmac/s.tmac (XE): Fix error message.
3312 2004-02-27 Jeff Conrad <jeff_conrad@msn.com>
3314 * src/include/nonposix.h (write, dup, dup2, close) [_MSC_VER]:
3317 * src/roff/groff/pipeline.c: Declare strcasecmp.
3318 (run_pipeline) [_WIN32]: Use function name variants which don't
3320 Fix stream handling.
3322 2004-02-27 Keith Marshall <keith.d.marshall@ntlworld.com>
3324 * src/include/nonposix.h: Fix declaration of `system_shell_name'.
3325 Declare `spawnvp_wrapper' and macro definitions of spawnvp only
3326 for platforms which use the native Win32 runtime libraries.
3327 (FLUSH_INPUT_PIPE) [_UWIN]: Provide non-empty version.
3329 * src/libs/libgroff/quotearg.c (QUOTE_ARG_MALLOC_ERROR,
3330 QUOTE_ARG_REALLOC_ERROR): Fix string.
3332 * src/preproc/html/pre-html.cpp: Remove declaration of
3334 Don't use __MINGW32__.
3335 s/DEBUG_FILE/DEBUG_FILE_DIR/.
3336 (DEBUG_TEXT, DEBUG_NAME, DEBUG_FILE) [DEBUGGING]: New macros.
3337 (OUTPUT_STREAM, PS_OUTPUT_STREAM, REGION_OUTPUT_STREAM): New macros.
3338 (char_buffer::run_output_filter) [MAY_FORK_CHILD_PROCESS]: Fix
3339 calls to `set_redirection' and `WAIT'.
3340 [MAY_SPAWN_ASYNCHRONOUS_CHILD]: Remove unused variable `i' and `j'.
3341 Fix calls to `set_redirection' and `save_and_redirect'.
3342 (char_buffer::do_html, char_buffer::do_image) [DEBUGGING]: Fix calls
3343 to `set_redirection' and `save_and_redirect'.
3344 (usage): Fix message.
3345 (makeTempFiles, main): Use `DEBUG_FILE'.
3347 2004-02-21 Werner LEMBERG <wl@gnu.org>
3349 * src/roff/troff/troff.h (WARN_TOTAL): Fix value.
3351 2004-02-21 Keith Marshall <keith.d.marshall@ntlworld.com>
3353 * src/libs/libgroff/quotearg.c: New file, providing proper argument
3354 quoting for MSVC's spawn* and exec* functions.
3355 * src/libs/libgroff/spawnvp.c: New file, providing a wrapper around
3356 spawnvp with proper quoting for MSVC.
3358 * src/libs/libgroff/assert.cpp (program_name),
3359 src/libs/libgroff/new.cpp (program_name): Declare as `extern "C"'.
3360 * src/libs/libgroff/Makefile.sub (OBJS, CSRCS): Updated.
3362 * src/roff/troff/input.cpp (program_name): Declare as `extern "C"'.
3364 * src/include/error.h (program_name): Declare as `extern "C"'.
3365 * src/include/nonposix.h [__MSDOS__ ...]: Handle spawnvp.
3367 2004-02-21 Jeff Conrad <jeff_conrad@msn.com>
3369 * src/preproc/html/pre-html.cpp [__CYGWIN__ ...]: Declare
3371 [MAY_SPAWN_ASYNCHRONOUS_CHILD]: Declare i and j.
3373 2004-02-20 Jeff Conrad <jeff_conrad@msn.com>
3375 * src/roff/groff/pipeline.c (cmd) [__MSDOS__ || ...]: New global
3377 (sbasename) [__MSDOS__ || ...]: New function.
3378 (system_shell_name) [__MSDOS__ || ...]: Use a different, more
3380 (system_shell_dash_c, is_system_shell) [__MSDOS__ || ...]: Updated.
3381 (run_pipeline) [_WIN32]: Use _XXX variants for some macros instead
3383 Use STDOUT_FILENO instead of hardcoded file handle.
3384 (signal_catcher) [__MSDOS__]: Moved to non-_WIN32 section.
3386 2004-02-19 Werner LEMBERG <wl@gnu.org>
3388 * src/roff/troff/div.cpp: Include nonposix.h after troff.h to
3389 avoid warnings w.r.t. redefinition of P_tmpdir for some compilers.
3391 2004-02-18 Werner LEMBERG <wl@gnu.org>
3393 * font/devlj4/Makefile.sub (DEVFILES): Updated to contain all
3394 new font and mapping files.
3396 2004-02-18 Jeff Conrad <jeff_conrad@msn.com>
3397 Keith Marshall <keith.d.marshall@ntlworld.com>
3399 * src/include/nonposix.h (FLUSH_INPUT_PIPE): New macro to empty
3400 an input pipe. This is needed for the MSVC compiler to make troff's
3403 * src/roff/troff/div.cpp: Include nonposix.h.
3404 (cleanup_and_exit): Call FLUSH_INPUT_PIPE.
3406 2004-02-17 Werner LEMBERG <wl@gnu.org>
3408 * font/devlj4/generate/special.awk: New script.
3409 * font/devlj4/generate/Makefile (S): Use special.awk.
3410 * font/devlj4/*: Regenerated, including the following new files:
3411 Arial (AR, AB, AI, ABI), Times New Roman (TNRR, TNRB, TNRI, TNRBI),
3412 MS Symbol (SYMBOL), Wingdings (WINGDINGS).
3413 * NEWS: Document new lj4 fonts and revised hpftodit.
3415 2004-02-17 Paco Andrés Verdú <pandres@dragonet.es>
3417 * src/devices/grolbp/lbp.h (vmdvarc): Fix formatting string.
3419 2004-01-25 Werner LEMBERG <wl@gnu.org>
3421 * src/libs/libgroff/progname.cpp: Replaced with...
3422 * src/libs/libgroff/progname.c: New file.
3423 * src/libs/libgroff/Makefile.sub: Updated accordingly.
3425 2004-01-17 Werner LEMBERG <wl@gnu.org>
3427 * font/devlj4/generate/Makefile (SYMBOL): Use 9nb28703.tfm.
3429 2004-01-16 Jeff Conrad <jeff_conrad@msn.com>
3431 * font/devlj4/generate/wingdings.map,
3432 font/devlj4/generate/symbol.map: Include unnamed glyphs.
3433 Use groff glyph names where possible.
3434 * src/devices/grolj4/lj4_font.man: Minor updates.
3436 2004-01-13 Werner LEMBERG <wl@gnu.org>
3438 * tmac/www.tmac (DC): Handle TTY devices.
3440 * doc/webpage.ms: Document viewCVS from ffii.org.
3441 * NEWS, README: Updated.
3443 * src/roff/groff/groff.man: Mention lj4_font man page.
3445 * font/devlj4/generate/Makefile (SYMBOLMAP, WINGDINGSMAP): New
3447 (FONTS): Add SYMBOL and WINGDINGS.
3448 (SYMBOL, WINGDINGS): New targets.
3450 2004-01-13 Jeff Conrad <jeff_conrad@msn.com>
3452 * src/devices/grolj4/lj4_font.man: New man page.
3453 * src/devices/grolj4/Makefile.sub (MAN5): New variable.
3454 * src/devices/grolj4.man: Mention lj4_font man page.
3456 * src/utils/hpftodit/hpftodit.cpp (read_map): Handle line comments.
3457 * src/utils/hpftodit/hpftodit.man: Document it.
3459 Remove details about fonts (which are now in lj4_font.man).
3461 * font/devlj4/generate/symbol.map,
3462 font/devlj4/generate/wingdings.map: New files.
3464 2004-01-12 Werner LEMBERG <wl@gnu.org>
3466 * README: Mention ffii's viewcvs access.
3468 2004-01-09 Werner LEMBERG <wl@gnu.org>
3470 * font/devlj4/generate/special.map: Map MSL 228 to U+221F.
3472 2004-01-09 Jeff Conrad <jeff_conrad@msn.com>
3474 Revert most of the change from 2004-01-03 to better control used
3477 * src/utils/hpftodit/hpftodit.cpp (symbol_set): New structure.
3478 (text_symbol_sets, special_symbol_sets): New arrays.
3479 (symbol_set_table): New global variable.
3480 (read_symbol_sets): Use search order given in the text_symbol_sets
3481 and special_symbol_sets arrays. If command line flag -a is not
3482 given, search both arrays.
3483 (output_charset): Require x_height_tag only for command line flag -i.
3485 2004-01-06 Werner LEMBERG <wl@gnu.org>
3487 Implement string-valued registers \n[.m] and \n[.M] to return the
3488 name of the current drawing and background color, respectively.
3490 * src/roff/troff/symbol.h: Moved to...
3491 * src/include/symbol.h: Here.
3492 Small fixes to make it work outside of the `troff' directory.
3493 * src/roff/troff/symbol.cpp: Moved to...
3494 * src/libs/libgroff/symbol.cpp: Here.
3495 Small fixes to make it work outside of the `troff' directory.
3497 * src/include/Makefile.sub (HDRS), src/libs/libgroff/Makefile.sub
3498 (OBJS, CCSRCS), src/roff/troff/Makefile.sub (OBJS, CCSRCS, HDRS):
3501 * src/include/color.h: Include symbol.h.
3502 (color): Add new field `nm'.
3503 * src/libs/libgroff/color.cpp (color::color): Updated.
3505 * src/roff/troff/dictionary.cpp, src/roff/troff/div.cpp,
3506 src/roff/troff/node.cpp, src/roff/troff/number.cpp,
3507 src/roff/troff/reg.cpp: Don't include symbol.h.
3509 * src/roff/troff/env.cpp: Don't include symbol.h.
3510 (environment::get_glyph_color_string,
3511 environment_get_fill_color_string): New member functions.
3512 (init_env_requests): Handle `.m' and `.M' registers.
3513 * src/roff/troff/input.cpp: Don't include symbol.h.
3514 (default_symbol): Moved to symbol.cpp/symbol.h.
3515 (do_glyph_color, do_fill_color, define_color): Pass symbol name
3516 to color constructor.
3517 * src/roff/troff/env.h: Updated.
3519 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
3520 Document new registers.
3522 2004-01-05 Werner LEMBERG <wl@gnu.org>
3524 * src/roff/troff/node.cpp (space_node::get_breakpoints,
3525 space_node::nbreaks): Protect against zero `next' field.
3527 2004-01-03 Jeff Conrad <jeff_conrad@msn.com>
3529 In hpftodit, use the symbol sets offered in the TFM.
3531 * src/utils/hpftodit/hpftodit.cpp (NO_GLYPH): New constant.
3532 (symbol_set, text_symbol_sets, special_symbol_sets,
3533 symbol_set_table): Removed.
3534 (get_printcode): Removed.
3535 (read_symbol_sets): Initialize `symbol_set' field with
3537 Simplify code to just use the `kind' value.
3538 (output_charset): Improve output formatting.
3539 (dump_symbols): Simplified.
3541 2004-01-02 Werner LEMBERG <wl@gnu.org>
3543 * font/devlj4/generate/text.map: Add more MSL numbers.
3545 2004-01-02 Jeff Conrad <jeff_conrad@msn.com>
3547 * src/utils/hpftodit/hpftodit.cpp (is_decomposed): New macro.
3548 (text_symbol_sets): Add more symbol sets.
3549 (debug_flag): New static variable (moved from `main').
3550 (get_printcode, show_symset): New functions.
3551 (main): Remove `debug_flag'.
3552 (output_charset): Use `show_symset'.
3553 (dump_symbols): Use `show_symset'.
3554 Print symsets for all glyphs.
3555 (read_map): Actually call `unicode_to_ucode_make' but this time
3558 2004-01-01 Werner LEMBERG <wl@gnu.org>
3560 * font/devlj4/generate/text.map, font/devlj4/generate/special.map:
3561 Fix placement of comments.
3563 2004-01-01 Jeff Conrad <jeff_conrad@msn.com>
3565 * src/utils/hpftodit/hpftodit.cpp (main): Read map file also if
3566 option `-d' is given.
3567 (output_charset): Improve warning messages to give more information.
3568 (dump_symbols): Make information more precise.
3570 (read_map): Don't call unicode_to_ucode_name; the glyph names must
3571 appear as-is and shouldn't be decomposed.
3573 2003-12-31 Werner LEMBERG <wl@gnu.org>
3575 * src/utils/hpftodit/hpftodit.cpp (dump_tags): Handle posture_tag.
3576 * font/devlj4/generate/Makefile (IFLAG): Updated to new units.
3577 (FONTS): Add TrueType font families Arial and Times New Roman.
3578 (TNRR, TNRB, TNRI, TNRBI, AR, AB, AI, ABI): New targets.
3579 * font/devlj4/generate/text.map: Fix Unicode values of `fi' and
3582 2003-12-31 Jeff Conrad <jeff_conrad@msn.com>
3584 * test-groff.in (SEP): Quote value.
3585 * src/roff/troff/node.cpp (suppress_node::tprint): Change type of
3586 `tem' to `char*' to avoid deallocation of a pointer to a constant
3587 object which some compilers don't like.
3589 2003-12-31 Werner LEMBERG <wl@gnu.org>
3591 * font/devlj4/generate (text.map, special.map): Rewritten to work
3592 with the new hpftodit version.
3594 2003-12-30 Jeff Conrad <jeff_conrad@msn.com>
3596 * src/utils/hpftodit/hpftodit.cpp (output_charset): Emit HP symbol
3597 set and 8bit character code for all glyphs also.
3599 2003-12-30 Werner LEMBERG <wl@gnu.org>
3601 * src/libs/libgroff/strcasecmp.c: Updated from gnulib.
3603 2003-12-29 Werner LEMBERG <wl@gnu.org>
3605 More fixes for MSVC compiler.
3607 * doc/Makefile.sub, contrib/mom/Makefile.sub (GROFF_BIN_PATH): Use
3610 * src/include/nonposix.h (STDIN_FILENO, STDOUT_FILENO,
3611 STDERR_FILENO) [_MSC_VER]: Define conditionally.
3612 (getpid) [_MSC_VER]: Remove.
3613 Include direct.h and process.h conditionally.
3615 * src/roff/troff/node.cpp (suppress_node::tprint): Don't use
3616 parentheses for a_delete.
3618 * src/utils/lookbib/lookbib.cpp: Include nonposix.h.
3620 * test-groff: Replaced with...
3621 * test-groff.in: This new template to handle path separator
3624 * configure.ac: Check for direct.h and process.h.
3625 Generate test-groff script.
3626 * configure, src/include/config.hin: Regenerated.
3628 2003-12-28 Werner LEMBERG <wl@gnu.org>
3630 Add integral extension glyph.
3631 Add new option `-x' to afmtodit to suppress use of built-in AGL.
3633 * font/devhtml/R.proto, font/devutf8/R.proto: Add `u23AE'.
3635 * font/devps/generate/textmap: Provide entry for `integralex' to
3636 override (old) PUA value of the AGL.
3637 * font/devps/generate/Makefile (SS): Add afmtodit option `-x'.
3638 * font/devps/*: Regenerated.
3640 * src/utils/afmtodit/afmtodit.pl: Add option `-x'.
3641 * src/utils/afmtodit/afmtodit.man, NEWS: Updated.
3643 2003-12-27 Werner LEMBERG <wl@gnu.org>
3645 Add forgotten `coproduct' symbol (already available for DVI).
3647 * font/devhtml/R.proto, font/devps/generate/textmap,
3648 font/devps/symbolmap, font/devutf8/R.proto, man/groff_char.man,
3649 src/libs/libgroff/uniglyph.cc, src/libs/libgroff/glyphuni.cpp: Add
3650 U+2210 (\[coproduct]).
3652 2003-12-26 Jeff Conrad <jeff_conrad@msn.com>
3654 hpftodit has been extended to handle TrueType metric files and
3655 more glyphs. See hpftodit.man for more details.
3657 * src/utils/hpftodit/hpftodit.cpp: Include stdio.h, string.h,
3658 ctype.h, and unicode.h.
3659 s/msl/charcode/ everywhere since we now handle Unicode values also.
3660 (equal, NO, YES, MSL, SYMSET, UNICODE, UNICODE): New macros.
3661 Use it where appropriate.
3662 (MULTIPLIER): Replaced with...
3663 (multiplier): New global static variable.
3665 (tag_type): Add more TFM tags.
3666 (tag_name): New array.
3667 (ENUM_TYPE, FLOAT_TYPE): Removed.
3668 (BYTE_TYPE): New value assigned.
3669 (ASCII_TYPE, RATIONAL_TYPE): New enumeration values.
3670 (text_symbol_sets, special_symbol_sets): Extended to cover more
3672 (check_type): Add return value.
3673 (check_units): Add parameters to get ppi and upem values.
3674 Handle TrueType TFM data.
3675 (output_font_name): New function.
3676 (output_charset): Add parameter to handle TFM type.
3677 Handle TrueType TFMs also.
3678 (em_fract): New macro.
3679 (dump_tags): Be much more verbose and handle more tags.
3680 (dump_ascii, dump_symbol_sets, dump_symbols): New functions.
3681 (hp_msl_to_ucode_name, unicode_to_ucode_name, is_uname): New
3683 (read_map): Add parameter to handle TFM type.
3684 Handle both MSL and Unicode mappings.
3685 (main): Add two new command line options `-a' and `-q'.
3686 Updated to make use of new functions.
3689 * src/utils/hpftodit/hpuni.cpp: New file.
3691 * src/utils/hpftodit/Makefile.sub, src/utils/hpftodit/hpftodit.man:
3694 2003-12-25 Werner LEMBERG <wl@gnu.org>
3696 * src/include/nonposix.h (read) [_MSC_VER]: Define.
3698 2003-12-24 Werner LEMBERG <wl@gnu.org>
3700 * src/utils/afmtodit/afmtodit.man: Some reformulations as suggested
3701 by Michail Vidiassov <master@iaas.msu.ru>.
3703 2003-12-20 Werner LEMBERG <wl@gnu.org>
3705 * font/devhtml/R.proto: Add u00{47,67}_0306, u00{53,73}_0327,
3707 Add missing latin-2 glyphs.
3708 * font/devutf8/R.proto: Add missing latin-2 glyphs.
3710 * tmac/troffrc: Load `composite.tmac' earlier.
3712 * tmac/dvi.tmac, tmac/ps.tmac, tmac/lbp.tmac: Add u00{47,67}_0306,
3713 u00{53,73}_0327, and u0049_0307.
3714 * tmac/X.tmac: Add u00{47,67}_0306.
3715 * tmac/tty-char.tmac: Use composite glyph names for readability.
3719 * src/include/unicode.h: Remove `extern' keywords.
3721 2003-12-20 Nilgün Belma Bugüner <nilgun@superonline.com>
3723 * tmac/latin5.tmac: New file.
3725 2003-12-19 Werner LEMBERG <wl@gnu.org>
3727 Add some glyphs needed for Turkish.
3729 * font/devutf8/R.proto: Add u00{47,67}_0306, u00{53,73}_0327,
3732 * tmac/composite.tmac: Add `,' as a synonym for `ac' accent.
3733 * tmac/tty-char.tmac: Add representations for u00{47,67}_0306,
3734 u00{53,73}_0327, and u0049_0307.
3736 2003-12-18 Werner LEMBERG <wl@gnu.org>
3738 * src/devices/grops/ps.cc (ps_output::put_float): Revert change
3740 Remove trailing zeros.
3742 2003-12-17 Werner LEMBERG <wl@gnu.org>
3744 Make \? transparent to end-of-sentence recognition.
3746 * src/roff/troff/input.cc (non_interpreted_node): Add
3747 `ends_sentence' member function.
3749 2003-12-16 Werner LEMBERG <wl@gnu.org>
3751 * doc/groff.texinfo: Document `dt' request correctly.
3752 Other minor typographical improvements.
3754 2003-12-10 Michail Vidiassov <master@iaas.msu.ru>
3756 * src/utils/afmtodit/Makefile.sub (afmtodit): Fix typo.
3758 2003-12-10 Richard Stallman <rms@gnu.org>
3760 * LICENSE: Better wording.
3762 2003-12-09 Werner LEMBERG <wl@gnu.org>
3764 * aclocal.m4 (GROFF_BROKEN_SPOOLER_FLAGS): Set default value to 0.
3765 * configure, NEWS: Updated.
3767 2003-12-08 Werner LEMBERG <wl@gnu.org>
3769 * FDL: Updated to version 1.2 (from www.gnu.org/copyleft).
3771 2003-12-07 Bernd Warken <bwarken@mayn.de>
3775 2003-12-07 Werner LEMBERG <wl@gnu.org>
3777 * INSTALL: Improved.
3779 2003-12-05 Keith Marshall <keith.d.marshall@ntlworld.com>
3781 Use path separator character of target platform for compiled-in
3784 * aclocal.m4 (GROFF_TARGET_PATH_SEPARATOR): New macro.
3785 * configure.ac: Use GROFF_TARGET_PATH_SEPARATOR.
3786 * configure: Regenerated.
3787 * Makefile.in (SEP): Use GROFF_PATH_SEPARATOR.
3789 2003-12-05 Werner LEMBERG <wl@gnu.org>
3791 * src/include/nonposix.h (PATH_SEP_CHAR): New definition.
3792 Replace `PATH_SEP[0]' with `PATH_SEP_CHAR' everywhere.
3794 2003-12-04 Bernd Warken <bwarken@mayn.de>
3796 * LICENSE: New file.
3798 2003-12-03 Werner LEMBERG <wl@gnu.org>
3800 * src/utils/afmtodit/afmtodit.pl: Comment out code which handles
3801 ligatures present in AFM files since groff currently only
3802 understands some standard ligatures and nothing else.
3804 2003-12-03 Jeff Conrad <jeff_conrad@msn.com>
3806 * src/roff/groff/groff.cpp (main): Don't run the spooler if
3809 * src/roff/groff/pipeline.c (run_pipeline) [_WIN32]: Fix error
3812 Don't use Unix wait flags.
3814 2003-12-02 Werner LEMBERG <wl@gnu.org>
3816 * src/roff/troff/glyphuni.cpp, src/roff/troff/unicode.cpp,
3817 src/roff/troff/unicode.h, src/roff/troff/uniglyph.cpp,
3818 src/roff/troff/uniuni.cpp: Moved to...
3819 * src/libs/libgroff/glyphuni.cpp, src/libs/libgroff/unicode.cpp,
3820 src/libs/libgroff/unicode.h, src/libs/libgroff/uniglyph.cpp,
3821 src/libs/libgroff/uniuni.cpp: Here.
3823 * src/include/Makefile.sub.old (HDRS),
3824 src/libs/libgroff/Makefile.sub (OBJS, CCSRCS),
3825 src/roff/troff/Makefile.sub (HDRS, PBJS, CCSRCS): Updated.
3827 2003-12-01 Keith Marshall <keith.d.marshall@ntlworld.com>
3829 * src/preproc/htlp/pre-html.cpp (__tmpfile): Renamed to
3833 2003-12-01 Werner LEMBERG <wl@gnu.org>
3835 * groff.texinfo: Document special behaviour of `.vs 0'.
3836 Improve documentation of `cflags' request.
3839 2003-11-29 Werner LEMBERG <wl@gnu.org>
3841 * font/devlj4/generate/Makefile (CORONET): Use correct TFM.
3842 * font/devlj4/CORONET: Regenerated.
3844 2003-11-24 Werner LEMBERG <wl@gnu.org>
3846 * src/roff/troff/env.cpp (hyphen_trie::read_patterns_file): Fix loop
3847 if processing hyphenation patterns in traditional mode.
3848 Improve error messages.
3850 2003-11-20 Werner LEMBERG <wl@gnu.org>
3852 * src/roff/troff/node.cpp (troff_output_file::put_char_width,
3853 troff_output_file::put_char): Fix type of local variable `c'.
3855 2003-11-19 Werner LEMBERG <wl@gnu.org>
3857 * src/roff/groff/pipeline.c (P): Removed. Updated all function
3859 (i_to_a): Removed. libgroff already provides this function.
3860 (run_pipeline) [_WIN32]: Don't use itoa but i_to_a.
3862 2003-11-18 Keith Marshall <keith.d.marshall@ntlworld.com>
3864 * src/roff/groff/pipeline.c (xstrsignal): Fix usage of
3867 2003-11-17 Werner LEMBERG <wl@gnu.org>
3869 * COPYING: Use correct version.
3871 2003-11-11 Werner LEMBERG <wl@gnu.org>
3873 LynxOS 4.0.0 doesn't declare vfprintf.
3875 * configure.ac: Check for vfprintf.
3876 * configure: Regenerated.
3877 * src/include/lib.h: Handle `NEED_DECLARATION_VFPRINTF'.
3878 * src/include/config.hin: Regenerated.
3880 2003-11-10 Werner LEMBERG <wl@gnu.org>
3882 LynxOS 4.0.0 has snprintf (without declaration) but no vsnprintf.
3884 * configure.ac: Check for vsnprintf.
3885 * configure: Regenerated.
3886 * src/include/lib.h: Handle `NEED_DECLARATION_VSNPRINTF' and
3888 * src/include/config.hin: Regenerated.
3890 2003-11-09 Werner LEMBERG <wl@gnu.org>
3892 * aclocal.m4: Updated syntax to autoconf 2.59.
3893 (GROFF_HTML_PROGRAMS): Use AC_FOREACH.
3894 Don't check for gsos2.
3895 (GROFF_SRCDIR, GROFF_BUILDDIR): Removed. autoconf 2.59 provides
3896 working abs_top_srcdir and abs_top_builddir.
3898 * configure.ac: Updated syntax to autoconf 2.59.
3899 Don't call GROFF_SRCDIR and GROFF_BUILDDIR.
3900 Replace call to AC_DECL_SYS_SIGLIST with call to AC_CHECK_DECLS.
3901 * configure: Regenerated.
3903 * Makefile.in, doc/Makefile.in: s/@top_srcdir@/@abs_top_srcdir@/,
3904 s/@groff_top_builddir@/@abs_top_builddir@/.
3906 * src/roff/groff/pipeline.c (xstrsignal):
3907 s/SYS_SIGLIST_DECLARED/HAVE_DECL_SYS_SIGLIST/.
3909 2003-11-07 Werner LEMBERG <wl@gnu.org>
3911 * src/devices/grodvi/dvi.cpp (draw_dvi_printer::draw) ['a']: Always
3912 make start angle smaller than end angle to circumvent a bug in tpic
3913 handling of some versions of dvipdfm (and dvipdfmx).
3915 2003-10-30 Werner LEMBERG <wl@gnu.org>
3917 * src/devices/grops/grops.man: Improve section on creating EPS.
3919 2003-10-29 Werner LEMBERG <wl@gnu.org>
3921 * contrib/pic2graph/pic2graph.sh: Fix typo (-P-letter ->
3924 2003-10-28 Werner LEMBERG <wl@gnu.org>
3926 * doc/groff.texinfo: Fix documentation of `.if'.
3928 2003-10-27 Michail Vidiassov <master@iaas.msu.ru>
3930 * src/utils/afmtodit/afmtodit.pl: Handle unmapped characters of
3931 the form `uniXXXX' also.
3933 2003-10-27 Werner LEMBERG <wl@gnu.org>
3935 * contrib/eqn2graph/eqn2graph.sh, contrib/grap2graph/grap2graph.sh,
3936 contrib/pic2graph/pic2graph.sh: Implement secure management of
3938 Pass `-P-pletter' to groff to avoid data outside of the converted
3939 area -- some versions of `convert' (for example 5.3.8) don't check
3940 the bounding box of the image but always use a fixed image size
3941 (letter paper format).
3942 * contrib/eqn2graph/eqn2graph.man, contrib/grap2graph/grap2graph.man,
3943 contrib/pic2graph/pic2graph.man: Updated.
3945 * src/roff/groff/groff.man: Document $TMP and $TEMP.
3947 2003-10-26 Werner LEMBERG <wl@gnu.org>
3949 * src/preproc/pic/troff.cpp (troff_output::simple_circle,
3950 troff_output::simple_ellipse, troff_output::simple_arc,
3951 troff_output::simple_line, troff_output::simple_spline,
3952 troff_output::simple_polygon): Insert a space before arguments.
3953 (troff_output::set_fill): Emit `\&' before `\D'Fg...' since the
3954 latter doesn't produce a node, so the following `.sp -1' would do
3956 Don't emit `.sp -1' after \M. This also doesn't produce a token
3957 (and we don't have to care about compatibility mode).
3958 (troff_output::set_color, troff_output::reset_color): Don't emit
3959 `.sp -1' after \M and \m.
3961 * src/roff/troff/input.cpp (old_have_input): New global variable.
3962 (input_stack::get): Handle `old_have_input'.
3963 (process_input_stack) <token::TOKEN_NEWLINE>: Call
3964 `trapping_blank_line' depending on `old_have_input', not
3967 2003-10-20 Keith Marshall <keith.d.marshall@ntlworld.com>
3969 * src/libs/libgroff/tmpfile.cpp [__MSDOS__, _Win32]
3970 (WIN32_TMPDIR_ENVVAR, MSDOS_TMPDIR_ENVVAR): New macros, providing
3971 default directory names for temporary files.
3972 [__MSDOS__, _Win32] (temp_init::temp_init): Use them.
3974 * src/roff/groff/pipeline.c [__MSDOS__]: Include stdlib.h.
3975 [__MSDOS__] (run_pipeline): Honour environment variables.
3976 Don't use `tmpnam' but `tempnam' to work around messy
3979 * README.MinGW: New file.
3981 2003-10-16 Werner LEMBERG <wl@gnu.org>
3983 * src/preproc/html/pre-html.cpp (write_upto_newline): Don't use
3984 `(*t)->next' without testing validity of `*t'.
3985 (usage): Make it more readable.
3987 2003-10-16 Keith Marshall <keith.d.marshall@ntlworld.com>
3989 Make html device run under both MS-DOS and Win32.
3991 * src/preproc/html/pre-html.cpp (MAY_FORK_CHILD_PROCESS,
3992 MAY_SPAWN_ASYNCHRONOUS_CHILD): New macros to control whether
3993 spawn or fork+exec has to be used, and whether parent must sleep
3994 until the child process terminates. Used in
3995 `char_buffer::run_output_filter'.
3996 (copyofstdoutfd): Removed.
3997 (char_buffer): Replace `write_file_html' and `write_file_troff'
3998 member functions with `emit_troff_output' and `run_output_filter'.
3999 (DEVICE_FORMAT, HTML_OUTPUT_FILTER, IMAGE_OUTPUT_FILTER): New
4001 (replaceFd): Replaced with...
4002 (set_redirection): New auxiliary function.
4003 (waitForChild): Replaced with...
4004 (save_and_redirect): New auxiliary function for.
4006 (char_buffer::do_html, char_buffer::do_image): Simplified, using new
4009 2003-10-14 Keith Marshall <keith.d.marshall@ntlworld.com>
4011 * aclocal.m4 (GROFF_SYS_NERR): Check stdlib.h also.
4012 (GROFF_LIBC): New function.
4013 * configure.ac: Call GROFF_LIBC.
4015 * configure: Regenerated.
4017 * src/include/lib.h: Handle __MINGW32__.
4018 * src/include/nonposix.h [_MSC_VER]: Handle __MINGW32__.
4019 Add macro for `pipe'.
4022 * src/roff/groff/pipeline.c (run_pipeline): Handle `no_pipe'
4025 * src/utils/indxbib/signal.c (handle_fatal_signal) [!HAVE_KILL]:
4028 2003-10-13 Werner LEMBERG <wl@gnu.org>
4030 Finally fix change 2003-08-26, based on ideas from Chuck Silvers
4033 * contrib/mom/Makefile.sub: Use a stamp file in the `examples'
4036 2003-10-12 Werner LEMBERG <wl@gnu.org>
4038 * src/roff/groff/groff.cpp (help), src/devices/grops/ps.cpp (usage),
4039 src/roff/troff/input.cc (usage): Updated.
4041 * NEWS, doc/groff.texinfo: Updated.
4043 2003-10-12 Peter Miller <millerp@canb.auug.org.au>
4045 * src/libs/libgroff/searchpath.cpp
4046 (search_path::open_file_cautious): New function which also handles
4047 `-' as stdin and stdout depending on the access mode.
4048 * src/include/searchpath.h (search_path): Updated.
4050 * src/devices/grops/ps.cpp (main): Handle new `-I' switch.
4051 * src/devices/grops/ps.h: Include `searchpath.h'.
4052 * src/devices/grops/psrm.cpp (resource_manager::supply_resource):
4053 Open resource file with `include_search_path.open_file_cautious'.
4054 * src/devices/grops/grops.man: Document new `-I' switch.
4056 * src/devices/grodvi/dvi.cpp (main), src/devices/grolbp/lbp.cpp
4057 (main), src/devices/grolj4/lj4.cpp (main),
4058 src/devices/grotty/tty.cpp (main): Ignore new `-I' switch.
4060 * src/preproc/soelim/soelim.cpp (include_list_length, include_list):
4062 (include_search_path): New global variable.
4063 (include_path_append): Removed.
4064 (main): Use `include_search_path.command_line_dir' to handle `-I'.
4065 (do_file): Simplify, using new
4066 `include_search_path.open_file_cautious'.
4068 * src/roff/groff/groff.cpp (print_commands): Accept file handle as
4070 (main): Pass arguments to `-I' to both troff and devices.
4071 Improve handling of `-V'.
4072 * src/roff/groff/groff.man: Document changes to -I and -V.
4074 * src/roff/troff/input.cpp (include_search_path): New global
4076 (next_file, source, ps_bbox_request, transparent_file,
4077 process_input_file): Use new
4078 `include_search_path.open_file_cautious'.
4079 (main) Handle `-I' switch.
4080 * src/roff/troff/node.cpp (troff_output_file::really_copy_file):
4081 Use new `include_search_path.open_file_cautious'.
4082 * src/roff/troff/node.h: New extern symbol `include_search_path'.
4083 * src/roff/troff/troff.man: Document new `-I' switch.
4085 2003-09-15 Ruslan Ermilov <ru@FreeBSD.org>
4087 Support multiple calls of .Lb in LIBRARY section.
4089 * tmac/doc-common (doc-in-library-section): New register.
4090 (doc-section-library): New string.
4091 (Sh): Set `doc-in-library-section'.
4093 * tmac/doc-syms (Lb): Insert breaks before and after arguments
4094 if in LIBRARY section.
4095 * tmac/doc.tmac (doc-save-global-vars): Updated.
4096 * NEWS, tmac/groff_mdoc.man: Updated.
4098 2003-09-14 Ruslan Ermilov <ru@FreeBSD.org>
4100 * tmac/doc-common (doc-default-operating-system): New variable.
4103 2003-09-08 Werner LEMBERG <wl@gnu.org>
4105 * tmac/doc.tmac (doc-reset-reference): Handle data for `%I' also.
4107 2003-08-31 Werner LEMBERG <wl@gnu.org>
4109 * contrib/mom/Makefile.sub: Fix last change to make it really work.
4110 * Makefile.comm: Use `test ... ||' in favor of `if test ...; then'.
4111 (install_dev, uninstall_dev): Check whether $(DEVSCRIPTS) and
4112 $(DEVFILES) are not empty.
4113 * Makefile.in: Use `test ... ||' in favor of `if test ...; then'.
4115 2003-08-26 Chuck Silvers <chuq@chuq.com>
4117 * contrib/mom/Makefile.sub (prepare_make_examples): Make it work
4118 with parallel runs of `make'.
4120 2003-08-23 Stephen Gildea <http://www.gildea.com/stephen>
4122 * src/preproc/ref/ref.cpp (reference::compute_sort_key): Always
4123 insert SORT_SEP. With certain combinations of sort specifications,
4124 refer sorted entries in the wrong order. In particular, entries
4125 with a missing field should be be sorted before all entries that
4126 have that field, before refer looks to the next field.
4128 2003-08-23 Werner LEMBERG <wl@gnu.org>
4130 * src/utils/pfbtops/Makefile.sub (LINK.c): Define it so that the
4131 g++ linker is used. Reported by Mark J. Reed
4132 <mark.reed@turner.com>.
4134 2003-08-16 Heinz-Jürgen Oertel <hj.oertel@surfeu.de>
4136 Add key character `x' to tbl which makes tbl call a user-defined
4137 macro on a table cell.
4139 * src/preproc/tbl/table.h (entry_modifier): Add `macro'.
4140 * src/preproc/tbl/table.cpp (block_entry::do_divert): Call
4141 `set_modifier' after printing the compatibility request.
4142 (set_modifier): Print call to `m->macro' if not empty.
4143 * src/preproc/tbl/main.cpp (entry_format::debug_print): Handle
4145 (process_format): Implement cases `x' and `X'.
4146 * src/preproc/tbl/tbl.man, NEWS: Updated.
4148 2003-08-15 Werner LEMBERG <wl@gnu.org>
4150 * doc/groff.texinfo: Minor fixes.
4152 2003-08-09 Werner LEMBERG <wl@gnu.org>
4154 * tmac/an-old.tmac [cR]: Fix redefinition of `bp'.
4156 2003-08-07 Werner LEMBERG <wl@gnu.org>
4158 * doc/Makefile.sub: Not all shells expand wildcards in the `for'
4159 argument list to nothing if there is no file to match. Use `ls' as
4160 a protection, similar to autoconf.
4162 * Makefile.comm (install_dev, uninstall_dev): Protect `for' against
4163 empty argument lists.
4165 * doc/groff.texinfo: Improve documentation how vertical spacing
4166 and line breaks interact.
4169 * tmac/www.tmac: Initialize `www-htmlimage-gap'.
4171 2003-08-03 Werner LEMBERG <wl@gnu.org>
4173 * NEWS, src/devices/grops/grops.man: -b16 is necessary to produce
4174 EPS (using eps2eps or similar programs to compute the bounding box).
4176 2003-07-24 Werner LEMBERG <wl@gnu.org>
4178 * doc/groff.texinfo: Use the new @/ command to avoid overlong lines.
4179 * doc/texinfo.tex: Updated from texinfo 4.6.
4180 * README.CVS: From now on we need texinfo 4.6.
4182 2003-07-23 Werner LEMBERG <wl@gnu.org>
4184 Add requests `dei1' and `ami1' for completeness.
4186 * src/roff/troff/input.cc (calling_mode): Remove
4187 CALLING_DISABLE_COMP.
4188 (comp_mode): New enumeration.
4189 (do_define_string, define_string, define_nocomp_string,
4190 append_string, append_nocomp_string): Updated.
4191 (do_define_macro): Add third parameter.
4192 (define_macro, define_nocomp_macro, define_indirect_macro,
4193 append_macro, append_nocomp_macro, append_indirect_macro): Updated.
4194 (define_indirect_nocomp_macro, append_indirect_nocomp_macro): New
4197 (init_input_requests): Add `dei1' and `ami1'.
4199 * tmac/trace.tmac: Handle de1 and am1.
4200 (de): Improve tracing message.
4201 (am): Add missing `do'.
4204 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
4205 Document new requests.
4207 2003-07-22 Heinz-Jürgen Oertel <hj.oertel@surfeu.de>
4209 Add option -G to .MPIMG to insert a gap between text and the image.
4211 * tmac/www.tmac (www-finish-left-po, www-finish-right-ll,
4212 www-finish-left-ll): Updated.
4213 (www-image-just, www-image-gap, www-htmlimage-gap): New variables.
4214 (MPIMG): Make option -L and -R optional.
4215 Implement option -G.
4217 2003-07-22 Gaius Mulley <gaius@glam.ac.uk>
4219 * src/devices/grohtml/post-html.cpp
4220 (html_printer::do_file_components): Don't use `stdout' as lvalue
4221 since it can be a macro.
4223 2003-07-22 Werner LEMBERG <wl@gnu.org>
4225 * src/libs/libgroff/strerror.c: Include errno.h to be in sync with
4226 the corresponding test in aclocal.m4.
4228 2003-07-21 Werner LEMBERG <wl@gnu.org>
4230 * src/preproc/html/pre-html.cpp (TRANSPARENT): Don't use colour
4231 names but RGB values directly. Otherwise pnmtopng depends on
4232 an external file `rgb.txt' which maps colour names to values.
4234 2003-07-20 Werner LEMBERG <wl@gnu.org>
4236 * aclocal.m4 (GROFF_SYS_ERRLIST): Include stdlib.h for MinGW.
4237 * configure, src/include/config.hin: Regenerated.
4239 * src/libs/libgroff/strerror.c: Include stdlib.h for MinGW.
4241 2003-07-19 Werner LEMBERG <wl@gnu.org>
4243 * PROBLEMS: Add solution for UTF-8 problem with hyphens.
4245 2003-07-18 Werner LEMBERG <wl@gnu.org>
4247 * *.man: Switch to non-compatibility mode temporarily if GNU
4248 syntax extensions are used in the particular man page.
4250 * PROBLEMS: Add solutions for SGR problems.
4252 2003-07-17 Werner LEMBERG <wl@gnu.org>
4254 Don't ignore grotty's command line options if \X'tty: sgr ...' is
4255 used to change the drawing scheme.
4257 * src/devives/grotty/tty.cpp (bold_flag_option,
4258 underline_flag_option, italic_flag_option, reverse_flag_option,
4259 bold_underline_mode_option): New global variables.
4260 (update_options): New function.
4261 (tty_printer::special): Call update_options.
4262 (main): Don't set xxx_flag but xxx_flag_option, then call
4265 2003-07-14 Werner LEMBERG <wl@gnu.org>
4267 Make grotty emit proper Unicode box drawing characters for -Tutf8.
4269 * src/devices/grotty/tty.cpp (START_LINE, END_LINE): New enum
4271 (hline_char, vline_char): New global variables.
4272 (tty_printer::tty_printer): Initialize them.
4273 (tty_printer::draw): Emit START_LINE and END_LINE flags for both
4274 horizontal and vertical lines.
4275 (crossings): New global array.
4276 (tty_printer::end_page): Use it to determine the proper crossing
4277 character for -Tutf8.
4279 2003-07-12 Werner LEMBERG <wl@gnu.org>
4281 * doc/Makefilesub (HTMLDOCFILESALL): New macro.
4282 (HTMLDOCFILES): Revert to `pic.html'.
4283 (CLEANADD, install_html, uninstall_sub): Use HTMLDOCFILESALL.
4285 2003-07-11 Werner LEMBERG <wl@gnu.org>
4287 * doc/pic.ms: Improve documentation of absolute coordinates.
4288 Document absolute positioning of pictures.
4290 * NEWS: Add new pic capability.
4292 2003-07-09 Hartmut Henkel <hartmut_henkel@gmx.de>
4294 * src/libs/libgroff/geometry.cpp (check_output_arc_limits):
4297 2003-07-07 Werner LEMBERG <wl@gnu.org>
4299 Implement support for dashed and dotted ellipses in pic. Based on
4300 a patch from Hartmut Henkel <hartmut_henkel@gmx.de>.
4302 * src/preproc/pic/common.cpp (common_output::ellipse_arc,
4303 common_output::dashed_ellipse, common_output::dotted_ellipse): New
4304 functions. Ellipse arcs are approximated with circle arcs.
4305 * src/preproc/pic/common.h (common_output): Updated.
4306 * src/preproc/pic/tex.cpp (tex_output::ellipse): Use new ellipse
4308 * src/preproc/pic/troff.cpp (simple_output::ellipse): Ditto.
4310 * src/preproc/pic/TODO, src/preproc/pic/pic.man: Updated.
4312 2003-07-06 Werner LEMBERG <wl@gnu.org>
4314 Make grotty work on platforms which have unsigned char as the
4315 default for char. Based on a patch by Thomas Klausner
4318 * src/devices/grotty/tty.cpp (schar): New typedef.
4319 Updated calls to declare_ptable and implement_ptable.
4320 (glyph): Use schar for back_color_idx and fore_color_idx.
4321 (tty_printer): Use schar for curr_fore_idx and curr_back_idx.
4322 (tty_printer::tty_color, tty_printer::tty_printer,
4323 tty_printer::color_to_idx, tty_printer::put_color): Updated.
4325 2003-07-06 Ruslan Ermilov <ru@FreeBSD.org>
4327 * src/roff/nroff/nroff.sh: Add option -d for completeness.
4328 * src/roff/nroff/nroff.man: Updated.
4330 2003-07-05 Werner LEMBERG <wl@gnu.org>
4332 * NEWS, tmac/groff_www.man: Updated.
4333 * doc/Makefile.sub: Updated.
4335 2003-07-05 Gaius Mulley <gaius@glam.ac.uk>
4337 Implement support for multiple HTML output files.
4339 * src/preproc/html/pre-html.cpp (scanArguments): Dummy handling for
4340 -j command line option.
4342 * src/devices/grohtml/post-html.cpp (job_name, multiple_files): New
4344 (file): New fields `new_output_file', `require_links',
4346 (file::file): Updated.
4347 (files::set_file_name, files::set_links_required,
4348 files::are_links_required, files::is_new_output_file,
4349 files::file_name, files::next_file_name): New functions.
4350 (header_desc): New fields `no_of_level_one_headings',
4352 (header_desc::header_desc): Updated.
4353 (header_desc::write_headings): Handle multiple files.
4354 (html_printer::write_header): Save file name in which header occurs.
4355 (html_printer::determine_header_level): Possibly split files on
4357 (html_printer::do_links, html_printer::troff_tag): Updated.
4358 (html_printer::insert_split_file, html_printer::do_job_name,
4359 html_printer::emit_link, html_printer::write_navigation,
4360 html_printer::do_file_components): New functions.
4361 (html_printer::~html_printer): Handle multiple files.
4362 (main): Handle command line option `-j'.
4364 * src/devices/grohtml/grohtml.man: Updated.
4366 * doc/Makefile.sub (pic.html), doc/Makefile.in (pic.html): New rule
4369 * tmac/www.tmac (JOBNAME): New macro.
4370 * tmac/s.tmac (SH-NO-TAG): New macro.
4371 (@SH): Call SH-NO-TAG.
4374 2003-07-05 Ruslan Ermilov <ru@FreeBSD.org>
4376 * tmac/groff_mdoc.man: Improve documentation of punctuation
4379 2003-07-04 Ruslan Ermilov <ru@FreeBSD.org>
4381 * tmac/doc.tmac (Bd): Change to doc-Li-font later.
4383 2003-07-03 Werner LEMBERG <wl@gnu.org>
4385 * tmac/an-old.tmac [cR]: Redefine `bp' to avoid empty lines.
4387 2003-07-01 Ruslan Ermilov <ru@FreeBSD.org>
4389 * tmac/doc.tmac (doc-do-func, doc-do-func-args): Don't print a comma
4390 after `/*' and `*/'.
4392 (Fn, Fo): Reduce indentation in synopsis.
4394 * tmac/doc-common (doc-check-depth): New macro.
4395 (doc-end-macro, Sh, Ss): Use it.
4396 (Cd): Fix behaviour in synopsis.
4397 (In): Make it parsed and callable.
4398 If not in the synopsis, represent the C header file enclosed in
4400 (doc-str-Rv-std-suffix, doc-str-Rv-stds-suffix, doc-str-Rv-std0):
4401 Use minus, not hyphen.
4403 * tmc/groff_mdoc.man: Updated.
4405 2003-07-01 Werner LEMBERG <wl@gnu.org>
4407 Integrated grap2graph, contributed by Eric S. Raymond.
4409 * contrib/grap2graph/{Makefile.sub, grap2graph.sh, grap2graph.man}:
4411 * Makefile.in, NEWS, MANIFEST, contrib/eqn2graph.man,
4412 contrib/pic2graph.man, src/roff/groff/groff.man: Updated.
4414 2003-07-01 Colin Watson <cjwatson@debian.org>
4416 * src/xditview/*.c: Add prototypes, fix return types, add includes.
4417 Based on work by Fumitoshi UKAI <ukai@debian.or.jp>.
4419 2003-06-31 Ruslan Ermilov <ru@FreeBSD.org>
4421 * tmac/tty-char.tmac: Provide `lb', `rb', `lk', `rk', `lt', `rt'.
4423 2003-06-31 Werner LEMBERG <wl@gnu.org>
4425 * doc/Makefile.sub (CLEANADD): Remove all files created by
4426 running `make groff.{pdf,dvi}'.
4428 * Makefile.sub (DISTCLEANFILES): Remove all non-source files from
4431 2003-06-30 Werner LEMBERG <wl@gnu.org>
4433 * Makefile.in (SHELL): Define as @SHELL@.
4434 (mkinstalldirs): Use $(SHELL).
4435 (MDEFINES): Add $(SHELL).
4436 * Makefile.comm (SHELL): Removed.
4438 2003-06-29 Werner LEMBERG <wl@gnu.org>
4440 * tmac/s.tmac (De, Ds): New aliases for .DE and .DS, respectively.
4441 The X11 documentation files use them.
4442 * tmac/groff_ms.man, doc/groff.texinfo: Document them.
4444 2003-06-15 Robert Goulding <goulding@Princeton.EDU>
4446 * tmac/e.tmac (@C): Handle .ad also.
4448 2003-06-12 Werner LEMBERG <wl@gnu.org>
4450 * src/preproc/tbl/tbl.man: Document formatting of text blocks.
4452 * src/roff/troff/input.cc (token::next) <handle_escape_char>:
4453 Assign `n' even here. It is possible to construct a node
4454 immediately following an escape character:
4462 2003-06-10 Werner LEMBERG <wl@gnu.org>
4464 * README.WIN32: Removed.
4465 * MANIFEST: Updated.
4467 2003-06-07 Werner LEMBERG <wl@gnu.org>
4469 * src/roff/nroff/nroff.sh: Don't emit SGR for option -u.
4471 2003-06-05 Werner LEMBERG <wl@gnu.org>
4473 * src/preproc/pic/pic.y <sprintf_args>: Implement workaround for bug
4474 in Compaq C++ V6.5-033 for Compaq Tru64 UNIX V5.1A (Rev. 1885).
4476 2003-06-03 Werner LEMBERG <wl@gnu.org>
4478 * src/preproc/grn/hdb.cpp (DBRead): Don't close file handle; this
4479 is done by the calling function.
4481 2003-05-22 Ruslan Ermilov <ru@FreeBSD.org>
4483 * tmac/X.tmac: Fix definition of `em'.
4485 2003-05-22 Werner LEMBERG <wl@gnu.org>
4487 * src/roff/troff/input.cc (return_macro_request): Fix detection of
4490 2003-05-18 Werner LEMBERG <wl@gnu.org>
4492 * tmac/doc.tmac (doc-tag-list): Force horizontal mode after tag
4493 to make items work which consist only of a tag.
4495 2003-05-17 Werner LEMBERG <wl@gnu.org>
4497 * tmac/doc.tmac (doc-tag-list): Don't use \Z to assure that spaces
4498 aren't stretched in a tag (this can fail with unformatted boxes).
4499 Instead, insert a break and go back one line.
4501 2003-05-16 Werner LEMBERG <wl@gnu.org>
4503 * src/roff/troff/input.cc (return_macro_request): If called with
4504 argument pop macro twice. We need this to trace `return'.
4506 * tmac/trace.tmac: Handle `return'.
4509 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
4512 2003-05-15 Larry Kollar <kollar@alltel.net>
4514 * tmac/groff_ms.man, doc/groff.texinfo: Improve documentation of
4515 registers `FPS', `FVS', and `FPD'.
4517 2003-05-15 Werner LEMBERG <wl@gnu.org>
4519 * src/utils/pfbtops/pfbtops.c (get_text): Handle loop counter
4522 2003-05-03 Ruslan Ermilov <ru@FreeBSD.org>
4524 * tmac/groff_mdoc.man: Slight improvements.
4526 2003-05-03 Werner LEMBERG <wl@gnu.org>
4528 * tmac/doc-common (doc-header): Emit vertical space of 1v instead of
4529 `doc-header-space' after header line if register `cR' is set.
4531 2003-05-02 Werner LEMBERG <wl@gnu.org>
4535 2003-05-01 Ruslan Ermilov <ru@FreeBSD.org>
4537 * tmac/doc-common (Nd): Use \[em].
4539 2003-05-01 Werner LEMBERG <wl@gnu.org>
4541 * tmac/doc-ditroff, tmac/doc-nroff (doc-header-space,
4542 doc-footer-space): Initialize to 0.5i.
4543 (doc-setup-page-layout): Don't set doc-header-space and
4546 2003-04-30 Werner LEMBERG <wl@gnu.org>
4548 * REVISION: Set to 1.
4550 * doc/pic.ms: Document possible problems with `figname'.
4552 2003-04-29 Werner LEMBERG <wl@gnu.org>
4554 Version 1.19 released
4555 =====================
4557 * VERSION: Set to 1.19.
4558 * REVISION: Set to 0.
4559 * doc/groff.texinfo, doc/webpage.ms, NEWS: Updated.
4561 * src/devices/grohtml/post-html.cpp (html_printer::~html_printer):
4562 Define charset as `US-ASCII' in html output.
4564 * tmac/www.tmac (ULE): Add missing scaling indicator.
4566 * win32-diffs: Removed.
4568 2003-04-28 Werner LEMBERG <wl@gnu.org>
4570 * doc/groff.texinfo: Document `dn' and `dl' registers if used with
4572 Document how to insert discardable whitespace with `.ss'.
4574 2003-04-27 Werner LEMBERG <wl@gnu.org>
4576 * src/preproc/pic/tex.cpp (tex_output::start_picture): Make code
4577 work with plain TeX also.
4579 * src/preproc/pic/pic.man, doc/pic.ms: Fix TeX code example.
4581 2003-04-25 Gaius Mulley <gaius@glam.ac.uk>
4583 * src/devices/grohtml/post-html.cpp (html_printer::~html_printer):
4586 2003-04-24 Werner LEMBERG <wl@gnu.org>
4588 * src/preproc/pic/pic.man, doc/pic.ms: Explain how to get a
4589 vbox with positive height and zero depth if in TeX mode.
4591 * NEWS: Document glyph name changes for grodvi and grolj4.
4593 2003-04-23 Werner LEMBERG <wl@gnu.org>
4595 * src/preproc/pic/tex.cpp (tex_output::start_picture): Fix TeX code.
4596 * doc/pic.ms: Fixed.
4598 2003-04-21 Werner LEMBERG <wl@gnu.org>
4600 HP-UX 10.20 has `snprintf' but it isn't declared.
4602 * configure.ac: Add declaration test for snprintf.
4603 * configure: Regenerated.
4604 * src/include/lib.h: Handle `NEED_DECLARATION_SNPRINTF'.
4605 * src/include/config.hin: Regenerated.
4607 2003-04-19 Werner LEMBERG <wl@gnu.org>
4609 Add keyword `figname' to pic, specifying the name of the picture
4610 box in TeX mode. Based on a patch from William J Poser
4611 <wjposer@unagi.cis.upenn.edu>.
4613 * src/preproc/pic/pic.y: New token `FIGNAME'.
4614 (macro_name): New rule of type <str>.
4615 (placeless_element): Handle `FIGNAME'.
4616 * src/preproc/pic/lex.cpp (lookup_keyword): Add `figname'.
4617 * src/preproc/pic/main.cpp (graphname): New global variable.
4618 (do_picture): Initialize `graphname'.
4619 * src/preproc/pic/pic.h: Updated.
4620 * src/preproc/pic/tex.cpp (tex_output::start_picture): Use
4623 (tex_output::text): Beautify output.
4624 * src/preproc/pic/object.cpp (object_spec::~object_spec): Deallocate
4625 `shaded' and `outlined' unconditionally.
4626 * NEWS, src/preproc/pic/pic.man, doc/pic.ms: Updated.
4629 * PROBLEMS, README.CVS: Mention that bison version 1.875b or
4630 greater is necessary.
4632 2003-04-17 Hartmut Henkel <hartmut_henkel@gmx.de>
4634 Add option -r to soelim to avoid emission of `.lf' lines.
4635 Add option -t to produces TeX comment lines instead of `.lf' lines.
4637 * src/preproc/soelim/soelim.cpp: New global variables `raw_flag'
4640 (main): Handle `-r' and `-t'.
4641 (set_location): Handle `raw_flag' and `tex_flag'.
4642 * src/preproc/soelim/soelim.man, NEWS: Updated.
4644 2003-04-17 Werner LEMBERG <wl@gnu.org>
4646 * tmac/hyphenex.sh: Replaced with...
4647 * tmac/hyphenex.pl: This perl script to avoid sed compatibility
4650 * aclocal.m4 (GROFF_HTML_PROGRAMS): Emit useful warning message
4651 if --quiet is used for the configure script.
4652 * configure: Regenerated.
4654 2003-04-16 Werner LEMBERG <wl@gnu.org>
4656 * src/devices/grohtml/post-html.cpp (text_glob::text_glob):
4657 Add `const' to second argument.
4658 (html_printer::add_table_end): Add `const' to argument.
4659 * src/devices/grohtml/html-text.cpp (html_text::issue_tag): Add
4660 `const' to arguments.
4661 * src/devices/grohtml/html-text.h: Updated.
4663 * src/devices/grolbp/charset.h (symset): Use `unsigned char'.
4664 * src/devices/grolbp/lbp.h (lbpputc): Use `unsigned char' for
4667 * src/devices/grotty/tty.cpp (tty_printer::make_rgb_string): Use
4668 cast for integer constant.
4670 * src/preproc/html/pre-html.cpp (image_device): Use `const'.
4671 (writeNbytes): Add `const' to first argument.
4672 (writeString): Add `const' to argument.
4673 (char_buffer::can_see): Add `const' to third argument.
4674 * src/preproc/html/pushback.cpp (pushBackBuffer::isString): Add
4675 `const' to argument.
4676 * src/preproc/html/pushback.h: Updated.
4678 * src/preproc/soelim/soelim.cpp (include_list): Add `const'.
4679 (include_path_append): Add `const' to argument.
4682 * src/roff/troff/uniglyph.cpp (unicode_to_glyph_list): Use `const'
4684 (unicode_to_glyph_init::unicode_to_glyph_init): Updated.
4685 * src/roff/troff/uniuni.cpp (unicode_decompose_list): Use `const'
4687 (unicode_decompose_init::unicode_decompose_init): Updated.
4688 * src/roff/troff/glyphuni.cpp (glyph_to_unicode_list): Use `const'
4690 (glyph_to_unicode_init::glyph_to_unicode_init): Updated.
4691 * src/roff/troff/input.cc (process_startup_file): Add `const' to
4694 * tmac/hyphenex.sh: Make script more portable by using a here
4697 2003-04-15 Werner LEMBERG <wl@gnu.org>
4699 Renamed all `*.cc' files to `*.cpp'.
4700 Updated all configuration files, makefiles, and documentation.
4702 2003-04-14 Werner LEMBERG <wl@gnu.org>
4704 * tmac/hyphenex.sh: Slight improvements.
4706 2003-04-13 Werner LEMBERG <wl@gnu.org>
4708 * font/devascii/R.proto, font/devcp1037/R.proto,
4709 font/devlatin1/R.proto, font/devutf8/R.proto: Fill up remaining
4710 character slots with unnamed glyphs.
4712 * tmac/an-old.tmac: Fix hyphenation value if `cR' is active.
4713 (an-first): New global variable.
4714 (an-header): Emit vertical space between multiple man pages.
4716 2003-04-11 Werner LEMBERG <wl@gnu.org>
4718 * doc/groff.texinfo, man/groff_out.man: \S only accepts integer
4721 2003-04-10 Werner LEMBERG <wl@gnu.org>
4723 * PROBLEMS: Revised.
4725 2003-04-10 Bernd Warken <bwarken@mayn.de>
4727 * doc/webpage.ms: Improved.
4729 2003-04-09 Werner LEMBERG <wl@gnu.org>
4731 Add register \n[.height] which returns the value of \H.
4732 Add register \n[.slant] which returns the value of \S.
4734 * src/roff/troff/env.cc (init_env_requests): Implement.
4735 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
4738 2003-04-08 Werner LEMBERG <wl@gnu.org>
4740 * tmac/html.tmac: Move some of the data into html-end.tmac.
4741 Remove most of the character translations for eqn since html fonts
4742 now cover those characters.
4744 * tmac/html-end.tmac: New file.
4745 * tmac/troffrc: Load html.tmac not www.tmac for -Thtml.
4746 * tmac/troffrc-end: Load html-end.tmac not html.tmac for -Thtml.
4747 * tmac/Makefile.sub (NORMALFILES): Add html-end.tmac.
4749 2003-04-07 Werner LEMBERG <wl@gnu.org>
4751 * man/groff_out.man: Document negative values of `N' if -Thtml is
4754 2003-04-06 Werner LEMBERG <wl@gnu.org>
4756 * Makefile.comm (depend.temp): Check location of YTABC.
4758 2003-04-05 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
4760 * contrib/mom/Makefile.sub (GROFFBIN): New variable for groff
4762 (groff_bin_path): Rename to GROFF_BIN_PATH.
4763 (GROFF): Use GROFFBIN and GROFF_BIN_PATH.
4764 * doc/Makefile.in (TROFFBIN): New variable for troff
4766 (GROFFBIN): New variable for groff binary path.
4767 (groff_bin_path): Rename to GROFF_BIN_PATH.
4768 (TROFF): Use TROFFBIN.
4769 (GROFF): Use GROFFBIN and GROFF_BIN_PATH.
4770 * doc/Makefile.sub (GROFFBIN): New variable for groff
4772 (groff_bin_path): Rename to GROFF_BIN_PATH.
4773 (GROFF): Use GROFFBIN and GROFF_BIN_PATH.
4775 * Makefile.comm (install_dev): Install scripts from DEVSCRIPTS
4776 with INSTALL_SCRIPT.
4777 (uninstall_dev): Uninstall scripts from DEVSCRIPTS.
4778 * Makefile.dev (all): Depend on DEVSCRIPTS.
4779 (install_dev): Likewise.
4780 * font/devdvi/Makefile.sub (DEVSCRIPTS): New variable to hold
4782 * font/devps/Makefile.sub (DEVSCRIPTS): Likewise.
4783 (DEVGENSCRIPTS): New variable to hold generated scripts.
4785 2003-04-05 Werner LEMBERG <wl@gnu.org>
4787 * src/libs/libdriver/input.cc (IntArray::operator[],
4788 IntArray::get_data): Remove meaningless `const' in return value.
4790 * README.CVS: New file.
4792 2003-04-04 Werner LEMBERG <wl@gnu.org>
4794 Check for stdint.h in C++, not in C.
4796 * aclocal.m4 (GROFF_STDINT_H): New function,
4797 * configure.ac: Check for stdint.h with GROFF_STDINT_H instead of
4799 * configure, src/include/config.hin: Regenerated.
4800 * src/libs/libgroff/tmpname.cc: Use HAVE_CC_STDINT_H.
4803 Fix handling of in grohtml. To do this, troff emits `N'
4804 with a negative value, representing the width of the unbreakable
4805 space (only for -Thtml). grohtml then converts this back to
4806 and uses the value of N as its width.
4808 * src/roff/troff/node.cc (space_char_hmotion_node::tprint,
4809 unbreakable_space_node::tprint): Emit `N-<width>'.
4810 * src/include/printer.h (printer::set_numbered_char): Make it
4812 Make members `font_table' and `nfonts' protected instead of private.
4813 * src/devices/grohtml/post-html.cc
4814 (html_printer::set_numbered_char): New member function.
4817 * src/libs/libgroff/maxfilename.cc:
4818 s/HAVE_LIMITS_H/HAVE_CC_LIMITS_H/.
4820 * src/roff/troff/node.cc (unbreakable_space_node::tprint): Don't
4823 2003-04-03 Sergey A. Osokin <osa@freebsd.org.ru>
4825 * man/roff.man: Small fixes.
4827 2003-04-03 Werner LEMBERG <wl@gnu.org>
4829 Make groff independent from locale's numeric settings.
4831 * configure.ac: Check for `setlocale'.
4832 * configure, src/include/config.hin: Regenerated.
4834 * src/include/lib.h: Handle HAVE_SETLOCALE.
4836 * src/devices/grodvi/dvi.cc (main), src/devices/grolj4/lj4.cc
4837 (main), src/devices/grops/ps.cc (main), src/preproc/grn/main.cc
4838 (main), src/preproc/pic/main.cc (main): Call `setlocale'.
4841 * doc/groff.texinfo: Change dir category to `Typesetting'.
4842 (Man font macros): Mention that there is no space between arguments
4845 * src/libs/libdriver/printer.cc, src/devices/grotty/tty.cc
4846 (*printer::change_color, *printer::change_fill_color): Add missing
4849 2003-04-02 Werner LEMBERG <wl@gnu.org>
4851 * src/devices/grohtml/html-table.cc (html_table::emit_col,
4852 html_table::is_gap): Compute table widths after converting border
4853 positions to avoid rounding errors.
4855 2003-04-01 Werner LEMBERG <wl@gnu.org>
4857 * src/devices/grohtml/html-text.cc (html_text::do_space): Handle
4858 `space_emitted' properly.
4860 2003-03-31 Werner LEMBERG <wl@gnu.org>
4862 * src/devices/grohtml/html-table.cc: Fix column width calculation.
4863 (html_table::set_linelength): Don't add 1.
4864 (html_table::add_indent): Don't subtract 1.
4866 * tmac/html.tmac: Set default page offset to zero.
4868 2003-03-30 Werner LEMBERG <wl@gnu.org>
4870 Make groff emit ` ' for `\ ' and `\~' if `-Thtml' is used.
4872 * src/roff/troff/node.cc (space_char_hmotion_node::tprint,
4873 unbreakable_space_node::tprint): New functions.
4874 (troff_output_file): Make space_char_hmotion_mode::tprint and
4875 unbreakable_space_node::tprint to friends.
4876 * src/roff/troff/node.h: Updated.
4878 * font/devhtml/R.proto: Add ` ' at position 0xA0 (as defined
4879 in the HTML standard).
4881 2003-03-29 Werner LEMBERG <wl@gnu.org>
4883 * src/roff/troff/env.cc (point_size): Fix emission of html tag.
4884 Otherwise, the following code
4893 produces `x a' instead of `xa'. This is a temporary fix, disabling
4894 font changes in diversions for -Thtml.
4896 * tmac/an-old.tmac (TH, SH): Use `HTML-TAG-NS' instead of
4898 (an-do-tag-html): Merge with ...
4899 (an-do-tag): This macro.
4900 Change code slightly to circumvent grohtml bug.
4901 * tmac/troffrc-end: Define dummy for HTML-TAG-NS.
4903 * src/devices/grohtml/html-table.cc (html_table::emit_col,
4904 html_table::is_gap): Round `width' properly.
4906 * tmac/html.tmac: Provide some default layout parameters for
4909 * font/devhtml/DESC.proto: Don't use discrete values for `sizes'
4912 2003-03-28 Werner LEMBERG <wl@gnu.org>
4914 src/devices/grops/ps.cc (ps_printer::do_import): Fix error message.
4916 2003-03-27 Werner LEMBERG <wl@gnu.org>
4918 * tmac/an-old.tmac (BT): Don't call .tl if register `ps4html' is
4921 2003-03-20 Werner LEMBERG <wl@gnu.org>
4923 * src/roff/troff/env.cc (vertical_spacing): Allow zero value for
4925 * doc/groff.texinfo: Updated.
4927 2003-03-19 Werner LEMBERG <wl@gnu.org>
4929 * src/roff/troff/input.cc (process_input_stack) <TOKEN_BEGIN_TRAP,
4930 TOKEN_END_TRAP>: Reset `have_input'.
4932 2003-03-18 Werner LEMBERG <wl@gnu.org>
4934 * src/roff/groff/groff.man: Mention groff_trace man page.
4936 2003-03-16 Werner LEMBERG <wl@gnu.org>
4938 * Makefile.in (LIBEXT): New variable to indicate the file extension
4939 of library files. Computed heuristically from $(OBJEXT).
4940 (MDEFINES): Add $(LIBEXT).
4941 * Makefile.lib, Makefile.comm: Use it.
4943 * src/utils/pfbtops/pfbtops.c (get_text): New function. Split
4944 overlong lines into smaller chunks.
4945 (get_binary): New function.
4947 * src/utils/pfbtops/pfbtops.man: Updated.
4949 2003-03-15 Colin Watson <cjwatson@debian.org>
4951 * src/roff/groff/groff.man: Minor syntax fix.
4953 2003-03-14 Egil Kvaleberg <egil@kvaleberg.no>
4955 * src/devices/grops/ps.cc (ps_printer::media_set,
4956 ps_printer::~ps_printer): Handle zero paper width and length.
4958 2003-03-13 Werner LEMBERG <wl@gnu.org>
4960 Add options -p and -l to grodvi.
4962 * src/devices/grodvi/dvi.cc: Include paper.h.
4963 (landscape_flag, user_paper_length, user_paper_width): New global
4965 (dvi_printer::begin_page): Emit `papersize' special.
4966 Set color after initialization of `cur_h' and `cur_v'.
4967 (main): Add options `-l' and `-p'.
4968 * font/devdvi/Makefile.sub (DESC): Set `papersize'.
4969 * src/devices/grodvi/grodvi.man, NEWS: Updated.
4971 * src/devices/grops/psrm.cc (valid_input_table): Fixed.
4973 2003-03-12 Werner LEMBERG <wl@gnu.org>
4975 * src/devices/grops/grops.man: Move documentation of .PSPIC to...
4976 * man/groff_tmac.man: This man page.
4977 * man/groff_font.man: Declare `paperwidth' and `paperlength' as
4980 * tmac/X.tmac: Don't load pspic.tmac.
4982 2003-03-11 Werner LEMBERG <wl@gnu.org>
4984 Make variable `pr' local to libdriver/input.cc. Based on a patch
4985 by Bernd Warken <bwarken@mayn.de>.
4987 * src/include/driver.h (pr): Removed.
4989 * src/libs/libdriver/input.cc (pr): New global variable.
4990 (do_file): Deallocate `pr'.
4991 * src/libs/libdriver/printer.cc (pr): Removed.
4993 * src/devices/grodvi/dvi.cc (main), src/devices/grohtml/post-html.cc
4994 (main), src/devices/grolbp/lbp.cc (main), src/devices/grolj4/lj4.cc
4995 (main), src/devices/grops/ps.cc (main), src/devices/grotty/tty.cc
4996 (main): Don't delete `pr'.
4998 2003-03-10 Werner LEMBERG <wl@gnu.org>
5000 * tmac/a4.tmac, tmac/composite.tmac: Use `.do'.
5001 * tmac/papersize.tmac: New file.
5002 * tmac/troffrc: Include `papersize.tmac'.
5003 * tmac/Makefile.sub (NORMALFILES): Add `papersize.tmac'.
5004 * tmac/an-old.tmac: Set LT to LL by default.
5006 * NEWS, MANIFEST, tmac/groff_man.man, man/groff_tmac.man,
5007 doc/groff.texinfo: Updated.
5009 * src/libs/libgroff/paper.cc (add_iso_paper): Fix very embarassing
5010 bug which caused all odd iso papers to have wrong dimensions.
5012 * src/devices/grops/ps.cc (user_paper_width): New global variable.
5013 (main) <'p'>: Set `user_paper_width' also.
5014 (ps_printer::media_width, ps_printer::media_height): Use values
5015 given with option `-p'.
5017 2003-03-09 Werner LEMBERG <wl@gnu.org>
5019 * src/include/nonposix.h: Provide default for SET_BINARY.
5021 * src/devices/grodvi/dvi.cc, src/devices/grolbp/lbp.cc,
5022 src/devices/grolj4/lj4.cc, src/devices/grops/ps.cc: Call SET_BINARY
5025 * src/utils/pfbtops/pfbtops.c: Call SET_BINARY unconditionally.
5026 (main): Treat \r\n as \n.
5028 2003-03-08 Werner LEMBERG <wl@gnu.org>
5030 * tmac/an-old.tmac: Use register `HY' to control hyphenation.
5031 * NEWS, tmac/groff_man.man, doc/groff.texinfo: Document it.
5033 2003-03-07 Werner LEMBERG <wl@gnu.org>
5035 Added support to access more than 256 glyphs in Type 1 fonts.
5037 * src/devices/grops/ps.cc (subencoding): New structure.
5038 (style): Add `sub' field.
5040 (ps_printer): Add `subencodings' and `next_subencoding_index' fields.
5041 Add `set_subencoding', `get_subfont' and `encode_subfont' member
5044 (ps_printer::set_char): Use `set_subencoding'.
5045 (make_subencoding_name): New function.
5046 (ps_printer::set_style): Handle case where `sty.sub' is not zero.
5047 (ps_printer::~ps_printer): Emit subencoding definitions.
5049 * src/devices/grops/psrm.cc (valid_input_table): New array to
5050 properly support EBCDIC.
5051 (white_space): Add `\f'.
5052 (ps_get_line): Change first argument to be of type `string &'.
5053 Updated all callers.
5054 This allows to get lines of arbitrary length.
5055 Use `valid_input_table'.
5056 Remove warning about non-conforming PS line length. This seems
5057 not to be of great importance -- for example, dvips don't emit
5059 (PS_LINE_MAX): Removed.
5060 (matches_comment): Change first argument to be of type `string &'.
5062 * src/devices/grops/grops.man, src/devices/grops/TODO: Updated.
5064 * src/utils/afmtodit/afmtodit.pl (%unicode_decomposed,
5065 %AGL_to_unicode, %default_ligatures): New hash tables.
5066 Read all map entries.
5067 Add unencoded characters.
5068 Check for default ligatures if there are no `L' entries.
5069 Print all kern entries.
5070 Print all characters in charset.
5071 * src/utils/afmtodit/afmtodit.man: Updated.
5073 * font/devps/*: Regerated all fonts.
5075 * tmac/latin[129].tmac, tmac/cp1047.tmac: Don't test for existence
5076 of characters, just use `.trin'. Otherwise the mapping depends
5077 on the font encoding.
5078 * tmac/ps.tmac: Add `fi' and `fl'.
5079 Improve `Fi' and `Fl'.
5080 * tmac/X.tmac, tmac/lbp.tmac, tmac/tty.tmac: Improve `Fi' and `Fl'.
5081 * tmac/Xps.tmac: Fix `em'.
5085 2003-03-04 Werner LEMBERG <wl@gnu.org>
5087 * src/roff/troff/input.cc (charinfo_to_node_list): Reset
5090 2003-03-03 Werner LEMBERG <wl@gnu.org>
5092 * Makefile.sub (DISTCLEANFILES): Add gxditview._man.
5094 * font/devps/generate/textmap: Remove entry `similarequal'.
5095 * font/devps/symbolmap: Updated.
5097 2003-03-02 Werner LEMBERG <wl@gnu.org>
5099 * src/libs/libgroff/font.cc (font::load): Fix error message for
5102 * src/devices/grops/grops.man: Improve documentation of the -b
5105 * tmac/tty.tmac: Load latin1.tmac for all TTY devices except
5106 `ascii' and `cp1047'.
5108 2003-03-01 Werner LEMBERG <wl@gnu.org>
5110 Document composite glyphs and the `composite' request.
5112 * man/groff.man, man/groff_diff.man, doc/groff.texinfo: Do it.
5114 2003-02-28 Werner LEMBERG <wl@gnu.org>
5116 * font/devdvi/generate/ec.map: Add some more Unicode entities.
5117 * font/devdvi/*EC: Updated.
5119 * tmac/composite.tmac, tmac/latin2.tmac, tmac/latin9.tmac: New files.
5120 * tmac/latin1 (latin1-tr): Undo any previous mapping.
5121 * tmac/troffrc: Load `composite.tmac'.
5122 * tmac/Makefile.sub (NORMALFILES): Updated.
5124 * doc/groff.texinfo (Input Encodings): New section.
5127 2003-02-27 Werner LEMBERG <wl@gnu.org>
5129 * doc/texinfo.tex: New version 2003-02-11.06.
5131 * tmac/doc-common (Dt): Don't emit warning for unknown section.
5132 * tmac/groff_mdoc.man: Fix description of `Dt'.
5134 2003-02-26 Egil Kvaleberg <egil@kvaleberg.no>
5136 * font/devps/prologue.ps: Fix for included Postscript that does
5137 a setpagedevice -- which is now safely ignored.
5141 * src/devices/grops/ps.cc: Now sets the page size in the generated
5142 document. This is done in two ways: Via a %%-comment for gv and
5143 the like, and via a PageSize and setpagedevice for programs that
5144 understands Postscript proper, like ps2pdf.
5146 * src/devices/grops/ps.h: New broken-flag to avoid page size
5147 definition, if required.
5149 * src/devices/grops/grops.man: New broken-flag 16 mentioned.
5151 * doc/Makefile.in: Added -nosetpage flag (via @pnmtops_nosetpage@).
5152 Not really necessary due to the fix in prologue.ps, but cleaner:
5153 Such information does not belong in an .eps file.
5155 * doc/Makefile.sub: See doc/Makefile.in.
5157 2003-02-26 Ralph Corderoy <ralph@inputplus.co.uk>
5159 * aclocal.m4 (GROFF_PNMTOPS_NOSETPAGE): Use P2 format for testing
5160 instead of P1 since the latter is broken in some versions of netpbm.
5161 * configure: Updated.
5163 2003-02-26 Larry Kollar <kollar@alltel.net>
5165 Make man pages more customizable.
5167 * tmac/an-old.tmac (FT): New register holding footer distance from
5169 (HF): New string holding the default heading font.
5170 (TH): Handle registers `IN' and `SN' set on the command line.
5172 (PT, BT): New strings to customize header and footer lines.
5173 (an-header, an-footer): Use them.
5175 * tmac/groff_man.man: Document changes.
5177 * doc/groff.texinfo: Document man changes.
5178 Document Ultrix extensions of man.
5180 2003-02-26 Werner LEMBERG <wl@gnu.org>
5182 * src/roff/troff/input.cc (do_width, do_if_request): Reset
5183 `have_input' after changing back to old environment.
5185 * src/devices/grolbp/lbp.cc (lbp_printer::set_line_thickness): Move
5186 function up to be defined before first call. This is necessary to
5187 avoid a compilation problem with Sun's WorkShop 6 C++ compiler.
5189 * src/utils/afmtodit/afmtodit.pl: Make script search for files in
5190 the default font directory also. Based on a patch from James
5191 J. Ramsey <jjramsey_6x9eq42@yahoo.com>.
5192 * src/utils/afmtodit/Makefile.sub (afmtodit): Handle @FONTDIR@.
5193 * src/utils/afmtodit/afmtodit.man: Document it.
5197 * tmac/groff_man.man, doc/groff.texinfo: Many minor fixes.
5199 2003-02-25 Gaius Mulley <gaius@glam.ac.uk>
5201 * aclocal.m4 (GROFF_HTML_PROGRAMS): Add test for pnmtops.
5202 (GROFF_PNMTOPS_NOSETPAGE): New macro.
5203 * configure.ac: Use it.
5204 * configure: Regenerated.
5205 * Makefile.in: Updated.
5207 * tmac/Makefile.sub (NORMALFILES): Remove www.tmac.
5208 (CLEANADD): Add www.tmac-sed.
5209 (pnmtops_nosetpage): Define default.
5210 (install_data): Handle www.tmac-sed and substitute
5211 @PNMTOPS_NOSETPAGE@.
5212 (stamp-sed): Add www.tmac.
5213 * tmac/www.tmac: Rewritten, based on a patch by Bernd Warken.
5214 It now breaks URLs at suitable places.
5215 (www:substring_ok): New register set by...
5216 (www:@test_substring): New macro.
5217 (www:error): New alias to www-error.
5218 (www:lenstr, www:splitstr, www:url_breaks, www:url_breaks_splitted):
5220 (URL): Use www:url_breaks.
5221 (PIMG, MPIMG): Use @PNMTOPS_NOSETPAGE@.
5222 (CDS, CDE): New macros.
5224 2003-02-25 Werner LEMBERG <wl@gnu.org>
5226 * src/devices/grops/ps.cc (ps_printer::define_encoding): Avoid
5229 2003-02-24 Werner LEMBERG <wl@gnu.org>
5231 Contrary to the PCL5 Developer's Guide, the ascenders in TFM files
5232 can be negative also.
5234 * src/utils/hpftodit/hpftodit.cc (char_info): `ascent' must be
5236 (read_char_table): Avoid negative ascenders.
5237 (output_charset): Add cast.
5238 * font/devlj4/*: Regenerated.
5240 Replace unnamed glyphs for DVI fonts with `uXXXX' glyph names where
5243 * font/devdvi/generate/{tc,texttt,ec,texmi,texsy,textex}.map: Do it.
5244 * font/devdvi/generate/textex.map: Map glyph 23 to `u21C6' instead
5246 * font/devdvi/*: Regenerated.
5248 Map `la' and `ra' to U+27E8 and U+27E9. These two characters have
5249 normal width, while the previously used characters (U+2329 and
5250 U+232A) are classified as wide due to canonical equivalence with the
5251 CJK punctuation characters U+3008 and U+3009.
5253 * font/devutf8/R.proto: Updated.
5254 * src/roff/troff/uniglyph.cc, src/roff/troff/glyphuni.cc: Ditto.
5256 * man/groff_char.man: Simplify handling of table traps by
5257 introducing `start block' and `end block' macros.
5258 (Ns, Ne, 2s, 2e, Ds, De): New macros.
5259 (DL): Make it work with Unix troff also.
5260 Fix code values of `la' and `ra'.
5262 * tmac/dvi.tmac: Define `<>' for CW and CWI.
5264 2003-02-23 Gaius Mulley <gaius@glam.ac.uk>
5266 * src/devices/grohtml/post-html.cc (element_list::~element_list):
5267 New destructor, fixing a major memory leak.
5269 2003-02-22 Werner LEMBERG <wl@gnu.org>
5271 * font/devhtml/R.proto, font/devutf8/R.proto: Flip `*f' and `+f'
5272 to be in conformance with Unicode 3.0 and newer.
5274 * font/devlj4/generate/text.map: Add `Eu'.
5275 * font/devlj4/generate/special.map: Flip `*e' and `+e'.
5276 * font/devlj4/S: Regenerated.
5278 * man/groff_char.man: Completely rewritten.
5280 * doc/groff.texinfo: Fix description of request and macro arguments.
5282 2003-02-20 Gaius Mulley <gaius@glam.ac.uk>
5286 * src/devices/grohtml/html-table.cc (html_table::~html_table):
5287 Deallocate `columns' list.
5288 * src/devices/grohtml/post-html.cc (char_block::~char_block):
5290 (text_glob::text_glob_html, text_glob::text_glob_special,
5291 text_glob::text_glob_line, text_glob::text_glob_auto_image,
5292 text_glob::text_glob_tag): Avoid memory leaks.
5293 (text_glob::remember_table): Free memory before reassigning.
5295 2003-02-19 Werner LEMBERG <wl@gnu.org>
5297 Add glyph `+e', greek lunate epsilon symbol, and `-h' (with the
5298 alias `hbar'), the Planck constant over two pi.
5300 * font/devdvi/generate/texmi.map: Use `*e' for position 15 and
5301 `+e' for position 34.
5302 * font/devdvi/generate/texsy.map: Replace `DI' and `HE' with
5303 `u2662' and `u2661'.
5304 * font/devdvi/{MI,S}: Regenerated.
5305 * font/devhtml/R.proto, font/devutf8/R.proto: Add `+e', `-h', `hbar'.
5306 * font/devlbp/*: Add `hbar' alias.
5307 * font/devlj4/generate/special.map: Ditto.
5308 * font/devlj4/S: Regenerated.
5309 * font/devps/generate/symbolchars: Add `+e'.
5310 * font/devps/generate/textmap: Fix PS name for `-h'.
5312 * font/devps/symbolmap: Regenerated.
5314 * src/devices/grops/ps.cc (transform_fill): Removed since unused.
5316 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `+e',
5318 * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `+e',
5321 * tmac/X.tmac, tmac/ps.tmac: Provide definitions for `-h' and
5323 * tmac/tty-char.tmac: Add `+e'.
5325 2003-02-17 Werner LEMBERG <wl@gnu.org>
5327 Another round trying to really fix problems with `have_input'.
5329 * src/roff/troff/input.cc (input_stack::get): Handle `have_input'.
5330 (token::next) <'\n'>, <\'\n'>: Don't handle `have_input'.
5332 * src/devices/grotty/tty.cc (tty_printer::put_color): Fix color
5333 handling if both foreground and background colors are default.
5335 * doc/groff.texinfo (Debugging): Document .lf differences to
5338 2003-02-16 Werner LEMBERG <wl@gnu.org>
5340 * src/devices/grotty/tty.cc (tty_printer::make_rgb_string): Avoid
5341 null-bytes in created string.
5343 * src/roff/troff/input.cc (lookup_color, interpolate_macro,
5344 alias_macro, lookup_request): Improve warning messages.
5346 * src/roff/troff/node.cc (suppress_node::tprint): Use `strsave',
5348 Free `last_image_filename'.
5350 * src/preproc/html/pre-html.cc (char_block::char_block): Initialize
5352 (imageList::createPage, imageList::createImage): Use `free', not
5354 (imageItem::~imageItem): Free `imageName'.
5355 (addRegDef): Use `strsave', not `strdup'.
5356 (get_resolution): Free `pathp'.
5358 2003-02-15 Werner LEMBERG <wl@gnu.org>
5360 * src/devices/grotty/tty.cc (tty_printer::tty_printer): Fix pointer
5363 2003-02-14 Werner LEMBERG <wl@gnu.org>
5365 Add memory management for colors to deallocate unnamed colors
5368 * src/include/color.h (color): New members `free_list' and `next'.
5369 New member functions `new' and `delete'.
5371 * src/libs/libgroff/color.cc: Implement it.
5373 * src/libs/libgroff/font.cc (font::add_kern): Use integer cast
5374 for array size of new operator.
5376 * src/libs/libdriver/input.cc (IntArray::operator[]): Remove
5377 redundant comparison.
5379 * src/roff/troff/input.cc (word_space_node::reread,
5380 hmotion_node::reread): Avoid warning about unused parameter.
5381 (reset_output_registers): Remove redundant parameter.
5382 (define_color): Undo change 2003-02-12.
5384 * src/roff/troff/reg.h: Updated.
5386 * src/roff/troff/node.cc (troff_output_file::really_print_line,
5387 output_file::put_filename, real_output_file::really_put_filename,
5388 ascii_output_file::really_print_line,
5389 break_char_node::get_hyphen_list): Avoid warning about unused
5391 (suppress_node::tprint): Updated.
5393 * configure.ac: Check declaration for rand() and srand().
5394 * configure: Regenerated.
5396 * src/preproc/pic/pic.h: Declare fmod(), rand(), and srand()
5398 * src/preproc/pic/pic.y: Remove declaration of fmod(), rand(),
5401 * src/preproc/eqn/delim.cc (delim_table): Add missing initializers
5402 to avoid compiler warnings.
5404 * src/preproc/grn/hgraph.cc (HGPrintElt): Second parameter is
5407 * src/devices/grops/ps.cc (ps_printer::set_char): Last parameter
5409 * src/devices/grops/psrm.cc (skip_possible_newline): Remove first
5411 Updated all callers.
5413 * src/devices/grotty/tty.cc (tty_printer::set_char): Last parameter
5415 * src/devices/grodvi/dvi.cc (dvi_printer::set_char): Ditto.
5416 * src/devices/grolj4/lj4.cc (lj4_printer::set_char): Ditto.
5418 * src/devices/grohtml/post-html.cc (html_printer::emit_line):
5419 Parameter is unused.
5420 (html_printer::add_table_end): Define parameter conditionally.
5421 * src/devices/grohtml/output.cc (simple_output::special): Parameter
5424 * src/devices/grolbp/lbp.cc: Define _GNU_SOURCE conditionally.
5425 (lbp_printer::set_char): Last parameter is unused.
5427 * src/utils/indxbib/indxbib.cc (main): Remove redundant comparison.
5429 2003-02-13 Werner LEMBERG <wl@gnu.org>
5431 New commands \D'Fr ...', \D'Fc ...', etc. for orthogonality.
5432 Make \D'f ...' move horizontally again for backwards compatibility.
5433 Replace it with \D'Fg ...' where appropriate to avoid dependency
5434 on horizontal resolution.
5436 * src/roff/troff/input.cc (do_get_long_name): New function.
5437 (get_long_name): Call it.
5439 (read_draw_node): Handle `\D'Fx ...' by calling ...
5440 (read_color_draw_node): New function.
5442 (read_rgb, read_cmy, read_cmyk, read_gray): New optional argument
5444 Pass it to `do_get_long_name' which is used instead of
5447 * src/libs/libdriver/input.cc (color_from_Df_command): Remove
5448 unnecessary value guard.
5449 (parse_D_command) <'f'>: Add horizontal shift.
5451 * src/preproc/grn/hgraph.cc (HGPrintElt) <POLYGON>: Use \D'Fg ...'.
5452 * src/preproc/pic/troff.cc (troff_output::set_fill): Ditto.
5453 (FILL_MAX): Removed.
5455 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
5458 2003-02-12 Werner LEMBERG <wl@gnu.org>
5460 * src/roff/troff/input.cc (do_name_test, do_expr_test,
5461 do_zero_width): Push `\n' if closing delimiter is missing.
5463 (token::next) <ESCAPE_NEWLINE>, <'\n'>, <\'\n'>: Reset `have_input'.
5464 <'F'>: Make \F non-transparent at the beginning of line.
5465 (process_input_stack) <token::TOKEN_CHAR, token::TOKEN_NEWLINE,
5466 token::TOKEN_REQUEST, token::TOKEN_BEGIN_TRAP>: Don't handle
5469 (define_color): Free color in case of reassignment.
5471 * doc/groff.texinfo (@Defesc, @DefescList, @DefescItem,
5472 @DefescListEnd): Use @Var, not @var.
5475 * src/preproc/grn/hgraph.cc (HGPrintElt): Fix typo.
5477 * src/preproc/pic/object.cc (object_spec::~object_spec): Free
5478 `shaded' and `outlined' arrays.
5479 (object_spec::object_spec): Initialize `shaded' and `outlined'.
5480 (graphic_object::set_fill_color, graphic_object::set_outline_color):
5482 (closed_object::set_fill_color): Ditto.
5483 * src/preproc/pic/troff.cc (troff_output::set_color): Use strsave
5485 (troff_output::reset_color): Use a_delete instead of free.
5486 * src/preproc/pic/main.cc (do_file): Free `out' in case of error.
5488 2003-02-11 Werner LEMBERG <wl@gnu.org>
5490 * doc/groff.texinfo: Improve documentation of `ad'.
5491 Document that \D'f...' is dependent on the horizontal resolution.
5492 * man/groff_diff.man: Improve documentation of \D'f...'.
5494 * src/preproc/grn/hgraph.cc (HGPrintElt) <POLYGON>: Don't emit
5495 compensating \h'...' for \D'f ...' since the latter no longer moves
5497 * src/preproc/pic/troff.cc (troff_output::set_fill): Ditto.
5499 2003-02-10 Werner LEMBERG <wl@gnu.org>
5501 Improve error messages for `x F' (and `F') commands.
5503 * src/include/error.h: Add declaration for
5504 `current_source_filename'.
5505 * src/libs/libgroff/filename.cc: Add `current_source_filename'.
5506 * src/libs/libgroff/error.cc (do_error_with_file_and_line): Add
5507 parameter for source file string.
5508 Updated all callers.
5510 * src/libs/libdriver/input.cc: Add `current_source_filename'.
5511 (remember_source_filename): New function.
5512 (parse_x_command <'F'>, do_file <'F'>): Use it.
5514 2003-02-09 Werner LEMBERG <wl@gnu.org>
5516 Make grotty not emit warnings about unknown colors more than
5519 * src/devices/grotty/tty.cc: Include `ptable.h'.
5520 (TTY_MAX_COLORS): Removed.
5521 (DEFAULT_COLOR_IDX): Defined to -1.
5522 (glyph): Change `back_color_idx' and `fore_color_idx' to `char'.
5523 (tty_printer): Change `curr_back_idx' and `curr_fore_idx' to `char'.
5524 Change `tty_colors' to be a ptable.
5525 First arg of `put_color' is now `char'.
5526 New functions `make_rgb_string' and `tty_color'.
5527 (tty_printer::tty_printer): Use `tty_color'.
5528 (tty_printer::color_to_idx): Return value is now `char'.
5531 * src/include/color.h (color): Add `print_color' member function.
5532 * src/libs/libgroff/color.cc (color::print_color): Implement it.
5534 2003-02-08 Werner LEMBERG <wl@gnu.org>
5538 * src/devices/grops/ps.cc (ps_printer::define_encoding): Close
5541 * src/include/ptable.h (PTABLE::~PTABLE, PTABLE::define): Always
5542 assume that value has been allocated with `new[]', thus use
5543 `a_delete' for deallocation.
5545 * src/libs/libdriver/input.cc (get_integer_arg,
5546 get_possibly_int_args, parse_x_command, do_file): Use `a_delete'
5549 * src/libs/libgroff/new.cc (delete) [!COOKIE_BUG]: Define.
5550 * src/libs/libgroff/nametoindex.cc
5551 (character_indexer::named_char_index): Use `new <type>[1]'.
5553 * src/preproc/eqn/lex.cc (init_table, do_definition): Use `new
5555 * src/preproc/eqn/text.cc (set_special_char_type): Ditto.
5556 (split_text): Use `a_delete'.
5558 * src/preproc/pic/pic.y (define_label, define_variable): Use `new
5561 * src/roff/troff/env.cc (environment::choose_breakpoint): Avoid
5562 harmless memory leak.
5563 (hyphen_trie::read_patterns_file): Initialize `buf'.
5564 * src/roff/troff/node.cc (troff_output_file::troff_output_file):
5565 Initialize `current_fill_color'and `current_glyph_color'.
5566 * src/roff/troff/glyphuni.cc
5567 (glyph_to_unicode_init::glyph_to_unicode_init): Use `new <type>[1]'.
5568 * src/roff/troff/uniuni.cc
5569 (unicode_decompose_init::unicode_decompose_init): Ditto.
5570 * src/roff/troff/uniglyph.cc
5571 (unicode_to_glyph_init::unicode_to_glyph_init): Ditto.
5573 2003-01-26 Werner LEMBERG <wl@gnu.org>
5575 * src/utils/indxbib/indxbib.cc (main) [__EMX__]: Check with
5576 `access' before calling `unlink'.
5577 (do_file): Handle __EMX__.
5579 * src/include/nonposix.h: Handle __EMX__.
5581 * Makefile.in (SEP): New variable; set to @PATH_SEPARATOR@.
5582 (fontpath,tmacpath): Use it.
5584 Sorted alphabetically.
5586 * src/preproc/eqn/neqn.sh, src/roff/nroff/nroff.sh: Use
5588 * src/preproc/eqn/Makefile.sub, src/roff/nroff/Makefile.sub: Handle
5591 2003-01-27 Werner LEMBERG <wl@gnu.org>
5593 * src/libs/libgroff/strcasecmp.c, src/libs/libgroff/strncasecmp.c:
5594 New files, copied from gnulib.
5595 * src/libs/libgroff/Makefile.sub (CSRCS): Add them.
5596 * configure.ac: Updated.
5597 * configure: Regenerated.
5599 * src/include/config.hin: Regenerated.
5600 * src/include/lib.h [!HAVE_STRCASECMP]: Declare `strcasecmp'.
5601 Don't define `strcasecmp' as `strcmp'.
5602 [!HAVE_STRNCASECMP]: Declare `strncasecmp'.
5603 Dont define `strncasecmp' as `strncmp'.
5605 * src/roff/groff/pipeline.c [!HAVE_STRCASECMP, !HAVE_STRNCASECMP]:
5608 2003-01-26 Werner LEMBERG <wl@gnu.org>
5610 * src/utils/indxbib/indxbib.cc (main) [__EMX__]: Fix typo:
5613 2003-01-25 Werner LEMBERG <wl@gnu.org>
5615 * doc/groff.texinfo (Ligatures and Kerning): Mention limitations.
5617 2003-01-24 Werner LEMBERG <wl@gnu.org>
5619 Add US-english hyphenation exceptions (converted from Barbara
5620 Beeton's hyphenation exception log reports which appear irregularly
5623 * tmac/hyphen.us: Updated to latest version.
5624 * tmac/README: Updated.
5625 * tmac/hyphenex.us, tmac/hyphenex.sh: New files.
5626 * tmac/troffrc: Load `hyphenex.us'.
5627 * tmac/Makefile.sub (NORMALFILES): Add `hyphenex.us'.
5628 * doc/groff.texinfo: Updated.
5630 2003-01-23 Werner LEMBERG <wl@gnu.org>
5632 Improve hyphenation slightly. This is a first step in redesigning
5633 the hyphenation algorithm to make it more flexible (e.g. allowing
5634 kerns and ligatures between the hyphenation character and the
5635 following character -- while not used normally in English, other
5636 languages like German would benefit).
5638 * src/roff/troff/env.cc (environment::hyphenate_line): Use
5639 assertion instead of if-clause.
5640 Let `get_hyphen_list' return the number of involved characters in
5641 the hyphenation pattern instead of computing it directly (which
5642 often yields too small values).
5643 * src/roff/troff/node.h (*::get_hyphen_list): Add second parameter.
5644 * src/roff/troff/node.cc (*::get_hyphen_list): Handle new second
5647 2003-01-22 Werner LEMBERG <wl@gnu.org>
5649 Fixing a bug which caused groff to hang if the hyphenation exception
5650 dictionary tried to grow.
5652 * src/roff/troff/env.cc (hyphen_trie::insert_hyphenation,
5653 hyphen_trie::read_patterns_file, do_hyphenation_patterns_file): Use
5654 pointer to dictionary.
5656 2003-01-20 Werner LEMBERG <wl@gnu.org>
5658 * src/utils/afmtodit/afmtodit.pl: Add switch `-m' to suppress
5659 negative left italic correction.
5660 * src/utils/afmtodit/afmtodit.man: Document it.
5662 * font/devps/generate/Makefile (RFLAG): Add `-m'.
5663 * font/devps/{AB,AR,BMB,BMR,CB,CR,EURO,HB,HR,HNB,HNR,NB,NR,PB,PR,
5664 S,TB,TR,ZD,ZDR}: Regenerated with afmtodit options `-i 0 -m'.
5668 2003-01-16 Werner LEMBERG <wl@gnu.org>
5672 2003-01-16 Jörgen Grahn <jgrahn@algonet.se>
5674 * src/preproc/refer/refer.man: Mention REFER environment variable.
5676 2003-01-05 Werner LEMBERG <wl@gnu.org>
5678 Similar to \[is], the square root glyph (\[sr]) and the square root
5679 extension glyph (\[radicalex]) are now text symbols. The new
5680 mathematical versions are called \[sqrt] and \[sqrtex],
5683 * font/devX*/S: Regenerated.
5684 * font/devdvi/generate/texex.map: Rename `sr[0123]' to `sqrt[0123]'.
5685 * font/devdvi/generate/texsy.map: Rename `sr' to `sqrt'.
5686 * font/devdvi/EX, font/devdvi/S: Regenerated.
5687 * font/devhtml/R.proto, font/devutf8/R.proto: Add `sqrt'.
5688 * font/devlj4/generate/special.map: Add `sqrt'.
5689 * font/devlj4/S: Regenerated.
5690 * font/devps/generate/textmap: Add `sqrt'.
5691 * font/devps/S, font/devps/symbolmap: Regenerated.
5693 * src/preproc/eqn/sqrt.cc (SQRT_CHAR, RADICAL_EXTENSION_CHAR,
5694 SQRT_CHAIN, BAR_CHAIN): Use `sqrt*' and `sqrtex*'.
5695 * src/roff/troff/input.cc (init_charset_table): Make `sqrtex'
5696 overlap horizontally.
5698 * tmac/X.tmac, tmac/ps.tmac, tmac/lj4.tmac: Add `sqrtex'.
5699 * tmac/dvi.tmac: Add `sr', and `sqrtex'.
5702 * doc/groff.texinfo, man/groff_diff.man: Document that `radicalex'
5703 and `sqrtex' are overlapping glyphs.
5705 2003-01-04 Werner LEMBERG <wl@gnu.org>
5707 * font/devdvi/generate/texsy.map: Add `is'.
5708 * font/devps/symbolmap: Regenerated.
5709 * font/devdvi/*TC, MI, S: Regenerated.
5711 * tmac/dvi.tmac: Remove `is'.
5713 2003-01-03 Werner LEMBERG <wl@gnu.org>
5715 `is' is now a text symbol (only relevant for dvi). The math variant
5716 can be accessed with `integral'.
5718 * font/devX*/S: Regenerated.
5719 * font/devdvi/generate/texex.map: Remove `is'.
5720 * font/devdvi/EX: Updated.
5721 * font/devhtml/R.proto, font/devutf8/R.proto: Add `integral'.
5722 * font/devlj4/generate/special.map: Ditto.
5723 * font/devlj4/S: Regenerated.
5724 * font/devps/generate/textmap: Add `integral'.
5725 * font/devps/S: Regenerated.
5727 * tmac/dvi.tmac: Define `is'.
5729 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `integral'.
5731 * src/preproc/tbl/main.cc (process_format): Fix error message.
5733 2003-01-02 Werner LEMBERG <wl@gnu.org>
5735 * font/devhtml/R.proto, font/devutf8/R.proto: Add `ne' and `nc'.
5736 * font/devps/textmap: Fix entries for `ne' and `nc'.
5737 * font/devps/symbolmap: Regenerated.
5739 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list),
5740 src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `18',
5741 `38', `58', `78', `-+', `|=', `nc', `ne'.
5743 * tmac/dvi.tmac: Add `nm', `ne', `nc'.
5744 Use `schar' for `aq'.
5745 * tmac/ps.tmac, tmac/X.tmac: Add `nc' and `ne'.
5746 * tmac/ec.tmac: Add `SC' to special fonts for `CW' and `CWI'.
5747 * tmac/tty.tmac: Add `ne'.
5749 * src/roff/troff/node.cc (make_glyph_node): Test with `get_macro'
5750 for fallback glyphs.
5752 2002-12-29 Werner LEMBERG <wl@gnu.org>
5756 * font/devX*/*: Regenerated.
5757 * font/devdvi/generate/ec.map: Remove `eq'.
5758 * font/devdvi/generate/texsy.map: Make `~=' the same as `~~'.
5759 Assign `|=' to position 39.
5760 * font/devdvi/*EC, S: Regenerated.
5761 * font/devhtml/R.proto, font/devutf8/R.proto: Add `|='.
5762 * font/devlj4/generate/special.map: Make `~=' the same as `~~'.
5763 Assign `|=' to position 549.
5764 * font/devps/generate/textmap, font/devps/enerate/symbolmap: Remove
5766 Add `uni2243' for `|='.
5768 * tmac/ec.tmac: Add `eq'.
5769 * tmac/dvi.tmac: Add `=~'.
5770 * tmac/tty-char.tmac, tmac/ps.tmac, tmac/X.tmac, tmac/lbp.tmac: Add
5773 2002-12-21 Werner LEMBERG <wl@gnu.org>
5775 * font/devdvi/generate/tc.map: Remove `**'.
5776 * font/devdvi/*TC: Regenerated.
5777 * font/devhtml/R.proto, font/devutf8/R.proto: Add `18', `38', `58',
5779 * font/devutf8/NOTES: Updated.
5781 * src/roff/troff/charinfo.h (charinfo): Add `setx_macro' function.
5782 Don't give default parameter to `set_macro'.
5783 * src/roff/troff/input.cc (do_define_character): Use `setx_macro'
5784 instead of `set_macro'.
5785 (charinfo::setx_macro): Implement it.
5786 (charinfo::set_macro): Don't change `mode'.
5788 * tmac/tty.tmac: Add `18', `38', `58', `78', `<<', `>>'.
5789 * tmac/ps.tmac, tmac/X.tmac: Add `<<', `>>'.
5790 * tmac/dvi.tmac: Define `!=' with `.schar'.
5792 2002-12-20 Werner LEMBERG <wl@gnu.org>
5794 * font/devX*/S: Regenerated.
5795 * font/devdvi/generate/ec.map: Remove `pl'.
5796 * font/devdvi/generate/tc.map: Remove `mi', `14', `12', `34'.
5797 * font/devdvi/*{TC,EC}: Regenerated.
5798 * font/devhtml/R.proto: Add `-+'.
5799 Remove double entries for `rk', `lk', `lt', `rt', `rb', `lb'.
5800 * font/devlbp/*: Remove `or'.
5801 * font/devlj4/generate/special.map: Remove `or'.
5802 * font/devlj4/S: Regenerated.
5803 * font/devps/generate/textmap: Add `fiveeighths', `oneeighth',
5804 `seveneighths', `threeeighths'.
5806 Replace `minusplus' with `uni2213'.
5807 * font/devps/symbolmap: Regenerated.
5808 * font/devutf8/R.proto: Replace `shc' with unnamed glyph.
5811 * src/roff/troff/charinfo.h (charinfo): Add `is_normal' inline
5813 * src/roff/troff/node.cc (troff_output_file::put_char_width):
5814 Call glyph_color and fill_color even if tcommand_flag isn't set.
5815 (make_node, node::add_char): Check not ci->is_fallback but
5818 * tmac/lj4.tmac, tmac/lbp.tmac: Define `or'.
5819 * tmac/ec.tmac: Add .rchar entry for `f/'.
5820 Don't remove `12', `14', `34'.
5821 Define `pl' to be always roman.
5822 * tmac/ps.tmac (ps-frac, ps-frac-mono): New macros.
5823 Define `18', `38', `58', `78'.
5824 * tmac/tty.tmac: Add `-+'.
5825 * tmac/dvi.tmac: Define `f/'.
5826 (dvi-frac): Use `f/'.
5827 * tmac/X.tmac (X-frac, X-frac-mono): New macros.
5828 Define `18', `38', `58', `78'.
5830 2002-12-15 Colin Watson <cjwatson@debian.org>
5832 * contrib/pic2graph/pic2graph.sh: Add missing `;;'.
5834 2002-12-10 Werner LEMBERG <wl@gnu.org>
5836 Add glyph `tno', a textual variant of `no'.
5838 * font/devX*/*: Regenerated.
5839 * font/{devcp1047,devlatin1,devutf8,devhtml}/R.proto: Add `tno'.
5840 * font/devdvi/generate/{tc.map: Replace `no' with `tno'.
5841 * font/devdvi/generated/{texsy,textex}.map: Add `tno'.
5842 * font/devdvi/*: Regenerated.
5843 * font/devlbp/*: Add `tno'.
5844 * font/devlj4/generate/tex.map: Replace `no' with `tno'.
5845 * font/devlj4/*: Regenerated.
5846 * font/devps/generate/textmap: Replace `no' with `tno'.
5847 * font/devps/generate/symbolchars: Add `no'.
5848 * font/devps/*: Regenerated.
5850 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `tno'.
5852 * tmac/cp1047.tmac, tmac/latin1.tmac: Replace `no' with `tno'.
5853 * tmac/tty-char.tmac: Add entry for `tno' and `3d'.
5857 * tmac/dvi.tmac: Replace most `\\' with `\E'.
5858 Add definition for `sd'.
5859 * tmac/X.tmac, tmac/ps.tmac: Replace most `\\' with `\E'.
5861 * tmac/eqnrc <dvi>: Use `integral' instead of `is' glyph.
5863 2002-12-08 Werner LEMBERG <wl@gnu.org>
5865 * tmac/an-old.tmac (TH): Use integer value for `IN' if in nroff
5866 mode to avoid rounding errors.
5867 (an-do-tag, an-do-tag-html, RS, RE): Remove redundant `.br'.
5869 * src/roff/groff/groff.man, src/roff/nroff/nroff.man,
5870 src/roff/troff/troff.man: Improve documentation of -T.
5872 2002-12-07 Jeff Conrad <jeff_conrad@msn.com>
5874 * src/roff/groff/pipeline.c: Don't define `const' for _WIN32.
5875 (run_pipeline) [_WIN32]: Provide working function without `fork'.
5877 2002-12-06 Werner LEMBERG <wl@gnu.org>
5879 * font/devps/generate/freeeuro.sfd: Make dimensions of Euro.symbol
5880 glyphs compatible to Adobe's Euro fonts (scaling them down a bit).
5881 Scaling Euro.sansserif glyphs down to have the same height as
5883 Removed unnecessary points; added some extrema.
5885 * font/devps/EURO, font/devps/freeeuro.afm, font/devps/freeeuro.pfa:
5888 2002-12-04 Werner LEMBERG <wl@gnu.org>
5890 * font/devps/generate/freeeuro.sfd: Add glyphs `Euro.symbol.slanted'
5891 and `Euro.symbol.bold.slanted'.
5892 Improve some glyph offsets and widths.
5893 * font/devps/EURO, font/devps/freeeuro.afm, font/devps/freeeuro.pfa:
5895 * font/devps/generate/Makefile (freeeuro.afm freeeuro.pfa): Fix
5897 * font/devps/generate/sfdtopfa.pe: Generate PFA in current
5900 * tmac/europs.tmac: Updated to new glyph indices.
5901 Use Euro.symbol for font familiy `A'.
5903 * doc/groff.texinfo: Minor improvements.
5905 2002-12-02 Werner LEMBERG <wl@gnu.org>
5907 * font/devdvi/generate.tc.map: s/%O/%0/.
5908 * font/devdvi/*TC: Regenerated.
5910 * src/roff/troff/div.cc (init_div_requests): Sorted.
5912 * tmac/dvi.tmac: Remove `Ye'.
5913 * tmac/ec.tmac: Remove `Ye'.
5914 Add .rchar entry for `de'.
5916 * man/groff.man, man/groff_diff.man: Document register `.pe'.
5917 * doc/groff.texinfo: Document registers `.pe', `.n', and `.w'.
5920 2002-11-30 Werner LEMBERG <wl@gnu.org>
5922 Add PS font for various Euro glyphs.
5924 * font/devps/generate/freeeuro.sfd: New master font file for
5926 * font/devps/generate/sfdtopfa.pe: New conversion script for
5928 * font/devps/generate/Makefile (FONTS): Add `EURO'.
5929 (EURO, freeeuro.afm, freeeuro.pfa): New rules.
5930 * font/devps/freeeuro.pfa, font/devps/freeeuro.afm: Generated from
5932 * font/devps/EURO: Generated from `freeeuro.afm'.
5933 * font/devps/download: Add `freeuro.pfa'.
5934 * font/devps/Makefile.sub (NORMALFILES): Adde `EURO' and
5937 * tmac/europs.tmac: New file.
5938 * tmac/ps.tmac: Include `europs.tmac'.
5939 * tmac/Makefile.sub (DISTFILES): Add `europs.tmac'.
5941 2002-11-29 Werner LEMBERG <wl@gnu.org>
5943 * font/devdvi/generate/texsy.map: Remove `lh' and `rh'.
5944 * font/devdvi/S: Regenerated.
5945 * font/devhtml/R.proto: Fix `CR' and `ci'.
5947 * font/devps/generate/textmap: Fix `lh', `rh', and `sq'.
5949 * font/devps/symbolmap: Regenerated.
5950 * font/devutf8/R.proto: Fix `CR' and `ci'.
5952 * font/devutf8/NOTES: Updated.
5954 * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Fix `CR' and
5957 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Ditto.
5959 * tmac/dvi.tmac: Add `lh' and `rh'.
5960 * tmac/Xps.tmac: Fix `lh' and `rh'.
5961 * tmac/X.tmac: Add `OK'.
5962 * tmac/lj4.tmac: Ditto.
5964 2002-11-24 Werner LEMBERG <wl@gnu.org>
5966 * font/devX*/S: Regenerated.
5967 * font/devascii/R.proto, font/devcp1047/R.proto: Remove glyphs `lb',
5968 `lc', `lf', `lk', `lt', `rb', `rc', `rf', `rk', and `rt'.
5969 * font/devdvi/generate/texsy.map: Remove `or' glyph.
5970 * font/devdvi/S: Regenerated.
5971 * font/devhtml/R.proto, font/devutf8/R.proto: Add/fix glyphs
5972 `parenlefttp', `parenleftex', `parenleftbt', `parenrighttp',
5973 `parenrightex', `parenrightbt', `bracketlefttp', `bracketleftex',
5974 `bracketleftbt', `bracketrighttp', `bracketrightex',
5975 `bracketrightbt', `bracelefttp', `braceleftmid', `braceleftbt',
5976 `braceex', `braceleftex', `bracerightex', `bracerighttp',
5977 `bracerightmid', `bracerightbt', `lt', `lk', `lb', `rt', `rk',
5979 * src/roff/troff/glyphuni.cc, src/roff/troff/uniglyph.cc: Ditto.
5980 * font/devutf8/NOTES: Updated.
5981 * font/devlj4/generate/special.map: Add glyph `braceex'.
5982 * font/devlj4/S: Regenerated.
5984 * tmac/tty-char.tmac: Add glyphs `lf', `rf', `lc', and `rc'.
5986 2002-11-14 Werner LEMBERG <wl@gnu.org>
5988 * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `va'
5991 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Ditto.
5993 * doc/texinfo.tex: New version from texinfo 4.3.
5994 * doc/groff.texinfo: Updated for texinfo 4.3.
5995 Use @tie{} where appropriate.
5996 * font/devdvi/generate/ec.map: Don't include `or' and `bv'.
5997 * font/devdvi/generate/tc.map: Remove `rn'.
5998 * font/devdvi/*TC, font/devdvi/*EC: Regenerated.
5999 * font/devhtml/R.proto, font/devutf8/R.proto: Add `vA'.
6001 * font/devX100/*, font/devX100-12/*, font/devX75/*,
6002 font/devX75-12/*: Regenerated.
6004 * tmac/dvi.tmac: Add special fonts `SA' and `SB'.
6005 Use .char (again) for `br', `ul', `rn', `or', and `ru'.
6006 Improve definition of `an'.
6007 * tmac/ps.tmac: Use .char (again) for `br', `ul', `rn', `or', and
6009 * tmac/lj4.tmac: Use .char (again) for `br', `ul', `rn', and `ru'.
6010 * tmac/X.tmac: Add definition for `or'.
6011 * tmac/Xps.tmac: Undo change 2002-11-05.
6012 * tmac/lbp.tmac: Add definitions for `br', `rn', `ul', and `ru'.
6014 2002-11-11 Werner LEMBERG <wl@gnu.org>
6016 * src/roff/troff/node.cc (troff_output_file::put_char): Always
6019 2002-11-10 Werner LEMBERG <wl@gnu.org>
6021 Added three new requests `schar', `fschar', and `rfschar'. `schar'
6022 defines a glyph which is searched after the check for fonts declared
6023 with `.special' (and before the check for all mounted special
6024 fonts). `fschar' defines a glyph for a particular font which is
6025 searched after the check for fonts declared with `.fspecial' (and
6026 before the check for fonts declared with `.special'). `rfschar'
6027 removes glyphs defined with `fschar'.
6029 * src/roff/troff/token.h (char_mode): New enum.
6030 Declare do_define_character.
6031 * src/roff/troff/charinfo.h (charinfo): Replace `fallback' with
6033 (charinfo::is_fallback): Updated.
6034 (charinfo::is_special): New method.
6035 * src/roff/troff/input.cc (do_define_character): Add and use
6036 optional second parameter used as a prefix for font-specific glyph
6038 (define_character, define_fallback_character): Updated.
6039 (define_special_character): New function.
6040 (init_input_requests): Add `schar'.
6041 (charinfo::charinfo, charinfo::set_macro): Updated.
6042 * src/roff/troff/node.cc: Include `stringclass.h'.
6043 (make_glyph_node): Handle special glyphs defined with `.schar' and
6045 (define_font_special_character, remove_font_special_character): New
6047 (init_node_requests): Sorted.
6048 Add `fschar' and `rfschar'.
6049 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
6050 Document new requests.
6052 * font/devhtml/R.proto, font/devutf8/R.proto: Add `va'.
6053 * tmac/dvi.tmac: Add `va' for CW and CWI (using `.fschar').
6055 2002-11-08 Werner LEMBERG <wl@gnu.org>
6057 Added new font `SC' (cmtex10) to devdvi.
6059 * devdvi/generate/Makefile (FONTS): Add `SC'.
6061 * devdvi/generate/textex.map: New map file for cmtex.
6063 * devdvi/Makefile.sub (DEVFILES): Updated.
6064 * tmac/dvi.tmac: Add fspecial entries for SC.
6065 Add `MI', `S' and `CW' to the `special' call. Otherwise, `SC' is
6066 found before `S' since the font position of `SC' is lower due to the
6067 gaps in DESC's `font' line.
6068 * tmac/ec.tmac: Add a `special' call.
6071 * font/devhtml/R.proto: Remove double entry for `ti'.
6072 * tmac/tty.tmac: Add entries for `IJ', `ij', and `bq'.
6073 * tmac/tty-char.tmac: Remove entry for `bq'.
6074 * tmac/lbp.tmac: Add entries for `lq', `rq', `fo', `fc', and `em'.
6075 * tmac/ec.tmac: Don't remove `aq' glyph.
6076 * tmac/X.tmac: Fix entry for `em'.
6077 Add entries for `fo' and `fc'.
6078 * tmac/dvi.tmac: Add entries for `em', `en', `hy', `fo', and `fc'.
6080 * doc/groff.texinfo, man/groff.man, man/groff_diff.man: Fix
6081 documentation of `special' and `fspecial' requests.
6083 2002-11-05 Werner LEMBERG <wl@gnu.org>
6085 * font/devascii/R.proto, font/devcp1047/R.proto,
6086 font/devlatin1/R.proto: Remove entry for `.i'.
6087 * font/devdvi/generate/textt.map: Add entry for `ad'.
6088 * font/devdvi/generate/texr.map, font/devdvi/generate/texb.map,
6089 font/devdvi/generate/texi.map: Add dummy glyph name `slash@for@l'.
6090 We need this for getting kerning values to compose `/l' and `/L'.
6091 * font/devdvi: Regenerated font definition files for CM fonts.
6092 * font/devhtml/R.proto: Add entries for "'C", "'c", `IJ', and `ij'.
6093 * font/devutf8/R.proto: Ditto.
6094 Remove double entry for `ti'.
6096 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Fix entries
6097 for (groff) ligatures, `la', and `ra'.
6098 Add "'C", "'c", `IJ', and `ij'.
6099 Remove double entry for `ti'.
6100 * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Remove all
6102 Add "'C", "'c", `IJ', and `ij'.
6103 Fix entries for (groff) ligatures, `la', and `ra'.
6105 * tmac/ps.tmac (ps-achar): New macro.
6106 Define "'c" and "'C".
6107 * tmac/tty.tmac: Add entry for `.i'.
6108 * tmac/X.tmac (X-achar): New macro.
6109 Define "'c", "'C", and `:Y'.
6110 Add entries for `IJ' and `ij'.
6111 * tmac/Xps.tmac (Xps-achar): New macro.
6112 Define "'c" and "'C".
6113 Add entries for `IJ' and `ij'.
6114 * tmac/lbp.tmac (lbp-achar): New macro.
6115 Add fallback characters for all groff ligatures and many other
6117 * tmac/dvi.tmac: Fix definitions of `_' and `ul'.
6118 Add entries for `/l' and `/L'.
6119 Define "'c" and "'C".
6120 Add entries for `IJ' and `ij'.
6122 2002-11-02 Larry Kollar <kollar@alltel.net>
6124 * PROBLEMS: Document how to solve Mac OS X compilation problems.
6126 2002-11-02 Werner LEMBERG <wl@gnu.org>
6128 Adding support for composite glyphs: \[xxx yyy ...] and the
6129 `composite' request.
6131 * src/roff/troff/glyphuni.cc: New file for mapping groff glyph names
6132 to Unicode-based glyph names.
6133 * src/roff/troff/uniglyph.cc: New file for mapping Unicode-based
6134 glyph names to groff glyph names.
6135 * src/roff/troff/uniuni.cc: New file for canonically decomposing
6136 Unicode-based glyph names.
6137 * src/roff/troff/unicode.cc, src/roff/troff/unicode.h: New files
6138 for handling Unicode glyph names.
6139 * src/roff/troff/input.cc: Include unicode.h.
6140 (composite_glyph_name): New function.
6141 (token::next) <'['>: Handle Unicode glyph names and composite
6143 (composite_dictionary): New dictionary for the `composite' request.
6144 (composite_request): Implement `composite' request.
6145 (init_input_requests): Add `composite'.
6146 Alphabetically sorted.
6147 * src/roff/troff/env.cc (tabs_save, tabs_restore): Removed (already
6149 (init_env_requests): Alphabetically sorted.
6150 Removed `tas' and `tar' (already commented out).
6151 * src/roff/troff/Makefile.sub: Updated.
6153 2002-10-31 Ruslan Ermilov <ru@FreeBSD.org>
6155 * src/roff/nroff/nroff.man, src/roff/nroff/nroff.sh: Fix description
6158 2002-10-29 Werner LEMBERG <wl@gnu.org>
6160 Fix computation of .trunc register. Additionally, its value (and
6161 the value of the .ne register) is now always set before entering the
6164 * src/roff/troff/div.cc (diversion::need): Set `truncated_space' and
6165 `needed_space' before calling `space'.
6166 (top_level_diversion::space): Remove special code for 'sp before the
6168 Call `begin_page' with the discarded space as a parameter.
6169 (top_level_diversion::begin_page): Add optional parameter to set
6171 * src/roff/troff/div.h: Updated.
6173 * doc/groff.texinfo: Improve documentation of .sp, \n[.trunc], and
6176 * tmac/an-old.tmac (SH, SS, TP, IP, HP, TS): Undo change 2002-10-26.
6177 (LP): Remove superfluous call to `br'.
6178 * tmac/doc-common (doc-paragraph): Undo change 2002-10-26.
6179 * tmac/doc.tmac (Bd, Bl, doc-set-vertical-and-indent): Ditto.
6181 2002-10-26 Werner LEMBERG <wl@gnu.org>
6183 * tmac/doc-ditroff: Remove useless switch/variable -rC.
6184 (doc-setup-header): Don't set page register `%'.
6185 * tmac/doc-nroff: Remove variable `C'.
6186 (doc-setup-page-layout): Set doc-header-space to .5i unconditionally.
6187 (doc-setup-header): Don't set page register `%'.
6189 * tmac/doc-common (doc-header): Call `ns'.
6190 (doc-paragraph): Protect .sp with .br so that it survives traps
6191 possibly set by the user.
6192 * tmac/doc.tmac (Bd, Bl, doc-set-vertical-and-indent): Ditto.
6194 * tmac/doc*: Replace ' with . for consistency if no effect.
6196 2002-10-26 Werner LEMBERG <wl@gnu.org>
6198 * tmac/an-old.tmac (SH, SS, TP, IP, HP, TS): Protect .sp with .br
6199 so that it survives traps possibly set by the user.
6201 * src/roff/troff/node.cc: Fix the changes from 2002-10-23.
6202 (troff_output_file::set_font): Call flush_tbuf if necessary.
6203 (troff_output_file::fill_color, troff_output_file::glyph_color): Call
6204 flush_tbuf and do_motion only if necessary.
6205 (troff_output_file::start_special,
6206 troff_output_file::put_char_width, troff_output_file::put_char,
6207 troff_output_file::draw): Updated.
6208 (word_space_node::tprint, space_node::tprint, hmotion_node::tprint,
6209 vmotion_node::tprint): Undo change 2002-10-23.
6211 2002-10-25 Werner LEMBERG <wl@gnu.org>
6213 * tmac/www.tmac (DC): Fix case of overlapping images.
6215 2002-10-23 Werner LEMBERG <wl@gnu.org>
6217 * src/roff/troff/node.cc (troff_output_file::fill_color,
6218 troff_output_file::glyph_color): Set current color before testing
6220 (troff_output_file::put_char_width, troff_output_file::put_char,
6221 troff_output_file::draw): Don't call flush_tbuf and/or do_motion
6223 (troff_output_file::file_color, troff_output_file::glyph_color):
6225 (word_space_node::tprint, space_node::tprint, hmotion_node::tprint,
6226 vmotion_node::tprint): Move first, then call fill_color.
6228 2002-10-20 Werner LEMBERG <wl@gnu.org>
6230 * doc/groff.texinfo, man/groff_tmac.man: Document that it is not
6231 possible to use multiple main macro packages.
6233 2002-10-19 Werner LEMBERG <wl@gnu.org>
6235 * src/devices/grops/ps.cc (cmyk_flag): New global variable.
6236 (ps_printer::set_color): Set `cmyk_flag' for CMY and CMYK colors.
6237 (ps_printer::~ps_printer): Emit `%%Extensions: CMYK' if `cmyk_flag'
6239 * font/devps/prologue.ps (Fk, Ck): Enclose definitions with a
6240 `where' construction since `cmyksetcolor' is a PS Level 2 operator.
6242 2002-10-16 Werner LEMBERG <wl@gnu.org>
6244 * NEWS, doc/webpage.ms: Updated.
6246 2002-10-14 Werner LEMBERG <wl@gnu.org>
6248 * src/roff/troff/node.cc (troff_output_file::put_char_width,
6249 troff_output_file::put_char, troff_output_file::fill_color,
6250 troff_output_file::glyph_color): Handle case where color pointer
6253 2002-10-13 Ruslan Ermilov <ru@FreeBSD.org>
6255 Add the new -r option to grotty. It is similar to the -i option
6256 except it tells grotty(1) to use the `reverse video' attribute to
6257 render italic fonts.
6259 * src/devices/grotty/tty.cc (reverse_flag): New global variable.
6260 (SGR_REVERSE, SGR_NO_REVERSE): New macros.
6261 (tty_printer::make_underline, tty_printer::put_color,
6262 tty_printer::end_page): Use it.
6263 (main): Add -r switch.
6265 * src/devices/grotty/grotty.man: Document it.
6267 2002-10-11 Ruslan Ermilov <ru@FreeBSD.org>
6269 * src/roff/troff/env.cc (hyphen_trie::read_patterns_file): Add
6270 cast to `unsigned char' to properly read patterns with 8bit
6273 2002-10-08 Werner LEMBERG <wl@gnu.org>
6275 * REVISION: Increased to 2.
6278 version-control: never