1 2006-04-25 Tetsurou Okazaki <okazaki@FreeBSD.org>
3 * src/preproc/preconv/preconv.cpp (do_file): Fix conditional
4 preprocessor expression (I18N -> HAVE_ICONV).
5 (main): Fix handling of option `-h'.
6 Fix conditional preprocessor expression.
8 2006-04-04 Werner LEMBERG <wl@gnu.org>
10 Implement new number register `.br' which is set to 1 if a macro has
11 been called as .foo and to 0 if called as 'bar. This is useful for
12 -mtrace so that requests can be reliably traced too.
14 * src/roff/troff/input.cpp (input_iterator): Add virtual function
16 (macro_iterator): Add `with_break' member and `get_break_flag'
19 (input_stack): Add function `get_break_flag'.
20 (break_flag_reg): New number register class.
21 (input_init_requests): Register `.br'.
23 * src/roff/troff/TODO: Updated.
25 * tmac/trace.tmac: s/!!sp/!!!sp/.
26 Modify definitions of `de', `de1', `am', and `am1' to use \n[.br].
28 * docs/groff.texinfo, man/groff.man, man/groff_diff.man, NEWS:
31 2006-03-29 Werner LEMBERG <wl@gnu.org>
33 * src/devices/grops/ps.cpp: s/must not/should not/ in warning
34 messages where appropriate.
36 2006-03-28 Werner LEMBERG <wl@gnu.org>
38 * configure.ac: Call AC_PROG_EGREP.
39 * configure: Regenerated.
41 * Makefile.in (EGREP): New variable.
42 (MDEFINES): Add $(EGREP).
44 * src/roff/grog/grog.sh: Treat .TH between .TS and .TE properly
45 (bug reported by Robert Goulding <Goulding.2@nd.edu>).
48 * src/roff/grog/Makefile.sub (grog, grog.old): Use $(EGREP).
50 2006-03-27 Werner LEMBERG <wl@gnu.org>
52 Add two request `.device' and `.devicem' which are equivalent to
53 `\X' and `\Y', respectively.
55 * src/roff/troff/input.cpp (device_request, device_macro_request):
57 (init_input_requests): Register them.
59 * doc/groff.texinfo, man/groff_diff.man, man/groff.man, NEWS:
62 2006-03-27 Gaius Mulley <gaius@glam.ac.uk>
64 * src/roff/troff/input.cpp (encode_char): Emit special characters
65 for -Thtml as `\[...]'.
66 * src/devices/grohtml/post-html.cpp (page::add_and_encode): Updated.
68 * doc/groff.texinfo (\X): Updated.
70 2006-03-27 Werner LEMBERG <wl@gnu.org>
72 * tmac/Makefile.sub (NORMALFILES, SPECIALFILES): Add various missing
75 2006-03-26 Werner LEMBERG <wl@gnu.org>
77 * doc/groff.texinfo: More documentation on end-of-macro symbol of
79 Minor addition to `.di' description.
81 * src/devices/grops/grops.man: Some clarifications regarding
82 insertion of PostScript snippets.
84 2006-03-25 Michail Vidiassov <master@iaas.msu.ru>
86 Add rules to generate `symbolsl.afm'.
88 * fonts/devps/generate/zapfdr.sed,
89 fonts/devps/generate/symbolsl.awk: New files.
91 * fonts/devps/generate/Makefile (symbolfont, PRINTAFM): New
94 (freeeuro.afm): Use $(srcdir).
95 (symbolsl.afm): New rule.
96 (zapfdr.afm): Use zapfdr.sed.
98 2006-03-22 Dwight Aplevich <aplevich@uwaterloo.ca>
100 * src/preproc/pic/pic.y (expr <INT>): Fix code.
102 2006-03-22 Jörgen Grahn <jgrahn@algonet.se>
104 * tmac/sv.tmac: Add missing translations and activate support for
105 other macro packages.
107 2006-03-21 Francis GUDIN <fgudin@nerim.net>
109 * tmac/doc-syms (Dx): New macro to identify DragonFly.
110 (doc-str-St--ieee1275-94, doc-str-St--isoC-amd1,
111 doc-str-St--isoC-tcor1, doc-str-St--isoC-tcor2): New standard
113 (doc-operating-system-FreeBSD-5.5, doc-operating-system-FreeBSD-7.0,
114 doc-operating-system-NetBSD-1.6.3, doc-operating-system-NetBSD-4.0
115 doc-operating-system-DragonFly-*): New operating system strings.
117 * tmac/groff_mdoc.man, NEWS: Document `Dx'.
119 2006-03-21 Werner LEMBERG <wl@gnu.org>
121 * src/preproc/pic/pic.y (object_spec THEN): For compatibility with
122 both DWB pic and dpic, make
130 line right then down;
137 * doc/pic.ms: Document this.
139 2006-03-20 Werner LEMBERG <wl@gnu.org>
141 * doc/pic.ms: With permission of Eric Raymond, put it under the
146 2006-03-19 Werner LEMBERG <wl@gnu.org>
148 * src/preproc/pic/pic.y (expr <INT>): Really return integer part.
150 * src/preproc/pic/objects.cpp (object_spec::make_line): Handle `at'
151 attribute in combination with `with'. Bug reported by Jennifer
152 Sayers <jenjen@mail.usyd.edu.au>.
154 2006-03-19 Miklos Somogyi <msom@netspace.net.au>
156 * doc/groff.texinfo: Improve documentation of `.sp'.
158 2006-03-18 Werner LEMBERG <wl@gnu.org>
160 * LICENSE: Renamed to...
161 * LICENSES: This. Collect all licensing information in this file.
162 * tmac/README, src/libs/snprintf/README: Removed.
164 * src/devices/grops/grops.man: Add section how to install fonts.
166 * src/utils/xtotroff/xtotroff.c: Add GPL.
168 2006-03-17 Werner LEMBERG <wl@gnu.org>
170 * Makefile.comm (.y.cpp): Fix #line arguments in output.
172 2006-03-13 Werner LEMBERG <wl@gnu.org>
174 * src/preproc/tbl/tbl.man: Mention default length of text blocks.
176 * tmac/doc-common (Os): Add more Darwin versions.
177 * tmac/groff_mdoc.man: Document them.
179 * doc/groff.texinfo (Operators in Conditionals): Mention that `c'
180 works with \N'...' also.
181 * man/groff_diff.man: Ditto. Remove use of future tense where
184 2006-03-12 Michail Vidiassov <master@iaas.msu.ru>
186 * fonts/devps/generate/make-zapfdr, fonts/devps/symbolsl.ps,
187 fonts/devps/zapfdr.ps: Add `%%EndComments' line.
189 2006-03-10 Larry Kollar <kollar@alltel.net>
191 * doc/groff.texinfo (Headers and footers): Document PT, HD, and BT.
193 2006-03-10 Werner LEMBERG <wl@gnu.org>
195 * src/devices/grops/ps.cpp (ps_printer::do_exec, ps_printer::do_def,
196 ps_printer::do_mdef): Overlong lines now cause a warning message,
199 2006-03-09 Werner LEMBERG <wl@gnu.org>
201 * font/devps/generate/make-zapfdr: New script for generating
204 2006-03-08 Werner LEMBERG <wl@gnu.org>
206 * doc/groff.css (pre): Fix `background-color' value.
208 2006-03-04 Larry Kollar <kollar@alltel.net>
210 * tmac/groff_ms.man: Document PT, HD, and BT.
212 2006-03-04 Werner LEMBERG <wl@gnu.org>
214 * src/roff/troff/node.cpp (make_glyph_node): Improve warning message
215 for single-letter glyph names.
217 2006-03-02 Werner LEMBERG <wl@gnu.org>
219 * tmac/sv.tmac: New file; currently holding only the Swedish strings
221 * tmac/hyphen.sv: New hyphenation pattern file for Swedish, taken
223 * tmac/README: Updated.
225 2006-02-27 Werner LEMBERG <wl@gnu.org>
227 * tmac/trans.tmac (Liec, Letdate, Letns!14): Add it (for -mm).
228 * tmac/fr.tmac: Add French translations.
230 * tmac/composite.tmac: Add entry for `:'.
232 2006-02-26 Werner LEMBERG <wl@gnu.org>
234 * doc/Makefile.sub (HTMLEXAMPLEFILESALL): New variable.
236 (install_html, uninstall_sub): Updated.
238 2006-02-26 Bruno Haible <bruno@clisp.org>
240 Introduce Unicode fonts.
242 * font/devhtml/DESC.proto: Mark as unicode.
243 * font/devhtml/R.proto: Remove all charset entries that are already
245 * font/devutf8/DESC.proto: Mark as unicode.
246 * font/devutf8/R.proto: Remove all charset entries.
247 * src/include/font.h (font): New static field `is_unicode'.
248 Change order of fields.
249 * src/libs/libgroff/font.cpp: Include unicode.h.
250 (font::font): Update for changed order of fields.
251 (font::contains, font::get_width, font::get_height, font::get_depth,
252 font::get_italic_correction, font::get_left_italic_correction,
253 font::get_subscript_correction, font::get_character_type,
254 font::get_code, font::get_special_device_encoding): Handle both the
255 explicitly enumerated glyphs and use general code for Unicode fonts.
256 (font::load): Make the charset section optional when the font is
258 (font::load_desc): Recognize the `unicode' attribute.
259 * src/libs/libgroff/fontfile.cpp (font::is_unicode): New variable.
261 2006-02-26 Claudio Fontana <claudio@gnu.org>
263 * Makefile.in: Add comment about DESTDIR.
265 * Makefile.sub: Add DESTDIR to install and uninstall targets
266 to support staged installations.
267 * Makefile.comm: Likewise.
268 * doc/Makefile.sub: Likewise.
269 * contrib/eqn2graph/Makefile.sub: Likewise.
270 * contrib/gdiffmk/Makefile.sub: Likewise.
271 * contrib/grap2graph/Makefile.sub: Likewise.
272 * contrib/pic2graph/Makefile.sub: Likewise.
273 * src/devices/xditview/Makefile.sub: Likewise.
274 * src/preproc/eqn/Makefile.sub: Likewise.
275 * src/roff/grog/Makefile.sub: Likewise.
276 * src/roff/nroff/Makefile.sub: Likewise.
277 * src/utils/afmtodit/Makefile.sub: Likewise.
278 * src/utils/indxbib/Makefile.sub: Likewise.
279 * tmac/Makefile.sub: Likewise.
281 2006-02-24 Werner LEMBERG <wl@gnu.org>
283 * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list): Use entry
285 Remove commented out entries for \' and \` (there are no such glyph
288 * src/libs/libgroff/uniglyph.cpp (unicode_to_glyph_list): Remove
289 commented out entries for \' and \`.
292 * */*: s/legal/valid/ where appropriate.
294 2006-06-23 Werner LEMBERG <wl@gnu.org>
296 * font/devhtml/R.proto, font/devutf8/R.proto: Remove incorrect \'
299 2006-02-22 Werner LEMBERG <wl@gnu.org>
301 Remove all remaining traces from the `shc' glyph.
303 * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list),
304 src/libs/libgroff/uniglyph.cpp (unicode_to_glyph_list): Remove
307 * font/devlatin1/R.proto, font/devcp1046/R.proto: Replace `shc'
308 entry with unnamed glyph.
310 * tmac/html/tmac: Remove `shc' entry from call to `.cflags'.
312 * src/preproc/preconv/preconv.cpp (unicode_entity): Handle U+00AD
315 2006-02-22 Bruno Haible <bruno@clisp.org>
317 Concretize the `glyph' datatype.
319 * src/include/font.h (glyph): Remove class.
320 (glyph): Renamed from struct `glyphinfo'.
321 (glyph_to_index): New inline function.
322 (glyph_to_name): Make extern, not inline.
323 (glyph_to_number): Update.
324 (font): Use `glyph *' instead of `glyph'.
326 * src/libs/libgroff/nametoindex.cpp (charinfo): Inherit from class
327 `glyph'. Make `name' field public.
328 (character_indexer, number_to_glyph, name_to_glyph): Use `glyph *'
330 (glyph_to_name): Renamed from `glyph::glyph_name'.
332 * src/roff/troff/charinfo.h (charinfo): Inherit from class `glyph'.
333 Use `glyph *' instead of `glyph'.
335 * src/roff/troff/input.cpp (name_to_glyph, number_to_glyph): Use
336 `glyph *' instead of `glyph'.
337 (glyph_to_name): Renamed from `glyph::glyph_name'.
339 * src/libs/libgroff/font.cpp: Use `glyph *' instead of `glyph',
340 and `glyph_to_index' instead of `glyph::glyph_index'.
342 * src/include/printer.h (printer): Use `glyph *' instead of `glyph'.
343 * src/libs/libdriver/printer.cpp: Likewise.
344 * src/devices/grodvi/dvi.cpp: Likewise.
345 * src/devices/grohtml/post-html.cpp: Likewise.
346 * src/devices/grolbp/lbp.cpp: Likewise.
347 * src/devices/grolj4/lj4.cpp: Likewise.
348 * src/devices/grops/ps.cpp: Likewise.
349 * src/devices/grotty/tty.cpp: Likewise.
351 2006-02-22 Werner LEMBERG <wl@gnu.org>
353 * font/devdvi/generate/tc.map: Add `sr' glyph.
354 * font/devdvi/*TC: Regenerated.
356 * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list): Use entry
359 2006-02-21 Werner LEMBERG <wl@gnu.org>
361 * man/groff_char.man: Explain `***' marker.
363 2006-02-17 Bruno Haible <bruno@clisp.org>
365 * src/libs/libgroff/nametoindex.cpp (character_indexer): Rename
366 methods and fields from *_index to *_glyph.
367 (character_indexer::named_char_glyph): Test for `charNNN' name
369 (name_to_glyph): ... not here.
371 2006-02-17 Bruno Haible <bruno@clisp.org>
373 * src/include/font.h (name_to_glyph): Renamed from
375 (number_to_glyph): Renamed from font::number_to_index.
376 (glyph_to_name): Renamed from font::index_to_name.
377 (glyph_to_number): Renamed from font::index_to_number.
378 * src/libs/libgroff/nametoindex.cpp: Likewise.
379 * src/roff/troff/charinfo.h (charinfo::as_glyph): Renamed from
382 * src/roff/troff/input.cpp: All callers changed.
383 * src/roff/troff/node.cpp: Likewise.
384 * src/libs/libgroff/font.cpp: Likewise.
385 * src/devices/grops/ps.cpp: Likewise.
386 * src/devices/grohtml/post-html.cpp: Likewise.
387 * src/libs/libdriver/printer.cpp: Likewise.
389 2006-02-17 Werner LEMBERG <wl@gnu.org>
391 * src/include/ptable.h, src/include/itable.h
392 (NEXT_PTABLE_SIZE_DEFINED): Use it to avoid multiple declaration
393 of external symbol `next_ptable_size' (used by both header files).
395 2006-02-15 Bruno Haible <bruno@clisp.org>
397 * src/include/font.h (glyphinfo): New class.
398 (glyph): Change internal representation.
399 Change constructor signature.
400 New method glyph::glyph_number().
401 (glyph::glyph, glyph glyph::undefined_glyph, glyph::glyph_index,
402 glyph::operator==, glyph::operator!=): Update.
403 (font::index_to_name, font::index_to_number): New functions.
405 * src/include/itable.h: New file, based on src/include/ptable.h.
407 * src/libs/libgroff/nametoindex.cpp: Include itable.h.
408 (class charinfo): New class.
409 (class character_indexer): Change table result type from `int' to
411 Add table with integer key.
412 (character_indexer::character_indexer): Update.
413 (character_indexer::ascii_char_index): Update.
414 (character_indexer::numbered_char_index): Use NULL as name, not a
415 string starting with a space.
416 (character_indexer::named_char_index): Update.
417 (font::number_to_index, font::name_to_index): Remove no-op cast.
418 (glyph::glyph_name): New method.
419 * src/roff/troff/charinfo.h (class charinfo): Inherit from class
421 (NUMBERED): Remove flag bit.
422 (charinfo::numbered, charinfo::get_index): Update.
424 * src/roff/troff/input.cpp (charinfo::charinfo): Update.
425 (charinfo::set_number, charinfo::get_number): Update.
426 (glyph::glyph_name): New method.
428 2006-02-15 Werner LEMBERG <wl@gnu.org>
430 * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list): Fix
431 entries for `>>', `<<', `*f', and `+f'. Reported by Bruno.
433 2006-02-13 Werner LEMBERG <wl@gnu.org>
435 * font/devps/prologue.ps (RE): Check `UniqueID' also, similar to
438 2006-02-11 Werner LEMBERG <wl@gnu.org>
440 * src/include/font.h: s/glyph_t/glyph/.
443 * src/devices/grotty/tty.cpp: s/glyph/tty_glyph/.
444 s/output_character_t/output_character/.
446 2006-02-11 Bruno Haible <bruno@clisp.org>
448 New accessor method glyph_t::glyph_name().
450 * src/include/ptable.h (declare_ptable): Add a return value to the
451 `define' method, and declare a `lookupassoc' method.
452 (implement_ptable): Return the stored key in `define'. Implement
454 * src/include/font.h (glyph_t): Add `name' field. Add an argument
456 (glyph_t::glyph_name): New method.
458 * src/libs/libgroff/nametoindex.cpp (character_indexer): Change
459 return type of methods and field member type to glyph_t.
460 (character_indexer::character_indexer): Update.
461 (character_indexer::ascii_char_index): Allocate a name for the
463 Return a glyph_t with name.
464 (character_indexer::numbered_char_index): Return a glyph_t without a
466 (character_indexer::named_char_index): Return a glyph_t with a name.
467 (font::number_to_index, font::name_to_index): Update.
469 * src/roff/troff/input.cpp (charinfo::charinfo): Use the symbol as
472 2006-02-11 Bruno Haible <bruno@clisp.org>
474 * src/devices/grotty/tty.cpp (output_character_t): New type.
475 (tty_printer::make_bold, tty_printer::add_char,
476 tty_printer::put_char): Change argument type to output_character_t.
477 (crossings): Change element type to output_character_t.
479 2006-02-11 Bruno Haible <bruno@clisp.org>
481 Make the glyph data type abstract.
483 * src/include/font.h (glyph_t): New class.
484 (name_to_index, number_to_index): Change return type to glyph_t.
485 (font::contains, font::get_width, font::get_height, font::get_depth,
486 font::get_character_type, font::get_kern, font::get_skew,
487 font::get_italic_correction, font::get_left_italic_correction,
488 font::get_subscript_correction, font::get_code,
489 font::get_special_device_encoding, font::add_entry,
490 font::copy_entry, font::add_kern, font::hash_kern): Change argument
493 * src/libs/libgroff/font.cpp (font_kern_list): Change members
494 type and constructor argument types to glyph_t.
495 (font::contains, font::get_width, font::get_height, font::get_depth,
496 font::get_character_type, font::get_kern, font::get_skew,
497 font::get_italic_correction, font::get_left_italic_correction,
498 font::get_subscript_correction, font::get_code,
499 font::get_special_device_encoding, font::add_entry,
500 font::copy_entry, font::add_kern, font::hash_kern): Change argument
502 (font::load): Use glyph_t variables.
504 * src/libs/libgroff/nametoindex.cpp (name_to_index,
505 number_to_index): Change return type to glyph_t.
507 * src/roff/troff/charinfo.h (charinfo::index): Change type to
509 (charinfo::get_index): Change return type to glyph_t.
511 * src/roff/troff/env.cpp: Include font.h.
513 * src/roff/troff/node.cpp: Include font.h before charinfo.h.
515 * src/roff/troff/input.cpp: Include font.h before charinfo.h.
516 (charinfo::charinfo): Update.
517 (name_to_index, number_to_index): Change return type to glyph_t.
519 * src/include/printer.h (printer::set_char_and_width): Change return
522 * src/libs/libdriver/printer.cpp (printer::set_char_and_width):
523 Change return type to glyph_t.
525 * src/devices/grodvi/dvi.cpp (dvi_printer::set_char): Change
526 argument type to glyph_t.
528 * src/devices/grohtml/post-html.cpp (page::add_and_encode): Update.
529 (html_printer::space_glyph): Renamed from space_char_index.
530 (html_printer::add_to_sbuf, html_printer::sbuf_continuation,
531 html_printer::overstrike, html_printer::set_char): Change argument
533 (html_printer::set_char_and_width): Change return type to glyph_t.
535 * src/devices/grolbp/lbp.cpp (lbp_printer::set_char): Change
536 argument type to glyph_t.
538 * src/devices/grolj4/lj4.cpp (lj4_printer::set_char): Change
539 argument type to glyph_t.
541 * src/devices/grops/ps.cpp (ps_printer::space_glyph): Renamed from
543 (ps_printer::set_subencoding, ps_printer::set_char): Change argument
546 * src/devices/grotty/tty.cpp (tty_printer::set_char): Change
547 argument type to glyph_t.
549 2006-02-11 Bruno Haible <bruno@clisp.org>
551 * src/roff/troff/input.cpp (font::name_to_index): Never return a
554 * src/libs/libgroff/font.cpp (font::load): Remove failure tests for
557 2006-02-10 Werner LEMBERG <wl@gnu.org>
559 * doc/groff.texinfo (Assigning Formats): Number registers are always
561 Apply some rephrasing, contributed by Michael Burt.
563 2006-02-07 Werner LEMBERG <wl@gnu.org>
565 * tmac/fr.tmac <ms>: Set `HY' register.
567 2006-02-07 Werner LEMBERG <wl@gnu.org>
569 Add framework for simple adaptation of the main macro packages (mm,
570 me, ms, mom) to different locales. In particular, add support for
571 French. For activation, simply use `-mfr' as the last macro
572 package. This feature has been contributed by Fabrice Ménard
573 <menard.fabrice@wanadoo.fr>.
575 * tmac/fr.tmac, tmac/trans.tmac, tmac/hyphen.fr, tmac/LOCALIZATION:
577 * tmac/README: Mention hyphen.fr.
578 * man/groff_tmac.man: Mention fr.tmac.
581 2006-01-27 Werner LEMBERG <wl@gnu.org>
583 * man/groff_font.man: Updated documentation of `entity_name' field.
586 2006-01-27 Bruno Haible <bruno@clisp.org>
588 * font/devhtml/R.proto: Remove the entity names from the font's
589 special_encoding_encoding column.
590 * src/devices/grohtml/post-html.cpp (get_html_entity): New function,
591 handling the entity names here.
592 (get_html_translation): Use it. Change return type to `const
594 (page::add_and_encode): Update, removing a useless cast.
596 2006-01-26 Werner LEMBERG <wl@gnu.org>
598 This change is based on a patch by Bruno Haible <bruno@clisp.org>.
600 * src/include/device.h: Add comments.
601 * src/include/font.h: Add comments.
602 * src/include/unicode.h: Likewise.
603 * src/include/ptable.h, src/libs/libgroff/ptable.cpp: Likewise.
605 2006-01-26 Keith Marshall <keith.d.marshall@ntlworld.com>
607 Suppress `.st' request emission by `grn'.
609 * src/preproc/grn/main.cpp (USE_ST_REQUEST): New macro.
612 2006-01-22 Werner LEMBERG <wl@gnu.org>
614 * install-sh: New version; taken from texinfo CVS.
616 2006-01-21 Werner LEMBERG <wl@gnu.org>
618 * src/preproc/preconv/preconv.cpp (main): Set program_name. Bug
619 reported by Alexander E. Patrakov <patrakov@ums.usu.ru>.
621 2006-01-19 Bruno Haible <bruno@clisp.org>
623 Let `make -k install' install more files.
625 * Makefile.in (MAKE_K_FLAG): New variable. Use it everywhere where
626 $(MAKE) and $(MDEFINES) are used.
627 (CPROGDIRS): Remove $(XPROGDIRS). Treat $(XPROGDIRS) like
628 $(CPROGDIRS) everywhere.
629 ($(DEVDIRS) $(XDEVDIRS) $(OTHERDEVDIRS) $(TTYDEVDIRS)): Don't depend
631 ($(OTHERDIRS)): Likewise.
634 * src/devices/grohtml/post-html.cpp (get_html_translation): Remove
635 failure test for font::name_to_index -- it can never fail.
637 2006-01-19 Werner LEMBERG <wl@gnu.org>
639 * src/devices/grops/grops.man: Fix section on creating EPS files.
640 Don't use future time in manual.
643 2006-01-15 Gaius Mulley <gaius@glam.ac.uk>
645 * tmac/www.tmac: New macro LINKSTYLE which allows users to set
646 various typographical URL attributes for non-HTML devices.
648 * tmac/groff_www.man: Document LINKSTYLE.
650 2006-01-11 Werner LEMBERG <wl@gnu.org>
652 * configure.ac: Test for getc_unlocked (needed for localcharset).
653 * configure, src/include/config.hin: Regenerated.
655 * src/libs/libgroff/Makefile.sub (EXTRA_CFLAGS): Define
658 * src/libs/libgroff/relocatable.h: New dummy header file for
661 * src/libs/libgroff/localcharset.c: Updated to (unchanged) CVS
664 2006-01-10 Bruno Haible <bruno@clisp.org>
666 Work around unportability of nl_langinfo(CODESET).
668 * m4/glibc21.m4: New file, from gnulib.
669 * Makefile.sub (M4MACROS): Add m4/glibc21.m4.
670 * configure.ac: Also test for stddef.h, and invoke jm_GLIBC21.
671 * Makefile.in (HOST, GLIBC21): New variables.
672 (MDEFINES): Pass them to subdirectories.
673 * src/include/relocate.h (relocatep): Define with C linkage.
674 * src/include/localcharset.h: New file, from gnulib.
675 * src/libs/libgroff/localcharset.c: New file, from gnulib with a
676 modification for relocate().
677 * src/libs/libgroff/config.charset: New file, from gnulib.
678 * src/libs/libgroff/ref-add.sin: New file, from gnulib.
679 * src/libs/libgroff/ref-del.sin: New file, from gnulib.
680 * src/libs/libgroff/Makefile.sub (EXTRA_CFLAGS): Also define LIBDIR.
681 (OBJS): Add localcharset.o.
682 (CSRCS): Add localcharset.c.
683 (all): Add dependencies to charset.alias, ref-add.sed, ref-del.sed.
684 (charset.alias): New rule.
685 (PACKAGE): New variable.
686 (ref-add.sed, ref-del.sed): New rules.
687 (MKINSTALLDIRS): New variable.
688 (install_data): Depend on install_charset_data.
689 (install_charset_data): New rule for creating or updating
691 (uninstall_sub): Depend on uninstall_charset_data.
692 (uninstall_charset_data): New rule for uninstalling or updating
694 * src/preproc/preconv/preconv.cpp: Include localcharset.h instead
696 (main): Initialize default_encoding from locale_charset() instead of
697 nl_langinfo(CODESET).
699 * aclocal.m4, configure, src/include/config.hin: Regenerated.
701 2006-01-10 Werner LEMBERG <wl@gnu.org>
703 * src/preproc/preconv/preconv.cpp (conversion_iconv): Use
704 ICONV_CONST in call to iconv. Reported by Robert Goulding.
706 2006-01-07 Werner LEMBERG <wl@gnu.org>
708 * fonts/devps/generate/freeeuro.sfd: Run auto-hinter with recent
710 Bump font version to 001.001.
712 * fonts/devps/generate/Makefile (freeeuro.afm, freeeuro.pfa):
713 Call fontforge, not pfaedit.
715 * fonts/devps/freeeuro.afm, fonts/devps/freeeuro.pfa: Regenerated.
717 2006-01-05 Ruslan Ermilov <ru@FreeBSD.org>
719 * tmac/doc-common: Add new FreeBSD and NetBSD versions.
720 * tmac/groff_mdoc.man: Updated.
722 2006-01-05 Werner LEMBERG <wl@gnu.org>
724 * src/preproc/preconv/preconv.cpp: s/debug/debug_flag/.
725 (raw_flag): New global variable.
726 (do_file): Use .lf to set file name (if `raw_flag' isn't set).
727 Don't pass BOM to `conversion_utf8'.
729 (main): Handle `-r' command line switch to set `raw_flag'.
730 (get_BOM): Fix encodings in `BOM_table'.
732 * src/preproc/preconv/preconv.man: New file. Not complete yet.
733 * src/preproc/proconv/Makefile.sub (MAN1): New variable.
735 2006-01-04 Werner LEMBERG <wl@gnu.org>
737 * src/preproc/preconv/preconv.cpp (emacs_to_mime): As suggested by
738 Bruno, comment out most encodings to support only a small set of
739 coding tags, thus reducing potential problems with legacy encodings
740 and character sets in the future.
741 Add many XEmacs coding tags (now commented out).
743 (check_encoding_tag): Renamed to...
744 (check_coding_tag): This.
745 (get_BOM): Return encoding as specified by BOM.
746 Test for UTF32-LE too.
747 (do_file): Don't check for coding tag if a BOM has been found.
749 2006-01-03 Bruno Haible <bruno@clisp.org>
751 * m4/groff.m4: Renamed from aclocal.m4.
752 * m4/codeset.m4: New file, from gnulib.
753 * m4/iconv.m4: New file, from gnulib.
754 * m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4: New files, from
756 * config.rpath: New file, from gnulib.
757 * config.guess, config.sub: New files, from gnulib.
758 * Makefile.sub (M4MACROS): New variable.
759 (configure): Fix typo.
760 (aclocal.m4): New rule.
761 (stamp-h.in): Depend on aclocal.m4.
762 * configure.ac: Invoke AM_ICONV and AM_LANGINFO_CODESET.
763 * Makefile.in (LIBICONV): New variable.
764 (MDEFINES): Pass it to recursive makes.
765 * src/preproc/preconv/preconv.cpp: Use HAVE_LANGINFO_CODESET and
766 HAVE_ICONV instead of I18N macro.
767 * src/preproc/preconv/Makefile.sub (EXTRA_LDFLAGS): New variable.
769 * aclocal.m4, configure, src/include/config.hin: (Re)generated.
771 2006-01-03 Werner LEMBERG <wl@gnu.org>
773 * doc/Makefile.in (webpage.html): Simplify.
774 * doc/Makefile.sub (webpage.html): Synchronize with doc/Makefile.in.
775 * doc/webpage.ms, tmac/groff_www.man, tmac/www.tmac: Minor updates.
777 2006-01-01 Werner LEMBERG <wl@gnu.org>
779 * tmac/doc-common (Os): Add some Darwin versions.
780 * tmac/groff_mdoc.man: Document them.
782 2006-01-01 Bruno Haible <bruno@clisp.org>
784 * src/preproc/preconv/preconv.cpp (emacs_to_mime): Various
786 . Don't map ascii to latin-1.
787 . Don't use IBMxxx encodings but cpxxx for portability.
788 . Map cp932, cp936, cp949, cp950 to itself.
789 (emacs2mime): Protect calls to strcasecmp.
790 (conversion_iconv): Add missing call to iconv_close.
791 (do_file): Emit error message in case of unsupported encoding.
793 2005-12-31 Werner LEMBERG <wl@gnu.org>
795 Integrate preconv into the groff binary. Changes based on a patch
796 from Michail Vidiassov.
798 * src/roff/groff/pipeline.h (MAX_COMMANDS): Increase by 1.
800 * src/roff/groff/groff.cpp (PRECONV_INDEX): New macro.
801 (SOELIM_INDEX): Updated.
802 (help, synopsis): Updated.
803 (main): Add command line options `-k' and `-K enc' to select
805 Add support for GROFF_ENCODING environment variable.
807 * src/roff/groff/groff.man: Updated and revised.
810 Start with autoconf support for preconv.
812 * configure.ac: Call AC_C_BIGENDIAN.
813 * configure, src/include/config.hin: Regenerated.
815 2005-12-30 Werner LEMBERG <wl@gnu.org>
817 New preprocessor `preconv' to convert input encodings to something
818 groff can understand. Not yet integrated within groff. Proper
819 autoconf stuff is missing too.
821 Tomohiro Kubota has written a first draft of this program, and some
822 ideas have been reused (while almost no code has been taken
825 * src/preproc/preconv/preconv.cpp. src/preproc/preconv/Makefile.sub:
828 * MANIFEST, Makefile.in (CCPROGDIRS), test-groff.in
829 (GROFF_BIN_PATH): Add preconv.
831 2005-12-12 Werner LEMBERG <wl@gnu.org>
833 * aclocal.m4 (GROFF_MAKEINFO): Fix regexps to be POSIX conformant.
834 In particular, don't use `\+' since it is a GNU sed extension.
836 * configure: Regenerated.
838 2005-12-09 Werner LEMBERG <wl@gnu.org>
840 * src/libs/libgroff/make-uniuni: New script to generate uniuni.cpp.
842 * src/libs/libgroff/uniuni.cpp: Regenerated, using data from Unicode
846 * src/utils/afmtodit/make-afmtodit-tables: New script to generate
849 * src/utils/afmtodit/afmtodit.tables: New file, representing Unicode
852 * src/utils/afmtodit/afmtodit.pl (%unicode_decomposed,
853 %AGL_to_unicode): Removed. Replace it with a tag.
855 * src/utils/afmtodit/Makefile.sub (afmtodit): Adjust sed expression
856 to replace tag with actual file contents.
858 2005-12-08 Werner LEMBERG <wl@gnu.org>
860 The change 2005-06-20 can indeed cause problems, so we follow the
861 advice by using marks.
863 * font/devps/prologue.ps (PBEGIN): Use `mark'.
864 (PEND): Use `cleartomark'.
866 2005-12-07 Michail Vidiassov <master@iaas.msu.ru>
868 * src/utils/afmtodit.pl: Fix kerning output to avoid warnings for
869 glyphs which have kern values but aren't handled (glyph variants,
872 2005-12-02 Werner LEMBERG <wl@gnu.org>
874 * src/devices/grops/ps.cpp (ps_printer::get_subfont): Use correct
875 subfont index. Reported by Michail Vidiassov <master@iaas.msu.ru>.
877 2005-11-28 Gaius Mulley <gaius@glam.ac.uk>
879 * doc/Makefile.in: Separate rule for webpage.html so that extra
880 command line options can be passed to grohtml.
881 * doc/groff.css: Change all margins to 0%.
882 * doc/webpage.ms: Now use new macros ALN, LNS, and LNE so that left
883 navigation is exploited. Also update webpage to contain new
884 sections on licences, mailing lists, cvs/ftp access, groff
885 dependencies, and bug reports.
886 * tmac/groff_www.man: Document the new macros ALN, LNS, and LNE.
887 * tmac/www.tmac: Implement the new macros ALN, LNS, and LNE.
889 2005-11-25 Gaius Mulley <gaius@glam.ac.uk>
891 * src/devices/grohtml/post-html.cpp
892 (html_printer::do_file_components): Add fputs calls to emit the
893 head contents and shut down the head tag whenever a new file
894 component is generated.
896 2005-11-22 Gaius Mulley <gaius@glam.ac.uk>
898 * src/devices/grohtml/post-html.cpp (html_printer::flush_page): Add
899 call to flush_text to flush any outstanding html tags on the
902 2005-11-18 Werner LEMBERG <wl@gnu.org>
904 * aclocal.m4 (GROFF_MAKEINFO): Use `groff.info' in tests.
905 Announce makeinfo version.
906 * configure: Regenerated.
908 2005-11-18 Mike Frysinger <vapier@gentoo.org>
910 * Makefile.in: Declare proper dependencies between make targets.
912 * doc/Makefile.in: Rename groff info page to `groff.info'.
913 * doc/Makefile.sub: Likewise.
914 * doc/groff.texinfo: Likewise.
916 2005-11-17 Peter O'Gorman <mlists@thewrittenword.com>
918 * src/utils/pfbtops/pfbtops.c, src/utils/xtotroff/xtotroff.c: Move
919 definition of __GETOPT_PREFIX to the beginning of file to ensure
920 that it is defined even on platforms where getopt.h is already
921 included by other header files.
923 2005-11-10 Gaius Mulley <gaius@glam.ac.uk>
925 * src/devices/grohtml/post-html.cpp (html_printer::do_heading):
926 Reset font to NULL to ensure that a font block is recreated during
929 2005-11-04 Werner LEMBERG <wl@gnu.org>
931 * aclocal.m4 (GROFF_MAKEINFO): Fix sed expression.
932 * configure: Regenerated.
934 2005-10-27 Werner LEMBERG <wl@gnu.org>
936 * aclocal.m4 (GROFF_MAKEINFO): New function for checking whether
937 makeinfo 4.8 or newer is available.
938 * configure.ac: Call GROFF_MAKEINFO.
939 * configure: Regenerated.
941 * Makefile.in (MAKEINFO): Use autoconf variable.
942 (MDEFINES): Add MAKEINFO.
944 * doc/Makefile.in (MAKEINFO): Use autoconf variable.
945 * doc/Makefile.sub (MAKEINFO): Remove.
947 2005-10-26 Werner LEMBERG <wl@gnu.org>
949 * REVISION: Set to 3.
951 2005-10-17 Werner LEMBERG <wl@gnu.org>
953 Mention $MANPAGER variable used with some `man' systems.
955 * doc/webpage.ms, src/devices/grotty/grotty.man, NEWS: Updated.
957 2005-09-13 Werner LEMBERG <wl@gnu.org>
959 * tmac/hyphenex.us: New version (`ushyphex.tex' from ftp.dante.de).
961 2005-09-04 Werner LEMBERG <wl@gnu.org>
963 Version 1.19.2 released
964 =======================
966 * tmac/groff_ms.man, doc/groff.texinfo: Synchronize.
968 * doc/webpage.ms: Updated.
970 * install-sh, mkinstalldirs: New versions; taken from texinfo CVS.
972 2005-09-04 Jörgen Grahn <jgrahn@algonet.se>
974 * tmac/groff_ms.man: Document `PO' better.
976 2005-09-03 Werner LEMBERG <wl@gnu.org>
978 * NEWS: Document grotty changes.
980 2005-09-01 Keith Marshall <keith.d.marshall@ntlworld.com>
982 Backward compatibility support for `man' program.
984 * tmac/an-old.tmac (LL): Initialize it to respect prior LL register
985 assignment, prior `.ll' request and then package defaults, in this
986 specified order of decreasing priority.
988 * tmac/groff_man.man, doc/groff.texinfo: Document altered `LL'
989 register initialization priorities.
991 2005-08-29 Gary W. Swearingen <garys@opusnet.com>
993 * tmac/groff_mdoc.man: Go into more details how the `AUTHORS'
994 section should look like.
996 2005-08-29 Werner LEMBERG <wl@gnu.org>
998 * tmac/groff_mdoc.man: The month's name in a call to .Dd shouldn't
1001 2005-08-27 Bernd Warken
1003 * tmac/groff_man.man: Add man(7) too SEE ALSO and more minor
1006 2005-08-11 Bernd Warken
1008 * tmac/www.tmac (URL, MTO): Handle empty \\$1 better.
1010 2005-08-09 Bernd Warken
1012 * tmac/www.tmac (URL, MTO): Use bold series if color support is
1015 2005-08-02 Bernd Warken
1017 * doc/Makefile.sub (uninstall_sub): Use --remove, not --delete
1018 as argument to $(INSTALL_INFO). The latter isn't portable.
1019 Remove $(HTMLEXAMPLEFILES) too.
1021 * Makefile.in (uninstall_dirs): Remove $(datadir)/doc/groff and
1023 Suppress warning messages and return always true.
1025 * tmac/Makefile.sub (uninstall_sub): Remove www.tmac too.
1027 2005-07-02 Bernd Warken
1029 * src/devices/xditview/gxditview.man: Change many `.I' to `.B'.
1030 * man/groff_out.man: More markup and minor improvements.
1031 * src/roff/groff/groff.man: Minor improvements.
1033 2005-06-28 Werner LEMBERG <wl@gnu.org>
1035 * ChangeLog: Split off older entries into...
1036 * ChangeLog.115 ChangeLog.116, ChangeLog.117, ChangeLog.118: New
1039 2005-06-26 Bernd Warken
1041 * src/devices/xditview/gxditview.man: More minor fixes.
1043 2005-06-24 Werner LEMBERG <wl@gnu.org>
1045 * src/preproc/pic/troff.cpp (troff_output::set_fill,
1046 troff_output::set_color, troff_output::reset_color): Use .bcolor and
1047 .fcolor instead of \m and \M, respectively.
1049 2005-06-23 Bernd Warken
1051 * src/devices/xditview/gxditview.man: More minor fixes.
1052 * README: Formatting issues.
1053 Mention some problems with Debian.
1055 2005-06-23 Bernd Warken
1057 * src/devices/xditview/gxditview.man: Revised and improved.
1059 2005-06-22 Werner LEMBERG <wl@gnu.org>
1061 Another round in fixing getopt problems. Hopefully the last one!
1062 This time we use the getopt stuff from gnulib and define a prefix
1063 unconditionally so that there are no collisions with any other
1064 getopt implementations. This is a slight waste of space in case
1065 we already use a GNU getopt implementation, but on
1066 the other hand it really simplifies life.
1068 * src/include/getopt.h: Use gnulib version.
1070 * src/include/getopt_int.h: Use gnulib version.
1072 * src/include/groff-getopt.h: Removed. Obsolete now.
1074 * src/include/lib.h: Regarding getopt, don't handle any platform
1075 specially; just include getopt.h.
1076 (__GETOPT_PREFIX): Define (before getopt.h).
1078 * src/include/Makefile.sub (HDRS): Updated.
1080 * src/libs/libgroff/getopt1.c, src/libs/libgroff/getopt.c: Use
1083 * src/libs/libgroff/Makefile.sub (EXTRA_CFLAGS): Set
1086 * src/utils/pfbtops/pfbtops.c, src/utils/xtotroff/xtotroff.c
1087 (__GETOPT_PREFIX): Define (before getopt.h).
1089 2005-06-21 Werner LEMBERG <wl@gnu.org>
1091 * src/include/lib.h: Provide a fix for Mac OS X to not include
1094 2005-06-20 Denis M. Wilson <dmw@oxytropis.plus.com>
1096 * font/devps/prologue.ps (EP): Dont' use `bind'. Reason: Using
1097 `bind' to define a procedure which contains `showpage' means that an
1098 invocation of `showpage' may execute wrongly (the exact effect
1099 depending on the interpreter). Not usually a problem except under
1100 transformations, such as combining pages.
1101 (PEND): Don't call `clear'. Reason: Using `clear' in the definition
1102 of /PEND means that stack underflow will occur if the stack is
1103 deliberately non-empty before document inclusion. If included
1104 files are found to be generally badly behaved, we could replace the
1105 `clear' with `mark' in /PBEGIN and `cleartomark' in /PEND (I've
1106 never found this necessary).
1108 2005-06-20 Jörgen Grahn <jgrahn@algonet.se>
1110 * src/preproc/soelim/soelim.cpp (do_file): Append trailing zero
1111 earlier to get correct error message.
1113 2005-06-16 Bernd Warken
1114 * src/roff/nroff/nroff.sh: Add support for iso-8859-15.
1116 2005-06-15 Werner LEMBERG <wl@gnu.org>
1118 Another try to update getopt files. This time we add a dummy
1119 gettext.h file to satisfy the dependency.
1121 * src/include/getopt.h, src/libs/libgroff/getopt.c,
1122 src/libs/libgroff/getopt1.c: Updated from GNU libc CVS.
1124 * src/include/getopt_int.h: New file (from GNU libc CVS).
1126 * src/include/gettext.h: Dummy file which just defines a gettext()
1129 * src/include/groff-getopt.h: Updated.
1131 * src/include/Makefile.sub (HDRS): Add getopt_int.h and gettext.h.
1134 * src/libs/libdriver/input.cpp (IntArray): Remove superfluous
1135 `const' keywords in return value.
1137 * src/preproc/html/pushback.cpp (pushBackBuffer::~pushBackBuffer):
1138 Remove redundant variable `old'.
1139 (pushBackBuffer::skipToNewline): Remove redundant variable `ch'.
1141 * src/preproc/tbl/main.cpp (process_table): Remove redundant
1145 Fix more friend name injection problems since modern C++ compilers
1146 fail otherwise. We simply provide (global) declarations for all
1147 functions declared as friends. This is not really necessary but
1150 * src/preproc/eqn/lex.cpp: Provide declarations for get_char,
1151 peek_char, and get_location.
1153 * src/preproc/refer/ref.h: Provide declarations for
1154 compare_reference, same_reference, same_year, same_date,
1155 same_author_last_name, and same_author_name.
1157 * src/roff/troff/div.h: Provide declarations for do_divert and
1160 * src/roff/troff/env.h: Provide declarations for title_length,
1161 space_size, fill, no_fill, adjust, no_adjust, center, right_justify,
1162 vertical_spacing, post_vertical_spacing, line_spacing, line_length,
1163 indent, temporary_indent, do_underline, do_input_trap, set_tabs,
1164 margin_character, no_number, number_lines, leader_character,
1165 tab_character, hyphenate_request, no_hyphenate,
1166 hyphen_line_max_request, hyphenation_space_request,
1167 hyphenation_margin_request, line_width, tabs_save, tabs_restore,
1168 line_tabs_request, widow_control_request, and do_divert.
1170 * src/roff/troff/input.cpp: Provide declaration for chop_macro.
1172 * src/roff/troff/node.cpp: Provide declarations for class
1174 Provide declaration for make_tfont.
1176 2005-05-29 Werner LEMBERG <wl@gnu.org>
1178 * doc/fdl.texi: Updated to version 1.2. Reported by Bernd Warken.
1180 2005-05-28 Werner LEMBERG <wl@gnu.org>
1182 * contrib/pdfmark/Makefile.sub (.ms.pdf): Use `--stylesheet', not
1185 * src/devices/grolbp/lbp.cpp, src/devices/grolbp/lbp.h: Remove
1186 redundant semicolons.
1188 * src/preproc/eqn/Makefile.sub, src/preproc/html/Makefile.sub,
1189 src/preproc/soelim/Makefile.sub, src/preproc/tbl/Makefile.sub:
1190 Define `MLIB'. Some compilers need this for linking with libgroff.
1192 2005-05-27 Werner LEMBERG <wl@gnu.org>
1194 * MANIFEST, README, doc/webpage.ms: Updated.
1196 2005-05-26 Werner LEMBERG <wl@gnu.org>
1198 * All affected files: Update postal address of FSF.
1200 2005-05-25 Keith Marshall <keith.d.marshall@ntlworld.com>
1203 * README: More fixes.
1205 * README.CVS: Removed. Its contents is now part of the README file.
1207 2005-05-21 Werner LEMBERG <wl@gnu.org>
1209 * README: Updated. Based on a patch from Bernd Warken.
1211 2005-05-16 Keith Marshall <keith.d.marshall@ntlworld.com>
1213 Miscellaneous script portability enhancements.
1215 * aclocal.m4: (GROFF_CSH_HACK): Add space in shebang prototype for
1216 generated conftest.sh script, conforming to portability
1217 recommendation in autoconf docs.
1218 * configure: Likewise, for code generated by GROFF_CSH_HACK.
1219 * contrib/eqn2graph/eqn2graph.sh: Add space in shebang, conforming
1220 to portability recommendation in autoconf docs.
1221 * contrib/gdiffmk/gdiffmk.sh: Likewise.
1222 * contrib/gdiffmk/tests/runtests.in: Likewise.
1223 * contrib/grap2graph/grap2graph.sh: Likewise.
1224 * contrib/groffer/groffer.sh: Likewise.
1225 * contrib/mm/mmroff.pl: Likewise.
1226 * contrib/mom/momdoc/appendices.html: Likewise.
1227 * contrib/pic2graph/pic2graph.sh: Likewise.
1228 * font/devps/generate/afmname: Likewise.
1229 * src/devices/xditview/ad2c: Likewise.
1230 * src/preproc/eqn/neqn.sh: Likewise.
1231 * src/roff/grog/grog.pl: Likewise.
1232 * src/roff/grog/grog.sh: Likewise.
1233 * src/roff/nroff/nroff.sh: Likewise.
1234 * PROBLEMS: Likewise, in embedded script examples.
1236 2005-05-16 Keith Marshall <keith.d.marshall@ntlworld.com>
1238 Improve portability of `pdfroff' shell script.
1240 * arch/misc/shdeps.sh: Add space in shebang, conforming to
1241 portability guidelines in `autoconf' docs.
1242 (PATH_SEARCH_SETUP): New substitution; emits PATH_SEPARATOR
1243 initialization code. Used by contrib/pdfmark/pdfroff.sh's
1244 `searchpath' function.
1246 2005-05-14 Werner LEMBERG <wl@gnu.org>
1248 * contrib/pic2graph/pic2graph.sh, contrib/graph2graph.sh,
1249 contrib/eqn2graph.sh: Add option `-trim' to `convert' which is
1250 needed for newer ImageMagick versions.
1252 2005-05-07 Werner LEMBERG <wl@gnu.org>
1254 * src/preproc/refer/refer.man: Many small typographic fixes.
1256 2005-05-06 Jeff Conrad <jeff_conrad@msn.com>
1258 * src/devices/grohtml/post-html.cpp (assert_state::~assert_state):
1259 Use `char *' cast for a_delete.
1261 2005-05-03 Werner LEMBERG <wl@gnu.org>
1263 * src/libs/libgroff/maxpathname.cpp: Include stdlib.h.
1264 src/libs/libgroff/relocate.cpp: Use path_name_max everywhere.
1266 2005-05-03 Jeff Conrad <jeff_conrad@msn.com>
1268 * src/devices/grohtml/post-html.cpp: Use casts to `char *' if using
1269 `a_delete' for `const char *'.
1271 2005-05-03 Werner LEMBERG <wl@gnu.org>
1273 * src/devices/grohtml/post-html.cpp,
1274 src/devices/grohtml/html-table.cpp,
1275 src/devices/grohtml/html-text.cpp, src/devices/grohtml/output.cpp:
1276 Replace malloc/free with new/delete/a_delete.
1278 * src/devices/grolbp/lbp.h: Remove superfluous semicolons which
1279 are prohibited with ANSI C++.
1280 (lbpprintf, vdmprintf): Remove useless `inline' keyword (since the
1281 function has a variable number of arguments).
1283 * src/preproc/grn/main.cpp (doinput): Change return type to `int'.
1284 Simplify function and update all callers.
1286 2005-05-02 Werner LEMBERG <wl@gnu.org>
1288 Undo getopt changes from 2005-04-30. We don't want a dependency
1291 * src/include/getopt_int.h: Removed.
1293 * src/include/getopt.h, src/include/groff-getopt.h,
1294 src/include/Makefile.sub, src/libs/libgroff/getopt.c,
1295 src/libs/libgroff/getopt1.c: Revert to previous version.
1298 * src/include/nonposix.h (access) [_MSC_VER]: New macro.
1300 * src/include/posix.h (F_OK): Define conditionally.
1302 * src/devices/grotty/tty.cpp (tty_printer::make_underline): Use
1303 different variable name in second `for' loop to avoid MSVC compiler
1306 2005-04-30 Werner LEMBERG <wl@gnu.org>
1308 AC_TYPE_SIGNAL from current autoconf can fail if CC=g++.
1310 * aclocal.m4 (GROFF_TYPE_SIGNAL): New function.
1311 * configure.ac: Use GROFF_TYPE_SIGNAL, not AC_TYPE_SIGNAL.
1312 * configure, src/include/config.hin: Regenerated.
1314 * PROBLEMS: Updated.
1317 Update getopt files.
1319 * src/include/getopt.h, src/libs/libgroff/getopt.c,
1320 src/libs/libgroff/getopt1.c: Updated from GNU libc CVS.
1322 * src/include/getopt_int.h: New file (from GNU libc CVS).
1324 * src/include/groff-getopt.h: Updated.
1326 * src/include/Makefile.sub (HDRS): Add getopt_int.h.
1329 * font/devutf8/NOTES: Updated.
1331 2005-04-28 Werner LEMBERG <wl@gnu.org>
1333 Bug fix for Win32 relocatable code. Based on a patch from Keith
1336 * src/libs/libgroff/maxpathname.cpp (PATH_MAX): Test for `_MAX_PATH'
1339 * src/libs/libgroff/relocate.c (DEBUG): Define it conditionally.
1340 (searchpath) [_WIN32]: Use `_fullpath', not `realpath'.
1342 2005-04-28 Keith Marshall <keith.d.marshall@ntlworld.com>
1344 Correct `gnu.eps' handling for build from distribution tarball, with
1345 separate source and build directories.
1347 * doc/Makefile.sub: (examples.stamp): New target; forces copy of
1348 grnexmpl.g, groff.css and gnu.eps from source to build directory;
1349 generate gnu.eps from gnu.xpm if required; touch examples.stamp.
1350 (prepare_examples): Make it depend on examples.stamp.
1351 (CLEANADD): Add examples.stamp.
1353 2005-04-27 Werner LEMBERG <wl@gnu.org>
1357 position: `(' position `)'
1361 * src/preproc/pic/pic.y (position, position_not_place): Handle
1362 additional parentheses.
1364 * doc/pic.ms: Updated.
1366 2005-04-23 Larry Jones <lawrence.jones@ugs.com>
1368 * src/utils/xtotroff/xtotroff.c (MapFont): Fix variable declaration.
1370 2005-04-18 Werner LEMBERG <wl@gnu.org>
1372 * src/roff/groff/pipeline.c: Don't include ctype.h.
1374 2005-04-13 Werner LEMBERG <wl@gnu.org>
1376 * src/roff/nroff/nroff.man: Document option `-M'.
1378 2005-04-13 Bruce Lilly <blilly@erols.com>
1380 * src/roff/nroff/nroff.sh: Make the script accept option `-M'.
1382 2005-04-01 Kees Zeelenberg <kzlg@users.sourceforge.net>
1383 Werner LEMBERG <wl@gnu.org>
1385 Add binary relocation support for Windows platforms.
1387 * src/include/Makefile.sub (defs.h): Add `INSTALLPATH'.
1389 * src/include/relocate.h, src/libs/libgroff/relocate.cpp: New files.
1391 * src/libs/libgroff/searchpath.cpp: Handle `relocate'.
1392 (search_path::search_path, search_path::open_file_cautious): Use
1395 * src/libs/libgroff/Makefile.sub (OBJS, CCSRCS),
1396 src/include/Makefile.sub (HDRS): Updated.
1398 2005-04-01 Werner LEMBERG <wl@gnu.org>
1400 * src/devices/grohtml/post-html.cpp: Don't use strdup/free but
1403 * src/libs/libgroff/font.cpp: Replace strdup with strsave.
1405 * src/libs/libgroff/maxfilename.cpp: Don't include limits.h since
1406 lib.h already does it.
1408 * src/libs/libgroff/maxpathname.cpp: New file, defining
1411 * src/include/lib.h: Add prototype for path_name_max.
1413 * src/libs/libgroff/Makefile.sub (OBJS, CCSRCS): Updated.
1415 * src/include/nonposix.h (PATH_EXT): New macro.
1417 2005-03-28 Werner LEMBERG <wl@gnu.org>
1419 Add support for double- and zero-width characters in grotty.
1421 * src/devices/grotty/tty.cpp (glyph): Add width.
1422 (tty_printer::make_underline, tty_printer::make_bold,
1423 tty_printer::add_character): Add parameter to pass character width.
1425 (tty_printer::end_page): Increase hpos by actual character width.
1427 * font/devutf8/R.proto: Specify zero width for non-spacing
1430 * tmac/unicode.tmac: Remove definitions for non-spacing entities.
1432 * Makefile.comm (extraclean): Remove more junk files.
1434 2005-03-25 Werner LEMBERG <wl@gnu.org>
1436 * configure.ac: Undo change from 2005-03-24.
1437 * configure: Regenerated.
1439 2005-03-24 Werner LEMBERG <wl@gnu.org>
1441 * Makefile.in (NOMAKEDIRS): Add contrib/gdiffmk/tests.
1442 (dist): Search Makefile while descending into $(EXTRADIRS).
1444 * doc/Makefile.in (.PHONY): Add.
1445 (clean): Don't remove *.png and *.eps.
1447 (realclean): Remove *.png and *.eps.
1448 (extraclean): Depend on distclean.
1450 * configure.ac: Add copyright.
1451 Handle contrib/pdfmark/Makefile.
1453 * configure: Regenerated.
1455 2005-03-18 Larry Kollar <kollar@alltel.net>
1457 Add numbered and definition lists to www.tmac.
1459 * tmac/www.tmac (www-ul-level1, www-ul-level2, www-ul-level3,
1460 www-ol-level1, www-ol-level2, www-ol-level3, www-ol-tmp): New
1461 auxiliary string registers.
1462 (www-ul-level, www-ol-level, www-dl-level, www-ol-ctr1, www-ol-ctr2,
1463 www-ol-ctr3, www-dl-shift): New auxiliary number registers.
1464 (www-level): Removed.
1465 (www-level1, www-level2, www-level3): Initialize to empty.
1466 (www-level0, www-level4, www-level5, www-level6, www-level7,
1467 www-level8, www-level9): New string registers.
1468 (www-push-li, www-pop-li): New macros.
1469 (www-push-level, www-pop-level): Renamed to...
1470 (www-push-ul-level, www-pop-ul-level): This.
1472 (www-push-ol-level, www-pop-ol-level): New macros.
1473 (ULS, ULE): Updated.
1474 (OLS, OLE, DLS, DLE): New user macros.
1475 (LI): Removed. It is aliased to one of...
1476 (www-li-ul, www-li-ol, www-li-dl): New macros.
1478 * tmac/groff_www.man: Document new macros.
1482 2005-03-18 Werner LEMBERG <wl@gnu.org>
1484 * tmac/doc-common (doc-operating-system-NetBSD-2.0.1,
1485 doc-operating-system-NetBSD-2.0.2): New strings.
1487 * tmac/groff_mdoc.man: Updated.
1489 2005-03-17 Werner LEMBERG <wl@gnu.org>
1491 * doc/Makefile.sub (CLEANADD): Add `groff.html'.
1493 2005-03-17 Werner LEMBERG <wl@gnu.org>
1495 * src/libs/libgroff/hypot.c: Renamed to...
1496 * src/libs/libgroff/hypot.cpp: This. Updated to C++.
1498 * src/libs/libgroff/Makefile.sub (CCSRCS, CSRCS): Updated.
1500 * src/include/lib.h: Updated.
1502 2005-03-16 Werner LEMBERG <wl@gnu.org>
1504 Add workaround for broken hypot() on Interix.
1506 * src/libs/libgroff/hypot.c: New wrapper file for `hypot'.
1508 * src/libs/libgroff/Makefile.sub (OBJS): Add `hypot.o'.
1509 (CSRCS): Add `hypot.c'.
1511 * src/include/lib.h: Declare `groff_hypot'.
1513 * src/preproc/grn/hgraph.cpp: Don't declare `hypot'.
1516 * src/preproc/pic/pic.h: Don't declare `hypot'.
1518 * src/preproc/pic/object.cpp (hypot): Use `groff_hypot'.
1520 2005-03-15 Gaius Mulley <gaius@glam.ac.uk>
1522 * src/devices/grohtml/post-html.cpp
1523 (html_printer::lookahead_for_tables): End .ce properly to avoid a
1526 2005-03-15 Werner LEMBERG <wl@gnu.org>
1528 makeinfo 4.8 doesn't produce good HTML output from groff.texinfo.
1530 * doc/fixinfo.sh: New script to postprocess makeinfo's HTML output.
1532 * doc/Makefile.in (.texinfo.html): Call fixinfo.sh.
1534 2005-03-14 Werner LEMBERG <wl@gnu.org>
1536 Add Cyrillic support to devutf8 and devhtml.
1538 * font/devutf8/R.proto, font/devhtml/R.proto: Add Cyrillic blocks.
1540 * tmac/unicode.tmac: New file.
1542 * tmac/tty.tmac: Include unicode.tmac if device is utf8.
1544 * tmac/Makefile.sub (NORMALFILES): Add unicode.tmac.
1548 2005-03-02 Keith Marshall <keith.d.marshall@ntlworld.com>
1550 * src/libs/libdriver/printer.cpp (check_for_output_error): New
1551 function. It has been introduced to catch peculiar error contexts
1552 on MS-Windows platforms.
1554 2005-02-28 Werner LEMBERG <wl@gnu.org>
1556 * src/roff/troff/input.cpp (string_iterator::fill): Protect against
1559 * tmac/papersize.tmac: Convert `paper' string contents to lowercase.
1561 * configure: Regenerated.
1565 2005-02-28 Keith Marshall <keith.d.marshall@ntlworld.com>
1567 Integrate `pdfmark' into normal groff build system;
1568 install macro `pdfmark' packages, build and install `pdfroff',
1569 and PDF format documentation.
1571 * Makefile.comm: Add PDFDOCDIR.
1573 * Makefile.in: (MDEFINES) ALT_AWK_PROGS, ALT_GHOSTSCRIPT_PROGS,
1574 pdfdocdir, make_pdfdoc, make_install_pdfdoc: New variables.
1575 (unstall_dirs): Add pdfdocdir.
1577 * aclocal.m4: (GROFF_GHOSTSCRIPT_PREFS): New function; support
1578 `--with-alt-gs' option, set ALT_GHOSTSCRIPT_PROGS.
1579 (GROFF_GHOSTSCRIPT_PATH): Support `--with-gs' option, force use of
1580 GROFF_GHOSTSCRIPT_PREFS, set GHOSTSCRIPT.
1581 (GROFF_HTML_PROGRAMS): Force use of GROFF_GHOSTSCRIPT_PATH; tidy up.
1582 (GROFF_AWK_PREFS): New function; support `--with-alt-awk' option,
1584 (GROFF_AWK_PATH): New function; support `--with-awk' option, force
1585 use of GROFF_AWK_PREFS.
1586 (GROFF_PDFDOC_PROGRAMS): New function; force use of GROFF_AWK_PATH
1587 and GROFF_GHOSTSCRIPT_PATH, set make_pdfdoc and make_install_pdfdoc.
1589 * configure.ac: Add AC_PREREQ(2.59), GROFF_PDFDOC_PROGRAMS.
1590 Remove GROFF_GHOSTSCRIPT_PATH, (forced by GROFF_PDFDOC_PROGRAMS, and
1591 also by modified GROFF_HTML_PROGRAMS).
1593 2005-02-27 Gaius Mulley <gaius@glam.ac.uk>
1595 * src/devices/grohtml/html-text.cpp (html_text::do_pre): Preserve
1597 (html_text::done_para): Unset `start_space'.
1598 (html_text::remove_para_align): Call `retrieve_para_space' for the
1601 * src/devices/grohtml/post-html.cpp (html_printer::emit_raw): Unset
1603 (html_printer::do_check_center): Emit vertical space if necessary.
1605 * src/roff/troff/env.cpp (environment_switch): Preserve
1606 `seen_space', `seen_eol', and `suppress_next_eol' while switching
1609 * src/roff/troff/node.cpp (suppress_node::suppress_node): Set
1612 2005-02-20 Werner LEMBERG <wl@gnu.org>
1614 * src/preproc/eqn/eqn.man, NEWS: Document various extensions of
1617 2005-02-17 Werner LEMBERG <wl@gnu.org>
1619 * doc/pic.ms, man/groff.man: Fix typos.
1621 * doc/groff.texinfo: Fix typos.
1622 (\LEmacro): Get proper mathematical spacing.
1624 2005-02-16 Werner LEMBERG <wl@gnu.org>
1626 * aclocal.m4 (GROFF_APPRESDIR_CHECK): Improve warning message.
1627 * configure: Regenerated with autoconf 2.59b.
1629 2005-02-16 Gaius Mulley <gaius@glam.ac.uk>
1631 * src/devices/grohtml/post-html.cpp (html_printer::is_line_start,
1632 html_printer::start_font): Fix handling of preformatted text.
1634 2005-02-15 Gaius Mulley <gaius@glam.ac.uk>
1636 These patches modify the indentation implementation to use `<p
1637 style=margin-left: n%>'. Many thanks to Peter and Larry for
1638 suggesting this solution. Grohtml only uses tables for `.IP' and
1639 related tags when the first operand has a short width.
1641 Similarly, they modify all vertical space code. By default, grohtml
1642 sets up a style sheet which uses no vertical space between `table',
1643 `pre', and `p' tags. It forces spaces when it needs them using
1644 `style="margin-top: 1em"'.
1646 * src/devices/grohtml/html-table.cpp: Include `html-text.h'.
1647 (html_table::emit_table_header, html_table::emit_new_row):
1649 (html_table::set_space): New function.
1650 (html_indent::html_indent): Don't set `is_used'.
1651 (html_indent::begin): Rewritten.
1652 (html_indent::end): Remove code in function.
1654 * src/devices/grohtml/html-table.h: Updated.
1655 (html_table): Make `out' public.
1657 * src/devices/grohtml/html-text.cpp (html_text::html_text):
1658 Initialize `start_space' with FALSE.
1659 (html_text::end_tag) <P_TAG, PRE_TAG>: Updated.
1660 (html_text::issue_tag): Add argument to handle space style.
1661 (html_text::start_tag) <P_TAG, PRE_TAG>: Updated.
1662 (html_text::flush_text): Don't set `start_space'.
1663 (html_text::push_para): Don't set `p->really_issued'.
1664 (html_text::do_emittext): Updated.
1665 (html_text::do_para): Add paremeter to handle space.
1667 (html_text::retrieve_para_space): New function.
1669 * src/devices/grohtml/html-text.h (STYLE_VERTICAL_SPACE): New macro.
1670 (tag_definition): Remove `really_issued'.
1671 (html_text): Updated.
1673 * src/devices/grohtml/post-html.cpp (html_printer): Add variables
1674 `current_column' and `row_space'.
1676 (html_printer::emit_raw, html_printer::write_header,
1677 html_printer::do_indent, html_printer::do_check_center,
1678 html_printer::do_tab_ts): Handle vertical space.
1679 (html_printer:do_tab_te, html_printer::do_end_para): Call
1680 `remove_para_space'.
1681 (html_printer::do_col): Rewritten.
1682 (html_printer::flush_globs): Remove debugging code.
1683 (html_printer::is_line_start): New function.
1684 (html_printer::start_font): Use `is_line_start'.
1685 (html_printer::writeHeadMetaStyle): New function.
1686 (html_printer::do_file_components, html_printer::~html_printer):
1687 Call `writeHeadMetaStyle'.
1689 * tmac/www.tmac (www-handle-percent): New macro.
1690 (MPIMG): Handle percent values for width and height parameters.
1693 * tmac/groff_www.man: Updated.
1695 2005-02-14 Werner LEMBERG <wl@gnu.org>
1697 * src/utils/afmtodit/afmtodit.pl: Remove an incorrect `my' from
1698 $psname and $italic_angle.
1699 Immediately restart file input loops if `split' returns an empty
1702 2005-02-13 Michail Vidiassov <master@iaas.msu.ru>
1703 Werner LEMBERG <wl@gnu.org>
1705 Update afmtodit to better support Unicode (Michail).
1706 Update afmtodit to use Perl 5 syntax (Werner).
1708 * src/utils/afmtodit/afmtodit.pl: Don't use `getopts.pl' but
1710 Decorate variables with `my' where necessary.
1711 Use `defined' where necessary to avoid warnings.
1712 Don't use `do' for subroutine calls.
1713 Other minor syntax updates.
1714 Check for both `uXXXX[X[X]]' and `uniXXXX'.
1715 Handle glyph variants properly.
1716 (%unicode_decomposed, %AGL_to_unicode): Don't use `u' prefix in
1719 * src/utils/afmtodit/afmtodit.man: Updated.
1721 2005-02-13 Werner LEMBERG <wl@gnu.org>
1723 Make groff.texinfo work with texinfo 4.8.
1725 * doc/groff.texinfo (@Var): Use @r and @slanted.
1726 (@defdummy, @Def*): Use @c to avoid empty lines.
1727 (\angles): Replaced with...
1728 (\Langlemacro, \Ranglemacro): New TeX macros.
1729 (@Langlemacro, @Ranglemacro): New variables defined with @set.
1730 (@angles): Use @Langlemacro and @Ranglemacro.
1731 (\LE): Replaced with...
1732 (\LEmacro): New TeX macro.
1733 (@LEmacro): New variable defined with @set.
1734 (@LE): Use @LEmacro.
1735 (@Lparenmacro, @Rparenmacro, @Lbrackmacro, @Rbrackmacro): New
1736 variables defined with @set.
1737 (@lparen, @rparen, @lbrack, @rbrack): Replaced with...
1738 (@Lparen, @Rparen, @Lbrack, @Rbrack): New macros.
1741 Other minor updates.
1743 * doc/texinfo.tex: Update to texinfo version 4.8.
1745 * README.CVS: Updated.
1747 2005-02-09 Alejandro López-Valencia <palopez@etb.net.co> (tiny change)
1749 * doc/groff.texinfo (ms Document Control Registers): Document `HY'
1750 and `FAM' registers.
1752 2005-02-05 Werner LEMBERG <wl@gnu.org>
1754 * tmac/groff_mdoc.man, tmac/doc-common, tmac/doc-ditroff,
1755 tmac/doc-nroff, tmac/doc-old.tmac, tmac/doc-syms, tmac/doc.tmac:
1758 2005-02-01 Werner LEMBERG <wl@gnu.org>
1760 * src/roff/groff/groff.man: Add information about paper size.
1762 2005-01-25 Werner LEMBERG <wl@gnu.org>
1764 * src/roff/nroff/nroff.sh: Handle `*.ISO8859-1' in locale. From
1767 2005-01-22 Ruslan Ermilov <ru@FreeBSD.org>
1769 * tmac/doc.tmac (Sm): Improved. It didn't work properly in many
1771 (Re): Emit a warning if called without `.Rs'.
1772 (doc-finish-reference): Use parameter for decreasing
1773 `doc-reference-count'.
1774 (doc-print-reference): Pass specific count parameters to
1775 `doc-finish-reference'.
1777 2005-01-21 Werner LEMBERG <wl@gnu.org>
1779 * src/libs/libdriver/input.cpp (delete_current_env, do_file):
1780 Reset pointers to zero after deallocation. This fixes a crash
1781 if a driver is called with multiple input files. Reported by
1782 Ken Chilton <ken@chiltonfamily.org>.
1784 * src/devices/grops/grops.man: Add more info on DSC.
1786 2005-01-17 Ruslan Ermilov <ru@FreeBSD.org>
1788 * tmac/doc-common (Dd), tmac/doc-ditroff (gX, doc-setup-header):
1791 2005-01-17 Werner LEMBERG <wl@gnu.org>
1793 * src/roff/troff/div.cpp (top_level_diversion::space): Protect
1794 against division by zero.
1796 2005-01-13 Ruslan Ermilov <ru@FreeBSD.org>
1798 * tmac/doc.tmac (Ef): Restore doc-curr-font and doc-curr-size.
1800 2004-12-19 Werner LEMBERG <wl@gnu.org>
1802 * install-sh: New version; taken from texinfo CVS.
1804 2004-12-17 Werner LEMBERG <wl@gnu.org>
1806 * tmac/devtag.tmac: Protect against loading twice.
1807 Protect agains compatibility mode.
1808 * tmac/www.tmac: Protect against loading twice.
1809 Load `devtag.tmac' before switching off compatibility mode.
1810 * tmac/an-old.tmac, tmac/s.tmac: Load `devtag.tmac'.
1812 2004-12-16 Mike Bianchi <mbianchi@Foveal.com>
1814 * configure.ac: Produce `contrib/gdiffmk/tests/runtests'.
1815 * configure: Updated.
1817 2004-12-15 Thomas Klausner <wiz@netbsd.org>
1819 * tmac/doc-syms, tmac/groff_mdoc.man: Add `libpam' library.
1821 2004-12-15 Werner LEMBERG <wl@gnu.org>
1823 Make `test-groff' work again -- previously, wrong paths have been
1824 used. Additionally, it can now be called from anywhere.
1826 * test-groff.in: Don't test for groff binary. This is no longer
1827 necessary since the proper paths are determined by `configure'.
1828 (EXEEXT): Removed. No longer used.
1829 (srcdir, builddir): Use values provided by the configure script.
1830 (XENVIRONMENT): Updated.
1834 2004-12-14 Gaius Mulley <gaius@glam.ac.uk>
1836 Make .tag and .taga work for all devices (but only grohtml actually
1839 * src/devices/grohtml/post-html.cpp: s/html-tag/devtag/.
1840 (text_glob::is_br, page::add_tag, html_printer::troff_tag,
1841 html_printer::handle_assertion): Don't use hard-coded string
1843 (html_printer::lookahead_for_table): Reset `tbl' properly if
1845 (html_printer::devtag): New function, handling `devtag'.
1846 (html_printer::special): Don't handle `html-tag'.
1848 * src/include/printer.h, src/libs/libdriver/printer.cpp
1849 (printer::devtag): New virtual function.
1851 * src/libs/libdriver/input.cpp (parse_x_command) <'X'>: Handle
1854 * src/roff/troff/env.cpp, src/roff/troff/mtsm.cpp,
1855 src/roff/troff/node.cpp: s/html-tag/devtag/.
1857 * src/roff/troff/input.cpp (tag, taga): Always call
1860 * tmac/an-old.tmac, tmac/s.tmac, tmac/troffrc-end: Use DEVTAG*
1861 macros instead of HTML-TAG*.
1863 * tmac/devtag.tmac: New file, defining the DEVTAG-* macros.
1865 * tmac/www.tmac: Load devtag.tmac.
1866 Replace HTML-TAG* macros with DEVTAG* macros.
1867 (HTML, HTML-NS): Changed definitions.
1869 (HTML-TAG, HTML-TAG-NS, HTML-TAG-NEXT): Removed.
1871 * tmac/Makefile.sub (NORMALFILES): Add devtag.tmac.
1873 2004-12-10 Werner LEMBERG <wl@gnu.org>
1875 Import Mike's `gdiffmk' package.
1877 * contrib/gdiffmk/*: New files.
1878 * Makefile.in (OTHERDIRS): Add contrib/gdiffmk.
1881 2004-12-08 Werner LEMBERG <wl@gnu.org>
1883 Import Keith's `pdfmark' package. Integration is very preliminary.
1885 * contrib/pdfmark/*: New files.
1886 * Makefile.in (OTHERDIRS): Add contrib/pdfmark.
1889 2004-12-07 Gaius Mulley <gaius@glam.ac.uk>
1891 Fix a bug with title handling in HTML.
1893 * src/devices/grohtml/post-html.cpp (text_glob::is_nf,
1894 text_glob::is_fi, text_glob::is_ce): Use strlen to compute string
1896 (html_printer::handle_tag_within_title): New function.
1897 (html_printer::do_title): Use it.
1899 * tmac/s.tmac (TL): Don't set `need_eo_tl'.
1900 (cov*tl-au-print): Emit `.eo.tl' tag.
1902 2004-12-05 Alejandro López-Valencia <dradul@etb.net.co>
1904 * man/groff_char.man: Minor imrovements.
1906 2004-12-04 Werner LEMBERG <wl@gnu.org>
1908 * src/preproc/eqn/eqn.man: Revised.
1910 2004-11-25 Werner LEMBERG <wl@gnu.org>
1912 * src/utils/xtotroff/xtotroff.c: Reformat to be similar to other
1916 Remove X_NOT_STDC_ENV conditional.
1917 (Version_string, program_name): New global variables.
1918 (groff_flag): Removed.
1920 (usage): Take a stream as argument.
1923 (main): Add `long_options' array for `--help' and `--version'.
1924 Make `-g' a dummy option.
1925 Handle `-v' and unknown options.
1926 Remove unused `position' variable.
1928 * src/utils/xtotroff/Makefile.sub (MAN1): Define.
1929 (XLIBS): Add LIBGROFF.
1931 * src/utils/xtotroff/xtotroff.man, src/utils/xtotroff/Makefile.in:
1934 * src/devices/xditview/Dvi.c (default_font_map): Split into three
1935 parts to avoid compiler warning.
1936 (resources): Don't initialize with `default_font_map'.
1937 (ClassInitialize): Initialize first element of `resources'.
1939 * src/devices/xditview/Makefile.sub (devdir, xtotroff, DPIS, fonts):
1942 * src/utils/lkbib/lkbib.man, src/utils/lookbib/lookbib.man,
1943 src/utils/pfbtops/pfbtops.man: Revised, updated.
1945 * configure.ac: Generate src/utils/xtotroff/Makefile.
1946 * configure: Regenerated.
1948 2004-11-24 Werner LEMBERG <wl@gnu.org>
1950 First fixes to get produce HTML.
1952 * src/devices/grohtml/post-html.cpp (generate_img_src): Add `alt'
1955 * tmac/www.tmac (IMG, PIMG, MPIMG): Add `alt' attribute.
1956 (HR, LI): Use `HTML</p>', not `HTML'.
1958 * doc/webpage.ms: Minor updates.
1960 2004-11-23 Larry Kollar <kollar@alltel.net>
1962 Add option -S grohtml to determine the file split level.
1964 * src/devices/grohtml/post-html.cpp (split_level): New global
1966 (html_header::determine_header_level): Use split_level.
1967 (main): Handle `-S' command line option.
1970 * src/preproc/html/pre-html.cpp (scanArguments): Updated.
1972 * src/devices/grohtml/grohtml.man: Document it.
1975 * NEWS: Document it.
1977 2004-11-23 Y T <doarhop@hotmail.com>
1979 * tmac/s.tmac (ref*add-V, ref*add-N): New macros for handling
1980 the volume and number refer entries.
1982 2004-11-22 Werner LEMBERG <wl@gnu.org>
1984 * src/devices/grohtml/html-table.cpp
1985 (html_table::emit_table_header): Don't emit `cols' attribute which
1986 doesn't exist in HTML 4.0 and is thus invalid.
1988 * NEWS: More minor fixes and updates.
1990 2004-11-18 Werner LEMBERG <wl@gnu.org>
1992 * tmac/www.tmac (HTML-NS, HTML-TAG-NS, HTML-TAG-NEXT): Simplified.
1993 (HTML</p>): Minor clean-up.
1995 * tmac/groff_www.man: Updated.
1997 * src/devices/grohtml/grohtml.man: Revised and updated.
2001 2004-11-18 Gaius Mulley <gaius@glam.ac.uk>
2003 * src/devices/grohtml/post-html.cpp (html_printer::do_heading):
2004 Fix space insertion.
2005 (html_printer::do_links): Fix rules generation around automatic
2008 * tmac/www.tmac (LK): Use HTML-TAG-NS.
2010 No longer emit empty line for non-HTML devices.
2012 2004-11-17 Werner LEMBERG <wl@gnu.org>
2014 * doc/Makefile.in (prepare_examples, webpage.html): Handle
2017 * doc/Makefile.sub (EXAMPLEFILES, CLEANNOTSRCDIRADD,
2018 prepare_examples, webpage.html): Handle `groff.css'.
2020 2004-11-15 Werner LEMBERG <wl@gnu.org>
2022 * NEWS, README, doc/webpage.ms: Updated.
2024 * tmac/www.tmac (HTML, HTML-TAG): Minor clean-ups.
2026 2004-10-30 Gaius Mulley <gaius@glam.ac.uk>
2028 * src/include/printer.h (printer): Remove virtual function
2030 Update all source files.
2032 * src/devices/grohtml/post-html.cpp (html_printer): New member
2033 function `round_width'.
2035 2004-10-20 Tadziu Hoffmann <hoffmann@usm.uni-muenchen.de>
2037 * src/preproc/tbl/table.cpp (table::do_row): Fix handling of the `d'
2038 column key letter suffix.
2040 2004-10-14 Werner LEMBERG <wl@gnu.org>
2042 * Makefile.in (check): Depend on `site.exp' and `docheck'.
2043 (docheck): Run dejagnu's `runtest' if it exists.
2044 (site.exp): Create dejagnu configuration file.
2046 * Makefile.sub (DISTCLEANFILES): Add files related to dejagnu.
2048 2004-10-13 Werner LEMBERG <wl@gnu.org>
2050 * src/devices/grohtml/html-text.cpp (html_text_get_alignment),
2051 src/devices/grohtml/post-html.cpp (make_val,
2052 html_printer::handle_state_assertion): Fix compiler warnings.
2054 * src/roff/troff/div.cpp: Include `stringclass.h' and `mtsm.h'.
2055 (diversion::diversion): Fix order of initializers.
2057 * src/roff/troff/div.h: Don't include `mtsm.h'.
2059 * src/roff/troff/env.cpp: Include `stringclass.h' and `mtsm.h'.
2060 (environment::environment): Fix order of initializers.
2061 (environment::make_tag, environment::construct_format_state): Fix
2064 * src/roff/troff/input.cpp: Include `stringclass.h' and `mtsm.h'.
2065 (input_iterator::input_iterator, macro::macro): Fix order of
2068 * src/roff/troff/mtsm.cpp: Include only necessary header files.
2069 (state_set::add, state_set::val): Fix compiler warnings.
2071 * src/roff/troff/mtsm.h: Don't include `stringclass.h'.
2072 (bool_value_state, int_value_state, units_value_state,
2073 string_value_state): Remove comma after last element which causes
2074 an error with g++ 3.3.3.
2076 * src/roff/troff/node.cpp: Include `stringclass.h'.
2077 (hline_node::hline_node, vline_node::vline_node,
2078 space_char_hmotion_node, left_italic_corrected_node): Fix compiler
2080 (zero_width_node::zero_width_node): Fix order of initializers.
2082 * src/roff/troff/node.h: Don't include `mtsm.h'.
2083 (hmotion_node): Fix compiler warnings.
2085 * src/roff/troff/number.cpp: Include `stringclass.h' and `mtsm.h'.
2087 2004-10-12 Gaius Mulley <gaius@glam.ac.uk>
2089 * doc/groff.css: New file.
2091 * doc/webpage.ms: Use `groff.css'.
2094 * tmac/an-old.tmac (need_eo_h): New number register.
2095 (TH): Emit `.eo.tl' tag after title.
2096 (SH): Set `need_eo_h'.
2097 (an-trap): Handle `need_eo_h'.
2098 (an-do-tag): s/HTML-TAG-NS/HTML-TAG-NEXT/.
2100 * tmac/s.tmac (need_eo_h, need_eo_tl): New number registers.
2101 (TL): Always start diversion.
2103 (@AI): Always call `par@reset'.
2104 (@AB): Update code for -Thtml.
2105 (cov*tl-au-print): Handle -Thtml.
2106 (par@reset): Handle `need_eo_tl', `need_eo_h'.
2108 (@IT-html): Removed.
2109 (@SH): Set `need_eo_h' for -Thtml.
2110 (par@TL): s/HTML-TAG/HTMl-TAG-NS/.
2112 (@NH): s/HTML-TAG/HTMl-TAG-NS/.
2113 Set `need_eo_h' for -Thtml.
2114 (@EQ, @EN): Don't handle -Thtml specially.
2115 (par@load-init): Don't handle -Thtml specially.
2117 * tmac/www.tmac (www:paraspace): New macro.
2118 (HTML-NS, HTML-TAG-NS): Use new `tag' request.
2119 (HTML</p>, HTML-TAG-NEXT): New macros.
2120 (HnE): Emit tag `.eo.h' instead of break.
2121 (HR): s/HTML-NS/HTML/.
2122 (www-end-nowhere): End diversion only if `www-html' not set.
2124 (ULS, ULE): s|HTML|HTML</p>|.
2125 (LI): Call `www:paraspace'.
2128 2004-10-11 Gaius Mulley <gaius@glam.ac.uk>
2130 * src/roff/troff/request.h (macro): Make `p' public.
2131 New variable `is_a_diversion'.
2132 New member function `is_diversion'.
2135 * src/devices/grohtml/html.h (simple_output): New member function
2138 * src/devices/grohtml/html-table.cpp (tabs::compatible): Fix
2139 computation of `total'.
2140 (tabs::check_init): New function.
2141 (html_table::emit_table_header): Emit style data.
2142 (html_table::insert_column): Improved.
2144 * src/devices/grohtml/html-table.h: Updated.
2146 * src/devices/grohtml/html-text.cpp (html_text::html_text):
2147 Initialize `start_space' with TRUE.
2148 (html_text::end_tag, html_start_tag): Fix `P_TAG' and `PRE_TAG'
2150 (html_text::flush_text): Set `start_space' flag.
2151 (html_text::uses_indent, html_text::remove_para_space,
2152 html_text::get_alignment): New functions.
2153 (html_text::push_para): Updated.
2154 (html_text::do_para): Check for empty argument.
2155 Don't set `space_emitted'.
2156 (html_text::do_space, html_text::emit_space): Updated.
2158 * src/devices/grohtml/html-text.h (tag_definition): New variable
2160 (html_text): New member function `uses_indent', `remove_para_space',
2163 * src/devices/grohtml/output.cpp (simple_output::force_nl): New
2165 (simple_output:nl): Always emit `\n'.
2167 * src/devices/grohtml/post-html.cpp: Include `string.h'.
2168 (BASE_POINT_SIZE): Removed.
2169 (base_point_size, head_info): New global variables.
2170 (text_glob): New member functions `is_ll', `is_tl', `is_eo_tl',
2172 (text_glob::is_nf, text_glob::is_fi): Handle `.fi 0' and `.fi 1'
2174 (page::add_and_encode): Pass additional parameter for tag flag.
2175 (assert_pos): New structure.
2176 (assert_state): New class.
2177 (html_printer): Remove `indentation', `prev_indent'.
2178 Add variables `troff_indent', `device_indent', `temp_indent'.
2179 Add variables `seen_indent', `next_indent', `seen_pageoffset',
2180 `next_pageoffset', `seen_linelenght', `next_linelength',
2181 `seen_center', `next_center', `seen_space', `seen_break', `as'.
2182 Add member functions `do_check_center', `do_space', `do_head',
2183 `get_troff_indent', `restore_troff_indent', `handle_assertion',
2184 `handle_state_assertion', `do_end_para', `set_char_and_width'.
2185 Change argument to `do_fill' to `char *'.
2187 (html_printer::emit_raw): Call `shutdown_table'.
2189 (html_printer::do_center): Simplified.
2190 (html_printer::do_title): Improved.
2191 (html_printer::write_header): Emit one more newline.
2193 (html_printer::do_heading, html_printer::do_indent,
2194 html_printer::do_eol, html_printer::do_tab_ts,
2195 html_printer::do_tab, html_printer::do_tab0,
2196 html_printer::calc_po_in, html_printer::next_horiz_pos,
2197 html_printer::remove_courier_tabs,
2198 html_printer::insert_tab0_foreach_tab, html_printer::begin_page):
2200 (html_printer::do_linelength, html_printer::do_pageoffset,
2201 html_printer::do_indentation, html_printer::do_tempindent,
2202 html_printer::do_tab_te): Simplified.
2203 (html_printer::do_pointsize): Check whether point size is really
2204 associated a `.tl' tag.
2205 (html_printer::do_break): Rewritten.
2206 (html_printer::troff_tag): Improved.
2207 (html_printer::flush_globs): Updated.
2208 (html_printer::lookahead_for_tables): Handle `is_br'.
2210 (html_printer::set_char): Check `sbuf_style.f'.
2211 (html_printer::write_navigation): Use string comparison.
2212 (html_printer::~html_printer): Emit `head_info'.
2213 (html_printer::special): Rewritten.
2214 (get_str, make_val): New functions.
2215 (main): New option `s' to set the base point size.
2217 * src/preproc/html/pre-html.cpp (scanArguments): Handle option `s'.
2219 2004-10-10 Gaius Mulley <gaius@glam.ac.uk>
2221 * src/roff/troff/node.cpp: New extern `debug_state'.
2222 Include `stringclass.h' and `mtsm.h'.
2223 Implement new classes and class members from `node.h'.
2224 (real_output_file): Make `fp' public.
2225 (troff_output_file): New variables `cur_div_level' and `tag_list'.
2226 Update constructors.
2227 (troff_output_file::really_print_line): Check whether we should push
2228 the current troff state and use the state at the start of the
2229 invocation of this diversion.
2230 (troff_output_file::add_to_tag_list): New member function.
2231 (node::add_char): Handle `glyph_comp_np'.
2233 * src/roff/troff/node.h: Include `mtsm.h'.
2234 (node): New variables `state', `push_state', `div_nest_level',
2235 `is_special'. Update constructors, all descendants.
2236 Pass additional argument to `add_char' member function.
2237 New virtual member functions `is_tag', `debug_node',
2238 `debug_node_list'. Update all descendants.
2239 (tag_node): New class for handling tags.
2240 (output_file): Add variable `state'.
2242 2004-10-09 Gaius Mulley <gaius@glam.ac.uk>
2244 * src/roff/troff/mtsm.cpp, src/roff/troff/mtsm.h: New files,
2245 providing a minimal troff state machine to emit meta tags for the
2246 post-grohtml device driver.
2248 * src/roff/troff/Makefile.sub (OBJS, CCSRCS, HDRS): Handle new
2251 2004-10-09 Werner LEMBERG <wl@gnu.org>
2253 * tmac/trace.tmac: Fix handling of `am' and `am1' calls.
2255 2004-10-06 Gaius Mulley <gaius@glam.ac.uk>
2257 * src/roff/troff/column.cpp (vjustify_node::copy): Updated.
2259 * src/roff/troff/div.h: Include `mtsm.h'.
2260 (diversion): New variables `any_chars_added', `needs_push',
2261 `saved_seen_break', `saved_seen_space', `saved_seen_eol',
2262 `saved_suppress_next_eol', `modified_tag'.
2263 New virtual member function `is_diversion'. Update all descendants.
2265 * src/roff/troff/div.cpp (diversion::diversion,
2266 macro_diversion::macro_diversion): Updated.
2267 (do_divert): Handle `seen_break', `seen_space', `seen_eol',
2268 `suppress_next_eol'.
2269 (top_level_diversion::space): Handle `curenv->seen_space'.
2270 (page_offset): Update tag handling.
2271 (space_request, blank_line, flush_output): Don't call `add_html_tag'.
2273 * src/roff/troff/env.h (environment): Make `tabs' public.
2274 Remove `ignore_next_eol', `emitted_node'.
2275 Update `output_line', `output'.
2276 New variables `seen_space', `seen_eol', `suppress_next_eol',
2278 New member functions `construct_state', `make_tag',
2279 `construct_format_state, `construct_new_line_state,
2281 Remove `add_html_tag', `make_html_tag'.
2283 * src/roff/troff/env.cpp: New externs `suppress_push',
2284 `get_diversion_state', `global_diverted_space'.
2285 (pending_output_line): New variable `was_centered'.
2286 Update constructor and all callers.
2287 (pending_output_line::output): Call `curenv->construct_format_state'.
2288 (environment::environment, environment::copy): Updated.
2289 (environment::output): Handle `was_centered'.
2290 (environment::add_char): Handle construct and diversion state.
2291 (environment::add_node): Handle construct state.
2292 (environment::newline): Handle `was_centered'.
2293 (environment::output_line): Updated.
2294 (environment::possibly_break_line): Updated.
2295 Update tag handling.
2296 (environment::add_html_tag): Replaced with...
2297 (environment::make_tag): New function.
2298 (environment::add_html_tag_tabs, environment::make_html_tag): Removed.
2299 (environment::dump_troff_state): New debugging function.
2300 (environment::construct_state, environment::construct_format_state,
2301 environment::construct_new_line_state): New functions.
2302 (environment::do_break): Updated.
2303 Handle `global_diverted_space'.
2304 (environment::handle_tag): Update tag handling.
2305 (point_size, fill, do_break_request): Don't call `add_html_tag'.
2306 (no_fill): Don't call `add_html_tag'.
2307 Set `suppress_next_eol'.
2308 (center, right_justify, line_length, indent, temporary_indent,
2310 Update tag handling.
2312 * src/roff/troff/input.cpp: Don't include `stringclass.h'.
2313 (input_iterator): New variables `is_diversion', `diversion_state'.
2314 Update constructors.
2315 (input_stack): New member functions `get_div_level',
2316 `get_diversion_state', `check_end_diversion'.
2317 New variables `div_level', `diversion_state'. Initialize them.
2318 (suppress_push, global_diverted_space): New global variables.
2319 (input_stack::finish_get, input_stack::finish_peek,
2320 input_stack::remove_boundary, input_stack::end_file,
2321 input_stack::clear, input_stack::pop_macro): Call
2322 `check_end_diversion'.
2323 (input_stack::push): Handle `div_level' and `diversion_state'.
2324 (get_diversion_state): New function.
2325 (diverted_space_node::reread): Handle `global_diverted_space'.
2326 (macro::macro): Update constructors.
2327 (macro::is_diversion): New function.
2328 (macro::operator=): Set `is_a_diversion'.
2329 (string_iterator): New member function `is_diversion'.
2330 (string_iterator::string_iterator): Update constructors.
2331 (string_iterator::fill): Set `div_nest_level'.
2332 (macro_iterator): New member function `is_diversion'.
2333 (do_if_request): Handle `suppress_push'.
2334 (tag, taga): New functions.
2335 (init_input_requests): Add `tag' and `taga' requests.
2337 2004-10-05 Gaius Mulley <gaius@glam.ac.uk>
2339 * src/include/font.h (font): New member function
2340 `get_image_generator'.
2341 New variables `unscaled_charwidths' and `image_generator'.
2343 * src/libs/libgroff/font.cpp (font::get_width): Always return the
2344 character's unscaled width if `font::unscaled_charwidths' is set.
2345 (font::get_image_generator): New function.
2346 (font::load_desc): Check the `unscaled_charwidths' and
2347 `image_generator' keywords.
2349 * src/libs/libgroff/fontfile.cpp: Initialize
2350 `font::unscaled_charwidths' and `font::image_generator'.
2352 * font/devhtml/DESC.proto: s/html/unscaled_charwidths/.
2354 * font/devhtml/Makefile.sub (DESC): Set `image_generator' keyword.
2356 * man/groff_font.man: Document `unscaled_charwidths' and
2359 * src/preproc/html/pre-html.cpp: Include `device.h'.
2360 (image_gen): New global variable.
2361 (imageList::createPage): Use `image_gen'.
2362 (main): Use `image_generator' keyword.
2364 2004-10-04 Gaius Mulley <gaius@glam.ac.uk>
2366 * tmac/html.tmac: Handle \[sqrtex].
2368 2004-10-04 Gaius Mulley <gaius@glam.ac.uk>
2370 * src/include/printer.h (printer): New virtual method `round_width'.
2372 * src/devices/grodvi/dvi.cpp, src/devices/grolbp/lbp.cpp,
2373 src/devices/grolj4/lj4.cpp, src/devices/grops/ps.cpp,
2374 src/devices/grotty/tty.cpp (printer::round_width): New function
2377 * src/devices/grohtml/post-html.cpp (printer::round_width): New
2379 (html_printer::set_numbered_char): Use it.
2381 2004-10-03 Gaius Mulley <gaius@glam.ac.uk>
2383 * aclocal.m4 (GROFF_GHOSTSCRIPT_PATH): New macro.
2385 * configure.ac: Call GROFF_GHOSTSCRIPT_PATH.
2387 * configure: Regenerated.
2389 * Makefile.in (GHOSTSCRIPT): New variable.
2390 (MDEFINES): Add GHOSTSCRIPT.
2392 2004-10-03 Werner LEMBERG <wl@gnu.org>
2394 * INSTALL.gen: Updated (taken from texinfo CVS).
2396 2004-09-28 Werner LEMBERG <wl@gnu.org>
2400 2004-09-28 Heinz-Jürgen Oertel <hj.oertel@surfeu.de>
2402 * tmac/groff_www.man: Revised and updated.
2404 2004-09-26 Werner LEMBERG <wl@gnu.org>
2406 Fix \$@ and \$* to handle any number of arguments.
2408 * src/roff/troff/input.h (BEGIN_QUOTE, END_QUOTE): New special
2411 * src/roff/troff/input.cpp (input_iterator::internal_level):
2413 (input_stack): New member functions `increase_level' and
2415 (input_stack::get_level): Don't use `internal_level'.
2416 (get_copy, token::next): Handle BEGIN_QUOTE and END_QUOTE.
2417 (end_quote_iterator): Completely removed.
2418 (interpolate_arg): Build string for \$@ and \$* which is then
2419 pushed onto the input stack.
2421 2004-09-23 Keith Marshall <keith.d.marshall@ntlworld.com>
2423 * tmac/groff_ms.man, doc/groff.texinfo: Document changes from
2426 2004-09-23 Werner LEMBERG <wl@gnu.org>
2428 * tmac/an-old.tmac (ne): Using default scaling operator.
2430 2004-09-19 Keith Marshall <keith.d.marshall@ntlworld.com>
2432 This change implements the following features:
2435 New numeric register: Defines number of lines following LP, PP,
2436 QP, IP or XP, which must be kept together, before any automatic
2437 page break. If insufficient space remains on the current page, a
2438 page break is forced before the new paragraph begins.
2441 New numeric register: Sets number of lines of following paragraph
2442 which must be kept with a heading, defined by NH or SH, before any
2443 automatic page break. If insufficient space remains on the
2444 current page, a page break is forced before the heading.
2447 (Thanks to Joerg van den Hoff, for this idea).
2449 New numeric register: Sets the first level of heading (set with
2450 NH), which will keep the same point size as body text; e.g. if
2451 GROWPS is set to 3, .NH 3, .NH 4, ... will produce headings at the
2452 point size specified by \n[PS], but .NH 2 and .NH 1 will have
2453 progressively larger point sizes, determined by \n[PSINCR] (see
2457 New numeric register: Sets the point size increment for each level
2458 of heading, (set with NH), below the threshold level set by
2459 GROWPS; e.g. if \n[PS] = 10, \n[GROWPS] = 3 and \n[PSINCR] = 2.0p,
2460 then .NH 1 will produce 14pt headings, .NH 2 will produce 12pt,
2461 and all other levels will remain at 10pt, (because \n[PS] = 10).
2464 Existing macro now accepts a numeric argument, to make heading
2465 size match that of NH with same argument value, when the
2466 GROWPS/PSINCR feature is enabled.
2469 New string, set by NH macro, replaces the existing (undocumented)
2470 use of SN, to represent the assigned section number.
2473 New string, set by NH macro, represents the assigned section
2474 number, but omits the terminal period (periods at intermediate
2475 levels are retained).
2478 String set by NH macro, originally undocumented, now implemented
2479 as an alias for SN-DOT (which reproduces original behaviour).
2481 * tmac/s.tmac (PORPHANS): New register.
2482 (par*start): Use it.
2483 (HORPHANS, GROWPS, PSINCR): New registers.
2484 (SH-NO-TAG, @SH): Use them.
2487 2004-09-19 Keith Marshall <keith.d.marshall@ntlworld.com>
2489 * NEWS, doc/groff.texinfo, tmac/groff_ms.man: Document the deletion
2490 of `Ds' and `De' macros.
2492 2004-09-10 Werner LEMBERG <wl@gnu.org>
2494 In tbl, handle \a as an interpreted leader character if in
2497 * src/preproc/tbl/table.h (PREFIX, PREFIX_CHAR, LEADER,
2498 LEADER_CHAR): New macros.
2499 (compatible_flag): New declaration.
2501 * src/preproc/tbl/main.cpp (table_input): Add LEADER_1, LEADER_2,
2502 LEADER_3, and LEADER_4 to `state'.
2503 (table_input::get): Handle `\a'.
2505 * src/preproc/tbl/table.cpp (PREFIX): Removed.
2506 (LEADER_REG): New macro.
2507 (table::init_output): Define LEADER_REG string register if in
2510 * src/preproc/tbl/tbl.man: Document it.
2512 2004-08-18 Werner LEMBERG <wl@gnu.org>
2514 * tmac/doc.tmac (An): Fix error message.
2516 2004-08-06 Werner LEMBERG <wl@gnu.org>
2518 * src/preproc/tbl/main.cpp (main): Call `fatal' not `error' if a
2519 file can't be opened. UNIX tbl has the same behaviour.
2521 2004-08-05 Y T <doarhop@hotmail.com>
2523 * src/preproc/grn/hdb.cpp (compatibility_flag): Add declaration.
2524 (DBRead): If in compatibility mode, take into account the text
2525 when computing figure boundaries.
2527 2004-08-05 Werner LEMBERG <wl@gnu.org>
2529 * src/preproc/soelim/soelim.man: Improved. Based on suggestions
2530 from Tadziu Hoffmann.
2532 2004-08-03 Werner LEMBERG <wl@gnu.org>
2534 * doc/meref.me: Document `_M' register.
2536 2004-08-03 Martin Husemann <martin@duskware.de>
2538 Make hpftodit work correctly on big-endian systems.
2540 * src/utils/hpftodit/hpftodit.cpp (File): New method
2541 `get_uint32(char *)'.
2542 (entry): New member `orig_value'.
2543 (read_tags): Use new method.
2544 (output_font_name, read_and_output_pcltypeface, dump_ascii):
2547 2004-08-01 Werner LEMBERG <wl@gnu.org>
2549 * tmac/s.tmac: Undo change 2003-06-29. The proper macro definitions
2550 are already in X11's `macros.t' file.
2552 2004-08-01 Jeff Conrad <jeff_conrad@msn.com>
2554 * src/utils/hpftodit/hfptodit.cpp (output_font_name, dump_ascii):
2556 (read_and_output_pcltypeface): Handle strings with length <= 4.
2558 2004-07-27 Egil Kvaleberg <egil@kvaleberg.no>
2560 * tmac/s.tmac (pg@top): Don't save `PO' register.
2561 (pg*end-col, pg*end-page): Directly use `PO' register.
2563 2004-07-27 Werner LEMBERG <wl@gnu.org>
2565 * man/groff_tmac.man: Mention `trace' and `pic' macro packages.
2567 * src/preproc/refer/refer.cpp (output_references): Check for
2569 * src/preproc/refer/refer.man: Improve documentation of
2570 `bibliography' command.
2572 2004-07-26 Werner LEMBERG <wl@gnu.org>
2574 Add requests `fcolor' and `gcolor'.
2576 * src/roff/troff/env.cpp (fill_color_change, glyph_color_change):
2578 (init_env_requests): Add `fcolor' and `gcolor'.
2580 * src/roff/troff/input.h: Export do_glyph_color and do_fill_color.
2582 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
2583 Document new requests.
2585 2004-07-24 Werner LEMBERG <wl@gnu.org>
2587 Add support for fractional point sizes in ms macros. A value for
2588 PS, VS, FPS, and FVS greater than or equal to 1000 is always divided
2589 by 1000. For example, `.nr PS 10250' sets the font size to 10.25p.
2591 * tmac/s.tmac (@AU, @AI, par@load-init, par@init, par@reset, NL,
2592 PX): Handle fractional point sizes for PS, VS, FPS, and FVS.
2594 * tmac/groff_ms.man, docs/groff.texinfo, NEWS: Document it.
2596 2004-07-19 Werner LEMBERG <wl@gnu.org>
2598 * src/preproc/pic/lex.cpp (for_input): Add member `from'.
2600 (do_for, for_input::get, for_input::peek): Handle negative `by'.
2601 * src/preproc/pic/pic.man, doc/pic.ms, NEWS: Document it.
2603 2004-07-08 Thomas Klausner <wiz@netbsd.org>
2605 * tmac/doc-syms (doc-str-St--p1003.1-2004): New string.
2606 * tmac/groff_mdoc.man: Updated.
2608 2004-07-05 Werner LEMBERG <wl@gnu.org>
2610 * doc/groff.texinfo: Further improve documentation of `hcode'.
2612 2004-07-04 Sang Dae Yu <sdyu@bh.knu.ac.kr>
2614 Improve appearance of arrows in pic.
2616 * src/preproc/pic/object.cpp (draw_arrow): Make outline of filled
2618 Use two line segments for drawing non-filled arrow head.
2619 (line_object::print, spline_object::print): Shorten line length to
2620 avoid arrow sticking.
2621 (arc_object::print): Take arrow direction into account.
2623 2004-07-03 Heinz-Jürgen Oertel <hj.oertel@surfeu.de>
2625 * tmac/groff_www.man: Update documentation of .MPIMG.
2627 2004-07-03 Werner LEMBERG <wl@gnu.org>
2629 * tmac/an-old.tmac (RI): Always start with font `R'.
2630 (RI, IR): Properly end with font `R'.
2632 2004-07-02 Paul Eggert <eggert@cs.ucla.edu>
2634 * man/ditroff.man, man/groff_font.man, man/groff_out.man,
2635 src/devices/grohtml/grohtml.man, src/preproc/grn/grn.man,
2636 src/preproc/pic/pic.man, tmac/groff_man.man, tmac/groff_ms.man:
2637 Don't pass more than six arguments to .R, .I, .B, etc., for
2638 compatibility with traditional troff macros.
2640 2004-07-02 Werner LEMBERG <wl@gnu.org>
2642 * src/roff/troff/input.h: s/COMPATIBLE_SAVE/PUSH_GROFF_MODE/.
2643 s/COMPATIBLE_RESTORE/POP_GROFFCOMP_MODE/.
2645 (PUSH_COMP_MODE): New internal character constant.
2648 * src/roff/troff/input.cpp (get_copy): Handle PUSH_GROFF_MODE,
2649 PUSH_COMP_MODE, and POP_GROFFCOMP_MODE.
2650 (token::next, macro::append): Handle PUSH_COMP_MODE.
2651 (decode_args): Add PUSH_GROFF_MODE or PUSH_COMP_MODE before and
2652 POP_GROFFCOMP after each of the decoded arguments to make them
2653 independent from the compatibility mode status.
2654 (comp_mode): Add `COMP_ENABLE'.
2655 (do_define_string, do_define_macro): Handle COMP_ENABLE.
2656 (define_string, append_string, define_macro, define_indirect_macro,
2657 append_macro, append_indirect_macro): Handle `compatible_flag'.
2658 (chop_macro, substring_request, asciify): Handle PUSH_COMP_MODE.
2660 * man/groff_diff.man, doc/groff.texinfo: Updated.
2662 2004-07-01 Werner LEMBERG <wl@gnu.org>
2664 * doc/groff.texinfo: Improve documentation of `hcode'.
2665 Use @documentencoding and convert document to latin-1; to do that
2666 make latin characters active and assign proper macros (within a
2667 @tex...@end tex environment).
2668 * doc/Makefile.in (.texinfo.html, groff): Use --enable-encoding.
2669 * doc/Makefile.sub (groff): Ditto.
2671 2004-06-29 Werner LEMBERG <wl@gnu.org>
2673 Implement two new conditional operators `F <name>' and `S <name>'
2674 which check whether <name> is a valid font or style, respectively.
2676 * src/libs/libgroff/font.cpp (text_file): Add `silent' member.
2677 (text_file::text_file): Updated.
2678 (text_file::error): Don't emit message if `silent' is set.
2679 (font::load_font): Add optional third argument (which is directly
2681 (font::load): Add optional second argument to check the header of
2682 a font only, without emitting warning or error messages.
2683 * src/include/font.h (font): Updated.
2685 * src/roff/troff/input.cpp (do_if_request): Implement `S' and `F'
2687 * src/roff/troff/node.cpp (mount_font_no_translate): Add optional
2688 fourth argument to check a font without mounting.
2689 (check_font, check_style): New functions.
2690 * src/roff/troff/node.h: Updated.
2692 * man/groff_diff.man, man/groff.man, NEWS, doc/groff.texinfo:
2695 2004-06-27 Werner LEMBERG <wl@gnu.org>
2697 Implement new string-valued register `.sty' to return the current
2700 * env.cpp (environment::get_style_name_string): New function.
2701 (init_env_requests): Add `.sty' register.
2702 * env.h (environment): Updated.
2703 * node.cpp (font_info): Make `get_style_name' a friend.
2704 (get_style_name): New function.
2707 * man/groff_diff.man, man/groff.man, NEWS, doc/groff.texinfo:
2710 2004-06-15 Werner LEMBERG <wl@gnu.org>
2712 * src/preproc/tbl/main.cpp (process_data) <GOT_RIGHT_BRACE>: Handle
2715 2004-06-10 Colin Percival <colin.percival@wadham.ox.ac.uk>
2717 * doc/meintro.me, doc/meref.me: Don't use \*[td], \n[dy], \*[mo],
2718 and \n[mo] to avoid dependency on current date.
2720 2004-06-08 Werner LEMBERG <wl@gnu.org>
2722 * Makefile.sub (install_data): New target.
2724 2004-06-04 Werner LEMBERG <wl@gnu.org>
2726 * src/libs/libxutil/Makefile.sub (EXTRA_CFLAGS): Define.
2728 2004-06-03 Werner LEMBERG <wl@gnu.org>
2730 * src/devices/xditview/Makefile.sub (EXTRA_LDFLAGS): Fix typo and
2732 (install_data): Add $(srcdir).
2734 * src/utils/xtotroff/Makefile.sub (EXTRA_LDFLAGS): Fix order of
2737 2004-06-02 Werner LEMBERG <wl@gnu.org>
2739 * aclocal.m4 (GROFF_X11): s/have_no_x/groff_no_x/.
2740 Add X11 stuff to CFLAGS, LDFLAGS, and LIBS temporarily.
2741 Add test for Xmu library.
2742 (GROFF_APPRESDIR_OPTION, GROFF_APPRESDIR_CHECK,
2743 GROFF_APPRESDIR_DEFAULT): New macros.
2745 * configure.ac: Call GROFF_APPRESDIR_OPTION, GROFF_APPRESDIR_CHECK,
2746 and GROFF_APPRESDIR_DEFAULT.
2748 * configure: Regenerated.
2750 * Makefile.in (appresdir): New variable.
2751 (MDEFINES): Add appresdir.
2753 * src/devices/xditview/Makefile.sub (EXTRA_LDFLAGS): Add -Xmu and
2755 (install_data, uninstall_sub): New targets to handle GXditview.ad.
2757 * src/utils/indxbib/Makefiles.ub (install_data): Depend on
2758 `$(srcdir)/eign', not `eign'.
2760 * MANIFEST, INSTALL, NEWS, PROBLEMS: Updated.
2762 * man/groff_out.man, man/roff.man, src/devices/grops/grops.man,
2763 src/devices/xditview/gxditview.man, src/roff/groff/groff.man:
2764 Protect (g)xditview with `\%' to avoid hyphenation.
2765 Other minor formatting.
2767 2004-06-01 Werner LEMBERG <wl@gnu.org>
2769 Integrate gxditview into groff's standard directory hierarchy.
2771 * src/xditview/*: Moved to ...
2772 * src/devices/xditview/*: Here.
2773 Moved DviChar.h and XFontName.h to src/include.
2774 Moved DviChar.c and XFontName.c to new directory src/libs/libxutil.
2775 Split off `xmalloc' into new file src/libs/libxutil/xmalloc.c.
2776 Moved xtotroff.c to new directory src/utils/xtotroff.
2777 Provide proper Makefile.sub files (reusing the stuff from
2779 DESC renamed to DESC.in.
2780 Removed GXDitview-ad.h, INSTALL, Imakefile.in.
2781 Converted everything from K&R to ANSI C.
2782 Decorated with const where appropriate.
2783 Cast string constants with `String' and `char *' where appropriate.
2784 Made it compile with C++ (used as a C compiler).
2785 Removed other minor compiler warnings.
2787 * src/devices/xditview/device.c: Include config.h, string.h, and
2789 Don't declare `exit', `strtok', `strchr', and `getenv'.
2792 * src/devices/xditview/font.c: Don't declare `XParseFontName' and
2795 * src/devices/xditview/xditview.c: Include config.h.
2796 Include stdio.h earlier.
2797 Protect declaration of `popen' and `pclose' with
2798 NEED_DECLARATION_POPEN and NEED_DECLARATION_PCLOSE.
2799 Replace `caddr_t' with `XtPointer'.
2800 (MakePromptFunc): New typedef.
2801 (DoPrint): Use RETSIGTYPE.
2802 (promptfunction): Change type to MakePromptFunc.
2803 (MakePrompt): Use MakePromptFunc for third argument.
2806 * src/devices/xditview/ad2c: Add casts to `String'.
2808 * src/include/XFontName.h (XFontNameString): Don't use array
2810 Add prototypes for `XParseFontName', `XFormatFontName',
2811 `XCompareFontName', and `XCopyFontName'.
2813 * src/include/Makefile.sub (HDRS): Add `DviChar.h' and
2816 * src/utils/xtotroff/xtotroff.c: Include getopt.h.
2817 Don't declare `XParseFontName' and `XFormatFontName'.
2819 (main): Remove `optind' and `optarg'.
2821 * Makefile.in (XDEVDIRS, XPROGDIRS, XLIBDIRS): New variables
2822 (to select programs which need X).
2823 Make XDEVIDIRS depend on `FORCE'.
2824 (X_CFLAGS, X_LIBS, X_EXTRA_LIBS, X_PRE_LIBS): New variables (for
2826 (MDEFINES): Updated.
2827 (LIBDIRS): Use XLIBDIRS.
2828 (CPROGDIRS): Use XPROGDIRS.
2829 (DEVDIRS): Remove font directories for gxditview.
2830 (ALLDIRS, DISTDIRS): Add XDEVDIRS.
2831 (EXTRADIRS): Remove src/xditview.
2833 * Makefile.sub (DISCLEANFILES): Updated.
2835 * Makefile.comm (LIBXUTIL): New variable.
2836 (.cpp.o, .cpp.obj): Handle EXTRA_CCFLAGS.
2837 (.c.o, .c.obj, .y.o): Handle EXTRA_CFLAGS.
2839 * Makefile.cpg, Makefile.ccpg ($PROG): Handle EXTRA_LDFLAGS.
2841 * aclocal.m4 (GROFF_X11): New function.
2843 * configure.ac: Call GROFF_X11.
2844 Don't create src/xditview/Imakefile.
2845 Don't emit notice how to build gxditview.
2847 * configure: Regenerated.
2849 * test-groff.in (GROFF_BIN_PATH, XENVIRONMENT): Updated.
2851 2004-05-28 Akihiro Sagawa <sagawa@sohgoh.net>
2853 * Makefile.in (CPPFLAGS): Define.
2854 (MDEFINES): Add CPPFLAGS.
2856 2004-05-27 Werner LEMBERG <wl@gnu.org>
2858 * arch/misc/Makefile.sub (shdeps.sed): Use $(srcdir).
2860 2004-05-26 Niklas Edmundsson <nikke@acc.umu.se>
2862 Fix problems with `friend name injections'.
2864 * src/preproc/eqn/box.h (make_mark_box, make_lineup_box,
2865 make_script_box), src/roff/troff/div.h (end_diversions),
2866 src/roff/troff/env.h (title), input.cpp (process_input_stack): Undo
2869 2004-05-25 Bernd Warken <bwarken@mayn.de>
2871 * src/preproc/pic/pic.man, doc/pic.ms: Add example for `command'.
2873 2004-05-25 Werner LEMBERG <wl@gnu.org>
2875 * src/libs/libgroff/cset.cpp, src/libs/libgroff/lf.cpp,
2876 src/libs/libgroff/color.cpp: Include lib.h.
2878 2004-05-25 Paul Eggert <eggert@cs.ucla.edu>
2880 * PROBLEMS: Update documentation for problems with Sun C++ 5.0
2881 through Forte 6u1, and for how to get GNU make on Solaris.
2883 2004-05-24 Werner LEMBERG <wl@gnu.org>
2885 * PROBLEMS: Document problems with gcc 3.4.0 on Sun. Reported
2888 2004-05-15 Keith Marshall <keith.d.marshall@ntlworld.com>
2890 * arch/misc/Makefile.sub (shdeps.sed): Don't use `$<' in explicit
2893 2004-05-14 Werner LEMBERG <wl@gnu.org>
2895 * REVISION: Set to 2.
2897 * aclocal.m4 (GROFF_STDINT_H): Removed.
2898 (GROFF_INTTYPES_H): Define HAVE_CC_INTTYPES_H.
2900 * configure.ac: Updated.
2901 * configure, src/include/config.hin: Regenerated.
2903 * src/libs/libgroff/tmpname.cpp: Don't include stdint.h but
2904 inttypes.h conditionally.
2906 2004-05-13 Werner LEMBERG <wl@gnu.org>
2908 Version 1.19.1 released
2909 =======================
2911 2004-05-10 Stephen Gildea <http://www.gildea.com/stephen>
2913 * src/preproc/refer/label.y (same_author_last_name,
2914 same_author_name): Handle empty sort keys.
2916 2004-05-10 Werner LEMBERG <wl@gnu.org>
2918 * NEWS, README, TODO, PROJECTS, PROBLEMS, MANIFEST, doc/webpage.ms,
2921 * tmac/doc-syms (doc-str-Lb-libposix, doc-str-Lb-libpthread,
2922 doc-str-Lb-librt): Reset font.
2923 (Lb): Rename `doc-str-Lb' to `doc-str-Lb1'.
2924 Provide `doc-str-Lb' to reset font.
2925 * tmac/groff_mdoc.man: Updated.
2927 2004-05-08 Jan Schaumann <jschauma@netmeister.org>
2929 * src/preproc/html/pre-html.cpp (make_message): Make it work for
2930 snprintf versions which don't conform to ANSI C 99 (this is,
2931 counting the string's trailing null byte in the return value).
2933 2004-05-07 Keith Marshall <keith.d.marshall@ntlworld.com>
2935 * src/roff/troff/node.cpp (suppress_node::tprint): Don't expect
2936 that all implementations of sprintf handle null pointers correctly.
2938 2004-05-04 Werner LEMBERG <wl@gnu.org>
2940 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
2941 Document `.U' register.
2943 * src/roff/troff/env.cpp (environment::mark_last_line)
2944 [WIDOW_CONTROL]: Fix scope of `p' for new C++ compilers.
2946 2004-05-04 Larry Kollar <kollar@alltel.net>
2948 New read-only register `.U'; it returns 1 in safer mode and 0
2951 * src/roff/troff/input.cpp (init_input_requests): Implement `.U'
2954 2004-05-03 Werner LEMBERG <wl@gnu.org>
2956 * install-sh, mkinstalldirs: New versions; taken from texinfo CVS.
2958 2004-04-17 Werner LEMBERG <wl@gnu.org>
2960 * src/include/font.h (font): Use `int' for ch_index.
2961 * src/libs/libgroff/font.cpp (font::alloc_ch_index,
2962 font::compact): Updated.
2964 * src/roff/groff/pipeline.c (run_pipeline) [_WIN32]: Fix compiler
2967 * src/roff/troff/div.cpp (begin_page), src/roff/troff/env.cpp
2968 (hyphen_word): Fix compiler warnings.
2969 * src/roff/troff/input.cpp (get_char_for_escape_name): Return
2972 (get_delim_number, get_line_arg): Change second argument type to
2974 (macro_header::copy, token::next, do_define_string,
2975 do_define_character, substring_request, asciify_macro,
2976 unformat_macro, read_size, non_interpreted_node::interpret,
2977 while_request, main: Fix compiler warnings.
2978 (read_color_draw_node): Initialize `col'.
2980 * src/preproc/tbl/table.cpp (horizontal_span, table_entry): Make
2981 `start_col' and `end_col' of type `int'.
2982 (vertical_rule): Make `col' of type `int'.
2984 * src/preproc/grn/hdb.cpp (DBRead): Protect call to getc with check
2987 * src/preproc/refer/label.y (uppercase_array, lowercase_array):
2989 (format_serial): Use them to remove dependency on ASCII.
2991 * src/devices/grops/ps.cpp (ps_printer::define_encoding): Fix
2993 * src/devices/grops/psrm.cpp (resource_manager::supply_resource):
2996 * src/devices/grotty/tty.cpp (tty_font::load_tty_font): Fix
2998 (glyph): Change type of `hpos' to `int'.
3000 * src/devices/lbp/lbp.cpp (strsep): Removed. Unused.
3001 * src/devices/lbp/lbp.h (splinerel): Fix compiler warnings.
3003 * src/utils/tfmtodit.cpp (gf::load): Fix compiler warnings.
3005 * src/utils/pfbtops/pfbtops.c (get_text): Fix compiler warning.
3007 2004-04-16 Werner LEMBERG <wl@gnu.org>
3009 * src/devices/grolbp/lbp.h, src/preproc/grn/gprint.h,
3010 src/preproc/grn/hgraph.cpp, src/preproc/grn/hpoint.cpp,
3011 src/preproc/html/pushback.cpp, src/preproc/html/pushback.h: Use
3012 `double' instead of `float' everywhere.
3013 * src/preproc/grn/main.cpp: Use `double' instead of `float'
3015 (main): Add return value.
3016 * src/preproc/grn/hdb.cpp: Use `double' instead of `float'
3018 Update all user functions.
3020 * src/include/search.h, src/include/ptable.h, src/include/printer.h,
3021 src/preproc/eqn/box.h, src/preproc/pic/object.h,
3022 src/preproc/refer/refer.h, src/preproc/tbl/table.h,
3023 src/preproc/tbl/table.cpp, src/roff/troff/env.h,
3024 src/roff/troff/div.h, src/roff/troff/token.h, src/roff/troff/node.h,
3025 src/roff/troff/input.cpp, src/roff/troff/request.h,
3026 src/roff/troff/node.cpp: Don't mix `struct' and `class' in forward
3029 * src/utils/indxbib/signal.c: Include stdlib.h.
3031 2004-04-14 Keith Marshall <keith.d.marshall@ntlworld.com>
3033 * tmac/s.tmac (@init, RP): Allow initialization of the PO register
3034 before the first page.
3036 2004-04-14 Thomas Klausner <wiz@netbsd.org>
3038 * tmac/doc-common (doc-volume-as-*): Use lowercase names.
3039 (doc-operating-system-*): Updated.
3040 * tmac/doc-syms (doc-str-St-*): Various small fixes.
3041 (doc-str-Lb-*): Add more library names.
3043 2004-04-10 Art Haas <ahaas@airmail.net>
3045 * src/utils/hpftodit/hpuni.cpp (hp_msl_to_unicode_list): Don't
3048 2004-04-09 Art Haas <ahaas@airmail.net>
3050 * src/utils/tfmtodit.cpp (lig_chars): Don't use anonymous type.
3052 2004-04-09 Keith Marshall <keith.d.marshall@ntlworld.com>
3054 * arch/misc/shdeps.sh: Generate better comment for sed script.
3056 2004-04-08 Art Haas <ahaas@airmail.net>
3058 * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list),
3059 src/libs/libgroff/uniglyph.cpp (unicode_to_glyph_list),
3060 src/libs/libgroff/uniuni.cpp (unicode_decompose_list),
3061 src/preproc/eqn/box.cpp (param_table), src/preproc/grn/hgraph.cpp
3062 (polyfill), src/preproc/grn/main.cpp (polyfill),
3063 src/preproc/refer/command.cpp (command_table),
3064 src/utils/tfmtodit.cpp (lig_table): Don't use anonymous types (which
3065 gcc 3.5 doesn't like).
3067 2004-04-08 Werner LEMBERG <wl@gnu.org>
3069 Removing many compiler warnings. groff should now compile with
3070 a C++ compiler used for C files also. [Simple variable renamings
3071 to avoid shadowing aren't logged in detail.]
3073 * src/devices/grodvi/dvi.cpp: Some local variable renamings.
3074 (draw_dvi_printer::draw) ['c']: Enclose in block.
3076 * src/devices/grohtml/post-html.cpp: Some local variable renamings.
3077 (page::add_line): Fix typos.
3078 * src/devices/grohtml/html-text.cpp: Some local variable renamings.
3080 * src/devices/grolbp/lbp.cpp: Don't define _GNU_SOURCE.
3081 Some local variable renamings.
3082 * src/devices/grolbp/lbp.h: Some local variable renamings.
3084 * src/devices/grolj4/lj4.cpp, src/devices/grotty/tty.cpp: Some local
3087 * src/libs/libbib/index.cpp (index_search_item_iterator::get_tag):
3088 Remove redundant local variable declaration.
3089 * src/libs/libbib/map.c (mapread, unmap): Don't use K&R style.
3090 Don't use `caddr_t' but `void *'.
3091 Enclose functions with `extern "C"' for C++.
3093 * src/libs/libdriver/input.cpp (remember_filename,
3094 remember_source_filename): Use cast for string constant.
3096 * src/libs/libgroff/font.cpp, src/libs/libgroff/fontfile.cpp,
3097 src/libs/libgroff/nametoindex.cpp, src/libs/libgroff/paper.cpp,
3098 src/libs/libgroff/geometry.cpp: Some local variable renamings.
3099 * src/libs/libgroff/iftoa.c, src/libs/libgroff/itoa.c: Don't use K&R
3101 Enclose functions with `extern "C"' for C++.
3102 * src/libs/libgroff/quotearg.c (TRUE,FALSE): Define as macros.
3103 (needs_quoting): Return `int'.
3104 (quote_arg): Add proper casts to malloc and realloc.
3105 * src/libs/libgroff/spawnvp.c: Compile code only for MS-DOS and
3106 various MS Windows environments.
3107 (spawnvp_wrapper): Add proper cast to malloc.
3109 * src/preproc/eqn/box.h: Remove redundant declarations of
3110 `make_script_box', `make_mark_box' and `make_lineup_box'.
3111 * src/preproc/eqn/eqn.y: Remove redundant declaration of `strsave'.
3112 * src/preproc/eqn/script.cpp, src/preproc/eqn/pile.cpp: Some local
3115 * src/preproc/grn/hpoint.cpp: Some local variable renamings.
3116 * src/preproc/grn/hgraph.cpp: Some local variable renamings.
3117 (dx, dy): Renamed functions to...
3118 (deltax, deltay): This.
3119 * src/preproc/grn/main.cpp: Some local variable renamings.
3120 (deffont): Add `const'.
3121 (initpic, conv): Use cast for string constant.
3123 * src/preproc/html/pre-html.cpp: Some local variable renamings.
3124 (makeFileName, alterDeviceTo, addZ): Use cast for string constant.
3125 (char_buffer::run_output_filter): Second argument is unused.
3126 * src/preproc/html/pushback.cpp: Some local variable renamings.
3128 * src/preproc/pic/pic.y: Remove redundant declaration of `do_copy'.
3129 * src/preproc/pic/object.cpp: Some local variable renamings.
3131 * src/preproc/refer/label.y (lookup_label): Remove redundant
3132 declaration of local variable.
3134 * src/preproc/soelim.cpp: Remove redundant declaration of
3135 `interpret_lf_args'.
3137 * src/preproc/tbl/main.cpp: Some local variable renamings.
3139 * src/roff/groff/groff.cpp (main): Use cast for string constant.
3140 * src/roff/groff/pipeline.c: Enclose declarations of `error',
3141 `c_fatal', and `i_to_a' with `extern "C"' for C++.
3142 Don't use C++-style comments.
3144 * src/roff/troff/env.h: Remove redundant declaration of `title'.
3145 * src/roff/troff/node.h, src/roff/troff/env.cpp,
3146 src/roff/troff/div.cpp, src/roff/troff/node.cpp: Some local variable
3148 * src/roff/troff/div.h: Remove redundant declaration of
3150 * src/roff/troff/troff.h: Remove redundant declaration of
3152 * src/roff/troff/input.cpp: Remove redundant declaration of
3153 `handle_first_page_transition' and `process_input_stack'.
3155 * src/utils/hpftodit.cpp: Some local variable renamings.
3157 * src/utils/indxbib/signal.c: Enclose functions with `extern "C"'
3159 Don't define RETSIGTYPE.
3160 * src/utils/indxbib/indxbib.cpp: Some local variable renamings.
3162 * src/utils/pfbtops/pfbtops.cpp: Don't use K&R style.
3163 (error): Use `const' in argument.
3164 (main): Remove redundant declaration of `optind'.
3165 Move declaration of `Version_string' to top-level.
3167 * PROBLEMS: Document difficulties compiling signal.c if a C++
3168 compiler is used for C.
3170 2004-04-07 Werner LEMBERG <wl@gnu.org>
3172 * Makefile.sub (DISTCLEANFILES): Add `test-groff'.
3174 2004-04-06 Keith Marshall <keith.d.marshall@ntlworld.com>
3176 Make scripts like nroff.sh and neqn.sh portable across various
3177 (Unix-like) shell implementations from Cygwin, MSYS, etc., which use
3178 non-POSIX path separators. The idea is to extend those scripts to
3179 decide at run-time (of the script) which path separator to use.
3181 * arch/misc/Makefile.sub: New file.
3182 * arch/misc/shdeps.sh: New file, generating OS dependency fixups.
3183 This script handles @GROFF_BIN_PATH_SETUP@, replacing it with
3184 a proper definition of the variable `GROFF_RUNTIME'.
3186 * Makefile.in (SH_DEPS_SED_SCRIPT): New variable.
3187 (MDEFINES): Add SH_DEPS_SED_SCRIPT.
3188 (PROGDEPDIRS): New variable.
3190 (PROGDIRS): Add PROGDEPDIRS.
3192 * src/preproc/eqn/Makefile.sub (neqn): Call SH_DEPS_SED_SCRIPT.
3193 Don't substitute @SEP@ and @BINDIR@.
3194 * src/preproc/eqn/neqn.sh: Use @GROFF_BIN_PATH_SETUP@.
3195 (PATH): Use GROFF_RUNTIME.
3197 * src/roff/nroff/Makefile.sub (nroff): Call SH_DEPS_SED_SCRIPT.
3198 Don't substitute @SEP@ and @BINDIR@.
3199 * src/roff/nroff/nroff.sh: Use @GROFF_BIN_PATH_SETUP@.
3200 (PATH): Use GROFF_RUNTIME.
3202 2004-04-05 Keith Marshall <keith.d.marshall@ntlworld.com>
3204 * src/roff/nroff/nroff.sh: Implement work-around for sh.exe from
3205 Cygwin which doesn't handle stderr correctly.
3207 2004-03-08 Werner LEMBERG <wl@gnu.org>
3209 * Makefile.comm (install_dev, uninstall_dev): Protect `for' loops
3210 against empty argument. Problem reported by <cgd@broadcom.com>.
3212 2004-03-05 Keith Marshall <keith.d.marshall@ntlworld.com>
3214 * Makefile.in (SEP): Replaced with...
3215 (RT_SEP, SH_SEP): Separators for the target platform's native path
3216 separator and the build environment, respectively.
3217 (fontpath, tmacpath): Use RT_SEP.
3218 (MDEFINES): Updated.
3220 * contrib/mom/Makefile.sub (GROFF_BIN_PATH): Use SH_SEP.
3221 * doc/Makefile.sub (GROFF_BIN_PATH): Use SH_SEP.
3222 * src/preproc/eqn/Makefile.sub (neqn): Use SH_SEP.
3223 * src/roff/nroff/Makefile.sub (nroff): Use SH_SEP.
3225 2004-03-05 Werner LEMBERG <wl@gnu.org>
3227 * fonts/devlj4/Makefile.sub (LJ4RES): Set to 1200. This helps to
3228 reduce alignment problems with newer printers which use built-in
3229 TrueType fonts (instead of the older Intellifonts). The ideal
3230 solution is to provide a second set of groff metric files, but this
3231 is extremely time-consuming to produce, given that HP's metric
3232 files are very rudimentary.
3234 2004-03-01 Werner LEMBERG <wl@gnu.org>
3236 * src/devices/grolj4/lj4.cpp (main): Fix argument of getopt_long.
3237 s/operand/argument/ in error message.
3239 2004-03-01 Keith Marshall <keith.d.marshall@ntlworld.com>
3241 * src/roff/groff/groff.cpp (main): Don't allow option -o if -Thtml
3244 2004-03-01 Antti Kantee <pooka@netbsd.org>
3246 * tmac/s.tmac (XE): Fix error message.
3248 2004-02-27 Jeff Conrad <jeff_conrad@msn.com>
3250 * src/include/nonposix.h (write, dup, dup2, close) [_MSC_VER]:
3253 * src/roff/groff/pipeline.c: Declare strcasecmp.
3254 (run_pipeline) [_WIN32]: Use function name variants which don't
3256 Fix stream handling.
3258 2004-02-27 Keith Marshall <keith.d.marshall@ntlworld.com>
3260 * src/include/nonposix.h: Fix declaration of `system_shell_name'.
3261 Declare `spawnvp_wrapper' and macro definitions of spawnvp only
3262 for platforms which use the native Win32 runtime libraries.
3263 (FLUSH_INPUT_PIPE) [_UWIN]: Provide non-empty version.
3265 * src/libs/libgroff/quotearg.c (QUOTE_ARG_MALLOC_ERROR,
3266 QUOTE_ARG_REALLOC_ERROR): Fix string.
3268 * src/preproc/html/pre-html.cpp: Remove declaration of
3270 Don't use __MINGW32__.
3271 s/DEBUG_FILE/DEBUG_FILE_DIR/.
3272 (DEBUG_TEXT, DEBUG_NAME, DEBUG_FILE) [DEBUGGING]: New macros.
3273 (OUTPUT_STREAM, PS_OUTPUT_STREAM, REGION_OUTPUT_STREAM): New macros.
3274 (char_buffer::run_output_filter) [MAY_FORK_CHILD_PROCESS]: Fix
3275 calls to `set_redirection' and `WAIT'.
3276 [MAY_SPAWN_ASYNCHRONOUS_CHILD]: Remove unused variable `i' and `j'.
3277 Fix calls to `set_redirection' and `save_and_redirect'.
3278 (char_buffer::do_html, char_buffer::do_image) [DEBUGGING]: Fix calls
3279 to `set_redirection' and `save_and_redirect'.
3280 (usage): Fix message.
3281 (makeTempFiles, main): Use `DEBUG_FILE'.
3283 2004-02-21 Werner LEMBERG <wl@gnu.org>
3285 * src/roff/troff/troff.h (WARN_TOTAL): Fix value.
3287 2004-02-21 Keith Marshall <keith.d.marshall@ntlworld.com>
3289 * src/libs/libgroff/quotearg.c: New file, providing proper argument
3290 quoting for MSVC's spawn* and exec* functions.
3291 * src/libs/libgroff/spawnvp.c: New file, providing a wrapper around
3292 spawnvp with proper quoting for MSVC.
3294 * src/libs/libgroff/assert.cpp (program_name),
3295 src/libs/libgroff/new.cpp (program_name): Declare as `extern "C"'.
3296 * src/libs/libgroff/Makefile.sub (OBJS, CSRCS): Updated.
3298 * src/roff/troff/input.cpp (program_name): Declare as `extern "C"'.
3300 * src/include/error.h (program_name): Declare as `extern "C"'.
3301 * src/include/nonposix.h [__MSDOS__ ...]: Handle spawnvp.
3303 2004-02-21 Jeff Conrad <jeff_conrad@msn.com>
3305 * src/preproc/html/pre-html.cpp [__CYGWIN__ ...]: Declare
3307 [MAY_SPAWN_ASYNCHRONOUS_CHILD]: Declare i and j.
3309 2004-02-20 Jeff Conrad <jeff_conrad@msn.com>
3311 * src/roff/groff/pipeline.c (cmd) [__MSDOS__ || ...]: New global
3313 (sbasename) [__MSDOS__ || ...]: New function.
3314 (system_shell_name) [__MSDOS__ || ...]: Use a different, more
3316 (system_shell_dash_c, is_system_shell) [__MSDOS__ || ...]: Updated.
3317 (run_pipeline) [_WIN32]: Use _XXX variants for some macros instead
3319 Use STDOUT_FILENO instead of hardcoded file handle.
3320 (signal_catcher) [__MSDOS__]: Moved to non-_WIN32 section.
3322 2004-02-19 Werner LEMBERG <wl@gnu.org>
3324 * src/roff/troff/div.cpp: Include nonposix.h after troff.h to
3325 avoid warnings w.r.t. redefinition of P_tmpdir for some compilers.
3327 2004-02-18 Werner LEMBERG <wl@gnu.org>
3329 * font/devlj4/Makefile.sub (DEVFILES): Updated to contain all
3330 new font and mapping files.
3332 2004-02-18 Jeff Conrad <jeff_conrad@msn.com>
3333 Keith Marshall <keith.d.marshall@ntlworld.com>
3335 * src/include/nonposix.h (FLUSH_INPUT_PIPE): New macro to empty
3336 an input pipe. This is needed for the MSVC compiler to make troff's
3339 * src/roff/troff/div.cpp: Include nonposix.h.
3340 (cleanup_and_exit): Call FLUSH_INPUT_PIPE.
3342 2004-02-17 Werner LEMBERG <wl@gnu.org>
3344 * font/devlj4/generate/special.awk: New script.
3345 * font/devlj4/generate/Makefile (S): Use special.awk.
3346 * font/devlj4/*: Regenerated, including the following new files:
3347 Arial (AR, AB, AI, ABI), Times New Roman (TNRR, TNRB, TNRI, TNRBI),
3348 MS Symbol (SYMBOL), Wingdings (WINGDINGS).
3349 * NEWS: Document new lj4 fonts and revised hpftodit.
3351 2004-02-17 Paco Andrés Verdú <pandres@dragonet.es>
3353 * src/devices/grolbp/lbp.h (vmdvarc): Fix formatting string.
3355 2004-01-25 Werner LEMBERG <wl@gnu.org>
3357 * src/libs/libgroff/progname.cpp: Replaced with...
3358 * src/libs/libgroff/progname.c: New file.
3359 * src/libs/libgroff/Makefile.sub: Updated accordingly.
3361 2004-01-17 Werner LEMBERG <wl@gnu.org>
3363 * font/devlj4/generate/Makefile (SYMBOL): Use 9nb28703.tfm.
3365 2004-01-16 Jeff Conrad <jeff_conrad@msn.com>
3367 * font/devlj4/generate/wingdings.map,
3368 font/devlj4/generate/symbol.map: Include unnamed glyphs.
3369 Use groff glyph names where possible.
3370 * src/devices/grolj4/lj4_font.man: Minor updates.
3372 2004-01-13 Werner LEMBERG <wl@gnu.org>
3374 * tmac/www.tmac (DC): Handle TTY devices.
3376 * doc/webpage.ms: Document viewCVS from ffii.org.
3377 * NEWS, README: Updated.
3379 * src/roff/groff/groff.man: Mention lj4_font man page.
3381 * font/devlj4/generate/Makefile (SYMBOLMAP, WINGDINGSMAP): New
3383 (FONTS): Add SYMBOL and WINGDINGS.
3384 (SYMBOL, WINGDINGS): New targets.
3386 2004-01-13 Jeff Conrad <jeff_conrad@msn.com>
3388 * src/devices/grolj4/lj4_font.man: New man page.
3389 * src/devices/grolj4/Makefile.sub (MAN5): New variable.
3390 * src/devices/grolj4.man: Mention lj4_font man page.
3392 * src/utils/hpftodit/hpftodit.cpp (read_map): Handle line comments.
3393 * src/utils/hpftodit/hpftodit.man: Document it.
3395 Remove details about fonts (which are now in lj4_font.man).
3397 * font/devlj4/generate/symbol.map,
3398 font/devlj4/generate/wingdings.map: New files.
3400 2004-01-12 Werner LEMBERG <wl@gnu.org>
3402 * README: Mention ffii's viewcvs access.
3404 2004-01-09 Werner LEMBERG <wl@gnu.org>
3406 * font/devlj4/generate/special.map: Map MSL 228 to U+221F.
3408 2004-01-09 Jeff Conrad <jeff_conrad@msn.com>
3410 Revert most of the change from 2004-01-03 to better control used
3413 * src/utils/hpftodit/hpftodit.cpp (symbol_set): New structure.
3414 (text_symbol_sets, special_symbol_sets): New arrays.
3415 (symbol_set_table): New global variable.
3416 (read_symbol_sets): Use search order given in the text_symbol_sets
3417 and special_symbol_sets arrays. If command line flag -a is not
3418 given, search both arrays.
3419 (output_charset): Require x_height_tag only for command line flag -i.
3421 2004-01-06 Werner LEMBERG <wl@gnu.org>
3423 Implement string-valued registers \n[.m] and \n[.M] to return the
3424 name of the current drawing and background color, respectively.
3426 * src/roff/troff/symbol.h: Moved to...
3427 * src/include/symbol.h: Here.
3428 Small fixes to make it work outside of the `troff' directory.
3429 * src/roff/troff/symbol.cpp: Moved to...
3430 * src/libs/libgroff/symbol.cpp: Here.
3431 Small fixes to make it work outside of the `troff' directory.
3433 * src/include/Makefile.sub (HDRS), src/libs/libgroff/Makefile.sub
3434 (OBJS, CCSRCS), src/roff/troff/Makefile.sub (OBJS, CCSRCS, HDRS):
3437 * src/include/color.h: Include symbol.h.
3438 (color): Add new field `nm'.
3439 * src/libs/libgroff/color.cpp (color::color): Updated.
3441 * src/roff/troff/dictionary.cpp, src/roff/troff/div.cpp,
3442 src/roff/troff/node.cpp, src/roff/troff/number.cpp,
3443 src/roff/troff/reg.cpp: Don't include symbol.h.
3445 * src/roff/troff/env.cpp: Don't include symbol.h.
3446 (environment::get_glyph_color_string,
3447 environment_get_fill_color_string): New member functions.
3448 (init_env_requests): Handle `.m' and `.M' registers.
3449 * src/roff/troff/input.cpp: Don't include symbol.h.
3450 (default_symbol): Moved to symbol.cpp/symbol.h.
3451 (do_glyph_color, do_fill_color, define_color): Pass symbol name
3452 to color constructor.
3453 * src/roff/troff/env.h: Updated.
3455 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
3456 Document new registers.
3458 2004-01-05 Werner LEMBERG <wl@gnu.org>
3460 * src/roff/troff/node.cpp (space_node::get_breakpoints,
3461 space_node::nbreaks): Protect against zero `next' field.
3463 2004-01-03 Jeff Conrad <jeff_conrad@msn.com>
3465 In hpftodit, use the symbol sets offered in the TFM.
3467 * src/utils/hpftodit/hpftodit.cpp (NO_GLYPH): New constant.
3468 (symbol_set, text_symbol_sets, special_symbol_sets,
3469 symbol_set_table): Removed.
3470 (get_printcode): Removed.
3471 (read_symbol_sets): Initialize `symbol_set' field with
3473 Simplify code to just use the `kind' value.
3474 (output_charset): Improve output formatting.
3475 (dump_symbols): Simplified.
3477 2004-01-02 Werner LEMBERG <wl@gnu.org>
3479 * font/devlj4/generate/text.map: Add more MSL numbers.
3481 2004-01-02 Jeff Conrad <jeff_conrad@msn.com>
3483 * src/utils/hpftodit/hpftodit.cpp (is_decomposed): New macro.
3484 (text_symbol_sets): Add more symbol sets.
3485 (debug_flag): New static variable (moved from `main').
3486 (get_printcode, show_symset): New functions.
3487 (main): Remove `debug_flag'.
3488 (output_charset): Use `show_symset'.
3489 (dump_symbols): Use `show_symset'.
3490 Print symsets for all glyphs.
3491 (read_map): Actually call `unicode_to_ucode_make' but this time
3494 2004-01-01 Werner LEMBERG <wl@gnu.org>
3496 * font/devlj4/generate/text.map, font/devlj4/generate/special.map:
3497 Fix placement of comments.
3499 2004-01-01 Jeff Conrad <jeff_conrad@msn.com>
3501 * src/utils/hpftodit/hpftodit.cpp (main): Read map file also if
3502 option `-d' is given.
3503 (output_charset): Improve warning messages to give more information.
3504 (dump_symbols): Make information more precise.
3506 (read_map): Don't call unicode_to_ucode_name; the glyph names must
3507 appear as-is and shouldn't be decomposed.
3509 2003-12-31 Werner LEMBERG <wl@gnu.org>
3511 * src/utils/hpftodit/hpftodit.cpp (dump_tags): Handle posture_tag.
3512 * font/devlj4/generate/Makefile (IFLAG): Updated to new units.
3513 (FONTS): Add TrueType font families Arial and Times New Roman.
3514 (TNRR, TNRB, TNRI, TNRBI, AR, AB, AI, ABI): New targets.
3515 * font/devlj4/generate/text.map: Fix Unicode values of `fi' and
3518 2003-12-31 Jeff Conrad <jeff_conrad@msn.com>
3520 * test-groff.in (SEP): Quote value.
3521 * src/roff/troff/node.cpp (suppress_node::tprint): Change type of
3522 `tem' to `char*' to avoid deallocation of a pointer to a constant
3523 object which some compilers don't like.
3525 2003-12-31 Werner LEMBERG <wl@gnu.org>
3527 * font/devlj4/generate (text.map, special.map): Rewritten to work
3528 with the new hpftodit version.
3530 2003-12-30 Jeff Conrad <jeff_conrad@msn.com>
3532 * src/utils/hpftodit/hpftodit.cpp (output_charset): Emit HP symbol
3533 set and 8bit character code for all glyphs also.
3535 2003-12-30 Werner LEMBERG <wl@gnu.org>
3537 * src/libs/libgroff/strcasecmp.c: Updated from gnulib.
3539 2003-12-29 Werner LEMBERG <wl@gnu.org>
3541 More fixes for MSVC compiler.
3543 * doc/Makefile.sub, contrib/mom/Makefile.sub (GROFF_BIN_PATH): Use
3546 * src/include/nonposix.h (STDIN_FILENO, STDOUT_FILENO,
3547 STDERR_FILENO) [_MSC_VER]: Define conditionally.
3548 (getpid) [_MSC_VER]: Remove.
3549 Include direct.h and process.h conditionally.
3551 * src/roff/troff/node.cpp (suppress_node::tprint): Don't use
3552 parentheses for a_delete.
3554 * src/utils/lookbib/lookbib.cpp: Include nonposix.h.
3556 * test-groff: Replaced with...
3557 * test-groff.in: This new template to handle path separator
3560 * configure.ac: Check for direct.h and process.h.
3561 Generate test-groff script.
3562 * configure, src/include/config.hin: Regenerated.
3564 2003-12-28 Werner LEMBERG <wl@gnu.org>
3566 Add integral extension glyph.
3567 Add new option `-x' to afmtodit to suppress use of built-in AGL.
3569 * font/devhtml/R.proto, font/devutf8/R.proto: Add `u23AE'.
3571 * font/devps/generate/textmap: Provide entry for `integralex' to
3572 override (old) PUA value of the AGL.
3573 * font/devps/generate/Makefile (SS): Add afmtodit option `-x'.
3574 * font/devps/*: Regenerated.
3576 * src/utils/afmtodit/afmtodit.pl: Add option `-x'.
3577 * src/utils/afmtodit/afmtodit.man, NEWS: Updated.
3579 2003-12-27 Werner LEMBERG <wl@gnu.org>
3581 Add forgotten `coproduct' symbol (already available for DVI).
3583 * font/devhtml/R.proto, font/devps/generate/textmap,
3584 font/devps/symbolmap, font/devutf8/R.proto, man/groff_char.man,
3585 src/libs/libgroff/uniglyph.cc, src/libs/libgroff/glyphuni.cpp: Add
3586 U+2210 (\[coproduct]).
3588 2003-12-26 Jeff Conrad <jeff_conrad@msn.com>
3590 hpftodit has been extended to handle TrueType metric files and
3591 more glyphs. See hpftodit.man for more details.
3593 * src/utils/hpftodit/hpftodit.cpp: Include stdio.h, string.h,
3594 ctype.h, and unicode.h.
3595 s/msl/charcode/ everywhere since we now handle Unicode values also.
3596 (equal, NO, YES, MSL, SYMSET, UNICODE, UNICODE): New macros.
3597 Use it where appropriate.
3598 (MULTIPLIER): Replaced with...
3599 (multiplier): New global static variable.
3601 (tag_type): Add more TFM tags.
3602 (tag_name): New array.
3603 (ENUM_TYPE, FLOAT_TYPE): Removed.
3604 (BYTE_TYPE): New value assigned.
3605 (ASCII_TYPE, RATIONAL_TYPE): New enumeration values.
3606 (text_symbol_sets, special_symbol_sets): Extended to cover more
3608 (check_type): Add return value.
3609 (check_units): Add parameters to get ppi and upem values.
3610 Handle TrueType TFM data.
3611 (output_font_name): New function.
3612 (output_charset): Add parameter to handle TFM type.
3613 Handle TrueType TFMs also.
3614 (em_fract): New macro.
3615 (dump_tags): Be much more verbose and handle more tags.
3616 (dump_ascii, dump_symbol_sets, dump_symbols): New functions.
3617 (hp_msl_to_ucode_name, unicode_to_ucode_name, is_uname): New
3619 (read_map): Add parameter to handle TFM type.
3620 Handle both MSL and Unicode mappings.
3621 (main): Add two new command line options `-a' and `-q'.
3622 Updated to make use of new functions.
3625 * src/utils/hpftodit/hpuni.cpp: New file.
3627 * src/utils/hpftodit/Makefile.sub, src/utils/hpftodit/hpftodit.man:
3630 2003-12-25 Werner LEMBERG <wl@gnu.org>
3632 * src/include/nonposix.h (read) [_MSC_VER]: Define.
3634 2003-12-24 Werner LEMBERG <wl@gnu.org>
3636 * src/utils/afmtodit/afmtodit.man: Some reformulations as suggested
3637 by Michail Vidiassov <master@iaas.msu.ru>.
3639 2003-12-20 Werner LEMBERG <wl@gnu.org>
3641 * font/devhtml/R.proto: Add u00{47,67}_0306, u00{53,73}_0327,
3643 Add missing latin-2 glyphs.
3644 * font/devutf8/R.proto: Add missing latin-2 glyphs.
3646 * tmac/troffrc: Load `composite.tmac' earlier.
3648 * tmac/dvi.tmac, tmac/ps.tmac, tmac/lbp.tmac: Add u00{47,67}_0306,
3649 u00{53,73}_0327, and u0049_0307.
3650 * tmac/X.tmac: Add u00{47,67}_0306.
3651 * tmac/tty-char.tmac: Use composite glyph names for readability.
3655 * src/include/unicode.h: Remove `extern' keywords.
3657 2003-12-20 Nilgün Belma Bugüner <nilgun@superonline.com>
3659 * tmac/latin5.tmac: New file.
3661 2003-12-19 Werner LEMBERG <wl@gnu.org>
3663 Add some glyphs needed for Turkish.
3665 * font/devutf8/R.proto: Add u00{47,67}_0306, u00{53,73}_0327,
3668 * tmac/composite.tmac: Add `,' as a synonym for `ac' accent.
3669 * tmac/tty-char.tmac: Add representations for u00{47,67}_0306,
3670 u00{53,73}_0327, and u0049_0307.
3672 2003-12-18 Werner LEMBERG <wl@gnu.org>
3674 * src/devices/grops/ps.cc (ps_output::put_float): Revert change
3676 Remove trailing zeros.
3678 2003-12-17 Werner LEMBERG <wl@gnu.org>
3680 Make \? transparent to end-of-sentence recognition.
3682 * src/roff/troff/input.cc (non_interpreted_node): Add
3683 `ends_sentence' member function.
3685 2003-12-16 Werner LEMBERG <wl@gnu.org>
3687 * doc/groff.texinfo: Document `dt' request correctly.
3688 Other minor typographical improvements.
3690 2003-12-10 Michail Vidiassov <master@iaas.msu.ru>
3692 * src/utils/afmtodit/Makefile.sub (afmtodit): Fix typo.
3694 2003-12-10 Richard Stallman <rms@gnu.org>
3696 * LICENSE: Better wording.
3698 2003-12-09 Werner LEMBERG <wl@gnu.org>
3700 * aclocal.m4 (GROFF_BROKEN_SPOOLER_FLAGS): Set default value to 0.
3701 * configure, NEWS: Updated.
3703 2003-12-08 Werner LEMBERG <wl@gnu.org>
3705 * FDL: Updated to version 1.2 (from www.gnu.org/copyleft).
3707 2003-12-07 Bernd Warken <bwarken@mayn.de>
3711 2003-12-07 Werner LEMBERG <wl@gnu.org>
3713 * INSTALL: Improved.
3715 2003-12-05 Keith Marshall <keith.d.marshall@ntlworld.com>
3717 Use path separator character of target platform for compiled-in
3720 * aclocal.m4 (GROFF_TARGET_PATH_SEPARATOR): New macro.
3721 * configure.ac: Use GROFF_TARGET_PATH_SEPARATOR.
3722 * configure: Regenerated.
3723 * Makefile.in (SEP): Use GROFF_PATH_SEPARATOR.
3725 2003-12-05 Werner LEMBERG <wl@gnu.org>
3727 * src/include/nonposix.h (PATH_SEP_CHAR): New definition.
3728 Replace `PATH_SEP[0]' with `PATH_SEP_CHAR' everywhere.
3730 2003-12-04 Bernd Warken <bwarken@mayn.de>
3732 * LICENSE: New file.
3734 2003-12-03 Werner LEMBERG <wl@gnu.org>
3736 * src/utils/afmtodit/afmtodit.pl: Comment out code which handles
3737 ligatures present in AFM files since groff currently only
3738 understands some standard ligatures and nothing else.
3740 2003-12-03 Jeff Conrad <jeff_conrad@msn.com>
3742 * src/roff/groff/groff.cpp (main): Don't run the spooler if
3745 * src/roff/groff/pipeline.c (run_pipeline) [_WIN32]: Fix error
3748 Don't use Unix wait flags.
3750 2003-12-02 Werner LEMBERG <wl@gnu.org>
3752 * src/roff/troff/glyphuni.cpp, src/roff/troff/unicode.cpp,
3753 src/roff/troff/unicode.h, src/roff/troff/uniglyph.cpp,
3754 src/roff/troff/uniuni.cpp: Moved to...
3755 * src/libs/libgroff/glyphuni.cpp, src/libs/libgroff/unicode.cpp,
3756 src/libs/libgroff/unicode.h, src/libs/libgroff/uniglyph.cpp,
3757 src/libs/libgroff/uniuni.cpp: Here.
3759 * src/include/Makefile.sub.old (HDRS),
3760 src/libs/libgroff/Makefile.sub (OBJS, CCSRCS),
3761 src/roff/troff/Makefile.sub (HDRS, PBJS, CCSRCS): Updated.
3763 2003-12-01 Keith Marshall <keith.d.marshall@ntlworld.com>
3765 * src/preproc/htlp/pre-html.cpp (__tmpfile): Renamed to
3769 2003-12-01 Werner LEMBERG <wl@gnu.org>
3771 * groff.texinfo: Document special behaviour of `.vs 0'.
3772 Improve documentation of `cflags' request.
3775 2003-11-29 Werner LEMBERG <wl@gnu.org>
3777 * font/devlj4/generate/Makefile (CORONET): Use correct TFM.
3778 * font/devlj4/CORONET: Regenerated.
3780 2003-11-24 Werner LEMBERG <wl@gnu.org>
3782 * src/roff/troff/env.cpp (hyphen_trie::read_patterns_file): Fix loop
3783 if processing hyphenation patterns in traditional mode.
3784 Improve error messages.
3786 2003-11-20 Werner LEMBERG <wl@gnu.org>
3788 * src/roff/troff/node.cpp (troff_output_file::put_char_width,
3789 troff_output_file::put_char): Fix type of local variable `c'.
3791 2003-11-19 Werner LEMBERG <wl@gnu.org>
3793 * src/roff/groff/pipeline.c (P): Removed. Updated all function
3795 (i_to_a): Removed. libgroff already provides this function.
3796 (run_pipeline) [_WIN32]: Don't use itoa but i_to_a.
3798 2003-11-18 Keith Marshall <keith.d.marshall@ntlworld.com>
3800 * src/roff/groff/pipeline.c (xstrsignal): Fix usage of
3803 2003-11-17 Werner LEMBERG <wl@gnu.org>
3805 * COPYING: Use correct version.
3807 2003-11-11 Werner LEMBERG <wl@gnu.org>
3809 LynxOS 4.0.0 doesn't declare vfprintf.
3811 * configure.ac: Check for vfprintf.
3812 * configure: Regenerated.
3813 * src/include/lib.h: Handle `NEED_DECLARATION_VFPRINTF'.
3814 * src/include/config.hin: Regenerated.
3816 2003-11-10 Werner LEMBERG <wl@gnu.org>
3818 LynxOS 4.0.0 has snprintf (without declaration) but no vsnprintf.
3820 * configure.ac: Check for vsnprintf.
3821 * configure: Regenerated.
3822 * src/include/lib.h: Handle `NEED_DECLARATION_VSNPRINTF' and
3824 * src/include/config.hin: Regenerated.
3826 2003-11-09 Werner LEMBERG <wl@gnu.org>
3828 * aclocal.m4: Updated syntax to autoconf 2.59.
3829 (GROFF_HTML_PROGRAMS): Use AC_FOREACH.
3830 Don't check for gsos2.
3831 (GROFF_SRCDIR, GROFF_BUILDDIR): Removed. autoconf 2.59 provides
3832 working abs_top_srcdir and abs_top_builddir.
3834 * configure.ac: Updated syntax to autoconf 2.59.
3835 Don't call GROFF_SRCDIR and GROFF_BUILDDIR.
3836 Replace call to AC_DECL_SYS_SIGLIST with call to AC_CHECK_DECLS.
3837 * configure: Regenerated.
3839 * Makefile.in, doc/Makefile.in: s/@top_srcdir@/@abs_top_srcdir@/,
3840 s/@groff_top_builddir@/@abs_top_builddir@/.
3842 * src/roff/groff/pipeline.c (xstrsignal):
3843 s/SYS_SIGLIST_DECLARED/HAVE_DECL_SYS_SIGLIST/.
3845 2003-11-07 Werner LEMBERG <wl@gnu.org>
3847 * src/devices/grodvi/dvi.cpp (draw_dvi_printer::draw) ['a']: Always
3848 make start angle smaller than end angle to circumvent a bug in tpic
3849 handling of some versions of dvipdfm (and dvipdfmx).
3851 2003-10-30 Werner LEMBERG <wl@gnu.org>
3853 * src/devices/grops/grops.man: Improve section on creating EPS.
3855 2003-10-29 Werner LEMBERG <wl@gnu.org>
3857 * contrib/pic2graph/pic2graph.sh: Fix typo (-P-letter ->
3860 2003-10-28 Werner LEMBERG <wl@gnu.org>
3862 * doc/groff.texinfo: Fix documentation of `.if'.
3864 2003-10-27 Michail Vidiassov <master@iaas.msu.ru>
3866 * src/utils/afmtodit/afmtodit.pl: Handle unmapped characters of
3867 the form `uniXXXX' also.
3869 2003-10-27 Werner LEMBERG <wl@gnu.org>
3871 * contrib/eqn2graph/eqn2graph.sh, contrib/grap2graph/grap2graph.sh,
3872 contrib/pic2graph/pic2graph.sh: Implement secure management of
3874 Pass `-P-pletter' to groff to avoid data outside of the converted
3875 area -- some versions of `convert' (for example 5.3.8) don't check
3876 the bounding box of the image but always use a fixed image size
3877 (letter paper format).
3878 * contrib/eqn2graph/eqn2graph.man, contrib/grap2graph/grap2graph.man,
3879 contrib/pic2graph/pic2graph.man: Updated.
3881 * src/roff/groff/groff.man: Document $TMP and $TEMP.
3883 2003-10-26 Werner LEMBERG <wl@gnu.org>
3885 * src/preproc/pic/troff.cpp (troff_output::simple_circle,
3886 troff_output::simple_ellipse, troff_output::simple_arc,
3887 troff_output::simple_line, troff_output::simple_spline,
3888 troff_output::simple_polygon): Insert a space before arguments.
3889 (troff_output::set_fill): Emit `\&' before `\D'Fg...' since the
3890 latter doesn't produce a node, so the following `.sp -1' would do
3892 Don't emit `.sp -1' after \M. This also doesn't produce a token
3893 (and we don't have to care about compatibility mode).
3894 (troff_output::set_color, troff_output::reset_color): Don't emit
3895 `.sp -1' after \M and \m.
3897 * src/roff/troff/input.cpp (old_have_input): New global variable.
3898 (input_stack::get): Handle `old_have_input'.
3899 (process_input_stack) <token::TOKEN_NEWLINE>: Call
3900 `trapping_blank_line' depending on `old_have_input', not
3903 2003-10-20 Keith Marshall <keith.d.marshall@ntlworld.com>
3905 * src/libs/libgroff/tmpfile.cpp [__MSDOS__, _Win32]
3906 (WIN32_TMPDIR_ENVVAR, MSDOS_TMPDIR_ENVVAR): New macros, providing
3907 default directory names for temporary files.
3908 [__MSDOS__, _Win32] (temp_init::temp_init): Use them.
3910 * src/roff/groff/pipeline.c [__MSDOS__]: Include stdlib.h.
3911 [__MSDOS__] (run_pipeline): Honour environment variables.
3912 Don't use `tmpnam' but `tempnam' to work around messy
3915 * README.MinGW: New file.
3917 2003-10-16 Werner LEMBERG <wl@gnu.org>
3919 * src/preproc/html/pre-html.cpp (write_upto_newline): Don't use
3920 `(*t)->next' without testing validity of `*t'.
3921 (usage): Make it more readable.
3923 2003-10-16 Keith Marshall <keith.d.marshall@ntlworld.com>
3925 Make html device run under both MS-DOS and Win32.
3927 * src/preproc/html/pre-html.cpp (MAY_FORK_CHILD_PROCESS,
3928 MAY_SPAWN_ASYNCHRONOUS_CHILD): New macros to control whether
3929 spawn or fork+exec has to be used, and whether parent must sleep
3930 until the child process terminates. Used in
3931 `char_buffer::run_output_filter'.
3932 (copyofstdoutfd): Removed.
3933 (char_buffer): Replace `write_file_html' and `write_file_troff'
3934 member functions with `emit_troff_output' and `run_output_filter'.
3935 (DEVICE_FORMAT, HTML_OUTPUT_FILTER, IMAGE_OUTPUT_FILTER): New
3937 (replaceFd): Replaced with...
3938 (set_redirection): New auxiliary function.
3939 (waitForChild): Replaced with...
3940 (save_and_redirect): New auxiliary function for.
3942 (char_buffer::do_html, char_buffer::do_image): Simplified, using new
3945 2003-10-14 Keith Marshall <keith.d.marshall@ntlworld.com>
3947 * aclocal.m4 (GROFF_SYS_NERR): Check stdlib.h also.
3948 (GROFF_LIBC): New function.
3949 * configure.ac: Call GROFF_LIBC.
3951 * configure: Regenerated.
3953 * src/include/lib.h: Handle __MINGW32__.
3954 * src/include/nonposix.h [_MSC_VER]: Handle __MINGW32__.
3955 Add macro for `pipe'.
3958 * src/roff/groff/pipeline.c (run_pipeline): Handle `no_pipe'
3961 * src/utils/indxbib/signal.c (handle_fatal_signal) [!HAVE_KILL]:
3964 2003-10-13 Werner LEMBERG <wl@gnu.org>
3966 Finally fix change 2003-08-26, based on ideas from Chuck Silvers
3969 * contrib/mom/Makefile.sub: Use a stamp file in the `examples'
3972 2003-10-12 Werner LEMBERG <wl@gnu.org>
3974 * src/roff/groff/groff.cpp (help), src/devices/grops/ps.cpp (usage),
3975 src/roff/troff/input.cc (usage): Updated.
3977 * NEWS, doc/groff.texinfo: Updated.
3979 2003-10-12 Peter Miller <millerp@canb.auug.org.au>
3981 * src/libs/libgroff/searchpath.cpp
3982 (search_path::open_file_cautious): New function which also handles
3983 `-' as stdin and stdout depending on the access mode.
3984 * src/include/searchpath.h (search_path): Updated.
3986 * src/devices/grops/ps.cpp (main): Handle new `-I' switch.
3987 * src/devices/grops/ps.h: Include `searchpath.h'.
3988 * src/devices/grops/psrm.cpp (resource_manager::supply_resource):
3989 Open resource file with `include_search_path.open_file_cautious'.
3990 * src/devices/grops/grops.man: Document new `-I' switch.
3992 * src/devices/grodvi/dvi.cpp (main), src/devices/grolbp/lbp.cpp
3993 (main), src/devices/grolj4/lj4.cpp (main),
3994 src/devices/grotty/tty.cpp (main): Ignore new `-I' switch.
3996 * src/preproc/soelim/soelim.cpp (include_list_length, include_list):
3998 (include_search_path): New global variable.
3999 (include_path_append): Removed.
4000 (main): Use `include_search_path.command_line_dir' to handle `-I'.
4001 (do_file): Simplify, using new
4002 `include_search_path.open_file_cautious'.
4004 * src/roff/groff/groff.cpp (print_commands): Accept file handle as
4006 (main): Pass arguments to `-I' to both troff and devices.
4007 Improve handling of `-V'.
4008 * src/roff/groff/groff.man: Document changes to -I and -V.
4010 * src/roff/troff/input.cpp (include_search_path): New global
4012 (next_file, source, ps_bbox_request, transparent_file,
4013 process_input_file): Use new
4014 `include_search_path.open_file_cautious'.
4015 (main) Handle `-I' switch.
4016 * src/roff/troff/node.cpp (troff_output_file::really_copy_file):
4017 Use new `include_search_path.open_file_cautious'.
4018 * src/roff/troff/node.h: New extern symbol `include_search_path'.
4019 * src/roff/troff/troff.man: Document new `-I' switch.
4021 2003-09-15 Ruslan Ermilov <ru@FreeBSD.org>
4023 Support multiple calls of .Lb in LIBRARY section.
4025 * tmac/doc-common (doc-in-library-section): New register.
4026 (doc-section-library): New string.
4027 (Sh): Set `doc-in-library-section'.
4029 * tmac/doc-syms (Lb): Insert breaks before and after arguments
4030 if in LIBRARY section.
4031 * tmac/doc.tmac (doc-save-global-vars): Updated.
4032 * NEWS, tmac/groff_mdoc.man: Updated.
4034 2003-09-14 Ruslan Ermilov <ru@FreeBSD.org>
4036 * tmac/doc-common (doc-default-operating-system): New variable.
4039 2003-09-08 Werner LEMBERG <wl@gnu.org>
4041 * tmac/doc.tmac (doc-reset-reference): Handle data for `%I' also.
4043 2003-08-31 Werner LEMBERG <wl@gnu.org>
4045 * contrib/mom/Makefile.sub: Fix last change to make it really work.
4046 * Makefile.comm: Use `test ... ||' in favor of `if test ...; then'.
4047 (install_dev, uninstall_dev): Check whether $(DEVSCRIPTS) and
4048 $(DEVFILES) are not empty.
4049 * Makefile.in: Use `test ... ||' in favor of `if test ...; then'.
4051 2003-08-26 Chuck Silvers <chuq@chuq.com>
4053 * contrib/mom/Makefile.sub (prepare_make_examples): Make it work
4054 with parallel runs of `make'.
4056 2003-08-23 Stephen Gildea <http://www.gildea.com/stephen>
4058 * src/preproc/ref/ref.cpp (reference::compute_sort_key): Always
4059 insert SORT_SEP. With certain combinations of sort specifications,
4060 refer sorted entries in the wrong order. In particular, entries
4061 with a missing field should be be sorted before all entries that
4062 have that field, before refer looks to the next field.
4064 2003-08-23 Werner LEMBERG <wl@gnu.org>
4066 * src/utils/pfbtops/Makefile.sub (LINK.c): Define it so that the
4067 g++ linker is used. Reported by Mark J. Reed
4068 <mark.reed@turner.com>.
4070 2003-08-16 Heinz-Jürgen Oertel <hj.oertel@surfeu.de>
4072 Add key character `x' to tbl which makes tbl call a user-defined
4073 macro on a table cell.
4075 * src/preproc/tbl/table.h (entry_modifier): Add `macro'.
4076 * src/preproc/tbl/table.cpp (block_entry::do_divert): Call
4077 `set_modifier' after printing the compatibility request.
4078 (set_modifier): Print call to `m->macro' if not empty.
4079 * src/preproc/tbl/main.cpp (entry_format::debug_print): Handle
4081 (process_format): Implement cases `x' and `X'.
4082 * src/preproc/tbl/tbl.man, NEWS: Updated.
4084 2003-08-15 Werner LEMBERG <wl@gnu.org>
4086 * doc/groff.texinfo: Minor fixes.
4088 2003-08-09 Werner LEMBERG <wl@gnu.org>
4090 * tmac/an-old.tmac [cR]: Fix redefinition of `bp'.
4092 2003-08-07 Werner LEMBERG <wl@gnu.org>
4094 * doc/Makefile.sub: Not all shells expand wildcards in the `for'
4095 argument list to nothing if there is no file to match. Use `ls' as
4096 a protection, similar to autoconf.
4098 * Makefile.comm (install_dev, uninstall_dev): Protect `for' against
4099 empty argument lists.
4101 * doc/groff.texinfo: Improve documentation how vertical spacing
4102 and line breaks interact.
4105 * tmac/www.tmac: Initialize `www-htmlimage-gap'.
4107 2003-08-03 Werner LEMBERG <wl@gnu.org>
4109 * NEWS, src/devices/grops/grops.man: -b16 is necessary to produce
4110 EPS (using eps2eps or similar programs to compute the bounding box).
4112 2003-07-24 Werner LEMBERG <wl@gnu.org>
4114 * doc/groff.texinfo: Use the new @/ command to avoid overlong lines.
4115 * doc/texinfo.tex: Updated from texinfo 4.6.
4116 * README.CVS: From now on we need texinfo 4.6.
4118 2003-07-23 Werner LEMBERG <wl@gnu.org>
4120 Add requests `dei1' and `ami1' for completeness.
4122 * src/roff/troff/input.cc (calling_mode): Remove
4123 CALLING_DISABLE_COMP.
4124 (comp_mode): New enumeration.
4125 (do_define_string, define_string, define_nocomp_string,
4126 append_string, append_nocomp_string): Updated.
4127 (do_define_macro): Add third parameter.
4128 (define_macro, define_nocomp_macro, define_indirect_macro,
4129 append_macro, append_nocomp_macro, append_indirect_macro): Updated.
4130 (define_indirect_nocomp_macro, append_indirect_nocomp_macro): New
4133 (init_input_requests): Add `dei1' and `ami1'.
4135 * tmac/trace.tmac: Handle de1 and am1.
4136 (de): Improve tracing message.
4137 (am): Add missing `do'.
4140 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
4141 Document new requests.
4143 2003-07-22 Heinz-Jürgen Oertel <hj.oertel@surfeu.de>
4145 Add option -G to .MPIMG to insert a gap between text and the image.
4147 * tmac/www.tmac (www-finish-left-po, www-finish-right-ll,
4148 www-finish-left-ll): Updated.
4149 (www-image-just, www-image-gap, www-htmlimage-gap): New variables.
4150 (MPIMG): Make option -L and -R optional.
4151 Implement option -G.
4153 2003-07-22 Gaius Mulley <gaius@glam.ac.uk>
4155 * src/devices/grohtml/post-html.cpp
4156 (html_printer::do_file_components): Don't use `stdout' as lvalue
4157 since it can be a macro.
4159 2003-07-22 Werner LEMBERG <wl@gnu.org>
4161 * src/libs/libgroff/strerror.c: Include errno.h to be in sync with
4162 the corresponding test in aclocal.m4.
4164 2003-07-21 Werner LEMBERG <wl@gnu.org>
4166 * src/preproc/html/pre-html.cpp (TRANSPARENT): Don't use colour
4167 names but RGB values directly. Otherwise pnmtopng depends on
4168 an external file `rgb.txt' which maps colour names to values.
4170 2003-07-20 Werner LEMBERG <wl@gnu.org>
4172 * aclocal.m4 (GROFF_SYS_ERRLIST): Include stdlib.h for MinGW.
4173 * configure, src/include/config.hin: Regenerated.
4175 * src/libs/libgroff/strerror.c: Include stdlib.h for MinGW.
4177 2003-07-19 Werner LEMBERG <wl@gnu.org>
4179 * PROBLEMS: Add solution for UTF-8 problem with hyphens.
4181 2003-07-18 Werner LEMBERG <wl@gnu.org>
4183 * *.man: Switch to non-compatibility mode temporarily if GNU
4184 syntax extensions are used in the particular man page.
4186 * PROBLEMS: Add solutions for SGR problems.
4188 2003-07-17 Werner LEMBERG <wl@gnu.org>
4190 Don't ignore grotty's command line options if \X'tty: sgr ...' is
4191 used to change the drawing scheme.
4193 * src/devives/grotty/tty.cpp (bold_flag_option,
4194 underline_flag_option, italic_flag_option, reverse_flag_option,
4195 bold_underline_mode_option): New global variables.
4196 (update_options): New function.
4197 (tty_printer::special): Call update_options.
4198 (main): Don't set xxx_flag but xxx_flag_option, then call
4201 2003-07-14 Werner LEMBERG <wl@gnu.org>
4203 Make grotty emit proper Unicode box drawing characters for -Tutf8.
4205 * src/devices/grotty/tty.cpp (START_LINE, END_LINE): New enum
4207 (hline_char, vline_char): New global variables.
4208 (tty_printer::tty_printer): Initialize them.
4209 (tty_printer::draw): Emit START_LINE and END_LINE flags for both
4210 horizontal and vertical lines.
4211 (crossings): New global array.
4212 (tty_printer::end_page): Use it to determine the proper crossing
4213 character for -Tutf8.
4215 2003-07-12 Werner LEMBERG <wl@gnu.org>
4217 * doc/Makefilesub (HTMLDOCFILESALL): New macro.
4218 (HTMLDOCFILES): Revert to `pic.html'.
4219 (CLEANADD, install_html, uninstall_sub): Use HTMLDOCFILESALL.
4221 2003-07-11 Werner LEMBERG <wl@gnu.org>
4223 * doc/pic.ms: Improve documentation of absolute coordinates.
4224 Document absolute positioning of pictures.
4226 * NEWS: Add new pic capability.
4228 2003-07-09 Hartmut Henkel <hartmut_henkel@gmx.de>
4230 * src/libs/libgroff/geometry.cpp (check_output_arc_limits):
4233 2003-07-07 Werner LEMBERG <wl@gnu.org>
4235 Implement support for dashed and dotted ellipses in pic. Based on
4236 a patch from Hartmut Henkel <hartmut_henkel@gmx.de>.
4238 * src/preproc/pic/common.cpp (common_output::ellipse_arc,
4239 common_output::dashed_ellipse, common_output::dotted_ellipse): New
4240 functions. Ellipse arcs are approximated with circle arcs.
4241 * src/preproc/pic/common.h (common_output): Updated.
4242 * src/preproc/pic/tex.cpp (tex_output::ellipse): Use new ellipse
4244 * src/preproc/pic/troff.cpp (simple_output::ellipse): Ditto.
4246 * src/preproc/pic/TODO, src/preproc/pic/pic.man: Updated.
4248 2003-07-06 Werner LEMBERG <wl@gnu.org>
4250 Make grotty work on platforms which have unsigned char as the
4251 default for char. Based on a patch by Thomas Klausner
4254 * src/devices/grotty/tty.cpp (schar): New typedef.
4255 Updated calls to declare_ptable and implement_ptable.
4256 (glyph): Use schar for back_color_idx and fore_color_idx.
4257 (tty_printer): Use schar for curr_fore_idx and curr_back_idx.
4258 (tty_printer::tty_color, tty_printer::tty_printer,
4259 tty_printer::color_to_idx, tty_printer::put_color): Updated.
4261 2003-07-06 Ruslan Ermilov <ru@FreeBSD.org>
4263 * src/roff/nroff/nroff.sh: Add option -d for completeness.
4264 * src/roff/nroff/nroff.man: Updated.
4266 2003-07-05 Werner LEMBERG <wl@gnu.org>
4268 * NEWS, tmac/groff_www.man: Updated.
4269 * doc/Makefile.sub: Updated.
4271 2003-07-05 Gaius Mulley <gaius@glam.ac.uk>
4273 Implement support for multiple HTML output files.
4275 * src/preproc/html/pre-html.cpp (scanArguments): Dummy handling for
4276 -j command line option.
4278 * src/devices/grohtml/post-html.cpp (job_name, multiple_files): New
4280 (file): New fields `new_output_file', `require_links',
4282 (file::file): Updated.
4283 (files::set_file_name, files::set_links_required,
4284 files::are_links_required, files::is_new_output_file,
4285 files::file_name, files::next_file_name): New functions.
4286 (header_desc): New fields `no_of_level_one_headings',
4288 (header_desc::header_desc): Updated.
4289 (header_desc::write_headings): Handle multiple files.
4290 (html_printer::write_header): Save file name in which header occurs.
4291 (html_printer::determine_header_level): Possibly split files on
4293 (html_printer::do_links, html_printer::troff_tag): Updated.
4294 (html_printer::insert_split_file, html_printer::do_job_name,
4295 html_printer::emit_link, html_printer::write_navigation,
4296 html_printer::do_file_components): New functions.
4297 (html_printer::~html_printer): Handle multiple files.
4298 (main): Handle command line option `-j'.
4300 * src/devices/grohtml/grohtml.man: Updated.
4302 * doc/Makefile.sub (pic.html), doc/Makefile.in (pic.html): New rule
4305 * tmac/www.tmac (JOBNAME): New macro.
4306 * tmac/s.tmac (SH-NO-TAG): New macro.
4307 (@SH): Call SH-NO-TAG.
4310 2003-07-05 Ruslan Ermilov <ru@FreeBSD.org>
4312 * tmac/groff_mdoc.man: Improve documentation of punctuation
4315 2003-07-04 Ruslan Ermilov <ru@FreeBSD.org>
4317 * tmac/doc.tmac (Bd): Change to doc-Li-font later.
4319 2003-07-03 Werner LEMBERG <wl@gnu.org>
4321 * tmac/an-old.tmac [cR]: Redefine `bp' to avoid empty lines.
4323 2003-07-01 Ruslan Ermilov <ru@FreeBSD.org>
4325 * tmac/doc.tmac (doc-do-func, doc-do-func-args): Don't print a comma
4326 after `/*' and `*/'.
4328 (Fn, Fo): Reduce indentation in synopsis.
4330 * tmac/doc-common (doc-check-depth): New macro.
4331 (doc-end-macro, Sh, Ss): Use it.
4332 (Cd): Fix behaviour in synopsis.
4333 (In): Make it parsed and callable.
4334 If not in the synopsis, represent the C header file enclosed in
4336 (doc-str-Rv-std-suffix, doc-str-Rv-stds-suffix, doc-str-Rv-std0):
4337 Use minus, not hyphen.
4339 * tmc/groff_mdoc.man: Updated.
4341 2003-07-01 Werner LEMBERG <wl@gnu.org>
4343 Integrated grap2graph, contributed by Eric S. Raymond.
4345 * contrib/grap2graph/{Makefile.sub, grap2graph.sh, grap2graph.man}:
4347 * Makefile.in, NEWS, MANIFEST, contrib/eqn2graph.man,
4348 contrib/pic2graph.man, src/roff/groff/groff.man: Updated.
4350 2003-07-01 Colin Watson <cjwatson@debian.org>
4352 * src/xditview/*.c: Add prototypes, fix return types, add includes.
4353 Based on work by Fumitoshi UKAI <ukai@debian.or.jp>.
4355 2003-06-31 Ruslan Ermilov <ru@FreeBSD.org>
4357 * tmac/tty-char.tmac: Provide `lb', `rb', `lk', `rk', `lt', `rt'.
4359 2003-06-31 Werner LEMBERG <wl@gnu.org>
4361 * doc/Makefile.sub (CLEANADD): Remove all files created by
4362 running `make groff.{pdf,dvi}'.
4364 * Makefile.sub (DISTCLEANFILES): Remove all non-source files from
4367 2003-06-30 Werner LEMBERG <wl@gnu.org>
4369 * Makefile.in (SHELL): Define as @SHELL@.
4370 (mkinstalldirs): Use $(SHELL).
4371 (MDEFINES): Add $(SHELL).
4372 * Makefile.comm (SHELL): Removed.
4374 2003-06-29 Werner LEMBERG <wl@gnu.org>
4376 * tmac/s.tmac (De, Ds): New aliases for .DE and .DS, respectively.
4377 The X11 documentation files use them.
4378 * tmac/groff_ms.man, doc/groff.texinfo: Document them.
4380 2003-06-15 Robert Goulding <goulding@Princeton.EDU>
4382 * tmac/e.tmac (@C): Handle .ad also.
4384 2003-06-12 Werner LEMBERG <wl@gnu.org>
4386 * src/preproc/tbl/tbl.man: Document formatting of text blocks.
4388 * src/roff/troff/input.cc (token::next) <handle_escape_char>:
4389 Assign `n' even here. It is possible to construct a node
4390 immediately following an escape character:
4398 2003-06-10 Werner LEMBERG <wl@gnu.org>
4400 * README.WIN32: Removed.
4401 * MANIFEST: Updated.
4403 2003-06-07 Werner LEMBERG <wl@gnu.org>
4405 * src/roff/nroff/nroff.sh: Don't emit SGR for option -u.
4407 2003-06-05 Werner LEMBERG <wl@gnu.org>
4409 * src/preproc/pic/pic.y <sprintf_args>: Implement workaround for bug
4410 in Compaq C++ V6.5-033 for Compaq Tru64 UNIX V5.1A (Rev. 1885).
4412 2003-06-03 Werner LEMBERG <wl@gnu.org>
4414 * src/preproc/grn/hdb.cpp (DBRead): Don't close file handle; this
4415 is done by the calling function.
4417 2003-05-22 Ruslan Ermilov <ru@FreeBSD.org>
4419 * tmac/X.tmac: Fix definition of `em'.
4421 2003-05-22 Werner LEMBERG <wl@gnu.org>
4423 * src/roff/troff/input.cc (return_macro_request): Fix detection of
4426 2003-05-18 Werner LEMBERG <wl@gnu.org>
4428 * tmac/doc.tmac (doc-tag-list): Force horizontal mode after tag
4429 to make items work which consist only of a tag.
4431 2003-05-17 Werner LEMBERG <wl@gnu.org>
4433 * tmac/doc.tmac (doc-tag-list): Don't use \Z to assure that spaces
4434 aren't stretched in a tag (this can fail with unformatted boxes).
4435 Instead, insert a break and go back one line.
4437 2003-05-16 Werner LEMBERG <wl@gnu.org>
4439 * src/roff/troff/input.cc (return_macro_request): If called with
4440 argument pop macro twice. We need this to trace `return'.
4442 * tmac/trace.tmac: Handle `return'.
4445 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
4448 2003-05-15 Larry Kollar <kollar@alltel.net>
4450 * tmac/groff_ms.man, doc/groff.texinfo: Improve documentation of
4451 registers `FPS', `FVS', and `FPD'.
4453 2003-05-15 Werner LEMBERG <wl@gnu.org>
4455 * src/utils/pfbtops/pfbtops.c (get_text): Handle loop counter
4458 2003-05-03 Ruslan Ermilov <ru@FreeBSD.org>
4460 * tmac/groff_mdoc.man: Slight improvements.
4462 2003-05-03 Werner LEMBERG <wl@gnu.org>
4464 * tmac/doc-common (doc-header): Emit vertical space of 1v instead of
4465 `doc-header-space' after header line if register `cR' is set.
4467 2003-05-02 Werner LEMBERG <wl@gnu.org>
4471 2003-05-01 Ruslan Ermilov <ru@FreeBSD.org>
4473 * tmac/doc-common (Nd): Use \[em].
4475 2003-05-01 Werner LEMBERG <wl@gnu.org>
4477 * tmac/doc-ditroff, tmac/doc-nroff (doc-header-space,
4478 doc-footer-space): Initialize to 0.5i.
4479 (doc-setup-page-layout): Don't set doc-header-space and
4482 2003-04-30 Werner LEMBERG <wl@gnu.org>
4484 * REVISION: Set to 1.
4486 * doc/pic.ms: Document possible problems with `figname'.
4488 2003-04-29 Werner LEMBERG <wl@gnu.org>
4490 Version 1.19 released
4491 =====================
4493 * VERSION: Set to 1.19.
4494 * REVISION: Set to 0.
4495 * doc/groff.texinfo, doc/webpage.ms, NEWS: Updated.
4497 * src/devices/grohtml/post-html.cpp (html_printer::~html_printer):
4498 Define charset as `US-ASCII' in html output.
4500 * tmac/www.tmac (ULE): Add missing scaling indicator.
4502 * win32-diffs: Removed.
4504 2003-04-28 Werner LEMBERG <wl@gnu.org>
4506 * doc/groff.texinfo: Document `dn' and `dl' registers if used with
4508 Document how to insert discardable whitespace with `.ss'.
4510 2003-04-27 Werner LEMBERG <wl@gnu.org>
4512 * src/preproc/pic/tex.cpp (tex_output::start_picture): Make code
4513 work with plain TeX also.
4515 * src/preproc/pic/pic.man, doc/pic.ms: Fix TeX code example.
4517 2003-04-25 Gaius Mulley <gaius@glam.ac.uk>
4519 * src/devices/grohtml/post-html.cpp (html_printer::~html_printer):
4522 2003-04-24 Werner LEMBERG <wl@gnu.org>
4524 * src/preproc/pic/pic.man, doc/pic.ms: Explain how to get a
4525 vbox with positive height and zero depth if in TeX mode.
4527 * NEWS: Document glyph name changes for grodvi and grolj4.
4529 2003-04-23 Werner LEMBERG <wl@gnu.org>
4531 * src/preproc/pic/tex.cpp (tex_output::start_picture): Fix TeX code.
4532 * doc/pic.ms: Fixed.
4534 2003-04-21 Werner LEMBERG <wl@gnu.org>
4536 HP-UX 10.20 has `snprintf' but it isn't declared.
4538 * configure.ac: Add declaration test for snprintf.
4539 * configure: Regenerated.
4540 * src/include/lib.h: Handle `NEED_DECLARATION_SNPRINTF'.
4541 * src/include/config.hin: Regenerated.
4543 2003-04-19 Werner LEMBERG <wl@gnu.org>
4545 Add keyword `figname' to pic, specifying the name of the picture
4546 box in TeX mode. Based on a patch from William J Poser
4547 <wjposer@unagi.cis.upenn.edu>.
4549 * src/preproc/pic/pic.y: New token `FIGNAME'.
4550 (macro_name): New rule of type <str>.
4551 (placeless_element): Handle `FIGNAME'.
4552 * src/preproc/pic/lex.cpp (lookup_keyword): Add `figname'.
4553 * src/preproc/pic/main.cpp (graphname): New global variable.
4554 (do_picture): Initialize `graphname'.
4555 * src/preproc/pic/pic.h: Updated.
4556 * src/preproc/pic/tex.cpp (tex_output::start_picture): Use
4559 (tex_output::text): Beautify output.
4560 * src/preproc/pic/object.cpp (object_spec::~object_spec): Deallocate
4561 `shaded' and `outlined' unconditionally.
4562 * NEWS, src/preproc/pic/pic.man, doc/pic.ms: Updated.
4565 * PROBLEMS, README.CVS: Mention that bison version 1.875b or
4566 greater is necessary.
4568 2003-04-17 Hartmut Henkel <hartmut_henkel@gmx.de>
4570 Add option -r to soelim to avoid emission of `.lf' lines.
4571 Add option -t to produces TeX comment lines instead of `.lf' lines.
4573 * src/preproc/soelim/soelim.cpp: New global variables `raw_flag'
4576 (main): Handle `-r' and `-t'.
4577 (set_location): Handle `raw_flag' and `tex_flag'.
4578 * src/preproc/soelim/soelim.man, NEWS: Updated.
4580 2003-04-17 Werner LEMBERG <wl@gnu.org>
4582 * tmac/hyphenex.sh: Replaced with...
4583 * tmac/hyphenex.pl: This perl script to avoid sed compatibility
4586 * aclocal.m4 (GROFF_HTML_PROGRAMS): Emit useful warning message
4587 if --quiet is used for the configure script.
4588 * configure: Regenerated.
4590 2003-04-16 Werner LEMBERG <wl@gnu.org>
4592 * src/devices/grohtml/post-html.cpp (text_glob::text_glob):
4593 Add `const' to second argument.
4594 (html_printer::add_table_end): Add `const' to argument.
4595 * src/devices/grohtml/html-text.cpp (html_text::issue_tag): Add
4596 `const' to arguments.
4597 * src/devices/grohtml/html-text.h: Updated.
4599 * src/devices/grolbp/charset.h (symset): Use `unsigned char'.
4600 * src/devices/grolbp/lbp.h (lbpputc): Use `unsigned char' for
4603 * src/devices/grotty/tty.cpp (tty_printer::make_rgb_string): Use
4604 cast for integer constant.
4606 * src/preproc/html/pre-html.cpp (image_device): Use `const'.
4607 (writeNbytes): Add `const' to first argument.
4608 (writeString): Add `const' to argument.
4609 (char_buffer::can_see): Add `const' to third argument.
4610 * src/preproc/html/pushback.cpp (pushBackBuffer::isString): Add
4611 `const' to argument.
4612 * src/preproc/html/pushback.h: Updated.
4614 * src/preproc/soelim/soelim.cpp (include_list): Add `const'.
4615 (include_path_append): Add `const' to argument.
4618 * src/roff/troff/uniglyph.cpp (unicode_to_glyph_list): Use `const'
4620 (unicode_to_glyph_init::unicode_to_glyph_init): Updated.
4621 * src/roff/troff/uniuni.cpp (unicode_decompose_list): Use `const'
4623 (unicode_decompose_init::unicode_decompose_init): Updated.
4624 * src/roff/troff/glyphuni.cpp (glyph_to_unicode_list): Use `const'
4626 (glyph_to_unicode_init::glyph_to_unicode_init): Updated.
4627 * src/roff/troff/input.cc (process_startup_file): Add `const' to
4630 * tmac/hyphenex.sh: Make script more portable by using a here
4633 2003-04-15 Werner LEMBERG <wl@gnu.org>
4635 Renamed all `*.cc' files to `*.cpp'.
4636 Updated all configuration files, makefiles, and documentation.
4638 2003-04-14 Werner LEMBERG <wl@gnu.org>
4640 * tmac/hyphenex.sh: Slight improvements.
4642 2003-04-13 Werner LEMBERG <wl@gnu.org>
4644 * font/devascii/R.proto, font/devcp1037/R.proto,
4645 font/devlatin1/R.proto, font/devutf8/R.proto: Fill up remaining
4646 character slots with unnamed glyphs.
4648 * tmac/an-old.tmac: Fix hyphenation value if `cR' is active.
4649 (an-first): New global variable.
4650 (an-header): Emit vertical space between multiple man pages.
4652 2003-04-11 Werner LEMBERG <wl@gnu.org>
4654 * doc/groff.texinfo, man/groff_out.man: \S only accepts integer
4657 2003-04-10 Werner LEMBERG <wl@gnu.org>
4659 * PROBLEMS: Revised.
4661 2003-04-10 Bernd Warken <bwarken@mayn.de>
4663 * doc/webpage.ms: Improved.
4665 2003-04-09 Werner LEMBERG <wl@gnu.org>
4667 Add register \n[.height] which returns the value of \H.
4668 Add register \n[.slant] which returns the value of \S.
4670 * src/roff/troff/env.cc (init_env_requests): Implement.
4671 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
4674 2003-04-08 Werner LEMBERG <wl@gnu.org>
4676 * tmac/html.tmac: Move some of the data into html-end.tmac.
4677 Remove most of the character translations for eqn since html fonts
4678 now cover those characters.
4680 * tmac/html-end.tmac: New file.
4681 * tmac/troffrc: Load html.tmac not www.tmac for -Thtml.
4682 * tmac/troffrc-end: Load html-end.tmac not html.tmac for -Thtml.
4683 * tmac/Makefile.sub (NORMALFILES): Add html-end.tmac.
4685 2003-04-07 Werner LEMBERG <wl@gnu.org>
4687 * man/groff_out.man: Document negative values of `N' if -Thtml is
4690 2003-04-06 Werner LEMBERG <wl@gnu.org>
4692 * Makefile.comm (depend.temp): Check location of YTABC.
4694 2003-04-05 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
4696 * contrib/mom/Makefile.sub (GROFFBIN): New variable for groff
4698 (groff_bin_path): Rename to GROFF_BIN_PATH.
4699 (GROFF): Use GROFFBIN and GROFF_BIN_PATH.
4700 * doc/Makefile.in (TROFFBIN): New variable for troff
4702 (GROFFBIN): New variable for groff binary path.
4703 (groff_bin_path): Rename to GROFF_BIN_PATH.
4704 (TROFF): Use TROFFBIN.
4705 (GROFF): Use GROFFBIN and GROFF_BIN_PATH.
4706 * doc/Makefile.sub (GROFFBIN): New variable for groff
4708 (groff_bin_path): Rename to GROFF_BIN_PATH.
4709 (GROFF): Use GROFFBIN and GROFF_BIN_PATH.
4711 * Makefile.comm (install_dev): Install scripts from DEVSCRIPTS
4712 with INSTALL_SCRIPT.
4713 (uninstall_dev): Uninstall scripts from DEVSCRIPTS.
4714 * Makefile.dev (all): Depend on DEVSCRIPTS.
4715 (install_dev): Likewise.
4716 * font/devdvi/Makefile.sub (DEVSCRIPTS): New variable to hold
4718 * font/devps/Makefile.sub (DEVSCRIPTS): Likewise.
4719 (DEVGENSCRIPTS): New variable to hold generated scripts.
4721 2003-04-05 Werner LEMBERG <wl@gnu.org>
4723 * src/libs/libdriver/input.cc (IntArray::operator[],
4724 IntArray::get_data): Remove meaningless `const' in return value.
4726 * README.CVS: New file.
4728 2003-04-04 Werner LEMBERG <wl@gnu.org>
4730 Check for stdint.h in C++, not in C.
4732 * aclocal.m4 (GROFF_STDINT_H): New function,
4733 * configure.ac: Check for stdint.h with GROFF_STDINT_H instead of
4735 * configure, src/include/config.hin: Regenerated.
4736 * src/libs/libgroff/tmpname.cc: Use HAVE_CC_STDINT_H.
4739 Fix handling of in grohtml. To do this, troff emits `N'
4740 with a negative value, representing the width of the unbreakable
4741 space (only for -Thtml). grohtml then converts this back to
4742 and uses the value of N as its width.
4744 * src/roff/troff/node.cc (space_char_hmotion_node::tprint,
4745 unbreakable_space_node::tprint): Emit `N-<width>'.
4746 * src/include/printer.h (printer::set_numbered_char): Make it
4748 Make members `font_table' and `nfonts' protected instead of private.
4749 * src/devices/grohtml/post-html.cc
4750 (html_printer::set_numbered_char): New member function.
4753 * src/libs/libgroff/maxfilename.cc:
4754 s/HAVE_LIMITS_H/HAVE_CC_LIMITS_H/.
4756 * src/roff/troff/node.cc (unbreakable_space_node::tprint): Don't
4759 2003-04-03 Sergey A. Osokin <osa@freebsd.org.ru>
4761 * man/roff.man: Small fixes.
4763 2003-04-03 Werner LEMBERG <wl@gnu.org>
4765 Make groff independent from locale's numeric settings.
4767 * configure.ac: Check for `setlocale'.
4768 * configure, src/include/config.hin: Regenerated.
4770 * src/include/lib.h: Handle HAVE_SETLOCALE.
4772 * src/devices/grodvi/dvi.cc (main), src/devices/grolj4/lj4.cc
4773 (main), src/devices/grops/ps.cc (main), src/preproc/grn/main.cc
4774 (main), src/preproc/pic/main.cc (main): Call `setlocale'.
4777 * doc/groff.texinfo: Change dir category to `Typesetting'.
4778 (Man font macros): Mention that there is no space between arguments
4781 * src/libs/libdriver/printer.cc, src/devices/grotty/tty.cc
4782 (*printer::change_color, *printer::change_fill_color): Add missing
4785 2003-04-02 Werner LEMBERG <wl@gnu.org>
4787 * src/devices/grohtml/html-table.cc (html_table::emit_col,
4788 html_table::is_gap): Compute table widths after converting border
4789 positions to avoid rounding errors.
4791 2003-04-01 Werner LEMBERG <wl@gnu.org>
4793 * src/devices/grohtml/html-text.cc (html_text::do_space): Handle
4794 `space_emitted' properly.
4796 2003-03-31 Werner LEMBERG <wl@gnu.org>
4798 * src/devices/grohtml/html-table.cc: Fix column width calculation.
4799 (html_table::set_linelength): Don't add 1.
4800 (html_table::add_indent): Don't subtract 1.
4802 * tmac/html.tmac: Set default page offset to zero.
4804 2003-03-30 Werner LEMBERG <wl@gnu.org>
4806 Make groff emit ` ' for `\ ' and `\~' if `-Thtml' is used.
4808 * src/roff/troff/node.cc (space_char_hmotion_node::tprint,
4809 unbreakable_space_node::tprint): New functions.
4810 (troff_output_file): Make space_char_hmotion_mode::tprint and
4811 unbreakable_space_node::tprint to friends.
4812 * src/roff/troff/node.h: Updated.
4814 * font/devhtml/R.proto: Add ` ' at position 0xA0 (as defined
4815 in the HTML standard).
4817 2003-03-29 Werner LEMBERG <wl@gnu.org>
4819 * src/roff/troff/env.cc (point_size): Fix emission of html tag.
4820 Otherwise, the following code
4829 produces `x a' instead of `xa'. This is a temporary fix, disabling
4830 font changes in diversions for -Thtml.
4832 * tmac/an-old.tmac (TH, SH): Use `HTML-TAG-NS' instead of
4834 (an-do-tag-html): Merge with ...
4835 (an-do-tag): This macro.
4836 Change code slightly to circumvent grohtml bug.
4837 * tmac/troffrc-end: Define dummy for HTML-TAG-NS.
4839 * src/devices/grohtml/html-table.cc (html_table::emit_col,
4840 html_table::is_gap): Round `width' properly.
4842 * tmac/html.tmac: Provide some default layout parameters for
4845 * font/devhtml/DESC.proto: Don't use discrete values for `sizes'
4848 2003-03-28 Werner LEMBERG <wl@gnu.org>
4850 src/devices/grops/ps.cc (ps_printer::do_import): Fix error message.
4852 2003-03-27 Werner LEMBERG <wl@gnu.org>
4854 * tmac/an-old.tmac (BT): Don't call .tl if register `ps4html' is
4857 2003-03-20 Werner LEMBERG <wl@gnu.org>
4859 * src/roff/troff/env.cc (vertical_spacing): Allow zero value for
4861 * doc/groff.texinfo: Updated.
4863 2003-03-19 Werner LEMBERG <wl@gnu.org>
4865 * src/roff/troff/input.cc (process_input_stack) <TOKEN_BEGIN_TRAP,
4866 TOKEN_END_TRAP>: Reset `have_input'.
4868 2003-03-18 Werner LEMBERG <wl@gnu.org>
4870 * src/roff/groff/groff.man: Mention groff_trace man page.
4872 2003-03-16 Werner LEMBERG <wl@gnu.org>
4874 * Makefile.in (LIBEXT): New variable to indicate the file extension
4875 of library files. Computed heuristically from $(OBJEXT).
4876 (MDEFINES): Add $(LIBEXT).
4877 * Makefile.lib, Makefile.comm: Use it.
4879 * src/utils/pfbtops/pfbtops.c (get_text): New function. Split
4880 overlong lines into smaller chunks.
4881 (get_binary): New function.
4883 * src/utils/pfbtops/pfbtops.man: Updated.
4885 2003-03-15 Colin Watson <cjwatson@debian.org>
4887 * src/roff/groff/groff.man: Minor syntax fix.
4889 2003-03-14 Egil Kvaleberg <egil@kvaleberg.no>
4891 * src/devices/grops/ps.cc (ps_printer::media_set,
4892 ps_printer::~ps_printer): Handle zero paper width and length.
4894 2003-03-13 Werner LEMBERG <wl@gnu.org>
4896 Add options -p and -l to grodvi.
4898 * src/devices/grodvi/dvi.cc: Include paper.h.
4899 (landscape_flag, user_paper_length, user_paper_width): New global
4901 (dvi_printer::begin_page): Emit `papersize' special.
4902 Set color after initialization of `cur_h' and `cur_v'.
4903 (main): Add options `-l' and `-p'.
4904 * font/devdvi/Makefile.sub (DESC): Set `papersize'.
4905 * src/devices/grodvi/grodvi.man, NEWS: Updated.
4907 * src/devices/grops/psrm.cc (valid_input_table): Fixed.
4909 2003-03-12 Werner LEMBERG <wl@gnu.org>
4911 * src/devices/grops/grops.man: Move documentation of .PSPIC to...
4912 * man/groff_tmac.man: This man page.
4913 * man/groff_font.man: Declare `paperwidth' and `paperlength' as
4916 * tmac/X.tmac: Don't load pspic.tmac.
4918 2003-03-11 Werner LEMBERG <wl@gnu.org>
4920 Make variable `pr' local to libdriver/input.cc. Based on a patch
4921 by Bernd Warken <bwarken@mayn.de>.
4923 * src/include/driver.h (pr): Removed.
4925 * src/libs/libdriver/input.cc (pr): New global variable.
4926 (do_file): Deallocate `pr'.
4927 * src/libs/libdriver/printer.cc (pr): Removed.
4929 * src/devices/grodvi/dvi.cc (main), src/devices/grohtml/post-html.cc
4930 (main), src/devices/grolbp/lbp.cc (main), src/devices/grolj4/lj4.cc
4931 (main), src/devices/grops/ps.cc (main), src/devices/grotty/tty.cc
4932 (main): Don't delete `pr'.
4934 2003-03-10 Werner LEMBERG <wl@gnu.org>
4936 * tmac/a4.tmac, tmac/composite.tmac: Use `.do'.
4937 * tmac/papersize.tmac: New file.
4938 * tmac/troffrc: Include `papersize.tmac'.
4939 * tmac/Makefile.sub (NORMALFILES): Add `papersize.tmac'.
4940 * tmac/an-old.tmac: Set LT to LL by default.
4942 * NEWS, MANIFEST, tmac/groff_man.man, man/groff_tmac.man,
4943 doc/groff.texinfo: Updated.
4945 * src/libs/libgroff/paper.cc (add_iso_paper): Fix very embarassing
4946 bug which caused all odd iso papers to have wrong dimensions.
4948 * src/devices/grops/ps.cc (user_paper_width): New global variable.
4949 (main) <'p'>: Set `user_paper_width' also.
4950 (ps_printer::media_width, ps_printer::media_height): Use values
4951 given with option `-p'.
4953 2003-03-09 Werner LEMBERG <wl@gnu.org>
4955 * src/include/nonposix.h: Provide default for SET_BINARY.
4957 * src/devices/grodvi/dvi.cc, src/devices/grolbp/lbp.cc,
4958 src/devices/grolj4/lj4.cc, src/devices/grops/ps.cc: Call SET_BINARY
4961 * src/utils/pfbtops/pfbtops.c: Call SET_BINARY unconditionally.
4962 (main): Treat \r\n as \n.
4964 2003-03-08 Werner LEMBERG <wl@gnu.org>
4966 * tmac/an-old.tmac: Use register `HY' to control hyphenation.
4967 * NEWS, tmac/groff_man.man, doc/groff.texinfo: Document it.
4969 2003-03-07 Werner LEMBERG <wl@gnu.org>
4971 Added support to access more than 256 glyphs in Type 1 fonts.
4973 * src/devices/grops/ps.cc (subencoding): New structure.
4974 (style): Add `sub' field.
4976 (ps_printer): Add `subencodings' and `next_subencoding_index' fields.
4977 Add `set_subencoding', `get_subfont' and `encode_subfont' member
4980 (ps_printer::set_char): Use `set_subencoding'.
4981 (make_subencoding_name): New function.
4982 (ps_printer::set_style): Handle case where `sty.sub' is not zero.
4983 (ps_printer::~ps_printer): Emit subencoding definitions.
4985 * src/devices/grops/psrm.cc (valid_input_table): New array to
4986 properly support EBCDIC.
4987 (white_space): Add `\f'.
4988 (ps_get_line): Change first argument to be of type `string &'.
4989 Updated all callers.
4990 This allows to get lines of arbitrary length.
4991 Use `valid_input_table'.
4992 Remove warning about non-conforming PS line length. This seems
4993 not to be of great importance -- for example, dvips don't emit
4995 (PS_LINE_MAX): Removed.
4996 (matches_comment): Change first argument to be of type `string &'.
4998 * src/devices/grops/grops.man, src/devices/grops/TODO: Updated.
5000 * src/utils/afmtodit/afmtodit.pl (%unicode_decomposed,
5001 %AGL_to_unicode, %default_ligatures): New hash tables.
5002 Read all map entries.
5003 Add unencoded characters.
5004 Check for default ligatures if there are no `L' entries.
5005 Print all kern entries.
5006 Print all characters in charset.
5007 * src/utils/afmtodit/afmtodit.man: Updated.
5009 * font/devps/*: Regerated all fonts.
5011 * tmac/latin[129].tmac, tmac/cp1047.tmac: Don't test for existence
5012 of characters, just use `.trin'. Otherwise the mapping depends
5013 on the font encoding.
5014 * tmac/ps.tmac: Add `fi' and `fl'.
5015 Improve `Fi' and `Fl'.
5016 * tmac/X.tmac, tmac/lbp.tmac, tmac/tty.tmac: Improve `Fi' and `Fl'.
5017 * tmac/Xps.tmac: Fix `em'.
5021 2003-03-04 Werner LEMBERG <wl@gnu.org>
5023 * src/roff/troff/input.cc (charinfo_to_node_list): Reset
5026 2003-03-03 Werner LEMBERG <wl@gnu.org>
5028 * Makefile.sub (DISTCLEANFILES): Add gxditview._man.
5030 * font/devps/generate/textmap: Remove entry `similarequal'.
5031 * font/devps/symbolmap: Updated.
5033 2003-03-02 Werner LEMBERG <wl@gnu.org>
5035 * src/libs/libgroff/font.cc (font::load): Fix error message for
5038 * src/devices/grops/grops.man: Improve documentation of the -b
5041 * tmac/tty.tmac: Load latin1.tmac for all TTY devices except
5042 `ascii' and `cp1047'.
5044 2003-03-01 Werner LEMBERG <wl@gnu.org>
5046 Document composite glyphs and the `composite' request.
5048 * man/groff.man, man/groff_diff.man, doc/groff.texinfo: Do it.
5050 2003-02-28 Werner LEMBERG <wl@gnu.org>
5052 * font/devdvi/generate/ec.map: Add some more Unicode entities.
5053 * font/devdvi/*EC: Updated.
5055 * tmac/composite.tmac, tmac/latin2.tmac, tmac/latin9.tmac: New files.
5056 * tmac/latin1 (latin1-tr): Undo any previous mapping.
5057 * tmac/troffrc: Load `composite.tmac'.
5058 * tmac/Makefile.sub (NORMALFILES): Updated.
5060 * doc/groff.texinfo (Input Encodings): New section.
5063 2003-02-27 Werner LEMBERG <wl@gnu.org>
5065 * doc/texinfo.tex: New version 2003-02-11.06.
5067 * tmac/doc-common (Dt): Don't emit warning for unknown section.
5068 * tmac/groff_mdoc.man: Fix description of `Dt'.
5070 2003-02-26 Egil Kvaleberg <egil@kvaleberg.no>
5072 * font/devps/prologue.ps: Fix for included Postscript that does
5073 a setpagedevice -- which is now safely ignored.
5077 * src/devices/grops/ps.cc: Now sets the page size in the generated
5078 document. This is done in two ways: Via a %%-comment for gv and
5079 the like, and via a PageSize and setpagedevice for programs that
5080 understands Postscript proper, like ps2pdf.
5082 * src/devices/grops/ps.h: New broken-flag to avoid page size
5083 definition, if required.
5085 * src/devices/grops/grops.man: New broken-flag 16 mentioned.
5087 * doc/Makefile.in: Added -nosetpage flag (via @pnmtops_nosetpage@).
5088 Not really necessary due to the fix in prologue.ps, but cleaner:
5089 Such information does not belong in an .eps file.
5091 * doc/Makefile.sub: See doc/Makefile.in.
5093 2003-02-26 Ralph Corderoy <ralph@inputplus.co.uk>
5095 * aclocal.m4 (GROFF_PNMTOPS_NOSETPAGE): Use P2 format for testing
5096 instead of P1 since the latter is broken in some versions of netpbm.
5097 * configure: Updated.
5099 2003-02-26 Larry Kollar <kollar@alltel.net>
5101 Make man pages more customizable.
5103 * tmac/an-old.tmac (FT): New register holding footer distance from
5105 (HF): New string holding the default heading font.
5106 (TH): Handle registers `IN' and `SN' set on the command line.
5108 (PT, BT): New strings to customize header and footer lines.
5109 (an-header, an-footer): Use them.
5111 * tmac/groff_man.man: Document changes.
5113 * doc/groff.texinfo: Document man changes.
5114 Document Ultrix extensions of man.
5116 2003-02-26 Werner LEMBERG <wl@gnu.org>
5118 * src/roff/troff/input.cc (do_width, do_if_request): Reset
5119 `have_input' after changing back to old environment.
5121 * src/devices/grolbp/lbp.cc (lbp_printer::set_line_thickness): Move
5122 function up to be defined before first call. This is necessary to
5123 avoid a compilation problem with Sun's WorkShop 6 C++ compiler.
5125 * src/utils/afmtodit/afmtodit.pl: Make script search for files in
5126 the default font directory also. Based on a patch from James
5127 J. Ramsey <jjramsey_6x9eq42@yahoo.com>.
5128 * src/utils/afmtodit/Makefile.sub (afmtodit): Handle @FONTDIR@.
5129 * src/utils/afmtodit/afmtodit.man: Document it.
5133 * tmac/groff_man.man, doc/groff.texinfo: Many minor fixes.
5135 2003-02-25 Gaius Mulley <gaius@glam.ac.uk>
5137 * aclocal.m4 (GROFF_HTML_PROGRAMS): Add test for pnmtops.
5138 (GROFF_PNMTOPS_NOSETPAGE): New macro.
5139 * configure.ac: Use it.
5140 * configure: Regenerated.
5141 * Makefile.in: Updated.
5143 * tmac/Makefile.sub (NORMALFILES): Remove www.tmac.
5144 (CLEANADD): Add www.tmac-sed.
5145 (pnmtops_nosetpage): Define default.
5146 (install_data): Handle www.tmac-sed and substitute
5147 @PNMTOPS_NOSETPAGE@.
5148 (stamp-sed): Add www.tmac.
5149 * tmac/www.tmac: Rewritten, based on a patch by Bernd Warken.
5150 It now breaks URLs at suitable places.
5151 (www:substring_ok): New register set by...
5152 (www:@test_substring): New macro.
5153 (www:error): New alias to www-error.
5154 (www:lenstr, www:splitstr, www:url_breaks, www:url_breaks_splitted):
5156 (URL): Use www:url_breaks.
5157 (PIMG, MPIMG): Use @PNMTOPS_NOSETPAGE@.
5158 (CDS, CDE): New macros.
5160 2003-02-25 Werner LEMBERG <wl@gnu.org>
5162 * src/devices/grops/ps.cc (ps_printer::define_encoding): Avoid
5165 2003-02-24 Werner LEMBERG <wl@gnu.org>
5167 Contrary to the PCL5 Developer's Guide, the ascenders in TFM files
5168 can be negative also.
5170 * src/utils/hpftodit/hpftodit.cc (char_info): `ascent' must be
5172 (read_char_table): Avoid negative ascenders.
5173 (output_charset): Add cast.
5174 * font/devlj4/*: Regenerated.
5176 Replace unnamed glyphs for DVI fonts with `uXXXX' glyph names where
5179 * font/devdvi/generate/{tc,texttt,ec,texmi,texsy,textex}.map: Do it.
5180 * font/devdvi/generate/textex.map: Map glyph 23 to `u21C6' instead
5182 * font/devdvi/*: Regenerated.
5184 Map `la' and `ra' to U+27E8 and U+27E9. These two characters have
5185 normal width, while the previously used characters (U+2329 and
5186 U+232A) are classified as wide due to canonical equivalence with the
5187 CJK punctuation characters U+3008 and U+3009.
5189 * font/devutf8/R.proto: Updated.
5190 * src/roff/troff/uniglyph.cc, src/roff/troff/glyphuni.cc: Ditto.
5192 * man/groff_char.man: Simplify handling of table traps by
5193 introducing `start block' and `end block' macros.
5194 (Ns, Ne, 2s, 2e, Ds, De): New macros.
5195 (DL): Make it work with Unix troff also.
5196 Fix code values of `la' and `ra'.
5198 * tmac/dvi.tmac: Define `<>' for CW and CWI.
5200 2003-02-23 Gaius Mulley <gaius@glam.ac.uk>
5202 * src/devices/grohtml/post-html.cc (element_list::~element_list):
5203 New destructor, fixing a major memory leak.
5205 2003-02-22 Werner LEMBERG <wl@gnu.org>
5207 * font/devhtml/R.proto, font/devutf8/R.proto: Flip `*f' and `+f'
5208 to be in conformance with Unicode 3.0 and newer.
5210 * font/devlj4/generate/text.map: Add `Eu'.
5211 * font/devlj4/generate/special.map: Flip `*e' and `+e'.
5212 * font/devlj4/S: Regenerated.
5214 * man/groff_char.man: Completely rewritten.
5216 * doc/groff.texinfo: Fix description of request and macro arguments.
5218 2003-02-20 Gaius Mulley <gaius@glam.ac.uk>
5222 * src/devices/grohtml/html-table.cc (html_table::~html_table):
5223 Deallocate `columns' list.
5224 * src/devices/grohtml/post-html.cc (char_block::~char_block):
5226 (text_glob::text_glob_html, text_glob::text_glob_special,
5227 text_glob::text_glob_line, text_glob::text_glob_auto_image,
5228 text_glob::text_glob_tag): Avoid memory leaks.
5229 (text_glob::remember_table): Free memory before reassigning.
5231 2003-02-19 Werner LEMBERG <wl@gnu.org>
5233 Add glyph `+e', greek lunate epsilon symbol, and `-h' (with the
5234 alias `hbar'), the Planck constant over two pi.
5236 * font/devdvi/generate/texmi.map: Use `*e' for position 15 and
5237 `+e' for position 34.
5238 * font/devdvi/generate/texsy.map: Replace `DI' and `HE' with
5239 `u2662' and `u2661'.
5240 * font/devdvi/{MI,S}: Regenerated.
5241 * font/devhtml/R.proto, font/devutf8/R.proto: Add `+e', `-h', `hbar'.
5242 * font/devlbp/*: Add `hbar' alias.
5243 * font/devlj4/generate/special.map: Ditto.
5244 * font/devlj4/S: Regenerated.
5245 * font/devps/generate/symbolchars: Add `+e'.
5246 * font/devps/generate/textmap: Fix PS name for `-h'.
5248 * font/devps/symbolmap: Regenerated.
5250 * src/devices/grops/ps.cc (transform_fill): Removed since unused.
5252 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `+e',
5254 * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `+e',
5257 * tmac/X.tmac, tmac/ps.tmac: Provide definitions for `-h' and
5259 * tmac/tty-char.tmac: Add `+e'.
5261 2003-02-17 Werner LEMBERG <wl@gnu.org>
5263 Another round trying to really fix problems with `have_input'.
5265 * src/roff/troff/input.cc (input_stack::get): Handle `have_input'.
5266 (token::next) <'\n'>, <\'\n'>: Don't handle `have_input'.
5268 * src/devices/grotty/tty.cc (tty_printer::put_color): Fix color
5269 handling if both foreground and background colors are default.
5271 * doc/groff.texinfo (Debugging): Document .lf differences to
5274 2003-02-16 Werner LEMBERG <wl@gnu.org>
5276 * src/devices/grotty/tty.cc (tty_printer::make_rgb_string): Avoid
5277 null-bytes in created string.
5279 * src/roff/troff/input.cc (lookup_color, interpolate_macro,
5280 alias_macro, lookup_request): Improve warning messages.
5282 * src/roff/troff/node.cc (suppress_node::tprint): Use `strsave',
5284 Free `last_image_filename'.
5286 * src/preproc/html/pre-html.cc (char_block::char_block): Initialize
5288 (imageList::createPage, imageList::createImage): Use `free', not
5290 (imageItem::~imageItem): Free `imageName'.
5291 (addRegDef): Use `strsave', not `strdup'.
5292 (get_resolution): Free `pathp'.
5294 2003-02-15 Werner LEMBERG <wl@gnu.org>
5296 * src/devices/grotty/tty.cc (tty_printer::tty_printer): Fix pointer
5299 2003-02-14 Werner LEMBERG <wl@gnu.org>
5301 Add memory management for colors to deallocate unnamed colors
5304 * src/include/color.h (color): New members `free_list' and `next'.
5305 New member functions `new' and `delete'.
5307 * src/libs/libgroff/color.cc: Implement it.
5309 * src/libs/libgroff/font.cc (font::add_kern): Use integer cast
5310 for array size of new operator.
5312 * src/libs/libdriver/input.cc (IntArray::operator[]): Remove
5313 redundant comparison.
5315 * src/roff/troff/input.cc (word_space_node::reread,
5316 hmotion_node::reread): Avoid warning about unused parameter.
5317 (reset_output_registers): Remove redundant parameter.
5318 (define_color): Undo change 2003-02-12.
5320 * src/roff/troff/reg.h: Updated.
5322 * src/roff/troff/node.cc (troff_output_file::really_print_line,
5323 output_file::put_filename, real_output_file::really_put_filename,
5324 ascii_output_file::really_print_line,
5325 break_char_node::get_hyphen_list): Avoid warning about unused
5327 (suppress_node::tprint): Updated.
5329 * configure.ac: Check declaration for rand() and srand().
5330 * configure: Regenerated.
5332 * src/preproc/pic/pic.h: Declare fmod(), rand(), and srand()
5334 * src/preproc/pic/pic.y: Remove declaration of fmod(), rand(),
5337 * src/preproc/eqn/delim.cc (delim_table): Add missing initializers
5338 to avoid compiler warnings.
5340 * src/preproc/grn/hgraph.cc (HGPrintElt): Second parameter is
5343 * src/devices/grops/ps.cc (ps_printer::set_char): Last parameter
5345 * src/devices/grops/psrm.cc (skip_possible_newline): Remove first
5347 Updated all callers.
5349 * src/devices/grotty/tty.cc (tty_printer::set_char): Last parameter
5351 * src/devices/grodvi/dvi.cc (dvi_printer::set_char): Ditto.
5352 * src/devices/grolj4/lj4.cc (lj4_printer::set_char): Ditto.
5354 * src/devices/grohtml/post-html.cc (html_printer::emit_line):
5355 Parameter is unused.
5356 (html_printer::add_table_end): Define parameter conditionally.
5357 * src/devices/grohtml/output.cc (simple_output::special): Parameter
5360 * src/devices/grolbp/lbp.cc: Define _GNU_SOURCE conditionally.
5361 (lbp_printer::set_char): Last parameter is unused.
5363 * src/utils/indxbib/indxbib.cc (main): Remove redundant comparison.
5365 2003-02-13 Werner LEMBERG <wl@gnu.org>
5367 New commands \D'Fr ...', \D'Fc ...', etc. for orthogonality.
5368 Make \D'f ...' move horizontally again for backwards compatibility.
5369 Replace it with \D'Fg ...' where appropriate to avoid dependency
5370 on horizontal resolution.
5372 * src/roff/troff/input.cc (do_get_long_name): New function.
5373 (get_long_name): Call it.
5375 (read_draw_node): Handle `\D'Fx ...' by calling ...
5376 (read_color_draw_node): New function.
5378 (read_rgb, read_cmy, read_cmyk, read_gray): New optional argument
5380 Pass it to `do_get_long_name' which is used instead of
5383 * src/libs/libdriver/input.cc (color_from_Df_command): Remove
5384 unnecessary value guard.
5385 (parse_D_command) <'f'>: Add horizontal shift.
5387 * src/preproc/grn/hgraph.cc (HGPrintElt) <POLYGON>: Use \D'Fg ...'.
5388 * src/preproc/pic/troff.cc (troff_output::set_fill): Ditto.
5389 (FILL_MAX): Removed.
5391 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
5394 2003-02-12 Werner LEMBERG <wl@gnu.org>
5396 * src/roff/troff/input.cc (do_name_test, do_expr_test,
5397 do_zero_width): Push `\n' if closing delimiter is missing.
5399 (token::next) <ESCAPE_NEWLINE>, <'\n'>, <\'\n'>: Reset `have_input'.
5400 <'F'>: Make \F non-transparent at the beginning of line.
5401 (process_input_stack) <token::TOKEN_CHAR, token::TOKEN_NEWLINE,
5402 token::TOKEN_REQUEST, token::TOKEN_BEGIN_TRAP>: Don't handle
5405 (define_color): Free color in case of reassignment.
5407 * doc/groff.texinfo (@Defesc, @DefescList, @DefescItem,
5408 @DefescListEnd): Use @Var, not @var.
5411 * src/preproc/grn/hgraph.cc (HGPrintElt): Fix typo.
5413 * src/preproc/pic/object.cc (object_spec::~object_spec): Free
5414 `shaded' and `outlined' arrays.
5415 (object_spec::object_spec): Initialize `shaded' and `outlined'.
5416 (graphic_object::set_fill_color, graphic_object::set_outline_color):
5418 (closed_object::set_fill_color): Ditto.
5419 * src/preproc/pic/troff.cc (troff_output::set_color): Use strsave
5421 (troff_output::reset_color): Use a_delete instead of free.
5422 * src/preproc/pic/main.cc (do_file): Free `out' in case of error.
5424 2003-02-11 Werner LEMBERG <wl@gnu.org>
5426 * doc/groff.texinfo: Improve documentation of `ad'.
5427 Document that \D'f...' is dependent on the horizontal resolution.
5428 * man/groff_diff.man: Improve documentation of \D'f...'.
5430 * src/preproc/grn/hgraph.cc (HGPrintElt) <POLYGON>: Don't emit
5431 compensating \h'...' for \D'f ...' since the latter no longer moves
5433 * src/preproc/pic/troff.cc (troff_output::set_fill): Ditto.
5435 2003-02-10 Werner LEMBERG <wl@gnu.org>
5437 Improve error messages for `x F' (and `F') commands.
5439 * src/include/error.h: Add declaration for
5440 `current_source_filename'.
5441 * src/libs/libgroff/filename.cc: Add `current_source_filename'.
5442 * src/libs/libgroff/error.cc (do_error_with_file_and_line): Add
5443 parameter for source file string.
5444 Updated all callers.
5446 * src/libs/libdriver/input.cc: Add `current_source_filename'.
5447 (remember_source_filename): New function.
5448 (parse_x_command <'F'>, do_file <'F'>): Use it.
5450 2003-02-09 Werner LEMBERG <wl@gnu.org>
5452 Make grotty not emit warnings about unknown colors more than
5455 * src/devices/grotty/tty.cc: Include `ptable.h'.
5456 (TTY_MAX_COLORS): Removed.
5457 (DEFAULT_COLOR_IDX): Defined to -1.
5458 (glyph): Change `back_color_idx' and `fore_color_idx' to `char'.
5459 (tty_printer): Change `curr_back_idx' and `curr_fore_idx' to `char'.
5460 Change `tty_colors' to be a ptable.
5461 First arg of `put_color' is now `char'.
5462 New functions `make_rgb_string' and `tty_color'.
5463 (tty_printer::tty_printer): Use `tty_color'.
5464 (tty_printer::color_to_idx): Return value is now `char'.
5467 * src/include/color.h (color): Add `print_color' member function.
5468 * src/libs/libgroff/color.cc (color::print_color): Implement it.
5470 2003-02-08 Werner LEMBERG <wl@gnu.org>
5474 * src/devices/grops/ps.cc (ps_printer::define_encoding): Close
5477 * src/include/ptable.h (PTABLE::~PTABLE, PTABLE::define): Always
5478 assume that value has been allocated with `new[]', thus use
5479 `a_delete' for deallocation.
5481 * src/libs/libdriver/input.cc (get_integer_arg,
5482 get_possibly_int_args, parse_x_command, do_file): Use `a_delete'
5485 * src/libs/libgroff/new.cc (delete) [!COOKIE_BUG]: Define.
5486 * src/libs/libgroff/nametoindex.cc
5487 (character_indexer::named_char_index): Use `new <type>[1]'.
5489 * src/preproc/eqn/lex.cc (init_table, do_definition): Use `new
5491 * src/preproc/eqn/text.cc (set_special_char_type): Ditto.
5492 (split_text): Use `a_delete'.
5494 * src/preproc/pic/pic.y (define_label, define_variable): Use `new
5497 * src/roff/troff/env.cc (environment::choose_breakpoint): Avoid
5498 harmless memory leak.
5499 (hyphen_trie::read_patterns_file): Initialize `buf'.
5500 * src/roff/troff/node.cc (troff_output_file::troff_output_file):
5501 Initialize `current_fill_color'and `current_glyph_color'.
5502 * src/roff/troff/glyphuni.cc
5503 (glyph_to_unicode_init::glyph_to_unicode_init): Use `new <type>[1]'.
5504 * src/roff/troff/uniuni.cc
5505 (unicode_decompose_init::unicode_decompose_init): Ditto.
5506 * src/roff/troff/uniglyph.cc
5507 (unicode_to_glyph_init::unicode_to_glyph_init): Ditto.
5509 2003-01-26 Werner LEMBERG <wl@gnu.org>
5511 * src/utils/indxbib/indxbib.cc (main) [__EMX__]: Check with
5512 `access' before calling `unlink'.
5513 (do_file): Handle __EMX__.
5515 * src/include/nonposix.h: Handle __EMX__.
5517 * Makefile.in (SEP): New variable; set to @PATH_SEPARATOR@.
5518 (fontpath,tmacpath): Use it.
5520 Sorted alphabetically.
5522 * src/preproc/eqn/neqn.sh, src/roff/nroff/nroff.sh: Use
5524 * src/preproc/eqn/Makefile.sub, src/roff/nroff/Makefile.sub: Handle
5527 2003-01-27 Werner LEMBERG <wl@gnu.org>
5529 * src/libs/libgroff/strcasecmp.c, src/libs/libgroff/strncasecmp.c:
5530 New files, copied from gnulib.
5531 * src/libs/libgroff/Makefile.sub (CSRCS): Add them.
5532 * configure.ac: Updated.
5533 * configure: Regenerated.
5535 * src/include/config.hin: Regenerated.
5536 * src/include/lib.h [!HAVE_STRCASECMP]: Declare `strcasecmp'.
5537 Don't define `strcasecmp' as `strcmp'.
5538 [!HAVE_STRNCASECMP]: Declare `strncasecmp'.
5539 Dont define `strncasecmp' as `strncmp'.
5541 * src/roff/groff/pipeline.c [!HAVE_STRCASECMP, !HAVE_STRNCASECMP]:
5544 2003-01-26 Werner LEMBERG <wl@gnu.org>
5546 * src/utils/indxbib/indxbib.cc (main) [__EMX__]: Fix typo:
5549 2003-01-25 Werner LEMBERG <wl@gnu.org>
5551 * doc/groff.texinfo (Ligatures and Kerning): Mention limitations.
5553 2003-01-24 Werner LEMBERG <wl@gnu.org>
5555 Add US-english hyphenation exceptions (converted from Barbara
5556 Beeton's hyphenation exception log reports which appear irregularly
5559 * tmac/hyphen.us: Updated to latest version.
5560 * tmac/README: Updated.
5561 * tmac/hyphenex.us, tmac/hyphenex.sh: New files.
5562 * tmac/troffrc: Load `hyphenex.us'.
5563 * tmac/Makefile.sub (NORMALFILES): Add `hyphenex.us'.
5564 * doc/groff.texinfo: Updated.
5566 2003-01-23 Werner LEMBERG <wl@gnu.org>
5568 Improve hyphenation slightly. This is a first step in redesigning
5569 the hyphenation algorithm to make it more flexible (e.g. allowing
5570 kerns and ligatures between the hyphenation character and the
5571 following character -- while not used normally in English, other
5572 languages like German would benefit).
5574 * src/roff/troff/env.cc (environment::hyphenate_line): Use
5575 assertion instead of if-clause.
5576 Let `get_hyphen_list' return the number of involved characters in
5577 the hyphenation pattern instead of computing it directly (which
5578 often yields too small values).
5579 * src/roff/troff/node.h (*::get_hyphen_list): Add second parameter.
5580 * src/roff/troff/node.cc (*::get_hyphen_list): Handle new second
5583 2003-01-22 Werner LEMBERG <wl@gnu.org>
5585 Fixing a bug which caused groff to hang if the hyphenation exception
5586 dictionary tried to grow.
5588 * src/roff/troff/env.cc (hyphen_trie::insert_hyphenation,
5589 hyphen_trie::read_patterns_file, do_hyphenation_patterns_file): Use
5590 pointer to dictionary.
5592 2003-01-20 Werner LEMBERG <wl@gnu.org>
5594 * src/utils/afmtodit/afmtodit.pl: Add switch `-m' to suppress
5595 negative left italic correction.
5596 * src/utils/afmtodit/afmtodit.man: Document it.
5598 * font/devps/generate/Makefile (RFLAG): Add `-m'.
5599 * font/devps/{AB,AR,BMB,BMR,CB,CR,EURO,HB,HR,HNB,HNR,NB,NR,PB,PR,
5600 S,TB,TR,ZD,ZDR}: Regenerated with afmtodit options `-i 0 -m'.
5604 2003-01-16 Werner LEMBERG <wl@gnu.org>
5608 2003-01-16 Jörgen Grahn <jgrahn@algonet.se>
5610 * src/preproc/refer/refer.man: Mention REFER environment variable.
5612 2003-01-05 Werner LEMBERG <wl@gnu.org>
5614 Similar to \[is], the square root glyph (\[sr]) and the square root
5615 extension glyph (\[radicalex]) are now text symbols. The new
5616 mathematical versions are called \[sqrt] and \[sqrtex],
5619 * font/devX*/S: Regenerated.
5620 * font/devdvi/generate/texex.map: Rename `sr[0123]' to `sqrt[0123]'.
5621 * font/devdvi/generate/texsy.map: Rename `sr' to `sqrt'.
5622 * font/devdvi/EX, font/devdvi/S: Regenerated.
5623 * font/devhtml/R.proto, font/devutf8/R.proto: Add `sqrt'.
5624 * font/devlj4/generate/special.map: Add `sqrt'.
5625 * font/devlj4/S: Regenerated.
5626 * font/devps/generate/textmap: Add `sqrt'.
5627 * font/devps/S, font/devps/symbolmap: Regenerated.
5629 * src/preproc/eqn/sqrt.cc (SQRT_CHAR, RADICAL_EXTENSION_CHAR,
5630 SQRT_CHAIN, BAR_CHAIN): Use `sqrt*' and `sqrtex*'.
5631 * src/roff/troff/input.cc (init_charset_table): Make `sqrtex'
5632 overlap horizontally.
5634 * tmac/X.tmac, tmac/ps.tmac, tmac/lj4.tmac: Add `sqrtex'.
5635 * tmac/dvi.tmac: Add `sr', and `sqrtex'.
5638 * doc/groff.texinfo, man/groff_diff.man: Document that `radicalex'
5639 and `sqrtex' are overlapping glyphs.
5641 2003-01-04 Werner LEMBERG <wl@gnu.org>
5643 * font/devdvi/generate/texsy.map: Add `is'.
5644 * font/devps/symbolmap: Regenerated.
5645 * font/devdvi/*TC, MI, S: Regenerated.
5647 * tmac/dvi.tmac: Remove `is'.
5649 2003-01-03 Werner LEMBERG <wl@gnu.org>
5651 `is' is now a text symbol (only relevant for dvi). The math variant
5652 can be accessed with `integral'.
5654 * font/devX*/S: Regenerated.
5655 * font/devdvi/generate/texex.map: Remove `is'.
5656 * font/devdvi/EX: Updated.
5657 * font/devhtml/R.proto, font/devutf8/R.proto: Add `integral'.
5658 * font/devlj4/generate/special.map: Ditto.
5659 * font/devlj4/S: Regenerated.
5660 * font/devps/generate/textmap: Add `integral'.
5661 * font/devps/S: Regenerated.
5663 * tmac/dvi.tmac: Define `is'.
5665 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `integral'.
5667 * src/preproc/tbl/main.cc (process_format): Fix error message.
5669 2003-01-02 Werner LEMBERG <wl@gnu.org>
5671 * font/devhtml/R.proto, font/devutf8/R.proto: Add `ne' and `nc'.
5672 * font/devps/textmap: Fix entries for `ne' and `nc'.
5673 * font/devps/symbolmap: Regenerated.
5675 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list),
5676 src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `18',
5677 `38', `58', `78', `-+', `|=', `nc', `ne'.
5679 * tmac/dvi.tmac: Add `nm', `ne', `nc'.
5680 Use `schar' for `aq'.
5681 * tmac/ps.tmac, tmac/X.tmac: Add `nc' and `ne'.
5682 * tmac/ec.tmac: Add `SC' to special fonts for `CW' and `CWI'.
5683 * tmac/tty.tmac: Add `ne'.
5685 * src/roff/troff/node.cc (make_glyph_node): Test with `get_macro'
5686 for fallback glyphs.
5688 2002-12-29 Werner LEMBERG <wl@gnu.org>
5692 * font/devX*/*: Regenerated.
5693 * font/devdvi/generate/ec.map: Remove `eq'.
5694 * font/devdvi/generate/texsy.map: Make `~=' the same as `~~'.
5695 Assign `|=' to position 39.
5696 * font/devdvi/*EC, S: Regenerated.
5697 * font/devhtml/R.proto, font/devutf8/R.proto: Add `|='.
5698 * font/devlj4/generate/special.map: Make `~=' the same as `~~'.
5699 Assign `|=' to position 549.
5700 * font/devps/generate/textmap, font/devps/enerate/symbolmap: Remove
5702 Add `uni2243' for `|='.
5704 * tmac/ec.tmac: Add `eq'.
5705 * tmac/dvi.tmac: Add `=~'.
5706 * tmac/tty-char.tmac, tmac/ps.tmac, tmac/X.tmac, tmac/lbp.tmac: Add
5709 2002-12-21 Werner LEMBERG <wl@gnu.org>
5711 * font/devdvi/generate/tc.map: Remove `**'.
5712 * font/devdvi/*TC: Regenerated.
5713 * font/devhtml/R.proto, font/devutf8/R.proto: Add `18', `38', `58',
5715 * font/devutf8/NOTES: Updated.
5717 * src/roff/troff/charinfo.h (charinfo): Add `setx_macro' function.
5718 Don't give default parameter to `set_macro'.
5719 * src/roff/troff/input.cc (do_define_character): Use `setx_macro'
5720 instead of `set_macro'.
5721 (charinfo::setx_macro): Implement it.
5722 (charinfo::set_macro): Don't change `mode'.
5724 * tmac/tty.tmac: Add `18', `38', `58', `78', `<<', `>>'.
5725 * tmac/ps.tmac, tmac/X.tmac: Add `<<', `>>'.
5726 * tmac/dvi.tmac: Define `!=' with `.schar'.
5728 2002-12-20 Werner LEMBERG <wl@gnu.org>
5730 * font/devX*/S: Regenerated.
5731 * font/devdvi/generate/ec.map: Remove `pl'.
5732 * font/devdvi/generate/tc.map: Remove `mi', `14', `12', `34'.
5733 * font/devdvi/*{TC,EC}: Regenerated.
5734 * font/devhtml/R.proto: Add `-+'.
5735 Remove double entries for `rk', `lk', `lt', `rt', `rb', `lb'.
5736 * font/devlbp/*: Remove `or'.
5737 * font/devlj4/generate/special.map: Remove `or'.
5738 * font/devlj4/S: Regenerated.
5739 * font/devps/generate/textmap: Add `fiveeighths', `oneeighth',
5740 `seveneighths', `threeeighths'.
5742 Replace `minusplus' with `uni2213'.
5743 * font/devps/symbolmap: Regenerated.
5744 * font/devutf8/R.proto: Replace `shc' with unnamed glyph.
5747 * src/roff/troff/charinfo.h (charinfo): Add `is_normal' inline
5749 * src/roff/troff/node.cc (troff_output_file::put_char_width):
5750 Call glyph_color and fill_color even if tcommand_flag isn't set.
5751 (make_node, node::add_char): Check not ci->is_fallback but
5754 * tmac/lj4.tmac, tmac/lbp.tmac: Define `or'.
5755 * tmac/ec.tmac: Add .rchar entry for `f/'.
5756 Don't remove `12', `14', `34'.
5757 Define `pl' to be always roman.
5758 * tmac/ps.tmac (ps-frac, ps-frac-mono): New macros.
5759 Define `18', `38', `58', `78'.
5760 * tmac/tty.tmac: Add `-+'.
5761 * tmac/dvi.tmac: Define `f/'.
5762 (dvi-frac): Use `f/'.
5763 * tmac/X.tmac (X-frac, X-frac-mono): New macros.
5764 Define `18', `38', `58', `78'.
5766 2002-12-15 Colin Watson <cjwatson@debian.org>
5768 * contrib/pic2graph/pic2graph.sh: Add missing `;;'.
5770 2002-12-10 Werner LEMBERG <wl@gnu.org>
5772 Add glyph `tno', a textual variant of `no'.
5774 * font/devX*/*: Regenerated.
5775 * font/{devcp1047,devlatin1,devutf8,devhtml}/R.proto: Add `tno'.
5776 * font/devdvi/generate/{tc.map: Replace `no' with `tno'.
5777 * font/devdvi/generated/{texsy,textex}.map: Add `tno'.
5778 * font/devdvi/*: Regenerated.
5779 * font/devlbp/*: Add `tno'.
5780 * font/devlj4/generate/tex.map: Replace `no' with `tno'.
5781 * font/devlj4/*: Regenerated.
5782 * font/devps/generate/textmap: Replace `no' with `tno'.
5783 * font/devps/generate/symbolchars: Add `no'.
5784 * font/devps/*: Regenerated.
5786 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `tno'.
5788 * tmac/cp1047.tmac, tmac/latin1.tmac: Replace `no' with `tno'.
5789 * tmac/tty-char.tmac: Add entry for `tno' and `3d'.
5793 * tmac/dvi.tmac: Replace most `\\' with `\E'.
5794 Add definition for `sd'.
5795 * tmac/X.tmac, tmac/ps.tmac: Replace most `\\' with `\E'.
5797 * tmac/eqnrc <dvi>: Use `integral' instead of `is' glyph.
5799 2002-12-08 Werner LEMBERG <wl@gnu.org>
5801 * tmac/an-old.tmac (TH): Use integer value for `IN' if in nroff
5802 mode to avoid rounding errors.
5803 (an-do-tag, an-do-tag-html, RS, RE): Remove redundant `.br'.
5805 * src/roff/groff/groff.man, src/roff/nroff/nroff.man,
5806 src/roff/troff/troff.man: Improve documentation of -T.
5808 2002-12-07 Jeff Conrad <jeff_conrad@msn.com>
5810 * src/roff/groff/pipeline.c: Don't define `const' for _WIN32.
5811 (run_pipeline) [_WIN32]: Provide working function without `fork'.
5813 2002-12-06 Werner LEMBERG <wl@gnu.org>
5815 * font/devps/generate/freeeuro.sfd: Make dimensions of Euro.symbol
5816 glyphs compatible to Adobe's Euro fonts (scaling them down a bit).
5817 Scaling Euro.sansserif glyphs down to have the same height as
5819 Removed unnecessary points; added some extrema.
5821 * font/devps/EURO, font/devps/freeeuro.afm, font/devps/freeeuro.pfa:
5824 2002-12-04 Werner LEMBERG <wl@gnu.org>
5826 * font/devps/generate/freeeuro.sfd: Add glyphs `Euro.symbol.slanted'
5827 and `Euro.symbol.bold.slanted'.
5828 Improve some glyph offsets and widths.
5829 * font/devps/EURO, font/devps/freeeuro.afm, font/devps/freeeuro.pfa:
5831 * font/devps/generate/Makefile (freeeuro.afm freeeuro.pfa): Fix
5833 * font/devps/generate/sfdtopfa.pe: Generate PFA in current
5836 * tmac/europs.tmac: Updated to new glyph indices.
5837 Use Euro.symbol for font familiy `A'.
5839 * doc/groff.texinfo: Minor improvements.
5841 2002-12-02 Werner LEMBERG <wl@gnu.org>
5843 * font/devdvi/generate.tc.map: s/%O/%0/.
5844 * font/devdvi/*TC: Regenerated.
5846 * src/roff/troff/div.cc (init_div_requests): Sorted.
5848 * tmac/dvi.tmac: Remove `Ye'.
5849 * tmac/ec.tmac: Remove `Ye'.
5850 Add .rchar entry for `de'.
5852 * man/groff.man, man/groff_diff.man: Document register `.pe'.
5853 * doc/groff.texinfo: Document registers `.pe', `.n', and `.w'.
5856 2002-11-30 Werner LEMBERG <wl@gnu.org>
5858 Add PS font for various Euro glyphs.
5860 * font/devps/generate/freeeuro.sfd: New master font file for
5862 * font/devps/generate/sfdtopfa.pe: New conversion script for
5864 * font/devps/generate/Makefile (FONTS): Add `EURO'.
5865 (EURO, freeeuro.afm, freeeuro.pfa): New rules.
5866 * font/devps/freeeuro.pfa, font/devps/freeeuro.afm: Generated from
5868 * font/devps/EURO: Generated from `freeeuro.afm'.
5869 * font/devps/download: Add `freeuro.pfa'.
5870 * font/devps/Makefile.sub (NORMALFILES): Adde `EURO' and
5873 * tmac/europs.tmac: New file.
5874 * tmac/ps.tmac: Include `europs.tmac'.
5875 * tmac/Makefile.sub (DISTFILES): Add `europs.tmac'.
5877 2002-11-29 Werner LEMBERG <wl@gnu.org>
5879 * font/devdvi/generate/texsy.map: Remove `lh' and `rh'.
5880 * font/devdvi/S: Regenerated.
5881 * font/devhtml/R.proto: Fix `CR' and `ci'.
5883 * font/devps/generate/textmap: Fix `lh', `rh', and `sq'.
5885 * font/devps/symbolmap: Regenerated.
5886 * font/devutf8/R.proto: Fix `CR' and `ci'.
5888 * font/devutf8/NOTES: Updated.
5890 * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Fix `CR' and
5893 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Ditto.
5895 * tmac/dvi.tmac: Add `lh' and `rh'.
5896 * tmac/Xps.tmac: Fix `lh' and `rh'.
5897 * tmac/X.tmac: Add `OK'.
5898 * tmac/lj4.tmac: Ditto.
5900 2002-11-24 Werner LEMBERG <wl@gnu.org>
5902 * font/devX*/S: Regenerated.
5903 * font/devascii/R.proto, font/devcp1047/R.proto: Remove glyphs `lb',
5904 `lc', `lf', `lk', `lt', `rb', `rc', `rf', `rk', and `rt'.
5905 * font/devdvi/generate/texsy.map: Remove `or' glyph.
5906 * font/devdvi/S: Regenerated.
5907 * font/devhtml/R.proto, font/devutf8/R.proto: Add/fix glyphs
5908 `parenlefttp', `parenleftex', `parenleftbt', `parenrighttp',
5909 `parenrightex', `parenrightbt', `bracketlefttp', `bracketleftex',
5910 `bracketleftbt', `bracketrighttp', `bracketrightex',
5911 `bracketrightbt', `bracelefttp', `braceleftmid', `braceleftbt',
5912 `braceex', `braceleftex', `bracerightex', `bracerighttp',
5913 `bracerightmid', `bracerightbt', `lt', `lk', `lb', `rt', `rk',
5915 * src/roff/troff/glyphuni.cc, src/roff/troff/uniglyph.cc: Ditto.
5916 * font/devutf8/NOTES: Updated.
5917 * font/devlj4/generate/special.map: Add glyph `braceex'.
5918 * font/devlj4/S: Regenerated.
5920 * tmac/tty-char.tmac: Add glyphs `lf', `rf', `lc', and `rc'.
5922 2002-11-14 Werner LEMBERG <wl@gnu.org>
5924 * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `va'
5927 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Ditto.
5929 * doc/texinfo.tex: New version from texinfo 4.3.
5930 * doc/groff.texinfo: Updated for texinfo 4.3.
5931 Use @tie{} where appropriate.
5932 * font/devdvi/generate/ec.map: Don't include `or' and `bv'.
5933 * font/devdvi/generate/tc.map: Remove `rn'.
5934 * font/devdvi/*TC, font/devdvi/*EC: Regenerated.
5935 * font/devhtml/R.proto, font/devutf8/R.proto: Add `vA'.
5937 * font/devX100/*, font/devX100-12/*, font/devX75/*,
5938 font/devX75-12/*: Regenerated.
5940 * tmac/dvi.tmac: Add special fonts `SA' and `SB'.
5941 Use .char (again) for `br', `ul', `rn', `or', and `ru'.
5942 Improve definition of `an'.
5943 * tmac/ps.tmac: Use .char (again) for `br', `ul', `rn', `or', and
5945 * tmac/lj4.tmac: Use .char (again) for `br', `ul', `rn', and `ru'.
5946 * tmac/X.tmac: Add definition for `or'.
5947 * tmac/Xps.tmac: Undo change 2002-11-05.
5948 * tmac/lbp.tmac: Add definitions for `br', `rn', `ul', and `ru'.
5950 2002-11-11 Werner LEMBERG <wl@gnu.org>
5952 * src/roff/troff/node.cc (troff_output_file::put_char): Always
5955 2002-11-10 Werner LEMBERG <wl@gnu.org>
5957 Added three new requests `schar', `fschar', and `rfschar'. `schar'
5958 defines a glyph which is searched after the check for fonts declared
5959 with `.special' (and before the check for all mounted special
5960 fonts). `fschar' defines a glyph for a particular font which is
5961 searched after the check for fonts declared with `.fspecial' (and
5962 before the check for fonts declared with `.special'). `rfschar'
5963 removes glyphs defined with `fschar'.
5965 * src/roff/troff/token.h (char_mode): New enum.
5966 Declare do_define_character.
5967 * src/roff/troff/charinfo.h (charinfo): Replace `fallback' with
5969 (charinfo::is_fallback): Updated.
5970 (charinfo::is_special): New method.
5971 * src/roff/troff/input.cc (do_define_character): Add and use
5972 optional second parameter used as a prefix for font-specific glyph
5974 (define_character, define_fallback_character): Updated.
5975 (define_special_character): New function.
5976 (init_input_requests): Add `schar'.
5977 (charinfo::charinfo, charinfo::set_macro): Updated.
5978 * src/roff/troff/node.cc: Include `stringclass.h'.
5979 (make_glyph_node): Handle special glyphs defined with `.schar' and
5981 (define_font_special_character, remove_font_special_character): New
5983 (init_node_requests): Sorted.
5984 Add `fschar' and `rfschar'.
5985 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
5986 Document new requests.
5988 * font/devhtml/R.proto, font/devutf8/R.proto: Add `va'.
5989 * tmac/dvi.tmac: Add `va' for CW and CWI (using `.fschar').
5991 2002-11-08 Werner LEMBERG <wl@gnu.org>
5993 Added new font `SC' (cmtex10) to devdvi.
5995 * devdvi/generate/Makefile (FONTS): Add `SC'.
5997 * devdvi/generate/textex.map: New map file for cmtex.
5999 * devdvi/Makefile.sub (DEVFILES): Updated.
6000 * tmac/dvi.tmac: Add fspecial entries for SC.
6001 Add `MI', `S' and `CW' to the `special' call. Otherwise, `SC' is
6002 found before `S' since the font position of `SC' is lower due to the
6003 gaps in DESC's `font' line.
6004 * tmac/ec.tmac: Add a `special' call.
6007 * font/devhtml/R.proto: Remove double entry for `ti'.
6008 * tmac/tty.tmac: Add entries for `IJ', `ij', and `bq'.
6009 * tmac/tty-char.tmac: Remove entry for `bq'.
6010 * tmac/lbp.tmac: Add entries for `lq', `rq', `fo', `fc', and `em'.
6011 * tmac/ec.tmac: Don't remove `aq' glyph.
6012 * tmac/X.tmac: Fix entry for `em'.
6013 Add entries for `fo' and `fc'.
6014 * tmac/dvi.tmac: Add entries for `em', `en', `hy', `fo', and `fc'.
6016 * doc/groff.texinfo, man/groff.man, man/groff_diff.man: Fix
6017 documentation of `special' and `fspecial' requests.
6019 2002-11-05 Werner LEMBERG <wl@gnu.org>
6021 * font/devascii/R.proto, font/devcp1047/R.proto,
6022 font/devlatin1/R.proto: Remove entry for `.i'.
6023 * font/devdvi/generate/textt.map: Add entry for `ad'.
6024 * font/devdvi/generate/texr.map, font/devdvi/generate/texb.map,
6025 font/devdvi/generate/texi.map: Add dummy glyph name `slash@for@l'.
6026 We need this for getting kerning values to compose `/l' and `/L'.
6027 * font/devdvi: Regenerated font definition files for CM fonts.
6028 * font/devhtml/R.proto: Add entries for "'C", "'c", `IJ', and `ij'.
6029 * font/devutf8/R.proto: Ditto.
6030 Remove double entry for `ti'.
6032 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Fix entries
6033 for (groff) ligatures, `la', and `ra'.
6034 Add "'C", "'c", `IJ', and `ij'.
6035 Remove double entry for `ti'.
6036 * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Remove all
6038 Add "'C", "'c", `IJ', and `ij'.
6039 Fix entries for (groff) ligatures, `la', and `ra'.
6041 * tmac/ps.tmac (ps-achar): New macro.
6042 Define "'c" and "'C".
6043 * tmac/tty.tmac: Add entry for `.i'.
6044 * tmac/X.tmac (X-achar): New macro.
6045 Define "'c", "'C", and `:Y'.
6046 Add entries for `IJ' and `ij'.
6047 * tmac/Xps.tmac (Xps-achar): New macro.
6048 Define "'c" and "'C".
6049 Add entries for `IJ' and `ij'.
6050 * tmac/lbp.tmac (lbp-achar): New macro.
6051 Add fallback characters for all groff ligatures and many other
6053 * tmac/dvi.tmac: Fix definitions of `_' and `ul'.
6054 Add entries for `/l' and `/L'.
6055 Define "'c" and "'C".
6056 Add entries for `IJ' and `ij'.
6058 2002-11-02 Larry Kollar <kollar@alltel.net>
6060 * PROBLEMS: Document how to solve Mac OS X compilation problems.
6062 2002-11-02 Werner LEMBERG <wl@gnu.org>
6064 Adding support for composite glyphs: \[xxx yyy ...] and the
6065 `composite' request.
6067 * src/roff/troff/glyphuni.cc: New file for mapping groff glyph names
6068 to Unicode-based glyph names.
6069 * src/roff/troff/uniglyph.cc: New file for mapping Unicode-based
6070 glyph names to groff glyph names.
6071 * src/roff/troff/uniuni.cc: New file for canonically decomposing
6072 Unicode-based glyph names.
6073 * src/roff/troff/unicode.cc, src/roff/troff/unicode.h: New files
6074 for handling Unicode glyph names.
6075 * src/roff/troff/input.cc: Include unicode.h.
6076 (composite_glyph_name): New function.
6077 (token::next) <'['>: Handle Unicode glyph names and composite
6079 (composite_dictionary): New dictionary for the `composite' request.
6080 (composite_request): Implement `composite' request.
6081 (init_input_requests): Add `composite'.
6082 Alphabetically sorted.
6083 * src/roff/troff/env.cc (tabs_save, tabs_restore): Removed (already
6085 (init_env_requests): Alphabetically sorted.
6086 Removed `tas' and `tar' (already commented out).
6087 * src/roff/troff/Makefile.sub: Updated.
6089 2002-10-31 Ruslan Ermilov <ru@FreeBSD.org>
6091 * src/roff/nroff/nroff.man, src/roff/nroff/nroff.sh: Fix description
6094 2002-10-29 Werner LEMBERG <wl@gnu.org>
6096 Fix computation of .trunc register. Additionally, its value (and
6097 the value of the .ne register) is now always set before entering the
6100 * src/roff/troff/div.cc (diversion::need): Set `truncated_space' and
6101 `needed_space' before calling `space'.
6102 (top_level_diversion::space): Remove special code for 'sp before the
6104 Call `begin_page' with the discarded space as a parameter.
6105 (top_level_diversion::begin_page): Add optional parameter to set
6107 * src/roff/troff/div.h: Updated.
6109 * doc/groff.texinfo: Improve documentation of .sp, \n[.trunc], and
6112 * tmac/an-old.tmac (SH, SS, TP, IP, HP, TS): Undo change 2002-10-26.
6113 (LP): Remove superfluous call to `br'.
6114 * tmac/doc-common (doc-paragraph): Undo change 2002-10-26.
6115 * tmac/doc.tmac (Bd, Bl, doc-set-vertical-and-indent): Ditto.
6117 2002-10-26 Werner LEMBERG <wl@gnu.org>
6119 * tmac/doc-ditroff: Remove useless switch/variable -rC.
6120 (doc-setup-header): Don't set page register `%'.
6121 * tmac/doc-nroff: Remove variable `C'.
6122 (doc-setup-page-layout): Set doc-header-space to .5i unconditionally.
6123 (doc-setup-header): Don't set page register `%'.
6125 * tmac/doc-common (doc-header): Call `ns'.
6126 (doc-paragraph): Protect .sp with .br so that it survives traps
6127 possibly set by the user.
6128 * tmac/doc.tmac (Bd, Bl, doc-set-vertical-and-indent): Ditto.
6130 * tmac/doc*: Replace ' with . for consistency if no effect.
6132 2002-10-26 Werner LEMBERG <wl@gnu.org>
6134 * tmac/an-old.tmac (SH, SS, TP, IP, HP, TS): Protect .sp with .br
6135 so that it survives traps possibly set by the user.
6137 * src/roff/troff/node.cc: Fix the changes from 2002-10-23.
6138 (troff_output_file::set_font): Call flush_tbuf if necessary.
6139 (troff_output_file::fill_color, troff_output_file::glyph_color): Call
6140 flush_tbuf and do_motion only if necessary.
6141 (troff_output_file::start_special,
6142 troff_output_file::put_char_width, troff_output_file::put_char,
6143 troff_output_file::draw): Updated.
6144 (word_space_node::tprint, space_node::tprint, hmotion_node::tprint,
6145 vmotion_node::tprint): Undo change 2002-10-23.
6147 2002-10-25 Werner LEMBERG <wl@gnu.org>
6149 * tmac/www.tmac (DC): Fix case of overlapping images.
6151 2002-10-23 Werner LEMBERG <wl@gnu.org>
6153 * src/roff/troff/node.cc (troff_output_file::fill_color,
6154 troff_output_file::glyph_color): Set current color before testing
6156 (troff_output_file::put_char_width, troff_output_file::put_char,
6157 troff_output_file::draw): Don't call flush_tbuf and/or do_motion
6159 (troff_output_file::file_color, troff_output_file::glyph_color):
6161 (word_space_node::tprint, space_node::tprint, hmotion_node::tprint,
6162 vmotion_node::tprint): Move first, then call fill_color.
6164 2002-10-20 Werner LEMBERG <wl@gnu.org>
6166 * doc/groff.texinfo, man/groff_tmac.man: Document that it is not
6167 possible to use multiple main macro packages.
6169 2002-10-19 Werner LEMBERG <wl@gnu.org>
6171 * src/devices/grops/ps.cc (cmyk_flag): New global variable.
6172 (ps_printer::set_color): Set `cmyk_flag' for CMY and CMYK colors.
6173 (ps_printer::~ps_printer): Emit `%%Extensions: CMYK' if `cmyk_flag'
6175 * font/devps/prologue.ps (Fk, Ck): Enclose definitions with a
6176 `where' construction since `cmyksetcolor' is a PS Level 2 operator.
6178 2002-10-16 Werner LEMBERG <wl@gnu.org>
6180 * NEWS, doc/webpage.ms: Updated.
6182 2002-10-14 Werner LEMBERG <wl@gnu.org>
6184 * src/roff/troff/node.cc (troff_output_file::put_char_width,
6185 troff_output_file::put_char, troff_output_file::fill_color,
6186 troff_output_file::glyph_color): Handle case where color pointer
6189 2002-10-13 Ruslan Ermilov <ru@FreeBSD.org>
6191 Add the new -r option to grotty. It is similar to the -i option
6192 except it tells grotty(1) to use the `reverse video' attribute to
6193 render italic fonts.
6195 * src/devices/grotty/tty.cc (reverse_flag): New global variable.
6196 (SGR_REVERSE, SGR_NO_REVERSE): New macros.
6197 (tty_printer::make_underline, tty_printer::put_color,
6198 tty_printer::end_page): Use it.
6199 (main): Add -r switch.
6201 * src/devices/grotty/grotty.man: Document it.
6203 2002-10-11 Ruslan Ermilov <ru@FreeBSD.org>
6205 * src/roff/troff/env.cc (hyphen_trie::read_patterns_file): Add
6206 cast to `unsigned char' to properly read patterns with 8bit
6209 2002-10-08 Werner LEMBERG <wl@gnu.org>
6211 * REVISION: Increased to 2.
6214 version-control: never