1 2006-02-17 Bruno Haible <bruno@clisp.org>
3 * src/include/font.h (name_to_glyph): Renamed from
5 (number_to_glyph): Renamed from font::number_to_index.
6 (glyph_to_name): Renamed from font::index_to_name.
7 (glyph_to_number): Renamed from font::index_to_number.
8 * src/libs/libgroff/nametoindex.cpp: Likewise.
9 * src/roff/troff/charinfo.h (charinfo::as_glyph): Renamed from
12 * src/roff/troff/input.cpp: All callers changed.
13 * src/roff/troff/node.cpp: Likewise.
14 * src/libs/libgroff/font.cpp: Likewise.
15 * src/devices/grops/ps.cpp: Likewise.
16 * src/devices/grohtml/post-html.cpp: Likewise.
17 * src/libs/libdriver/printer.cpp: Likewise.
19 2006-02-17 Werner LEMBERG <wl@gnu.org>
21 * src/include/ptable.h, src/include/itable.h
22 (NEXT_PTABLE_SIZE_DEFINED): Use it to avoid multiple declaration
23 of external symbol `next_ptable_size' (used by both header files).
25 2006-02-15 Bruno Haible <bruno@clisp.org>
27 * src/include/font.h (struct glyphinfo): New class.
28 (struct glyph): Change internal representation.
29 Change constructor signature.
30 New method glyph::glyph_number().
31 (glyph::glyph, glyph glyph::undefined_glyph, glyph::glyph_index,
32 glyph::operator==, glyph::operator!=): Update.
33 (font::index_to_name, font::index_to_number): New functions.
35 * src/include/itable.h: New file, based on src/include/ptable.h.
37 * src/libs/libgroff/nametoindex.cpp: Include itable.h.
38 (class charinfo): New class.
39 (class character_indexer): Change table result type from `int' to
41 Add table with integer key.
42 (character_indexer::character_indexer): Update.
43 (character_indexer::ascii_char_index): Update.
44 (character_indexer::numbered_char_index): Use NULL as name, not a
45 string starting with a space.
46 (character_indexer::named_char_index): Update.
47 (font::number_to_index, font::name_to_index): Remove no-op cast.
48 (glyph::glyph_name): New method.
49 * src/roff/troff/charinfo.h (class charinfo): Inherit from class
51 (NUMBERED): Remove flag bit.
52 (charinfo::numbered, charinfo::get_index): Update.
54 * src/roff/troff/input.cpp (charinfo::charinfo): Update.
55 (charinfo::set_number, charinfo::get_number): Update.
56 (glyph::glyph_name): New method.
58 2006-02-15 Werner LEMBERG <wl@gnu.org>
60 * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list): Fix
61 entries for `>>', `<<', `*f', and `+f'. Reported by Bruno.
63 2006-02-13 Werner LEMBERG <wl@gnu.org>
65 * font/devps/prologue.ps (RE): Check `UniqueID' also, similar to
68 2006-02-11 Werner LEMBERG <wl@gnu.org>
70 * src/include/font.h: s/glyph_t/glyph/.
73 * src/devices/grotty/tty.cpp: s/glyph/tty_glyph/.
74 s/output_character_t/output_character/.
76 2006-02-11 Bruno Haible <bruno@clisp.org>
78 New accessor method glyph_t::glyph_name().
80 * src/include/ptable.h (declare_ptable): Add a return value to the
81 `define' method, and declare a `lookupassoc' method.
82 (implement_ptable): Return the stored key in `define'. Implement
84 * src/include/font.h (glyph_t): Add `name' field. Add an argument
86 (glyph_t::glyph_name): New method.
88 * src/libs/libgroff/nametoindex.cpp (character_indexer): Change
89 return type of methods and field member type to glyph_t.
90 (character_indexer::character_indexer): Update.
91 (character_indexer::ascii_char_index): Allocate a name for the
93 Return a glyph_t with name.
94 (character_indexer::numbered_char_index): Return a glyph_t without a
96 (character_indexer::named_char_index): Return a glyph_t with a name.
97 (font::number_to_index, font::name_to_index): Update.
99 * src/roff/troff/input.cpp (charinfo::charinfo): Use the symbol as
102 2006-02-11 Bruno Haible <bruno@clisp.org>
104 * src/devices/grotty/tty.cpp (output_character_t): New type.
105 (tty_printer::make_bold, tty_printer::add_char,
106 tty_printer::put_char): Change argument type to output_character_t.
107 (crossings): Change element type to output_character_t.
109 2006-02-11 Bruno Haible <bruno@clisp.org>
111 Make the glyph data type abstract.
113 * src/include/font.h (glyph_t): New class.
114 (name_to_index, number_to_index): Change return type to glyph_t.
115 (font::contains, font::get_width, font::get_height, font::get_depth,
116 font::get_character_type, font::get_kern, font::get_skew,
117 font::get_italic_correction, font::get_left_italic_correction,
118 font::get_subscript_correction, font::get_code,
119 font::get_special_device_encoding, font::add_entry,
120 font::copy_entry, font::add_kern, font::hash_kern): Change argument
123 * src/libs/libgroff/font.cpp (struct font_kern_list): Change members
124 type and constructor argument types to glyph_t.
125 (font::contains, font::get_width, font::get_height, font::get_depth,
126 font::get_character_type, font::get_kern, font::get_skew,
127 font::get_italic_correction, font::get_left_italic_correction,
128 font::get_subscript_correction, font::get_code,
129 font::get_special_device_encoding, font::add_entry,
130 font::copy_entry, font::add_kern, font::hash_kern): Change argument
132 (font::load): Use glyph_t variables.
134 * src/libs/libgroff/nametoindex.cpp (name_to_index,
135 number_to_index): Change return type to glyph_t.
137 * src/roff/troff/charinfo.h (charinfo::index): Change type to
139 (charinfo::get_index): Change return type to glyph_t.
141 * src/roff/troff/env.cpp: Include font.h.
143 * src/roff/troff/node.cpp: Include font.h before charinfo.h.
145 * src/roff/troff/input.cpp: Include font.h before charinfo.h.
146 (charinfo::charinfo): Update.
147 (name_to_index, number_to_index): Change return type to glyph_t.
149 * src/include/printer.h (printer::set_char_and_width): Change return
152 * src/libs/libdriver/printer.cpp (printer::set_char_and_width):
153 Change return type to glyph_t.
155 * src/devices/grodvi/dvi.cpp (dvi_printer::set_char): Change
156 argument type to glyph_t.
158 * src/devices/grohtml/post-html.cpp (page::add_and_encode): Update.
159 (html_printer::space_glyph): Renamed from space_char_index.
160 (html_printer::add_to_sbuf, html_printer::sbuf_continuation,
161 html_printer::overstrike, html_printer::set_char): Change argument
163 (html_printer::set_char_and_width): Change return type to glyph_t.
165 * src/devices/grolbp/lbp.cpp (lbp_printer::set_char): Change
166 argument type to glyph_t.
168 * src/devices/grolj4/lj4.cpp (lj4_printer::set_char): Change
169 argument type to glyph_t.
171 * src/devices/grops/ps.cpp (ps_printer::space_glyph): Renamed from
173 (ps_printer::set_subencoding, ps_printer::set_char): Change argument
176 * src/devices/grotty/tty.cpp (tty_printer::set_char): Change
177 argument type to glyph_t.
179 2006-02-11 Bruno Haible <bruno@clisp.org>
181 * src/roff/troff/input.cpp (font::name_to_index): Never return a
184 * src/libs/libgroff/font.cpp (font::load): Remove failure tests for
187 2006-02-10 Werner LEMBERG <wl@gnu.org>
189 * doc/groff.texinfo (Assigning Formats): Number registers are always
191 Apply some rephrasing, contributed by Michael Burt.
193 2006-02-07 Werner LEMBERG <wl@gnu.org>
195 * tmac/fr.tmac <ms>: Set `HY' register.
197 2006-02-07 Werner LEMBERG <wl@gnu.org>
199 Add framework for simple adaptation of the main macro packages (mm,
200 me, ms, mom) to different locales. In particular, add support for
201 French. For activation, simply use `-mfr' as the last macro
202 package. This feature has been contributed by Fabrice Ménard
203 <menard.fabrice@wanadoo.fr>.
205 * tmac/fr.tmac, tmac/trans.tmac, tmac/hyphen.fr, tmac/LOCALIZATION:
207 * tmac/README: Mention hyphen.fr.
208 * man/groff_tmac.man: Mention fr.tmac.
211 2006-01-27 Werner LEMBERG <wl@gnu.org>
213 * man/groff_font.man: Updated documentation of `entity_name' field.
216 2006-01-27 Bruno Haible <bruno@clisp.org>
218 * font/devhtml/R.proto: Remove the entity names from the font's
219 special_encoding_encoding column.
220 * src/devices/grohtml/post-html.cpp (get_html_entity): New function,
221 handling the entity names here.
222 (get_html_translation): Use it. Change return type to `const
224 (page::add_and_encode): Update, removing a useless cast.
226 2006-01-26 Werner LEMBERG <wl@gnu.org>
228 This change is based on a patch by Bruno Haible <bruno@clisp.org>.
230 * src/include/device.h: Add comments.
231 * src/include/font.h: Add comments.
232 * src/include/unicode.h: Likewise.
233 * src/include/ptable.h, src/libs/libgroff/ptable.cpp: Likewise.
235 2006-01-26 Keith Marshall <keith.d.marshall@ntlworld.com>
237 Suppress `.st' request emission by `grn'.
239 * src/preproc/grn/main.cpp (USE_ST_REQUEST): New macro.
242 2006-01-22 Werner LEMBERG <wl@gnu.org>
244 * install-sh: New version; taken from texinfo CVS.
246 2006-01-21 Werner LEMBERG <wl@gnu.org>
248 * src/preproc/preconv/preconv.cpp (main): Set program_name. Bug
249 reported by Alexander E. Patrakov <patrakov@ums.usu.ru>.
251 2006-01-19 Bruno Haible <bruno@clisp.org>
253 Let `make -k install' install more files.
255 * Makefile.in (MAKE_K_FLAG): New variable. Use it everywhere where
256 $(MAKE) and $(MDEFINES) are used.
257 (CPROGDIRS): Remove $(XPROGDIRS). Treat $(XPROGDIRS) like
258 $(CPROGDIRS) everywhere.
259 ($(DEVDIRS) $(XDEVDIRS) $(OTHERDEVDIRS) $(TTYDEVDIRS)): Don't depend
261 ($(OTHERDIRS)): Likewise.
264 * src/devices/grohtml/post-html.cpp (get_html_translation): Remove
265 failure test for font::name_to_index -- it can never fail.
267 2006-01-19 Werner LEMBERG <wl@gnu.org>
269 * src/devices/grops/grops.man: Fix section on creating EPS files.
270 Don't use future time in manual.
273 2006-01-15 Gaius Mulley <gaius@glam.ac.uk>
275 * tmac/www.tmac: New macro LINKSTYLE which allows users to set
276 various typographical URL attributes for non-HTML devices.
278 * tmac/groff_www.man: Document LINKSTYLE.
280 2006-01-11 Werner LEMBERG <wl@gnu.org>
282 * configure.ac: Test for getc_unlocked (needed for localcharset).
283 * configure, src/include/config.hin: Regenerated.
285 * src/libs/libgroff/Makefile.sub (EXTRA_CFLAGS): Define
288 * src/libs/libgroff/relocatable.h: New dummy header file for
291 * src/libs/libgroff/localcharset.c: Updated to (unchanged) CVS
294 2006-01-10 Bruno Haible <bruno@clisp.org>
296 Work around unportability of nl_langinfo(CODESET).
298 * m4/glibc21.m4: New file, from gnulib.
299 * Makefile.sub (M4MACROS): Add m4/glibc21.m4.
300 * configure.ac: Also test for stddef.h, and invoke jm_GLIBC21.
301 * Makefile.in (HOST, GLIBC21): New variables.
302 (MDEFINES): Pass them to subdirectories.
303 * src/include/relocate.h (relocatep): Define with C linkage.
304 * src/include/localcharset.h: New file, from gnulib.
305 * src/libs/libgroff/localcharset.c: New file, from gnulib with a
306 modification for relocate().
307 * src/libs/libgroff/config.charset: New file, from gnulib.
308 * src/libs/libgroff/ref-add.sin: New file, from gnulib.
309 * src/libs/libgroff/ref-del.sin: New file, from gnulib.
310 * src/libs/libgroff/Makefile.sub (EXTRA_CFLAGS): Also define LIBDIR.
311 (OBJS): Add localcharset.o.
312 (CSRCS): Add localcharset.c.
313 (all): Add dependencies to charset.alias, ref-add.sed, ref-del.sed.
314 (charset.alias): New rule.
315 (PACKAGE): New variable.
316 (ref-add.sed, ref-del.sed): New rules.
317 (MKINSTALLDIRS): New variable.
318 (install_data): Depend on install_charset_data.
319 (install_charset_data): New rule for creating or updating
321 (uninstall_sub): Depend on uninstall_charset_data.
322 (uninstall_charset_data): New rule for uninstalling or updating
324 * src/preproc/preconv/preconv.cpp: Include localcharset.h instead
326 (main): Initialize default_encoding from locale_charset() instead of
327 nl_langinfo(CODESET).
329 * aclocal.m4, configure, src/include/config.hin: Regenerated.
331 2006-01-10 Werner LEMBERG <wl@gnu.org>
333 * src/preproc/preconv/preconv.cpp (conversion_iconv): Use
334 ICONV_CONST in call to iconv. Reported by Robert Goulding.
336 2006-01-07 Werner LEMBERG <wl@gnu.org>
338 * fonts/devps/generate/freeeuro.sfd: Run auto-hinter with recent
340 Bump font version to 001.001.
342 * fonts/devps/generate/Makefile (freeeuro.afm, freeeuro.pfa):
343 Call fontforge, not pfaedit.
345 * fonts/devps/freeeuro.afm, fonts/devps/freeeuro.pfa: Regenerated.
347 2006-01-05 Ruslan Ermilov <ru@FreeBSD.org>
349 * tmac/doc-common: Add new FreeBSD and NetBSD versions.
350 * tmac/groff_mdoc.man: Updated.
352 2006-01-05 Werner LEMBERG <wl@gnu.org>
354 * src/preproc/preconv/preconv.cpp: s/debug/debug_flag/.
355 (raw_flag): New global variable.
356 (do_file): Use .lf to set file name (if `raw_flag' isn't set).
357 Don't pass BOM to `conversion_utf8'.
359 (main): Handle `-r' command line switch to set `raw_flag'.
360 (get_BOM): Fix encodings in `BOM_table'.
362 * src/preproc/preconv/preconv.man: New file. Not complete yet.
363 * src/preproc/proconv/Makefile.sub (MAN1): New variable.
365 2006-01-04 Werner LEMBERG <wl@gnu.org>
367 * src/preproc/preconv/preconv.cpp (emacs_to_mime): As suggested by
368 Bruno, comment out most encodings to support only a small set of
369 coding tags, thus reducing potential problems with legacy encodings
370 and character sets in the future.
371 Add many XEmacs coding tags (now commented out).
373 (check_encoding_tag): Renamed to...
374 (check_coding_tag): This.
375 (get_BOM): Return encoding as specified by BOM.
376 Test for UTF32-LE too.
377 (do_file): Don't check for coding tag if a BOM has been found.
379 2006-01-03 Bruno Haible <bruno@clisp.org>
381 * m4/groff.m4: Renamed from aclocal.m4.
382 * m4/codeset.m4: New file, from gnulib.
383 * m4/iconv.m4: New file, from gnulib.
384 * m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4: New files, from
386 * config.rpath: New file, from gnulib.
387 * config.guess, config.sub: New files, from gnulib.
388 * Makefile.sub (M4MACROS): New variable.
389 (configure): Fix typo.
390 (aclocal.m4): New rule.
391 (stamp-h.in): Depend on aclocal.m4.
392 * configure.ac: Invoke AM_ICONV and AM_LANGINFO_CODESET.
393 * Makefile.in (LIBICONV): New variable.
394 (MDEFINES): Pass it to recursive makes.
395 * src/preproc/preconv/preconv.cpp: Use HAVE_LANGINFO_CODESET and
396 HAVE_ICONV instead of I18N macro.
397 * src/preproc/preconv/Makefile.sub (EXTRA_LDFLAGS): New variable.
399 * aclocal.m4, configure, src/include/config.hin: (Re)generated.
401 2006-01-03 Werner LEMBERG <wl@gnu.org>
403 * doc/Makefile.in (webpage.html): Simplify.
404 * doc/Makefile.sub (webpage.html): Synchronize with doc/Makefile.in.
405 * doc/webpage.ms, tmac/groff_www.man, tmac/www.tmac: Minor updates.
407 2006-01-01 Werner LEMBERG <wl@gnu.org>
409 * tmac/doc-common (Os): Add some Darwin versions.
410 * tmac/groff_mdoc.man: Document them.
412 2006-01-01 Bruno Haible <bruno@clisp.org>
414 * src/preproc/preconv/preconv.cpp (emacs_to_mime): Various
416 . Don't map ascii to latin-1.
417 . Don't use IBMxxx encodings but cpxxx for portability.
418 . Map cp932, cp936, cp949, cp950 to itself.
419 (emacs2mime): Protect calls to strcasecmp.
420 (conversion_iconv): Add missing call to iconv_close.
421 (do_file): Emit error message in case of unsupported encoding.
423 2005-12-31 Werner LEMBERG <wl@gnu.org>
425 Integrate preconv into the groff binary. Changes based on a patch
426 from Michail Vidiassov.
428 * src/roff/groff/pipeline.h (MAX_COMMANDS): Increase by 1.
430 * src/roff/groff/groff.cpp (PRECONV_INDEX): New macro.
431 (SOELIM_INDEX): Updated.
432 (help, synopsis): Updated.
433 (main): Add command line options `-k' and `-K enc' to select
435 Add support for GROFF_ENCODING environment variable.
437 * src/roff/groff/groff.man: Updated and revised.
440 Start with autoconf support for preconv.
442 * configure.ac: Call AC_C_BIGENDIAN.
443 * configure, src/include/config.hin: Regenerated.
445 2005-12-30 Werner LEMBERG <wl@gnu.org>
447 New preprocessor `preconv' to convert input encodings to something
448 groff can understand. Not yet integrated within groff. Proper
449 autoconf stuff is missing too.
451 Tomohiro Kubota has written a first draft of this program, and some
452 ideas have been reused (while almost no code has been taken
455 * src/preproc/preconv/preconv.cpp. src/preproc/preconv/Makefile.sub:
458 * MANIFEST, Makefile.in (CCPROGDIRS), test-groff.in
459 (GROFF_BIN_PATH): Add preconv.
461 2005-12-12 Werner LEMBERG <wl@gnu.org>
463 * aclocal.m4 (GROFF_MAKEINFO): Fix regexps to be POSIX conformant.
464 In particular, don't use `\+' since it is a GNU sed extension.
466 * configure: Regenerated.
468 2005-12-09 Werner LEMBERG <wl@gnu.org>
470 * src/libs/libgroff/make-uniuni: New script to generate uniuni.cpp.
472 * src/libs/libgroff/uniuni.cpp: Regenerated, using data from Unicode
476 * src/utils/afmtodit/make-afmtodit-tables: New script to generate
479 * src/utils/afmtodit/afmtodit.tables: New file, representing Unicode
482 * src/utils/afmtodit/afmtodit.pl (%unicode_decomposed,
483 %AGL_to_unicode): Removed. Replace it with a tag.
485 * src/utils/afmtodit/Makefile.sub (afmtodit): Adjust sed expression
486 to replace tag with actual file contents.
488 2005-12-08 Werner LEMBERG <wl@gnu.org>
490 The change 2005-06-20 can indeed cause problems, so we follow the
491 advice by using marks.
493 * font/devps/prologue.ps (PBEGIN): Use `mark'.
494 (PEND): Use `cleartomark'.
496 2005-12-07 Michail Vidiassov <master@iaas.msu.ru>
498 * src/utils/afmtodit.pl: Fix kerning output to avoid warnings for
499 glyphs which have kern values but aren't handled (glyph variants,
502 2005-12-02 Werner LEMBERG <wl@gnu.org>
504 * src/devices/grops/ps.cpp (ps_printer::get_subfont): Use correct
505 subfont index. Reported by Michail Vidiassov <master@iaas.msu.ru>.
507 2005-11-28 Gaius Mulley <gaius@glam.ac.uk>
509 * doc/Makefile.in: Separate rule for webpage.html so that extra
510 command line options can be passed to grohtml.
511 * doc/groff.css: Change all margins to 0%.
512 * doc/webpage.ms: Now use new macros ALN, LNS, and LNE so that left
513 navigation is exploited. Also update webpage to contain new
514 sections on licences, mailing lists, cvs/ftp access, groff
515 dependencies, and bug reports.
516 * tmac/groff_www.man: Document the new macros ALN, LNS, and LNE.
517 * tmac/www.tmac: Implement the new macros ALN, LNS, and LNE.
519 2005-11-25 Gaius Mulley <gaius@glam.ac.uk>
521 * src/devices/grohtml/post-html.cpp
522 (html_printer::do_file_components): Add fputs calls to emit the
523 head contents and shut down the head tag whenever a new file
524 component is generated.
526 2005-11-22 Gaius Mulley <gaius@glam.ac.uk>
528 * src/devices/grohtml/post-html.cpp (html_printer::flush_page): Add
529 call to flush_text to flush any outstanding html tags on the
532 2005-11-18 Werner LEMBERG <wl@gnu.org>
534 * aclocal.m4 (GROFF_MAKEINFO): Use `groff.info' in tests.
535 Announce makeinfo version.
536 * configure: Regenerated.
538 2005-11-18 Mike Frysinger <vapier@gentoo.org>
540 * Makefile.in: Declare proper dependencies between make targets.
542 * doc/Makefile.in: Rename groff info page to `groff.info'.
543 * doc/Makefile.sub: Likewise.
544 * doc/groff.texinfo: Likewise.
546 2005-11-17 Peter O'Gorman <mlists@thewrittenword.com>
548 * src/utils/pfbtops/pfbtops.c, src/utils/xtotroff/xtotroff.c: Move
549 definition of __GETOPT_PREFIX to the beginning of file to ensure
550 that it is defined even on platforms where getopt.h is already
551 included by other header files.
553 2005-11-10 Gaius Mulley <gaius@glam.ac.uk>
555 * src/devices/grohtml/post-html.cpp (html_printer::do_heading):
556 Reset font to NULL to ensure that a font block is recreated during
559 2005-11-04 Werner LEMBERG <wl@gnu.org>
561 * aclocal.m4 (GROFF_MAKEINFO): Fix sed expression.
562 * configure: Regenerated.
564 2005-10-27 Werner LEMBERG <wl@gnu.org>
566 * aclocal.m4 (GROFF_MAKEINFO): New function for checking whether
567 makeinfo 4.8 or newer is available.
568 * configure.ac: Call GROFF_MAKEINFO.
569 * configure: Regenerated.
571 * Makefile.in (MAKEINFO): Use autoconf variable.
572 (MDEFINES): Add MAKEINFO.
574 * doc/Makefile.in (MAKEINFO): Use autoconf variable.
575 * doc/Makefile.sub (MAKEINFO): Remove.
577 2005-10-26 Werner LEMBERG <wl@gnu.org>
579 * REVISION: Set to 3.
581 2005-10-17 Werner LEMBERG <wl@gnu.org>
583 Mention $MANPAGER variable used with some `man' systems.
585 * doc/webpage.ms, src/devices/grotty/grotty.man, NEWS: Updated.
587 2005-09-13 Werner LEMBERG <wl@gnu.org>
589 * tmac/hyphenex.us: New version (`ushyphex.tex' from ftp.dante.de).
591 2005-09-04 Werner LEMBERG <wl@gnu.org>
593 Version 1.19.2 released
594 =======================
596 * tmac/groff_ms.man, doc/groff.texinfo: Synchronize.
598 * doc/webpage.ms: Updated.
600 * install-sh, mkinstalldirs: New versions; taken from texinfo CVS.
602 2005-09-04 Jörgen Grahn <jgrahn@algonet.se>
604 * tmac/groff_ms.man: Document `PO' better.
606 2005-09-03 Werner LEMBERG <wl@gnu.org>
608 * NEWS: Document grotty changes.
610 2005-09-01 Keith Marshall <keith.d.marshall@ntlworld.com>
612 Backward compatibility support for `man' program.
614 * tmac/an-old.tmac (LL): Initialize it to respect prior LL register
615 assignment, prior `.ll' request and then package defaults, in this
616 specified order of decreasing priority.
618 * tmac/groff_man.man, doc/groff.texinfo: Document altered `LL'
619 register initialization priorities.
621 2005-08-29 Gary W. Swearingen <garys@opusnet.com>
623 * tmac/groff_mdoc.man: Go into more details how the `AUTHORS'
624 section should look like.
626 2005-08-29 Werner LEMBERG <wl@gnu.org>
628 * tmac/groff_mdoc.man: The month's name in a call to .Dd shouldn't
631 2005-08-27 Bernd Warken
633 * tmac/groff_man.man: Add man(7) too SEE ALSO and more minor
636 2005-08-11 Bernd Warken
638 * tmac/www.tmac (URL, MTO): Handle empty \\$1 better.
640 2005-08-09 Bernd Warken
642 * tmac/www.tmac (URL, MTO): Use bold series if color support is
645 2005-08-02 Bernd Warken
647 * doc/Makefile.sub (uninstall_sub): Use --remove, not --delete
648 as argument to $(INSTALL_INFO). The latter isn't portable.
649 Remove $(HTMLEXAMPLEFILES) too.
651 * Makefile.in (uninstall_dirs): Remove $(datadir)/doc/groff and
653 Suppress warning messages and return always true.
655 * tmac/Makefile.sub (uninstall_sub): Remove www.tmac too.
657 2005-07-02 Bernd Warken
659 * src/devices/xditview/gxditview.man: Change many `.I' to `.B'.
660 * man/groff_out.man: More markup and minor improvements.
661 * src/roff/groff/groff.man: Minor improvements.
663 2005-06-28 Werner LEMBERG <wl@gnu.org>
665 * ChangeLog: Split off older entries into...
666 * ChangeLog.115 ChangeLog.116, ChangeLog.117, ChangeLog.118: New
669 2005-06-26 Bernd Warken
671 * src/devices/xditview/gxditview.man: More minor fixes.
673 2005-06-24 Werner LEMBERG <wl@gnu.org>
675 * src/preproc/pic/troff.cpp (troff_output::set_fill,
676 troff_output::set_color, troff_output::reset_color): Use .bcolor and
677 .fcolor instead of \m and \M, respectively.
679 2005-06-23 Bernd Warken
681 * src/devices/xditview/gxditview.man: More minor fixes.
682 * README: Formatting issues.
683 Mention some problems with Debian.
685 2005-06-23 Bernd Warken
687 * src/devices/xditview/gxditview.man: Revised and improved.
689 2005-06-22 Werner LEMBERG <wl@gnu.org>
691 Another round in fixing getopt problems. Hopefully the last one!
692 This time we use the getopt stuff from gnulib and define a prefix
693 unconditionally so that there are no collisions with any other
694 getopt implementations. This is a slight waste of space in case
695 we already use a GNU getopt implementation, but on
696 the other hand it really simplifies life.
698 * src/include/getopt.h: Use gnulib version.
700 * src/include/getopt_int.h: Use gnulib version.
702 * src/include/groff-getopt.h: Removed. Obsolete now.
704 * src/include/lib.h: Regarding getopt, don't handle any platform
705 specially; just include getopt.h.
706 (__GETOPT_PREFIX): Define (before getopt.h).
708 * src/include/Makefile.sub (HDRS): Updated.
710 * src/libs/libgroff/getopt1.c, src/libs/libgroff/getopt.c: Use
713 * src/libs/libgroff/Makefile.sub (EXTRA_CFLAGS): Set
716 * src/utils/pfbtops/pfbtops.c, src/utils/xtotroff/xtotroff.c
717 (__GETOPT_PREFIX): Define (before getopt.h).
719 2005-06-21 Werner LEMBERG <wl@gnu.org>
721 * src/include/lib.h: Provide a fix for Mac OS X to not include
724 2005-06-20 Denis M. Wilson <dmw@oxytropis.plus.com>
726 * font/devps/prologue.ps (EP): Dont' use `bind'. Reason: Using
727 `bind' to define a procedure which contains `showpage' means that an
728 invocation of `showpage' may execute wrongly (the exact effect
729 depending on the interpreter). Not usually a problem except under
730 transformations, such as combining pages.
731 (PEND): Don't call `clear'. Reason: Using `clear' in the definition
732 of /PEND means that stack underflow will occur if the stack is
733 deliberately non-empty before document inclusion. If included
734 files are found to be generally badly behaved, we could replace the
735 `clear' with `mark' in /PBEGIN and `cleartomark' in /PEND (I've
736 never found this necessary).
738 2005-06-20 Jörgen Grahn <jgrahn@algonet.se>
740 * src/preproc/soelim/soelim.cpp (do_file): Append trailing zero
741 earlier to get correct error message.
743 2005-06-16 Bernd Warken
744 * src/roff/nroff/nroff.sh: Add support for iso-8859-15.
746 2005-06-15 Werner LEMBERG <wl@gnu.org>
748 Another try to update getopt files. This time we add a dummy
749 gettext.h file to satisfy the dependency.
751 * src/include/getopt.h, src/libs/libgroff/getopt.c,
752 src/libs/libgroff/getopt1.c: Updated from GNU libc CVS.
754 * src/include/getopt_int.h: New file (from GNU libc CVS).
756 * src/include/gettext.h: Dummy file which just defines a gettext()
759 * src/include/groff-getopt.h: Updated.
761 * src/include/Makefile.sub (HDRS): Add getopt_int.h and gettext.h.
764 * src/libs/libdriver/input.cpp (IntArray): Remove superfluous
765 `const' keywords in return value.
767 * src/preproc/html/pushback.cpp (pushBackBuffer::~pushBackBuffer):
768 Remove redundant variable `old'.
769 (pushBackBuffer::skipToNewline): Remove redundant variable `ch'.
771 * src/preproc/tbl/main.cpp (process_table): Remove redundant
775 Fix more friend name injection problems since modern C++ compilers
776 fail otherwise. We simply provide (global) declarations for all
777 functions declared as friends. This is not really necessary but
780 * src/preproc/eqn/lex.cpp: Provide declarations for get_char,
781 peek_char, and get_location.
783 * src/preproc/refer/ref.h: Provide declarations for
784 compare_reference, same_reference, same_year, same_date,
785 same_author_last_name, and same_author_name.
787 * src/roff/troff/div.h: Provide declarations for do_divert and
790 * src/roff/troff/env.h: Provide declarations for title_length,
791 space_size, fill, no_fill, adjust, no_adjust, center, right_justify,
792 vertical_spacing, post_vertical_spacing, line_spacing, line_length,
793 indent, temporary_indent, do_underline, do_input_trap, set_tabs,
794 margin_character, no_number, number_lines, leader_character,
795 tab_character, hyphenate_request, no_hyphenate,
796 hyphen_line_max_request, hyphenation_space_request,
797 hyphenation_margin_request, line_width, tabs_save, tabs_restore,
798 line_tabs_request, widow_control_request, and do_divert.
800 * src/roff/troff/input.cpp: Provide declaration for chop_macro.
802 * src/roff/troff/node.cpp: Provide declarations for class
804 Provide declaration for make_tfont.
806 2005-05-29 Werner LEMBERG <wl@gnu.org>
808 * doc/fdl.texi: Updated to version 1.2. Reported by Bernd Warken.
810 2005-05-28 Werner LEMBERG <wl@gnu.org>
812 * contrib/pdfmark/Makefile.sub (.ms.pdf): Use `--stylesheet', not
815 * src/devices/grolbp/lbp.cpp, src/devices/grolbp/lbp.h: Remove
816 redundant semicolons.
818 * src/preproc/eqn/Makefile.sub, src/preproc/html/Makefile.sub,
819 src/preproc/soelim/Makefile.sub, src/preproc/tbl/Makefile.sub:
820 Define `MLIB'. Some compilers need this for linking with libgroff.
822 2005-05-27 Werner LEMBERG <wl@gnu.org>
824 * MANIFEST, README, doc/webpage.ms: Updated.
826 2005-05-26 Werner LEMBERG <wl@gnu.org>
828 * All affected files: Update postal address of FSF.
830 2005-05-25 Keith Marshall <keith.d.marshall@ntlworld.com>
833 * README: More fixes.
835 * README.CVS: Removed. Its contents is now part of the README file.
837 2005-05-21 Werner LEMBERG <wl@gnu.org>
839 * README: Updated. Based on a patch from Bernd Warken.
841 2005-05-16 Keith Marshall <keith.d.marshall@ntlworld.com>
843 Miscellaneous script portability enhancements.
845 * aclocal.m4: (GROFF_CSH_HACK): Add space in shebang prototype for
846 generated conftest.sh script, conforming to portability
847 recommendation in autoconf docs.
848 * configure: Likewise, for code generated by GROFF_CSH_HACK.
849 * contrib/eqn2graph/eqn2graph.sh: Add space in shebang, conforming
850 to portability recommendation in autoconf docs.
851 * contrib/gdiffmk/gdiffmk.sh: Likewise.
852 * contrib/gdiffmk/tests/runtests.in: Likewise.
853 * contrib/grap2graph/grap2graph.sh: Likewise.
854 * contrib/groffer/groffer.sh: Likewise.
855 * contrib/mm/mmroff.pl: Likewise.
856 * contrib/mom/momdoc/appendices.html: Likewise.
857 * contrib/pic2graph/pic2graph.sh: Likewise.
858 * font/devps/generate/afmname: Likewise.
859 * src/devices/xditview/ad2c: Likewise.
860 * src/preproc/eqn/neqn.sh: Likewise.
861 * src/roff/grog/grog.pl: Likewise.
862 * src/roff/grog/grog.sh: Likewise.
863 * src/roff/nroff/nroff.sh: Likewise.
864 * PROBLEMS: Likewise, in embedded script examples.
866 2005-05-16 Keith Marshall <keith.d.marshall@ntlworld.com>
868 Improve portability of `pdfroff' shell script.
870 * arch/misc/shdeps.sh: Add space in shebang, conforming to
871 portability guidelines in `autoconf' docs.
872 (PATH_SEARCH_SETUP): New substitution; emits PATH_SEPARATOR
873 initialization code. Used by contrib/pdfmark/pdfroff.sh's
874 `searchpath' function.
876 2005-05-14 Werner LEMBERG <wl@gnu.org>
878 * contrib/pic2graph/pic2graph.sh, contrib/graph2graph.sh,
879 contrib/eqn2graph.sh: Add option `-trim' to `convert' which is
880 needed for newer ImageMagick versions.
882 2005-05-07 Werner LEMBERG <wl@gnu.org>
884 * src/preproc/refer/refer.man: Many small typographic fixes.
886 2005-05-06 Jeff Conrad <jeff_conrad@msn.com>
888 * src/devices/grohtml/post-html.cpp (assert_state::~assert_state):
889 Use `char *' cast for a_delete.
891 2005-05-03 Werner LEMBERG <wl@gnu.org>
893 * src/libs/libgroff/maxpathname.cpp: Include stdlib.h.
894 src/libs/libgroff/relocate.cpp: Use path_name_max everywhere.
896 2005-05-03 Jeff Conrad <jeff_conrad@msn.com>
898 * src/devices/grohtml/post-html.cpp: Use casts to `char *' if using
899 `a_delete' for `const char *'.
901 2005-05-03 Werner LEMBERG <wl@gnu.org>
903 * src/devices/grohtml/post-html.cpp,
904 src/devices/grohtml/html-table.cpp,
905 src/devices/grohtml/html-text.cpp, src/devices/grohtml/output.cpp:
906 Replace malloc/free with new/delete/a_delete.
908 * src/devices/grolbp/lbp.h: Remove superfluous semicolons which
909 are prohibited with ANSI C++.
910 (lbpprintf, vdmprintf): Remove useless `inline' keyword (since the
911 function has a variable number of arguments).
913 * src/preproc/grn/main.cpp (doinput): Change return type to `int'.
914 Simplify function and update all callers.
916 2005-05-02 Werner LEMBERG <wl@gnu.org>
918 Undo getopt changes from 2005-04-30. We don't want a dependency
921 * src/include/getopt_int.h: Removed.
923 * src/include/getopt.h, src/include/groff-getopt.h,
924 src/include/Makefile.sub, src/libs/libgroff/getopt.c,
925 src/libs/libgroff/getopt1.c: Revert to previous version.
928 * src/include/nonposix.h (access) [_MSC_VER]: New macro.
930 * src/include/posix.h (F_OK): Define conditionally.
932 * src/devices/grotty/tty.cpp (tty_printer::make_underline): Use
933 different variable name in second `for' loop to avoid MSVC compiler
936 2005-04-30 Werner LEMBERG <wl@gnu.org>
938 AC_TYPE_SIGNAL from current autoconf can fail if CC=g++.
940 * aclocal.m4 (GROFF_TYPE_SIGNAL): New function.
941 * configure.ac: Use GROFF_TYPE_SIGNAL, not AC_TYPE_SIGNAL.
942 * configure, src/include/config.hin: Regenerated.
949 * src/include/getopt.h, src/libs/libgroff/getopt.c,
950 src/libs/libgroff/getopt1.c: Updated from GNU libc CVS.
952 * src/include/getopt_int.h: New file (from GNU libc CVS).
954 * src/include/groff-getopt.h: Updated.
956 * src/include/Makefile.sub (HDRS): Add getopt_int.h.
959 * font/devutf8/NOTES: Updated.
961 2005-04-28 Werner LEMBERG <wl@gnu.org>
963 Bug fix for Win32 relocatable code. Based on a patch from Keith
966 * src/libs/libgroff/maxpathname.cpp (PATH_MAX): Test for `_MAX_PATH'
969 * src/libs/libgroff/relocate.c (DEBUG): Define it conditionally.
970 (searchpath) [_WIN32]: Use `_fullpath', not `realpath'.
972 2005-04-28 Keith Marshall <keith.d.marshall@ntlworld.com>
974 Correct `gnu.eps' handling for build from distribution tarball, with
975 separate source and build directories.
977 * doc/Makefile.sub: (examples.stamp): New target; forces copy of
978 grnexmpl.g, groff.css and gnu.eps from source to build directory;
979 generate gnu.eps from gnu.xpm if required; touch examples.stamp.
980 (prepare_examples): Make it depend on examples.stamp.
981 (CLEANADD): Add examples.stamp.
983 2005-04-27 Werner LEMBERG <wl@gnu.org>
987 position: `(' position `)'
991 * src/preproc/pic/pic.y (position, position_not_place): Handle
992 additional parentheses.
994 * doc/pic.ms: Updated.
996 2005-04-23 Larry Jones <lawrence.jones@ugs.com>
998 * src/utils/xtotroff/xtotroff.c (MapFont): Fix variable declaration.
1000 2005-04-18 Werner LEMBERG <wl@gnu.org>
1002 * src/roff/groff/pipeline.c: Don't include ctype.h.
1004 2005-04-13 Werner LEMBERG <wl@gnu.org>
1006 * src/roff/nroff/nroff.man: Document option `-M'.
1008 2005-04-13 Bruce Lilly <blilly@erols.com>
1010 * src/roff/nroff/nroff.sh: Make the script accept option `-M'.
1012 2005-04-01 Kees Zeelenberg <kzlg@users.sourceforge.net>
1013 Werner LEMBERG <wl@gnu.org>
1015 Add binary relocation support for Windows platforms.
1017 * src/include/Makefile.sub (defs.h): Add `INSTALLPATH'.
1019 * src/include/relocate.h, src/libs/libgroff/relocate.cpp: New files.
1021 * src/libs/libgroff/searchpath.cpp: Handle `relocate'.
1022 (search_path::search_path, search_path::open_file_cautious): Use
1025 * src/libs/libgroff/Makefile.sub (OBJS, CCSRCS),
1026 src/include/Makefile.sub (HDRS): Updated.
1028 2005-04-01 Werner LEMBERG <wl@gnu.org>
1030 * src/devices/grohtml/post-html.cpp: Don't use strdup/free but
1033 * src/libs/libgroff/font.cpp: Replace strdup with strsave.
1035 * src/libs/libgroff/maxfilename.cpp: Don't include limits.h since
1036 lib.h already does it.
1038 * src/libs/libgroff/maxpathname.cpp: New file, defining
1041 * src/include/lib.h: Add prototype for path_name_max.
1043 * src/libs/libgroff/Makefile.sub (OBJS, CCSRCS): Updated.
1045 * src/include/nonposix.h (PATH_EXT): New macro.
1047 2005-03-28 Werner LEMBERG <wl@gnu.org>
1049 Add support for double- and zero-width characters in grotty.
1051 * src/devices/grotty/tty.cpp (glyph): Add width.
1052 (tty_printer::make_underline, tty_printer::make_bold,
1053 tty_printer::add_character): Add parameter to pass character width.
1055 (tty_printer::end_page): Increase hpos by actual character width.
1057 * font/devutf8/R.proto: Specify zero width for non-spacing
1060 * tmac/unicode.tmac: Remove definitions for non-spacing entities.
1062 * Makefile.comm (extraclean): Remove more junk files.
1064 2005-03-25 Werner LEMBERG <wl@gnu.org>
1066 * configure.ac: Undo change from 2005-03-24.
1067 * configure: Regenerated.
1069 2005-03-24 Werner LEMBERG <wl@gnu.org>
1071 * Makefile.in (NOMAKEDIRS): Add contrib/gdiffmk/tests.
1072 (dist): Search Makefile while descending into $(EXTRADIRS).
1074 * doc/Makefile.in (.PHONY): Add.
1075 (clean): Don't remove *.png and *.eps.
1077 (realclean): Remove *.png and *.eps.
1078 (extraclean): Depend on distclean.
1080 * configure.ac: Add copyright.
1081 Handle contrib/pdfmark/Makefile.
1083 * configure: Regenerated.
1085 2005-03-18 Larry Kollar <kollar@alltel.net>
1087 Add numbered and definition lists to www.tmac.
1089 * tmac/www.tmac (www-ul-level1, www-ul-level2, www-ul-level3,
1090 www-ol-level1, www-ol-level2, www-ol-level3, www-ol-tmp): New
1091 auxiliary string registers.
1092 (www-ul-level, www-ol-level, www-dl-level, www-ol-ctr1, www-ol-ctr2,
1093 www-ol-ctr3, www-dl-shift): New auxiliary number registers.
1094 (www-level): Removed.
1095 (www-level1, www-level2, www-level3): Initialize to empty.
1096 (www-level0, www-level4, www-level5, www-level6, www-level7,
1097 www-level8, www-level9): New string registers.
1098 (www-push-li, www-pop-li): New macros.
1099 (www-push-level, www-pop-level): Renamed to...
1100 (www-push-ul-level, www-pop-ul-level): This.
1102 (www-push-ol-level, www-pop-ol-level): New macros.
1103 (ULS, ULE): Updated.
1104 (OLS, OLE, DLS, DLE): New user macros.
1105 (LI): Removed. It is aliased to one of...
1106 (www-li-ul, www-li-ol, www-li-dl): New macros.
1108 * tmac/groff_www.man: Document new macros.
1112 2005-03-18 Werner LEMBERG <wl@gnu.org>
1114 * tmac/doc-common (doc-operating-system-NetBSD-2.0.1,
1115 doc-operating-system-NetBSD-2.0.2): New strings.
1117 * tmac/groff_mdoc.man: Updated.
1119 2005-03-17 Werner LEMBERG <wl@gnu.org>
1121 * doc/Makefile.sub (CLEANADD): Add `groff.html'.
1123 2005-03-17 Werner LEMBERG <wl@gnu.org>
1125 * src/libs/libgroff/hypot.c: Renamed to...
1126 * src/libs/libgroff/hypot.cpp: This. Updated to C++.
1128 * src/libs/libgroff/Makefile.sub (CCSRCS, CSRCS): Updated.
1130 * src/include/lib.h: Updated.
1132 2005-03-16 Werner LEMBERG <wl@gnu.org>
1134 Add workaround for broken hypot() on Interix.
1136 * src/libs/libgroff/hypot.c: New wrapper file for `hypot'.
1138 * src/libs/libgroff/Makefile.sub (OBJS): Add `hypot.o'.
1139 (CSRCS): Add `hypot.c'.
1141 * src/include/lib.h: Declare `groff_hypot'.
1143 * src/preproc/grn/hgraph.cpp: Don't declare `hypot'.
1146 * src/preproc/pic/pic.h: Don't declare `hypot'.
1148 * src/preproc/pic/object.cpp (hypot): Use `groff_hypot'.
1150 2005-03-15 Gaius Mulley <gaius@glam.ac.uk>
1152 * src/devices/grohtml/post-html.cpp
1153 (html_printer::lookahead_for_tables): End .ce properly to avoid a
1156 2005-03-15 Werner LEMBERG <wl@gnu.org>
1158 makeinfo 4.8 doesn't produce good HTML output from groff.texinfo.
1160 * doc/fixinfo.sh: New script to postprocess makeinfo's HTML output.
1162 * doc/Makefile.in (.texinfo.html): Call fixinfo.sh.
1164 2005-03-14 Werner LEMBERG <wl@gnu.org>
1166 Add Cyrillic support to devutf8 and devhtml.
1168 * font/devutf8/R.proto, font/devhtml/R.proto: Add Cyrillic blocks.
1170 * tmac/unicode.tmac: New file.
1172 * tmac/tty.tmac: Include unicode.tmac if device is utf8.
1174 * tmac/Makefile.sub (NORMALFILES): Add unicode.tmac.
1178 2005-03-02 Keith Marshall <keith.d.marshall@ntlworld.com>
1180 * src/libs/libdriver/printer.cpp (check_for_output_error): New
1181 function. It has been introduced to catch peculiar error contexts
1182 on MS-Windows platforms.
1184 2005-02-28 Werner LEMBERG <wl@gnu.org>
1186 * src/roff/troff/input.cpp (string_iterator::fill): Protect against
1189 * tmac/papersize.tmac: Convert `paper' string contents to lowercase.
1191 * configure: Regenerated.
1195 2005-02-28 Keith Marshall <keith.d.marshall@ntlworld.com>
1197 Integrate `pdfmark' into normal groff build system;
1198 install macro `pdfmark' packages, build and install `pdfroff',
1199 and PDF format documentation.
1201 * Makefile.comm: Add PDFDOCDIR.
1203 * Makefile.in: (MDEFINES) ALT_AWK_PROGS, ALT_GHOSTSCRIPT_PROGS,
1204 pdfdocdir, make_pdfdoc, make_install_pdfdoc: New variables.
1205 (unstall_dirs): Add pdfdocdir.
1207 * aclocal.m4: (GROFF_GHOSTSCRIPT_PREFS): New function; support
1208 `--with-alt-gs' option, set ALT_GHOSTSCRIPT_PROGS.
1209 (GROFF_GHOSTSCRIPT_PATH): Support `--with-gs' option, force use of
1210 GROFF_GHOSTSCRIPT_PREFS, set GHOSTSCRIPT.
1211 (GROFF_HTML_PROGRAMS): Force use of GROFF_GHOSTSCRIPT_PATH; tidy up.
1212 (GROFF_AWK_PREFS): New function; support `--with-alt-awk' option,
1214 (GROFF_AWK_PATH): New function; support `--with-awk' option, force
1215 use of GROFF_AWK_PREFS.
1216 (GROFF_PDFDOC_PROGRAMS): New function; force use of GROFF_AWK_PATH
1217 and GROFF_GHOSTSCRIPT_PATH, set make_pdfdoc and make_install_pdfdoc.
1219 * configure.ac: Add AC_PREREQ(2.59), GROFF_PDFDOC_PROGRAMS.
1220 Remove GROFF_GHOSTSCRIPT_PATH, (forced by GROFF_PDFDOC_PROGRAMS, and
1221 also by modified GROFF_HTML_PROGRAMS).
1223 2005-02-27 Gaius Mulley <gaius@glam.ac.uk>
1225 * src/devices/grohtml/html-text.cpp (html_text::do_pre): Preserve
1227 (html_text::done_para): Unset `start_space'.
1228 (html_text::remove_para_align): Call `retrieve_para_space' for the
1231 * src/devices/grohtml/post-html.cpp (html_printer::emit_raw): Unset
1233 (html_printer::do_check_center): Emit vertical space if necessary.
1235 * src/roff/troff/env.cpp (environment_switch): Preserve
1236 `seen_space', `seen_eol', and `suppress_next_eol' while switching
1239 * src/roff/troff/node.cpp (suppress_node::suppress_node): Set
1242 2005-02-20 Werner LEMBERG <wl@gnu.org>
1244 * src/preproc/eqn/eqn.man, NEWS: Document various extensions of
1247 2005-02-17 Werner LEMBERG <wl@gnu.org>
1249 * doc/pic.ms, man/groff.man: Fix typos.
1251 * doc/groff.texinfo: Fix typos.
1252 (\LEmacro): Get proper mathematical spacing.
1254 2005-02-16 Werner LEMBERG <wl@gnu.org>
1256 * aclocal.m4 (GROFF_APPRESDIR_CHECK): Improve warning message.
1257 * configure: Regenerated with autoconf 2.59b.
1259 2005-02-16 Gaius Mulley <gaius@glam.ac.uk>
1261 * src/devices/grohtml/post-html.cpp (html_printer::is_line_start,
1262 html_printer::start_font): Fix handling of preformatted text.
1264 2005-02-15 Gaius Mulley <gaius@glam.ac.uk>
1266 These patches modify the indentation implementation to use `<p
1267 style=margin-left: n%>'. Many thanks to Peter and Larry for
1268 suggesting this solution. Grohtml only uses tables for `.IP' and
1269 related tags when the first operand has a short width.
1271 Similarly, they modify all vertical space code. By default, grohtml
1272 sets up a style sheet which uses no vertical space between `table',
1273 `pre', and `p' tags. It forces spaces when it needs them using
1274 `style="margin-top: 1em"'.
1276 * src/devices/grohtml/html-table.cpp: Include `html-text.h'.
1277 (html_table::emit_table_header, html_table::emit_new_row):
1279 (html_table::set_space): New function.
1280 (html_indent::html_indent): Don't set `is_used'.
1281 (html_indent::begin): Rewritten.
1282 (html_indent::end): Remove code in function.
1284 * src/devices/grohtml/html-table.h: Updated.
1285 (html_table): Make `out' public.
1287 * src/devices/grohtml/html-text.cpp (html_text::html_text):
1288 Initialize `start_space' with FALSE.
1289 (html_text::end_tag) <P_TAG, PRE_TAG>: Updated.
1290 (html_text::issue_tag): Add argument to handle space style.
1291 (html_text::start_tag) <P_TAG, PRE_TAG>: Updated.
1292 (html_text::flush_text): Don't set `start_space'.
1293 (html_text::push_para): Don't set `p->really_issued'.
1294 (html_text::do_emittext): Updated.
1295 (html_text::do_para): Add paremeter to handle space.
1297 (html_text::retrieve_para_space): New function.
1299 * src/devices/grohtml/html-text.h (STYLE_VERTICAL_SPACE): New macro.
1300 (tag_definition): Remove `really_issued'.
1301 (html_text): Updated.
1303 * src/devices/grohtml/post-html.cpp (html_printer): Add variables
1304 `current_column' and `row_space'.
1306 (html_printer::emit_raw, html_printer::write_header,
1307 html_printer::do_indent, html_printer::do_check_center,
1308 html_printer::do_tab_ts): Handle vertical space.
1309 (html_printer:do_tab_te, html_printer::do_end_para): Call
1310 `remove_para_space'.
1311 (html_printer::do_col): Rewritten.
1312 (html_printer::flush_globs): Remove debugging code.
1313 (html_printer::is_line_start): New function.
1314 (html_printer::start_font): Use `is_line_start'.
1315 (html_printer::writeHeadMetaStyle): New function.
1316 (html_printer::do_file_components, html_printer::~html_printer):
1317 Call `writeHeadMetaStyle'.
1319 * tmac/www.tmac (www-handle-percent): New macro.
1320 (MPIMG): Handle percent values for width and height parameters.
1323 * tmac/groff_www.man: Updated.
1325 2005-02-14 Werner LEMBERG <wl@gnu.org>
1327 * src/utils/afmtodit/afmtodit.pl: Remove an incorrect `my' from
1328 $psname and $italic_angle.
1329 Immediately restart file input loops if `split' returns an empty
1332 2005-02-13 Michail Vidiassov <master@iaas.msu.ru>
1333 Werner LEMBERG <wl@gnu.org>
1335 Update afmtodit to better support Unicode (Michail).
1336 Update afmtodit to use Perl 5 syntax (Werner).
1338 * src/utils/afmtodit/afmtodit.pl: Don't use `getopts.pl' but
1340 Decorate variables with `my' where necessary.
1341 Use `defined' where necessary to avoid warnings.
1342 Don't use `do' for subroutine calls.
1343 Other minor syntax updates.
1344 Check for both `uXXXX[X[X]]' and `uniXXXX'.
1345 Handle glyph variants properly.
1346 (%unicode_decomposed, %AGL_to_unicode): Don't use `u' prefix in
1349 * src/utils/afmtodit/afmtodit.man: Updated.
1351 2005-02-13 Werner LEMBERG <wl@gnu.org>
1353 Make groff.texinfo work with texinfo 4.8.
1355 * doc/groff.texinfo (@Var): Use @r and @slanted.
1356 (@defdummy, @Def*): Use @c to avoid empty lines.
1357 (\angles): Replaced with...
1358 (\Langlemacro, \Ranglemacro): New TeX macros.
1359 (@Langlemacro, @Ranglemacro): New variables defined with @set.
1360 (@angles): Use @Langlemacro and @Ranglemacro.
1361 (\LE): Replaced with...
1362 (\LEmacro): New TeX macro.
1363 (@LEmacro): New variable defined with @set.
1364 (@LE): Use @LEmacro.
1365 (@Lparenmacro, @Rparenmacro, @Lbrackmacro, @Rbrackmacro): New
1366 variables defined with @set.
1367 (@lparen, @rparen, @lbrack, @rbrack): Replaced with...
1368 (@Lparen, @Rparen, @Lbrack, @Rbrack): New macros.
1371 Other minor updates.
1373 * doc/texinfo.tex: Update to texinfo version 4.8.
1375 * README.CVS: Updated.
1377 2005-02-09 Alejandro López-Valencia <palopez@etb.net.co> (tiny change)
1379 * doc/groff.texinfo (ms Document Control Registers): Document `HY'
1380 and `FAM' registers.
1382 2005-02-05 Werner LEMBERG <wl@gnu.org>
1384 * tmac/groff_mdoc.man, tmac/doc-common, tmac/doc-ditroff,
1385 tmac/doc-nroff, tmac/doc-old.tmac, tmac/doc-syms, tmac/doc.tmac:
1388 2005-02-01 Werner LEMBERG <wl@gnu.org>
1390 * src/roff/groff/groff.man: Add information about paper size.
1392 2005-01-25 Werner LEMBERG <wl@gnu.org>
1394 * src/roff/nroff/nroff.sh: Handle `*.ISO8859-1' in locale. From
1397 2005-01-22 Ruslan Ermilov <ru@FreeBSD.org>
1399 * tmac/doc.tmac (Sm): Improved. It didn't work properly in many
1401 (Re): Emit a warning if called without `.Rs'.
1402 (doc-finish-reference): Use parameter for decreasing
1403 `doc-reference-count'.
1404 (doc-print-reference): Pass specific count parameters to
1405 `doc-finish-reference'.
1407 2005-01-21 Werner LEMBERG <wl@gnu.org>
1409 * src/libs/libdriver/input.cpp (delete_current_env, do_file):
1410 Reset pointers to zero after deallocation. This fixes a crash
1411 if a driver is called with multiple input files. Reported by
1412 Ken Chilton <ken@chiltonfamily.org>.
1414 * src/devices/grops/grops.man: Add more info on DSC.
1416 2005-01-17 Ruslan Ermilov <ru@FreeBSD.org>
1418 * tmac/doc-common (Dd), tmac/doc-ditroff (gX, doc-setup-header):
1421 2005-01-17 Werner LEMBERG <wl@gnu.org>
1423 * src/roff/troff/div.cpp (top_level_diversion::space): Protect
1424 against division by zero.
1426 2005-01-13 Ruslan Ermilov <ru@FreeBSD.org>
1428 * tmac/doc.tmac (Ef): Restore doc-curr-font and doc-curr-size.
1430 2004-12-19 Werner LEMBERG <wl@gnu.org>
1432 * install-sh: New version; taken from texinfo CVS.
1434 2004-12-17 Werner LEMBERG <wl@gnu.org>
1436 * tmac/devtag.tmac: Protect against loading twice.
1437 Protect agains compatibility mode.
1438 * tmac/www.tmac: Protect against loading twice.
1439 Load `devtag.tmac' before switching off compatibility mode.
1440 * tmac/an-old.tmac, tmac/s.tmac: Load `devtag.tmac'.
1442 2004-12-16 Mike Bianchi <mbianchi@Foveal.com>
1444 * configure.ac: Produce `contrib/gdiffmk/tests/runtests'.
1445 * configure: Updated.
1447 2004-12-15 Thomas Klausner <wiz@netbsd.org>
1449 * tmac/doc-syms, tmac/groff_mdoc.man: Add `libpam' library.
1451 2004-12-15 Werner LEMBERG <wl@gnu.org>
1453 Make `test-groff' work again -- previously, wrong paths have been
1454 used. Additionally, it can now be called from anywhere.
1456 * test-groff.in: Don't test for groff binary. This is no longer
1457 necessary since the proper paths are determined by `configure'.
1458 (EXEEXT): Removed. No longer used.
1459 (srcdir, builddir): Use values provided by the configure script.
1460 (XENVIRONMENT): Updated.
1464 2004-12-14 Gaius Mulley <gaius@glam.ac.uk>
1466 Make .tag and .taga work for all devices (but only grohtml actually
1469 * src/devices/grohtml/post-html.cpp: s/html-tag/devtag/.
1470 (text_glob::is_br, page::add_tag, html_printer::troff_tag,
1471 html_printer::handle_assertion): Don't use hard-coded string
1473 (html_printer::lookahead_for_table): Reset `tbl' properly if
1475 (html_printer::devtag): New function, handling `devtag'.
1476 (html_printer::special): Don't handle `html-tag'.
1478 * src/include/printer.h, src/libs/libdriver/printer.cpp
1479 (printer::devtag): New virtual function.
1481 * src/libs/libdriver/input.cpp (parse_x_command) <'X'>: Handle
1484 * src/roff/troff/env.cpp, src/roff/troff/mtsm.cpp,
1485 src/roff/troff/node.cpp: s/html-tag/devtag/.
1487 * src/roff/troff/input.cpp (tag, taga): Always call
1490 * tmac/an-old.tmac, tmac/s.tmac, tmac/troffrc-end: Use DEVTAG*
1491 macros instead of HTML-TAG*.
1493 * tmac/devtag.tmac: New file, defining the DEVTAG-* macros.
1495 * tmac/www.tmac: Load devtag.tmac.
1496 Replace HTML-TAG* macros with DEVTAG* macros.
1497 (HTML, HTML-NS): Changed definitions.
1499 (HTML-TAG, HTML-TAG-NS, HTML-TAG-NEXT): Removed.
1501 * tmac/Makefile.sub (NORMALFILES): Add devtag.tmac.
1503 2004-12-10 Werner LEMBERG <wl@gnu.org>
1505 Import Mike's `gdiffmk' package.
1507 * contrib/gdiffmk/*: New files.
1508 * Makefile.in (OTHERDIRS): Add contrib/gdiffmk.
1511 2004-12-08 Werner LEMBERG <wl@gnu.org>
1513 Import Keith's `pdfmark' package. Integration is very preliminary.
1515 * contrib/pdfmark/*: New files.
1516 * Makefile.in (OTHERDIRS): Add contrib/pdfmark.
1519 2004-12-07 Gaius Mulley <gaius@glam.ac.uk>
1521 Fix a bug with title handling in HTML.
1523 * src/devices/grohtml/post-html.cpp (text_glob::is_nf,
1524 text_glob::is_fi, text_glob::is_ce): Use strlen to compute string
1526 (html_printer::handle_tag_within_title): New function.
1527 (html_printer::do_title): Use it.
1529 * tmac/s.tmac (TL): Don't set `need_eo_tl'.
1530 (cov*tl-au-print): Emit `.eo.tl' tag.
1532 2004-12-05 Alejandro López-Valencia <dradul@etb.net.co>
1534 * man/groff_char.man: Minor imrovements.
1536 2004-12-04 Werner LEMBERG <wl@gnu.org>
1538 * src/preproc/eqn/eqn.man: Revised.
1540 2004-11-25 Werner LEMBERG <wl@gnu.org>
1542 * src/utils/xtotroff/xtotroff.c: Reformat to be similar to other
1546 Remove X_NOT_STDC_ENV conditional.
1547 (Version_string, program_name): New global variables.
1548 (groff_flag): Removed.
1550 (usage): Take a stream as argument.
1553 (main): Add `long_options' array for `--help' and `--version'.
1554 Make `-g' a dummy option.
1555 Handle `-v' and unknown options.
1556 Remove unused `position' variable.
1558 * src/utils/xtotroff/Makefile.sub (MAN1): Define.
1559 (XLIBS): Add LIBGROFF.
1561 * src/utils/xtotroff/xtotroff.man, src/utils/xtotroff/Makefile.in:
1564 * src/devices/xditview/Dvi.c (default_font_map): Split into three
1565 parts to avoid compiler warning.
1566 (resources): Don't initialize with `default_font_map'.
1567 (ClassInitialize): Initialize first element of `resources'.
1569 * src/devices/xditview/Makefile.sub (devdir, xtotroff, DPIS, fonts):
1572 * src/utils/lkbib/lkbib.man, src/utils/lookbib/lookbib.man,
1573 src/utils/pfbtops/pfbtops.man: Revised, updated.
1575 * configure.ac: Generate src/utils/xtotroff/Makefile.
1576 * configure: Regenerated.
1578 2004-11-24 Werner LEMBERG <wl@gnu.org>
1580 First fixes to get produce HTML.
1582 * src/devices/grohtml/post-html.cpp (generate_img_src): Add `alt'
1585 * tmac/www.tmac (IMG, PIMG, MPIMG): Add `alt' attribute.
1586 (HR, LI): Use `HTML</p>', not `HTML'.
1588 * doc/webpage.ms: Minor updates.
1590 2004-11-23 Larry Kollar <kollar@alltel.net>
1592 Add option -S grohtml to determine the file split level.
1594 * src/devices/grohtml/post-html.cpp (split_level): New global
1596 (html_header::determine_header_level): Use split_level.
1597 (main): Handle `-S' command line option.
1600 * src/preproc/html/pre-html.cpp (scanArguments): Updated.
1602 * src/devices/grohtml/grohtml.man: Document it.
1605 * NEWS: Document it.
1607 2004-11-23 Y T <doarhop@hotmail.com>
1609 * tmac/s.tmac (ref*add-V, ref*add-N): New macros for handling
1610 the volume and number refer entries.
1612 2004-11-22 Werner LEMBERG <wl@gnu.org>
1614 * src/devices/grohtml/html-table.cpp
1615 (html_table::emit_table_header): Don't emit `cols' attribute which
1616 doesn't exist in HTML 4.0 and is thus invalid.
1618 * NEWS: More minor fixes and updates.
1620 2004-11-18 Werner LEMBERG <wl@gnu.org>
1622 * tmac/www.tmac (HTML-NS, HTML-TAG-NS, HTML-TAG-NEXT): Simplified.
1623 (HTML</p>): Minor clean-up.
1625 * tmac/groff_www.man: Updated.
1627 * src/devices/grohtml/grohtml.man: Revised and updated.
1631 2004-11-18 Gaius Mulley <gaius@glam.ac.uk>
1633 * src/devices/grohtml/post-html.cpp (html_printer::do_heading):
1634 Fix space insertion.
1635 (html_printer::do_links): Fix rules generation around automatic
1638 * tmac/www.tmac (LK): Use HTML-TAG-NS.
1640 No longer emit empty line for non-HTML devices.
1642 2004-11-17 Werner LEMBERG <wl@gnu.org>
1644 * doc/Makefile.in (prepare_examples, webpage.html): Handle
1647 * doc/Makefile.sub (EXAMPLEFILES, CLEANNOTSRCDIRADD,
1648 prepare_examples, webpage.html): Handle `groff.css'.
1650 2004-11-15 Werner LEMBERG <wl@gnu.org>
1652 * NEWS, README, doc/webpage.ms: Updated.
1654 * tmac/www.tmac (HTML, HTML-TAG): Minor clean-ups.
1656 2004-10-30 Gaius Mulley <gaius@glam.ac.uk>
1658 * src/include/printer.h (printer): Remove virtual function
1660 Update all source files.
1662 * src/devices/grohtml/post-html.cpp (html_printer): New member
1663 function `round_width'.
1665 2004-10-20 Tadziu Hoffmann <hoffmann@usm.uni-muenchen.de>
1667 * src/preproc/tbl/table.cpp (table::do_row): Fix handling of the `d'
1668 column key letter suffix.
1670 2004-10-14 Werner LEMBERG <wl@gnu.org>
1672 * Makefile.in (check): Depend on `site.exp' and `docheck'.
1673 (docheck): Run dejagnu's `runtest' if it exists.
1674 (site.exp): Create dejagnu configuration file.
1676 * Makefile.sub (DISTCLEANFILES): Add files related to dejagnu.
1678 2004-10-13 Werner LEMBERG <wl@gnu.org>
1680 * src/devices/grohtml/html-text.cpp (html_text_get_alignment),
1681 src/devices/grohtml/post-html.cpp (make_val,
1682 html_printer::handle_state_assertion): Fix compiler warnings.
1684 * src/roff/troff/div.cpp: Include `stringclass.h' and `mtsm.h'.
1685 (diversion::diversion): Fix order of initializers.
1687 * src/roff/troff/div.h: Don't include `mtsm.h'.
1689 * src/roff/troff/env.cpp: Include `stringclass.h' and `mtsm.h'.
1690 (environment::environment): Fix order of initializers.
1691 (environment::make_tag, environment::construct_format_state): Fix
1694 * src/roff/troff/input.cpp: Include `stringclass.h' and `mtsm.h'.
1695 (input_iterator::input_iterator, macro::macro): Fix order of
1698 * src/roff/troff/mtsm.cpp: Include only necessary header files.
1699 (state_set::add, state_set::val): Fix compiler warnings.
1701 * src/roff/troff/mtsm.h: Don't include `stringclass.h'.
1702 (bool_value_state, int_value_state, units_value_state,
1703 string_value_state): Remove comma after last element which causes
1704 an error with g++ 3.3.3.
1706 * src/roff/troff/node.cpp: Include `stringclass.h'.
1707 (hline_node::hline_node, vline_node::vline_node,
1708 space_char_hmotion_node, left_italic_corrected_node): Fix compiler
1710 (zero_width_node::zero_width_node): Fix order of initializers.
1712 * src/roff/troff/node.h: Don't include `mtsm.h'.
1713 (hmotion_node): Fix compiler warnings.
1715 * src/roff/troff/number.cpp: Include `stringclass.h' and `mtsm.h'.
1717 2004-10-12 Gaius Mulley <gaius@glam.ac.uk>
1719 * doc/groff.css: New file.
1721 * doc/webpage.ms: Use `groff.css'.
1724 * tmac/an-old.tmac (need_eo_h): New number register.
1725 (TH): Emit `.eo.tl' tag after title.
1726 (SH): Set `need_eo_h'.
1727 (an-trap): Handle `need_eo_h'.
1728 (an-do-tag): s/HTML-TAG-NS/HTML-TAG-NEXT/.
1730 * tmac/s.tmac (need_eo_h, need_eo_tl): New number registers.
1731 (TL): Always start diversion.
1733 (@AI): Always call `par@reset'.
1734 (@AB): Update code for -Thtml.
1735 (cov*tl-au-print): Handle -Thtml.
1736 (par@reset): Handle `need_eo_tl', `need_eo_h'.
1738 (@IT-html): Removed.
1739 (@SH): Set `need_eo_h' for -Thtml.
1740 (par@TL): s/HTML-TAG/HTMl-TAG-NS/.
1742 (@NH): s/HTML-TAG/HTMl-TAG-NS/.
1743 Set `need_eo_h' for -Thtml.
1744 (@EQ, @EN): Don't handle -Thtml specially.
1745 (par@load-init): Don't handle -Thtml specially.
1747 * tmac/www.tmac (www:paraspace): New macro.
1748 (HTML-NS, HTML-TAG-NS): Use new `tag' request.
1749 (HTML</p>, HTML-TAG-NEXT): New macros.
1750 (HnE): Emit tag `.eo.h' instead of break.
1751 (HR): s/HTML-NS/HTML/.
1752 (www-end-nowhere): End diversion only if `www-html' not set.
1754 (ULS, ULE): s|HTML|HTML</p>|.
1755 (LI): Call `www:paraspace'.
1758 2004-10-11 Gaius Mulley <gaius@glam.ac.uk>
1760 * src/roff/troff/request.h (macro): Make `p' public.
1761 New variable `is_a_diversion'.
1762 New member function `is_diversion'.
1765 * src/devices/grohtml/html.h (simple_output): New member function
1768 * src/devices/grohtml/html-table.cpp (tabs::compatible): Fix
1769 computation of `total'.
1770 (tabs::check_init): New function.
1771 (html_table::emit_table_header): Emit style data.
1772 (html_table::insert_column): Improved.
1774 * src/devices/grohtml/html-table.h: Updated.
1776 * src/devices/grohtml/html-text.cpp (html_text::html_text):
1777 Initialize `start_space' with TRUE.
1778 (html_text::end_tag, html_start_tag): Fix `P_TAG' and `PRE_TAG'
1780 (html_text::flush_text): Set `start_space' flag.
1781 (html_text::uses_indent, html_text::remove_para_space,
1782 html_text::get_alignment): New functions.
1783 (html_text::push_para): Updated.
1784 (html_text::do_para): Check for empty argument.
1785 Don't set `space_emitted'.
1786 (html_text::do_space, html_text::emit_space): Updated.
1788 * src/devices/grohtml/html-text.h (tag_definition): New variable
1790 (html_text): New member function `uses_indent', `remove_para_space',
1793 * src/devices/grohtml/output.cpp (simple_output::force_nl): New
1795 (simple_output:nl): Always emit `\n'.
1797 * src/devices/grohtml/post-html.cpp: Include `string.h'.
1798 (BASE_POINT_SIZE): Removed.
1799 (base_point_size, head_info): New global variables.
1800 (text_glob): New member functions `is_ll', `is_tl', `is_eo_tl',
1802 (text_glob::is_nf, text_glob::is_fi): Handle `.fi 0' and `.fi 1'
1804 (page::add_and_encode): Pass additional parameter for tag flag.
1805 (assert_pos): New structure.
1806 (assert_state): New class.
1807 (html_printer): Remove `indentation', `prev_indent'.
1808 Add variables `troff_indent', `device_indent', `temp_indent'.
1809 Add variables `seen_indent', `next_indent', `seen_pageoffset',
1810 `next_pageoffset', `seen_linelenght', `next_linelength',
1811 `seen_center', `next_center', `seen_space', `seen_break', `as'.
1812 Add member functions `do_check_center', `do_space', `do_head',
1813 `get_troff_indent', `restore_troff_indent', `handle_assertion',
1814 `handle_state_assertion', `do_end_para', `set_char_and_width'.
1815 Change argument to `do_fill' to `char *'.
1817 (html_printer::emit_raw): Call `shutdown_table'.
1819 (html_printer::do_center): Simplified.
1820 (html_printer::do_title): Improved.
1821 (html_printer::write_header): Emit one more newline.
1823 (html_printer::do_heading, html_printer::do_indent,
1824 html_printer::do_eol, html_printer::do_tab_ts,
1825 html_printer::do_tab, html_printer::do_tab0,
1826 html_printer::calc_po_in, html_printer::next_horiz_pos,
1827 html_printer::remove_courier_tabs,
1828 html_printer::insert_tab0_foreach_tab, html_printer::begin_page):
1830 (html_printer::do_linelength, html_printer::do_pageoffset,
1831 html_printer::do_indentation, html_printer::do_tempindent,
1832 html_printer::do_tab_te): Simplified.
1833 (html_printer::do_pointsize): Check whether point size is really
1834 associated a `.tl' tag.
1835 (html_printer::do_break): Rewritten.
1836 (html_printer::troff_tag): Improved.
1837 (html_printer::flush_globs): Updated.
1838 (html_printer::lookahead_for_tables): Handle `is_br'.
1840 (html_printer::set_char): Check `sbuf_style.f'.
1841 (html_printer::write_navigation): Use string comparison.
1842 (html_printer::~html_printer): Emit `head_info'.
1843 (html_printer::special): Rewritten.
1844 (get_str, make_val): New functions.
1845 (main): New option `s' to set the base point size.
1847 * src/preproc/html/pre-html.cpp (scanArguments): Handle option `s'.
1849 2004-10-10 Gaius Mulley <gaius@glam.ac.uk>
1851 * src/roff/troff/node.cpp: New extern `debug_state'.
1852 Include `stringclass.h' and `mtsm.h'.
1853 Implement new classes and class members from `node.h'.
1854 (real_output_file): Make `fp' public.
1855 (troff_output_file): New variables `cur_div_level' and `tag_list'.
1856 Update constructors.
1857 (troff_output_file::really_print_line): Check whether we should push
1858 the current troff state and use the state at the start of the
1859 invocation of this diversion.
1860 (troff_output_file::add_to_tag_list): New member function.
1861 (node::add_char): Handle `glyph_comp_np'.
1863 * src/roff/troff/node.h: Include `mtsm.h'.
1864 (node): New variables `state', `push_state', `div_nest_level',
1865 `is_special'. Update constructors, all descendants.
1866 Pass additional argument to `add_char' member function.
1867 New virtual member functions `is_tag', `debug_node',
1868 `debug_node_list'. Update all descendants.
1869 (tag_node): New class for handling tags.
1870 (output_file): Add variable `state'.
1872 2004-10-09 Gaius Mulley <gaius@glam.ac.uk>
1874 * src/roff/troff/mtsm.cpp, src/roff/troff/mtsm.h: New files,
1875 providing a minimal troff state machine to emit meta tags for the
1876 post-grohtml device driver.
1878 * src/roff/troff/Makefile.sub (OBJS, CCSRCS, HDRS): Handle new
1881 2004-10-09 Werner LEMBERG <wl@gnu.org>
1883 * tmac/trace.tmac: Fix handling of `am' and `am1' calls.
1885 2004-10-06 Gaius Mulley <gaius@glam.ac.uk>
1887 * src/roff/troff/column.cpp (vjustify_node::copy): Updated.
1889 * src/roff/troff/div.h: Include `mtsm.h'.
1890 (diversion): New variables `any_chars_added', `needs_push',
1891 `saved_seen_break', `saved_seen_space', `saved_seen_eol',
1892 `saved_suppress_next_eol', `modified_tag'.
1893 New virtual member function `is_diversion'. Update all descendants.
1895 * src/roff/troff/div.cpp (diversion::diversion,
1896 macro_diversion::macro_diversion): Updated.
1897 (do_divert): Handle `seen_break', `seen_space', `seen_eol',
1898 `suppress_next_eol'.
1899 (top_level_diversion::space): Handle `curenv->seen_space'.
1900 (page_offset): Update tag handling.
1901 (space_request, blank_line, flush_output): Don't call `add_html_tag'.
1903 * src/roff/troff/env.h (environment): Make `tabs' public.
1904 Remove `ignore_next_eol', `emitted_node'.
1905 Update `output_line', `output'.
1906 New variables `seen_space', `seen_eol', `suppress_next_eol',
1908 New member functions `construct_state', `make_tag',
1909 `construct_format_state, `construct_new_line_state,
1911 Remove `add_html_tag', `make_html_tag'.
1913 * src/roff/troff/env.cpp: New externs `suppress_push',
1914 `get_diversion_state', `global_diverted_space'.
1915 (pending_output_line): New variable `was_centered'.
1916 Update constructor and all callers.
1917 (pending_output_line::output): Call `curenv->construct_format_state'.
1918 (environment::environment, environment::copy): Updated.
1919 (environment::output): Handle `was_centered'.
1920 (environment::add_char): Handle construct and diversion state.
1921 (environment::add_node): Handle construct state.
1922 (environment::newline): Handle `was_centered'.
1923 (environment::output_line): Updated.
1924 (environment::possibly_break_line): Updated.
1925 Update tag handling.
1926 (environment::add_html_tag): Replaced with...
1927 (environment::make_tag): New function.
1928 (environment::add_html_tag_tabs, environment::make_html_tag): Removed.
1929 (environment::dump_troff_state): New debugging function.
1930 (environment::construct_state, environment::construct_format_state,
1931 environment::construct_new_line_state): New functions.
1932 (environment::do_break): Updated.
1933 Handle `global_diverted_space'.
1934 (environment::handle_tag): Update tag handling.
1935 (point_size, fill, do_break_request): Don't call `add_html_tag'.
1936 (no_fill): Don't call `add_html_tag'.
1937 Set `suppress_next_eol'.
1938 (center, right_justify, line_length, indent, temporary_indent,
1940 Update tag handling.
1942 * src/roff/troff/input.cpp: Don't include `stringclass.h'.
1943 (input_iterator): New variables `is_diversion', `diversion_state'.
1944 Update constructors.
1945 (input_stack): New member functions `get_div_level',
1946 `get_diversion_state', `check_end_diversion'.
1947 New variables `div_level', `diversion_state'. Initialize them.
1948 (suppress_push, global_diverted_space): New global variables.
1949 (input_stack::finish_get, input_stack::finish_peek,
1950 input_stack::remove_boundary, input_stack::end_file,
1951 input_stack::clear, input_stack::pop_macro): Call
1952 `check_end_diversion'.
1953 (input_stack::push): Handle `div_level' and `diversion_state'.
1954 (get_diversion_state): New function.
1955 (diverted_space_node::reread): Handle `global_diverted_space'.
1956 (macro::macro): Update constructors.
1957 (macro::is_diversion): New function.
1958 (macro::operator=): Set `is_a_diversion'.
1959 (string_iterator): New member function `is_diversion'.
1960 (string_iterator::string_iterator): Update constructors.
1961 (string_iterator::fill): Set `div_nest_level'.
1962 (macro_iterator): New member function `is_diversion'.
1963 (do_if_request): Handle `suppress_push'.
1964 (tag, taga): New functions.
1965 (init_input_requests): Add `tag' and `taga' requests.
1967 2004-10-05 Gaius Mulley <gaius@glam.ac.uk>
1969 * src/include/font.h (font): New member function
1970 `get_image_generator'.
1971 New variables `unscaled_charwidths' and `image_generator'.
1973 * src/libs/libgroff/font.cpp (font::get_width): Always return the
1974 character's unscaled width if `font::unscaled_charwidths' is set.
1975 (font::get_image_generator): New function.
1976 (font::load_desc): Check the `unscaled_charwidths' and
1977 `image_generator' keywords.
1979 * src/libs/libgroff/fontfile.cpp: Initialize
1980 `font::unscaled_charwidths' and `font::image_generator'.
1982 * font/devhtml/DESC.proto: s/html/unscaled_charwidths/.
1984 * font/devhtml/Makefile.sub (DESC): Set `image_generator' keyword.
1986 * man/groff_font.man: Document `unscaled_charwidths' and
1989 * src/preproc/html/pre-html.cpp: Include `device.h'.
1990 (image_gen): New global variable.
1991 (imageList::createPage): Use `image_gen'.
1992 (main): Use `image_generator' keyword.
1994 2004-10-04 Gaius Mulley <gaius@glam.ac.uk>
1996 * tmac/html.tmac: Handle \[sqrtex].
1998 2004-10-04 Gaius Mulley <gaius@glam.ac.uk>
2000 * src/include/printer.h (printer): New virtual method `round_width'.
2002 * src/devices/grodvi/dvi.cpp, src/devices/grolbp/lbp.cpp,
2003 src/devices/grolj4/lj4.cpp, src/devices/grops/ps.cpp,
2004 src/devices/grotty/tty.cpp (printer::round_width): New function
2007 * src/devices/grohtml/post-html.cpp (printer::round_width): New
2009 (html_printer::set_numbered_char): Use it.
2011 2004-10-03 Gaius Mulley <gaius@glam.ac.uk>
2013 * aclocal.m4 (GROFF_GHOSTSCRIPT_PATH): New macro.
2015 * configure.ac: Call GROFF_GHOSTSCRIPT_PATH.
2017 * configure: Regenerated.
2019 * Makefile.in (GHOSTSCRIPT): New variable.
2020 (MDEFINES): Add GHOSTSCRIPT.
2022 2004-10-03 Werner LEMBERG <wl@gnu.org>
2024 * INSTALL.gen: Updated (taken from texinfo CVS).
2026 2004-09-28 Werner LEMBERG <wl@gnu.org>
2030 2004-09-28 Heinz-Jürgen Oertel <hj.oertel@surfeu.de>
2032 * tmac/groff_www.man: Revised and updated.
2034 2004-09-26 Werner LEMBERG <wl@gnu.org>
2036 Fix \$@ and \$* to handle any number of arguments.
2038 * src/roff/troff/input.h (BEGIN_QUOTE, END_QUOTE): New special
2041 * src/roff/troff/input.cpp (input_iterator::internal_level):
2043 (input_stack): New member functions `increase_level' and
2045 (input_stack::get_level): Don't use `internal_level'.
2046 (get_copy, token::next): Handle BEGIN_QUOTE and END_QUOTE.
2047 (end_quote_iterator): Completely removed.
2048 (interpolate_arg): Build string for \$@ and \$* which is then
2049 pushed onto the input stack.
2051 2004-09-23 Keith Marshall <keith.d.marshall@ntlworld.com>
2053 * tmac/groff_ms.man, doc/groff.texinfo: Document changes from
2056 2004-09-23 Werner LEMBERG <wl@gnu.org>
2058 * tmac/an-old.tmac (ne): Using default scaling operator.
2060 2004-09-19 Keith Marshall <keith.d.marshall@ntlworld.com>
2062 This change implements the following features:
2065 New numeric register: Defines number of lines following LP, PP,
2066 QP, IP or XP, which must be kept together, before any automatic
2067 page break. If insufficient space remains on the current page, a
2068 page break is forced before the new paragraph begins.
2071 New numeric register: Sets number of lines of following paragraph
2072 which must be kept with a heading, defined by NH or SH, before any
2073 automatic page break. If insufficient space remains on the
2074 current page, a page break is forced before the heading.
2077 (Thanks to Joerg van den Hoff, for this idea).
2079 New numeric register: Sets the first level of heading (set with
2080 NH), which will keep the same point size as body text; e.g. if
2081 GROWPS is set to 3, .NH 3, .NH 4, ... will produce headings at the
2082 point size specified by \n[PS], but .NH 2 and .NH 1 will have
2083 progressively larger point sizes, determined by \n[PSINCR] (see
2087 New numeric register: Sets the point size increment for each level
2088 of heading, (set with NH), below the threshold level set by
2089 GROWPS; e.g. if \n[PS] = 10, \n[GROWPS] = 3 and \n[PSINCR] = 2.0p,
2090 then .NH 1 will produce 14pt headings, .NH 2 will produce 12pt,
2091 and all other levels will remain at 10pt, (because \n[PS] = 10).
2094 Existing macro now accepts a numeric argument, to make heading
2095 size match that of NH with same argument value, when the
2096 GROWPS/PSINCR feature is enabled.
2099 New string, set by NH macro, replaces the existing (undocumented)
2100 use of SN, to represent the assigned section number.
2103 New string, set by NH macro, represents the assigned section
2104 number, but omits the terminal period (periods at intermediate
2105 levels are retained).
2108 String set by NH macro, originally undocumented, now implemented
2109 as an alias for SN-DOT (which reproduces original behaviour).
2111 * tmac/s.tmac (PORPHANS): New register.
2112 (par*start): Use it.
2113 (HORPHANS, GROWPS, PSINCR): New registers.
2114 (SH-NO-TAG, @SH): Use them.
2117 2004-09-19 Keith Marshall <keith.d.marshall@ntlworld.com>
2119 * NEWS, doc/groff.texinfo, tmac/groff_ms.man: Document the deletion
2120 of `Ds' and `De' macros.
2122 2004-09-10 Werner LEMBERG <wl@gnu.org>
2124 In tbl, handle \a as an interpreted leader character if in
2127 * src/preproc/tbl/table.h (PREFIX, PREFIX_CHAR, LEADER,
2128 LEADER_CHAR): New macros.
2129 (compatible_flag): New declaration.
2131 * src/preproc/tbl/main.cpp (table_input): Add LEADER_1, LEADER_2,
2132 LEADER_3, and LEADER_4 to `state'.
2133 (table_input::get): Handle `\a'.
2135 * src/preproc/tbl/table.cpp (PREFIX): Removed.
2136 (LEADER_REG): New macro.
2137 (table::init_output): Define LEADER_REG string register if in
2140 * src/preproc/tbl/tbl.man: Document it.
2142 2004-08-18 Werner LEMBERG <wl@gnu.org>
2144 * tmac/doc.tmac (An): Fix error message.
2146 2004-08-06 Werner LEMBERG <wl@gnu.org>
2148 * src/preproc/tbl/main.cpp (main): Call `fatal' not `error' if a
2149 file can't be opened. UNIX tbl has the same behaviour.
2151 2004-08-05 Y T <doarhop@hotmail.com>
2153 * src/preproc/grn/hdb.cpp (compatibility_flag): Add declaration.
2154 (DBRead): If in compatibility mode, take into account the text
2155 when computing figure boundaries.
2157 2004-08-05 Werner LEMBERG <wl@gnu.org>
2159 * src/preproc/soelim/soelim.man: Improved. Based on suggestions
2160 from Tadziu Hoffmann.
2162 2004-08-03 Werner LEMBERG <wl@gnu.org>
2164 * doc/meref.me: Document `_M' register.
2166 2004-08-03 Martin Husemann <martin@duskware.de>
2168 Make hpftodit work correctly on big-endian systems.
2170 * src/utils/hpftodit/hpftodit.cpp (File): New method
2171 `get_uint32(char *)'.
2172 (entry): New member `orig_value'.
2173 (read_tags): Use new method.
2174 (output_font_name, read_and_output_pcltypeface, dump_ascii):
2177 2004-08-01 Werner LEMBERG <wl@gnu.org>
2179 * tmac/s.tmac: Undo change 2003-06-29. The proper macro definitions
2180 are already in X11's `macros.t' file.
2182 2004-08-01 Jeff Conrad <jeff_conrad@msn.com>
2184 * src/utils/hpftodit/hfptodit.cpp (output_font_name, dump_ascii):
2186 (read_and_output_pcltypeface): Handle strings with length <= 4.
2188 2004-07-27 Egil Kvaleberg <egil@kvaleberg.no>
2190 * tmac/s.tmac (pg@top): Don't save `PO' register.
2191 (pg*end-col, pg*end-page): Directly use `PO' register.
2193 2004-07-27 Werner LEMBERG <wl@gnu.org>
2195 * man/groff_tmac.man: Mention `trace' and `pic' macro packages.
2197 * src/preproc/refer/refer.cpp (output_references): Check for
2199 * src/preproc/refer/refer.man: Improve documentation of
2200 `bibliography' command.
2202 2004-07-26 Werner LEMBERG <wl@gnu.org>
2204 Add requests `fcolor' and `gcolor'.
2206 * src/roff/troff/env.cpp (fill_color_change, glyph_color_change):
2208 (init_env_requests): Add `fcolor' and `gcolor'.
2210 * src/roff/troff/input.h: Export do_glyph_color and do_fill_color.
2212 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
2213 Document new requests.
2215 2004-07-24 Werner LEMBERG <wl@gnu.org>
2217 Add support for fractional point sizes in ms macros. A value for
2218 PS, VS, FPS, and FVS greater than or equal to 1000 is always divided
2219 by 1000. For example, `.nr PS 10250' sets the font size to 10.25p.
2221 * tmac/s.tmac (@AU, @AI, par@load-init, par@init, par@reset, NL,
2222 PX): Handle fractional point sizes for PS, VS, FPS, and FVS.
2224 * tmac/groff_ms.man, docs/groff.texinfo, NEWS: Document it.
2226 2004-07-19 Werner LEMBERG <wl@gnu.org>
2228 * src/preproc/pic/lex.cpp (for_input): Add member `from'.
2230 (do_for, for_input::get, for_input::peek): Handle negative `by'.
2231 * src/preproc/pic/pic.man, doc/pic.ms, NEWS: Document it.
2233 2004-07-08 Thomas Klausner <wiz@netbsd.org>
2235 * tmac/doc-syms (doc-str-St--p1003.1-2004): New string.
2236 * tmac/groff_mdoc.man: Updated.
2238 2004-07-05 Werner LEMBERG <wl@gnu.org>
2240 * doc/groff.texinfo: Further improve documentation of `hcode'.
2242 2004-07-04 Sang Dae Yu <sdyu@bh.knu.ac.kr>
2244 Improve appearance of arrows in pic.
2246 * src/preproc/pic/object.cpp (draw_arrow): Make outline of filled
2248 Use two line segments for drawing non-filled arrow head.
2249 (line_object::print, spline_object::print): Shorten line length to
2250 avoid arrow sticking.
2251 (arc_object::print): Take arrow direction into account.
2253 2004-07-03 Heinz-Jürgen Oertel <hj.oertel@surfeu.de>
2255 * tmac/groff_www.man: Update documentation of .MPIMG.
2257 2004-07-03 Werner LEMBERG <wl@gnu.org>
2259 * tmac/an-old.tmac (RI): Always start with font `R'.
2260 (RI, IR): Properly end with font `R'.
2262 2004-07-02 Paul Eggert <eggert@cs.ucla.edu>
2264 * man/ditroff.man, man/groff_font.man, man/groff_out.man,
2265 src/devices/grohtml/grohtml.man, src/preproc/grn/grn.man,
2266 src/preproc/pic/pic.man, tmac/groff_man.man, tmac/groff_ms.man:
2267 Don't pass more than six arguments to .R, .I, .B, etc., for
2268 compatibility with traditional troff macros.
2270 2004-07-02 Werner LEMBERG <wl@gnu.org>
2272 * src/roff/troff/input.h: s/COMPATIBLE_SAVE/PUSH_GROFF_MODE/.
2273 s/COMPATIBLE_RESTORE/POP_GROFFCOMP_MODE/.
2275 (PUSH_COMP_MODE): New internal character constant.
2278 * src/roff/troff/input.cpp (get_copy): Handle PUSH_GROFF_MODE,
2279 PUSH_COMP_MODE, and POP_GROFFCOMP_MODE.
2280 (token::next, macro::append): Handle PUSH_COMP_MODE.
2281 (decode_args): Add PUSH_GROFF_MODE or PUSH_COMP_MODE before and
2282 POP_GROFFCOMP after each of the decoded arguments to make them
2283 independent from the compatibility mode status.
2284 (comp_mode): Add `COMP_ENABLE'.
2285 (do_define_string, do_define_macro): Handle COMP_ENABLE.
2286 (define_string, append_string, define_macro, define_indirect_macro,
2287 append_macro, append_indirect_macro): Handle `compatible_flag'.
2288 (chop_macro, substring_request, asciify): Handle PUSH_COMP_MODE.
2290 * man/groff_diff.man, doc/groff.texinfo: Updated.
2292 2004-07-01 Werner LEMBERG <wl@gnu.org>
2294 * doc/groff.texinfo: Improve documentation of `hcode'.
2295 Use @documentencoding and convert document to latin-1; to do that
2296 make latin characters active and assign proper macros (within a
2297 @tex...@end tex environment).
2298 * doc/Makefile.in (.texinfo.html, groff): Use --enable-encoding.
2299 * doc/Makefile.sub (groff): Ditto.
2301 2004-06-29 Werner LEMBERG <wl@gnu.org>
2303 Implement two new conditional operators `F <name>' and `S <name>'
2304 which check whether <name> is a valid font or style, respectively.
2306 * src/libs/libgroff/font.cpp (text_file): Add `silent' member.
2307 (text_file::text_file): Updated.
2308 (text_file::error): Don't emit message if `silent' is set.
2309 (font::load_font): Add optional third argument (which is directly
2311 (font::load): Add optional second argument to check the header of
2312 a font only, without emitting warning or error messages.
2313 * src/include/font.h (font): Updated.
2315 * src/roff/troff/input.cpp (do_if_request): Implement `S' and `F'
2317 * src/roff/troff/node.cpp (mount_font_no_translate): Add optional
2318 fourth argument to check a font without mounting.
2319 (check_font, check_style): New functions.
2320 * src/roff/troff/node.h: Updated.
2322 * man/groff_diff.man, man/groff.man, NEWS, doc/groff.texinfo:
2325 2004-06-27 Werner LEMBERG <wl@gnu.org>
2327 Implement new string-valued register `.sty' to return the current
2330 * env.cpp (environment::get_style_name_string): New function.
2331 (init_env_requests): Add `.sty' register.
2332 * env.h (environment): Updated.
2333 * node.cpp (font_info): Make `get_style_name' a friend.
2334 (get_style_name): New function.
2337 * man/groff_diff.man, man/groff.man, NEWS, doc/groff.texinfo:
2340 2004-06-15 Werner LEMBERG <wl@gnu.org>
2342 * src/preproc/tbl/main.cpp (process_data) <GOT_RIGHT_BRACE>: Handle
2345 2004-06-10 Colin Percival <colin.percival@wadham.ox.ac.uk>
2347 * doc/meintro.me, doc/meref.me: Don't use \*[td], \n[dy], \*[mo],
2348 and \n[mo] to avoid dependency on current date.
2350 2004-06-08 Werner LEMBERG <wl@gnu.org>
2352 * Makefile.sub (install_data): New target.
2354 2004-06-04 Werner LEMBERG <wl@gnu.org>
2356 * src/libs/libxutil/Makefile.sub (EXTRA_CFLAGS): Define.
2358 2004-06-03 Werner LEMBERG <wl@gnu.org>
2360 * src/devices/xditview/Makefile.sub (EXTRA_LDFLAGS): Fix typo and
2362 (install_data): Add $(srcdir).
2364 * src/utils/xtotroff/Makefile.sub (EXTRA_LDFLAGS): Fix order of
2367 2004-06-02 Werner LEMBERG <wl@gnu.org>
2369 * aclocal.m4 (GROFF_X11): s/have_no_x/groff_no_x/.
2370 Add X11 stuff to CFLAGS, LDFLAGS, and LIBS temporarily.
2371 Add test for Xmu library.
2372 (GROFF_APPRESDIR_OPTION, GROFF_APPRESDIR_CHECK,
2373 GROFF_APPRESDIR_DEFAULT): New macros.
2375 * configure.ac: Call GROFF_APPRESDIR_OPTION, GROFF_APPRESDIR_CHECK,
2376 and GROFF_APPRESDIR_DEFAULT.
2378 * configure: Regenerated.
2380 * Makefile.in (appresdir): New variable.
2381 (MDEFINES): Add appresdir.
2383 * src/devices/xditview/Makefile.sub (EXTRA_LDFLAGS): Add -Xmu and
2385 (install_data, uninstall_sub): New targets to handle GXditview.ad.
2387 * src/utils/indxbib/Makefiles.ub (install_data): Depend on
2388 `$(srcdir)/eign', not `eign'.
2390 * MANIFEST, INSTALL, NEWS, PROBLEMS: Updated.
2392 * man/groff_out.man, man/roff.man, src/devices/grops/grops.man,
2393 src/devices/xditview/gxditview.man, src/roff/groff/groff.man:
2394 Protect (g)xditview with `\%' to avoid hyphenation.
2395 Other minor formatting.
2397 2004-06-01 Werner LEMBERG <wl@gnu.org>
2399 Integrate gxditview into groff's standard directory hierarchy.
2401 * src/xditview/*: Moved to ...
2402 * src/devices/xditview/*: Here.
2403 Moved DviChar.h and XFontName.h to src/include.
2404 Moved DviChar.c and XFontName.c to new directory src/libs/libxutil.
2405 Split off `xmalloc' into new file src/libs/libxutil/xmalloc.c.
2406 Moved xtotroff.c to new directory src/utils/xtotroff.
2407 Provide proper Makefile.sub files (reusing the stuff from
2409 DESC renamed to DESC.in.
2410 Removed GXDitview-ad.h, INSTALL, Imakefile.in.
2411 Converted everything from K&R to ANSI C.
2412 Decorated with const where appropriate.
2413 Cast string constants with `String' and `char *' where appropriate.
2414 Made it compile with C++ (used as a C compiler).
2415 Removed other minor compiler warnings.
2417 * src/devices/xditview/device.c: Include config.h, string.h, and
2419 Don't declare `exit', `strtok', `strchr', and `getenv'.
2422 * src/devices/xditview/font.c: Don't declare `XParseFontName' and
2425 * src/devices/xditview/xditview.c: Include config.h.
2426 Include stdio.h earlier.
2427 Protect declaration of `popen' and `pclose' with
2428 NEED_DECLARATION_POPEN and NEED_DECLARATION_PCLOSE.
2429 Replace `caddr_t' with `XtPointer'.
2430 (MakePromptFunc): New typedef.
2431 (DoPrint): Use RETSIGTYPE.
2432 (promptfunction): Change type to MakePromptFunc.
2433 (MakePrompt): Use MakePromptFunc for third argument.
2436 * src/devices/xditview/ad2c: Add casts to `String'.
2438 * src/include/XFontName.h (XFontNameString): Don't use array
2440 Add prototypes for `XParseFontName', `XFormatFontName',
2441 `XCompareFontName', and `XCopyFontName'.
2443 * src/include/Makefile.sub (HDRS): Add `DviChar.h' and
2446 * src/utils/xtotroff/xtotroff.c: Include getopt.h.
2447 Don't declare `XParseFontName' and `XFormatFontName'.
2449 (main): Remove `optind' and `optarg'.
2451 * Makefile.in (XDEVDIRS, XPROGDIRS, XLIBDIRS): New variables
2452 (to select programs which need X).
2453 Make XDEVIDIRS depend on `FORCE'.
2454 (X_CFLAGS, X_LIBS, X_EXTRA_LIBS, X_PRE_LIBS): New variables (for
2456 (MDEFINES): Updated.
2457 (LIBDIRS): Use XLIBDIRS.
2458 (CPROGDIRS): Use XPROGDIRS.
2459 (DEVDIRS): Remove font directories for gxditview.
2460 (ALLDIRS, DISTDIRS): Add XDEVDIRS.
2461 (EXTRADIRS): Remove src/xditview.
2463 * Makefile.sub (DISCLEANFILES): Updated.
2465 * Makefile.comm (LIBXUTIL): New variable.
2466 (.cpp.o, .cpp.obj): Handle EXTRA_CCFLAGS.
2467 (.c.o, .c.obj, .y.o): Handle EXTRA_CFLAGS.
2469 * Makefile.cpg, Makefile.ccpg ($PROG): Handle EXTRA_LDFLAGS.
2471 * aclocal.m4 (GROFF_X11): New function.
2473 * configure.ac: Call GROFF_X11.
2474 Don't create src/xditview/Imakefile.
2475 Don't emit notice how to build gxditview.
2477 * configure: Regenerated.
2479 * test-groff.in (GROFF_BIN_PATH, XENVIRONMENT): Updated.
2481 2004-05-28 Akihiro Sagawa <sagawa@sohgoh.net>
2483 * Makefile.in (CPPFLAGS): Define.
2484 (MDEFINES): Add CPPFLAGS.
2486 2004-05-27 Werner LEMBERG <wl@gnu.org>
2488 * arch/misc/Makefile.sub (shdeps.sed): Use $(srcdir).
2490 2004-05-26 Niklas Edmundsson <nikke@acc.umu.se>
2492 Fix problems with `friend name injections'.
2494 * src/preproc/eqn/box.h (make_mark_box, make_lineup_box,
2495 make_script_box), src/roff/troff/div.h (end_diversions),
2496 src/roff/troff/env.h (title), input.cpp (process_input_stack): Undo
2499 2004-05-25 Bernd Warken <bwarken@mayn.de>
2501 * src/preproc/pic/pic.man, doc/pic.ms: Add example for `command'.
2503 2004-05-25 Werner LEMBERG <wl@gnu.org>
2505 * src/libs/libgroff/cset.cpp, src/libs/libgroff/lf.cpp,
2506 src/libs/libgroff/color.cpp: Include lib.h.
2508 2004-05-25 Paul Eggert <eggert@cs.ucla.edu>
2510 * PROBLEMS: Update documentation for problems with Sun C++ 5.0
2511 through Forte 6u1, and for how to get GNU make on Solaris.
2513 2004-05-24 Werner LEMBERG <wl@gnu.org>
2515 * PROBLEMS: Document problems with gcc 3.4.0 on Sun. Reported
2518 2004-05-15 Keith Marshall <keith.d.marshall@ntlworld.com>
2520 * arch/misc/Makefile.sub (shdeps.sed): Don't use `$<' in explicit
2523 2004-05-14 Werner LEMBERG <wl@gnu.org>
2525 * REVISION: Set to 2.
2527 * aclocal.m4 (GROFF_STDINT_H): Removed.
2528 (GROFF_INTTYPES_H): Define HAVE_CC_INTTYPES_H.
2530 * configure.ac: Updated.
2531 * configure, src/include/config.hin: Regenerated.
2533 * src/libs/libgroff/tmpname.cpp: Don't include stdint.h but
2534 inttypes.h conditionally.
2536 2004-05-13 Werner LEMBERG <wl@gnu.org>
2538 Version 1.19.1 released
2539 =======================
2541 2004-05-10 Stephen Gildea <http://www.gildea.com/stephen>
2543 * src/preproc/refer/label.y (same_author_last_name,
2544 same_author_name): Handle empty sort keys.
2546 2004-05-10 Werner LEMBERG <wl@gnu.org>
2548 * NEWS, README, TODO, PROJECTS, PROBLEMS, MANIFEST, doc/webpage.ms,
2551 * tmac/doc-syms (doc-str-Lb-libposix, doc-str-Lb-libpthread,
2552 doc-str-Lb-librt): Reset font.
2553 (Lb): Rename `doc-str-Lb' to `doc-str-Lb1'.
2554 Provide `doc-str-Lb' to reset font.
2555 * tmac/groff_mdoc.man: Updated.
2557 2004-05-08 Jan Schaumann <jschauma@netmeister.org>
2559 * src/preproc/html/pre-html.cpp (make_message): Make it work for
2560 snprintf versions which don't conform to ANSI C 99 (this is,
2561 counting the string's trailing null byte in the return value).
2563 2004-05-07 Keith Marshall <keith.d.marshall@ntlworld.com>
2565 * src/roff/troff/node.cpp (suppress_node::tprint): Don't expect
2566 that all implementations of sprintf handle null pointers correctly.
2568 2004-05-04 Werner LEMBERG <wl@gnu.org>
2570 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
2571 Document `.U' register.
2573 * src/roff/troff/env.cpp (environment::mark_last_line)
2574 [WIDOW_CONTROL]: Fix scope of `p' for new C++ compilers.
2576 2004-05-04 Larry Kollar <kollar@alltel.net>
2578 New read-only register `.U'; it returns 1 in safer mode and 0
2581 * src/roff/troff/input.cpp (init_input_requests): Implement `.U'
2584 2004-05-03 Werner LEMBERG <wl@gnu.org>
2586 * install-sh, mkinstalldirs: New versions; taken from texinfo CVS.
2588 2004-04-17 Werner LEMBERG <wl@gnu.org>
2590 * src/include/font.h (font): Use `int' for ch_index.
2591 * src/libs/libgroff/font.cpp (font::alloc_ch_index,
2592 font::compact): Updated.
2594 * src/roff/groff/pipeline.c (run_pipeline) [_WIN32]: Fix compiler
2597 * src/roff/troff/div.cpp (begin_page), src/roff/troff/env.cpp
2598 (hyphen_word): Fix compiler warnings.
2599 * src/roff/troff/input.cpp (get_char_for_escape_name): Return
2602 (get_delim_number, get_line_arg): Change second argument type to
2604 (macro_header::copy, token::next, do_define_string,
2605 do_define_character, substring_request, asciify_macro,
2606 unformat_macro, read_size, non_interpreted_node::interpret,
2607 while_request, main: Fix compiler warnings.
2608 (read_color_draw_node): Initialize `col'.
2610 * src/preproc/tbl/table.cpp (horizontal_span, table_entry): Make
2611 `start_col' and `end_col' of type `int'.
2612 (vertical_rule): Make `col' of type `int'.
2614 * src/preproc/grn/hdb.cpp (DBRead): Protect call to getc with check
2617 * src/preproc/refer/label.y (uppercase_array, lowercase_array):
2619 (format_serial): Use them to remove dependency on ASCII.
2621 * src/devices/grops/ps.cpp (ps_printer::define_encoding): Fix
2623 * src/devices/grops/psrm.cpp (resource_manager::supply_resource):
2626 * src/devices/grotty/tty.cpp (tty_font::load_tty_font): Fix
2628 (glyph): Change type of `hpos' to `int'.
2630 * src/devices/lbp/lbp.cpp (strsep): Removed. Unused.
2631 * src/devices/lbp/lbp.h (splinerel): Fix compiler warnings.
2633 * src/utils/tfmtodit.cpp (gf::load): Fix compiler warnings.
2635 * src/utils/pfbtops/pfbtops.c (get_text): Fix compiler warning.
2637 2004-04-16 Werner LEMBERG <wl@gnu.org>
2639 * src/devices/grolbp/lbp.h, src/preproc/grn/gprint.h,
2640 src/preproc/grn/hgraph.cpp, src/preproc/grn/hpoint.cpp,
2641 src/preproc/html/pushback.cpp, src/preproc/html/pushback.h: Use
2642 `double' instead of `float' everywhere.
2643 * src/preproc/grn/main.cpp: Use `double' instead of `float'
2645 (main): Add return value.
2646 * src/preproc/grn/hdb.cpp: Use `double' instead of `float'
2648 Update all user functions.
2650 * src/include/search.h, src/include/ptable.h, src/include/printer.h,
2651 src/preproc/eqn/box.h, src/preproc/pic/object.h,
2652 src/preproc/refer/refer.h, src/preproc/tbl/table.h,
2653 src/preproc/tbl/table.cpp, src/roff/troff/env.h,
2654 src/roff/troff/div.h, src/roff/troff/token.h, src/roff/troff/node.h,
2655 src/roff/troff/input.cpp, src/roff/troff/request.h,
2656 src/roff/troff/node.cpp: Don't mix `struct' and `class' in forward
2659 * src/utils/indxbib/signal.c: Include stdlib.h.
2661 2004-04-14 Keith Marshall <keith.d.marshall@ntlworld.com>
2663 * tmac/s.tmac (@init, RP): Allow initialization of the PO register
2664 before the first page.
2666 2004-04-14 Thomas Klausner <wiz@netbsd.org>
2668 * tmac/doc-common (doc-volume-as-*): Use lowercase names.
2669 (doc-operating-system-*): Updated.
2670 * tmac/doc-syms (doc-str-St-*): Various small fixes.
2671 (doc-str-Lb-*): Add more library names.
2673 2004-04-10 Art Haas <ahaas@airmail.net>
2675 * src/utils/hpftodit/hpuni.cpp (hp_msl_to_unicode_list): Don't
2678 2004-04-09 Art Haas <ahaas@airmail.net>
2680 * src/utils/tfmtodit.cpp (lig_chars): Don't use anonymous type.
2682 2004-04-09 Keith Marshall <keith.d.marshall@ntlworld.com>
2684 * arch/misc/shdeps.sh: Generate better comment for sed script.
2686 2004-04-08 Art Haas <ahaas@airmail.net>
2688 * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list),
2689 src/libs/libgroff/uniglyph.cpp (unicode_to_glyph_list),
2690 src/libs/libgroff/uniuni.cpp (unicode_decompose_list),
2691 src/preproc/eqn/box.cpp (param_table), src/preproc/grn/hgraph.cpp
2692 (polyfill), src/preproc/grn/main.cpp (polyfill),
2693 src/preproc/refer/command.cpp (command_table),
2694 src/utils/tfmtodit.cpp (lig_table): Don't use anonymous types (which
2695 gcc 3.5 doesn't like).
2697 2004-04-08 Werner LEMBERG <wl@gnu.org>
2699 Removing many compiler warnings. groff should now compile with
2700 a C++ compiler used for C files also. [Simple variable renamings
2701 to avoid shadowing aren't logged in detail.]
2703 * src/devices/grodvi/dvi.cpp: Some local variable renamings.
2704 (draw_dvi_printer::draw) ['c']: Enclose in block.
2706 * src/devices/grohtml/post-html.cpp: Some local variable renamings.
2707 (page::add_line): Fix typos.
2708 * src/devices/grohtml/html-text.cpp: Some local variable renamings.
2710 * src/devices/grolbp/lbp.cpp: Don't define _GNU_SOURCE.
2711 Some local variable renamings.
2712 * src/devices/grolbp/lbp.h: Some local variable renamings.
2714 * src/devices/grolj4/lj4.cpp, src/devices/grotty/tty.cpp: Some local
2717 * src/libs/libbib/index.cpp (index_search_item_iterator::get_tag):
2718 Remove redundant local variable declaration.
2719 * src/libs/libbib/map.c (mapread, unmap): Don't use K&R style.
2720 Don't use `caddr_t' but `void *'.
2721 Enclose functions with `extern "C"' for C++.
2723 * src/libs/libdriver/input.cpp (remember_filename,
2724 remember_source_filename): Use cast for string constant.
2726 * src/libs/libgroff/font.cpp, src/libs/libgroff/fontfile.cpp,
2727 src/libs/libgroff/nametoindex.cpp, src/libs/libgroff/paper.cpp,
2728 src/libs/libgroff/geometry.cpp: Some local variable renamings.
2729 * src/libs/libgroff/iftoa.c, src/libs/libgroff/itoa.c: Don't use K&R
2731 Enclose functions with `extern "C"' for C++.
2732 * src/libs/libgroff/quotearg.c (TRUE,FALSE): Define as macros.
2733 (needs_quoting): Return `int'.
2734 (quote_arg): Add proper casts to malloc and realloc.
2735 * src/libs/libgroff/spawnvp.c: Compile code only for MS-DOS and
2736 various MS Windows environments.
2737 (spawnvp_wrapper): Add proper cast to malloc.
2739 * src/preproc/eqn/box.h: Remove redundant declarations of
2740 `make_script_box', `make_mark_box' and `make_lineup_box'.
2741 * src/preproc/eqn/eqn.y: Remove redundant declaration of `strsave'.
2742 * src/preproc/eqn/script.cpp, src/preproc/eqn/pile.cpp: Some local
2745 * src/preproc/grn/hpoint.cpp: Some local variable renamings.
2746 * src/preproc/grn/hgraph.cpp: Some local variable renamings.
2747 (dx, dy): Renamed functions to...
2748 (deltax, deltay): This.
2749 * src/preproc/grn/main.cpp: Some local variable renamings.
2750 (deffont): Add `const'.
2751 (initpic, conv): Use cast for string constant.
2753 * src/preproc/html/pre-html.cpp: Some local variable renamings.
2754 (makeFileName, alterDeviceTo, addZ): Use cast for string constant.
2755 (char_buffer::run_output_filter): Second argument is unused.
2756 * src/preproc/html/pushback.cpp: Some local variable renamings.
2758 * src/preproc/pic/pic.y: Remove redundant declaration of `do_copy'.
2759 * src/preproc/pic/object.cpp: Some local variable renamings.
2761 * src/preproc/refer/label.y (lookup_label): Remove redundant
2762 declaration of local variable.
2764 * src/preproc/soelim.cpp: Remove redundant declaration of
2765 `interpret_lf_args'.
2767 * src/preproc/tbl/main.cpp: Some local variable renamings.
2769 * src/roff/groff/groff.cpp (main): Use cast for string constant.
2770 * src/roff/groff/pipeline.c: Enclose declarations of `error',
2771 `c_fatal', and `i_to_a' with `extern "C"' for C++.
2772 Don't use C++-style comments.
2774 * src/roff/troff/env.h: Remove redundant declaration of `title'.
2775 * src/roff/troff/node.h, src/roff/troff/env.cpp,
2776 src/roff/troff/div.cpp, src/roff/troff/node.cpp: Some local variable
2778 * src/roff/troff/div.h: Remove redundant declaration of
2780 * src/roff/troff/troff.h: Remove redundant declaration of
2782 * src/roff/troff/input.cpp: Remove redundant declaration of
2783 `handle_first_page_transition' and `process_input_stack'.
2785 * src/utils/hpftodit.cpp: Some local variable renamings.
2787 * src/utils/indxbib/signal.c: Enclose functions with `extern "C"'
2789 Don't define RETSIGTYPE.
2790 * src/utils/indxbib/indxbib.cpp: Some local variable renamings.
2792 * src/utils/pfbtops/pfbtops.cpp: Don't use K&R style.
2793 (error): Use `const' in argument.
2794 (main): Remove redundant declaration of `optind'.
2795 Move declaration of `Version_string' to top-level.
2797 * PROBLEMS: Document difficulties compiling signal.c if a C++
2798 compiler is used for C.
2800 2004-04-07 Werner LEMBERG <wl@gnu.org>
2802 * Makefile.sub (DISTCLEANFILES): Add `test-groff'.
2804 2004-04-06 Keith Marshall <keith.d.marshall@ntlworld.com>
2806 Make scripts like nroff.sh and neqn.sh portable across various
2807 (Unix-like) shell implementations from Cygwin, MSYS, etc., which use
2808 non-POSIX path separators. The idea is to extend those scripts to
2809 decide at run-time (of the script) which path separator to use.
2811 * arch/misc/Makefile.sub: New file.
2812 * arch/misc/shdeps.sh: New file, generating OS dependency fixups.
2813 This script handles @GROFF_BIN_PATH_SETUP@, replacing it with
2814 a proper definition of the variable `GROFF_RUNTIME'.
2816 * Makefile.in (SH_DEPS_SED_SCRIPT): New variable.
2817 (MDEFINES): Add SH_DEPS_SED_SCRIPT.
2818 (PROGDEPDIRS): New variable.
2820 (PROGDIRS): Add PROGDEPDIRS.
2822 * src/preproc/eqn/Makefile.sub (neqn): Call SH_DEPS_SED_SCRIPT.
2823 Don't substitute @SEP@ and @BINDIR@.
2824 * src/preproc/eqn/neqn.sh: Use @GROFF_BIN_PATH_SETUP@.
2825 (PATH): Use GROFF_RUNTIME.
2827 * src/roff/nroff/Makefile.sub (nroff): Call SH_DEPS_SED_SCRIPT.
2828 Don't substitute @SEP@ and @BINDIR@.
2829 * src/roff/nroff/nroff.sh: Use @GROFF_BIN_PATH_SETUP@.
2830 (PATH): Use GROFF_RUNTIME.
2832 2004-04-05 Keith Marshall <keith.d.marshall@ntlworld.com>
2834 * src/roff/nroff/nroff.sh: Implement work-around for sh.exe from
2835 Cygwin which doesn't handle stderr correctly.
2837 2004-03-08 Werner LEMBERG <wl@gnu.org>
2839 * Makefile.comm (install_dev, uninstall_dev): Protect `for' loops
2840 against empty argument. Problem reported by <cgd@broadcom.com>.
2842 2004-03-05 Keith Marshall <keith.d.marshall@ntlworld.com>
2844 * Makefile.in (SEP): Replaced with...
2845 (RT_SEP, SH_SEP): Separators for the target platform's native path
2846 separator and the build environment, respectively.
2847 (fontpath, tmacpath): Use RT_SEP.
2848 (MDEFINES): Updated.
2850 * contrib/mom/Makefile.sub (GROFF_BIN_PATH): Use SH_SEP.
2851 * doc/Makefile.sub (GROFF_BIN_PATH): Use SH_SEP.
2852 * src/preproc/eqn/Makefile.sub (neqn): Use SH_SEP.
2853 * src/roff/nroff/Makefile.sub (nroff): Use SH_SEP.
2855 2004-03-05 Werner LEMBERG <wl@gnu.org>
2857 * fonts/devlj4/Makefile.sub (LJ4RES): Set to 1200. This helps to
2858 reduce alignment problems with newer printers which use built-in
2859 TrueType fonts (instead of the older Intellifonts). The ideal
2860 solution is to provide a second set of groff metric files, but this
2861 is extremely time-consuming to produce, given that HP's metric
2862 files are very rudimentary.
2864 2004-03-01 Werner LEMBERG <wl@gnu.org>
2866 * src/devices/grolj4/lj4.cpp (main): Fix argument of getopt_long.
2867 s/operand/argument/ in error message.
2869 2004-03-01 Keith Marshall <keith.d.marshall@ntlworld.com>
2871 * src/roff/groff/groff.cpp (main): Don't allow option -o if -Thtml
2874 2004-03-01 Antti Kantee <pooka@netbsd.org>
2876 * tmac/s.tmac (XE): Fix error message.
2878 2004-02-27 Jeff Conrad <jeff_conrad@msn.com>
2880 * src/include/nonposix.h (write, dup, dup2, close) [_MSC_VER]:
2883 * src/roff/groff/pipeline.c: Declare strcasecmp.
2884 (run_pipeline) [_WIN32]: Use function name variants which don't
2886 Fix stream handling.
2888 2004-02-27 Keith Marshall <keith.d.marshall@ntlworld.com>
2890 * src/include/nonposix.h: Fix declaration of `system_shell_name'.
2891 Declare `spawnvp_wrapper' and macro definitions of spawnvp only
2892 for platforms which use the native Win32 runtime libraries.
2893 (FLUSH_INPUT_PIPE) [_UWIN]: Provide non-empty version.
2895 * src/libs/libgroff/quotearg.c (QUOTE_ARG_MALLOC_ERROR,
2896 QUOTE_ARG_REALLOC_ERROR): Fix string.
2898 * src/preproc/html/pre-html.cpp: Remove declaration of
2900 Don't use __MINGW32__.
2901 s/DEBUG_FILE/DEBUG_FILE_DIR/.
2902 (DEBUG_TEXT, DEBUG_NAME, DEBUG_FILE) [DEBUGGING]: New macros.
2903 (OUTPUT_STREAM, PS_OUTPUT_STREAM, REGION_OUTPUT_STREAM): New macros.
2904 (char_buffer::run_output_filter) [MAY_FORK_CHILD_PROCESS]: Fix
2905 calls to `set_redirection' and `WAIT'.
2906 [MAY_SPAWN_ASYNCHRONOUS_CHILD]: Remove unused variable `i' and `j'.
2907 Fix calls to `set_redirection' and `save_and_redirect'.
2908 (char_buffer::do_html, char_buffer::do_image) [DEBUGGING]: Fix calls
2909 to `set_redirection' and `save_and_redirect'.
2910 (usage): Fix message.
2911 (makeTempFiles, main): Use `DEBUG_FILE'.
2913 2004-02-21 Werner LEMBERG <wl@gnu.org>
2915 * src/roff/troff/troff.h (WARN_TOTAL): Fix value.
2917 2004-02-21 Keith Marshall <keith.d.marshall@ntlworld.com>
2919 * src/libs/libgroff/quotearg.c: New file, providing proper argument
2920 quoting for MSVC's spawn* and exec* functions.
2921 * src/libs/libgroff/spawnvp.c: New file, providing a wrapper around
2922 spawnvp with proper quoting for MSVC.
2924 * src/libs/libgroff/assert.cpp (program_name),
2925 src/libs/libgroff/new.cpp (program_name): Declare as `extern "C"'.
2926 * src/libs/libgroff/Makefile.sub (OBJS, CSRCS): Updated.
2928 * src/roff/troff/input.cpp (program_name): Declare as `extern "C"'.
2930 * src/include/error.h (program_name): Declare as `extern "C"'.
2931 * src/include/nonposix.h [__MSDOS__ ...]: Handle spawnvp.
2933 2004-02-21 Jeff Conrad <jeff_conrad@msn.com>
2935 * src/preproc/html/pre-html.cpp [__CYGWIN__ ...]: Declare
2937 [MAY_SPAWN_ASYNCHRONOUS_CHILD]: Declare i and j.
2939 2004-02-20 Jeff Conrad <jeff_conrad@msn.com>
2941 * src/roff/groff/pipeline.c (cmd) [__MSDOS__ || ...]: New global
2943 (sbasename) [__MSDOS__ || ...]: New function.
2944 (system_shell_name) [__MSDOS__ || ...]: Use a different, more
2946 (system_shell_dash_c, is_system_shell) [__MSDOS__ || ...]: Updated.
2947 (run_pipeline) [_WIN32]: Use _XXX variants for some macros instead
2949 Use STDOUT_FILENO instead of hardcoded file handle.
2950 (signal_catcher) [__MSDOS__]: Moved to non-_WIN32 section.
2952 2004-02-19 Werner LEMBERG <wl@gnu.org>
2954 * src/roff/troff/div.cpp: Include nonposix.h after troff.h to
2955 avoid warnings w.r.t. redefinition of P_tmpdir for some compilers.
2957 2004-02-18 Werner LEMBERG <wl@gnu.org>
2959 * font/devlj4/Makefile.sub (DEVFILES): Updated to contain all
2960 new font and mapping files.
2962 2004-02-18 Jeff Conrad <jeff_conrad@msn.com>
2963 Keith Marshall <keith.d.marshall@ntlworld.com>
2965 * src/include/nonposix.h (FLUSH_INPUT_PIPE): New macro to empty
2966 an input pipe. This is needed for the MSVC compiler to make troff's
2969 * src/roff/troff/div.cpp: Include nonposix.h.
2970 (cleanup_and_exit): Call FLUSH_INPUT_PIPE.
2972 2004-02-17 Werner LEMBERG <wl@gnu.org>
2974 * font/devlj4/generate/special.awk: New script.
2975 * font/devlj4/generate/Makefile (S): Use special.awk.
2976 * font/devlj4/*: Regenerated, including the following new files:
2977 Arial (AR, AB, AI, ABI), Times New Roman (TNRR, TNRB, TNRI, TNRBI),
2978 MS Symbol (SYMBOL), Wingdings (WINGDINGS).
2979 * NEWS: Document new lj4 fonts and revised hpftodit.
2981 2004-02-17 Paco Andrés Verdú <pandres@dragonet.es>
2983 * src/devices/grolbp/lbp.h (vmdvarc): Fix formatting string.
2985 2004-01-25 Werner LEMBERG <wl@gnu.org>
2987 * src/libs/libgroff/progname.cpp: Replaced with...
2988 * src/libs/libgroff/progname.c: New file.
2989 * src/libs/libgroff/Makefile.sub: Updated accordingly.
2991 2004-01-17 Werner LEMBERG <wl@gnu.org>
2993 * font/devlj4/generate/Makefile (SYMBOL): Use 9nb28703.tfm.
2995 2004-01-16 Jeff Conrad <jeff_conrad@msn.com>
2997 * font/devlj4/generate/wingdings.map,
2998 font/devlj4/generate/symbol.map: Include unnamed glyphs.
2999 Use groff glyph names where possible.
3000 * src/devices/grolj4/lj4_font.man: Minor updates.
3002 2004-01-13 Werner LEMBERG <wl@gnu.org>
3004 * tmac/www.tmac (DC): Handle TTY devices.
3006 * doc/webpage.ms: Document viewCVS from ffii.org.
3007 * NEWS, README: Updated.
3009 * src/roff/groff/groff.man: Mention lj4_font man page.
3011 * font/devlj4/generate/Makefile (SYMBOLMAP, WINGDINGSMAP): New
3013 (FONTS): Add SYMBOL and WINGDINGS.
3014 (SYMBOL, WINGDINGS): New targets.
3016 2004-01-13 Jeff Conrad <jeff_conrad@msn.com>
3018 * src/devices/grolj4/lj4_font.man: New man page.
3019 * src/devices/grolj4/Makefile.sub (MAN5): New variable.
3020 * src/devices/grolj4.man: Mention lj4_font man page.
3022 * src/utils/hpftodit/hpftodit.cpp (read_map): Handle line comments.
3023 * src/utils/hpftodit/hpftodit.man: Document it.
3025 Remove details about fonts (which are now in lj4_font.man).
3027 * font/devlj4/generate/symbol.map,
3028 font/devlj4/generate/wingdings.map: New files.
3030 2004-01-12 Werner LEMBERG <wl@gnu.org>
3032 * README: Mention ffii's viewcvs access.
3034 2004-01-09 Werner LEMBERG <wl@gnu.org>
3036 * font/devlj4/generate/special.map: Map MSL 228 to U+221F.
3038 2004-01-09 Jeff Conrad <jeff_conrad@msn.com>
3040 Revert most of the change from 2004-01-03 to better control used
3043 * src/utils/hpftodit/hpftodit.cpp (symbol_set): New structure.
3044 (text_symbol_sets, special_symbol_sets): New arrays.
3045 (symbol_set_table): New global variable.
3046 (read_symbol_sets): Use search order given in the text_symbol_sets
3047 and special_symbol_sets arrays. If command line flag -a is not
3048 given, search both arrays.
3049 (output_charset): Require x_height_tag only for command line flag -i.
3051 2004-01-06 Werner LEMBERG <wl@gnu.org>
3053 Implement string-valued registers \n[.m] and \n[.M] to return the
3054 name of the current drawing and background color, respectively.
3056 * src/roff/troff/symbol.h: Moved to...
3057 * src/include/symbol.h: Here.
3058 Small fixes to make it work outside of the `troff' directory.
3059 * src/roff/troff/symbol.cpp: Moved to...
3060 * src/libs/libgroff/symbol.cpp: Here.
3061 Small fixes to make it work outside of the `troff' directory.
3063 * src/include/Makefile.sub (HDRS), src/libs/libgroff/Makefile.sub
3064 (OBJS, CCSRCS), src/roff/troff/Makefile.sub (OBJS, CCSRCS, HDRS):
3067 * src/include/color.h: Include symbol.h.
3068 (color): Add new field `nm'.
3069 * src/libs/libgroff/color.cpp (color::color): Updated.
3071 * src/roff/troff/dictionary.cpp, src/roff/troff/div.cpp,
3072 src/roff/troff/node.cpp, src/roff/troff/number.cpp,
3073 src/roff/troff/reg.cpp: Don't include symbol.h.
3075 * src/roff/troff/env.cpp: Don't include symbol.h.
3076 (environment::get_glyph_color_string,
3077 environment_get_fill_color_string): New member functions.
3078 (init_env_requests): Handle `.m' and `.M' registers.
3079 * src/roff/troff/input.cpp: Don't include symbol.h.
3080 (default_symbol): Moved to symbol.cpp/symbol.h.
3081 (do_glyph_color, do_fill_color, define_color): Pass symbol name
3082 to color constructor.
3083 * src/roff/troff/env.h: Updated.
3085 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
3086 Document new registers.
3088 2004-01-05 Werner LEMBERG <wl@gnu.org>
3090 * src/roff/troff/node.cpp (space_node::get_breakpoints,
3091 space_node::nbreaks): Protect against zero `next' field.
3093 2004-01-03 Jeff Conrad <jeff_conrad@msn.com>
3095 In hpftodit, use the symbol sets offered in the TFM.
3097 * src/utils/hpftodit/hpftodit.cpp (NO_GLYPH): New constant.
3098 (symbol_set, text_symbol_sets, special_symbol_sets,
3099 symbol_set_table): Removed.
3100 (get_printcode): Removed.
3101 (read_symbol_sets): Initialize `symbol_set' field with
3103 Simplify code to just use the `kind' value.
3104 (output_charset): Improve output formatting.
3105 (dump_symbols): Simplified.
3107 2004-01-02 Werner LEMBERG <wl@gnu.org>
3109 * font/devlj4/generate/text.map: Add more MSL numbers.
3111 2004-01-02 Jeff Conrad <jeff_conrad@msn.com>
3113 * src/utils/hpftodit/hpftodit.cpp (is_decomposed): New macro.
3114 (text_symbol_sets): Add more symbol sets.
3115 (debug_flag): New static variable (moved from `main').
3116 (get_printcode, show_symset): New functions.
3117 (main): Remove `debug_flag'.
3118 (output_charset): Use `show_symset'.
3119 (dump_symbols): Use `show_symset'.
3120 Print symsets for all glyphs.
3121 (read_map): Actually call `unicode_to_ucode_make' but this time
3124 2004-01-01 Werner LEMBERG <wl@gnu.org>
3126 * font/devlj4/generate/text.map, font/devlj4/generate/special.map:
3127 Fix placement of comments.
3129 2004-01-01 Jeff Conrad <jeff_conrad@msn.com>
3131 * src/utils/hpftodit/hpftodit.cpp (main): Read map file also if
3132 option `-d' is given.
3133 (output_charset): Improve warning messages to give more information.
3134 (dump_symbols): Make information more precise.
3136 (read_map): Don't call unicode_to_ucode_name; the glyph names must
3137 appear as-is and shouldn't be decomposed.
3139 2003-12-31 Werner LEMBERG <wl@gnu.org>
3141 * src/utils/hpftodit/hpftodit.cpp (dump_tags): Handle posture_tag.
3142 * font/devlj4/generate/Makefile (IFLAG): Updated to new units.
3143 (FONTS): Add TrueType font families Arial and Times New Roman.
3144 (TNRR, TNRB, TNRI, TNRBI, AR, AB, AI, ABI): New targets.
3145 * font/devlj4/generate/text.map: Fix Unicode values of `fi' and
3148 2003-12-31 Jeff Conrad <jeff_conrad@msn.com>
3150 * test-groff.in (SEP): Quote value.
3151 * src/roff/troff/node.cpp (suppress_node::tprint): Change type of
3152 `tem' to `char*' to avoid deallocation of a pointer to a constant
3153 object which some compilers don't like.
3155 2003-12-31 Werner LEMBERG <wl@gnu.org>
3157 * font/devlj4/generate (text.map, special.map): Rewritten to work
3158 with the new hpftodit version.
3160 2003-12-30 Jeff Conrad <jeff_conrad@msn.com>
3162 * src/utils/hpftodit/hpftodit.cpp (output_charset): Emit HP symbol
3163 set and 8bit character code for all glyphs also.
3165 2003-12-30 Werner LEMBERG <wl@gnu.org>
3167 * src/libs/libgroff/strcasecmp.c: Updated from gnulib.
3169 2003-12-29 Werner LEMBERG <wl@gnu.org>
3171 More fixes for MSVC compiler.
3173 * doc/Makefile.sub, contrib/mom/Makefile.sub (GROFF_BIN_PATH): Use
3176 * src/include/nonposix.h (STDIN_FILENO, STDOUT_FILENO,
3177 STDERR_FILENO) [_MSC_VER]: Define conditionally.
3178 (getpid) [_MSC_VER]: Remove.
3179 Include direct.h and process.h conditionally.
3181 * src/roff/troff/node.cpp (suppress_node::tprint): Don't use
3182 parentheses for a_delete.
3184 * src/utils/lookbib/lookbib.cpp: Include nonposix.h.
3186 * test-groff: Replaced with...
3187 * test-groff.in: This new template to handle path separator
3190 * configure.ac: Check for direct.h and process.h.
3191 Generate test-groff script.
3192 * configure, src/include/config.hin: Regenerated.
3194 2003-12-28 Werner LEMBERG <wl@gnu.org>
3196 Add integral extension glyph.
3197 Add new option `-x' to afmtodit to suppress use of built-in AGL.
3199 * font/devhtml/R.proto, font/devutf8/R.proto: Add `u23AE'.
3201 * font/devps/generate/textmap: Provide entry for `integralex' to
3202 override (old) PUA value of the AGL.
3203 * font/devps/generate/Makefile (SS): Add afmtodit option `-x'.
3204 * font/devps/*: Regenerated.
3206 * src/utils/afmtodit/afmtodit.pl: Add option `-x'.
3207 * src/utils/afmtodit/afmtodit.man, NEWS: Updated.
3209 2003-12-27 Werner LEMBERG <wl@gnu.org>
3211 Add forgotten `coproduct' symbol (already available for DVI).
3213 * font/devhtml/R.proto, font/devps/generate/textmap,
3214 font/devps/symbolmap, font/devutf8/R.proto, man/groff_char.man,
3215 src/libs/libgroff/uniglyph.cc, src/libs/libgroff/glyphuni.cpp: Add
3216 U+2210 (\[coproduct]).
3218 2003-12-26 Jeff Conrad <jeff_conrad@msn.com>
3220 hpftodit has been extended to handle TrueType metric files and
3221 more glyphs. See hpftodit.man for more details.
3223 * src/utils/hpftodit/hpftodit.cpp: Include stdio.h, string.h,
3224 ctype.h, and unicode.h.
3225 s/msl/charcode/ everywhere since we now handle Unicode values also.
3226 (equal, NO, YES, MSL, SYMSET, UNICODE, UNICODE): New macros.
3227 Use it where appropriate.
3228 (MULTIPLIER): Replaced with...
3229 (multiplier): New global static variable.
3231 (tag_type): Add more TFM tags.
3232 (tag_name): New array.
3233 (ENUM_TYPE, FLOAT_TYPE): Removed.
3234 (BYTE_TYPE): New value assigned.
3235 (ASCII_TYPE, RATIONAL_TYPE): New enumeration values.
3236 (text_symbol_sets, special_symbol_sets): Extended to cover more
3238 (check_type): Add return value.
3239 (check_units): Add parameters to get ppi and upem values.
3240 Handle TrueType TFM data.
3241 (output_font_name): New function.
3242 (output_charset): Add parameter to handle TFM type.
3243 Handle TrueType TFMs also.
3244 (em_fract): New macro.
3245 (dump_tags): Be much more verbose and handle more tags.
3246 (dump_ascii, dump_symbol_sets, dump_symbols): New functions.
3247 (hp_msl_to_ucode_name, unicode_to_ucode_name, is_uname): New
3249 (read_map): Add parameter to handle TFM type.
3250 Handle both MSL and Unicode mappings.
3251 (main): Add two new command line options `-a' and `-q'.
3252 Updated to make use of new functions.
3255 * src/utils/hpftodit/hpuni.cpp: New file.
3257 * src/utils/hpftodit/Makefile.sub, src/utils/hpftodit/hpftodit.man:
3260 2003-12-25 Werner LEMBERG <wl@gnu.org>
3262 * src/include/nonposix.h (read) [_MSC_VER]: Define.
3264 2003-12-24 Werner LEMBERG <wl@gnu.org>
3266 * src/utils/afmtodit/afmtodit.man: Some reformulations as suggested
3267 by Michail Vidiassov <master@iaas.msu.ru>.
3269 2003-12-20 Werner LEMBERG <wl@gnu.org>
3271 * font/devhtml/R.proto: Add u00{47,67}_0306, u00{53,73}_0327,
3273 Add missing latin-2 glyphs.
3274 * font/devutf8/R.proto: Add missing latin-2 glyphs.
3276 * tmac/troffrc: Load `composite.tmac' earlier.
3278 * tmac/dvi.tmac, tmac/ps.tmac, tmac/lbp.tmac: Add u00{47,67}_0306,
3279 u00{53,73}_0327, and u0049_0307.
3280 * tmac/X.tmac: Add u00{47,67}_0306.
3281 * tmac/tty-char.tmac: Use composite glyph names for readability.
3285 * src/include/unicode.h: Remove `extern' keywords.
3287 2003-12-20 Nilgün Belma Bugüner <nilgun@superonline.com>
3289 * tmac/latin5.tmac: New file.
3291 2003-12-19 Werner LEMBERG <wl@gnu.org>
3293 Add some glyphs needed for Turkish.
3295 * font/devutf8/R.proto: Add u00{47,67}_0306, u00{53,73}_0327,
3298 * tmac/composite.tmac: Add `,' as a synonym for `ac' accent.
3299 * tmac/tty-char.tmac: Add representations for u00{47,67}_0306,
3300 u00{53,73}_0327, and u0049_0307.
3302 2003-12-18 Werner LEMBERG <wl@gnu.org>
3304 * src/devices/grops/ps.cc (ps_output::put_float): Revert change
3306 Remove trailing zeros.
3308 2003-12-17 Werner LEMBERG <wl@gnu.org>
3310 Make \? transparent to end-of-sentence recognition.
3312 * src/roff/troff/input.cc (non_interpreted_node): Add
3313 `ends_sentence' member function.
3315 2003-12-16 Werner LEMBERG <wl@gnu.org>
3317 * doc/groff.texinfo: Document `dt' request correctly.
3318 Other minor typographical improvements.
3320 2003-12-10 Michail Vidiassov <master@iaas.msu.ru>
3322 * src/utils/afmtodit/Makefile.sub (afmtodit): Fix typo.
3324 2003-12-10 Richard Stallman <rms@gnu.org>
3326 * LICENSE: Better wording.
3328 2003-12-09 Werner LEMBERG <wl@gnu.org>
3330 * aclocal.m4 (GROFF_BROKEN_SPOOLER_FLAGS): Set default value to 0.
3331 * configure, NEWS: Updated.
3333 2003-12-08 Werner LEMBERG <wl@gnu.org>
3335 * FDL: Updated to version 1.2 (from www.gnu.org/copyleft).
3337 2003-12-07 Bernd Warken <bwarken@mayn.de>
3341 2003-12-07 Werner LEMBERG <wl@gnu.org>
3343 * INSTALL: Improved.
3345 2003-12-05 Keith Marshall <keith.d.marshall@ntlworld.com>
3347 Use path separator character of target platform for compiled-in
3350 * aclocal.m4 (GROFF_TARGET_PATH_SEPARATOR): New macro.
3351 * configure.ac: Use GROFF_TARGET_PATH_SEPARATOR.
3352 * configure: Regenerated.
3353 * Makefile.in (SEP): Use GROFF_PATH_SEPARATOR.
3355 2003-12-05 Werner LEMBERG <wl@gnu.org>
3357 * src/include/nonposix.h (PATH_SEP_CHAR): New definition.
3358 Replace `PATH_SEP[0]' with `PATH_SEP_CHAR' everywhere.
3360 2003-12-04 Bernd Warken <bwarken@mayn.de>
3362 * LICENSE: New file.
3364 2003-12-03 Werner LEMBERG <wl@gnu.org>
3366 * src/utils/afmtodit/afmtodit.pl: Comment out code which handles
3367 ligatures present in AFM files since groff currently only
3368 understands some standard ligatures and nothing else.
3370 2003-12-03 Jeff Conrad <jeff_conrad@msn.com>
3372 * src/roff/groff/groff.cpp (main): Don't run the spooler if
3375 * src/roff/groff/pipeline.c (run_pipeline) [_WIN32]: Fix error
3378 Don't use Unix wait flags.
3380 2003-12-02 Werner LEMBERG <wl@gnu.org>
3382 * src/roff/troff/glyphuni.cpp, src/roff/troff/unicode.cpp,
3383 src/roff/troff/unicode.h, src/roff/troff/uniglyph.cpp,
3384 src/roff/troff/uniuni.cpp: Moved to...
3385 * src/libs/libgroff/glyphuni.cpp, src/libs/libgroff/unicode.cpp,
3386 src/libs/libgroff/unicode.h, src/libs/libgroff/uniglyph.cpp,
3387 src/libs/libgroff/uniuni.cpp: Here.
3389 * src/include/Makefile.sub.old (HDRS),
3390 src/libs/libgroff/Makefile.sub (OBJS, CCSRCS),
3391 src/roff/troff/Makefile.sub (HDRS, PBJS, CCSRCS): Updated.
3393 2003-12-01 Keith Marshall <keith.d.marshall@ntlworld.com>
3395 * src/preproc/htlp/pre-html.cpp (__tmpfile): Renamed to
3399 2003-12-01 Werner LEMBERG <wl@gnu.org>
3401 * groff.texinfo: Document special behaviour of `.vs 0'.
3402 Improve documentation of `cflags' request.
3405 2003-11-29 Werner LEMBERG <wl@gnu.org>
3407 * font/devlj4/generate/Makefile (CORONET): Use correct TFM.
3408 * font/devlj4/CORONET: Regenerated.
3410 2003-11-24 Werner LEMBERG <wl@gnu.org>
3412 * src/roff/troff/env.cpp (hyphen_trie::read_patterns_file): Fix loop
3413 if processing hyphenation patterns in traditional mode.
3414 Improve error messages.
3416 2003-11-20 Werner LEMBERG <wl@gnu.org>
3418 * src/roff/troff/node.cpp (troff_output_file::put_char_width,
3419 troff_output_file::put_char): Fix type of local variable `c'.
3421 2003-11-19 Werner LEMBERG <wl@gnu.org>
3423 * src/roff/groff/pipeline.c (P): Removed. Updated all function
3425 (i_to_a): Removed. libgroff already provides this function.
3426 (run_pipeline) [_WIN32]: Don't use itoa but i_to_a.
3428 2003-11-18 Keith Marshall <keith.d.marshall@ntlworld.com>
3430 * src/roff/groff/pipeline.c (xstrsignal): Fix usage of
3433 2003-11-17 Werner LEMBERG <wl@gnu.org>
3435 * COPYING: Use correct version.
3437 2003-11-11 Werner LEMBERG <wl@gnu.org>
3439 LynxOS 4.0.0 doesn't declare vfprintf.
3441 * configure.ac: Check for vfprintf.
3442 * configure: Regenerated.
3443 * src/include/lib.h: Handle `NEED_DECLARATION_VFPRINTF'.
3444 * src/include/config.hin: Regenerated.
3446 2003-11-10 Werner LEMBERG <wl@gnu.org>
3448 LynxOS 4.0.0 has snprintf (without declaration) but no vsnprintf.
3450 * configure.ac: Check for vsnprintf.
3451 * configure: Regenerated.
3452 * src/include/lib.h: Handle `NEED_DECLARATION_VSNPRINTF' and
3454 * src/include/config.hin: Regenerated.
3456 2003-11-09 Werner LEMBERG <wl@gnu.org>
3458 * aclocal.m4: Updated syntax to autoconf 2.59.
3459 (GROFF_HTML_PROGRAMS): Use AC_FOREACH.
3460 Don't check for gsos2.
3461 (GROFF_SRCDIR, GROFF_BUILDDIR): Removed. autoconf 2.59 provides
3462 working abs_top_srcdir and abs_top_builddir.
3464 * configure.ac: Updated syntax to autoconf 2.59.
3465 Don't call GROFF_SRCDIR and GROFF_BUILDDIR.
3466 Replace call to AC_DECL_SYS_SIGLIST with call to AC_CHECK_DECLS.
3467 * configure: Regenerated.
3469 * Makefile.in, doc/Makefile.in: s/@top_srcdir@/@abs_top_srcdir@/,
3470 s/@groff_top_builddir@/@abs_top_builddir@/.
3472 * src/roff/groff/pipeline.c (xstrsignal):
3473 s/SYS_SIGLIST_DECLARED/HAVE_DECL_SYS_SIGLIST/.
3475 2003-11-07 Werner LEMBERG <wl@gnu.org>
3477 * src/devices/grodvi/dvi.cpp (draw_dvi_printer::draw) ['a']: Always
3478 make start angle smaller than end angle to circumvent a bug in tpic
3479 handling of some versions of dvipdfm (and dvipdfmx).
3481 2003-10-30 Werner LEMBERG <wl@gnu.org>
3483 * src/devices/grops/grops.man: Improve section on creating EPS.
3485 2003-10-29 Werner LEMBERG <wl@gnu.org>
3487 * contrib/pic2graph/pic2graph.sh: Fix typo (-P-letter ->
3490 2003-10-28 Werner LEMBERG <wl@gnu.org>
3492 * doc/groff.texinfo: Fix documentation of `.if'.
3494 2003-10-27 Michail Vidiassov <master@iaas.msu.ru>
3496 * src/utils/afmtodit/afmtodit.pl: Handle unmapped characters of
3497 the form `uniXXXX' also.
3499 2003-10-27 Werner LEMBERG <wl@gnu.org>
3501 * contrib/eqn2graph/eqn2graph.sh, contrib/grap2graph/grap2graph.sh,
3502 contrib/pic2graph/pic2graph.sh: Implement secure management of
3504 Pass `-P-pletter' to groff to avoid data outside of the converted
3505 area -- some versions of `convert' (for example 5.3.8) don't check
3506 the bounding box of the image but always use a fixed image size
3507 (letter paper format).
3508 * contrib/eqn2graph/eqn2graph.man, contrib/grap2graph/grap2graph.man,
3509 contrib/pic2graph/pic2graph.man: Updated.
3511 * src/roff/groff/groff.man: Document $TMP and $TEMP.
3513 2003-10-26 Werner LEMBERG <wl@gnu.org>
3515 * src/preproc/pic/troff.cpp (troff_output::simple_circle,
3516 troff_output::simple_ellipse, troff_output::simple_arc,
3517 troff_output::simple_line, troff_output::simple_spline,
3518 troff_output::simple_polygon): Insert a space before arguments.
3519 (troff_output::set_fill): Emit `\&' before `\D'Fg...' since the
3520 latter doesn't produce a node, so the following `.sp -1' would do
3522 Don't emit `.sp -1' after \M. This also doesn't produce a token
3523 (and we don't have to care about compatibility mode).
3524 (troff_output::set_color, troff_output::reset_color): Don't emit
3525 `.sp -1' after \M and \m.
3527 * src/roff/troff/input.cpp (old_have_input): New global variable.
3528 (input_stack::get): Handle `old_have_input'.
3529 (process_input_stack) <token::TOKEN_NEWLINE>: Call
3530 `trapping_blank_line' depending on `old_have_input', not
3533 2003-10-20 Keith Marshall <keith.d.marshall@ntlworld.com>
3535 * src/libs/libgroff/tmpfile.cpp [__MSDOS__, _Win32]
3536 (WIN32_TMPDIR_ENVVAR, MSDOS_TMPDIR_ENVVAR): New macros, providing
3537 default directory names for temporary files.
3538 [__MSDOS__, _Win32] (temp_init::temp_init): Use them.
3540 * src/roff/groff/pipeline.c [__MSDOS__]: Include stdlib.h.
3541 [__MSDOS__] (run_pipeline): Honour environment variables.
3542 Don't use `tmpnam' but `tempnam' to work around messy
3545 * README.MinGW: New file.
3547 2003-10-16 Werner LEMBERG <wl@gnu.org>
3549 * src/preproc/html/pre-html.cpp (write_upto_newline): Don't use
3550 `(*t)->next' without testing validity of `*t'.
3551 (usage): Make it more readable.
3553 2003-10-16 Keith Marshall <keith.d.marshall@ntlworld.com>
3555 Make html device run under both MS-DOS and Win32.
3557 * src/preproc/html/pre-html.cpp (MAY_FORK_CHILD_PROCESS,
3558 MAY_SPAWN_ASYNCHRONOUS_CHILD): New macros to control whether
3559 spawn or fork+exec has to be used, and whether parent must sleep
3560 until the child process terminates. Used in
3561 `char_buffer::run_output_filter'.
3562 (copyofstdoutfd): Removed.
3563 (char_buffer): Replace `write_file_html' and `write_file_troff'
3564 member functions with `emit_troff_output' and `run_output_filter'.
3565 (DEVICE_FORMAT, HTML_OUTPUT_FILTER, IMAGE_OUTPUT_FILTER): New
3567 (replaceFd): Replaced with...
3568 (set_redirection): New auxiliary function.
3569 (waitForChild): Replaced with...
3570 (save_and_redirect): New auxiliary function for.
3572 (char_buffer::do_html, char_buffer::do_image): Simplified, using new
3575 2003-10-14 Keith Marshall <keith.d.marshall@ntlworld.com>
3577 * aclocal.m4 (GROFF_SYS_NERR): Check stdlib.h also.
3578 (GROFF_LIBC): New function.
3579 * configure.ac: Call GROFF_LIBC.
3581 * configure: Regenerated.
3583 * src/include/lib.h: Handle __MINGW32__.
3584 * src/include/nonposix.h [_MSC_VER]: Handle __MINGW32__.
3585 Add macro for `pipe'.
3588 * src/roff/groff/pipeline.c (run_pipeline): Handle `no_pipe'
3591 * src/utils/indxbib/signal.c (handle_fatal_signal) [!HAVE_KILL]:
3594 2003-10-13 Werner LEMBERG <wl@gnu.org>
3596 Finally fix change 2003-08-26, based on ideas from Chuck Silvers
3599 * contrib/mom/Makefile.sub: Use a stamp file in the `examples'
3602 2003-10-12 Werner LEMBERG <wl@gnu.org>
3604 * src/roff/groff/groff.cpp (help), src/devices/grops/ps.cpp (usage),
3605 src/roff/troff/input.cc (usage): Updated.
3607 * NEWS, doc/groff.texinfo: Updated.
3609 2003-10-12 Peter Miller <millerp@canb.auug.org.au>
3611 * src/libs/libgroff/searchpath.cpp
3612 (search_path::open_file_cautious): New function which also handles
3613 `-' as stdin and stdout depending on the access mode.
3614 * src/include/searchpath.h (search_path): Updated.
3616 * src/devices/grops/ps.cpp (main): Handle new `-I' switch.
3617 * src/devices/grops/ps.h: Include `searchpath.h'.
3618 * src/devices/grops/psrm.cpp (resource_manager::supply_resource):
3619 Open resource file with `include_search_path.open_file_cautious'.
3620 * src/devices/grops/grops.man: Document new `-I' switch.
3622 * src/devices/grodvi/dvi.cpp (main), src/devices/grolbp/lbp.cpp
3623 (main), src/devices/grolj4/lj4.cpp (main),
3624 src/devices/grotty/tty.cpp (main): Ignore new `-I' switch.
3626 * src/preproc/soelim/soelim.cpp (include_list_length, include_list):
3628 (include_search_path): New global variable.
3629 (include_path_append): Removed.
3630 (main): Use `include_search_path.command_line_dir' to handle `-I'.
3631 (do_file): Simplify, using new
3632 `include_search_path.open_file_cautious'.
3634 * src/roff/groff/groff.cpp (print_commands): Accept file handle as
3636 (main): Pass arguments to `-I' to both troff and devices.
3637 Improve handling of `-V'.
3638 * src/roff/groff/groff.man: Document changes to -I and -V.
3640 * src/roff/troff/input.cpp (include_search_path): New global
3642 (next_file, source, ps_bbox_request, transparent_file,
3643 process_input_file): Use new
3644 `include_search_path.open_file_cautious'.
3645 (main) Handle `-I' switch.
3646 * src/roff/troff/node.cpp (troff_output_file::really_copy_file):
3647 Use new `include_search_path.open_file_cautious'.
3648 * src/roff/troff/node.h: New extern symbol `include_search_path'.
3649 * src/roff/troff/troff.man: Document new `-I' switch.
3651 2003-09-15 Ruslan Ermilov <ru@FreeBSD.org>
3653 Support multiple calls of .Lb in LIBRARY section.
3655 * tmac/doc-common (doc-in-library-section): New register.
3656 (doc-section-library): New string.
3657 (Sh): Set `doc-in-library-section'.
3659 * tmac/doc-syms (Lb): Insert breaks before and after arguments
3660 if in LIBRARY section.
3661 * tmac/doc.tmac (doc-save-global-vars): Updated.
3662 * NEWS, tmac/groff_mdoc.man: Updated.
3664 2003-09-14 Ruslan Ermilov <ru@FreeBSD.org>
3666 * tmac/doc-common (doc-default-operating-system): New variable.
3669 2003-09-08 Werner LEMBERG <wl@gnu.org>
3671 * tmac/doc.tmac (doc-reset-reference): Handle data for `%I' also.
3673 2003-08-31 Werner LEMBERG <wl@gnu.org>
3675 * contrib/mom/Makefile.sub: Fix last change to make it really work.
3676 * Makefile.comm: Use `test ... ||' in favor of `if test ...; then'.
3677 (install_dev, uninstall_dev): Check whether $(DEVSCRIPTS) and
3678 $(DEVFILES) are not empty.
3679 * Makefile.in: Use `test ... ||' in favor of `if test ...; then'.
3681 2003-08-26 Chuck Silvers <chuq@chuq.com>
3683 * contrib/mom/Makefile.sub (prepare_make_examples): Make it work
3684 with parallel runs of `make'.
3686 2003-08-23 Stephen Gildea <http://www.gildea.com/stephen>
3688 * src/preproc/ref/ref.cpp (reference::compute_sort_key): Always
3689 insert SORT_SEP. With certain combinations of sort specifications,
3690 refer sorted entries in the wrong order. In particular, entries
3691 with a missing field should be be sorted before all entries that
3692 have that field, before refer looks to the next field.
3694 2003-08-23 Werner LEMBERG <wl@gnu.org>
3696 * src/utils/pfbtops/Makefile.sub (LINK.c): Define it so that the
3697 g++ linker is used. Reported by Mark J. Reed
3698 <mark.reed@turner.com>.
3700 2003-08-16 Heinz-Jürgen Oertel <hj.oertel@surfeu.de>
3702 Add key character `x' to tbl which makes tbl call a user-defined
3703 macro on a table cell.
3705 * src/preproc/tbl/table.h (entry_modifier): Add `macro'.
3706 * src/preproc/tbl/table.cpp (block_entry::do_divert): Call
3707 `set_modifier' after printing the compatibility request.
3708 (set_modifier): Print call to `m->macro' if not empty.
3709 * src/preproc/tbl/main.cpp (entry_format::debug_print): Handle
3711 (process_format): Implement cases `x' and `X'.
3712 * src/preproc/tbl/tbl.man, NEWS: Updated.
3714 2003-08-15 Werner LEMBERG <wl@gnu.org>
3716 * doc/groff.texinfo: Minor fixes.
3718 2003-08-09 Werner LEMBERG <wl@gnu.org>
3720 * tmac/an-old.tmac [cR]: Fix redefinition of `bp'.
3722 2003-08-07 Werner LEMBERG <wl@gnu.org>
3724 * doc/Makefile.sub: Not all shells expand wildcards in the `for'
3725 argument list to nothing if there is no file to match. Use `ls' as
3726 a protection, similar to autoconf.
3728 * Makefile.comm (install_dev, uninstall_dev): Protect `for' against
3729 empty argument lists.
3731 * doc/groff.texinfo: Improve documentation how vertical spacing
3732 and line breaks interact.
3735 * tmac/www.tmac: Initialize `www-htmlimage-gap'.
3737 2003-08-03 Werner LEMBERG <wl@gnu.org>
3739 * NEWS, src/devices/grops/grops.man: -b16 is necessary to produce
3740 EPS (using eps2eps or similar programs to compute the bounding box).
3742 2003-07-24 Werner LEMBERG <wl@gnu.org>
3744 * doc/groff.texinfo: Use the new @/ command to avoid overlong lines.
3745 * doc/texinfo.tex: Updated from texinfo 4.6.
3746 * README.CVS: From now on we need texinfo 4.6.
3748 2003-07-23 Werner LEMBERG <wl@gnu.org>
3750 Add requests `dei1' and `ami1' for completeness.
3752 * src/roff/troff/input.cc (calling_mode): Remove
3753 CALLING_DISABLE_COMP.
3754 (comp_mode): New enumeration.
3755 (do_define_string, define_string, define_nocomp_string,
3756 append_string, append_nocomp_string): Updated.
3757 (do_define_macro): Add third parameter.
3758 (define_macro, define_nocomp_macro, define_indirect_macro,
3759 append_macro, append_nocomp_macro, append_indirect_macro): Updated.
3760 (define_indirect_nocomp_macro, append_indirect_nocomp_macro): New
3763 (init_input_requests): Add `dei1' and `ami1'.
3765 * tmac/trace.tmac: Handle de1 and am1.
3766 (de): Improve tracing message.
3767 (am): Add missing `do'.
3770 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
3771 Document new requests.
3773 2003-07-22 Heinz-Jürgen Oertel <hj.oertel@surfeu.de>
3775 Add option -G to .MPIMG to insert a gap between text and the image.
3777 * tmac/www.tmac (www-finish-left-po, www-finish-right-ll,
3778 www-finish-left-ll): Updated.
3779 (www-image-just, www-image-gap, www-htmlimage-gap): New variables.
3780 (MPIMG): Make option -L and -R optional.
3781 Implement option -G.
3783 2003-07-22 Gaius Mulley <gaius@glam.ac.uk>
3785 * src/devices/grohtml/post-html.cpp
3786 (html_printer::do_file_components): Don't use `stdout' as lvalue
3787 since it can be a macro.
3789 2003-07-22 Werner LEMBERG <wl@gnu.org>
3791 * src/libs/libgroff/strerror.c: Include errno.h to be in sync with
3792 the corresponding test in aclocal.m4.
3794 2003-07-21 Werner LEMBERG <wl@gnu.org>
3796 * src/preproc/html/pre-html.cpp (TRANSPARENT): Don't use colour
3797 names but RGB values directly. Otherwise pnmtopng depends on
3798 an external file `rgb.txt' which maps colour names to values.
3800 2003-07-20 Werner LEMBERG <wl@gnu.org>
3802 * aclocal.m4 (GROFF_SYS_ERRLIST): Include stdlib.h for MinGW.
3803 * configure, src/include/config.hin: Regenerated.
3805 * src/libs/libgroff/strerror.c: Include stdlib.h for MinGW.
3807 2003-07-19 Werner LEMBERG <wl@gnu.org>
3809 * PROBLEMS: Add solution for UTF-8 problem with hyphens.
3811 2003-07-18 Werner LEMBERG <wl@gnu.org>
3813 * *.man: Switch to non-compatibility mode temporarily if GNU
3814 syntax extensions are used in the particular man page.
3816 * PROBLEMS: Add solutions for SGR problems.
3818 2003-07-17 Werner LEMBERG <wl@gnu.org>
3820 Don't ignore grotty's command line options if \X'tty: sgr ...' is
3821 used to change the drawing scheme.
3823 * src/devives/grotty/tty.cpp (bold_flag_option,
3824 underline_flag_option, italic_flag_option, reverse_flag_option,
3825 bold_underline_mode_option): New global variables.
3826 (update_options): New function.
3827 (tty_printer::special): Call update_options.
3828 (main): Don't set xxx_flag but xxx_flag_option, then call
3831 2003-07-14 Werner LEMBERG <wl@gnu.org>
3833 Make grotty emit proper Unicode box drawing characters for -Tutf8.
3835 * src/devices/grotty/tty.cpp (START_LINE, END_LINE): New enum
3837 (hline_char, vline_char): New global variables.
3838 (tty_printer::tty_printer): Initialize them.
3839 (tty_printer::draw): Emit START_LINE and END_LINE flags for both
3840 horizontal and vertical lines.
3841 (crossings): New global array.
3842 (tty_printer::end_page): Use it to determine the proper crossing
3843 character for -Tutf8.
3845 2003-07-12 Werner LEMBERG <wl@gnu.org>
3847 * doc/Makefilesub (HTMLDOCFILESALL): New macro.
3848 (HTMLDOCFILES): Revert to `pic.html'.
3849 (CLEANADD, install_html, uninstall_sub): Use HTMLDOCFILESALL.
3851 2003-07-11 Werner LEMBERG <wl@gnu.org>
3853 * doc/pic.ms: Improve documentation of absolute coordinates.
3854 Document absolute positioning of pictures.
3856 * NEWS: Add new pic capability.
3858 2003-07-09 Hartmut Henkel <hartmut_henkel@gmx.de>
3860 * src/libs/libgroff/geometry.cpp (check_output_arc_limits):
3863 2003-07-07 Werner LEMBERG <wl@gnu.org>
3865 Implement support for dashed and dotted ellipses in pic. Based on
3866 a patch from Hartmut Henkel <hartmut_henkel@gmx.de>.
3868 * src/preproc/pic/common.cpp (common_output::ellipse_arc,
3869 common_output::dashed_ellipse, common_output::dotted_ellipse): New
3870 functions. Ellipse arcs are approximated with circle arcs.
3871 * src/preproc/pic/common.h (common_output): Updated.
3872 * src/preproc/pic/tex.cpp (tex_output::ellipse): Use new ellipse
3874 * src/preproc/pic/troff.cpp (simple_output::ellipse): Ditto.
3876 * src/preproc/pic/TODO, src/preproc/pic/pic.man: Updated.
3878 2003-07-06 Werner LEMBERG <wl@gnu.org>
3880 Make grotty work on platforms which have unsigned char as the
3881 default for char. Based on a patch by Thomas Klausner
3884 * src/devices/grotty/tty.cpp (schar): New typedef.
3885 Updated calls to declare_ptable and implement_ptable.
3886 (glyph): Use schar for back_color_idx and fore_color_idx.
3887 (tty_printer): Use schar for curr_fore_idx and curr_back_idx.
3888 (tty_printer::tty_color, tty_printer::tty_printer,
3889 tty_printer::color_to_idx, tty_printer::put_color): Updated.
3891 2003-07-06 Ruslan Ermilov <ru@FreeBSD.org>
3893 * src/roff/nroff/nroff.sh: Add option -d for completeness.
3894 * src/roff/nroff/nroff.man: Updated.
3896 2003-07-05 Werner LEMBERG <wl@gnu.org>
3898 * NEWS, tmac/groff_www.man: Updated.
3899 * doc/Makefile.sub: Updated.
3901 2003-07-05 Gaius Mulley <gaius@glam.ac.uk>
3903 Implement support for multiple HTML output files.
3905 * src/preproc/html/pre-html.cpp (scanArguments): Dummy handling for
3906 -j command line option.
3908 * src/devices/grohtml/post-html.cpp (job_name, multiple_files): New
3910 (file): New fields `new_output_file', `require_links',
3912 (file::file): Updated.
3913 (files::set_file_name, files::set_links_required,
3914 files::are_links_required, files::is_new_output_file,
3915 files::file_name, files::next_file_name): New functions.
3916 (header_desc): New fields `no_of_level_one_headings',
3918 (header_desc::header_desc): Updated.
3919 (header_desc::write_headings): Handle multiple files.
3920 (html_printer::write_header): Save file name in which header occurs.
3921 (html_printer::determine_header_level): Possibly split files on
3923 (html_printer::do_links, html_printer::troff_tag): Updated.
3924 (html_printer::insert_split_file, html_printer::do_job_name,
3925 html_printer::emit_link, html_printer::write_navigation,
3926 html_printer::do_file_components): New functions.
3927 (html_printer::~html_printer): Handle multiple files.
3928 (main): Handle command line option `-j'.
3930 * src/devices/grohtml/grohtml.man: Updated.
3932 * doc/Makefile.sub (pic.html), doc/Makefile.in (pic.html): New rule
3935 * tmac/www.tmac (JOBNAME): New macro.
3936 * tmac/s.tmac (SH-NO-TAG): New macro.
3937 (@SH): Call SH-NO-TAG.
3940 2003-07-05 Ruslan Ermilov <ru@FreeBSD.org>
3942 * tmac/groff_mdoc.man: Improve documentation of punctuation
3945 2003-07-04 Ruslan Ermilov <ru@FreeBSD.org>
3947 * tmac/doc.tmac (Bd): Change to doc-Li-font later.
3949 2003-07-03 Werner LEMBERG <wl@gnu.org>
3951 * tmac/an-old.tmac [cR]: Redefine `bp' to avoid empty lines.
3953 2003-07-01 Ruslan Ermilov <ru@FreeBSD.org>
3955 * tmac/doc.tmac (doc-do-func, doc-do-func-args): Don't print a comma
3956 after `/*' and `*/'.
3958 (Fn, Fo): Reduce indentation in synopsis.
3960 * tmac/doc-common (doc-check-depth): New macro.
3961 (doc-end-macro, Sh, Ss): Use it.
3962 (Cd): Fix behaviour in synopsis.
3963 (In): Make it parsed and callable.
3964 If not in the synopsis, represent the C header file enclosed in
3966 (doc-str-Rv-std-suffix, doc-str-Rv-stds-suffix, doc-str-Rv-std0):
3967 Use minus, not hyphen.
3969 * tmc/groff_mdoc.man: Updated.
3971 2003-07-01 Werner LEMBERG <wl@gnu.org>
3973 Integrated grap2graph, contributed by Eric S. Raymond.
3975 * contrib/grap2graph/{Makefile.sub, grap2graph.sh, grap2graph.man}:
3977 * Makefile.in, NEWS, MANIFEST, contrib/eqn2graph.man,
3978 contrib/pic2graph.man, src/roff/groff/groff.man: Updated.
3980 2003-07-01 Colin Watson <cjwatson@debian.org>
3982 * src/xditview/*.c: Add prototypes, fix return types, add includes.
3983 Based on work by Fumitoshi UKAI <ukai@debian.or.jp>.
3985 2003-06-31 Ruslan Ermilov <ru@FreeBSD.org>
3987 * tmac/tty-char.tmac: Provide `lb', `rb', `lk', `rk', `lt', `rt'.
3989 2003-06-31 Werner LEMBERG <wl@gnu.org>
3991 * doc/Makefile.sub (CLEANADD): Remove all files created by
3992 running `make groff.{pdf,dvi}'.
3994 * Makefile.sub (DISTCLEANFILES): Remove all non-source files from
3997 2003-06-30 Werner LEMBERG <wl@gnu.org>
3999 * Makefile.in (SHELL): Define as @SHELL@.
4000 (mkinstalldirs): Use $(SHELL).
4001 (MDEFINES): Add $(SHELL).
4002 * Makefile.comm (SHELL): Removed.
4004 2003-06-29 Werner LEMBERG <wl@gnu.org>
4006 * tmac/s.tmac (De, Ds): New aliases for .DE and .DS, respectively.
4007 The X11 documentation files use them.
4008 * tmac/groff_ms.man, doc/groff.texinfo: Document them.
4010 2003-06-15 Robert Goulding <goulding@Princeton.EDU>
4012 * tmac/e.tmac (@C): Handle .ad also.
4014 2003-06-12 Werner LEMBERG <wl@gnu.org>
4016 * src/preproc/tbl/tbl.man: Document formatting of text blocks.
4018 * src/roff/troff/input.cc (token::next) <handle_escape_char>:
4019 Assign `n' even here. It is possible to construct a node
4020 immediately following an escape character:
4028 2003-06-10 Werner LEMBERG <wl@gnu.org>
4030 * README.WIN32: Removed.
4031 * MANIFEST: Updated.
4033 2003-06-07 Werner LEMBERG <wl@gnu.org>
4035 * src/roff/nroff/nroff.sh: Don't emit SGR for option -u.
4037 2003-06-05 Werner LEMBERG <wl@gnu.org>
4039 * src/preproc/pic/pic.y <sprintf_args>: Implement workaround for bug
4040 in Compaq C++ V6.5-033 for Compaq Tru64 UNIX V5.1A (Rev. 1885).
4042 2003-06-03 Werner LEMBERG <wl@gnu.org>
4044 * src/preproc/grn/hdb.cpp (DBRead): Don't close file handle; this
4045 is done by the calling function.
4047 2003-05-22 Ruslan Ermilov <ru@FreeBSD.org>
4049 * tmac/X.tmac: Fix definition of `em'.
4051 2003-05-22 Werner LEMBERG <wl@gnu.org>
4053 * src/roff/troff/input.cc (return_macro_request): Fix detection of
4056 2003-05-18 Werner LEMBERG <wl@gnu.org>
4058 * tmac/doc.tmac (doc-tag-list): Force horizontal mode after tag
4059 to make items work which consist only of a tag.
4061 2003-05-17 Werner LEMBERG <wl@gnu.org>
4063 * tmac/doc.tmac (doc-tag-list): Don't use \Z to assure that spaces
4064 aren't stretched in a tag (this can fail with unformatted boxes).
4065 Instead, insert a break and go back one line.
4067 2003-05-16 Werner LEMBERG <wl@gnu.org>
4069 * src/roff/troff/input.cc (return_macro_request): If called with
4070 argument pop macro twice. We need this to trace `return'.
4072 * tmac/trace.tmac: Handle `return'.
4075 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
4078 2003-05-15 Larry Kollar <kollar@alltel.net>
4080 * tmac/groff_ms.man, doc/groff.texinfo: Improve documentation of
4081 registers `FPS', `FVS', and `FPD'.
4083 2003-05-15 Werner LEMBERG <wl@gnu.org>
4085 * src/utils/pfbtops/pfbtops.c (get_text): Handle loop counter
4088 2003-05-03 Ruslan Ermilov <ru@FreeBSD.org>
4090 * tmac/groff_mdoc.man: Slight improvements.
4092 2003-05-03 Werner LEMBERG <wl@gnu.org>
4094 * tmac/doc-common (doc-header): Emit vertical space of 1v instead of
4095 `doc-header-space' after header line if register `cR' is set.
4097 2003-05-02 Werner LEMBERG <wl@gnu.org>
4101 2003-05-01 Ruslan Ermilov <ru@FreeBSD.org>
4103 * tmac/doc-common (Nd): Use \[em].
4105 2003-05-01 Werner LEMBERG <wl@gnu.org>
4107 * tmac/doc-ditroff, tmac/doc-nroff (doc-header-space,
4108 doc-footer-space): Initialize to 0.5i.
4109 (doc-setup-page-layout): Don't set doc-header-space and
4112 2003-04-30 Werner LEMBERG <wl@gnu.org>
4114 * REVISION: Set to 1.
4116 * doc/pic.ms: Document possible problems with `figname'.
4118 2003-04-29 Werner LEMBERG <wl@gnu.org>
4120 Version 1.19 released
4121 =====================
4123 * VERSION: Set to 1.19.
4124 * REVISION: Set to 0.
4125 * doc/groff.texinfo, doc/webpage.ms, NEWS: Updated.
4127 * src/devices/grohtml/post-html.cpp (html_printer::~html_printer):
4128 Define charset as `US-ASCII' in html output.
4130 * tmac/www.tmac (ULE): Add missing scaling indicator.
4132 * win32-diffs: Removed.
4134 2003-04-28 Werner LEMBERG <wl@gnu.org>
4136 * doc/groff.texinfo: Document `dn' and `dl' registers if used with
4138 Document how to insert discardable whitespace with `.ss'.
4140 2003-04-27 Werner LEMBERG <wl@gnu.org>
4142 * src/preproc/pic/tex.cpp (tex_output::start_picture): Make code
4143 work with plain TeX also.
4145 * src/preproc/pic/pic.man, doc/pic.ms: Fix TeX code example.
4147 2003-04-25 Gaius Mulley <gaius@glam.ac.uk>
4149 * src/devices/grohtml/post-html.cpp (html_printer::~html_printer):
4152 2003-04-24 Werner LEMBERG <wl@gnu.org>
4154 * src/preproc/pic/pic.man, doc/pic.ms: Explain how to get a
4155 vbox with positive height and zero depth if in TeX mode.
4157 * NEWS: Document glyph name changes for grodvi and grolj4.
4159 2003-04-23 Werner LEMBERG <wl@gnu.org>
4161 * src/preproc/pic/tex.cpp (tex_output::start_picture): Fix TeX code.
4162 * doc/pic.ms: Fixed.
4164 2003-04-21 Werner LEMBERG <wl@gnu.org>
4166 HP-UX 10.20 has `snprintf' but it isn't declared.
4168 * configure.ac: Add declaration test for snprintf.
4169 * configure: Regenerated.
4170 * src/include/lib.h: Handle `NEED_DECLARATION_SNPRINTF'.
4171 * src/include/config.hin: Regenerated.
4173 2003-04-19 Werner LEMBERG <wl@gnu.org>
4175 Add keyword `figname' to pic, specifying the name of the picture
4176 box in TeX mode. Based on a patch from William J Poser
4177 <wjposer@unagi.cis.upenn.edu>.
4179 * src/preproc/pic/pic.y: New token `FIGNAME'.
4180 (macro_name): New rule of type <str>.
4181 (placeless_element): Handle `FIGNAME'.
4182 * src/preproc/pic/lex.cpp (lookup_keyword): Add `figname'.
4183 * src/preproc/pic/main.cpp (graphname): New global variable.
4184 (do_picture): Initialize `graphname'.
4185 * src/preproc/pic/pic.h: Updated.
4186 * src/preproc/pic/tex.cpp (tex_output::start_picture): Use
4189 (tex_output::text): Beautify output.
4190 * src/preproc/pic/object.cpp (object_spec::~object_spec): Deallocate
4191 `shaded' and `outlined' unconditionally.
4192 * NEWS, src/preproc/pic/pic.man, doc/pic.ms: Updated.
4195 * PROBLEMS, README.CVS: Mention that bison version 1.875b or
4196 greater is necessary.
4198 2003-04-17 Hartmut Henkel <hartmut_henkel@gmx.de>
4200 Add option -r to soelim to avoid emission of `.lf' lines.
4201 Add option -t to produces TeX comment lines instead of `.lf' lines.
4203 * src/preproc/soelim/soelim.cpp: New global variables `raw_flag'
4206 (main): Handle `-r' and `-t'.
4207 (set_location): Handle `raw_flag' and `tex_flag'.
4208 * src/preproc/soelim/soelim.man, NEWS: Updated.
4210 2003-04-17 Werner LEMBERG <wl@gnu.org>
4212 * tmac/hyphenex.sh: Replaced with...
4213 * tmac/hyphenex.pl: This perl script to avoid sed compatibility
4216 * aclocal.m4 (GROFF_HTML_PROGRAMS): Emit useful warning message
4217 if --quiet is used for the configure script.
4218 * configure: Regenerated.
4220 2003-04-16 Werner LEMBERG <wl@gnu.org>
4222 * src/devices/grohtml/post-html.cpp (text_glob::text_glob):
4223 Add `const' to second argument.
4224 (html_printer::add_table_end): Add `const' to argument.
4225 * src/devices/grohtml/html-text.cpp (html_text::issue_tag): Add
4226 `const' to arguments.
4227 * src/devices/grohtml/html-text.h: Updated.
4229 * src/devices/grolbp/charset.h (symset): Use `unsigned char'.
4230 * src/devices/grolbp/lbp.h (lbpputc): Use `unsigned char' for
4233 * src/devices/grotty/tty.cpp (tty_printer::make_rgb_string): Use
4234 cast for integer constant.
4236 * src/preproc/html/pre-html.cpp (image_device): Use `const'.
4237 (writeNbytes): Add `const' to first argument.
4238 (writeString): Add `const' to argument.
4239 (char_buffer::can_see): Add `const' to third argument.
4240 * src/preproc/html/pushback.cpp (pushBackBuffer::isString): Add
4241 `const' to argument.
4242 * src/preproc/html/pushback.h: Updated.
4244 * src/preproc/soelim/soelim.cpp (include_list): Add `const'.
4245 (include_path_append): Add `const' to argument.
4248 * src/roff/troff/uniglyph.cpp (unicode_to_glyph_list): Use `const'
4250 (unicode_to_glyph_init::unicode_to_glyph_init): Updated.
4251 * src/roff/troff/uniuni.cpp (unicode_decompose_list): Use `const'
4253 (unicode_decompose_init::unicode_decompose_init): Updated.
4254 * src/roff/troff/glyphuni.cpp (glyph_to_unicode_list): Use `const'
4256 (glyph_to_unicode_init::glyph_to_unicode_init): Updated.
4257 * src/roff/troff/input.cc (process_startup_file): Add `const' to
4260 * tmac/hyphenex.sh: Make script more portable by using a here
4263 2003-04-15 Werner LEMBERG <wl@gnu.org>
4265 Renamed all `*.cc' files to `*.cpp'.
4266 Updated all configuration files, makefiles, and documentation.
4268 2003-04-14 Werner LEMBERG <wl@gnu.org>
4270 * tmac/hyphenex.sh: Slight improvements.
4272 2003-04-13 Werner LEMBERG <wl@gnu.org>
4274 * font/devascii/R.proto, font/devcp1037/R.proto,
4275 font/devlatin1/R.proto, font/devutf8/R.proto: Fill up remaining
4276 character slots with unnamed glyphs.
4278 * tmac/an-old.tmac: Fix hyphenation value if `cR' is active.
4279 (an-first): New global variable.
4280 (an-header): Emit vertical space between multiple man pages.
4282 2003-04-11 Werner LEMBERG <wl@gnu.org>
4284 * doc/groff.texinfo, man/groff_out.man: \S only accepts integer
4287 2003-04-10 Werner LEMBERG <wl@gnu.org>
4289 * PROBLEMS: Revised.
4291 2003-04-10 Bernd Warken <bwarken@mayn.de>
4293 * doc/webpage.ms: Improved.
4295 2003-04-09 Werner LEMBERG <wl@gnu.org>
4297 Add register \n[.height] which returns the value of \H.
4298 Add register \n[.slant] which returns the value of \S.
4300 * src/roff/troff/env.cc (init_env_requests): Implement.
4301 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
4304 2003-04-08 Werner LEMBERG <wl@gnu.org>
4306 * tmac/html.tmac: Move some of the data into html-end.tmac.
4307 Remove most of the character translations for eqn since html fonts
4308 now cover those characters.
4310 * tmac/html-end.tmac: New file.
4311 * tmac/troffrc: Load html.tmac not www.tmac for -Thtml.
4312 * tmac/troffrc-end: Load html-end.tmac not html.tmac for -Thtml.
4313 * tmac/Makefile.sub (NORMALFILES): Add html-end.tmac.
4315 2003-04-07 Werner LEMBERG <wl@gnu.org>
4317 * man/groff_out.man: Document negative values of `N' if -Thtml is
4320 2003-04-06 Werner LEMBERG <wl@gnu.org>
4322 * Makefile.comm (depend.temp): Check location of YTABC.
4324 2003-04-05 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
4326 * contrib/mom/Makefile.sub (GROFFBIN): New variable for groff
4328 (groff_bin_path): Rename to GROFF_BIN_PATH.
4329 (GROFF): Use GROFFBIN and GROFF_BIN_PATH.
4330 * doc/Makefile.in (TROFFBIN): New variable for troff
4332 (GROFFBIN): New variable for groff binary path.
4333 (groff_bin_path): Rename to GROFF_BIN_PATH.
4334 (TROFF): Use TROFFBIN.
4335 (GROFF): Use GROFFBIN and GROFF_BIN_PATH.
4336 * doc/Makefile.sub (GROFFBIN): New variable for groff
4338 (groff_bin_path): Rename to GROFF_BIN_PATH.
4339 (GROFF): Use GROFFBIN and GROFF_BIN_PATH.
4341 * Makefile.comm (install_dev): Install scripts from DEVSCRIPTS
4342 with INSTALL_SCRIPT.
4343 (uninstall_dev): Uninstall scripts from DEVSCRIPTS.
4344 * Makefile.dev (all): Depend on DEVSCRIPTS.
4345 (install_dev): Likewise.
4346 * font/devdvi/Makefile.sub (DEVSCRIPTS): New variable to hold
4348 * font/devps/Makefile.sub (DEVSCRIPTS): Likewise.
4349 (DEVGENSCRIPTS): New variable to hold generated scripts.
4351 2003-04-05 Werner LEMBERG <wl@gnu.org>
4353 * src/libs/libdriver/input.cc (IntArray::operator[],
4354 IntArray::get_data): Remove meaningless `const' in return value.
4356 * README.CVS: New file.
4358 2003-04-04 Werner LEMBERG <wl@gnu.org>
4360 Check for stdint.h in C++, not in C.
4362 * aclocal.m4 (GROFF_STDINT_H): New function,
4363 * configure.ac: Check for stdint.h with GROFF_STDINT_H instead of
4365 * configure, src/include/config.hin: Regenerated.
4366 * src/libs/libgroff/tmpname.cc: Use HAVE_CC_STDINT_H.
4369 Fix handling of in grohtml. To do this, troff emits `N'
4370 with a negative value, representing the width of the unbreakable
4371 space (only for -Thtml). grohtml then converts this back to
4372 and uses the value of N as its width.
4374 * src/roff/troff/node.cc (space_char_hmotion_node::tprint,
4375 unbreakable_space_node::tprint): Emit `N-<width>'.
4376 * src/include/printer.h (printer::set_numbered_char): Make it
4378 Make members `font_table' and `nfonts' protected instead of private.
4379 * src/devices/grohtml/post-html.cc
4380 (html_printer::set_numbered_char): New member function.
4383 * src/libs/libgroff/maxfilename.cc:
4384 s/HAVE_LIMITS_H/HAVE_CC_LIMITS_H/.
4386 * src/roff/troff/node.cc (unbreakable_space_node::tprint): Don't
4389 2003-04-03 Sergey A. Osokin <osa@freebsd.org.ru>
4391 * man/roff.man: Small fixes.
4393 2003-04-03 Werner LEMBERG <wl@gnu.org>
4395 Make groff independent from locale's numeric settings.
4397 * configure.ac: Check for `setlocale'.
4398 * configure, src/include/config.hin: Regenerated.
4400 * src/include/lib.h: Handle HAVE_SETLOCALE.
4402 * src/devices/grodvi/dvi.cc (main), src/devices/grolj4/lj4.cc
4403 (main), src/devices/grops/ps.cc (main), src/preproc/grn/main.cc
4404 (main), src/preproc/pic/main.cc (main): Call `setlocale'.
4407 * doc/groff.texinfo: Change dir category to `Typesetting'.
4408 (Man font macros): Mention that there is no space between arguments
4411 * src/libs/libdriver/printer.cc, src/devices/grotty/tty.cc
4412 (*printer::change_color, *printer::change_fill_color): Add missing
4415 2003-04-02 Werner LEMBERG <wl@gnu.org>
4417 * src/devices/grohtml/html-table.cc (html_table::emit_col,
4418 html_table::is_gap): Compute table widths after converting border
4419 positions to avoid rounding errors.
4421 2003-04-01 Werner LEMBERG <wl@gnu.org>
4423 * src/devices/grohtml/html-text.cc (html_text::do_space): Handle
4424 `space_emitted' properly.
4426 2003-03-31 Werner LEMBERG <wl@gnu.org>
4428 * src/devices/grohtml/html-table.cc: Fix column width calculation.
4429 (html_table::set_linelength): Don't add 1.
4430 (html_table::add_indent): Don't subtract 1.
4432 * tmac/html.tmac: Set default page offset to zero.
4434 2003-03-30 Werner LEMBERG <wl@gnu.org>
4436 Make groff emit ` ' for `\ ' and `\~' if `-Thtml' is used.
4438 * src/roff/troff/node.cc (space_char_hmotion_node::tprint,
4439 unbreakable_space_node::tprint): New functions.
4440 (troff_output_file): Make space_char_hmotion_mode::tprint and
4441 unbreakable_space_node::tprint to friends.
4442 * src/roff/troff/node.h: Updated.
4444 * font/devhtml/R.proto: Add ` ' at position 0xA0 (as defined
4445 in the HTML standard).
4447 2003-03-29 Werner LEMBERG <wl@gnu.org>
4449 * src/roff/troff/env.cc (point_size): Fix emission of html tag.
4450 Otherwise, the following code
4459 produces `x a' instead of `xa'. This is a temporary fix, disabling
4460 font changes in diversions for -Thtml.
4462 * tmac/an-old.tmac (TH, SH): Use `HTML-TAG-NS' instead of
4464 (an-do-tag-html): Merge with ...
4465 (an-do-tag): This macro.
4466 Change code slightly to circumvent grohtml bug.
4467 * tmac/troffrc-end: Define dummy for HTML-TAG-NS.
4469 * src/devices/grohtml/html-table.cc (html_table::emit_col,
4470 html_table::is_gap): Round `width' properly.
4472 * tmac/html.tmac: Provide some default layout parameters for
4475 * font/devhtml/DESC.proto: Don't use discrete values for `sizes'
4478 2003-03-28 Werner LEMBERG <wl@gnu.org>
4480 src/devices/grops/ps.cc (ps_printer::do_import): Fix error message.
4482 2003-03-27 Werner LEMBERG <wl@gnu.org>
4484 * tmac/an-old.tmac (BT): Don't call .tl if register `ps4html' is
4487 2003-03-20 Werner LEMBERG <wl@gnu.org>
4489 * src/roff/troff/env.cc (vertical_spacing): Allow zero value for
4491 * doc/groff.texinfo: Updated.
4493 2003-03-19 Werner LEMBERG <wl@gnu.org>
4495 * src/roff/troff/input.cc (process_input_stack) <TOKEN_BEGIN_TRAP,
4496 TOKEN_END_TRAP>: Reset `have_input'.
4498 2003-03-18 Werner LEMBERG <wl@gnu.org>
4500 * src/roff/groff/groff.man: Mention groff_trace man page.
4502 2003-03-16 Werner LEMBERG <wl@gnu.org>
4504 * Makefile.in (LIBEXT): New variable to indicate the file extension
4505 of library files. Computed heuristically from $(OBJEXT).
4506 (MDEFINES): Add $(LIBEXT).
4507 * Makefile.lib, Makefile.comm: Use it.
4509 * src/utils/pfbtops/pfbtops.c (get_text): New function. Split
4510 overlong lines into smaller chunks.
4511 (get_binary): New function.
4513 * src/utils/pfbtops/pfbtops.man: Updated.
4515 2003-03-15 Colin Watson <cjwatson@debian.org>
4517 * src/roff/groff/groff.man: Minor syntax fix.
4519 2003-03-14 Egil Kvaleberg <egil@kvaleberg.no>
4521 * src/devices/grops/ps.cc (ps_printer::media_set,
4522 ps_printer::~ps_printer): Handle zero paper width and length.
4524 2003-03-13 Werner LEMBERG <wl@gnu.org>
4526 Add options -p and -l to grodvi.
4528 * src/devices/grodvi/dvi.cc: Include paper.h.
4529 (landscape_flag, user_paper_length, user_paper_width): New global
4531 (dvi_printer::begin_page): Emit `papersize' special.
4532 Set color after initialization of `cur_h' and `cur_v'.
4533 (main): Add options `-l' and `-p'.
4534 * font/devdvi/Makefile.sub (DESC): Set `papersize'.
4535 * src/devices/grodvi/grodvi.man, NEWS: Updated.
4537 * src/devices/grops/psrm.cc (valid_input_table): Fixed.
4539 2003-03-12 Werner LEMBERG <wl@gnu.org>
4541 * src/devices/grops/grops.man: Move documentation of .PSPIC to...
4542 * man/groff_tmac.man: This man page.
4543 * man/groff_font.man: Declare `paperwidth' and `paperlength' as
4546 * tmac/X.tmac: Don't load pspic.tmac.
4548 2003-03-11 Werner LEMBERG <wl@gnu.org>
4550 Make variable `pr' local to libdriver/input.cc. Based on a patch
4551 by Bernd Warken <bwarken@mayn.de>.
4553 * src/include/driver.h (pr): Removed.
4555 * src/libs/libdriver/input.cc (pr): New global variable.
4556 (do_file): Deallocate `pr'.
4557 * src/libs/libdriver/printer.cc (pr): Removed.
4559 * src/devices/grodvi/dvi.cc (main), src/devices/grohtml/post-html.cc
4560 (main), src/devices/grolbp/lbp.cc (main), src/devices/grolj4/lj4.cc
4561 (main), src/devices/grops/ps.cc (main), src/devices/grotty/tty.cc
4562 (main): Don't delete `pr'.
4564 2003-03-10 Werner LEMBERG <wl@gnu.org>
4566 * tmac/a4.tmac, tmac/composite.tmac: Use `.do'.
4567 * tmac/papersize.tmac: New file.
4568 * tmac/troffrc: Include `papersize.tmac'.
4569 * tmac/Makefile.sub (NORMALFILES): Add `papersize.tmac'.
4570 * tmac/an-old.tmac: Set LT to LL by default.
4572 * NEWS, MANIFEST, tmac/groff_man.man, man/groff_tmac.man,
4573 doc/groff.texinfo: Updated.
4575 * src/libs/libgroff/paper.cc (add_iso_paper): Fix very embarassing
4576 bug which caused all odd iso papers to have wrong dimensions.
4578 * src/devices/grops/ps.cc (user_paper_width): New global variable.
4579 (main) <'p'>: Set `user_paper_width' also.
4580 (ps_printer::media_width, ps_printer::media_height): Use values
4581 given with option `-p'.
4583 2003-03-09 Werner LEMBERG <wl@gnu.org>
4585 * src/include/nonposix.h: Provide default for SET_BINARY.
4587 * src/devices/grodvi/dvi.cc, src/devices/grolbp/lbp.cc,
4588 src/devices/grolj4/lj4.cc, src/devices/grops/ps.cc: Call SET_BINARY
4591 * src/utils/pfbtops/pfbtops.c: Call SET_BINARY unconditionally.
4592 (main): Treat \r\n as \n.
4594 2003-03-08 Werner LEMBERG <wl@gnu.org>
4596 * tmac/an-old.tmac: Use register `HY' to control hyphenation.
4597 * NEWS, tmac/groff_man.man, doc/groff.texinfo: Document it.
4599 2003-03-07 Werner LEMBERG <wl@gnu.org>
4601 Added support to access more than 256 glyphs in Type 1 fonts.
4603 * src/devices/grops/ps.cc (subencoding): New structure.
4604 (style): Add `sub' field.
4606 (ps_printer): Add `subencodings' and `next_subencoding_index' fields.
4607 Add `set_subencoding', `get_subfont' and `encode_subfont' member
4610 (ps_printer::set_char): Use `set_subencoding'.
4611 (make_subencoding_name): New function.
4612 (ps_printer::set_style): Handle case where `sty.sub' is not zero.
4613 (ps_printer::~ps_printer): Emit subencoding definitions.
4615 * src/devices/grops/psrm.cc (valid_input_table): New array to
4616 properly support EBCDIC.
4617 (white_space): Add `\f'.
4618 (ps_get_line): Change first argument to be of type `string &'.
4619 Updated all callers.
4620 This allows to get lines of arbitrary length.
4621 Use `valid_input_table'.
4622 Remove warning about non-conforming PS line length. This seems
4623 not to be of great importance -- for example, dvips don't emit
4625 (PS_LINE_MAX): Removed.
4626 (matches_comment): Change first argument to be of type `string &'.
4628 * src/devices/grops/grops.man, src/devices/grops/TODO: Updated.
4630 * src/utils/afmtodit/afmtodit.pl (%unicode_decomposed,
4631 %AGL_to_unicode, %default_ligatures): New hash tables.
4632 Read all map entries.
4633 Add unencoded characters.
4634 Check for default ligatures if there are no `L' entries.
4635 Print all kern entries.
4636 Print all characters in charset.
4637 * src/utils/afmtodit/afmtodit.man: Updated.
4639 * font/devps/*: Regerated all fonts.
4641 * tmac/latin[129].tmac, tmac/cp1047.tmac: Don't test for existence
4642 of characters, just use `.trin'. Otherwise the mapping depends
4643 on the font encoding.
4644 * tmac/ps.tmac: Add `fi' and `fl'.
4645 Improve `Fi' and `Fl'.
4646 * tmac/X.tmac, tmac/lbp.tmac, tmac/tty.tmac: Improve `Fi' and `Fl'.
4647 * tmac/Xps.tmac: Fix `em'.
4651 2003-03-04 Werner LEMBERG <wl@gnu.org>
4653 * src/roff/troff/input.cc (charinfo_to_node_list): Reset
4656 2003-03-03 Werner LEMBERG <wl@gnu.org>
4658 * Makefile.sub (DISTCLEANFILES): Add gxditview._man.
4660 * font/devps/generate/textmap: Remove entry `similarequal'.
4661 * font/devps/symbolmap: Updated.
4663 2003-03-02 Werner LEMBERG <wl@gnu.org>
4665 * src/libs/libgroff/font.cc (font::load): Fix error message for
4668 * src/devices/grops/grops.man: Improve documentation of the -b
4671 * tmac/tty.tmac: Load latin1.tmac for all TTY devices except
4672 `ascii' and `cp1047'.
4674 2003-03-01 Werner LEMBERG <wl@gnu.org>
4676 Document composite glyphs and the `composite' request.
4678 * man/groff.man, man/groff_diff.man, doc/groff.texinfo: Do it.
4680 2003-02-28 Werner LEMBERG <wl@gnu.org>
4682 * font/devdvi/generate/ec.map: Add some more Unicode entities.
4683 * font/devdvi/*EC: Updated.
4685 * tmac/composite.tmac, tmac/latin2.tmac, tmac/latin9.tmac: New files.
4686 * tmac/latin1 (latin1-tr): Undo any previous mapping.
4687 * tmac/troffrc: Load `composite.tmac'.
4688 * tmac/Makefile.sub (NORMALFILES): Updated.
4690 * doc/groff.texinfo (Input Encodings): New section.
4693 2003-02-27 Werner LEMBERG <wl@gnu.org>
4695 * doc/texinfo.tex: New version 2003-02-11.06.
4697 * tmac/doc-common (Dt): Don't emit warning for unknown section.
4698 * tmac/groff_mdoc.man: Fix description of `Dt'.
4700 2003-02-26 Egil Kvaleberg <egil@kvaleberg.no>
4702 * font/devps/prologue.ps: Fix for included Postscript that does
4703 a setpagedevice -- which is now safely ignored.
4707 * src/devices/grops/ps.cc: Now sets the page size in the generated
4708 document. This is done in two ways: Via a %%-comment for gv and
4709 the like, and via a PageSize and setpagedevice for programs that
4710 understands Postscript proper, like ps2pdf.
4712 * src/devices/grops/ps.h: New broken-flag to avoid page size
4713 definition, if required.
4715 * src/devices/grops/grops.man: New broken-flag 16 mentioned.
4717 * doc/Makefile.in: Added -nosetpage flag (via @pnmtops_nosetpage@).
4718 Not really necessary due to the fix in prologue.ps, but cleaner:
4719 Such information does not belong in an .eps file.
4721 * doc/Makefile.sub: See doc/Makefile.in.
4723 2003-02-26 Ralph Corderoy <ralph@inputplus.co.uk>
4725 * aclocal.m4 (GROFF_PNMTOPS_NOSETPAGE): Use P2 format for testing
4726 instead of P1 since the latter is broken in some versions of netpbm.
4727 * configure: Updated.
4729 2003-02-26 Larry Kollar <kollar@alltel.net>
4731 Make man pages more customizable.
4733 * tmac/an-old.tmac (FT): New register holding footer distance from
4735 (HF): New string holding the default heading font.
4736 (TH): Handle registers `IN' and `SN' set on the command line.
4738 (PT, BT): New strings to customize header and footer lines.
4739 (an-header, an-footer): Use them.
4741 * tmac/groff_man.man: Document changes.
4743 * doc/groff.texinfo: Document man changes.
4744 Document Ultrix extensions of man.
4746 2003-02-26 Werner LEMBERG <wl@gnu.org>
4748 * src/roff/troff/input.cc (do_width, do_if_request): Reset
4749 `have_input' after changing back to old environment.
4751 * src/devices/grolbp/lbp.cc (lbp_printer::set_line_thickness): Move
4752 function up to be defined before first call. This is necessary to
4753 avoid a compilation problem with Sun's WorkShop 6 C++ compiler.
4755 * src/utils/afmtodit/afmtodit.pl: Make script search for files in
4756 the default font directory also. Based on a patch from James
4757 J. Ramsey <jjramsey_6x9eq42@yahoo.com>.
4758 * src/utils/afmtodit/Makefile.sub (afmtodit): Handle @FONTDIR@.
4759 * src/utils/afmtodit/afmtodit.man: Document it.
4763 * tmac/groff_man.man, doc/groff.texinfo: Many minor fixes.
4765 2003-02-25 Gaius Mulley <gaius@glam.ac.uk>
4767 * aclocal.m4 (GROFF_HTML_PROGRAMS): Add test for pnmtops.
4768 (GROFF_PNMTOPS_NOSETPAGE): New macro.
4769 * configure.ac: Use it.
4770 * configure: Regenerated.
4771 * Makefile.in: Updated.
4773 * tmac/Makefile.sub (NORMALFILES): Remove www.tmac.
4774 (CLEANADD): Add www.tmac-sed.
4775 (pnmtops_nosetpage): Define default.
4776 (install_data): Handle www.tmac-sed and substitute
4777 @PNMTOPS_NOSETPAGE@.
4778 (stamp-sed): Add www.tmac.
4779 * tmac/www.tmac: Rewritten, based on a patch by Bernd Warken.
4780 It now breaks URLs at suitable places.
4781 (www:substring_ok): New register set by...
4782 (www:@test_substring): New macro.
4783 (www:error): New alias to www-error.
4784 (www:lenstr, www:splitstr, www:url_breaks, www:url_breaks_splitted):
4786 (URL): Use www:url_breaks.
4787 (PIMG, MPIMG): Use @PNMTOPS_NOSETPAGE@.
4788 (CDS, CDE): New macros.
4790 2003-02-25 Werner LEMBERG <wl@gnu.org>
4792 * src/devices/grops/ps.cc (ps_printer::define_encoding): Avoid
4795 2003-02-24 Werner LEMBERG <wl@gnu.org>
4797 Contrary to the PCL5 Developer's Guide, the ascenders in TFM files
4798 can be negative also.
4800 * src/utils/hpftodit/hpftodit.cc (char_info): `ascent' must be
4802 (read_char_table): Avoid negative ascenders.
4803 (output_charset): Add cast.
4804 * font/devlj4/*: Regenerated.
4806 Replace unnamed glyphs for DVI fonts with `uXXXX' glyph names where
4809 * font/devdvi/generate/{tc,texttt,ec,texmi,texsy,textex}.map: Do it.
4810 * font/devdvi/generate/textex.map: Map glyph 23 to `u21C6' instead
4812 * font/devdvi/*: Regenerated.
4814 Map `la' and `ra' to U+27E8 and U+27E9. These two characters have
4815 normal width, while the previously used characters (U+2329 and
4816 U+232A) are classified as wide due to canonical equivalence with the
4817 CJK punctuation characters U+3008 and U+3009.
4819 * font/devutf8/R.proto: Updated.
4820 * src/roff/troff/uniglyph.cc, src/roff/troff/glyphuni.cc: Ditto.
4822 * man/groff_char.man: Simplify handling of table traps by
4823 introducing `start block' and `end block' macros.
4824 (Ns, Ne, 2s, 2e, Ds, De): New macros.
4825 (DL): Make it work with Unix troff also.
4826 Fix code values of `la' and `ra'.
4828 * tmac/dvi.tmac: Define `<>' for CW and CWI.
4830 2003-02-23 Gaius Mulley <gaius@glam.ac.uk>
4832 * src/devices/grohtml/post-html.cc (element_list::~element_list):
4833 New destructor, fixing a major memory leak.
4835 2003-02-22 Werner LEMBERG <wl@gnu.org>
4837 * font/devhtml/R.proto, font/devutf8/R.proto: Flip `*f' and `+f'
4838 to be in conformance with Unicode 3.0 and newer.
4840 * font/devlj4/generate/text.map: Add `Eu'.
4841 * font/devlj4/generate/special.map: Flip `*e' and `+e'.
4842 * font/devlj4/S: Regenerated.
4844 * man/groff_char.man: Completely rewritten.
4846 * doc/groff.texinfo: Fix description of request and macro arguments.
4848 2003-02-20 Gaius Mulley <gaius@glam.ac.uk>
4852 * src/devices/grohtml/html-table.cc (html_table::~html_table):
4853 Deallocate `columns' list.
4854 * src/devices/grohtml/post-html.cc (char_block::~char_block):
4856 (text_glob::text_glob_html, text_glob::text_glob_special,
4857 text_glob::text_glob_line, text_glob::text_glob_auto_image,
4858 text_glob::text_glob_tag): Avoid memory leaks.
4859 (text_glob::remember_table): Free memory before reassigning.
4861 2003-02-19 Werner LEMBERG <wl@gnu.org>
4863 Add glyph `+e', greek lunate epsilon symbol, and `-h' (with the
4864 alias `hbar'), the Planck constant over two pi.
4866 * font/devdvi/generate/texmi.map: Use `*e' for position 15 and
4867 `+e' for position 34.
4868 * font/devdvi/generate/texsy.map: Replace `DI' and `HE' with
4869 `u2662' and `u2661'.
4870 * font/devdvi/{MI,S}: Regenerated.
4871 * font/devhtml/R.proto, font/devutf8/R.proto: Add `+e', `-h', `hbar'.
4872 * font/devlbp/*: Add `hbar' alias.
4873 * font/devlj4/generate/special.map: Ditto.
4874 * font/devlj4/S: Regenerated.
4875 * font/devps/generate/symbolchars: Add `+e'.
4876 * font/devps/generate/textmap: Fix PS name for `-h'.
4878 * font/devps/symbolmap: Regenerated.
4880 * src/devices/grops/ps.cc (transform_fill): Removed since unused.
4882 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `+e',
4884 * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `+e',
4887 * tmac/X.tmac, tmac/ps.tmac: Provide definitions for `-h' and
4889 * tmac/tty-char.tmac: Add `+e'.
4891 2003-02-17 Werner LEMBERG <wl@gnu.org>
4893 Another round trying to really fix problems with `have_input'.
4895 * src/roff/troff/input.cc (input_stack::get): Handle `have_input'.
4896 (token::next) <'\n'>, <\'\n'>: Don't handle `have_input'.
4898 * src/devices/grotty/tty.cc (tty_printer::put_color): Fix color
4899 handling if both foreground and background colors are default.
4901 * doc/groff.texinfo (Debugging): Document .lf differences to
4904 2003-02-16 Werner LEMBERG <wl@gnu.org>
4906 * src/devices/grotty/tty.cc (tty_printer::make_rgb_string): Avoid
4907 null-bytes in created string.
4909 * src/roff/troff/input.cc (lookup_color, interpolate_macro,
4910 alias_macro, lookup_request): Improve warning messages.
4912 * src/roff/troff/node.cc (suppress_node::tprint): Use `strsave',
4914 Free `last_image_filename'.
4916 * src/preproc/html/pre-html.cc (char_block::char_block): Initialize
4918 (imageList::createPage, imageList::createImage): Use `free', not
4920 (imageItem::~imageItem): Free `imageName'.
4921 (addRegDef): Use `strsave', not `strdup'.
4922 (get_resolution): Free `pathp'.
4924 2003-02-15 Werner LEMBERG <wl@gnu.org>
4926 * src/devices/grotty/tty.cc (tty_printer::tty_printer): Fix pointer
4929 2003-02-14 Werner LEMBERG <wl@gnu.org>
4931 Add memory management for colors to deallocate unnamed colors
4934 * src/include/color.h (color): New members `free_list' and `next'.
4935 New member functions `new' and `delete'.
4937 * src/libs/libgroff/color.cc: Implement it.
4939 * src/libs/libgroff/font.cc (font::add_kern): Use integer cast
4940 for array size of new operator.
4942 * src/libs/libdriver/input.cc (IntArray::operator[]): Remove
4943 redundant comparison.
4945 * src/roff/troff/input.cc (word_space_node::reread,
4946 hmotion_node::reread): Avoid warning about unused parameter.
4947 (reset_output_registers): Remove redundant parameter.
4948 (define_color): Undo change 2003-02-12.
4950 * src/roff/troff/reg.h: Updated.
4952 * src/roff/troff/node.cc (troff_output_file::really_print_line,
4953 output_file::put_filename, real_output_file::really_put_filename,
4954 ascii_output_file::really_print_line,
4955 break_char_node::get_hyphen_list): Avoid warning about unused
4957 (suppress_node::tprint): Updated.
4959 * configure.ac: Check declaration for rand() and srand().
4960 * configure: Regenerated.
4962 * src/preproc/pic/pic.h: Declare fmod(), rand(), and srand()
4964 * src/preproc/pic/pic.y: Remove declaration of fmod(), rand(),
4967 * src/preproc/eqn/delim.cc (delim_table): Add missing initializers
4968 to avoid compiler warnings.
4970 * src/preproc/grn/hgraph.cc (HGPrintElt): Second parameter is
4973 * src/devices/grops/ps.cc (ps_printer::set_char): Last parameter
4975 * src/devices/grops/psrm.cc (skip_possible_newline): Remove first
4977 Updated all callers.
4979 * src/devices/grotty/tty.cc (tty_printer::set_char): Last parameter
4981 * src/devices/grodvi/dvi.cc (dvi_printer::set_char): Ditto.
4982 * src/devices/grolj4/lj4.cc (lj4_printer::set_char): Ditto.
4984 * src/devices/grohtml/post-html.cc (html_printer::emit_line):
4985 Parameter is unused.
4986 (html_printer::add_table_end): Define parameter conditionally.
4987 * src/devices/grohtml/output.cc (simple_output::special): Parameter
4990 * src/devices/grolbp/lbp.cc: Define _GNU_SOURCE conditionally.
4991 (lbp_printer::set_char): Last parameter is unused.
4993 * src/utils/indxbib/indxbib.cc (main): Remove redundant comparison.
4995 2003-02-13 Werner LEMBERG <wl@gnu.org>
4997 New commands \D'Fr ...', \D'Fc ...', etc. for orthogonality.
4998 Make \D'f ...' move horizontally again for backwards compatibility.
4999 Replace it with \D'Fg ...' where appropriate to avoid dependency
5000 on horizontal resolution.
5002 * src/roff/troff/input.cc (do_get_long_name): New function.
5003 (get_long_name): Call it.
5005 (read_draw_node): Handle `\D'Fx ...' by calling ...
5006 (read_color_draw_node): New function.
5008 (read_rgb, read_cmy, read_cmyk, read_gray): New optional argument
5010 Pass it to `do_get_long_name' which is used instead of
5013 * src/libs/libdriver/input.cc (color_from_Df_command): Remove
5014 unnecessary value guard.
5015 (parse_D_command) <'f'>: Add horizontal shift.
5017 * src/preproc/grn/hgraph.cc (HGPrintElt) <POLYGON>: Use \D'Fg ...'.
5018 * src/preproc/pic/troff.cc (troff_output::set_fill): Ditto.
5019 (FILL_MAX): Removed.
5021 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
5024 2003-02-12 Werner LEMBERG <wl@gnu.org>
5026 * src/roff/troff/input.cc (do_name_test, do_expr_test,
5027 do_zero_width): Push `\n' if closing delimiter is missing.
5029 (token::next) <ESCAPE_NEWLINE>, <'\n'>, <\'\n'>: Reset `have_input'.
5030 <'F'>: Make \F non-transparent at the beginning of line.
5031 (process_input_stack) <token::TOKEN_CHAR, token::TOKEN_NEWLINE,
5032 token::TOKEN_REQUEST, token::TOKEN_BEGIN_TRAP>: Don't handle
5035 (define_color): Free color in case of reassignment.
5037 * doc/groff.texinfo (@Defesc, @DefescList, @DefescItem,
5038 @DefescListEnd): Use @Var, not @var.
5041 * src/preproc/grn/hgraph.cc (HGPrintElt): Fix typo.
5043 * src/preproc/pic/object.cc (object_spec::~object_spec): Free
5044 `shaded' and `outlined' arrays.
5045 (object_spec::object_spec): Initialize `shaded' and `outlined'.
5046 (graphic_object::set_fill_color, graphic_object::set_outline_color):
5048 (closed_object::set_fill_color): Ditto.
5049 * src/preproc/pic/troff.cc (troff_output::set_color): Use strsave
5051 (troff_output::reset_color): Use a_delete instead of free.
5052 * src/preproc/pic/main.cc (do_file): Free `out' in case of error.
5054 2003-02-11 Werner LEMBERG <wl@gnu.org>
5056 * doc/groff.texinfo: Improve documentation of `ad'.
5057 Document that \D'f...' is dependent on the horizontal resolution.
5058 * man/groff_diff.man: Improve documentation of \D'f...'.
5060 * src/preproc/grn/hgraph.cc (HGPrintElt) <POLYGON>: Don't emit
5061 compensating \h'...' for \D'f ...' since the latter no longer moves
5063 * src/preproc/pic/troff.cc (troff_output::set_fill): Ditto.
5065 2003-02-10 Werner LEMBERG <wl@gnu.org>
5067 Improve error messages for `x F' (and `F') commands.
5069 * src/include/error.h: Add declaration for
5070 `current_source_filename'.
5071 * src/libs/libgroff/filename.cc: Add `current_source_filename'.
5072 * src/libs/libgroff/error.cc (do_error_with_file_and_line): Add
5073 parameter for source file string.
5074 Updated all callers.
5076 * src/libs/libdriver/input.cc: Add `current_source_filename'.
5077 (remember_source_filename): New function.
5078 (parse_x_command <'F'>, do_file <'F'>): Use it.
5080 2003-02-09 Werner LEMBERG <wl@gnu.org>
5082 Make grotty not emit warnings about unknown colors more than
5085 * src/devices/grotty/tty.cc: Include `ptable.h'.
5086 (TTY_MAX_COLORS): Removed.
5087 (DEFAULT_COLOR_IDX): Defined to -1.
5088 (glyph): Change `back_color_idx' and `fore_color_idx' to `char'.
5089 (tty_printer): Change `curr_back_idx' and `curr_fore_idx' to `char'.
5090 Change `tty_colors' to be a ptable.
5091 First arg of `put_color' is now `char'.
5092 New functions `make_rgb_string' and `tty_color'.
5093 (tty_printer::tty_printer): Use `tty_color'.
5094 (tty_printer::color_to_idx): Return value is now `char'.
5097 * src/include/color.h (color): Add `print_color' member function.
5098 * src/libs/libgroff/color.cc (color::print_color): Implement it.
5100 2003-02-08 Werner LEMBERG <wl@gnu.org>
5104 * src/devices/grops/ps.cc (ps_printer::define_encoding): Close
5107 * src/include/ptable.h (PTABLE::~PTABLE, PTABLE::define): Always
5108 assume that value has been allocated with `new[]', thus use
5109 `a_delete' for deallocation.
5111 * src/libs/libdriver/input.cc (get_integer_arg,
5112 get_possibly_int_args, parse_x_command, do_file): Use `a_delete'
5115 * src/libs/libgroff/new.cc (delete) [!COOKIE_BUG]: Define.
5116 * src/libs/libgroff/nametoindex.cc
5117 (character_indexer::named_char_index): Use `new <type>[1]'.
5119 * src/preproc/eqn/lex.cc (init_table, do_definition): Use `new
5121 * src/preproc/eqn/text.cc (set_special_char_type): Ditto.
5122 (split_text): Use `a_delete'.
5124 * src/preproc/pic/pic.y (define_label, define_variable): Use `new
5127 * src/roff/troff/env.cc (environment::choose_breakpoint): Avoid
5128 harmless memory leak.
5129 (hyphen_trie::read_patterns_file): Initialize `buf'.
5130 * src/roff/troff/node.cc (troff_output_file::troff_output_file):
5131 Initialize `current_fill_color'and `current_glyph_color'.
5132 * src/roff/troff/glyphuni.cc
5133 (glyph_to_unicode_init::glyph_to_unicode_init): Use `new <type>[1]'.
5134 * src/roff/troff/uniuni.cc
5135 (unicode_decompose_init::unicode_decompose_init): Ditto.
5136 * src/roff/troff/uniglyph.cc
5137 (unicode_to_glyph_init::unicode_to_glyph_init): Ditto.
5139 2003-01-26 Werner LEMBERG <wl@gnu.org>
5141 * src/utils/indxbib/indxbib.cc (main) [__EMX__]: Check with
5142 `access' before calling `unlink'.
5143 (do_file): Handle __EMX__.
5145 * src/include/nonposix.h: Handle __EMX__.
5147 * Makefile.in (SEP): New variable; set to @PATH_SEPARATOR@.
5148 (fontpath,tmacpath): Use it.
5150 Sorted alphabetically.
5152 * src/preproc/eqn/neqn.sh, src/roff/nroff/nroff.sh: Use
5154 * src/preproc/eqn/Makefile.sub, src/roff/nroff/Makefile.sub: Handle
5157 2003-01-27 Werner LEMBERG <wl@gnu.org>
5159 * src/libs/libgroff/strcasecmp.c, src/libs/libgroff/strncasecmp.c:
5160 New files, copied from gnulib.
5161 * src/libs/libgroff/Makefile.sub (CSRCS): Add them.
5162 * configure.ac: Updated.
5163 * configure: Regenerated.
5165 * src/include/config.hin: Regenerated.
5166 * src/include/lib.h [!HAVE_STRCASECMP]: Declare `strcasecmp'.
5167 Don't define `strcasecmp' as `strcmp'.
5168 [!HAVE_STRNCASECMP]: Declare `strncasecmp'.
5169 Dont define `strncasecmp' as `strncmp'.
5171 * src/roff/groff/pipeline.c [!HAVE_STRCASECMP, !HAVE_STRNCASECMP]:
5174 2003-01-26 Werner LEMBERG <wl@gnu.org>
5176 * src/utils/indxbib/indxbib.cc (main) [__EMX__]: Fix typo:
5179 2003-01-25 Werner LEMBERG <wl@gnu.org>
5181 * doc/groff.texinfo (Ligatures and Kerning): Mention limitations.
5183 2003-01-24 Werner LEMBERG <wl@gnu.org>
5185 Add US-english hyphenation exceptions (converted from Barbara
5186 Beeton's hyphenation exception log reports which appear irregularly
5189 * tmac/hyphen.us: Updated to latest version.
5190 * tmac/README: Updated.
5191 * tmac/hyphenex.us, tmac/hyphenex.sh: New files.
5192 * tmac/troffrc: Load `hyphenex.us'.
5193 * tmac/Makefile.sub (NORMALFILES): Add `hyphenex.us'.
5194 * doc/groff.texinfo: Updated.
5196 2003-01-23 Werner LEMBERG <wl@gnu.org>
5198 Improve hyphenation slightly. This is a first step in redesigning
5199 the hyphenation algorithm to make it more flexible (e.g. allowing
5200 kerns and ligatures between the hyphenation character and the
5201 following character -- while not used normally in English, other
5202 languages like German would benefit).
5204 * src/roff/troff/env.cc (environment::hyphenate_line): Use
5205 assertion instead of if-clause.
5206 Let `get_hyphen_list' return the number of involved characters in
5207 the hyphenation pattern instead of computing it directly (which
5208 often yields too small values).
5209 * src/roff/troff/node.h (*::get_hyphen_list): Add second parameter.
5210 * src/roff/troff/node.cc (*::get_hyphen_list): Handle new second
5213 2003-01-22 Werner LEMBERG <wl@gnu.org>
5215 Fixing a bug which caused groff to hang if the hyphenation exception
5216 dictionary tried to grow.
5218 * src/roff/troff/env.cc (hyphen_trie::insert_hyphenation,
5219 hyphen_trie::read_patterns_file, do_hyphenation_patterns_file): Use
5220 pointer to dictionary.
5222 2003-01-20 Werner LEMBERG <wl@gnu.org>
5224 * src/utils/afmtodit/afmtodit.pl: Add switch `-m' to suppress
5225 negative left italic correction.
5226 * src/utils/afmtodit/afmtodit.man: Document it.
5228 * font/devps/generate/Makefile (RFLAG): Add `-m'.
5229 * font/devps/{AB,AR,BMB,BMR,CB,CR,EURO,HB,HR,HNB,HNR,NB,NR,PB,PR,
5230 S,TB,TR,ZD,ZDR}: Regenerated with afmtodit options `-i 0 -m'.
5234 2003-01-16 Werner LEMBERG <wl@gnu.org>
5238 2003-01-16 Jörgen Grahn <jgrahn@algonet.se>
5240 * src/preproc/refer/refer.man: Mention REFER environment variable.
5242 2003-01-05 Werner LEMBERG <wl@gnu.org>
5244 Similar to \[is], the square root glyph (\[sr]) and the square root
5245 extension glyph (\[radicalex]) are now text symbols. The new
5246 mathematical versions are called \[sqrt] and \[sqrtex],
5249 * font/devX*/S: Regenerated.
5250 * font/devdvi/generate/texex.map: Rename `sr[0123]' to `sqrt[0123]'.
5251 * font/devdvi/generate/texsy.map: Rename `sr' to `sqrt'.
5252 * font/devdvi/EX, font/devdvi/S: Regenerated.
5253 * font/devhtml/R.proto, font/devutf8/R.proto: Add `sqrt'.
5254 * font/devlj4/generate/special.map: Add `sqrt'.
5255 * font/devlj4/S: Regenerated.
5256 * font/devps/generate/textmap: Add `sqrt'.
5257 * font/devps/S, font/devps/symbolmap: Regenerated.
5259 * src/preproc/eqn/sqrt.cc (SQRT_CHAR, RADICAL_EXTENSION_CHAR,
5260 SQRT_CHAIN, BAR_CHAIN): Use `sqrt*' and `sqrtex*'.
5261 * src/roff/troff/input.cc (init_charset_table): Make `sqrtex'
5262 overlap horizontally.
5264 * tmac/X.tmac, tmac/ps.tmac, tmac/lj4.tmac: Add `sqrtex'.
5265 * tmac/dvi.tmac: Add `sr', and `sqrtex'.
5268 * doc/groff.texinfo, man/groff_diff.man: Document that `radicalex'
5269 and `sqrtex' are overlapping glyphs.
5271 2003-01-04 Werner LEMBERG <wl@gnu.org>
5273 * font/devdvi/generate/texsy.map: Add `is'.
5274 * font/devps/symbolmap: Regenerated.
5275 * font/devdvi/*TC, MI, S: Regenerated.
5277 * tmac/dvi.tmac: Remove `is'.
5279 2003-01-03 Werner LEMBERG <wl@gnu.org>
5281 `is' is now a text symbol (only relevant for dvi). The math variant
5282 can be accessed with `integral'.
5284 * font/devX*/S: Regenerated.
5285 * font/devdvi/generate/texex.map: Remove `is'.
5286 * font/devdvi/EX: Updated.
5287 * font/devhtml/R.proto, font/devutf8/R.proto: Add `integral'.
5288 * font/devlj4/generate/special.map: Ditto.
5289 * font/devlj4/S: Regenerated.
5290 * font/devps/generate/textmap: Add `integral'.
5291 * font/devps/S: Regenerated.
5293 * tmac/dvi.tmac: Define `is'.
5295 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `integral'.
5297 * src/preproc/tbl/main.cc (process_format): Fix error message.
5299 2003-01-02 Werner LEMBERG <wl@gnu.org>
5301 * font/devhtml/R.proto, font/devutf8/R.proto: Add `ne' and `nc'.
5302 * font/devps/textmap: Fix entries for `ne' and `nc'.
5303 * font/devps/symbolmap: Regenerated.
5305 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list),
5306 src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `18',
5307 `38', `58', `78', `-+', `|=', `nc', `ne'.
5309 * tmac/dvi.tmac: Add `nm', `ne', `nc'.
5310 Use `schar' for `aq'.
5311 * tmac/ps.tmac, tmac/X.tmac: Add `nc' and `ne'.
5312 * tmac/ec.tmac: Add `SC' to special fonts for `CW' and `CWI'.
5313 * tmac/tty.tmac: Add `ne'.
5315 * src/roff/troff/node.cc (make_glyph_node): Test with `get_macro'
5316 for fallback glyphs.
5318 2002-12-29 Werner LEMBERG <wl@gnu.org>
5322 * font/devX*/*: Regenerated.
5323 * font/devdvi/generate/ec.map: Remove `eq'.
5324 * font/devdvi/generate/texsy.map: Make `~=' the same as `~~'.
5325 Assign `|=' to position 39.
5326 * font/devdvi/*EC, S: Regenerated.
5327 * font/devhtml/R.proto, font/devutf8/R.proto: Add `|='.
5328 * font/devlj4/generate/special.map: Make `~=' the same as `~~'.
5329 Assign `|=' to position 549.
5330 * font/devps/generate/textmap, font/devps/enerate/symbolmap: Remove
5332 Add `uni2243' for `|='.
5334 * tmac/ec.tmac: Add `eq'.
5335 * tmac/dvi.tmac: Add `=~'.
5336 * tmac/tty-char.tmac, tmac/ps.tmac, tmac/X.tmac, tmac/lbp.tmac: Add
5339 2002-12-21 Werner LEMBERG <wl@gnu.org>
5341 * font/devdvi/generate/tc.map: Remove `**'.
5342 * font/devdvi/*TC: Regenerated.
5343 * font/devhtml/R.proto, font/devutf8/R.proto: Add `18', `38', `58',
5345 * font/devutf8/NOTES: Updated.
5347 * src/roff/troff/charinfo.h (charinfo): Add `setx_macro' function.
5348 Don't give default parameter to `set_macro'.
5349 * src/roff/troff/input.cc (do_define_character): Use `setx_macro'
5350 instead of `set_macro'.
5351 (charinfo::setx_macro): Implement it.
5352 (charinfo::set_macro): Don't change `mode'.
5354 * tmac/tty.tmac: Add `18', `38', `58', `78', `<<', `>>'.
5355 * tmac/ps.tmac, tmac/X.tmac: Add `<<', `>>'.
5356 * tmac/dvi.tmac: Define `!=' with `.schar'.
5358 2002-12-20 Werner LEMBERG <wl@gnu.org>
5360 * font/devX*/S: Regenerated.
5361 * font/devdvi/generate/ec.map: Remove `pl'.
5362 * font/devdvi/generate/tc.map: Remove `mi', `14', `12', `34'.
5363 * font/devdvi/*{TC,EC}: Regenerated.
5364 * font/devhtml/R.proto: Add `-+'.
5365 Remove double entries for `rk', `lk', `lt', `rt', `rb', `lb'.
5366 * font/devlbp/*: Remove `or'.
5367 * font/devlj4/generate/special.map: Remove `or'.
5368 * font/devlj4/S: Regenerated.
5369 * font/devps/generate/textmap: Add `fiveeighths', `oneeighth',
5370 `seveneighths', `threeeighths'.
5372 Replace `minusplus' with `uni2213'.
5373 * font/devps/symbolmap: Regenerated.
5374 * font/devutf8/R.proto: Replace `shc' with unnamed glyph.
5377 * src/roff/troff/charinfo.h (charinfo): Add `is_normal' inline
5379 * src/roff/troff/node.cc (troff_output_file::put_char_width):
5380 Call glyph_color and fill_color even if tcommand_flag isn't set.
5381 (make_node, node::add_char): Check not ci->is_fallback but
5384 * tmac/lj4.tmac, tmac/lbp.tmac: Define `or'.
5385 * tmac/ec.tmac: Add .rchar entry for `f/'.
5386 Don't remove `12', `14', `34'.
5387 Define `pl' to be always roman.
5388 * tmac/ps.tmac (ps-frac, ps-frac-mono): New macros.
5389 Define `18', `38', `58', `78'.
5390 * tmac/tty.tmac: Add `-+'.
5391 * tmac/dvi.tmac: Define `f/'.
5392 (dvi-frac): Use `f/'.
5393 * tmac/X.tmac (X-frac, X-frac-mono): New macros.
5394 Define `18', `38', `58', `78'.
5396 2002-12-15 Colin Watson <cjwatson@debian.org>
5398 * contrib/pic2graph/pic2graph.sh: Add missing `;;'.
5400 2002-12-10 Werner LEMBERG <wl@gnu.org>
5402 Add glyph `tno', a textual variant of `no'.
5404 * font/devX*/*: Regenerated.
5405 * font/{devcp1047,devlatin1,devutf8,devhtml}/R.proto: Add `tno'.
5406 * font/devdvi/generate/{tc.map: Replace `no' with `tno'.
5407 * font/devdvi/generated/{texsy,textex}.map: Add `tno'.
5408 * font/devdvi/*: Regenerated.
5409 * font/devlbp/*: Add `tno'.
5410 * font/devlj4/generate/tex.map: Replace `no' with `tno'.
5411 * font/devlj4/*: Regenerated.
5412 * font/devps/generate/textmap: Replace `no' with `tno'.
5413 * font/devps/generate/symbolchars: Add `no'.
5414 * font/devps/*: Regenerated.
5416 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `tno'.
5418 * tmac/cp1047.tmac, tmac/latin1.tmac: Replace `no' with `tno'.
5419 * tmac/tty-char.tmac: Add entry for `tno' and `3d'.
5423 * tmac/dvi.tmac: Replace most `\\' with `\E'.
5424 Add definition for `sd'.
5425 * tmac/X.tmac, tmac/ps.tmac: Replace most `\\' with `\E'.
5427 * tmac/eqnrc <dvi>: Use `integral' instead of `is' glyph.
5429 2002-12-08 Werner LEMBERG <wl@gnu.org>
5431 * tmac/an-old.tmac (TH): Use integer value for `IN' if in nroff
5432 mode to avoid rounding errors.
5433 (an-do-tag, an-do-tag-html, RS, RE): Remove redundant `.br'.
5435 * src/roff/groff/groff.man, src/roff/nroff/nroff.man,
5436 src/roff/troff/troff.man: Improve documentation of -T.
5438 2002-12-07 Jeff Conrad <jeff_conrad@msn.com>
5440 * src/roff/groff/pipeline.c: Don't define `const' for _WIN32.
5441 (run_pipeline) [_WIN32]: Provide working function without `fork'.
5443 2002-12-06 Werner LEMBERG <wl@gnu.org>
5445 * font/devps/generate/freeeuro.sfd: Make dimensions of Euro.symbol
5446 glyphs compatible to Adobe's Euro fonts (scaling them down a bit).
5447 Scaling Euro.sansserif glyphs down to have the same height as
5449 Removed unnecessary points; added some extrema.
5451 * font/devps/EURO, font/devps/freeeuro.afm, font/devps/freeeuro.pfa:
5454 2002-12-04 Werner LEMBERG <wl@gnu.org>
5456 * font/devps/generate/freeeuro.sfd: Add glyphs `Euro.symbol.slanted'
5457 and `Euro.symbol.bold.slanted'.
5458 Improve some glyph offsets and widths.
5459 * font/devps/EURO, font/devps/freeeuro.afm, font/devps/freeeuro.pfa:
5461 * font/devps/generate/Makefile (freeeuro.afm freeeuro.pfa): Fix
5463 * font/devps/generate/sfdtopfa.pe: Generate PFA in current
5466 * tmac/europs.tmac: Updated to new glyph indices.
5467 Use Euro.symbol for font familiy `A'.
5469 * doc/groff.texinfo: Minor improvements.
5471 2002-12-02 Werner LEMBERG <wl@gnu.org>
5473 * font/devdvi/generate.tc.map: s/%O/%0/.
5474 * font/devdvi/*TC: Regenerated.
5476 * src/roff/troff/div.cc (init_div_requests): Sorted.
5478 * tmac/dvi.tmac: Remove `Ye'.
5479 * tmac/ec.tmac: Remove `Ye'.
5480 Add .rchar entry for `de'.
5482 * man/groff.man, man/groff_diff.man: Document register `.pe'.
5483 * doc/groff.texinfo: Document registers `.pe', `.n', and `.w'.
5486 2002-11-30 Werner LEMBERG <wl@gnu.org>
5488 Add PS font for various Euro glyphs.
5490 * font/devps/generate/freeeuro.sfd: New master font file for
5492 * font/devps/generate/sfdtopfa.pe: New conversion script for
5494 * font/devps/generate/Makefile (FONTS): Add `EURO'.
5495 (EURO, freeeuro.afm, freeeuro.pfa): New rules.
5496 * font/devps/freeeuro.pfa, font/devps/freeeuro.afm: Generated from
5498 * font/devps/EURO: Generated from `freeeuro.afm'.
5499 * font/devps/download: Add `freeuro.pfa'.
5500 * font/devps/Makefile.sub (NORMALFILES): Adde `EURO' and
5503 * tmac/europs.tmac: New file.
5504 * tmac/ps.tmac: Include `europs.tmac'.
5505 * tmac/Makefile.sub (DISTFILES): Add `europs.tmac'.
5507 2002-11-29 Werner LEMBERG <wl@gnu.org>
5509 * font/devdvi/generate/texsy.map: Remove `lh' and `rh'.
5510 * font/devdvi/S: Regenerated.
5511 * font/devhtml/R.proto: Fix `CR' and `ci'.
5513 * font/devps/generate/textmap: Fix `lh', `rh', and `sq'.
5515 * font/devps/symbolmap: Regenerated.
5516 * font/devutf8/R.proto: Fix `CR' and `ci'.
5518 * font/devutf8/NOTES: Updated.
5520 * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Fix `CR' and
5523 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Ditto.
5525 * tmac/dvi.tmac: Add `lh' and `rh'.
5526 * tmac/Xps.tmac: Fix `lh' and `rh'.
5527 * tmac/X.tmac: Add `OK'.
5528 * tmac/lj4.tmac: Ditto.
5530 2002-11-24 Werner LEMBERG <wl@gnu.org>
5532 * font/devX*/S: Regenerated.
5533 * font/devascii/R.proto, font/devcp1047/R.proto: Remove glyphs `lb',
5534 `lc', `lf', `lk', `lt', `rb', `rc', `rf', `rk', and `rt'.
5535 * font/devdvi/generate/texsy.map: Remove `or' glyph.
5536 * font/devdvi/S: Regenerated.
5537 * font/devhtml/R.proto, font/devutf8/R.proto: Add/fix glyphs
5538 `parenlefttp', `parenleftex', `parenleftbt', `parenrighttp',
5539 `parenrightex', `parenrightbt', `bracketlefttp', `bracketleftex',
5540 `bracketleftbt', `bracketrighttp', `bracketrightex',
5541 `bracketrightbt', `bracelefttp', `braceleftmid', `braceleftbt',
5542 `braceex', `braceleftex', `bracerightex', `bracerighttp',
5543 `bracerightmid', `bracerightbt', `lt', `lk', `lb', `rt', `rk',
5545 * src/roff/troff/glyphuni.cc, src/roff/troff/uniglyph.cc: Ditto.
5546 * font/devutf8/NOTES: Updated.
5547 * font/devlj4/generate/special.map: Add glyph `braceex'.
5548 * font/devlj4/S: Regenerated.
5550 * tmac/tty-char.tmac: Add glyphs `lf', `rf', `lc', and `rc'.
5552 2002-11-14 Werner LEMBERG <wl@gnu.org>
5554 * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `va'
5557 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Ditto.
5559 * doc/texinfo.tex: New version from texinfo 4.3.
5560 * doc/groff.texinfo: Updated for texinfo 4.3.
5561 Use @tie{} where appropriate.
5562 * font/devdvi/generate/ec.map: Don't include `or' and `bv'.
5563 * font/devdvi/generate/tc.map: Remove `rn'.
5564 * font/devdvi/*TC, font/devdvi/*EC: Regenerated.
5565 * font/devhtml/R.proto, font/devutf8/R.proto: Add `vA'.
5567 * font/devX100/*, font/devX100-12/*, font/devX75/*,
5568 font/devX75-12/*: Regenerated.
5570 * tmac/dvi.tmac: Add special fonts `SA' and `SB'.
5571 Use .char (again) for `br', `ul', `rn', `or', and `ru'.
5572 Improve definition of `an'.
5573 * tmac/ps.tmac: Use .char (again) for `br', `ul', `rn', `or', and
5575 * tmac/lj4.tmac: Use .char (again) for `br', `ul', `rn', and `ru'.
5576 * tmac/X.tmac: Add definition for `or'.
5577 * tmac/Xps.tmac: Undo change 2002-11-05.
5578 * tmac/lbp.tmac: Add definitions for `br', `rn', `ul', and `ru'.
5580 2002-11-11 Werner LEMBERG <wl@gnu.org>
5582 * src/roff/troff/node.cc (troff_output_file::put_char): Always
5585 2002-11-10 Werner LEMBERG <wl@gnu.org>
5587 Added three new requests `schar', `fschar', and `rfschar'. `schar'
5588 defines a glyph which is searched after the check for fonts declared
5589 with `.special' (and before the check for all mounted special
5590 fonts). `fschar' defines a glyph for a particular font which is
5591 searched after the check for fonts declared with `.fspecial' (and
5592 before the check for fonts declared with `.special'). `rfschar'
5593 removes glyphs defined with `fschar'.
5595 * src/roff/troff/token.h (char_mode): New enum.
5596 Declare do_define_character.
5597 * src/roff/troff/charinfo.h (charinfo): Replace `fallback' with
5599 (charinfo::is_fallback): Updated.
5600 (charinfo::is_special): New method.
5601 * src/roff/troff/input.cc (do_define_character): Add and use
5602 optional second parameter used as a prefix for font-specific glyph
5604 (define_character, define_fallback_character): Updated.
5605 (define_special_character): New function.
5606 (init_input_requests): Add `schar'.
5607 (charinfo::charinfo, charinfo::set_macro): Updated.
5608 * src/roff/troff/node.cc: Include `stringclass.h'.
5609 (make_glyph_node): Handle special glyphs defined with `.schar' and
5611 (define_font_special_character, remove_font_special_character): New
5613 (init_node_requests): Sorted.
5614 Add `fschar' and `rfschar'.
5615 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
5616 Document new requests.
5618 * font/devhtml/R.proto, font/devutf8/R.proto: Add `va'.
5619 * tmac/dvi.tmac: Add `va' for CW and CWI (using `.fschar').
5621 2002-11-08 Werner LEMBERG <wl@gnu.org>
5623 Added new font `SC' (cmtex10) to devdvi.
5625 * devdvi/generate/Makefile (FONTS): Add `SC'.
5627 * devdvi/generate/textex.map: New map file for cmtex.
5629 * devdvi/Makefile.sub (DEVFILES): Updated.
5630 * tmac/dvi.tmac: Add fspecial entries for SC.
5631 Add `MI', `S' and `CW' to the `special' call. Otherwise, `SC' is
5632 found before `S' since the font position of `SC' is lower due to the
5633 gaps in DESC's `font' line.
5634 * tmac/ec.tmac: Add a `special' call.
5637 * font/devhtml/R.proto: Remove double entry for `ti'.
5638 * tmac/tty.tmac: Add entries for `IJ', `ij', and `bq'.
5639 * tmac/tty-char.tmac: Remove entry for `bq'.
5640 * tmac/lbp.tmac: Add entries for `lq', `rq', `fo', `fc', and `em'.
5641 * tmac/ec.tmac: Don't remove `aq' glyph.
5642 * tmac/X.tmac: Fix entry for `em'.
5643 Add entries for `fo' and `fc'.
5644 * tmac/dvi.tmac: Add entries for `em', `en', `hy', `fo', and `fc'.
5646 * doc/groff.texinfo, man/groff.man, man/groff_diff.man: Fix
5647 documentation of `special' and `fspecial' requests.
5649 2002-11-05 Werner LEMBERG <wl@gnu.org>
5651 * font/devascii/R.proto, font/devcp1047/R.proto,
5652 font/devlatin1/R.proto: Remove entry for `.i'.
5653 * font/devdvi/generate/textt.map: Add entry for `ad'.
5654 * font/devdvi/generate/texr.map, font/devdvi/generate/texb.map,
5655 font/devdvi/generate/texi.map: Add dummy glyph name `slash@for@l'.
5656 We need this for getting kerning values to compose `/l' and `/L'.
5657 * font/devdvi: Regenerated font definition files for CM fonts.
5658 * font/devhtml/R.proto: Add entries for "'C", "'c", `IJ', and `ij'.
5659 * font/devutf8/R.proto: Ditto.
5660 Remove double entry for `ti'.
5662 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Fix entries
5663 for (groff) ligatures, `la', and `ra'.
5664 Add "'C", "'c", `IJ', and `ij'.
5665 Remove double entry for `ti'.
5666 * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Remove all
5668 Add "'C", "'c", `IJ', and `ij'.
5669 Fix entries for (groff) ligatures, `la', and `ra'.
5671 * tmac/ps.tmac (ps-achar): New macro.
5672 Define "'c" and "'C".
5673 * tmac/tty.tmac: Add entry for `.i'.
5674 * tmac/X.tmac (X-achar): New macro.
5675 Define "'c", "'C", and `:Y'.
5676 Add entries for `IJ' and `ij'.
5677 * tmac/Xps.tmac (Xps-achar): New macro.
5678 Define "'c" and "'C".
5679 Add entries for `IJ' and `ij'.
5680 * tmac/lbp.tmac (lbp-achar): New macro.
5681 Add fallback characters for all groff ligatures and many other
5683 * tmac/dvi.tmac: Fix definitions of `_' and `ul'.
5684 Add entries for `/l' and `/L'.
5685 Define "'c" and "'C".
5686 Add entries for `IJ' and `ij'.
5688 2002-11-02 Larry Kollar <kollar@alltel.net>
5690 * PROBLEMS: Document how to solve Mac OS X compilation problems.
5692 2002-11-02 Werner LEMBERG <wl@gnu.org>
5694 Adding support for composite glyphs: \[xxx yyy ...] and the
5695 `composite' request.
5697 * src/roff/troff/glyphuni.cc: New file for mapping groff glyph names
5698 to Unicode-based glyph names.
5699 * src/roff/troff/uniglyph.cc: New file for mapping Unicode-based
5700 glyph names to groff glyph names.
5701 * src/roff/troff/uniuni.cc: New file for canonically decomposing
5702 Unicode-based glyph names.
5703 * src/roff/troff/unicode.cc, src/roff/troff/unicode.h: New files
5704 for handling Unicode glyph names.
5705 * src/roff/troff/input.cc: Include unicode.h.
5706 (composite_glyph_name): New function.
5707 (token::next) <'['>: Handle Unicode glyph names and composite
5709 (composite_dictionary): New dictionary for the `composite' request.
5710 (composite_request): Implement `composite' request.
5711 (init_input_requests): Add `composite'.
5712 Alphabetically sorted.
5713 * src/roff/troff/env.cc (tabs_save, tabs_restore): Removed (already
5715 (init_env_requests): Alphabetically sorted.
5716 Removed `tas' and `tar' (already commented out).
5717 * src/roff/troff/Makefile.sub: Updated.
5719 2002-10-31 Ruslan Ermilov <ru@FreeBSD.org>
5721 * src/roff/nroff/nroff.man, src/roff/nroff/nroff.sh: Fix description
5724 2002-10-29 Werner LEMBERG <wl@gnu.org>
5726 Fix computation of .trunc register. Additionally, its value (and
5727 the value of the .ne register) is now always set before entering the
5730 * src/roff/troff/div.cc (diversion::need): Set `truncated_space' and
5731 `needed_space' before calling `space'.
5732 (top_level_diversion::space): Remove special code for 'sp before the
5734 Call `begin_page' with the discarded space as a parameter.
5735 (top_level_diversion::begin_page): Add optional parameter to set
5737 * src/roff/troff/div.h: Updated.
5739 * doc/groff.texinfo: Improve documentation of .sp, \n[.trunc], and
5742 * tmac/an-old.tmac (SH, SS, TP, IP, HP, TS): Undo change 2002-10-26.
5743 (LP): Remove superfluous call to `br'.
5744 * tmac/doc-common (doc-paragraph): Undo change 2002-10-26.
5745 * tmac/doc.tmac (Bd, Bl, doc-set-vertical-and-indent): Ditto.
5747 2002-10-26 Werner LEMBERG <wl@gnu.org>
5749 * tmac/doc-ditroff: Remove useless switch/variable -rC.
5750 (doc-setup-header): Don't set page register `%'.
5751 * tmac/doc-nroff: Remove variable `C'.
5752 (doc-setup-page-layout): Set doc-header-space to .5i unconditionally.
5753 (doc-setup-header): Don't set page register `%'.
5755 * tmac/doc-common (doc-header): Call `ns'.
5756 (doc-paragraph): Protect .sp with .br so that it survives traps
5757 possibly set by the user.
5758 * tmac/doc.tmac (Bd, Bl, doc-set-vertical-and-indent): Ditto.
5760 * tmac/doc*: Replace ' with . for consistency if no effect.
5762 2002-10-26 Werner LEMBERG <wl@gnu.org>
5764 * tmac/an-old.tmac (SH, SS, TP, IP, HP, TS): Protect .sp with .br
5765 so that it survives traps possibly set by the user.
5767 * src/roff/troff/node.cc: Fix the changes from 2002-10-23.
5768 (troff_output_file::set_font): Call flush_tbuf if necessary.
5769 (troff_output_file::fill_color, troff_output_file::glyph_color): Call
5770 flush_tbuf and do_motion only if necessary.
5771 (troff_output_file::start_special,
5772 troff_output_file::put_char_width, troff_output_file::put_char,
5773 troff_output_file::draw): Updated.
5774 (word_space_node::tprint, space_node::tprint, hmotion_node::tprint,
5775 vmotion_node::tprint): Undo change 2002-10-23.
5777 2002-10-25 Werner LEMBERG <wl@gnu.org>
5779 * tmac/www.tmac (DC): Fix case of overlapping images.
5781 2002-10-23 Werner LEMBERG <wl@gnu.org>
5783 * src/roff/troff/node.cc (troff_output_file::fill_color,
5784 troff_output_file::glyph_color): Set current color before testing
5786 (troff_output_file::put_char_width, troff_output_file::put_char,
5787 troff_output_file::draw): Don't call flush_tbuf and/or do_motion
5789 (troff_output_file::file_color, troff_output_file::glyph_color):
5791 (word_space_node::tprint, space_node::tprint, hmotion_node::tprint,
5792 vmotion_node::tprint): Move first, then call fill_color.
5794 2002-10-20 Werner LEMBERG <wl@gnu.org>
5796 * doc/groff.texinfo, man/groff_tmac.man: Document that it is not
5797 possible to use multiple main macro packages.
5799 2002-10-19 Werner LEMBERG <wl@gnu.org>
5801 * src/devices/grops/ps.cc (cmyk_flag): New global variable.
5802 (ps_printer::set_color): Set `cmyk_flag' for CMY and CMYK colors.
5803 (ps_printer::~ps_printer): Emit `%%Extensions: CMYK' if `cmyk_flag'
5805 * font/devps/prologue.ps (Fk, Ck): Enclose definitions with a
5806 `where' construction since `cmyksetcolor' is a PS Level 2 operator.
5808 2002-10-16 Werner LEMBERG <wl@gnu.org>
5810 * NEWS, doc/webpage.ms: Updated.
5812 2002-10-14 Werner LEMBERG <wl@gnu.org>
5814 * src/roff/troff/node.cc (troff_output_file::put_char_width,
5815 troff_output_file::put_char, troff_output_file::fill_color,
5816 troff_output_file::glyph_color): Handle case where color pointer
5819 2002-10-13 Ruslan Ermilov <ru@FreeBSD.org>
5821 Add the new -r option to grotty. It is similar to the -i option
5822 except it tells grotty(1) to use the "reverse video" attribute to
5823 render italic fonts.
5825 * src/devices/grotty/tty.cc (reverse_flag): New global variable.
5826 (SGR_REVERSE, SGR_NO_REVERSE): New macros.
5827 (tty_printer::make_underline, tty_printer::put_color,
5828 tty_printer::end_page): Use it.
5829 (main): Add -r switch.
5831 * src/devices/grotty/grotty.man: Document it.
5833 2002-10-11 Ruslan Ermilov <ru@FreeBSD.org>
5835 * src/roff/troff/env.cc (hyphen_trie::read_patterns_file): Add
5836 cast to `unsigned char' to properly read patterns with 8bit
5839 2002-10-08 Werner LEMBERG <wl@gnu.org>
5841 * REVISION: Increased to 2.
5844 version-control: never