1 2006-12-31 Werner LEMBERG <wl@gnu.org>
3 * Makefile.in (oldfontdir): New variable.
4 (MDEFINES): Add $(oldfontdir).
5 (uninstall_dirs): Remove `current' link.
8 * Makefile.comm (oldfontsubdir): New variable.
9 (install_dev): Install files collected in $(OLDDEVFILES) into
11 (uninstall_dev): Remove data in $(oldfontsubdir).
12 (.man.n): Handle @OLDFONTDIR@.
14 * src/devices/grodvi/grodvi.man, src/devices/grohtml/grohtml.man,
15 src/devices/grolbp/grolbp.man, src/devices/grolj4/grolj4.man,
16 src/devices/grotty/grotty.man, src/devices/xditview/gxditview.man:
17 Document GROFF_FONT_PATH.
19 * src/devices/grops/grops.man: Document GROFF_FONT_PATH and
20 old font description files.
22 * font/devps/Makefile.sub (OLDDISTFILES, OLDDEVFILES): New
25 * font/devps/old/*: New directory, holding the previous version
26 of the 35 Adobe core font description files.
28 * font/devps/*: Regenerated the 35 Adobe core fonts, using the
29 Adobe-Core35_AFMs-229.tar.bz2 bundle from ftp.dante.de.
31 * NEWS: Document font update.
33 2006-12-31 Werner LEMBERG <wl@gnu.org>
35 * font/devps/generate/Makefile (symbolsl.afm): Use $(srcdir).
37 * Makefile.comm (fonts): New (empty) target.
38 * Makefile.in (TARGETS): Add `fonts'.
40 * MANIFEST: Add `chem'.
42 * doc/groff.texinfo (Changing Fonts): Font translations with .ftr
45 2006-12-26 Werner LEMBERG <wl@gnu.org>
47 * src/preproc/grn/hdb.cpp: Include gprint.h later. From NetBSD.
49 2006-12-19 Werner LEMBERG <wl@gnu.org>
51 Add support for German. For activation, simply use -mde or -mden
52 (for traditional and new orthgraphy, respectively) as the last
55 * tmac/de.tmac, tmac/den.tmac, tmac/hyphen.det, tmac/hyphen.den,
56 tmac/hyphenex.det: New files, partly taken from CTAN.
57 * LICENSES: Updated list of hyphenation patterns.
58 * man/groff_tmac.man: Mention de.tmac and den.tmac.
61 2006-12-11 Werner LEMBERG <wl@gnu.org>
63 Support up to 32 macro arguments in pic (and up to 16 on EBCDIC
66 * src/preproc/pic/lex.cpp (ARG1): Redefine. Update all users.
67 (MAX_ARG): New macro. Use it everywhere to replace hard-coded
69 (process_body): Handle argument numbers with more than a single
71 (interpolate_macro_with_args): Protect against exceeding number of
74 * NEWS, src/preproc/pic/pic.man, doc/pic.ms: Document it.
76 2006-12-10 Werner LEMBERG <wl@gnu.org>
78 * Makefile.in (site.exp, docheck): Commented out. Not working
80 (check): Just emit dummy message.
82 2006-12-08 Werner LEMBERG <wl@gnu.org>
84 During installation, create soft link from <version> to `current' in
87 * Makefile.comm (install): Renamed to...
89 (prefix_must_exist): Removed. Code moved to Makefile.in.
91 * Makefile.in (TARGETS): Remove `install'.
93 (install): New target which first creates the directory given by
94 --prefix, then calling `make' to do the installation, and finishing
95 with the creation of the soft link.
97 2006-11-21 Werner LEMBERG <wl@gnu.org>
99 * doc/Makefile.sub (uninstall_sub): Fix names for info files.
101 2006-11-18 Werner LEMBERG <wl@gnu.org>
103 * man/roff.man, doc/groff.texinfo: Improve history of roff, based on
104 information from Tom Van Vleck <thvv@multicians.org>.
106 2006-11-16 Werner LEMBERG <wl@gnu.org>
108 * tmac/62bit.tmac: New macro package.
109 * tmac/Makefile.sub (NORMALFILES): Add it.
112 * tmac/trace.tmac: Protect against being loaded again.
113 (nr): Always show result.
115 * doc/groff.texinfo (Input Encodings): Document latin-5.
117 * man/grof_tmac.man: Document sv, latinX, cp1047, 60bit, ec.
119 2006-11-13 Werner LEMBERG <wl@gnu.org>
121 * doc/groff.texinfo (Page Location Traps) [.wh]: Give more details
122 on negative trap positions.
124 2006-11-10 Werner LEMBERG <wl@gnu.org>
126 * Makefile.comm (.man.n): Handle @DATASUBDIR@.
128 2006-11-09 Werner LEMBERG <wl@gnu.org>
130 * INSTALL: Move information about external installation from
131 INSTALL.gen into this file.
134 * INSTALL.gen: Update to new version (from texinfo CVS).
136 2006-11-09 Bernd Warken
138 * INSTALL.gen: Extend the file by information on `external
139 installation'. Reorder the installation instruction as `normal
142 2006-11-08 Werner LEMBERG <wl@gnu.org>
144 * doc/Makefile.sub (install_data): Take care of proper paths while
145 installing info files. Bug reported by Bernd Warken.
147 2006-11-06 Bernd Warken
149 * src/roff/grog/grog.pl: Rewrite.
150 - Call by `#! /usr/bin/env perl'. That isn't replaced.
151 - Rename usage() to version().
153 - For `use strict', start all global variables with an upper case
154 character. Use `my' for all variables. Use several new variables.
156 - Add copyright to GPL and Emacs comment.
157 - Handle several `-m*' options.
158 - Fix handling of `-ms' and `-mm'. Add .TL and .NH.
159 - Allow options after file names.
160 - Allow only one `-' parameter (standard input).
161 - Add option abbreviations.
162 - Expand the usage information.
164 - Add single quote "'" as additional first character and allow
165 arbitrary space after the first character.
167 * src/roff/grog/grog.sh: Rewrite.
168 - Remove option `-e' of `sed'.
169 - Allow file names with space characters.
171 - Add copyright to GPL.
172 - Handle several `-m*' options.
173 - Fix handling of `-ms' and `-mm'. Add .TL and .NH.
174 - Allow options after file names.
175 - Allow only one `-' parameter (standard input).
176 - Add option abbreviations.
177 - Expand the usage information.
179 - Add single quote "'" as additional first character and allow
180 arbitrary space after the first character.
182 * src/roff/grog/Makefile.sub:
183 - Add copyright to GPL.
184 - Remove `grog:'. Move `grog.old:' to `grog:' in order to have a
185 fair chance to choose between the shell version and the Perl
186 version of `grog'. This is now again comparable to grog in groff
189 * src/roff/grog/grog.man: Rewrite.
190 - Move the license to GPL.
191 - New sections: OPTIONS, DETAILS, EXAMPLES, COPYING.
192 - Take over some setup and macros from `groffer'.
193 - Add information on options.
195 2006-10-28 Werner LEMBERG <wl@gnu.org>
197 * tmac/trace.tmac: Improve tracing of `.nr'.
198 Trace `.substring' also.
202 2006-10-28 Bernd Warken
204 * man/roff.man, src/roff/groff/groff.man: Add `chem', fix position
205 of groff development site, fix fonts.
207 * News: Add information on `chem' and `groffer'.
209 2006-10-26 Bernd Warken
211 * Makefile.in (OTHERDIRS, NOMAKEDIRS): Add `chem' bundle.
213 2006-10-26 Werner LEMBERG <wl@gnu.org>
215 Add `\%^' escape to handle the parameters to a macro as a string
218 * src/roff/troff/input.h (DOUBLE_QUOTE): New special character.
220 * src/roff/troff/input.cpp (input_iterator, input_stack,
221 macro_iterator): Add `space_follows_arg' member function.
222 (macro_iterator::add_arg): Add parameter to set the `space_follows'
224 (arg_list): Add member `space_follows'.
225 Update constructor and all callers.
226 (decode_args): Store discarded double quotes.
227 (interpolate_args): Handle DOUBLE_QUOTE.
229 (get_copy, token::next, composite_glyph_name): Handle DOUBLE_QUOTE.
231 * tmac/trace.tmac: Trace .nr, .ds, .ds1, .as, .as1.
233 * docs/groff.texinfo (Parameters), man/groff.man,
234 man/groff_diff.man, NEWS: Document it.
236 2006-10-24 Bernd Warken
238 * Makefile.in (NOMAKEDIRS): Add groffer subdirectories.
240 2006-10-24 Werner LEMBERG <wl@gnu.org>
242 * tmac/groff_trace.man: Mention problem with `\\\\'.
244 2006-10-23 Werner LEMBERG <wl@gnu.org>
246 * doc/groff.texinfo (Expressions): Improve documentation of `!'.
248 * tmac/trace.tmac (return): Don't call `substring'.
250 2006-09-10 Werner LEMBERG <wl@gnu.org>
252 * src/roff/troff/input.cpp (read_size): Revert previous change
255 * doc/groff.texinfo (Fractional Size Types): Clarify syntax of \s.
257 2006-09-09 Werner LEMBERG <wl@gnu.org>
259 * src/roff/troff/input.cpp (read_size): Fix `\s[-\n[.s]]' so that it
260 behave the same as `\s-[\n[.s]]' (this is, emit a warning and set
261 point size to 1). Reported by Gunnar Ritter.
262 Also catch `\s-[-...]' and friends (causing an error).
264 2006-09-06 Werner LEMBERG <wl@gnu.org>
266 * src/roff/troff/env.cpp (environment::do_break): Insert zero-width
267 space only if there is no previous space. This fixes a bug which
268 caused unwanted filling of the last line in a paragraph. Thanks to
269 Gunnar Ritter for an analysis.
271 2006-09-03 Werner LEMBERG <wl@gnu.org>
273 * src/roff/groff/groff.cpp (main): Pass -U flag to pic also.
274 Reported by Jennifer Sayers <jenjen@isu.usyd.edu.au>.
276 2006-09-01 Nick Stoughton <nick@msbit.com>
277 Werner LEMBERG <wl@gnu.org>
279 Add a request `pev' to print environment information (similar to
280 `pnr' and `ptr' to print number registers and traps).
282 * src/roff/troff/env.h (environment): Add member function print_env.
284 * src/roff/troff/env.cpp: (environment::print_env): New function to
285 print a given environment state.
286 (print_env): New global function to iterate through the
287 environments, printing each one.
288 (init_env_requests): Register `pev'.
290 * doc/groff.texinfo (Debugging), man/groff.man, man/groff_diff.man,
291 NEWS: Document `pev' request.
293 2006-09-01 Bernd Warken
295 * src/preproc/soelim/soelim.cpp (usage): Fix option argument of
298 2006-09-01 Werner LEMBERG <wl@gnu.org>
300 * src/preproc/pic/main.cpp (usage): Add missing options.
302 2006-08-25 Werner LEMBERG <wl@gnu.org>
304 * src/preproc/soelim/soelim.man: Document how to insert `\' and ` '
307 2006-08-19 Werner LEMBERG <wl@gnu.org>
309 * configure: Regenerated.
311 2006-08-18 Keith Marshall <keith.d.marshall@ntlworld.com>
313 * m4/groff.m4 (GROFF_MAKEINFO): Correct `makeinfo version testing
314 logic; it previously caused an `expr' syntax error, if no version of
315 `makinfo' was present. Also, remove dependency on `makeinfo' in VPATH
316 builds, if an up to date `groff.info' is present in either `builddir'
319 2006-08-12 Tadziu Hoffmann <hoffmann@usm.uni-muenchen.de>
321 * font/devps/prologue.ps: Add BPhook.
323 * src/devices/grops/grops.man: Document BPHook.
324 Reorder some sections for better readability.
326 2006-08-12 Werner LEMBERG <wl@gnu.org>
328 * src/include/lib.h (getlocale): New macro.
329 (setlocale, LC_ALL, LC_CTYPE) [!HAVE_SETLOCALE]: Define, as
332 * src/preproc/preconv/preconv.cpp (main): Use getlocale.
334 2006-08-11 Werner LEMBERG <wl@gnu.org>
336 Add new flag to .cflags to enable hyphenation without looking at
339 * src/roff/troff/charinfo.h (charinfo): New enumeration value
341 New member function `ignore_hcodes'.
343 * src/roff/troff/node.cpp (break_char_node::add_self,
344 node::add_char): Updated.
346 * doc/groff.texinfo, man/groff_diff.man, NEWS: Document it.
348 2006-08-09 Werner LEMBERG <wl@gnu.org>
350 Support composite Unicode characters again. Reported by Colin.
352 * font/devhtml/R.proto: Renamed to...
353 * font/devhtml/R.in: This.
355 * font/devutf8/R.proto: Renamed to...
356 * font/devutf8/R.in: This.
359 * font/make-Rproto: New script.
360 * font/devhtml/R.proto, font/devutf8/R.proto: Generated.
362 2006-07-26 Werner LEMBERG <wl@gnu.org>
364 * README: Fix description of CVS access. Reported by Joachim.
366 2006-07-11 Werner LEMBERG <wl@gnu.org>
368 Add a request `.fzoom' and a number register `.zoom' to magnify
371 * src/include/font.h (font): Add member variable `zoom'.
372 Add member functions `set_zoom' and `get_zoom'.
373 Remove `static' attribute from `scale' member function.
375 * src/libs/libgroff/font.cpp (font::font): Updated.
376 (scale_round): New version with three parameters to handle zoom
378 (font::scale, font::get_width): Handle zoom factor.
379 (font::set_zoom, font::get_zoom): New functions.
380 (font::load): Handle `zoom' while computing `space_width'.
382 * src/roff/troff/env.h: Declare `env_get_zoom'.
383 (environment): Add member function `get_zoom'.
385 * src/roff/troff/env.cpp (environment::get_zoom): New function.
386 (init_env_requests): Initialize `.zoom' register.
388 * src/roff/troff/node.cpp (font_info): New member functions
389 `set_zoom' and `get_zoom'.
390 (tfont): New member function `get_zoom'.
391 (env_get_zoom): New function.
392 (troff_output_file::set_font): Handle zoom factor.
393 (font_zoom_request): New function.
394 (init_node_requests): Initialize `fzoom' request.
396 * docs/groff.texinfo (Changing Fonts), man/groff.man,
397 man/groff_diff.man, NEWS: Document `fzoom' request and `.zoom'
400 * src/roff/troff/TODO: Updated.
402 2006-07-10 Werner LEMBERG <wl@gnu.org>
404 * doc/groff.texinfo (Drawing Requests): Improve documentation of
407 2006-07-02 Werner LEMBERG <wl@gnu.org>
409 * man/groff_tmac.man: Document usage of .PSPIC within diversions.
411 2006-07-01 Werner LEMBERG <wl@gnu.org>
413 * tmac/pspic.tmac: Make .PSPIC work for all devices.
414 Print image file name for devices which don't support PS image
416 Handle multiple inclusions.
417 Add lots of comments.
419 * tmac/dvi.tmac, tmac/html.tmac, tmac/ps.tmac: Don't load
422 * tmac/troffrc: Load pspic.tmac.
424 * man/groff_tmac.man: Update .PSPIC documentation.
428 2006-06-29 Werner LEMBERG <wl@gnu.org>
430 * src/roff/troff/input.cpp (interpolate_macro):
431 s/probably/possibly/, as suggested by Keith.
433 2006-06-28 Werner LEMBERG <wl@gnu.org>
435 Add support for \D'p...' to grotty.
437 * src/devices/grotty/grotty.cpp (tty_printer::draw): Move most of
439 (tty_printer::line): This function.
440 (tty_printer::draw): Rewritten; just call either draw_line or
442 (tty_printer::draw_line, tty_printer::draw_polygon): New functions.
444 * src/devices/grotty/grotty.man, NEWS: Document it.
446 2006-06-27 Werner LEMBERG <wl@gnu.org>
448 * src/preproc/refer/command.h (have_bibliography): New variable
451 * src/preproc/refer/command.cpp (bibliography_command): Set
454 * src/preproc/refer/refer.cpp: Initialize `have_bibliography'.
455 (output_references): Emit warning only if `have_bibliography' is
458 2006-06-15 Michail Vidiassov <master@iaas.msu.ru>
460 * fonts/devps/Makefile.sub (DISTFILES): Add freeeuro.afm.
461 * fonts/devps/generate/Makefile (clean): Don't remove symbolsl.afm
464 2006-06-15 Werner LEMBERG <wl@gnu.org>
466 * src/preproc/tbl/tbl.man: Document limitations of .TS/.TE within a
467 macro (as suggested by Tadziu Hoffmann).
469 2006-06-12 Werner LEMBERG <wl@gnu.org>
471 * src/preproc/tbl/tbl.man: Add example for use of .TS/.TE within a
472 macro (as suggested by Tadziu Hoffmann).
474 2006-06-05 Werner LEMBERG <wl@gnu.org>
476 * tmac/strip.sed: Strip `\#' also.
478 * doc/groff.texinfo (Operators in Conditionals): Document usage of
479 \? for string comparison.
481 2006-06-04 Werner LEMBERG <wl@gnu.org>
483 * doc/groff.texinfo: Add more index entries for copy-in mode.
484 (Changing Fonts) <.ft>: Document that a font definition file must
485 not be called `DESC'.
487 2006-05-31 Werner LEMBERG <wl@gnu.org>
489 * src/roff/troff/input.cpp (token::next) <\N>: Catch negative values
492 * doc/Makefile.sub (EXAMPLEFILES): Move gnu.eps to...
493 (PROCESSEDEXAMPLEFILES): Here.
495 2006-05-30 Werner LEMBERG <wl@gnu.org>
497 * src/libs/libgroff/font.cpp (font::load): Reject fonts called
499 Reduce number of false positives for `.if F ...' conditionals.
500 Improve warning messages.
502 2006-05-29 Werner LEMBERG <wl@gnu.org>
504 * tmac/Makefile.sub: Add copyright notice.
505 (NORMALFILES): Add man.tmac and ms.tmac.
506 (SPECIALFILES): Remove man.tmac and ms.tmac.
507 (CLEANADD): Remove man.tmac-sed and ms.tmac-sed.
508 (install_data, uninstall_sub): Don't handle man.tmac and ms.tmac
510 (stamp-sed): Don't handle man.tmac and ms.tmac.
511 Remove obsolete components in sed's regexp.
513 * doc/Makefile.sub (EXAMPLEFILES): Add gnu.eps.
515 * Makefile.in (OTHERDIRS, NOMAKEDIRS): Add hdtbl.
517 2006-05-28 Werner LEMBERG <wl@gnu.org>
519 * doc/groff.texinfo (History): Correct death circumstances of Joe
522 2006-05-27 Werner LEMBERG <wl@gnu.org>
524 * tmac/an-old.tmac (an-do-tag): Simplify.
526 2006-05-26 Werner LEMBERG <wl@gnu.org>
528 * tmac/an-old.tmac (an-do-tag): Make margin characters work.
529 (an-header, an-p-footer): Use named environment.
531 * src/roff/troff/env.cpp (environment::copy): Copy margin character
534 2006-05-21 Werner LEMBERG <wl@gnu.org>
536 * tmac/trace.tmac (de1): Fix serious typo (.di -> .do) and minor
539 2006-05-11 Keith Marshall <keith.d.marshall@ntlworld.com>
541 * src/roff/groff/groff.man: Remove superfluous word `intermediate'.
543 2006-05-10 Keith Marshall <keith.d.marshall@ntlworld.com>
545 * src/roff/groff/groff.man: Update copyright notice.
546 Improved wording to describe effect of `-Z' option.
548 2006-05-06 Werner LEMBERG <wl@gnu.org>
550 * tmac/www.tmac: Decorate `.ds' with trailing `\"' where missing.
551 Normalize handling of `"' in arguments.
552 (PIMG): Remove debug message.
555 2006-05-05 Werner LEMBERG <wl@gnu.org>
557 * src/devices/grohtml/post-html.cpp (page::add_and_encode): Don't
558 swallow character immediately after `\[...]'.
561 2006-05-02 Gaius Mulley <gaius@glam.ac.uk>
563 * tmac/www.tmac (PIMG): Fix the HTML device specific components.
565 2006-05-02 Larry Kollar <kollar@alltel.net>
567 * tmac/www.tmac (PIMG): Really default to `-C' if the alignment
570 2006-04-30 Michail Vidiassov <master@iaas.msu.ru>
572 * src/utils/afmtodit/afmtodit.pl: New option `-c' to add font
573 information as a comment in output.
574 * src/utils/afmtodit/afmtodit.man, NEWS: Document it.
576 2006-04-26 Werner LEMBERG <wl@gnu.org>
578 * src/devices/grohtml/post-html.cpp (html_printer::~html_printer):
579 Handle current_paragraph only if it is non-NULL.
581 * src/libs/libdriver/input.cpp (parse_x_command <'F'>, do_file
582 <'F'>): Use `get_extended_arg' to behave as documented. Reported by
583 Bill Ward <william.a.ward.jr@erdc.usace.army.mil>.
586 Surround the (pseudo) file name for the .pso request with `<' and
589 * src/roff/troff/node.cpp (real_output_file, troff_output_file): Add
590 second parameter to `really_put_filename' and `put_filename'.
591 (troff_output_file::really_put_filename): Emit `<' and `>' around
592 filename if second argument is set.
593 * src/roff/troff/node.h: Updated.
595 * src/roff/troff/input.cpp (file_iterator::file_iterator,
596 file_iterator::set_location): Update to changes in node.cpp.
598 2006-04-25 Tetsurou Okazaki <okazaki@FreeBSD.org>
600 * src/preproc/preconv/preconv.cpp (do_file): Fix conditional
601 preprocessor expression (I18N -> HAVE_ICONV).
602 (main): Fix handling of option `-h'.
603 Fix conditional preprocessor expression.
605 2006-04-04 Werner LEMBERG <wl@gnu.org>
607 Implement new number register `.br' which is set to 1 if a macro has
608 been called as .foo and to 0 if called as 'bar. This is useful for
609 -mtrace so that requests can be reliably traced too.
611 * src/roff/troff/input.cpp (input_iterator): Add virtual function
613 (macro_iterator): Add `with_break' member and `get_break_flag'
616 (input_stack): Add function `get_break_flag'.
617 (break_flag_reg): New number register class.
618 (input_init_requests): Register `.br'.
620 * src/roff/troff/TODO: Updated.
622 * tmac/trace.tmac: s/!!sp/!!!sp/.
623 Modify definitions of `de', `de1', `am', and `am1' to use \n[.br].
625 * docs/groff.texinfo (Requests), man/groff.man, man/groff_diff.man,
628 2006-03-29 Werner LEMBERG <wl@gnu.org>
630 * src/devices/grops/ps.cpp: s/must not/should not/ in warning
631 messages where appropriate.
633 2006-03-28 Werner LEMBERG <wl@gnu.org>
635 * configure.ac: Call AC_PROG_EGREP.
636 * configure: Regenerated.
638 * Makefile.in (EGREP): New variable.
639 (MDEFINES): Add $(EGREP).
641 * src/roff/grog/grog.sh: Treat .TH between .TS and .TE properly
642 (bug reported by Robert Goulding <Goulding.2@nd.edu>).
645 * src/roff/grog/Makefile.sub (grog, grog.old): Use $(EGREP).
647 2006-03-27 Werner LEMBERG <wl@gnu.org>
649 Add two requests `.device' and `.devicem' which are equivalent to
650 `\X' and `\Y', respectively.
652 * src/roff/troff/input.cpp (device_request, device_macro_request):
654 (init_input_requests): Register them.
656 * doc/groff.texinfo (Postprocessor Access), man/groff_diff.man,
657 man/groff.man, NEWS: Document them.
659 2006-03-27 Gaius Mulley <gaius@glam.ac.uk>
661 * src/roff/troff/input.cpp (encode_char): Emit special characters
662 for -Thtml as `\[...]'.
663 * src/devices/grohtml/post-html.cpp (page::add_and_encode): Updated.
665 * doc/groff.texinfo (Postprocessor Access) <\X>: Updated.
667 2006-03-27 Werner LEMBERG <wl@gnu.org>
669 * tmac/Makefile.sub (NORMALFILES, SPECIALFILES): Add various missing
672 2006-03-26 Werner LEMBERG <wl@gnu.org>
674 * doc/groff.texinfo (Writing Macros): More documentation on
675 end-of-macro symbol of `.de'.
676 (Diversions): Minor addition to `.di' description.
678 * src/devices/grops/grops.man: Some clarifications regarding
679 insertion of PostScript snippets.
681 2006-03-25 Michail Vidiassov <master@iaas.msu.ru>
683 Add rules to generate `symbolsl.afm'.
685 * fonts/devps/generate/zapfdr.sed,
686 fonts/devps/generate/symbolsl.awk: New files.
688 * fonts/devps/generate/Makefile (symbolfont, PRINTAFM): New
690 (SS, clean): Updated.
691 (freeeuro.afm): Use $(srcdir).
692 (symbolsl.afm): New rule.
693 (zapfdr.afm): Use zapfdr.sed.
695 2006-03-22 Dwight Aplevich <aplevich@uwaterloo.ca>
697 * src/preproc/pic/pic.y (expr <INT>): Fix code.
699 2006-03-22 Jörgen Grahn <jgrahn@algonet.se>
701 * tmac/sv.tmac: Add missing translations and activate support for
702 other macro packages.
704 2006-03-21 Francis GUDIN <fgudin@nerim.net>
706 * tmac/doc-syms (Dx): New macro to identify DragonFly.
707 (doc-str-St--ieee1275-94, doc-str-St--isoC-amd1,
708 doc-str-St--isoC-tcor1, doc-str-St--isoC-tcor2): New standard
710 (doc-operating-system-FreeBSD-5.5, doc-operating-system-FreeBSD-7.0,
711 doc-operating-system-NetBSD-1.6.3, doc-operating-system-NetBSD-4.0
712 doc-operating-system-DragonFly-*): New operating system strings.
714 * tmac/groff_mdoc.man, NEWS: Document `Dx'.
716 2006-03-21 Werner LEMBERG <wl@gnu.org>
718 * src/preproc/pic/pic.y (object_spec THEN): For compatibility with
719 both DWB pic and dpic, make
727 line right then down;
734 * doc/pic.ms: Document this.
736 2006-03-20 Werner LEMBERG <wl@gnu.org>
738 * doc/pic.ms: With permission of Eric Raymond, put it under the
743 2006-03-19 Werner LEMBERG <wl@gnu.org>
745 * src/preproc/pic/pic.y (expr <INT>): Really return integer part.
747 * src/preproc/pic/objects.cpp (object_spec::make_line): Handle `at'
748 attribute in combination with `with'. Bug reported by Jennifer
749 Sayers <jenjen@mail.usyd.edu.au>.
751 2006-03-19 Miklos Somogyi <msom@netspace.net.au>
753 * doc/groff.texinfo (Manipulating Spacing): Improve documentation of
756 2006-03-18 Werner LEMBERG <wl@gnu.org>
758 * LICENSE: Renamed to...
759 * LICENSES: This. Collect all licensing information in this file.
760 * tmac/README, src/libs/snprintf/README: Removed.
762 * src/devices/grops/grops.man: Add section how to install fonts.
764 * src/utils/xtotroff/xtotroff.c: Add GPL.
766 2006-03-17 Werner LEMBERG <wl@gnu.org>
768 * Makefile.comm (.y.cpp): Fix #line arguments in output.
770 2006-03-13 Werner LEMBERG <wl@gnu.org>
772 * src/preproc/tbl/tbl.man: Mention default length of text blocks.
774 * tmac/doc-common (Os): Add more Darwin versions.
775 * tmac/groff_mdoc.man: Document them.
777 * doc/groff.texinfo (Operators in Conditionals): Mention that `c'
778 works with \N'...' also.
779 * man/groff_diff.man: Ditto. Remove use of future tense where
782 2006-03-12 Michail Vidiassov <master@iaas.msu.ru>
784 * fonts/devps/generate/make-zapfdr, fonts/devps/symbolsl.ps,
785 fonts/devps/zapfdr.ps: Add `%%EndComments' line.
787 2006-03-10 Larry Kollar <kollar@alltel.net>
789 * doc/groff.texinfo (Headers and footers): Document PT, HD, and BT.
791 2006-03-10 Werner LEMBERG <wl@gnu.org>
793 * src/devices/grops/ps.cpp (ps_printer::do_exec, ps_printer::do_def,
794 ps_printer::do_mdef): Overlong lines now cause a warning message,
797 2006-03-09 Werner LEMBERG <wl@gnu.org>
799 * font/devps/generate/make-zapfdr: New script for generating
802 2006-03-08 Werner LEMBERG <wl@gnu.org>
804 * doc/groff.css (pre): Fix `background-color' value.
806 2006-03-04 Larry Kollar <kollar@alltel.net>
808 * tmac/groff_ms.man: Document PT, HD, and BT.
810 2006-03-04 Werner LEMBERG <wl@gnu.org>
812 * src/roff/troff/node.cpp (make_glyph_node): Improve warning message
813 for single-letter glyph names.
815 2006-03-02 Werner LEMBERG <wl@gnu.org>
817 * tmac/sv.tmac: New file; currently holding only the Swedish strings
819 * tmac/hyphen.sv: New hyphenation pattern file for Swedish, taken
821 * tmac/README: Updated.
823 2006-02-27 Werner LEMBERG <wl@gnu.org>
825 * tmac/trans.tmac (Liec, Letdate, Letns!14): Add it (for -mm).
826 * tmac/fr.tmac: Add French translations.
828 * tmac/composite.tmac: Add entry for `:'.
830 2006-02-26 Werner LEMBERG <wl@gnu.org>
832 * doc/Makefile.sub (HTMLEXAMPLEFILESALL): New variable.
834 (install_html, uninstall_sub): Updated.
836 2006-02-26 Bruno Haible <bruno@clisp.org>
838 Introduce Unicode fonts.
840 * font/devhtml/DESC.proto: Mark as unicode.
841 * font/devhtml/R.proto: Remove all charset entries that are already
843 * font/devutf8/DESC.proto: Mark as unicode.
844 * font/devutf8/R.proto: Remove all charset entries.
845 * src/include/font.h (font): New static field `is_unicode'.
846 Change order of fields.
847 * src/libs/libgroff/font.cpp: Include unicode.h.
848 (font::font): Update for changed order of fields.
849 (font::contains, font::get_width, font::get_height, font::get_depth,
850 font::get_italic_correction, font::get_left_italic_correction,
851 font::get_subscript_correction, font::get_character_type,
852 font::get_code, font::get_special_device_encoding): Handle both the
853 explicitly enumerated glyphs and use general code for Unicode fonts.
854 (font::load): Make the charset section optional when the font is
856 (font::load_desc): Recognize the `unicode' attribute.
857 * src/libs/libgroff/fontfile.cpp (font::is_unicode): New variable.
859 2006-02-26 Claudio Fontana <claudio@gnu.org>
861 * Makefile.in: Add comment about DESTDIR.
863 * Makefile.sub: Add DESTDIR to install and uninstall targets
864 to support staged installations.
865 * Makefile.comm: Likewise.
866 * doc/Makefile.sub: Likewise.
867 * contrib/eqn2graph/Makefile.sub: Likewise.
868 * contrib/gdiffmk/Makefile.sub: Likewise.
869 * contrib/grap2graph/Makefile.sub: Likewise.
870 * contrib/pic2graph/Makefile.sub: Likewise.
871 * src/devices/xditview/Makefile.sub: Likewise.
872 * src/preproc/eqn/Makefile.sub: Likewise.
873 * src/roff/grog/Makefile.sub: Likewise.
874 * src/roff/nroff/Makefile.sub: Likewise.
875 * src/utils/afmtodit/Makefile.sub: Likewise.
876 * src/utils/indxbib/Makefile.sub: Likewise.
877 * tmac/Makefile.sub: Likewise.
879 2006-02-24 Werner LEMBERG <wl@gnu.org>
881 * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list): Use entry
883 Remove commented out entries for \' and \` (there are no such glyph
886 * src/libs/libgroff/uniglyph.cpp (unicode_to_glyph_list): Remove
887 commented out entries for \' and \`.
890 * */*: s/legal/valid/ where appropriate.
892 2006-06-23 Werner LEMBERG <wl@gnu.org>
894 * font/devhtml/R.proto, font/devutf8/R.proto: Remove incorrect \'
897 2006-02-22 Werner LEMBERG <wl@gnu.org>
899 Remove all remaining traces from the `shc' glyph.
901 * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list),
902 src/libs/libgroff/uniglyph.cpp (unicode_to_glyph_list): Remove
905 * font/devlatin1/R.proto, font/devcp1046/R.proto: Replace `shc'
906 entry with unnamed glyph.
908 * tmac/html/tmac: Remove `shc' entry from call to `.cflags'.
910 * src/preproc/preconv/preconv.cpp (unicode_entity): Handle U+00AD
913 2006-02-22 Bruno Haible <bruno@clisp.org>
915 Concretize the `glyph' datatype.
917 * src/include/font.h (glyph): Remove class.
918 (glyph): Renamed from struct `glyphinfo'.
919 (glyph_to_index): New inline function.
920 (glyph_to_name): Make extern, not inline.
921 (glyph_to_number): Update.
922 (font): Use `glyph *' instead of `glyph'.
924 * src/libs/libgroff/nametoindex.cpp (charinfo): Inherit from class
925 `glyph'. Make `name' field public.
926 (character_indexer, number_to_glyph, name_to_glyph): Use `glyph *'
928 (glyph_to_name): Renamed from `glyph::glyph_name'.
930 * src/roff/troff/charinfo.h (charinfo): Inherit from class `glyph'.
931 Use `glyph *' instead of `glyph'.
933 * src/roff/troff/input.cpp (name_to_glyph, number_to_glyph): Use
934 `glyph *' instead of `glyph'.
935 (glyph_to_name): Renamed from `glyph::glyph_name'.
937 * src/libs/libgroff/font.cpp: Use `glyph *' instead of `glyph',
938 and `glyph_to_index' instead of `glyph::glyph_index'.
940 * src/include/printer.h (printer): Use `glyph *' instead of `glyph'.
941 * src/libs/libdriver/printer.cpp: Likewise.
942 * src/devices/grodvi/dvi.cpp: Likewise.
943 * src/devices/grohtml/post-html.cpp: Likewise.
944 * src/devices/grolbp/lbp.cpp: Likewise.
945 * src/devices/grolj4/lj4.cpp: Likewise.
946 * src/devices/grops/ps.cpp: Likewise.
947 * src/devices/grotty/tty.cpp: Likewise.
949 2006-02-22 Werner LEMBERG <wl@gnu.org>
951 * font/devdvi/generate/tc.map: Add `sr' glyph.
952 * font/devdvi/*TC: Regenerated.
954 * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list): Use entry
957 2006-02-21 Werner LEMBERG <wl@gnu.org>
959 * man/groff_char.man: Explain `***' marker.
961 2006-02-17 Bruno Haible <bruno@clisp.org>
963 * src/libs/libgroff/nametoindex.cpp (character_indexer): Rename
964 methods and fields from *_index to *_glyph.
965 (character_indexer::named_char_glyph): Test for `charNNN' name
967 (name_to_glyph): ... not here.
969 2006-02-17 Bruno Haible <bruno@clisp.org>
971 * src/include/font.h (name_to_glyph): Renamed from
973 (number_to_glyph): Renamed from font::number_to_index.
974 (glyph_to_name): Renamed from font::index_to_name.
975 (glyph_to_number): Renamed from font::index_to_number.
976 * src/libs/libgroff/nametoindex.cpp: Likewise.
977 * src/roff/troff/charinfo.h (charinfo::as_glyph): Renamed from
980 * src/roff/troff/input.cpp: All callers changed.
981 * src/roff/troff/node.cpp: Likewise.
982 * src/libs/libgroff/font.cpp: Likewise.
983 * src/devices/grops/ps.cpp: Likewise.
984 * src/devices/grohtml/post-html.cpp: Likewise.
985 * src/libs/libdriver/printer.cpp: Likewise.
987 2006-02-17 Werner LEMBERG <wl@gnu.org>
989 * src/include/ptable.h, src/include/itable.h
990 (NEXT_PTABLE_SIZE_DEFINED): Use it to avoid multiple declaration
991 of external symbol `next_ptable_size' (used by both header files).
993 2006-02-15 Bruno Haible <bruno@clisp.org>
995 * src/include/font.h (glyphinfo): New class.
996 (glyph): Change internal representation.
997 Change constructor signature.
998 New method glyph::glyph_number().
999 (glyph::glyph, glyph glyph::undefined_glyph, glyph::glyph_index,
1000 glyph::operator==, glyph::operator!=): Update.
1001 (font::index_to_name, font::index_to_number): New functions.
1003 * src/include/itable.h: New file, based on src/include/ptable.h.
1005 * src/libs/libgroff/nametoindex.cpp: Include itable.h.
1006 (class charinfo): New class.
1007 (class character_indexer): Change table result type from `int' to
1009 Add table with integer key.
1010 (character_indexer::character_indexer): Update.
1011 (character_indexer::ascii_char_index): Update.
1012 (character_indexer::numbered_char_index): Use NULL as name, not a
1013 string starting with a space.
1014 (character_indexer::named_char_index): Update.
1015 (font::number_to_index, font::name_to_index): Remove no-op cast.
1016 (glyph::glyph_name): New method.
1017 * src/roff/troff/charinfo.h (class charinfo): Inherit from class
1019 (NUMBERED): Remove flag bit.
1020 (charinfo::numbered, charinfo::get_index): Update.
1022 * src/roff/troff/input.cpp (charinfo::charinfo): Update.
1023 (charinfo::set_number, charinfo::get_number): Update.
1024 (glyph::glyph_name): New method.
1026 2006-02-15 Werner LEMBERG <wl@gnu.org>
1028 * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list): Fix
1029 entries for `>>', `<<', `*f', and `+f'. Reported by Bruno.
1031 2006-02-13 Werner LEMBERG <wl@gnu.org>
1033 * font/devps/prologue.ps (RE): Check `UniqueID' also, similar to
1036 2006-02-11 Werner LEMBERG <wl@gnu.org>
1038 * src/include/font.h: s/glyph_t/glyph/.
1041 * src/devices/grotty/tty.cpp: s/glyph/tty_glyph/.
1042 s/output_character_t/output_character/.
1044 2006-02-11 Bruno Haible <bruno@clisp.org>
1046 New accessor method glyph_t::glyph_name().
1048 * src/include/ptable.h (declare_ptable): Add a return value to the
1049 `define' method, and declare a `lookupassoc' method.
1050 (implement_ptable): Return the stored key in `define'. Implement
1052 * src/include/font.h (glyph_t): Add `name' field. Add an argument
1054 (glyph_t::glyph_name): New method.
1056 * src/libs/libgroff/nametoindex.cpp (character_indexer): Change
1057 return type of methods and field member type to glyph_t.
1058 (character_indexer::character_indexer): Update.
1059 (character_indexer::ascii_char_index): Allocate a name for the
1061 Return a glyph_t with name.
1062 (character_indexer::numbered_char_index): Return a glyph_t without a
1064 (character_indexer::named_char_index): Return a glyph_t with a name.
1065 (font::number_to_index, font::name_to_index): Update.
1067 * src/roff/troff/input.cpp (charinfo::charinfo): Use the symbol as
1070 2006-02-11 Bruno Haible <bruno@clisp.org>
1072 * src/devices/grotty/tty.cpp (output_character_t): New type.
1073 (tty_printer::make_bold, tty_printer::add_char,
1074 tty_printer::put_char): Change argument type to output_character_t.
1075 (crossings): Change element type to output_character_t.
1077 2006-02-11 Bruno Haible <bruno@clisp.org>
1079 Make the glyph data type abstract.
1081 * src/include/font.h (glyph_t): New class.
1082 (name_to_index, number_to_index): Change return type to glyph_t.
1083 (font::contains, font::get_width, font::get_height, font::get_depth,
1084 font::get_character_type, font::get_kern, font::get_skew,
1085 font::get_italic_correction, font::get_left_italic_correction,
1086 font::get_subscript_correction, font::get_code,
1087 font::get_special_device_encoding, font::add_entry,
1088 font::copy_entry, font::add_kern, font::hash_kern): Change argument
1091 * src/libs/libgroff/font.cpp (font_kern_list): Change members
1092 type and constructor argument types to glyph_t.
1093 (font::contains, font::get_width, font::get_height, font::get_depth,
1094 font::get_character_type, font::get_kern, font::get_skew,
1095 font::get_italic_correction, font::get_left_italic_correction,
1096 font::get_subscript_correction, font::get_code,
1097 font::get_special_device_encoding, font::add_entry,
1098 font::copy_entry, font::add_kern, font::hash_kern): Change argument
1100 (font::load): Use glyph_t variables.
1102 * src/libs/libgroff/nametoindex.cpp (name_to_index,
1103 number_to_index): Change return type to glyph_t.
1105 * src/roff/troff/charinfo.h (charinfo::index): Change type to
1107 (charinfo::get_index): Change return type to glyph_t.
1109 * src/roff/troff/env.cpp: Include font.h.
1111 * src/roff/troff/node.cpp: Include font.h before charinfo.h.
1113 * src/roff/troff/input.cpp: Include font.h before charinfo.h.
1114 (charinfo::charinfo): Update.
1115 (name_to_index, number_to_index): Change return type to glyph_t.
1117 * src/include/printer.h (printer::set_char_and_width): Change return
1120 * src/libs/libdriver/printer.cpp (printer::set_char_and_width):
1121 Change return type to glyph_t.
1123 * src/devices/grodvi/dvi.cpp (dvi_printer::set_char): Change
1124 argument type to glyph_t.
1126 * src/devices/grohtml/post-html.cpp (page::add_and_encode): Update.
1127 (html_printer::space_glyph): Renamed from space_char_index.
1128 (html_printer::add_to_sbuf, html_printer::sbuf_continuation,
1129 html_printer::overstrike, html_printer::set_char): Change argument
1131 (html_printer::set_char_and_width): Change return type to glyph_t.
1133 * src/devices/grolbp/lbp.cpp (lbp_printer::set_char): Change
1134 argument type to glyph_t.
1136 * src/devices/grolj4/lj4.cpp (lj4_printer::set_char): Change
1137 argument type to glyph_t.
1139 * src/devices/grops/ps.cpp (ps_printer::space_glyph): Renamed from
1141 (ps_printer::set_subencoding, ps_printer::set_char): Change argument
1144 * src/devices/grotty/tty.cpp (tty_printer::set_char): Change
1145 argument type to glyph_t.
1147 2006-02-11 Bruno Haible <bruno@clisp.org>
1149 * src/roff/troff/input.cpp (font::name_to_index): Never return a
1152 * src/libs/libgroff/font.cpp (font::load): Remove failure tests for
1153 font::name_to_index.
1155 2006-02-10 Werner LEMBERG <wl@gnu.org>
1157 * doc/groff.texinfo (Assigning Formats): Number registers are always
1159 Apply some rephrasing, contributed by Michael Burt.
1161 2006-02-07 Werner LEMBERG <wl@gnu.org>
1163 * tmac/fr.tmac <ms>: Set `HY' register.
1165 2006-02-07 Werner LEMBERG <wl@gnu.org>
1167 Add framework for simple adaptation of the main macro packages (mm,
1168 me, ms, mom) to different locales. In particular, add support for
1169 French. For activation, simply use `-mfr' as the last macro
1170 package. This feature has been contributed by Fabrice Ménard
1171 <menard.fabrice@wanadoo.fr>.
1173 * tmac/fr.tmac, tmac/trans.tmac, tmac/hyphen.fr, tmac/LOCALIZATION:
1175 * tmac/README: Mention hyphen.fr.
1176 * man/groff_tmac.man: Mention fr.tmac.
1179 2006-01-27 Werner LEMBERG <wl@gnu.org>
1181 * man/groff_font.man: Updated documentation of `entity_name' field.
1184 2006-01-27 Bruno Haible <bruno@clisp.org>
1186 * font/devhtml/R.proto: Remove the entity names from the font's
1187 special_encoding_encoding column.
1188 * src/devices/grohtml/post-html.cpp (get_html_entity): New function,
1189 handling the entity names here.
1190 (get_html_translation): Use it. Change return type to `const
1192 (page::add_and_encode): Update, removing a useless cast.
1194 2006-01-26 Werner LEMBERG <wl@gnu.org>
1196 This change is based on a patch by Bruno Haible <bruno@clisp.org>.
1198 * src/include/device.h: Add comments.
1199 * src/include/font.h: Add comments.
1200 * src/include/unicode.h: Likewise.
1201 * src/include/ptable.h, src/libs/libgroff/ptable.cpp: Likewise.
1203 2006-01-26 Keith Marshall <keith.d.marshall@ntlworld.com>
1205 Suppress `.st' request emission by `grn'.
1207 * src/preproc/grn/main.cpp (USE_ST_REQUEST): New macro.
1210 2006-01-22 Werner LEMBERG <wl@gnu.org>
1212 * install-sh: New version; taken from texinfo CVS.
1214 2006-01-21 Werner LEMBERG <wl@gnu.org>
1216 * src/preproc/preconv/preconv.cpp (main): Set program_name. Bug
1217 reported by Alexander E. Patrakov <patrakov@ums.usu.ru>.
1219 2006-01-19 Bruno Haible <bruno@clisp.org>
1221 Let `make -k install' install more files.
1223 * Makefile.in (MAKE_K_FLAG): New variable. Use it everywhere where
1224 $(MAKE) and $(MDEFINES) are used.
1225 (CPROGDIRS): Remove $(XPROGDIRS). Treat $(XPROGDIRS) like
1226 $(CPROGDIRS) everywhere.
1227 ($(DEVDIRS) $(XDEVDIRS) $(OTHERDEVDIRS) $(TTYDEVDIRS)): Don't depend
1229 ($(OTHERDIRS)): Likewise.
1232 * src/devices/grohtml/post-html.cpp (get_html_translation): Remove
1233 failure test for font::name_to_index -- it can never fail.
1235 2006-01-19 Werner LEMBERG <wl@gnu.org>
1237 * src/devices/grops/grops.man: Fix section on creating EPS files.
1238 Don't use future time in manual.
1241 2006-01-15 Gaius Mulley <gaius@glam.ac.uk>
1243 * tmac/www.tmac: New macro LINKSTYLE which allows users to set
1244 various typographical URL attributes for non-HTML devices.
1246 * tmac/groff_www.man: Document LINKSTYLE.
1248 2006-01-11 Werner LEMBERG <wl@gnu.org>
1250 * configure.ac: Test for getc_unlocked (needed for localcharset).
1251 * configure, src/include/config.hin: Regenerated.
1253 * src/libs/libgroff/Makefile.sub (EXTRA_CFLAGS): Define
1256 * src/libs/libgroff/relocatable.h: New dummy header file for
1259 * src/libs/libgroff/localcharset.c: Updated to (unchanged) CVS
1262 2006-01-10 Bruno Haible <bruno@clisp.org>
1264 Work around unportability of nl_langinfo(CODESET).
1266 * m4/glibc21.m4: New file, from gnulib.
1267 * Makefile.sub (M4MACROS): Add m4/glibc21.m4.
1268 * configure.ac: Also test for stddef.h, and invoke jm_GLIBC21.
1269 * Makefile.in (HOST, GLIBC21): New variables.
1270 (MDEFINES): Pass them to subdirectories.
1271 * src/include/relocate.h (relocatep): Define with C linkage.
1272 * src/include/localcharset.h: New file, from gnulib.
1273 * src/libs/libgroff/localcharset.c: New file, from gnulib with a
1274 modification for relocate().
1275 * src/libs/libgroff/config.charset: New file, from gnulib.
1276 * src/libs/libgroff/ref-add.sin: New file, from gnulib.
1277 * src/libs/libgroff/ref-del.sin: New file, from gnulib.
1278 * src/libs/libgroff/Makefile.sub (EXTRA_CFLAGS): Also define LIBDIR.
1279 (OBJS): Add localcharset.o.
1280 (CSRCS): Add localcharset.c.
1281 (all): Add dependencies to charset.alias, ref-add.sed, ref-del.sed.
1282 (charset.alias): New rule.
1283 (PACKAGE): New variable.
1284 (ref-add.sed, ref-del.sed): New rules.
1285 (MKINSTALLDIRS): New variable.
1286 (install_data): Depend on install_charset_data.
1287 (install_charset_data): New rule for creating or updating
1289 (uninstall_sub): Depend on uninstall_charset_data.
1290 (uninstall_charset_data): New rule for uninstalling or updating
1292 * src/preproc/preconv/preconv.cpp: Include localcharset.h instead
1294 (main): Initialize default_encoding from locale_charset() instead of
1295 nl_langinfo(CODESET).
1297 * aclocal.m4, configure, src/include/config.hin: Regenerated.
1299 2006-01-10 Werner LEMBERG <wl@gnu.org>
1301 * src/preproc/preconv/preconv.cpp (conversion_iconv): Use
1302 ICONV_CONST in call to iconv. Reported by Robert Goulding.
1304 2006-01-07 Werner LEMBERG <wl@gnu.org>
1306 * fonts/devps/generate/freeeuro.sfd: Run auto-hinter with recent
1308 Bump font version to 001.001.
1310 * fonts/devps/generate/Makefile (freeeuro.afm, freeeuro.pfa):
1311 Call fontforge, not pfaedit.
1313 * fonts/devps/freeeuro.afm, fonts/devps/freeeuro.pfa: Regenerated.
1315 2006-01-05 Ruslan Ermilov <ru@FreeBSD.org>
1317 * tmac/doc-common: Add new FreeBSD and NetBSD versions.
1318 * tmac/groff_mdoc.man: Updated.
1320 2006-01-05 Werner LEMBERG <wl@gnu.org>
1322 * src/preproc/preconv/preconv.cpp: s/debug/debug_flag/.
1323 (raw_flag): New global variable.
1324 (do_file): Use .lf to set file name (if `raw_flag' isn't set).
1325 Don't pass BOM to `conversion_utf8'.
1327 (main): Handle `-r' command line switch to set `raw_flag'.
1328 (get_BOM): Fix encodings in `BOM_table'.
1330 * src/preproc/preconv/preconv.man: New file. Not complete yet.
1331 * src/preproc/proconv/Makefile.sub (MAN1): New variable.
1333 2006-01-04 Werner LEMBERG <wl@gnu.org>
1335 * src/preproc/preconv/preconv.cpp (emacs_to_mime): As suggested by
1336 Bruno, comment out most encodings to support only a small set of
1337 coding tags, thus reducing potential problems with legacy encodings
1338 and character sets in the future.
1339 Add many XEmacs coding tags (now commented out).
1341 (check_encoding_tag): Renamed to...
1342 (check_coding_tag): This.
1343 (get_BOM): Return encoding as specified by BOM.
1344 Test for UTF32-LE too.
1345 (do_file): Don't check for coding tag if a BOM has been found.
1347 2006-01-03 Bruno Haible <bruno@clisp.org>
1349 * m4/groff.m4: Renamed from aclocal.m4.
1350 * m4/codeset.m4: New file, from gnulib.
1351 * m4/iconv.m4: New file, from gnulib.
1352 * m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4: New files, from
1354 * config.rpath: New file, from gnulib.
1355 * config.guess, config.sub: New files, from gnulib.
1356 * Makefile.sub (M4MACROS): New variable.
1357 (configure): Fix typo.
1358 (aclocal.m4): New rule.
1359 (stamp-h.in): Depend on aclocal.m4.
1360 * configure.ac: Invoke AM_ICONV and AM_LANGINFO_CODESET.
1361 * Makefile.in (LIBICONV): New variable.
1362 (MDEFINES): Pass it to recursive makes.
1363 * src/preproc/preconv/preconv.cpp: Use HAVE_LANGINFO_CODESET and
1364 HAVE_ICONV instead of I18N macro.
1365 * src/preproc/preconv/Makefile.sub (EXTRA_LDFLAGS): New variable.
1367 * aclocal.m4, configure, src/include/config.hin: (Re)generated.
1369 2006-01-03 Werner LEMBERG <wl@gnu.org>
1371 * doc/Makefile.in (webpage.html): Simplify.
1372 * doc/Makefile.sub (webpage.html): Synchronize with doc/Makefile.in.
1373 * doc/webpage.ms, tmac/groff_www.man, tmac/www.tmac: Minor updates.
1375 2006-01-01 Werner LEMBERG <wl@gnu.org>
1377 * tmac/doc-common (Os): Add some Darwin versions.
1378 * tmac/groff_mdoc.man: Document them.
1380 2006-01-01 Bruno Haible <bruno@clisp.org>
1382 * src/preproc/preconv/preconv.cpp (emacs_to_mime): Various
1384 . Don't map ascii to latin-1.
1385 . Don't use IBMxxx encodings but cpxxx for portability.
1386 . Map cp932, cp936, cp949, cp950 to itself.
1387 (emacs2mime): Protect calls to strcasecmp.
1388 (conversion_iconv): Add missing call to iconv_close.
1389 (do_file): Emit error message in case of unsupported encoding.
1391 2005-12-31 Werner LEMBERG <wl@gnu.org>
1393 Integrate preconv into the groff binary. Changes based on a patch
1394 from Michail Vidiassov.
1396 * src/roff/groff/pipeline.h (MAX_COMMANDS): Increase by 1.
1398 * src/roff/groff/groff.cpp (PRECONV_INDEX): New macro.
1399 (SOELIM_INDEX): Updated.
1400 (help, synopsis): Updated.
1401 (main): Add command line options `-k' and `-K enc' to select
1403 Add support for GROFF_ENCODING environment variable.
1405 * src/roff/groff/groff.man: Updated and revised.
1408 Start with autoconf support for preconv.
1410 * configure.ac: Call AC_C_BIGENDIAN.
1411 * configure, src/include/config.hin: Regenerated.
1413 2005-12-30 Werner LEMBERG <wl@gnu.org>
1415 New preprocessor `preconv' to convert input encodings to something
1416 groff can understand. Not yet integrated within groff. Proper
1417 autoconf stuff is missing too.
1419 Tomohiro Kubota has written a first draft of this program, and some
1420 ideas have been reused (while almost no code has been taken
1423 * src/preproc/preconv/preconv.cpp. src/preproc/preconv/Makefile.sub:
1426 * MANIFEST, Makefile.in (CCPROGDIRS), test-groff.in
1427 (GROFF_BIN_PATH): Add preconv.
1429 2005-12-12 Werner LEMBERG <wl@gnu.org>
1431 * aclocal.m4 (GROFF_MAKEINFO): Fix regexps to be POSIX conformant.
1432 In particular, don't use `\+' since it is a GNU sed extension.
1434 * configure: Regenerated.
1436 2005-12-09 Werner LEMBERG <wl@gnu.org>
1438 * src/libs/libgroff/make-uniuni: New script to generate uniuni.cpp.
1440 * src/libs/libgroff/uniuni.cpp: Regenerated, using data from Unicode
1444 * src/utils/afmtodit/make-afmtodit-tables: New script to generate
1447 * src/utils/afmtodit/afmtodit.tables: New file, representing Unicode
1450 * src/utils/afmtodit/afmtodit.pl (%unicode_decomposed,
1451 %AGL_to_unicode): Removed. Replace it with a tag.
1453 * src/utils/afmtodit/Makefile.sub (afmtodit): Adjust sed expression
1454 to replace tag with actual file contents.
1456 2005-12-08 Werner LEMBERG <wl@gnu.org>
1458 The change 2005-06-20 can indeed cause problems, so we follow the
1459 advice by using marks.
1461 * font/devps/prologue.ps (PBEGIN): Use `mark'.
1462 (PEND): Use `cleartomark'.
1464 2005-12-07 Michail Vidiassov <master@iaas.msu.ru>
1466 * src/utils/afmtodit.pl: Fix kerning output to avoid warnings for
1467 glyphs which have kern values but aren't handled (glyph variants,
1470 2005-12-02 Werner LEMBERG <wl@gnu.org>
1472 * src/devices/grops/ps.cpp (ps_printer::get_subfont): Use correct
1473 subfont index. Reported by Michail Vidiassov <master@iaas.msu.ru>.
1475 2005-11-28 Gaius Mulley <gaius@glam.ac.uk>
1477 * doc/Makefile.in: Separate rule for webpage.html so that extra
1478 command line options can be passed to grohtml.
1479 * doc/groff.css: Change all margins to 0%.
1480 * doc/webpage.ms: Now use new macros ALN, LNS, and LNE so that left
1481 navigation is exploited. Also update webpage to contain new
1482 sections on licenses, mailing lists, cvs/ftp access, groff
1483 dependencies, and bug reports.
1484 * tmac/groff_www.man: Document the new macros ALN, LNS, and LNE.
1485 * tmac/www.tmac: Implement the new macros ALN, LNS, and LNE.
1487 2005-11-25 Gaius Mulley <gaius@glam.ac.uk>
1489 * src/devices/grohtml/post-html.cpp
1490 (html_printer::do_file_components): Add fputs calls to emit the
1491 head contents and shut down the head tag whenever a new file
1492 component is generated.
1494 2005-11-22 Gaius Mulley <gaius@glam.ac.uk>
1496 * src/devices/grohtml/post-html.cpp (html_printer::flush_page): Add
1497 call to flush_text to flush any outstanding html tags on the
1500 2005-11-18 Werner LEMBERG <wl@gnu.org>
1502 * aclocal.m4 (GROFF_MAKEINFO): Use `groff.info' in tests.
1503 Announce makeinfo version.
1504 * configure: Regenerated.
1506 2005-11-18 Mike Frysinger <vapier@gentoo.org>
1508 * Makefile.in: Declare proper dependencies between make targets.
1510 * doc/Makefile.in: Rename groff info page to `groff.info'.
1511 * doc/Makefile.sub: Likewise.
1512 * doc/groff.texinfo: Likewise.
1514 2005-11-17 Peter O'Gorman <mlists@thewrittenword.com>
1516 * src/utils/pfbtops/pfbtops.c, src/utils/xtotroff/xtotroff.c: Move
1517 definition of __GETOPT_PREFIX to the beginning of file to ensure
1518 that it is defined even on platforms where getopt.h is already
1519 included by other header files.
1521 2005-11-10 Gaius Mulley <gaius@glam.ac.uk>
1523 * src/devices/grohtml/post-html.cpp (html_printer::do_heading):
1524 Reset font to NULL to ensure that a font block is recreated during
1527 2005-11-04 Werner LEMBERG <wl@gnu.org>
1529 * aclocal.m4 (GROFF_MAKEINFO): Fix sed expression.
1530 * configure: Regenerated.
1532 2005-10-27 Werner LEMBERG <wl@gnu.org>
1534 * aclocal.m4 (GROFF_MAKEINFO): New function for checking whether
1535 makeinfo 4.8 or newer is available.
1536 * configure.ac: Call GROFF_MAKEINFO.
1537 * configure: Regenerated.
1539 * Makefile.in (MAKEINFO): Use autoconf variable.
1540 (MDEFINES): Add MAKEINFO.
1542 * doc/Makefile.in (MAKEINFO): Use autoconf variable.
1543 * doc/Makefile.sub (MAKEINFO): Remove.
1545 2005-10-26 Werner LEMBERG <wl@gnu.org>
1547 * REVISION: Set to 3.
1549 2005-10-17 Werner LEMBERG <wl@gnu.org>
1551 Mention $MANPAGER variable used with some `man' systems.
1553 * doc/webpage.ms, src/devices/grotty/grotty.man, NEWS: Updated.
1555 2005-09-13 Werner LEMBERG <wl@gnu.org>
1557 * tmac/hyphenex.us: New version (`ushyphex.tex' from ftp.dante.de).
1559 2005-09-04 Werner LEMBERG <wl@gnu.org>
1561 Version 1.19.2 released
1562 =======================
1564 * tmac/groff_ms.man, doc/groff.texinfo: Synchronize.
1566 * doc/webpage.ms: Updated.
1568 * install-sh, mkinstalldirs: New versions; taken from texinfo CVS.
1570 2005-09-04 Jörgen Grahn <jgrahn@algonet.se>
1572 * tmac/groff_ms.man: Document `PO' better.
1574 2005-09-03 Werner LEMBERG <wl@gnu.org>
1576 * NEWS: Document grotty changes.
1578 2005-09-01 Keith Marshall <keith.d.marshall@ntlworld.com>
1580 Backward compatibility support for `man' program.
1582 * tmac/an-old.tmac (LL): Initialize it to respect prior LL register
1583 assignment, prior `.ll' request and then package defaults, in this
1584 specified order of decreasing priority.
1586 * tmac/groff_man.man, doc/groff.texinfo (Man options): Document
1587 altered `LL' register initialization priorities.
1589 2005-08-29 Gary W. Swearingen <garys@opusnet.com>
1591 * tmac/groff_mdoc.man: Go into more details how the `AUTHORS'
1592 section should look like.
1594 2005-08-29 Werner LEMBERG <wl@gnu.org>
1596 * tmac/groff_mdoc.man: The month's name in a call to .Dd shouldn't
1599 2005-08-27 Bernd Warken
1601 * tmac/groff_man.man: Add man(7) too SEE ALSO and more minor
1604 2005-08-11 Bernd Warken
1606 * tmac/www.tmac (URL, MTO): Handle empty \\$1 better.
1608 2005-08-09 Bernd Warken
1610 * tmac/www.tmac (URL, MTO): Use bold series if color support is
1613 2005-08-02 Bernd Warken
1615 * doc/Makefile.sub (uninstall_sub): Use --remove, not --delete
1616 as argument to $(INSTALL_INFO). The latter isn't portable.
1617 Remove $(HTMLEXAMPLEFILES) too.
1619 * Makefile.in (uninstall_dirs): Remove $(datadir)/doc/groff and
1621 Suppress warning messages and return always true.
1623 * tmac/Makefile.sub (uninstall_sub): Remove www.tmac too.
1625 2005-07-02 Bernd Warken
1627 * src/devices/xditview/gxditview.man: Change many `.I' to `.B'.
1628 * man/groff_out.man: More markup and minor improvements.
1629 * src/roff/groff/groff.man: Minor improvements.
1631 2005-06-28 Werner LEMBERG <wl@gnu.org>
1633 * ChangeLog: Split off older entries into...
1634 * ChangeLog.115 ChangeLog.116, ChangeLog.117, ChangeLog.118: New
1637 2005-06-26 Bernd Warken
1639 * src/devices/xditview/gxditview.man: More minor fixes.
1641 2005-06-24 Werner LEMBERG <wl@gnu.org>
1643 * src/preproc/pic/troff.cpp (troff_output::set_fill,
1644 troff_output::set_color, troff_output::reset_color): Use .bcolor and
1645 .fcolor instead of \m and \M, respectively.
1647 2005-06-23 Bernd Warken
1649 * src/devices/xditview/gxditview.man: More minor fixes.
1650 * README: Formatting issues.
1651 Mention some problems with Debian.
1653 2005-06-23 Bernd Warken
1655 * src/devices/xditview/gxditview.man: Revised and improved.
1657 2005-06-22 Werner LEMBERG <wl@gnu.org>
1659 Another round in fixing getopt problems. Hopefully the last one!
1660 This time we use the getopt stuff from gnulib and define a prefix
1661 unconditionally so that there are no collisions with any other
1662 getopt implementations. This is a slight waste of space in case
1663 we already use a GNU getopt implementation, but on
1664 the other hand it really simplifies life.
1666 * src/include/getopt.h: Use gnulib version.
1668 * src/include/getopt_int.h: Use gnulib version.
1670 * src/include/groff-getopt.h: Removed. Obsolete now.
1672 * src/include/lib.h: Regarding getopt, don't handle any platform
1673 specially; just include getopt.h.
1674 (__GETOPT_PREFIX): Define (before getopt.h).
1676 * src/include/Makefile.sub (HDRS): Updated.
1678 * src/libs/libgroff/getopt1.c, src/libs/libgroff/getopt.c: Use
1681 * src/libs/libgroff/Makefile.sub (EXTRA_CFLAGS): Set
1684 * src/utils/pfbtops/pfbtops.c, src/utils/xtotroff/xtotroff.c
1685 (__GETOPT_PREFIX): Define (before getopt.h).
1687 2005-06-21 Werner LEMBERG <wl@gnu.org>
1689 * src/include/lib.h: Provide a fix for Mac OS X to not include
1692 2005-06-20 Denis M. Wilson <dmw@oxytropis.plus.com>
1694 * font/devps/prologue.ps (EP): Dont' use `bind'. Reason: Using
1695 `bind' to define a procedure which contains `showpage' means that an
1696 invocation of `showpage' may execute wrongly (the exact effect
1697 depending on the interpreter). Not usually a problem except under
1698 transformations, such as combining pages.
1699 (PEND): Don't call `clear'. Reason: Using `clear' in the definition
1700 of /PEND means that stack underflow will occur if the stack is
1701 deliberately non-empty before document inclusion. If included
1702 files are found to be generally badly behaved, we could replace the
1703 `clear' with `mark' in /PBEGIN and `cleartomark' in /PEND (I've
1704 never found this necessary).
1706 2005-06-20 Jörgen Grahn <jgrahn@algonet.se>
1708 * src/preproc/soelim/soelim.cpp (do_file): Append trailing zero
1709 earlier to get correct error message.
1711 2005-06-16 Bernd Warken
1712 * src/roff/nroff/nroff.sh: Add support for iso-8859-15.
1714 2005-06-15 Werner LEMBERG <wl@gnu.org>
1716 Another try to update getopt files. This time we add a dummy
1717 gettext.h file to satisfy the dependency.
1719 * src/include/getopt.h, src/libs/libgroff/getopt.c,
1720 src/libs/libgroff/getopt1.c: Updated from GNU libc CVS.
1722 * src/include/getopt_int.h: New file (from GNU libc CVS).
1724 * src/include/gettext.h: Dummy file which just defines a gettext()
1727 * src/include/groff-getopt.h: Updated.
1729 * src/include/Makefile.sub (HDRS): Add getopt_int.h and gettext.h.
1732 * src/libs/libdriver/input.cpp (IntArray): Remove superfluous
1733 `const' keywords in return value.
1735 * src/preproc/html/pushback.cpp (pushBackBuffer::~pushBackBuffer):
1736 Remove redundant variable `old'.
1737 (pushBackBuffer::skipToNewline): Remove redundant variable `ch'.
1739 * src/preproc/tbl/main.cpp (process_table): Remove redundant
1743 Fix more friend name injection problems since modern C++ compilers
1744 fail otherwise. We simply provide (global) declarations for all
1745 functions declared as friends. This is not really necessary but
1748 * src/preproc/eqn/lex.cpp: Provide declarations for get_char,
1749 peek_char, and get_location.
1751 * src/preproc/refer/ref.h: Provide declarations for
1752 compare_reference, same_reference, same_year, same_date,
1753 same_author_last_name, and same_author_name.
1755 * src/roff/troff/div.h: Provide declarations for do_divert and
1758 * src/roff/troff/env.h: Provide declarations for title_length,
1759 space_size, fill, no_fill, adjust, no_adjust, center, right_justify,
1760 vertical_spacing, post_vertical_spacing, line_spacing, line_length,
1761 indent, temporary_indent, do_underline, do_input_trap, set_tabs,
1762 margin_character, no_number, number_lines, leader_character,
1763 tab_character, hyphenate_request, no_hyphenate,
1764 hyphen_line_max_request, hyphenation_space_request,
1765 hyphenation_margin_request, line_width, tabs_save, tabs_restore,
1766 line_tabs_request, widow_control_request, and do_divert.
1768 * src/roff/troff/input.cpp: Provide declaration for chop_macro.
1770 * src/roff/troff/node.cpp: Provide declarations for class
1772 Provide declaration for make_tfont.
1774 2005-05-29 Werner LEMBERG <wl@gnu.org>
1776 * doc/fdl.texi: Updated to version 1.2. Reported by Bernd Warken.
1778 2005-05-28 Werner LEMBERG <wl@gnu.org>
1780 * contrib/pdfmark/Makefile.sub (.ms.pdf): Use `--stylesheet', not
1783 * src/devices/grolbp/lbp.cpp, src/devices/grolbp/lbp.h: Remove
1784 redundant semicolons.
1786 * src/preproc/eqn/Makefile.sub, src/preproc/html/Makefile.sub,
1787 src/preproc/soelim/Makefile.sub, src/preproc/tbl/Makefile.sub:
1788 Define `MLIB'. Some compilers need this for linking with libgroff.
1790 2005-05-27 Werner LEMBERG <wl@gnu.org>
1792 * MANIFEST, README, doc/webpage.ms: Updated.
1794 2005-05-26 Werner LEMBERG <wl@gnu.org>
1796 * All affected files: Update postal address of FSF.
1798 2005-05-25 Keith Marshall <keith.d.marshall@ntlworld.com>
1801 * README: More fixes.
1803 * README.CVS: Removed. Its contents is now part of the README file.
1805 2005-05-21 Werner LEMBERG <wl@gnu.org>
1807 * README: Updated. Based on a patch from Bernd Warken.
1809 2005-05-16 Keith Marshall <keith.d.marshall@ntlworld.com>
1811 Miscellaneous script portability enhancements.
1813 * aclocal.m4: (GROFF_CSH_HACK): Add space in shebang prototype for
1814 generated conftest.sh script, conforming to portability
1815 recommendation in autoconf docs.
1816 * configure: Likewise, for code generated by GROFF_CSH_HACK.
1817 * contrib/eqn2graph/eqn2graph.sh: Add space in shebang, conforming
1818 to portability recommendation in autoconf docs.
1819 * contrib/gdiffmk/gdiffmk.sh: Likewise.
1820 * contrib/gdiffmk/tests/runtests.in: Likewise.
1821 * contrib/grap2graph/grap2graph.sh: Likewise.
1822 * contrib/groffer/groffer.sh: Likewise.
1823 * contrib/mm/mmroff.pl: Likewise.
1824 * contrib/mom/momdoc/appendices.html: Likewise.
1825 * contrib/pic2graph/pic2graph.sh: Likewise.
1826 * font/devps/generate/afmname: Likewise.
1827 * src/devices/xditview/ad2c: Likewise.
1828 * src/preproc/eqn/neqn.sh: Likewise.
1829 * src/roff/grog/grog.pl: Likewise.
1830 * src/roff/grog/grog.sh: Likewise.
1831 * src/roff/nroff/nroff.sh: Likewise.
1832 * PROBLEMS: Likewise, in embedded script examples.
1834 2005-05-16 Keith Marshall <keith.d.marshall@ntlworld.com>
1836 Improve portability of `pdfroff' shell script.
1838 * arch/misc/shdeps.sh: Add space in shebang, conforming to
1839 portability guidelines in `autoconf' docs.
1840 (PATH_SEARCH_SETUP): New substitution; emits PATH_SEPARATOR
1841 initialization code. Used by contrib/pdfmark/pdfroff.sh's
1842 `searchpath' function.
1844 2005-05-14 Werner LEMBERG <wl@gnu.org>
1846 * contrib/pic2graph/pic2graph.sh, contrib/graph2graph.sh,
1847 contrib/eqn2graph.sh: Add option `-trim' to `convert' which is
1848 needed for newer ImageMagick versions.
1850 2005-05-07 Werner LEMBERG <wl@gnu.org>
1852 * src/preproc/refer/refer.man: Many small typographic fixes.
1854 2005-05-06 Jeff Conrad <jeff_conrad@msn.com>
1856 * src/devices/grohtml/post-html.cpp (assert_state::~assert_state):
1857 Use `char *' cast for a_delete.
1859 2005-05-03 Werner LEMBERG <wl@gnu.org>
1861 * src/libs/libgroff/maxpathname.cpp: Include stdlib.h.
1862 src/libs/libgroff/relocate.cpp: Use path_name_max everywhere.
1864 2005-05-03 Jeff Conrad <jeff_conrad@msn.com>
1866 * src/devices/grohtml/post-html.cpp: Use casts to `char *' if using
1867 `a_delete' for `const char *'.
1869 2005-05-03 Werner LEMBERG <wl@gnu.org>
1871 * src/devices/grohtml/post-html.cpp,
1872 src/devices/grohtml/html-table.cpp,
1873 src/devices/grohtml/html-text.cpp, src/devices/grohtml/output.cpp:
1874 Replace malloc/free with new/delete/a_delete.
1876 * src/devices/grolbp/lbp.h: Remove superfluous semicolons which
1877 are prohibited with ANSI C++.
1878 (lbpprintf, vdmprintf): Remove useless `inline' keyword (since the
1879 function has a variable number of arguments).
1881 * src/preproc/grn/main.cpp (doinput): Change return type to `int'.
1882 Simplify function and update all callers.
1884 2005-05-02 Werner LEMBERG <wl@gnu.org>
1886 Undo getopt changes from 2005-04-30. We don't want a dependency
1889 * src/include/getopt_int.h: Removed.
1891 * src/include/getopt.h, src/include/groff-getopt.h,
1892 src/include/Makefile.sub, src/libs/libgroff/getopt.c,
1893 src/libs/libgroff/getopt1.c: Revert to previous version.
1896 * src/include/nonposix.h (access) [_MSC_VER]: New macro.
1898 * src/include/posix.h (F_OK): Define conditionally.
1900 * src/devices/grotty/tty.cpp (tty_printer::make_underline): Use
1901 different variable name in second `for' loop to avoid MSVC compiler
1904 2005-04-30 Werner LEMBERG <wl@gnu.org>
1906 AC_TYPE_SIGNAL from current autoconf can fail if CC=g++.
1908 * aclocal.m4 (GROFF_TYPE_SIGNAL): New function.
1909 * configure.ac: Use GROFF_TYPE_SIGNAL, not AC_TYPE_SIGNAL.
1910 * configure, src/include/config.hin: Regenerated.
1912 * PROBLEMS: Updated.
1915 Update getopt files.
1917 * src/include/getopt.h, src/libs/libgroff/getopt.c,
1918 src/libs/libgroff/getopt1.c: Updated from GNU libc CVS.
1920 * src/include/getopt_int.h: New file (from GNU libc CVS).
1922 * src/include/groff-getopt.h: Updated.
1924 * src/include/Makefile.sub (HDRS): Add getopt_int.h.
1927 * font/devutf8/NOTES: Updated.
1929 2005-04-28 Werner LEMBERG <wl@gnu.org>
1931 Bug fix for Win32 relocatable code. Based on a patch from Keith
1934 * src/libs/libgroff/maxpathname.cpp (PATH_MAX): Test for `_MAX_PATH'
1937 * src/libs/libgroff/relocate.c (DEBUG): Define it conditionally.
1938 (searchpath) [_WIN32]: Use `_fullpath', not `realpath'.
1940 2005-04-28 Keith Marshall <keith.d.marshall@ntlworld.com>
1942 Correct `gnu.eps' handling for build from distribution tarball, with
1943 separate source and build directories.
1945 * doc/Makefile.sub: (examples.stamp): New target; forces copy of
1946 grnexmpl.g, groff.css and gnu.eps from source to build directory;
1947 generate gnu.eps from gnu.xpm if required; touch examples.stamp.
1948 (prepare_examples): Make it depend on examples.stamp.
1949 (CLEANADD): Add examples.stamp.
1951 2005-04-27 Werner LEMBERG <wl@gnu.org>
1955 position: `(' position `)'
1959 * src/preproc/pic/pic.y (position, position_not_place): Handle
1960 additional parentheses.
1962 * doc/pic.ms: Updated.
1964 2005-04-23 Larry Jones <lawrence.jones@ugs.com>
1966 * src/utils/xtotroff/xtotroff.c (MapFont): Fix variable declaration.
1968 2005-04-18 Werner LEMBERG <wl@gnu.org>
1970 * src/roff/groff/pipeline.c: Don't include ctype.h.
1972 2005-04-13 Werner LEMBERG <wl@gnu.org>
1974 * src/roff/nroff/nroff.man: Document option `-M'.
1976 2005-04-13 Bruce Lilly <blilly@erols.com>
1978 * src/roff/nroff/nroff.sh: Make the script accept option `-M'.
1980 2005-04-01 Kees Zeelenberg <kzlg@users.sourceforge.net>
1981 Werner LEMBERG <wl@gnu.org>
1983 Add binary relocation support for Windows platforms.
1985 * src/include/Makefile.sub (defs.h): Add `INSTALLPATH'.
1987 * src/include/relocate.h, src/libs/libgroff/relocate.cpp: New files.
1989 * src/libs/libgroff/searchpath.cpp: Handle `relocate'.
1990 (search_path::search_path, search_path::open_file_cautious): Use
1993 * src/libs/libgroff/Makefile.sub (OBJS, CCSRCS),
1994 src/include/Makefile.sub (HDRS): Updated.
1996 2005-04-01 Werner LEMBERG <wl@gnu.org>
1998 * src/devices/grohtml/post-html.cpp: Don't use strdup/free but
2001 * src/libs/libgroff/font.cpp: Replace strdup with strsave.
2003 * src/libs/libgroff/maxfilename.cpp: Don't include limits.h since
2004 lib.h already does it.
2006 * src/libs/libgroff/maxpathname.cpp: New file, defining
2009 * src/include/lib.h: Add prototype for path_name_max.
2011 * src/libs/libgroff/Makefile.sub (OBJS, CCSRCS): Updated.
2013 * src/include/nonposix.h (PATH_EXT): New macro.
2015 2005-03-28 Werner LEMBERG <wl@gnu.org>
2017 Add support for double- and zero-width characters in grotty.
2019 * src/devices/grotty/tty.cpp (glyph): Add width.
2020 (tty_printer::make_underline, tty_printer::make_bold,
2021 tty_printer::add_character): Add parameter to pass character width.
2023 (tty_printer::end_page): Increase hpos by actual character width.
2025 * font/devutf8/R.proto: Specify zero width for non-spacing
2028 * tmac/unicode.tmac: Remove definitions for non-spacing entities.
2030 * Makefile.comm (extraclean): Remove more junk files.
2032 2005-03-25 Werner LEMBERG <wl@gnu.org>
2034 * configure.ac: Undo change from 2005-03-24.
2035 * configure: Regenerated.
2037 2005-03-24 Werner LEMBERG <wl@gnu.org>
2039 * Makefile.in (NOMAKEDIRS): Add contrib/gdiffmk/tests.
2040 (dist): Search Makefile while descending into $(EXTRADIRS).
2042 * doc/Makefile.in (.PHONY): Add.
2043 (clean): Don't remove *.png and *.eps.
2045 (realclean): Remove *.png and *.eps.
2046 (extraclean): Depend on distclean.
2048 * configure.ac: Add copyright.
2049 Handle contrib/pdfmark/Makefile.
2051 * configure: Regenerated.
2053 2005-03-18 Larry Kollar <kollar@alltel.net>
2055 Add numbered and definition lists to www.tmac.
2057 * tmac/www.tmac (www-ul-level1, www-ul-level2, www-ul-level3,
2058 www-ol-level1, www-ol-level2, www-ol-level3, www-ol-tmp): New
2059 auxiliary string registers.
2060 (www-ul-level, www-ol-level, www-dl-level, www-ol-ctr1, www-ol-ctr2,
2061 www-ol-ctr3, www-dl-shift): New auxiliary number registers.
2062 (www-level): Removed.
2063 (www-level1, www-level2, www-level3): Initialize to empty.
2064 (www-level0, www-level4, www-level5, www-level6, www-level7,
2065 www-level8, www-level9): New string registers.
2066 (www-push-li, www-pop-li): New macros.
2067 (www-push-level, www-pop-level): Renamed to...
2068 (www-push-ul-level, www-pop-ul-level): This.
2070 (www-push-ol-level, www-pop-ol-level): New macros.
2071 (ULS, ULE): Updated.
2072 (OLS, OLE, DLS, DLE): New user macros.
2073 (LI): Removed. It is aliased to one of...
2074 (www-li-ul, www-li-ol, www-li-dl): New macros.
2076 * tmac/groff_www.man: Document new macros.
2080 2005-03-18 Werner LEMBERG <wl@gnu.org>
2082 * tmac/doc-common (doc-operating-system-NetBSD-2.0.1,
2083 doc-operating-system-NetBSD-2.0.2): New strings.
2085 * tmac/groff_mdoc.man: Updated.
2087 2005-03-17 Werner LEMBERG <wl@gnu.org>
2089 * doc/Makefile.sub (CLEANADD): Add `groff.html'.
2091 2005-03-17 Werner LEMBERG <wl@gnu.org>
2093 * src/libs/libgroff/hypot.c: Renamed to...
2094 * src/libs/libgroff/hypot.cpp: This. Updated to C++.
2096 * src/libs/libgroff/Makefile.sub (CCSRCS, CSRCS): Updated.
2098 * src/include/lib.h: Updated.
2100 2005-03-16 Werner LEMBERG <wl@gnu.org>
2102 Add workaround for broken hypot() on Interix.
2104 * src/libs/libgroff/hypot.c: New wrapper file for `hypot'.
2106 * src/libs/libgroff/Makefile.sub (OBJS): Add `hypot.o'.
2107 (CSRCS): Add `hypot.c'.
2109 * src/include/lib.h: Declare `groff_hypot'.
2111 * src/preproc/grn/hgraph.cpp: Don't declare `hypot'.
2114 * src/preproc/pic/pic.h: Don't declare `hypot'.
2116 * src/preproc/pic/object.cpp (hypot): Use `groff_hypot'.
2118 2005-03-15 Gaius Mulley <gaius@glam.ac.uk>
2120 * src/devices/grohtml/post-html.cpp
2121 (html_printer::lookahead_for_tables): End .ce properly to avoid a
2124 2005-03-15 Werner LEMBERG <wl@gnu.org>
2126 makeinfo 4.8 doesn't produce good HTML output from groff.texinfo.
2128 * doc/fixinfo.sh: New script to postprocess makeinfo's HTML output.
2130 * doc/Makefile.in (.texinfo.html): Call fixinfo.sh.
2132 2005-03-14 Werner LEMBERG <wl@gnu.org>
2134 Add Cyrillic support to devutf8 and devhtml.
2136 * font/devutf8/R.proto, font/devhtml/R.proto: Add Cyrillic blocks.
2138 * tmac/unicode.tmac: New file.
2140 * tmac/tty.tmac: Include unicode.tmac if device is utf8.
2142 * tmac/Makefile.sub (NORMALFILES): Add unicode.tmac.
2146 2005-03-02 Keith Marshall <keith.d.marshall@ntlworld.com>
2148 * src/libs/libdriver/printer.cpp (check_for_output_error): New
2149 function. It has been introduced to catch peculiar error contexts
2150 on MS-Windows platforms.
2152 2005-02-28 Werner LEMBERG <wl@gnu.org>
2154 * src/roff/troff/input.cpp (string_iterator::fill): Protect against
2157 * tmac/papersize.tmac: Convert `paper' string contents to lowercase.
2159 * configure: Regenerated.
2163 2005-02-28 Keith Marshall <keith.d.marshall@ntlworld.com>
2165 Integrate `pdfmark' into normal groff build system;
2166 install macro `pdfmark' packages, build and install `pdfroff',
2167 and PDF format documentation.
2169 * Makefile.comm: Add PDFDOCDIR.
2171 * Makefile.in: (MDEFINES) ALT_AWK_PROGS, ALT_GHOSTSCRIPT_PROGS,
2172 pdfdocdir, make_pdfdoc, make_install_pdfdoc: New variables.
2173 (unstall_dirs): Add pdfdocdir.
2175 * aclocal.m4: (GROFF_GHOSTSCRIPT_PREFS): New function; support
2176 `--with-alt-gs' option, set ALT_GHOSTSCRIPT_PROGS.
2177 (GROFF_GHOSTSCRIPT_PATH): Support `--with-gs' option, force use of
2178 GROFF_GHOSTSCRIPT_PREFS, set GHOSTSCRIPT.
2179 (GROFF_HTML_PROGRAMS): Force use of GROFF_GHOSTSCRIPT_PATH; tidy up.
2180 (GROFF_AWK_PREFS): New function; support `--with-alt-awk' option,
2182 (GROFF_AWK_PATH): New function; support `--with-awk' option, force
2183 use of GROFF_AWK_PREFS.
2184 (GROFF_PDFDOC_PROGRAMS): New function; force use of GROFF_AWK_PATH
2185 and GROFF_GHOSTSCRIPT_PATH, set make_pdfdoc and make_install_pdfdoc.
2187 * configure.ac: Add AC_PREREQ(2.59), GROFF_PDFDOC_PROGRAMS.
2188 Remove GROFF_GHOSTSCRIPT_PATH, (forced by GROFF_PDFDOC_PROGRAMS, and
2189 also by modified GROFF_HTML_PROGRAMS).
2191 2005-02-27 Gaius Mulley <gaius@glam.ac.uk>
2193 * src/devices/grohtml/html-text.cpp (html_text::do_pre): Preserve
2195 (html_text::done_para): Unset `start_space'.
2196 (html_text::remove_para_align): Call `retrieve_para_space' for the
2199 * src/devices/grohtml/post-html.cpp (html_printer::emit_raw): Unset
2201 (html_printer::do_check_center): Emit vertical space if necessary.
2203 * src/roff/troff/env.cpp (environment_switch): Preserve
2204 `seen_space', `seen_eol', and `suppress_next_eol' while switching
2207 * src/roff/troff/node.cpp (suppress_node::suppress_node): Set
2210 2005-02-20 Werner LEMBERG <wl@gnu.org>
2212 * src/preproc/eqn/eqn.man, NEWS: Document various extensions of
2215 2005-02-17 Werner LEMBERG <wl@gnu.org>
2217 * doc/pic.ms, man/groff.man: Fix typos.
2219 * doc/groff.texinfo: Fix typos.
2220 (\LEmacro): Get proper mathematical spacing.
2222 2005-02-16 Werner LEMBERG <wl@gnu.org>
2224 * aclocal.m4 (GROFF_APPRESDIR_CHECK): Improve warning message.
2225 * configure: Regenerated with autoconf 2.59b.
2227 2005-02-16 Gaius Mulley <gaius@glam.ac.uk>
2229 * src/devices/grohtml/post-html.cpp (html_printer::is_line_start,
2230 html_printer::start_font): Fix handling of preformatted text.
2232 2005-02-15 Gaius Mulley <gaius@glam.ac.uk>
2234 These patches modify the indentation implementation to use `<p
2235 style=margin-left: n%>'. Many thanks to Peter and Larry for
2236 suggesting this solution. Grohtml only uses tables for `.IP' and
2237 related tags when the first operand has a short width.
2239 Similarly, they modify all vertical space code. By default, grohtml
2240 sets up a style sheet which uses no vertical space between `table',
2241 `pre', and `p' tags. It forces spaces when it needs them using
2242 `style="margin-top: 1em"'.
2244 * src/devices/grohtml/html-table.cpp: Include `html-text.h'.
2245 (html_table::emit_table_header, html_table::emit_new_row):
2247 (html_table::set_space): New function.
2248 (html_indent::html_indent): Don't set `is_used'.
2249 (html_indent::begin): Rewritten.
2250 (html_indent::end): Remove code in function.
2252 * src/devices/grohtml/html-table.h: Updated.
2253 (html_table): Make `out' public.
2255 * src/devices/grohtml/html-text.cpp (html_text::html_text):
2256 Initialize `start_space' with FALSE.
2257 (html_text::end_tag) <P_TAG, PRE_TAG>: Updated.
2258 (html_text::issue_tag): Add argument to handle space style.
2259 (html_text::start_tag) <P_TAG, PRE_TAG>: Updated.
2260 (html_text::flush_text): Don't set `start_space'.
2261 (html_text::push_para): Don't set `p->really_issued'.
2262 (html_text::do_emittext): Updated.
2263 (html_text::do_para): Add paremeter to handle space.
2265 (html_text::retrieve_para_space): New function.
2267 * src/devices/grohtml/html-text.h (STYLE_VERTICAL_SPACE): New macro.
2268 (tag_definition): Remove `really_issued'.
2269 (html_text): Updated.
2271 * src/devices/grohtml/post-html.cpp (html_printer): Add variables
2272 `current_column' and `row_space'.
2274 (html_printer::emit_raw, html_printer::write_header,
2275 html_printer::do_indent, html_printer::do_check_center,
2276 html_printer::do_tab_ts): Handle vertical space.
2277 (html_printer:do_tab_te, html_printer::do_end_para): Call
2278 `remove_para_space'.
2279 (html_printer::do_col): Rewritten.
2280 (html_printer::flush_globs): Remove debugging code.
2281 (html_printer::is_line_start): New function.
2282 (html_printer::start_font): Use `is_line_start'.
2283 (html_printer::writeHeadMetaStyle): New function.
2284 (html_printer::do_file_components, html_printer::~html_printer):
2285 Call `writeHeadMetaStyle'.
2287 * tmac/www.tmac (www-handle-percent): New macro.
2288 (MPIMG): Handle percent values for width and height parameters.
2291 * tmac/groff_www.man: Updated.
2293 2005-02-14 Werner LEMBERG <wl@gnu.org>
2295 * src/utils/afmtodit/afmtodit.pl: Remove an incorrect `my' from
2296 $psname and $italic_angle.
2297 Immediately restart file input loops if `split' returns an empty
2300 2005-02-13 Michail Vidiassov <master@iaas.msu.ru>
2301 Werner LEMBERG <wl@gnu.org>
2303 Update afmtodit to better support Unicode (Michail).
2304 Update afmtodit to use Perl 5 syntax (Werner).
2306 * src/utils/afmtodit/afmtodit.pl: Don't use `getopts.pl' but
2308 Decorate variables with `my' where necessary.
2309 Use `defined' where necessary to avoid warnings.
2310 Don't use `do' for subroutine calls.
2311 Other minor syntax updates.
2312 Check for both `uXXXX[X[X]]' and `uniXXXX'.
2313 Handle glyph variants properly.
2314 (%unicode_decomposed, %AGL_to_unicode): Don't use `u' prefix in
2317 * src/utils/afmtodit/afmtodit.man: Updated.
2319 2005-02-13 Werner LEMBERG <wl@gnu.org>
2321 Make groff.texinfo work with texinfo 4.8.
2323 * doc/groff.texinfo (@Var): Use @r and @slanted.
2324 (@defdummy, @Def*): Use @c to avoid empty lines.
2325 (\angles): Replaced with...
2326 (\Langlemacro, \Ranglemacro): New TeX macros.
2327 (@Langlemacro, @Ranglemacro): New variables defined with @set.
2328 (@angles): Use @Langlemacro and @Ranglemacro.
2329 (\LE): Replaced with...
2330 (\LEmacro): New TeX macro.
2331 (@LEmacro): New variable defined with @set.
2332 (@LE): Use @LEmacro.
2333 (@Lparenmacro, @Rparenmacro, @Lbrackmacro, @Rbrackmacro): New
2334 variables defined with @set.
2335 (@lparen, @rparen, @lbrack, @rbrack): Replaced with...
2336 (@Lparen, @Rparen, @Lbrack, @Rbrack): New macros.
2339 Other minor updates.
2341 * doc/texinfo.tex: Update to texinfo version 4.8.
2343 * README.CVS: Updated.
2345 2005-02-09 Alejandro López-Valencia <palopez@etb.net.co> (tiny change)
2347 * doc/groff.texinfo (ms Document Control Registers): Document `HY'
2348 and `FAM' registers.
2350 2005-02-05 Werner LEMBERG <wl@gnu.org>
2352 * tmac/groff_mdoc.man, tmac/doc-common, tmac/doc-ditroff,
2353 tmac/doc-nroff, tmac/doc-old.tmac, tmac/doc-syms, tmac/doc.tmac:
2356 2005-02-01 Werner LEMBERG <wl@gnu.org>
2358 * src/roff/groff/groff.man: Add information about paper size.
2360 2005-01-25 Werner LEMBERG <wl@gnu.org>
2362 * src/roff/nroff/nroff.sh: Handle `*.ISO8859-1' in locale. From
2365 2005-01-22 Ruslan Ermilov <ru@FreeBSD.org>
2367 * tmac/doc.tmac (Sm): Improved. It didn't work properly in many
2369 (Re): Emit a warning if called without `.Rs'.
2370 (doc-finish-reference): Use parameter for decreasing
2371 `doc-reference-count'.
2372 (doc-print-reference): Pass specific count parameters to
2373 `doc-finish-reference'.
2375 2005-01-21 Werner LEMBERG <wl@gnu.org>
2377 * src/libs/libdriver/input.cpp (delete_current_env, do_file):
2378 Reset pointers to zero after deallocation. This fixes a crash
2379 if a driver is called with multiple input files. Reported by
2380 Ken Chilton <ken@chiltonfamily.org>.
2382 * src/devices/grops/grops.man: Add more info on DSC.
2384 2005-01-17 Ruslan Ermilov <ru@FreeBSD.org>
2386 * tmac/doc-common (Dd), tmac/doc-ditroff (gX, doc-setup-header):
2389 2005-01-17 Werner LEMBERG <wl@gnu.org>
2391 * src/roff/troff/div.cpp (top_level_diversion::space): Protect
2392 against division by zero.
2394 2005-01-13 Ruslan Ermilov <ru@FreeBSD.org>
2396 * tmac/doc.tmac (Ef): Restore doc-curr-font and doc-curr-size.
2398 2004-12-19 Werner LEMBERG <wl@gnu.org>
2400 * install-sh: New version; taken from texinfo CVS.
2402 2004-12-17 Werner LEMBERG <wl@gnu.org>
2404 * tmac/devtag.tmac: Protect against loading twice.
2405 Protect agains compatibility mode.
2406 * tmac/www.tmac: Protect against loading twice.
2407 Load `devtag.tmac' before switching off compatibility mode.
2408 * tmac/an-old.tmac, tmac/s.tmac: Load `devtag.tmac'.
2410 2004-12-16 Mike Bianchi <mbianchi@Foveal.com>
2412 * configure.ac: Produce `contrib/gdiffmk/tests/runtests'.
2413 * configure: Updated.
2415 2004-12-15 Thomas Klausner <wiz@netbsd.org>
2417 * tmac/doc-syms, tmac/groff_mdoc.man: Add `libpam' library.
2419 2004-12-15 Werner LEMBERG <wl@gnu.org>
2421 Make `test-groff' work again -- previously, wrong paths have been
2422 used. Additionally, it can now be called from anywhere.
2424 * test-groff.in: Don't test for groff binary. This is no longer
2425 necessary since the proper paths are determined by `configure'.
2426 (EXEEXT): Removed. No longer used.
2427 (srcdir, builddir): Use values provided by the configure script.
2428 (XENVIRONMENT): Updated.
2432 2004-12-14 Gaius Mulley <gaius@glam.ac.uk>
2434 Make .tag and .taga work for all devices (but only grohtml actually
2437 * src/devices/grohtml/post-html.cpp: s/html-tag/devtag/.
2438 (text_glob::is_br, page::add_tag, html_printer::troff_tag,
2439 html_printer::handle_assertion): Don't use hard-coded string
2441 (html_printer::lookahead_for_table): Reset `tbl' properly if
2443 (html_printer::devtag): New function, handling `devtag'.
2444 (html_printer::special): Don't handle `html-tag'.
2446 * src/include/printer.h, src/libs/libdriver/printer.cpp
2447 (printer::devtag): New virtual function.
2449 * src/libs/libdriver/input.cpp (parse_x_command) <'X'>: Handle
2452 * src/roff/troff/env.cpp, src/roff/troff/mtsm.cpp,
2453 src/roff/troff/node.cpp: s/html-tag/devtag/.
2455 * src/roff/troff/input.cpp (tag, taga): Always call
2458 * tmac/an-old.tmac, tmac/s.tmac, tmac/troffrc-end: Use DEVTAG*
2459 macros instead of HTML-TAG*.
2461 * tmac/devtag.tmac: New file, defining the DEVTAG-* macros.
2463 * tmac/www.tmac: Load devtag.tmac.
2464 Replace HTML-TAG* macros with DEVTAG* macros.
2465 (HTML, HTML-NS): Changed definitions.
2467 (HTML-TAG, HTML-TAG-NS, HTML-TAG-NEXT): Removed.
2469 * tmac/Makefile.sub (NORMALFILES): Add devtag.tmac.
2471 2004-12-10 Werner LEMBERG <wl@gnu.org>
2473 Import Mike's `gdiffmk' package.
2475 * contrib/gdiffmk/*: New files.
2476 * Makefile.in (OTHERDIRS): Add contrib/gdiffmk.
2479 2004-12-08 Werner LEMBERG <wl@gnu.org>
2481 Import Keith's `pdfmark' package. Integration is very preliminary.
2483 * contrib/pdfmark/*: New files.
2484 * Makefile.in (OTHERDIRS): Add contrib/pdfmark.
2487 2004-12-07 Gaius Mulley <gaius@glam.ac.uk>
2489 Fix a bug with title handling in HTML.
2491 * src/devices/grohtml/post-html.cpp (text_glob::is_nf,
2492 text_glob::is_fi, text_glob::is_ce): Use strlen to compute string
2494 (html_printer::handle_tag_within_title): New function.
2495 (html_printer::do_title): Use it.
2497 * tmac/s.tmac (TL): Don't set `need_eo_tl'.
2498 (cov*tl-au-print): Emit `.eo.tl' tag.
2500 2004-12-05 Alejandro López-Valencia <dradul@etb.net.co>
2502 * man/groff_char.man: Minor imrovements.
2504 2004-12-04 Werner LEMBERG <wl@gnu.org>
2506 * src/preproc/eqn/eqn.man: Revised.
2508 2004-11-25 Werner LEMBERG <wl@gnu.org>
2510 * src/utils/xtotroff/xtotroff.c: Reformat to be similar to other
2514 Remove X_NOT_STDC_ENV conditional.
2515 (Version_string, program_name): New global variables.
2516 (groff_flag): Removed.
2518 (usage): Take a stream as argument.
2521 (main): Add `long_options' array for `--help' and `--version'.
2522 Make `-g' a dummy option.
2523 Handle `-v' and unknown options.
2524 Remove unused `position' variable.
2526 * src/utils/xtotroff/Makefile.sub (MAN1): Define.
2527 (XLIBS): Add LIBGROFF.
2529 * src/utils/xtotroff/xtotroff.man, src/utils/xtotroff/Makefile.in:
2532 * src/devices/xditview/Dvi.c (default_font_map): Split into three
2533 parts to avoid compiler warning.
2534 (resources): Don't initialize with `default_font_map'.
2535 (ClassInitialize): Initialize first element of `resources'.
2537 * src/devices/xditview/Makefile.sub (devdir, xtotroff, DPIS, fonts):
2540 * src/utils/lkbib/lkbib.man, src/utils/lookbib/lookbib.man,
2541 src/utils/pfbtops/pfbtops.man: Revised, updated.
2543 * configure.ac: Generate src/utils/xtotroff/Makefile.
2544 * configure: Regenerated.
2546 2004-11-24 Werner LEMBERG <wl@gnu.org>
2548 First fixes to get produce HTML.
2550 * src/devices/grohtml/post-html.cpp (generate_img_src): Add `alt'
2553 * tmac/www.tmac (IMG, PIMG, MPIMG): Add `alt' attribute.
2554 (HR, LI): Use `HTML</p>', not `HTML'.
2556 * doc/webpage.ms: Minor updates.
2558 2004-11-23 Larry Kollar <kollar@alltel.net>
2560 Add option -S grohtml to determine the file split level.
2562 * src/devices/grohtml/post-html.cpp (split_level): New global
2564 (html_header::determine_header_level): Use split_level.
2565 (main): Handle `-S' command line option.
2568 * src/preproc/html/pre-html.cpp (scanArguments): Updated.
2570 * src/devices/grohtml/grohtml.man: Document it.
2573 * NEWS: Document it.
2575 2004-11-23 Y T <doarhop@hotmail.com>
2577 * tmac/s.tmac (ref*add-V, ref*add-N): New macros for handling
2578 the volume and number refer entries.
2580 2004-11-22 Werner LEMBERG <wl@gnu.org>
2582 * src/devices/grohtml/html-table.cpp
2583 (html_table::emit_table_header): Don't emit `cols' attribute which
2584 doesn't exist in HTML 4.0 and is thus invalid.
2586 * NEWS: More minor fixes and updates.
2588 2004-11-18 Werner LEMBERG <wl@gnu.org>
2590 * tmac/www.tmac (HTML-NS, HTML-TAG-NS, HTML-TAG-NEXT): Simplified.
2591 (HTML</p>): Minor clean-up.
2593 * tmac/groff_www.man: Updated.
2595 * src/devices/grohtml/grohtml.man: Revised and updated.
2599 2004-11-18 Gaius Mulley <gaius@glam.ac.uk>
2601 * src/devices/grohtml/post-html.cpp (html_printer::do_heading):
2602 Fix space insertion.
2603 (html_printer::do_links): Fix rules generation around automatic
2606 * tmac/www.tmac (LK): Use HTML-TAG-NS.
2608 No longer emit empty line for non-HTML devices.
2610 2004-11-17 Werner LEMBERG <wl@gnu.org>
2612 * doc/Makefile.in (prepare_examples, webpage.html): Handle
2615 * doc/Makefile.sub (EXAMPLEFILES, CLEANNOTSRCDIRADD,
2616 prepare_examples, webpage.html): Handle `groff.css'.
2618 2004-11-15 Werner LEMBERG <wl@gnu.org>
2620 * NEWS, README, doc/webpage.ms: Updated.
2622 * tmac/www.tmac (HTML, HTML-TAG): Minor clean-ups.
2624 2004-10-30 Gaius Mulley <gaius@glam.ac.uk>
2626 * src/include/printer.h (printer): Remove virtual function
2628 Update all source files.
2630 * src/devices/grohtml/post-html.cpp (html_printer): New member
2631 function `round_width'.
2633 2004-10-20 Tadziu Hoffmann <hoffmann@usm.uni-muenchen.de>
2635 * src/preproc/tbl/table.cpp (table::do_row): Fix handling of the `d'
2636 column key letter suffix.
2638 2004-10-14 Werner LEMBERG <wl@gnu.org>
2640 * Makefile.in (check): Depend on `site.exp' and `docheck'.
2641 (docheck): Run dejagnu's `runtest' if it exists.
2642 (site.exp): Create dejagnu configuration file.
2644 * Makefile.sub (DISTCLEANFILES): Add files related to dejagnu.
2646 2004-10-13 Werner LEMBERG <wl@gnu.org>
2648 * src/devices/grohtml/html-text.cpp (html_text_get_alignment),
2649 src/devices/grohtml/post-html.cpp (make_val,
2650 html_printer::handle_state_assertion): Fix compiler warnings.
2652 * src/roff/troff/div.cpp: Include `stringclass.h' and `mtsm.h'.
2653 (diversion::diversion): Fix order of initializers.
2655 * src/roff/troff/div.h: Don't include `mtsm.h'.
2657 * src/roff/troff/env.cpp: Include `stringclass.h' and `mtsm.h'.
2658 (environment::environment): Fix order of initializers.
2659 (environment::make_tag, environment::construct_format_state): Fix
2662 * src/roff/troff/input.cpp: Include `stringclass.h' and `mtsm.h'.
2663 (input_iterator::input_iterator, macro::macro): Fix order of
2666 * src/roff/troff/mtsm.cpp: Include only necessary header files.
2667 (state_set::add, state_set::val): Fix compiler warnings.
2669 * src/roff/troff/mtsm.h: Don't include `stringclass.h'.
2670 (bool_value_state, int_value_state, units_value_state,
2671 string_value_state): Remove comma after last element which causes
2672 an error with g++ 3.3.3.
2674 * src/roff/troff/node.cpp: Include `stringclass.h'.
2675 (hline_node::hline_node, vline_node::vline_node,
2676 space_char_hmotion_node, left_italic_corrected_node): Fix compiler
2678 (zero_width_node::zero_width_node): Fix order of initializers.
2680 * src/roff/troff/node.h: Don't include `mtsm.h'.
2681 (hmotion_node): Fix compiler warnings.
2683 * src/roff/troff/number.cpp: Include `stringclass.h' and `mtsm.h'.
2685 2004-10-12 Gaius Mulley <gaius@glam.ac.uk>
2687 * doc/groff.css: New file.
2689 * doc/webpage.ms: Use `groff.css'.
2692 * tmac/an-old.tmac (need_eo_h): New number register.
2693 (TH): Emit `.eo.tl' tag after title.
2694 (SH): Set `need_eo_h'.
2695 (an-trap): Handle `need_eo_h'.
2696 (an-do-tag): s/HTML-TAG-NS/HTML-TAG-NEXT/.
2698 * tmac/s.tmac (need_eo_h, need_eo_tl): New number registers.
2699 (TL): Always start diversion.
2701 (@AI): Always call `par@reset'.
2702 (@AB): Update code for -Thtml.
2703 (cov*tl-au-print): Handle -Thtml.
2704 (par@reset): Handle `need_eo_tl', `need_eo_h'.
2706 (@IT-html): Removed.
2707 (@SH): Set `need_eo_h' for -Thtml.
2708 (par@TL): s/HTML-TAG/HTMl-TAG-NS/.
2710 (@NH): s/HTML-TAG/HTMl-TAG-NS/.
2711 Set `need_eo_h' for -Thtml.
2712 (@EQ, @EN): Don't handle -Thtml specially.
2713 (par@load-init): Don't handle -Thtml specially.
2715 * tmac/www.tmac (www:paraspace): New macro.
2716 (HTML-NS, HTML-TAG-NS): Use new `tag' request.
2717 (HTML</p>, HTML-TAG-NEXT): New macros.
2718 (HnE): Emit tag `.eo.h' instead of break.
2719 (HR): s/HTML-NS/HTML/.
2720 (www-end-nowhere): End diversion only if `www-html' not set.
2722 (ULS, ULE): s|HTML|HTML</p>|.
2723 (LI): Call `www:paraspace'.
2726 2004-10-11 Gaius Mulley <gaius@glam.ac.uk>
2728 * src/roff/troff/request.h (macro): Make `p' public.
2729 New variable `is_a_diversion'.
2730 New member function `is_diversion'.
2733 * src/devices/grohtml/html.h (simple_output): New member function
2736 * src/devices/grohtml/html-table.cpp (tabs::compatible): Fix
2737 computation of `total'.
2738 (tabs::check_init): New function.
2739 (html_table::emit_table_header): Emit style data.
2740 (html_table::insert_column): Improved.
2742 * src/devices/grohtml/html-table.h: Updated.
2744 * src/devices/grohtml/html-text.cpp (html_text::html_text):
2745 Initialize `start_space' with TRUE.
2746 (html_text::end_tag, html_start_tag): Fix `P_TAG' and `PRE_TAG'
2748 (html_text::flush_text): Set `start_space' flag.
2749 (html_text::uses_indent, html_text::remove_para_space,
2750 html_text::get_alignment): New functions.
2751 (html_text::push_para): Updated.
2752 (html_text::do_para): Check for empty argument.
2753 Don't set `space_emitted'.
2754 (html_text::do_space, html_text::emit_space): Updated.
2756 * src/devices/grohtml/html-text.h (tag_definition): New variable
2758 (html_text): New member function `uses_indent', `remove_para_space',
2761 * src/devices/grohtml/output.cpp (simple_output::force_nl): New
2763 (simple_output:nl): Always emit `\n'.
2765 * src/devices/grohtml/post-html.cpp: Include `string.h'.
2766 (BASE_POINT_SIZE): Removed.
2767 (base_point_size, head_info): New global variables.
2768 (text_glob): New member functions `is_ll', `is_tl', `is_eo_tl',
2770 (text_glob::is_nf, text_glob::is_fi): Handle `.fi 0' and `.fi 1'
2772 (page::add_and_encode): Pass additional parameter for tag flag.
2773 (assert_pos): New structure.
2774 (assert_state): New class.
2775 (html_printer): Remove `indentation', `prev_indent'.
2776 Add variables `troff_indent', `device_indent', `temp_indent'.
2777 Add variables `seen_indent', `next_indent', `seen_pageoffset',
2778 `next_pageoffset', `seen_linelenght', `next_linelength',
2779 `seen_center', `next_center', `seen_space', `seen_break', `as'.
2780 Add member functions `do_check_center', `do_space', `do_head',
2781 `get_troff_indent', `restore_troff_indent', `handle_assertion',
2782 `handle_state_assertion', `do_end_para', `set_char_and_width'.
2783 Change argument to `do_fill' to `char *'.
2785 (html_printer::emit_raw): Call `shutdown_table'.
2787 (html_printer::do_center): Simplified.
2788 (html_printer::do_title): Improved.
2789 (html_printer::write_header): Emit one more newline.
2791 (html_printer::do_heading, html_printer::do_indent,
2792 html_printer::do_eol, html_printer::do_tab_ts,
2793 html_printer::do_tab, html_printer::do_tab0,
2794 html_printer::calc_po_in, html_printer::next_horiz_pos,
2795 html_printer::remove_courier_tabs,
2796 html_printer::insert_tab0_foreach_tab, html_printer::begin_page):
2798 (html_printer::do_linelength, html_printer::do_pageoffset,
2799 html_printer::do_indentation, html_printer::do_tempindent,
2800 html_printer::do_tab_te): Simplified.
2801 (html_printer::do_pointsize): Check whether point size is really
2802 associated a `.tl' tag.
2803 (html_printer::do_break): Rewritten.
2804 (html_printer::troff_tag): Improved.
2805 (html_printer::flush_globs): Updated.
2806 (html_printer::lookahead_for_tables): Handle `is_br'.
2808 (html_printer::set_char): Check `sbuf_style.f'.
2809 (html_printer::write_navigation): Use string comparison.
2810 (html_printer::~html_printer): Emit `head_info'.
2811 (html_printer::special): Rewritten.
2812 (get_str, make_val): New functions.
2813 (main): New option `s' to set the base point size.
2815 * src/preproc/html/pre-html.cpp (scanArguments): Handle option `s'.
2817 2004-10-10 Gaius Mulley <gaius@glam.ac.uk>
2819 * src/roff/troff/node.cpp: New extern `debug_state'.
2820 Include `stringclass.h' and `mtsm.h'.
2821 Implement new classes and class members from `node.h'.
2822 (real_output_file): Make `fp' public.
2823 (troff_output_file): New variables `cur_div_level' and `tag_list'.
2824 Update constructors.
2825 (troff_output_file::really_print_line): Check whether we should push
2826 the current troff state and use the state at the start of the
2827 invocation of this diversion.
2828 (troff_output_file::add_to_tag_list): New member function.
2829 (node::add_char): Handle `glyph_comp_np'.
2831 * src/roff/troff/node.h: Include `mtsm.h'.
2832 (node): New variables `state', `push_state', `div_nest_level',
2833 `is_special'. Update constructors, all descendants.
2834 Pass additional argument to `add_char' member function.
2835 New virtual member functions `is_tag', `debug_node',
2836 `debug_node_list'. Update all descendants.
2837 (tag_node): New class for handling tags.
2838 (output_file): Add variable `state'.
2840 2004-10-09 Gaius Mulley <gaius@glam.ac.uk>
2842 * src/roff/troff/mtsm.cpp, src/roff/troff/mtsm.h: New files,
2843 providing a minimal troff state machine to emit meta tags for the
2844 post-grohtml device driver.
2846 * src/roff/troff/Makefile.sub (OBJS, CCSRCS, HDRS): Handle new
2849 2004-10-09 Werner LEMBERG <wl@gnu.org>
2851 * tmac/trace.tmac: Fix handling of `am' and `am1' calls.
2853 2004-10-06 Gaius Mulley <gaius@glam.ac.uk>
2855 * src/roff/troff/column.cpp (vjustify_node::copy): Updated.
2857 * src/roff/troff/div.h: Include `mtsm.h'.
2858 (diversion): New variables `any_chars_added', `needs_push',
2859 `saved_seen_break', `saved_seen_space', `saved_seen_eol',
2860 `saved_suppress_next_eol', `modified_tag'.
2861 New virtual member function `is_diversion'. Update all descendants.
2863 * src/roff/troff/div.cpp (diversion::diversion,
2864 macro_diversion::macro_diversion): Updated.
2865 (do_divert): Handle `seen_break', `seen_space', `seen_eol',
2866 `suppress_next_eol'.
2867 (top_level_diversion::space): Handle `curenv->seen_space'.
2868 (page_offset): Update tag handling.
2869 (space_request, blank_line, flush_output): Don't call `add_html_tag'.
2871 * src/roff/troff/env.h (environment): Make `tabs' public.
2872 Remove `ignore_next_eol', `emitted_node'.
2873 Update `output_line', `output'.
2874 New variables `seen_space', `seen_eol', `suppress_next_eol',
2876 New member functions `construct_state', `make_tag',
2877 `construct_format_state, `construct_new_line_state,
2879 Remove `add_html_tag', `make_html_tag'.
2881 * src/roff/troff/env.cpp: New externs `suppress_push',
2882 `get_diversion_state', `global_diverted_space'.
2883 (pending_output_line): New variable `was_centered'.
2884 Update constructor and all callers.
2885 (pending_output_line::output): Call `curenv->construct_format_state'.
2886 (environment::environment, environment::copy): Updated.
2887 (environment::output): Handle `was_centered'.
2888 (environment::add_char): Handle construct and diversion state.
2889 (environment::add_node): Handle construct state.
2890 (environment::newline): Handle `was_centered'.
2891 (environment::output_line): Updated.
2892 (environment::possibly_break_line): Updated.
2893 Update tag handling.
2894 (environment::add_html_tag): Replaced with...
2895 (environment::make_tag): New function.
2896 (environment::add_html_tag_tabs, environment::make_html_tag): Removed.
2897 (environment::dump_troff_state): New debugging function.
2898 (environment::construct_state, environment::construct_format_state,
2899 environment::construct_new_line_state): New functions.
2900 (environment::do_break): Updated.
2901 Handle `global_diverted_space'.
2902 (environment::handle_tag): Update tag handling.
2903 (point_size, fill, do_break_request): Don't call `add_html_tag'.
2904 (no_fill): Don't call `add_html_tag'.
2905 Set `suppress_next_eol'.
2906 (center, right_justify, line_length, indent, temporary_indent,
2908 Update tag handling.
2910 * src/roff/troff/input.cpp: Don't include `stringclass.h'.
2911 (input_iterator): New variables `is_diversion', `diversion_state'.
2912 Update constructors.
2913 (input_stack): New member functions `get_div_level',
2914 `get_diversion_state', `check_end_diversion'.
2915 New variables `div_level', `diversion_state'. Initialize them.
2916 (suppress_push, global_diverted_space): New global variables.
2917 (input_stack::finish_get, input_stack::finish_peek,
2918 input_stack::remove_boundary, input_stack::end_file,
2919 input_stack::clear, input_stack::pop_macro): Call
2920 `check_end_diversion'.
2921 (input_stack::push): Handle `div_level' and `diversion_state'.
2922 (get_diversion_state): New function.
2923 (diverted_space_node::reread): Handle `global_diverted_space'.
2924 (macro::macro): Update constructors.
2925 (macro::is_diversion): New function.
2926 (macro::operator=): Set `is_a_diversion'.
2927 (string_iterator): New member function `is_diversion'.
2928 (string_iterator::string_iterator): Update constructors.
2929 (string_iterator::fill): Set `div_nest_level'.
2930 (macro_iterator): New member function `is_diversion'.
2931 (do_if_request): Handle `suppress_push'.
2932 (tag, taga): New functions.
2933 (init_input_requests): Add `tag' and `taga' requests.
2935 2004-10-05 Gaius Mulley <gaius@glam.ac.uk>
2937 * src/include/font.h (font): New member function
2938 `get_image_generator'.
2939 New variables `unscaled_charwidths' and `image_generator'.
2941 * src/libs/libgroff/font.cpp (font::get_width): Always return the
2942 character's unscaled width if `font::unscaled_charwidths' is set.
2943 (font::get_image_generator): New function.
2944 (font::load_desc): Check the `unscaled_charwidths' and
2945 `image_generator' keywords.
2947 * src/libs/libgroff/fontfile.cpp: Initialize
2948 `font::unscaled_charwidths' and `font::image_generator'.
2950 * font/devhtml/DESC.proto: s/html/unscaled_charwidths/.
2952 * font/devhtml/Makefile.sub (DESC): Set `image_generator' keyword.
2954 * man/groff_font.man: Document `unscaled_charwidths' and
2957 * src/preproc/html/pre-html.cpp: Include `device.h'.
2958 (image_gen): New global variable.
2959 (imageList::createPage): Use `image_gen'.
2960 (main): Use `image_generator' keyword.
2962 2004-10-04 Gaius Mulley <gaius@glam.ac.uk>
2964 * tmac/html.tmac: Handle \[sqrtex].
2966 2004-10-04 Gaius Mulley <gaius@glam.ac.uk>
2968 * src/include/printer.h (printer): New virtual method `round_width'.
2970 * src/devices/grodvi/dvi.cpp, src/devices/grolbp/lbp.cpp,
2971 src/devices/grolj4/lj4.cpp, src/devices/grops/ps.cpp,
2972 src/devices/grotty/tty.cpp (printer::round_width): New function
2975 * src/devices/grohtml/post-html.cpp (printer::round_width): New
2977 (html_printer::set_numbered_char): Use it.
2979 2004-10-03 Gaius Mulley <gaius@glam.ac.uk>
2981 * aclocal.m4 (GROFF_GHOSTSCRIPT_PATH): New macro.
2983 * configure.ac: Call GROFF_GHOSTSCRIPT_PATH.
2985 * configure: Regenerated.
2987 * Makefile.in (GHOSTSCRIPT): New variable.
2988 (MDEFINES): Add GHOSTSCRIPT.
2990 2004-10-03 Werner LEMBERG <wl@gnu.org>
2992 * INSTALL.gen: Updated (taken from texinfo CVS).
2994 2004-09-28 Werner LEMBERG <wl@gnu.org>
2998 2004-09-28 Heinz-Jürgen Oertel <hj.oertel@surfeu.de>
3000 * tmac/groff_www.man: Revised and updated.
3002 2004-09-26 Werner LEMBERG <wl@gnu.org>
3004 Fix \$@ and \$* to handle any number of arguments.
3006 * src/roff/troff/input.h (BEGIN_QUOTE, END_QUOTE): New special
3009 * src/roff/troff/input.cpp (input_iterator::internal_level):
3011 (input_stack): New member functions `increase_level' and
3013 (input_stack::get_level): Don't use `internal_level'.
3014 (get_copy, token::next): Handle BEGIN_QUOTE and END_QUOTE.
3015 (end_quote_iterator): Completely removed.
3016 (interpolate_arg): Build string for \$@ and \$* which is then
3017 pushed onto the input stack.
3019 2004-09-23 Keith Marshall <keith.d.marshall@ntlworld.com>
3021 * tmac/groff_ms.man, doc/groff.texinfo (ms Document Control
3022 Registers): Document changes from 2004-09-19.
3024 2004-09-23 Werner LEMBERG <wl@gnu.org>
3026 * tmac/an-old.tmac (ne): Using default scaling operator.
3028 2004-09-19 Keith Marshall <keith.d.marshall@ntlworld.com>
3030 This change implements the following features:
3033 New numeric register: Defines number of lines following LP, PP,
3034 QP, IP or XP, which must be kept together, before any automatic
3035 page break. If insufficient space remains on the current page, a
3036 page break is forced before the new paragraph begins.
3039 New numeric register: Sets number of lines of following paragraph
3040 which must be kept with a heading, defined by NH or SH, before any
3041 automatic page break. If insufficient space remains on the
3042 current page, a page break is forced before the heading.
3045 (Thanks to Joerg van den Hoff, for this idea).
3047 New numeric register: Sets the first level of heading (set with
3048 NH), which will keep the same point size as body text; e.g. if
3049 GROWPS is set to 3, .NH 3, .NH 4, ... will produce headings at the
3050 point size specified by \n[PS], but .NH 2 and .NH 1 will have
3051 progressively larger point sizes, determined by \n[PSINCR] (see
3055 New numeric register: Sets the point size increment for each level
3056 of heading, (set with NH), below the threshold level set by
3057 GROWPS; e.g. if \n[PS] = 10, \n[GROWPS] = 3 and \n[PSINCR] = 2.0p,
3058 then .NH 1 will produce 14pt headings, .NH 2 will produce 12pt,
3059 and all other levels will remain at 10pt, (because \n[PS] = 10).
3062 Existing macro now accepts a numeric argument, to make heading
3063 size match that of NH with same argument value, when the
3064 GROWPS/PSINCR feature is enabled.
3067 New string, set by NH macro, replaces the existing (undocumented)
3068 use of SN, to represent the assigned section number.
3071 New string, set by NH macro, represents the assigned section
3072 number, but omits the terminal period (periods at intermediate
3073 levels are retained).
3076 String set by NH macro, originally undocumented, now implemented
3077 as an alias for SN-DOT (which reproduces original behaviour).
3079 * tmac/s.tmac (PORPHANS): New register.
3080 (par*start): Use it.
3081 (HORPHANS, GROWPS, PSINCR): New registers.
3082 (SH-NO-TAG, @SH): Use them.
3085 2004-09-19 Keith Marshall <keith.d.marshall@ntlworld.com>
3087 * NEWS, doc/groff.texinfo (ms Display and Keeps), tmac/groff_ms.man:
3088 Document the deletion of `Ds' and `De' macros.
3090 2004-09-10 Werner LEMBERG <wl@gnu.org>
3092 In tbl, handle \a as an interpreted leader character if in
3095 * src/preproc/tbl/table.h (PREFIX, PREFIX_CHAR, LEADER,
3096 LEADER_CHAR): New macros.
3097 (compatible_flag): New declaration.
3099 * src/preproc/tbl/main.cpp (table_input): Add LEADER_1, LEADER_2,
3100 LEADER_3, and LEADER_4 to `state'.
3101 (table_input::get): Handle `\a'.
3103 * src/preproc/tbl/table.cpp (PREFIX): Removed.
3104 (LEADER_REG): New macro.
3105 (table::init_output): Define LEADER_REG string register if in
3108 * src/preproc/tbl/tbl.man: Document it.
3110 2004-08-18 Werner LEMBERG <wl@gnu.org>
3112 * tmac/doc.tmac (An): Fix error message.
3114 2004-08-06 Werner LEMBERG <wl@gnu.org>
3116 * src/preproc/tbl/main.cpp (main): Call `fatal' not `error' if a
3117 file can't be opened. UNIX tbl has the same behaviour.
3119 2004-08-05 Y T <doarhop@hotmail.com>
3121 * src/preproc/grn/hdb.cpp (compatibility_flag): Add declaration.
3122 (DBRead): If in compatibility mode, take into account the text
3123 when computing figure boundaries.
3125 2004-08-05 Werner LEMBERG <wl@gnu.org>
3127 * src/preproc/soelim/soelim.man: Improved. Based on suggestions
3128 from Tadziu Hoffmann.
3130 2004-08-03 Werner LEMBERG <wl@gnu.org>
3132 * doc/meref.me: Document `_M' register.
3134 2004-08-03 Martin Husemann <martin@duskware.de>
3136 Make hpftodit work correctly on big-endian systems.
3138 * src/utils/hpftodit/hpftodit.cpp (File): New method
3139 `get_uint32(char *)'.
3140 (entry): New member `orig_value'.
3141 (read_tags): Use new method.
3142 (output_font_name, read_and_output_pcltypeface, dump_ascii):
3145 2004-08-01 Werner LEMBERG <wl@gnu.org>
3147 * tmac/s.tmac: Undo change 2003-06-29. The proper macro definitions
3148 are already in X11's `macros.t' file.
3150 2004-08-01 Jeff Conrad <jeff_conrad@msn.com>
3152 * src/utils/hpftodit/hfptodit.cpp (output_font_name, dump_ascii):
3154 (read_and_output_pcltypeface): Handle strings with length <= 4.
3156 2004-07-27 Egil Kvaleberg <egil@kvaleberg.no>
3158 * tmac/s.tmac (pg@top): Don't save `PO' register.
3159 (pg*end-col, pg*end-page): Directly use `PO' register.
3161 2004-07-27 Werner LEMBERG <wl@gnu.org>
3163 * man/groff_tmac.man: Mention `trace' and `pic' macro packages.
3165 * src/preproc/refer/refer.cpp (output_references): Check for
3167 * src/preproc/refer/refer.man: Improve documentation of
3168 `bibliography' command.
3170 2004-07-26 Werner LEMBERG <wl@gnu.org>
3172 Add requests `fcolor' and `gcolor'.
3174 * src/roff/troff/env.cpp (fill_color_change, glyph_color_change):
3176 (init_env_requests): Add `fcolor' and `gcolor'.
3178 * src/roff/troff/input.h: Export do_glyph_color and do_fill_color.
3180 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo
3181 (Colors): Document new requests.
3183 2004-07-24 Werner LEMBERG <wl@gnu.org>
3185 Add support for fractional point sizes in ms macros. A value for
3186 PS, VS, FPS, and FVS greater than or equal to 1000 is always divided
3187 by 1000. For example, `.nr PS 10250' sets the font size to 10.25p.
3189 * tmac/s.tmac (@AU, @AI, par@load-init, par@init, par@reset, NL,
3190 PX): Handle fractional point sizes for PS, VS, FPS, and FVS.
3192 * tmac/groff_ms.man, docs/groff.texinfo (ms Document Control
3193 Registers), NEWS: Document it.
3195 2004-07-19 Werner LEMBERG <wl@gnu.org>
3197 * src/preproc/pic/lex.cpp (for_input): Add member `from'.
3199 (do_for, for_input::get, for_input::peek): Handle negative `by'.
3200 * src/preproc/pic/pic.man, doc/pic.ms, NEWS: Document it.
3202 2004-07-08 Thomas Klausner <wiz@netbsd.org>
3204 * tmac/doc-syms (doc-str-St--p1003.1-2004): New string.
3205 * tmac/groff_mdoc.man: Updated.
3207 2004-07-05 Werner LEMBERG <wl@gnu.org>
3209 * doc/groff.texinfo (Manipulating Hyphenation): Further improve
3210 documentation of `hcode'.
3212 2004-07-04 Sang Dae Yu <sdyu@bh.knu.ac.kr>
3214 Improve appearance of arrows in pic.
3216 * src/preproc/pic/object.cpp (draw_arrow): Make outline of filled
3218 Use two line segments for drawing non-filled arrow head.
3219 (line_object::print, spline_object::print): Shorten line length to
3220 avoid arrow sticking.
3221 (arc_object::print): Take arrow direction into account.
3223 2004-07-03 Heinz-Jürgen Oertel <hj.oertel@surfeu.de>
3225 * tmac/groff_www.man: Update documentation of .MPIMG.
3227 2004-07-03 Werner LEMBERG <wl@gnu.org>
3229 * tmac/an-old.tmac (RI): Always start with font `R'.
3230 (RI, IR): Properly end with font `R'.
3232 2004-07-02 Paul Eggert <eggert@cs.ucla.edu>
3234 * man/ditroff.man, man/groff_font.man, man/groff_out.man,
3235 src/devices/grohtml/grohtml.man, src/preproc/grn/grn.man,
3236 src/preproc/pic/pic.man, tmac/groff_man.man, tmac/groff_ms.man:
3237 Don't pass more than six arguments to .R, .I, .B, etc., for
3238 compatibility with traditional troff macros.
3240 2004-07-02 Werner LEMBERG <wl@gnu.org>
3242 * src/roff/troff/input.h: s/COMPATIBLE_SAVE/PUSH_GROFF_MODE/.
3243 s/COMPATIBLE_RESTORE/POP_GROFFCOMP_MODE/.
3245 (PUSH_COMP_MODE): New internal character constant.
3248 * src/roff/troff/input.cpp (get_copy): Handle PUSH_GROFF_MODE,
3249 PUSH_COMP_MODE, and POP_GROFFCOMP_MODE.
3250 (token::next, macro::append): Handle PUSH_COMP_MODE.
3251 (decode_args): Add PUSH_GROFF_MODE or PUSH_COMP_MODE before and
3252 POP_GROFFCOMP after each of the decoded arguments to make them
3253 independent from the compatibility mode status.
3254 (comp_mode): Add `COMP_ENABLE'.
3255 (do_define_string, do_define_macro): Handle COMP_ENABLE.
3256 (define_string, append_string, define_macro, define_indirect_macro,
3257 append_macro, append_indirect_macro): Handle `compatible_flag'.
3258 (chop_macro, substring_request, asciify): Handle PUSH_COMP_MODE.
3260 * man/groff_diff.man, doc/groff.texinfo: Updated.
3262 2004-07-01 Werner LEMBERG <wl@gnu.org>
3264 * doc/groff.texinfo: Improve documentation of `hcode'.
3265 Use @documentencoding and convert document to latin-1; to do that
3266 make latin characters active and assign proper macros (within a
3267 @tex...@end tex environment).
3268 * doc/Makefile.in (.texinfo.html, groff): Use --enable-encoding.
3269 * doc/Makefile.sub (groff): Ditto.
3271 2004-06-29 Werner LEMBERG <wl@gnu.org>
3273 Implement two new conditional operators `F <name>' and `S <name>'
3274 which check whether <name> is a valid font or style, respectively.
3276 * src/libs/libgroff/font.cpp (text_file): Add `silent' member.
3277 (text_file::text_file): Updated.
3278 (text_file::error): Don't emit message if `silent' is set.
3279 (font::load_font): Add optional third argument (which is directly
3281 (font::load): Add optional second argument to check the header of
3282 a font only, without emitting warning or error messages.
3283 * src/include/font.h (font): Updated.
3285 * src/roff/troff/input.cpp (do_if_request): Implement `S' and `F'
3287 * src/roff/troff/node.cpp (mount_font_no_translate): Add optional
3288 fourth argument to check a font without mounting.
3289 (check_font, check_style): New functions.
3290 * src/roff/troff/node.h: Updated.
3292 * man/groff_diff.man, man/groff.man, NEWS, doc/groff.texinfo:
3295 2004-06-27 Werner LEMBERG <wl@gnu.org>
3297 Implement new string-valued register `.sty' to return the current
3300 * env.cpp (environment::get_style_name_string): New function.
3301 (init_env_requests): Add `.sty' register.
3302 * env.h (environment): Updated.
3303 * node.cpp (font_info): Make `get_style_name' a friend.
3304 (get_style_name): New function.
3307 * man/groff_diff.man, man/groff.man, NEWS, doc/groff.texinfo:
3310 2004-06-15 Werner LEMBERG <wl@gnu.org>
3312 * src/preproc/tbl/main.cpp (process_data) <GOT_RIGHT_BRACE>: Handle
3315 2004-06-10 Colin Percival <colin.percival@wadham.ox.ac.uk>
3317 * doc/meintro.me, doc/meref.me: Don't use \*[td], \n[dy], \*[mo],
3318 and \n[mo] to avoid dependency on current date.
3320 2004-06-08 Werner LEMBERG <wl@gnu.org>
3322 * Makefile.sub (install_data): New target.
3324 2004-06-04 Werner LEMBERG <wl@gnu.org>
3326 * src/libs/libxutil/Makefile.sub (EXTRA_CFLAGS): Define.
3328 2004-06-03 Werner LEMBERG <wl@gnu.org>
3330 * src/devices/xditview/Makefile.sub (EXTRA_LDFLAGS): Fix typo and
3332 (install_data): Add $(srcdir).
3334 * src/utils/xtotroff/Makefile.sub (EXTRA_LDFLAGS): Fix order of
3337 2004-06-02 Werner LEMBERG <wl@gnu.org>
3339 * aclocal.m4 (GROFF_X11): s/have_no_x/groff_no_x/.
3340 Add X11 stuff to CFLAGS, LDFLAGS, and LIBS temporarily.
3341 Add test for Xmu library.
3342 (GROFF_APPRESDIR_OPTION, GROFF_APPRESDIR_CHECK,
3343 GROFF_APPRESDIR_DEFAULT): New macros.
3345 * configure.ac: Call GROFF_APPRESDIR_OPTION, GROFF_APPRESDIR_CHECK,
3346 and GROFF_APPRESDIR_DEFAULT.
3348 * configure: Regenerated.
3350 * Makefile.in (appresdir): New variable.
3351 (MDEFINES): Add appresdir.
3353 * src/devices/xditview/Makefile.sub (EXTRA_LDFLAGS): Add -Xmu and
3355 (install_data, uninstall_sub): New targets to handle GXditview.ad.
3357 * src/utils/indxbib/Makefiles.ub (install_data): Depend on
3358 `$(srcdir)/eign', not `eign'.
3360 * MANIFEST, INSTALL, NEWS, PROBLEMS: Updated.
3362 * man/groff_out.man, man/roff.man, src/devices/grops/grops.man,
3363 src/devices/xditview/gxditview.man, src/roff/groff/groff.man:
3364 Protect (g)xditview with `\%' to avoid hyphenation.
3365 Other minor formatting.
3367 2004-06-01 Werner LEMBERG <wl@gnu.org>
3369 Integrate gxditview into groff's standard directory hierarchy.
3371 * src/xditview/*: Moved to ...
3372 * src/devices/xditview/*: Here.
3373 Moved DviChar.h and XFontName.h to src/include.
3374 Moved DviChar.c and XFontName.c to new directory src/libs/libxutil.
3375 Split off `xmalloc' into new file src/libs/libxutil/xmalloc.c.
3376 Moved xtotroff.c to new directory src/utils/xtotroff.
3377 Provide proper Makefile.sub files (reusing the stuff from
3379 DESC renamed to DESC.in.
3380 Removed GXDitview-ad.h, INSTALL, Imakefile.in.
3381 Converted everything from K&R to ANSI C.
3382 Decorated with const where appropriate.
3383 Cast string constants with `String' and `char *' where appropriate.
3384 Made it compile with C++ (used as a C compiler).
3385 Removed other minor compiler warnings.
3387 * src/devices/xditview/device.c: Include config.h, string.h, and
3389 Don't declare `exit', `strtok', `strchr', and `getenv'.
3392 * src/devices/xditview/font.c: Don't declare `XParseFontName' and
3395 * src/devices/xditview/xditview.c: Include config.h.
3396 Include stdio.h earlier.
3397 Protect declaration of `popen' and `pclose' with
3398 NEED_DECLARATION_POPEN and NEED_DECLARATION_PCLOSE.
3399 Replace `caddr_t' with `XtPointer'.
3400 (MakePromptFunc): New typedef.
3401 (DoPrint): Use RETSIGTYPE.
3402 (promptfunction): Change type to MakePromptFunc.
3403 (MakePrompt): Use MakePromptFunc for third argument.
3406 * src/devices/xditview/ad2c: Add casts to `String'.
3408 * src/include/XFontName.h (XFontNameString): Don't use array
3410 Add prototypes for `XParseFontName', `XFormatFontName',
3411 `XCompareFontName', and `XCopyFontName'.
3413 * src/include/Makefile.sub (HDRS): Add `DviChar.h' and
3416 * src/utils/xtotroff/xtotroff.c: Include getopt.h.
3417 Don't declare `XParseFontName' and `XFormatFontName'.
3419 (main): Remove `optind' and `optarg'.
3421 * Makefile.in (XDEVDIRS, XPROGDIRS, XLIBDIRS): New variables
3422 (to select programs which need X).
3423 Make XDEVIDIRS depend on `FORCE'.
3424 (X_CFLAGS, X_LIBS, X_EXTRA_LIBS, X_PRE_LIBS): New variables (for
3426 (MDEFINES): Updated.
3427 (LIBDIRS): Use XLIBDIRS.
3428 (CPROGDIRS): Use XPROGDIRS.
3429 (DEVDIRS): Remove font directories for gxditview.
3430 (ALLDIRS, DISTDIRS): Add XDEVDIRS.
3431 (EXTRADIRS): Remove src/xditview.
3433 * Makefile.sub (DISCLEANFILES): Updated.
3435 * Makefile.comm (LIBXUTIL): New variable.
3436 (.cpp.o, .cpp.obj): Handle EXTRA_CCFLAGS.
3437 (.c.o, .c.obj, .y.o): Handle EXTRA_CFLAGS.
3439 * Makefile.cpg, Makefile.ccpg ($PROG): Handle EXTRA_LDFLAGS.
3441 * aclocal.m4 (GROFF_X11): New function.
3443 * configure.ac: Call GROFF_X11.
3444 Don't create src/xditview/Imakefile.
3445 Don't emit notice how to build gxditview.
3447 * configure: Regenerated.
3449 * test-groff.in (GROFF_BIN_PATH, XENVIRONMENT): Updated.
3451 2004-05-28 Akihiro Sagawa <sagawa@sohgoh.net>
3453 * Makefile.in (CPPFLAGS): Define.
3454 (MDEFINES): Add CPPFLAGS.
3456 2004-05-27 Werner LEMBERG <wl@gnu.org>
3458 * arch/misc/Makefile.sub (shdeps.sed): Use $(srcdir).
3460 2004-05-26 Niklas Edmundsson <nikke@acc.umu.se>
3462 Fix problems with `friend name injections'.
3464 * src/preproc/eqn/box.h (make_mark_box, make_lineup_box,
3465 make_script_box), src/roff/troff/div.h (end_diversions),
3466 src/roff/troff/env.h (title), input.cpp (process_input_stack): Undo
3469 2004-05-25 Bernd Warken <bwarken@mayn.de>
3471 * src/preproc/pic/pic.man, doc/pic.ms: Add example for `command'.
3473 2004-05-25 Werner LEMBERG <wl@gnu.org>
3475 * src/libs/libgroff/cset.cpp, src/libs/libgroff/lf.cpp,
3476 src/libs/libgroff/color.cpp: Include lib.h.
3478 2004-05-25 Paul Eggert <eggert@cs.ucla.edu>
3480 * PROBLEMS: Update documentation for problems with Sun C++ 5.0
3481 through Forte 6u1, and for how to get GNU make on Solaris.
3483 2004-05-24 Werner LEMBERG <wl@gnu.org>
3485 * PROBLEMS: Document problems with gcc 3.4.0 on Sun. Reported
3488 2004-05-15 Keith Marshall <keith.d.marshall@ntlworld.com>
3490 * arch/misc/Makefile.sub (shdeps.sed): Don't use `$<' in explicit
3493 2004-05-14 Werner LEMBERG <wl@gnu.org>
3495 * REVISION: Set to 2.
3497 * aclocal.m4 (GROFF_STDINT_H): Removed.
3498 (GROFF_INTTYPES_H): Define HAVE_CC_INTTYPES_H.
3500 * configure.ac: Updated.
3501 * configure, src/include/config.hin: Regenerated.
3503 * src/libs/libgroff/tmpname.cpp: Don't include stdint.h but
3504 inttypes.h conditionally.
3506 2004-05-13 Werner LEMBERG <wl@gnu.org>
3508 Version 1.19.1 released
3509 =======================
3511 2004-05-10 Stephen Gildea <http://www.gildea.com/stephen>
3513 * src/preproc/refer/label.y (same_author_last_name,
3514 same_author_name): Handle empty sort keys.
3516 2004-05-10 Werner LEMBERG <wl@gnu.org>
3518 * NEWS, README, TODO, PROJECTS, PROBLEMS, MANIFEST, doc/webpage.ms,
3521 * tmac/doc-syms (doc-str-Lb-libposix, doc-str-Lb-libpthread,
3522 doc-str-Lb-librt): Reset font.
3523 (Lb): Rename `doc-str-Lb' to `doc-str-Lb1'.
3524 Provide `doc-str-Lb' to reset font.
3525 * tmac/groff_mdoc.man: Updated.
3527 2004-05-08 Jan Schaumann <jschauma@netmeister.org>
3529 * src/preproc/html/pre-html.cpp (make_message): Make it work for
3530 snprintf versions which don't conform to ANSI C 99 (this is,
3531 counting the string's trailing null byte in the return value).
3533 2004-05-07 Keith Marshall <keith.d.marshall@ntlworld.com>
3535 * src/roff/troff/node.cpp (suppress_node::tprint): Don't expect
3536 that all implementations of sprintf handle null pointers correctly.
3538 2004-05-04 Werner LEMBERG <wl@gnu.org>
3540 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
3541 Document `.U' register.
3543 * src/roff/troff/env.cpp (environment::mark_last_line)
3544 [WIDOW_CONTROL]: Fix scope of `p' for new C++ compilers.
3546 2004-05-04 Larry Kollar <kollar@alltel.net>
3548 New read-only register `.U'; it returns 1 in safer mode and 0
3551 * src/roff/troff/input.cpp (init_input_requests): Implement `.U'
3554 2004-05-03 Werner LEMBERG <wl@gnu.org>
3556 * install-sh, mkinstalldirs: New versions; taken from texinfo CVS.
3558 2004-04-17 Werner LEMBERG <wl@gnu.org>
3560 * src/include/font.h (font): Use `int' for ch_index.
3561 * src/libs/libgroff/font.cpp (font::alloc_ch_index,
3562 font::compact): Updated.
3564 * src/roff/groff/pipeline.c (run_pipeline) [_WIN32]: Fix compiler
3567 * src/roff/troff/div.cpp (begin_page), src/roff/troff/env.cpp
3568 (hyphen_word): Fix compiler warnings.
3569 * src/roff/troff/input.cpp (get_char_for_escape_name): Return
3572 (get_delim_number, get_line_arg): Change second argument type to
3574 (macro_header::copy, token::next, do_define_string,
3575 do_define_character, substring_request, asciify_macro,
3576 unformat_macro, read_size, non_interpreted_node::interpret,
3577 while_request, main: Fix compiler warnings.
3578 (read_color_draw_node): Initialize `col'.
3580 * src/preproc/tbl/table.cpp (horizontal_span, table_entry): Make
3581 `start_col' and `end_col' of type `int'.
3582 (vertical_rule): Make `col' of type `int'.
3584 * src/preproc/grn/hdb.cpp (DBRead): Protect call to getc with check
3587 * src/preproc/refer/label.y (uppercase_array, lowercase_array):
3589 (format_serial): Use them to remove dependency on ASCII.
3591 * src/devices/grops/ps.cpp (ps_printer::define_encoding): Fix
3593 * src/devices/grops/psrm.cpp (resource_manager::supply_resource):
3596 * src/devices/grotty/tty.cpp (tty_font::load_tty_font): Fix
3598 (glyph): Change type of `hpos' to `int'.
3600 * src/devices/lbp/lbp.cpp (strsep): Removed. Unused.
3601 * src/devices/lbp/lbp.h (splinerel): Fix compiler warnings.
3603 * src/utils/tfmtodit.cpp (gf::load): Fix compiler warnings.
3605 * src/utils/pfbtops/pfbtops.c (get_text): Fix compiler warning.
3607 2004-04-16 Werner LEMBERG <wl@gnu.org>
3609 * src/devices/grolbp/lbp.h, src/preproc/grn/gprint.h,
3610 src/preproc/grn/hgraph.cpp, src/preproc/grn/hpoint.cpp,
3611 src/preproc/html/pushback.cpp, src/preproc/html/pushback.h: Use
3612 `double' instead of `float' everywhere.
3613 * src/preproc/grn/main.cpp: Use `double' instead of `float'
3615 (main): Add return value.
3616 * src/preproc/grn/hdb.cpp: Use `double' instead of `float'
3618 Update all user functions.
3620 * src/include/search.h, src/include/ptable.h, src/include/printer.h,
3621 src/preproc/eqn/box.h, src/preproc/pic/object.h,
3622 src/preproc/refer/refer.h, src/preproc/tbl/table.h,
3623 src/preproc/tbl/table.cpp, src/roff/troff/env.h,
3624 src/roff/troff/div.h, src/roff/troff/token.h, src/roff/troff/node.h,
3625 src/roff/troff/input.cpp, src/roff/troff/request.h,
3626 src/roff/troff/node.cpp: Don't mix `struct' and `class' in forward
3629 * src/utils/indxbib/signal.c: Include stdlib.h.
3631 2004-04-14 Keith Marshall <keith.d.marshall@ntlworld.com>
3633 * tmac/s.tmac (@init, RP): Allow initialization of the PO register
3634 before the first page.
3636 2004-04-14 Thomas Klausner <wiz@netbsd.org>
3638 * tmac/doc-common (doc-volume-as-*): Use lowercase names.
3639 (doc-operating-system-*): Updated.
3640 * tmac/doc-syms (doc-str-St-*): Various small fixes.
3641 (doc-str-Lb-*): Add more library names.
3643 2004-04-10 Art Haas <ahaas@airmail.net>
3645 * src/utils/hpftodit/hpuni.cpp (hp_msl_to_unicode_list): Don't
3648 2004-04-09 Art Haas <ahaas@airmail.net>
3650 * src/utils/tfmtodit.cpp (lig_chars): Don't use anonymous type.
3652 2004-04-09 Keith Marshall <keith.d.marshall@ntlworld.com>
3654 * arch/misc/shdeps.sh: Generate better comment for sed script.
3656 2004-04-08 Art Haas <ahaas@airmail.net>
3658 * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list),
3659 src/libs/libgroff/uniglyph.cpp (unicode_to_glyph_list),
3660 src/libs/libgroff/uniuni.cpp (unicode_decompose_list),
3661 src/preproc/eqn/box.cpp (param_table), src/preproc/grn/hgraph.cpp
3662 (polyfill), src/preproc/grn/main.cpp (polyfill),
3663 src/preproc/refer/command.cpp (command_table),
3664 src/utils/tfmtodit.cpp (lig_table): Don't use anonymous types (which
3665 gcc 3.5 doesn't like).
3667 2004-04-08 Werner LEMBERG <wl@gnu.org>
3669 Removing many compiler warnings. groff should now compile with
3670 a C++ compiler used for C files also. [Simple variable renamings
3671 to avoid shadowing aren't logged in detail.]
3673 * src/devices/grodvi/dvi.cpp: Some local variable renamings.
3674 (draw_dvi_printer::draw) ['c']: Enclose in block.
3676 * src/devices/grohtml/post-html.cpp: Some local variable renamings.
3677 (page::add_line): Fix typos.
3678 * src/devices/grohtml/html-text.cpp: Some local variable renamings.
3680 * src/devices/grolbp/lbp.cpp: Don't define _GNU_SOURCE.
3681 Some local variable renamings.
3682 * src/devices/grolbp/lbp.h: Some local variable renamings.
3684 * src/devices/grolj4/lj4.cpp, src/devices/grotty/tty.cpp: Some local
3687 * src/libs/libbib/index.cpp (index_search_item_iterator::get_tag):
3688 Remove redundant local variable declaration.
3689 * src/libs/libbib/map.c (mapread, unmap): Don't use K&R style.
3690 Don't use `caddr_t' but `void *'.
3691 Enclose functions with `extern "C"' for C++.
3693 * src/libs/libdriver/input.cpp (remember_filename,
3694 remember_source_filename): Use cast for string constant.
3696 * src/libs/libgroff/font.cpp, src/libs/libgroff/fontfile.cpp,
3697 src/libs/libgroff/nametoindex.cpp, src/libs/libgroff/paper.cpp,
3698 src/libs/libgroff/geometry.cpp: Some local variable renamings.
3699 * src/libs/libgroff/iftoa.c, src/libs/libgroff/itoa.c: Don't use K&R
3701 Enclose functions with `extern "C"' for C++.
3702 * src/libs/libgroff/quotearg.c (TRUE,FALSE): Define as macros.
3703 (needs_quoting): Return `int'.
3704 (quote_arg): Add proper casts to malloc and realloc.
3705 * src/libs/libgroff/spawnvp.c: Compile code only for MS-DOS and
3706 various MS Windows environments.
3707 (spawnvp_wrapper): Add proper cast to malloc.
3709 * src/preproc/eqn/box.h: Remove redundant declarations of
3710 `make_script_box', `make_mark_box' and `make_lineup_box'.
3711 * src/preproc/eqn/eqn.y: Remove redundant declaration of `strsave'.
3712 * src/preproc/eqn/script.cpp, src/preproc/eqn/pile.cpp: Some local
3715 * src/preproc/grn/hpoint.cpp: Some local variable renamings.
3716 * src/preproc/grn/hgraph.cpp: Some local variable renamings.
3717 (dx, dy): Renamed functions to...
3718 (deltax, deltay): This.
3719 * src/preproc/grn/main.cpp: Some local variable renamings.
3720 (deffont): Add `const'.
3721 (initpic, conv): Use cast for string constant.
3723 * src/preproc/html/pre-html.cpp: Some local variable renamings.
3724 (makeFileName, alterDeviceTo, addZ): Use cast for string constant.
3725 (char_buffer::run_output_filter): Second argument is unused.
3726 * src/preproc/html/pushback.cpp: Some local variable renamings.
3728 * src/preproc/pic/pic.y: Remove redundant declaration of `do_copy'.
3729 * src/preproc/pic/object.cpp: Some local variable renamings.
3731 * src/preproc/refer/label.y (lookup_label): Remove redundant
3732 declaration of local variable.
3734 * src/preproc/soelim.cpp: Remove redundant declaration of
3735 `interpret_lf_args'.
3737 * src/preproc/tbl/main.cpp: Some local variable renamings.
3739 * src/roff/groff/groff.cpp (main): Use cast for string constant.
3740 * src/roff/groff/pipeline.c: Enclose declarations of `error',
3741 `c_fatal', and `i_to_a' with `extern "C"' for C++.
3742 Don't use C++-style comments.
3744 * src/roff/troff/env.h: Remove redundant declaration of `title'.
3745 * src/roff/troff/node.h, src/roff/troff/env.cpp,
3746 src/roff/troff/div.cpp, src/roff/troff/node.cpp: Some local variable
3748 * src/roff/troff/div.h: Remove redundant declaration of
3750 * src/roff/troff/troff.h: Remove redundant declaration of
3752 * src/roff/troff/input.cpp: Remove redundant declaration of
3753 `handle_first_page_transition' and `process_input_stack'.
3755 * src/utils/hpftodit.cpp: Some local variable renamings.
3757 * src/utils/indxbib/signal.c: Enclose functions with `extern "C"'
3759 Don't define RETSIGTYPE.
3760 * src/utils/indxbib/indxbib.cpp: Some local variable renamings.
3762 * src/utils/pfbtops/pfbtops.cpp: Don't use K&R style.
3763 (error): Use `const' in argument.
3764 (main): Remove redundant declaration of `optind'.
3765 Move declaration of `Version_string' to top-level.
3767 * PROBLEMS: Document difficulties compiling signal.c if a C++
3768 compiler is used for C.
3770 2004-04-07 Werner LEMBERG <wl@gnu.org>
3772 * Makefile.sub (DISTCLEANFILES): Add `test-groff'.
3774 2004-04-06 Keith Marshall <keith.d.marshall@ntlworld.com>
3776 Make scripts like nroff.sh and neqn.sh portable across various
3777 (Unix-like) shell implementations from Cygwin, MSYS, etc., which use
3778 non-POSIX path separators. The idea is to extend those scripts to
3779 decide at run-time (of the script) which path separator to use.
3781 * arch/misc/Makefile.sub: New file.
3782 * arch/misc/shdeps.sh: New file, generating OS dependency fixups.
3783 This script handles @GROFF_BIN_PATH_SETUP@, replacing it with
3784 a proper definition of the variable `GROFF_RUNTIME'.
3786 * Makefile.in (SH_DEPS_SED_SCRIPT): New variable.
3787 (MDEFINES): Add SH_DEPS_SED_SCRIPT.
3788 (PROGDEPDIRS): New variable.
3790 (PROGDIRS): Add PROGDEPDIRS.
3792 * src/preproc/eqn/Makefile.sub (neqn): Call SH_DEPS_SED_SCRIPT.
3793 Don't substitute @SEP@ and @BINDIR@.
3794 * src/preproc/eqn/neqn.sh: Use @GROFF_BIN_PATH_SETUP@.
3795 (PATH): Use GROFF_RUNTIME.
3797 * src/roff/nroff/Makefile.sub (nroff): Call SH_DEPS_SED_SCRIPT.
3798 Don't substitute @SEP@ and @BINDIR@.
3799 * src/roff/nroff/nroff.sh: Use @GROFF_BIN_PATH_SETUP@.
3800 (PATH): Use GROFF_RUNTIME.
3802 2004-04-05 Keith Marshall <keith.d.marshall@ntlworld.com>
3804 * src/roff/nroff/nroff.sh: Implement work-around for sh.exe from
3805 Cygwin which doesn't handle stderr correctly.
3807 2004-03-08 Werner LEMBERG <wl@gnu.org>
3809 * Makefile.comm (install_dev, uninstall_dev): Protect `for' loops
3810 against empty argument. Problem reported by <cgd@broadcom.com>.
3812 2004-03-05 Keith Marshall <keith.d.marshall@ntlworld.com>
3814 * Makefile.in (SEP): Replaced with...
3815 (RT_SEP, SH_SEP): Separators for the target platform's native path
3816 separator and the build environment, respectively.
3817 (fontpath, tmacpath): Use RT_SEP.
3818 (MDEFINES): Updated.
3820 * contrib/mom/Makefile.sub (GROFF_BIN_PATH): Use SH_SEP.
3821 * doc/Makefile.sub (GROFF_BIN_PATH): Use SH_SEP.
3822 * src/preproc/eqn/Makefile.sub (neqn): Use SH_SEP.
3823 * src/roff/nroff/Makefile.sub (nroff): Use SH_SEP.
3825 2004-03-05 Werner LEMBERG <wl@gnu.org>
3827 * fonts/devlj4/Makefile.sub (LJ4RES): Set to 1200. This helps to
3828 reduce alignment problems with newer printers which use built-in
3829 TrueType fonts (instead of the older Intellifonts). The ideal
3830 solution is to provide a second set of groff metric files, but this
3831 is extremely time-consuming to produce, given that HP's metric
3832 files are very rudimentary.
3834 2004-03-01 Werner LEMBERG <wl@gnu.org>
3836 * src/devices/grolj4/lj4.cpp (main): Fix argument of getopt_long.
3837 s/operand/argument/ in error message.
3839 2004-03-01 Keith Marshall <keith.d.marshall@ntlworld.com>
3841 * src/roff/groff/groff.cpp (main): Don't allow option -o if -Thtml
3844 2004-03-01 Antti Kantee <pooka@netbsd.org>
3846 * tmac/s.tmac (XE): Fix error message.
3848 2004-02-27 Jeff Conrad <jeff_conrad@msn.com>
3850 * src/include/nonposix.h (write, dup, dup2, close) [_MSC_VER]:
3853 * src/roff/groff/pipeline.c: Declare strcasecmp.
3854 (run_pipeline) [_WIN32]: Use function name variants which don't
3856 Fix stream handling.
3858 2004-02-27 Keith Marshall <keith.d.marshall@ntlworld.com>
3860 * src/include/nonposix.h: Fix declaration of `system_shell_name'.
3861 Declare `spawnvp_wrapper' and macro definitions of spawnvp only
3862 for platforms which use the native Win32 runtime libraries.
3863 (FLUSH_INPUT_PIPE) [_UWIN]: Provide non-empty version.
3865 * src/libs/libgroff/quotearg.c (QUOTE_ARG_MALLOC_ERROR,
3866 QUOTE_ARG_REALLOC_ERROR): Fix string.
3868 * src/preproc/html/pre-html.cpp: Remove declaration of
3870 Don't use __MINGW32__.
3871 s/DEBUG_FILE/DEBUG_FILE_DIR/.
3872 (DEBUG_TEXT, DEBUG_NAME, DEBUG_FILE) [DEBUGGING]: New macros.
3873 (OUTPUT_STREAM, PS_OUTPUT_STREAM, REGION_OUTPUT_STREAM): New macros.
3874 (char_buffer::run_output_filter) [MAY_FORK_CHILD_PROCESS]: Fix
3875 calls to `set_redirection' and `WAIT'.
3876 [MAY_SPAWN_ASYNCHRONOUS_CHILD]: Remove unused variable `i' and `j'.
3877 Fix calls to `set_redirection' and `save_and_redirect'.
3878 (char_buffer::do_html, char_buffer::do_image) [DEBUGGING]: Fix calls
3879 to `set_redirection' and `save_and_redirect'.
3880 (usage): Fix message.
3881 (makeTempFiles, main): Use `DEBUG_FILE'.
3883 2004-02-21 Werner LEMBERG <wl@gnu.org>
3885 * src/roff/troff/troff.h (WARN_TOTAL): Fix value.
3887 2004-02-21 Keith Marshall <keith.d.marshall@ntlworld.com>
3889 * src/libs/libgroff/quotearg.c: New file, providing proper argument
3890 quoting for MSVC's spawn* and exec* functions.
3891 * src/libs/libgroff/spawnvp.c: New file, providing a wrapper around
3892 spawnvp with proper quoting for MSVC.
3894 * src/libs/libgroff/assert.cpp (program_name),
3895 src/libs/libgroff/new.cpp (program_name): Declare as `extern "C"'.
3896 * src/libs/libgroff/Makefile.sub (OBJS, CSRCS): Updated.
3898 * src/roff/troff/input.cpp (program_name): Declare as `extern "C"'.
3900 * src/include/error.h (program_name): Declare as `extern "C"'.
3901 * src/include/nonposix.h [__MSDOS__ ...]: Handle spawnvp.
3903 2004-02-21 Jeff Conrad <jeff_conrad@msn.com>
3905 * src/preproc/html/pre-html.cpp [__CYGWIN__ ...]: Declare
3907 [MAY_SPAWN_ASYNCHRONOUS_CHILD]: Declare i and j.
3909 2004-02-20 Jeff Conrad <jeff_conrad@msn.com>
3911 * src/roff/groff/pipeline.c (cmd) [__MSDOS__ || ...]: New global
3913 (sbasename) [__MSDOS__ || ...]: New function.
3914 (system_shell_name) [__MSDOS__ || ...]: Use a different, more
3916 (system_shell_dash_c, is_system_shell) [__MSDOS__ || ...]: Updated.
3917 (run_pipeline) [_WIN32]: Use _XXX variants for some macros instead
3919 Use STDOUT_FILENO instead of hardcoded file handle.
3920 (signal_catcher) [__MSDOS__]: Moved to non-_WIN32 section.
3922 2004-02-19 Werner LEMBERG <wl@gnu.org>
3924 * src/roff/troff/div.cpp: Include nonposix.h after troff.h to
3925 avoid warnings w.r.t. redefinition of P_tmpdir for some compilers.
3927 2004-02-18 Werner LEMBERG <wl@gnu.org>
3929 * font/devlj4/Makefile.sub (DEVFILES): Updated to contain all
3930 new font and mapping files.
3932 2004-02-18 Jeff Conrad <jeff_conrad@msn.com>
3933 Keith Marshall <keith.d.marshall@ntlworld.com>
3935 * src/include/nonposix.h (FLUSH_INPUT_PIPE): New macro to empty
3936 an input pipe. This is needed for the MSVC compiler to make troff's
3939 * src/roff/troff/div.cpp: Include nonposix.h.
3940 (cleanup_and_exit): Call FLUSH_INPUT_PIPE.
3942 2004-02-17 Werner LEMBERG <wl@gnu.org>
3944 * font/devlj4/generate/special.awk: New script.
3945 * font/devlj4/generate/Makefile (S): Use special.awk.
3946 * font/devlj4/*: Regenerated, including the following new files:
3947 Arial (AR, AB, AI, ABI), Times New Roman (TNRR, TNRB, TNRI, TNRBI),
3948 MS Symbol (SYMBOL), Wingdings (WINGDINGS).
3949 * NEWS: Document new lj4 fonts and revised hpftodit.
3951 2004-02-17 Paco Andrés Verdú <pandres@dragonet.es>
3953 * src/devices/grolbp/lbp.h (vmdvarc): Fix formatting string.
3955 2004-01-25 Werner LEMBERG <wl@gnu.org>
3957 * src/libs/libgroff/progname.cpp: Replaced with...
3958 * src/libs/libgroff/progname.c: New file.
3959 * src/libs/libgroff/Makefile.sub: Updated accordingly.
3961 2004-01-17 Werner LEMBERG <wl@gnu.org>
3963 * font/devlj4/generate/Makefile (SYMBOL): Use 9nb28703.tfm.
3965 2004-01-16 Jeff Conrad <jeff_conrad@msn.com>
3967 * font/devlj4/generate/wingdings.map,
3968 font/devlj4/generate/symbol.map: Include unnamed glyphs.
3969 Use groff glyph names where possible.
3970 * src/devices/grolj4/lj4_font.man: Minor updates.
3972 2004-01-13 Werner LEMBERG <wl@gnu.org>
3974 * tmac/www.tmac (DC): Handle TTY devices.
3976 * doc/webpage.ms: Document viewCVS from ffii.org.
3977 * NEWS, README: Updated.
3979 * src/roff/groff/groff.man: Mention lj4_font man page.
3981 * font/devlj4/generate/Makefile (SYMBOLMAP, WINGDINGSMAP): New
3983 (FONTS): Add SYMBOL and WINGDINGS.
3984 (SYMBOL, WINGDINGS): New targets.
3986 2004-01-13 Jeff Conrad <jeff_conrad@msn.com>
3988 * src/devices/grolj4/lj4_font.man: New man page.
3989 * src/devices/grolj4/Makefile.sub (MAN5): New variable.
3990 * src/devices/grolj4.man: Mention lj4_font man page.
3992 * src/utils/hpftodit/hpftodit.cpp (read_map): Handle line comments.
3993 * src/utils/hpftodit/hpftodit.man: Document it.
3995 Remove details about fonts (which are now in lj4_font.man).
3997 * font/devlj4/generate/symbol.map,
3998 font/devlj4/generate/wingdings.map: New files.
4000 2004-01-12 Werner LEMBERG <wl@gnu.org>
4002 * README: Mention ffii's viewcvs access.
4004 2004-01-09 Werner LEMBERG <wl@gnu.org>
4006 * font/devlj4/generate/special.map: Map MSL 228 to U+221F.
4008 2004-01-09 Jeff Conrad <jeff_conrad@msn.com>
4010 Revert most of the change from 2004-01-03 to better control used
4013 * src/utils/hpftodit/hpftodit.cpp (symbol_set): New structure.
4014 (text_symbol_sets, special_symbol_sets): New arrays.
4015 (symbol_set_table): New global variable.
4016 (read_symbol_sets): Use search order given in the text_symbol_sets
4017 and special_symbol_sets arrays. If command line flag -a is not
4018 given, search both arrays.
4019 (output_charset): Require x_height_tag only for command line flag -i.
4021 2004-01-06 Werner LEMBERG <wl@gnu.org>
4023 Implement string-valued registers \n[.m] and \n[.M] to return the
4024 name of the current drawing and background color, respectively.
4026 * src/roff/troff/symbol.h: Moved to...
4027 * src/include/symbol.h: Here.
4028 Small fixes to make it work outside of the `troff' directory.
4029 * src/roff/troff/symbol.cpp: Moved to...
4030 * src/libs/libgroff/symbol.cpp: Here.
4031 Small fixes to make it work outside of the `troff' directory.
4033 * src/include/Makefile.sub (HDRS), src/libs/libgroff/Makefile.sub
4034 (OBJS, CCSRCS), src/roff/troff/Makefile.sub (OBJS, CCSRCS, HDRS):
4037 * src/include/color.h: Include symbol.h.
4038 (color): Add new field `nm'.
4039 * src/libs/libgroff/color.cpp (color::color): Updated.
4041 * src/roff/troff/dictionary.cpp, src/roff/troff/div.cpp,
4042 src/roff/troff/node.cpp, src/roff/troff/number.cpp,
4043 src/roff/troff/reg.cpp: Don't include symbol.h.
4045 * src/roff/troff/env.cpp: Don't include symbol.h.
4046 (environment::get_glyph_color_string,
4047 environment_get_fill_color_string): New member functions.
4048 (init_env_requests): Handle `.m' and `.M' registers.
4049 * src/roff/troff/input.cpp: Don't include symbol.h.
4050 (default_symbol): Moved to symbol.cpp/symbol.h.
4051 (do_glyph_color, do_fill_color, define_color): Pass symbol name
4052 to color constructor.
4053 * src/roff/troff/env.h: Updated.
4055 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
4056 Document new registers.
4058 2004-01-05 Werner LEMBERG <wl@gnu.org>
4060 * src/roff/troff/node.cpp (space_node::get_breakpoints,
4061 space_node::nbreaks): Protect against zero `next' field.
4063 2004-01-03 Jeff Conrad <jeff_conrad@msn.com>
4065 In hpftodit, use the symbol sets offered in the TFM.
4067 * src/utils/hpftodit/hpftodit.cpp (NO_GLYPH): New constant.
4068 (symbol_set, text_symbol_sets, special_symbol_sets,
4069 symbol_set_table): Removed.
4070 (get_printcode): Removed.
4071 (read_symbol_sets): Initialize `symbol_set' field with
4073 Simplify code to just use the `kind' value.
4074 (output_charset): Improve output formatting.
4075 (dump_symbols): Simplified.
4077 2004-01-02 Werner LEMBERG <wl@gnu.org>
4079 * font/devlj4/generate/text.map: Add more MSL numbers.
4081 2004-01-02 Jeff Conrad <jeff_conrad@msn.com>
4083 * src/utils/hpftodit/hpftodit.cpp (is_decomposed): New macro.
4084 (text_symbol_sets): Add more symbol sets.
4085 (debug_flag): New static variable (moved from `main').
4086 (get_printcode, show_symset): New functions.
4087 (main): Remove `debug_flag'.
4088 (output_charset): Use `show_symset'.
4089 (dump_symbols): Use `show_symset'.
4090 Print symsets for all glyphs.
4091 (read_map): Actually call `unicode_to_ucode_make' but this time
4094 2004-01-01 Werner LEMBERG <wl@gnu.org>
4096 * font/devlj4/generate/text.map, font/devlj4/generate/special.map:
4097 Fix placement of comments.
4099 2004-01-01 Jeff Conrad <jeff_conrad@msn.com>
4101 * src/utils/hpftodit/hpftodit.cpp (main): Read map file also if
4102 option `-d' is given.
4103 (output_charset): Improve warning messages to give more information.
4104 (dump_symbols): Make information more precise.
4106 (read_map): Don't call unicode_to_ucode_name; the glyph names must
4107 appear as-is and shouldn't be decomposed.
4109 2003-12-31 Werner LEMBERG <wl@gnu.org>
4111 * src/utils/hpftodit/hpftodit.cpp (dump_tags): Handle posture_tag.
4112 * font/devlj4/generate/Makefile (IFLAG): Updated to new units.
4113 (FONTS): Add TrueType font families Arial and Times New Roman.
4114 (TNRR, TNRB, TNRI, TNRBI, AR, AB, AI, ABI): New targets.
4115 * font/devlj4/generate/text.map: Fix Unicode values of `fi' and
4118 2003-12-31 Jeff Conrad <jeff_conrad@msn.com>
4120 * test-groff.in (SEP): Quote value.
4121 * src/roff/troff/node.cpp (suppress_node::tprint): Change type of
4122 `tem' to `char*' to avoid deallocation of a pointer to a constant
4123 object which some compilers don't like.
4125 2003-12-31 Werner LEMBERG <wl@gnu.org>
4127 * font/devlj4/generate (text.map, special.map): Rewritten to work
4128 with the new hpftodit version.
4130 2003-12-30 Jeff Conrad <jeff_conrad@msn.com>
4132 * src/utils/hpftodit/hpftodit.cpp (output_charset): Emit HP symbol
4133 set and 8bit character code for all glyphs also.
4135 2003-12-30 Werner LEMBERG <wl@gnu.org>
4137 * src/libs/libgroff/strcasecmp.c: Updated from gnulib.
4139 2003-12-29 Werner LEMBERG <wl@gnu.org>
4141 More fixes for MSVC compiler.
4143 * doc/Makefile.sub, contrib/mom/Makefile.sub (GROFF_BIN_PATH): Use
4146 * src/include/nonposix.h (STDIN_FILENO, STDOUT_FILENO,
4147 STDERR_FILENO) [_MSC_VER]: Define conditionally.
4148 (getpid) [_MSC_VER]: Remove.
4149 Include direct.h and process.h conditionally.
4151 * src/roff/troff/node.cpp (suppress_node::tprint): Don't use
4152 parentheses for a_delete.
4154 * src/utils/lookbib/lookbib.cpp: Include nonposix.h.
4156 * test-groff: Replaced with...
4157 * test-groff.in: This new template to handle path separator
4160 * configure.ac: Check for direct.h and process.h.
4161 Generate test-groff script.
4162 * configure, src/include/config.hin: Regenerated.
4164 2003-12-28 Werner LEMBERG <wl@gnu.org>
4166 Add integral extension glyph.
4167 Add new option `-x' to afmtodit to suppress use of built-in AGL.
4169 * font/devhtml/R.proto, font/devutf8/R.proto: Add `u23AE'.
4171 * font/devps/generate/textmap: Provide entry for `integralex' to
4172 override (old) PUA value of the AGL.
4173 * font/devps/generate/Makefile (SS): Add afmtodit option `-x'.
4174 * font/devps/*: Regenerated.
4176 * src/utils/afmtodit/afmtodit.pl: Add option `-x'.
4177 * src/utils/afmtodit/afmtodit.man, NEWS: Updated.
4179 2003-12-27 Werner LEMBERG <wl@gnu.org>
4181 Add forgotten `coproduct' symbol (already available for DVI).
4183 * font/devhtml/R.proto, font/devps/generate/textmap,
4184 font/devps/symbolmap, font/devutf8/R.proto, man/groff_char.man,
4185 src/libs/libgroff/uniglyph.cc, src/libs/libgroff/glyphuni.cpp: Add
4186 U+2210 (\[coproduct]).
4188 2003-12-26 Jeff Conrad <jeff_conrad@msn.com>
4190 hpftodit has been extended to handle TrueType metric files and
4191 more glyphs. See hpftodit.man for more details.
4193 * src/utils/hpftodit/hpftodit.cpp: Include stdio.h, string.h,
4194 ctype.h, and unicode.h.
4195 s/msl/charcode/ everywhere since we now handle Unicode values also.
4196 (equal, NO, YES, MSL, SYMSET, UNICODE, UNICODE): New macros.
4197 Use it where appropriate.
4198 (MULTIPLIER): Replaced with...
4199 (multiplier): New global static variable.
4201 (tag_type): Add more TFM tags.
4202 (tag_name): New array.
4203 (ENUM_TYPE, FLOAT_TYPE): Removed.
4204 (BYTE_TYPE): New value assigned.
4205 (ASCII_TYPE, RATIONAL_TYPE): New enumeration values.
4206 (text_symbol_sets, special_symbol_sets): Extended to cover more
4208 (check_type): Add return value.
4209 (check_units): Add parameters to get ppi and upem values.
4210 Handle TrueType TFM data.
4211 (output_font_name): New function.
4212 (output_charset): Add parameter to handle TFM type.
4213 Handle TrueType TFMs also.
4214 (em_fract): New macro.
4215 (dump_tags): Be much more verbose and handle more tags.
4216 (dump_ascii, dump_symbol_sets, dump_symbols): New functions.
4217 (hp_msl_to_ucode_name, unicode_to_ucode_name, is_uname): New
4219 (read_map): Add parameter to handle TFM type.
4220 Handle both MSL and Unicode mappings.
4221 (main): Add two new command line options `-a' and `-q'.
4222 Updated to make use of new functions.
4225 * src/utils/hpftodit/hpuni.cpp: New file.
4227 * src/utils/hpftodit/Makefile.sub, src/utils/hpftodit/hpftodit.man:
4230 2003-12-25 Werner LEMBERG <wl@gnu.org>
4232 * src/include/nonposix.h (read) [_MSC_VER]: Define.
4234 2003-12-24 Werner LEMBERG <wl@gnu.org>
4236 * src/utils/afmtodit/afmtodit.man: Some reformulations as suggested
4237 by Michail Vidiassov <master@iaas.msu.ru>.
4239 2003-12-20 Werner LEMBERG <wl@gnu.org>
4241 * font/devhtml/R.proto: Add u00{47,67}_0306, u00{53,73}_0327,
4243 Add missing latin-2 glyphs.
4244 * font/devutf8/R.proto: Add missing latin-2 glyphs.
4246 * tmac/troffrc: Load `composite.tmac' earlier.
4248 * tmac/dvi.tmac, tmac/ps.tmac, tmac/lbp.tmac: Add u00{47,67}_0306,
4249 u00{53,73}_0327, and u0049_0307.
4250 * tmac/X.tmac: Add u00{47,67}_0306.
4251 * tmac/tty-char.tmac: Use composite glyph names for readability.
4255 * src/include/unicode.h: Remove `extern' keywords.
4257 2003-12-20 Nilgün Belma Bugüner <nilgun@superonline.com>
4259 * tmac/latin5.tmac: New file.
4261 2003-12-19 Werner LEMBERG <wl@gnu.org>
4263 Add some glyphs needed for Turkish.
4265 * font/devutf8/R.proto: Add u00{47,67}_0306, u00{53,73}_0327,
4268 * tmac/composite.tmac: Add `,' as a synonym for `ac' accent.
4269 * tmac/tty-char.tmac: Add representations for u00{47,67}_0306,
4270 u00{53,73}_0327, and u0049_0307.
4272 2003-12-18 Werner LEMBERG <wl@gnu.org>
4274 * src/devices/grops/ps.cc (ps_output::put_float): Revert change
4276 Remove trailing zeros.
4278 2003-12-17 Werner LEMBERG <wl@gnu.org>
4280 Make \? transparent to end-of-sentence recognition.
4282 * src/roff/troff/input.cc (non_interpreted_node): Add
4283 `ends_sentence' member function.
4285 2003-12-16 Werner LEMBERG <wl@gnu.org>
4287 * doc/groff.texinfo: Document `dt' request correctly.
4288 Other minor typographical improvements.
4290 2003-12-10 Michail Vidiassov <master@iaas.msu.ru>
4292 * src/utils/afmtodit/Makefile.sub (afmtodit): Fix typo.
4294 2003-12-10 Richard Stallman <rms@gnu.org>
4296 * LICENSE: Better wording.
4298 2003-12-09 Werner LEMBERG <wl@gnu.org>
4300 * aclocal.m4 (GROFF_BROKEN_SPOOLER_FLAGS): Set default value to 0.
4301 * configure, NEWS: Updated.
4303 2003-12-08 Werner LEMBERG <wl@gnu.org>
4305 * FDL: Updated to version 1.2 (from www.gnu.org/copyleft).
4307 2003-12-07 Bernd Warken <bwarken@mayn.de>
4311 2003-12-07 Werner LEMBERG <wl@gnu.org>
4313 * INSTALL: Improved.
4315 2003-12-05 Keith Marshall <keith.d.marshall@ntlworld.com>
4317 Use path separator character of target platform for compiled-in
4320 * aclocal.m4 (GROFF_TARGET_PATH_SEPARATOR): New macro.
4321 * configure.ac: Use GROFF_TARGET_PATH_SEPARATOR.
4322 * configure: Regenerated.
4323 * Makefile.in (SEP): Use GROFF_PATH_SEPARATOR.
4325 2003-12-05 Werner LEMBERG <wl@gnu.org>
4327 * src/include/nonposix.h (PATH_SEP_CHAR): New definition.
4328 Replace `PATH_SEP[0]' with `PATH_SEP_CHAR' everywhere.
4330 2003-12-04 Bernd Warken <bwarken@mayn.de>
4332 * LICENSE: New file.
4334 2003-12-03 Werner LEMBERG <wl@gnu.org>
4336 * src/utils/afmtodit/afmtodit.pl: Comment out code which handles
4337 ligatures present in AFM files since groff currently only
4338 understands some standard ligatures and nothing else.
4340 2003-12-03 Jeff Conrad <jeff_conrad@msn.com>
4342 * src/roff/groff/groff.cpp (main): Don't run the spooler if
4345 * src/roff/groff/pipeline.c (run_pipeline) [_WIN32]: Fix error
4348 Don't use Unix wait flags.
4350 2003-12-02 Werner LEMBERG <wl@gnu.org>
4352 * src/roff/troff/glyphuni.cpp, src/roff/troff/unicode.cpp,
4353 src/roff/troff/unicode.h, src/roff/troff/uniglyph.cpp,
4354 src/roff/troff/uniuni.cpp: Moved to...
4355 * src/libs/libgroff/glyphuni.cpp, src/libs/libgroff/unicode.cpp,
4356 src/libs/libgroff/unicode.h, src/libs/libgroff/uniglyph.cpp,
4357 src/libs/libgroff/uniuni.cpp: Here.
4359 * src/include/Makefile.sub.old (HDRS),
4360 src/libs/libgroff/Makefile.sub (OBJS, CCSRCS),
4361 src/roff/troff/Makefile.sub (HDRS, PBJS, CCSRCS): Updated.
4363 2003-12-01 Keith Marshall <keith.d.marshall@ntlworld.com>
4365 * src/preproc/htlp/pre-html.cpp (__tmpfile): Renamed to
4369 2003-12-01 Werner LEMBERG <wl@gnu.org>
4371 * groff.texinfo: Document special behaviour of `.vs 0'.
4372 Improve documentation of `cflags' request.
4375 2003-11-29 Werner LEMBERG <wl@gnu.org>
4377 * font/devlj4/generate/Makefile (CORONET): Use correct TFM.
4378 * font/devlj4/CORONET: Regenerated.
4380 2003-11-24 Werner LEMBERG <wl@gnu.org>
4382 * src/roff/troff/env.cpp (hyphen_trie::read_patterns_file): Fix loop
4383 if processing hyphenation patterns in traditional mode.
4384 Improve error messages.
4386 2003-11-20 Werner LEMBERG <wl@gnu.org>
4388 * src/roff/troff/node.cpp (troff_output_file::put_char_width,
4389 troff_output_file::put_char): Fix type of local variable `c'.
4391 2003-11-19 Werner LEMBERG <wl@gnu.org>
4393 * src/roff/groff/pipeline.c (P): Removed. Updated all function
4395 (i_to_a): Removed. libgroff already provides this function.
4396 (run_pipeline) [_WIN32]: Don't use itoa but i_to_a.
4398 2003-11-18 Keith Marshall <keith.d.marshall@ntlworld.com>
4400 * src/roff/groff/pipeline.c (xstrsignal): Fix usage of
4403 2003-11-17 Werner LEMBERG <wl@gnu.org>
4405 * COPYING: Use correct version.
4407 2003-11-11 Werner LEMBERG <wl@gnu.org>
4409 LynxOS 4.0.0 doesn't declare vfprintf.
4411 * configure.ac: Check for vfprintf.
4412 * configure: Regenerated.
4413 * src/include/lib.h: Handle `NEED_DECLARATION_VFPRINTF'.
4414 * src/include/config.hin: Regenerated.
4416 2003-11-10 Werner LEMBERG <wl@gnu.org>
4418 LynxOS 4.0.0 has snprintf (without declaration) but no vsnprintf.
4420 * configure.ac: Check for vsnprintf.
4421 * configure: Regenerated.
4422 * src/include/lib.h: Handle `NEED_DECLARATION_VSNPRINTF' and
4424 * src/include/config.hin: Regenerated.
4426 2003-11-09 Werner LEMBERG <wl@gnu.org>
4428 * aclocal.m4: Updated syntax to autoconf 2.59.
4429 (GROFF_HTML_PROGRAMS): Use AC_FOREACH.
4430 Don't check for gsos2.
4431 (GROFF_SRCDIR, GROFF_BUILDDIR): Removed. autoconf 2.59 provides
4432 working abs_top_srcdir and abs_top_builddir.
4434 * configure.ac: Updated syntax to autoconf 2.59.
4435 Don't call GROFF_SRCDIR and GROFF_BUILDDIR.
4436 Replace call to AC_DECL_SYS_SIGLIST with call to AC_CHECK_DECLS.
4437 * configure: Regenerated.
4439 * Makefile.in, doc/Makefile.in: s/@top_srcdir@/@abs_top_srcdir@/,
4440 s/@groff_top_builddir@/@abs_top_builddir@/.
4442 * src/roff/groff/pipeline.c (xstrsignal):
4443 s/SYS_SIGLIST_DECLARED/HAVE_DECL_SYS_SIGLIST/.
4445 2003-11-07 Werner LEMBERG <wl@gnu.org>
4447 * src/devices/grodvi/dvi.cpp (draw_dvi_printer::draw) ['a']: Always
4448 make start angle smaller than end angle to circumvent a bug in tpic
4449 handling of some versions of dvipdfm (and dvipdfmx).
4451 2003-10-30 Werner LEMBERG <wl@gnu.org>
4453 * src/devices/grops/grops.man: Improve section on creating EPS.
4455 2003-10-29 Werner LEMBERG <wl@gnu.org>
4457 * contrib/pic2graph/pic2graph.sh: Fix typo (-P-letter ->
4460 2003-10-28 Werner LEMBERG <wl@gnu.org>
4462 * doc/groff.texinfo: Fix documentation of `.if'.
4464 2003-10-27 Michail Vidiassov <master@iaas.msu.ru>
4466 * src/utils/afmtodit/afmtodit.pl: Handle unmapped characters of
4467 the form `uniXXXX' also.
4469 2003-10-27 Werner LEMBERG <wl@gnu.org>
4471 * contrib/eqn2graph/eqn2graph.sh, contrib/grap2graph/grap2graph.sh,
4472 contrib/pic2graph/pic2graph.sh: Implement secure management of
4474 Pass `-P-pletter' to groff to avoid data outside of the converted
4475 area -- some versions of `convert' (for example 5.3.8) don't check
4476 the bounding box of the image but always use a fixed image size
4477 (letter paper format).
4478 * contrib/eqn2graph/eqn2graph.man, contrib/grap2graph/grap2graph.man,
4479 contrib/pic2graph/pic2graph.man: Updated.
4481 * src/roff/groff/groff.man: Document $TMP and $TEMP.
4483 2003-10-26 Werner LEMBERG <wl@gnu.org>
4485 * src/preproc/pic/troff.cpp (troff_output::simple_circle,
4486 troff_output::simple_ellipse, troff_output::simple_arc,
4487 troff_output::simple_line, troff_output::simple_spline,
4488 troff_output::simple_polygon): Insert a space before arguments.
4489 (troff_output::set_fill): Emit `\&' before `\D'Fg...' since the
4490 latter doesn't produce a node, so the following `.sp -1' would do
4492 Don't emit `.sp -1' after \M. This also doesn't produce a token
4493 (and we don't have to care about compatibility mode).
4494 (troff_output::set_color, troff_output::reset_color): Don't emit
4495 `.sp -1' after \M and \m.
4497 * src/roff/troff/input.cpp (old_have_input): New global variable.
4498 (input_stack::get): Handle `old_have_input'.
4499 (process_input_stack) <token::TOKEN_NEWLINE>: Call
4500 `trapping_blank_line' depending on `old_have_input', not
4503 2003-10-20 Keith Marshall <keith.d.marshall@ntlworld.com>
4505 * src/libs/libgroff/tmpfile.cpp [__MSDOS__, _Win32]
4506 (WIN32_TMPDIR_ENVVAR, MSDOS_TMPDIR_ENVVAR): New macros, providing
4507 default directory names for temporary files.
4508 [__MSDOS__, _Win32] (temp_init::temp_init): Use them.
4510 * src/roff/groff/pipeline.c [__MSDOS__]: Include stdlib.h.
4511 [__MSDOS__] (run_pipeline): Honour environment variables.
4512 Don't use `tmpnam' but `tempnam' to work around messy
4515 * README.MinGW: New file.
4517 2003-10-16 Werner LEMBERG <wl@gnu.org>
4519 * src/preproc/html/pre-html.cpp (write_upto_newline): Don't use
4520 `(*t)->next' without testing validity of `*t'.
4521 (usage): Make it more readable.
4523 2003-10-16 Keith Marshall <keith.d.marshall@ntlworld.com>
4525 Make html device run under both MS-DOS and Win32.
4527 * src/preproc/html/pre-html.cpp (MAY_FORK_CHILD_PROCESS,
4528 MAY_SPAWN_ASYNCHRONOUS_CHILD): New macros to control whether
4529 spawn or fork+exec has to be used, and whether parent must sleep
4530 until the child process terminates. Used in
4531 `char_buffer::run_output_filter'.
4532 (copyofstdoutfd): Removed.
4533 (char_buffer): Replace `write_file_html' and `write_file_troff'
4534 member functions with `emit_troff_output' and `run_output_filter'.
4535 (DEVICE_FORMAT, HTML_OUTPUT_FILTER, IMAGE_OUTPUT_FILTER): New
4537 (replaceFd): Replaced with...
4538 (set_redirection): New auxiliary function.
4539 (waitForChild): Replaced with...
4540 (save_and_redirect): New auxiliary function for.
4542 (char_buffer::do_html, char_buffer::do_image): Simplified, using new
4545 2003-10-14 Keith Marshall <keith.d.marshall@ntlworld.com>
4547 * aclocal.m4 (GROFF_SYS_NERR): Check stdlib.h also.
4548 (GROFF_LIBC): New function.
4549 * configure.ac: Call GROFF_LIBC.
4551 * configure: Regenerated.
4553 * src/include/lib.h: Handle __MINGW32__.
4554 * src/include/nonposix.h [_MSC_VER]: Handle __MINGW32__.
4555 Add macro for `pipe'.
4558 * src/roff/groff/pipeline.c (run_pipeline): Handle `no_pipe'
4561 * src/utils/indxbib/signal.c (handle_fatal_signal) [!HAVE_KILL]:
4564 2003-10-13 Werner LEMBERG <wl@gnu.org>
4566 Finally fix change 2003-08-26, based on ideas from Chuck Silvers
4569 * contrib/mom/Makefile.sub: Use a stamp file in the `examples'
4572 2003-10-12 Werner LEMBERG <wl@gnu.org>
4574 * src/roff/groff/groff.cpp (help), src/devices/grops/ps.cpp (usage),
4575 src/roff/troff/input.cc (usage): Updated.
4577 * NEWS, doc/groff.texinfo: Updated.
4579 2003-10-12 Peter Miller <millerp@canb.auug.org.au>
4581 * src/libs/libgroff/searchpath.cpp
4582 (search_path::open_file_cautious): New function which also handles
4583 `-' as stdin and stdout depending on the access mode.
4584 * src/include/searchpath.h (search_path): Updated.
4586 * src/devices/grops/ps.cpp (main): Handle new `-I' switch.
4587 * src/devices/grops/ps.h: Include `searchpath.h'.
4588 * src/devices/grops/psrm.cpp (resource_manager::supply_resource):
4589 Open resource file with `include_search_path.open_file_cautious'.
4590 * src/devices/grops/grops.man: Document new `-I' switch.
4592 * src/devices/grodvi/dvi.cpp (main), src/devices/grolbp/lbp.cpp
4593 (main), src/devices/grolj4/lj4.cpp (main),
4594 src/devices/grotty/tty.cpp (main): Ignore new `-I' switch.
4596 * src/preproc/soelim/soelim.cpp (include_list_length, include_list):
4598 (include_search_path): New global variable.
4599 (include_path_append): Removed.
4600 (main): Use `include_search_path.command_line_dir' to handle `-I'.
4601 (do_file): Simplify, using new
4602 `include_search_path.open_file_cautious'.
4604 * src/roff/groff/groff.cpp (print_commands): Accept file handle as
4606 (main): Pass arguments to `-I' to both troff and devices.
4607 Improve handling of `-V'.
4608 * src/roff/groff/groff.man: Document changes to -I and -V.
4610 * src/roff/troff/input.cpp (include_search_path): New global
4612 (next_file, source, ps_bbox_request, transparent_file,
4613 process_input_file): Use new
4614 `include_search_path.open_file_cautious'.
4615 (main) Handle `-I' switch.
4616 * src/roff/troff/node.cpp (troff_output_file::really_copy_file):
4617 Use new `include_search_path.open_file_cautious'.
4618 * src/roff/troff/node.h: New extern symbol `include_search_path'.
4619 * src/roff/troff/troff.man: Document new `-I' switch.
4621 2003-09-15 Ruslan Ermilov <ru@FreeBSD.org>
4623 Support multiple calls of .Lb in LIBRARY section.
4625 * tmac/doc-common (doc-in-library-section): New register.
4626 (doc-section-library): New string.
4627 (Sh): Set `doc-in-library-section'.
4629 * tmac/doc-syms (Lb): Insert breaks before and after arguments
4630 if in LIBRARY section.
4631 * tmac/doc.tmac (doc-save-global-vars): Updated.
4632 * NEWS, tmac/groff_mdoc.man: Updated.
4634 2003-09-14 Ruslan Ermilov <ru@FreeBSD.org>
4636 * tmac/doc-common (doc-default-operating-system): New variable.
4639 2003-09-08 Werner LEMBERG <wl@gnu.org>
4641 * tmac/doc.tmac (doc-reset-reference): Handle data for `%I' also.
4643 2003-08-31 Werner LEMBERG <wl@gnu.org>
4645 * contrib/mom/Makefile.sub: Fix last change to make it really work.
4646 * Makefile.comm: Use `test ... ||' in favor of `if test ...; then'.
4647 (install_dev, uninstall_dev): Check whether $(DEVSCRIPTS) and
4648 $(DEVFILES) are not empty.
4649 * Makefile.in: Use `test ... ||' in favor of `if test ...; then'.
4651 2003-08-26 Chuck Silvers <chuq@chuq.com>
4653 * contrib/mom/Makefile.sub (prepare_make_examples): Make it work
4654 with parallel runs of `make'.
4656 2003-08-23 Stephen Gildea <http://www.gildea.com/stephen>
4658 * src/preproc/ref/ref.cpp (reference::compute_sort_key): Always
4659 insert SORT_SEP. With certain combinations of sort specifications,
4660 refer sorted entries in the wrong order. In particular, entries
4661 with a missing field should be be sorted before all entries that
4662 have that field, before refer looks to the next field.
4664 2003-08-23 Werner LEMBERG <wl@gnu.org>
4666 * src/utils/pfbtops/Makefile.sub (LINK.c): Define it so that the
4667 g++ linker is used. Reported by Mark J. Reed
4668 <mark.reed@turner.com>.
4670 2003-08-16 Heinz-Jürgen Oertel <hj.oertel@surfeu.de>
4672 Add key character `x' to tbl which makes tbl call a user-defined
4673 macro on a table cell.
4675 * src/preproc/tbl/table.h (entry_modifier): Add `macro'.
4676 * src/preproc/tbl/table.cpp (block_entry::do_divert): Call
4677 `set_modifier' after printing the compatibility request.
4678 (set_modifier): Print call to `m->macro' if not empty.
4679 * src/preproc/tbl/main.cpp (entry_format::debug_print): Handle
4681 (process_format): Implement cases `x' and `X'.
4682 * src/preproc/tbl/tbl.man, NEWS: Updated.
4684 2003-08-15 Werner LEMBERG <wl@gnu.org>
4686 * doc/groff.texinfo: Minor fixes.
4688 2003-08-09 Werner LEMBERG <wl@gnu.org>
4690 * tmac/an-old.tmac [cR]: Fix redefinition of `bp'.
4692 2003-08-07 Werner LEMBERG <wl@gnu.org>
4694 * doc/Makefile.sub: Not all shells expand wildcards in the `for'
4695 argument list to nothing if there is no file to match. Use `ls' as
4696 a protection, similar to autoconf.
4698 * Makefile.comm (install_dev, uninstall_dev): Protect `for' against
4699 empty argument lists.
4701 * doc/groff.texinfo: Improve documentation how vertical spacing
4702 and line breaks interact.
4705 * tmac/www.tmac: Initialize `www-htmlimage-gap'.
4707 2003-08-03 Werner LEMBERG <wl@gnu.org>
4709 * NEWS, src/devices/grops/grops.man: -b16 is necessary to produce
4710 EPS (using eps2eps or similar programs to compute the bounding box).
4712 2003-07-24 Werner LEMBERG <wl@gnu.org>
4714 * doc/groff.texinfo: Use the new @/ command to avoid overlong lines.
4715 * doc/texinfo.tex: Updated from texinfo 4.6.
4716 * README.CVS: From now on we need texinfo 4.6.
4718 2003-07-23 Werner LEMBERG <wl@gnu.org>
4720 Add requests `dei1' and `ami1' for completeness.
4722 * src/roff/troff/input.cc (calling_mode): Remove
4723 CALLING_DISABLE_COMP.
4724 (comp_mode): New enumeration.
4725 (do_define_string, define_string, define_nocomp_string,
4726 append_string, append_nocomp_string): Updated.
4727 (do_define_macro): Add third parameter.
4728 (define_macro, define_nocomp_macro, define_indirect_macro,
4729 append_macro, append_nocomp_macro, append_indirect_macro): Updated.
4730 (define_indirect_nocomp_macro, append_indirect_nocomp_macro): New
4733 (init_input_requests): Add `dei1' and `ami1'.
4735 * tmac/trace.tmac: Handle de1 and am1.
4736 (de): Improve tracing message.
4737 (am): Add missing `do'.
4740 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
4741 Document new requests.
4743 2003-07-22 Heinz-Jürgen Oertel <hj.oertel@surfeu.de>
4745 Add option -G to .MPIMG to insert a gap between text and the image.
4747 * tmac/www.tmac (www-finish-left-po, www-finish-right-ll,
4748 www-finish-left-ll): Updated.
4749 (www-image-just, www-image-gap, www-htmlimage-gap): New variables.
4750 (MPIMG): Make option -L and -R optional.
4751 Implement option -G.
4753 2003-07-22 Gaius Mulley <gaius@glam.ac.uk>
4755 * src/devices/grohtml/post-html.cpp
4756 (html_printer::do_file_components): Don't use `stdout' as lvalue
4757 since it can be a macro.
4759 2003-07-22 Werner LEMBERG <wl@gnu.org>
4761 * src/libs/libgroff/strerror.c: Include errno.h to be in sync with
4762 the corresponding test in aclocal.m4.
4764 2003-07-21 Werner LEMBERG <wl@gnu.org>
4766 * src/preproc/html/pre-html.cpp (TRANSPARENT): Don't use colour
4767 names but RGB values directly. Otherwise pnmtopng depends on
4768 an external file `rgb.txt' which maps colour names to values.
4770 2003-07-20 Werner LEMBERG <wl@gnu.org>
4772 * aclocal.m4 (GROFF_SYS_ERRLIST): Include stdlib.h for MinGW.
4773 * configure, src/include/config.hin: Regenerated.
4775 * src/libs/libgroff/strerror.c: Include stdlib.h for MinGW.
4777 2003-07-19 Werner LEMBERG <wl@gnu.org>
4779 * PROBLEMS: Add solution for UTF-8 problem with hyphens.
4781 2003-07-18 Werner LEMBERG <wl@gnu.org>
4783 * *.man: Switch to non-compatibility mode temporarily if GNU
4784 syntax extensions are used in the particular man page.
4786 * PROBLEMS: Add solutions for SGR problems.
4788 2003-07-17 Werner LEMBERG <wl@gnu.org>
4790 Don't ignore grotty's command line options if \X'tty: sgr ...' is
4791 used to change the drawing scheme.
4793 * src/devives/grotty/tty.cpp (bold_flag_option,
4794 underline_flag_option, italic_flag_option, reverse_flag_option,
4795 bold_underline_mode_option): New global variables.
4796 (update_options): New function.
4797 (tty_printer::special): Call update_options.
4798 (main): Don't set xxx_flag but xxx_flag_option, then call
4801 2003-07-14 Werner LEMBERG <wl@gnu.org>
4803 Make grotty emit proper Unicode box drawing characters for -Tutf8.
4805 * src/devices/grotty/tty.cpp (START_LINE, END_LINE): New enum
4807 (hline_char, vline_char): New global variables.
4808 (tty_printer::tty_printer): Initialize them.
4809 (tty_printer::draw): Emit START_LINE and END_LINE flags for both
4810 horizontal and vertical lines.
4811 (crossings): New global array.
4812 (tty_printer::end_page): Use it to determine the proper crossing
4813 character for -Tutf8.
4815 2003-07-12 Werner LEMBERG <wl@gnu.org>
4817 * doc/Makefilesub (HTMLDOCFILESALL): New macro.
4818 (HTMLDOCFILES): Revert to `pic.html'.
4819 (CLEANADD, install_html, uninstall_sub): Use HTMLDOCFILESALL.
4821 2003-07-11 Werner LEMBERG <wl@gnu.org>
4823 * doc/pic.ms: Improve documentation of absolute coordinates.
4824 Document absolute positioning of pictures.
4826 * NEWS: Add new pic capability.
4828 2003-07-09 Hartmut Henkel <hartmut_henkel@gmx.de>
4830 * src/libs/libgroff/geometry.cpp (check_output_arc_limits):
4833 2003-07-07 Werner LEMBERG <wl@gnu.org>
4835 Implement support for dashed and dotted ellipses in pic. Based on
4836 a patch from Hartmut Henkel <hartmut_henkel@gmx.de>.
4838 * src/preproc/pic/common.cpp (common_output::ellipse_arc,
4839 common_output::dashed_ellipse, common_output::dotted_ellipse): New
4840 functions. Ellipse arcs are approximated with circle arcs.
4841 * src/preproc/pic/common.h (common_output): Updated.
4842 * src/preproc/pic/tex.cpp (tex_output::ellipse): Use new ellipse
4844 * src/preproc/pic/troff.cpp (simple_output::ellipse): Ditto.
4846 * src/preproc/pic/TODO, src/preproc/pic/pic.man: Updated.
4848 2003-07-06 Werner LEMBERG <wl@gnu.org>
4850 Make grotty work on platforms which have unsigned char as the
4851 default for char. Based on a patch by Thomas Klausner
4854 * src/devices/grotty/tty.cpp (schar): New typedef.
4855 Updated calls to declare_ptable and implement_ptable.
4856 (glyph): Use schar for back_color_idx and fore_color_idx.
4857 (tty_printer): Use schar for curr_fore_idx and curr_back_idx.
4858 (tty_printer::tty_color, tty_printer::tty_printer,
4859 tty_printer::color_to_idx, tty_printer::put_color): Updated.
4861 2003-07-06 Ruslan Ermilov <ru@FreeBSD.org>
4863 * src/roff/nroff/nroff.sh: Add option -d for completeness.
4864 * src/roff/nroff/nroff.man: Updated.
4866 2003-07-05 Werner LEMBERG <wl@gnu.org>
4868 * NEWS, tmac/groff_www.man: Updated.
4869 * doc/Makefile.sub: Updated.
4871 2003-07-05 Gaius Mulley <gaius@glam.ac.uk>
4873 Implement support for multiple HTML output files.
4875 * src/preproc/html/pre-html.cpp (scanArguments): Dummy handling for
4876 -j command line option.
4878 * src/devices/grohtml/post-html.cpp (job_name, multiple_files): New
4880 (file): New fields `new_output_file', `require_links',
4882 (file::file): Updated.
4883 (files::set_file_name, files::set_links_required,
4884 files::are_links_required, files::is_new_output_file,
4885 files::file_name, files::next_file_name): New functions.
4886 (header_desc): New fields `no_of_level_one_headings',
4888 (header_desc::header_desc): Updated.
4889 (header_desc::write_headings): Handle multiple files.
4890 (html_printer::write_header): Save file name in which header occurs.
4891 (html_printer::determine_header_level): Possibly split files on
4893 (html_printer::do_links, html_printer::troff_tag): Updated.
4894 (html_printer::insert_split_file, html_printer::do_job_name,
4895 html_printer::emit_link, html_printer::write_navigation,
4896 html_printer::do_file_components): New functions.
4897 (html_printer::~html_printer): Handle multiple files.
4898 (main): Handle command line option `-j'.
4900 * src/devices/grohtml/grohtml.man: Updated.
4902 * doc/Makefile.sub (pic.html), doc/Makefile.in (pic.html): New rule
4905 * tmac/www.tmac (JOBNAME): New macro.
4906 * tmac/s.tmac (SH-NO-TAG): New macro.
4907 (@SH): Call SH-NO-TAG.
4910 2003-07-05 Ruslan Ermilov <ru@FreeBSD.org>
4912 * tmac/groff_mdoc.man: Improve documentation of punctuation
4915 2003-07-04 Ruslan Ermilov <ru@FreeBSD.org>
4917 * tmac/doc.tmac (Bd): Change to doc-Li-font later.
4919 2003-07-03 Werner LEMBERG <wl@gnu.org>
4921 * tmac/an-old.tmac [cR]: Redefine `bp' to avoid empty lines.
4923 2003-07-01 Ruslan Ermilov <ru@FreeBSD.org>
4925 * tmac/doc.tmac (doc-do-func, doc-do-func-args): Don't print a comma
4926 after `/*' and `*/'.
4928 (Fn, Fo): Reduce indentation in synopsis.
4930 * tmac/doc-common (doc-check-depth): New macro.
4931 (doc-end-macro, Sh, Ss): Use it.
4932 (Cd): Fix behaviour in synopsis.
4933 (In): Make it parsed and callable.
4934 If not in the synopsis, represent the C header file enclosed in
4936 (doc-str-Rv-std-suffix, doc-str-Rv-stds-suffix, doc-str-Rv-std0):
4937 Use minus, not hyphen.
4939 * tmac/groff_mdoc.man: Updated.
4941 2003-07-01 Werner LEMBERG <wl@gnu.org>
4943 Integrated grap2graph, contributed by Eric S. Raymond.
4945 * contrib/grap2graph/{Makefile.sub, grap2graph.sh, grap2graph.man}:
4947 * Makefile.in, NEWS, MANIFEST, contrib/eqn2graph.man,
4948 contrib/pic2graph.man, src/roff/groff/groff.man: Updated.
4950 2003-07-01 Colin Watson <cjwatson@debian.org>
4952 * src/xditview/*.c: Add prototypes, fix return types, add includes.
4953 Based on work by Fumitoshi UKAI <ukai@debian.or.jp>.
4955 2003-06-31 Ruslan Ermilov <ru@FreeBSD.org>
4957 * tmac/tty-char.tmac: Provide `lb', `rb', `lk', `rk', `lt', `rt'.
4959 2003-06-31 Werner LEMBERG <wl@gnu.org>
4961 * doc/Makefile.sub (CLEANADD): Remove all files created by
4962 running `make groff.{pdf,dvi}'.
4964 * Makefile.sub (DISTCLEANFILES): Remove all non-source files from
4967 2003-06-30 Werner LEMBERG <wl@gnu.org>
4969 * Makefile.in (SHELL): Define as @SHELL@.
4970 (mkinstalldirs): Use $(SHELL).
4971 (MDEFINES): Add $(SHELL).
4972 * Makefile.comm (SHELL): Removed.
4974 2003-06-29 Werner LEMBERG <wl@gnu.org>
4976 * tmac/s.tmac (De, Ds): New aliases for .DE and .DS, respectively.
4977 The X11 documentation files use them.
4978 * tmac/groff_ms.man, doc/groff.texinfo: Document them.
4980 2003-06-15 Robert Goulding <goulding@Princeton.EDU>
4982 * tmac/e.tmac (@C): Handle .ad also.
4984 2003-06-12 Werner LEMBERG <wl@gnu.org>
4986 * src/preproc/tbl/tbl.man: Document formatting of text blocks.
4988 * src/roff/troff/input.cc (token::next) <handle_escape_char>:
4989 Assign `n' even here. It is possible to construct a node
4990 immediately following an escape character:
4998 2003-06-10 Werner LEMBERG <wl@gnu.org>
5000 * README.WIN32: Removed.
5001 * MANIFEST: Updated.
5003 2003-06-07 Werner LEMBERG <wl@gnu.org>
5005 * src/roff/nroff/nroff.sh: Don't emit SGR for option -u.
5007 2003-06-05 Werner LEMBERG <wl@gnu.org>
5009 * src/preproc/pic/pic.y <sprintf_args>: Implement workaround for bug
5010 in Compaq C++ V6.5-033 for Compaq Tru64 UNIX V5.1A (Rev. 1885).
5012 2003-06-03 Werner LEMBERG <wl@gnu.org>
5014 * src/preproc/grn/hdb.cpp (DBRead): Don't close file handle; this
5015 is done by the calling function.
5017 2003-05-22 Ruslan Ermilov <ru@FreeBSD.org>
5019 * tmac/X.tmac: Fix definition of `em'.
5021 2003-05-22 Werner LEMBERG <wl@gnu.org>
5023 * src/roff/troff/input.cc (return_macro_request): Fix detection of
5026 2003-05-18 Werner LEMBERG <wl@gnu.org>
5028 * tmac/doc.tmac (doc-tag-list): Force horizontal mode after tag
5029 to make items work which consist only of a tag.
5031 2003-05-17 Werner LEMBERG <wl@gnu.org>
5033 * tmac/doc.tmac (doc-tag-list): Don't use \Z to assure that spaces
5034 aren't stretched in a tag (this can fail with unformatted boxes).
5035 Instead, insert a break and go back one line.
5037 2003-05-16 Werner LEMBERG <wl@gnu.org>
5039 * src/roff/troff/input.cc (return_macro_request): If called with
5040 argument pop macro twice. We need this to trace `return'.
5042 * tmac/trace.tmac: Handle `return'.
5045 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
5048 2003-05-15 Larry Kollar <kollar@alltel.net>
5050 * tmac/groff_ms.man, doc/groff.texinfo: Improve documentation of
5051 registers `FPS', `FVS', and `FPD'.
5053 2003-05-15 Werner LEMBERG <wl@gnu.org>
5055 * src/utils/pfbtops/pfbtops.c (get_text): Handle loop counter
5058 2003-05-03 Ruslan Ermilov <ru@FreeBSD.org>
5060 * tmac/groff_mdoc.man: Slight improvements.
5062 2003-05-03 Werner LEMBERG <wl@gnu.org>
5064 * tmac/doc-common (doc-header): Emit vertical space of 1v instead of
5065 `doc-header-space' after header line if register `cR' is set.
5067 2003-05-02 Werner LEMBERG <wl@gnu.org>
5071 2003-05-01 Ruslan Ermilov <ru@FreeBSD.org>
5073 * tmac/doc-common (Nd): Use \[em].
5075 2003-05-01 Werner LEMBERG <wl@gnu.org>
5077 * tmac/doc-ditroff, tmac/doc-nroff (doc-header-space,
5078 doc-footer-space): Initialize to 0.5i.
5079 (doc-setup-page-layout): Don't set doc-header-space and
5082 2003-04-30 Werner LEMBERG <wl@gnu.org>
5084 * REVISION: Set to 1.
5086 * doc/pic.ms: Document possible problems with `figname'.
5088 2003-04-29 Werner LEMBERG <wl@gnu.org>
5090 Version 1.19 released
5091 =====================
5093 * VERSION: Set to 1.19.
5094 * REVISION: Set to 0.
5095 * doc/groff.texinfo, doc/webpage.ms, NEWS: Updated.
5097 * src/devices/grohtml/post-html.cpp (html_printer::~html_printer):
5098 Define charset as `US-ASCII' in html output.
5100 * tmac/www.tmac (ULE): Add missing scaling indicator.
5102 * win32-diffs: Removed.
5104 2003-04-28 Werner LEMBERG <wl@gnu.org>
5106 * doc/groff.texinfo: Document `dn' and `dl' registers if used with
5108 Document how to insert discardable whitespace with `.ss'.
5110 2003-04-27 Werner LEMBERG <wl@gnu.org>
5112 * src/preproc/pic/tex.cpp (tex_output::start_picture): Make code
5113 work with plain TeX also.
5115 * src/preproc/pic/pic.man, doc/pic.ms: Fix TeX code example.
5117 2003-04-25 Gaius Mulley <gaius@glam.ac.uk>
5119 * src/devices/grohtml/post-html.cpp (html_printer::~html_printer):
5122 2003-04-24 Werner LEMBERG <wl@gnu.org>
5124 * src/preproc/pic/pic.man, doc/pic.ms: Explain how to get a
5125 vbox with positive height and zero depth if in TeX mode.
5127 * NEWS: Document glyph name changes for grodvi and grolj4.
5129 2003-04-23 Werner LEMBERG <wl@gnu.org>
5131 * src/preproc/pic/tex.cpp (tex_output::start_picture): Fix TeX code.
5132 * doc/pic.ms: Fixed.
5134 2003-04-21 Werner LEMBERG <wl@gnu.org>
5136 HP-UX 10.20 has `snprintf' but it isn't declared.
5138 * configure.ac: Add declaration test for snprintf.
5139 * configure: Regenerated.
5140 * src/include/lib.h: Handle `NEED_DECLARATION_SNPRINTF'.
5141 * src/include/config.hin: Regenerated.
5143 2003-04-19 Werner LEMBERG <wl@gnu.org>
5145 Add keyword `figname' to pic, specifying the name of the picture
5146 box in TeX mode. Based on a patch from William J Poser
5147 <wjposer@unagi.cis.upenn.edu>.
5149 * src/preproc/pic/pic.y: New token `FIGNAME'.
5150 (macro_name): New rule of type <str>.
5151 (placeless_element): Handle `FIGNAME'.
5152 * src/preproc/pic/lex.cpp (lookup_keyword): Add `figname'.
5153 * src/preproc/pic/main.cpp (graphname): New global variable.
5154 (do_picture): Initialize `graphname'.
5155 * src/preproc/pic/pic.h: Updated.
5156 * src/preproc/pic/tex.cpp (tex_output::start_picture): Use
5159 (tex_output::text): Beautify output.
5160 * src/preproc/pic/object.cpp (object_spec::~object_spec): Deallocate
5161 `shaded' and `outlined' unconditionally.
5162 * NEWS, src/preproc/pic/pic.man, doc/pic.ms: Updated.
5165 * PROBLEMS, README.CVS: Mention that bison version 1.875b or
5166 greater is necessary.
5168 2003-04-17 Hartmut Henkel <hartmut_henkel@gmx.de>
5170 Add option -r to soelim to avoid emission of `.lf' lines.
5171 Add option -t to produces TeX comment lines instead of `.lf' lines.
5173 * src/preproc/soelim/soelim.cpp: New global variables `raw_flag'
5176 (main): Handle `-r' and `-t'.
5177 (set_location): Handle `raw_flag' and `tex_flag'.
5178 * src/preproc/soelim/soelim.man, NEWS: Updated.
5180 2003-04-17 Werner LEMBERG <wl@gnu.org>
5182 * tmac/hyphenex.sh: Replaced with...
5183 * tmac/hyphenex.pl: This perl script to avoid sed compatibility
5186 * aclocal.m4 (GROFF_HTML_PROGRAMS): Emit useful warning message
5187 if --quiet is used for the configure script.
5188 * configure: Regenerated.
5190 2003-04-16 Werner LEMBERG <wl@gnu.org>
5192 * src/devices/grohtml/post-html.cpp (text_glob::text_glob):
5193 Add `const' to second argument.
5194 (html_printer::add_table_end): Add `const' to argument.
5195 * src/devices/grohtml/html-text.cpp (html_text::issue_tag): Add
5196 `const' to arguments.
5197 * src/devices/grohtml/html-text.h: Updated.
5199 * src/devices/grolbp/charset.h (symset): Use `unsigned char'.
5200 * src/devices/grolbp/lbp.h (lbpputc): Use `unsigned char' for
5203 * src/devices/grotty/tty.cpp (tty_printer::make_rgb_string): Use
5204 cast for integer constant.
5206 * src/preproc/html/pre-html.cpp (image_device): Use `const'.
5207 (writeNbytes): Add `const' to first argument.
5208 (writeString): Add `const' to argument.
5209 (char_buffer::can_see): Add `const' to third argument.
5210 * src/preproc/html/pushback.cpp (pushBackBuffer::isString): Add
5211 `const' to argument.
5212 * src/preproc/html/pushback.h: Updated.
5214 * src/preproc/soelim/soelim.cpp (include_list): Add `const'.
5215 (include_path_append): Add `const' to argument.
5218 * src/roff/troff/uniglyph.cpp (unicode_to_glyph_list): Use `const'
5220 (unicode_to_glyph_init::unicode_to_glyph_init): Updated.
5221 * src/roff/troff/uniuni.cpp (unicode_decompose_list): Use `const'
5223 (unicode_decompose_init::unicode_decompose_init): Updated.
5224 * src/roff/troff/glyphuni.cpp (glyph_to_unicode_list): Use `const'
5226 (glyph_to_unicode_init::glyph_to_unicode_init): Updated.
5227 * src/roff/troff/input.cc (process_startup_file): Add `const' to
5230 * tmac/hyphenex.sh: Make script more portable by using a here
5233 2003-04-15 Werner LEMBERG <wl@gnu.org>
5235 Renamed all `*.cc' files to `*.cpp'.
5236 Updated all configuration files, makefiles, and documentation.
5238 2003-04-14 Werner LEMBERG <wl@gnu.org>
5240 * tmac/hyphenex.sh: Slight improvements.
5242 2003-04-13 Werner LEMBERG <wl@gnu.org>
5244 * font/devascii/R.proto, font/devcp1037/R.proto,
5245 font/devlatin1/R.proto, font/devutf8/R.proto: Fill up remaining
5246 character slots with unnamed glyphs.
5248 * tmac/an-old.tmac: Fix hyphenation value if `cR' is active.
5249 (an-first): New global variable.
5250 (an-header): Emit vertical space between multiple man pages.
5252 2003-04-11 Werner LEMBERG <wl@gnu.org>
5254 * doc/groff.texinfo, man/groff_out.man: \S only accepts integer
5257 2003-04-10 Werner LEMBERG <wl@gnu.org>
5259 * PROBLEMS: Revised.
5261 2003-04-10 Bernd Warken <bwarken@mayn.de>
5263 * doc/webpage.ms: Improved.
5265 2003-04-09 Werner LEMBERG <wl@gnu.org>
5267 Add register \n[.height] which returns the value of \H.
5268 Add register \n[.slant] which returns the value of \S.
5270 * src/roff/troff/env.cc (init_env_requests): Implement.
5271 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
5274 2003-04-08 Werner LEMBERG <wl@gnu.org>
5276 * tmac/html.tmac: Move some of the data into html-end.tmac.
5277 Remove most of the character translations for eqn since html fonts
5278 now cover those characters.
5280 * tmac/html-end.tmac: New file.
5281 * tmac/troffrc: Load html.tmac not www.tmac for -Thtml.
5282 * tmac/troffrc-end: Load html-end.tmac not html.tmac for -Thtml.
5283 * tmac/Makefile.sub (NORMALFILES): Add html-end.tmac.
5285 2003-04-07 Werner LEMBERG <wl@gnu.org>
5287 * man/groff_out.man: Document negative values of `N' if -Thtml is
5290 2003-04-06 Werner LEMBERG <wl@gnu.org>
5292 * Makefile.comm (depend.temp): Check location of YTABC.
5294 2003-04-05 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
5296 * contrib/mom/Makefile.sub (GROFFBIN): New variable for groff
5298 (groff_bin_path): Rename to GROFF_BIN_PATH.
5299 (GROFF): Use GROFFBIN and GROFF_BIN_PATH.
5300 * doc/Makefile.in (TROFFBIN): New variable for troff
5302 (GROFFBIN): New variable for groff binary path.
5303 (groff_bin_path): Rename to GROFF_BIN_PATH.
5304 (TROFF): Use TROFFBIN.
5305 (GROFF): Use GROFFBIN and GROFF_BIN_PATH.
5306 * doc/Makefile.sub (GROFFBIN): New variable for groff
5308 (groff_bin_path): Rename to GROFF_BIN_PATH.
5309 (GROFF): Use GROFFBIN and GROFF_BIN_PATH.
5311 * Makefile.comm (install_dev): Install scripts from DEVSCRIPTS
5312 with INSTALL_SCRIPT.
5313 (uninstall_dev): Uninstall scripts from DEVSCRIPTS.
5314 * Makefile.dev (all): Depend on DEVSCRIPTS.
5315 (install_dev): Likewise.
5316 * font/devdvi/Makefile.sub (DEVSCRIPTS): New variable to hold
5318 * font/devps/Makefile.sub (DEVSCRIPTS): Likewise.
5319 (DEVGENSCRIPTS): New variable to hold generated scripts.
5321 2003-04-05 Werner LEMBERG <wl@gnu.org>
5323 * src/libs/libdriver/input.cc (IntArray::operator[],
5324 IntArray::get_data): Remove meaningless `const' in return value.
5326 * README.CVS: New file.
5328 2003-04-04 Werner LEMBERG <wl@gnu.org>
5330 Check for stdint.h in C++, not in C.
5332 * aclocal.m4 (GROFF_STDINT_H): New function,
5333 * configure.ac: Check for stdint.h with GROFF_STDINT_H instead of
5335 * configure, src/include/config.hin: Regenerated.
5336 * src/libs/libgroff/tmpname.cc: Use HAVE_CC_STDINT_H.
5339 Fix handling of in grohtml. To do this, troff emits `N'
5340 with a negative value, representing the width of the unbreakable
5341 space (only for -Thtml). grohtml then converts this back to
5342 and uses the value of N as its width.
5344 * src/roff/troff/node.cc (space_char_hmotion_node::tprint,
5345 unbreakable_space_node::tprint): Emit `N-<width>'.
5346 * src/include/printer.h (printer::set_numbered_char): Make it
5348 Make members `font_table' and `nfonts' protected instead of private.
5349 * src/devices/grohtml/post-html.cc
5350 (html_printer::set_numbered_char): New member function.
5353 * src/libs/libgroff/maxfilename.cc:
5354 s/HAVE_LIMITS_H/HAVE_CC_LIMITS_H/.
5356 * src/roff/troff/node.cc (unbreakable_space_node::tprint): Don't
5359 2003-04-03 Sergey A. Osokin <osa@freebsd.org.ru>
5361 * man/roff.man: Small fixes.
5363 2003-04-03 Werner LEMBERG <wl@gnu.org>
5365 Make groff independent from locale's numeric settings.
5367 * configure.ac: Check for `setlocale'.
5368 * configure, src/include/config.hin: Regenerated.
5370 * src/include/lib.h: Handle HAVE_SETLOCALE.
5372 * src/devices/grodvi/dvi.cc (main), src/devices/grolj4/lj4.cc
5373 (main), src/devices/grops/ps.cc (main), src/preproc/grn/main.cc
5374 (main), src/preproc/pic/main.cc (main): Call `setlocale'.
5377 * doc/groff.texinfo: Change dir category to `Typesetting'.
5378 (Man font macros): Mention that there is no space between arguments
5381 * src/libs/libdriver/printer.cc, src/devices/grotty/tty.cc
5382 (*printer::change_color, *printer::change_fill_color): Add missing
5385 2003-04-02 Werner LEMBERG <wl@gnu.org>
5387 * src/devices/grohtml/html-table.cc (html_table::emit_col,
5388 html_table::is_gap): Compute table widths after converting border
5389 positions to avoid rounding errors.
5391 2003-04-01 Werner LEMBERG <wl@gnu.org>
5393 * src/devices/grohtml/html-text.cc (html_text::do_space): Handle
5394 `space_emitted' properly.
5396 2003-03-31 Werner LEMBERG <wl@gnu.org>
5398 * src/devices/grohtml/html-table.cc: Fix column width calculation.
5399 (html_table::set_linelength): Don't add 1.
5400 (html_table::add_indent): Don't subtract 1.
5402 * tmac/html.tmac: Set default page offset to zero.
5404 2003-03-30 Werner LEMBERG <wl@gnu.org>
5406 Make groff emit ` ' for `\ ' and `\~' if `-Thtml' is used.
5408 * src/roff/troff/node.cc (space_char_hmotion_node::tprint,
5409 unbreakable_space_node::tprint): New functions.
5410 (troff_output_file): Make space_char_hmotion_mode::tprint and
5411 unbreakable_space_node::tprint to friends.
5412 * src/roff/troff/node.h: Updated.
5414 * font/devhtml/R.proto: Add ` ' at position 0xA0 (as defined
5415 in the HTML standard).
5417 2003-03-29 Werner LEMBERG <wl@gnu.org>
5419 * src/roff/troff/env.cc (point_size): Fix emission of html tag.
5420 Otherwise, the following code
5429 produces `x a' instead of `xa'. This is a temporary fix, disabling
5430 font changes in diversions for -Thtml.
5432 * tmac/an-old.tmac (TH, SH): Use `HTML-TAG-NS' instead of
5434 (an-do-tag-html): Merge with ...
5435 (an-do-tag): This macro.
5436 Change code slightly to circumvent grohtml bug.
5437 * tmac/troffrc-end: Define dummy for HTML-TAG-NS.
5439 * src/devices/grohtml/html-table.cc (html_table::emit_col,
5440 html_table::is_gap): Round `width' properly.
5442 * tmac/html.tmac: Provide some default layout parameters for
5445 * font/devhtml/DESC.proto: Don't use discrete values for `sizes'
5448 2003-03-28 Werner LEMBERG <wl@gnu.org>
5450 src/devices/grops/ps.cc (ps_printer::do_import): Fix error message.
5452 2003-03-27 Werner LEMBERG <wl@gnu.org>
5454 * tmac/an-old.tmac (BT): Don't call .tl if register `ps4html' is
5457 2003-03-20 Werner LEMBERG <wl@gnu.org>
5459 * src/roff/troff/env.cc (vertical_spacing): Allow zero value for
5461 * doc/groff.texinfo: Updated.
5463 2003-03-19 Werner LEMBERG <wl@gnu.org>
5465 * src/roff/troff/input.cc (process_input_stack) <TOKEN_BEGIN_TRAP,
5466 TOKEN_END_TRAP>: Reset `have_input'.
5468 2003-03-18 Werner LEMBERG <wl@gnu.org>
5470 * src/roff/groff/groff.man: Mention groff_trace man page.
5472 2003-03-16 Werner LEMBERG <wl@gnu.org>
5474 * Makefile.in (LIBEXT): New variable to indicate the file extension
5475 of library files. Computed heuristically from $(OBJEXT).
5476 (MDEFINES): Add $(LIBEXT).
5477 * Makefile.lib, Makefile.comm: Use it.
5479 * src/utils/pfbtops/pfbtops.c (get_text): New function. Split
5480 overlong lines into smaller chunks.
5481 (get_binary): New function.
5483 * src/utils/pfbtops/pfbtops.man: Updated.
5485 2003-03-15 Colin Watson <cjwatson@debian.org>
5487 * src/roff/groff/groff.man: Minor syntax fix.
5489 2003-03-14 Egil Kvaleberg <egil@kvaleberg.no>
5491 * src/devices/grops/ps.cc (ps_printer::media_set,
5492 ps_printer::~ps_printer): Handle zero paper width and length.
5494 2003-03-13 Werner LEMBERG <wl@gnu.org>
5496 Add options -p and -l to grodvi.
5498 * src/devices/grodvi/dvi.cc: Include paper.h.
5499 (landscape_flag, user_paper_length, user_paper_width): New global
5501 (dvi_printer::begin_page): Emit `papersize' special.
5502 Set color after initialization of `cur_h' and `cur_v'.
5503 (main): Add options `-l' and `-p'.
5504 * font/devdvi/Makefile.sub (DESC): Set `papersize'.
5505 * src/devices/grodvi/grodvi.man, NEWS: Updated.
5507 * src/devices/grops/psrm.cc (valid_input_table): Fixed.
5509 2003-03-12 Werner LEMBERG <wl@gnu.org>
5511 * src/devices/grops/grops.man: Move documentation of .PSPIC to...
5512 * man/groff_tmac.man: This man page.
5513 * man/groff_font.man: Declare `paperwidth' and `paperlength' as
5516 * tmac/X.tmac: Don't load pspic.tmac.
5518 2003-03-11 Werner LEMBERG <wl@gnu.org>
5520 Make variable `pr' local to libdriver/input.cc. Based on a patch
5521 by Bernd Warken <bwarken@mayn.de>.
5523 * src/include/driver.h (pr): Removed.
5525 * src/libs/libdriver/input.cc (pr): New global variable.
5526 (do_file): Deallocate `pr'.
5527 * src/libs/libdriver/printer.cc (pr): Removed.
5529 * src/devices/grodvi/dvi.cc (main), src/devices/grohtml/post-html.cc
5530 (main), src/devices/grolbp/lbp.cc (main), src/devices/grolj4/lj4.cc
5531 (main), src/devices/grops/ps.cc (main), src/devices/grotty/tty.cc
5532 (main): Don't delete `pr'.
5534 2003-03-10 Werner LEMBERG <wl@gnu.org>
5536 * tmac/a4.tmac, tmac/composite.tmac: Use `.do'.
5537 * tmac/papersize.tmac: New file.
5538 * tmac/troffrc: Include `papersize.tmac'.
5539 * tmac/Makefile.sub (NORMALFILES): Add `papersize.tmac'.
5540 * tmac/an-old.tmac: Set LT to LL by default.
5542 * NEWS, MANIFEST, tmac/groff_man.man, man/groff_tmac.man,
5543 doc/groff.texinfo: Updated.
5545 * src/libs/libgroff/paper.cc (add_iso_paper): Fix very embarassing
5546 bug which caused all odd iso papers to have wrong dimensions.
5548 * src/devices/grops/ps.cc (user_paper_width): New global variable.
5549 (main) <'p'>: Set `user_paper_width' also.
5550 (ps_printer::media_width, ps_printer::media_height): Use values
5551 given with option `-p'.
5553 2003-03-09 Werner LEMBERG <wl@gnu.org>
5555 * src/include/nonposix.h: Provide default for SET_BINARY.
5557 * src/devices/grodvi/dvi.cc, src/devices/grolbp/lbp.cc,
5558 src/devices/grolj4/lj4.cc, src/devices/grops/ps.cc: Call SET_BINARY
5561 * src/utils/pfbtops/pfbtops.c: Call SET_BINARY unconditionally.
5562 (main): Treat \r\n as \n.
5564 2003-03-08 Werner LEMBERG <wl@gnu.org>
5566 * tmac/an-old.tmac: Use register `HY' to control hyphenation.
5567 * NEWS, tmac/groff_man.man, doc/groff.texinfo: Document it.
5569 2003-03-07 Werner LEMBERG <wl@gnu.org>
5571 Added support to access more than 256 glyphs in Type 1 fonts.
5573 * src/devices/grops/ps.cc (subencoding): New structure.
5574 (style): Add `sub' field.
5576 (ps_printer): Add `subencodings' and `next_subencoding_index' fields.
5577 Add `set_subencoding', `get_subfont' and `encode_subfont' member
5580 (ps_printer::set_char): Use `set_subencoding'.
5581 (make_subencoding_name): New function.
5582 (ps_printer::set_style): Handle case where `sty.sub' is not zero.
5583 (ps_printer::~ps_printer): Emit subencoding definitions.
5585 * src/devices/grops/psrm.cc (valid_input_table): New array to
5586 properly support EBCDIC.
5587 (white_space): Add `\f'.
5588 (ps_get_line): Change first argument to be of type `string &'.
5589 Updated all callers.
5590 This allows to get lines of arbitrary length.
5591 Use `valid_input_table'.
5592 Remove warning about non-conforming PS line length. This seems
5593 not to be of great importance -- for example, dvips don't emit
5595 (PS_LINE_MAX): Removed.
5596 (matches_comment): Change first argument to be of type `string &'.
5598 * src/devices/grops/grops.man, src/devices/grops/TODO: Updated.
5600 * src/utils/afmtodit/afmtodit.pl (%unicode_decomposed,
5601 %AGL_to_unicode, %default_ligatures): New hash tables.
5602 Read all map entries.
5603 Add unencoded characters.
5604 Check for default ligatures if there are no `L' entries.
5605 Print all kern entries.
5606 Print all characters in charset.
5607 * src/utils/afmtodit/afmtodit.man: Updated.
5609 * font/devps/*: Regerated all fonts.
5611 * tmac/latin[129].tmac, tmac/cp1047.tmac: Don't test for existence
5612 of characters, just use `.trin'. Otherwise the mapping depends
5613 on the font encoding.
5614 * tmac/ps.tmac: Add `fi' and `fl'.
5615 Improve `Fi' and `Fl'.
5616 * tmac/X.tmac, tmac/lbp.tmac, tmac/tty.tmac: Improve `Fi' and `Fl'.
5617 * tmac/Xps.tmac: Fix `em'.
5621 2003-03-04 Werner LEMBERG <wl@gnu.org>
5623 * src/roff/troff/input.cc (charinfo_to_node_list): Reset
5626 2003-03-03 Werner LEMBERG <wl@gnu.org>
5628 * Makefile.sub (DISTCLEANFILES): Add gxditview._man.
5630 * font/devps/generate/textmap: Remove entry `similarequal'.
5631 * font/devps/symbolmap: Updated.
5633 2003-03-02 Werner LEMBERG <wl@gnu.org>
5635 * src/libs/libgroff/font.cc (font::load): Fix error message for
5638 * src/devices/grops/grops.man: Improve documentation of the -b
5641 * tmac/tty.tmac: Load latin1.tmac for all TTY devices except
5642 `ascii' and `cp1047'.
5644 2003-03-01 Werner LEMBERG <wl@gnu.org>
5646 Document composite glyphs and the `composite' request.
5648 * man/groff.man, man/groff_diff.man, doc/groff.texinfo: Do it.
5650 2003-02-28 Werner LEMBERG <wl@gnu.org>
5652 * font/devdvi/generate/ec.map: Add some more Unicode entities.
5653 * font/devdvi/*EC: Updated.
5655 * tmac/composite.tmac, tmac/latin2.tmac, tmac/latin9.tmac: New files.
5656 * tmac/latin1 (latin1-tr): Undo any previous mapping.
5657 * tmac/troffrc: Load `composite.tmac'.
5658 * tmac/Makefile.sub (NORMALFILES): Updated.
5660 * doc/groff.texinfo (Input Encodings): New section.
5663 2003-02-27 Werner LEMBERG <wl@gnu.org>
5665 * doc/texinfo.tex: New version 2003-02-11.06.
5667 * tmac/doc-common (Dt): Don't emit warning for unknown section.
5668 * tmac/groff_mdoc.man: Fix description of `Dt'.
5670 2003-02-26 Egil Kvaleberg <egil@kvaleberg.no>
5672 * font/devps/prologue.ps: Fix for included Postscript that does
5673 a setpagedevice -- which is now safely ignored.
5677 * src/devices/grops/ps.cc: Now sets the page size in the generated
5678 document. This is done in two ways: Via a %%-comment for gv and
5679 the like, and via a PageSize and setpagedevice for programs that
5680 understands Postscript proper, like ps2pdf.
5682 * src/devices/grops/ps.h: New broken-flag to avoid page size
5683 definition, if required.
5685 * src/devices/grops/grops.man: New broken-flag 16 mentioned.
5687 * doc/Makefile.in: Added -nosetpage flag (via @pnmtops_nosetpage@).
5688 Not really necessary due to the fix in prologue.ps, but cleaner:
5689 Such information does not belong in an .eps file.
5691 * doc/Makefile.sub: See doc/Makefile.in.
5693 2003-02-26 Ralph Corderoy <ralph@inputplus.co.uk>
5695 * aclocal.m4 (GROFF_PNMTOPS_NOSETPAGE): Use P2 format for testing
5696 instead of P1 since the latter is broken in some versions of netpbm.
5697 * configure: Updated.
5699 2003-02-26 Larry Kollar <kollar@alltel.net>
5701 Make man pages more customizable.
5703 * tmac/an-old.tmac (FT): New register holding footer distance from
5705 (HF): New string holding the default heading font.
5706 (TH): Handle registers `IN' and `SN' set on the command line.
5708 (PT, BT): New strings to customize header and footer lines.
5709 (an-header, an-footer): Use them.
5711 * tmac/groff_man.man: Document changes.
5713 * doc/groff.texinfo: Document man changes.
5714 Document Ultrix extensions of man.
5716 2003-02-26 Werner LEMBERG <wl@gnu.org>
5718 * src/roff/troff/input.cc (do_width, do_if_request): Reset
5719 `have_input' after changing back to old environment.
5721 * src/devices/grolbp/lbp.cc (lbp_printer::set_line_thickness): Move
5722 function up to be defined before first call. This is necessary to
5723 avoid a compilation problem with Sun's WorkShop 6 C++ compiler.
5725 * src/utils/afmtodit/afmtodit.pl: Make script search for files in
5726 the default font directory also. Based on a patch from James
5727 J. Ramsey <jjramsey_6x9eq42@yahoo.com>.
5728 * src/utils/afmtodit/Makefile.sub (afmtodit): Handle @FONTDIR@.
5729 * src/utils/afmtodit/afmtodit.man: Document it.
5733 * tmac/groff_man.man, doc/groff.texinfo: Many minor fixes.
5735 2003-02-25 Gaius Mulley <gaius@glam.ac.uk>
5737 * aclocal.m4 (GROFF_HTML_PROGRAMS): Add test for pnmtops.
5738 (GROFF_PNMTOPS_NOSETPAGE): New macro.
5739 * configure.ac: Use it.
5740 * configure: Regenerated.
5741 * Makefile.in: Updated.
5743 * tmac/Makefile.sub (NORMALFILES): Remove www.tmac.
5744 (CLEANADD): Add www.tmac-sed.
5745 (pnmtops_nosetpage): Define default.
5746 (install_data): Handle www.tmac-sed and substitute
5747 @PNMTOPS_NOSETPAGE@.
5748 (stamp-sed): Add www.tmac.
5749 * tmac/www.tmac: Rewritten, based on a patch by Bernd Warken.
5750 It now breaks URLs at suitable places.
5751 (www:substring_ok): New register set by...
5752 (www:@test_substring): New macro.
5753 (www:error): New alias to www-error.
5754 (www:lenstr, www:splitstr, www:url_breaks, www:url_breaks_splitted):
5756 (URL): Use www:url_breaks.
5757 (PIMG, MPIMG): Use @PNMTOPS_NOSETPAGE@.
5758 (CDS, CDE): New macros.
5760 2003-02-25 Werner LEMBERG <wl@gnu.org>
5762 * src/devices/grops/ps.cc (ps_printer::define_encoding): Avoid
5765 2003-02-24 Werner LEMBERG <wl@gnu.org>
5767 Contrary to the PCL5 Developer's Guide, the ascenders in TFM files
5768 can be negative also.
5770 * src/utils/hpftodit/hpftodit.cc (char_info): `ascent' must be
5772 (read_char_table): Avoid negative ascenders.
5773 (output_charset): Add cast.
5774 * font/devlj4/*: Regenerated.
5776 Replace unnamed glyphs for DVI fonts with `uXXXX' glyph names where
5779 * font/devdvi/generate/{tc,texttt,ec,texmi,texsy,textex}.map: Do it.
5780 * font/devdvi/generate/textex.map: Map glyph 23 to `u21C6' instead
5782 * font/devdvi/*: Regenerated.
5784 Map `la' and `ra' to U+27E8 and U+27E9. These two characters have
5785 normal width, while the previously used characters (U+2329 and
5786 U+232A) are classified as wide due to canonical equivalence with the
5787 CJK punctuation characters U+3008 and U+3009.
5789 * font/devutf8/R.proto: Updated.
5790 * src/roff/troff/uniglyph.cc, src/roff/troff/glyphuni.cc: Ditto.
5792 * man/groff_char.man: Simplify handling of table traps by
5793 introducing `start block' and `end block' macros.
5794 (Ns, Ne, 2s, 2e, Ds, De): New macros.
5795 (DL): Make it work with Unix troff also.
5796 Fix code values of `la' and `ra'.
5798 * tmac/dvi.tmac: Define `<>' for CW and CWI.
5800 2003-02-23 Gaius Mulley <gaius@glam.ac.uk>
5802 * src/devices/grohtml/post-html.cc (element_list::~element_list):
5803 New destructor, fixing a major memory leak.
5805 2003-02-22 Werner LEMBERG <wl@gnu.org>
5807 * font/devhtml/R.proto, font/devutf8/R.proto: Flip `*f' and `+f'
5808 to be in conformance with Unicode 3.0 and newer.
5810 * font/devlj4/generate/text.map: Add `Eu'.
5811 * font/devlj4/generate/special.map: Flip `*e' and `+e'.
5812 * font/devlj4/S: Regenerated.
5814 * man/groff_char.man: Completely rewritten.
5816 * doc/groff.texinfo: Fix description of request and macro arguments.
5818 2003-02-20 Gaius Mulley <gaius@glam.ac.uk>
5822 * src/devices/grohtml/html-table.cc (html_table::~html_table):
5823 Deallocate `columns' list.
5824 * src/devices/grohtml/post-html.cc (char_block::~char_block):
5826 (text_glob::text_glob_html, text_glob::text_glob_special,
5827 text_glob::text_glob_line, text_glob::text_glob_auto_image,
5828 text_glob::text_glob_tag): Avoid memory leaks.
5829 (text_glob::remember_table): Free memory before reassigning.
5831 2003-02-19 Werner LEMBERG <wl@gnu.org>
5833 Add glyph `+e', greek lunate epsilon symbol, and `-h' (with the
5834 alias `hbar'), the Planck constant over two pi.
5836 * font/devdvi/generate/texmi.map: Use `*e' for position 15 and
5837 `+e' for position 34.
5838 * font/devdvi/generate/texsy.map: Replace `DI' and `HE' with
5839 `u2662' and `u2661'.
5840 * font/devdvi/{MI,S}: Regenerated.
5841 * font/devhtml/R.proto, font/devutf8/R.proto: Add `+e', `-h', `hbar'.
5842 * font/devlbp/*: Add `hbar' alias.
5843 * font/devlj4/generate/special.map: Ditto.
5844 * font/devlj4/S: Regenerated.
5845 * font/devps/generate/symbolchars: Add `+e'.
5846 * font/devps/generate/textmap: Fix PS name for `-h'.
5848 * font/devps/symbolmap: Regenerated.
5850 * src/devices/grops/ps.cc (transform_fill): Removed since unused.
5852 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `+e',
5854 * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `+e',
5857 * tmac/X.tmac, tmac/ps.tmac: Provide definitions for `-h' and
5859 * tmac/tty-char.tmac: Add `+e'.
5861 2003-02-17 Werner LEMBERG <wl@gnu.org>
5863 Another round trying to really fix problems with `have_input'.
5865 * src/roff/troff/input.cc (input_stack::get): Handle `have_input'.
5866 (token::next) <'\n'>, <\'\n'>: Don't handle `have_input'.
5868 * src/devices/grotty/tty.cc (tty_printer::put_color): Fix color
5869 handling if both foreground and background colors are default.
5871 * doc/groff.texinfo (Debugging): Document .lf differences to
5874 2003-02-16 Werner LEMBERG <wl@gnu.org>
5876 * src/devices/grotty/tty.cc (tty_printer::make_rgb_string): Avoid
5877 null-bytes in created string.
5879 * src/roff/troff/input.cc (lookup_color, interpolate_macro,
5880 alias_macro, lookup_request): Improve warning messages.
5882 * src/roff/troff/node.cc (suppress_node::tprint): Use `strsave',
5884 Free `last_image_filename'.
5886 * src/preproc/html/pre-html.cc (char_block::char_block): Initialize
5888 (imageList::createPage, imageList::createImage): Use `free', not
5890 (imageItem::~imageItem): Free `imageName'.
5891 (addRegDef): Use `strsave', not `strdup'.
5892 (get_resolution): Free `pathp'.
5894 2003-02-15 Werner LEMBERG <wl@gnu.org>
5896 * src/devices/grotty/tty.cc (tty_printer::tty_printer): Fix pointer
5899 2003-02-14 Werner LEMBERG <wl@gnu.org>
5901 Add memory management for colors to deallocate unnamed colors
5904 * src/include/color.h (color): New members `free_list' and `next'.
5905 New member functions `new' and `delete'.
5907 * src/libs/libgroff/color.cc: Implement it.
5909 * src/libs/libgroff/font.cc (font::add_kern): Use integer cast
5910 for array size of new operator.
5912 * src/libs/libdriver/input.cc (IntArray::operator[]): Remove
5913 redundant comparison.
5915 * src/roff/troff/input.cc (word_space_node::reread,
5916 hmotion_node::reread): Avoid warning about unused parameter.
5917 (reset_output_registers): Remove redundant parameter.
5918 (define_color): Undo change 2003-02-12.
5920 * src/roff/troff/reg.h: Updated.
5922 * src/roff/troff/node.cc (troff_output_file::really_print_line,
5923 output_file::put_filename, real_output_file::really_put_filename,
5924 ascii_output_file::really_print_line,
5925 break_char_node::get_hyphen_list): Avoid warning about unused
5927 (suppress_node::tprint): Updated.
5929 * configure.ac: Check declaration for rand() and srand().
5930 * configure: Regenerated.
5932 * src/preproc/pic/pic.h: Declare fmod(), rand(), and srand()
5934 * src/preproc/pic/pic.y: Remove declaration of fmod(), rand(),
5937 * src/preproc/eqn/delim.cc (delim_table): Add missing initializers
5938 to avoid compiler warnings.
5940 * src/preproc/grn/hgraph.cc (HGPrintElt): Second parameter is
5943 * src/devices/grops/ps.cc (ps_printer::set_char): Last parameter
5945 * src/devices/grops/psrm.cc (skip_possible_newline): Remove first
5947 Updated all callers.
5949 * src/devices/grotty/tty.cc (tty_printer::set_char): Last parameter
5951 * src/devices/grodvi/dvi.cc (dvi_printer::set_char): Ditto.
5952 * src/devices/grolj4/lj4.cc (lj4_printer::set_char): Ditto.
5954 * src/devices/grohtml/post-html.cc (html_printer::emit_line):
5955 Parameter is unused.
5956 (html_printer::add_table_end): Define parameter conditionally.
5957 * src/devices/grohtml/output.cc (simple_output::special): Parameter
5960 * src/devices/grolbp/lbp.cc: Define _GNU_SOURCE conditionally.
5961 (lbp_printer::set_char): Last parameter is unused.
5963 * src/utils/indxbib/indxbib.cc (main): Remove redundant comparison.
5965 2003-02-13 Werner LEMBERG <wl@gnu.org>
5967 New commands \D'Fr ...', \D'Fc ...', etc. for orthogonality.
5968 Make \D'f ...' move horizontally again for backwards compatibility.
5969 Replace it with \D'Fg ...' where appropriate to avoid dependency
5970 on horizontal resolution.
5972 * src/roff/troff/input.cc (do_get_long_name): New function.
5973 (get_long_name): Call it.
5975 (read_draw_node): Handle `\D'Fx ...' by calling ...
5976 (read_color_draw_node): New function.
5978 (read_rgb, read_cmy, read_cmyk, read_gray): New optional argument
5980 Pass it to `do_get_long_name' which is used instead of
5983 * src/libs/libdriver/input.cc (color_from_Df_command): Remove
5984 unnecessary value guard.
5985 (parse_D_command) <'f'>: Add horizontal shift.
5987 * src/preproc/grn/hgraph.cc (HGPrintElt) <POLYGON>: Use \D'Fg ...'.
5988 * src/preproc/pic/troff.cc (troff_output::set_fill): Ditto.
5989 (FILL_MAX): Removed.
5991 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
5994 2003-02-12 Werner LEMBERG <wl@gnu.org>
5996 * src/roff/troff/input.cc (do_name_test, do_expr_test,
5997 do_zero_width): Push `\n' if closing delimiter is missing.
5999 (token::next) <ESCAPE_NEWLINE>, <'\n'>, <\'\n'>: Reset `have_input'.
6000 <'F'>: Make \F non-transparent at the beginning of line.
6001 (process_input_stack) <token::TOKEN_CHAR, token::TOKEN_NEWLINE,
6002 token::TOKEN_REQUEST, token::TOKEN_BEGIN_TRAP>: Don't handle
6005 (define_color): Free color in case of reassignment.
6007 * doc/groff.texinfo (@Defesc, @DefescList, @DefescItem,
6008 @DefescListEnd): Use @Var, not @var.
6011 * src/preproc/grn/hgraph.cc (HGPrintElt): Fix typo.
6013 * src/preproc/pic/object.cc (object_spec::~object_spec): Free
6014 `shaded' and `outlined' arrays.
6015 (object_spec::object_spec): Initialize `shaded' and `outlined'.
6016 (graphic_object::set_fill_color, graphic_object::set_outline_color):
6018 (closed_object::set_fill_color): Ditto.
6019 * src/preproc/pic/troff.cc (troff_output::set_color): Use strsave
6021 (troff_output::reset_color): Use a_delete instead of free.
6022 * src/preproc/pic/main.cc (do_file): Free `out' in case of error.
6024 2003-02-11 Werner LEMBERG <wl@gnu.org>
6026 * doc/groff.texinfo: Improve documentation of `ad'.
6027 Document that \D'f...' is dependent on the horizontal resolution.
6028 * man/groff_diff.man: Improve documentation of \D'f...'.
6030 * src/preproc/grn/hgraph.cc (HGPrintElt) <POLYGON>: Don't emit
6031 compensating \h'...' for \D'f ...' since the latter no longer moves
6033 * src/preproc/pic/troff.cc (troff_output::set_fill): Ditto.
6035 2003-02-10 Werner LEMBERG <wl@gnu.org>
6037 Improve error messages for `x F' (and `F') commands.
6039 * src/include/error.h: Add declaration for
6040 `current_source_filename'.
6041 * src/libs/libgroff/filename.cc: Add `current_source_filename'.
6042 * src/libs/libgroff/error.cc (do_error_with_file_and_line): Add
6043 parameter for source file string.
6044 Updated all callers.
6046 * src/libs/libdriver/input.cc: Add `current_source_filename'.
6047 (remember_source_filename): New function.
6048 (parse_x_command <'F'>, do_file <'F'>): Use it.
6050 2003-02-09 Werner LEMBERG <wl@gnu.org>
6052 Make grotty not emit warnings about unknown colors more than
6055 * src/devices/grotty/tty.cc: Include `ptable.h'.
6056 (TTY_MAX_COLORS): Removed.
6057 (DEFAULT_COLOR_IDX): Defined to -1.
6058 (glyph): Change `back_color_idx' and `fore_color_idx' to `char'.
6059 (tty_printer): Change `curr_back_idx' and `curr_fore_idx' to `char'.
6060 Change `tty_colors' to be a ptable.
6061 First arg of `put_color' is now `char'.
6062 New functions `make_rgb_string' and `tty_color'.
6063 (tty_printer::tty_printer): Use `tty_color'.
6064 (tty_printer::color_to_idx): Return value is now `char'.
6067 * src/include/color.h (color): Add `print_color' member function.
6068 * src/libs/libgroff/color.cc (color::print_color): Implement it.
6070 2003-02-08 Werner LEMBERG <wl@gnu.org>
6074 * src/devices/grops/ps.cc (ps_printer::define_encoding): Close
6077 * src/include/ptable.h (PTABLE::~PTABLE, PTABLE::define): Always
6078 assume that value has been allocated with `new[]', thus use
6079 `a_delete' for deallocation.
6081 * src/libs/libdriver/input.cc (get_integer_arg,
6082 get_possibly_int_args, parse_x_command, do_file): Use `a_delete'
6085 * src/libs/libgroff/new.cc (delete) [!COOKIE_BUG]: Define.
6086 * src/libs/libgroff/nametoindex.cc
6087 (character_indexer::named_char_index): Use `new <type>[1]'.
6089 * src/preproc/eqn/lex.cc (init_table, do_definition): Use `new
6091 * src/preproc/eqn/text.cc (set_special_char_type): Ditto.
6092 (split_text): Use `a_delete'.
6094 * src/preproc/pic/pic.y (define_label, define_variable): Use `new
6097 * src/roff/troff/env.cc (environment::choose_breakpoint): Avoid
6098 harmless memory leak.
6099 (hyphen_trie::read_patterns_file): Initialize `buf'.
6100 * src/roff/troff/node.cc (troff_output_file::troff_output_file):
6101 Initialize `current_fill_color'and `current_glyph_color'.
6102 * src/roff/troff/glyphuni.cc
6103 (glyph_to_unicode_init::glyph_to_unicode_init): Use `new <type>[1]'.
6104 * src/roff/troff/uniuni.cc
6105 (unicode_decompose_init::unicode_decompose_init): Ditto.
6106 * src/roff/troff/uniglyph.cc
6107 (unicode_to_glyph_init::unicode_to_glyph_init): Ditto.
6109 2003-01-26 Werner LEMBERG <wl@gnu.org>
6111 * src/utils/indxbib/indxbib.cc (main) [__EMX__]: Check with
6112 `access' before calling `unlink'.
6113 (do_file): Handle __EMX__.
6115 * src/include/nonposix.h: Handle __EMX__.
6117 * Makefile.in (SEP): New variable; set to @PATH_SEPARATOR@.
6118 (fontpath,tmacpath): Use it.
6120 Sorted alphabetically.
6122 * src/preproc/eqn/neqn.sh, src/roff/nroff/nroff.sh: Use
6124 * src/preproc/eqn/Makefile.sub, src/roff/nroff/Makefile.sub: Handle
6127 2003-01-27 Werner LEMBERG <wl@gnu.org>
6129 * src/libs/libgroff/strcasecmp.c, src/libs/libgroff/strncasecmp.c:
6130 New files, copied from gnulib.
6131 * src/libs/libgroff/Makefile.sub (CSRCS): Add them.
6132 * configure.ac: Updated.
6133 * configure: Regenerated.
6135 * src/include/config.hin: Regenerated.
6136 * src/include/lib.h [!HAVE_STRCASECMP]: Declare `strcasecmp'.
6137 Don't define `strcasecmp' as `strcmp'.
6138 [!HAVE_STRNCASECMP]: Declare `strncasecmp'.
6139 Dont define `strncasecmp' as `strncmp'.
6141 * src/roff/groff/pipeline.c [!HAVE_STRCASECMP, !HAVE_STRNCASECMP]:
6144 2003-01-26 Werner LEMBERG <wl@gnu.org>
6146 * src/utils/indxbib/indxbib.cc (main) [__EMX__]: Fix typo:
6149 2003-01-25 Werner LEMBERG <wl@gnu.org>
6151 * doc/groff.texinfo (Ligatures and Kerning): Mention limitations.
6153 2003-01-24 Werner LEMBERG <wl@gnu.org>
6155 Add US-english hyphenation exceptions (converted from Barbara
6156 Beeton's hyphenation exception log reports which appear irregularly
6159 * tmac/hyphen.us: Updated to latest version.
6160 * tmac/README: Updated.
6161 * tmac/hyphenex.us, tmac/hyphenex.sh: New files.
6162 * tmac/troffrc: Load `hyphenex.us'.
6163 * tmac/Makefile.sub (NORMALFILES): Add `hyphenex.us'.
6164 * doc/groff.texinfo: Updated.
6166 2003-01-23 Werner LEMBERG <wl@gnu.org>
6168 Improve hyphenation slightly. This is a first step in redesigning
6169 the hyphenation algorithm to make it more flexible (e.g. allowing
6170 kerns and ligatures between the hyphenation character and the
6171 following character -- while not used normally in English, other
6172 languages like German would benefit).
6174 * src/roff/troff/env.cc (environment::hyphenate_line): Use
6175 assertion instead of if-clause.
6176 Let `get_hyphen_list' return the number of involved characters in
6177 the hyphenation pattern instead of computing it directly (which
6178 often yields too small values).
6179 * src/roff/troff/node.h (*::get_hyphen_list): Add second parameter.
6180 * src/roff/troff/node.cc (*::get_hyphen_list): Handle new second
6183 2003-01-22 Werner LEMBERG <wl@gnu.org>
6185 Fixing a bug which caused groff to hang if the hyphenation exception
6186 dictionary tried to grow.
6188 * src/roff/troff/env.cc (hyphen_trie::insert_hyphenation,
6189 hyphen_trie::read_patterns_file, do_hyphenation_patterns_file): Use
6190 pointer to dictionary.
6192 2003-01-20 Werner LEMBERG <wl@gnu.org>
6194 * src/utils/afmtodit/afmtodit.pl: Add switch `-m' to suppress
6195 negative left italic correction.
6196 * src/utils/afmtodit/afmtodit.man: Document it.
6198 * font/devps/generate/Makefile (RFLAG): Add `-m'.
6199 * font/devps/{AB,AR,BMB,BMR,CB,CR,EURO,HB,HR,HNB,HNR,NB,NR,PB,PR,
6200 S,TB,TR,ZD,ZDR}: Regenerated with afmtodit options `-i 0 -m'.
6204 2003-01-16 Werner LEMBERG <wl@gnu.org>
6208 2003-01-16 Jörgen Grahn <jgrahn@algonet.se>
6210 * src/preproc/refer/refer.man: Mention REFER environment variable.
6212 2003-01-05 Werner LEMBERG <wl@gnu.org>
6214 Similar to \[is], the square root glyph (\[sr]) and the square root
6215 extension glyph (\[radicalex]) are now text symbols. The new
6216 mathematical versions are called \[sqrt] and \[sqrtex],
6219 * font/devX*/S: Regenerated.
6220 * font/devdvi/generate/texex.map: Rename `sr[0123]' to `sqrt[0123]'.
6221 * font/devdvi/generate/texsy.map: Rename `sr' to `sqrt'.
6222 * font/devdvi/EX, font/devdvi/S: Regenerated.
6223 * font/devhtml/R.proto, font/devutf8/R.proto: Add `sqrt'.
6224 * font/devlj4/generate/special.map: Add `sqrt'.
6225 * font/devlj4/S: Regenerated.
6226 * font/devps/generate/textmap: Add `sqrt'.
6227 * font/devps/S, font/devps/symbolmap: Regenerated.
6229 * src/preproc/eqn/sqrt.cc (SQRT_CHAR, RADICAL_EXTENSION_CHAR,
6230 SQRT_CHAIN, BAR_CHAIN): Use `sqrt*' and `sqrtex*'.
6231 * src/roff/troff/input.cc (init_charset_table): Make `sqrtex'
6232 overlap horizontally.
6234 * tmac/X.tmac, tmac/ps.tmac, tmac/lj4.tmac: Add `sqrtex'.
6235 * tmac/dvi.tmac: Add `sr', and `sqrtex'.
6238 * doc/groff.texinfo, man/groff_diff.man: Document that `radicalex'
6239 and `sqrtex' are overlapping glyphs.
6241 2003-01-04 Werner LEMBERG <wl@gnu.org>
6243 * font/devdvi/generate/texsy.map: Add `is'.
6244 * font/devps/symbolmap: Regenerated.
6245 * font/devdvi/*TC, MI, S: Regenerated.
6247 * tmac/dvi.tmac: Remove `is'.
6249 2003-01-03 Werner LEMBERG <wl@gnu.org>
6251 `is' is now a text symbol (only relevant for dvi). The math variant
6252 can be accessed with `integral'.
6254 * font/devX*/S: Regenerated.
6255 * font/devdvi/generate/texex.map: Remove `is'.
6256 * font/devdvi/EX: Updated.
6257 * font/devhtml/R.proto, font/devutf8/R.proto: Add `integral'.
6258 * font/devlj4/generate/special.map: Ditto.
6259 * font/devlj4/S: Regenerated.
6260 * font/devps/generate/textmap: Add `integral'.
6261 * font/devps/S: Regenerated.
6263 * tmac/dvi.tmac: Define `is'.
6265 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `integral'.
6267 * src/preproc/tbl/main.cc (process_format): Fix error message.
6269 2003-01-02 Werner LEMBERG <wl@gnu.org>
6271 * font/devhtml/R.proto, font/devutf8/R.proto: Add `ne' and `nc'.
6272 * font/devps/textmap: Fix entries for `ne' and `nc'.
6273 * font/devps/symbolmap: Regenerated.
6275 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list),
6276 src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `18',
6277 `38', `58', `78', `-+', `|=', `nc', `ne'.
6279 * tmac/dvi.tmac: Add `nm', `ne', `nc'.
6280 Use `schar' for `aq'.
6281 * tmac/ps.tmac, tmac/X.tmac: Add `nc' and `ne'.
6282 * tmac/ec.tmac: Add `SC' to special fonts for `CW' and `CWI'.
6283 * tmac/tty.tmac: Add `ne'.
6285 * src/roff/troff/node.cc (make_glyph_node): Test with `get_macro'
6286 for fallback glyphs.
6288 2002-12-29 Werner LEMBERG <wl@gnu.org>
6292 * font/devX*/*: Regenerated.
6293 * font/devdvi/generate/ec.map: Remove `eq'.
6294 * font/devdvi/generate/texsy.map: Make `~=' the same as `~~'.
6295 Assign `|=' to position 39.
6296 * font/devdvi/*EC, S: Regenerated.
6297 * font/devhtml/R.proto, font/devutf8/R.proto: Add `|='.
6298 * font/devlj4/generate/special.map: Make `~=' the same as `~~'.
6299 Assign `|=' to position 549.
6300 * font/devps/generate/textmap, font/devps/enerate/symbolmap: Remove
6302 Add `uni2243' for `|='.
6304 * tmac/ec.tmac: Add `eq'.
6305 * tmac/dvi.tmac: Add `=~'.
6306 * tmac/tty-char.tmac, tmac/ps.tmac, tmac/X.tmac, tmac/lbp.tmac: Add
6309 2002-12-21 Werner LEMBERG <wl@gnu.org>
6311 * font/devdvi/generate/tc.map: Remove `**'.
6312 * font/devdvi/*TC: Regenerated.
6313 * font/devhtml/R.proto, font/devutf8/R.proto: Add `18', `38', `58',
6315 * font/devutf8/NOTES: Updated.
6317 * src/roff/troff/charinfo.h (charinfo): Add `setx_macro' function.
6318 Don't give default parameter to `set_macro'.
6319 * src/roff/troff/input.cc (do_define_character): Use `setx_macro'
6320 instead of `set_macro'.
6321 (charinfo::setx_macro): Implement it.
6322 (charinfo::set_macro): Don't change `mode'.
6324 * tmac/tty.tmac: Add `18', `38', `58', `78', `<<', `>>'.
6325 * tmac/ps.tmac, tmac/X.tmac: Add `<<', `>>'.
6326 * tmac/dvi.tmac: Define `!=' with `.schar'.
6328 2002-12-20 Werner LEMBERG <wl@gnu.org>
6330 * font/devX*/S: Regenerated.
6331 * font/devdvi/generate/ec.map: Remove `pl'.
6332 * font/devdvi/generate/tc.map: Remove `mi', `14', `12', `34'.
6333 * font/devdvi/*{TC,EC}: Regenerated.
6334 * font/devhtml/R.proto: Add `-+'.
6335 Remove double entries for `rk', `lk', `lt', `rt', `rb', `lb'.
6336 * font/devlbp/*: Remove `or'.
6337 * font/devlj4/generate/special.map: Remove `or'.
6338 * font/devlj4/S: Regenerated.
6339 * font/devps/generate/textmap: Add `fiveeighths', `oneeighth',
6340 `seveneighths', `threeeighths'.
6342 Replace `minusplus' with `uni2213'.
6343 * font/devps/symbolmap: Regenerated.
6344 * font/devutf8/R.proto: Replace `shc' with unnamed glyph.
6347 * src/roff/troff/charinfo.h (charinfo): Add `is_normal' inline
6349 * src/roff/troff/node.cc (troff_output_file::put_char_width):
6350 Call glyph_color and fill_color even if tcommand_flag isn't set.
6351 (make_node, node::add_char): Check not ci->is_fallback but
6354 * tmac/lj4.tmac, tmac/lbp.tmac: Define `or'.
6355 * tmac/ec.tmac: Add .rchar entry for `f/'.
6356 Don't remove `12', `14', `34'.
6357 Define `pl' to be always roman.
6358 * tmac/ps.tmac (ps-frac, ps-frac-mono): New macros.
6359 Define `18', `38', `58', `78'.
6360 * tmac/tty.tmac: Add `-+'.
6361 * tmac/dvi.tmac: Define `f/'.
6362 (dvi-frac): Use `f/'.
6363 * tmac/X.tmac (X-frac, X-frac-mono): New macros.
6364 Define `18', `38', `58', `78'.
6366 2002-12-15 Colin Watson <cjwatson@debian.org>
6368 * contrib/pic2graph/pic2graph.sh: Add missing `;;'.
6370 2002-12-10 Werner LEMBERG <wl@gnu.org>
6372 Add glyph `tno', a textual variant of `no'.
6374 * font/devX*/*: Regenerated.
6375 * font/{devcp1047,devlatin1,devutf8,devhtml}/R.proto: Add `tno'.
6376 * font/devdvi/generate/{tc.map: Replace `no' with `tno'.
6377 * font/devdvi/generated/{texsy,textex}.map: Add `tno'.
6378 * font/devdvi/*: Regenerated.
6379 * font/devlbp/*: Add `tno'.
6380 * font/devlj4/generate/tex.map: Replace `no' with `tno'.
6381 * font/devlj4/*: Regenerated.
6382 * font/devps/generate/textmap: Replace `no' with `tno'.
6383 * font/devps/generate/symbolchars: Add `no'.
6384 * font/devps/*: Regenerated.
6386 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `tno'.
6388 * tmac/cp1047.tmac, tmac/latin1.tmac: Replace `no' with `tno'.
6389 * tmac/tty-char.tmac: Add entry for `tno' and `3d'.
6393 * tmac/dvi.tmac: Replace most `\\' with `\E'.
6394 Add definition for `sd'.
6395 * tmac/X.tmac, tmac/ps.tmac: Replace most `\\' with `\E'.
6397 * tmac/eqnrc <dvi>: Use `integral' instead of `is' glyph.
6399 2002-12-08 Werner LEMBERG <wl@gnu.org>
6401 * tmac/an-old.tmac (TH): Use integer value for `IN' if in nroff
6402 mode to avoid rounding errors.
6403 (an-do-tag, an-do-tag-html, RS, RE): Remove redundant `.br'.
6405 * src/roff/groff/groff.man, src/roff/nroff/nroff.man,
6406 src/roff/troff/troff.man: Improve documentation of -T.
6408 2002-12-07 Jeff Conrad <jeff_conrad@msn.com>
6410 * src/roff/groff/pipeline.c: Don't define `const' for _WIN32.
6411 (run_pipeline) [_WIN32]: Provide working function without `fork'.
6413 2002-12-06 Werner LEMBERG <wl@gnu.org>
6415 * font/devps/generate/freeeuro.sfd: Make dimensions of Euro.symbol
6416 glyphs compatible to Adobe's Euro fonts (scaling them down a bit).
6417 Scaling Euro.sansserif glyphs down to have the same height as
6419 Removed unnecessary points; added some extrema.
6421 * font/devps/EURO, font/devps/freeeuro.afm, font/devps/freeeuro.pfa:
6424 2002-12-04 Werner LEMBERG <wl@gnu.org>
6426 * font/devps/generate/freeeuro.sfd: Add glyphs `Euro.symbol.slanted'
6427 and `Euro.symbol.bold.slanted'.
6428 Improve some glyph offsets and widths.
6429 * font/devps/EURO, font/devps/freeeuro.afm, font/devps/freeeuro.pfa:
6431 * font/devps/generate/Makefile (freeeuro.afm freeeuro.pfa): Fix
6433 * font/devps/generate/sfdtopfa.pe: Generate PFA in current
6436 * tmac/europs.tmac: Updated to new glyph indices.
6437 Use Euro.symbol for font familiy `A'.
6439 * doc/groff.texinfo: Minor improvements.
6441 2002-12-02 Werner LEMBERG <wl@gnu.org>
6443 * font/devdvi/generate.tc.map: s/%O/%0/.
6444 * font/devdvi/*TC: Regenerated.
6446 * src/roff/troff/div.cc (init_div_requests): Sorted.
6448 * tmac/dvi.tmac: Remove `Ye'.
6449 * tmac/ec.tmac: Remove `Ye'.
6450 Add .rchar entry for `de'.
6452 * man/groff.man, man/groff_diff.man: Document register `.pe'.
6453 * doc/groff.texinfo: Document registers `.pe', `.n', and `.w'.
6456 2002-11-30 Werner LEMBERG <wl@gnu.org>
6458 Add PS font for various Euro glyphs.
6460 * font/devps/generate/freeeuro.sfd: New master font file for
6462 * font/devps/generate/sfdtopfa.pe: New conversion script for
6464 * font/devps/generate/Makefile (FONTS): Add `EURO'.
6465 (EURO, freeeuro.afm, freeeuro.pfa): New rules.
6466 * font/devps/freeeuro.pfa, font/devps/freeeuro.afm: Generated from
6468 * font/devps/EURO: Generated from `freeeuro.afm'.
6469 * font/devps/download: Add `freeuro.pfa'.
6470 * font/devps/Makefile.sub (NORMALFILES): Adde `EURO' and
6473 * tmac/europs.tmac: New file.
6474 * tmac/ps.tmac: Include `europs.tmac'.
6475 * tmac/Makefile.sub (DISTFILES): Add `europs.tmac'.
6477 2002-11-29 Werner LEMBERG <wl@gnu.org>
6479 * font/devdvi/generate/texsy.map: Remove `lh' and `rh'.
6480 * font/devdvi/S: Regenerated.
6481 * font/devhtml/R.proto: Fix `CR' and `ci'.
6483 * font/devps/generate/textmap: Fix `lh', `rh', and `sq'.
6485 * font/devps/symbolmap: Regenerated.
6486 * font/devutf8/R.proto: Fix `CR' and `ci'.
6488 * font/devutf8/NOTES: Updated.
6490 * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Fix `CR' and
6493 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Ditto.
6495 * tmac/dvi.tmac: Add `lh' and `rh'.
6496 * tmac/Xps.tmac: Fix `lh' and `rh'.
6497 * tmac/X.tmac: Add `OK'.
6498 * tmac/lj4.tmac: Ditto.
6500 2002-11-24 Werner LEMBERG <wl@gnu.org>
6502 * font/devX*/S: Regenerated.
6503 * font/devascii/R.proto, font/devcp1047/R.proto: Remove glyphs `lb',
6504 `lc', `lf', `lk', `lt', `rb', `rc', `rf', `rk', and `rt'.
6505 * font/devdvi/generate/texsy.map: Remove `or' glyph.
6506 * font/devdvi/S: Regenerated.
6507 * font/devhtml/R.proto, font/devutf8/R.proto: Add/fix glyphs
6508 `parenlefttp', `parenleftex', `parenleftbt', `parenrighttp',
6509 `parenrightex', `parenrightbt', `bracketlefttp', `bracketleftex',
6510 `bracketleftbt', `bracketrighttp', `bracketrightex',
6511 `bracketrightbt', `bracelefttp', `braceleftmid', `braceleftbt',
6512 `braceex', `braceleftex', `bracerightex', `bracerighttp',
6513 `bracerightmid', `bracerightbt', `lt', `lk', `lb', `rt', `rk',
6515 * src/roff/troff/glyphuni.cc, src/roff/troff/uniglyph.cc: Ditto.
6516 * font/devutf8/NOTES: Updated.
6517 * font/devlj4/generate/special.map: Add glyph `braceex'.
6518 * font/devlj4/S: Regenerated.
6520 * tmac/tty-char.tmac: Add glyphs `lf', `rf', `lc', and `rc'.
6522 2002-11-14 Werner LEMBERG <wl@gnu.org>
6524 * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `va'
6527 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Ditto.
6529 * doc/texinfo.tex: New version from texinfo 4.3.
6530 * doc/groff.texinfo: Updated for texinfo 4.3.
6531 Use @tie{} where appropriate.
6532 * font/devdvi/generate/ec.map: Don't include `or' and `bv'.
6533 * font/devdvi/generate/tc.map: Remove `rn'.
6534 * font/devdvi/*TC, font/devdvi/*EC: Regenerated.
6535 * font/devhtml/R.proto, font/devutf8/R.proto: Add `vA'.
6537 * font/devX100/*, font/devX100-12/*, font/devX75/*,
6538 font/devX75-12/*: Regenerated.
6540 * tmac/dvi.tmac: Add special fonts `SA' and `SB'.
6541 Use .char (again) for `br', `ul', `rn', `or', and `ru'.
6542 Improve definition of `an'.
6543 * tmac/ps.tmac: Use .char (again) for `br', `ul', `rn', `or', and
6545 * tmac/lj4.tmac: Use .char (again) for `br', `ul', `rn', and `ru'.
6546 * tmac/X.tmac: Add definition for `or'.
6547 * tmac/Xps.tmac: Undo change 2002-11-05.
6548 * tmac/lbp.tmac: Add definitions for `br', `rn', `ul', and `ru'.
6550 2002-11-11 Werner LEMBERG <wl@gnu.org>
6552 * src/roff/troff/node.cc (troff_output_file::put_char): Always
6555 2002-11-10 Werner LEMBERG <wl@gnu.org>
6557 Added three new requests `schar', `fschar', and `rfschar'. `schar'
6558 defines a glyph which is searched after the check for fonts declared
6559 with `.special' (and before the check for all mounted special
6560 fonts). `fschar' defines a glyph for a particular font which is
6561 searched after the check for fonts declared with `.fspecial' (and
6562 before the check for fonts declared with `.special'). `rfschar'
6563 removes glyphs defined with `fschar'.
6565 * src/roff/troff/token.h (char_mode): New enum.
6566 Declare do_define_character.
6567 * src/roff/troff/charinfo.h (charinfo): Replace `fallback' with
6569 (charinfo::is_fallback): Updated.
6570 (charinfo::is_special): New method.
6571 * src/roff/troff/input.cc (do_define_character): Add and use
6572 optional second parameter used as a prefix for font-specific glyph
6574 (define_character, define_fallback_character): Updated.
6575 (define_special_character): New function.
6576 (init_input_requests): Add `schar'.
6577 (charinfo::charinfo, charinfo::set_macro): Updated.
6578 * src/roff/troff/node.cc: Include `stringclass.h'.
6579 (make_glyph_node): Handle special glyphs defined with `.schar' and
6581 (define_font_special_character, remove_font_special_character): New
6583 (init_node_requests): Sorted.
6584 Add `fschar' and `rfschar'.
6585 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
6586 Document new requests.
6588 * font/devhtml/R.proto, font/devutf8/R.proto: Add `va'.
6589 * tmac/dvi.tmac: Add `va' for CW and CWI (using `.fschar').
6591 2002-11-08 Werner LEMBERG <wl@gnu.org>
6593 Added new font `SC' (cmtex10) to devdvi.
6595 * devdvi/generate/Makefile (FONTS): Add `SC'.
6597 * devdvi/generate/textex.map: New map file for cmtex.
6599 * devdvi/Makefile.sub (DEVFILES): Updated.
6600 * tmac/dvi.tmac: Add fspecial entries for SC.
6601 Add `MI', `S' and `CW' to the `special' call. Otherwise, `SC' is
6602 found before `S' since the font position of `SC' is lower due to the
6603 gaps in DESC's `font' line.
6604 * tmac/ec.tmac: Add a `special' call.
6607 * font/devhtml/R.proto: Remove double entry for `ti'.
6608 * tmac/tty.tmac: Add entries for `IJ', `ij', and `bq'.
6609 * tmac/tty-char.tmac: Remove entry for `bq'.
6610 * tmac/lbp.tmac: Add entries for `lq', `rq', `fo', `fc', and `em'.
6611 * tmac/ec.tmac: Don't remove `aq' glyph.
6612 * tmac/X.tmac: Fix entry for `em'.
6613 Add entries for `fo' and `fc'.
6614 * tmac/dvi.tmac: Add entries for `em', `en', `hy', `fo', and `fc'.
6616 * doc/groff.texinfo, man/groff.man, man/groff_diff.man: Fix
6617 documentation of `special' and `fspecial' requests.
6619 2002-11-05 Werner LEMBERG <wl@gnu.org>
6621 * font/devascii/R.proto, font/devcp1047/R.proto,
6622 font/devlatin1/R.proto: Remove entry for `.i'.
6623 * font/devdvi/generate/textt.map: Add entry for `ad'.
6624 * font/devdvi/generate/texr.map, font/devdvi/generate/texb.map,
6625 font/devdvi/generate/texi.map: Add dummy glyph name `slash@for@l'.
6626 We need this for getting kerning values to compose `/l' and `/L'.
6627 * font/devdvi: Regenerated font definition files for CM fonts.
6628 * font/devhtml/R.proto: Add entries for "'C", "'c", `IJ', and `ij'.
6629 * font/devutf8/R.proto: Ditto.
6630 Remove double entry for `ti'.
6632 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Fix entries
6633 for (groff) ligatures, `la', and `ra'.
6634 Add "'C", "'c", `IJ', and `ij'.
6635 Remove double entry for `ti'.
6636 * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Remove all
6638 Add "'C", "'c", `IJ', and `ij'.
6639 Fix entries for (groff) ligatures, `la', and `ra'.
6641 * tmac/ps.tmac (ps-achar): New macro.
6642 Define "'c" and "'C".
6643 * tmac/tty.tmac: Add entry for `.i'.
6644 * tmac/X.tmac (X-achar): New macro.
6645 Define "'c", "'C", and `:Y'.
6646 Add entries for `IJ' and `ij'.
6647 * tmac/Xps.tmac (Xps-achar): New macro.
6648 Define "'c" and "'C".
6649 Add entries for `IJ' and `ij'.
6650 * tmac/lbp.tmac (lbp-achar): New macro.
6651 Add fallback characters for all groff ligatures and many other
6653 * tmac/dvi.tmac: Fix definitions of `_' and `ul'.
6654 Add entries for `/l' and `/L'.
6655 Define "'c" and "'C".
6656 Add entries for `IJ' and `ij'.
6658 2002-11-02 Larry Kollar <kollar@alltel.net>
6660 * PROBLEMS: Document how to solve Mac OS X compilation problems.
6662 2002-11-02 Werner LEMBERG <wl@gnu.org>
6664 Adding support for composite glyphs: \[xxx yyy ...] and the
6665 `composite' request.
6667 * src/roff/troff/glyphuni.cc: New file for mapping groff glyph names
6668 to Unicode-based glyph names.
6669 * src/roff/troff/uniglyph.cc: New file for mapping Unicode-based
6670 glyph names to groff glyph names.
6671 * src/roff/troff/uniuni.cc: New file for canonically decomposing
6672 Unicode-based glyph names.
6673 * src/roff/troff/unicode.cc, src/roff/troff/unicode.h: New files
6674 for handling Unicode glyph names.
6675 * src/roff/troff/input.cc: Include unicode.h.
6676 (composite_glyph_name): New function.
6677 (token::next) <'['>: Handle Unicode glyph names and composite
6679 (composite_dictionary): New dictionary for the `composite' request.
6680 (composite_request): Implement `composite' request.
6681 (init_input_requests): Add `composite'.
6682 Alphabetically sorted.
6683 * src/roff/troff/env.cc (tabs_save, tabs_restore): Removed (already
6685 (init_env_requests): Alphabetically sorted.
6686 Removed `tas' and `tar' (already commented out).
6687 * src/roff/troff/Makefile.sub: Updated.
6689 2002-10-31 Ruslan Ermilov <ru@FreeBSD.org>
6691 * src/roff/nroff/nroff.man, src/roff/nroff/nroff.sh: Fix description
6694 2002-10-29 Werner LEMBERG <wl@gnu.org>
6696 Fix computation of .trunc register. Additionally, its value (and
6697 the value of the .ne register) is now always set before entering the
6700 * src/roff/troff/div.cc (diversion::need): Set `truncated_space' and
6701 `needed_space' before calling `space'.
6702 (top_level_diversion::space): Remove special code for 'sp before the
6704 Call `begin_page' with the discarded space as a parameter.
6705 (top_level_diversion::begin_page): Add optional parameter to set
6707 * src/roff/troff/div.h: Updated.
6709 * doc/groff.texinfo: Improve documentation of .sp, \n[.trunc], and
6712 * tmac/an-old.tmac (SH, SS, TP, IP, HP, TS): Undo change 2002-10-26.
6713 (LP): Remove superfluous call to `br'.
6714 * tmac/doc-common (doc-paragraph): Undo change 2002-10-26.
6715 * tmac/doc.tmac (Bd, Bl, doc-set-vertical-and-indent): Ditto.
6717 2002-10-26 Werner LEMBERG <wl@gnu.org>
6719 * tmac/doc-ditroff: Remove useless switch/variable -rC.
6720 (doc-setup-header): Don't set page register `%'.
6721 * tmac/doc-nroff: Remove variable `C'.
6722 (doc-setup-page-layout): Set doc-header-space to .5i unconditionally.
6723 (doc-setup-header): Don't set page register `%'.
6725 * tmac/doc-common (doc-header): Call `ns'.
6726 (doc-paragraph): Protect .sp with .br so that it survives traps
6727 possibly set by the user.
6728 * tmac/doc.tmac (Bd, Bl, doc-set-vertical-and-indent): Ditto.
6730 * tmac/doc*: Replace ' with . for consistency if no effect.
6732 2002-10-26 Werner LEMBERG <wl@gnu.org>
6734 * tmac/an-old.tmac (SH, SS, TP, IP, HP, TS): Protect .sp with .br
6735 so that it survives traps possibly set by the user.
6737 * src/roff/troff/node.cc: Fix the changes from 2002-10-23.
6738 (troff_output_file::set_font): Call flush_tbuf if necessary.
6739 (troff_output_file::fill_color, troff_output_file::glyph_color): Call
6740 flush_tbuf and do_motion only if necessary.
6741 (troff_output_file::start_special,
6742 troff_output_file::put_char_width, troff_output_file::put_char,
6743 troff_output_file::draw): Updated.
6744 (word_space_node::tprint, space_node::tprint, hmotion_node::tprint,
6745 vmotion_node::tprint): Undo change 2002-10-23.
6747 2002-10-25 Werner LEMBERG <wl@gnu.org>
6749 * tmac/www.tmac (DC): Fix case of overlapping images.
6751 2002-10-23 Werner LEMBERG <wl@gnu.org>
6753 * src/roff/troff/node.cc (troff_output_file::fill_color,
6754 troff_output_file::glyph_color): Set current color before testing
6756 (troff_output_file::put_char_width, troff_output_file::put_char,
6757 troff_output_file::draw): Don't call flush_tbuf and/or do_motion
6759 (troff_output_file::file_color, troff_output_file::glyph_color):
6761 (word_space_node::tprint, space_node::tprint, hmotion_node::tprint,
6762 vmotion_node::tprint): Move first, then call fill_color.
6764 2002-10-20 Werner LEMBERG <wl@gnu.org>
6766 * doc/groff.texinfo, man/groff_tmac.man: Document that it is not
6767 possible to use multiple main macro packages.
6769 2002-10-19 Werner LEMBERG <wl@gnu.org>
6771 * src/devices/grops/ps.cc (cmyk_flag): New global variable.
6772 (ps_printer::set_color): Set `cmyk_flag' for CMY and CMYK colors.
6773 (ps_printer::~ps_printer): Emit `%%Extensions: CMYK' if `cmyk_flag'
6775 * font/devps/prologue.ps (Fk, Ck): Enclose definitions with a
6776 `where' construction since `cmyksetcolor' is a PS Level 2 operator.
6778 2002-10-16 Werner LEMBERG <wl@gnu.org>
6780 * NEWS, doc/webpage.ms: Updated.
6782 2002-10-14 Werner LEMBERG <wl@gnu.org>
6784 * src/roff/troff/node.cc (troff_output_file::put_char_width,
6785 troff_output_file::put_char, troff_output_file::fill_color,
6786 troff_output_file::glyph_color): Handle case where color pointer
6789 2002-10-13 Ruslan Ermilov <ru@FreeBSD.org>
6791 Add the new -r option to grotty. It is similar to the -i option
6792 except it tells grotty(1) to use the `reverse video' attribute to
6793 render italic fonts.
6795 * src/devices/grotty/tty.cc (reverse_flag): New global variable.
6796 (SGR_REVERSE, SGR_NO_REVERSE): New macros.
6797 (tty_printer::make_underline, tty_printer::put_color,
6798 tty_printer::end_page): Use it.
6799 (main): Add -r switch.
6801 * src/devices/grotty/grotty.man: Document it.
6803 2002-10-11 Ruslan Ermilov <ru@FreeBSD.org>
6805 * src/roff/troff/env.cc (hyphen_trie::read_patterns_file): Add
6806 cast to `unsigned char' to properly read patterns with 8bit
6809 2002-10-08 Werner LEMBERG <wl@gnu.org>
6811 * REVISION: Increased to 2.
6814 version-control: never