1 2007-02-09 Eric S. Raymond <esr@snark.thyrsus.com>
3 * src/preproc/tbl/table.cpp, src/preproc/tbl/table.h: A try at the
4 new rule for block column allocation is now enabled by the new
5 "experimental" flag. It doesn't work right as yet; there appears
6 to be some error in the computation of 3avail, the available line
7 length. The purpose of this patch is (a) to make experimenting
8 with other formulas easy, and (b) leave the infrastructure for
9 flag 'experimental' in place for future experiments. Do not
10 document any behavior associated with this flag!
12 * src/preproc/tbl/table.cpp: New table::count_block_colums()
13 method counts columns in the table that have T{ T} entries.
14 Requires the new parent field in the table_entry class. Not
15 yet used for anything.
17 * src/preproc/tbl/table.cpp: Initializers for table_entry()
18 and all its subclasses now receive a pointer to their parent
19 table and use it to set a parent field in the instance. This
20 changes no behavior in itself, because the parent field
21 is not yet used for anything. But there are plans.
23 2007-02-08 Zhao, Yu (William) <yzhao2@alcatel-lucent.com>
25 * src/devices/grodvi/dvi.cpp (draw_dvi_printer::draw) <'e'>: Set
28 2007-02-08 Werner LEMBERG <wl@gnu.org>
30 * man/groff_out.man (offset): Make it work reliably.
32 2007-02-07 Eric S. Raymond <esr@snark.thyrsus.com>
34 * man/groff_out.man: Simplify some font changes so \fP is less
35 likely to do something surprising.
37 * man/groff_out.man: We can simplify the command macros still
38 further if we stop trying to hide structural requests inside them.
39 Also, fix some instances of \} at start of line without a dot, and
40 make some font changes explicit in strings.
42 * man/groff_out.man: Cleanup -- remove now-unneeded uses of .do and
45 * man/groff_out.man: Final step: Reduce x-command, get rid of eo/ec
46 calls and fix macros to do without them. File should now be
49 * man/groff_out.man: Fourth step: Eliminate use of eqn in favor of
50 micromotions that produce the same visual result and can be lifted
53 * man/groff_out.man: Third step: Reduce Da-comand, fix a
54 call-sequence bug in the original.
56 * man/groff_out.man: Second step: Reduce D-commmand and D-command+,
57 move font-change escapes to portable form.
59 * man/groff_out.man: First step in macro simplification; eliminate
60 list1..n, simplify .offset and .index_offset so they no longer
61 require groff-specific features or eqn (instead, use troff
62 micromotions for subscripting).
64 2007-02-06 Eric S. Raymond <esr@snark.thyrsus.com>
66 * src/preproc/eqn/eqn.man: Minor corrections.
68 * chem.man, pdfroff.man, ditroff.man, groff_diff.man, groff.man,
69 groff_out.man, groff_tmac.man, roff.man, groff.man, grog.man,
70 an-ext.tmac, groff_man.man, groff_man.n, groff_trace.man: Change
71 .UR/.UE and .MT/.ME so the start macro no longer takes a second
72 argument that is pasted to the end of the generated text. Instead,
73 the end macro takes an argument that does the same thing.
75 2007-02-05 Eric S. Raymond <esr@snark.thyrsus.com>
77 * src/preproc/eqn/lex.cpp, src/preproc/eqn/eqn.man:
78 By popular demand, make ... set three lower dots again
79 and introduce a new predefined macro 'cdots' to set
82 2007-02-05 Werner LEMBERG <wl@gnu.org>
84 * src/preproc/eqn/eqn.man: Revised.
86 * src/preproc/eqn/text.cpp (map, special_char_boc::output): Use
88 (spacing_type): Fix typo.
89 (special_to_entity): Use `const'.
90 Remove unused variable.
91 * src/preproc/eqn/other.cpp (font_box::output): Use `const'.
93 2007-02-05 Eric S. Raymond <esr@snark.thyrsus.com>
95 * src/devices/grotty/grotty.man: \m[] and \M[] aren't portable,
96 which is a shame as the effect was cute.
98 2007-02-04 Eric S. Raymond <esr@snark.thyrsus.com>
100 * man/groff_tmac.man, man/groff_diff.man: Portability conversion;
101 rip out over-elaborate macrology, use .EX/.EE and .UR/.UE where
102 possible, remove preamble declarations and macros that are no
103 longer needed. Conversion checked using the protocol described in
106 2007-02-03 Werner LEMBERG <wl@gnu.org>
108 * tmac/an-old.tmac (LP, IP, HP): Use .ns to suppress additional
111 2007-02-03 Eric S. Raymond <esr@snark.thyrsus.com>
113 * tmac/groff_man.man: Documented the extension macros, and
114 added portability advice.
116 * MORE.STUFF: More-stuff entries for doclifter and pic2plot.
119 Add support for MathML output to eqn.
121 The strategy used is very simple and relies on the fact that the box
122 models of eqn and Presentation MathML differ in only trivial ways.
123 It leaves the grammar and existing internal object structures
124 unchanged. A new global, `output_format', is defined as an
125 enumerated type with values {troff, mathml}. Most of the functions
126 and methods that emit actual output acquire a top-level conditional,
127 dispatching on this global, which has one arm for troff mode and one
128 for MathML mode. In most cases the MathML arm is drastically
131 (This strategy could be easily generalized to support other output
132 formats. TeX is a possibility that leaps to mind.)
134 The only even moderately tricky changes are in the lexer. Some of
135 the predefined macros used constructs like `up', `down', `fwd',
136 `back', and `vcenter' that have no equivalents in MathML. I
137 attacked this problem in these ways:
139 1. I eliminated three uses of `back' to compose characters in favor
140 of using equivalent groff specials `\(<<', `\(>>', and `\(<>'
141 that did not exist when these macros were written. (This will be
142 a quality improvement for troff users.)
144 2. I eliminated one use of `vcenter' by using \\(md. (Likewise...)
146 3. I then split the table of pre-definitions in three; one large
147 common table and two small troff-specific and MathML-specific
148 tables. Use of troff-only operations (up, down, back, fwd,
149 vcenter) is now confined to the former. The latter now uses
150 `size big' and drops out the explicit positioning operations,
151 counting on MathML processors to do them.
153 POTENTIAL TROUBLE SPOTS:
155 Here are notes for reviewers on places I'm not 100% sure I've done
158 * In the process of preparing the troff table, I translated three
159 definitions (dot_def, dotdot_def, and utilde def) that previously
160 used explicit \v escapes to use `up' and `down' instead. I
161 modeled the new definitions on the way `vec' and `dyad' work, but
162 it's possible I got something subtle wrong.
164 * I'm not certain the MathML implementation of font_box::output() is
165 right, because I don't quite get what the switcheroo between
166 `current_roman_font' and `old_roman_font' is supposed to
167 accomplish. It does seem to generare good MathML, though.
169 Finally, I made one purely cosmetic change in `text.cpp'; I replaced
170 with an enum some magic numbers for spacing types that I thought
171 were too ugly to live.
175 The entirety of eqn is translated when `-TMathML' is specified,
176 with the following exceptions...
178 Limitations that cannot be fixed include non-support for special,
179 up/down/fwd/back, and vcenter.
181 Limitations that might be fixable include non-support for mark and
182 lineup. I will investigate further, but if these can be implemented
183 at all it's going to be in a very complicated and nasty way.
185 The way character boxes are output means that each digit of a
186 multi-digit number gets its own <mn></mn> tag pair in the MathHTML.
187 While this is not technically wrong for Presentation MathML, it is
188 ugly and inefficient. Fixing this will require implementing a
189 little state machine in the `text.cpp' output method.
191 * src/preproc/eqn/box.cpp, src/preproc/eqn/delim.cpp,
192 src/preproc/eqn/eqn.h, src/preproc/eqn/eqn.man,
193 src/preproc/eqn/lex.cpp, src/preproc/eqn/limit.cpp,
194 src/preproc/eqn/list.cpp, src/preproc/eqn/main.cpp,
195 src/preproc/eqn/other.cpp, src/preproc/eqn/over.cpp,
196 src/preproc/eqn/pile.cpp, src/preproc/eqn/script.cpp,
197 src/preproc/eqn/sqrt.cpp, src/preproc/eqn/text.cpp,
198 src/preproc/eqn/eqn.man: MathML output mode.
202 2007-02-02 Eric S. Raymond <esr@snark.thyrsus.com>
204 * src/roff/groff/groff.man: Converted to use .SY/.OP/.YS
205 and for cross-viewer portability. Conversion checked
206 using the protocol described in tmac/TESTING-HINTS.
208 2007-02-02 Werner LEMBERG <wl@gnu.org>
210 * tmac/an-ext.tmac (ME): Don't use `\:'.
212 * contrib/chem/chem.man, contrib/groffer/roff2.man,
213 src/roff/grog/grog.man: Further refinements and normalizations.
215 2007-02-02 Eric S. Raymond <esr@snark.thyrsus.com>
217 * contrib/groffer/roff2.man, contrib/chem/chem.man,
218 src/roff/grog/grog.man: Converted to use .SY/.OP/.YS
219 and for cross-viewer portability. Conversion checked
220 using the protocol described in tmac/TESTING-HINTS.
222 2007-02-01 Eric S. Raymond <esr@thyrsus.com>
224 * tmac/TESTING-HINTS: Added.
226 2007-02-01 Eric S. Raymond <esr@thyrsus.com>
228 Enable the support for Bell archaisms on .SC, so the `-r bell'
229 switch is no longer needed to format old AT&T papers like
232 * tmac/s.tmac (.SC, .UC, .P1, .P2): Updated.
234 * tmac/groff_ms.man, doc/groff.texinfo, NEWS: Updated.
236 2007-02-01 Eric S. Raymond <esr@thyrsus.com>
238 Add some Bell labs extensions to the -ms macros.
240 * tmac/s.tmac (.SC, .UC, .P1, .P2) [bell]: New macros.
242 * tmac/groff_ms.man, doc/groff.texinfo, NEWS: Document `-r bell'.
244 2007-01-30 Werner LEMBERG <wl@gnu.org>
246 * tmac/an-ext.tmac (\n[EX]): Rename to \n[mX].
247 (\n[mH]): New register (set if grohtml is used).
248 (\n[SY]): Rename to \n[mS].
249 (\n[a]): Rename to \n[mA].
250 (\n[i]): Rename to \n[mI].
251 (mU): New auxiliary input trap macro.
252 (UR, UE): Replace stub with real definition.
254 (MT, ME): New macros.
256 (EX, EE): Don't insert vertical space.
257 Use a register to store (and restore) the current font.
259 * man/ditroff.man, man/groff_diff.man, man/roff.man: Revised, based
260 on patches from Eric Raymond.
262 * contrib/pdfmark/pdfroff.man: Updated.
264 2007-01-22 Gaius Mulley <gaius@glam.ac.uk>
266 * tmac/an-old.tmac (an-trap, HP): Make `HP' work as expected.
268 2007-01-22 Werner LEMBERG <wl@gnu.org>
270 * tmac/an-ext.tmac: Protect against being sourced twice.
271 (URL, EE): Use always two backslashes.
274 2007-01-21 Werner LEMBERG <wl@gnu.org>
276 * contrib/pdfmark/pdfroff.man: Revised, based on a patch from Eric
277 Raymond. It now uses the new macros from an-ext.tmac. This is the
278 first of a series of man patches which Eric has contributed.
280 2007-01-16 Werner LEMBERG <wl@gnu.org>
282 * tmac/an-ext.tmac: Remove code for grodvi.
284 Don't insert empty line.
285 (URL, TQ): Fix typos.
287 2007-01-14 Werner LEMBERG <wl@gnu.org>
289 * tmac/an-ext.tmac: New file, containing extension macros
290 for -man. See discussion on the groff mailing list for
291 background information.
292 * tmac/an-old.tmac: Load an-ext.tmac.
293 Decorate .ds and as with comment escapes where appropriate.
294 * tmac/Makefile.sub (NORMALFILES): Add an-ext.tmac.
296 2007-01-05 Werner LEMBERG <wl@gnu.org>
298 * src/preproc/tbl/tbl.man: Document .T# and \n[TW].
300 2007-01-04 Gaius Mulley <gaius@glam.ac.uk>
302 Make -me macros ready for grohtml.
304 * tmac/e.tmac: Load devtag.tmac.
305 (need_eo_h, need_eo_tl, need_tl): New registers.
306 (check_need_title, (x-html, )x-html, xp-html): New macros.
307 (@h, hl, ip, @p, sh, (b, (l, EQ, EN, TS, TE, PS, PE, GS, GE, r, i,
308 b, rb, bi, bx, (x, )x, xp): Adapt for use with grohtml.
309 (bp): Rename to @b only if output device is not html.
311 2007-01-01 Werner LEMBERG <wl@gnu.org>
313 * man/groff_font.man: Document empty lines.
315 * src/utils/afmtodit/afmtodit.pl: Always print a header comment at
316 the very beginning of the output.
319 * font/devps/*: Regenerate font definition files.
321 2007-01-01 Werner LEMBERG <wl@gnu.org>
323 * font/devps/generate/Makefile (AFMTODIT): Use -c flag.
325 * font/devps/*: Regenerate font definition files.
327 2006-12-31 Werner LEMBERG <wl@gnu.org>
329 * Makefile.in (oldfontdir): New variable.
330 (MDEFINES): Add $(oldfontdir).
331 (uninstall_dirs): Remove `current' link.
332 Remove $(oldfontdir).
334 * Makefile.comm (oldfontsubdir): New variable.
335 (install_dev): Install files collected in $(OLDDEVFILES) into
337 (uninstall_dev): Remove data in $(oldfontsubdir).
338 (.man.n): Handle @OLDFONTDIR@.
340 * src/devices/grodvi/grodvi.man, src/devices/grohtml/grohtml.man,
341 src/devices/grolbp/grolbp.man, src/devices/grolj4/grolj4.man,
342 src/devices/grotty/grotty.man, src/devices/xditview/gxditview.man:
343 Document GROFF_FONT_PATH.
345 * src/devices/grops/grops.man: Document GROFF_FONT_PATH and
346 old font description files.
348 * font/devps/Makefile.sub (OLDDISTFILES, OLDDEVFILES): New
351 * font/devps/old/*: New directory, holding the previous version
352 of the 35 Adobe core font description files.
354 * font/devps/*: Regenerated the 35 Adobe core fonts, using the
355 Adobe-Core35_AFMs-229.tar.bz2 bundle from ftp.dante.de.
357 * NEWS: Document font update.
359 2006-12-31 Werner LEMBERG <wl@gnu.org>
361 * font/devps/generate/Makefile (symbolsl.afm): Use $(srcdir).
363 * Makefile.comm (fonts): New (empty) target.
364 * Makefile.in (TARGETS): Add `fonts'.
366 * MANIFEST: Add `chem'.
368 * doc/groff.texinfo (Changing Fonts): Font translations with .ftr
371 2006-12-26 Werner LEMBERG <wl@gnu.org>
373 * src/preproc/grn/hdb.cpp: Include gprint.h later. From NetBSD.
375 2006-12-19 Werner LEMBERG <wl@gnu.org>
377 Add support for German. For activation, simply use -mde or -mden
378 (for traditional and new orthgraphy, respectively) as the last
381 * tmac/de.tmac, tmac/den.tmac, tmac/hyphen.det, tmac/hyphen.den,
382 tmac/hyphenex.det: New files, partly taken from CTAN.
383 * LICENSES: Updated list of hyphenation patterns.
384 * man/groff_tmac.man: Mention de.tmac and den.tmac.
387 2006-12-11 Werner LEMBERG <wl@gnu.org>
389 Support up to 32 macro arguments in pic (and up to 16 on EBCDIC
392 * src/preproc/pic/lex.cpp (ARG1): Redefine. Update all users.
393 (MAX_ARG): New macro. Use it everywhere to replace hard-coded
394 limit of 9 arguments.
395 (process_body): Handle argument numbers with more than a single
397 (interpolate_macro_with_args): Protect against exceeding number of
400 * NEWS, src/preproc/pic/pic.man, doc/pic.ms: Document it.
402 2006-12-10 Werner LEMBERG <wl@gnu.org>
404 * Makefile.in (site.exp, docheck): Commented out. Not working
406 (check): Just emit dummy message.
408 2006-12-08 Werner LEMBERG <wl@gnu.org>
410 During installation, create soft link from <version> to `current' in
413 * Makefile.comm (install): Renamed to...
415 (prefix_must_exist): Removed. Code moved to Makefile.in.
417 * Makefile.in (TARGETS): Remove `install'.
419 (install): New target which first creates the directory given by
420 --prefix, then calling `make' to do the installation, and finishing
421 with the creation of the soft link.
423 2006-11-21 Werner LEMBERG <wl@gnu.org>
425 * doc/Makefile.sub (uninstall_sub): Fix names for info files.
427 2006-11-18 Werner LEMBERG <wl@gnu.org>
429 * man/roff.man, doc/groff.texinfo: Improve history of roff, based on
430 information from Tom Van Vleck <thvv@multicians.org>.
432 2006-11-16 Werner LEMBERG <wl@gnu.org>
434 * tmac/62bit.tmac: New macro package.
435 * tmac/Makefile.sub (NORMALFILES): Add it.
438 * tmac/trace.tmac: Protect against being loaded again.
439 (nr): Always show result.
441 * doc/groff.texinfo (Input Encodings): Document latin-5.
443 * man/grof_tmac.man: Document sv, latinX, cp1047, 60bit, ec.
445 2006-11-13 Werner LEMBERG <wl@gnu.org>
447 * doc/groff.texinfo (Page Location Traps) [.wh]: Give more details
448 on negative trap positions.
450 2006-11-10 Werner LEMBERG <wl@gnu.org>
452 * Makefile.comm (.man.n): Handle @DATASUBDIR@.
454 2006-11-09 Werner LEMBERG <wl@gnu.org>
456 * INSTALL: Move information about external installation from
457 INSTALL.gen into this file.
460 * INSTALL.gen: Update to new version (from texinfo CVS).
462 2006-11-09 Bernd Warken
464 * INSTALL.gen: Extend the file by information on `external
465 installation'. Reorder the installation instruction as `normal
468 2006-11-08 Werner LEMBERG <wl@gnu.org>
470 * doc/Makefile.sub (install_data): Take care of proper paths while
471 installing info files. Bug reported by Bernd Warken.
473 2006-11-06 Bernd Warken
475 * src/roff/grog/grog.pl: Rewrite.
476 - Call by `#! /usr/bin/env perl'. That isn't replaced.
477 - Rename usage() to version().
479 - For `use strict', start all global variables with an upper case
480 character. Use `my' for all variables. Use several new variables.
482 - Add copyright to GPL and Emacs comment.
483 - Handle several `-m*' options.
484 - Fix handling of `-ms' and `-mm'. Add .TL and .NH.
485 - Allow options after file names.
486 - Allow only one `-' parameter (standard input).
487 - Add option abbreviations.
488 - Expand the usage information.
490 - Add single quote "'" as additional first character and allow
491 arbitrary space after the first character.
493 * src/roff/grog/grog.sh: Rewrite.
494 - Remove option `-e' of `sed'.
495 - Allow file names with space characters.
497 - Add copyright to GPL.
498 - Handle several `-m*' options.
499 - Fix handling of `-ms' and `-mm'. Add .TL and .NH.
500 - Allow options after file names.
501 - Allow only one `-' parameter (standard input).
502 - Add option abbreviations.
503 - Expand the usage information.
505 - Add single quote "'" as additional first character and allow
506 arbitrary space after the first character.
508 * src/roff/grog/Makefile.sub:
509 - Add copyright to GPL.
510 - Remove `grog:'. Move `grog.old:' to `grog:' in order to have a
511 fair chance to choose between the shell version and the Perl
512 version of `grog'. This is now again comparable to grog in groff
515 * src/roff/grog/grog.man: Rewrite.
516 - Move the license to GPL.
517 - New sections: OPTIONS, DETAILS, EXAMPLES, COPYING.
518 - Take over some setup and macros from `groffer'.
519 - Add information on options.
521 2006-10-28 Werner LEMBERG <wl@gnu.org>
523 * tmac/trace.tmac: Improve tracing of `.nr'.
524 Trace `.substring' also.
528 2006-10-28 Bernd Warken
530 * man/roff.man, src/roff/groff/groff.man: Add `chem', fix position
531 of groff development site, fix fonts.
533 * News: Add information on `chem' and `groffer'.
535 2006-10-26 Bernd Warken
537 * Makefile.in (OTHERDIRS, NOMAKEDIRS): Add `chem' bundle.
539 2006-10-26 Werner LEMBERG <wl@gnu.org>
541 Add `\%^' escape to handle the parameters to a macro as a string
544 * src/roff/troff/input.h (DOUBLE_QUOTE): New special character.
546 * src/roff/troff/input.cpp (input_iterator, input_stack,
547 macro_iterator): Add `space_follows_arg' member function.
548 (macro_iterator::add_arg): Add parameter to set the `space_follows'
550 (arg_list): Add member `space_follows'.
551 Update constructor and all callers.
552 (decode_args): Store discarded double quotes.
553 (interpolate_args): Handle DOUBLE_QUOTE.
555 (get_copy, token::next, composite_glyph_name): Handle DOUBLE_QUOTE.
557 * tmac/trace.tmac: Trace .nr, .ds, .ds1, .as, .as1.
559 * docs/groff.texinfo (Parameters), man/groff.man,
560 man/groff_diff.man, NEWS: Document it.
562 2006-10-24 Bernd Warken
564 * Makefile.in (NOMAKEDIRS): Add groffer subdirectories.
566 2006-10-24 Werner LEMBERG <wl@gnu.org>
568 * tmac/groff_trace.man: Mention problem with `\\\\'.
570 2006-10-23 Werner LEMBERG <wl@gnu.org>
572 * doc/groff.texinfo (Expressions): Improve documentation of `!'.
574 * tmac/trace.tmac (return): Don't call `substring'.
576 2006-09-10 Werner LEMBERG <wl@gnu.org>
578 * src/roff/troff/input.cpp (read_size): Revert previous change
581 * doc/groff.texinfo (Fractional Size Types): Clarify syntax of \s.
583 2006-09-09 Werner LEMBERG <wl@gnu.org>
585 * src/roff/troff/input.cpp (read_size): Fix `\s[-\n[.s]]' so that it
586 behave the same as `\s-[\n[.s]]' (this is, emit a warning and set
587 point size to 1). Reported by Gunnar Ritter.
588 Also catch `\s-[-...]' and friends (causing an error).
590 2006-09-06 Werner LEMBERG <wl@gnu.org>
592 * src/roff/troff/env.cpp (environment::do_break): Insert zero-width
593 space only if there is no previous space. This fixes a bug which
594 caused unwanted filling of the last line in a paragraph. Thanks to
595 Gunnar Ritter for an analysis.
597 2006-09-03 Werner LEMBERG <wl@gnu.org>
599 * src/roff/groff/groff.cpp (main): Pass -U flag to pic also.
600 Reported by Jennifer Sayers <jenjen@isu.usyd.edu.au>.
602 2006-09-01 Nick Stoughton <nick@msbit.com>
603 Werner LEMBERG <wl@gnu.org>
605 Add a request `pev' to print environment information (similar to
606 `pnr' and `ptr' to print number registers and traps).
608 * src/roff/troff/env.h (environment): Add member function print_env.
610 * src/roff/troff/env.cpp: (environment::print_env): New function to
611 print a given environment state.
612 (print_env): New global function to iterate through the
613 environments, printing each one.
614 (init_env_requests): Register `pev'.
616 * doc/groff.texinfo (Debugging), man/groff.man, man/groff_diff.man,
617 NEWS: Document `pev' request.
619 2006-09-01 Bernd Warken
621 * src/preproc/soelim/soelim.cpp (usage): Fix option argument of
624 2006-09-01 Werner LEMBERG <wl@gnu.org>
626 * src/preproc/pic/main.cpp (usage): Add missing options.
628 2006-08-25 Werner LEMBERG <wl@gnu.org>
630 * src/preproc/soelim/soelim.man: Document how to insert `\' and ` '
633 2006-08-19 Werner LEMBERG <wl@gnu.org>
635 * configure: Regenerated.
637 2006-08-18 Keith Marshall <keith.d.marshall@ntlworld.com>
639 * m4/groff.m4 (GROFF_MAKEINFO): Correct `makeinfo version testing
640 logic; it previously caused an `expr' syntax error, if no version of
641 `makinfo' was present. Also, remove dependency on `makeinfo' in VPATH
642 builds, if an up to date `groff.info' is present in either `builddir'
645 2006-08-12 Tadziu Hoffmann <hoffmann@usm.uni-muenchen.de>
647 * font/devps/prologue.ps: Add BPhook.
649 * src/devices/grops/grops.man: Document BPHook.
650 Reorder some sections for better readability.
652 2006-08-12 Werner LEMBERG <wl@gnu.org>
654 * src/include/lib.h (getlocale): New macro.
655 (setlocale, LC_ALL, LC_CTYPE) [!HAVE_SETLOCALE]: Define, as
658 * src/preproc/preconv/preconv.cpp (main): Use getlocale.
660 2006-08-11 Werner LEMBERG <wl@gnu.org>
662 Add new flag to .cflags to enable hyphenation without looking at
665 * src/roff/troff/charinfo.h (charinfo): New enumeration value
667 New member function `ignore_hcodes'.
669 * src/roff/troff/node.cpp (break_char_node::add_self,
670 node::add_char): Updated.
672 * doc/groff.texinfo, man/groff_diff.man, NEWS: Document it.
674 2006-08-09 Werner LEMBERG <wl@gnu.org>
676 Support composite Unicode characters again. Reported by Colin.
678 * font/devhtml/R.proto: Renamed to...
679 * font/devhtml/R.in: This.
681 * font/devutf8/R.proto: Renamed to...
682 * font/devutf8/R.in: This.
685 * font/make-Rproto: New script.
686 * font/devhtml/R.proto, font/devutf8/R.proto: Generated.
688 2006-07-26 Werner LEMBERG <wl@gnu.org>
690 * README: Fix description of CVS access. Reported by Joachim.
692 2006-07-11 Werner LEMBERG <wl@gnu.org>
694 Add a request `.fzoom' and a number register `.zoom' to magnify
697 * src/include/font.h (font): Add member variable `zoom'.
698 Add member functions `set_zoom' and `get_zoom'.
699 Remove `static' attribute from `scale' member function.
701 * src/libs/libgroff/font.cpp (font::font): Updated.
702 (scale_round): New version with three parameters to handle zoom
704 (font::scale, font::get_width): Handle zoom factor.
705 (font::set_zoom, font::get_zoom): New functions.
706 (font::load): Handle `zoom' while computing `space_width'.
708 * src/roff/troff/env.h: Declare `env_get_zoom'.
709 (environment): Add member function `get_zoom'.
711 * src/roff/troff/env.cpp (environment::get_zoom): New function.
712 (init_env_requests): Initialize `.zoom' register.
714 * src/roff/troff/node.cpp (font_info): New member functions
715 `set_zoom' and `get_zoom'.
716 (tfont): New member function `get_zoom'.
717 (env_get_zoom): New function.
718 (troff_output_file::set_font): Handle zoom factor.
719 (font_zoom_request): New function.
720 (init_node_requests): Initialize `fzoom' request.
722 * docs/groff.texinfo (Changing Fonts), man/groff.man,
723 man/groff_diff.man, NEWS: Document `fzoom' request and `.zoom'
726 * src/roff/troff/TODO: Updated.
728 2006-07-10 Werner LEMBERG <wl@gnu.org>
730 * doc/groff.texinfo (Drawing Requests): Improve documentation of
733 2006-07-02 Werner LEMBERG <wl@gnu.org>
735 * man/groff_tmac.man: Document usage of .PSPIC within diversions.
737 2006-07-01 Werner LEMBERG <wl@gnu.org>
739 * tmac/pspic.tmac: Make .PSPIC work for all devices.
740 Print image file name for devices which don't support PS image
742 Handle multiple inclusions.
743 Add lots of comments.
745 * tmac/dvi.tmac, tmac/html.tmac, tmac/ps.tmac: Don't load
748 * tmac/troffrc: Load pspic.tmac.
750 * man/groff_tmac.man: Update .PSPIC documentation.
754 2006-06-29 Werner LEMBERG <wl@gnu.org>
756 * src/roff/troff/input.cpp (interpolate_macro):
757 s/probably/possibly/, as suggested by Keith.
759 2006-06-28 Werner LEMBERG <wl@gnu.org>
761 Add support for \D'p...' to grotty.
763 * src/devices/grotty/grotty.cpp (tty_printer::draw): Move most of
765 (tty_printer::line): This function.
766 (tty_printer::draw): Rewritten; just call either draw_line or
768 (tty_printer::draw_line, tty_printer::draw_polygon): New functions.
770 * src/devices/grotty/grotty.man, NEWS: Document it.
772 2006-06-27 Werner LEMBERG <wl@gnu.org>
774 * src/preproc/refer/command.h (have_bibliography): New variable
777 * src/preproc/refer/command.cpp (bibliography_command): Set
780 * src/preproc/refer/refer.cpp: Initialize `have_bibliography'.
781 (output_references): Emit warning only if `have_bibliography' is
784 2006-06-15 Michail Vidiassov <master@iaas.msu.ru>
786 * fonts/devps/Makefile.sub (DISTFILES): Add freeeuro.afm.
787 * fonts/devps/generate/Makefile (clean): Don't remove symbolsl.afm
790 2006-06-15 Werner LEMBERG <wl@gnu.org>
792 * src/preproc/tbl/tbl.man: Document limitations of .TS/.TE within a
793 macro (as suggested by Tadziu Hoffmann).
795 2006-06-12 Werner LEMBERG <wl@gnu.org>
797 * src/preproc/tbl/tbl.man: Add example for use of .TS/.TE within a
798 macro (as suggested by Tadziu Hoffmann).
800 2006-06-05 Werner LEMBERG <wl@gnu.org>
802 * tmac/strip.sed: Strip `\#' also.
804 * doc/groff.texinfo (Operators in Conditionals): Document usage of
805 \? for string comparison.
807 2006-06-04 Werner LEMBERG <wl@gnu.org>
809 * doc/groff.texinfo: Add more index entries for copy-in mode.
810 (Changing Fonts) <.ft>: Document that a font definition file must
811 not be called `DESC'.
813 2006-05-31 Werner LEMBERG <wl@gnu.org>
815 * src/roff/troff/input.cpp (token::next) <\N>: Catch negative values
818 * doc/Makefile.sub (EXAMPLEFILES): Move gnu.eps to...
819 (PROCESSEDEXAMPLEFILES): Here.
821 2006-05-30 Werner LEMBERG <wl@gnu.org>
823 * src/libs/libgroff/font.cpp (font::load): Reject fonts called
825 Reduce number of false positives for `.if F ...' conditionals.
826 Improve warning messages.
828 2006-05-29 Werner LEMBERG <wl@gnu.org>
830 * tmac/Makefile.sub: Add copyright notice.
831 (NORMALFILES): Add man.tmac and ms.tmac.
832 (SPECIALFILES): Remove man.tmac and ms.tmac.
833 (CLEANADD): Remove man.tmac-sed and ms.tmac-sed.
834 (install_data, uninstall_sub): Don't handle man.tmac and ms.tmac
836 (stamp-sed): Don't handle man.tmac and ms.tmac.
837 Remove obsolete components in sed's regexp.
839 * doc/Makefile.sub (EXAMPLEFILES): Add gnu.eps.
841 * Makefile.in (OTHERDIRS, NOMAKEDIRS): Add hdtbl.
843 2006-05-28 Werner LEMBERG <wl@gnu.org>
845 * doc/groff.texinfo (History): Correct death circumstances of Joe
848 2006-05-27 Werner LEMBERG <wl@gnu.org>
850 * tmac/an-old.tmac (an-do-tag): Simplify.
852 2006-05-26 Werner LEMBERG <wl@gnu.org>
854 * tmac/an-old.tmac (an-do-tag): Make margin characters work.
855 (an-header, an-p-footer): Use named environment.
857 * src/roff/troff/env.cpp (environment::copy): Copy margin character
860 2006-05-21 Werner LEMBERG <wl@gnu.org>
862 * tmac/trace.tmac (de1): Fix serious typo (.di -> .do) and minor
865 2006-05-11 Keith Marshall <keith.d.marshall@ntlworld.com>
867 * src/roff/groff/groff.man: Remove superfluous word `intermediate'.
869 2006-05-10 Keith Marshall <keith.d.marshall@ntlworld.com>
871 * src/roff/groff/groff.man: Update copyright notice.
872 Improved wording to describe effect of `-Z' option.
874 2006-05-06 Werner LEMBERG <wl@gnu.org>
876 * tmac/www.tmac: Decorate `.ds' with trailing `\"' where missing.
877 Normalize handling of `"' in arguments.
878 (PIMG): Remove debug message.
881 2006-05-05 Werner LEMBERG <wl@gnu.org>
883 * src/devices/grohtml/post-html.cpp (page::add_and_encode): Don't
884 swallow character immediately after `\[...]'.
887 2006-05-02 Gaius Mulley <gaius@glam.ac.uk>
889 * tmac/www.tmac (PIMG): Fix the HTML device specific components.
891 2006-05-02 Larry Kollar <kollar@alltel.net>
893 * tmac/www.tmac (PIMG): Really default to `-C' if the alignment
896 2006-04-30 Michail Vidiassov <master@iaas.msu.ru>
898 * src/utils/afmtodit/afmtodit.pl: New option `-c' to add font
899 information as a comment in output.
900 * src/utils/afmtodit/afmtodit.man, NEWS: Document it.
902 2006-04-26 Werner LEMBERG <wl@gnu.org>
904 * src/devices/grohtml/post-html.cpp (html_printer::~html_printer):
905 Handle current_paragraph only if it is non-NULL.
907 * src/libs/libdriver/input.cpp (parse_x_command <'F'>, do_file
908 <'F'>): Use `get_extended_arg' to behave as documented. Reported by
909 Bill Ward <william.a.ward.jr@erdc.usace.army.mil>.
912 Surround the (pseudo) file name for the .pso request with `<' and
915 * src/roff/troff/node.cpp (real_output_file, troff_output_file): Add
916 second parameter to `really_put_filename' and `put_filename'.
917 (troff_output_file::really_put_filename): Emit `<' and `>' around
918 filename if second argument is set.
919 * src/roff/troff/node.h: Updated.
921 * src/roff/troff/input.cpp (file_iterator::file_iterator,
922 file_iterator::set_location): Update to changes in node.cpp.
924 2006-04-25 Tetsurou Okazaki <okazaki@FreeBSD.org>
926 * src/preproc/preconv/preconv.cpp (do_file): Fix conditional
927 preprocessor expression (I18N -> HAVE_ICONV).
928 (main): Fix handling of option `-h'.
929 Fix conditional preprocessor expression.
931 2006-04-04 Werner LEMBERG <wl@gnu.org>
933 Implement new number register `.br' which is set to 1 if a macro has
934 been called as .foo and to 0 if called as 'bar. This is useful for
935 -mtrace so that requests can be reliably traced too.
937 * src/roff/troff/input.cpp (input_iterator): Add virtual function
939 (macro_iterator): Add `with_break' member and `get_break_flag'
942 (input_stack): Add function `get_break_flag'.
943 (break_flag_reg): New number register class.
944 (input_init_requests): Register `.br'.
946 * src/roff/troff/TODO: Updated.
948 * tmac/trace.tmac: s/!!sp/!!!sp/.
949 Modify definitions of `de', `de1', `am', and `am1' to use \n[.br].
951 * docs/groff.texinfo (Requests), man/groff.man, man/groff_diff.man,
954 2006-03-29 Werner LEMBERG <wl@gnu.org>
956 * src/devices/grops/ps.cpp: s/must not/should not/ in warning
957 messages where appropriate.
959 2006-03-28 Werner LEMBERG <wl@gnu.org>
961 * configure.ac: Call AC_PROG_EGREP.
962 * configure: Regenerated.
964 * Makefile.in (EGREP): New variable.
965 (MDEFINES): Add $(EGREP).
967 * src/roff/grog/grog.sh: Treat .TH between .TS and .TE properly
968 (bug reported by Robert Goulding <Goulding.2@nd.edu>).
971 * src/roff/grog/Makefile.sub (grog, grog.old): Use $(EGREP).
973 2006-03-27 Werner LEMBERG <wl@gnu.org>
975 Add two requests `.device' and `.devicem' which are equivalent to
976 `\X' and `\Y', respectively.
978 * src/roff/troff/input.cpp (device_request, device_macro_request):
980 (init_input_requests): Register them.
982 * doc/groff.texinfo (Postprocessor Access), man/groff_diff.man,
983 man/groff.man, NEWS: Document them.
985 2006-03-27 Gaius Mulley <gaius@glam.ac.uk>
987 * src/roff/troff/input.cpp (encode_char): Emit special characters
988 for -Thtml as `\[...]'.
989 * src/devices/grohtml/post-html.cpp (page::add_and_encode): Updated.
991 * doc/groff.texinfo (Postprocessor Access) <\X>: Updated.
993 2006-03-27 Werner LEMBERG <wl@gnu.org>
995 * tmac/Makefile.sub (NORMALFILES, SPECIALFILES): Add various missing
998 2006-03-26 Werner LEMBERG <wl@gnu.org>
1000 * doc/groff.texinfo (Writing Macros): More documentation on
1001 end-of-macro symbol of `.de'.
1002 (Diversions): Minor addition to `.di' description.
1004 * src/devices/grops/grops.man: Some clarifications regarding
1005 insertion of PostScript snippets.
1007 2006-03-25 Michail Vidiassov <master@iaas.msu.ru>
1009 Add rules to generate `symbolsl.afm'.
1011 * fonts/devps/generate/zapfdr.sed,
1012 fonts/devps/generate/symbolsl.awk: New files.
1014 * fonts/devps/generate/Makefile (symbolfont, PRINTAFM): New
1016 (SS, clean): Updated.
1017 (freeeuro.afm): Use $(srcdir).
1018 (symbolsl.afm): New rule.
1019 (zapfdr.afm): Use zapfdr.sed.
1021 2006-03-22 Dwight Aplevich <aplevich@uwaterloo.ca>
1023 * src/preproc/pic/pic.y (expr <INT>): Fix code.
1025 2006-03-22 Jörgen Grahn <jgrahn@algonet.se>
1027 * tmac/sv.tmac: Add missing translations and activate support for
1028 other macro packages.
1030 2006-03-21 Francis GUDIN <fgudin@nerim.net>
1032 * tmac/doc-syms (Dx): New macro to identify DragonFly.
1033 (doc-str-St--ieee1275-94, doc-str-St--isoC-amd1,
1034 doc-str-St--isoC-tcor1, doc-str-St--isoC-tcor2): New standard
1036 (doc-operating-system-FreeBSD-5.5, doc-operating-system-FreeBSD-7.0,
1037 doc-operating-system-NetBSD-1.6.3, doc-operating-system-NetBSD-4.0
1038 doc-operating-system-DragonFly-*): New operating system strings.
1040 * tmac/groff_mdoc.man, NEWS: Document `Dx'.
1042 2006-03-21 Werner LEMBERG <wl@gnu.org>
1044 * src/preproc/pic/pic.y (object_spec THEN): For compatibility with
1045 both DWB pic and dpic, make
1053 line right then down;
1060 * doc/pic.ms: Document this.
1062 2006-03-20 Werner LEMBERG <wl@gnu.org>
1064 * doc/pic.ms: With permission of Eric Raymond, put it under the
1069 2006-03-19 Werner LEMBERG <wl@gnu.org>
1071 * src/preproc/pic/pic.y (expr <INT>): Really return integer part.
1073 * src/preproc/pic/objects.cpp (object_spec::make_line): Handle `at'
1074 attribute in combination with `with'. Bug reported by Jennifer
1075 Sayers <jenjen@mail.usyd.edu.au>.
1077 2006-03-19 Miklos Somogyi <msom@netspace.net.au>
1079 * doc/groff.texinfo (Manipulating Spacing): Improve documentation of
1082 2006-03-18 Werner LEMBERG <wl@gnu.org>
1084 * LICENSE: Renamed to...
1085 * LICENSES: This. Collect all licensing information in this file.
1086 * tmac/README, src/libs/snprintf/README: Removed.
1088 * src/devices/grops/grops.man: Add section how to install fonts.
1090 * src/utils/xtotroff/xtotroff.c: Add GPL.
1092 2006-03-17 Werner LEMBERG <wl@gnu.org>
1094 * Makefile.comm (.y.cpp): Fix #line arguments in output.
1096 2006-03-13 Werner LEMBERG <wl@gnu.org>
1098 * src/preproc/tbl/tbl.man: Mention default length of text blocks.
1100 * tmac/doc-common (Os): Add more Darwin versions.
1101 * tmac/groff_mdoc.man: Document them.
1103 * doc/groff.texinfo (Operators in Conditionals): Mention that `c'
1104 works with \N'...' also.
1105 * man/groff_diff.man: Ditto. Remove use of future tense where
1108 2006-03-12 Michail Vidiassov <master@iaas.msu.ru>
1110 * fonts/devps/generate/make-zapfdr, fonts/devps/symbolsl.ps,
1111 fonts/devps/zapfdr.ps: Add `%%EndComments' line.
1113 2006-03-10 Larry Kollar <kollar@alltel.net>
1115 * doc/groff.texinfo (Headers and footers): Document PT, HD, and BT.
1117 2006-03-10 Werner LEMBERG <wl@gnu.org>
1119 * src/devices/grops/ps.cpp (ps_printer::do_exec, ps_printer::do_def,
1120 ps_printer::do_mdef): Overlong lines now cause a warning message,
1123 2006-03-09 Werner LEMBERG <wl@gnu.org>
1125 * font/devps/generate/make-zapfdr: New script for generating
1128 2006-03-08 Werner LEMBERG <wl@gnu.org>
1130 * doc/groff.css (pre): Fix `background-color' value.
1132 2006-03-04 Larry Kollar <kollar@alltel.net>
1134 * tmac/groff_ms.man: Document PT, HD, and BT.
1136 2006-03-04 Werner LEMBERG <wl@gnu.org>
1138 * src/roff/troff/node.cpp (make_glyph_node): Improve warning message
1139 for single-letter glyph names.
1141 2006-03-02 Werner LEMBERG <wl@gnu.org>
1143 * tmac/sv.tmac: New file; currently holding only the Swedish strings
1145 * tmac/hyphen.sv: New hyphenation pattern file for Swedish, taken
1147 * tmac/README: Updated.
1149 2006-02-27 Werner LEMBERG <wl@gnu.org>
1151 * tmac/trans.tmac (Liec, Letdate, Letns!14): Add it (for -mm).
1152 * tmac/fr.tmac: Add French translations.
1154 * tmac/composite.tmac: Add entry for `:'.
1156 2006-02-26 Werner LEMBERG <wl@gnu.org>
1158 * doc/Makefile.sub (HTMLEXAMPLEFILESALL): New variable.
1160 (install_html, uninstall_sub): Updated.
1162 2006-02-26 Bruno Haible <bruno@clisp.org>
1164 Introduce Unicode fonts.
1166 * font/devhtml/DESC.proto: Mark as unicode.
1167 * font/devhtml/R.proto: Remove all charset entries that are already
1169 * font/devutf8/DESC.proto: Mark as unicode.
1170 * font/devutf8/R.proto: Remove all charset entries.
1171 * src/include/font.h (font): New static field `is_unicode'.
1172 Change order of fields.
1173 * src/libs/libgroff/font.cpp: Include unicode.h.
1174 (font::font): Update for changed order of fields.
1175 (font::contains, font::get_width, font::get_height, font::get_depth,
1176 font::get_italic_correction, font::get_left_italic_correction,
1177 font::get_subscript_correction, font::get_character_type,
1178 font::get_code, font::get_special_device_encoding): Handle both the
1179 explicitly enumerated glyphs and use general code for Unicode fonts.
1180 (font::load): Make the charset section optional when the font is
1182 (font::load_desc): Recognize the `unicode' attribute.
1183 * src/libs/libgroff/fontfile.cpp (font::is_unicode): New variable.
1185 2006-02-26 Claudio Fontana <claudio@gnu.org>
1187 * Makefile.in: Add comment about DESTDIR.
1189 * Makefile.sub: Add DESTDIR to install and uninstall targets
1190 to support staged installations.
1191 * Makefile.comm: Likewise.
1192 * doc/Makefile.sub: Likewise.
1193 * contrib/eqn2graph/Makefile.sub: Likewise.
1194 * contrib/gdiffmk/Makefile.sub: Likewise.
1195 * contrib/grap2graph/Makefile.sub: Likewise.
1196 * contrib/pic2graph/Makefile.sub: Likewise.
1197 * src/devices/xditview/Makefile.sub: Likewise.
1198 * src/preproc/eqn/Makefile.sub: Likewise.
1199 * src/roff/grog/Makefile.sub: Likewise.
1200 * src/roff/nroff/Makefile.sub: Likewise.
1201 * src/utils/afmtodit/Makefile.sub: Likewise.
1202 * src/utils/indxbib/Makefile.sub: Likewise.
1203 * tmac/Makefile.sub: Likewise.
1205 2006-02-24 Werner LEMBERG <wl@gnu.org>
1207 * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list): Use entry
1209 Remove commented out entries for \' and \` (there are no such glyph
1212 * src/libs/libgroff/uniglyph.cpp (unicode_to_glyph_list): Remove
1213 commented out entries for \' and \`.
1216 * */*: s/legal/valid/ where appropriate.
1218 2006-06-23 Werner LEMBERG <wl@gnu.org>
1220 * font/devhtml/R.proto, font/devutf8/R.proto: Remove incorrect \'
1223 2006-02-22 Werner LEMBERG <wl@gnu.org>
1225 Remove all remaining traces from the `shc' glyph.
1227 * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list),
1228 src/libs/libgroff/uniglyph.cpp (unicode_to_glyph_list): Remove
1231 * font/devlatin1/R.proto, font/devcp1046/R.proto: Replace `shc'
1232 entry with unnamed glyph.
1234 * tmac/html/tmac: Remove `shc' entry from call to `.cflags'.
1236 * src/preproc/preconv/preconv.cpp (unicode_entity): Handle U+00AD
1239 2006-02-22 Bruno Haible <bruno@clisp.org>
1241 Concretize the `glyph' datatype.
1243 * src/include/font.h (glyph): Remove class.
1244 (glyph): Renamed from struct `glyphinfo'.
1245 (glyph_to_index): New inline function.
1246 (glyph_to_name): Make extern, not inline.
1247 (glyph_to_number): Update.
1248 (font): Use `glyph *' instead of `glyph'.
1250 * src/libs/libgroff/nametoindex.cpp (charinfo): Inherit from class
1251 `glyph'. Make `name' field public.
1252 (character_indexer, number_to_glyph, name_to_glyph): Use `glyph *'
1254 (glyph_to_name): Renamed from `glyph::glyph_name'.
1256 * src/roff/troff/charinfo.h (charinfo): Inherit from class `glyph'.
1257 Use `glyph *' instead of `glyph'.
1259 * src/roff/troff/input.cpp (name_to_glyph, number_to_glyph): Use
1260 `glyph *' instead of `glyph'.
1261 (glyph_to_name): Renamed from `glyph::glyph_name'.
1263 * src/libs/libgroff/font.cpp: Use `glyph *' instead of `glyph',
1264 and `glyph_to_index' instead of `glyph::glyph_index'.
1266 * src/include/printer.h (printer): Use `glyph *' instead of `glyph'.
1267 * src/libs/libdriver/printer.cpp: Likewise.
1268 * src/devices/grodvi/dvi.cpp: Likewise.
1269 * src/devices/grohtml/post-html.cpp: Likewise.
1270 * src/devices/grolbp/lbp.cpp: Likewise.
1271 * src/devices/grolj4/lj4.cpp: Likewise.
1272 * src/devices/grops/ps.cpp: Likewise.
1273 * src/devices/grotty/tty.cpp: Likewise.
1275 2006-02-22 Werner LEMBERG <wl@gnu.org>
1277 * font/devdvi/generate/tc.map: Add `sr' glyph.
1278 * font/devdvi/*TC: Regenerated.
1280 * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list): Use entry
1283 2006-02-21 Werner LEMBERG <wl@gnu.org>
1285 * man/groff_char.man: Explain `***' marker.
1287 2006-02-17 Bruno Haible <bruno@clisp.org>
1289 * src/libs/libgroff/nametoindex.cpp (character_indexer): Rename
1290 methods and fields from *_index to *_glyph.
1291 (character_indexer::named_char_glyph): Test for `charNNN' name
1293 (name_to_glyph): ... not here.
1295 2006-02-17 Bruno Haible <bruno@clisp.org>
1297 * src/include/font.h (name_to_glyph): Renamed from
1298 font::name_to_index.
1299 (number_to_glyph): Renamed from font::number_to_index.
1300 (glyph_to_name): Renamed from font::index_to_name.
1301 (glyph_to_number): Renamed from font::index_to_number.
1302 * src/libs/libgroff/nametoindex.cpp: Likewise.
1303 * src/roff/troff/charinfo.h (charinfo::as_glyph): Renamed from
1304 charinfo::get_index.
1306 * src/roff/troff/input.cpp: All callers changed.
1307 * src/roff/troff/node.cpp: Likewise.
1308 * src/libs/libgroff/font.cpp: Likewise.
1309 * src/devices/grops/ps.cpp: Likewise.
1310 * src/devices/grohtml/post-html.cpp: Likewise.
1311 * src/libs/libdriver/printer.cpp: Likewise.
1313 2006-02-17 Werner LEMBERG <wl@gnu.org>
1315 * src/include/ptable.h, src/include/itable.h
1316 (NEXT_PTABLE_SIZE_DEFINED): Use it to avoid multiple declaration
1317 of external symbol `next_ptable_size' (used by both header files).
1319 2006-02-15 Bruno Haible <bruno@clisp.org>
1321 * src/include/font.h (glyphinfo): New class.
1322 (glyph): Change internal representation.
1323 Change constructor signature.
1324 New method glyph::glyph_number().
1325 (glyph::glyph, glyph glyph::undefined_glyph, glyph::glyph_index,
1326 glyph::operator==, glyph::operator!=): Update.
1327 (font::index_to_name, font::index_to_number): New functions.
1329 * src/include/itable.h: New file, based on src/include/ptable.h.
1331 * src/libs/libgroff/nametoindex.cpp: Include itable.h.
1332 (class charinfo): New class.
1333 (class character_indexer): Change table result type from `int' to
1335 Add table with integer key.
1336 (character_indexer::character_indexer): Update.
1337 (character_indexer::ascii_char_index): Update.
1338 (character_indexer::numbered_char_index): Use NULL as name, not a
1339 string starting with a space.
1340 (character_indexer::named_char_index): Update.
1341 (font::number_to_index, font::name_to_index): Remove no-op cast.
1342 (glyph::glyph_name): New method.
1343 * src/roff/troff/charinfo.h (class charinfo): Inherit from class
1345 (NUMBERED): Remove flag bit.
1346 (charinfo::numbered, charinfo::get_index): Update.
1348 * src/roff/troff/input.cpp (charinfo::charinfo): Update.
1349 (charinfo::set_number, charinfo::get_number): Update.
1350 (glyph::glyph_name): New method.
1352 2006-02-15 Werner LEMBERG <wl@gnu.org>
1354 * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list): Fix
1355 entries for `>>', `<<', `*f', and `+f'. Reported by Bruno.
1357 2006-02-13 Werner LEMBERG <wl@gnu.org>
1359 * font/devps/prologue.ps (RE): Check `UniqueID' also, similar to
1362 2006-02-11 Werner LEMBERG <wl@gnu.org>
1364 * src/include/font.h: s/glyph_t/glyph/.
1367 * src/devices/grotty/tty.cpp: s/glyph/tty_glyph/.
1368 s/output_character_t/output_character/.
1370 2006-02-11 Bruno Haible <bruno@clisp.org>
1372 New accessor method glyph_t::glyph_name().
1374 * src/include/ptable.h (declare_ptable): Add a return value to the
1375 `define' method, and declare a `lookupassoc' method.
1376 (implement_ptable): Return the stored key in `define'. Implement
1378 * src/include/font.h (glyph_t): Add `name' field. Add an argument
1380 (glyph_t::glyph_name): New method.
1382 * src/libs/libgroff/nametoindex.cpp (character_indexer): Change
1383 return type of methods and field member type to glyph_t.
1384 (character_indexer::character_indexer): Update.
1385 (character_indexer::ascii_char_index): Allocate a name for the
1387 Return a glyph_t with name.
1388 (character_indexer::numbered_char_index): Return a glyph_t without a
1390 (character_indexer::named_char_index): Return a glyph_t with a name.
1391 (font::number_to_index, font::name_to_index): Update.
1393 * src/roff/troff/input.cpp (charinfo::charinfo): Use the symbol as
1396 2006-02-11 Bruno Haible <bruno@clisp.org>
1398 * src/devices/grotty/tty.cpp (output_character_t): New type.
1399 (tty_printer::make_bold, tty_printer::add_char,
1400 tty_printer::put_char): Change argument type to output_character_t.
1401 (crossings): Change element type to output_character_t.
1403 2006-02-11 Bruno Haible <bruno@clisp.org>
1405 Make the glyph data type abstract.
1407 * src/include/font.h (glyph_t): New class.
1408 (name_to_index, number_to_index): Change return type to glyph_t.
1409 (font::contains, font::get_width, font::get_height, font::get_depth,
1410 font::get_character_type, font::get_kern, font::get_skew,
1411 font::get_italic_correction, font::get_left_italic_correction,
1412 font::get_subscript_correction, font::get_code,
1413 font::get_special_device_encoding, font::add_entry,
1414 font::copy_entry, font::add_kern, font::hash_kern): Change argument
1417 * src/libs/libgroff/font.cpp (font_kern_list): Change members
1418 type and constructor argument types to glyph_t.
1419 (font::contains, font::get_width, font::get_height, font::get_depth,
1420 font::get_character_type, font::get_kern, font::get_skew,
1421 font::get_italic_correction, font::get_left_italic_correction,
1422 font::get_subscript_correction, font::get_code,
1423 font::get_special_device_encoding, font::add_entry,
1424 font::copy_entry, font::add_kern, font::hash_kern): Change argument
1426 (font::load): Use glyph_t variables.
1428 * src/libs/libgroff/nametoindex.cpp (name_to_index,
1429 number_to_index): Change return type to glyph_t.
1431 * src/roff/troff/charinfo.h (charinfo::index): Change type to
1433 (charinfo::get_index): Change return type to glyph_t.
1435 * src/roff/troff/env.cpp: Include font.h.
1437 * src/roff/troff/node.cpp: Include font.h before charinfo.h.
1439 * src/roff/troff/input.cpp: Include font.h before charinfo.h.
1440 (charinfo::charinfo): Update.
1441 (name_to_index, number_to_index): Change return type to glyph_t.
1443 * src/include/printer.h (printer::set_char_and_width): Change return
1446 * src/libs/libdriver/printer.cpp (printer::set_char_and_width):
1447 Change return type to glyph_t.
1449 * src/devices/grodvi/dvi.cpp (dvi_printer::set_char): Change
1450 argument type to glyph_t.
1452 * src/devices/grohtml/post-html.cpp (page::add_and_encode): Update.
1453 (html_printer::space_glyph): Renamed from space_char_index.
1454 (html_printer::add_to_sbuf, html_printer::sbuf_continuation,
1455 html_printer::overstrike, html_printer::set_char): Change argument
1457 (html_printer::set_char_and_width): Change return type to glyph_t.
1459 * src/devices/grolbp/lbp.cpp (lbp_printer::set_char): Change
1460 argument type to glyph_t.
1462 * src/devices/grolj4/lj4.cpp (lj4_printer::set_char): Change
1463 argument type to glyph_t.
1465 * src/devices/grops/ps.cpp (ps_printer::space_glyph): Renamed from
1467 (ps_printer::set_subencoding, ps_printer::set_char): Change argument
1470 * src/devices/grotty/tty.cpp (tty_printer::set_char): Change
1471 argument type to glyph_t.
1473 2006-02-11 Bruno Haible <bruno@clisp.org>
1475 * src/roff/troff/input.cpp (font::name_to_index): Never return a
1478 * src/libs/libgroff/font.cpp (font::load): Remove failure tests for
1479 font::name_to_index.
1481 2006-02-10 Werner LEMBERG <wl@gnu.org>
1483 * doc/groff.texinfo (Assigning Formats): Number registers are always
1485 Apply some rephrasing, contributed by Michael Burt.
1487 2006-02-07 Werner LEMBERG <wl@gnu.org>
1489 * tmac/fr.tmac <ms>: Set `HY' register.
1491 2006-02-07 Werner LEMBERG <wl@gnu.org>
1493 Add framework for simple adaptation of the main macro packages (mm,
1494 me, ms, mom) to different locales. In particular, add support for
1495 French. For activation, simply use `-mfr' as the last macro
1496 package. This feature has been contributed by Fabrice Ménard
1497 <menard.fabrice@wanadoo.fr>.
1499 * tmac/fr.tmac, tmac/trans.tmac, tmac/hyphen.fr, tmac/LOCALIZATION:
1501 * tmac/README: Mention hyphen.fr.
1502 * man/groff_tmac.man: Mention fr.tmac.
1505 2006-01-27 Werner LEMBERG <wl@gnu.org>
1507 * man/groff_font.man: Updated documentation of `entity_name' field.
1510 2006-01-27 Bruno Haible <bruno@clisp.org>
1512 * font/devhtml/R.proto: Remove the entity names from the font's
1513 special_encoding_encoding column.
1514 * src/devices/grohtml/post-html.cpp (get_html_entity): New function,
1515 handling the entity names here.
1516 (get_html_translation): Use it. Change return type to `const
1518 (page::add_and_encode): Update, removing a useless cast.
1520 2006-01-26 Werner LEMBERG <wl@gnu.org>
1522 This change is based on a patch by Bruno Haible <bruno@clisp.org>.
1524 * src/include/device.h: Add comments.
1525 * src/include/font.h: Add comments.
1526 * src/include/unicode.h: Likewise.
1527 * src/include/ptable.h, src/libs/libgroff/ptable.cpp: Likewise.
1529 2006-01-26 Keith Marshall <keith.d.marshall@ntlworld.com>
1531 Suppress `.st' request emission by `grn'.
1533 * src/preproc/grn/main.cpp (USE_ST_REQUEST): New macro.
1536 2006-01-22 Werner LEMBERG <wl@gnu.org>
1538 * install-sh: New version; taken from texinfo CVS.
1540 2006-01-21 Werner LEMBERG <wl@gnu.org>
1542 * src/preproc/preconv/preconv.cpp (main): Set program_name. Bug
1543 reported by Alexander E. Patrakov <patrakov@ums.usu.ru>.
1545 2006-01-19 Bruno Haible <bruno@clisp.org>
1547 Let `make -k install' install more files.
1549 * Makefile.in (MAKE_K_FLAG): New variable. Use it everywhere where
1550 $(MAKE) and $(MDEFINES) are used.
1551 (CPROGDIRS): Remove $(XPROGDIRS). Treat $(XPROGDIRS) like
1552 $(CPROGDIRS) everywhere.
1553 ($(DEVDIRS) $(XDEVDIRS) $(OTHERDEVDIRS) $(TTYDEVDIRS)): Don't depend
1555 ($(OTHERDIRS)): Likewise.
1558 * src/devices/grohtml/post-html.cpp (get_html_translation): Remove
1559 failure test for font::name_to_index -- it can never fail.
1561 2006-01-19 Werner LEMBERG <wl@gnu.org>
1563 * src/devices/grops/grops.man: Fix section on creating EPS files.
1564 Don't use future time in manual.
1567 2006-01-15 Gaius Mulley <gaius@glam.ac.uk>
1569 * tmac/www.tmac: New macro LINKSTYLE which allows users to set
1570 various typographical URL attributes for non-HTML devices.
1572 * tmac/groff_www.man: Document LINKSTYLE.
1574 2006-01-11 Werner LEMBERG <wl@gnu.org>
1576 * configure.ac: Test for getc_unlocked (needed for localcharset).
1577 * configure, src/include/config.hin: Regenerated.
1579 * src/libs/libgroff/Makefile.sub (EXTRA_CFLAGS): Define
1582 * src/libs/libgroff/relocatable.h: New dummy header file for
1585 * src/libs/libgroff/localcharset.c: Updated to (unchanged) CVS
1588 2006-01-10 Bruno Haible <bruno@clisp.org>
1590 Work around unportability of nl_langinfo(CODESET).
1592 * m4/glibc21.m4: New file, from gnulib.
1593 * Makefile.sub (M4MACROS): Add m4/glibc21.m4.
1594 * configure.ac: Also test for stddef.h, and invoke jm_GLIBC21.
1595 * Makefile.in (HOST, GLIBC21): New variables.
1596 (MDEFINES): Pass them to subdirectories.
1597 * src/include/relocate.h (relocatep): Define with C linkage.
1598 * src/include/localcharset.h: New file, from gnulib.
1599 * src/libs/libgroff/localcharset.c: New file, from gnulib with a
1600 modification for relocate().
1601 * src/libs/libgroff/config.charset: New file, from gnulib.
1602 * src/libs/libgroff/ref-add.sin: New file, from gnulib.
1603 * src/libs/libgroff/ref-del.sin: New file, from gnulib.
1604 * src/libs/libgroff/Makefile.sub (EXTRA_CFLAGS): Also define LIBDIR.
1605 (OBJS): Add localcharset.o.
1606 (CSRCS): Add localcharset.c.
1607 (all): Add dependencies to charset.alias, ref-add.sed, ref-del.sed.
1608 (charset.alias): New rule.
1609 (PACKAGE): New variable.
1610 (ref-add.sed, ref-del.sed): New rules.
1611 (MKINSTALLDIRS): New variable.
1612 (install_data): Depend on install_charset_data.
1613 (install_charset_data): New rule for creating or updating
1615 (uninstall_sub): Depend on uninstall_charset_data.
1616 (uninstall_charset_data): New rule for uninstalling or updating
1618 * src/preproc/preconv/preconv.cpp: Include localcharset.h instead
1620 (main): Initialize default_encoding from locale_charset() instead of
1621 nl_langinfo(CODESET).
1623 * aclocal.m4, configure, src/include/config.hin: Regenerated.
1625 2006-01-10 Werner LEMBERG <wl@gnu.org>
1627 * src/preproc/preconv/preconv.cpp (conversion_iconv): Use
1628 ICONV_CONST in call to iconv. Reported by Robert Goulding.
1630 2006-01-07 Werner LEMBERG <wl@gnu.org>
1632 * fonts/devps/generate/freeeuro.sfd: Run auto-hinter with recent
1634 Bump font version to 001.001.
1636 * fonts/devps/generate/Makefile (freeeuro.afm, freeeuro.pfa):
1637 Call fontforge, not pfaedit.
1639 * fonts/devps/freeeuro.afm, fonts/devps/freeeuro.pfa: Regenerated.
1641 2006-01-05 Ruslan Ermilov <ru@FreeBSD.org>
1643 * tmac/doc-common: Add new FreeBSD and NetBSD versions.
1644 * tmac/groff_mdoc.man: Updated.
1646 2006-01-05 Werner LEMBERG <wl@gnu.org>
1648 * src/preproc/preconv/preconv.cpp: s/debug/debug_flag/.
1649 (raw_flag): New global variable.
1650 (do_file): Use .lf to set file name (if `raw_flag' isn't set).
1651 Don't pass BOM to `conversion_utf8'.
1653 (main): Handle `-r' command line switch to set `raw_flag'.
1654 (get_BOM): Fix encodings in `BOM_table'.
1656 * src/preproc/preconv/preconv.man: New file. Not complete yet.
1657 * src/preproc/proconv/Makefile.sub (MAN1): New variable.
1659 2006-01-04 Werner LEMBERG <wl@gnu.org>
1661 * src/preproc/preconv/preconv.cpp (emacs_to_mime): As suggested by
1662 Bruno, comment out most encodings to support only a small set of
1663 coding tags, thus reducing potential problems with legacy encodings
1664 and character sets in the future.
1665 Add many XEmacs coding tags (now commented out).
1667 (check_encoding_tag): Renamed to...
1668 (check_coding_tag): This.
1669 (get_BOM): Return encoding as specified by BOM.
1670 Test for UTF32-LE too.
1671 (do_file): Don't check for coding tag if a BOM has been found.
1673 2006-01-03 Bruno Haible <bruno@clisp.org>
1675 * m4/groff.m4: Renamed from aclocal.m4.
1676 * m4/codeset.m4: New file, from gnulib.
1677 * m4/iconv.m4: New file, from gnulib.
1678 * m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4: New files, from
1680 * config.rpath: New file, from gnulib.
1681 * config.guess, config.sub: New files, from gnulib.
1682 * Makefile.sub (M4MACROS): New variable.
1683 (configure): Fix typo.
1684 (aclocal.m4): New rule.
1685 (stamp-h.in): Depend on aclocal.m4.
1686 * configure.ac: Invoke AM_ICONV and AM_LANGINFO_CODESET.
1687 * Makefile.in (LIBICONV): New variable.
1688 (MDEFINES): Pass it to recursive makes.
1689 * src/preproc/preconv/preconv.cpp: Use HAVE_LANGINFO_CODESET and
1690 HAVE_ICONV instead of I18N macro.
1691 * src/preproc/preconv/Makefile.sub (EXTRA_LDFLAGS): New variable.
1693 * aclocal.m4, configure, src/include/config.hin: (Re)generated.
1695 2006-01-03 Werner LEMBERG <wl@gnu.org>
1697 * doc/Makefile.in (webpage.html): Simplify.
1698 * doc/Makefile.sub (webpage.html): Synchronize with doc/Makefile.in.
1699 * doc/webpage.ms, tmac/groff_www.man, tmac/www.tmac: Minor updates.
1701 2006-01-01 Werner LEMBERG <wl@gnu.org>
1703 * tmac/doc-common (Os): Add some Darwin versions.
1704 * tmac/groff_mdoc.man: Document them.
1706 2006-01-01 Bruno Haible <bruno@clisp.org>
1708 * src/preproc/preconv/preconv.cpp (emacs_to_mime): Various
1710 . Don't map ascii to latin-1.
1711 . Don't use IBMxxx encodings but cpxxx for portability.
1712 . Map cp932, cp936, cp949, cp950 to itself.
1713 (emacs2mime): Protect calls to strcasecmp.
1714 (conversion_iconv): Add missing call to iconv_close.
1715 (do_file): Emit error message in case of unsupported encoding.
1717 2005-12-31 Werner LEMBERG <wl@gnu.org>
1719 Integrate preconv into the groff binary. Changes based on a patch
1720 from Michail Vidiassov.
1722 * src/roff/groff/pipeline.h (MAX_COMMANDS): Increase by 1.
1724 * src/roff/groff/groff.cpp (PRECONV_INDEX): New macro.
1725 (SOELIM_INDEX): Updated.
1726 (help, synopsis): Updated.
1727 (main): Add command line options `-k' and `-K enc' to select
1729 Add support for GROFF_ENCODING environment variable.
1731 * src/roff/groff/groff.man: Updated and revised.
1734 Start with autoconf support for preconv.
1736 * configure.ac: Call AC_C_BIGENDIAN.
1737 * configure, src/include/config.hin: Regenerated.
1739 2005-12-30 Werner LEMBERG <wl@gnu.org>
1741 New preprocessor `preconv' to convert input encodings to something
1742 groff can understand. Not yet integrated within groff. Proper
1743 autoconf stuff is missing too.
1745 Tomohiro Kubota has written a first draft of this program, and some
1746 ideas have been reused (while almost no code has been taken
1749 * src/preproc/preconv/preconv.cpp. src/preproc/preconv/Makefile.sub:
1752 * MANIFEST, Makefile.in (CCPROGDIRS), test-groff.in
1753 (GROFF_BIN_PATH): Add preconv.
1755 2005-12-12 Werner LEMBERG <wl@gnu.org>
1757 * aclocal.m4 (GROFF_MAKEINFO): Fix regexps to be POSIX conformant.
1758 In particular, don't use `\+' since it is a GNU sed extension.
1760 * configure: Regenerated.
1762 2005-12-09 Werner LEMBERG <wl@gnu.org>
1764 * src/libs/libgroff/make-uniuni: New script to generate uniuni.cpp.
1766 * src/libs/libgroff/uniuni.cpp: Regenerated, using data from Unicode
1770 * src/utils/afmtodit/make-afmtodit-tables: New script to generate
1773 * src/utils/afmtodit/afmtodit.tables: New file, representing Unicode
1776 * src/utils/afmtodit/afmtodit.pl (%unicode_decomposed,
1777 %AGL_to_unicode): Removed. Replace it with a tag.
1779 * src/utils/afmtodit/Makefile.sub (afmtodit): Adjust sed expression
1780 to replace tag with actual file contents.
1782 2005-12-08 Werner LEMBERG <wl@gnu.org>
1784 The change 2005-06-20 can indeed cause problems, so we follow the
1785 advice by using marks.
1787 * font/devps/prologue.ps (PBEGIN): Use `mark'.
1788 (PEND): Use `cleartomark'.
1790 2005-12-07 Michail Vidiassov <master@iaas.msu.ru>
1792 * src/utils/afmtodit.pl: Fix kerning output to avoid warnings for
1793 glyphs which have kern values but aren't handled (glyph variants,
1796 2005-12-02 Werner LEMBERG <wl@gnu.org>
1798 * src/devices/grops/ps.cpp (ps_printer::get_subfont): Use correct
1799 subfont index. Reported by Michail Vidiassov <master@iaas.msu.ru>.
1801 2005-11-28 Gaius Mulley <gaius@glam.ac.uk>
1803 * doc/Makefile.in: Separate rule for webpage.html so that extra
1804 command line options can be passed to grohtml.
1805 * doc/groff.css: Change all margins to 0%.
1806 * doc/webpage.ms: Now use new macros ALN, LNS, and LNE so that left
1807 navigation is exploited. Also update webpage to contain new
1808 sections on licenses, mailing lists, cvs/ftp access, groff
1809 dependencies, and bug reports.
1810 * tmac/groff_www.man: Document the new macros ALN, LNS, and LNE.
1811 * tmac/www.tmac: Implement the new macros ALN, LNS, and LNE.
1813 2005-11-25 Gaius Mulley <gaius@glam.ac.uk>
1815 * src/devices/grohtml/post-html.cpp
1816 (html_printer::do_file_components): Add fputs calls to emit the
1817 head contents and shut down the head tag whenever a new file
1818 component is generated.
1820 2005-11-22 Gaius Mulley <gaius@glam.ac.uk>
1822 * src/devices/grohtml/post-html.cpp (html_printer::flush_page): Add
1823 call to flush_text to flush any outstanding html tags on the
1826 2005-11-18 Werner LEMBERG <wl@gnu.org>
1828 * aclocal.m4 (GROFF_MAKEINFO): Use `groff.info' in tests.
1829 Announce makeinfo version.
1830 * configure: Regenerated.
1832 2005-11-18 Mike Frysinger <vapier@gentoo.org>
1834 * Makefile.in: Declare proper dependencies between make targets.
1836 * doc/Makefile.in: Rename groff info page to `groff.info'.
1837 * doc/Makefile.sub: Likewise.
1838 * doc/groff.texinfo: Likewise.
1840 2005-11-17 Peter O'Gorman <mlists@thewrittenword.com>
1842 * src/utils/pfbtops/pfbtops.c, src/utils/xtotroff/xtotroff.c: Move
1843 definition of __GETOPT_PREFIX to the beginning of file to ensure
1844 that it is defined even on platforms where getopt.h is already
1845 included by other header files.
1847 2005-11-10 Gaius Mulley <gaius@glam.ac.uk>
1849 * src/devices/grohtml/post-html.cpp (html_printer::do_heading):
1850 Reset font to NULL to ensure that a font block is recreated during
1853 2005-11-04 Werner LEMBERG <wl@gnu.org>
1855 * aclocal.m4 (GROFF_MAKEINFO): Fix sed expression.
1856 * configure: Regenerated.
1858 2005-10-27 Werner LEMBERG <wl@gnu.org>
1860 * aclocal.m4 (GROFF_MAKEINFO): New function for checking whether
1861 makeinfo 4.8 or newer is available.
1862 * configure.ac: Call GROFF_MAKEINFO.
1863 * configure: Regenerated.
1865 * Makefile.in (MAKEINFO): Use autoconf variable.
1866 (MDEFINES): Add MAKEINFO.
1868 * doc/Makefile.in (MAKEINFO): Use autoconf variable.
1869 * doc/Makefile.sub (MAKEINFO): Remove.
1871 2005-10-26 Werner LEMBERG <wl@gnu.org>
1873 * REVISION: Set to 3.
1875 2005-10-17 Werner LEMBERG <wl@gnu.org>
1877 Mention $MANPAGER variable used with some `man' systems.
1879 * doc/webpage.ms, src/devices/grotty/grotty.man, NEWS: Updated.
1881 2005-09-13 Werner LEMBERG <wl@gnu.org>
1883 * tmac/hyphenex.us: New version (`ushyphex.tex' from ftp.dante.de).
1885 2005-09-04 Werner LEMBERG <wl@gnu.org>
1887 Version 1.19.2 released
1888 =======================
1890 * tmac/groff_ms.man, doc/groff.texinfo: Synchronize.
1892 * doc/webpage.ms: Updated.
1894 * install-sh, mkinstalldirs: New versions; taken from texinfo CVS.
1896 2005-09-04 Jörgen Grahn <jgrahn@algonet.se>
1898 * tmac/groff_ms.man: Document `PO' better.
1900 2005-09-03 Werner LEMBERG <wl@gnu.org>
1902 * NEWS: Document grotty changes.
1904 2005-09-01 Keith Marshall <keith.d.marshall@ntlworld.com>
1906 Backward compatibility support for `man' program.
1908 * tmac/an-old.tmac (LL): Initialize it to respect prior LL register
1909 assignment, prior `.ll' request and then package defaults, in this
1910 specified order of decreasing priority.
1912 * tmac/groff_man.man, doc/groff.texinfo (Man options): Document
1913 altered `LL' register initialization priorities.
1915 2005-08-29 Gary W. Swearingen <garys@opusnet.com>
1917 * tmac/groff_mdoc.man: Go into more details how the `AUTHORS'
1918 section should look like.
1920 2005-08-29 Werner LEMBERG <wl@gnu.org>
1922 * tmac/groff_mdoc.man: The month's name in a call to .Dd shouldn't
1925 2005-08-27 Bernd Warken
1927 * tmac/groff_man.man: Add man(7) too SEE ALSO and more minor
1930 2005-08-11 Bernd Warken
1932 * tmac/www.tmac (URL, MTO): Handle empty \\$1 better.
1934 2005-08-09 Bernd Warken
1936 * tmac/www.tmac (URL, MTO): Use bold series if color support is
1939 2005-08-02 Bernd Warken
1941 * doc/Makefile.sub (uninstall_sub): Use --remove, not --delete
1942 as argument to $(INSTALL_INFO). The latter isn't portable.
1943 Remove $(HTMLEXAMPLEFILES) too.
1945 * Makefile.in (uninstall_dirs): Remove $(datadir)/doc/groff and
1947 Suppress warning messages and return always true.
1949 * tmac/Makefile.sub (uninstall_sub): Remove www.tmac too.
1951 2005-07-02 Bernd Warken
1953 * src/devices/xditview/gxditview.man: Change many `.I' to `.B'.
1954 * man/groff_out.man: More markup and minor improvements.
1955 * src/roff/groff/groff.man: Minor improvements.
1957 2005-06-28 Werner LEMBERG <wl@gnu.org>
1959 * ChangeLog: Split off older entries into...
1960 * ChangeLog.115 ChangeLog.116, ChangeLog.117, ChangeLog.118: New
1963 2005-06-26 Bernd Warken
1965 * src/devices/xditview/gxditview.man: More minor fixes.
1967 2005-06-24 Werner LEMBERG <wl@gnu.org>
1969 * src/preproc/pic/troff.cpp (troff_output::set_fill,
1970 troff_output::set_color, troff_output::reset_color): Use .bcolor and
1971 .fcolor instead of \m and \M, respectively.
1973 2005-06-23 Bernd Warken
1975 * src/devices/xditview/gxditview.man: More minor fixes.
1976 * README: Formatting issues.
1977 Mention some problems with Debian.
1979 2005-06-23 Bernd Warken
1981 * src/devices/xditview/gxditview.man: Revised and improved.
1983 2005-06-22 Werner LEMBERG <wl@gnu.org>
1985 Another round in fixing getopt problems. Hopefully the last one!
1986 This time we use the getopt stuff from gnulib and define a prefix
1987 unconditionally so that there are no collisions with any other
1988 getopt implementations. This is a slight waste of space in case
1989 we already use a GNU getopt implementation, but on
1990 the other hand it really simplifies life.
1992 * src/include/getopt.h: Use gnulib version.
1994 * src/include/getopt_int.h: Use gnulib version.
1996 * src/include/groff-getopt.h: Removed. Obsolete now.
1998 * src/include/lib.h: Regarding getopt, don't handle any platform
1999 specially; just include getopt.h.
2000 (__GETOPT_PREFIX): Define (before getopt.h).
2002 * src/include/Makefile.sub (HDRS): Updated.
2004 * src/libs/libgroff/getopt1.c, src/libs/libgroff/getopt.c: Use
2007 * src/libs/libgroff/Makefile.sub (EXTRA_CFLAGS): Set
2010 * src/utils/pfbtops/pfbtops.c, src/utils/xtotroff/xtotroff.c
2011 (__GETOPT_PREFIX): Define (before getopt.h).
2013 2005-06-21 Werner LEMBERG <wl@gnu.org>
2015 * src/include/lib.h: Provide a fix for Mac OS X to not include
2018 2005-06-20 Denis M. Wilson <dmw@oxytropis.plus.com>
2020 * font/devps/prologue.ps (EP): Dont' use `bind'. Reason: Using
2021 `bind' to define a procedure which contains `showpage' means that an
2022 invocation of `showpage' may execute wrongly (the exact effect
2023 depending on the interpreter). Not usually a problem except under
2024 transformations, such as combining pages.
2025 (PEND): Don't call `clear'. Reason: Using `clear' in the definition
2026 of /PEND means that stack underflow will occur if the stack is
2027 deliberately non-empty before document inclusion. If included
2028 files are found to be generally badly behaved, we could replace the
2029 `clear' with `mark' in /PBEGIN and `cleartomark' in /PEND (I've
2030 never found this necessary).
2032 2005-06-20 Jörgen Grahn <jgrahn@algonet.se>
2034 * src/preproc/soelim/soelim.cpp (do_file): Append trailing zero
2035 earlier to get correct error message.
2037 2005-06-16 Bernd Warken
2038 * src/roff/nroff/nroff.sh: Add support for iso-8859-15.
2040 2005-06-15 Werner LEMBERG <wl@gnu.org>
2042 Another try to update getopt files. This time we add a dummy
2043 gettext.h file to satisfy the dependency.
2045 * src/include/getopt.h, src/libs/libgroff/getopt.c,
2046 src/libs/libgroff/getopt1.c: Updated from GNU libc CVS.
2048 * src/include/getopt_int.h: New file (from GNU libc CVS).
2050 * src/include/gettext.h: Dummy file which just defines a gettext()
2053 * src/include/groff-getopt.h: Updated.
2055 * src/include/Makefile.sub (HDRS): Add getopt_int.h and gettext.h.
2058 * src/libs/libdriver/input.cpp (IntArray): Remove superfluous
2059 `const' keywords in return value.
2061 * src/preproc/html/pushback.cpp (pushBackBuffer::~pushBackBuffer):
2062 Remove redundant variable `old'.
2063 (pushBackBuffer::skipToNewline): Remove redundant variable `ch'.
2065 * src/preproc/tbl/main.cpp (process_table): Remove redundant
2069 Fix more friend name injection problems since modern C++ compilers
2070 fail otherwise. We simply provide (global) declarations for all
2071 functions declared as friends. This is not really necessary but
2074 * src/preproc/eqn/lex.cpp: Provide declarations for get_char,
2075 peek_char, and get_location.
2077 * src/preproc/refer/ref.h: Provide declarations for
2078 compare_reference, same_reference, same_year, same_date,
2079 same_author_last_name, and same_author_name.
2081 * src/roff/troff/div.h: Provide declarations for do_divert and
2084 * src/roff/troff/env.h: Provide declarations for title_length,
2085 space_size, fill, no_fill, adjust, no_adjust, center, right_justify,
2086 vertical_spacing, post_vertical_spacing, line_spacing, line_length,
2087 indent, temporary_indent, do_underline, do_input_trap, set_tabs,
2088 margin_character, no_number, number_lines, leader_character,
2089 tab_character, hyphenate_request, no_hyphenate,
2090 hyphen_line_max_request, hyphenation_space_request,
2091 hyphenation_margin_request, line_width, tabs_save, tabs_restore,
2092 line_tabs_request, widow_control_request, and do_divert.
2094 * src/roff/troff/input.cpp: Provide declaration for chop_macro.
2096 * src/roff/troff/node.cpp: Provide declarations for class
2098 Provide declaration for make_tfont.
2100 2005-05-29 Werner LEMBERG <wl@gnu.org>
2102 * doc/fdl.texi: Updated to version 1.2. Reported by Bernd Warken.
2104 2005-05-28 Werner LEMBERG <wl@gnu.org>
2106 * contrib/pdfmark/Makefile.sub (.ms.pdf): Use `--stylesheet', not
2109 * src/devices/grolbp/lbp.cpp, src/devices/grolbp/lbp.h: Remove
2110 redundant semicolons.
2112 * src/preproc/eqn/Makefile.sub, src/preproc/html/Makefile.sub,
2113 src/preproc/soelim/Makefile.sub, src/preproc/tbl/Makefile.sub:
2114 Define `MLIB'. Some compilers need this for linking with libgroff.
2116 2005-05-27 Werner LEMBERG <wl@gnu.org>
2118 * MANIFEST, README, doc/webpage.ms: Updated.
2120 2005-05-26 Werner LEMBERG <wl@gnu.org>
2122 * All affected files: Update postal address of FSF.
2124 2005-05-25 Keith Marshall <keith.d.marshall@ntlworld.com>
2127 * README: More fixes.
2129 * README.CVS: Removed. Its contents is now part of the README file.
2131 2005-05-21 Werner LEMBERG <wl@gnu.org>
2133 * README: Updated. Based on a patch from Bernd Warken.
2135 2005-05-16 Keith Marshall <keith.d.marshall@ntlworld.com>
2137 Miscellaneous script portability enhancements.
2139 * aclocal.m4: (GROFF_CSH_HACK): Add space in shebang prototype for
2140 generated conftest.sh script, conforming to portability
2141 recommendation in autoconf docs.
2142 * configure: Likewise, for code generated by GROFF_CSH_HACK.
2143 * contrib/eqn2graph/eqn2graph.sh: Add space in shebang, conforming
2144 to portability recommendation in autoconf docs.
2145 * contrib/gdiffmk/gdiffmk.sh: Likewise.
2146 * contrib/gdiffmk/tests/runtests.in: Likewise.
2147 * contrib/grap2graph/grap2graph.sh: Likewise.
2148 * contrib/groffer/groffer.sh: Likewise.
2149 * contrib/mm/mmroff.pl: Likewise.
2150 * contrib/mom/momdoc/appendices.html: Likewise.
2151 * contrib/pic2graph/pic2graph.sh: Likewise.
2152 * font/devps/generate/afmname: Likewise.
2153 * src/devices/xditview/ad2c: Likewise.
2154 * src/preproc/eqn/neqn.sh: Likewise.
2155 * src/roff/grog/grog.pl: Likewise.
2156 * src/roff/grog/grog.sh: Likewise.
2157 * src/roff/nroff/nroff.sh: Likewise.
2158 * PROBLEMS: Likewise, in embedded script examples.
2160 2005-05-16 Keith Marshall <keith.d.marshall@ntlworld.com>
2162 Improve portability of `pdfroff' shell script.
2164 * arch/misc/shdeps.sh: Add space in shebang, conforming to
2165 portability guidelines in `autoconf' docs.
2166 (PATH_SEARCH_SETUP): New substitution; emits PATH_SEPARATOR
2167 initialization code. Used by contrib/pdfmark/pdfroff.sh's
2168 `searchpath' function.
2170 2005-05-14 Werner LEMBERG <wl@gnu.org>
2172 * contrib/pic2graph/pic2graph.sh, contrib/graph2graph.sh,
2173 contrib/eqn2graph.sh: Add option `-trim' to `convert' which is
2174 needed for newer ImageMagick versions.
2176 2005-05-07 Werner LEMBERG <wl@gnu.org>
2178 * src/preproc/refer/refer.man: Many small typographic fixes.
2180 2005-05-06 Jeff Conrad <jeff_conrad@msn.com>
2182 * src/devices/grohtml/post-html.cpp (assert_state::~assert_state):
2183 Use `char *' cast for a_delete.
2185 2005-05-03 Werner LEMBERG <wl@gnu.org>
2187 * src/libs/libgroff/maxpathname.cpp: Include stdlib.h.
2188 src/libs/libgroff/relocate.cpp: Use path_name_max everywhere.
2190 2005-05-03 Jeff Conrad <jeff_conrad@msn.com>
2192 * src/devices/grohtml/post-html.cpp: Use casts to `char *' if using
2193 `a_delete' for `const char *'.
2195 2005-05-03 Werner LEMBERG <wl@gnu.org>
2197 * src/devices/grohtml/post-html.cpp,
2198 src/devices/grohtml/html-table.cpp,
2199 src/devices/grohtml/html-text.cpp, src/devices/grohtml/output.cpp:
2200 Replace malloc/free with new/delete/a_delete.
2202 * src/devices/grolbp/lbp.h: Remove superfluous semicolons which
2203 are prohibited with ANSI C++.
2204 (lbpprintf, vdmprintf): Remove useless `inline' keyword (since the
2205 function has a variable number of arguments).
2207 * src/preproc/grn/main.cpp (doinput): Change return type to `int'.
2208 Simplify function and update all callers.
2210 2005-05-02 Werner LEMBERG <wl@gnu.org>
2212 Undo getopt changes from 2005-04-30. We don't want a dependency
2215 * src/include/getopt_int.h: Removed.
2217 * src/include/getopt.h, src/include/groff-getopt.h,
2218 src/include/Makefile.sub, src/libs/libgroff/getopt.c,
2219 src/libs/libgroff/getopt1.c: Revert to previous version.
2222 * src/include/nonposix.h (access) [_MSC_VER]: New macro.
2224 * src/include/posix.h (F_OK): Define conditionally.
2226 * src/devices/grotty/tty.cpp (tty_printer::make_underline): Use
2227 different variable name in second `for' loop to avoid MSVC compiler
2230 2005-04-30 Werner LEMBERG <wl@gnu.org>
2232 AC_TYPE_SIGNAL from current autoconf can fail if CC=g++.
2234 * aclocal.m4 (GROFF_TYPE_SIGNAL): New function.
2235 * configure.ac: Use GROFF_TYPE_SIGNAL, not AC_TYPE_SIGNAL.
2236 * configure, src/include/config.hin: Regenerated.
2238 * PROBLEMS: Updated.
2241 Update getopt files.
2243 * src/include/getopt.h, src/libs/libgroff/getopt.c,
2244 src/libs/libgroff/getopt1.c: Updated from GNU libc CVS.
2246 * src/include/getopt_int.h: New file (from GNU libc CVS).
2248 * src/include/groff-getopt.h: Updated.
2250 * src/include/Makefile.sub (HDRS): Add getopt_int.h.
2253 * font/devutf8/NOTES: Updated.
2255 2005-04-28 Werner LEMBERG <wl@gnu.org>
2257 Bug fix for Win32 relocatable code. Based on a patch from Keith
2260 * src/libs/libgroff/maxpathname.cpp (PATH_MAX): Test for `_MAX_PATH'
2263 * src/libs/libgroff/relocate.c (DEBUG): Define it conditionally.
2264 (searchpath) [_WIN32]: Use `_fullpath', not `realpath'.
2266 2005-04-28 Keith Marshall <keith.d.marshall@ntlworld.com>
2268 Correct `gnu.eps' handling for build from distribution tarball, with
2269 separate source and build directories.
2271 * doc/Makefile.sub: (examples.stamp): New target; forces copy of
2272 grnexmpl.g, groff.css and gnu.eps from source to build directory;
2273 generate gnu.eps from gnu.xpm if required; touch examples.stamp.
2274 (prepare_examples): Make it depend on examples.stamp.
2275 (CLEANADD): Add examples.stamp.
2277 2005-04-27 Werner LEMBERG <wl@gnu.org>
2281 position: `(' position `)'
2285 * src/preproc/pic/pic.y (position, position_not_place): Handle
2286 additional parentheses.
2288 * doc/pic.ms: Updated.
2290 2005-04-23 Larry Jones <lawrence.jones@ugs.com>
2292 * src/utils/xtotroff/xtotroff.c (MapFont): Fix variable declaration.
2294 2005-04-18 Werner LEMBERG <wl@gnu.org>
2296 * src/roff/groff/pipeline.c: Don't include ctype.h.
2298 2005-04-13 Werner LEMBERG <wl@gnu.org>
2300 * src/roff/nroff/nroff.man: Document option `-M'.
2302 2005-04-13 Bruce Lilly <blilly@erols.com>
2304 * src/roff/nroff/nroff.sh: Make the script accept option `-M'.
2306 2005-04-01 Kees Zeelenberg <kzlg@users.sourceforge.net>
2307 Werner LEMBERG <wl@gnu.org>
2309 Add binary relocation support for Windows platforms.
2311 * src/include/Makefile.sub (defs.h): Add `INSTALLPATH'.
2313 * src/include/relocate.h, src/libs/libgroff/relocate.cpp: New files.
2315 * src/libs/libgroff/searchpath.cpp: Handle `relocate'.
2316 (search_path::search_path, search_path::open_file_cautious): Use
2319 * src/libs/libgroff/Makefile.sub (OBJS, CCSRCS),
2320 src/include/Makefile.sub (HDRS): Updated.
2322 2005-04-01 Werner LEMBERG <wl@gnu.org>
2324 * src/devices/grohtml/post-html.cpp: Don't use strdup/free but
2327 * src/libs/libgroff/font.cpp: Replace strdup with strsave.
2329 * src/libs/libgroff/maxfilename.cpp: Don't include limits.h since
2330 lib.h already does it.
2332 * src/libs/libgroff/maxpathname.cpp: New file, defining
2335 * src/include/lib.h: Add prototype for path_name_max.
2337 * src/libs/libgroff/Makefile.sub (OBJS, CCSRCS): Updated.
2339 * src/include/nonposix.h (PATH_EXT): New macro.
2341 2005-03-28 Werner LEMBERG <wl@gnu.org>
2343 Add support for double- and zero-width characters in grotty.
2345 * src/devices/grotty/tty.cpp (glyph): Add width.
2346 (tty_printer::make_underline, tty_printer::make_bold,
2347 tty_printer::add_character): Add parameter to pass character width.
2349 (tty_printer::end_page): Increase hpos by actual character width.
2351 * font/devutf8/R.proto: Specify zero width for non-spacing
2354 * tmac/unicode.tmac: Remove definitions for non-spacing entities.
2356 * Makefile.comm (extraclean): Remove more junk files.
2358 2005-03-25 Werner LEMBERG <wl@gnu.org>
2360 * configure.ac: Undo change from 2005-03-24.
2361 * configure: Regenerated.
2363 2005-03-24 Werner LEMBERG <wl@gnu.org>
2365 * Makefile.in (NOMAKEDIRS): Add contrib/gdiffmk/tests.
2366 (dist): Search Makefile while descending into $(EXTRADIRS).
2368 * doc/Makefile.in (.PHONY): Add.
2369 (clean): Don't remove *.png and *.eps.
2371 (realclean): Remove *.png and *.eps.
2372 (extraclean): Depend on distclean.
2374 * configure.ac: Add copyright.
2375 Handle contrib/pdfmark/Makefile.
2377 * configure: Regenerated.
2379 2005-03-18 Larry Kollar <kollar@alltel.net>
2381 Add numbered and definition lists to www.tmac.
2383 * tmac/www.tmac (www-ul-level1, www-ul-level2, www-ul-level3,
2384 www-ol-level1, www-ol-level2, www-ol-level3, www-ol-tmp): New
2385 auxiliary string registers.
2386 (www-ul-level, www-ol-level, www-dl-level, www-ol-ctr1, www-ol-ctr2,
2387 www-ol-ctr3, www-dl-shift): New auxiliary number registers.
2388 (www-level): Removed.
2389 (www-level1, www-level2, www-level3): Initialize to empty.
2390 (www-level0, www-level4, www-level5, www-level6, www-level7,
2391 www-level8, www-level9): New string registers.
2392 (www-push-li, www-pop-li): New macros.
2393 (www-push-level, www-pop-level): Renamed to...
2394 (www-push-ul-level, www-pop-ul-level): This.
2396 (www-push-ol-level, www-pop-ol-level): New macros.
2397 (ULS, ULE): Updated.
2398 (OLS, OLE, DLS, DLE): New user macros.
2399 (LI): Removed. It is aliased to one of...
2400 (www-li-ul, www-li-ol, www-li-dl): New macros.
2402 * tmac/groff_www.man: Document new macros.
2406 2005-03-18 Werner LEMBERG <wl@gnu.org>
2408 * tmac/doc-common (doc-operating-system-NetBSD-2.0.1,
2409 doc-operating-system-NetBSD-2.0.2): New strings.
2411 * tmac/groff_mdoc.man: Updated.
2413 2005-03-17 Werner LEMBERG <wl@gnu.org>
2415 * doc/Makefile.sub (CLEANADD): Add `groff.html'.
2417 2005-03-17 Werner LEMBERG <wl@gnu.org>
2419 * src/libs/libgroff/hypot.c: Renamed to...
2420 * src/libs/libgroff/hypot.cpp: This. Updated to C++.
2422 * src/libs/libgroff/Makefile.sub (CCSRCS, CSRCS): Updated.
2424 * src/include/lib.h: Updated.
2426 2005-03-16 Werner LEMBERG <wl@gnu.org>
2428 Add workaround for broken hypot() on Interix.
2430 * src/libs/libgroff/hypot.c: New wrapper file for `hypot'.
2432 * src/libs/libgroff/Makefile.sub (OBJS): Add `hypot.o'.
2433 (CSRCS): Add `hypot.c'.
2435 * src/include/lib.h: Declare `groff_hypot'.
2437 * src/preproc/grn/hgraph.cpp: Don't declare `hypot'.
2440 * src/preproc/pic/pic.h: Don't declare `hypot'.
2442 * src/preproc/pic/object.cpp (hypot): Use `groff_hypot'.
2444 2005-03-15 Gaius Mulley <gaius@glam.ac.uk>
2446 * src/devices/grohtml/post-html.cpp
2447 (html_printer::lookahead_for_tables): End .ce properly to avoid a
2450 2005-03-15 Werner LEMBERG <wl@gnu.org>
2452 makeinfo 4.8 doesn't produce good HTML output from groff.texinfo.
2454 * doc/fixinfo.sh: New script to postprocess makeinfo's HTML output.
2456 * doc/Makefile.in (.texinfo.html): Call fixinfo.sh.
2458 2005-03-14 Werner LEMBERG <wl@gnu.org>
2460 Add Cyrillic support to devutf8 and devhtml.
2462 * font/devutf8/R.proto, font/devhtml/R.proto: Add Cyrillic blocks.
2464 * tmac/unicode.tmac: New file.
2466 * tmac/tty.tmac: Include unicode.tmac if device is utf8.
2468 * tmac/Makefile.sub (NORMALFILES): Add unicode.tmac.
2472 2005-03-02 Keith Marshall <keith.d.marshall@ntlworld.com>
2474 * src/libs/libdriver/printer.cpp (check_for_output_error): New
2475 function. It has been introduced to catch peculiar error contexts
2476 on MS-Windows platforms.
2478 2005-02-28 Werner LEMBERG <wl@gnu.org>
2480 * src/roff/troff/input.cpp (string_iterator::fill): Protect against
2483 * tmac/papersize.tmac: Convert `paper' string contents to lowercase.
2485 * configure: Regenerated.
2489 2005-02-28 Keith Marshall <keith.d.marshall@ntlworld.com>
2491 Integrate `pdfmark' into normal groff build system;
2492 install macro `pdfmark' packages, build and install `pdfroff',
2493 and PDF format documentation.
2495 * Makefile.comm: Add PDFDOCDIR.
2497 * Makefile.in: (MDEFINES) ALT_AWK_PROGS, ALT_GHOSTSCRIPT_PROGS,
2498 pdfdocdir, make_pdfdoc, make_install_pdfdoc: New variables.
2499 (unstall_dirs): Add pdfdocdir.
2501 * aclocal.m4: (GROFF_GHOSTSCRIPT_PREFS): New function; support
2502 `--with-alt-gs' option, set ALT_GHOSTSCRIPT_PROGS.
2503 (GROFF_GHOSTSCRIPT_PATH): Support `--with-gs' option, force use of
2504 GROFF_GHOSTSCRIPT_PREFS, set GHOSTSCRIPT.
2505 (GROFF_HTML_PROGRAMS): Force use of GROFF_GHOSTSCRIPT_PATH; tidy up.
2506 (GROFF_AWK_PREFS): New function; support `--with-alt-awk' option,
2508 (GROFF_AWK_PATH): New function; support `--with-awk' option, force
2509 use of GROFF_AWK_PREFS.
2510 (GROFF_PDFDOC_PROGRAMS): New function; force use of GROFF_AWK_PATH
2511 and GROFF_GHOSTSCRIPT_PATH, set make_pdfdoc and make_install_pdfdoc.
2513 * configure.ac: Add AC_PREREQ(2.59), GROFF_PDFDOC_PROGRAMS.
2514 Remove GROFF_GHOSTSCRIPT_PATH, (forced by GROFF_PDFDOC_PROGRAMS, and
2515 also by modified GROFF_HTML_PROGRAMS).
2517 2005-02-27 Gaius Mulley <gaius@glam.ac.uk>
2519 * src/devices/grohtml/html-text.cpp (html_text::do_pre): Preserve
2521 (html_text::done_para): Unset `start_space'.
2522 (html_text::remove_para_align): Call `retrieve_para_space' for the
2525 * src/devices/grohtml/post-html.cpp (html_printer::emit_raw): Unset
2527 (html_printer::do_check_center): Emit vertical space if necessary.
2529 * src/roff/troff/env.cpp (environment_switch): Preserve
2530 `seen_space', `seen_eol', and `suppress_next_eol' while switching
2533 * src/roff/troff/node.cpp (suppress_node::suppress_node): Set
2536 2005-02-20 Werner LEMBERG <wl@gnu.org>
2538 * src/preproc/eqn/eqn.man, NEWS: Document various extensions of
2541 2005-02-17 Werner LEMBERG <wl@gnu.org>
2543 * doc/pic.ms, man/groff.man: Fix typos.
2545 * doc/groff.texinfo: Fix typos.
2546 (\LEmacro): Get proper mathematical spacing.
2548 2005-02-16 Werner LEMBERG <wl@gnu.org>
2550 * aclocal.m4 (GROFF_APPRESDIR_CHECK): Improve warning message.
2551 * configure: Regenerated with autoconf 2.59b.
2553 2005-02-16 Gaius Mulley <gaius@glam.ac.uk>
2555 * src/devices/grohtml/post-html.cpp (html_printer::is_line_start,
2556 html_printer::start_font): Fix handling of preformatted text.
2558 2005-02-15 Gaius Mulley <gaius@glam.ac.uk>
2560 These patches modify the indentation implementation to use `<p
2561 style=margin-left: n%>'. Many thanks to Peter and Larry for
2562 suggesting this solution. Grohtml only uses tables for `.IP' and
2563 related tags when the first operand has a short width.
2565 Similarly, they modify all vertical space code. By default, grohtml
2566 sets up a style sheet which uses no vertical space between `table',
2567 `pre', and `p' tags. It forces spaces when it needs them using
2568 `style="margin-top: 1em"'.
2570 * src/devices/grohtml/html-table.cpp: Include `html-text.h'.
2571 (html_table::emit_table_header, html_table::emit_new_row):
2573 (html_table::set_space): New function.
2574 (html_indent::html_indent): Don't set `is_used'.
2575 (html_indent::begin): Rewritten.
2576 (html_indent::end): Remove code in function.
2578 * src/devices/grohtml/html-table.h: Updated.
2579 (html_table): Make `out' public.
2581 * src/devices/grohtml/html-text.cpp (html_text::html_text):
2582 Initialize `start_space' with FALSE.
2583 (html_text::end_tag) <P_TAG, PRE_TAG>: Updated.
2584 (html_text::issue_tag): Add argument to handle space style.
2585 (html_text::start_tag) <P_TAG, PRE_TAG>: Updated.
2586 (html_text::flush_text): Don't set `start_space'.
2587 (html_text::push_para): Don't set `p->really_issued'.
2588 (html_text::do_emittext): Updated.
2589 (html_text::do_para): Add paremeter to handle space.
2591 (html_text::retrieve_para_space): New function.
2593 * src/devices/grohtml/html-text.h (STYLE_VERTICAL_SPACE): New macro.
2594 (tag_definition): Remove `really_issued'.
2595 (html_text): Updated.
2597 * src/devices/grohtml/post-html.cpp (html_printer): Add variables
2598 `current_column' and `row_space'.
2600 (html_printer::emit_raw, html_printer::write_header,
2601 html_printer::do_indent, html_printer::do_check_center,
2602 html_printer::do_tab_ts): Handle vertical space.
2603 (html_printer:do_tab_te, html_printer::do_end_para): Call
2604 `remove_para_space'.
2605 (html_printer::do_col): Rewritten.
2606 (html_printer::flush_globs): Remove debugging code.
2607 (html_printer::is_line_start): New function.
2608 (html_printer::start_font): Use `is_line_start'.
2609 (html_printer::writeHeadMetaStyle): New function.
2610 (html_printer::do_file_components, html_printer::~html_printer):
2611 Call `writeHeadMetaStyle'.
2613 * tmac/www.tmac (www-handle-percent): New macro.
2614 (MPIMG): Handle percent values for width and height parameters.
2617 * tmac/groff_www.man: Updated.
2619 2005-02-14 Werner LEMBERG <wl@gnu.org>
2621 * src/utils/afmtodit/afmtodit.pl: Remove an incorrect `my' from
2622 $psname and $italic_angle.
2623 Immediately restart file input loops if `split' returns an empty
2626 2005-02-13 Michail Vidiassov <master@iaas.msu.ru>
2627 Werner LEMBERG <wl@gnu.org>
2629 Update afmtodit to better support Unicode (Michail).
2630 Update afmtodit to use Perl 5 syntax (Werner).
2632 * src/utils/afmtodit/afmtodit.pl: Don't use `getopts.pl' but
2634 Decorate variables with `my' where necessary.
2635 Use `defined' where necessary to avoid warnings.
2636 Don't use `do' for subroutine calls.
2637 Other minor syntax updates.
2638 Check for both `uXXXX[X[X]]' and `uniXXXX'.
2639 Handle glyph variants properly.
2640 (%unicode_decomposed, %AGL_to_unicode): Don't use `u' prefix in
2643 * src/utils/afmtodit/afmtodit.man: Updated.
2645 2005-02-13 Werner LEMBERG <wl@gnu.org>
2647 Make groff.texinfo work with texinfo 4.8.
2649 * doc/groff.texinfo (@Var): Use @r and @slanted.
2650 (@defdummy, @Def*): Use @c to avoid empty lines.
2651 (\angles): Replaced with...
2652 (\Langlemacro, \Ranglemacro): New TeX macros.
2653 (@Langlemacro, @Ranglemacro): New variables defined with @set.
2654 (@angles): Use @Langlemacro and @Ranglemacro.
2655 (\LE): Replaced with...
2656 (\LEmacro): New TeX macro.
2657 (@LEmacro): New variable defined with @set.
2658 (@LE): Use @LEmacro.
2659 (@Lparenmacro, @Rparenmacro, @Lbrackmacro, @Rbrackmacro): New
2660 variables defined with @set.
2661 (@lparen, @rparen, @lbrack, @rbrack): Replaced with...
2662 (@Lparen, @Rparen, @Lbrack, @Rbrack): New macros.
2665 Other minor updates.
2667 * doc/texinfo.tex: Update to texinfo version 4.8.
2669 * README.CVS: Updated.
2671 2005-02-09 Alejandro López-Valencia <palopez@etb.net.co> (tiny change)
2673 * doc/groff.texinfo (ms Document Control Registers): Document `HY'
2674 and `FAM' registers.
2676 2005-02-05 Werner LEMBERG <wl@gnu.org>
2678 * tmac/groff_mdoc.man, tmac/doc-common, tmac/doc-ditroff,
2679 tmac/doc-nroff, tmac/doc-old.tmac, tmac/doc-syms, tmac/doc.tmac:
2682 2005-02-01 Werner LEMBERG <wl@gnu.org>
2684 * src/roff/groff/groff.man: Add information about paper size.
2686 2005-01-25 Werner LEMBERG <wl@gnu.org>
2688 * src/roff/nroff/nroff.sh: Handle `*.ISO8859-1' in locale. From
2691 2005-01-22 Ruslan Ermilov <ru@FreeBSD.org>
2693 * tmac/doc.tmac (Sm): Improved. It didn't work properly in many
2695 (Re): Emit a warning if called without `.Rs'.
2696 (doc-finish-reference): Use parameter for decreasing
2697 `doc-reference-count'.
2698 (doc-print-reference): Pass specific count parameters to
2699 `doc-finish-reference'.
2701 2005-01-21 Werner LEMBERG <wl@gnu.org>
2703 * src/libs/libdriver/input.cpp (delete_current_env, do_file):
2704 Reset pointers to zero after deallocation. This fixes a crash
2705 if a driver is called with multiple input files. Reported by
2706 Ken Chilton <ken@chiltonfamily.org>.
2708 * src/devices/grops/grops.man: Add more info on DSC.
2710 2005-01-17 Ruslan Ermilov <ru@FreeBSD.org>
2712 * tmac/doc-common (Dd), tmac/doc-ditroff (gX, doc-setup-header):
2715 2005-01-17 Werner LEMBERG <wl@gnu.org>
2717 * src/roff/troff/div.cpp (top_level_diversion::space): Protect
2718 against division by zero.
2720 2005-01-13 Ruslan Ermilov <ru@FreeBSD.org>
2722 * tmac/doc.tmac (Ef): Restore doc-curr-font and doc-curr-size.
2724 2004-12-19 Werner LEMBERG <wl@gnu.org>
2726 * install-sh: New version; taken from texinfo CVS.
2728 2004-12-17 Werner LEMBERG <wl@gnu.org>
2730 * tmac/devtag.tmac: Protect against loading twice.
2731 Protect agains compatibility mode.
2732 * tmac/www.tmac: Protect against loading twice.
2733 Load `devtag.tmac' before switching off compatibility mode.
2734 * tmac/an-old.tmac, tmac/s.tmac: Load `devtag.tmac'.
2736 2004-12-16 Mike Bianchi <mbianchi@Foveal.com>
2738 * configure.ac: Produce `contrib/gdiffmk/tests/runtests'.
2739 * configure: Updated.
2741 2004-12-15 Thomas Klausner <wiz@netbsd.org>
2743 * tmac/doc-syms, tmac/groff_mdoc.man: Add `libpam' library.
2745 2004-12-15 Werner LEMBERG <wl@gnu.org>
2747 Make `test-groff' work again -- previously, wrong paths have been
2748 used. Additionally, it can now be called from anywhere.
2750 * test-groff.in: Don't test for groff binary. This is no longer
2751 necessary since the proper paths are determined by `configure'.
2752 (EXEEXT): Removed. No longer used.
2753 (srcdir, builddir): Use values provided by the configure script.
2754 (XENVIRONMENT): Updated.
2758 2004-12-14 Gaius Mulley <gaius@glam.ac.uk>
2760 Make .tag and .taga work for all devices (but only grohtml actually
2763 * src/devices/grohtml/post-html.cpp: s/html-tag/devtag/.
2764 (text_glob::is_br, page::add_tag, html_printer::troff_tag,
2765 html_printer::handle_assertion): Don't use hard-coded string
2767 (html_printer::lookahead_for_table): Reset `tbl' properly if
2769 (html_printer::devtag): New function, handling `devtag'.
2770 (html_printer::special): Don't handle `html-tag'.
2772 * src/include/printer.h, src/libs/libdriver/printer.cpp
2773 (printer::devtag): New virtual function.
2775 * src/libs/libdriver/input.cpp (parse_x_command) <'X'>: Handle
2778 * src/roff/troff/env.cpp, src/roff/troff/mtsm.cpp,
2779 src/roff/troff/node.cpp: s/html-tag/devtag/.
2781 * src/roff/troff/input.cpp (tag, taga): Always call
2784 * tmac/an-old.tmac, tmac/s.tmac, tmac/troffrc-end: Use DEVTAG*
2785 macros instead of HTML-TAG*.
2787 * tmac/devtag.tmac: New file, defining the DEVTAG-* macros.
2789 * tmac/www.tmac: Load devtag.tmac.
2790 Replace HTML-TAG* macros with DEVTAG* macros.
2791 (HTML, HTML-NS): Changed definitions.
2793 (HTML-TAG, HTML-TAG-NS, HTML-TAG-NEXT): Removed.
2795 * tmac/Makefile.sub (NORMALFILES): Add devtag.tmac.
2797 2004-12-10 Werner LEMBERG <wl@gnu.org>
2799 Import Mike's `gdiffmk' package.
2801 * contrib/gdiffmk/*: New files.
2802 * Makefile.in (OTHERDIRS): Add contrib/gdiffmk.
2805 2004-12-08 Werner LEMBERG <wl@gnu.org>
2807 Import Keith's `pdfmark' package. Integration is very preliminary.
2809 * contrib/pdfmark/*: New files.
2810 * Makefile.in (OTHERDIRS): Add contrib/pdfmark.
2813 2004-12-07 Gaius Mulley <gaius@glam.ac.uk>
2815 Fix a bug with title handling in HTML.
2817 * src/devices/grohtml/post-html.cpp (text_glob::is_nf,
2818 text_glob::is_fi, text_glob::is_ce): Use strlen to compute string
2820 (html_printer::handle_tag_within_title): New function.
2821 (html_printer::do_title): Use it.
2823 * tmac/s.tmac (TL): Don't set `need_eo_tl'.
2824 (cov*tl-au-print): Emit `.eo.tl' tag.
2826 2004-12-05 Alejandro López-Valencia <dradul@etb.net.co>
2828 * man/groff_char.man: Minor imrovements.
2830 2004-12-04 Werner LEMBERG <wl@gnu.org>
2832 * src/preproc/eqn/eqn.man: Revised.
2834 2004-11-25 Werner LEMBERG <wl@gnu.org>
2836 * src/utils/xtotroff/xtotroff.c: Reformat to be similar to other
2840 Remove X_NOT_STDC_ENV conditional.
2841 (Version_string, program_name): New global variables.
2842 (groff_flag): Removed.
2844 (usage): Take a stream as argument.
2847 (main): Add `long_options' array for `--help' and `--version'.
2848 Make `-g' a dummy option.
2849 Handle `-v' and unknown options.
2850 Remove unused `position' variable.
2852 * src/utils/xtotroff/Makefile.sub (MAN1): Define.
2853 (XLIBS): Add LIBGROFF.
2855 * src/utils/xtotroff/xtotroff.man, src/utils/xtotroff/Makefile.in:
2858 * src/devices/xditview/Dvi.c (default_font_map): Split into three
2859 parts to avoid compiler warning.
2860 (resources): Don't initialize with `default_font_map'.
2861 (ClassInitialize): Initialize first element of `resources'.
2863 * src/devices/xditview/Makefile.sub (devdir, xtotroff, DPIS, fonts):
2866 * src/utils/lkbib/lkbib.man, src/utils/lookbib/lookbib.man,
2867 src/utils/pfbtops/pfbtops.man: Revised, updated.
2869 * configure.ac: Generate src/utils/xtotroff/Makefile.
2870 * configure: Regenerated.
2872 2004-11-24 Werner LEMBERG <wl@gnu.org>
2874 First fixes to get produce HTML.
2876 * src/devices/grohtml/post-html.cpp (generate_img_src): Add `alt'
2879 * tmac/www.tmac (IMG, PIMG, MPIMG): Add `alt' attribute.
2880 (HR, LI): Use `HTML</p>', not `HTML'.
2882 * doc/webpage.ms: Minor updates.
2884 2004-11-23 Larry Kollar <kollar@alltel.net>
2886 Add option -S grohtml to determine the file split level.
2888 * src/devices/grohtml/post-html.cpp (split_level): New global
2890 (html_header::determine_header_level): Use split_level.
2891 (main): Handle `-S' command line option.
2894 * src/preproc/html/pre-html.cpp (scanArguments): Updated.
2896 * src/devices/grohtml/grohtml.man: Document it.
2899 * NEWS: Document it.
2901 2004-11-23 Y T <doarhop@hotmail.com>
2903 * tmac/s.tmac (ref*add-V, ref*add-N): New macros for handling
2904 the volume and number refer entries.
2906 2004-11-22 Werner LEMBERG <wl@gnu.org>
2908 * src/devices/grohtml/html-table.cpp
2909 (html_table::emit_table_header): Don't emit `cols' attribute which
2910 doesn't exist in HTML 4.0 and is thus invalid.
2912 * NEWS: More minor fixes and updates.
2914 2004-11-18 Werner LEMBERG <wl@gnu.org>
2916 * tmac/www.tmac (HTML-NS, HTML-TAG-NS, HTML-TAG-NEXT): Simplified.
2917 (HTML</p>): Minor clean-up.
2919 * tmac/groff_www.man: Updated.
2921 * src/devices/grohtml/grohtml.man: Revised and updated.
2925 2004-11-18 Gaius Mulley <gaius@glam.ac.uk>
2927 * src/devices/grohtml/post-html.cpp (html_printer::do_heading):
2928 Fix space insertion.
2929 (html_printer::do_links): Fix rules generation around automatic
2932 * tmac/www.tmac (LK): Use HTML-TAG-NS.
2934 No longer emit empty line for non-HTML devices.
2936 2004-11-17 Werner LEMBERG <wl@gnu.org>
2938 * doc/Makefile.in (prepare_examples, webpage.html): Handle
2941 * doc/Makefile.sub (EXAMPLEFILES, CLEANNOTSRCDIRADD,
2942 prepare_examples, webpage.html): Handle `groff.css'.
2944 2004-11-15 Werner LEMBERG <wl@gnu.org>
2946 * NEWS, README, doc/webpage.ms: Updated.
2948 * tmac/www.tmac (HTML, HTML-TAG): Minor clean-ups.
2950 2004-10-30 Gaius Mulley <gaius@glam.ac.uk>
2952 * src/include/printer.h (printer): Remove virtual function
2954 Update all source files.
2956 * src/devices/grohtml/post-html.cpp (html_printer): New member
2957 function `round_width'.
2959 2004-10-20 Tadziu Hoffmann <hoffmann@usm.uni-muenchen.de>
2961 * src/preproc/tbl/table.cpp (table::do_row): Fix handling of the `d'
2962 column key letter suffix.
2964 2004-10-14 Werner LEMBERG <wl@gnu.org>
2966 * Makefile.in (check): Depend on `site.exp' and `docheck'.
2967 (docheck): Run dejagnu's `runtest' if it exists.
2968 (site.exp): Create dejagnu configuration file.
2970 * Makefile.sub (DISTCLEANFILES): Add files related to dejagnu.
2972 2004-10-13 Werner LEMBERG <wl@gnu.org>
2974 * src/devices/grohtml/html-text.cpp (html_text_get_alignment),
2975 src/devices/grohtml/post-html.cpp (make_val,
2976 html_printer::handle_state_assertion): Fix compiler warnings.
2978 * src/roff/troff/div.cpp: Include `stringclass.h' and `mtsm.h'.
2979 (diversion::diversion): Fix order of initializers.
2981 * src/roff/troff/div.h: Don't include `mtsm.h'.
2983 * src/roff/troff/env.cpp: Include `stringclass.h' and `mtsm.h'.
2984 (environment::environment): Fix order of initializers.
2985 (environment::make_tag, environment::construct_format_state): Fix
2988 * src/roff/troff/input.cpp: Include `stringclass.h' and `mtsm.h'.
2989 (input_iterator::input_iterator, macro::macro): Fix order of
2992 * src/roff/troff/mtsm.cpp: Include only necessary header files.
2993 (state_set::add, state_set::val): Fix compiler warnings.
2995 * src/roff/troff/mtsm.h: Don't include `stringclass.h'.
2996 (bool_value_state, int_value_state, units_value_state,
2997 string_value_state): Remove comma after last element which causes
2998 an error with g++ 3.3.3.
3000 * src/roff/troff/node.cpp: Include `stringclass.h'.
3001 (hline_node::hline_node, vline_node::vline_node,
3002 space_char_hmotion_node, left_italic_corrected_node): Fix compiler
3004 (zero_width_node::zero_width_node): Fix order of initializers.
3006 * src/roff/troff/node.h: Don't include `mtsm.h'.
3007 (hmotion_node): Fix compiler warnings.
3009 * src/roff/troff/number.cpp: Include `stringclass.h' and `mtsm.h'.
3011 2004-10-12 Gaius Mulley <gaius@glam.ac.uk>
3013 * doc/groff.css: New file.
3015 * doc/webpage.ms: Use `groff.css'.
3018 * tmac/an-old.tmac (need_eo_h): New number register.
3019 (TH): Emit `.eo.tl' tag after title.
3020 (SH): Set `need_eo_h'.
3021 (an-trap): Handle `need_eo_h'.
3022 (an-do-tag): s/HTML-TAG-NS/HTML-TAG-NEXT/.
3024 * tmac/s.tmac (need_eo_h, need_eo_tl): New number registers.
3025 (TL): Always start diversion.
3027 (@AI): Always call `par@reset'.
3028 (@AB): Update code for -Thtml.
3029 (cov*tl-au-print): Handle -Thtml.
3030 (par@reset): Handle `need_eo_tl', `need_eo_h'.
3032 (@IT-html): Removed.
3033 (@SH): Set `need_eo_h' for -Thtml.
3034 (par@TL): s/HTML-TAG/HTMl-TAG-NS/.
3036 (@NH): s/HTML-TAG/HTMl-TAG-NS/.
3037 Set `need_eo_h' for -Thtml.
3038 (@EQ, @EN): Don't handle -Thtml specially.
3039 (par@load-init): Don't handle -Thtml specially.
3041 * tmac/www.tmac (www:paraspace): New macro.
3042 (HTML-NS, HTML-TAG-NS): Use new `tag' request.
3043 (HTML</p>, HTML-TAG-NEXT): New macros.
3044 (HnE): Emit tag `.eo.h' instead of break.
3045 (HR): s/HTML-NS/HTML/.
3046 (www-end-nowhere): End diversion only if `www-html' not set.
3048 (ULS, ULE): s|HTML|HTML</p>|.
3049 (LI): Call `www:paraspace'.
3052 2004-10-11 Gaius Mulley <gaius@glam.ac.uk>
3054 * src/roff/troff/request.h (macro): Make `p' public.
3055 New variable `is_a_diversion'.
3056 New member function `is_diversion'.
3059 * src/devices/grohtml/html.h (simple_output): New member function
3062 * src/devices/grohtml/html-table.cpp (tabs::compatible): Fix
3063 computation of `total'.
3064 (tabs::check_init): New function.
3065 (html_table::emit_table_header): Emit style data.
3066 (html_table::insert_column): Improved.
3068 * src/devices/grohtml/html-table.h: Updated.
3070 * src/devices/grohtml/html-text.cpp (html_text::html_text):
3071 Initialize `start_space' with TRUE.
3072 (html_text::end_tag, html_start_tag): Fix `P_TAG' and `PRE_TAG'
3074 (html_text::flush_text): Set `start_space' flag.
3075 (html_text::uses_indent, html_text::remove_para_space,
3076 html_text::get_alignment): New functions.
3077 (html_text::push_para): Updated.
3078 (html_text::do_para): Check for empty argument.
3079 Don't set `space_emitted'.
3080 (html_text::do_space, html_text::emit_space): Updated.
3082 * src/devices/grohtml/html-text.h (tag_definition): New variable
3084 (html_text): New member function `uses_indent', `remove_para_space',
3087 * src/devices/grohtml/output.cpp (simple_output::force_nl): New
3089 (simple_output:nl): Always emit `\n'.
3091 * src/devices/grohtml/post-html.cpp: Include `string.h'.
3092 (BASE_POINT_SIZE): Removed.
3093 (base_point_size, head_info): New global variables.
3094 (text_glob): New member functions `is_ll', `is_tl', `is_eo_tl',
3096 (text_glob::is_nf, text_glob::is_fi): Handle `.fi 0' and `.fi 1'
3098 (page::add_and_encode): Pass additional parameter for tag flag.
3099 (assert_pos): New structure.
3100 (assert_state): New class.
3101 (html_printer): Remove `indentation', `prev_indent'.
3102 Add variables `troff_indent', `device_indent', `temp_indent'.
3103 Add variables `seen_indent', `next_indent', `seen_pageoffset',
3104 `next_pageoffset', `seen_linelenght', `next_linelength',
3105 `seen_center', `next_center', `seen_space', `seen_break', `as'.
3106 Add member functions `do_check_center', `do_space', `do_head',
3107 `get_troff_indent', `restore_troff_indent', `handle_assertion',
3108 `handle_state_assertion', `do_end_para', `set_char_and_width'.
3109 Change argument to `do_fill' to `char *'.
3111 (html_printer::emit_raw): Call `shutdown_table'.
3113 (html_printer::do_center): Simplified.
3114 (html_printer::do_title): Improved.
3115 (html_printer::write_header): Emit one more newline.
3117 (html_printer::do_heading, html_printer::do_indent,
3118 html_printer::do_eol, html_printer::do_tab_ts,
3119 html_printer::do_tab, html_printer::do_tab0,
3120 html_printer::calc_po_in, html_printer::next_horiz_pos,
3121 html_printer::remove_courier_tabs,
3122 html_printer::insert_tab0_foreach_tab, html_printer::begin_page):
3124 (html_printer::do_linelength, html_printer::do_pageoffset,
3125 html_printer::do_indentation, html_printer::do_tempindent,
3126 html_printer::do_tab_te): Simplified.
3127 (html_printer::do_pointsize): Check whether point size is really
3128 associated a `.tl' tag.
3129 (html_printer::do_break): Rewritten.
3130 (html_printer::troff_tag): Improved.
3131 (html_printer::flush_globs): Updated.
3132 (html_printer::lookahead_for_tables): Handle `is_br'.
3134 (html_printer::set_char): Check `sbuf_style.f'.
3135 (html_printer::write_navigation): Use string comparison.
3136 (html_printer::~html_printer): Emit `head_info'.
3137 (html_printer::special): Rewritten.
3138 (get_str, make_val): New functions.
3139 (main): New option `s' to set the base point size.
3141 * src/preproc/html/pre-html.cpp (scanArguments): Handle option `s'.
3143 2004-10-10 Gaius Mulley <gaius@glam.ac.uk>
3145 * src/roff/troff/node.cpp: New extern `debug_state'.
3146 Include `stringclass.h' and `mtsm.h'.
3147 Implement new classes and class members from `node.h'.
3148 (real_output_file): Make `fp' public.
3149 (troff_output_file): New variables `cur_div_level' and `tag_list'.
3150 Update constructors.
3151 (troff_output_file::really_print_line): Check whether we should push
3152 the current troff state and use the state at the start of the
3153 invocation of this diversion.
3154 (troff_output_file::add_to_tag_list): New member function.
3155 (node::add_char): Handle `glyph_comp_np'.
3157 * src/roff/troff/node.h: Include `mtsm.h'.
3158 (node): New variables `state', `push_state', `div_nest_level',
3159 `is_special'. Update constructors, all descendants.
3160 Pass additional argument to `add_char' member function.
3161 New virtual member functions `is_tag', `debug_node',
3162 `debug_node_list'. Update all descendants.
3163 (tag_node): New class for handling tags.
3164 (output_file): Add variable `state'.
3166 2004-10-09 Gaius Mulley <gaius@glam.ac.uk>
3168 * src/roff/troff/mtsm.cpp, src/roff/troff/mtsm.h: New files,
3169 providing a minimal troff state machine to emit meta tags for the
3170 post-grohtml device driver.
3172 * src/roff/troff/Makefile.sub (OBJS, CCSRCS, HDRS): Handle new
3175 2004-10-09 Werner LEMBERG <wl@gnu.org>
3177 * tmac/trace.tmac: Fix handling of `am' and `am1' calls.
3179 2004-10-06 Gaius Mulley <gaius@glam.ac.uk>
3181 * src/roff/troff/column.cpp (vjustify_node::copy): Updated.
3183 * src/roff/troff/div.h: Include `mtsm.h'.
3184 (diversion): New variables `any_chars_added', `needs_push',
3185 `saved_seen_break', `saved_seen_space', `saved_seen_eol',
3186 `saved_suppress_next_eol', `modified_tag'.
3187 New virtual member function `is_diversion'. Update all descendants.
3189 * src/roff/troff/div.cpp (diversion::diversion,
3190 macro_diversion::macro_diversion): Updated.
3191 (do_divert): Handle `seen_break', `seen_space', `seen_eol',
3192 `suppress_next_eol'.
3193 (top_level_diversion::space): Handle `curenv->seen_space'.
3194 (page_offset): Update tag handling.
3195 (space_request, blank_line, flush_output): Don't call `add_html_tag'.
3197 * src/roff/troff/env.h (environment): Make `tabs' public.
3198 Remove `ignore_next_eol', `emitted_node'.
3199 Update `output_line', `output'.
3200 New variables `seen_space', `seen_eol', `suppress_next_eol',
3202 New member functions `construct_state', `make_tag',
3203 `construct_format_state, `construct_new_line_state,
3205 Remove `add_html_tag', `make_html_tag'.
3207 * src/roff/troff/env.cpp: New externs `suppress_push',
3208 `get_diversion_state', `global_diverted_space'.
3209 (pending_output_line): New variable `was_centered'.
3210 Update constructor and all callers.
3211 (pending_output_line::output): Call `curenv->construct_format_state'.
3212 (environment::environment, environment::copy): Updated.
3213 (environment::output): Handle `was_centered'.
3214 (environment::add_char): Handle construct and diversion state.
3215 (environment::add_node): Handle construct state.
3216 (environment::newline): Handle `was_centered'.
3217 (environment::output_line): Updated.
3218 (environment::possibly_break_line): Updated.
3219 Update tag handling.
3220 (environment::add_html_tag): Replaced with...
3221 (environment::make_tag): New function.
3222 (environment::add_html_tag_tabs, environment::make_html_tag): Removed.
3223 (environment::dump_troff_state): New debugging function.
3224 (environment::construct_state, environment::construct_format_state,
3225 environment::construct_new_line_state): New functions.
3226 (environment::do_break): Updated.
3227 Handle `global_diverted_space'.
3228 (environment::handle_tag): Update tag handling.
3229 (point_size, fill, do_break_request): Don't call `add_html_tag'.
3230 (no_fill): Don't call `add_html_tag'.
3231 Set `suppress_next_eol'.
3232 (center, right_justify, line_length, indent, temporary_indent,
3234 Update tag handling.
3236 * src/roff/troff/input.cpp: Don't include `stringclass.h'.
3237 (input_iterator): New variables `is_diversion', `diversion_state'.
3238 Update constructors.
3239 (input_stack): New member functions `get_div_level',
3240 `get_diversion_state', `check_end_diversion'.
3241 New variables `div_level', `diversion_state'. Initialize them.
3242 (suppress_push, global_diverted_space): New global variables.
3243 (input_stack::finish_get, input_stack::finish_peek,
3244 input_stack::remove_boundary, input_stack::end_file,
3245 input_stack::clear, input_stack::pop_macro): Call
3246 `check_end_diversion'.
3247 (input_stack::push): Handle `div_level' and `diversion_state'.
3248 (get_diversion_state): New function.
3249 (diverted_space_node::reread): Handle `global_diverted_space'.
3250 (macro::macro): Update constructors.
3251 (macro::is_diversion): New function.
3252 (macro::operator=): Set `is_a_diversion'.
3253 (string_iterator): New member function `is_diversion'.
3254 (string_iterator::string_iterator): Update constructors.
3255 (string_iterator::fill): Set `div_nest_level'.
3256 (macro_iterator): New member function `is_diversion'.
3257 (do_if_request): Handle `suppress_push'.
3258 (tag, taga): New functions.
3259 (init_input_requests): Add `tag' and `taga' requests.
3261 2004-10-05 Gaius Mulley <gaius@glam.ac.uk>
3263 * src/include/font.h (font): New member function
3264 `get_image_generator'.
3265 New variables `unscaled_charwidths' and `image_generator'.
3267 * src/libs/libgroff/font.cpp (font::get_width): Always return the
3268 character's unscaled width if `font::unscaled_charwidths' is set.
3269 (font::get_image_generator): New function.
3270 (font::load_desc): Check the `unscaled_charwidths' and
3271 `image_generator' keywords.
3273 * src/libs/libgroff/fontfile.cpp: Initialize
3274 `font::unscaled_charwidths' and `font::image_generator'.
3276 * font/devhtml/DESC.proto: s/html/unscaled_charwidths/.
3278 * font/devhtml/Makefile.sub (DESC): Set `image_generator' keyword.
3280 * man/groff_font.man: Document `unscaled_charwidths' and
3283 * src/preproc/html/pre-html.cpp: Include `device.h'.
3284 (image_gen): New global variable.
3285 (imageList::createPage): Use `image_gen'.
3286 (main): Use `image_generator' keyword.
3288 2004-10-04 Gaius Mulley <gaius@glam.ac.uk>
3290 * tmac/html.tmac: Handle \[sqrtex].
3292 2004-10-04 Gaius Mulley <gaius@glam.ac.uk>
3294 * src/include/printer.h (printer): New virtual method `round_width'.
3296 * src/devices/grodvi/dvi.cpp, src/devices/grolbp/lbp.cpp,
3297 src/devices/grolj4/lj4.cpp, src/devices/grops/ps.cpp,
3298 src/devices/grotty/tty.cpp (printer::round_width): New function
3301 * src/devices/grohtml/post-html.cpp (printer::round_width): New
3303 (html_printer::set_numbered_char): Use it.
3305 2004-10-03 Gaius Mulley <gaius@glam.ac.uk>
3307 * aclocal.m4 (GROFF_GHOSTSCRIPT_PATH): New macro.
3309 * configure.ac: Call GROFF_GHOSTSCRIPT_PATH.
3311 * configure: Regenerated.
3313 * Makefile.in (GHOSTSCRIPT): New variable.
3314 (MDEFINES): Add GHOSTSCRIPT.
3316 2004-10-03 Werner LEMBERG <wl@gnu.org>
3318 * INSTALL.gen: Updated (taken from texinfo CVS).
3320 2004-09-28 Werner LEMBERG <wl@gnu.org>
3324 2004-09-28 Heinz-Jürgen Oertel <hj.oertel@surfeu.de>
3326 * tmac/groff_www.man: Revised and updated.
3328 2004-09-26 Werner LEMBERG <wl@gnu.org>
3330 Fix \$@ and \$* to handle any number of arguments.
3332 * src/roff/troff/input.h (BEGIN_QUOTE, END_QUOTE): New special
3335 * src/roff/troff/input.cpp (input_iterator::internal_level):
3337 (input_stack): New member functions `increase_level' and
3339 (input_stack::get_level): Don't use `internal_level'.
3340 (get_copy, token::next): Handle BEGIN_QUOTE and END_QUOTE.
3341 (end_quote_iterator): Completely removed.
3342 (interpolate_arg): Build string for \$@ and \$* which is then
3343 pushed onto the input stack.
3345 2004-09-23 Keith Marshall <keith.d.marshall@ntlworld.com>
3347 * tmac/groff_ms.man, doc/groff.texinfo (ms Document Control
3348 Registers): Document changes from 2004-09-19.
3350 2004-09-23 Werner LEMBERG <wl@gnu.org>
3352 * tmac/an-old.tmac (ne): Using default scaling operator.
3354 2004-09-19 Keith Marshall <keith.d.marshall@ntlworld.com>
3356 This change implements the following features:
3359 New numeric register: Defines number of lines following LP, PP,
3360 QP, IP or XP, which must be kept together, before any automatic
3361 page break. If insufficient space remains on the current page, a
3362 page break is forced before the new paragraph begins.
3365 New numeric register: Sets number of lines of following paragraph
3366 which must be kept with a heading, defined by NH or SH, before any
3367 automatic page break. If insufficient space remains on the
3368 current page, a page break is forced before the heading.
3371 (Thanks to Joerg van den Hoff, for this idea).
3373 New numeric register: Sets the first level of heading (set with
3374 NH), which will keep the same point size as body text; e.g. if
3375 GROWPS is set to 3, .NH 3, .NH 4, ... will produce headings at the
3376 point size specified by \n[PS], but .NH 2 and .NH 1 will have
3377 progressively larger point sizes, determined by \n[PSINCR] (see
3381 New numeric register: Sets the point size increment for each level
3382 of heading, (set with NH), below the threshold level set by
3383 GROWPS; e.g. if \n[PS] = 10, \n[GROWPS] = 3 and \n[PSINCR] = 2.0p,
3384 then .NH 1 will produce 14pt headings, .NH 2 will produce 12pt,
3385 and all other levels will remain at 10pt, (because \n[PS] = 10).
3388 Existing macro now accepts a numeric argument, to make heading
3389 size match that of NH with same argument value, when the
3390 GROWPS/PSINCR feature is enabled.
3393 New string, set by NH macro, replaces the existing (undocumented)
3394 use of SN, to represent the assigned section number.
3397 New string, set by NH macro, represents the assigned section
3398 number, but omits the terminal period (periods at intermediate
3399 levels are retained).
3402 String set by NH macro, originally undocumented, now implemented
3403 as an alias for SN-DOT (which reproduces original behaviour).
3405 * tmac/s.tmac (PORPHANS): New register.
3406 (par*start): Use it.
3407 (HORPHANS, GROWPS, PSINCR): New registers.
3408 (SH-NO-TAG, @SH): Use them.
3411 2004-09-19 Keith Marshall <keith.d.marshall@ntlworld.com>
3413 * NEWS, doc/groff.texinfo (ms Display and Keeps), tmac/groff_ms.man:
3414 Document the deletion of `Ds' and `De' macros.
3416 2004-09-10 Werner LEMBERG <wl@gnu.org>
3418 In tbl, handle \a as an interpreted leader character if in
3421 * src/preproc/tbl/table.h (PREFIX, PREFIX_CHAR, LEADER,
3422 LEADER_CHAR): New macros.
3423 (compatible_flag): New declaration.
3425 * src/preproc/tbl/main.cpp (table_input): Add LEADER_1, LEADER_2,
3426 LEADER_3, and LEADER_4 to `state'.
3427 (table_input::get): Handle `\a'.
3429 * src/preproc/tbl/table.cpp (PREFIX): Removed.
3430 (LEADER_REG): New macro.
3431 (table::init_output): Define LEADER_REG string register if in
3434 * src/preproc/tbl/tbl.man: Document it.
3436 2004-08-18 Werner LEMBERG <wl@gnu.org>
3438 * tmac/doc.tmac (An): Fix error message.
3440 2004-08-06 Werner LEMBERG <wl@gnu.org>
3442 * src/preproc/tbl/main.cpp (main): Call `fatal' not `error' if a
3443 file can't be opened. UNIX tbl has the same behaviour.
3445 2004-08-05 Y T <doarhop@hotmail.com>
3447 * src/preproc/grn/hdb.cpp (compatibility_flag): Add declaration.
3448 (DBRead): If in compatibility mode, take into account the text
3449 when computing figure boundaries.
3451 2004-08-05 Werner LEMBERG <wl@gnu.org>
3453 * src/preproc/soelim/soelim.man: Improved. Based on suggestions
3454 from Tadziu Hoffmann.
3456 2004-08-03 Werner LEMBERG <wl@gnu.org>
3458 * doc/meref.me: Document `_M' register.
3460 2004-08-03 Martin Husemann <martin@duskware.de>
3462 Make hpftodit work correctly on big-endian systems.
3464 * src/utils/hpftodit/hpftodit.cpp (File): New method
3465 `get_uint32(char *)'.
3466 (entry): New member `orig_value'.
3467 (read_tags): Use new method.
3468 (output_font_name, read_and_output_pcltypeface, dump_ascii):
3471 2004-08-01 Werner LEMBERG <wl@gnu.org>
3473 * tmac/s.tmac: Undo change 2003-06-29. The proper macro definitions
3474 are already in X11's `macros.t' file.
3476 2004-08-01 Jeff Conrad <jeff_conrad@msn.com>
3478 * src/utils/hpftodit/hfptodit.cpp (output_font_name, dump_ascii):
3480 (read_and_output_pcltypeface): Handle strings with length <= 4.
3482 2004-07-27 Egil Kvaleberg <egil@kvaleberg.no>
3484 * tmac/s.tmac (pg@top): Don't save `PO' register.
3485 (pg*end-col, pg*end-page): Directly use `PO' register.
3487 2004-07-27 Werner LEMBERG <wl@gnu.org>
3489 * man/groff_tmac.man: Mention `trace' and `pic' macro packages.
3491 * src/preproc/refer/refer.cpp (output_references): Check for
3493 * src/preproc/refer/refer.man: Improve documentation of
3494 `bibliography' command.
3496 2004-07-26 Werner LEMBERG <wl@gnu.org>
3498 Add requests `fcolor' and `gcolor'.
3500 * src/roff/troff/env.cpp (fill_color_change, glyph_color_change):
3502 (init_env_requests): Add `fcolor' and `gcolor'.
3504 * src/roff/troff/input.h: Export do_glyph_color and do_fill_color.
3506 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo
3507 (Colors): Document new requests.
3509 2004-07-24 Werner LEMBERG <wl@gnu.org>
3511 Add support for fractional point sizes in ms macros. A value for
3512 PS, VS, FPS, and FVS greater than or equal to 1000 is always divided
3513 by 1000. For example, `.nr PS 10250' sets the font size to 10.25p.
3515 * tmac/s.tmac (@AU, @AI, par@load-init, par@init, par@reset, NL,
3516 PX): Handle fractional point sizes for PS, VS, FPS, and FVS.
3518 * tmac/groff_ms.man, docs/groff.texinfo (ms Document Control
3519 Registers), NEWS: Document it.
3521 2004-07-19 Werner LEMBERG <wl@gnu.org>
3523 * src/preproc/pic/lex.cpp (for_input): Add member `from'.
3525 (do_for, for_input::get, for_input::peek): Handle negative `by'.
3526 * src/preproc/pic/pic.man, doc/pic.ms, NEWS: Document it.
3528 2004-07-08 Thomas Klausner <wiz@netbsd.org>
3530 * tmac/doc-syms (doc-str-St--p1003.1-2004): New string.
3531 * tmac/groff_mdoc.man: Updated.
3533 2004-07-05 Werner LEMBERG <wl@gnu.org>
3535 * doc/groff.texinfo (Manipulating Hyphenation): Further improve
3536 documentation of `hcode'.
3538 2004-07-04 Sang Dae Yu <sdyu@bh.knu.ac.kr>
3540 Improve appearance of arrows in pic.
3542 * src/preproc/pic/object.cpp (draw_arrow): Make outline of filled
3544 Use two line segments for drawing non-filled arrow head.
3545 (line_object::print, spline_object::print): Shorten line length to
3546 avoid arrow sticking.
3547 (arc_object::print): Take arrow direction into account.
3549 2004-07-03 Heinz-Jürgen Oertel <hj.oertel@surfeu.de>
3551 * tmac/groff_www.man: Update documentation of .MPIMG.
3553 2004-07-03 Werner LEMBERG <wl@gnu.org>
3555 * tmac/an-old.tmac (RI): Always start with font `R'.
3556 (RI, IR): Properly end with font `R'.
3558 2004-07-02 Paul Eggert <eggert@cs.ucla.edu>
3560 * man/ditroff.man, man/groff_font.man, man/groff_out.man,
3561 src/devices/grohtml/grohtml.man, src/preproc/grn/grn.man,
3562 src/preproc/pic/pic.man, tmac/groff_man.man, tmac/groff_ms.man:
3563 Don't pass more than six arguments to .R, .I, .B, etc., for
3564 compatibility with traditional troff macros.
3566 2004-07-02 Werner LEMBERG <wl@gnu.org>
3568 * src/roff/troff/input.h: s/COMPATIBLE_SAVE/PUSH_GROFF_MODE/.
3569 s/COMPATIBLE_RESTORE/POP_GROFFCOMP_MODE/.
3571 (PUSH_COMP_MODE): New internal character constant.
3574 * src/roff/troff/input.cpp (get_copy): Handle PUSH_GROFF_MODE,
3575 PUSH_COMP_MODE, and POP_GROFFCOMP_MODE.
3576 (token::next, macro::append): Handle PUSH_COMP_MODE.
3577 (decode_args): Add PUSH_GROFF_MODE or PUSH_COMP_MODE before and
3578 POP_GROFFCOMP after each of the decoded arguments to make them
3579 independent from the compatibility mode status.
3580 (comp_mode): Add `COMP_ENABLE'.
3581 (do_define_string, do_define_macro): Handle COMP_ENABLE.
3582 (define_string, append_string, define_macro, define_indirect_macro,
3583 append_macro, append_indirect_macro): Handle `compatible_flag'.
3584 (chop_macro, substring_request, asciify): Handle PUSH_COMP_MODE.
3586 * man/groff_diff.man, doc/groff.texinfo: Updated.
3588 2004-07-01 Werner LEMBERG <wl@gnu.org>
3590 * doc/groff.texinfo: Improve documentation of `hcode'.
3591 Use @documentencoding and convert document to latin-1; to do that
3592 make latin characters active and assign proper macros (within a
3593 @tex...@end tex environment).
3594 * doc/Makefile.in (.texinfo.html, groff): Use --enable-encoding.
3595 * doc/Makefile.sub (groff): Ditto.
3597 2004-06-29 Werner LEMBERG <wl@gnu.org>
3599 Implement two new conditional operators `F <name>' and `S <name>'
3600 which check whether <name> is a valid font or style, respectively.
3602 * src/libs/libgroff/font.cpp (text_file): Add `silent' member.
3603 (text_file::text_file): Updated.
3604 (text_file::error): Don't emit message if `silent' is set.
3605 (font::load_font): Add optional third argument (which is directly
3607 (font::load): Add optional second argument to check the header of
3608 a font only, without emitting warning or error messages.
3609 * src/include/font.h (font): Updated.
3611 * src/roff/troff/input.cpp (do_if_request): Implement `S' and `F'
3613 * src/roff/troff/node.cpp (mount_font_no_translate): Add optional
3614 fourth argument to check a font without mounting.
3615 (check_font, check_style): New functions.
3616 * src/roff/troff/node.h: Updated.
3618 * man/groff_diff.man, man/groff.man, NEWS, doc/groff.texinfo:
3621 2004-06-27 Werner LEMBERG <wl@gnu.org>
3623 Implement new string-valued register `.sty' to return the current
3626 * env.cpp (environment::get_style_name_string): New function.
3627 (init_env_requests): Add `.sty' register.
3628 * env.h (environment): Updated.
3629 * node.cpp (font_info): Make `get_style_name' a friend.
3630 (get_style_name): New function.
3633 * man/groff_diff.man, man/groff.man, NEWS, doc/groff.texinfo:
3636 2004-06-15 Werner LEMBERG <wl@gnu.org>
3638 * src/preproc/tbl/main.cpp (process_data) <GOT_RIGHT_BRACE>: Handle
3641 2004-06-10 Colin Percival <colin.percival@wadham.ox.ac.uk>
3643 * doc/meintro.me, doc/meref.me: Don't use \*[td], \n[dy], \*[mo],
3644 and \n[mo] to avoid dependency on current date.
3646 2004-06-08 Werner LEMBERG <wl@gnu.org>
3648 * Makefile.sub (install_data): New target.
3650 2004-06-04 Werner LEMBERG <wl@gnu.org>
3652 * src/libs/libxutil/Makefile.sub (EXTRA_CFLAGS): Define.
3654 2004-06-03 Werner LEMBERG <wl@gnu.org>
3656 * src/devices/xditview/Makefile.sub (EXTRA_LDFLAGS): Fix typo and
3658 (install_data): Add $(srcdir).
3660 * src/utils/xtotroff/Makefile.sub (EXTRA_LDFLAGS): Fix order of
3663 2004-06-02 Werner LEMBERG <wl@gnu.org>
3665 * aclocal.m4 (GROFF_X11): s/have_no_x/groff_no_x/.
3666 Add X11 stuff to CFLAGS, LDFLAGS, and LIBS temporarily.
3667 Add test for Xmu library.
3668 (GROFF_APPRESDIR_OPTION, GROFF_APPRESDIR_CHECK,
3669 GROFF_APPRESDIR_DEFAULT): New macros.
3671 * configure.ac: Call GROFF_APPRESDIR_OPTION, GROFF_APPRESDIR_CHECK,
3672 and GROFF_APPRESDIR_DEFAULT.
3674 * configure: Regenerated.
3676 * Makefile.in (appresdir): New variable.
3677 (MDEFINES): Add appresdir.
3679 * src/devices/xditview/Makefile.sub (EXTRA_LDFLAGS): Add -Xmu and
3681 (install_data, uninstall_sub): New targets to handle GXditview.ad.
3683 * src/utils/indxbib/Makefiles.ub (install_data): Depend on
3684 `$(srcdir)/eign', not `eign'.
3686 * MANIFEST, INSTALL, NEWS, PROBLEMS: Updated.
3688 * man/groff_out.man, man/roff.man, src/devices/grops/grops.man,
3689 src/devices/xditview/gxditview.man, src/roff/groff/groff.man:
3690 Protect (g)xditview with `\%' to avoid hyphenation.
3691 Other minor formatting.
3693 2004-06-01 Werner LEMBERG <wl@gnu.org>
3695 Integrate gxditview into groff's standard directory hierarchy.
3697 * src/xditview/*: Moved to ...
3698 * src/devices/xditview/*: Here.
3699 Moved DviChar.h and XFontName.h to src/include.
3700 Moved DviChar.c and XFontName.c to new directory src/libs/libxutil.
3701 Split off `xmalloc' into new file src/libs/libxutil/xmalloc.c.
3702 Moved xtotroff.c to new directory src/utils/xtotroff.
3703 Provide proper Makefile.sub files (reusing the stuff from
3705 DESC renamed to DESC.in.
3706 Removed GXDitview-ad.h, INSTALL, Imakefile.in.
3707 Converted everything from K&R to ANSI C.
3708 Decorated with const where appropriate.
3709 Cast string constants with `String' and `char *' where appropriate.
3710 Made it compile with C++ (used as a C compiler).
3711 Removed other minor compiler warnings.
3713 * src/devices/xditview/device.c: Include config.h, string.h, and
3715 Don't declare `exit', `strtok', `strchr', and `getenv'.
3718 * src/devices/xditview/font.c: Don't declare `XParseFontName' and
3721 * src/devices/xditview/xditview.c: Include config.h.
3722 Include stdio.h earlier.
3723 Protect declaration of `popen' and `pclose' with
3724 NEED_DECLARATION_POPEN and NEED_DECLARATION_PCLOSE.
3725 Replace `caddr_t' with `XtPointer'.
3726 (MakePromptFunc): New typedef.
3727 (DoPrint): Use RETSIGTYPE.
3728 (promptfunction): Change type to MakePromptFunc.
3729 (MakePrompt): Use MakePromptFunc for third argument.
3732 * src/devices/xditview/ad2c: Add casts to `String'.
3734 * src/include/XFontName.h (XFontNameString): Don't use array
3736 Add prototypes for `XParseFontName', `XFormatFontName',
3737 `XCompareFontName', and `XCopyFontName'.
3739 * src/include/Makefile.sub (HDRS): Add `DviChar.h' and
3742 * src/utils/xtotroff/xtotroff.c: Include getopt.h.
3743 Don't declare `XParseFontName' and `XFormatFontName'.
3745 (main): Remove `optind' and `optarg'.
3747 * Makefile.in (XDEVDIRS, XPROGDIRS, XLIBDIRS): New variables
3748 (to select programs which need X).
3749 Make XDEVIDIRS depend on `FORCE'.
3750 (X_CFLAGS, X_LIBS, X_EXTRA_LIBS, X_PRE_LIBS): New variables (for
3752 (MDEFINES): Updated.
3753 (LIBDIRS): Use XLIBDIRS.
3754 (CPROGDIRS): Use XPROGDIRS.
3755 (DEVDIRS): Remove font directories for gxditview.
3756 (ALLDIRS, DISTDIRS): Add XDEVDIRS.
3757 (EXTRADIRS): Remove src/xditview.
3759 * Makefile.sub (DISCLEANFILES): Updated.
3761 * Makefile.comm (LIBXUTIL): New variable.
3762 (.cpp.o, .cpp.obj): Handle EXTRA_CCFLAGS.
3763 (.c.o, .c.obj, .y.o): Handle EXTRA_CFLAGS.
3765 * Makefile.cpg, Makefile.ccpg ($PROG): Handle EXTRA_LDFLAGS.
3767 * aclocal.m4 (GROFF_X11): New function.
3769 * configure.ac: Call GROFF_X11.
3770 Don't create src/xditview/Imakefile.
3771 Don't emit notice how to build gxditview.
3773 * configure: Regenerated.
3775 * test-groff.in (GROFF_BIN_PATH, XENVIRONMENT): Updated.
3777 2004-05-28 Akihiro Sagawa <sagawa@sohgoh.net>
3779 * Makefile.in (CPPFLAGS): Define.
3780 (MDEFINES): Add CPPFLAGS.
3782 2004-05-27 Werner LEMBERG <wl@gnu.org>
3784 * arch/misc/Makefile.sub (shdeps.sed): Use $(srcdir).
3786 2004-05-26 Niklas Edmundsson <nikke@acc.umu.se>
3788 Fix problems with `friend name injections'.
3790 * src/preproc/eqn/box.h (make_mark_box, make_lineup_box,
3791 make_script_box), src/roff/troff/div.h (end_diversions),
3792 src/roff/troff/env.h (title), input.cpp (process_input_stack): Undo
3795 2004-05-25 Bernd Warken <bwarken@mayn.de>
3797 * src/preproc/pic/pic.man, doc/pic.ms: Add example for `command'.
3799 2004-05-25 Werner LEMBERG <wl@gnu.org>
3801 * src/libs/libgroff/cset.cpp, src/libs/libgroff/lf.cpp,
3802 src/libs/libgroff/color.cpp: Include lib.h.
3804 2004-05-25 Paul Eggert <eggert@cs.ucla.edu>
3806 * PROBLEMS: Update documentation for problems with Sun C++ 5.0
3807 through Forte 6u1, and for how to get GNU make on Solaris.
3809 2004-05-24 Werner LEMBERG <wl@gnu.org>
3811 * PROBLEMS: Document problems with gcc 3.4.0 on Sun. Reported
3814 2004-05-15 Keith Marshall <keith.d.marshall@ntlworld.com>
3816 * arch/misc/Makefile.sub (shdeps.sed): Don't use `$<' in explicit
3819 2004-05-14 Werner LEMBERG <wl@gnu.org>
3821 * REVISION: Set to 2.
3823 * aclocal.m4 (GROFF_STDINT_H): Removed.
3824 (GROFF_INTTYPES_H): Define HAVE_CC_INTTYPES_H.
3826 * configure.ac: Updated.
3827 * configure, src/include/config.hin: Regenerated.
3829 * src/libs/libgroff/tmpname.cpp: Don't include stdint.h but
3830 inttypes.h conditionally.
3832 2004-05-13 Werner LEMBERG <wl@gnu.org>
3834 Version 1.19.1 released
3835 =======================
3837 2004-05-10 Stephen Gildea <http://www.gildea.com/stephen>
3839 * src/preproc/refer/label.y (same_author_last_name,
3840 same_author_name): Handle empty sort keys.
3842 2004-05-10 Werner LEMBERG <wl@gnu.org>
3844 * NEWS, README, TODO, PROJECTS, PROBLEMS, MANIFEST, doc/webpage.ms,
3847 * tmac/doc-syms (doc-str-Lb-libposix, doc-str-Lb-libpthread,
3848 doc-str-Lb-librt): Reset font.
3849 (Lb): Rename `doc-str-Lb' to `doc-str-Lb1'.
3850 Provide `doc-str-Lb' to reset font.
3851 * tmac/groff_mdoc.man: Updated.
3853 2004-05-08 Jan Schaumann <jschauma@netmeister.org>
3855 * src/preproc/html/pre-html.cpp (make_message): Make it work for
3856 snprintf versions which don't conform to ANSI C 99 (this is,
3857 counting the string's trailing null byte in the return value).
3859 2004-05-07 Keith Marshall <keith.d.marshall@ntlworld.com>
3861 * src/roff/troff/node.cpp (suppress_node::tprint): Don't expect
3862 that all implementations of sprintf handle null pointers correctly.
3864 2004-05-04 Werner LEMBERG <wl@gnu.org>
3866 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
3867 Document `.U' register.
3869 * src/roff/troff/env.cpp (environment::mark_last_line)
3870 [WIDOW_CONTROL]: Fix scope of `p' for new C++ compilers.
3872 2004-05-04 Larry Kollar <kollar@alltel.net>
3874 New read-only register `.U'; it returns 1 in safer mode and 0
3877 * src/roff/troff/input.cpp (init_input_requests): Implement `.U'
3880 2004-05-03 Werner LEMBERG <wl@gnu.org>
3882 * install-sh, mkinstalldirs: New versions; taken from texinfo CVS.
3884 2004-04-17 Werner LEMBERG <wl@gnu.org>
3886 * src/include/font.h (font): Use `int' for ch_index.
3887 * src/libs/libgroff/font.cpp (font::alloc_ch_index,
3888 font::compact): Updated.
3890 * src/roff/groff/pipeline.c (run_pipeline) [_WIN32]: Fix compiler
3893 * src/roff/troff/div.cpp (begin_page), src/roff/troff/env.cpp
3894 (hyphen_word): Fix compiler warnings.
3895 * src/roff/troff/input.cpp (get_char_for_escape_name): Return
3898 (get_delim_number, get_line_arg): Change second argument type to
3900 (macro_header::copy, token::next, do_define_string,
3901 do_define_character, substring_request, asciify_macro,
3902 unformat_macro, read_size, non_interpreted_node::interpret,
3903 while_request, main: Fix compiler warnings.
3904 (read_color_draw_node): Initialize `col'.
3906 * src/preproc/tbl/table.cpp (horizontal_span, table_entry): Make
3907 `start_col' and `end_col' of type `int'.
3908 (vertical_rule): Make `col' of type `int'.
3910 * src/preproc/grn/hdb.cpp (DBRead): Protect call to getc with check
3913 * src/preproc/refer/label.y (uppercase_array, lowercase_array):
3915 (format_serial): Use them to remove dependency on ASCII.
3917 * src/devices/grops/ps.cpp (ps_printer::define_encoding): Fix
3919 * src/devices/grops/psrm.cpp (resource_manager::supply_resource):
3922 * src/devices/grotty/tty.cpp (tty_font::load_tty_font): Fix
3924 (glyph): Change type of `hpos' to `int'.
3926 * src/devices/lbp/lbp.cpp (strsep): Removed. Unused.
3927 * src/devices/lbp/lbp.h (splinerel): Fix compiler warnings.
3929 * src/utils/tfmtodit.cpp (gf::load): Fix compiler warnings.
3931 * src/utils/pfbtops/pfbtops.c (get_text): Fix compiler warning.
3933 2004-04-16 Werner LEMBERG <wl@gnu.org>
3935 * src/devices/grolbp/lbp.h, src/preproc/grn/gprint.h,
3936 src/preproc/grn/hgraph.cpp, src/preproc/grn/hpoint.cpp,
3937 src/preproc/html/pushback.cpp, src/preproc/html/pushback.h: Use
3938 `double' instead of `float' everywhere.
3939 * src/preproc/grn/main.cpp: Use `double' instead of `float'
3941 (main): Add return value.
3942 * src/preproc/grn/hdb.cpp: Use `double' instead of `float'
3944 Update all user functions.
3946 * src/include/search.h, src/include/ptable.h, src/include/printer.h,
3947 src/preproc/eqn/box.h, src/preproc/pic/object.h,
3948 src/preproc/refer/refer.h, src/preproc/tbl/table.h,
3949 src/preproc/tbl/table.cpp, src/roff/troff/env.h,
3950 src/roff/troff/div.h, src/roff/troff/token.h, src/roff/troff/node.h,
3951 src/roff/troff/input.cpp, src/roff/troff/request.h,
3952 src/roff/troff/node.cpp: Don't mix `struct' and `class' in forward
3955 * src/utils/indxbib/signal.c: Include stdlib.h.
3957 2004-04-14 Keith Marshall <keith.d.marshall@ntlworld.com>
3959 * tmac/s.tmac (@init, RP): Allow initialization of the PO register
3960 before the first page.
3962 2004-04-14 Thomas Klausner <wiz@netbsd.org>
3964 * tmac/doc-common (doc-volume-as-*): Use lowercase names.
3965 (doc-operating-system-*): Updated.
3966 * tmac/doc-syms (doc-str-St-*): Various small fixes.
3967 (doc-str-Lb-*): Add more library names.
3969 2004-04-10 Art Haas <ahaas@airmail.net>
3971 * src/utils/hpftodit/hpuni.cpp (hp_msl_to_unicode_list): Don't
3974 2004-04-09 Art Haas <ahaas@airmail.net>
3976 * src/utils/tfmtodit.cpp (lig_chars): Don't use anonymous type.
3978 2004-04-09 Keith Marshall <keith.d.marshall@ntlworld.com>
3980 * arch/misc/shdeps.sh: Generate better comment for sed script.
3982 2004-04-08 Art Haas <ahaas@airmail.net>
3984 * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list),
3985 src/libs/libgroff/uniglyph.cpp (unicode_to_glyph_list),
3986 src/libs/libgroff/uniuni.cpp (unicode_decompose_list),
3987 src/preproc/eqn/box.cpp (param_table), src/preproc/grn/hgraph.cpp
3988 (polyfill), src/preproc/grn/main.cpp (polyfill),
3989 src/preproc/refer/command.cpp (command_table),
3990 src/utils/tfmtodit.cpp (lig_table): Don't use anonymous types (which
3991 gcc 3.5 doesn't like).
3993 2004-04-08 Werner LEMBERG <wl@gnu.org>
3995 Removing many compiler warnings. groff should now compile with
3996 a C++ compiler used for C files also. [Simple variable renamings
3997 to avoid shadowing aren't logged in detail.]
3999 * src/devices/grodvi/dvi.cpp: Some local variable renamings.
4000 (draw_dvi_printer::draw) ['c']: Enclose in block.
4002 * src/devices/grohtml/post-html.cpp: Some local variable renamings.
4003 (page::add_line): Fix typos.
4004 * src/devices/grohtml/html-text.cpp: Some local variable renamings.
4006 * src/devices/grolbp/lbp.cpp: Don't define _GNU_SOURCE.
4007 Some local variable renamings.
4008 * src/devices/grolbp/lbp.h: Some local variable renamings.
4010 * src/devices/grolj4/lj4.cpp, src/devices/grotty/tty.cpp: Some local
4013 * src/libs/libbib/index.cpp (index_search_item_iterator::get_tag):
4014 Remove redundant local variable declaration.
4015 * src/libs/libbib/map.c (mapread, unmap): Don't use K&R style.
4016 Don't use `caddr_t' but `void *'.
4017 Enclose functions with `extern "C"' for C++.
4019 * src/libs/libdriver/input.cpp (remember_filename,
4020 remember_source_filename): Use cast for string constant.
4022 * src/libs/libgroff/font.cpp, src/libs/libgroff/fontfile.cpp,
4023 src/libs/libgroff/nametoindex.cpp, src/libs/libgroff/paper.cpp,
4024 src/libs/libgroff/geometry.cpp: Some local variable renamings.
4025 * src/libs/libgroff/iftoa.c, src/libs/libgroff/itoa.c: Don't use K&R
4027 Enclose functions with `extern "C"' for C++.
4028 * src/libs/libgroff/quotearg.c (TRUE,FALSE): Define as macros.
4029 (needs_quoting): Return `int'.
4030 (quote_arg): Add proper casts to malloc and realloc.
4031 * src/libs/libgroff/spawnvp.c: Compile code only for MS-DOS and
4032 various MS Windows environments.
4033 (spawnvp_wrapper): Add proper cast to malloc.
4035 * src/preproc/eqn/box.h: Remove redundant declarations of
4036 `make_script_box', `make_mark_box' and `make_lineup_box'.
4037 * src/preproc/eqn/eqn.y: Remove redundant declaration of `strsave'.
4038 * src/preproc/eqn/script.cpp, src/preproc/eqn/pile.cpp: Some local
4041 * src/preproc/grn/hpoint.cpp: Some local variable renamings.
4042 * src/preproc/grn/hgraph.cpp: Some local variable renamings.
4043 (dx, dy): Renamed functions to...
4044 (deltax, deltay): This.
4045 * src/preproc/grn/main.cpp: Some local variable renamings.
4046 (deffont): Add `const'.
4047 (initpic, conv): Use cast for string constant.
4049 * src/preproc/html/pre-html.cpp: Some local variable renamings.
4050 (makeFileName, alterDeviceTo, addZ): Use cast for string constant.
4051 (char_buffer::run_output_filter): Second argument is unused.
4052 * src/preproc/html/pushback.cpp: Some local variable renamings.
4054 * src/preproc/pic/pic.y: Remove redundant declaration of `do_copy'.
4055 * src/preproc/pic/object.cpp: Some local variable renamings.
4057 * src/preproc/refer/label.y (lookup_label): Remove redundant
4058 declaration of local variable.
4060 * src/preproc/soelim.cpp: Remove redundant declaration of
4061 `interpret_lf_args'.
4063 * src/preproc/tbl/main.cpp: Some local variable renamings.
4065 * src/roff/groff/groff.cpp (main): Use cast for string constant.
4066 * src/roff/groff/pipeline.c: Enclose declarations of `error',
4067 `c_fatal', and `i_to_a' with `extern "C"' for C++.
4068 Don't use C++-style comments.
4070 * src/roff/troff/env.h: Remove redundant declaration of `title'.
4071 * src/roff/troff/node.h, src/roff/troff/env.cpp,
4072 src/roff/troff/div.cpp, src/roff/troff/node.cpp: Some local variable
4074 * src/roff/troff/div.h: Remove redundant declaration of
4076 * src/roff/troff/troff.h: Remove redundant declaration of
4078 * src/roff/troff/input.cpp: Remove redundant declaration of
4079 `handle_first_page_transition' and `process_input_stack'.
4081 * src/utils/hpftodit.cpp: Some local variable renamings.
4083 * src/utils/indxbib/signal.c: Enclose functions with `extern "C"'
4085 Don't define RETSIGTYPE.
4086 * src/utils/indxbib/indxbib.cpp: Some local variable renamings.
4088 * src/utils/pfbtops/pfbtops.cpp: Don't use K&R style.
4089 (error): Use `const' in argument.
4090 (main): Remove redundant declaration of `optind'.
4091 Move declaration of `Version_string' to top-level.
4093 * PROBLEMS: Document difficulties compiling signal.c if a C++
4094 compiler is used for C.
4096 2004-04-07 Werner LEMBERG <wl@gnu.org>
4098 * Makefile.sub (DISTCLEANFILES): Add `test-groff'.
4100 2004-04-06 Keith Marshall <keith.d.marshall@ntlworld.com>
4102 Make scripts like nroff.sh and neqn.sh portable across various
4103 (Unix-like) shell implementations from Cygwin, MSYS, etc., which use
4104 non-POSIX path separators. The idea is to extend those scripts to
4105 decide at run-time (of the script) which path separator to use.
4107 * arch/misc/Makefile.sub: New file.
4108 * arch/misc/shdeps.sh: New file, generating OS dependency fixups.
4109 This script handles @GROFF_BIN_PATH_SETUP@, replacing it with
4110 a proper definition of the variable `GROFF_RUNTIME'.
4112 * Makefile.in (SH_DEPS_SED_SCRIPT): New variable.
4113 (MDEFINES): Add SH_DEPS_SED_SCRIPT.
4114 (PROGDEPDIRS): New variable.
4116 (PROGDIRS): Add PROGDEPDIRS.
4118 * src/preproc/eqn/Makefile.sub (neqn): Call SH_DEPS_SED_SCRIPT.
4119 Don't substitute @SEP@ and @BINDIR@.
4120 * src/preproc/eqn/neqn.sh: Use @GROFF_BIN_PATH_SETUP@.
4121 (PATH): Use GROFF_RUNTIME.
4123 * src/roff/nroff/Makefile.sub (nroff): Call SH_DEPS_SED_SCRIPT.
4124 Don't substitute @SEP@ and @BINDIR@.
4125 * src/roff/nroff/nroff.sh: Use @GROFF_BIN_PATH_SETUP@.
4126 (PATH): Use GROFF_RUNTIME.
4128 2004-04-05 Keith Marshall <keith.d.marshall@ntlworld.com>
4130 * src/roff/nroff/nroff.sh: Implement work-around for sh.exe from
4131 Cygwin which doesn't handle stderr correctly.
4133 2004-03-08 Werner LEMBERG <wl@gnu.org>
4135 * Makefile.comm (install_dev, uninstall_dev): Protect `for' loops
4136 against empty argument. Problem reported by <cgd@broadcom.com>.
4138 2004-03-05 Keith Marshall <keith.d.marshall@ntlworld.com>
4140 * Makefile.in (SEP): Replaced with...
4141 (RT_SEP, SH_SEP): Separators for the target platform's native path
4142 separator and the build environment, respectively.
4143 (fontpath, tmacpath): Use RT_SEP.
4144 (MDEFINES): Updated.
4146 * contrib/mom/Makefile.sub (GROFF_BIN_PATH): Use SH_SEP.
4147 * doc/Makefile.sub (GROFF_BIN_PATH): Use SH_SEP.
4148 * src/preproc/eqn/Makefile.sub (neqn): Use SH_SEP.
4149 * src/roff/nroff/Makefile.sub (nroff): Use SH_SEP.
4151 2004-03-05 Werner LEMBERG <wl@gnu.org>
4153 * fonts/devlj4/Makefile.sub (LJ4RES): Set to 1200. This helps to
4154 reduce alignment problems with newer printers which use built-in
4155 TrueType fonts (instead of the older Intellifonts). The ideal
4156 solution is to provide a second set of groff metric files, but this
4157 is extremely time-consuming to produce, given that HP's metric
4158 files are very rudimentary.
4160 2004-03-01 Werner LEMBERG <wl@gnu.org>
4162 * src/devices/grolj4/lj4.cpp (main): Fix argument of getopt_long.
4163 s/operand/argument/ in error message.
4165 2004-03-01 Keith Marshall <keith.d.marshall@ntlworld.com>
4167 * src/roff/groff/groff.cpp (main): Don't allow option -o if -Thtml
4170 2004-03-01 Antti Kantee <pooka@netbsd.org>
4172 * tmac/s.tmac (XE): Fix error message.
4174 2004-02-27 Jeff Conrad <jeff_conrad@msn.com>
4176 * src/include/nonposix.h (write, dup, dup2, close) [_MSC_VER]:
4179 * src/roff/groff/pipeline.c: Declare strcasecmp.
4180 (run_pipeline) [_WIN32]: Use function name variants which don't
4182 Fix stream handling.
4184 2004-02-27 Keith Marshall <keith.d.marshall@ntlworld.com>
4186 * src/include/nonposix.h: Fix declaration of `system_shell_name'.
4187 Declare `spawnvp_wrapper' and macro definitions of spawnvp only
4188 for platforms which use the native Win32 runtime libraries.
4189 (FLUSH_INPUT_PIPE) [_UWIN]: Provide non-empty version.
4191 * src/libs/libgroff/quotearg.c (QUOTE_ARG_MALLOC_ERROR,
4192 QUOTE_ARG_REALLOC_ERROR): Fix string.
4194 * src/preproc/html/pre-html.cpp: Remove declaration of
4196 Don't use __MINGW32__.
4197 s/DEBUG_FILE/DEBUG_FILE_DIR/.
4198 (DEBUG_TEXT, DEBUG_NAME, DEBUG_FILE) [DEBUGGING]: New macros.
4199 (OUTPUT_STREAM, PS_OUTPUT_STREAM, REGION_OUTPUT_STREAM): New macros.
4200 (char_buffer::run_output_filter) [MAY_FORK_CHILD_PROCESS]: Fix
4201 calls to `set_redirection' and `WAIT'.
4202 [MAY_SPAWN_ASYNCHRONOUS_CHILD]: Remove unused variable `i' and `j'.
4203 Fix calls to `set_redirection' and `save_and_redirect'.
4204 (char_buffer::do_html, char_buffer::do_image) [DEBUGGING]: Fix calls
4205 to `set_redirection' and `save_and_redirect'.
4206 (usage): Fix message.
4207 (makeTempFiles, main): Use `DEBUG_FILE'.
4209 2004-02-21 Werner LEMBERG <wl@gnu.org>
4211 * src/roff/troff/troff.h (WARN_TOTAL): Fix value.
4213 2004-02-21 Keith Marshall <keith.d.marshall@ntlworld.com>
4215 * src/libs/libgroff/quotearg.c: New file, providing proper argument
4216 quoting for MSVC's spawn* and exec* functions.
4217 * src/libs/libgroff/spawnvp.c: New file, providing a wrapper around
4218 spawnvp with proper quoting for MSVC.
4220 * src/libs/libgroff/assert.cpp (program_name),
4221 src/libs/libgroff/new.cpp (program_name): Declare as `extern "C"'.
4222 * src/libs/libgroff/Makefile.sub (OBJS, CSRCS): Updated.
4224 * src/roff/troff/input.cpp (program_name): Declare as `extern "C"'.
4226 * src/include/error.h (program_name): Declare as `extern "C"'.
4227 * src/include/nonposix.h [__MSDOS__ ...]: Handle spawnvp.
4229 2004-02-21 Jeff Conrad <jeff_conrad@msn.com>
4231 * src/preproc/html/pre-html.cpp [__CYGWIN__ ...]: Declare
4233 [MAY_SPAWN_ASYNCHRONOUS_CHILD]: Declare i and j.
4235 2004-02-20 Jeff Conrad <jeff_conrad@msn.com>
4237 * src/roff/groff/pipeline.c (cmd) [__MSDOS__ || ...]: New global
4239 (sbasename) [__MSDOS__ || ...]: New function.
4240 (system_shell_name) [__MSDOS__ || ...]: Use a different, more
4242 (system_shell_dash_c, is_system_shell) [__MSDOS__ || ...]: Updated.
4243 (run_pipeline) [_WIN32]: Use _XXX variants for some macros instead
4245 Use STDOUT_FILENO instead of hardcoded file handle.
4246 (signal_catcher) [__MSDOS__]: Moved to non-_WIN32 section.
4248 2004-02-19 Werner LEMBERG <wl@gnu.org>
4250 * src/roff/troff/div.cpp: Include nonposix.h after troff.h to
4251 avoid warnings w.r.t. redefinition of P_tmpdir for some compilers.
4253 2004-02-18 Werner LEMBERG <wl@gnu.org>
4255 * font/devlj4/Makefile.sub (DEVFILES): Updated to contain all
4256 new font and mapping files.
4258 2004-02-18 Jeff Conrad <jeff_conrad@msn.com>
4259 Keith Marshall <keith.d.marshall@ntlworld.com>
4261 * src/include/nonposix.h (FLUSH_INPUT_PIPE): New macro to empty
4262 an input pipe. This is needed for the MSVC compiler to make troff's
4265 * src/roff/troff/div.cpp: Include nonposix.h.
4266 (cleanup_and_exit): Call FLUSH_INPUT_PIPE.
4268 2004-02-17 Werner LEMBERG <wl@gnu.org>
4270 * font/devlj4/generate/special.awk: New script.
4271 * font/devlj4/generate/Makefile (S): Use special.awk.
4272 * font/devlj4/*: Regenerated, including the following new files:
4273 Arial (AR, AB, AI, ABI), Times New Roman (TNRR, TNRB, TNRI, TNRBI),
4274 MS Symbol (SYMBOL), Wingdings (WINGDINGS).
4275 * NEWS: Document new lj4 fonts and revised hpftodit.
4277 2004-02-17 Paco Andrés Verdú <pandres@dragonet.es>
4279 * src/devices/grolbp/lbp.h (vmdvarc): Fix formatting string.
4281 2004-01-25 Werner LEMBERG <wl@gnu.org>
4283 * src/libs/libgroff/progname.cpp: Replaced with...
4284 * src/libs/libgroff/progname.c: New file.
4285 * src/libs/libgroff/Makefile.sub: Updated accordingly.
4287 2004-01-17 Werner LEMBERG <wl@gnu.org>
4289 * font/devlj4/generate/Makefile (SYMBOL): Use 9nb28703.tfm.
4291 2004-01-16 Jeff Conrad <jeff_conrad@msn.com>
4293 * font/devlj4/generate/wingdings.map,
4294 font/devlj4/generate/symbol.map: Include unnamed glyphs.
4295 Use groff glyph names where possible.
4296 * src/devices/grolj4/lj4_font.man: Minor updates.
4298 2004-01-13 Werner LEMBERG <wl@gnu.org>
4300 * tmac/www.tmac (DC): Handle TTY devices.
4302 * doc/webpage.ms: Document viewCVS from ffii.org.
4303 * NEWS, README: Updated.
4305 * src/roff/groff/groff.man: Mention lj4_font man page.
4307 * font/devlj4/generate/Makefile (SYMBOLMAP, WINGDINGSMAP): New
4309 (FONTS): Add SYMBOL and WINGDINGS.
4310 (SYMBOL, WINGDINGS): New targets.
4312 2004-01-13 Jeff Conrad <jeff_conrad@msn.com>
4314 * src/devices/grolj4/lj4_font.man: New man page.
4315 * src/devices/grolj4/Makefile.sub (MAN5): New variable.
4316 * src/devices/grolj4.man: Mention lj4_font man page.
4318 * src/utils/hpftodit/hpftodit.cpp (read_map): Handle line comments.
4319 * src/utils/hpftodit/hpftodit.man: Document it.
4321 Remove details about fonts (which are now in lj4_font.man).
4323 * font/devlj4/generate/symbol.map,
4324 font/devlj4/generate/wingdings.map: New files.
4326 2004-01-12 Werner LEMBERG <wl@gnu.org>
4328 * README: Mention ffii's viewcvs access.
4330 2004-01-09 Werner LEMBERG <wl@gnu.org>
4332 * font/devlj4/generate/special.map: Map MSL 228 to U+221F.
4334 2004-01-09 Jeff Conrad <jeff_conrad@msn.com>
4336 Revert most of the change from 2004-01-03 to better control used
4339 * src/utils/hpftodit/hpftodit.cpp (symbol_set): New structure.
4340 (text_symbol_sets, special_symbol_sets): New arrays.
4341 (symbol_set_table): New global variable.
4342 (read_symbol_sets): Use search order given in the text_symbol_sets
4343 and special_symbol_sets arrays. If command line flag -a is not
4344 given, search both arrays.
4345 (output_charset): Require x_height_tag only for command line flag -i.
4347 2004-01-06 Werner LEMBERG <wl@gnu.org>
4349 Implement string-valued registers \n[.m] and \n[.M] to return the
4350 name of the current drawing and background color, respectively.
4352 * src/roff/troff/symbol.h: Moved to...
4353 * src/include/symbol.h: Here.
4354 Small fixes to make it work outside of the `troff' directory.
4355 * src/roff/troff/symbol.cpp: Moved to...
4356 * src/libs/libgroff/symbol.cpp: Here.
4357 Small fixes to make it work outside of the `troff' directory.
4359 * src/include/Makefile.sub (HDRS), src/libs/libgroff/Makefile.sub
4360 (OBJS, CCSRCS), src/roff/troff/Makefile.sub (OBJS, CCSRCS, HDRS):
4363 * src/include/color.h: Include symbol.h.
4364 (color): Add new field `nm'.
4365 * src/libs/libgroff/color.cpp (color::color): Updated.
4367 * src/roff/troff/dictionary.cpp, src/roff/troff/div.cpp,
4368 src/roff/troff/node.cpp, src/roff/troff/number.cpp,
4369 src/roff/troff/reg.cpp: Don't include symbol.h.
4371 * src/roff/troff/env.cpp: Don't include symbol.h.
4372 (environment::get_glyph_color_string,
4373 environment_get_fill_color_string): New member functions.
4374 (init_env_requests): Handle `.m' and `.M' registers.
4375 * src/roff/troff/input.cpp: Don't include symbol.h.
4376 (default_symbol): Moved to symbol.cpp/symbol.h.
4377 (do_glyph_color, do_fill_color, define_color): Pass symbol name
4378 to color constructor.
4379 * src/roff/troff/env.h: Updated.
4381 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
4382 Document new registers.
4384 2004-01-05 Werner LEMBERG <wl@gnu.org>
4386 * src/roff/troff/node.cpp (space_node::get_breakpoints,
4387 space_node::nbreaks): Protect against zero `next' field.
4389 2004-01-03 Jeff Conrad <jeff_conrad@msn.com>
4391 In hpftodit, use the symbol sets offered in the TFM.
4393 * src/utils/hpftodit/hpftodit.cpp (NO_GLYPH): New constant.
4394 (symbol_set, text_symbol_sets, special_symbol_sets,
4395 symbol_set_table): Removed.
4396 (get_printcode): Removed.
4397 (read_symbol_sets): Initialize `symbol_set' field with
4399 Simplify code to just use the `kind' value.
4400 (output_charset): Improve output formatting.
4401 (dump_symbols): Simplified.
4403 2004-01-02 Werner LEMBERG <wl@gnu.org>
4405 * font/devlj4/generate/text.map: Add more MSL numbers.
4407 2004-01-02 Jeff Conrad <jeff_conrad@msn.com>
4409 * src/utils/hpftodit/hpftodit.cpp (is_decomposed): New macro.
4410 (text_symbol_sets): Add more symbol sets.
4411 (debug_flag): New static variable (moved from `main').
4412 (get_printcode, show_symset): New functions.
4413 (main): Remove `debug_flag'.
4414 (output_charset): Use `show_symset'.
4415 (dump_symbols): Use `show_symset'.
4416 Print symsets for all glyphs.
4417 (read_map): Actually call `unicode_to_ucode_make' but this time
4420 2004-01-01 Werner LEMBERG <wl@gnu.org>
4422 * font/devlj4/generate/text.map, font/devlj4/generate/special.map:
4423 Fix placement of comments.
4425 2004-01-01 Jeff Conrad <jeff_conrad@msn.com>
4427 * src/utils/hpftodit/hpftodit.cpp (main): Read map file also if
4428 option `-d' is given.
4429 (output_charset): Improve warning messages to give more information.
4430 (dump_symbols): Make information more precise.
4432 (read_map): Don't call unicode_to_ucode_name; the glyph names must
4433 appear as-is and shouldn't be decomposed.
4435 2003-12-31 Werner LEMBERG <wl@gnu.org>
4437 * src/utils/hpftodit/hpftodit.cpp (dump_tags): Handle posture_tag.
4438 * font/devlj4/generate/Makefile (IFLAG): Updated to new units.
4439 (FONTS): Add TrueType font families Arial and Times New Roman.
4440 (TNRR, TNRB, TNRI, TNRBI, AR, AB, AI, ABI): New targets.
4441 * font/devlj4/generate/text.map: Fix Unicode values of `fi' and
4444 2003-12-31 Jeff Conrad <jeff_conrad@msn.com>
4446 * test-groff.in (SEP): Quote value.
4447 * src/roff/troff/node.cpp (suppress_node::tprint): Change type of
4448 `tem' to `char*' to avoid deallocation of a pointer to a constant
4449 object which some compilers don't like.
4451 2003-12-31 Werner LEMBERG <wl@gnu.org>
4453 * font/devlj4/generate (text.map, special.map): Rewritten to work
4454 with the new hpftodit version.
4456 2003-12-30 Jeff Conrad <jeff_conrad@msn.com>
4458 * src/utils/hpftodit/hpftodit.cpp (output_charset): Emit HP symbol
4459 set and 8bit character code for all glyphs also.
4461 2003-12-30 Werner LEMBERG <wl@gnu.org>
4463 * src/libs/libgroff/strcasecmp.c: Updated from gnulib.
4465 2003-12-29 Werner LEMBERG <wl@gnu.org>
4467 More fixes for MSVC compiler.
4469 * doc/Makefile.sub, contrib/mom/Makefile.sub (GROFF_BIN_PATH): Use
4472 * src/include/nonposix.h (STDIN_FILENO, STDOUT_FILENO,
4473 STDERR_FILENO) [_MSC_VER]: Define conditionally.
4474 (getpid) [_MSC_VER]: Remove.
4475 Include direct.h and process.h conditionally.
4477 * src/roff/troff/node.cpp (suppress_node::tprint): Don't use
4478 parentheses for a_delete.
4480 * src/utils/lookbib/lookbib.cpp: Include nonposix.h.
4482 * test-groff: Replaced with...
4483 * test-groff.in: This new template to handle path separator
4486 * configure.ac: Check for direct.h and process.h.
4487 Generate test-groff script.
4488 * configure, src/include/config.hin: Regenerated.
4490 2003-12-28 Werner LEMBERG <wl@gnu.org>
4492 Add integral extension glyph.
4493 Add new option `-x' to afmtodit to suppress use of built-in AGL.
4495 * font/devhtml/R.proto, font/devutf8/R.proto: Add `u23AE'.
4497 * font/devps/generate/textmap: Provide entry for `integralex' to
4498 override (old) PUA value of the AGL.
4499 * font/devps/generate/Makefile (SS): Add afmtodit option `-x'.
4500 * font/devps/*: Regenerated.
4502 * src/utils/afmtodit/afmtodit.pl: Add option `-x'.
4503 * src/utils/afmtodit/afmtodit.man, NEWS: Updated.
4505 2003-12-27 Werner LEMBERG <wl@gnu.org>
4507 Add forgotten `coproduct' symbol (already available for DVI).
4509 * font/devhtml/R.proto, font/devps/generate/textmap,
4510 font/devps/symbolmap, font/devutf8/R.proto, man/groff_char.man,
4511 src/libs/libgroff/uniglyph.cc, src/libs/libgroff/glyphuni.cpp: Add
4512 U+2210 (\[coproduct]).
4514 2003-12-26 Jeff Conrad <jeff_conrad@msn.com>
4516 hpftodit has been extended to handle TrueType metric files and
4517 more glyphs. See hpftodit.man for more details.
4519 * src/utils/hpftodit/hpftodit.cpp: Include stdio.h, string.h,
4520 ctype.h, and unicode.h.
4521 s/msl/charcode/ everywhere since we now handle Unicode values also.
4522 (equal, NO, YES, MSL, SYMSET, UNICODE, UNICODE): New macros.
4523 Use it where appropriate.
4524 (MULTIPLIER): Replaced with...
4525 (multiplier): New global static variable.
4527 (tag_type): Add more TFM tags.
4528 (tag_name): New array.
4529 (ENUM_TYPE, FLOAT_TYPE): Removed.
4530 (BYTE_TYPE): New value assigned.
4531 (ASCII_TYPE, RATIONAL_TYPE): New enumeration values.
4532 (text_symbol_sets, special_symbol_sets): Extended to cover more
4534 (check_type): Add return value.
4535 (check_units): Add parameters to get ppi and upem values.
4536 Handle TrueType TFM data.
4537 (output_font_name): New function.
4538 (output_charset): Add parameter to handle TFM type.
4539 Handle TrueType TFMs also.
4540 (em_fract): New macro.
4541 (dump_tags): Be much more verbose and handle more tags.
4542 (dump_ascii, dump_symbol_sets, dump_symbols): New functions.
4543 (hp_msl_to_ucode_name, unicode_to_ucode_name, is_uname): New
4545 (read_map): Add parameter to handle TFM type.
4546 Handle both MSL and Unicode mappings.
4547 (main): Add two new command line options `-a' and `-q'.
4548 Updated to make use of new functions.
4551 * src/utils/hpftodit/hpuni.cpp: New file.
4553 * src/utils/hpftodit/Makefile.sub, src/utils/hpftodit/hpftodit.man:
4556 2003-12-25 Werner LEMBERG <wl@gnu.org>
4558 * src/include/nonposix.h (read) [_MSC_VER]: Define.
4560 2003-12-24 Werner LEMBERG <wl@gnu.org>
4562 * src/utils/afmtodit/afmtodit.man: Some reformulations as suggested
4563 by Michail Vidiassov <master@iaas.msu.ru>.
4565 2003-12-20 Werner LEMBERG <wl@gnu.org>
4567 * font/devhtml/R.proto: Add u00{47,67}_0306, u00{53,73}_0327,
4569 Add missing latin-2 glyphs.
4570 * font/devutf8/R.proto: Add missing latin-2 glyphs.
4572 * tmac/troffrc: Load `composite.tmac' earlier.
4574 * tmac/dvi.tmac, tmac/ps.tmac, tmac/lbp.tmac: Add u00{47,67}_0306,
4575 u00{53,73}_0327, and u0049_0307.
4576 * tmac/X.tmac: Add u00{47,67}_0306.
4577 * tmac/tty-char.tmac: Use composite glyph names for readability.
4581 * src/include/unicode.h: Remove `extern' keywords.
4583 2003-12-20 Nilgün Belma Bugüner <nilgun@superonline.com>
4585 * tmac/latin5.tmac: New file.
4587 2003-12-19 Werner LEMBERG <wl@gnu.org>
4589 Add some glyphs needed for Turkish.
4591 * font/devutf8/R.proto: Add u00{47,67}_0306, u00{53,73}_0327,
4594 * tmac/composite.tmac: Add `,' as a synonym for `ac' accent.
4595 * tmac/tty-char.tmac: Add representations for u00{47,67}_0306,
4596 u00{53,73}_0327, and u0049_0307.
4598 2003-12-18 Werner LEMBERG <wl@gnu.org>
4600 * src/devices/grops/ps.cc (ps_output::put_float): Revert change
4602 Remove trailing zeros.
4604 2003-12-17 Werner LEMBERG <wl@gnu.org>
4606 Make \? transparent to end-of-sentence recognition.
4608 * src/roff/troff/input.cc (non_interpreted_node): Add
4609 `ends_sentence' member function.
4611 2003-12-16 Werner LEMBERG <wl@gnu.org>
4613 * doc/groff.texinfo: Document `dt' request correctly.
4614 Other minor typographical improvements.
4616 2003-12-10 Michail Vidiassov <master@iaas.msu.ru>
4618 * src/utils/afmtodit/Makefile.sub (afmtodit): Fix typo.
4620 2003-12-10 Richard Stallman <rms@gnu.org>
4622 * LICENSE: Better wording.
4624 2003-12-09 Werner LEMBERG <wl@gnu.org>
4626 * aclocal.m4 (GROFF_BROKEN_SPOOLER_FLAGS): Set default value to 0.
4627 * configure, NEWS: Updated.
4629 2003-12-08 Werner LEMBERG <wl@gnu.org>
4631 * FDL: Updated to version 1.2 (from www.gnu.org/copyleft).
4633 2003-12-07 Bernd Warken <bwarken@mayn.de>
4637 2003-12-07 Werner LEMBERG <wl@gnu.org>
4639 * INSTALL: Improved.
4641 2003-12-05 Keith Marshall <keith.d.marshall@ntlworld.com>
4643 Use path separator character of target platform for compiled-in
4646 * aclocal.m4 (GROFF_TARGET_PATH_SEPARATOR): New macro.
4647 * configure.ac: Use GROFF_TARGET_PATH_SEPARATOR.
4648 * configure: Regenerated.
4649 * Makefile.in (SEP): Use GROFF_PATH_SEPARATOR.
4651 2003-12-05 Werner LEMBERG <wl@gnu.org>
4653 * src/include/nonposix.h (PATH_SEP_CHAR): New definition.
4654 Replace `PATH_SEP[0]' with `PATH_SEP_CHAR' everywhere.
4656 2003-12-04 Bernd Warken <bwarken@mayn.de>
4658 * LICENSE: New file.
4660 2003-12-03 Werner LEMBERG <wl@gnu.org>
4662 * src/utils/afmtodit/afmtodit.pl: Comment out code which handles
4663 ligatures present in AFM files since groff currently only
4664 understands some standard ligatures and nothing else.
4666 2003-12-03 Jeff Conrad <jeff_conrad@msn.com>
4668 * src/roff/groff/groff.cpp (main): Don't run the spooler if
4671 * src/roff/groff/pipeline.c (run_pipeline) [_WIN32]: Fix error
4674 Don't use Unix wait flags.
4676 2003-12-02 Werner LEMBERG <wl@gnu.org>
4678 * src/roff/troff/glyphuni.cpp, src/roff/troff/unicode.cpp,
4679 src/roff/troff/unicode.h, src/roff/troff/uniglyph.cpp,
4680 src/roff/troff/uniuni.cpp: Moved to...
4681 * src/libs/libgroff/glyphuni.cpp, src/libs/libgroff/unicode.cpp,
4682 src/libs/libgroff/unicode.h, src/libs/libgroff/uniglyph.cpp,
4683 src/libs/libgroff/uniuni.cpp: Here.
4685 * src/include/Makefile.sub.old (HDRS),
4686 src/libs/libgroff/Makefile.sub (OBJS, CCSRCS),
4687 src/roff/troff/Makefile.sub (HDRS, PBJS, CCSRCS): Updated.
4689 2003-12-01 Keith Marshall <keith.d.marshall@ntlworld.com>
4691 * src/preproc/htlp/pre-html.cpp (__tmpfile): Renamed to
4695 2003-12-01 Werner LEMBERG <wl@gnu.org>
4697 * groff.texinfo: Document special behaviour of `.vs 0'.
4698 Improve documentation of `cflags' request.
4701 2003-11-29 Werner LEMBERG <wl@gnu.org>
4703 * font/devlj4/generate/Makefile (CORONET): Use correct TFM.
4704 * font/devlj4/CORONET: Regenerated.
4706 2003-11-24 Werner LEMBERG <wl@gnu.org>
4708 * src/roff/troff/env.cpp (hyphen_trie::read_patterns_file): Fix loop
4709 if processing hyphenation patterns in traditional mode.
4710 Improve error messages.
4712 2003-11-20 Werner LEMBERG <wl@gnu.org>
4714 * src/roff/troff/node.cpp (troff_output_file::put_char_width,
4715 troff_output_file::put_char): Fix type of local variable `c'.
4717 2003-11-19 Werner LEMBERG <wl@gnu.org>
4719 * src/roff/groff/pipeline.c (P): Removed. Updated all function
4721 (i_to_a): Removed. libgroff already provides this function.
4722 (run_pipeline) [_WIN32]: Don't use itoa but i_to_a.
4724 2003-11-18 Keith Marshall <keith.d.marshall@ntlworld.com>
4726 * src/roff/groff/pipeline.c (xstrsignal): Fix usage of
4729 2003-11-17 Werner LEMBERG <wl@gnu.org>
4731 * COPYING: Use correct version.
4733 2003-11-11 Werner LEMBERG <wl@gnu.org>
4735 LynxOS 4.0.0 doesn't declare vfprintf.
4737 * configure.ac: Check for vfprintf.
4738 * configure: Regenerated.
4739 * src/include/lib.h: Handle `NEED_DECLARATION_VFPRINTF'.
4740 * src/include/config.hin: Regenerated.
4742 2003-11-10 Werner LEMBERG <wl@gnu.org>
4744 LynxOS 4.0.0 has snprintf (without declaration) but no vsnprintf.
4746 * configure.ac: Check for vsnprintf.
4747 * configure: Regenerated.
4748 * src/include/lib.h: Handle `NEED_DECLARATION_VSNPRINTF' and
4750 * src/include/config.hin: Regenerated.
4752 2003-11-09 Werner LEMBERG <wl@gnu.org>
4754 * aclocal.m4: Updated syntax to autoconf 2.59.
4755 (GROFF_HTML_PROGRAMS): Use AC_FOREACH.
4756 Don't check for gsos2.
4757 (GROFF_SRCDIR, GROFF_BUILDDIR): Removed. autoconf 2.59 provides
4758 working abs_top_srcdir and abs_top_builddir.
4760 * configure.ac: Updated syntax to autoconf 2.59.
4761 Don't call GROFF_SRCDIR and GROFF_BUILDDIR.
4762 Replace call to AC_DECL_SYS_SIGLIST with call to AC_CHECK_DECLS.
4763 * configure: Regenerated.
4765 * Makefile.in, doc/Makefile.in: s/@top_srcdir@/@abs_top_srcdir@/,
4766 s/@groff_top_builddir@/@abs_top_builddir@/.
4768 * src/roff/groff/pipeline.c (xstrsignal):
4769 s/SYS_SIGLIST_DECLARED/HAVE_DECL_SYS_SIGLIST/.
4771 2003-11-07 Werner LEMBERG <wl@gnu.org>
4773 * src/devices/grodvi/dvi.cpp (draw_dvi_printer::draw) ['a']: Always
4774 make start angle smaller than end angle to circumvent a bug in tpic
4775 handling of some versions of dvipdfm (and dvipdfmx).
4777 2003-10-30 Werner LEMBERG <wl@gnu.org>
4779 * src/devices/grops/grops.man: Improve section on creating EPS.
4781 2003-10-29 Werner LEMBERG <wl@gnu.org>
4783 * contrib/pic2graph/pic2graph.sh: Fix typo (-P-letter ->
4786 2003-10-28 Werner LEMBERG <wl@gnu.org>
4788 * doc/groff.texinfo: Fix documentation of `.if'.
4790 2003-10-27 Michail Vidiassov <master@iaas.msu.ru>
4792 * src/utils/afmtodit/afmtodit.pl: Handle unmapped characters of
4793 the form `uniXXXX' also.
4795 2003-10-27 Werner LEMBERG <wl@gnu.org>
4797 * contrib/eqn2graph/eqn2graph.sh, contrib/grap2graph/grap2graph.sh,
4798 contrib/pic2graph/pic2graph.sh: Implement secure management of
4800 Pass `-P-pletter' to groff to avoid data outside of the converted
4801 area -- some versions of `convert' (for example 5.3.8) don't check
4802 the bounding box of the image but always use a fixed image size
4803 (letter paper format).
4804 * contrib/eqn2graph/eqn2graph.man, contrib/grap2graph/grap2graph.man,
4805 contrib/pic2graph/pic2graph.man: Updated.
4807 * src/roff/groff/groff.man: Document $TMP and $TEMP.
4809 2003-10-26 Werner LEMBERG <wl@gnu.org>
4811 * src/preproc/pic/troff.cpp (troff_output::simple_circle,
4812 troff_output::simple_ellipse, troff_output::simple_arc,
4813 troff_output::simple_line, troff_output::simple_spline,
4814 troff_output::simple_polygon): Insert a space before arguments.
4815 (troff_output::set_fill): Emit `\&' before `\D'Fg...' since the
4816 latter doesn't produce a node, so the following `.sp -1' would do
4818 Don't emit `.sp -1' after \M. This also doesn't produce a token
4819 (and we don't have to care about compatibility mode).
4820 (troff_output::set_color, troff_output::reset_color): Don't emit
4821 `.sp -1' after \M and \m.
4823 * src/roff/troff/input.cpp (old_have_input): New global variable.
4824 (input_stack::get): Handle `old_have_input'.
4825 (process_input_stack) <token::TOKEN_NEWLINE>: Call
4826 `trapping_blank_line' depending on `old_have_input', not
4829 2003-10-20 Keith Marshall <keith.d.marshall@ntlworld.com>
4831 * src/libs/libgroff/tmpfile.cpp [__MSDOS__, _Win32]
4832 (WIN32_TMPDIR_ENVVAR, MSDOS_TMPDIR_ENVVAR): New macros, providing
4833 default directory names for temporary files.
4834 [__MSDOS__, _Win32] (temp_init::temp_init): Use them.
4836 * src/roff/groff/pipeline.c [__MSDOS__]: Include stdlib.h.
4837 [__MSDOS__] (run_pipeline): Honour environment variables.
4838 Don't use `tmpnam' but `tempnam' to work around messy
4841 * README.MinGW: New file.
4843 2003-10-16 Werner LEMBERG <wl@gnu.org>
4845 * src/preproc/html/pre-html.cpp (write_upto_newline): Don't use
4846 `(*t)->next' without testing validity of `*t'.
4847 (usage): Make it more readable.
4849 2003-10-16 Keith Marshall <keith.d.marshall@ntlworld.com>
4851 Make html device run under both MS-DOS and Win32.
4853 * src/preproc/html/pre-html.cpp (MAY_FORK_CHILD_PROCESS,
4854 MAY_SPAWN_ASYNCHRONOUS_CHILD): New macros to control whether
4855 spawn or fork+exec has to be used, and whether parent must sleep
4856 until the child process terminates. Used in
4857 `char_buffer::run_output_filter'.
4858 (copyofstdoutfd): Removed.
4859 (char_buffer): Replace `write_file_html' and `write_file_troff'
4860 member functions with `emit_troff_output' and `run_output_filter'.
4861 (DEVICE_FORMAT, HTML_OUTPUT_FILTER, IMAGE_OUTPUT_FILTER): New
4863 (replaceFd): Replaced with...
4864 (set_redirection): New auxiliary function.
4865 (waitForChild): Replaced with...
4866 (save_and_redirect): New auxiliary function for.
4868 (char_buffer::do_html, char_buffer::do_image): Simplified, using new
4871 2003-10-14 Keith Marshall <keith.d.marshall@ntlworld.com>
4873 * aclocal.m4 (GROFF_SYS_NERR): Check stdlib.h also.
4874 (GROFF_LIBC): New function.
4875 * configure.ac: Call GROFF_LIBC.
4877 * configure: Regenerated.
4879 * src/include/lib.h: Handle __MINGW32__.
4880 * src/include/nonposix.h [_MSC_VER]: Handle __MINGW32__.
4881 Add macro for `pipe'.
4884 * src/roff/groff/pipeline.c (run_pipeline): Handle `no_pipe'
4887 * src/utils/indxbib/signal.c (handle_fatal_signal) [!HAVE_KILL]:
4890 2003-10-13 Werner LEMBERG <wl@gnu.org>
4892 Finally fix change 2003-08-26, based on ideas from Chuck Silvers
4895 * contrib/mom/Makefile.sub: Use a stamp file in the `examples'
4898 2003-10-12 Werner LEMBERG <wl@gnu.org>
4900 * src/roff/groff/groff.cpp (help), src/devices/grops/ps.cpp (usage),
4901 src/roff/troff/input.cc (usage): Updated.
4903 * NEWS, doc/groff.texinfo: Updated.
4905 2003-10-12 Peter Miller <millerp@canb.auug.org.au>
4907 * src/libs/libgroff/searchpath.cpp
4908 (search_path::open_file_cautious): New function which also handles
4909 `-' as stdin and stdout depending on the access mode.
4910 * src/include/searchpath.h (search_path): Updated.
4912 * src/devices/grops/ps.cpp (main): Handle new `-I' switch.
4913 * src/devices/grops/ps.h: Include `searchpath.h'.
4914 * src/devices/grops/psrm.cpp (resource_manager::supply_resource):
4915 Open resource file with `include_search_path.open_file_cautious'.
4916 * src/devices/grops/grops.man: Document new `-I' switch.
4918 * src/devices/grodvi/dvi.cpp (main), src/devices/grolbp/lbp.cpp
4919 (main), src/devices/grolj4/lj4.cpp (main),
4920 src/devices/grotty/tty.cpp (main): Ignore new `-I' switch.
4922 * src/preproc/soelim/soelim.cpp (include_list_length, include_list):
4924 (include_search_path): New global variable.
4925 (include_path_append): Removed.
4926 (main): Use `include_search_path.command_line_dir' to handle `-I'.
4927 (do_file): Simplify, using new
4928 `include_search_path.open_file_cautious'.
4930 * src/roff/groff/groff.cpp (print_commands): Accept file handle as
4932 (main): Pass arguments to `-I' to both troff and devices.
4933 Improve handling of `-V'.
4934 * src/roff/groff/groff.man: Document changes to -I and -V.
4936 * src/roff/troff/input.cpp (include_search_path): New global
4938 (next_file, source, ps_bbox_request, transparent_file,
4939 process_input_file): Use new
4940 `include_search_path.open_file_cautious'.
4941 (main) Handle `-I' switch.
4942 * src/roff/troff/node.cpp (troff_output_file::really_copy_file):
4943 Use new `include_search_path.open_file_cautious'.
4944 * src/roff/troff/node.h: New extern symbol `include_search_path'.
4945 * src/roff/troff/troff.man: Document new `-I' switch.
4947 2003-09-15 Ruslan Ermilov <ru@FreeBSD.org>
4949 Support multiple calls of .Lb in LIBRARY section.
4951 * tmac/doc-common (doc-in-library-section): New register.
4952 (doc-section-library): New string.
4953 (Sh): Set `doc-in-library-section'.
4955 * tmac/doc-syms (Lb): Insert breaks before and after arguments
4956 if in LIBRARY section.
4957 * tmac/doc.tmac (doc-save-global-vars): Updated.
4958 * NEWS, tmac/groff_mdoc.man: Updated.
4960 2003-09-14 Ruslan Ermilov <ru@FreeBSD.org>
4962 * tmac/doc-common (doc-default-operating-system): New variable.
4965 2003-09-08 Werner LEMBERG <wl@gnu.org>
4967 * tmac/doc.tmac (doc-reset-reference): Handle data for `%I' also.
4969 2003-08-31 Werner LEMBERG <wl@gnu.org>
4971 * contrib/mom/Makefile.sub: Fix last change to make it really work.
4972 * Makefile.comm: Use `test ... ||' in favor of `if test ...; then'.
4973 (install_dev, uninstall_dev): Check whether $(DEVSCRIPTS) and
4974 $(DEVFILES) are not empty.
4975 * Makefile.in: Use `test ... ||' in favor of `if test ...; then'.
4977 2003-08-26 Chuck Silvers <chuq@chuq.com>
4979 * contrib/mom/Makefile.sub (prepare_make_examples): Make it work
4980 with parallel runs of `make'.
4982 2003-08-23 Stephen Gildea <http://www.gildea.com/stephen>
4984 * src/preproc/ref/ref.cpp (reference::compute_sort_key): Always
4985 insert SORT_SEP. With certain combinations of sort specifications,
4986 refer sorted entries in the wrong order. In particular, entries
4987 with a missing field should be be sorted before all entries that
4988 have that field, before refer looks to the next field.
4990 2003-08-23 Werner LEMBERG <wl@gnu.org>
4992 * src/utils/pfbtops/Makefile.sub (LINK.c): Define it so that the
4993 g++ linker is used. Reported by Mark J. Reed
4994 <mark.reed@turner.com>.
4996 2003-08-16 Heinz-Jürgen Oertel <hj.oertel@surfeu.de>
4998 Add key character `x' to tbl which makes tbl call a user-defined
4999 macro on a table cell.
5001 * src/preproc/tbl/table.h (entry_modifier): Add `macro'.
5002 * src/preproc/tbl/table.cpp (block_entry::do_divert): Call
5003 `set_modifier' after printing the compatibility request.
5004 (set_modifier): Print call to `m->macro' if not empty.
5005 * src/preproc/tbl/main.cpp (entry_format::debug_print): Handle
5007 (process_format): Implement cases `x' and `X'.
5008 * src/preproc/tbl/tbl.man, NEWS: Updated.
5010 2003-08-15 Werner LEMBERG <wl@gnu.org>
5012 * doc/groff.texinfo: Minor fixes.
5014 2003-08-09 Werner LEMBERG <wl@gnu.org>
5016 * tmac/an-old.tmac [cR]: Fix redefinition of `bp'.
5018 2003-08-07 Werner LEMBERG <wl@gnu.org>
5020 * doc/Makefile.sub: Not all shells expand wildcards in the `for'
5021 argument list to nothing if there is no file to match. Use `ls' as
5022 a protection, similar to autoconf.
5024 * Makefile.comm (install_dev, uninstall_dev): Protect `for' against
5025 empty argument lists.
5027 * doc/groff.texinfo: Improve documentation how vertical spacing
5028 and line breaks interact.
5031 * tmac/www.tmac: Initialize `www-htmlimage-gap'.
5033 2003-08-03 Werner LEMBERG <wl@gnu.org>
5035 * NEWS, src/devices/grops/grops.man: -b16 is necessary to produce
5036 EPS (using eps2eps or similar programs to compute the bounding box).
5038 2003-07-24 Werner LEMBERG <wl@gnu.org>
5040 * doc/groff.texinfo: Use the new @/ command to avoid overlong lines.
5041 * doc/texinfo.tex: Updated from texinfo 4.6.
5042 * README.CVS: From now on we need texinfo 4.6.
5044 2003-07-23 Werner LEMBERG <wl@gnu.org>
5046 Add requests `dei1' and `ami1' for completeness.
5048 * src/roff/troff/input.cc (calling_mode): Remove
5049 CALLING_DISABLE_COMP.
5050 (comp_mode): New enumeration.
5051 (do_define_string, define_string, define_nocomp_string,
5052 append_string, append_nocomp_string): Updated.
5053 (do_define_macro): Add third parameter.
5054 (define_macro, define_nocomp_macro, define_indirect_macro,
5055 append_macro, append_nocomp_macro, append_indirect_macro): Updated.
5056 (define_indirect_nocomp_macro, append_indirect_nocomp_macro): New
5059 (init_input_requests): Add `dei1' and `ami1'.
5061 * tmac/trace.tmac: Handle de1 and am1.
5062 (de): Improve tracing message.
5063 (am): Add missing `do'.
5066 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
5067 Document new requests.
5069 2003-07-22 Heinz-Jürgen Oertel <hj.oertel@surfeu.de>
5071 Add option -G to .MPIMG to insert a gap between text and the image.
5073 * tmac/www.tmac (www-finish-left-po, www-finish-right-ll,
5074 www-finish-left-ll): Updated.
5075 (www-image-just, www-image-gap, www-htmlimage-gap): New variables.
5076 (MPIMG): Make option -L and -R optional.
5077 Implement option -G.
5079 2003-07-22 Gaius Mulley <gaius@glam.ac.uk>
5081 * src/devices/grohtml/post-html.cpp
5082 (html_printer::do_file_components): Don't use `stdout' as lvalue
5083 since it can be a macro.
5085 2003-07-22 Werner LEMBERG <wl@gnu.org>
5087 * src/libs/libgroff/strerror.c: Include errno.h to be in sync with
5088 the corresponding test in aclocal.m4.
5090 2003-07-21 Werner LEMBERG <wl@gnu.org>
5092 * src/preproc/html/pre-html.cpp (TRANSPARENT): Don't use colour
5093 names but RGB values directly. Otherwise pnmtopng depends on
5094 an external file `rgb.txt' which maps colour names to values.
5096 2003-07-20 Werner LEMBERG <wl@gnu.org>
5098 * aclocal.m4 (GROFF_SYS_ERRLIST): Include stdlib.h for MinGW.
5099 * configure, src/include/config.hin: Regenerated.
5101 * src/libs/libgroff/strerror.c: Include stdlib.h for MinGW.
5103 2003-07-19 Werner LEMBERG <wl@gnu.org>
5105 * PROBLEMS: Add solution for UTF-8 problem with hyphens.
5107 2003-07-18 Werner LEMBERG <wl@gnu.org>
5109 * *.man: Switch to non-compatibility mode temporarily if GNU
5110 syntax extensions are used in the particular man page.
5112 * PROBLEMS: Add solutions for SGR problems.
5114 2003-07-17 Werner LEMBERG <wl@gnu.org>
5116 Don't ignore grotty's command line options if \X'tty: sgr ...' is
5117 used to change the drawing scheme.
5119 * src/devives/grotty/tty.cpp (bold_flag_option,
5120 underline_flag_option, italic_flag_option, reverse_flag_option,
5121 bold_underline_mode_option): New global variables.
5122 (update_options): New function.
5123 (tty_printer::special): Call update_options.
5124 (main): Don't set xxx_flag but xxx_flag_option, then call
5127 2003-07-14 Werner LEMBERG <wl@gnu.org>
5129 Make grotty emit proper Unicode box drawing characters for -Tutf8.
5131 * src/devices/grotty/tty.cpp (START_LINE, END_LINE): New enum
5133 (hline_char, vline_char): New global variables.
5134 (tty_printer::tty_printer): Initialize them.
5135 (tty_printer::draw): Emit START_LINE and END_LINE flags for both
5136 horizontal and vertical lines.
5137 (crossings): New global array.
5138 (tty_printer::end_page): Use it to determine the proper crossing
5139 character for -Tutf8.
5141 2003-07-12 Werner LEMBERG <wl@gnu.org>
5143 * doc/Makefilesub (HTMLDOCFILESALL): New macro.
5144 (HTMLDOCFILES): Revert to `pic.html'.
5145 (CLEANADD, install_html, uninstall_sub): Use HTMLDOCFILESALL.
5147 2003-07-11 Werner LEMBERG <wl@gnu.org>
5149 * doc/pic.ms: Improve documentation of absolute coordinates.
5150 Document absolute positioning of pictures.
5152 * NEWS: Add new pic capability.
5154 2003-07-09 Hartmut Henkel <hartmut_henkel@gmx.de>
5156 * src/libs/libgroff/geometry.cpp (check_output_arc_limits):
5159 2003-07-07 Werner LEMBERG <wl@gnu.org>
5161 Implement support for dashed and dotted ellipses in pic. Based on
5162 a patch from Hartmut Henkel <hartmut_henkel@gmx.de>.
5164 * src/preproc/pic/common.cpp (common_output::ellipse_arc,
5165 common_output::dashed_ellipse, common_output::dotted_ellipse): New
5166 functions. Ellipse arcs are approximated with circle arcs.
5167 * src/preproc/pic/common.h (common_output): Updated.
5168 * src/preproc/pic/tex.cpp (tex_output::ellipse): Use new ellipse
5170 * src/preproc/pic/troff.cpp (simple_output::ellipse): Ditto.
5172 * src/preproc/pic/TODO, src/preproc/pic/pic.man: Updated.
5174 2003-07-06 Werner LEMBERG <wl@gnu.org>
5176 Make grotty work on platforms which have unsigned char as the
5177 default for char. Based on a patch by Thomas Klausner
5180 * src/devices/grotty/tty.cpp (schar): New typedef.
5181 Updated calls to declare_ptable and implement_ptable.
5182 (glyph): Use schar for back_color_idx and fore_color_idx.
5183 (tty_printer): Use schar for curr_fore_idx and curr_back_idx.
5184 (tty_printer::tty_color, tty_printer::tty_printer,
5185 tty_printer::color_to_idx, tty_printer::put_color): Updated.
5187 2003-07-06 Ruslan Ermilov <ru@FreeBSD.org>
5189 * src/roff/nroff/nroff.sh: Add option -d for completeness.
5190 * src/roff/nroff/nroff.man: Updated.
5192 2003-07-05 Werner LEMBERG <wl@gnu.org>
5194 * NEWS, tmac/groff_www.man: Updated.
5195 * doc/Makefile.sub: Updated.
5197 2003-07-05 Gaius Mulley <gaius@glam.ac.uk>
5199 Implement support for multiple HTML output files.
5201 * src/preproc/html/pre-html.cpp (scanArguments): Dummy handling for
5202 -j command line option.
5204 * src/devices/grohtml/post-html.cpp (job_name, multiple_files): New
5206 (file): New fields `new_output_file', `require_links',
5208 (file::file): Updated.
5209 (files::set_file_name, files::set_links_required,
5210 files::are_links_required, files::is_new_output_file,
5211 files::file_name, files::next_file_name): New functions.
5212 (header_desc): New fields `no_of_level_one_headings',
5214 (header_desc::header_desc): Updated.
5215 (header_desc::write_headings): Handle multiple files.
5216 (html_printer::write_header): Save file name in which header occurs.
5217 (html_printer::determine_header_level): Possibly split files on
5219 (html_printer::do_links, html_printer::troff_tag): Updated.
5220 (html_printer::insert_split_file, html_printer::do_job_name,
5221 html_printer::emit_link, html_printer::write_navigation,
5222 html_printer::do_file_components): New functions.
5223 (html_printer::~html_printer): Handle multiple files.
5224 (main): Handle command line option `-j'.
5226 * src/devices/grohtml/grohtml.man: Updated.
5228 * doc/Makefile.sub (pic.html), doc/Makefile.in (pic.html): New rule
5231 * tmac/www.tmac (JOBNAME): New macro.
5232 * tmac/s.tmac (SH-NO-TAG): New macro.
5233 (@SH): Call SH-NO-TAG.
5236 2003-07-05 Ruslan Ermilov <ru@FreeBSD.org>
5238 * tmac/groff_mdoc.man: Improve documentation of punctuation
5241 2003-07-04 Ruslan Ermilov <ru@FreeBSD.org>
5243 * tmac/doc.tmac (Bd): Change to doc-Li-font later.
5245 2003-07-03 Werner LEMBERG <wl@gnu.org>
5247 * tmac/an-old.tmac [cR]: Redefine `bp' to avoid empty lines.
5249 2003-07-01 Ruslan Ermilov <ru@FreeBSD.org>
5251 * tmac/doc.tmac (doc-do-func, doc-do-func-args): Don't print a comma
5252 after `/*' and `*/'.
5254 (Fn, Fo): Reduce indentation in synopsis.
5256 * tmac/doc-common (doc-check-depth): New macro.
5257 (doc-end-macro, Sh, Ss): Use it.
5258 (Cd): Fix behaviour in synopsis.
5259 (In): Make it parsed and callable.
5260 If not in the synopsis, represent the C header file enclosed in
5262 (doc-str-Rv-std-suffix, doc-str-Rv-stds-suffix, doc-str-Rv-std0):
5263 Use minus, not hyphen.
5265 * tmac/groff_mdoc.man: Updated.
5267 2003-07-01 Werner LEMBERG <wl@gnu.org>
5269 Integrated grap2graph, contributed by Eric S. Raymond.
5271 * contrib/grap2graph/{Makefile.sub, grap2graph.sh, grap2graph.man}:
5273 * Makefile.in, NEWS, MANIFEST, contrib/eqn2graph.man,
5274 contrib/pic2graph.man, src/roff/groff/groff.man: Updated.
5276 2003-07-01 Colin Watson <cjwatson@debian.org>
5278 * src/xditview/*.c: Add prototypes, fix return types, add includes.
5279 Based on work by Fumitoshi UKAI <ukai@debian.or.jp>.
5281 2003-06-31 Ruslan Ermilov <ru@FreeBSD.org>
5283 * tmac/tty-char.tmac: Provide `lb', `rb', `lk', `rk', `lt', `rt'.
5285 2003-06-31 Werner LEMBERG <wl@gnu.org>
5287 * doc/Makefile.sub (CLEANADD): Remove all files created by
5288 running `make groff.{pdf,dvi}'.
5290 * Makefile.sub (DISTCLEANFILES): Remove all non-source files from
5293 2003-06-30 Werner LEMBERG <wl@gnu.org>
5295 * Makefile.in (SHELL): Define as @SHELL@.
5296 (mkinstalldirs): Use $(SHELL).
5297 (MDEFINES): Add $(SHELL).
5298 * Makefile.comm (SHELL): Removed.
5300 2003-06-29 Werner LEMBERG <wl@gnu.org>
5302 * tmac/s.tmac (De, Ds): New aliases for .DE and .DS, respectively.
5303 The X11 documentation files use them.
5304 * tmac/groff_ms.man, doc/groff.texinfo: Document them.
5306 2003-06-15 Robert Goulding <goulding@Princeton.EDU>
5308 * tmac/e.tmac (@C): Handle .ad also.
5310 2003-06-12 Werner LEMBERG <wl@gnu.org>
5312 * src/preproc/tbl/tbl.man: Document formatting of text blocks.
5314 * src/roff/troff/input.cc (token::next) <handle_escape_char>:
5315 Assign `n' even here. It is possible to construct a node
5316 immediately following an escape character:
5324 2003-06-10 Werner LEMBERG <wl@gnu.org>
5326 * README.WIN32: Removed.
5327 * MANIFEST: Updated.
5329 2003-06-07 Werner LEMBERG <wl@gnu.org>
5331 * src/roff/nroff/nroff.sh: Don't emit SGR for option -u.
5333 2003-06-05 Werner LEMBERG <wl@gnu.org>
5335 * src/preproc/pic/pic.y <sprintf_args>: Implement workaround for bug
5336 in Compaq C++ V6.5-033 for Compaq Tru64 UNIX V5.1A (Rev. 1885).
5338 2003-06-03 Werner LEMBERG <wl@gnu.org>
5340 * src/preproc/grn/hdb.cpp (DBRead): Don't close file handle; this
5341 is done by the calling function.
5343 2003-05-22 Ruslan Ermilov <ru@FreeBSD.org>
5345 * tmac/X.tmac: Fix definition of `em'.
5347 2003-05-22 Werner LEMBERG <wl@gnu.org>
5349 * src/roff/troff/input.cc (return_macro_request): Fix detection of
5352 2003-05-18 Werner LEMBERG <wl@gnu.org>
5354 * tmac/doc.tmac (doc-tag-list): Force horizontal mode after tag
5355 to make items work which consist only of a tag.
5357 2003-05-17 Werner LEMBERG <wl@gnu.org>
5359 * tmac/doc.tmac (doc-tag-list): Don't use \Z to assure that spaces
5360 aren't stretched in a tag (this can fail with unformatted boxes).
5361 Instead, insert a break and go back one line.
5363 2003-05-16 Werner LEMBERG <wl@gnu.org>
5365 * src/roff/troff/input.cc (return_macro_request): If called with
5366 argument pop macro twice. We need this to trace `return'.
5368 * tmac/trace.tmac: Handle `return'.
5371 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
5374 2003-05-15 Larry Kollar <kollar@alltel.net>
5376 * tmac/groff_ms.man, doc/groff.texinfo: Improve documentation of
5377 registers `FPS', `FVS', and `FPD'.
5379 2003-05-15 Werner LEMBERG <wl@gnu.org>
5381 * src/utils/pfbtops/pfbtops.c (get_text): Handle loop counter
5384 2003-05-03 Ruslan Ermilov <ru@FreeBSD.org>
5386 * tmac/groff_mdoc.man: Slight improvements.
5388 2003-05-03 Werner LEMBERG <wl@gnu.org>
5390 * tmac/doc-common (doc-header): Emit vertical space of 1v instead of
5391 `doc-header-space' after header line if register `cR' is set.
5393 2003-05-02 Werner LEMBERG <wl@gnu.org>
5397 2003-05-01 Ruslan Ermilov <ru@FreeBSD.org>
5399 * tmac/doc-common (Nd): Use \[em].
5401 2003-05-01 Werner LEMBERG <wl@gnu.org>
5403 * tmac/doc-ditroff, tmac/doc-nroff (doc-header-space,
5404 doc-footer-space): Initialize to 0.5i.
5405 (doc-setup-page-layout): Don't set doc-header-space and
5408 2003-04-30 Werner LEMBERG <wl@gnu.org>
5410 * REVISION: Set to 1.
5412 * doc/pic.ms: Document possible problems with `figname'.
5414 2003-04-29 Werner LEMBERG <wl@gnu.org>
5416 Version 1.19 released
5417 =====================
5419 * VERSION: Set to 1.19.
5420 * REVISION: Set to 0.
5421 * doc/groff.texinfo, doc/webpage.ms, NEWS: Updated.
5423 * src/devices/grohtml/post-html.cpp (html_printer::~html_printer):
5424 Define charset as `US-ASCII' in html output.
5426 * tmac/www.tmac (ULE): Add missing scaling indicator.
5428 * win32-diffs: Removed.
5430 2003-04-28 Werner LEMBERG <wl@gnu.org>
5432 * doc/groff.texinfo: Document `dn' and `dl' registers if used with
5434 Document how to insert discardable whitespace with `.ss'.
5436 2003-04-27 Werner LEMBERG <wl@gnu.org>
5438 * src/preproc/pic/tex.cpp (tex_output::start_picture): Make code
5439 work with plain TeX also.
5441 * src/preproc/pic/pic.man, doc/pic.ms: Fix TeX code example.
5443 2003-04-25 Gaius Mulley <gaius@glam.ac.uk>
5445 * src/devices/grohtml/post-html.cpp (html_printer::~html_printer):
5448 2003-04-24 Werner LEMBERG <wl@gnu.org>
5450 * src/preproc/pic/pic.man, doc/pic.ms: Explain how to get a
5451 vbox with positive height and zero depth if in TeX mode.
5453 * NEWS: Document glyph name changes for grodvi and grolj4.
5455 2003-04-23 Werner LEMBERG <wl@gnu.org>
5457 * src/preproc/pic/tex.cpp (tex_output::start_picture): Fix TeX code.
5458 * doc/pic.ms: Fixed.
5460 2003-04-21 Werner LEMBERG <wl@gnu.org>
5462 HP-UX 10.20 has `snprintf' but it isn't declared.
5464 * configure.ac: Add declaration test for snprintf.
5465 * configure: Regenerated.
5466 * src/include/lib.h: Handle `NEED_DECLARATION_SNPRINTF'.
5467 * src/include/config.hin: Regenerated.
5469 2003-04-19 Werner LEMBERG <wl@gnu.org>
5471 Add keyword `figname' to pic, specifying the name of the picture
5472 box in TeX mode. Based on a patch from William J Poser
5473 <wjposer@unagi.cis.upenn.edu>.
5475 * src/preproc/pic/pic.y: New token `FIGNAME'.
5476 (macro_name): New rule of type <str>.
5477 (placeless_element): Handle `FIGNAME'.
5478 * src/preproc/pic/lex.cpp (lookup_keyword): Add `figname'.
5479 * src/preproc/pic/main.cpp (graphname): New global variable.
5480 (do_picture): Initialize `graphname'.
5481 * src/preproc/pic/pic.h: Updated.
5482 * src/preproc/pic/tex.cpp (tex_output::start_picture): Use
5485 (tex_output::text): Beautify output.
5486 * src/preproc/pic/object.cpp (object_spec::~object_spec): Deallocate
5487 `shaded' and `outlined' unconditionally.
5488 * NEWS, src/preproc/pic/pic.man, doc/pic.ms: Updated.
5491 * PROBLEMS, README.CVS: Mention that bison version 1.875b or
5492 greater is necessary.
5494 2003-04-17 Hartmut Henkel <hartmut_henkel@gmx.de>
5496 Add option -r to soelim to avoid emission of `.lf' lines.
5497 Add option -t to produces TeX comment lines instead of `.lf' lines.
5499 * src/preproc/soelim/soelim.cpp: New global variables `raw_flag'
5502 (main): Handle `-r' and `-t'.
5503 (set_location): Handle `raw_flag' and `tex_flag'.
5504 * src/preproc/soelim/soelim.man, NEWS: Updated.
5506 2003-04-17 Werner LEMBERG <wl@gnu.org>
5508 * tmac/hyphenex.sh: Replaced with...
5509 * tmac/hyphenex.pl: This perl script to avoid sed compatibility
5512 * aclocal.m4 (GROFF_HTML_PROGRAMS): Emit useful warning message
5513 if --quiet is used for the configure script.
5514 * configure: Regenerated.
5516 2003-04-16 Werner LEMBERG <wl@gnu.org>
5518 * src/devices/grohtml/post-html.cpp (text_glob::text_glob):
5519 Add `const' to second argument.
5520 (html_printer::add_table_end): Add `const' to argument.
5521 * src/devices/grohtml/html-text.cpp (html_text::issue_tag): Add
5522 `const' to arguments.
5523 * src/devices/grohtml/html-text.h: Updated.
5525 * src/devices/grolbp/charset.h (symset): Use `unsigned char'.
5526 * src/devices/grolbp/lbp.h (lbpputc): Use `unsigned char' for
5529 * src/devices/grotty/tty.cpp (tty_printer::make_rgb_string): Use
5530 cast for integer constant.
5532 * src/preproc/html/pre-html.cpp (image_device): Use `const'.
5533 (writeNbytes): Add `const' to first argument.
5534 (writeString): Add `const' to argument.
5535 (char_buffer::can_see): Add `const' to third argument.
5536 * src/preproc/html/pushback.cpp (pushBackBuffer::isString): Add
5537 `const' to argument.
5538 * src/preproc/html/pushback.h: Updated.
5540 * src/preproc/soelim/soelim.cpp (include_list): Add `const'.
5541 (include_path_append): Add `const' to argument.
5544 * src/roff/troff/uniglyph.cpp (unicode_to_glyph_list): Use `const'
5546 (unicode_to_glyph_init::unicode_to_glyph_init): Updated.
5547 * src/roff/troff/uniuni.cpp (unicode_decompose_list): Use `const'
5549 (unicode_decompose_init::unicode_decompose_init): Updated.
5550 * src/roff/troff/glyphuni.cpp (glyph_to_unicode_list): Use `const'
5552 (glyph_to_unicode_init::glyph_to_unicode_init): Updated.
5553 * src/roff/troff/input.cc (process_startup_file): Add `const' to
5556 * tmac/hyphenex.sh: Make script more portable by using a here
5559 2003-04-15 Werner LEMBERG <wl@gnu.org>
5561 Renamed all `*.cc' files to `*.cpp'.
5562 Updated all configuration files, makefiles, and documentation.
5564 2003-04-14 Werner LEMBERG <wl@gnu.org>
5566 * tmac/hyphenex.sh: Slight improvements.
5568 2003-04-13 Werner LEMBERG <wl@gnu.org>
5570 * font/devascii/R.proto, font/devcp1037/R.proto,
5571 font/devlatin1/R.proto, font/devutf8/R.proto: Fill up remaining
5572 character slots with unnamed glyphs.
5574 * tmac/an-old.tmac: Fix hyphenation value if `cR' is active.
5575 (an-first): New global variable.
5576 (an-header): Emit vertical space between multiple man pages.
5578 2003-04-11 Werner LEMBERG <wl@gnu.org>
5580 * doc/groff.texinfo, man/groff_out.man: \S only accepts integer
5583 2003-04-10 Werner LEMBERG <wl@gnu.org>
5585 * PROBLEMS: Revised.
5587 2003-04-10 Bernd Warken <bwarken@mayn.de>
5589 * doc/webpage.ms: Improved.
5591 2003-04-09 Werner LEMBERG <wl@gnu.org>
5593 Add register \n[.height] which returns the value of \H.
5594 Add register \n[.slant] which returns the value of \S.
5596 * src/roff/troff/env.cc (init_env_requests): Implement.
5597 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
5600 2003-04-08 Werner LEMBERG <wl@gnu.org>
5602 * tmac/html.tmac: Move some of the data into html-end.tmac.
5603 Remove most of the character translations for eqn since html fonts
5604 now cover those characters.
5606 * tmac/html-end.tmac: New file.
5607 * tmac/troffrc: Load html.tmac not www.tmac for -Thtml.
5608 * tmac/troffrc-end: Load html-end.tmac not html.tmac for -Thtml.
5609 * tmac/Makefile.sub (NORMALFILES): Add html-end.tmac.
5611 2003-04-07 Werner LEMBERG <wl@gnu.org>
5613 * man/groff_out.man: Document negative values of `N' if -Thtml is
5616 2003-04-06 Werner LEMBERG <wl@gnu.org>
5618 * Makefile.comm (depend.temp): Check location of YTABC.
5620 2003-04-05 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
5622 * contrib/mom/Makefile.sub (GROFFBIN): New variable for groff
5624 (groff_bin_path): Rename to GROFF_BIN_PATH.
5625 (GROFF): Use GROFFBIN and GROFF_BIN_PATH.
5626 * doc/Makefile.in (TROFFBIN): New variable for troff
5628 (GROFFBIN): New variable for groff binary path.
5629 (groff_bin_path): Rename to GROFF_BIN_PATH.
5630 (TROFF): Use TROFFBIN.
5631 (GROFF): Use GROFFBIN and GROFF_BIN_PATH.
5632 * doc/Makefile.sub (GROFFBIN): New variable for groff
5634 (groff_bin_path): Rename to GROFF_BIN_PATH.
5635 (GROFF): Use GROFFBIN and GROFF_BIN_PATH.
5637 * Makefile.comm (install_dev): Install scripts from DEVSCRIPTS
5638 with INSTALL_SCRIPT.
5639 (uninstall_dev): Uninstall scripts from DEVSCRIPTS.
5640 * Makefile.dev (all): Depend on DEVSCRIPTS.
5641 (install_dev): Likewise.
5642 * font/devdvi/Makefile.sub (DEVSCRIPTS): New variable to hold
5644 * font/devps/Makefile.sub (DEVSCRIPTS): Likewise.
5645 (DEVGENSCRIPTS): New variable to hold generated scripts.
5647 2003-04-05 Werner LEMBERG <wl@gnu.org>
5649 * src/libs/libdriver/input.cc (IntArray::operator[],
5650 IntArray::get_data): Remove meaningless `const' in return value.
5652 * README.CVS: New file.
5654 2003-04-04 Werner LEMBERG <wl@gnu.org>
5656 Check for stdint.h in C++, not in C.
5658 * aclocal.m4 (GROFF_STDINT_H): New function,
5659 * configure.ac: Check for stdint.h with GROFF_STDINT_H instead of
5661 * configure, src/include/config.hin: Regenerated.
5662 * src/libs/libgroff/tmpname.cc: Use HAVE_CC_STDINT_H.
5665 Fix handling of in grohtml. To do this, troff emits `N'
5666 with a negative value, representing the width of the unbreakable
5667 space (only for -Thtml). grohtml then converts this back to
5668 and uses the value of N as its width.
5670 * src/roff/troff/node.cc (space_char_hmotion_node::tprint,
5671 unbreakable_space_node::tprint): Emit `N-<width>'.
5672 * src/include/printer.h (printer::set_numbered_char): Make it
5674 Make members `font_table' and `nfonts' protected instead of private.
5675 * src/devices/grohtml/post-html.cc
5676 (html_printer::set_numbered_char): New member function.
5679 * src/libs/libgroff/maxfilename.cc:
5680 s/HAVE_LIMITS_H/HAVE_CC_LIMITS_H/.
5682 * src/roff/troff/node.cc (unbreakable_space_node::tprint): Don't
5685 2003-04-03 Sergey A. Osokin <osa@freebsd.org.ru>
5687 * man/roff.man: Small fixes.
5689 2003-04-03 Werner LEMBERG <wl@gnu.org>
5691 Make groff independent from locale's numeric settings.
5693 * configure.ac: Check for `setlocale'.
5694 * configure, src/include/config.hin: Regenerated.
5696 * src/include/lib.h: Handle HAVE_SETLOCALE.
5698 * src/devices/grodvi/dvi.cc (main), src/devices/grolj4/lj4.cc
5699 (main), src/devices/grops/ps.cc (main), src/preproc/grn/main.cc
5700 (main), src/preproc/pic/main.cc (main): Call `setlocale'.
5703 * doc/groff.texinfo: Change dir category to `Typesetting'.
5704 (Man font macros): Mention that there is no space between arguments
5707 * src/libs/libdriver/printer.cc, src/devices/grotty/tty.cc
5708 (*printer::change_color, *printer::change_fill_color): Add missing
5711 2003-04-02 Werner LEMBERG <wl@gnu.org>
5713 * src/devices/grohtml/html-table.cc (html_table::emit_col,
5714 html_table::is_gap): Compute table widths after converting border
5715 positions to avoid rounding errors.
5717 2003-04-01 Werner LEMBERG <wl@gnu.org>
5719 * src/devices/grohtml/html-text.cc (html_text::do_space): Handle
5720 `space_emitted' properly.
5722 2003-03-31 Werner LEMBERG <wl@gnu.org>
5724 * src/devices/grohtml/html-table.cc: Fix column width calculation.
5725 (html_table::set_linelength): Don't add 1.
5726 (html_table::add_indent): Don't subtract 1.
5728 * tmac/html.tmac: Set default page offset to zero.
5730 2003-03-30 Werner LEMBERG <wl@gnu.org>
5732 Make groff emit ` ' for `\ ' and `\~' if `-Thtml' is used.
5734 * src/roff/troff/node.cc (space_char_hmotion_node::tprint,
5735 unbreakable_space_node::tprint): New functions.
5736 (troff_output_file): Make space_char_hmotion_mode::tprint and
5737 unbreakable_space_node::tprint to friends.
5738 * src/roff/troff/node.h: Updated.
5740 * font/devhtml/R.proto: Add ` ' at position 0xA0 (as defined
5741 in the HTML standard).
5743 2003-03-29 Werner LEMBERG <wl@gnu.org>
5745 * src/roff/troff/env.cc (point_size): Fix emission of html tag.
5746 Otherwise, the following code
5755 produces `x a' instead of `xa'. This is a temporary fix, disabling
5756 font changes in diversions for -Thtml.
5758 * tmac/an-old.tmac (TH, SH): Use `HTML-TAG-NS' instead of
5760 (an-do-tag-html): Merge with ...
5761 (an-do-tag): This macro.
5762 Change code slightly to circumvent grohtml bug.
5763 * tmac/troffrc-end: Define dummy for HTML-TAG-NS.
5765 * src/devices/grohtml/html-table.cc (html_table::emit_col,
5766 html_table::is_gap): Round `width' properly.
5768 * tmac/html.tmac: Provide some default layout parameters for
5771 * font/devhtml/DESC.proto: Don't use discrete values for `sizes'
5774 2003-03-28 Werner LEMBERG <wl@gnu.org>
5776 src/devices/grops/ps.cc (ps_printer::do_import): Fix error message.
5778 2003-03-27 Werner LEMBERG <wl@gnu.org>
5780 * tmac/an-old.tmac (BT): Don't call .tl if register `ps4html' is
5783 2003-03-20 Werner LEMBERG <wl@gnu.org>
5785 * src/roff/troff/env.cc (vertical_spacing): Allow zero value for
5787 * doc/groff.texinfo: Updated.
5789 2003-03-19 Werner LEMBERG <wl@gnu.org>
5791 * src/roff/troff/input.cc (process_input_stack) <TOKEN_BEGIN_TRAP,
5792 TOKEN_END_TRAP>: Reset `have_input'.
5794 2003-03-18 Werner LEMBERG <wl@gnu.org>
5796 * src/roff/groff/groff.man: Mention groff_trace man page.
5798 2003-03-16 Werner LEMBERG <wl@gnu.org>
5800 * Makefile.in (LIBEXT): New variable to indicate the file extension
5801 of library files. Computed heuristically from $(OBJEXT).
5802 (MDEFINES): Add $(LIBEXT).
5803 * Makefile.lib, Makefile.comm: Use it.
5805 * src/utils/pfbtops/pfbtops.c (get_text): New function. Split
5806 overlong lines into smaller chunks.
5807 (get_binary): New function.
5809 * src/utils/pfbtops/pfbtops.man: Updated.
5811 2003-03-15 Colin Watson <cjwatson@debian.org>
5813 * src/roff/groff/groff.man: Minor syntax fix.
5815 2003-03-14 Egil Kvaleberg <egil@kvaleberg.no>
5817 * src/devices/grops/ps.cc (ps_printer::media_set,
5818 ps_printer::~ps_printer): Handle zero paper width and length.
5820 2003-03-13 Werner LEMBERG <wl@gnu.org>
5822 Add options -p and -l to grodvi.
5824 * src/devices/grodvi/dvi.cc: Include paper.h.
5825 (landscape_flag, user_paper_length, user_paper_width): New global
5827 (dvi_printer::begin_page): Emit `papersize' special.
5828 Set color after initialization of `cur_h' and `cur_v'.
5829 (main): Add options `-l' and `-p'.
5830 * font/devdvi/Makefile.sub (DESC): Set `papersize'.
5831 * src/devices/grodvi/grodvi.man, NEWS: Updated.
5833 * src/devices/grops/psrm.cc (valid_input_table): Fixed.
5835 2003-03-12 Werner LEMBERG <wl@gnu.org>
5837 * src/devices/grops/grops.man: Move documentation of .PSPIC to...
5838 * man/groff_tmac.man: This man page.
5839 * man/groff_font.man: Declare `paperwidth' and `paperlength' as
5842 * tmac/X.tmac: Don't load pspic.tmac.
5844 2003-03-11 Werner LEMBERG <wl@gnu.org>
5846 Make variable `pr' local to libdriver/input.cc. Based on a patch
5847 by Bernd Warken <bwarken@mayn.de>.
5849 * src/include/driver.h (pr): Removed.
5851 * src/libs/libdriver/input.cc (pr): New global variable.
5852 (do_file): Deallocate `pr'.
5853 * src/libs/libdriver/printer.cc (pr): Removed.
5855 * src/devices/grodvi/dvi.cc (main), src/devices/grohtml/post-html.cc
5856 (main), src/devices/grolbp/lbp.cc (main), src/devices/grolj4/lj4.cc
5857 (main), src/devices/grops/ps.cc (main), src/devices/grotty/tty.cc
5858 (main): Don't delete `pr'.
5860 2003-03-10 Werner LEMBERG <wl@gnu.org>
5862 * tmac/a4.tmac, tmac/composite.tmac: Use `.do'.
5863 * tmac/papersize.tmac: New file.
5864 * tmac/troffrc: Include `papersize.tmac'.
5865 * tmac/Makefile.sub (NORMALFILES): Add `papersize.tmac'.
5866 * tmac/an-old.tmac: Set LT to LL by default.
5868 * NEWS, MANIFEST, tmac/groff_man.man, man/groff_tmac.man,
5869 doc/groff.texinfo: Updated.
5871 * src/libs/libgroff/paper.cc (add_iso_paper): Fix very embarassing
5872 bug which caused all odd iso papers to have wrong dimensions.
5874 * src/devices/grops/ps.cc (user_paper_width): New global variable.
5875 (main) <'p'>: Set `user_paper_width' also.
5876 (ps_printer::media_width, ps_printer::media_height): Use values
5877 given with option `-p'.
5879 2003-03-09 Werner LEMBERG <wl@gnu.org>
5881 * src/include/nonposix.h: Provide default for SET_BINARY.
5883 * src/devices/grodvi/dvi.cc, src/devices/grolbp/lbp.cc,
5884 src/devices/grolj4/lj4.cc, src/devices/grops/ps.cc: Call SET_BINARY
5887 * src/utils/pfbtops/pfbtops.c: Call SET_BINARY unconditionally.
5888 (main): Treat \r\n as \n.
5890 2003-03-08 Werner LEMBERG <wl@gnu.org>
5892 * tmac/an-old.tmac: Use register `HY' to control hyphenation.
5893 * NEWS, tmac/groff_man.man, doc/groff.texinfo: Document it.
5895 2003-03-07 Werner LEMBERG <wl@gnu.org>
5897 Added support to access more than 256 glyphs in Type 1 fonts.
5899 * src/devices/grops/ps.cc (subencoding): New structure.
5900 (style): Add `sub' field.
5902 (ps_printer): Add `subencodings' and `next_subencoding_index' fields.
5903 Add `set_subencoding', `get_subfont' and `encode_subfont' member
5906 (ps_printer::set_char): Use `set_subencoding'.
5907 (make_subencoding_name): New function.
5908 (ps_printer::set_style): Handle case where `sty.sub' is not zero.
5909 (ps_printer::~ps_printer): Emit subencoding definitions.
5911 * src/devices/grops/psrm.cc (valid_input_table): New array to
5912 properly support EBCDIC.
5913 (white_space): Add `\f'.
5914 (ps_get_line): Change first argument to be of type `string &'.
5915 Updated all callers.
5916 This allows to get lines of arbitrary length.
5917 Use `valid_input_table'.
5918 Remove warning about non-conforming PS line length. This seems
5919 not to be of great importance -- for example, dvips don't emit
5921 (PS_LINE_MAX): Removed.
5922 (matches_comment): Change first argument to be of type `string &'.
5924 * src/devices/grops/grops.man, src/devices/grops/TODO: Updated.
5926 * src/utils/afmtodit/afmtodit.pl (%unicode_decomposed,
5927 %AGL_to_unicode, %default_ligatures): New hash tables.
5928 Read all map entries.
5929 Add unencoded characters.
5930 Check for default ligatures if there are no `L' entries.
5931 Print all kern entries.
5932 Print all characters in charset.
5933 * src/utils/afmtodit/afmtodit.man: Updated.
5935 * font/devps/*: Regerated all fonts.
5937 * tmac/latin[129].tmac, tmac/cp1047.tmac: Don't test for existence
5938 of characters, just use `.trin'. Otherwise the mapping depends
5939 on the font encoding.
5940 * tmac/ps.tmac: Add `fi' and `fl'.
5941 Improve `Fi' and `Fl'.
5942 * tmac/X.tmac, tmac/lbp.tmac, tmac/tty.tmac: Improve `Fi' and `Fl'.
5943 * tmac/Xps.tmac: Fix `em'.
5947 2003-03-04 Werner LEMBERG <wl@gnu.org>
5949 * src/roff/troff/input.cc (charinfo_to_node_list): Reset
5952 2003-03-03 Werner LEMBERG <wl@gnu.org>
5954 * Makefile.sub (DISTCLEANFILES): Add gxditview._man.
5956 * font/devps/generate/textmap: Remove entry `similarequal'.
5957 * font/devps/symbolmap: Updated.
5959 2003-03-02 Werner LEMBERG <wl@gnu.org>
5961 * src/libs/libgroff/font.cc (font::load): Fix error message for
5964 * src/devices/grops/grops.man: Improve documentation of the -b
5967 * tmac/tty.tmac: Load latin1.tmac for all TTY devices except
5968 `ascii' and `cp1047'.
5970 2003-03-01 Werner LEMBERG <wl@gnu.org>
5972 Document composite glyphs and the `composite' request.
5974 * man/groff.man, man/groff_diff.man, doc/groff.texinfo: Do it.
5976 2003-02-28 Werner LEMBERG <wl@gnu.org>
5978 * font/devdvi/generate/ec.map: Add some more Unicode entities.
5979 * font/devdvi/*EC: Updated.
5981 * tmac/composite.tmac, tmac/latin2.tmac, tmac/latin9.tmac: New files.
5982 * tmac/latin1 (latin1-tr): Undo any previous mapping.
5983 * tmac/troffrc: Load `composite.tmac'.
5984 * tmac/Makefile.sub (NORMALFILES): Updated.
5986 * doc/groff.texinfo (Input Encodings): New section.
5989 2003-02-27 Werner LEMBERG <wl@gnu.org>
5991 * doc/texinfo.tex: New version 2003-02-11.06.
5993 * tmac/doc-common (Dt): Don't emit warning for unknown section.
5994 * tmac/groff_mdoc.man: Fix description of `Dt'.
5996 2003-02-26 Egil Kvaleberg <egil@kvaleberg.no>
5998 * font/devps/prologue.ps: Fix for included Postscript that does
5999 a setpagedevice -- which is now safely ignored.
6003 * src/devices/grops/ps.cc: Now sets the page size in the generated
6004 document. This is done in two ways: Via a %%-comment for gv and
6005 the like, and via a PageSize and setpagedevice for programs that
6006 understands Postscript proper, like ps2pdf.
6008 * src/devices/grops/ps.h: New broken-flag to avoid page size
6009 definition, if required.
6011 * src/devices/grops/grops.man: New broken-flag 16 mentioned.
6013 * doc/Makefile.in: Added -nosetpage flag (via @pnmtops_nosetpage@).
6014 Not really necessary due to the fix in prologue.ps, but cleaner:
6015 Such information does not belong in an .eps file.
6017 * doc/Makefile.sub: See doc/Makefile.in.
6019 2003-02-26 Ralph Corderoy <ralph@inputplus.co.uk>
6021 * aclocal.m4 (GROFF_PNMTOPS_NOSETPAGE): Use P2 format for testing
6022 instead of P1 since the latter is broken in some versions of netpbm.
6023 * configure: Updated.
6025 2003-02-26 Larry Kollar <kollar@alltel.net>
6027 Make man pages more customizable.
6029 * tmac/an-old.tmac (FT): New register holding footer distance from
6031 (HF): New string holding the default heading font.
6032 (TH): Handle registers `IN' and `SN' set on the command line.
6034 (PT, BT): New strings to customize header and footer lines.
6035 (an-header, an-footer): Use them.
6037 * tmac/groff_man.man: Document changes.
6039 * doc/groff.texinfo: Document man changes.
6040 Document Ultrix extensions of man.
6042 2003-02-26 Werner LEMBERG <wl@gnu.org>
6044 * src/roff/troff/input.cc (do_width, do_if_request): Reset
6045 `have_input' after changing back to old environment.
6047 * src/devices/grolbp/lbp.cc (lbp_printer::set_line_thickness): Move
6048 function up to be defined before first call. This is necessary to
6049 avoid a compilation problem with Sun's WorkShop 6 C++ compiler.
6051 * src/utils/afmtodit/afmtodit.pl: Make script search for files in
6052 the default font directory also. Based on a patch from James
6053 J. Ramsey <jjramsey_6x9eq42@yahoo.com>.
6054 * src/utils/afmtodit/Makefile.sub (afmtodit): Handle @FONTDIR@.
6055 * src/utils/afmtodit/afmtodit.man: Document it.
6059 * tmac/groff_man.man, doc/groff.texinfo: Many minor fixes.
6061 2003-02-25 Gaius Mulley <gaius@glam.ac.uk>
6063 * aclocal.m4 (GROFF_HTML_PROGRAMS): Add test for pnmtops.
6064 (GROFF_PNMTOPS_NOSETPAGE): New macro.
6065 * configure.ac: Use it.
6066 * configure: Regenerated.
6067 * Makefile.in: Updated.
6069 * tmac/Makefile.sub (NORMALFILES): Remove www.tmac.
6070 (CLEANADD): Add www.tmac-sed.
6071 (pnmtops_nosetpage): Define default.
6072 (install_data): Handle www.tmac-sed and substitute
6073 @PNMTOPS_NOSETPAGE@.
6074 (stamp-sed): Add www.tmac.
6075 * tmac/www.tmac: Rewritten, based on a patch by Bernd Warken.
6076 It now breaks URLs at suitable places.
6077 (www:substring_ok): New register set by...
6078 (www:@test_substring): New macro.
6079 (www:error): New alias to www-error.
6080 (www:lenstr, www:splitstr, www:url_breaks, www:url_breaks_splitted):
6082 (URL): Use www:url_breaks.
6083 (PIMG, MPIMG): Use @PNMTOPS_NOSETPAGE@.
6084 (CDS, CDE): New macros.
6086 2003-02-25 Werner LEMBERG <wl@gnu.org>
6088 * src/devices/grops/ps.cc (ps_printer::define_encoding): Avoid
6091 2003-02-24 Werner LEMBERG <wl@gnu.org>
6093 Contrary to the PCL5 Developer's Guide, the ascenders in TFM files
6094 can be negative also.
6096 * src/utils/hpftodit/hpftodit.cc (char_info): `ascent' must be
6098 (read_char_table): Avoid negative ascenders.
6099 (output_charset): Add cast.
6100 * font/devlj4/*: Regenerated.
6102 Replace unnamed glyphs for DVI fonts with `uXXXX' glyph names where
6105 * font/devdvi/generate/{tc,texttt,ec,texmi,texsy,textex}.map: Do it.
6106 * font/devdvi/generate/textex.map: Map glyph 23 to `u21C6' instead
6108 * font/devdvi/*: Regenerated.
6110 Map `la' and `ra' to U+27E8 and U+27E9. These two characters have
6111 normal width, while the previously used characters (U+2329 and
6112 U+232A) are classified as wide due to canonical equivalence with the
6113 CJK punctuation characters U+3008 and U+3009.
6115 * font/devutf8/R.proto: Updated.
6116 * src/roff/troff/uniglyph.cc, src/roff/troff/glyphuni.cc: Ditto.
6118 * man/groff_char.man: Simplify handling of table traps by
6119 introducing `start block' and `end block' macros.
6120 (Ns, Ne, 2s, 2e, Ds, De): New macros.
6121 (DL): Make it work with Unix troff also.
6122 Fix code values of `la' and `ra'.
6124 * tmac/dvi.tmac: Define `<>' for CW and CWI.
6126 2003-02-23 Gaius Mulley <gaius@glam.ac.uk>
6128 * src/devices/grohtml/post-html.cc (element_list::~element_list):
6129 New destructor, fixing a major memory leak.
6131 2003-02-22 Werner LEMBERG <wl@gnu.org>
6133 * font/devhtml/R.proto, font/devutf8/R.proto: Flip `*f' and `+f'
6134 to be in conformance with Unicode 3.0 and newer.
6136 * font/devlj4/generate/text.map: Add `Eu'.
6137 * font/devlj4/generate/special.map: Flip `*e' and `+e'.
6138 * font/devlj4/S: Regenerated.
6140 * man/groff_char.man: Completely rewritten.
6142 * doc/groff.texinfo: Fix description of request and macro arguments.
6144 2003-02-20 Gaius Mulley <gaius@glam.ac.uk>
6148 * src/devices/grohtml/html-table.cc (html_table::~html_table):
6149 Deallocate `columns' list.
6150 * src/devices/grohtml/post-html.cc (char_block::~char_block):
6152 (text_glob::text_glob_html, text_glob::text_glob_special,
6153 text_glob::text_glob_line, text_glob::text_glob_auto_image,
6154 text_glob::text_glob_tag): Avoid memory leaks.
6155 (text_glob::remember_table): Free memory before reassigning.
6157 2003-02-19 Werner LEMBERG <wl@gnu.org>
6159 Add glyph `+e', greek lunate epsilon symbol, and `-h' (with the
6160 alias `hbar'), the Planck constant over two pi.
6162 * font/devdvi/generate/texmi.map: Use `*e' for position 15 and
6163 `+e' for position 34.
6164 * font/devdvi/generate/texsy.map: Replace `DI' and `HE' with
6165 `u2662' and `u2661'.
6166 * font/devdvi/{MI,S}: Regenerated.
6167 * font/devhtml/R.proto, font/devutf8/R.proto: Add `+e', `-h', `hbar'.
6168 * font/devlbp/*: Add `hbar' alias.
6169 * font/devlj4/generate/special.map: Ditto.
6170 * font/devlj4/S: Regenerated.
6171 * font/devps/generate/symbolchars: Add `+e'.
6172 * font/devps/generate/textmap: Fix PS name for `-h'.
6174 * font/devps/symbolmap: Regenerated.
6176 * src/devices/grops/ps.cc (transform_fill): Removed since unused.
6178 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `+e',
6180 * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `+e',
6183 * tmac/X.tmac, tmac/ps.tmac: Provide definitions for `-h' and
6185 * tmac/tty-char.tmac: Add `+e'.
6187 2003-02-17 Werner LEMBERG <wl@gnu.org>
6189 Another round trying to really fix problems with `have_input'.
6191 * src/roff/troff/input.cc (input_stack::get): Handle `have_input'.
6192 (token::next) <'\n'>, <\'\n'>: Don't handle `have_input'.
6194 * src/devices/grotty/tty.cc (tty_printer::put_color): Fix color
6195 handling if both foreground and background colors are default.
6197 * doc/groff.texinfo (Debugging): Document .lf differences to
6200 2003-02-16 Werner LEMBERG <wl@gnu.org>
6202 * src/devices/grotty/tty.cc (tty_printer::make_rgb_string): Avoid
6203 null-bytes in created string.
6205 * src/roff/troff/input.cc (lookup_color, interpolate_macro,
6206 alias_macro, lookup_request): Improve warning messages.
6208 * src/roff/troff/node.cc (suppress_node::tprint): Use `strsave',
6210 Free `last_image_filename'.
6212 * src/preproc/html/pre-html.cc (char_block::char_block): Initialize
6214 (imageList::createPage, imageList::createImage): Use `free', not
6216 (imageItem::~imageItem): Free `imageName'.
6217 (addRegDef): Use `strsave', not `strdup'.
6218 (get_resolution): Free `pathp'.
6220 2003-02-15 Werner LEMBERG <wl@gnu.org>
6222 * src/devices/grotty/tty.cc (tty_printer::tty_printer): Fix pointer
6225 2003-02-14 Werner LEMBERG <wl@gnu.org>
6227 Add memory management for colors to deallocate unnamed colors
6230 * src/include/color.h (color): New members `free_list' and `next'.
6231 New member functions `new' and `delete'.
6233 * src/libs/libgroff/color.cc: Implement it.
6235 * src/libs/libgroff/font.cc (font::add_kern): Use integer cast
6236 for array size of new operator.
6238 * src/libs/libdriver/input.cc (IntArray::operator[]): Remove
6239 redundant comparison.
6241 * src/roff/troff/input.cc (word_space_node::reread,
6242 hmotion_node::reread): Avoid warning about unused parameter.
6243 (reset_output_registers): Remove redundant parameter.
6244 (define_color): Undo change 2003-02-12.
6246 * src/roff/troff/reg.h: Updated.
6248 * src/roff/troff/node.cc (troff_output_file::really_print_line,
6249 output_file::put_filename, real_output_file::really_put_filename,
6250 ascii_output_file::really_print_line,
6251 break_char_node::get_hyphen_list): Avoid warning about unused
6253 (suppress_node::tprint): Updated.
6255 * configure.ac: Check declaration for rand() and srand().
6256 * configure: Regenerated.
6258 * src/preproc/pic/pic.h: Declare fmod(), rand(), and srand()
6260 * src/preproc/pic/pic.y: Remove declaration of fmod(), rand(),
6263 * src/preproc/eqn/delim.cc (delim_table): Add missing initializers
6264 to avoid compiler warnings.
6266 * src/preproc/grn/hgraph.cc (HGPrintElt): Second parameter is
6269 * src/devices/grops/ps.cc (ps_printer::set_char): Last parameter
6271 * src/devices/grops/psrm.cc (skip_possible_newline): Remove first
6273 Updated all callers.
6275 * src/devices/grotty/tty.cc (tty_printer::set_char): Last parameter
6277 * src/devices/grodvi/dvi.cc (dvi_printer::set_char): Ditto.
6278 * src/devices/grolj4/lj4.cc (lj4_printer::set_char): Ditto.
6280 * src/devices/grohtml/post-html.cc (html_printer::emit_line):
6281 Parameter is unused.
6282 (html_printer::add_table_end): Define parameter conditionally.
6283 * src/devices/grohtml/output.cc (simple_output::special): Parameter
6286 * src/devices/grolbp/lbp.cc: Define _GNU_SOURCE conditionally.
6287 (lbp_printer::set_char): Last parameter is unused.
6289 * src/utils/indxbib/indxbib.cc (main): Remove redundant comparison.
6291 2003-02-13 Werner LEMBERG <wl@gnu.org>
6293 New commands \D'Fr ...', \D'Fc ...', etc. for orthogonality.
6294 Make \D'f ...' move horizontally again for backwards compatibility.
6295 Replace it with \D'Fg ...' where appropriate to avoid dependency
6296 on horizontal resolution.
6298 * src/roff/troff/input.cc (do_get_long_name): New function.
6299 (get_long_name): Call it.
6301 (read_draw_node): Handle `\D'Fx ...' by calling ...
6302 (read_color_draw_node): New function.
6304 (read_rgb, read_cmy, read_cmyk, read_gray): New optional argument
6306 Pass it to `do_get_long_name' which is used instead of
6309 * src/libs/libdriver/input.cc (color_from_Df_command): Remove
6310 unnecessary value guard.
6311 (parse_D_command) <'f'>: Add horizontal shift.
6313 * src/preproc/grn/hgraph.cc (HGPrintElt) <POLYGON>: Use \D'Fg ...'.
6314 * src/preproc/pic/troff.cc (troff_output::set_fill): Ditto.
6315 (FILL_MAX): Removed.
6317 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
6320 2003-02-12 Werner LEMBERG <wl@gnu.org>
6322 * src/roff/troff/input.cc (do_name_test, do_expr_test,
6323 do_zero_width): Push `\n' if closing delimiter is missing.
6325 (token::next) <ESCAPE_NEWLINE>, <'\n'>, <\'\n'>: Reset `have_input'.
6326 <'F'>: Make \F non-transparent at the beginning of line.
6327 (process_input_stack) <token::TOKEN_CHAR, token::TOKEN_NEWLINE,
6328 token::TOKEN_REQUEST, token::TOKEN_BEGIN_TRAP>: Don't handle
6331 (define_color): Free color in case of reassignment.
6333 * doc/groff.texinfo (@Defesc, @DefescList, @DefescItem,
6334 @DefescListEnd): Use @Var, not @var.
6337 * src/preproc/grn/hgraph.cc (HGPrintElt): Fix typo.
6339 * src/preproc/pic/object.cc (object_spec::~object_spec): Free
6340 `shaded' and `outlined' arrays.
6341 (object_spec::object_spec): Initialize `shaded' and `outlined'.
6342 (graphic_object::set_fill_color, graphic_object::set_outline_color):
6344 (closed_object::set_fill_color): Ditto.
6345 * src/preproc/pic/troff.cc (troff_output::set_color): Use strsave
6347 (troff_output::reset_color): Use a_delete instead of free.
6348 * src/preproc/pic/main.cc (do_file): Free `out' in case of error.
6350 2003-02-11 Werner LEMBERG <wl@gnu.org>
6352 * doc/groff.texinfo: Improve documentation of `ad'.
6353 Document that \D'f...' is dependent on the horizontal resolution.
6354 * man/groff_diff.man: Improve documentation of \D'f...'.
6356 * src/preproc/grn/hgraph.cc (HGPrintElt) <POLYGON>: Don't emit
6357 compensating \h'...' for \D'f ...' since the latter no longer moves
6359 * src/preproc/pic/troff.cc (troff_output::set_fill): Ditto.
6361 2003-02-10 Werner LEMBERG <wl@gnu.org>
6363 Improve error messages for `x F' (and `F') commands.
6365 * src/include/error.h: Add declaration for
6366 `current_source_filename'.
6367 * src/libs/libgroff/filename.cc: Add `current_source_filename'.
6368 * src/libs/libgroff/error.cc (do_error_with_file_and_line): Add
6369 parameter for source file string.
6370 Updated all callers.
6372 * src/libs/libdriver/input.cc: Add `current_source_filename'.
6373 (remember_source_filename): New function.
6374 (parse_x_command <'F'>, do_file <'F'>): Use it.
6376 2003-02-09 Werner LEMBERG <wl@gnu.org>
6378 Make grotty not emit warnings about unknown colors more than
6381 * src/devices/grotty/tty.cc: Include `ptable.h'.
6382 (TTY_MAX_COLORS): Removed.
6383 (DEFAULT_COLOR_IDX): Defined to -1.
6384 (glyph): Change `back_color_idx' and `fore_color_idx' to `char'.
6385 (tty_printer): Change `curr_back_idx' and `curr_fore_idx' to `char'.
6386 Change `tty_colors' to be a ptable.
6387 First arg of `put_color' is now `char'.
6388 New functions `make_rgb_string' and `tty_color'.
6389 (tty_printer::tty_printer): Use `tty_color'.
6390 (tty_printer::color_to_idx): Return value is now `char'.
6393 * src/include/color.h (color): Add `print_color' member function.
6394 * src/libs/libgroff/color.cc (color::print_color): Implement it.
6396 2003-02-08 Werner LEMBERG <wl@gnu.org>
6400 * src/devices/grops/ps.cc (ps_printer::define_encoding): Close
6403 * src/include/ptable.h (PTABLE::~PTABLE, PTABLE::define): Always
6404 assume that value has been allocated with `new[]', thus use
6405 `a_delete' for deallocation.
6407 * src/libs/libdriver/input.cc (get_integer_arg,
6408 get_possibly_int_args, parse_x_command, do_file): Use `a_delete'
6411 * src/libs/libgroff/new.cc (delete) [!COOKIE_BUG]: Define.
6412 * src/libs/libgroff/nametoindex.cc
6413 (character_indexer::named_char_index): Use `new <type>[1]'.
6415 * src/preproc/eqn/lex.cc (init_table, do_definition): Use `new
6417 * src/preproc/eqn/text.cc (set_special_char_type): Ditto.
6418 (split_text): Use `a_delete'.
6420 * src/preproc/pic/pic.y (define_label, define_variable): Use `new
6423 * src/roff/troff/env.cc (environment::choose_breakpoint): Avoid
6424 harmless memory leak.
6425 (hyphen_trie::read_patterns_file): Initialize `buf'.
6426 * src/roff/troff/node.cc (troff_output_file::troff_output_file):
6427 Initialize `current_fill_color'and `current_glyph_color'.
6428 * src/roff/troff/glyphuni.cc
6429 (glyph_to_unicode_init::glyph_to_unicode_init): Use `new <type>[1]'.
6430 * src/roff/troff/uniuni.cc
6431 (unicode_decompose_init::unicode_decompose_init): Ditto.
6432 * src/roff/troff/uniglyph.cc
6433 (unicode_to_glyph_init::unicode_to_glyph_init): Ditto.
6435 2003-01-26 Werner LEMBERG <wl@gnu.org>
6437 * src/utils/indxbib/indxbib.cc (main) [__EMX__]: Check with
6438 `access' before calling `unlink'.
6439 (do_file): Handle __EMX__.
6441 * src/include/nonposix.h: Handle __EMX__.
6443 * Makefile.in (SEP): New variable; set to @PATH_SEPARATOR@.
6444 (fontpath,tmacpath): Use it.
6446 Sorted alphabetically.
6448 * src/preproc/eqn/neqn.sh, src/roff/nroff/nroff.sh: Use
6450 * src/preproc/eqn/Makefile.sub, src/roff/nroff/Makefile.sub: Handle
6453 2003-01-27 Werner LEMBERG <wl@gnu.org>
6455 * src/libs/libgroff/strcasecmp.c, src/libs/libgroff/strncasecmp.c:
6456 New files, copied from gnulib.
6457 * src/libs/libgroff/Makefile.sub (CSRCS): Add them.
6458 * configure.ac: Updated.
6459 * configure: Regenerated.
6461 * src/include/config.hin: Regenerated.
6462 * src/include/lib.h [!HAVE_STRCASECMP]: Declare `strcasecmp'.
6463 Don't define `strcasecmp' as `strcmp'.
6464 [!HAVE_STRNCASECMP]: Declare `strncasecmp'.
6465 Dont define `strncasecmp' as `strncmp'.
6467 * src/roff/groff/pipeline.c [!HAVE_STRCASECMP, !HAVE_STRNCASECMP]:
6470 2003-01-26 Werner LEMBERG <wl@gnu.org>
6472 * src/utils/indxbib/indxbib.cc (main) [__EMX__]: Fix typo:
6475 2003-01-25 Werner LEMBERG <wl@gnu.org>
6477 * doc/groff.texinfo (Ligatures and Kerning): Mention limitations.
6479 2003-01-24 Werner LEMBERG <wl@gnu.org>
6481 Add US-english hyphenation exceptions (converted from Barbara
6482 Beeton's hyphenation exception log reports which appear irregularly
6485 * tmac/hyphen.us: Updated to latest version.
6486 * tmac/README: Updated.
6487 * tmac/hyphenex.us, tmac/hyphenex.sh: New files.
6488 * tmac/troffrc: Load `hyphenex.us'.
6489 * tmac/Makefile.sub (NORMALFILES): Add `hyphenex.us'.
6490 * doc/groff.texinfo: Updated.
6492 2003-01-23 Werner LEMBERG <wl@gnu.org>
6494 Improve hyphenation slightly. This is a first step in redesigning
6495 the hyphenation algorithm to make it more flexible (e.g. allowing
6496 kerns and ligatures between the hyphenation character and the
6497 following character -- while not used normally in English, other
6498 languages like German would benefit).
6500 * src/roff/troff/env.cc (environment::hyphenate_line): Use
6501 assertion instead of if-clause.
6502 Let `get_hyphen_list' return the number of involved characters in
6503 the hyphenation pattern instead of computing it directly (which
6504 often yields too small values).
6505 * src/roff/troff/node.h (*::get_hyphen_list): Add second parameter.
6506 * src/roff/troff/node.cc (*::get_hyphen_list): Handle new second
6509 2003-01-22 Werner LEMBERG <wl@gnu.org>
6511 Fixing a bug which caused groff to hang if the hyphenation exception
6512 dictionary tried to grow.
6514 * src/roff/troff/env.cc (hyphen_trie::insert_hyphenation,
6515 hyphen_trie::read_patterns_file, do_hyphenation_patterns_file): Use
6516 pointer to dictionary.
6518 2003-01-20 Werner LEMBERG <wl@gnu.org>
6520 * src/utils/afmtodit/afmtodit.pl: Add switch `-m' to suppress
6521 negative left italic correction.
6522 * src/utils/afmtodit/afmtodit.man: Document it.
6524 * font/devps/generate/Makefile (RFLAG): Add `-m'.
6525 * font/devps/{AB,AR,BMB,BMR,CB,CR,EURO,HB,HR,HNB,HNR,NB,NR,PB,PR,
6526 S,TB,TR,ZD,ZDR}: Regenerated with afmtodit options `-i 0 -m'.
6530 2003-01-16 Werner LEMBERG <wl@gnu.org>
6534 2003-01-16 Jörgen Grahn <jgrahn@algonet.se>
6536 * src/preproc/refer/refer.man: Mention REFER environment variable.
6538 2003-01-05 Werner LEMBERG <wl@gnu.org>
6540 Similar to \[is], the square root glyph (\[sr]) and the square root
6541 extension glyph (\[radicalex]) are now text symbols. The new
6542 mathematical versions are called \[sqrt] and \[sqrtex],
6545 * font/devX*/S: Regenerated.
6546 * font/devdvi/generate/texex.map: Rename `sr[0123]' to `sqrt[0123]'.
6547 * font/devdvi/generate/texsy.map: Rename `sr' to `sqrt'.
6548 * font/devdvi/EX, font/devdvi/S: Regenerated.
6549 * font/devhtml/R.proto, font/devutf8/R.proto: Add `sqrt'.
6550 * font/devlj4/generate/special.map: Add `sqrt'.
6551 * font/devlj4/S: Regenerated.
6552 * font/devps/generate/textmap: Add `sqrt'.
6553 * font/devps/S, font/devps/symbolmap: Regenerated.
6555 * src/preproc/eqn/sqrt.cc (SQRT_CHAR, RADICAL_EXTENSION_CHAR,
6556 SQRT_CHAIN, BAR_CHAIN): Use `sqrt*' and `sqrtex*'.
6557 * src/roff/troff/input.cc (init_charset_table): Make `sqrtex'
6558 overlap horizontally.
6560 * tmac/X.tmac, tmac/ps.tmac, tmac/lj4.tmac: Add `sqrtex'.
6561 * tmac/dvi.tmac: Add `sr', and `sqrtex'.
6564 * doc/groff.texinfo, man/groff_diff.man: Document that `radicalex'
6565 and `sqrtex' are overlapping glyphs.
6567 2003-01-04 Werner LEMBERG <wl@gnu.org>
6569 * font/devdvi/generate/texsy.map: Add `is'.
6570 * font/devps/symbolmap: Regenerated.
6571 * font/devdvi/*TC, MI, S: Regenerated.
6573 * tmac/dvi.tmac: Remove `is'.
6575 2003-01-03 Werner LEMBERG <wl@gnu.org>
6577 `is' is now a text symbol (only relevant for dvi). The math variant
6578 can be accessed with `integral'.
6580 * font/devX*/S: Regenerated.
6581 * font/devdvi/generate/texex.map: Remove `is'.
6582 * font/devdvi/EX: Updated.
6583 * font/devhtml/R.proto, font/devutf8/R.proto: Add `integral'.
6584 * font/devlj4/generate/special.map: Ditto.
6585 * font/devlj4/S: Regenerated.
6586 * font/devps/generate/textmap: Add `integral'.
6587 * font/devps/S: Regenerated.
6589 * tmac/dvi.tmac: Define `is'.
6591 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `integral'.
6593 * src/preproc/tbl/main.cc (process_format): Fix error message.
6595 2003-01-02 Werner LEMBERG <wl@gnu.org>
6597 * font/devhtml/R.proto, font/devutf8/R.proto: Add `ne' and `nc'.
6598 * font/devps/textmap: Fix entries for `ne' and `nc'.
6599 * font/devps/symbolmap: Regenerated.
6601 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list),
6602 src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `18',
6603 `38', `58', `78', `-+', `|=', `nc', `ne'.
6605 * tmac/dvi.tmac: Add `nm', `ne', `nc'.
6606 Use `schar' for `aq'.
6607 * tmac/ps.tmac, tmac/X.tmac: Add `nc' and `ne'.
6608 * tmac/ec.tmac: Add `SC' to special fonts for `CW' and `CWI'.
6609 * tmac/tty.tmac: Add `ne'.
6611 * src/roff/troff/node.cc (make_glyph_node): Test with `get_macro'
6612 for fallback glyphs.
6614 2002-12-29 Werner LEMBERG <wl@gnu.org>
6618 * font/devX*/*: Regenerated.
6619 * font/devdvi/generate/ec.map: Remove `eq'.
6620 * font/devdvi/generate/texsy.map: Make `~=' the same as `~~'.
6621 Assign `|=' to position 39.
6622 * font/devdvi/*EC, S: Regenerated.
6623 * font/devhtml/R.proto, font/devutf8/R.proto: Add `|='.
6624 * font/devlj4/generate/special.map: Make `~=' the same as `~~'.
6625 Assign `|=' to position 549.
6626 * font/devps/generate/textmap, font/devps/enerate/symbolmap: Remove
6628 Add `uni2243' for `|='.
6630 * tmac/ec.tmac: Add `eq'.
6631 * tmac/dvi.tmac: Add `=~'.
6632 * tmac/tty-char.tmac, tmac/ps.tmac, tmac/X.tmac, tmac/lbp.tmac: Add
6635 2002-12-21 Werner LEMBERG <wl@gnu.org>
6637 * font/devdvi/generate/tc.map: Remove `**'.
6638 * font/devdvi/*TC: Regenerated.
6639 * font/devhtml/R.proto, font/devutf8/R.proto: Add `18', `38', `58',
6641 * font/devutf8/NOTES: Updated.
6643 * src/roff/troff/charinfo.h (charinfo): Add `setx_macro' function.
6644 Don't give default parameter to `set_macro'.
6645 * src/roff/troff/input.cc (do_define_character): Use `setx_macro'
6646 instead of `set_macro'.
6647 (charinfo::setx_macro): Implement it.
6648 (charinfo::set_macro): Don't change `mode'.
6650 * tmac/tty.tmac: Add `18', `38', `58', `78', `<<', `>>'.
6651 * tmac/ps.tmac, tmac/X.tmac: Add `<<', `>>'.
6652 * tmac/dvi.tmac: Define `!=' with `.schar'.
6654 2002-12-20 Werner LEMBERG <wl@gnu.org>
6656 * font/devX*/S: Regenerated.
6657 * font/devdvi/generate/ec.map: Remove `pl'.
6658 * font/devdvi/generate/tc.map: Remove `mi', `14', `12', `34'.
6659 * font/devdvi/*{TC,EC}: Regenerated.
6660 * font/devhtml/R.proto: Add `-+'.
6661 Remove double entries for `rk', `lk', `lt', `rt', `rb', `lb'.
6662 * font/devlbp/*: Remove `or'.
6663 * font/devlj4/generate/special.map: Remove `or'.
6664 * font/devlj4/S: Regenerated.
6665 * font/devps/generate/textmap: Add `fiveeighths', `oneeighth',
6666 `seveneighths', `threeeighths'.
6668 Replace `minusplus' with `uni2213'.
6669 * font/devps/symbolmap: Regenerated.
6670 * font/devutf8/R.proto: Replace `shc' with unnamed glyph.
6673 * src/roff/troff/charinfo.h (charinfo): Add `is_normal' inline
6675 * src/roff/troff/node.cc (troff_output_file::put_char_width):
6676 Call glyph_color and fill_color even if tcommand_flag isn't set.
6677 (make_node, node::add_char): Check not ci->is_fallback but
6680 * tmac/lj4.tmac, tmac/lbp.tmac: Define `or'.
6681 * tmac/ec.tmac: Add .rchar entry for `f/'.
6682 Don't remove `12', `14', `34'.
6683 Define `pl' to be always roman.
6684 * tmac/ps.tmac (ps-frac, ps-frac-mono): New macros.
6685 Define `18', `38', `58', `78'.
6686 * tmac/tty.tmac: Add `-+'.
6687 * tmac/dvi.tmac: Define `f/'.
6688 (dvi-frac): Use `f/'.
6689 * tmac/X.tmac (X-frac, X-frac-mono): New macros.
6690 Define `18', `38', `58', `78'.
6692 2002-12-15 Colin Watson <cjwatson@debian.org>
6694 * contrib/pic2graph/pic2graph.sh: Add missing `;;'.
6696 2002-12-10 Werner LEMBERG <wl@gnu.org>
6698 Add glyph `tno', a textual variant of `no'.
6700 * font/devX*/*: Regenerated.
6701 * font/{devcp1047,devlatin1,devutf8,devhtml}/R.proto: Add `tno'.
6702 * font/devdvi/generate/{tc.map: Replace `no' with `tno'.
6703 * font/devdvi/generated/{texsy,textex}.map: Add `tno'.
6704 * font/devdvi/*: Regenerated.
6705 * font/devlbp/*: Add `tno'.
6706 * font/devlj4/generate/tex.map: Replace `no' with `tno'.
6707 * font/devlj4/*: Regenerated.
6708 * font/devps/generate/textmap: Replace `no' with `tno'.
6709 * font/devps/generate/symbolchars: Add `no'.
6710 * font/devps/*: Regenerated.
6712 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `tno'.
6714 * tmac/cp1047.tmac, tmac/latin1.tmac: Replace `no' with `tno'.
6715 * tmac/tty-char.tmac: Add entry for `tno' and `3d'.
6719 * tmac/dvi.tmac: Replace most `\\' with `\E'.
6720 Add definition for `sd'.
6721 * tmac/X.tmac, tmac/ps.tmac: Replace most `\\' with `\E'.
6723 * tmac/eqnrc <dvi>: Use `integral' instead of `is' glyph.
6725 2002-12-08 Werner LEMBERG <wl@gnu.org>
6727 * tmac/an-old.tmac (TH): Use integer value for `IN' if in nroff
6728 mode to avoid rounding errors.
6729 (an-do-tag, an-do-tag-html, RS, RE): Remove redundant `.br'.
6731 * src/roff/groff/groff.man, src/roff/nroff/nroff.man,
6732 src/roff/troff/troff.man: Improve documentation of -T.
6734 2002-12-07 Jeff Conrad <jeff_conrad@msn.com>
6736 * src/roff/groff/pipeline.c: Don't define `const' for _WIN32.
6737 (run_pipeline) [_WIN32]: Provide working function without `fork'.
6739 2002-12-06 Werner LEMBERG <wl@gnu.org>
6741 * font/devps/generate/freeeuro.sfd: Make dimensions of Euro.symbol
6742 glyphs compatible to Adobe's Euro fonts (scaling them down a bit).
6743 Scaling Euro.sansserif glyphs down to have the same height as
6745 Removed unnecessary points; added some extrema.
6747 * font/devps/EURO, font/devps/freeeuro.afm, font/devps/freeeuro.pfa:
6750 2002-12-04 Werner LEMBERG <wl@gnu.org>
6752 * font/devps/generate/freeeuro.sfd: Add glyphs `Euro.symbol.slanted'
6753 and `Euro.symbol.bold.slanted'.
6754 Improve some glyph offsets and widths.
6755 * font/devps/EURO, font/devps/freeeuro.afm, font/devps/freeeuro.pfa:
6757 * font/devps/generate/Makefile (freeeuro.afm freeeuro.pfa): Fix
6759 * font/devps/generate/sfdtopfa.pe: Generate PFA in current
6762 * tmac/europs.tmac: Updated to new glyph indices.
6763 Use Euro.symbol for font familiy `A'.
6765 * doc/groff.texinfo: Minor improvements.
6767 2002-12-02 Werner LEMBERG <wl@gnu.org>
6769 * font/devdvi/generate.tc.map: s/%O/%0/.
6770 * font/devdvi/*TC: Regenerated.
6772 * src/roff/troff/div.cc (init_div_requests): Sorted.
6774 * tmac/dvi.tmac: Remove `Ye'.
6775 * tmac/ec.tmac: Remove `Ye'.
6776 Add .rchar entry for `de'.
6778 * man/groff.man, man/groff_diff.man: Document register `.pe'.
6779 * doc/groff.texinfo: Document registers `.pe', `.n', and `.w'.
6782 2002-11-30 Werner LEMBERG <wl@gnu.org>
6784 Add PS font for various Euro glyphs.
6786 * font/devps/generate/freeeuro.sfd: New master font file for
6788 * font/devps/generate/sfdtopfa.pe: New conversion script for
6790 * font/devps/generate/Makefile (FONTS): Add `EURO'.
6791 (EURO, freeeuro.afm, freeeuro.pfa): New rules.
6792 * font/devps/freeeuro.pfa, font/devps/freeeuro.afm: Generated from
6794 * font/devps/EURO: Generated from `freeeuro.afm'.
6795 * font/devps/download: Add `freeuro.pfa'.
6796 * font/devps/Makefile.sub (NORMALFILES): Adde `EURO' and
6799 * tmac/europs.tmac: New file.
6800 * tmac/ps.tmac: Include `europs.tmac'.
6801 * tmac/Makefile.sub (DISTFILES): Add `europs.tmac'.
6803 2002-11-29 Werner LEMBERG <wl@gnu.org>
6805 * font/devdvi/generate/texsy.map: Remove `lh' and `rh'.
6806 * font/devdvi/S: Regenerated.
6807 * font/devhtml/R.proto: Fix `CR' and `ci'.
6809 * font/devps/generate/textmap: Fix `lh', `rh', and `sq'.
6811 * font/devps/symbolmap: Regenerated.
6812 * font/devutf8/R.proto: Fix `CR' and `ci'.
6814 * font/devutf8/NOTES: Updated.
6816 * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Fix `CR' and
6819 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Ditto.
6821 * tmac/dvi.tmac: Add `lh' and `rh'.
6822 * tmac/Xps.tmac: Fix `lh' and `rh'.
6823 * tmac/X.tmac: Add `OK'.
6824 * tmac/lj4.tmac: Ditto.
6826 2002-11-24 Werner LEMBERG <wl@gnu.org>
6828 * font/devX*/S: Regenerated.
6829 * font/devascii/R.proto, font/devcp1047/R.proto: Remove glyphs `lb',
6830 `lc', `lf', `lk', `lt', `rb', `rc', `rf', `rk', and `rt'.
6831 * font/devdvi/generate/texsy.map: Remove `or' glyph.
6832 * font/devdvi/S: Regenerated.
6833 * font/devhtml/R.proto, font/devutf8/R.proto: Add/fix glyphs
6834 `parenlefttp', `parenleftex', `parenleftbt', `parenrighttp',
6835 `parenrightex', `parenrightbt', `bracketlefttp', `bracketleftex',
6836 `bracketleftbt', `bracketrighttp', `bracketrightex',
6837 `bracketrightbt', `bracelefttp', `braceleftmid', `braceleftbt',
6838 `braceex', `braceleftex', `bracerightex', `bracerighttp',
6839 `bracerightmid', `bracerightbt', `lt', `lk', `lb', `rt', `rk',
6841 * src/roff/troff/glyphuni.cc, src/roff/troff/uniglyph.cc: Ditto.
6842 * font/devutf8/NOTES: Updated.
6843 * font/devlj4/generate/special.map: Add glyph `braceex'.
6844 * font/devlj4/S: Regenerated.
6846 * tmac/tty-char.tmac: Add glyphs `lf', `rf', `lc', and `rc'.
6848 2002-11-14 Werner LEMBERG <wl@gnu.org>
6850 * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `va'
6853 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Ditto.
6855 * doc/texinfo.tex: New version from texinfo 4.3.
6856 * doc/groff.texinfo: Updated for texinfo 4.3.
6857 Use @tie{} where appropriate.
6858 * font/devdvi/generate/ec.map: Don't include `or' and `bv'.
6859 * font/devdvi/generate/tc.map: Remove `rn'.
6860 * font/devdvi/*TC, font/devdvi/*EC: Regenerated.
6861 * font/devhtml/R.proto, font/devutf8/R.proto: Add `vA'.
6863 * font/devX100/*, font/devX100-12/*, font/devX75/*,
6864 font/devX75-12/*: Regenerated.
6866 * tmac/dvi.tmac: Add special fonts `SA' and `SB'.
6867 Use .char (again) for `br', `ul', `rn', `or', and `ru'.
6868 Improve definition of `an'.
6869 * tmac/ps.tmac: Use .char (again) for `br', `ul', `rn', `or', and
6871 * tmac/lj4.tmac: Use .char (again) for `br', `ul', `rn', and `ru'.
6872 * tmac/X.tmac: Add definition for `or'.
6873 * tmac/Xps.tmac: Undo change 2002-11-05.
6874 * tmac/lbp.tmac: Add definitions for `br', `rn', `ul', and `ru'.
6876 2002-11-11 Werner LEMBERG <wl@gnu.org>
6878 * src/roff/troff/node.cc (troff_output_file::put_char): Always
6881 2002-11-10 Werner LEMBERG <wl@gnu.org>
6883 Added three new requests `schar', `fschar', and `rfschar'. `schar'
6884 defines a glyph which is searched after the check for fonts declared
6885 with `.special' (and before the check for all mounted special
6886 fonts). `fschar' defines a glyph for a particular font which is
6887 searched after the check for fonts declared with `.fspecial' (and
6888 before the check for fonts declared with `.special'). `rfschar'
6889 removes glyphs defined with `fschar'.
6891 * src/roff/troff/token.h (char_mode): New enum.
6892 Declare do_define_character.
6893 * src/roff/troff/charinfo.h (charinfo): Replace `fallback' with
6895 (charinfo::is_fallback): Updated.
6896 (charinfo::is_special): New method.
6897 * src/roff/troff/input.cc (do_define_character): Add and use
6898 optional second parameter used as a prefix for font-specific glyph
6900 (define_character, define_fallback_character): Updated.
6901 (define_special_character): New function.
6902 (init_input_requests): Add `schar'.
6903 (charinfo::charinfo, charinfo::set_macro): Updated.
6904 * src/roff/troff/node.cc: Include `stringclass.h'.
6905 (make_glyph_node): Handle special glyphs defined with `.schar' and
6907 (define_font_special_character, remove_font_special_character): New
6909 (init_node_requests): Sorted.
6910 Add `fschar' and `rfschar'.
6911 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
6912 Document new requests.
6914 * font/devhtml/R.proto, font/devutf8/R.proto: Add `va'.
6915 * tmac/dvi.tmac: Add `va' for CW and CWI (using `.fschar').
6917 2002-11-08 Werner LEMBERG <wl@gnu.org>
6919 Added new font `SC' (cmtex10) to devdvi.
6921 * devdvi/generate/Makefile (FONTS): Add `SC'.
6923 * devdvi/generate/textex.map: New map file for cmtex.
6925 * devdvi/Makefile.sub (DEVFILES): Updated.
6926 * tmac/dvi.tmac: Add fspecial entries for SC.
6927 Add `MI', `S' and `CW' to the `special' call. Otherwise, `SC' is
6928 found before `S' since the font position of `SC' is lower due to the
6929 gaps in DESC's `font' line.
6930 * tmac/ec.tmac: Add a `special' call.
6933 * font/devhtml/R.proto: Remove double entry for `ti'.
6934 * tmac/tty.tmac: Add entries for `IJ', `ij', and `bq'.
6935 * tmac/tty-char.tmac: Remove entry for `bq'.
6936 * tmac/lbp.tmac: Add entries for `lq', `rq', `fo', `fc', and `em'.
6937 * tmac/ec.tmac: Don't remove `aq' glyph.
6938 * tmac/X.tmac: Fix entry for `em'.
6939 Add entries for `fo' and `fc'.
6940 * tmac/dvi.tmac: Add entries for `em', `en', `hy', `fo', and `fc'.
6942 * doc/groff.texinfo, man/groff.man, man/groff_diff.man: Fix
6943 documentation of `special' and `fspecial' requests.
6945 2002-11-05 Werner LEMBERG <wl@gnu.org>
6947 * font/devascii/R.proto, font/devcp1047/R.proto,
6948 font/devlatin1/R.proto: Remove entry for `.i'.
6949 * font/devdvi/generate/textt.map: Add entry for `ad'.
6950 * font/devdvi/generate/texr.map, font/devdvi/generate/texb.map,
6951 font/devdvi/generate/texi.map: Add dummy glyph name `slash@for@l'.
6952 We need this for getting kerning values to compose `/l' and `/L'.
6953 * font/devdvi: Regenerated font definition files for CM fonts.
6954 * font/devhtml/R.proto: Add entries for "'C", "'c", `IJ', and `ij'.
6955 * font/devutf8/R.proto: Ditto.
6956 Remove double entry for `ti'.
6958 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Fix entries
6959 for (groff) ligatures, `la', and `ra'.
6960 Add "'C", "'c", `IJ', and `ij'.
6961 Remove double entry for `ti'.
6962 * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Remove all
6964 Add "'C", "'c", `IJ', and `ij'.
6965 Fix entries for (groff) ligatures, `la', and `ra'.
6967 * tmac/ps.tmac (ps-achar): New macro.
6968 Define "'c" and "'C".
6969 * tmac/tty.tmac: Add entry for `.i'.
6970 * tmac/X.tmac (X-achar): New macro.
6971 Define "'c", "'C", and `:Y'.
6972 Add entries for `IJ' and `ij'.
6973 * tmac/Xps.tmac (Xps-achar): New macro.
6974 Define "'c" and "'C".
6975 Add entries for `IJ' and `ij'.
6976 * tmac/lbp.tmac (lbp-achar): New macro.
6977 Add fallback characters for all groff ligatures and many other
6979 * tmac/dvi.tmac: Fix definitions of `_' and `ul'.
6980 Add entries for `/l' and `/L'.
6981 Define "'c" and "'C".
6982 Add entries for `IJ' and `ij'.
6984 2002-11-02 Larry Kollar <kollar@alltel.net>
6986 * PROBLEMS: Document how to solve Mac OS X compilation problems.
6988 2002-11-02 Werner LEMBERG <wl@gnu.org>
6990 Adding support for composite glyphs: \[xxx yyy ...] and the
6991 `composite' request.
6993 * src/roff/troff/glyphuni.cc: New file for mapping groff glyph names
6994 to Unicode-based glyph names.
6995 * src/roff/troff/uniglyph.cc: New file for mapping Unicode-based
6996 glyph names to groff glyph names.
6997 * src/roff/troff/uniuni.cc: New file for canonically decomposing
6998 Unicode-based glyph names.
6999 * src/roff/troff/unicode.cc, src/roff/troff/unicode.h: New files
7000 for handling Unicode glyph names.
7001 * src/roff/troff/input.cc: Include unicode.h.
7002 (composite_glyph_name): New function.
7003 (token::next) <'['>: Handle Unicode glyph names and composite
7005 (composite_dictionary): New dictionary for the `composite' request.
7006 (composite_request): Implement `composite' request.
7007 (init_input_requests): Add `composite'.
7008 Alphabetically sorted.
7009 * src/roff/troff/env.cc (tabs_save, tabs_restore): Removed (already
7011 (init_env_requests): Alphabetically sorted.
7012 Removed `tas' and `tar' (already commented out).
7013 * src/roff/troff/Makefile.sub: Updated.
7015 2002-10-31 Ruslan Ermilov <ru@FreeBSD.org>
7017 * src/roff/nroff/nroff.man, src/roff/nroff/nroff.sh: Fix description
7020 2002-10-29 Werner LEMBERG <wl@gnu.org>
7022 Fix computation of .trunc register. Additionally, its value (and
7023 the value of the .ne register) is now always set before entering the
7026 * src/roff/troff/div.cc (diversion::need): Set `truncated_space' and
7027 `needed_space' before calling `space'.
7028 (top_level_diversion::space): Remove special code for 'sp before the
7030 Call `begin_page' with the discarded space as a parameter.
7031 (top_level_diversion::begin_page): Add optional parameter to set
7033 * src/roff/troff/div.h: Updated.
7035 * doc/groff.texinfo: Improve documentation of .sp, \n[.trunc], and
7038 * tmac/an-old.tmac (SH, SS, TP, IP, HP, TS): Undo change 2002-10-26.
7039 (LP): Remove superfluous call to `br'.
7040 * tmac/doc-common (doc-paragraph): Undo change 2002-10-26.
7041 * tmac/doc.tmac (Bd, Bl, doc-set-vertical-and-indent): Ditto.
7043 2002-10-26 Werner LEMBERG <wl@gnu.org>
7045 * tmac/doc-ditroff: Remove useless switch/variable -rC.
7046 (doc-setup-header): Don't set page register `%'.
7047 * tmac/doc-nroff: Remove variable `C'.
7048 (doc-setup-page-layout): Set doc-header-space to .5i unconditionally.
7049 (doc-setup-header): Don't set page register `%'.
7051 * tmac/doc-common (doc-header): Call `ns'.
7052 (doc-paragraph): Protect .sp with .br so that it survives traps
7053 possibly set by the user.
7054 * tmac/doc.tmac (Bd, Bl, doc-set-vertical-and-indent): Ditto.
7056 * tmac/doc*: Replace ' with . for consistency if no effect.
7058 2002-10-26 Werner LEMBERG <wl@gnu.org>
7060 * tmac/an-old.tmac (SH, SS, TP, IP, HP, TS): Protect .sp with .br
7061 so that it survives traps possibly set by the user.
7063 * src/roff/troff/node.cc: Fix the changes from 2002-10-23.
7064 (troff_output_file::set_font): Call flush_tbuf if necessary.
7065 (troff_output_file::fill_color, troff_output_file::glyph_color): Call
7066 flush_tbuf and do_motion only if necessary.
7067 (troff_output_file::start_special,
7068 troff_output_file::put_char_width, troff_output_file::put_char,
7069 troff_output_file::draw): Updated.
7070 (word_space_node::tprint, space_node::tprint, hmotion_node::tprint,
7071 vmotion_node::tprint): Undo change 2002-10-23.
7073 2002-10-25 Werner LEMBERG <wl@gnu.org>
7075 * tmac/www.tmac (DC): Fix case of overlapping images.
7077 2002-10-23 Werner LEMBERG <wl@gnu.org>
7079 * src/roff/troff/node.cc (troff_output_file::fill_color,
7080 troff_output_file::glyph_color): Set current color before testing
7082 (troff_output_file::put_char_width, troff_output_file::put_char,
7083 troff_output_file::draw): Don't call flush_tbuf and/or do_motion
7085 (troff_output_file::file_color, troff_output_file::glyph_color):
7087 (word_space_node::tprint, space_node::tprint, hmotion_node::tprint,
7088 vmotion_node::tprint): Move first, then call fill_color.
7090 2002-10-20 Werner LEMBERG <wl@gnu.org>
7092 * doc/groff.texinfo, man/groff_tmac.man: Document that it is not
7093 possible to use multiple main macro packages.
7095 2002-10-19 Werner LEMBERG <wl@gnu.org>
7097 * src/devices/grops/ps.cc (cmyk_flag): New global variable.
7098 (ps_printer::set_color): Set `cmyk_flag' for CMY and CMYK colors.
7099 (ps_printer::~ps_printer): Emit `%%Extensions: CMYK' if `cmyk_flag'
7101 * font/devps/prologue.ps (Fk, Ck): Enclose definitions with a
7102 `where' construction since `cmyksetcolor' is a PS Level 2 operator.
7104 2002-10-16 Werner LEMBERG <wl@gnu.org>
7106 * NEWS, doc/webpage.ms: Updated.
7108 2002-10-14 Werner LEMBERG <wl@gnu.org>
7110 * src/roff/troff/node.cc (troff_output_file::put_char_width,
7111 troff_output_file::put_char, troff_output_file::fill_color,
7112 troff_output_file::glyph_color): Handle case where color pointer
7115 2002-10-13 Ruslan Ermilov <ru@FreeBSD.org>
7117 Add the new -r option to grotty. It is similar to the -i option
7118 except it tells grotty(1) to use the `reverse video' attribute to
7119 render italic fonts.
7121 * src/devices/grotty/tty.cc (reverse_flag): New global variable.
7122 (SGR_REVERSE, SGR_NO_REVERSE): New macros.
7123 (tty_printer::make_underline, tty_printer::put_color,
7124 tty_printer::end_page): Use it.
7125 (main): Add -r switch.
7127 * src/devices/grotty/grotty.man: Document it.
7129 2002-10-11 Ruslan Ermilov <ru@FreeBSD.org>
7131 * src/roff/troff/env.cc (hyphen_trie::read_patterns_file): Add
7132 cast to `unsigned char' to properly read patterns with 8bit
7135 2002-10-08 Werner LEMBERG <wl@gnu.org>
7137 * REVISION: Increased to 2.
7140 version-control: never