1 2007-06-12 Werner LEMBERG <wl@gnu.org>
3 * src/devices/xditview/TODO, NEWS: Updated.
4 * src/devices/xditview/Makefile.sub (install_data, uninstall_sub):
5 Handle `GXditview-color'.
6 * src/devices/xditview/gxditview.man: Updated.
8 * m4/groff.m4 (GROFF_APPRESDIR_CHECK): Updated.
9 * m4/codeset.m4, m4/glibc21.m4, m4/iconv.m4, m4/lib-link.m4: Updated
10 from `gnulib' git repository.
12 * configure.ac: Updated.
13 * configure: Regenerated (using autoconf 2.61).
15 * config.guess, config.sub: Updated from `config' CVS repository.
16 * config.rpath, install-sh, mkinstalldirs: Updated from `gnulib' git
19 2007-06-12 Tadziu Hoffmann <hoffmann@usm.uni-muenchen.de>
21 * src/devices/xditview/GXditview.ad: Split off color definitions
23 * src/devices/xditview/GXditview-color.ad: This new file.
25 2007-06-08 Fabrice Ménard <menard.fabrice@wanadoo.fr>.
27 * tmac/fr.tmac: Handle chapter system for `me'.
29 2007-06-05 Tadziu Hoffmann <hoffmann@usm.uni-muenchen.de>
31 * src/devices/xditview/xditview.c (main): Add support for
34 * src/devices/xditview/GXditview.ad: Updated.
35 Make widget more colourful.
37 2007-05-30 Werner LEMBERG <wl@gnu.org>
39 * tmac/groff_mdoc.man: Convert `-' to `\-' where appropriate.
40 Recommend `tbl' instead of `-column' lists for more complicated
43 2007-05-21 Werner LEMBERG <wl@gnu.org>
45 * src/devices/grops/ps.cpp (ps_printer::set_char): Handle subfonts
48 2007-04-10 Werner LEMBERG <wl@gnu.org>
50 In pic, make rounded boxes work with colors. Reported by Urs Eggli
51 <Urs.Eggli@zuerich.ch>.
53 * src/preproc/pic/common.h (common_output), src/preproc/pix/output.h
54 (output): Add color parameter to `rounded_box' member function.
56 * src/preproc/pic/common.cpp (common_output::rounded_box): Use it.
58 * src/preproc/pic/object.cpp (box_object::print): Pass `color_fill'
59 to `out->rounded_box'.
61 2007-04-09 Michail Vidiassov <master@iaas.msu.ru>
63 * font/devps/generate/textmap: Add Greek letters and some more.
65 * src/utils/afmtodit/afmtodit.tables: Change values of `Delta',
66 `Omega', and `mu' to the ones from aglfn.txt.
68 2007-04-08 Keith Marshall <keith.d.marshall@ntlworld.com>
70 * tmac/s.tmac (SN): Define unconditionally.
71 (SN-STYLE): New string; define.
73 * NEWS, tmac/groff_ms.man, doc/groff.texinfo (SN-STYLE): Document it.
75 2007-03-22 Werner LEMBERG <wl@gnu.org>
77 * tmac/pspic.tmac: Fix harmless numeric overflow warning. Reported
78 by Jörg van den Hoff <j.van_den_hoff@fzd.de>.
80 2007-03-20 Werner LEMBERG <wl@gnu.org>
82 * tmac/trace.tmac (rn): Added.
83 (nr, ds, ds1, as, as1, substring): Restore escape character while
85 (nr): Remove dead code.
87 * src/preproc/eqn/box.cpp (box::top_level): Use \E in string
88 definitions to make them traceable.
90 2007-03-19 Werner LEMBERG <wl@gnu.org>
92 * src/roff/troff/input.cpp (get_copy): Add third argument to control
93 whether \E shall be expanded.
94 (get_char_for_escape_name): Allow \E.
96 2007-03-15 Werner LEMBERG <wl@gnu.org>
98 * tmac/s.tmac (MO, CH, pg*OH, pg*EH, pg*OF, pg*EF, *, [., .],
99 par*define-font-macro, \[hooko]): Use \E to make it traceable.
101 (ref*field): Add argument to control the space between previous and
104 (ref*add-N): Fix handling of opening parenthesis. Problem reported
105 by Jörg van den Hoff <j.van_den_hoff@fzd.de>.
107 2007-03-14 Werner LEMBERG <wl@gnu.org>
109 * tmac/trace.tmac (als): Added.
110 (de, de1, am, am1): Make traced macros aliased with .als work.
112 2007-02-25 Werner LEMBERG <wl@gnu.org>
114 * src/devices/xditview/TODO: Add some more items.
116 * Makefile.comm (.man.n): Add @APPRESDIR@.
119 * src/devices/xditview/gxditview.man: Document GXditview resource
121 Other documentation enhancements based on a patch from Jörg.
123 2007-02-25 Tadziu Hoffmann <hoffmann@usm.uni-muenchen.de>
124 Joerg van den Hoff <j.van_den_hoff@fzd.de>
126 * src/devices/xditview/GXditview.ad: Make all keys work regardless
127 of the current mouse position.
129 2007-02-20 Werner LEMBERG <wl@gnu.org>
131 * tmac/groff_man.man: Revised to improve visual appearance.
132 Reduce use of future tense.
134 * tmac/groff_trace.man: Revosed to improve visual appearance.
136 2007-02-19 Eric S. Raymond <esr@snark.thyrsus.com>
138 Make groff.man viewer-portable.
140 * tmac/groff.man: Eliminate use of .eo/.ec.
141 (.REQ): Surround args 2 through N with quotes. This will enable us
142 not to rely on the shift request, which is nonportable.
143 (ExecFF): Remove. The code is simpler without it.
145 2007-02-18 Eric S. Raymond <esr@snark.thyrsus.com>
147 * tmac/groff_www.man: Viewer-portability fixes.
149 2007-02-16 Eric S. Raymond <esr@snark.thyrsus.com>
151 * man/groff.man: Remove some unneeded code and a no-longer-used
152 inclusion of the www macros.
154 2007-02-15 Eric S. Raymond <esr@snark.thyrsus.com>
156 * contrib/groffer/perl/groffer.man, contrib/groffer/perl/groffer.man:
157 Fix non-portable `if' expressions.
159 2007-02-13 Eric S. Raymond <esr@snark.thyrsus.com>
161 Use an-ext.tmac macros in groffer.man.
163 * contrib/groffer/perl/groffer.man,
164 contrib/groffer/perl/groffer.man: Replace ShellCommand with .EX/.EE
166 Don't use .TP for examples, as some viewers won't handle a display
167 macro as a tag line. Use .SY/.OP/.YS rather than elaborate custom
170 2007-02-12 Werner LEMBERG <wl@gnu.org>
172 * src/preproc/tbl/table.cpp (compute_span_width): Fix use of
174 (table::compute_widths): Simplify.
176 2007-02-11 Werner LEMBERG <wl@gnu.org>
178 * src/preproc/tbl/table.h: Don't include `stdbool.h'.
179 (table): Replace `bool' type with `char' for orthogonality.
182 * src/preproc/tbl/table.cpp (block_entry::do_divert): Fix usage of
183 AVAILABLE_REG and COLCOUNT_REG.
184 (table::table): Fix order call of initializers.
185 (table::~table): Deallocate `blockflag'.
187 2007-02-09 Eric S. Raymond <esr@snark.thyrsus.com>
189 A try at the new rule for block column allocation is now enabled by
190 the new `experimental' global option: The horizontal space up to the
191 right margin which is not used by columns without text blocks is
192 evenly distributed to the columns with text blocks.
194 It doesn't work right as yet; there appears to be some error in the
195 computation of `3avail', the available line length. The purpose of
196 this patch is (a) to make experimenting with other formulas easy,
197 and (b) leave the infrastructure for flag `experimental' in place
198 for future experiments. Do not document any behavior associated
201 * src/preproc/tbl/table.h: Include `stdbool.h'.
202 (table): Make `flags' public.
203 Add `count_block_columns' function.
204 Add `blockflag' array.
205 Add `EXPERIMENTAL' enumeration value.
207 * src/preproc/tbl/table.cpp (AVAILABLE_REG, COLCOUNT_REG): New
209 (table_entry): New member `parent' so that class and subclass
210 members can set a parent field. Update all users.
211 (block_entry::do_divert): Handle `EXPERIMENTAL' flag.
212 (block_entry::do_width): Set the parent's `blockflag'.
213 (table::allocate): Handle `blockflag'.
214 (table::count_block_columns): New function.
215 (compute_span_width): Adjust AVAILABLE_REG.
216 (table::compute_widths): Handle COLCOUNT_REG and AVAILABLE_REG.
218 * src/preproc/tbl/main.cpp (process_options): Handle `experimental'
221 2007-02-08 Zhao, Yu (William) <yzhao2@alcatel-lucent.com>
223 * src/devices/grodvi/dvi.cpp (draw_dvi_printer::draw) <'e'>: Set
226 2007-02-08 Werner LEMBERG <wl@gnu.org>
228 * man/groff_out.man (offset): Make it work reliably.
230 2007-02-07 Eric S. Raymond <esr@snark.thyrsus.com>
232 * man/groff_out.man: Simplify some font changes so \fP is less
233 likely to do something surprising.
235 * man/groff_out.man: We can simplify the command macros still
236 further if we stop trying to hide structural requests inside them.
237 Also, fix some instances of \} at start of line without a dot, and
238 make some font changes explicit in strings.
240 * man/groff_out.man: Cleanup -- remove now-unneeded uses of .do and
243 * man/groff_out.man: Final step: Reduce x-command, get rid of eo/ec
244 calls and fix macros to do without them. File should now be
247 * man/groff_out.man: Fourth step: Eliminate use of eqn in favor of
248 micromotions that produce the same visual result and can be lifted
251 * man/groff_out.man: Third step: Reduce Da-comand, fix a
252 call-sequence bug in the original.
254 * man/groff_out.man: Second step: Reduce D-commmand and D-command+,
255 move font-change escapes to portable form.
257 * man/groff_out.man: First step in macro simplification; eliminate
258 list1..n, simplify .offset and .index_offset so they no longer
259 require groff-specific features or eqn (instead, use troff
260 micromotions for subscripting).
262 2007-02-06 Eric S. Raymond <esr@snark.thyrsus.com>
264 * src/preproc/eqn/eqn.man: Minor corrections.
266 * chem.man, pdfroff.man, ditroff.man, groff_diff.man, groff.man,
267 groff_out.man, groff_tmac.man, roff.man, groff.man, grog.man,
268 an-ext.tmac, groff_man.man, groff_man.n, groff_trace.man: Change
269 .UR/.UE and .MT/.ME so the start macro no longer takes a second
270 argument that is pasted to the end of the generated text. Instead,
271 the end macro takes an argument that does the same thing.
273 2007-02-05 Eric S. Raymond <esr@snark.thyrsus.com>
275 * src/preproc/eqn/lex.cpp, src/preproc/eqn/eqn.man:
276 By popular demand, make ... set three lower dots again
277 and introduce a new predefined macro 'cdots' to set
280 2007-02-05 Werner LEMBERG <wl@gnu.org>
282 * src/preproc/eqn/eqn.man: Revised.
284 * src/preproc/eqn/text.cpp (map, special_char_boc::output): Use
286 (spacing_type): Fix typo.
287 (special_to_entity): Use `const'.
288 Remove unused variable.
289 * src/preproc/eqn/other.cpp (font_box::output): Use `const'.
291 2007-02-05 Eric S. Raymond <esr@snark.thyrsus.com>
293 * src/devices/grotty/grotty.man: \m[] and \M[] aren't portable,
294 which is a shame as the effect was cute.
296 2007-02-04 Eric S. Raymond <esr@snark.thyrsus.com>
298 * man/groff_tmac.man, man/groff_diff.man: Portability conversion;
299 rip out over-elaborate macrology, use .EX/.EE and .UR/.UE where
300 possible, remove preamble declarations and macros that are no
301 longer needed. Conversion checked using the protocol described in
304 2007-02-03 Werner LEMBERG <wl@gnu.org>
306 * tmac/an-old.tmac (LP, IP, HP): Use .ns to suppress additional
309 2007-02-03 Eric S. Raymond <esr@snark.thyrsus.com>
311 * tmac/groff_man.man: Documented the extension macros, and
312 added portability advice.
314 * MORE.STUFF: More-stuff entries for doclifter and pic2plot.
317 Add support for MathML output to eqn.
319 The strategy used is very simple and relies on the fact that the box
320 models of eqn and Presentation MathML differ in only trivial ways.
321 It leaves the grammar and existing internal object structures
322 unchanged. A new global, `output_format', is defined as an
323 enumerated type with values {troff, mathml}. Most of the functions
324 and methods that emit actual output acquire a top-level conditional,
325 dispatching on this global, which has one arm for troff mode and one
326 for MathML mode. In most cases the MathML arm is drastically
329 (This strategy could be easily generalized to support other output
330 formats. TeX is a possibility that leaps to mind.)
332 The only even moderately tricky changes are in the lexer. Some of
333 the predefined macros used constructs like `up', `down', `fwd',
334 `back', and `vcenter' that have no equivalents in MathML. I
335 attacked this problem in these ways:
337 1. I eliminated three uses of `back' to compose characters in favor
338 of using equivalent groff specials `\(<<', `\(>>', and `\(<>'
339 that did not exist when these macros were written. (This will be
340 a quality improvement for troff users.)
342 2. I eliminated one use of `vcenter' by using \\(md. (Likewise...)
344 3. I then split the table of pre-definitions in three; one large
345 common table and two small troff-specific and MathML-specific
346 tables. Use of troff-only operations (up, down, back, fwd,
347 vcenter) is now confined to the former. The latter now uses
348 `size big' and drops out the explicit positioning operations,
349 counting on MathML processors to do them.
351 POTENTIAL TROUBLE SPOTS:
353 Here are notes for reviewers on places I'm not 100% sure I've done
356 * In the process of preparing the troff table, I translated three
357 definitions (dot_def, dotdot_def, and utilde def) that previously
358 used explicit \v escapes to use `up' and `down' instead. I
359 modeled the new definitions on the way `vec' and `dyad' work, but
360 it's possible I got something subtle wrong.
362 * I'm not certain the MathML implementation of font_box::output() is
363 right, because I don't quite get what the switcheroo between
364 `current_roman_font' and `old_roman_font' is supposed to
365 accomplish. It does seem to generare good MathML, though.
367 Finally, I made one purely cosmetic change in `text.cpp'; I replaced
368 with an enum some magic numbers for spacing types that I thought
369 were too ugly to live.
373 The entirety of eqn is translated when `-TMathML' is specified,
374 with the following exceptions...
376 Limitations that cannot be fixed include non-support for special,
377 up/down/fwd/back, and vcenter.
379 Limitations that might be fixable include non-support for mark and
380 lineup. I will investigate further, but if these can be implemented
381 at all it's going to be in a very complicated and nasty way.
383 The way character boxes are output means that each digit of a
384 multi-digit number gets its own <mn></mn> tag pair in the MathHTML.
385 While this is not technically wrong for Presentation MathML, it is
386 ugly and inefficient. Fixing this will require implementing a
387 little state machine in the `text.cpp' output method.
389 * src/preproc/eqn/box.cpp, src/preproc/eqn/delim.cpp,
390 src/preproc/eqn/eqn.h, src/preproc/eqn/eqn.man,
391 src/preproc/eqn/lex.cpp, src/preproc/eqn/limit.cpp,
392 src/preproc/eqn/list.cpp, src/preproc/eqn/main.cpp,
393 src/preproc/eqn/other.cpp, src/preproc/eqn/over.cpp,
394 src/preproc/eqn/pile.cpp, src/preproc/eqn/script.cpp,
395 src/preproc/eqn/sqrt.cpp, src/preproc/eqn/text.cpp,
396 src/preproc/eqn/eqn.man: MathML output mode.
400 2007-02-02 Eric S. Raymond <esr@snark.thyrsus.com>
402 * src/roff/groff/groff.man: Converted to use .SY/.OP/.YS
403 and for cross-viewer portability. Conversion checked
404 using the protocol described in tmac/TESTING-HINTS.
406 2007-02-02 Werner LEMBERG <wl@gnu.org>
408 * tmac/an-ext.tmac (ME): Don't use `\:'.
410 * contrib/chem/chem.man, contrib/groffer/roff2.man,
411 src/roff/grog/grog.man: Further refinements and normalizations.
413 2007-02-02 Eric S. Raymond <esr@snark.thyrsus.com>
415 * contrib/groffer/roff2.man, contrib/chem/chem.man,
416 src/roff/grog/grog.man: Converted to use .SY/.OP/.YS
417 and for cross-viewer portability. Conversion checked
418 using the protocol described in tmac/TESTING-HINTS.
420 2007-02-01 Eric S. Raymond <esr@thyrsus.com>
422 * tmac/TESTING-HINTS: Added.
424 2007-02-01 Eric S. Raymond <esr@thyrsus.com>
426 Enable the support for Bell archaisms on .SC, so the `-r bell'
427 switch is no longer needed to format old AT&T papers like
430 * tmac/s.tmac (.SC, .UC, .P1, .P2): Updated.
432 * tmac/groff_ms.man, doc/groff.texinfo, NEWS: Updated.
434 2007-02-01 Eric S. Raymond <esr@thyrsus.com>
436 Add some Bell labs extensions to the -ms macros.
438 * tmac/s.tmac (.SC, .UC, .P1, .P2) [bell]: New macros.
440 * tmac/groff_ms.man, doc/groff.texinfo, NEWS: Document `-r bell'.
442 2007-01-30 Werner LEMBERG <wl@gnu.org>
444 * tmac/an-ext.tmac (\n[EX]): Rename to \n[mX].
445 (\n[mH]): New register (set if grohtml is used).
446 (\n[SY]): Rename to \n[mS].
447 (\n[a]): Rename to \n[mA].
448 (\n[i]): Rename to \n[mI].
449 (mU): New auxiliary input trap macro.
450 (UR, UE): Replace stub with real definition.
452 (MT, ME): New macros.
454 (EX, EE): Don't insert vertical space.
455 Use a register to store (and restore) the current font.
457 * man/ditroff.man, man/groff_diff.man, man/roff.man: Revised, based
458 on patches from Eric Raymond.
460 * contrib/pdfmark/pdfroff.man: Updated.
462 2007-01-22 Gaius Mulley <gaius@glam.ac.uk>
464 * tmac/an-old.tmac (an-trap, HP): Make `HP' work as expected.
466 2007-01-22 Werner LEMBERG <wl@gnu.org>
468 * tmac/an-ext.tmac: Protect against being sourced twice.
469 (URL, EE): Use always two backslashes.
472 2007-01-21 Werner LEMBERG <wl@gnu.org>
474 * contrib/pdfmark/pdfroff.man: Revised, based on a patch from Eric
475 Raymond. It now uses the new macros from an-ext.tmac. This is the
476 first of a series of man patches which Eric has contributed.
478 2007-01-16 Werner LEMBERG <wl@gnu.org>
480 * tmac/an-ext.tmac: Remove code for grodvi.
482 Don't insert empty line.
483 (URL, TQ): Fix typos.
485 2007-01-14 Werner LEMBERG <wl@gnu.org>
487 * tmac/an-ext.tmac: New file, containing extension macros
488 for -man. See discussion on the groff mailing list for
489 background information.
490 * tmac/an-old.tmac: Load an-ext.tmac.
491 Decorate .ds and as with comment escapes where appropriate.
492 * tmac/Makefile.sub (NORMALFILES): Add an-ext.tmac.
494 2007-01-05 Werner LEMBERG <wl@gnu.org>
496 * src/preproc/tbl/tbl.man: Document .T# and \n[TW].
498 2007-01-04 Gaius Mulley <gaius@glam.ac.uk>
500 Make -me macros ready for grohtml.
502 * tmac/e.tmac: Load devtag.tmac.
503 (need_eo_h, need_eo_tl, need_tl): New registers.
504 (check_need_title, (x-html, )x-html, xp-html): New macros.
505 (@h, hl, ip, @p, sh, (b, (l, EQ, EN, TS, TE, PS, PE, GS, GE, r, i,
506 b, rb, bi, bx, (x, )x, xp): Adapt for use with grohtml.
507 (bp): Rename to @b only if output device is not html.
509 2007-01-01 Werner LEMBERG <wl@gnu.org>
511 * man/groff_font.man: Document empty lines.
513 * src/utils/afmtodit/afmtodit.pl: Always print a header comment at
514 the very beginning of the output.
517 * font/devps/*: Regenerate font definition files.
519 2007-01-01 Werner LEMBERG <wl@gnu.org>
521 * font/devps/generate/Makefile (AFMTODIT): Use -c flag.
523 * font/devps/*: Regenerate font definition files.
525 2006-12-31 Werner LEMBERG <wl@gnu.org>
527 * Makefile.in (oldfontdir): New variable.
528 (MDEFINES): Add $(oldfontdir).
529 (uninstall_dirs): Remove `current' link.
530 Remove $(oldfontdir).
532 * Makefile.comm (oldfontsubdir): New variable.
533 (install_dev): Install files collected in $(OLDDEVFILES) into
535 (uninstall_dev): Remove data in $(oldfontsubdir).
536 (.man.n): Handle @OLDFONTDIR@.
538 * src/devices/grodvi/grodvi.man, src/devices/grohtml/grohtml.man,
539 src/devices/grolbp/grolbp.man, src/devices/grolj4/grolj4.man,
540 src/devices/grotty/grotty.man, src/devices/xditview/gxditview.man:
541 Document GROFF_FONT_PATH.
543 * src/devices/grops/grops.man: Document GROFF_FONT_PATH and
544 old font description files.
546 * font/devps/Makefile.sub (OLDDISTFILES, OLDDEVFILES): New
549 * font/devps/old/*: New directory, holding the previous version
550 of the 35 Adobe core font description files.
552 * font/devps/*: Regenerated the 35 Adobe core fonts, using the
553 Adobe-Core35_AFMs-229.tar.bz2 bundle from ftp.dante.de.
555 * NEWS: Document font update.
557 2006-12-31 Werner LEMBERG <wl@gnu.org>
559 * font/devps/generate/Makefile (symbolsl.afm): Use $(srcdir).
561 * Makefile.comm (fonts): New (empty) target.
562 * Makefile.in (TARGETS): Add `fonts'.
564 * MANIFEST: Add `chem'.
566 * doc/groff.texinfo (Changing Fonts): Font translations with .ftr
569 2006-12-26 Werner LEMBERG <wl@gnu.org>
571 * src/preproc/grn/hdb.cpp: Include gprint.h later. From NetBSD.
573 2006-12-19 Werner LEMBERG <wl@gnu.org>
575 Add support for German. For activation, simply use -mde or -mden
576 (for traditional and new orthgraphy, respectively) as the last
579 * tmac/de.tmac, tmac/den.tmac, tmac/hyphen.det, tmac/hyphen.den,
580 tmac/hyphenex.det: New files, partly taken from CTAN.
581 * LICENSES: Updated list of hyphenation patterns.
582 * man/groff_tmac.man: Mention de.tmac and den.tmac.
585 2006-12-11 Werner LEMBERG <wl@gnu.org>
587 Support up to 32 macro arguments in pic (and up to 16 on EBCDIC
590 * src/preproc/pic/lex.cpp (ARG1): Redefine. Update all users.
591 (MAX_ARG): New macro. Use it everywhere to replace hard-coded
592 limit of 9 arguments.
593 (process_body): Handle argument numbers with more than a single
595 (interpolate_macro_with_args): Protect against exceeding number of
598 * NEWS, src/preproc/pic/pic.man, doc/pic.ms: Document it.
600 2006-12-10 Werner LEMBERG <wl@gnu.org>
602 * Makefile.in (site.exp, docheck): Commented out. Not working
604 (check): Just emit dummy message.
606 2006-12-08 Werner LEMBERG <wl@gnu.org>
608 During installation, create soft link from <version> to `current' in
611 * Makefile.comm (install): Renamed to...
613 (prefix_must_exist): Removed. Code moved to Makefile.in.
615 * Makefile.in (TARGETS): Remove `install'.
617 (install): New target which first creates the directory given by
618 --prefix, then calling `make' to do the installation, and finishing
619 with the creation of the soft link.
621 2006-11-21 Werner LEMBERG <wl@gnu.org>
623 * doc/Makefile.sub (uninstall_sub): Fix names for info files.
625 2006-11-18 Werner LEMBERG <wl@gnu.org>
627 * man/roff.man, doc/groff.texinfo: Improve history of roff, based on
628 information from Tom Van Vleck <thvv@multicians.org>.
630 2006-11-16 Werner LEMBERG <wl@gnu.org>
632 * tmac/62bit.tmac: New macro package.
633 * tmac/Makefile.sub (NORMALFILES): Add it.
636 * tmac/trace.tmac: Protect against being loaded again.
637 (nr): Always show result.
639 * doc/groff.texinfo (Input Encodings): Document latin-5.
641 * man/grof_tmac.man: Document sv, latinX, cp1047, 60bit, ec.
643 2006-11-13 Werner LEMBERG <wl@gnu.org>
645 * doc/groff.texinfo (Page Location Traps) [.wh]: Give more details
646 on negative trap positions.
648 2006-11-10 Werner LEMBERG <wl@gnu.org>
650 * Makefile.comm (.man.n): Handle @DATASUBDIR@.
652 2006-11-09 Werner LEMBERG <wl@gnu.org>
654 * INSTALL: Move information about external installation from
655 INSTALL.gen into this file.
658 * INSTALL.gen: Update to new version (from texinfo CVS).
660 2006-11-09 Bernd Warken
662 * INSTALL.gen: Extend the file by information on `external
663 installation'. Reorder the installation instruction as `normal
666 2006-11-08 Werner LEMBERG <wl@gnu.org>
668 * doc/Makefile.sub (install_data): Take care of proper paths while
669 installing info files. Bug reported by Bernd Warken.
671 2006-11-06 Bernd Warken
673 * src/roff/grog/grog.pl: Rewrite.
674 - Call by `#! /usr/bin/env perl'. That isn't replaced.
675 - Rename usage() to version().
677 - For `use strict', start all global variables with an upper case
678 character. Use `my' for all variables. Use several new variables.
680 - Add copyright to GPL and Emacs comment.
681 - Handle several `-m*' options.
682 - Fix handling of `-ms' and `-mm'. Add .TL and .NH.
683 - Allow options after file names.
684 - Allow only one `-' parameter (standard input).
685 - Add option abbreviations.
686 - Expand the usage information.
688 - Add single quote "'" as additional first character and allow
689 arbitrary space after the first character.
691 * src/roff/grog/grog.sh: Rewrite.
692 - Remove option `-e' of `sed'.
693 - Allow file names with space characters.
695 - Add copyright to GPL.
696 - Handle several `-m*' options.
697 - Fix handling of `-ms' and `-mm'. Add .TL and .NH.
698 - Allow options after file names.
699 - Allow only one `-' parameter (standard input).
700 - Add option abbreviations.
701 - Expand the usage information.
703 - Add single quote "'" as additional first character and allow
704 arbitrary space after the first character.
706 * src/roff/grog/Makefile.sub:
707 - Add copyright to GPL.
708 - Remove `grog:'. Move `grog.old:' to `grog:' in order to have a
709 fair chance to choose between the shell version and the Perl
710 version of `grog'. This is now again comparable to grog in groff
713 * src/roff/grog/grog.man: Rewrite.
714 - Move the license to GPL.
715 - New sections: OPTIONS, DETAILS, EXAMPLES, COPYING.
716 - Take over some setup and macros from `groffer'.
717 - Add information on options.
719 2006-10-28 Werner LEMBERG <wl@gnu.org>
721 * tmac/trace.tmac: Improve tracing of `.nr'.
722 Trace `.substring' also.
726 2006-10-28 Bernd Warken
728 * man/roff.man, src/roff/groff/groff.man: Add `chem', fix position
729 of groff development site, fix fonts.
731 * News: Add information on `chem' and `groffer'.
733 2006-10-26 Bernd Warken
735 * Makefile.in (OTHERDIRS, NOMAKEDIRS): Add `chem' bundle.
737 2006-10-26 Werner LEMBERG <wl@gnu.org>
739 Add `\%^' escape to handle the parameters to a macro as a string
742 * src/roff/troff/input.h (DOUBLE_QUOTE): New special character.
744 * src/roff/troff/input.cpp (input_iterator, input_stack,
745 macro_iterator): Add `space_follows_arg' member function.
746 (macro_iterator::add_arg): Add parameter to set the `space_follows'
748 (arg_list): Add member `space_follows'.
749 Update constructor and all callers.
750 (decode_args): Store discarded double quotes.
751 (interpolate_args): Handle DOUBLE_QUOTE.
753 (get_copy, token::next, composite_glyph_name): Handle DOUBLE_QUOTE.
755 * tmac/trace.tmac: Trace .nr, .ds, .ds1, .as, .as1.
757 * docs/groff.texinfo (Parameters), man/groff.man,
758 man/groff_diff.man, NEWS: Document it.
760 2006-10-24 Bernd Warken
762 * Makefile.in (NOMAKEDIRS): Add groffer subdirectories.
764 2006-10-24 Werner LEMBERG <wl@gnu.org>
766 * tmac/groff_trace.man: Mention problem with `\\\\'.
768 2006-10-23 Werner LEMBERG <wl@gnu.org>
770 * doc/groff.texinfo (Expressions): Improve documentation of `!'.
772 * tmac/trace.tmac (return): Don't call `substring'.
774 2006-09-10 Werner LEMBERG <wl@gnu.org>
776 * src/roff/troff/input.cpp (read_size): Revert previous change
779 * doc/groff.texinfo (Fractional Size Types): Clarify syntax of \s.
781 2006-09-09 Werner LEMBERG <wl@gnu.org>
783 * src/roff/troff/input.cpp (read_size): Fix `\s[-\n[.s]]' so that it
784 behave the same as `\s-[\n[.s]]' (this is, emit a warning and set
785 point size to 1). Reported by Gunnar Ritter.
786 Also catch `\s-[-...]' and friends (causing an error).
788 2006-09-06 Werner LEMBERG <wl@gnu.org>
790 * src/roff/troff/env.cpp (environment::do_break): Insert zero-width
791 space only if there is no previous space. This fixes a bug which
792 caused unwanted filling of the last line in a paragraph. Thanks to
793 Gunnar Ritter for an analysis.
795 2006-09-03 Werner LEMBERG <wl@gnu.org>
797 * src/roff/groff/groff.cpp (main): Pass -U flag to pic also.
798 Reported by Jennifer Sayers <jenjen@isu.usyd.edu.au>.
800 2006-09-01 Nick Stoughton <nick@msbit.com>
801 Werner LEMBERG <wl@gnu.org>
803 Add a request `pev' to print environment information (similar to
804 `pnr' and `ptr' to print number registers and traps).
806 * src/roff/troff/env.h (environment): Add member function print_env.
808 * src/roff/troff/env.cpp: (environment::print_env): New function to
809 print a given environment state.
810 (print_env): New global function to iterate through the
811 environments, printing each one.
812 (init_env_requests): Register `pev'.
814 * doc/groff.texinfo (Debugging), man/groff.man, man/groff_diff.man,
815 NEWS: Document `pev' request.
817 2006-09-01 Bernd Warken
819 * src/preproc/soelim/soelim.cpp (usage): Fix option argument of
822 2006-09-01 Werner LEMBERG <wl@gnu.org>
824 * src/preproc/pic/main.cpp (usage): Add missing options.
826 2006-08-25 Werner LEMBERG <wl@gnu.org>
828 * src/preproc/soelim/soelim.man: Document how to insert `\' and ` '
831 2006-08-19 Werner LEMBERG <wl@gnu.org>
833 * configure: Regenerated.
835 2006-08-18 Keith Marshall <keith.d.marshall@ntlworld.com>
837 * m4/groff.m4 (GROFF_MAKEINFO): Correct `makeinfo version testing
838 logic; it previously caused an `expr' syntax error, if no version of
839 `makinfo' was present. Also, remove dependency on `makeinfo' in VPATH
840 builds, if an up to date `groff.info' is present in either `builddir'
843 2006-08-12 Tadziu Hoffmann <hoffmann@usm.uni-muenchen.de>
845 * font/devps/prologue.ps: Add BPhook.
847 * src/devices/grops/grops.man: Document BPHook.
848 Reorder some sections for better readability.
850 2006-08-12 Werner LEMBERG <wl@gnu.org>
852 * src/include/lib.h (getlocale): New macro.
853 (setlocale, LC_ALL, LC_CTYPE) [!HAVE_SETLOCALE]: Define, as
856 * src/preproc/preconv/preconv.cpp (main): Use getlocale.
858 2006-08-11 Werner LEMBERG <wl@gnu.org>
860 Add new flag to .cflags to enable hyphenation without looking at
863 * src/roff/troff/charinfo.h (charinfo): New enumeration value
865 New member function `ignore_hcodes'.
867 * src/roff/troff/node.cpp (break_char_node::add_self,
868 node::add_char): Updated.
870 * doc/groff.texinfo, man/groff_diff.man, NEWS: Document it.
872 2006-08-09 Werner LEMBERG <wl@gnu.org>
874 Support composite Unicode characters again. Reported by Colin.
876 * font/devhtml/R.proto: Renamed to...
877 * font/devhtml/R.in: This.
879 * font/devutf8/R.proto: Renamed to...
880 * font/devutf8/R.in: This.
883 * font/make-Rproto: New script.
884 * font/devhtml/R.proto, font/devutf8/R.proto: Generated.
886 2006-07-26 Werner LEMBERG <wl@gnu.org>
888 * README: Fix description of CVS access. Reported by Joachim.
890 2006-07-11 Werner LEMBERG <wl@gnu.org>
892 Add a request `.fzoom' and a number register `.zoom' to magnify
895 * src/include/font.h (font): Add member variable `zoom'.
896 Add member functions `set_zoom' and `get_zoom'.
897 Remove `static' attribute from `scale' member function.
899 * src/libs/libgroff/font.cpp (font::font): Updated.
900 (scale_round): New version with three parameters to handle zoom
902 (font::scale, font::get_width): Handle zoom factor.
903 (font::set_zoom, font::get_zoom): New functions.
904 (font::load): Handle `zoom' while computing `space_width'.
906 * src/roff/troff/env.h: Declare `env_get_zoom'.
907 (environment): Add member function `get_zoom'.
909 * src/roff/troff/env.cpp (environment::get_zoom): New function.
910 (init_env_requests): Initialize `.zoom' register.
912 * src/roff/troff/node.cpp (font_info): New member functions
913 `set_zoom' and `get_zoom'.
914 (tfont): New member function `get_zoom'.
915 (env_get_zoom): New function.
916 (troff_output_file::set_font): Handle zoom factor.
917 (font_zoom_request): New function.
918 (init_node_requests): Initialize `fzoom' request.
920 * docs/groff.texinfo (Changing Fonts), man/groff.man,
921 man/groff_diff.man, NEWS: Document `fzoom' request and `.zoom'
924 * src/roff/troff/TODO: Updated.
926 2006-07-10 Werner LEMBERG <wl@gnu.org>
928 * doc/groff.texinfo (Drawing Requests): Improve documentation of
931 2006-07-02 Werner LEMBERG <wl@gnu.org>
933 * man/groff_tmac.man: Document usage of .PSPIC within diversions.
935 2006-07-01 Werner LEMBERG <wl@gnu.org>
937 * tmac/pspic.tmac: Make .PSPIC work for all devices.
938 Print image file name for devices which don't support PS image
940 Handle multiple inclusions.
941 Add lots of comments.
943 * tmac/dvi.tmac, tmac/html.tmac, tmac/ps.tmac: Don't load
946 * tmac/troffrc: Load pspic.tmac.
948 * man/groff_tmac.man: Update .PSPIC documentation.
952 2006-06-29 Werner LEMBERG <wl@gnu.org>
954 * src/roff/troff/input.cpp (interpolate_macro):
955 s/probably/possibly/, as suggested by Keith.
957 2006-06-28 Werner LEMBERG <wl@gnu.org>
959 Add support for \D'p...' to grotty.
961 * src/devices/grotty/grotty.cpp (tty_printer::draw): Move most of
963 (tty_printer::line): This function.
964 (tty_printer::draw): Rewritten; just call either draw_line or
966 (tty_printer::draw_line, tty_printer::draw_polygon): New functions.
968 * src/devices/grotty/grotty.man, NEWS: Document it.
970 2006-06-27 Werner LEMBERG <wl@gnu.org>
972 * src/preproc/refer/command.h (have_bibliography): New variable
975 * src/preproc/refer/command.cpp (bibliography_command): Set
978 * src/preproc/refer/refer.cpp: Initialize `have_bibliography'.
979 (output_references): Emit warning only if `have_bibliography' is
982 2006-06-15 Michail Vidiassov <master@iaas.msu.ru>
984 * fonts/devps/Makefile.sub (DISTFILES): Add freeeuro.afm.
985 * fonts/devps/generate/Makefile (clean): Don't remove symbolsl.afm
988 2006-06-15 Werner LEMBERG <wl@gnu.org>
990 * src/preproc/tbl/tbl.man: Document limitations of .TS/.TE within a
991 macro (as suggested by Tadziu Hoffmann).
993 2006-06-12 Werner LEMBERG <wl@gnu.org>
995 * src/preproc/tbl/tbl.man: Add example for use of .TS/.TE within a
996 macro (as suggested by Tadziu Hoffmann).
998 2006-06-05 Werner LEMBERG <wl@gnu.org>
1000 * tmac/strip.sed: Strip `\#' also.
1002 * doc/groff.texinfo (Operators in Conditionals): Document usage of
1003 \? for string comparison.
1005 2006-06-04 Werner LEMBERG <wl@gnu.org>
1007 * doc/groff.texinfo: Add more index entries for copy-in mode.
1008 (Changing Fonts) <.ft>: Document that a font definition file must
1009 not be called `DESC'.
1011 2006-05-31 Werner LEMBERG <wl@gnu.org>
1013 * src/roff/troff/input.cpp (token::next) <\N>: Catch negative values
1016 * doc/Makefile.sub (EXAMPLEFILES): Move gnu.eps to...
1017 (PROCESSEDEXAMPLEFILES): Here.
1019 2006-05-30 Werner LEMBERG <wl@gnu.org>
1021 * src/libs/libgroff/font.cpp (font::load): Reject fonts called
1023 Reduce number of false positives for `.if F ...' conditionals.
1024 Improve warning messages.
1026 2006-05-29 Werner LEMBERG <wl@gnu.org>
1028 * tmac/Makefile.sub: Add copyright notice.
1029 (NORMALFILES): Add man.tmac and ms.tmac.
1030 (SPECIALFILES): Remove man.tmac and ms.tmac.
1031 (CLEANADD): Remove man.tmac-sed and ms.tmac-sed.
1032 (install_data, uninstall_sub): Don't handle man.tmac and ms.tmac
1034 (stamp-sed): Don't handle man.tmac and ms.tmac.
1035 Remove obsolete components in sed's regexp.
1037 * doc/Makefile.sub (EXAMPLEFILES): Add gnu.eps.
1039 * Makefile.in (OTHERDIRS, NOMAKEDIRS): Add hdtbl.
1041 2006-05-28 Werner LEMBERG <wl@gnu.org>
1043 * doc/groff.texinfo (History): Correct death circumstances of Joe
1046 2006-05-27 Werner LEMBERG <wl@gnu.org>
1048 * tmac/an-old.tmac (an-do-tag): Simplify.
1050 2006-05-26 Werner LEMBERG <wl@gnu.org>
1052 * tmac/an-old.tmac (an-do-tag): Make margin characters work.
1053 (an-header, an-p-footer): Use named environment.
1055 * src/roff/troff/env.cpp (environment::copy): Copy margin character
1058 2006-05-21 Werner LEMBERG <wl@gnu.org>
1060 * tmac/trace.tmac (de1): Fix serious typo (.di -> .do) and minor
1063 2006-05-11 Keith Marshall <keith.d.marshall@ntlworld.com>
1065 * src/roff/groff/groff.man: Remove superfluous word `intermediate'.
1067 2006-05-10 Keith Marshall <keith.d.marshall@ntlworld.com>
1069 * src/roff/groff/groff.man: Update copyright notice.
1070 Improved wording to describe effect of `-Z' option.
1072 2006-05-06 Werner LEMBERG <wl@gnu.org>
1074 * tmac/www.tmac: Decorate `.ds' with trailing `\"' where missing.
1075 Normalize handling of `"' in arguments.
1076 (PIMG): Remove debug message.
1079 2006-05-05 Werner LEMBERG <wl@gnu.org>
1081 * src/devices/grohtml/post-html.cpp (page::add_and_encode): Don't
1082 swallow character immediately after `\[...]'.
1085 2006-05-02 Gaius Mulley <gaius@glam.ac.uk>
1087 * tmac/www.tmac (PIMG): Fix the HTML device specific components.
1089 2006-05-02 Larry Kollar <kollar@alltel.net>
1091 * tmac/www.tmac (PIMG): Really default to `-C' if the alignment
1094 2006-04-30 Michail Vidiassov <master@iaas.msu.ru>
1096 * src/utils/afmtodit/afmtodit.pl: New option `-c' to add font
1097 information as a comment in output.
1098 * src/utils/afmtodit/afmtodit.man, NEWS: Document it.
1100 2006-04-26 Werner LEMBERG <wl@gnu.org>
1102 * src/devices/grohtml/post-html.cpp (html_printer::~html_printer):
1103 Handle current_paragraph only if it is non-NULL.
1105 * src/libs/libdriver/input.cpp (parse_x_command <'F'>, do_file
1106 <'F'>): Use `get_extended_arg' to behave as documented. Reported by
1107 Bill Ward <william.a.ward.jr@erdc.usace.army.mil>.
1110 Surround the (pseudo) file name for the .pso request with `<' and
1113 * src/roff/troff/node.cpp (real_output_file, troff_output_file): Add
1114 second parameter to `really_put_filename' and `put_filename'.
1115 (troff_output_file::really_put_filename): Emit `<' and `>' around
1116 filename if second argument is set.
1117 * src/roff/troff/node.h: Updated.
1119 * src/roff/troff/input.cpp (file_iterator::file_iterator,
1120 file_iterator::set_location): Update to changes in node.cpp.
1122 2006-04-25 Tetsurou Okazaki <okazaki@FreeBSD.org>
1124 * src/preproc/preconv/preconv.cpp (do_file): Fix conditional
1125 preprocessor expression (I18N -> HAVE_ICONV).
1126 (main): Fix handling of option `-h'.
1127 Fix conditional preprocessor expression.
1129 2006-04-04 Werner LEMBERG <wl@gnu.org>
1131 Implement new number register `.br' which is set to 1 if a macro has
1132 been called as .foo and to 0 if called as 'bar. This is useful for
1133 -mtrace so that requests can be reliably traced too.
1135 * src/roff/troff/input.cpp (input_iterator): Add virtual function
1137 (macro_iterator): Add `with_break' member and `get_break_flag'
1139 Update constructors.
1140 (input_stack): Add function `get_break_flag'.
1141 (break_flag_reg): New number register class.
1142 (input_init_requests): Register `.br'.
1144 * src/roff/troff/TODO: Updated.
1146 * tmac/trace.tmac: s/!!sp/!!!sp/.
1147 Modify definitions of `de', `de1', `am', and `am1' to use \n[.br].
1149 * docs/groff.texinfo (Requests), man/groff.man, man/groff_diff.man,
1152 2006-03-29 Werner LEMBERG <wl@gnu.org>
1154 * src/devices/grops/ps.cpp: s/must not/should not/ in warning
1155 messages where appropriate.
1157 2006-03-28 Werner LEMBERG <wl@gnu.org>
1159 * configure.ac: Call AC_PROG_EGREP.
1160 * configure: Regenerated.
1162 * Makefile.in (EGREP): New variable.
1163 (MDEFINES): Add $(EGREP).
1165 * src/roff/grog/grog.sh: Treat .TH between .TS and .TE properly
1166 (bug reported by Robert Goulding <Goulding.2@nd.edu>).
1169 * src/roff/grog/Makefile.sub (grog, grog.old): Use $(EGREP).
1171 2006-03-27 Werner LEMBERG <wl@gnu.org>
1173 Add two requests `.device' and `.devicem' which are equivalent to
1174 `\X' and `\Y', respectively.
1176 * src/roff/troff/input.cpp (device_request, device_macro_request):
1178 (init_input_requests): Register them.
1180 * doc/groff.texinfo (Postprocessor Access), man/groff_diff.man,
1181 man/groff.man, NEWS: Document them.
1183 2006-03-27 Gaius Mulley <gaius@glam.ac.uk>
1185 * src/roff/troff/input.cpp (encode_char): Emit special characters
1186 for -Thtml as `\[...]'.
1187 * src/devices/grohtml/post-html.cpp (page::add_and_encode): Updated.
1189 * doc/groff.texinfo (Postprocessor Access) <\X>: Updated.
1191 2006-03-27 Werner LEMBERG <wl@gnu.org>
1193 * tmac/Makefile.sub (NORMALFILES, SPECIALFILES): Add various missing
1196 2006-03-26 Werner LEMBERG <wl@gnu.org>
1198 * doc/groff.texinfo (Writing Macros): More documentation on
1199 end-of-macro symbol of `.de'.
1200 (Diversions): Minor addition to `.di' description.
1202 * src/devices/grops/grops.man: Some clarifications regarding
1203 insertion of PostScript snippets.
1205 2006-03-25 Michail Vidiassov <master@iaas.msu.ru>
1207 Add rules to generate `symbolsl.afm'.
1209 * fonts/devps/generate/zapfdr.sed,
1210 fonts/devps/generate/symbolsl.awk: New files.
1212 * fonts/devps/generate/Makefile (symbolfont, PRINTAFM): New
1214 (SS, clean): Updated.
1215 (freeeuro.afm): Use $(srcdir).
1216 (symbolsl.afm): New rule.
1217 (zapfdr.afm): Use zapfdr.sed.
1219 2006-03-22 Dwight Aplevich <aplevich@uwaterloo.ca>
1221 * src/preproc/pic/pic.y (expr <INT>): Fix code.
1223 2006-03-22 Jörgen Grahn <jgrahn@algonet.se>
1225 * tmac/sv.tmac: Add missing translations and activate support for
1226 other macro packages.
1228 2006-03-21 Francis GUDIN <fgudin@nerim.net>
1230 * tmac/doc-syms (Dx): New macro to identify DragonFly.
1231 (doc-str-St--ieee1275-94, doc-str-St--isoC-amd1,
1232 doc-str-St--isoC-tcor1, doc-str-St--isoC-tcor2): New standard
1234 (doc-operating-system-FreeBSD-5.5, doc-operating-system-FreeBSD-7.0,
1235 doc-operating-system-NetBSD-1.6.3, doc-operating-system-NetBSD-4.0
1236 doc-operating-system-DragonFly-*): New operating system strings.
1238 * tmac/groff_mdoc.man, NEWS: Document `Dx'.
1240 2006-03-21 Werner LEMBERG <wl@gnu.org>
1242 * src/preproc/pic/pic.y (object_spec THEN): For compatibility with
1243 both DWB pic and dpic, make
1251 line right then down;
1258 * doc/pic.ms: Document this.
1260 2006-03-20 Werner LEMBERG <wl@gnu.org>
1262 * doc/pic.ms: With permission of Eric Raymond, put it under the
1267 2006-03-19 Werner LEMBERG <wl@gnu.org>
1269 * src/preproc/pic/pic.y (expr <INT>): Really return integer part.
1271 * src/preproc/pic/objects.cpp (object_spec::make_line): Handle `at'
1272 attribute in combination with `with'. Bug reported by Jennifer
1273 Sayers <jenjen@mail.usyd.edu.au>.
1275 2006-03-19 Miklos Somogyi <msom@netspace.net.au>
1277 * doc/groff.texinfo (Manipulating Spacing): Improve documentation of
1280 2006-03-18 Werner LEMBERG <wl@gnu.org>
1282 * LICENSE: Renamed to...
1283 * LICENSES: This. Collect all licensing information in this file.
1284 * tmac/README, src/libs/snprintf/README: Removed.
1286 * src/devices/grops/grops.man: Add section how to install fonts.
1288 * src/utils/xtotroff/xtotroff.c: Add GPL.
1290 2006-03-17 Werner LEMBERG <wl@gnu.org>
1292 * Makefile.comm (.y.cpp): Fix #line arguments in output.
1294 2006-03-13 Werner LEMBERG <wl@gnu.org>
1296 * src/preproc/tbl/tbl.man: Mention default length of text blocks.
1298 * tmac/doc-common (Os): Add more Darwin versions.
1299 * tmac/groff_mdoc.man: Document them.
1301 * doc/groff.texinfo (Operators in Conditionals): Mention that `c'
1302 works with \N'...' also.
1303 * man/groff_diff.man: Ditto. Remove use of future tense where
1306 2006-03-12 Michail Vidiassov <master@iaas.msu.ru>
1308 * fonts/devps/generate/make-zapfdr, fonts/devps/symbolsl.ps,
1309 fonts/devps/zapfdr.ps: Add `%%EndComments' line.
1311 2006-03-10 Larry Kollar <kollar@alltel.net>
1313 * doc/groff.texinfo (Headers and footers): Document PT, HD, and BT.
1315 2006-03-10 Werner LEMBERG <wl@gnu.org>
1317 * src/devices/grops/ps.cpp (ps_printer::do_exec, ps_printer::do_def,
1318 ps_printer::do_mdef): Overlong lines now cause a warning message,
1321 2006-03-09 Werner LEMBERG <wl@gnu.org>
1323 * font/devps/generate/make-zapfdr: New script for generating
1326 2006-03-08 Werner LEMBERG <wl@gnu.org>
1328 * doc/groff.css (pre): Fix `background-color' value.
1330 2006-03-04 Larry Kollar <kollar@alltel.net>
1332 * tmac/groff_ms.man: Document PT, HD, and BT.
1334 2006-03-04 Werner LEMBERG <wl@gnu.org>
1336 * src/roff/troff/node.cpp (make_glyph_node): Improve warning message
1337 for single-letter glyph names.
1339 2006-03-02 Werner LEMBERG <wl@gnu.org>
1341 * tmac/sv.tmac: New file; currently holding only the Swedish strings
1343 * tmac/hyphen.sv: New hyphenation pattern file for Swedish, taken
1345 * tmac/README: Updated.
1347 2006-02-27 Werner LEMBERG <wl@gnu.org>
1349 * tmac/trans.tmac (Liec, Letdate, Letns!14): Add it (for -mm).
1350 * tmac/fr.tmac: Add French translations.
1352 * tmac/composite.tmac: Add entry for `:'.
1354 2006-02-26 Werner LEMBERG <wl@gnu.org>
1356 * doc/Makefile.sub (HTMLEXAMPLEFILESALL): New variable.
1358 (install_html, uninstall_sub): Updated.
1360 2006-02-26 Bruno Haible <bruno@clisp.org>
1362 Introduce Unicode fonts.
1364 * font/devhtml/DESC.proto: Mark as unicode.
1365 * font/devhtml/R.proto: Remove all charset entries that are already
1367 * font/devutf8/DESC.proto: Mark as unicode.
1368 * font/devutf8/R.proto: Remove all charset entries.
1369 * src/include/font.h (font): New static field `is_unicode'.
1370 Change order of fields.
1371 * src/libs/libgroff/font.cpp: Include unicode.h.
1372 (font::font): Update for changed order of fields.
1373 (font::contains, font::get_width, font::get_height, font::get_depth,
1374 font::get_italic_correction, font::get_left_italic_correction,
1375 font::get_subscript_correction, font::get_character_type,
1376 font::get_code, font::get_special_device_encoding): Handle both the
1377 explicitly enumerated glyphs and use general code for Unicode fonts.
1378 (font::load): Make the charset section optional when the font is
1380 (font::load_desc): Recognize the `unicode' attribute.
1381 * src/libs/libgroff/fontfile.cpp (font::is_unicode): New variable.
1383 2006-02-26 Claudio Fontana <claudio@gnu.org>
1385 * Makefile.in: Add comment about DESTDIR.
1387 * Makefile.sub: Add DESTDIR to install and uninstall targets
1388 to support staged installations.
1389 * Makefile.comm: Likewise.
1390 * doc/Makefile.sub: Likewise.
1391 * contrib/eqn2graph/Makefile.sub: Likewise.
1392 * contrib/gdiffmk/Makefile.sub: Likewise.
1393 * contrib/grap2graph/Makefile.sub: Likewise.
1394 * contrib/pic2graph/Makefile.sub: Likewise.
1395 * src/devices/xditview/Makefile.sub: Likewise.
1396 * src/preproc/eqn/Makefile.sub: Likewise.
1397 * src/roff/grog/Makefile.sub: Likewise.
1398 * src/roff/nroff/Makefile.sub: Likewise.
1399 * src/utils/afmtodit/Makefile.sub: Likewise.
1400 * src/utils/indxbib/Makefile.sub: Likewise.
1401 * tmac/Makefile.sub: Likewise.
1403 2006-02-24 Werner LEMBERG <wl@gnu.org>
1405 * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list): Use entry
1407 Remove commented out entries for \' and \` (there are no such glyph
1410 * src/libs/libgroff/uniglyph.cpp (unicode_to_glyph_list): Remove
1411 commented out entries for \' and \`.
1414 * */*: s/legal/valid/ where appropriate.
1416 2006-06-23 Werner LEMBERG <wl@gnu.org>
1418 * font/devhtml/R.proto, font/devutf8/R.proto: Remove incorrect \'
1421 2006-02-22 Werner LEMBERG <wl@gnu.org>
1423 Remove all remaining traces from the `shc' glyph.
1425 * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list),
1426 src/libs/libgroff/uniglyph.cpp (unicode_to_glyph_list): Remove
1429 * font/devlatin1/R.proto, font/devcp1046/R.proto: Replace `shc'
1430 entry with unnamed glyph.
1432 * tmac/html/tmac: Remove `shc' entry from call to `.cflags'.
1434 * src/preproc/preconv/preconv.cpp (unicode_entity): Handle U+00AD
1437 2006-02-22 Bruno Haible <bruno@clisp.org>
1439 Concretize the `glyph' datatype.
1441 * src/include/font.h (glyph): Remove class.
1442 (glyph): Renamed from struct `glyphinfo'.
1443 (glyph_to_index): New inline function.
1444 (glyph_to_name): Make extern, not inline.
1445 (glyph_to_number): Update.
1446 (font): Use `glyph *' instead of `glyph'.
1448 * src/libs/libgroff/nametoindex.cpp (charinfo): Inherit from class
1449 `glyph'. Make `name' field public.
1450 (character_indexer, number_to_glyph, name_to_glyph): Use `glyph *'
1452 (glyph_to_name): Renamed from `glyph::glyph_name'.
1454 * src/roff/troff/charinfo.h (charinfo): Inherit from class `glyph'.
1455 Use `glyph *' instead of `glyph'.
1457 * src/roff/troff/input.cpp (name_to_glyph, number_to_glyph): Use
1458 `glyph *' instead of `glyph'.
1459 (glyph_to_name): Renamed from `glyph::glyph_name'.
1461 * src/libs/libgroff/font.cpp: Use `glyph *' instead of `glyph',
1462 and `glyph_to_index' instead of `glyph::glyph_index'.
1464 * src/include/printer.h (printer): Use `glyph *' instead of `glyph'.
1465 * src/libs/libdriver/printer.cpp: Likewise.
1466 * src/devices/grodvi/dvi.cpp: Likewise.
1467 * src/devices/grohtml/post-html.cpp: Likewise.
1468 * src/devices/grolbp/lbp.cpp: Likewise.
1469 * src/devices/grolj4/lj4.cpp: Likewise.
1470 * src/devices/grops/ps.cpp: Likewise.
1471 * src/devices/grotty/tty.cpp: Likewise.
1473 2006-02-22 Werner LEMBERG <wl@gnu.org>
1475 * font/devdvi/generate/tc.map: Add `sr' glyph.
1476 * font/devdvi/*TC: Regenerated.
1478 * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list): Use entry
1481 2006-02-21 Werner LEMBERG <wl@gnu.org>
1483 * man/groff_char.man: Explain `***' marker.
1485 2006-02-17 Bruno Haible <bruno@clisp.org>
1487 * src/libs/libgroff/nametoindex.cpp (character_indexer): Rename
1488 methods and fields from *_index to *_glyph.
1489 (character_indexer::named_char_glyph): Test for `charNNN' name
1491 (name_to_glyph): ... not here.
1493 2006-02-17 Bruno Haible <bruno@clisp.org>
1495 * src/include/font.h (name_to_glyph): Renamed from
1496 font::name_to_index.
1497 (number_to_glyph): Renamed from font::number_to_index.
1498 (glyph_to_name): Renamed from font::index_to_name.
1499 (glyph_to_number): Renamed from font::index_to_number.
1500 * src/libs/libgroff/nametoindex.cpp: Likewise.
1501 * src/roff/troff/charinfo.h (charinfo::as_glyph): Renamed from
1502 charinfo::get_index.
1504 * src/roff/troff/input.cpp: All callers changed.
1505 * src/roff/troff/node.cpp: Likewise.
1506 * src/libs/libgroff/font.cpp: Likewise.
1507 * src/devices/grops/ps.cpp: Likewise.
1508 * src/devices/grohtml/post-html.cpp: Likewise.
1509 * src/libs/libdriver/printer.cpp: Likewise.
1511 2006-02-17 Werner LEMBERG <wl@gnu.org>
1513 * src/include/ptable.h, src/include/itable.h
1514 (NEXT_PTABLE_SIZE_DEFINED): Use it to avoid multiple declaration
1515 of external symbol `next_ptable_size' (used by both header files).
1517 2006-02-15 Bruno Haible <bruno@clisp.org>
1519 * src/include/font.h (glyphinfo): New class.
1520 (glyph): Change internal representation.
1521 Change constructor signature.
1522 New method glyph::glyph_number().
1523 (glyph::glyph, glyph glyph::undefined_glyph, glyph::glyph_index,
1524 glyph::operator==, glyph::operator!=): Update.
1525 (font::index_to_name, font::index_to_number): New functions.
1527 * src/include/itable.h: New file, based on src/include/ptable.h.
1529 * src/libs/libgroff/nametoindex.cpp: Include itable.h.
1530 (class charinfo): New class.
1531 (class character_indexer): Change table result type from `int' to
1533 Add table with integer key.
1534 (character_indexer::character_indexer): Update.
1535 (character_indexer::ascii_char_index): Update.
1536 (character_indexer::numbered_char_index): Use NULL as name, not a
1537 string starting with a space.
1538 (character_indexer::named_char_index): Update.
1539 (font::number_to_index, font::name_to_index): Remove no-op cast.
1540 (glyph::glyph_name): New method.
1541 * src/roff/troff/charinfo.h (class charinfo): Inherit from class
1543 (NUMBERED): Remove flag bit.
1544 (charinfo::numbered, charinfo::get_index): Update.
1546 * src/roff/troff/input.cpp (charinfo::charinfo): Update.
1547 (charinfo::set_number, charinfo::get_number): Update.
1548 (glyph::glyph_name): New method.
1550 2006-02-15 Werner LEMBERG <wl@gnu.org>
1552 * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list): Fix
1553 entries for `>>', `<<', `*f', and `+f'. Reported by Bruno.
1555 2006-02-13 Werner LEMBERG <wl@gnu.org>
1557 * font/devps/prologue.ps (RE): Check `UniqueID' also, similar to
1560 2006-02-11 Werner LEMBERG <wl@gnu.org>
1562 * src/include/font.h: s/glyph_t/glyph/.
1565 * src/devices/grotty/tty.cpp: s/glyph/tty_glyph/.
1566 s/output_character_t/output_character/.
1568 2006-02-11 Bruno Haible <bruno@clisp.org>
1570 New accessor method glyph_t::glyph_name().
1572 * src/include/ptable.h (declare_ptable): Add a return value to the
1573 `define' method, and declare a `lookupassoc' method.
1574 (implement_ptable): Return the stored key in `define'. Implement
1576 * src/include/font.h (glyph_t): Add `name' field. Add an argument
1578 (glyph_t::glyph_name): New method.
1580 * src/libs/libgroff/nametoindex.cpp (character_indexer): Change
1581 return type of methods and field member type to glyph_t.
1582 (character_indexer::character_indexer): Update.
1583 (character_indexer::ascii_char_index): Allocate a name for the
1585 Return a glyph_t with name.
1586 (character_indexer::numbered_char_index): Return a glyph_t without a
1588 (character_indexer::named_char_index): Return a glyph_t with a name.
1589 (font::number_to_index, font::name_to_index): Update.
1591 * src/roff/troff/input.cpp (charinfo::charinfo): Use the symbol as
1594 2006-02-11 Bruno Haible <bruno@clisp.org>
1596 * src/devices/grotty/tty.cpp (output_character_t): New type.
1597 (tty_printer::make_bold, tty_printer::add_char,
1598 tty_printer::put_char): Change argument type to output_character_t.
1599 (crossings): Change element type to output_character_t.
1601 2006-02-11 Bruno Haible <bruno@clisp.org>
1603 Make the glyph data type abstract.
1605 * src/include/font.h (glyph_t): New class.
1606 (name_to_index, number_to_index): Change return type to glyph_t.
1607 (font::contains, font::get_width, font::get_height, font::get_depth,
1608 font::get_character_type, font::get_kern, font::get_skew,
1609 font::get_italic_correction, font::get_left_italic_correction,
1610 font::get_subscript_correction, font::get_code,
1611 font::get_special_device_encoding, font::add_entry,
1612 font::copy_entry, font::add_kern, font::hash_kern): Change argument
1615 * src/libs/libgroff/font.cpp (font_kern_list): Change members
1616 type and constructor argument types to glyph_t.
1617 (font::contains, font::get_width, font::get_height, font::get_depth,
1618 font::get_character_type, font::get_kern, font::get_skew,
1619 font::get_italic_correction, font::get_left_italic_correction,
1620 font::get_subscript_correction, font::get_code,
1621 font::get_special_device_encoding, font::add_entry,
1622 font::copy_entry, font::add_kern, font::hash_kern): Change argument
1624 (font::load): Use glyph_t variables.
1626 * src/libs/libgroff/nametoindex.cpp (name_to_index,
1627 number_to_index): Change return type to glyph_t.
1629 * src/roff/troff/charinfo.h (charinfo::index): Change type to
1631 (charinfo::get_index): Change return type to glyph_t.
1633 * src/roff/troff/env.cpp: Include font.h.
1635 * src/roff/troff/node.cpp: Include font.h before charinfo.h.
1637 * src/roff/troff/input.cpp: Include font.h before charinfo.h.
1638 (charinfo::charinfo): Update.
1639 (name_to_index, number_to_index): Change return type to glyph_t.
1641 * src/include/printer.h (printer::set_char_and_width): Change return
1644 * src/libs/libdriver/printer.cpp (printer::set_char_and_width):
1645 Change return type to glyph_t.
1647 * src/devices/grodvi/dvi.cpp (dvi_printer::set_char): Change
1648 argument type to glyph_t.
1650 * src/devices/grohtml/post-html.cpp (page::add_and_encode): Update.
1651 (html_printer::space_glyph): Renamed from space_char_index.
1652 (html_printer::add_to_sbuf, html_printer::sbuf_continuation,
1653 html_printer::overstrike, html_printer::set_char): Change argument
1655 (html_printer::set_char_and_width): Change return type to glyph_t.
1657 * src/devices/grolbp/lbp.cpp (lbp_printer::set_char): Change
1658 argument type to glyph_t.
1660 * src/devices/grolj4/lj4.cpp (lj4_printer::set_char): Change
1661 argument type to glyph_t.
1663 * src/devices/grops/ps.cpp (ps_printer::space_glyph): Renamed from
1665 (ps_printer::set_subencoding, ps_printer::set_char): Change argument
1668 * src/devices/grotty/tty.cpp (tty_printer::set_char): Change
1669 argument type to glyph_t.
1671 2006-02-11 Bruno Haible <bruno@clisp.org>
1673 * src/roff/troff/input.cpp (font::name_to_index): Never return a
1676 * src/libs/libgroff/font.cpp (font::load): Remove failure tests for
1677 font::name_to_index.
1679 2006-02-10 Werner LEMBERG <wl@gnu.org>
1681 * doc/groff.texinfo (Assigning Formats): Number registers are always
1683 Apply some rephrasing, contributed by Michael Burt.
1685 2006-02-07 Werner LEMBERG <wl@gnu.org>
1687 * tmac/fr.tmac <ms>: Set `HY' register.
1689 2006-02-07 Werner LEMBERG <wl@gnu.org>
1691 Add framework for simple adaptation of the main macro packages (mm,
1692 me, ms, mom) to different locales. In particular, add support for
1693 French. For activation, simply use `-mfr' as the last macro
1694 package. This feature has been contributed by Fabrice Ménard
1695 <menard.fabrice@wanadoo.fr>.
1697 * tmac/fr.tmac, tmac/trans.tmac, tmac/hyphen.fr, tmac/LOCALIZATION:
1699 * tmac/README: Mention hyphen.fr.
1700 * man/groff_tmac.man: Mention fr.tmac.
1703 2006-01-27 Werner LEMBERG <wl@gnu.org>
1705 * man/groff_font.man: Updated documentation of `entity_name' field.
1708 2006-01-27 Bruno Haible <bruno@clisp.org>
1710 * font/devhtml/R.proto: Remove the entity names from the font's
1711 special_encoding_encoding column.
1712 * src/devices/grohtml/post-html.cpp (get_html_entity): New function,
1713 handling the entity names here.
1714 (get_html_translation): Use it. Change return type to `const
1716 (page::add_and_encode): Update, removing a useless cast.
1718 2006-01-26 Werner LEMBERG <wl@gnu.org>
1720 This change is based on a patch by Bruno Haible <bruno@clisp.org>.
1722 * src/include/device.h: Add comments.
1723 * src/include/font.h: Add comments.
1724 * src/include/unicode.h: Likewise.
1725 * src/include/ptable.h, src/libs/libgroff/ptable.cpp: Likewise.
1727 2006-01-26 Keith Marshall <keith.d.marshall@ntlworld.com>
1729 Suppress `.st' request emission by `grn'.
1731 * src/preproc/grn/main.cpp (USE_ST_REQUEST): New macro.
1734 2006-01-22 Werner LEMBERG <wl@gnu.org>
1736 * install-sh: New version; taken from texinfo CVS.
1738 2006-01-21 Werner LEMBERG <wl@gnu.org>
1740 * src/preproc/preconv/preconv.cpp (main): Set program_name. Bug
1741 reported by Alexander E. Patrakov <patrakov@ums.usu.ru>.
1743 2006-01-19 Bruno Haible <bruno@clisp.org>
1745 Let `make -k install' install more files.
1747 * Makefile.in (MAKE_K_FLAG): New variable. Use it everywhere where
1748 $(MAKE) and $(MDEFINES) are used.
1749 (CPROGDIRS): Remove $(XPROGDIRS). Treat $(XPROGDIRS) like
1750 $(CPROGDIRS) everywhere.
1751 ($(DEVDIRS) $(XDEVDIRS) $(OTHERDEVDIRS) $(TTYDEVDIRS)): Don't depend
1753 ($(OTHERDIRS)): Likewise.
1756 * src/devices/grohtml/post-html.cpp (get_html_translation): Remove
1757 failure test for font::name_to_index -- it can never fail.
1759 2006-01-19 Werner LEMBERG <wl@gnu.org>
1761 * src/devices/grops/grops.man: Fix section on creating EPS files.
1762 Don't use future time in manual.
1765 2006-01-15 Gaius Mulley <gaius@glam.ac.uk>
1767 * tmac/www.tmac: New macro LINKSTYLE which allows users to set
1768 various typographical URL attributes for non-HTML devices.
1770 * tmac/groff_www.man: Document LINKSTYLE.
1772 2006-01-11 Werner LEMBERG <wl@gnu.org>
1774 * configure.ac: Test for getc_unlocked (needed for localcharset).
1775 * configure, src/include/config.hin: Regenerated.
1777 * src/libs/libgroff/Makefile.sub (EXTRA_CFLAGS): Define
1780 * src/libs/libgroff/relocatable.h: New dummy header file for
1783 * src/libs/libgroff/localcharset.c: Updated to (unchanged) CVS
1786 2006-01-10 Bruno Haible <bruno@clisp.org>
1788 Work around unportability of nl_langinfo(CODESET).
1790 * m4/glibc21.m4: New file, from gnulib.
1791 * Makefile.sub (M4MACROS): Add m4/glibc21.m4.
1792 * configure.ac: Also test for stddef.h, and invoke jm_GLIBC21.
1793 * Makefile.in (HOST, GLIBC21): New variables.
1794 (MDEFINES): Pass them to subdirectories.
1795 * src/include/relocate.h (relocatep): Define with C linkage.
1796 * src/include/localcharset.h: New file, from gnulib.
1797 * src/libs/libgroff/localcharset.c: New file, from gnulib with a
1798 modification for relocate().
1799 * src/libs/libgroff/config.charset: New file, from gnulib.
1800 * src/libs/libgroff/ref-add.sin: New file, from gnulib.
1801 * src/libs/libgroff/ref-del.sin: New file, from gnulib.
1802 * src/libs/libgroff/Makefile.sub (EXTRA_CFLAGS): Also define LIBDIR.
1803 (OBJS): Add localcharset.o.
1804 (CSRCS): Add localcharset.c.
1805 (all): Add dependencies to charset.alias, ref-add.sed, ref-del.sed.
1806 (charset.alias): New rule.
1807 (PACKAGE): New variable.
1808 (ref-add.sed, ref-del.sed): New rules.
1809 (MKINSTALLDIRS): New variable.
1810 (install_data): Depend on install_charset_data.
1811 (install_charset_data): New rule for creating or updating
1813 (uninstall_sub): Depend on uninstall_charset_data.
1814 (uninstall_charset_data): New rule for uninstalling or updating
1816 * src/preproc/preconv/preconv.cpp: Include localcharset.h instead
1818 (main): Initialize default_encoding from locale_charset() instead of
1819 nl_langinfo(CODESET).
1821 * aclocal.m4, configure, src/include/config.hin: Regenerated.
1823 2006-01-10 Werner LEMBERG <wl@gnu.org>
1825 * src/preproc/preconv/preconv.cpp (conversion_iconv): Use
1826 ICONV_CONST in call to iconv. Reported by Robert Goulding.
1828 2006-01-07 Werner LEMBERG <wl@gnu.org>
1830 * fonts/devps/generate/freeeuro.sfd: Run auto-hinter with recent
1832 Bump font version to 001.001.
1834 * fonts/devps/generate/Makefile (freeeuro.afm, freeeuro.pfa):
1835 Call fontforge, not pfaedit.
1837 * fonts/devps/freeeuro.afm, fonts/devps/freeeuro.pfa: Regenerated.
1839 2006-01-05 Ruslan Ermilov <ru@FreeBSD.org>
1841 * tmac/doc-common: Add new FreeBSD and NetBSD versions.
1842 * tmac/groff_mdoc.man: Updated.
1844 2006-01-05 Werner LEMBERG <wl@gnu.org>
1846 * src/preproc/preconv/preconv.cpp: s/debug/debug_flag/.
1847 (raw_flag): New global variable.
1848 (do_file): Use .lf to set file name (if `raw_flag' isn't set).
1849 Don't pass BOM to `conversion_utf8'.
1851 (main): Handle `-r' command line switch to set `raw_flag'.
1852 (get_BOM): Fix encodings in `BOM_table'.
1854 * src/preproc/preconv/preconv.man: New file. Not complete yet.
1855 * src/preproc/proconv/Makefile.sub (MAN1): New variable.
1857 2006-01-04 Werner LEMBERG <wl@gnu.org>
1859 * src/preproc/preconv/preconv.cpp (emacs_to_mime): As suggested by
1860 Bruno, comment out most encodings to support only a small set of
1861 coding tags, thus reducing potential problems with legacy encodings
1862 and character sets in the future.
1863 Add many XEmacs coding tags (now commented out).
1865 (check_encoding_tag): Renamed to...
1866 (check_coding_tag): This.
1867 (get_BOM): Return encoding as specified by BOM.
1868 Test for UTF32-LE too.
1869 (do_file): Don't check for coding tag if a BOM has been found.
1871 2006-01-03 Bruno Haible <bruno@clisp.org>
1873 * m4/groff.m4: Renamed from aclocal.m4.
1874 * m4/codeset.m4: New file, from gnulib.
1875 * m4/iconv.m4: New file, from gnulib.
1876 * m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4: New files, from
1878 * config.rpath: New file, from gnulib.
1879 * config.guess, config.sub: New files, from gnulib.
1880 * Makefile.sub (M4MACROS): New variable.
1881 (configure): Fix typo.
1882 (aclocal.m4): New rule.
1883 (stamp-h.in): Depend on aclocal.m4.
1884 * configure.ac: Invoke AM_ICONV and AM_LANGINFO_CODESET.
1885 * Makefile.in (LIBICONV): New variable.
1886 (MDEFINES): Pass it to recursive makes.
1887 * src/preproc/preconv/preconv.cpp: Use HAVE_LANGINFO_CODESET and
1888 HAVE_ICONV instead of I18N macro.
1889 * src/preproc/preconv/Makefile.sub (EXTRA_LDFLAGS): New variable.
1891 * aclocal.m4, configure, src/include/config.hin: (Re)generated.
1893 2006-01-03 Werner LEMBERG <wl@gnu.org>
1895 * doc/Makefile.in (webpage.html): Simplify.
1896 * doc/Makefile.sub (webpage.html): Synchronize with doc/Makefile.in.
1897 * doc/webpage.ms, tmac/groff_www.man, tmac/www.tmac: Minor updates.
1899 2006-01-01 Werner LEMBERG <wl@gnu.org>
1901 * tmac/doc-common (Os): Add some Darwin versions.
1902 * tmac/groff_mdoc.man: Document them.
1904 2006-01-01 Bruno Haible <bruno@clisp.org>
1906 * src/preproc/preconv/preconv.cpp (emacs_to_mime): Various
1908 . Don't map ascii to latin-1.
1909 . Don't use IBMxxx encodings but cpxxx for portability.
1910 . Map cp932, cp936, cp949, cp950 to itself.
1911 (emacs2mime): Protect calls to strcasecmp.
1912 (conversion_iconv): Add missing call to iconv_close.
1913 (do_file): Emit error message in case of unsupported encoding.
1915 2005-12-31 Werner LEMBERG <wl@gnu.org>
1917 Integrate preconv into the groff binary. Changes based on a patch
1918 from Michail Vidiassov.
1920 * src/roff/groff/pipeline.h (MAX_COMMANDS): Increase by 1.
1922 * src/roff/groff/groff.cpp (PRECONV_INDEX): New macro.
1923 (SOELIM_INDEX): Updated.
1924 (help, synopsis): Updated.
1925 (main): Add command line options `-k' and `-K enc' to select
1927 Add support for GROFF_ENCODING environment variable.
1929 * src/roff/groff/groff.man: Updated and revised.
1932 Start with autoconf support for preconv.
1934 * configure.ac: Call AC_C_BIGENDIAN.
1935 * configure, src/include/config.hin: Regenerated.
1937 2005-12-30 Werner LEMBERG <wl@gnu.org>
1939 New preprocessor `preconv' to convert input encodings to something
1940 groff can understand. Not yet integrated within groff. Proper
1941 autoconf stuff is missing too.
1943 Tomohiro Kubota has written a first draft of this program, and some
1944 ideas have been reused (while almost no code has been taken
1947 * src/preproc/preconv/preconv.cpp. src/preproc/preconv/Makefile.sub:
1950 * MANIFEST, Makefile.in (CCPROGDIRS), test-groff.in
1951 (GROFF_BIN_PATH): Add preconv.
1953 2005-12-12 Werner LEMBERG <wl@gnu.org>
1955 * aclocal.m4 (GROFF_MAKEINFO): Fix regexps to be POSIX conformant.
1956 In particular, don't use `\+' since it is a GNU sed extension.
1958 * configure: Regenerated.
1960 2005-12-09 Werner LEMBERG <wl@gnu.org>
1962 * src/libs/libgroff/make-uniuni: New script to generate uniuni.cpp.
1964 * src/libs/libgroff/uniuni.cpp: Regenerated, using data from Unicode
1968 * src/utils/afmtodit/make-afmtodit-tables: New script to generate
1971 * src/utils/afmtodit/afmtodit.tables: New file, representing Unicode
1974 * src/utils/afmtodit/afmtodit.pl (%unicode_decomposed,
1975 %AGL_to_unicode): Removed. Replace it with a tag.
1977 * src/utils/afmtodit/Makefile.sub (afmtodit): Adjust sed expression
1978 to replace tag with actual file contents.
1980 2005-12-08 Werner LEMBERG <wl@gnu.org>
1982 The change 2005-06-20 can indeed cause problems, so we follow the
1983 advice by using marks.
1985 * font/devps/prologue.ps (PBEGIN): Use `mark'.
1986 (PEND): Use `cleartomark'.
1988 2005-12-07 Michail Vidiassov <master@iaas.msu.ru>
1990 * src/utils/afmtodit.pl: Fix kerning output to avoid warnings for
1991 glyphs which have kern values but aren't handled (glyph variants,
1994 2005-12-02 Werner LEMBERG <wl@gnu.org>
1996 * src/devices/grops/ps.cpp (ps_printer::get_subfont): Use correct
1997 subfont index. Reported by Michail Vidiassov <master@iaas.msu.ru>.
1999 2005-11-28 Gaius Mulley <gaius@glam.ac.uk>
2001 * doc/Makefile.in: Separate rule for webpage.html so that extra
2002 command line options can be passed to grohtml.
2003 * doc/groff.css: Change all margins to 0%.
2004 * doc/webpage.ms: Now use new macros ALN, LNS, and LNE so that left
2005 navigation is exploited. Also update webpage to contain new
2006 sections on licenses, mailing lists, cvs/ftp access, groff
2007 dependencies, and bug reports.
2008 * tmac/groff_www.man: Document the new macros ALN, LNS, and LNE.
2009 * tmac/www.tmac: Implement the new macros ALN, LNS, and LNE.
2011 2005-11-25 Gaius Mulley <gaius@glam.ac.uk>
2013 * src/devices/grohtml/post-html.cpp
2014 (html_printer::do_file_components): Add fputs calls to emit the
2015 head contents and shut down the head tag whenever a new file
2016 component is generated.
2018 2005-11-22 Gaius Mulley <gaius@glam.ac.uk>
2020 * src/devices/grohtml/post-html.cpp (html_printer::flush_page): Add
2021 call to flush_text to flush any outstanding html tags on the
2024 2005-11-18 Werner LEMBERG <wl@gnu.org>
2026 * aclocal.m4 (GROFF_MAKEINFO): Use `groff.info' in tests.
2027 Announce makeinfo version.
2028 * configure: Regenerated.
2030 2005-11-18 Mike Frysinger <vapier@gentoo.org>
2032 * Makefile.in: Declare proper dependencies between make targets.
2034 * doc/Makefile.in: Rename groff info page to `groff.info'.
2035 * doc/Makefile.sub: Likewise.
2036 * doc/groff.texinfo: Likewise.
2038 2005-11-17 Peter O'Gorman <mlists@thewrittenword.com>
2040 * src/utils/pfbtops/pfbtops.c, src/utils/xtotroff/xtotroff.c: Move
2041 definition of __GETOPT_PREFIX to the beginning of file to ensure
2042 that it is defined even on platforms where getopt.h is already
2043 included by other header files.
2045 2005-11-10 Gaius Mulley <gaius@glam.ac.uk>
2047 * src/devices/grohtml/post-html.cpp (html_printer::do_heading):
2048 Reset font to NULL to ensure that a font block is recreated during
2051 2005-11-04 Werner LEMBERG <wl@gnu.org>
2053 * aclocal.m4 (GROFF_MAKEINFO): Fix sed expression.
2054 * configure: Regenerated.
2056 2005-10-27 Werner LEMBERG <wl@gnu.org>
2058 * aclocal.m4 (GROFF_MAKEINFO): New function for checking whether
2059 makeinfo 4.8 or newer is available.
2060 * configure.ac: Call GROFF_MAKEINFO.
2061 * configure: Regenerated.
2063 * Makefile.in (MAKEINFO): Use autoconf variable.
2064 (MDEFINES): Add MAKEINFO.
2066 * doc/Makefile.in (MAKEINFO): Use autoconf variable.
2067 * doc/Makefile.sub (MAKEINFO): Remove.
2069 2005-10-26 Werner LEMBERG <wl@gnu.org>
2071 * REVISION: Set to 3.
2073 2005-10-17 Werner LEMBERG <wl@gnu.org>
2075 Mention $MANPAGER variable used with some `man' systems.
2077 * doc/webpage.ms, src/devices/grotty/grotty.man, NEWS: Updated.
2079 2005-09-13 Werner LEMBERG <wl@gnu.org>
2081 * tmac/hyphenex.us: New version (`ushyphex.tex' from ftp.dante.de).
2083 2005-09-04 Werner LEMBERG <wl@gnu.org>
2085 Version 1.19.2 released
2086 =======================
2088 * tmac/groff_ms.man, doc/groff.texinfo: Synchronize.
2090 * doc/webpage.ms: Updated.
2092 * install-sh, mkinstalldirs: New versions; taken from texinfo CVS.
2094 2005-09-04 Jörgen Grahn <jgrahn@algonet.se>
2096 * tmac/groff_ms.man: Document `PO' better.
2098 2005-09-03 Werner LEMBERG <wl@gnu.org>
2100 * NEWS: Document grotty changes.
2102 2005-09-01 Keith Marshall <keith.d.marshall@ntlworld.com>
2104 Backward compatibility support for `man' program.
2106 * tmac/an-old.tmac (LL): Initialize it to respect prior LL register
2107 assignment, prior `.ll' request and then package defaults, in this
2108 specified order of decreasing priority.
2110 * tmac/groff_man.man, doc/groff.texinfo (Man options): Document
2111 altered `LL' register initialization priorities.
2113 2005-08-29 Gary W. Swearingen <garys@opusnet.com>
2115 * tmac/groff_mdoc.man: Go into more details how the `AUTHORS'
2116 section should look like.
2118 2005-08-29 Werner LEMBERG <wl@gnu.org>
2120 * tmac/groff_mdoc.man: The month's name in a call to .Dd shouldn't
2123 2005-08-27 Bernd Warken
2125 * tmac/groff_man.man: Add man(7) too SEE ALSO and more minor
2128 2005-08-11 Bernd Warken
2130 * tmac/www.tmac (URL, MTO): Handle empty \\$1 better.
2132 2005-08-09 Bernd Warken
2134 * tmac/www.tmac (URL, MTO): Use bold series if color support is
2137 2005-08-02 Bernd Warken
2139 * doc/Makefile.sub (uninstall_sub): Use --remove, not --delete
2140 as argument to $(INSTALL_INFO). The latter isn't portable.
2141 Remove $(HTMLEXAMPLEFILES) too.
2143 * Makefile.in (uninstall_dirs): Remove $(datadir)/doc/groff and
2145 Suppress warning messages and return always true.
2147 * tmac/Makefile.sub (uninstall_sub): Remove www.tmac too.
2149 2005-07-02 Bernd Warken
2151 * src/devices/xditview/gxditview.man: Change many `.I' to `.B'.
2152 * man/groff_out.man: More markup and minor improvements.
2153 * src/roff/groff/groff.man: Minor improvements.
2155 2005-06-28 Werner LEMBERG <wl@gnu.org>
2157 * ChangeLog: Split off older entries into...
2158 * ChangeLog.115 ChangeLog.116, ChangeLog.117, ChangeLog.118: New
2161 2005-06-26 Bernd Warken
2163 * src/devices/xditview/gxditview.man: More minor fixes.
2165 2005-06-24 Werner LEMBERG <wl@gnu.org>
2167 * src/preproc/pic/troff.cpp (troff_output::set_fill,
2168 troff_output::set_color, troff_output::reset_color): Use .bcolor and
2169 .fcolor instead of \m and \M, respectively.
2171 2005-06-23 Bernd Warken
2173 * src/devices/xditview/gxditview.man: More minor fixes.
2174 * README: Formatting issues.
2175 Mention some problems with Debian.
2177 2005-06-23 Bernd Warken
2179 * src/devices/xditview/gxditview.man: Revised and improved.
2181 2005-06-22 Werner LEMBERG <wl@gnu.org>
2183 Another round in fixing getopt problems. Hopefully the last one!
2184 This time we use the getopt stuff from gnulib and define a prefix
2185 unconditionally so that there are no collisions with any other
2186 getopt implementations. This is a slight waste of space in case
2187 we already use a GNU getopt implementation, but on
2188 the other hand it really simplifies life.
2190 * src/include/getopt.h: Use gnulib version.
2192 * src/include/getopt_int.h: Use gnulib version.
2194 * src/include/groff-getopt.h: Removed. Obsolete now.
2196 * src/include/lib.h: Regarding getopt, don't handle any platform
2197 specially; just include getopt.h.
2198 (__GETOPT_PREFIX): Define (before getopt.h).
2200 * src/include/Makefile.sub (HDRS): Updated.
2202 * src/libs/libgroff/getopt1.c, src/libs/libgroff/getopt.c: Use
2205 * src/libs/libgroff/Makefile.sub (EXTRA_CFLAGS): Set
2208 * src/utils/pfbtops/pfbtops.c, src/utils/xtotroff/xtotroff.c
2209 (__GETOPT_PREFIX): Define (before getopt.h).
2211 2005-06-21 Werner LEMBERG <wl@gnu.org>
2213 * src/include/lib.h: Provide a fix for Mac OS X to not include
2216 2005-06-20 Denis M. Wilson <dmw@oxytropis.plus.com>
2218 * font/devps/prologue.ps (EP): Dont' use `bind'. Reason: Using
2219 `bind' to define a procedure which contains `showpage' means that an
2220 invocation of `showpage' may execute wrongly (the exact effect
2221 depending on the interpreter). Not usually a problem except under
2222 transformations, such as combining pages.
2223 (PEND): Don't call `clear'. Reason: Using `clear' in the definition
2224 of /PEND means that stack underflow will occur if the stack is
2225 deliberately non-empty before document inclusion. If included
2226 files are found to be generally badly behaved, we could replace the
2227 `clear' with `mark' in /PBEGIN and `cleartomark' in /PEND (I've
2228 never found this necessary).
2230 2005-06-20 Jörgen Grahn <jgrahn@algonet.se>
2232 * src/preproc/soelim/soelim.cpp (do_file): Append trailing zero
2233 earlier to get correct error message.
2235 2005-06-16 Bernd Warken
2236 * src/roff/nroff/nroff.sh: Add support for iso-8859-15.
2238 2005-06-15 Werner LEMBERG <wl@gnu.org>
2240 Another try to update getopt files. This time we add a dummy
2241 gettext.h file to satisfy the dependency.
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/gettext.h: Dummy file which just defines a gettext()
2251 * src/include/groff-getopt.h: Updated.
2253 * src/include/Makefile.sub (HDRS): Add getopt_int.h and gettext.h.
2256 * src/libs/libdriver/input.cpp (IntArray): Remove superfluous
2257 `const' keywords in return value.
2259 * src/preproc/html/pushback.cpp (pushBackBuffer::~pushBackBuffer):
2260 Remove redundant variable `old'.
2261 (pushBackBuffer::skipToNewline): Remove redundant variable `ch'.
2263 * src/preproc/tbl/main.cpp (process_table): Remove redundant
2267 Fix more friend name injection problems since modern C++ compilers
2268 fail otherwise. We simply provide (global) declarations for all
2269 functions declared as friends. This is not really necessary but
2272 * src/preproc/eqn/lex.cpp: Provide declarations for get_char,
2273 peek_char, and get_location.
2275 * src/preproc/refer/ref.h: Provide declarations for
2276 compare_reference, same_reference, same_year, same_date,
2277 same_author_last_name, and same_author_name.
2279 * src/roff/troff/div.h: Provide declarations for do_divert and
2282 * src/roff/troff/env.h: Provide declarations for title_length,
2283 space_size, fill, no_fill, adjust, no_adjust, center, right_justify,
2284 vertical_spacing, post_vertical_spacing, line_spacing, line_length,
2285 indent, temporary_indent, do_underline, do_input_trap, set_tabs,
2286 margin_character, no_number, number_lines, leader_character,
2287 tab_character, hyphenate_request, no_hyphenate,
2288 hyphen_line_max_request, hyphenation_space_request,
2289 hyphenation_margin_request, line_width, tabs_save, tabs_restore,
2290 line_tabs_request, widow_control_request, and do_divert.
2292 * src/roff/troff/input.cpp: Provide declaration for chop_macro.
2294 * src/roff/troff/node.cpp: Provide declarations for class
2296 Provide declaration for make_tfont.
2298 2005-05-29 Werner LEMBERG <wl@gnu.org>
2300 * doc/fdl.texi: Updated to version 1.2. Reported by Bernd Warken.
2302 2005-05-28 Werner LEMBERG <wl@gnu.org>
2304 * contrib/pdfmark/Makefile.sub (.ms.pdf): Use `--stylesheet', not
2307 * src/devices/grolbp/lbp.cpp, src/devices/grolbp/lbp.h: Remove
2308 redundant semicolons.
2310 * src/preproc/eqn/Makefile.sub, src/preproc/html/Makefile.sub,
2311 src/preproc/soelim/Makefile.sub, src/preproc/tbl/Makefile.sub:
2312 Define `MLIB'. Some compilers need this for linking with libgroff.
2314 2005-05-27 Werner LEMBERG <wl@gnu.org>
2316 * MANIFEST, README, doc/webpage.ms: Updated.
2318 2005-05-26 Werner LEMBERG <wl@gnu.org>
2320 * All affected files: Update postal address of FSF.
2322 2005-05-25 Keith Marshall <keith.d.marshall@ntlworld.com>
2325 * README: More fixes.
2327 * README.CVS: Removed. Its contents is now part of the README file.
2329 2005-05-21 Werner LEMBERG <wl@gnu.org>
2331 * README: Updated. Based on a patch from Bernd Warken.
2333 2005-05-16 Keith Marshall <keith.d.marshall@ntlworld.com>
2335 Miscellaneous script portability enhancements.
2337 * aclocal.m4: (GROFF_CSH_HACK): Add space in shebang prototype for
2338 generated conftest.sh script, conforming to portability
2339 recommendation in autoconf docs.
2340 * configure: Likewise, for code generated by GROFF_CSH_HACK.
2341 * contrib/eqn2graph/eqn2graph.sh: Add space in shebang, conforming
2342 to portability recommendation in autoconf docs.
2343 * contrib/gdiffmk/gdiffmk.sh: Likewise.
2344 * contrib/gdiffmk/tests/runtests.in: Likewise.
2345 * contrib/grap2graph/grap2graph.sh: Likewise.
2346 * contrib/groffer/groffer.sh: Likewise.
2347 * contrib/mm/mmroff.pl: Likewise.
2348 * contrib/mom/momdoc/appendices.html: Likewise.
2349 * contrib/pic2graph/pic2graph.sh: Likewise.
2350 * font/devps/generate/afmname: Likewise.
2351 * src/devices/xditview/ad2c: Likewise.
2352 * src/preproc/eqn/neqn.sh: Likewise.
2353 * src/roff/grog/grog.pl: Likewise.
2354 * src/roff/grog/grog.sh: Likewise.
2355 * src/roff/nroff/nroff.sh: Likewise.
2356 * PROBLEMS: Likewise, in embedded script examples.
2358 2005-05-16 Keith Marshall <keith.d.marshall@ntlworld.com>
2360 Improve portability of `pdfroff' shell script.
2362 * arch/misc/shdeps.sh: Add space in shebang, conforming to
2363 portability guidelines in `autoconf' docs.
2364 (PATH_SEARCH_SETUP): New substitution; emits PATH_SEPARATOR
2365 initialization code. Used by contrib/pdfmark/pdfroff.sh's
2366 `searchpath' function.
2368 2005-05-14 Werner LEMBERG <wl@gnu.org>
2370 * contrib/pic2graph/pic2graph.sh, contrib/graph2graph.sh,
2371 contrib/eqn2graph.sh: Add option `-trim' to `convert' which is
2372 needed for newer ImageMagick versions.
2374 2005-05-07 Werner LEMBERG <wl@gnu.org>
2376 * src/preproc/refer/refer.man: Many small typographic fixes.
2378 2005-05-06 Jeff Conrad <jeff_conrad@msn.com>
2380 * src/devices/grohtml/post-html.cpp (assert_state::~assert_state):
2381 Use `char *' cast for a_delete.
2383 2005-05-03 Werner LEMBERG <wl@gnu.org>
2385 * src/libs/libgroff/maxpathname.cpp: Include stdlib.h.
2386 src/libs/libgroff/relocate.cpp: Use path_name_max everywhere.
2388 2005-05-03 Jeff Conrad <jeff_conrad@msn.com>
2390 * src/devices/grohtml/post-html.cpp: Use casts to `char *' if using
2391 `a_delete' for `const char *'.
2393 2005-05-03 Werner LEMBERG <wl@gnu.org>
2395 * src/devices/grohtml/post-html.cpp,
2396 src/devices/grohtml/html-table.cpp,
2397 src/devices/grohtml/html-text.cpp, src/devices/grohtml/output.cpp:
2398 Replace malloc/free with new/delete/a_delete.
2400 * src/devices/grolbp/lbp.h: Remove superfluous semicolons which
2401 are prohibited with ANSI C++.
2402 (lbpprintf, vdmprintf): Remove useless `inline' keyword (since the
2403 function has a variable number of arguments).
2405 * src/preproc/grn/main.cpp (doinput): Change return type to `int'.
2406 Simplify function and update all callers.
2408 2005-05-02 Werner LEMBERG <wl@gnu.org>
2410 Undo getopt changes from 2005-04-30. We don't want a dependency
2413 * src/include/getopt_int.h: Removed.
2415 * src/include/getopt.h, src/include/groff-getopt.h,
2416 src/include/Makefile.sub, src/libs/libgroff/getopt.c,
2417 src/libs/libgroff/getopt1.c: Revert to previous version.
2420 * src/include/nonposix.h (access) [_MSC_VER]: New macro.
2422 * src/include/posix.h (F_OK): Define conditionally.
2424 * src/devices/grotty/tty.cpp (tty_printer::make_underline): Use
2425 different variable name in second `for' loop to avoid MSVC compiler
2428 2005-04-30 Werner LEMBERG <wl@gnu.org>
2430 AC_TYPE_SIGNAL from current autoconf can fail if CC=g++.
2432 * aclocal.m4 (GROFF_TYPE_SIGNAL): New function.
2433 * configure.ac: Use GROFF_TYPE_SIGNAL, not AC_TYPE_SIGNAL.
2434 * configure, src/include/config.hin: Regenerated.
2436 * PROBLEMS: Updated.
2439 Update getopt files.
2441 * src/include/getopt.h, src/libs/libgroff/getopt.c,
2442 src/libs/libgroff/getopt1.c: Updated from GNU libc CVS.
2444 * src/include/getopt_int.h: New file (from GNU libc CVS).
2446 * src/include/groff-getopt.h: Updated.
2448 * src/include/Makefile.sub (HDRS): Add getopt_int.h.
2451 * font/devutf8/NOTES: Updated.
2453 2005-04-28 Werner LEMBERG <wl@gnu.org>
2455 Bug fix for Win32 relocatable code. Based on a patch from Keith
2458 * src/libs/libgroff/maxpathname.cpp (PATH_MAX): Test for `_MAX_PATH'
2461 * src/libs/libgroff/relocate.c (DEBUG): Define it conditionally.
2462 (searchpath) [_WIN32]: Use `_fullpath', not `realpath'.
2464 2005-04-28 Keith Marshall <keith.d.marshall@ntlworld.com>
2466 Correct `gnu.eps' handling for build from distribution tarball, with
2467 separate source and build directories.
2469 * doc/Makefile.sub: (examples.stamp): New target; forces copy of
2470 grnexmpl.g, groff.css and gnu.eps from source to build directory;
2471 generate gnu.eps from gnu.xpm if required; touch examples.stamp.
2472 (prepare_examples): Make it depend on examples.stamp.
2473 (CLEANADD): Add examples.stamp.
2475 2005-04-27 Werner LEMBERG <wl@gnu.org>
2479 position: `(' position `)'
2483 * src/preproc/pic/pic.y (position, position_not_place): Handle
2484 additional parentheses.
2486 * doc/pic.ms: Updated.
2488 2005-04-23 Larry Jones <lawrence.jones@ugs.com>
2490 * src/utils/xtotroff/xtotroff.c (MapFont): Fix variable declaration.
2492 2005-04-18 Werner LEMBERG <wl@gnu.org>
2494 * src/roff/groff/pipeline.c: Don't include ctype.h.
2496 2005-04-13 Werner LEMBERG <wl@gnu.org>
2498 * src/roff/nroff/nroff.man: Document option `-M'.
2500 2005-04-13 Bruce Lilly <blilly@erols.com>
2502 * src/roff/nroff/nroff.sh: Make the script accept option `-M'.
2504 2005-04-01 Kees Zeelenberg <kzlg@users.sourceforge.net>
2505 Werner LEMBERG <wl@gnu.org>
2507 Add binary relocation support for Windows platforms.
2509 * src/include/Makefile.sub (defs.h): Add `INSTALLPATH'.
2511 * src/include/relocate.h, src/libs/libgroff/relocate.cpp: New files.
2513 * src/libs/libgroff/searchpath.cpp: Handle `relocate'.
2514 (search_path::search_path, search_path::open_file_cautious): Use
2517 * src/libs/libgroff/Makefile.sub (OBJS, CCSRCS),
2518 src/include/Makefile.sub (HDRS): Updated.
2520 2005-04-01 Werner LEMBERG <wl@gnu.org>
2522 * src/devices/grohtml/post-html.cpp: Don't use strdup/free but
2525 * src/libs/libgroff/font.cpp: Replace strdup with strsave.
2527 * src/libs/libgroff/maxfilename.cpp: Don't include limits.h since
2528 lib.h already does it.
2530 * src/libs/libgroff/maxpathname.cpp: New file, defining
2533 * src/include/lib.h: Add prototype for path_name_max.
2535 * src/libs/libgroff/Makefile.sub (OBJS, CCSRCS): Updated.
2537 * src/include/nonposix.h (PATH_EXT): New macro.
2539 2005-03-28 Werner LEMBERG <wl@gnu.org>
2541 Add support for double- and zero-width characters in grotty.
2543 * src/devices/grotty/tty.cpp (glyph): Add width.
2544 (tty_printer::make_underline, tty_printer::make_bold,
2545 tty_printer::add_character): Add parameter to pass character width.
2547 (tty_printer::end_page): Increase hpos by actual character width.
2549 * font/devutf8/R.proto: Specify zero width for non-spacing
2552 * tmac/unicode.tmac: Remove definitions for non-spacing entities.
2554 * Makefile.comm (extraclean): Remove more junk files.
2556 2005-03-25 Werner LEMBERG <wl@gnu.org>
2558 * configure.ac: Undo change from 2005-03-24.
2559 * configure: Regenerated.
2561 2005-03-24 Werner LEMBERG <wl@gnu.org>
2563 * Makefile.in (NOMAKEDIRS): Add contrib/gdiffmk/tests.
2564 (dist): Search Makefile while descending into $(EXTRADIRS).
2566 * doc/Makefile.in (.PHONY): Add.
2567 (clean): Don't remove *.png and *.eps.
2569 (realclean): Remove *.png and *.eps.
2570 (extraclean): Depend on distclean.
2572 * configure.ac: Add copyright.
2573 Handle contrib/pdfmark/Makefile.
2575 * configure: Regenerated.
2577 2005-03-18 Larry Kollar <kollar@alltel.net>
2579 Add numbered and definition lists to www.tmac.
2581 * tmac/www.tmac (www-ul-level1, www-ul-level2, www-ul-level3,
2582 www-ol-level1, www-ol-level2, www-ol-level3, www-ol-tmp): New
2583 auxiliary string registers.
2584 (www-ul-level, www-ol-level, www-dl-level, www-ol-ctr1, www-ol-ctr2,
2585 www-ol-ctr3, www-dl-shift): New auxiliary number registers.
2586 (www-level): Removed.
2587 (www-level1, www-level2, www-level3): Initialize to empty.
2588 (www-level0, www-level4, www-level5, www-level6, www-level7,
2589 www-level8, www-level9): New string registers.
2590 (www-push-li, www-pop-li): New macros.
2591 (www-push-level, www-pop-level): Renamed to...
2592 (www-push-ul-level, www-pop-ul-level): This.
2594 (www-push-ol-level, www-pop-ol-level): New macros.
2595 (ULS, ULE): Updated.
2596 (OLS, OLE, DLS, DLE): New user macros.
2597 (LI): Removed. It is aliased to one of...
2598 (www-li-ul, www-li-ol, www-li-dl): New macros.
2600 * tmac/groff_www.man: Document new macros.
2604 2005-03-18 Werner LEMBERG <wl@gnu.org>
2606 * tmac/doc-common (doc-operating-system-NetBSD-2.0.1,
2607 doc-operating-system-NetBSD-2.0.2): New strings.
2609 * tmac/groff_mdoc.man: Updated.
2611 2005-03-17 Werner LEMBERG <wl@gnu.org>
2613 * doc/Makefile.sub (CLEANADD): Add `groff.html'.
2615 2005-03-17 Werner LEMBERG <wl@gnu.org>
2617 * src/libs/libgroff/hypot.c: Renamed to...
2618 * src/libs/libgroff/hypot.cpp: This. Updated to C++.
2620 * src/libs/libgroff/Makefile.sub (CCSRCS, CSRCS): Updated.
2622 * src/include/lib.h: Updated.
2624 2005-03-16 Werner LEMBERG <wl@gnu.org>
2626 Add workaround for broken hypot() on Interix.
2628 * src/libs/libgroff/hypot.c: New wrapper file for `hypot'.
2630 * src/libs/libgroff/Makefile.sub (OBJS): Add `hypot.o'.
2631 (CSRCS): Add `hypot.c'.
2633 * src/include/lib.h: Declare `groff_hypot'.
2635 * src/preproc/grn/hgraph.cpp: Don't declare `hypot'.
2638 * src/preproc/pic/pic.h: Don't declare `hypot'.
2640 * src/preproc/pic/object.cpp (hypot): Use `groff_hypot'.
2642 2005-03-15 Gaius Mulley <gaius@glam.ac.uk>
2644 * src/devices/grohtml/post-html.cpp
2645 (html_printer::lookahead_for_tables): End .ce properly to avoid a
2648 2005-03-15 Werner LEMBERG <wl@gnu.org>
2650 makeinfo 4.8 doesn't produce good HTML output from groff.texinfo.
2652 * doc/fixinfo.sh: New script to postprocess makeinfo's HTML output.
2654 * doc/Makefile.in (.texinfo.html): Call fixinfo.sh.
2656 2005-03-14 Werner LEMBERG <wl@gnu.org>
2658 Add Cyrillic support to devutf8 and devhtml.
2660 * font/devutf8/R.proto, font/devhtml/R.proto: Add Cyrillic blocks.
2662 * tmac/unicode.tmac: New file.
2664 * tmac/tty.tmac: Include unicode.tmac if device is utf8.
2666 * tmac/Makefile.sub (NORMALFILES): Add unicode.tmac.
2670 2005-03-02 Keith Marshall <keith.d.marshall@ntlworld.com>
2672 * src/libs/libdriver/printer.cpp (check_for_output_error): New
2673 function. It has been introduced to catch peculiar error contexts
2674 on MS-Windows platforms.
2676 2005-02-28 Werner LEMBERG <wl@gnu.org>
2678 * src/roff/troff/input.cpp (string_iterator::fill): Protect against
2681 * tmac/papersize.tmac: Convert `paper' string contents to lowercase.
2683 * configure: Regenerated.
2687 2005-02-28 Keith Marshall <keith.d.marshall@ntlworld.com>
2689 Integrate `pdfmark' into normal groff build system;
2690 install macro `pdfmark' packages, build and install `pdfroff',
2691 and PDF format documentation.
2693 * Makefile.comm: Add PDFDOCDIR.
2695 * Makefile.in: (MDEFINES) ALT_AWK_PROGS, ALT_GHOSTSCRIPT_PROGS,
2696 pdfdocdir, make_pdfdoc, make_install_pdfdoc: New variables.
2697 (unstall_dirs): Add pdfdocdir.
2699 * aclocal.m4: (GROFF_GHOSTSCRIPT_PREFS): New function; support
2700 `--with-alt-gs' option, set ALT_GHOSTSCRIPT_PROGS.
2701 (GROFF_GHOSTSCRIPT_PATH): Support `--with-gs' option, force use of
2702 GROFF_GHOSTSCRIPT_PREFS, set GHOSTSCRIPT.
2703 (GROFF_HTML_PROGRAMS): Force use of GROFF_GHOSTSCRIPT_PATH; tidy up.
2704 (GROFF_AWK_PREFS): New function; support `--with-alt-awk' option,
2706 (GROFF_AWK_PATH): New function; support `--with-awk' option, force
2707 use of GROFF_AWK_PREFS.
2708 (GROFF_PDFDOC_PROGRAMS): New function; force use of GROFF_AWK_PATH
2709 and GROFF_GHOSTSCRIPT_PATH, set make_pdfdoc and make_install_pdfdoc.
2711 * configure.ac: Add AC_PREREQ(2.59), GROFF_PDFDOC_PROGRAMS.
2712 Remove GROFF_GHOSTSCRIPT_PATH, (forced by GROFF_PDFDOC_PROGRAMS, and
2713 also by modified GROFF_HTML_PROGRAMS).
2715 2005-02-27 Gaius Mulley <gaius@glam.ac.uk>
2717 * src/devices/grohtml/html-text.cpp (html_text::do_pre): Preserve
2719 (html_text::done_para): Unset `start_space'.
2720 (html_text::remove_para_align): Call `retrieve_para_space' for the
2723 * src/devices/grohtml/post-html.cpp (html_printer::emit_raw): Unset
2725 (html_printer::do_check_center): Emit vertical space if necessary.
2727 * src/roff/troff/env.cpp (environment_switch): Preserve
2728 `seen_space', `seen_eol', and `suppress_next_eol' while switching
2731 * src/roff/troff/node.cpp (suppress_node::suppress_node): Set
2734 2005-02-20 Werner LEMBERG <wl@gnu.org>
2736 * src/preproc/eqn/eqn.man, NEWS: Document various extensions of
2739 2005-02-17 Werner LEMBERG <wl@gnu.org>
2741 * doc/pic.ms, man/groff.man: Fix typos.
2743 * doc/groff.texinfo: Fix typos.
2744 (\LEmacro): Get proper mathematical spacing.
2746 2005-02-16 Werner LEMBERG <wl@gnu.org>
2748 * aclocal.m4 (GROFF_APPRESDIR_CHECK): Improve warning message.
2749 * configure: Regenerated with autoconf 2.59b.
2751 2005-02-16 Gaius Mulley <gaius@glam.ac.uk>
2753 * src/devices/grohtml/post-html.cpp (html_printer::is_line_start,
2754 html_printer::start_font): Fix handling of preformatted text.
2756 2005-02-15 Gaius Mulley <gaius@glam.ac.uk>
2758 These patches modify the indentation implementation to use `<p
2759 style=margin-left: n%>'. Many thanks to Peter and Larry for
2760 suggesting this solution. Grohtml only uses tables for `.IP' and
2761 related tags when the first operand has a short width.
2763 Similarly, they modify all vertical space code. By default, grohtml
2764 sets up a style sheet which uses no vertical space between `table',
2765 `pre', and `p' tags. It forces spaces when it needs them using
2766 `style="margin-top: 1em"'.
2768 * src/devices/grohtml/html-table.cpp: Include `html-text.h'.
2769 (html_table::emit_table_header, html_table::emit_new_row):
2771 (html_table::set_space): New function.
2772 (html_indent::html_indent): Don't set `is_used'.
2773 (html_indent::begin): Rewritten.
2774 (html_indent::end): Remove code in function.
2776 * src/devices/grohtml/html-table.h: Updated.
2777 (html_table): Make `out' public.
2779 * src/devices/grohtml/html-text.cpp (html_text::html_text):
2780 Initialize `start_space' with FALSE.
2781 (html_text::end_tag) <P_TAG, PRE_TAG>: Updated.
2782 (html_text::issue_tag): Add argument to handle space style.
2783 (html_text::start_tag) <P_TAG, PRE_TAG>: Updated.
2784 (html_text::flush_text): Don't set `start_space'.
2785 (html_text::push_para): Don't set `p->really_issued'.
2786 (html_text::do_emittext): Updated.
2787 (html_text::do_para): Add paremeter to handle space.
2789 (html_text::retrieve_para_space): New function.
2791 * src/devices/grohtml/html-text.h (STYLE_VERTICAL_SPACE): New macro.
2792 (tag_definition): Remove `really_issued'.
2793 (html_text): Updated.
2795 * src/devices/grohtml/post-html.cpp (html_printer): Add variables
2796 `current_column' and `row_space'.
2798 (html_printer::emit_raw, html_printer::write_header,
2799 html_printer::do_indent, html_printer::do_check_center,
2800 html_printer::do_tab_ts): Handle vertical space.
2801 (html_printer:do_tab_te, html_printer::do_end_para): Call
2802 `remove_para_space'.
2803 (html_printer::do_col): Rewritten.
2804 (html_printer::flush_globs): Remove debugging code.
2805 (html_printer::is_line_start): New function.
2806 (html_printer::start_font): Use `is_line_start'.
2807 (html_printer::writeHeadMetaStyle): New function.
2808 (html_printer::do_file_components, html_printer::~html_printer):
2809 Call `writeHeadMetaStyle'.
2811 * tmac/www.tmac (www-handle-percent): New macro.
2812 (MPIMG): Handle percent values for width and height parameters.
2815 * tmac/groff_www.man: Updated.
2817 2005-02-14 Werner LEMBERG <wl@gnu.org>
2819 * src/utils/afmtodit/afmtodit.pl: Remove an incorrect `my' from
2820 $psname and $italic_angle.
2821 Immediately restart file input loops if `split' returns an empty
2824 2005-02-13 Michail Vidiassov <master@iaas.msu.ru>
2825 Werner LEMBERG <wl@gnu.org>
2827 Update afmtodit to better support Unicode (Michail).
2828 Update afmtodit to use Perl 5 syntax (Werner).
2830 * src/utils/afmtodit/afmtodit.pl: Don't use `getopts.pl' but
2832 Decorate variables with `my' where necessary.
2833 Use `defined' where necessary to avoid warnings.
2834 Don't use `do' for subroutine calls.
2835 Other minor syntax updates.
2836 Check for both `uXXXX[X[X]]' and `uniXXXX'.
2837 Handle glyph variants properly.
2838 (%unicode_decomposed, %AGL_to_unicode): Don't use `u' prefix in
2841 * src/utils/afmtodit/afmtodit.man: Updated.
2843 2005-02-13 Werner LEMBERG <wl@gnu.org>
2845 Make groff.texinfo work with texinfo 4.8.
2847 * doc/groff.texinfo (@Var): Use @r and @slanted.
2848 (@defdummy, @Def*): Use @c to avoid empty lines.
2849 (\angles): Replaced with...
2850 (\Langlemacro, \Ranglemacro): New TeX macros.
2851 (@Langlemacro, @Ranglemacro): New variables defined with @set.
2852 (@angles): Use @Langlemacro and @Ranglemacro.
2853 (\LE): Replaced with...
2854 (\LEmacro): New TeX macro.
2855 (@LEmacro): New variable defined with @set.
2856 (@LE): Use @LEmacro.
2857 (@Lparenmacro, @Rparenmacro, @Lbrackmacro, @Rbrackmacro): New
2858 variables defined with @set.
2859 (@lparen, @rparen, @lbrack, @rbrack): Replaced with...
2860 (@Lparen, @Rparen, @Lbrack, @Rbrack): New macros.
2863 Other minor updates.
2865 * doc/texinfo.tex: Update to texinfo version 4.8.
2867 * README.CVS: Updated.
2869 2005-02-09 Alejandro López-Valencia <palopez@etb.net.co> (tiny change)
2871 * doc/groff.texinfo (ms Document Control Registers): Document `HY'
2872 and `FAM' registers.
2874 2005-02-05 Werner LEMBERG <wl@gnu.org>
2876 * tmac/groff_mdoc.man, tmac/doc-common, tmac/doc-ditroff,
2877 tmac/doc-nroff, tmac/doc-old.tmac, tmac/doc-syms, tmac/doc.tmac:
2880 2005-02-01 Werner LEMBERG <wl@gnu.org>
2882 * src/roff/groff/groff.man: Add information about paper size.
2884 2005-01-25 Werner LEMBERG <wl@gnu.org>
2886 * src/roff/nroff/nroff.sh: Handle `*.ISO8859-1' in locale. From
2889 2005-01-22 Ruslan Ermilov <ru@FreeBSD.org>
2891 * tmac/doc.tmac (Sm): Improved. It didn't work properly in many
2893 (Re): Emit a warning if called without `.Rs'.
2894 (doc-finish-reference): Use parameter for decreasing
2895 `doc-reference-count'.
2896 (doc-print-reference): Pass specific count parameters to
2897 `doc-finish-reference'.
2899 2005-01-21 Werner LEMBERG <wl@gnu.org>
2901 * src/libs/libdriver/input.cpp (delete_current_env, do_file):
2902 Reset pointers to zero after deallocation. This fixes a crash
2903 if a driver is called with multiple input files. Reported by
2904 Ken Chilton <ken@chiltonfamily.org>.
2906 * src/devices/grops/grops.man: Add more info on DSC.
2908 2005-01-17 Ruslan Ermilov <ru@FreeBSD.org>
2910 * tmac/doc-common (Dd), tmac/doc-ditroff (gX, doc-setup-header):
2913 2005-01-17 Werner LEMBERG <wl@gnu.org>
2915 * src/roff/troff/div.cpp (top_level_diversion::space): Protect
2916 against division by zero.
2918 2005-01-13 Ruslan Ermilov <ru@FreeBSD.org>
2920 * tmac/doc.tmac (Ef): Restore doc-curr-font and doc-curr-size.
2922 2004-12-19 Werner LEMBERG <wl@gnu.org>
2924 * install-sh: New version; taken from texinfo CVS.
2926 2004-12-17 Werner LEMBERG <wl@gnu.org>
2928 * tmac/devtag.tmac: Protect against loading twice.
2929 Protect agains compatibility mode.
2930 * tmac/www.tmac: Protect against loading twice.
2931 Load `devtag.tmac' before switching off compatibility mode.
2932 * tmac/an-old.tmac, tmac/s.tmac: Load `devtag.tmac'.
2934 2004-12-16 Mike Bianchi <mbianchi@Foveal.com>
2936 * configure.ac: Produce `contrib/gdiffmk/tests/runtests'.
2937 * configure: Updated.
2939 2004-12-15 Thomas Klausner <wiz@netbsd.org>
2941 * tmac/doc-syms, tmac/groff_mdoc.man: Add `libpam' library.
2943 2004-12-15 Werner LEMBERG <wl@gnu.org>
2945 Make `test-groff' work again -- previously, wrong paths have been
2946 used. Additionally, it can now be called from anywhere.
2948 * test-groff.in: Don't test for groff binary. This is no longer
2949 necessary since the proper paths are determined by `configure'.
2950 (EXEEXT): Removed. No longer used.
2951 (srcdir, builddir): Use values provided by the configure script.
2952 (XENVIRONMENT): Updated.
2956 2004-12-14 Gaius Mulley <gaius@glam.ac.uk>
2958 Make .tag and .taga work for all devices (but only grohtml actually
2961 * src/devices/grohtml/post-html.cpp: s/html-tag/devtag/.
2962 (text_glob::is_br, page::add_tag, html_printer::troff_tag,
2963 html_printer::handle_assertion): Don't use hard-coded string
2965 (html_printer::lookahead_for_table): Reset `tbl' properly if
2967 (html_printer::devtag): New function, handling `devtag'.
2968 (html_printer::special): Don't handle `html-tag'.
2970 * src/include/printer.h, src/libs/libdriver/printer.cpp
2971 (printer::devtag): New virtual function.
2973 * src/libs/libdriver/input.cpp (parse_x_command) <'X'>: Handle
2976 * src/roff/troff/env.cpp, src/roff/troff/mtsm.cpp,
2977 src/roff/troff/node.cpp: s/html-tag/devtag/.
2979 * src/roff/troff/input.cpp (tag, taga): Always call
2982 * tmac/an-old.tmac, tmac/s.tmac, tmac/troffrc-end: Use DEVTAG*
2983 macros instead of HTML-TAG*.
2985 * tmac/devtag.tmac: New file, defining the DEVTAG-* macros.
2987 * tmac/www.tmac: Load devtag.tmac.
2988 Replace HTML-TAG* macros with DEVTAG* macros.
2989 (HTML, HTML-NS): Changed definitions.
2991 (HTML-TAG, HTML-TAG-NS, HTML-TAG-NEXT): Removed.
2993 * tmac/Makefile.sub (NORMALFILES): Add devtag.tmac.
2995 2004-12-10 Werner LEMBERG <wl@gnu.org>
2997 Import Mike's `gdiffmk' package.
2999 * contrib/gdiffmk/*: New files.
3000 * Makefile.in (OTHERDIRS): Add contrib/gdiffmk.
3003 2004-12-08 Werner LEMBERG <wl@gnu.org>
3005 Import Keith's `pdfmark' package. Integration is very preliminary.
3007 * contrib/pdfmark/*: New files.
3008 * Makefile.in (OTHERDIRS): Add contrib/pdfmark.
3011 2004-12-07 Gaius Mulley <gaius@glam.ac.uk>
3013 Fix a bug with title handling in HTML.
3015 * src/devices/grohtml/post-html.cpp (text_glob::is_nf,
3016 text_glob::is_fi, text_glob::is_ce): Use strlen to compute string
3018 (html_printer::handle_tag_within_title): New function.
3019 (html_printer::do_title): Use it.
3021 * tmac/s.tmac (TL): Don't set `need_eo_tl'.
3022 (cov*tl-au-print): Emit `.eo.tl' tag.
3024 2004-12-05 Alejandro López-Valencia <dradul@etb.net.co>
3026 * man/groff_char.man: Minor imrovements.
3028 2004-12-04 Werner LEMBERG <wl@gnu.org>
3030 * src/preproc/eqn/eqn.man: Revised.
3032 2004-11-25 Werner LEMBERG <wl@gnu.org>
3034 * src/utils/xtotroff/xtotroff.c: Reformat to be similar to other
3038 Remove X_NOT_STDC_ENV conditional.
3039 (Version_string, program_name): New global variables.
3040 (groff_flag): Removed.
3042 (usage): Take a stream as argument.
3045 (main): Add `long_options' array for `--help' and `--version'.
3046 Make `-g' a dummy option.
3047 Handle `-v' and unknown options.
3048 Remove unused `position' variable.
3050 * src/utils/xtotroff/Makefile.sub (MAN1): Define.
3051 (XLIBS): Add LIBGROFF.
3053 * src/utils/xtotroff/xtotroff.man, src/utils/xtotroff/Makefile.in:
3056 * src/devices/xditview/Dvi.c (default_font_map): Split into three
3057 parts to avoid compiler warning.
3058 (resources): Don't initialize with `default_font_map'.
3059 (ClassInitialize): Initialize first element of `resources'.
3061 * src/devices/xditview/Makefile.sub (devdir, xtotroff, DPIS, fonts):
3064 * src/utils/lkbib/lkbib.man, src/utils/lookbib/lookbib.man,
3065 src/utils/pfbtops/pfbtops.man: Revised, updated.
3067 * configure.ac: Generate src/utils/xtotroff/Makefile.
3068 * configure: Regenerated.
3070 2004-11-24 Werner LEMBERG <wl@gnu.org>
3072 First fixes to get produce HTML.
3074 * src/devices/grohtml/post-html.cpp (generate_img_src): Add `alt'
3077 * tmac/www.tmac (IMG, PIMG, MPIMG): Add `alt' attribute.
3078 (HR, LI): Use `HTML</p>', not `HTML'.
3080 * doc/webpage.ms: Minor updates.
3082 2004-11-23 Larry Kollar <kollar@alltel.net>
3084 Add option -S grohtml to determine the file split level.
3086 * src/devices/grohtml/post-html.cpp (split_level): New global
3088 (html_header::determine_header_level): Use split_level.
3089 (main): Handle `-S' command line option.
3092 * src/preproc/html/pre-html.cpp (scanArguments): Updated.
3094 * src/devices/grohtml/grohtml.man: Document it.
3097 * NEWS: Document it.
3099 2004-11-23 Y T <doarhop@hotmail.com>
3101 * tmac/s.tmac (ref*add-V, ref*add-N): New macros for handling
3102 the volume and number refer entries.
3104 2004-11-22 Werner LEMBERG <wl@gnu.org>
3106 * src/devices/grohtml/html-table.cpp
3107 (html_table::emit_table_header): Don't emit `cols' attribute which
3108 doesn't exist in HTML 4.0 and is thus invalid.
3110 * NEWS: More minor fixes and updates.
3112 2004-11-18 Werner LEMBERG <wl@gnu.org>
3114 * tmac/www.tmac (HTML-NS, HTML-TAG-NS, HTML-TAG-NEXT): Simplified.
3115 (HTML</p>): Minor clean-up.
3117 * tmac/groff_www.man: Updated.
3119 * src/devices/grohtml/grohtml.man: Revised and updated.
3123 2004-11-18 Gaius Mulley <gaius@glam.ac.uk>
3125 * src/devices/grohtml/post-html.cpp (html_printer::do_heading):
3126 Fix space insertion.
3127 (html_printer::do_links): Fix rules generation around automatic
3130 * tmac/www.tmac (LK): Use HTML-TAG-NS.
3132 No longer emit empty line for non-HTML devices.
3134 2004-11-17 Werner LEMBERG <wl@gnu.org>
3136 * doc/Makefile.in (prepare_examples, webpage.html): Handle
3139 * doc/Makefile.sub (EXAMPLEFILES, CLEANNOTSRCDIRADD,
3140 prepare_examples, webpage.html): Handle `groff.css'.
3142 2004-11-15 Werner LEMBERG <wl@gnu.org>
3144 * NEWS, README, doc/webpage.ms: Updated.
3146 * tmac/www.tmac (HTML, HTML-TAG): Minor clean-ups.
3148 2004-10-30 Gaius Mulley <gaius@glam.ac.uk>
3150 * src/include/printer.h (printer): Remove virtual function
3152 Update all source files.
3154 * src/devices/grohtml/post-html.cpp (html_printer): New member
3155 function `round_width'.
3157 2004-10-20 Tadziu Hoffmann <hoffmann@usm.uni-muenchen.de>
3159 * src/preproc/tbl/table.cpp (table::do_row): Fix handling of the `d'
3160 column key letter suffix.
3162 2004-10-14 Werner LEMBERG <wl@gnu.org>
3164 * Makefile.in (check): Depend on `site.exp' and `docheck'.
3165 (docheck): Run dejagnu's `runtest' if it exists.
3166 (site.exp): Create dejagnu configuration file.
3168 * Makefile.sub (DISTCLEANFILES): Add files related to dejagnu.
3170 2004-10-13 Werner LEMBERG <wl@gnu.org>
3172 * src/devices/grohtml/html-text.cpp (html_text_get_alignment),
3173 src/devices/grohtml/post-html.cpp (make_val,
3174 html_printer::handle_state_assertion): Fix compiler warnings.
3176 * src/roff/troff/div.cpp: Include `stringclass.h' and `mtsm.h'.
3177 (diversion::diversion): Fix order of initializers.
3179 * src/roff/troff/div.h: Don't include `mtsm.h'.
3181 * src/roff/troff/env.cpp: Include `stringclass.h' and `mtsm.h'.
3182 (environment::environment): Fix order of initializers.
3183 (environment::make_tag, environment::construct_format_state): Fix
3186 * src/roff/troff/input.cpp: Include `stringclass.h' and `mtsm.h'.
3187 (input_iterator::input_iterator, macro::macro): Fix order of
3190 * src/roff/troff/mtsm.cpp: Include only necessary header files.
3191 (state_set::add, state_set::val): Fix compiler warnings.
3193 * src/roff/troff/mtsm.h: Don't include `stringclass.h'.
3194 (bool_value_state, int_value_state, units_value_state,
3195 string_value_state): Remove comma after last element which causes
3196 an error with g++ 3.3.3.
3198 * src/roff/troff/node.cpp: Include `stringclass.h'.
3199 (hline_node::hline_node, vline_node::vline_node,
3200 space_char_hmotion_node, left_italic_corrected_node): Fix compiler
3202 (zero_width_node::zero_width_node): Fix order of initializers.
3204 * src/roff/troff/node.h: Don't include `mtsm.h'.
3205 (hmotion_node): Fix compiler warnings.
3207 * src/roff/troff/number.cpp: Include `stringclass.h' and `mtsm.h'.
3209 2004-10-12 Gaius Mulley <gaius@glam.ac.uk>
3211 * doc/groff.css: New file.
3213 * doc/webpage.ms: Use `groff.css'.
3216 * tmac/an-old.tmac (need_eo_h): New number register.
3217 (TH): Emit `.eo.tl' tag after title.
3218 (SH): Set `need_eo_h'.
3219 (an-trap): Handle `need_eo_h'.
3220 (an-do-tag): s/HTML-TAG-NS/HTML-TAG-NEXT/.
3222 * tmac/s.tmac (need_eo_h, need_eo_tl): New number registers.
3223 (TL): Always start diversion.
3225 (@AI): Always call `par@reset'.
3226 (@AB): Update code for -Thtml.
3227 (cov*tl-au-print): Handle -Thtml.
3228 (par@reset): Handle `need_eo_tl', `need_eo_h'.
3230 (@IT-html): Removed.
3231 (@SH): Set `need_eo_h' for -Thtml.
3232 (par@TL): s/HTML-TAG/HTMl-TAG-NS/.
3234 (@NH): s/HTML-TAG/HTMl-TAG-NS/.
3235 Set `need_eo_h' for -Thtml.
3236 (@EQ, @EN): Don't handle -Thtml specially.
3237 (par@load-init): Don't handle -Thtml specially.
3239 * tmac/www.tmac (www:paraspace): New macro.
3240 (HTML-NS, HTML-TAG-NS): Use new `tag' request.
3241 (HTML</p>, HTML-TAG-NEXT): New macros.
3242 (HnE): Emit tag `.eo.h' instead of break.
3243 (HR): s/HTML-NS/HTML/.
3244 (www-end-nowhere): End diversion only if `www-html' not set.
3246 (ULS, ULE): s|HTML|HTML</p>|.
3247 (LI): Call `www:paraspace'.
3250 2004-10-11 Gaius Mulley <gaius@glam.ac.uk>
3252 * src/roff/troff/request.h (macro): Make `p' public.
3253 New variable `is_a_diversion'.
3254 New member function `is_diversion'.
3257 * src/devices/grohtml/html.h (simple_output): New member function
3260 * src/devices/grohtml/html-table.cpp (tabs::compatible): Fix
3261 computation of `total'.
3262 (tabs::check_init): New function.
3263 (html_table::emit_table_header): Emit style data.
3264 (html_table::insert_column): Improved.
3266 * src/devices/grohtml/html-table.h: Updated.
3268 * src/devices/grohtml/html-text.cpp (html_text::html_text):
3269 Initialize `start_space' with TRUE.
3270 (html_text::end_tag, html_start_tag): Fix `P_TAG' and `PRE_TAG'
3272 (html_text::flush_text): Set `start_space' flag.
3273 (html_text::uses_indent, html_text::remove_para_space,
3274 html_text::get_alignment): New functions.
3275 (html_text::push_para): Updated.
3276 (html_text::do_para): Check for empty argument.
3277 Don't set `space_emitted'.
3278 (html_text::do_space, html_text::emit_space): Updated.
3280 * src/devices/grohtml/html-text.h (tag_definition): New variable
3282 (html_text): New member function `uses_indent', `remove_para_space',
3285 * src/devices/grohtml/output.cpp (simple_output::force_nl): New
3287 (simple_output:nl): Always emit `\n'.
3289 * src/devices/grohtml/post-html.cpp: Include `string.h'.
3290 (BASE_POINT_SIZE): Removed.
3291 (base_point_size, head_info): New global variables.
3292 (text_glob): New member functions `is_ll', `is_tl', `is_eo_tl',
3294 (text_glob::is_nf, text_glob::is_fi): Handle `.fi 0' and `.fi 1'
3296 (page::add_and_encode): Pass additional parameter for tag flag.
3297 (assert_pos): New structure.
3298 (assert_state): New class.
3299 (html_printer): Remove `indentation', `prev_indent'.
3300 Add variables `troff_indent', `device_indent', `temp_indent'.
3301 Add variables `seen_indent', `next_indent', `seen_pageoffset',
3302 `next_pageoffset', `seen_linelenght', `next_linelength',
3303 `seen_center', `next_center', `seen_space', `seen_break', `as'.
3304 Add member functions `do_check_center', `do_space', `do_head',
3305 `get_troff_indent', `restore_troff_indent', `handle_assertion',
3306 `handle_state_assertion', `do_end_para', `set_char_and_width'.
3307 Change argument to `do_fill' to `char *'.
3309 (html_printer::emit_raw): Call `shutdown_table'.
3311 (html_printer::do_center): Simplified.
3312 (html_printer::do_title): Improved.
3313 (html_printer::write_header): Emit one more newline.
3315 (html_printer::do_heading, html_printer::do_indent,
3316 html_printer::do_eol, html_printer::do_tab_ts,
3317 html_printer::do_tab, html_printer::do_tab0,
3318 html_printer::calc_po_in, html_printer::next_horiz_pos,
3319 html_printer::remove_courier_tabs,
3320 html_printer::insert_tab0_foreach_tab, html_printer::begin_page):
3322 (html_printer::do_linelength, html_printer::do_pageoffset,
3323 html_printer::do_indentation, html_printer::do_tempindent,
3324 html_printer::do_tab_te): Simplified.
3325 (html_printer::do_pointsize): Check whether point size is really
3326 associated a `.tl' tag.
3327 (html_printer::do_break): Rewritten.
3328 (html_printer::troff_tag): Improved.
3329 (html_printer::flush_globs): Updated.
3330 (html_printer::lookahead_for_tables): Handle `is_br'.
3332 (html_printer::set_char): Check `sbuf_style.f'.
3333 (html_printer::write_navigation): Use string comparison.
3334 (html_printer::~html_printer): Emit `head_info'.
3335 (html_printer::special): Rewritten.
3336 (get_str, make_val): New functions.
3337 (main): New option `s' to set the base point size.
3339 * src/preproc/html/pre-html.cpp (scanArguments): Handle option `s'.
3341 2004-10-10 Gaius Mulley <gaius@glam.ac.uk>
3343 * src/roff/troff/node.cpp: New extern `debug_state'.
3344 Include `stringclass.h' and `mtsm.h'.
3345 Implement new classes and class members from `node.h'.
3346 (real_output_file): Make `fp' public.
3347 (troff_output_file): New variables `cur_div_level' and `tag_list'.
3348 Update constructors.
3349 (troff_output_file::really_print_line): Check whether we should push
3350 the current troff state and use the state at the start of the
3351 invocation of this diversion.
3352 (troff_output_file::add_to_tag_list): New member function.
3353 (node::add_char): Handle `glyph_comp_np'.
3355 * src/roff/troff/node.h: Include `mtsm.h'.
3356 (node): New variables `state', `push_state', `div_nest_level',
3357 `is_special'. Update constructors, all descendants.
3358 Pass additional argument to `add_char' member function.
3359 New virtual member functions `is_tag', `debug_node',
3360 `debug_node_list'. Update all descendants.
3361 (tag_node): New class for handling tags.
3362 (output_file): Add variable `state'.
3364 2004-10-09 Gaius Mulley <gaius@glam.ac.uk>
3366 * src/roff/troff/mtsm.cpp, src/roff/troff/mtsm.h: New files,
3367 providing a minimal troff state machine to emit meta tags for the
3368 post-grohtml device driver.
3370 * src/roff/troff/Makefile.sub (OBJS, CCSRCS, HDRS): Handle new
3373 2004-10-09 Werner LEMBERG <wl@gnu.org>
3375 * tmac/trace.tmac: Fix handling of `am' and `am1' calls.
3377 2004-10-06 Gaius Mulley <gaius@glam.ac.uk>
3379 * src/roff/troff/column.cpp (vjustify_node::copy): Updated.
3381 * src/roff/troff/div.h: Include `mtsm.h'.
3382 (diversion): New variables `any_chars_added', `needs_push',
3383 `saved_seen_break', `saved_seen_space', `saved_seen_eol',
3384 `saved_suppress_next_eol', `modified_tag'.
3385 New virtual member function `is_diversion'. Update all descendants.
3387 * src/roff/troff/div.cpp (diversion::diversion,
3388 macro_diversion::macro_diversion): Updated.
3389 (do_divert): Handle `seen_break', `seen_space', `seen_eol',
3390 `suppress_next_eol'.
3391 (top_level_diversion::space): Handle `curenv->seen_space'.
3392 (page_offset): Update tag handling.
3393 (space_request, blank_line, flush_output): Don't call `add_html_tag'.
3395 * src/roff/troff/env.h (environment): Make `tabs' public.
3396 Remove `ignore_next_eol', `emitted_node'.
3397 Update `output_line', `output'.
3398 New variables `seen_space', `seen_eol', `suppress_next_eol',
3400 New member functions `construct_state', `make_tag',
3401 `construct_format_state, `construct_new_line_state,
3403 Remove `add_html_tag', `make_html_tag'.
3405 * src/roff/troff/env.cpp: New externs `suppress_push',
3406 `get_diversion_state', `global_diverted_space'.
3407 (pending_output_line): New variable `was_centered'.
3408 Update constructor and all callers.
3409 (pending_output_line::output): Call `curenv->construct_format_state'.
3410 (environment::environment, environment::copy): Updated.
3411 (environment::output): Handle `was_centered'.
3412 (environment::add_char): Handle construct and diversion state.
3413 (environment::add_node): Handle construct state.
3414 (environment::newline): Handle `was_centered'.
3415 (environment::output_line): Updated.
3416 (environment::possibly_break_line): Updated.
3417 Update tag handling.
3418 (environment::add_html_tag): Replaced with...
3419 (environment::make_tag): New function.
3420 (environment::add_html_tag_tabs, environment::make_html_tag): Removed.
3421 (environment::dump_troff_state): New debugging function.
3422 (environment::construct_state, environment::construct_format_state,
3423 environment::construct_new_line_state): New functions.
3424 (environment::do_break): Updated.
3425 Handle `global_diverted_space'.
3426 (environment::handle_tag): Update tag handling.
3427 (point_size, fill, do_break_request): Don't call `add_html_tag'.
3428 (no_fill): Don't call `add_html_tag'.
3429 Set `suppress_next_eol'.
3430 (center, right_justify, line_length, indent, temporary_indent,
3432 Update tag handling.
3434 * src/roff/troff/input.cpp: Don't include `stringclass.h'.
3435 (input_iterator): New variables `is_diversion', `diversion_state'.
3436 Update constructors.
3437 (input_stack): New member functions `get_div_level',
3438 `get_diversion_state', `check_end_diversion'.
3439 New variables `div_level', `diversion_state'. Initialize them.
3440 (suppress_push, global_diverted_space): New global variables.
3441 (input_stack::finish_get, input_stack::finish_peek,
3442 input_stack::remove_boundary, input_stack::end_file,
3443 input_stack::clear, input_stack::pop_macro): Call
3444 `check_end_diversion'.
3445 (input_stack::push): Handle `div_level' and `diversion_state'.
3446 (get_diversion_state): New function.
3447 (diverted_space_node::reread): Handle `global_diverted_space'.
3448 (macro::macro): Update constructors.
3449 (macro::is_diversion): New function.
3450 (macro::operator=): Set `is_a_diversion'.
3451 (string_iterator): New member function `is_diversion'.
3452 (string_iterator::string_iterator): Update constructors.
3453 (string_iterator::fill): Set `div_nest_level'.
3454 (macro_iterator): New member function `is_diversion'.
3455 (do_if_request): Handle `suppress_push'.
3456 (tag, taga): New functions.
3457 (init_input_requests): Add `tag' and `taga' requests.
3459 2004-10-05 Gaius Mulley <gaius@glam.ac.uk>
3461 * src/include/font.h (font): New member function
3462 `get_image_generator'.
3463 New variables `unscaled_charwidths' and `image_generator'.
3465 * src/libs/libgroff/font.cpp (font::get_width): Always return the
3466 character's unscaled width if `font::unscaled_charwidths' is set.
3467 (font::get_image_generator): New function.
3468 (font::load_desc): Check the `unscaled_charwidths' and
3469 `image_generator' keywords.
3471 * src/libs/libgroff/fontfile.cpp: Initialize
3472 `font::unscaled_charwidths' and `font::image_generator'.
3474 * font/devhtml/DESC.proto: s/html/unscaled_charwidths/.
3476 * font/devhtml/Makefile.sub (DESC): Set `image_generator' keyword.
3478 * man/groff_font.man: Document `unscaled_charwidths' and
3481 * src/preproc/html/pre-html.cpp: Include `device.h'.
3482 (image_gen): New global variable.
3483 (imageList::createPage): Use `image_gen'.
3484 (main): Use `image_generator' keyword.
3486 2004-10-04 Gaius Mulley <gaius@glam.ac.uk>
3488 * tmac/html.tmac: Handle \[sqrtex].
3490 2004-10-04 Gaius Mulley <gaius@glam.ac.uk>
3492 * src/include/printer.h (printer): New virtual method `round_width'.
3494 * src/devices/grodvi/dvi.cpp, src/devices/grolbp/lbp.cpp,
3495 src/devices/grolj4/lj4.cpp, src/devices/grops/ps.cpp,
3496 src/devices/grotty/tty.cpp (printer::round_width): New function
3499 * src/devices/grohtml/post-html.cpp (printer::round_width): New
3501 (html_printer::set_numbered_char): Use it.
3503 2004-10-03 Gaius Mulley <gaius@glam.ac.uk>
3505 * aclocal.m4 (GROFF_GHOSTSCRIPT_PATH): New macro.
3507 * configure.ac: Call GROFF_GHOSTSCRIPT_PATH.
3509 * configure: Regenerated.
3511 * Makefile.in (GHOSTSCRIPT): New variable.
3512 (MDEFINES): Add GHOSTSCRIPT.
3514 2004-10-03 Werner LEMBERG <wl@gnu.org>
3516 * INSTALL.gen: Updated (taken from texinfo CVS).
3518 2004-09-28 Werner LEMBERG <wl@gnu.org>
3522 2004-09-28 Heinz-Jürgen Oertel <hj.oertel@surfeu.de>
3524 * tmac/groff_www.man: Revised and updated.
3526 2004-09-26 Werner LEMBERG <wl@gnu.org>
3528 Fix \$@ and \$* to handle any number of arguments.
3530 * src/roff/troff/input.h (BEGIN_QUOTE, END_QUOTE): New special
3533 * src/roff/troff/input.cpp (input_iterator::internal_level):
3535 (input_stack): New member functions `increase_level' and
3537 (input_stack::get_level): Don't use `internal_level'.
3538 (get_copy, token::next): Handle BEGIN_QUOTE and END_QUOTE.
3539 (end_quote_iterator): Completely removed.
3540 (interpolate_arg): Build string for \$@ and \$* which is then
3541 pushed onto the input stack.
3543 2004-09-23 Keith Marshall <keith.d.marshall@ntlworld.com>
3545 * tmac/groff_ms.man, doc/groff.texinfo (ms Document Control
3546 Registers): Document changes from 2004-09-19.
3548 2004-09-23 Werner LEMBERG <wl@gnu.org>
3550 * tmac/an-old.tmac (ne): Using default scaling operator.
3552 2004-09-19 Keith Marshall <keith.d.marshall@ntlworld.com>
3554 This change implements the following features:
3557 New numeric register: Defines number of lines following LP, PP,
3558 QP, IP or XP, which must be kept together, before any automatic
3559 page break. If insufficient space remains on the current page, a
3560 page break is forced before the new paragraph begins.
3563 New numeric register: Sets number of lines of following paragraph
3564 which must be kept with a heading, defined by NH or SH, before any
3565 automatic page break. If insufficient space remains on the
3566 current page, a page break is forced before the heading.
3569 (Thanks to Joerg van den Hoff, for this idea).
3571 New numeric register: Sets the first level of heading (set with
3572 NH), which will keep the same point size as body text; e.g. if
3573 GROWPS is set to 3, .NH 3, .NH 4, ... will produce headings at the
3574 point size specified by \n[PS], but .NH 2 and .NH 1 will have
3575 progressively larger point sizes, determined by \n[PSINCR] (see
3579 New numeric register: Sets the point size increment for each level
3580 of heading, (set with NH), below the threshold level set by
3581 GROWPS; e.g. if \n[PS] = 10, \n[GROWPS] = 3 and \n[PSINCR] = 2.0p,
3582 then .NH 1 will produce 14pt headings, .NH 2 will produce 12pt,
3583 and all other levels will remain at 10pt, (because \n[PS] = 10).
3586 Existing macro now accepts a numeric argument, to make heading
3587 size match that of NH with same argument value, when the
3588 GROWPS/PSINCR feature is enabled.
3591 New string, set by NH macro, replaces the existing (undocumented)
3592 use of SN, to represent the assigned section number.
3595 New string, set by NH macro, represents the assigned section
3596 number, but omits the terminal period (periods at intermediate
3597 levels are retained).
3600 String set by NH macro, originally undocumented, now implemented
3601 as an alias for SN-DOT (which reproduces original behaviour).
3603 * tmac/s.tmac (PORPHANS): New register.
3604 (par*start): Use it.
3605 (HORPHANS, GROWPS, PSINCR): New registers.
3606 (SH-NO-TAG, @SH): Use them.
3609 2004-09-19 Keith Marshall <keith.d.marshall@ntlworld.com>
3611 * NEWS, doc/groff.texinfo (ms Display and Keeps), tmac/groff_ms.man:
3612 Document the deletion of `Ds' and `De' macros.
3614 2004-09-10 Werner LEMBERG <wl@gnu.org>
3616 In tbl, handle \a as an interpreted leader character if in
3619 * src/preproc/tbl/table.h (PREFIX, PREFIX_CHAR, LEADER,
3620 LEADER_CHAR): New macros.
3621 (compatible_flag): New declaration.
3623 * src/preproc/tbl/main.cpp (table_input): Add LEADER_1, LEADER_2,
3624 LEADER_3, and LEADER_4 to `state'.
3625 (table_input::get): Handle `\a'.
3627 * src/preproc/tbl/table.cpp (PREFIX): Removed.
3628 (LEADER_REG): New macro.
3629 (table::init_output): Define LEADER_REG string register if in
3632 * src/preproc/tbl/tbl.man: Document it.
3634 2004-08-18 Werner LEMBERG <wl@gnu.org>
3636 * tmac/doc.tmac (An): Fix error message.
3638 2004-08-06 Werner LEMBERG <wl@gnu.org>
3640 * src/preproc/tbl/main.cpp (main): Call `fatal' not `error' if a
3641 file can't be opened. UNIX tbl has the same behaviour.
3643 2004-08-05 Y T <doarhop@hotmail.com>
3645 * src/preproc/grn/hdb.cpp (compatibility_flag): Add declaration.
3646 (DBRead): If in compatibility mode, take into account the text
3647 when computing figure boundaries.
3649 2004-08-05 Werner LEMBERG <wl@gnu.org>
3651 * src/preproc/soelim/soelim.man: Improved. Based on suggestions
3652 from Tadziu Hoffmann.
3654 2004-08-03 Werner LEMBERG <wl@gnu.org>
3656 * doc/meref.me: Document `_M' register.
3658 2004-08-03 Martin Husemann <martin@duskware.de>
3660 Make hpftodit work correctly on big-endian systems.
3662 * src/utils/hpftodit/hpftodit.cpp (File): New method
3663 `get_uint32(char *)'.
3664 (entry): New member `orig_value'.
3665 (read_tags): Use new method.
3666 (output_font_name, read_and_output_pcltypeface, dump_ascii):
3669 2004-08-01 Werner LEMBERG <wl@gnu.org>
3671 * tmac/s.tmac: Undo change 2003-06-29. The proper macro definitions
3672 are already in X11's `macros.t' file.
3674 2004-08-01 Jeff Conrad <jeff_conrad@msn.com>
3676 * src/utils/hpftodit/hfptodit.cpp (output_font_name, dump_ascii):
3678 (read_and_output_pcltypeface): Handle strings with length <= 4.
3680 2004-07-27 Egil Kvaleberg <egil@kvaleberg.no>
3682 * tmac/s.tmac (pg@top): Don't save `PO' register.
3683 (pg*end-col, pg*end-page): Directly use `PO' register.
3685 2004-07-27 Werner LEMBERG <wl@gnu.org>
3687 * man/groff_tmac.man: Mention `trace' and `pic' macro packages.
3689 * src/preproc/refer/refer.cpp (output_references): Check for
3691 * src/preproc/refer/refer.man: Improve documentation of
3692 `bibliography' command.
3694 2004-07-26 Werner LEMBERG <wl@gnu.org>
3696 Add requests `fcolor' and `gcolor'.
3698 * src/roff/troff/env.cpp (fill_color_change, glyph_color_change):
3700 (init_env_requests): Add `fcolor' and `gcolor'.
3702 * src/roff/troff/input.h: Export do_glyph_color and do_fill_color.
3704 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo
3705 (Colors): Document new requests.
3707 2004-07-24 Werner LEMBERG <wl@gnu.org>
3709 Add support for fractional point sizes in ms macros. A value for
3710 PS, VS, FPS, and FVS greater than or equal to 1000 is always divided
3711 by 1000. For example, `.nr PS 10250' sets the font size to 10.25p.
3713 * tmac/s.tmac (@AU, @AI, par@load-init, par@init, par@reset, NL,
3714 PX): Handle fractional point sizes for PS, VS, FPS, and FVS.
3716 * tmac/groff_ms.man, docs/groff.texinfo (ms Document Control
3717 Registers), NEWS: Document it.
3719 2004-07-19 Werner LEMBERG <wl@gnu.org>
3721 * src/preproc/pic/lex.cpp (for_input): Add member `from'.
3723 (do_for, for_input::get, for_input::peek): Handle negative `by'.
3724 * src/preproc/pic/pic.man, doc/pic.ms, NEWS: Document it.
3726 2004-07-08 Thomas Klausner <wiz@netbsd.org>
3728 * tmac/doc-syms (doc-str-St--p1003.1-2004): New string.
3729 * tmac/groff_mdoc.man: Updated.
3731 2004-07-05 Werner LEMBERG <wl@gnu.org>
3733 * doc/groff.texinfo (Manipulating Hyphenation): Further improve
3734 documentation of `hcode'.
3736 2004-07-04 Sang Dae Yu <sdyu@bh.knu.ac.kr>
3738 Improve appearance of arrows in pic.
3740 * src/preproc/pic/object.cpp (draw_arrow): Make outline of filled
3742 Use two line segments for drawing non-filled arrow head.
3743 (line_object::print, spline_object::print): Shorten line length to
3744 avoid arrow sticking.
3745 (arc_object::print): Take arrow direction into account.
3747 2004-07-03 Heinz-Jürgen Oertel <hj.oertel@surfeu.de>
3749 * tmac/groff_www.man: Update documentation of .MPIMG.
3751 2004-07-03 Werner LEMBERG <wl@gnu.org>
3753 * tmac/an-old.tmac (RI): Always start with font `R'.
3754 (RI, IR): Properly end with font `R'.
3756 2004-07-02 Paul Eggert <eggert@cs.ucla.edu>
3758 * man/ditroff.man, man/groff_font.man, man/groff_out.man,
3759 src/devices/grohtml/grohtml.man, src/preproc/grn/grn.man,
3760 src/preproc/pic/pic.man, tmac/groff_man.man, tmac/groff_ms.man:
3761 Don't pass more than six arguments to .R, .I, .B, etc., for
3762 compatibility with traditional troff macros.
3764 2004-07-02 Werner LEMBERG <wl@gnu.org>
3766 * src/roff/troff/input.h: s/COMPATIBLE_SAVE/PUSH_GROFF_MODE/.
3767 s/COMPATIBLE_RESTORE/POP_GROFFCOMP_MODE/.
3769 (PUSH_COMP_MODE): New internal character constant.
3772 * src/roff/troff/input.cpp (get_copy): Handle PUSH_GROFF_MODE,
3773 PUSH_COMP_MODE, and POP_GROFFCOMP_MODE.
3774 (token::next, macro::append): Handle PUSH_COMP_MODE.
3775 (decode_args): Add PUSH_GROFF_MODE or PUSH_COMP_MODE before and
3776 POP_GROFFCOMP after each of the decoded arguments to make them
3777 independent from the compatibility mode status.
3778 (comp_mode): Add `COMP_ENABLE'.
3779 (do_define_string, do_define_macro): Handle COMP_ENABLE.
3780 (define_string, append_string, define_macro, define_indirect_macro,
3781 append_macro, append_indirect_macro): Handle `compatible_flag'.
3782 (chop_macro, substring_request, asciify): Handle PUSH_COMP_MODE.
3784 * man/groff_diff.man, doc/groff.texinfo: Updated.
3786 2004-07-01 Werner LEMBERG <wl@gnu.org>
3788 * doc/groff.texinfo: Improve documentation of `hcode'.
3789 Use @documentencoding and convert document to latin-1; to do that
3790 make latin characters active and assign proper macros (within a
3791 @tex...@end tex environment).
3792 * doc/Makefile.in (.texinfo.html, groff): Use --enable-encoding.
3793 * doc/Makefile.sub (groff): Ditto.
3795 2004-06-29 Werner LEMBERG <wl@gnu.org>
3797 Implement two new conditional operators `F <name>' and `S <name>'
3798 which check whether <name> is a valid font or style, respectively.
3800 * src/libs/libgroff/font.cpp (text_file): Add `silent' member.
3801 (text_file::text_file): Updated.
3802 (text_file::error): Don't emit message if `silent' is set.
3803 (font::load_font): Add optional third argument (which is directly
3805 (font::load): Add optional second argument to check the header of
3806 a font only, without emitting warning or error messages.
3807 * src/include/font.h (font): Updated.
3809 * src/roff/troff/input.cpp (do_if_request): Implement `S' and `F'
3811 * src/roff/troff/node.cpp (mount_font_no_translate): Add optional
3812 fourth argument to check a font without mounting.
3813 (check_font, check_style): New functions.
3814 * src/roff/troff/node.h: Updated.
3816 * man/groff_diff.man, man/groff.man, NEWS, doc/groff.texinfo:
3819 2004-06-27 Werner LEMBERG <wl@gnu.org>
3821 Implement new string-valued register `.sty' to return the current
3824 * env.cpp (environment::get_style_name_string): New function.
3825 (init_env_requests): Add `.sty' register.
3826 * env.h (environment): Updated.
3827 * node.cpp (font_info): Make `get_style_name' a friend.
3828 (get_style_name): New function.
3831 * man/groff_diff.man, man/groff.man, NEWS, doc/groff.texinfo:
3834 2004-06-15 Werner LEMBERG <wl@gnu.org>
3836 * src/preproc/tbl/main.cpp (process_data) <GOT_RIGHT_BRACE>: Handle
3839 2004-06-10 Colin Percival <colin.percival@wadham.ox.ac.uk>
3841 * doc/meintro.me, doc/meref.me: Don't use \*[td], \n[dy], \*[mo],
3842 and \n[mo] to avoid dependency on current date.
3844 2004-06-08 Werner LEMBERG <wl@gnu.org>
3846 * Makefile.sub (install_data): New target.
3848 2004-06-04 Werner LEMBERG <wl@gnu.org>
3850 * src/libs/libxutil/Makefile.sub (EXTRA_CFLAGS): Define.
3852 2004-06-03 Werner LEMBERG <wl@gnu.org>
3854 * src/devices/xditview/Makefile.sub (EXTRA_LDFLAGS): Fix typo and
3856 (install_data): Add $(srcdir).
3858 * src/utils/xtotroff/Makefile.sub (EXTRA_LDFLAGS): Fix order of
3861 2004-06-02 Werner LEMBERG <wl@gnu.org>
3863 * aclocal.m4 (GROFF_X11): s/have_no_x/groff_no_x/.
3864 Add X11 stuff to CFLAGS, LDFLAGS, and LIBS temporarily.
3865 Add test for Xmu library.
3866 (GROFF_APPRESDIR_OPTION, GROFF_APPRESDIR_CHECK,
3867 GROFF_APPRESDIR_DEFAULT): New macros.
3869 * configure.ac: Call GROFF_APPRESDIR_OPTION, GROFF_APPRESDIR_CHECK,
3870 and GROFF_APPRESDIR_DEFAULT.
3872 * configure: Regenerated.
3874 * Makefile.in (appresdir): New variable.
3875 (MDEFINES): Add appresdir.
3877 * src/devices/xditview/Makefile.sub (EXTRA_LDFLAGS): Add -Xmu and
3879 (install_data, uninstall_sub): New targets to handle GXditview.ad.
3881 * src/utils/indxbib/Makefiles.ub (install_data): Depend on
3882 `$(srcdir)/eign', not `eign'.
3884 * MANIFEST, INSTALL, NEWS, PROBLEMS: Updated.
3886 * man/groff_out.man, man/roff.man, src/devices/grops/grops.man,
3887 src/devices/xditview/gxditview.man, src/roff/groff/groff.man:
3888 Protect (g)xditview with `\%' to avoid hyphenation.
3889 Other minor formatting.
3891 2004-06-01 Werner LEMBERG <wl@gnu.org>
3893 Integrate gxditview into groff's standard directory hierarchy.
3895 * src/xditview/*: Moved to ...
3896 * src/devices/xditview/*: Here.
3897 Moved DviChar.h and XFontName.h to src/include.
3898 Moved DviChar.c and XFontName.c to new directory src/libs/libxutil.
3899 Split off `xmalloc' into new file src/libs/libxutil/xmalloc.c.
3900 Moved xtotroff.c to new directory src/utils/xtotroff.
3901 Provide proper Makefile.sub files (reusing the stuff from
3903 DESC renamed to DESC.in.
3904 Removed GXDitview-ad.h, INSTALL, Imakefile.in.
3905 Converted everything from K&R to ANSI C.
3906 Decorated with const where appropriate.
3907 Cast string constants with `String' and `char *' where appropriate.
3908 Made it compile with C++ (used as a C compiler).
3909 Removed other minor compiler warnings.
3911 * src/devices/xditview/device.c: Include config.h, string.h, and
3913 Don't declare `exit', `strtok', `strchr', and `getenv'.
3916 * src/devices/xditview/font.c: Don't declare `XParseFontName' and
3919 * src/devices/xditview/xditview.c: Include config.h.
3920 Include stdio.h earlier.
3921 Protect declaration of `popen' and `pclose' with
3922 NEED_DECLARATION_POPEN and NEED_DECLARATION_PCLOSE.
3923 Replace `caddr_t' with `XtPointer'.
3924 (MakePromptFunc): New typedef.
3925 (DoPrint): Use RETSIGTYPE.
3926 (promptfunction): Change type to MakePromptFunc.
3927 (MakePrompt): Use MakePromptFunc for third argument.
3930 * src/devices/xditview/ad2c: Add casts to `String'.
3932 * src/include/XFontName.h (XFontNameString): Don't use array
3934 Add prototypes for `XParseFontName', `XFormatFontName',
3935 `XCompareFontName', and `XCopyFontName'.
3937 * src/include/Makefile.sub (HDRS): Add `DviChar.h' and
3940 * src/utils/xtotroff/xtotroff.c: Include getopt.h.
3941 Don't declare `XParseFontName' and `XFormatFontName'.
3943 (main): Remove `optind' and `optarg'.
3945 * Makefile.in (XDEVDIRS, XPROGDIRS, XLIBDIRS): New variables
3946 (to select programs which need X).
3947 Make XDEVIDIRS depend on `FORCE'.
3948 (X_CFLAGS, X_LIBS, X_EXTRA_LIBS, X_PRE_LIBS): New variables (for
3950 (MDEFINES): Updated.
3951 (LIBDIRS): Use XLIBDIRS.
3952 (CPROGDIRS): Use XPROGDIRS.
3953 (DEVDIRS): Remove font directories for gxditview.
3954 (ALLDIRS, DISTDIRS): Add XDEVDIRS.
3955 (EXTRADIRS): Remove src/xditview.
3957 * Makefile.sub (DISCLEANFILES): Updated.
3959 * Makefile.comm (LIBXUTIL): New variable.
3960 (.cpp.o, .cpp.obj): Handle EXTRA_CCFLAGS.
3961 (.c.o, .c.obj, .y.o): Handle EXTRA_CFLAGS.
3963 * Makefile.cpg, Makefile.ccpg ($PROG): Handle EXTRA_LDFLAGS.
3965 * aclocal.m4 (GROFF_X11): New function.
3967 * configure.ac: Call GROFF_X11.
3968 Don't create src/xditview/Imakefile.
3969 Don't emit notice how to build gxditview.
3971 * configure: Regenerated.
3973 * test-groff.in (GROFF_BIN_PATH, XENVIRONMENT): Updated.
3975 2004-05-28 Akihiro Sagawa <sagawa@sohgoh.net>
3977 * Makefile.in (CPPFLAGS): Define.
3978 (MDEFINES): Add CPPFLAGS.
3980 2004-05-27 Werner LEMBERG <wl@gnu.org>
3982 * arch/misc/Makefile.sub (shdeps.sed): Use $(srcdir).
3984 2004-05-26 Niklas Edmundsson <nikke@acc.umu.se>
3986 Fix problems with `friend name injections'.
3988 * src/preproc/eqn/box.h (make_mark_box, make_lineup_box,
3989 make_script_box), src/roff/troff/div.h (end_diversions),
3990 src/roff/troff/env.h (title), input.cpp (process_input_stack): Undo
3993 2004-05-25 Bernd Warken <bwarken@mayn.de>
3995 * src/preproc/pic/pic.man, doc/pic.ms: Add example for `command'.
3997 2004-05-25 Werner LEMBERG <wl@gnu.org>
3999 * src/libs/libgroff/cset.cpp, src/libs/libgroff/lf.cpp,
4000 src/libs/libgroff/color.cpp: Include lib.h.
4002 2004-05-25 Paul Eggert <eggert@cs.ucla.edu>
4004 * PROBLEMS: Update documentation for problems with Sun C++ 5.0
4005 through Forte 6u1, and for how to get GNU make on Solaris.
4007 2004-05-24 Werner LEMBERG <wl@gnu.org>
4009 * PROBLEMS: Document problems with gcc 3.4.0 on Sun. Reported
4012 2004-05-15 Keith Marshall <keith.d.marshall@ntlworld.com>
4014 * arch/misc/Makefile.sub (shdeps.sed): Don't use `$<' in explicit
4017 2004-05-14 Werner LEMBERG <wl@gnu.org>
4019 * REVISION: Set to 2.
4021 * aclocal.m4 (GROFF_STDINT_H): Removed.
4022 (GROFF_INTTYPES_H): Define HAVE_CC_INTTYPES_H.
4024 * configure.ac: Updated.
4025 * configure, src/include/config.hin: Regenerated.
4027 * src/libs/libgroff/tmpname.cpp: Don't include stdint.h but
4028 inttypes.h conditionally.
4030 2004-05-13 Werner LEMBERG <wl@gnu.org>
4032 Version 1.19.1 released
4033 =======================
4035 2004-05-10 Stephen Gildea <http://www.gildea.com/stephen>
4037 * src/preproc/refer/label.y (same_author_last_name,
4038 same_author_name): Handle empty sort keys.
4040 2004-05-10 Werner LEMBERG <wl@gnu.org>
4042 * NEWS, README, TODO, PROJECTS, PROBLEMS, MANIFEST, doc/webpage.ms,
4045 * tmac/doc-syms (doc-str-Lb-libposix, doc-str-Lb-libpthread,
4046 doc-str-Lb-librt): Reset font.
4047 (Lb): Rename `doc-str-Lb' to `doc-str-Lb1'.
4048 Provide `doc-str-Lb' to reset font.
4049 * tmac/groff_mdoc.man: Updated.
4051 2004-05-08 Jan Schaumann <jschauma@netmeister.org>
4053 * src/preproc/html/pre-html.cpp (make_message): Make it work for
4054 snprintf versions which don't conform to ANSI C 99 (this is,
4055 counting the string's trailing null byte in the return value).
4057 2004-05-07 Keith Marshall <keith.d.marshall@ntlworld.com>
4059 * src/roff/troff/node.cpp (suppress_node::tprint): Don't expect
4060 that all implementations of sprintf handle null pointers correctly.
4062 2004-05-04 Werner LEMBERG <wl@gnu.org>
4064 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
4065 Document `.U' register.
4067 * src/roff/troff/env.cpp (environment::mark_last_line)
4068 [WIDOW_CONTROL]: Fix scope of `p' for new C++ compilers.
4070 2004-05-04 Larry Kollar <kollar@alltel.net>
4072 New read-only register `.U'; it returns 1 in safer mode and 0
4075 * src/roff/troff/input.cpp (init_input_requests): Implement `.U'
4078 2004-05-03 Werner LEMBERG <wl@gnu.org>
4080 * install-sh, mkinstalldirs: New versions; taken from texinfo CVS.
4082 2004-04-17 Werner LEMBERG <wl@gnu.org>
4084 * src/include/font.h (font): Use `int' for ch_index.
4085 * src/libs/libgroff/font.cpp (font::alloc_ch_index,
4086 font::compact): Updated.
4088 * src/roff/groff/pipeline.c (run_pipeline) [_WIN32]: Fix compiler
4091 * src/roff/troff/div.cpp (begin_page), src/roff/troff/env.cpp
4092 (hyphen_word): Fix compiler warnings.
4093 * src/roff/troff/input.cpp (get_char_for_escape_name): Return
4096 (get_delim_number, get_line_arg): Change second argument type to
4098 (macro_header::copy, token::next, do_define_string,
4099 do_define_character, substring_request, asciify_macro,
4100 unformat_macro, read_size, non_interpreted_node::interpret,
4101 while_request, main: Fix compiler warnings.
4102 (read_color_draw_node): Initialize `col'.
4104 * src/preproc/tbl/table.cpp (horizontal_span, table_entry): Make
4105 `start_col' and `end_col' of type `int'.
4106 (vertical_rule): Make `col' of type `int'.
4108 * src/preproc/grn/hdb.cpp (DBRead): Protect call to getc with check
4111 * src/preproc/refer/label.y (uppercase_array, lowercase_array):
4113 (format_serial): Use them to remove dependency on ASCII.
4115 * src/devices/grops/ps.cpp (ps_printer::define_encoding): Fix
4117 * src/devices/grops/psrm.cpp (resource_manager::supply_resource):
4120 * src/devices/grotty/tty.cpp (tty_font::load_tty_font): Fix
4122 (glyph): Change type of `hpos' to `int'.
4124 * src/devices/lbp/lbp.cpp (strsep): Removed. Unused.
4125 * src/devices/lbp/lbp.h (splinerel): Fix compiler warnings.
4127 * src/utils/tfmtodit.cpp (gf::load): Fix compiler warnings.
4129 * src/utils/pfbtops/pfbtops.c (get_text): Fix compiler warning.
4131 2004-04-16 Werner LEMBERG <wl@gnu.org>
4133 * src/devices/grolbp/lbp.h, src/preproc/grn/gprint.h,
4134 src/preproc/grn/hgraph.cpp, src/preproc/grn/hpoint.cpp,
4135 src/preproc/html/pushback.cpp, src/preproc/html/pushback.h: Use
4136 `double' instead of `float' everywhere.
4137 * src/preproc/grn/main.cpp: Use `double' instead of `float'
4139 (main): Add return value.
4140 * src/preproc/grn/hdb.cpp: Use `double' instead of `float'
4142 Update all user functions.
4144 * src/include/search.h, src/include/ptable.h, src/include/printer.h,
4145 src/preproc/eqn/box.h, src/preproc/pic/object.h,
4146 src/preproc/refer/refer.h, src/preproc/tbl/table.h,
4147 src/preproc/tbl/table.cpp, src/roff/troff/env.h,
4148 src/roff/troff/div.h, src/roff/troff/token.h, src/roff/troff/node.h,
4149 src/roff/troff/input.cpp, src/roff/troff/request.h,
4150 src/roff/troff/node.cpp: Don't mix `struct' and `class' in forward
4153 * src/utils/indxbib/signal.c: Include stdlib.h.
4155 2004-04-14 Keith Marshall <keith.d.marshall@ntlworld.com>
4157 * tmac/s.tmac (@init, RP): Allow initialization of the PO register
4158 before the first page.
4160 2004-04-14 Thomas Klausner <wiz@netbsd.org>
4162 * tmac/doc-common (doc-volume-as-*): Use lowercase names.
4163 (doc-operating-system-*): Updated.
4164 * tmac/doc-syms (doc-str-St-*): Various small fixes.
4165 (doc-str-Lb-*): Add more library names.
4167 2004-04-10 Art Haas <ahaas@airmail.net>
4169 * src/utils/hpftodit/hpuni.cpp (hp_msl_to_unicode_list): Don't
4172 2004-04-09 Art Haas <ahaas@airmail.net>
4174 * src/utils/tfmtodit.cpp (lig_chars): Don't use anonymous type.
4176 2004-04-09 Keith Marshall <keith.d.marshall@ntlworld.com>
4178 * arch/misc/shdeps.sh: Generate better comment for sed script.
4180 2004-04-08 Art Haas <ahaas@airmail.net>
4182 * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list),
4183 src/libs/libgroff/uniglyph.cpp (unicode_to_glyph_list),
4184 src/libs/libgroff/uniuni.cpp (unicode_decompose_list),
4185 src/preproc/eqn/box.cpp (param_table), src/preproc/grn/hgraph.cpp
4186 (polyfill), src/preproc/grn/main.cpp (polyfill),
4187 src/preproc/refer/command.cpp (command_table),
4188 src/utils/tfmtodit.cpp (lig_table): Don't use anonymous types (which
4189 gcc 3.5 doesn't like).
4191 2004-04-08 Werner LEMBERG <wl@gnu.org>
4193 Removing many compiler warnings. groff should now compile with
4194 a C++ compiler used for C files also. [Simple variable renamings
4195 to avoid shadowing aren't logged in detail.]
4197 * src/devices/grodvi/dvi.cpp: Some local variable renamings.
4198 (draw_dvi_printer::draw) ['c']: Enclose in block.
4200 * src/devices/grohtml/post-html.cpp: Some local variable renamings.
4201 (page::add_line): Fix typos.
4202 * src/devices/grohtml/html-text.cpp: Some local variable renamings.
4204 * src/devices/grolbp/lbp.cpp: Don't define _GNU_SOURCE.
4205 Some local variable renamings.
4206 * src/devices/grolbp/lbp.h: Some local variable renamings.
4208 * src/devices/grolj4/lj4.cpp, src/devices/grotty/tty.cpp: Some local
4211 * src/libs/libbib/index.cpp (index_search_item_iterator::get_tag):
4212 Remove redundant local variable declaration.
4213 * src/libs/libbib/map.c (mapread, unmap): Don't use K&R style.
4214 Don't use `caddr_t' but `void *'.
4215 Enclose functions with `extern "C"' for C++.
4217 * src/libs/libdriver/input.cpp (remember_filename,
4218 remember_source_filename): Use cast for string constant.
4220 * src/libs/libgroff/font.cpp, src/libs/libgroff/fontfile.cpp,
4221 src/libs/libgroff/nametoindex.cpp, src/libs/libgroff/paper.cpp,
4222 src/libs/libgroff/geometry.cpp: Some local variable renamings.
4223 * src/libs/libgroff/iftoa.c, src/libs/libgroff/itoa.c: Don't use K&R
4225 Enclose functions with `extern "C"' for C++.
4226 * src/libs/libgroff/quotearg.c (TRUE,FALSE): Define as macros.
4227 (needs_quoting): Return `int'.
4228 (quote_arg): Add proper casts to malloc and realloc.
4229 * src/libs/libgroff/spawnvp.c: Compile code only for MS-DOS and
4230 various MS Windows environments.
4231 (spawnvp_wrapper): Add proper cast to malloc.
4233 * src/preproc/eqn/box.h: Remove redundant declarations of
4234 `make_script_box', `make_mark_box' and `make_lineup_box'.
4235 * src/preproc/eqn/eqn.y: Remove redundant declaration of `strsave'.
4236 * src/preproc/eqn/script.cpp, src/preproc/eqn/pile.cpp: Some local
4239 * src/preproc/grn/hpoint.cpp: Some local variable renamings.
4240 * src/preproc/grn/hgraph.cpp: Some local variable renamings.
4241 (dx, dy): Renamed functions to...
4242 (deltax, deltay): This.
4243 * src/preproc/grn/main.cpp: Some local variable renamings.
4244 (deffont): Add `const'.
4245 (initpic, conv): Use cast for string constant.
4247 * src/preproc/html/pre-html.cpp: Some local variable renamings.
4248 (makeFileName, alterDeviceTo, addZ): Use cast for string constant.
4249 (char_buffer::run_output_filter): Second argument is unused.
4250 * src/preproc/html/pushback.cpp: Some local variable renamings.
4252 * src/preproc/pic/pic.y: Remove redundant declaration of `do_copy'.
4253 * src/preproc/pic/object.cpp: Some local variable renamings.
4255 * src/preproc/refer/label.y (lookup_label): Remove redundant
4256 declaration of local variable.
4258 * src/preproc/soelim.cpp: Remove redundant declaration of
4259 `interpret_lf_args'.
4261 * src/preproc/tbl/main.cpp: Some local variable renamings.
4263 * src/roff/groff/groff.cpp (main): Use cast for string constant.
4264 * src/roff/groff/pipeline.c: Enclose declarations of `error',
4265 `c_fatal', and `i_to_a' with `extern "C"' for C++.
4266 Don't use C++-style comments.
4268 * src/roff/troff/env.h: Remove redundant declaration of `title'.
4269 * src/roff/troff/node.h, src/roff/troff/env.cpp,
4270 src/roff/troff/div.cpp, src/roff/troff/node.cpp: Some local variable
4272 * src/roff/troff/div.h: Remove redundant declaration of
4274 * src/roff/troff/troff.h: Remove redundant declaration of
4276 * src/roff/troff/input.cpp: Remove redundant declaration of
4277 `handle_first_page_transition' and `process_input_stack'.
4279 * src/utils/hpftodit.cpp: Some local variable renamings.
4281 * src/utils/indxbib/signal.c: Enclose functions with `extern "C"'
4283 Don't define RETSIGTYPE.
4284 * src/utils/indxbib/indxbib.cpp: Some local variable renamings.
4286 * src/utils/pfbtops/pfbtops.cpp: Don't use K&R style.
4287 (error): Use `const' in argument.
4288 (main): Remove redundant declaration of `optind'.
4289 Move declaration of `Version_string' to top-level.
4291 * PROBLEMS: Document difficulties compiling signal.c if a C++
4292 compiler is used for C.
4294 2004-04-07 Werner LEMBERG <wl@gnu.org>
4296 * Makefile.sub (DISTCLEANFILES): Add `test-groff'.
4298 2004-04-06 Keith Marshall <keith.d.marshall@ntlworld.com>
4300 Make scripts like nroff.sh and neqn.sh portable across various
4301 (Unix-like) shell implementations from Cygwin, MSYS, etc., which use
4302 non-POSIX path separators. The idea is to extend those scripts to
4303 decide at run-time (of the script) which path separator to use.
4305 * arch/misc/Makefile.sub: New file.
4306 * arch/misc/shdeps.sh: New file, generating OS dependency fixups.
4307 This script handles @GROFF_BIN_PATH_SETUP@, replacing it with
4308 a proper definition of the variable `GROFF_RUNTIME'.
4310 * Makefile.in (SH_DEPS_SED_SCRIPT): New variable.
4311 (MDEFINES): Add SH_DEPS_SED_SCRIPT.
4312 (PROGDEPDIRS): New variable.
4314 (PROGDIRS): Add PROGDEPDIRS.
4316 * src/preproc/eqn/Makefile.sub (neqn): Call SH_DEPS_SED_SCRIPT.
4317 Don't substitute @SEP@ and @BINDIR@.
4318 * src/preproc/eqn/neqn.sh: Use @GROFF_BIN_PATH_SETUP@.
4319 (PATH): Use GROFF_RUNTIME.
4321 * src/roff/nroff/Makefile.sub (nroff): Call SH_DEPS_SED_SCRIPT.
4322 Don't substitute @SEP@ and @BINDIR@.
4323 * src/roff/nroff/nroff.sh: Use @GROFF_BIN_PATH_SETUP@.
4324 (PATH): Use GROFF_RUNTIME.
4326 2004-04-05 Keith Marshall <keith.d.marshall@ntlworld.com>
4328 * src/roff/nroff/nroff.sh: Implement work-around for sh.exe from
4329 Cygwin which doesn't handle stderr correctly.
4331 2004-03-08 Werner LEMBERG <wl@gnu.org>
4333 * Makefile.comm (install_dev, uninstall_dev): Protect `for' loops
4334 against empty argument. Problem reported by <cgd@broadcom.com>.
4336 2004-03-05 Keith Marshall <keith.d.marshall@ntlworld.com>
4338 * Makefile.in (SEP): Replaced with...
4339 (RT_SEP, SH_SEP): Separators for the target platform's native path
4340 separator and the build environment, respectively.
4341 (fontpath, tmacpath): Use RT_SEP.
4342 (MDEFINES): Updated.
4344 * contrib/mom/Makefile.sub (GROFF_BIN_PATH): Use SH_SEP.
4345 * doc/Makefile.sub (GROFF_BIN_PATH): Use SH_SEP.
4346 * src/preproc/eqn/Makefile.sub (neqn): Use SH_SEP.
4347 * src/roff/nroff/Makefile.sub (nroff): Use SH_SEP.
4349 2004-03-05 Werner LEMBERG <wl@gnu.org>
4351 * fonts/devlj4/Makefile.sub (LJ4RES): Set to 1200. This helps to
4352 reduce alignment problems with newer printers which use built-in
4353 TrueType fonts (instead of the older Intellifonts). The ideal
4354 solution is to provide a second set of groff metric files, but this
4355 is extremely time-consuming to produce, given that HP's metric
4356 files are very rudimentary.
4358 2004-03-01 Werner LEMBERG <wl@gnu.org>
4360 * src/devices/grolj4/lj4.cpp (main): Fix argument of getopt_long.
4361 s/operand/argument/ in error message.
4363 2004-03-01 Keith Marshall <keith.d.marshall@ntlworld.com>
4365 * src/roff/groff/groff.cpp (main): Don't allow option -o if -Thtml
4368 2004-03-01 Antti Kantee <pooka@netbsd.org>
4370 * tmac/s.tmac (XE): Fix error message.
4372 2004-02-27 Jeff Conrad <jeff_conrad@msn.com>
4374 * src/include/nonposix.h (write, dup, dup2, close) [_MSC_VER]:
4377 * src/roff/groff/pipeline.c: Declare strcasecmp.
4378 (run_pipeline) [_WIN32]: Use function name variants which don't
4380 Fix stream handling.
4382 2004-02-27 Keith Marshall <keith.d.marshall@ntlworld.com>
4384 * src/include/nonposix.h: Fix declaration of `system_shell_name'.
4385 Declare `spawnvp_wrapper' and macro definitions of spawnvp only
4386 for platforms which use the native Win32 runtime libraries.
4387 (FLUSH_INPUT_PIPE) [_UWIN]: Provide non-empty version.
4389 * src/libs/libgroff/quotearg.c (QUOTE_ARG_MALLOC_ERROR,
4390 QUOTE_ARG_REALLOC_ERROR): Fix string.
4392 * src/preproc/html/pre-html.cpp: Remove declaration of
4394 Don't use __MINGW32__.
4395 s/DEBUG_FILE/DEBUG_FILE_DIR/.
4396 (DEBUG_TEXT, DEBUG_NAME, DEBUG_FILE) [DEBUGGING]: New macros.
4397 (OUTPUT_STREAM, PS_OUTPUT_STREAM, REGION_OUTPUT_STREAM): New macros.
4398 (char_buffer::run_output_filter) [MAY_FORK_CHILD_PROCESS]: Fix
4399 calls to `set_redirection' and `WAIT'.
4400 [MAY_SPAWN_ASYNCHRONOUS_CHILD]: Remove unused variable `i' and `j'.
4401 Fix calls to `set_redirection' and `save_and_redirect'.
4402 (char_buffer::do_html, char_buffer::do_image) [DEBUGGING]: Fix calls
4403 to `set_redirection' and `save_and_redirect'.
4404 (usage): Fix message.
4405 (makeTempFiles, main): Use `DEBUG_FILE'.
4407 2004-02-21 Werner LEMBERG <wl@gnu.org>
4409 * src/roff/troff/troff.h (WARN_TOTAL): Fix value.
4411 2004-02-21 Keith Marshall <keith.d.marshall@ntlworld.com>
4413 * src/libs/libgroff/quotearg.c: New file, providing proper argument
4414 quoting for MSVC's spawn* and exec* functions.
4415 * src/libs/libgroff/spawnvp.c: New file, providing a wrapper around
4416 spawnvp with proper quoting for MSVC.
4418 * src/libs/libgroff/assert.cpp (program_name),
4419 src/libs/libgroff/new.cpp (program_name): Declare as `extern "C"'.
4420 * src/libs/libgroff/Makefile.sub (OBJS, CSRCS): Updated.
4422 * src/roff/troff/input.cpp (program_name): Declare as `extern "C"'.
4424 * src/include/error.h (program_name): Declare as `extern "C"'.
4425 * src/include/nonposix.h [__MSDOS__ ...]: Handle spawnvp.
4427 2004-02-21 Jeff Conrad <jeff_conrad@msn.com>
4429 * src/preproc/html/pre-html.cpp [__CYGWIN__ ...]: Declare
4431 [MAY_SPAWN_ASYNCHRONOUS_CHILD]: Declare i and j.
4433 2004-02-20 Jeff Conrad <jeff_conrad@msn.com>
4435 * src/roff/groff/pipeline.c (cmd) [__MSDOS__ || ...]: New global
4437 (sbasename) [__MSDOS__ || ...]: New function.
4438 (system_shell_name) [__MSDOS__ || ...]: Use a different, more
4440 (system_shell_dash_c, is_system_shell) [__MSDOS__ || ...]: Updated.
4441 (run_pipeline) [_WIN32]: Use _XXX variants for some macros instead
4443 Use STDOUT_FILENO instead of hardcoded file handle.
4444 (signal_catcher) [__MSDOS__]: Moved to non-_WIN32 section.
4446 2004-02-19 Werner LEMBERG <wl@gnu.org>
4448 * src/roff/troff/div.cpp: Include nonposix.h after troff.h to
4449 avoid warnings w.r.t. redefinition of P_tmpdir for some compilers.
4451 2004-02-18 Werner LEMBERG <wl@gnu.org>
4453 * font/devlj4/Makefile.sub (DEVFILES): Updated to contain all
4454 new font and mapping files.
4456 2004-02-18 Jeff Conrad <jeff_conrad@msn.com>
4457 Keith Marshall <keith.d.marshall@ntlworld.com>
4459 * src/include/nonposix.h (FLUSH_INPUT_PIPE): New macro to empty
4460 an input pipe. This is needed for the MSVC compiler to make troff's
4463 * src/roff/troff/div.cpp: Include nonposix.h.
4464 (cleanup_and_exit): Call FLUSH_INPUT_PIPE.
4466 2004-02-17 Werner LEMBERG <wl@gnu.org>
4468 * font/devlj4/generate/special.awk: New script.
4469 * font/devlj4/generate/Makefile (S): Use special.awk.
4470 * font/devlj4/*: Regenerated, including the following new files:
4471 Arial (AR, AB, AI, ABI), Times New Roman (TNRR, TNRB, TNRI, TNRBI),
4472 MS Symbol (SYMBOL), Wingdings (WINGDINGS).
4473 * NEWS: Document new lj4 fonts and revised hpftodit.
4475 2004-02-17 Paco Andrés Verdú <pandres@dragonet.es>
4477 * src/devices/grolbp/lbp.h (vmdvarc): Fix formatting string.
4479 2004-01-25 Werner LEMBERG <wl@gnu.org>
4481 * src/libs/libgroff/progname.cpp: Replaced with...
4482 * src/libs/libgroff/progname.c: New file.
4483 * src/libs/libgroff/Makefile.sub: Updated accordingly.
4485 2004-01-17 Werner LEMBERG <wl@gnu.org>
4487 * font/devlj4/generate/Makefile (SYMBOL): Use 9nb28703.tfm.
4489 2004-01-16 Jeff Conrad <jeff_conrad@msn.com>
4491 * font/devlj4/generate/wingdings.map,
4492 font/devlj4/generate/symbol.map: Include unnamed glyphs.
4493 Use groff glyph names where possible.
4494 * src/devices/grolj4/lj4_font.man: Minor updates.
4496 2004-01-13 Werner LEMBERG <wl@gnu.org>
4498 * tmac/www.tmac (DC): Handle TTY devices.
4500 * doc/webpage.ms: Document viewCVS from ffii.org.
4501 * NEWS, README: Updated.
4503 * src/roff/groff/groff.man: Mention lj4_font man page.
4505 * font/devlj4/generate/Makefile (SYMBOLMAP, WINGDINGSMAP): New
4507 (FONTS): Add SYMBOL and WINGDINGS.
4508 (SYMBOL, WINGDINGS): New targets.
4510 2004-01-13 Jeff Conrad <jeff_conrad@msn.com>
4512 * src/devices/grolj4/lj4_font.man: New man page.
4513 * src/devices/grolj4/Makefile.sub (MAN5): New variable.
4514 * src/devices/grolj4.man: Mention lj4_font man page.
4516 * src/utils/hpftodit/hpftodit.cpp (read_map): Handle line comments.
4517 * src/utils/hpftodit/hpftodit.man: Document it.
4519 Remove details about fonts (which are now in lj4_font.man).
4521 * font/devlj4/generate/symbol.map,
4522 font/devlj4/generate/wingdings.map: New files.
4524 2004-01-12 Werner LEMBERG <wl@gnu.org>
4526 * README: Mention ffii's viewcvs access.
4528 2004-01-09 Werner LEMBERG <wl@gnu.org>
4530 * font/devlj4/generate/special.map: Map MSL 228 to U+221F.
4532 2004-01-09 Jeff Conrad <jeff_conrad@msn.com>
4534 Revert most of the change from 2004-01-03 to better control used
4537 * src/utils/hpftodit/hpftodit.cpp (symbol_set): New structure.
4538 (text_symbol_sets, special_symbol_sets): New arrays.
4539 (symbol_set_table): New global variable.
4540 (read_symbol_sets): Use search order given in the text_symbol_sets
4541 and special_symbol_sets arrays. If command line flag -a is not
4542 given, search both arrays.
4543 (output_charset): Require x_height_tag only for command line flag -i.
4545 2004-01-06 Werner LEMBERG <wl@gnu.org>
4547 Implement string-valued registers \n[.m] and \n[.M] to return the
4548 name of the current drawing and background color, respectively.
4550 * src/roff/troff/symbol.h: Moved to...
4551 * src/include/symbol.h: Here.
4552 Small fixes to make it work outside of the `troff' directory.
4553 * src/roff/troff/symbol.cpp: Moved to...
4554 * src/libs/libgroff/symbol.cpp: Here.
4555 Small fixes to make it work outside of the `troff' directory.
4557 * src/include/Makefile.sub (HDRS), src/libs/libgroff/Makefile.sub
4558 (OBJS, CCSRCS), src/roff/troff/Makefile.sub (OBJS, CCSRCS, HDRS):
4561 * src/include/color.h: Include symbol.h.
4562 (color): Add new field `nm'.
4563 * src/libs/libgroff/color.cpp (color::color): Updated.
4565 * src/roff/troff/dictionary.cpp, src/roff/troff/div.cpp,
4566 src/roff/troff/node.cpp, src/roff/troff/number.cpp,
4567 src/roff/troff/reg.cpp: Don't include symbol.h.
4569 * src/roff/troff/env.cpp: Don't include symbol.h.
4570 (environment::get_glyph_color_string,
4571 environment_get_fill_color_string): New member functions.
4572 (init_env_requests): Handle `.m' and `.M' registers.
4573 * src/roff/troff/input.cpp: Don't include symbol.h.
4574 (default_symbol): Moved to symbol.cpp/symbol.h.
4575 (do_glyph_color, do_fill_color, define_color): Pass symbol name
4576 to color constructor.
4577 * src/roff/troff/env.h: Updated.
4579 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
4580 Document new registers.
4582 2004-01-05 Werner LEMBERG <wl@gnu.org>
4584 * src/roff/troff/node.cpp (space_node::get_breakpoints,
4585 space_node::nbreaks): Protect against zero `next' field.
4587 2004-01-03 Jeff Conrad <jeff_conrad@msn.com>
4589 In hpftodit, use the symbol sets offered in the TFM.
4591 * src/utils/hpftodit/hpftodit.cpp (NO_GLYPH): New constant.
4592 (symbol_set, text_symbol_sets, special_symbol_sets,
4593 symbol_set_table): Removed.
4594 (get_printcode): Removed.
4595 (read_symbol_sets): Initialize `symbol_set' field with
4597 Simplify code to just use the `kind' value.
4598 (output_charset): Improve output formatting.
4599 (dump_symbols): Simplified.
4601 2004-01-02 Werner LEMBERG <wl@gnu.org>
4603 * font/devlj4/generate/text.map: Add more MSL numbers.
4605 2004-01-02 Jeff Conrad <jeff_conrad@msn.com>
4607 * src/utils/hpftodit/hpftodit.cpp (is_decomposed): New macro.
4608 (text_symbol_sets): Add more symbol sets.
4609 (debug_flag): New static variable (moved from `main').
4610 (get_printcode, show_symset): New functions.
4611 (main): Remove `debug_flag'.
4612 (output_charset): Use `show_symset'.
4613 (dump_symbols): Use `show_symset'.
4614 Print symsets for all glyphs.
4615 (read_map): Actually call `unicode_to_ucode_make' but this time
4618 2004-01-01 Werner LEMBERG <wl@gnu.org>
4620 * font/devlj4/generate/text.map, font/devlj4/generate/special.map:
4621 Fix placement of comments.
4623 2004-01-01 Jeff Conrad <jeff_conrad@msn.com>
4625 * src/utils/hpftodit/hpftodit.cpp (main): Read map file also if
4626 option `-d' is given.
4627 (output_charset): Improve warning messages to give more information.
4628 (dump_symbols): Make information more precise.
4630 (read_map): Don't call unicode_to_ucode_name; the glyph names must
4631 appear as-is and shouldn't be decomposed.
4633 2003-12-31 Werner LEMBERG <wl@gnu.org>
4635 * src/utils/hpftodit/hpftodit.cpp (dump_tags): Handle posture_tag.
4636 * font/devlj4/generate/Makefile (IFLAG): Updated to new units.
4637 (FONTS): Add TrueType font families Arial and Times New Roman.
4638 (TNRR, TNRB, TNRI, TNRBI, AR, AB, AI, ABI): New targets.
4639 * font/devlj4/generate/text.map: Fix Unicode values of `fi' and
4642 2003-12-31 Jeff Conrad <jeff_conrad@msn.com>
4644 * test-groff.in (SEP): Quote value.
4645 * src/roff/troff/node.cpp (suppress_node::tprint): Change type of
4646 `tem' to `char*' to avoid deallocation of a pointer to a constant
4647 object which some compilers don't like.
4649 2003-12-31 Werner LEMBERG <wl@gnu.org>
4651 * font/devlj4/generate (text.map, special.map): Rewritten to work
4652 with the new hpftodit version.
4654 2003-12-30 Jeff Conrad <jeff_conrad@msn.com>
4656 * src/utils/hpftodit/hpftodit.cpp (output_charset): Emit HP symbol
4657 set and 8bit character code for all glyphs also.
4659 2003-12-30 Werner LEMBERG <wl@gnu.org>
4661 * src/libs/libgroff/strcasecmp.c: Updated from gnulib.
4663 2003-12-29 Werner LEMBERG <wl@gnu.org>
4665 More fixes for MSVC compiler.
4667 * doc/Makefile.sub, contrib/mom/Makefile.sub (GROFF_BIN_PATH): Use
4670 * src/include/nonposix.h (STDIN_FILENO, STDOUT_FILENO,
4671 STDERR_FILENO) [_MSC_VER]: Define conditionally.
4672 (getpid) [_MSC_VER]: Remove.
4673 Include direct.h and process.h conditionally.
4675 * src/roff/troff/node.cpp (suppress_node::tprint): Don't use
4676 parentheses for a_delete.
4678 * src/utils/lookbib/lookbib.cpp: Include nonposix.h.
4680 * test-groff: Replaced with...
4681 * test-groff.in: This new template to handle path separator
4684 * configure.ac: Check for direct.h and process.h.
4685 Generate test-groff script.
4686 * configure, src/include/config.hin: Regenerated.
4688 2003-12-28 Werner LEMBERG <wl@gnu.org>
4690 Add integral extension glyph.
4691 Add new option `-x' to afmtodit to suppress use of built-in AGL.
4693 * font/devhtml/R.proto, font/devutf8/R.proto: Add `u23AE'.
4695 * font/devps/generate/textmap: Provide entry for `integralex' to
4696 override (old) PUA value of the AGL.
4697 * font/devps/generate/Makefile (SS): Add afmtodit option `-x'.
4698 * font/devps/*: Regenerated.
4700 * src/utils/afmtodit/afmtodit.pl: Add option `-x'.
4701 * src/utils/afmtodit/afmtodit.man, NEWS: Updated.
4703 2003-12-27 Werner LEMBERG <wl@gnu.org>
4705 Add forgotten `coproduct' symbol (already available for DVI).
4707 * font/devhtml/R.proto, font/devps/generate/textmap,
4708 font/devps/symbolmap, font/devutf8/R.proto, man/groff_char.man,
4709 src/libs/libgroff/uniglyph.cc, src/libs/libgroff/glyphuni.cpp: Add
4710 U+2210 (\[coproduct]).
4712 2003-12-26 Jeff Conrad <jeff_conrad@msn.com>
4714 hpftodit has been extended to handle TrueType metric files and
4715 more glyphs. See hpftodit.man for more details.
4717 * src/utils/hpftodit/hpftodit.cpp: Include stdio.h, string.h,
4718 ctype.h, and unicode.h.
4719 s/msl/charcode/ everywhere since we now handle Unicode values also.
4720 (equal, NO, YES, MSL, SYMSET, UNICODE, UNICODE): New macros.
4721 Use it where appropriate.
4722 (MULTIPLIER): Replaced with...
4723 (multiplier): New global static variable.
4725 (tag_type): Add more TFM tags.
4726 (tag_name): New array.
4727 (ENUM_TYPE, FLOAT_TYPE): Removed.
4728 (BYTE_TYPE): New value assigned.
4729 (ASCII_TYPE, RATIONAL_TYPE): New enumeration values.
4730 (text_symbol_sets, special_symbol_sets): Extended to cover more
4732 (check_type): Add return value.
4733 (check_units): Add parameters to get ppi and upem values.
4734 Handle TrueType TFM data.
4735 (output_font_name): New function.
4736 (output_charset): Add parameter to handle TFM type.
4737 Handle TrueType TFMs also.
4738 (em_fract): New macro.
4739 (dump_tags): Be much more verbose and handle more tags.
4740 (dump_ascii, dump_symbol_sets, dump_symbols): New functions.
4741 (hp_msl_to_ucode_name, unicode_to_ucode_name, is_uname): New
4743 (read_map): Add parameter to handle TFM type.
4744 Handle both MSL and Unicode mappings.
4745 (main): Add two new command line options `-a' and `-q'.
4746 Updated to make use of new functions.
4749 * src/utils/hpftodit/hpuni.cpp: New file.
4751 * src/utils/hpftodit/Makefile.sub, src/utils/hpftodit/hpftodit.man:
4754 2003-12-25 Werner LEMBERG <wl@gnu.org>
4756 * src/include/nonposix.h (read) [_MSC_VER]: Define.
4758 2003-12-24 Werner LEMBERG <wl@gnu.org>
4760 * src/utils/afmtodit/afmtodit.man: Some reformulations as suggested
4761 by Michail Vidiassov <master@iaas.msu.ru>.
4763 2003-12-20 Werner LEMBERG <wl@gnu.org>
4765 * font/devhtml/R.proto: Add u00{47,67}_0306, u00{53,73}_0327,
4767 Add missing latin-2 glyphs.
4768 * font/devutf8/R.proto: Add missing latin-2 glyphs.
4770 * tmac/troffrc: Load `composite.tmac' earlier.
4772 * tmac/dvi.tmac, tmac/ps.tmac, tmac/lbp.tmac: Add u00{47,67}_0306,
4773 u00{53,73}_0327, and u0049_0307.
4774 * tmac/X.tmac: Add u00{47,67}_0306.
4775 * tmac/tty-char.tmac: Use composite glyph names for readability.
4779 * src/include/unicode.h: Remove `extern' keywords.
4781 2003-12-20 Nilgün Belma Bugüner <nilgun@superonline.com>
4783 * tmac/latin5.tmac: New file.
4785 2003-12-19 Werner LEMBERG <wl@gnu.org>
4787 Add some glyphs needed for Turkish.
4789 * font/devutf8/R.proto: Add u00{47,67}_0306, u00{53,73}_0327,
4792 * tmac/composite.tmac: Add `,' as a synonym for `ac' accent.
4793 * tmac/tty-char.tmac: Add representations for u00{47,67}_0306,
4794 u00{53,73}_0327, and u0049_0307.
4796 2003-12-18 Werner LEMBERG <wl@gnu.org>
4798 * src/devices/grops/ps.cc (ps_output::put_float): Revert change
4800 Remove trailing zeros.
4802 2003-12-17 Werner LEMBERG <wl@gnu.org>
4804 Make \? transparent to end-of-sentence recognition.
4806 * src/roff/troff/input.cc (non_interpreted_node): Add
4807 `ends_sentence' member function.
4809 2003-12-16 Werner LEMBERG <wl@gnu.org>
4811 * doc/groff.texinfo: Document `dt' request correctly.
4812 Other minor typographical improvements.
4814 2003-12-10 Michail Vidiassov <master@iaas.msu.ru>
4816 * src/utils/afmtodit/Makefile.sub (afmtodit): Fix typo.
4818 2003-12-10 Richard Stallman <rms@gnu.org>
4820 * LICENSE: Better wording.
4822 2003-12-09 Werner LEMBERG <wl@gnu.org>
4824 * aclocal.m4 (GROFF_BROKEN_SPOOLER_FLAGS): Set default value to 0.
4825 * configure, NEWS: Updated.
4827 2003-12-08 Werner LEMBERG <wl@gnu.org>
4829 * FDL: Updated to version 1.2 (from www.gnu.org/copyleft).
4831 2003-12-07 Bernd Warken <bwarken@mayn.de>
4835 2003-12-07 Werner LEMBERG <wl@gnu.org>
4837 * INSTALL: Improved.
4839 2003-12-05 Keith Marshall <keith.d.marshall@ntlworld.com>
4841 Use path separator character of target platform for compiled-in
4844 * aclocal.m4 (GROFF_TARGET_PATH_SEPARATOR): New macro.
4845 * configure.ac: Use GROFF_TARGET_PATH_SEPARATOR.
4846 * configure: Regenerated.
4847 * Makefile.in (SEP): Use GROFF_PATH_SEPARATOR.
4849 2003-12-05 Werner LEMBERG <wl@gnu.org>
4851 * src/include/nonposix.h (PATH_SEP_CHAR): New definition.
4852 Replace `PATH_SEP[0]' with `PATH_SEP_CHAR' everywhere.
4854 2003-12-04 Bernd Warken <bwarken@mayn.de>
4856 * LICENSE: New file.
4858 2003-12-03 Werner LEMBERG <wl@gnu.org>
4860 * src/utils/afmtodit/afmtodit.pl: Comment out code which handles
4861 ligatures present in AFM files since groff currently only
4862 understands some standard ligatures and nothing else.
4864 2003-12-03 Jeff Conrad <jeff_conrad@msn.com>
4866 * src/roff/groff/groff.cpp (main): Don't run the spooler if
4869 * src/roff/groff/pipeline.c (run_pipeline) [_WIN32]: Fix error
4872 Don't use Unix wait flags.
4874 2003-12-02 Werner LEMBERG <wl@gnu.org>
4876 * src/roff/troff/glyphuni.cpp, src/roff/troff/unicode.cpp,
4877 src/roff/troff/unicode.h, src/roff/troff/uniglyph.cpp,
4878 src/roff/troff/uniuni.cpp: Moved to...
4879 * src/libs/libgroff/glyphuni.cpp, src/libs/libgroff/unicode.cpp,
4880 src/libs/libgroff/unicode.h, src/libs/libgroff/uniglyph.cpp,
4881 src/libs/libgroff/uniuni.cpp: Here.
4883 * src/include/Makefile.sub.old (HDRS),
4884 src/libs/libgroff/Makefile.sub (OBJS, CCSRCS),
4885 src/roff/troff/Makefile.sub (HDRS, PBJS, CCSRCS): Updated.
4887 2003-12-01 Keith Marshall <keith.d.marshall@ntlworld.com>
4889 * src/preproc/htlp/pre-html.cpp (__tmpfile): Renamed to
4893 2003-12-01 Werner LEMBERG <wl@gnu.org>
4895 * groff.texinfo: Document special behaviour of `.vs 0'.
4896 Improve documentation of `cflags' request.
4899 2003-11-29 Werner LEMBERG <wl@gnu.org>
4901 * font/devlj4/generate/Makefile (CORONET): Use correct TFM.
4902 * font/devlj4/CORONET: Regenerated.
4904 2003-11-24 Werner LEMBERG <wl@gnu.org>
4906 * src/roff/troff/env.cpp (hyphen_trie::read_patterns_file): Fix loop
4907 if processing hyphenation patterns in traditional mode.
4908 Improve error messages.
4910 2003-11-20 Werner LEMBERG <wl@gnu.org>
4912 * src/roff/troff/node.cpp (troff_output_file::put_char_width,
4913 troff_output_file::put_char): Fix type of local variable `c'.
4915 2003-11-19 Werner LEMBERG <wl@gnu.org>
4917 * src/roff/groff/pipeline.c (P): Removed. Updated all function
4919 (i_to_a): Removed. libgroff already provides this function.
4920 (run_pipeline) [_WIN32]: Don't use itoa but i_to_a.
4922 2003-11-18 Keith Marshall <keith.d.marshall@ntlworld.com>
4924 * src/roff/groff/pipeline.c (xstrsignal): Fix usage of
4927 2003-11-17 Werner LEMBERG <wl@gnu.org>
4929 * COPYING: Use correct version.
4931 2003-11-11 Werner LEMBERG <wl@gnu.org>
4933 LynxOS 4.0.0 doesn't declare vfprintf.
4935 * configure.ac: Check for vfprintf.
4936 * configure: Regenerated.
4937 * src/include/lib.h: Handle `NEED_DECLARATION_VFPRINTF'.
4938 * src/include/config.hin: Regenerated.
4940 2003-11-10 Werner LEMBERG <wl@gnu.org>
4942 LynxOS 4.0.0 has snprintf (without declaration) but no vsnprintf.
4944 * configure.ac: Check for vsnprintf.
4945 * configure: Regenerated.
4946 * src/include/lib.h: Handle `NEED_DECLARATION_VSNPRINTF' and
4948 * src/include/config.hin: Regenerated.
4950 2003-11-09 Werner LEMBERG <wl@gnu.org>
4952 * aclocal.m4: Updated syntax to autoconf 2.59.
4953 (GROFF_HTML_PROGRAMS): Use AC_FOREACH.
4954 Don't check for gsos2.
4955 (GROFF_SRCDIR, GROFF_BUILDDIR): Removed. autoconf 2.59 provides
4956 working abs_top_srcdir and abs_top_builddir.
4958 * configure.ac: Updated syntax to autoconf 2.59.
4959 Don't call GROFF_SRCDIR and GROFF_BUILDDIR.
4960 Replace call to AC_DECL_SYS_SIGLIST with call to AC_CHECK_DECLS.
4961 * configure: Regenerated.
4963 * Makefile.in, doc/Makefile.in: s/@top_srcdir@/@abs_top_srcdir@/,
4964 s/@groff_top_builddir@/@abs_top_builddir@/.
4966 * src/roff/groff/pipeline.c (xstrsignal):
4967 s/SYS_SIGLIST_DECLARED/HAVE_DECL_SYS_SIGLIST/.
4969 2003-11-07 Werner LEMBERG <wl@gnu.org>
4971 * src/devices/grodvi/dvi.cpp (draw_dvi_printer::draw) ['a']: Always
4972 make start angle smaller than end angle to circumvent a bug in tpic
4973 handling of some versions of dvipdfm (and dvipdfmx).
4975 2003-10-30 Werner LEMBERG <wl@gnu.org>
4977 * src/devices/grops/grops.man: Improve section on creating EPS.
4979 2003-10-29 Werner LEMBERG <wl@gnu.org>
4981 * contrib/pic2graph/pic2graph.sh: Fix typo (-P-letter ->
4984 2003-10-28 Werner LEMBERG <wl@gnu.org>
4986 * doc/groff.texinfo: Fix documentation of `.if'.
4988 2003-10-27 Michail Vidiassov <master@iaas.msu.ru>
4990 * src/utils/afmtodit/afmtodit.pl: Handle unmapped characters of
4991 the form `uniXXXX' also.
4993 2003-10-27 Werner LEMBERG <wl@gnu.org>
4995 * contrib/eqn2graph/eqn2graph.sh, contrib/grap2graph/grap2graph.sh,
4996 contrib/pic2graph/pic2graph.sh: Implement secure management of
4998 Pass `-P-pletter' to groff to avoid data outside of the converted
4999 area -- some versions of `convert' (for example 5.3.8) don't check
5000 the bounding box of the image but always use a fixed image size
5001 (letter paper format).
5002 * contrib/eqn2graph/eqn2graph.man, contrib/grap2graph/grap2graph.man,
5003 contrib/pic2graph/pic2graph.man: Updated.
5005 * src/roff/groff/groff.man: Document $TMP and $TEMP.
5007 2003-10-26 Werner LEMBERG <wl@gnu.org>
5009 * src/preproc/pic/troff.cpp (troff_output::simple_circle,
5010 troff_output::simple_ellipse, troff_output::simple_arc,
5011 troff_output::simple_line, troff_output::simple_spline,
5012 troff_output::simple_polygon): Insert a space before arguments.
5013 (troff_output::set_fill): Emit `\&' before `\D'Fg...' since the
5014 latter doesn't produce a node, so the following `.sp -1' would do
5016 Don't emit `.sp -1' after \M. This also doesn't produce a token
5017 (and we don't have to care about compatibility mode).
5018 (troff_output::set_color, troff_output::reset_color): Don't emit
5019 `.sp -1' after \M and \m.
5021 * src/roff/troff/input.cpp (old_have_input): New global variable.
5022 (input_stack::get): Handle `old_have_input'.
5023 (process_input_stack) <token::TOKEN_NEWLINE>: Call
5024 `trapping_blank_line' depending on `old_have_input', not
5027 2003-10-20 Keith Marshall <keith.d.marshall@ntlworld.com>
5029 * src/libs/libgroff/tmpfile.cpp [__MSDOS__, _Win32]
5030 (WIN32_TMPDIR_ENVVAR, MSDOS_TMPDIR_ENVVAR): New macros, providing
5031 default directory names for temporary files.
5032 [__MSDOS__, _Win32] (temp_init::temp_init): Use them.
5034 * src/roff/groff/pipeline.c [__MSDOS__]: Include stdlib.h.
5035 [__MSDOS__] (run_pipeline): Honour environment variables.
5036 Don't use `tmpnam' but `tempnam' to work around messy
5039 * README.MinGW: New file.
5041 2003-10-16 Werner LEMBERG <wl@gnu.org>
5043 * src/preproc/html/pre-html.cpp (write_upto_newline): Don't use
5044 `(*t)->next' without testing validity of `*t'.
5045 (usage): Make it more readable.
5047 2003-10-16 Keith Marshall <keith.d.marshall@ntlworld.com>
5049 Make html device run under both MS-DOS and Win32.
5051 * src/preproc/html/pre-html.cpp (MAY_FORK_CHILD_PROCESS,
5052 MAY_SPAWN_ASYNCHRONOUS_CHILD): New macros to control whether
5053 spawn or fork+exec has to be used, and whether parent must sleep
5054 until the child process terminates. Used in
5055 `char_buffer::run_output_filter'.
5056 (copyofstdoutfd): Removed.
5057 (char_buffer): Replace `write_file_html' and `write_file_troff'
5058 member functions with `emit_troff_output' and `run_output_filter'.
5059 (DEVICE_FORMAT, HTML_OUTPUT_FILTER, IMAGE_OUTPUT_FILTER): New
5061 (replaceFd): Replaced with...
5062 (set_redirection): New auxiliary function.
5063 (waitForChild): Replaced with...
5064 (save_and_redirect): New auxiliary function for.
5066 (char_buffer::do_html, char_buffer::do_image): Simplified, using new
5069 2003-10-14 Keith Marshall <keith.d.marshall@ntlworld.com>
5071 * aclocal.m4 (GROFF_SYS_NERR): Check stdlib.h also.
5072 (GROFF_LIBC): New function.
5073 * configure.ac: Call GROFF_LIBC.
5075 * configure: Regenerated.
5077 * src/include/lib.h: Handle __MINGW32__.
5078 * src/include/nonposix.h [_MSC_VER]: Handle __MINGW32__.
5079 Add macro for `pipe'.
5082 * src/roff/groff/pipeline.c (run_pipeline): Handle `no_pipe'
5085 * src/utils/indxbib/signal.c (handle_fatal_signal) [!HAVE_KILL]:
5088 2003-10-13 Werner LEMBERG <wl@gnu.org>
5090 Finally fix change 2003-08-26, based on ideas from Chuck Silvers
5093 * contrib/mom/Makefile.sub: Use a stamp file in the `examples'
5096 2003-10-12 Werner LEMBERG <wl@gnu.org>
5098 * src/roff/groff/groff.cpp (help), src/devices/grops/ps.cpp (usage),
5099 src/roff/troff/input.cc (usage): Updated.
5101 * NEWS, doc/groff.texinfo: Updated.
5103 2003-10-12 Peter Miller <millerp@canb.auug.org.au>
5105 * src/libs/libgroff/searchpath.cpp
5106 (search_path::open_file_cautious): New function which also handles
5107 `-' as stdin and stdout depending on the access mode.
5108 * src/include/searchpath.h (search_path): Updated.
5110 * src/devices/grops/ps.cpp (main): Handle new `-I' switch.
5111 * src/devices/grops/ps.h: Include `searchpath.h'.
5112 * src/devices/grops/psrm.cpp (resource_manager::supply_resource):
5113 Open resource file with `include_search_path.open_file_cautious'.
5114 * src/devices/grops/grops.man: Document new `-I' switch.
5116 * src/devices/grodvi/dvi.cpp (main), src/devices/grolbp/lbp.cpp
5117 (main), src/devices/grolj4/lj4.cpp (main),
5118 src/devices/grotty/tty.cpp (main): Ignore new `-I' switch.
5120 * src/preproc/soelim/soelim.cpp (include_list_length, include_list):
5122 (include_search_path): New global variable.
5123 (include_path_append): Removed.
5124 (main): Use `include_search_path.command_line_dir' to handle `-I'.
5125 (do_file): Simplify, using new
5126 `include_search_path.open_file_cautious'.
5128 * src/roff/groff/groff.cpp (print_commands): Accept file handle as
5130 (main): Pass arguments to `-I' to both troff and devices.
5131 Improve handling of `-V'.
5132 * src/roff/groff/groff.man: Document changes to -I and -V.
5134 * src/roff/troff/input.cpp (include_search_path): New global
5136 (next_file, source, ps_bbox_request, transparent_file,
5137 process_input_file): Use new
5138 `include_search_path.open_file_cautious'.
5139 (main) Handle `-I' switch.
5140 * src/roff/troff/node.cpp (troff_output_file::really_copy_file):
5141 Use new `include_search_path.open_file_cautious'.
5142 * src/roff/troff/node.h: New extern symbol `include_search_path'.
5143 * src/roff/troff/troff.man: Document new `-I' switch.
5145 2003-09-15 Ruslan Ermilov <ru@FreeBSD.org>
5147 Support multiple calls of .Lb in LIBRARY section.
5149 * tmac/doc-common (doc-in-library-section): New register.
5150 (doc-section-library): New string.
5151 (Sh): Set `doc-in-library-section'.
5153 * tmac/doc-syms (Lb): Insert breaks before and after arguments
5154 if in LIBRARY section.
5155 * tmac/doc.tmac (doc-save-global-vars): Updated.
5156 * NEWS, tmac/groff_mdoc.man: Updated.
5158 2003-09-14 Ruslan Ermilov <ru@FreeBSD.org>
5160 * tmac/doc-common (doc-default-operating-system): New variable.
5163 2003-09-08 Werner LEMBERG <wl@gnu.org>
5165 * tmac/doc.tmac (doc-reset-reference): Handle data for `%I' also.
5167 2003-08-31 Werner LEMBERG <wl@gnu.org>
5169 * contrib/mom/Makefile.sub: Fix last change to make it really work.
5170 * Makefile.comm: Use `test ... ||' in favor of `if test ...; then'.
5171 (install_dev, uninstall_dev): Check whether $(DEVSCRIPTS) and
5172 $(DEVFILES) are not empty.
5173 * Makefile.in: Use `test ... ||' in favor of `if test ...; then'.
5175 2003-08-26 Chuck Silvers <chuq@chuq.com>
5177 * contrib/mom/Makefile.sub (prepare_make_examples): Make it work
5178 with parallel runs of `make'.
5180 2003-08-23 Stephen Gildea <http://www.gildea.com/stephen>
5182 * src/preproc/ref/ref.cpp (reference::compute_sort_key): Always
5183 insert SORT_SEP. With certain combinations of sort specifications,
5184 refer sorted entries in the wrong order. In particular, entries
5185 with a missing field should be be sorted before all entries that
5186 have that field, before refer looks to the next field.
5188 2003-08-23 Werner LEMBERG <wl@gnu.org>
5190 * src/utils/pfbtops/Makefile.sub (LINK.c): Define it so that the
5191 g++ linker is used. Reported by Mark J. Reed
5192 <mark.reed@turner.com>.
5194 2003-08-16 Heinz-Jürgen Oertel <hj.oertel@surfeu.de>
5196 Add key character `x' to tbl which makes tbl call a user-defined
5197 macro on a table cell.
5199 * src/preproc/tbl/table.h (entry_modifier): Add `macro'.
5200 * src/preproc/tbl/table.cpp (block_entry::do_divert): Call
5201 `set_modifier' after printing the compatibility request.
5202 (set_modifier): Print call to `m->macro' if not empty.
5203 * src/preproc/tbl/main.cpp (entry_format::debug_print): Handle
5205 (process_format): Implement cases `x' and `X'.
5206 * src/preproc/tbl/tbl.man, NEWS: Updated.
5208 2003-08-15 Werner LEMBERG <wl@gnu.org>
5210 * doc/groff.texinfo: Minor fixes.
5212 2003-08-09 Werner LEMBERG <wl@gnu.org>
5214 * tmac/an-old.tmac [cR]: Fix redefinition of `bp'.
5216 2003-08-07 Werner LEMBERG <wl@gnu.org>
5218 * doc/Makefile.sub: Not all shells expand wildcards in the `for'
5219 argument list to nothing if there is no file to match. Use `ls' as
5220 a protection, similar to autoconf.
5222 * Makefile.comm (install_dev, uninstall_dev): Protect `for' against
5223 empty argument lists.
5225 * doc/groff.texinfo: Improve documentation how vertical spacing
5226 and line breaks interact.
5229 * tmac/www.tmac: Initialize `www-htmlimage-gap'.
5231 2003-08-03 Werner LEMBERG <wl@gnu.org>
5233 * NEWS, src/devices/grops/grops.man: -b16 is necessary to produce
5234 EPS (using eps2eps or similar programs to compute the bounding box).
5236 2003-07-24 Werner LEMBERG <wl@gnu.org>
5238 * doc/groff.texinfo: Use the new @/ command to avoid overlong lines.
5239 * doc/texinfo.tex: Updated from texinfo 4.6.
5240 * README.CVS: From now on we need texinfo 4.6.
5242 2003-07-23 Werner LEMBERG <wl@gnu.org>
5244 Add requests `dei1' and `ami1' for completeness.
5246 * src/roff/troff/input.cc (calling_mode): Remove
5247 CALLING_DISABLE_COMP.
5248 (comp_mode): New enumeration.
5249 (do_define_string, define_string, define_nocomp_string,
5250 append_string, append_nocomp_string): Updated.
5251 (do_define_macro): Add third parameter.
5252 (define_macro, define_nocomp_macro, define_indirect_macro,
5253 append_macro, append_nocomp_macro, append_indirect_macro): Updated.
5254 (define_indirect_nocomp_macro, append_indirect_nocomp_macro): New
5257 (init_input_requests): Add `dei1' and `ami1'.
5259 * tmac/trace.tmac: Handle de1 and am1.
5260 (de): Improve tracing message.
5261 (am): Add missing `do'.
5264 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
5265 Document new requests.
5267 2003-07-22 Heinz-Jürgen Oertel <hj.oertel@surfeu.de>
5269 Add option -G to .MPIMG to insert a gap between text and the image.
5271 * tmac/www.tmac (www-finish-left-po, www-finish-right-ll,
5272 www-finish-left-ll): Updated.
5273 (www-image-just, www-image-gap, www-htmlimage-gap): New variables.
5274 (MPIMG): Make option -L and -R optional.
5275 Implement option -G.
5277 2003-07-22 Gaius Mulley <gaius@glam.ac.uk>
5279 * src/devices/grohtml/post-html.cpp
5280 (html_printer::do_file_components): Don't use `stdout' as lvalue
5281 since it can be a macro.
5283 2003-07-22 Werner LEMBERG <wl@gnu.org>
5285 * src/libs/libgroff/strerror.c: Include errno.h to be in sync with
5286 the corresponding test in aclocal.m4.
5288 2003-07-21 Werner LEMBERG <wl@gnu.org>
5290 * src/preproc/html/pre-html.cpp (TRANSPARENT): Don't use colour
5291 names but RGB values directly. Otherwise pnmtopng depends on
5292 an external file `rgb.txt' which maps colour names to values.
5294 2003-07-20 Werner LEMBERG <wl@gnu.org>
5296 * aclocal.m4 (GROFF_SYS_ERRLIST): Include stdlib.h for MinGW.
5297 * configure, src/include/config.hin: Regenerated.
5299 * src/libs/libgroff/strerror.c: Include stdlib.h for MinGW.
5301 2003-07-19 Werner LEMBERG <wl@gnu.org>
5303 * PROBLEMS: Add solution for UTF-8 problem with hyphens.
5305 2003-07-18 Werner LEMBERG <wl@gnu.org>
5307 * *.man: Switch to non-compatibility mode temporarily if GNU
5308 syntax extensions are used in the particular man page.
5310 * PROBLEMS: Add solutions for SGR problems.
5312 2003-07-17 Werner LEMBERG <wl@gnu.org>
5314 Don't ignore grotty's command line options if \X'tty: sgr ...' is
5315 used to change the drawing scheme.
5317 * src/devives/grotty/tty.cpp (bold_flag_option,
5318 underline_flag_option, italic_flag_option, reverse_flag_option,
5319 bold_underline_mode_option): New global variables.
5320 (update_options): New function.
5321 (tty_printer::special): Call update_options.
5322 (main): Don't set xxx_flag but xxx_flag_option, then call
5325 2003-07-14 Werner LEMBERG <wl@gnu.org>
5327 Make grotty emit proper Unicode box drawing characters for -Tutf8.
5329 * src/devices/grotty/tty.cpp (START_LINE, END_LINE): New enum
5331 (hline_char, vline_char): New global variables.
5332 (tty_printer::tty_printer): Initialize them.
5333 (tty_printer::draw): Emit START_LINE and END_LINE flags for both
5334 horizontal and vertical lines.
5335 (crossings): New global array.
5336 (tty_printer::end_page): Use it to determine the proper crossing
5337 character for -Tutf8.
5339 2003-07-12 Werner LEMBERG <wl@gnu.org>
5341 * doc/Makefilesub (HTMLDOCFILESALL): New macro.
5342 (HTMLDOCFILES): Revert to `pic.html'.
5343 (CLEANADD, install_html, uninstall_sub): Use HTMLDOCFILESALL.
5345 2003-07-11 Werner LEMBERG <wl@gnu.org>
5347 * doc/pic.ms: Improve documentation of absolute coordinates.
5348 Document absolute positioning of pictures.
5350 * NEWS: Add new pic capability.
5352 2003-07-09 Hartmut Henkel <hartmut_henkel@gmx.de>
5354 * src/libs/libgroff/geometry.cpp (check_output_arc_limits):
5357 2003-07-07 Werner LEMBERG <wl@gnu.org>
5359 Implement support for dashed and dotted ellipses in pic. Based on
5360 a patch from Hartmut Henkel <hartmut_henkel@gmx.de>.
5362 * src/preproc/pic/common.cpp (common_output::ellipse_arc,
5363 common_output::dashed_ellipse, common_output::dotted_ellipse): New
5364 functions. Ellipse arcs are approximated with circle arcs.
5365 * src/preproc/pic/common.h (common_output): Updated.
5366 * src/preproc/pic/tex.cpp (tex_output::ellipse): Use new ellipse
5368 * src/preproc/pic/troff.cpp (simple_output::ellipse): Ditto.
5370 * src/preproc/pic/TODO, src/preproc/pic/pic.man: Updated.
5372 2003-07-06 Werner LEMBERG <wl@gnu.org>
5374 Make grotty work on platforms which have unsigned char as the
5375 default for char. Based on a patch by Thomas Klausner
5378 * src/devices/grotty/tty.cpp (schar): New typedef.
5379 Updated calls to declare_ptable and implement_ptable.
5380 (glyph): Use schar for back_color_idx and fore_color_idx.
5381 (tty_printer): Use schar for curr_fore_idx and curr_back_idx.
5382 (tty_printer::tty_color, tty_printer::tty_printer,
5383 tty_printer::color_to_idx, tty_printer::put_color): Updated.
5385 2003-07-06 Ruslan Ermilov <ru@FreeBSD.org>
5387 * src/roff/nroff/nroff.sh: Add option -d for completeness.
5388 * src/roff/nroff/nroff.man: Updated.
5390 2003-07-05 Werner LEMBERG <wl@gnu.org>
5392 * NEWS, tmac/groff_www.man: Updated.
5393 * doc/Makefile.sub: Updated.
5395 2003-07-05 Gaius Mulley <gaius@glam.ac.uk>
5397 Implement support for multiple HTML output files.
5399 * src/preproc/html/pre-html.cpp (scanArguments): Dummy handling for
5400 -j command line option.
5402 * src/devices/grohtml/post-html.cpp (job_name, multiple_files): New
5404 (file): New fields `new_output_file', `require_links',
5406 (file::file): Updated.
5407 (files::set_file_name, files::set_links_required,
5408 files::are_links_required, files::is_new_output_file,
5409 files::file_name, files::next_file_name): New functions.
5410 (header_desc): New fields `no_of_level_one_headings',
5412 (header_desc::header_desc): Updated.
5413 (header_desc::write_headings): Handle multiple files.
5414 (html_printer::write_header): Save file name in which header occurs.
5415 (html_printer::determine_header_level): Possibly split files on
5417 (html_printer::do_links, html_printer::troff_tag): Updated.
5418 (html_printer::insert_split_file, html_printer::do_job_name,
5419 html_printer::emit_link, html_printer::write_navigation,
5420 html_printer::do_file_components): New functions.
5421 (html_printer::~html_printer): Handle multiple files.
5422 (main): Handle command line option `-j'.
5424 * src/devices/grohtml/grohtml.man: Updated.
5426 * doc/Makefile.sub (pic.html), doc/Makefile.in (pic.html): New rule
5429 * tmac/www.tmac (JOBNAME): New macro.
5430 * tmac/s.tmac (SH-NO-TAG): New macro.
5431 (@SH): Call SH-NO-TAG.
5434 2003-07-05 Ruslan Ermilov <ru@FreeBSD.org>
5436 * tmac/groff_mdoc.man: Improve documentation of punctuation
5439 2003-07-04 Ruslan Ermilov <ru@FreeBSD.org>
5441 * tmac/doc.tmac (Bd): Change to doc-Li-font later.
5443 2003-07-03 Werner LEMBERG <wl@gnu.org>
5445 * tmac/an-old.tmac [cR]: Redefine `bp' to avoid empty lines.
5447 2003-07-01 Ruslan Ermilov <ru@FreeBSD.org>
5449 * tmac/doc.tmac (doc-do-func, doc-do-func-args): Don't print a comma
5450 after `/*' and `*/'.
5452 (Fn, Fo): Reduce indentation in synopsis.
5454 * tmac/doc-common (doc-check-depth): New macro.
5455 (doc-end-macro, Sh, Ss): Use it.
5456 (Cd): Fix behaviour in synopsis.
5457 (In): Make it parsed and callable.
5458 If not in the synopsis, represent the C header file enclosed in
5460 (doc-str-Rv-std-suffix, doc-str-Rv-stds-suffix, doc-str-Rv-std0):
5461 Use minus, not hyphen.
5463 * tmac/groff_mdoc.man: Updated.
5465 2003-07-01 Werner LEMBERG <wl@gnu.org>
5467 Integrated grap2graph, contributed by Eric S. Raymond.
5469 * contrib/grap2graph/{Makefile.sub, grap2graph.sh, grap2graph.man}:
5471 * Makefile.in, NEWS, MANIFEST, contrib/eqn2graph.man,
5472 contrib/pic2graph.man, src/roff/groff/groff.man: Updated.
5474 2003-07-01 Colin Watson <cjwatson@debian.org>
5476 * src/xditview/*.c: Add prototypes, fix return types, add includes.
5477 Based on work by Fumitoshi UKAI <ukai@debian.or.jp>.
5479 2003-06-31 Ruslan Ermilov <ru@FreeBSD.org>
5481 * tmac/tty-char.tmac: Provide `lb', `rb', `lk', `rk', `lt', `rt'.
5483 2003-06-31 Werner LEMBERG <wl@gnu.org>
5485 * doc/Makefile.sub (CLEANADD): Remove all files created by
5486 running `make groff.{pdf,dvi}'.
5488 * Makefile.sub (DISTCLEANFILES): Remove all non-source files from
5491 2003-06-30 Werner LEMBERG <wl@gnu.org>
5493 * Makefile.in (SHELL): Define as @SHELL@.
5494 (mkinstalldirs): Use $(SHELL).
5495 (MDEFINES): Add $(SHELL).
5496 * Makefile.comm (SHELL): Removed.
5498 2003-06-29 Werner LEMBERG <wl@gnu.org>
5500 * tmac/s.tmac (De, Ds): New aliases for .DE and .DS, respectively.
5501 The X11 documentation files use them.
5502 * tmac/groff_ms.man, doc/groff.texinfo: Document them.
5504 2003-06-15 Robert Goulding <goulding@Princeton.EDU>
5506 * tmac/e.tmac (@C): Handle .ad also.
5508 2003-06-12 Werner LEMBERG <wl@gnu.org>
5510 * src/preproc/tbl/tbl.man: Document formatting of text blocks.
5512 * src/roff/troff/input.cc (token::next) <handle_escape_char>:
5513 Assign `n' even here. It is possible to construct a node
5514 immediately following an escape character:
5522 2003-06-10 Werner LEMBERG <wl@gnu.org>
5524 * README.WIN32: Removed.
5525 * MANIFEST: Updated.
5527 2003-06-07 Werner LEMBERG <wl@gnu.org>
5529 * src/roff/nroff/nroff.sh: Don't emit SGR for option -u.
5531 2003-06-05 Werner LEMBERG <wl@gnu.org>
5533 * src/preproc/pic/pic.y <sprintf_args>: Implement workaround for bug
5534 in Compaq C++ V6.5-033 for Compaq Tru64 UNIX V5.1A (Rev. 1885).
5536 2003-06-03 Werner LEMBERG <wl@gnu.org>
5538 * src/preproc/grn/hdb.cpp (DBRead): Don't close file handle; this
5539 is done by the calling function.
5541 2003-05-22 Ruslan Ermilov <ru@FreeBSD.org>
5543 * tmac/X.tmac: Fix definition of `em'.
5545 2003-05-22 Werner LEMBERG <wl@gnu.org>
5547 * src/roff/troff/input.cc (return_macro_request): Fix detection of
5550 2003-05-18 Werner LEMBERG <wl@gnu.org>
5552 * tmac/doc.tmac (doc-tag-list): Force horizontal mode after tag
5553 to make items work which consist only of a tag.
5555 2003-05-17 Werner LEMBERG <wl@gnu.org>
5557 * tmac/doc.tmac (doc-tag-list): Don't use \Z to assure that spaces
5558 aren't stretched in a tag (this can fail with unformatted boxes).
5559 Instead, insert a break and go back one line.
5561 2003-05-16 Werner LEMBERG <wl@gnu.org>
5563 * src/roff/troff/input.cc (return_macro_request): If called with
5564 argument pop macro twice. We need this to trace `return'.
5566 * tmac/trace.tmac: Handle `return'.
5569 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
5572 2003-05-15 Larry Kollar <kollar@alltel.net>
5574 * tmac/groff_ms.man, doc/groff.texinfo: Improve documentation of
5575 registers `FPS', `FVS', and `FPD'.
5577 2003-05-15 Werner LEMBERG <wl@gnu.org>
5579 * src/utils/pfbtops/pfbtops.c (get_text): Handle loop counter
5582 2003-05-03 Ruslan Ermilov <ru@FreeBSD.org>
5584 * tmac/groff_mdoc.man: Slight improvements.
5586 2003-05-03 Werner LEMBERG <wl@gnu.org>
5588 * tmac/doc-common (doc-header): Emit vertical space of 1v instead of
5589 `doc-header-space' after header line if register `cR' is set.
5591 2003-05-02 Werner LEMBERG <wl@gnu.org>
5595 2003-05-01 Ruslan Ermilov <ru@FreeBSD.org>
5597 * tmac/doc-common (Nd): Use \[em].
5599 2003-05-01 Werner LEMBERG <wl@gnu.org>
5601 * tmac/doc-ditroff, tmac/doc-nroff (doc-header-space,
5602 doc-footer-space): Initialize to 0.5i.
5603 (doc-setup-page-layout): Don't set doc-header-space and
5606 2003-04-30 Werner LEMBERG <wl@gnu.org>
5608 * REVISION: Set to 1.
5610 * doc/pic.ms: Document possible problems with `figname'.
5612 2003-04-29 Werner LEMBERG <wl@gnu.org>
5614 Version 1.19 released
5615 =====================
5617 * VERSION: Set to 1.19.
5618 * REVISION: Set to 0.
5619 * doc/groff.texinfo, doc/webpage.ms, NEWS: Updated.
5621 * src/devices/grohtml/post-html.cpp (html_printer::~html_printer):
5622 Define charset as `US-ASCII' in html output.
5624 * tmac/www.tmac (ULE): Add missing scaling indicator.
5626 * win32-diffs: Removed.
5628 2003-04-28 Werner LEMBERG <wl@gnu.org>
5630 * doc/groff.texinfo: Document `dn' and `dl' registers if used with
5632 Document how to insert discardable whitespace with `.ss'.
5634 2003-04-27 Werner LEMBERG <wl@gnu.org>
5636 * src/preproc/pic/tex.cpp (tex_output::start_picture): Make code
5637 work with plain TeX also.
5639 * src/preproc/pic/pic.man, doc/pic.ms: Fix TeX code example.
5641 2003-04-25 Gaius Mulley <gaius@glam.ac.uk>
5643 * src/devices/grohtml/post-html.cpp (html_printer::~html_printer):
5646 2003-04-24 Werner LEMBERG <wl@gnu.org>
5648 * src/preproc/pic/pic.man, doc/pic.ms: Explain how to get a
5649 vbox with positive height and zero depth if in TeX mode.
5651 * NEWS: Document glyph name changes for grodvi and grolj4.
5653 2003-04-23 Werner LEMBERG <wl@gnu.org>
5655 * src/preproc/pic/tex.cpp (tex_output::start_picture): Fix TeX code.
5656 * doc/pic.ms: Fixed.
5658 2003-04-21 Werner LEMBERG <wl@gnu.org>
5660 HP-UX 10.20 has `snprintf' but it isn't declared.
5662 * configure.ac: Add declaration test for snprintf.
5663 * configure: Regenerated.
5664 * src/include/lib.h: Handle `NEED_DECLARATION_SNPRINTF'.
5665 * src/include/config.hin: Regenerated.
5667 2003-04-19 Werner LEMBERG <wl@gnu.org>
5669 Add keyword `figname' to pic, specifying the name of the picture
5670 box in TeX mode. Based on a patch from William J Poser
5671 <wjposer@unagi.cis.upenn.edu>.
5673 * src/preproc/pic/pic.y: New token `FIGNAME'.
5674 (macro_name): New rule of type <str>.
5675 (placeless_element): Handle `FIGNAME'.
5676 * src/preproc/pic/lex.cpp (lookup_keyword): Add `figname'.
5677 * src/preproc/pic/main.cpp (graphname): New global variable.
5678 (do_picture): Initialize `graphname'.
5679 * src/preproc/pic/pic.h: Updated.
5680 * src/preproc/pic/tex.cpp (tex_output::start_picture): Use
5683 (tex_output::text): Beautify output.
5684 * src/preproc/pic/object.cpp (object_spec::~object_spec): Deallocate
5685 `shaded' and `outlined' unconditionally.
5686 * NEWS, src/preproc/pic/pic.man, doc/pic.ms: Updated.
5689 * PROBLEMS, README.CVS: Mention that bison version 1.875b or
5690 greater is necessary.
5692 2003-04-17 Hartmut Henkel <hartmut_henkel@gmx.de>
5694 Add option -r to soelim to avoid emission of `.lf' lines.
5695 Add option -t to produces TeX comment lines instead of `.lf' lines.
5697 * src/preproc/soelim/soelim.cpp: New global variables `raw_flag'
5700 (main): Handle `-r' and `-t'.
5701 (set_location): Handle `raw_flag' and `tex_flag'.
5702 * src/preproc/soelim/soelim.man, NEWS: Updated.
5704 2003-04-17 Werner LEMBERG <wl@gnu.org>
5706 * tmac/hyphenex.sh: Replaced with...
5707 * tmac/hyphenex.pl: This perl script to avoid sed compatibility
5710 * aclocal.m4 (GROFF_HTML_PROGRAMS): Emit useful warning message
5711 if --quiet is used for the configure script.
5712 * configure: Regenerated.
5714 2003-04-16 Werner LEMBERG <wl@gnu.org>
5716 * src/devices/grohtml/post-html.cpp (text_glob::text_glob):
5717 Add `const' to second argument.
5718 (html_printer::add_table_end): Add `const' to argument.
5719 * src/devices/grohtml/html-text.cpp (html_text::issue_tag): Add
5720 `const' to arguments.
5721 * src/devices/grohtml/html-text.h: Updated.
5723 * src/devices/grolbp/charset.h (symset): Use `unsigned char'.
5724 * src/devices/grolbp/lbp.h (lbpputc): Use `unsigned char' for
5727 * src/devices/grotty/tty.cpp (tty_printer::make_rgb_string): Use
5728 cast for integer constant.
5730 * src/preproc/html/pre-html.cpp (image_device): Use `const'.
5731 (writeNbytes): Add `const' to first argument.
5732 (writeString): Add `const' to argument.
5733 (char_buffer::can_see): Add `const' to third argument.
5734 * src/preproc/html/pushback.cpp (pushBackBuffer::isString): Add
5735 `const' to argument.
5736 * src/preproc/html/pushback.h: Updated.
5738 * src/preproc/soelim/soelim.cpp (include_list): Add `const'.
5739 (include_path_append): Add `const' to argument.
5742 * src/roff/troff/uniglyph.cpp (unicode_to_glyph_list): Use `const'
5744 (unicode_to_glyph_init::unicode_to_glyph_init): Updated.
5745 * src/roff/troff/uniuni.cpp (unicode_decompose_list): Use `const'
5747 (unicode_decompose_init::unicode_decompose_init): Updated.
5748 * src/roff/troff/glyphuni.cpp (glyph_to_unicode_list): Use `const'
5750 (glyph_to_unicode_init::glyph_to_unicode_init): Updated.
5751 * src/roff/troff/input.cc (process_startup_file): Add `const' to
5754 * tmac/hyphenex.sh: Make script more portable by using a here
5757 2003-04-15 Werner LEMBERG <wl@gnu.org>
5759 Renamed all `*.cc' files to `*.cpp'.
5760 Updated all configuration files, makefiles, and documentation.
5762 2003-04-14 Werner LEMBERG <wl@gnu.org>
5764 * tmac/hyphenex.sh: Slight improvements.
5766 2003-04-13 Werner LEMBERG <wl@gnu.org>
5768 * font/devascii/R.proto, font/devcp1037/R.proto,
5769 font/devlatin1/R.proto, font/devutf8/R.proto: Fill up remaining
5770 character slots with unnamed glyphs.
5772 * tmac/an-old.tmac: Fix hyphenation value if `cR' is active.
5773 (an-first): New global variable.
5774 (an-header): Emit vertical space between multiple man pages.
5776 2003-04-11 Werner LEMBERG <wl@gnu.org>
5778 * doc/groff.texinfo, man/groff_out.man: \S only accepts integer
5781 2003-04-10 Werner LEMBERG <wl@gnu.org>
5783 * PROBLEMS: Revised.
5785 2003-04-10 Bernd Warken <bwarken@mayn.de>
5787 * doc/webpage.ms: Improved.
5789 2003-04-09 Werner LEMBERG <wl@gnu.org>
5791 Add register \n[.height] which returns the value of \H.
5792 Add register \n[.slant] which returns the value of \S.
5794 * src/roff/troff/env.cc (init_env_requests): Implement.
5795 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
5798 2003-04-08 Werner LEMBERG <wl@gnu.org>
5800 * tmac/html.tmac: Move some of the data into html-end.tmac.
5801 Remove most of the character translations for eqn since html fonts
5802 now cover those characters.
5804 * tmac/html-end.tmac: New file.
5805 * tmac/troffrc: Load html.tmac not www.tmac for -Thtml.
5806 * tmac/troffrc-end: Load html-end.tmac not html.tmac for -Thtml.
5807 * tmac/Makefile.sub (NORMALFILES): Add html-end.tmac.
5809 2003-04-07 Werner LEMBERG <wl@gnu.org>
5811 * man/groff_out.man: Document negative values of `N' if -Thtml is
5814 2003-04-06 Werner LEMBERG <wl@gnu.org>
5816 * Makefile.comm (depend.temp): Check location of YTABC.
5818 2003-04-05 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
5820 * contrib/mom/Makefile.sub (GROFFBIN): New variable for groff
5822 (groff_bin_path): Rename to GROFF_BIN_PATH.
5823 (GROFF): Use GROFFBIN and GROFF_BIN_PATH.
5824 * doc/Makefile.in (TROFFBIN): New variable for troff
5826 (GROFFBIN): New variable for groff binary path.
5827 (groff_bin_path): Rename to GROFF_BIN_PATH.
5828 (TROFF): Use TROFFBIN.
5829 (GROFF): Use GROFFBIN and GROFF_BIN_PATH.
5830 * doc/Makefile.sub (GROFFBIN): New variable for groff
5832 (groff_bin_path): Rename to GROFF_BIN_PATH.
5833 (GROFF): Use GROFFBIN and GROFF_BIN_PATH.
5835 * Makefile.comm (install_dev): Install scripts from DEVSCRIPTS
5836 with INSTALL_SCRIPT.
5837 (uninstall_dev): Uninstall scripts from DEVSCRIPTS.
5838 * Makefile.dev (all): Depend on DEVSCRIPTS.
5839 (install_dev): Likewise.
5840 * font/devdvi/Makefile.sub (DEVSCRIPTS): New variable to hold
5842 * font/devps/Makefile.sub (DEVSCRIPTS): Likewise.
5843 (DEVGENSCRIPTS): New variable to hold generated scripts.
5845 2003-04-05 Werner LEMBERG <wl@gnu.org>
5847 * src/libs/libdriver/input.cc (IntArray::operator[],
5848 IntArray::get_data): Remove meaningless `const' in return value.
5850 * README.CVS: New file.
5852 2003-04-04 Werner LEMBERG <wl@gnu.org>
5854 Check for stdint.h in C++, not in C.
5856 * aclocal.m4 (GROFF_STDINT_H): New function,
5857 * configure.ac: Check for stdint.h with GROFF_STDINT_H instead of
5859 * configure, src/include/config.hin: Regenerated.
5860 * src/libs/libgroff/tmpname.cc: Use HAVE_CC_STDINT_H.
5863 Fix handling of in grohtml. To do this, troff emits `N'
5864 with a negative value, representing the width of the unbreakable
5865 space (only for -Thtml). grohtml then converts this back to
5866 and uses the value of N as its width.
5868 * src/roff/troff/node.cc (space_char_hmotion_node::tprint,
5869 unbreakable_space_node::tprint): Emit `N-<width>'.
5870 * src/include/printer.h (printer::set_numbered_char): Make it
5872 Make members `font_table' and `nfonts' protected instead of private.
5873 * src/devices/grohtml/post-html.cc
5874 (html_printer::set_numbered_char): New member function.
5877 * src/libs/libgroff/maxfilename.cc:
5878 s/HAVE_LIMITS_H/HAVE_CC_LIMITS_H/.
5880 * src/roff/troff/node.cc (unbreakable_space_node::tprint): Don't
5883 2003-04-03 Sergey A. Osokin <osa@freebsd.org.ru>
5885 * man/roff.man: Small fixes.
5887 2003-04-03 Werner LEMBERG <wl@gnu.org>
5889 Make groff independent from locale's numeric settings.
5891 * configure.ac: Check for `setlocale'.
5892 * configure, src/include/config.hin: Regenerated.
5894 * src/include/lib.h: Handle HAVE_SETLOCALE.
5896 * src/devices/grodvi/dvi.cc (main), src/devices/grolj4/lj4.cc
5897 (main), src/devices/grops/ps.cc (main), src/preproc/grn/main.cc
5898 (main), src/preproc/pic/main.cc (main): Call `setlocale'.
5901 * doc/groff.texinfo: Change dir category to `Typesetting'.
5902 (Man font macros): Mention that there is no space between arguments
5905 * src/libs/libdriver/printer.cc, src/devices/grotty/tty.cc
5906 (*printer::change_color, *printer::change_fill_color): Add missing
5909 2003-04-02 Werner LEMBERG <wl@gnu.org>
5911 * src/devices/grohtml/html-table.cc (html_table::emit_col,
5912 html_table::is_gap): Compute table widths after converting border
5913 positions to avoid rounding errors.
5915 2003-04-01 Werner LEMBERG <wl@gnu.org>
5917 * src/devices/grohtml/html-text.cc (html_text::do_space): Handle
5918 `space_emitted' properly.
5920 2003-03-31 Werner LEMBERG <wl@gnu.org>
5922 * src/devices/grohtml/html-table.cc: Fix column width calculation.
5923 (html_table::set_linelength): Don't add 1.
5924 (html_table::add_indent): Don't subtract 1.
5926 * tmac/html.tmac: Set default page offset to zero.
5928 2003-03-30 Werner LEMBERG <wl@gnu.org>
5930 Make groff emit ` ' for `\ ' and `\~' if `-Thtml' is used.
5932 * src/roff/troff/node.cc (space_char_hmotion_node::tprint,
5933 unbreakable_space_node::tprint): New functions.
5934 (troff_output_file): Make space_char_hmotion_mode::tprint and
5935 unbreakable_space_node::tprint to friends.
5936 * src/roff/troff/node.h: Updated.
5938 * font/devhtml/R.proto: Add ` ' at position 0xA0 (as defined
5939 in the HTML standard).
5941 2003-03-29 Werner LEMBERG <wl@gnu.org>
5943 * src/roff/troff/env.cc (point_size): Fix emission of html tag.
5944 Otherwise, the following code
5953 produces `x a' instead of `xa'. This is a temporary fix, disabling
5954 font changes in diversions for -Thtml.
5956 * tmac/an-old.tmac (TH, SH): Use `HTML-TAG-NS' instead of
5958 (an-do-tag-html): Merge with ...
5959 (an-do-tag): This macro.
5960 Change code slightly to circumvent grohtml bug.
5961 * tmac/troffrc-end: Define dummy for HTML-TAG-NS.
5963 * src/devices/grohtml/html-table.cc (html_table::emit_col,
5964 html_table::is_gap): Round `width' properly.
5966 * tmac/html.tmac: Provide some default layout parameters for
5969 * font/devhtml/DESC.proto: Don't use discrete values for `sizes'
5972 2003-03-28 Werner LEMBERG <wl@gnu.org>
5974 src/devices/grops/ps.cc (ps_printer::do_import): Fix error message.
5976 2003-03-27 Werner LEMBERG <wl@gnu.org>
5978 * tmac/an-old.tmac (BT): Don't call .tl if register `ps4html' is
5981 2003-03-20 Werner LEMBERG <wl@gnu.org>
5983 * src/roff/troff/env.cc (vertical_spacing): Allow zero value for
5985 * doc/groff.texinfo: Updated.
5987 2003-03-19 Werner LEMBERG <wl@gnu.org>
5989 * src/roff/troff/input.cc (process_input_stack) <TOKEN_BEGIN_TRAP,
5990 TOKEN_END_TRAP>: Reset `have_input'.
5992 2003-03-18 Werner LEMBERG <wl@gnu.org>
5994 * src/roff/groff/groff.man: Mention groff_trace man page.
5996 2003-03-16 Werner LEMBERG <wl@gnu.org>
5998 * Makefile.in (LIBEXT): New variable to indicate the file extension
5999 of library files. Computed heuristically from $(OBJEXT).
6000 (MDEFINES): Add $(LIBEXT).
6001 * Makefile.lib, Makefile.comm: Use it.
6003 * src/utils/pfbtops/pfbtops.c (get_text): New function. Split
6004 overlong lines into smaller chunks.
6005 (get_binary): New function.
6007 * src/utils/pfbtops/pfbtops.man: Updated.
6009 2003-03-15 Colin Watson <cjwatson@debian.org>
6011 * src/roff/groff/groff.man: Minor syntax fix.
6013 2003-03-14 Egil Kvaleberg <egil@kvaleberg.no>
6015 * src/devices/grops/ps.cc (ps_printer::media_set,
6016 ps_printer::~ps_printer): Handle zero paper width and length.
6018 2003-03-13 Werner LEMBERG <wl@gnu.org>
6020 Add options -p and -l to grodvi.
6022 * src/devices/grodvi/dvi.cc: Include paper.h.
6023 (landscape_flag, user_paper_length, user_paper_width): New global
6025 (dvi_printer::begin_page): Emit `papersize' special.
6026 Set color after initialization of `cur_h' and `cur_v'.
6027 (main): Add options `-l' and `-p'.
6028 * font/devdvi/Makefile.sub (DESC): Set `papersize'.
6029 * src/devices/grodvi/grodvi.man, NEWS: Updated.
6031 * src/devices/grops/psrm.cc (valid_input_table): Fixed.
6033 2003-03-12 Werner LEMBERG <wl@gnu.org>
6035 * src/devices/grops/grops.man: Move documentation of .PSPIC to...
6036 * man/groff_tmac.man: This man page.
6037 * man/groff_font.man: Declare `paperwidth' and `paperlength' as
6040 * tmac/X.tmac: Don't load pspic.tmac.
6042 2003-03-11 Werner LEMBERG <wl@gnu.org>
6044 Make variable `pr' local to libdriver/input.cc. Based on a patch
6045 by Bernd Warken <bwarken@mayn.de>.
6047 * src/include/driver.h (pr): Removed.
6049 * src/libs/libdriver/input.cc (pr): New global variable.
6050 (do_file): Deallocate `pr'.
6051 * src/libs/libdriver/printer.cc (pr): Removed.
6053 * src/devices/grodvi/dvi.cc (main), src/devices/grohtml/post-html.cc
6054 (main), src/devices/grolbp/lbp.cc (main), src/devices/grolj4/lj4.cc
6055 (main), src/devices/grops/ps.cc (main), src/devices/grotty/tty.cc
6056 (main): Don't delete `pr'.
6058 2003-03-10 Werner LEMBERG <wl@gnu.org>
6060 * tmac/a4.tmac, tmac/composite.tmac: Use `.do'.
6061 * tmac/papersize.tmac: New file.
6062 * tmac/troffrc: Include `papersize.tmac'.
6063 * tmac/Makefile.sub (NORMALFILES): Add `papersize.tmac'.
6064 * tmac/an-old.tmac: Set LT to LL by default.
6066 * NEWS, MANIFEST, tmac/groff_man.man, man/groff_tmac.man,
6067 doc/groff.texinfo: Updated.
6069 * src/libs/libgroff/paper.cc (add_iso_paper): Fix very embarassing
6070 bug which caused all odd iso papers to have wrong dimensions.
6072 * src/devices/grops/ps.cc (user_paper_width): New global variable.
6073 (main) <'p'>: Set `user_paper_width' also.
6074 (ps_printer::media_width, ps_printer::media_height): Use values
6075 given with option `-p'.
6077 2003-03-09 Werner LEMBERG <wl@gnu.org>
6079 * src/include/nonposix.h: Provide default for SET_BINARY.
6081 * src/devices/grodvi/dvi.cc, src/devices/grolbp/lbp.cc,
6082 src/devices/grolj4/lj4.cc, src/devices/grops/ps.cc: Call SET_BINARY
6085 * src/utils/pfbtops/pfbtops.c: Call SET_BINARY unconditionally.
6086 (main): Treat \r\n as \n.
6088 2003-03-08 Werner LEMBERG <wl@gnu.org>
6090 * tmac/an-old.tmac: Use register `HY' to control hyphenation.
6091 * NEWS, tmac/groff_man.man, doc/groff.texinfo: Document it.
6093 2003-03-07 Werner LEMBERG <wl@gnu.org>
6095 Added support to access more than 256 glyphs in Type 1 fonts.
6097 * src/devices/grops/ps.cc (subencoding): New structure.
6098 (style): Add `sub' field.
6100 (ps_printer): Add `subencodings' and `next_subencoding_index' fields.
6101 Add `set_subencoding', `get_subfont' and `encode_subfont' member
6104 (ps_printer::set_char): Use `set_subencoding'.
6105 (make_subencoding_name): New function.
6106 (ps_printer::set_style): Handle case where `sty.sub' is not zero.
6107 (ps_printer::~ps_printer): Emit subencoding definitions.
6109 * src/devices/grops/psrm.cc (valid_input_table): New array to
6110 properly support EBCDIC.
6111 (white_space): Add `\f'.
6112 (ps_get_line): Change first argument to be of type `string &'.
6113 Updated all callers.
6114 This allows to get lines of arbitrary length.
6115 Use `valid_input_table'.
6116 Remove warning about non-conforming PS line length. This seems
6117 not to be of great importance -- for example, dvips don't emit
6119 (PS_LINE_MAX): Removed.
6120 (matches_comment): Change first argument to be of type `string &'.
6122 * src/devices/grops/grops.man, src/devices/grops/TODO: Updated.
6124 * src/utils/afmtodit/afmtodit.pl (%unicode_decomposed,
6125 %AGL_to_unicode, %default_ligatures): New hash tables.
6126 Read all map entries.
6127 Add unencoded characters.
6128 Check for default ligatures if there are no `L' entries.
6129 Print all kern entries.
6130 Print all characters in charset.
6131 * src/utils/afmtodit/afmtodit.man: Updated.
6133 * font/devps/*: Regerated all fonts.
6135 * tmac/latin[129].tmac, tmac/cp1047.tmac: Don't test for existence
6136 of characters, just use `.trin'. Otherwise the mapping depends
6137 on the font encoding.
6138 * tmac/ps.tmac: Add `fi' and `fl'.
6139 Improve `Fi' and `Fl'.
6140 * tmac/X.tmac, tmac/lbp.tmac, tmac/tty.tmac: Improve `Fi' and `Fl'.
6141 * tmac/Xps.tmac: Fix `em'.
6145 2003-03-04 Werner LEMBERG <wl@gnu.org>
6147 * src/roff/troff/input.cc (charinfo_to_node_list): Reset
6150 2003-03-03 Werner LEMBERG <wl@gnu.org>
6152 * Makefile.sub (DISTCLEANFILES): Add gxditview._man.
6154 * font/devps/generate/textmap: Remove entry `similarequal'.
6155 * font/devps/symbolmap: Updated.
6157 2003-03-02 Werner LEMBERG <wl@gnu.org>
6159 * src/libs/libgroff/font.cc (font::load): Fix error message for
6162 * src/devices/grops/grops.man: Improve documentation of the -b
6165 * tmac/tty.tmac: Load latin1.tmac for all TTY devices except
6166 `ascii' and `cp1047'.
6168 2003-03-01 Werner LEMBERG <wl@gnu.org>
6170 Document composite glyphs and the `composite' request.
6172 * man/groff.man, man/groff_diff.man, doc/groff.texinfo: Do it.
6174 2003-02-28 Werner LEMBERG <wl@gnu.org>
6176 * font/devdvi/generate/ec.map: Add some more Unicode entities.
6177 * font/devdvi/*EC: Updated.
6179 * tmac/composite.tmac, tmac/latin2.tmac, tmac/latin9.tmac: New files.
6180 * tmac/latin1 (latin1-tr): Undo any previous mapping.
6181 * tmac/troffrc: Load `composite.tmac'.
6182 * tmac/Makefile.sub (NORMALFILES): Updated.
6184 * doc/groff.texinfo (Input Encodings): New section.
6187 2003-02-27 Werner LEMBERG <wl@gnu.org>
6189 * doc/texinfo.tex: New version 2003-02-11.06.
6191 * tmac/doc-common (Dt): Don't emit warning for unknown section.
6192 * tmac/groff_mdoc.man: Fix description of `Dt'.
6194 2003-02-26 Egil Kvaleberg <egil@kvaleberg.no>
6196 * font/devps/prologue.ps: Fix for included Postscript that does
6197 a setpagedevice -- which is now safely ignored.
6201 * src/devices/grops/ps.cc: Now sets the page size in the generated
6202 document. This is done in two ways: Via a %%-comment for gv and
6203 the like, and via a PageSize and setpagedevice for programs that
6204 understands Postscript proper, like ps2pdf.
6206 * src/devices/grops/ps.h: New broken-flag to avoid page size
6207 definition, if required.
6209 * src/devices/grops/grops.man: New broken-flag 16 mentioned.
6211 * doc/Makefile.in: Added -nosetpage flag (via @pnmtops_nosetpage@).
6212 Not really necessary due to the fix in prologue.ps, but cleaner:
6213 Such information does not belong in an .eps file.
6215 * doc/Makefile.sub: See doc/Makefile.in.
6217 2003-02-26 Ralph Corderoy <ralph@inputplus.co.uk>
6219 * aclocal.m4 (GROFF_PNMTOPS_NOSETPAGE): Use P2 format for testing
6220 instead of P1 since the latter is broken in some versions of netpbm.
6221 * configure: Updated.
6223 2003-02-26 Larry Kollar <kollar@alltel.net>
6225 Make man pages more customizable.
6227 * tmac/an-old.tmac (FT): New register holding footer distance from
6229 (HF): New string holding the default heading font.
6230 (TH): Handle registers `IN' and `SN' set on the command line.
6232 (PT, BT): New strings to customize header and footer lines.
6233 (an-header, an-footer): Use them.
6235 * tmac/groff_man.man: Document changes.
6237 * doc/groff.texinfo: Document man changes.
6238 Document Ultrix extensions of man.
6240 2003-02-26 Werner LEMBERG <wl@gnu.org>
6242 * src/roff/troff/input.cc (do_width, do_if_request): Reset
6243 `have_input' after changing back to old environment.
6245 * src/devices/grolbp/lbp.cc (lbp_printer::set_line_thickness): Move
6246 function up to be defined before first call. This is necessary to
6247 avoid a compilation problem with Sun's WorkShop 6 C++ compiler.
6249 * src/utils/afmtodit/afmtodit.pl: Make script search for files in
6250 the default font directory also. Based on a patch from James
6251 J. Ramsey <jjramsey_6x9eq42@yahoo.com>.
6252 * src/utils/afmtodit/Makefile.sub (afmtodit): Handle @FONTDIR@.
6253 * src/utils/afmtodit/afmtodit.man: Document it.
6257 * tmac/groff_man.man, doc/groff.texinfo: Many minor fixes.
6259 2003-02-25 Gaius Mulley <gaius@glam.ac.uk>
6261 * aclocal.m4 (GROFF_HTML_PROGRAMS): Add test for pnmtops.
6262 (GROFF_PNMTOPS_NOSETPAGE): New macro.
6263 * configure.ac: Use it.
6264 * configure: Regenerated.
6265 * Makefile.in: Updated.
6267 * tmac/Makefile.sub (NORMALFILES): Remove www.tmac.
6268 (CLEANADD): Add www.tmac-sed.
6269 (pnmtops_nosetpage): Define default.
6270 (install_data): Handle www.tmac-sed and substitute
6271 @PNMTOPS_NOSETPAGE@.
6272 (stamp-sed): Add www.tmac.
6273 * tmac/www.tmac: Rewritten, based on a patch by Bernd Warken.
6274 It now breaks URLs at suitable places.
6275 (www:substring_ok): New register set by...
6276 (www:@test_substring): New macro.
6277 (www:error): New alias to www-error.
6278 (www:lenstr, www:splitstr, www:url_breaks, www:url_breaks_splitted):
6280 (URL): Use www:url_breaks.
6281 (PIMG, MPIMG): Use @PNMTOPS_NOSETPAGE@.
6282 (CDS, CDE): New macros.
6284 2003-02-25 Werner LEMBERG <wl@gnu.org>
6286 * src/devices/grops/ps.cc (ps_printer::define_encoding): Avoid
6289 2003-02-24 Werner LEMBERG <wl@gnu.org>
6291 Contrary to the PCL5 Developer's Guide, the ascenders in TFM files
6292 can be negative also.
6294 * src/utils/hpftodit/hpftodit.cc (char_info): `ascent' must be
6296 (read_char_table): Avoid negative ascenders.
6297 (output_charset): Add cast.
6298 * font/devlj4/*: Regenerated.
6300 Replace unnamed glyphs for DVI fonts with `uXXXX' glyph names where
6303 * font/devdvi/generate/{tc,texttt,ec,texmi,texsy,textex}.map: Do it.
6304 * font/devdvi/generate/textex.map: Map glyph 23 to `u21C6' instead
6306 * font/devdvi/*: Regenerated.
6308 Map `la' and `ra' to U+27E8 and U+27E9. These two characters have
6309 normal width, while the previously used characters (U+2329 and
6310 U+232A) are classified as wide due to canonical equivalence with the
6311 CJK punctuation characters U+3008 and U+3009.
6313 * font/devutf8/R.proto: Updated.
6314 * src/roff/troff/uniglyph.cc, src/roff/troff/glyphuni.cc: Ditto.
6316 * man/groff_char.man: Simplify handling of table traps by
6317 introducing `start block' and `end block' macros.
6318 (Ns, Ne, 2s, 2e, Ds, De): New macros.
6319 (DL): Make it work with Unix troff also.
6320 Fix code values of `la' and `ra'.
6322 * tmac/dvi.tmac: Define `<>' for CW and CWI.
6324 2003-02-23 Gaius Mulley <gaius@glam.ac.uk>
6326 * src/devices/grohtml/post-html.cc (element_list::~element_list):
6327 New destructor, fixing a major memory leak.
6329 2003-02-22 Werner LEMBERG <wl@gnu.org>
6331 * font/devhtml/R.proto, font/devutf8/R.proto: Flip `*f' and `+f'
6332 to be in conformance with Unicode 3.0 and newer.
6334 * font/devlj4/generate/text.map: Add `Eu'.
6335 * font/devlj4/generate/special.map: Flip `*e' and `+e'.
6336 * font/devlj4/S: Regenerated.
6338 * man/groff_char.man: Completely rewritten.
6340 * doc/groff.texinfo: Fix description of request and macro arguments.
6342 2003-02-20 Gaius Mulley <gaius@glam.ac.uk>
6346 * src/devices/grohtml/html-table.cc (html_table::~html_table):
6347 Deallocate `columns' list.
6348 * src/devices/grohtml/post-html.cc (char_block::~char_block):
6350 (text_glob::text_glob_html, text_glob::text_glob_special,
6351 text_glob::text_glob_line, text_glob::text_glob_auto_image,
6352 text_glob::text_glob_tag): Avoid memory leaks.
6353 (text_glob::remember_table): Free memory before reassigning.
6355 2003-02-19 Werner LEMBERG <wl@gnu.org>
6357 Add glyph `+e', greek lunate epsilon symbol, and `-h' (with the
6358 alias `hbar'), the Planck constant over two pi.
6360 * font/devdvi/generate/texmi.map: Use `*e' for position 15 and
6361 `+e' for position 34.
6362 * font/devdvi/generate/texsy.map: Replace `DI' and `HE' with
6363 `u2662' and `u2661'.
6364 * font/devdvi/{MI,S}: Regenerated.
6365 * font/devhtml/R.proto, font/devutf8/R.proto: Add `+e', `-h', `hbar'.
6366 * font/devlbp/*: Add `hbar' alias.
6367 * font/devlj4/generate/special.map: Ditto.
6368 * font/devlj4/S: Regenerated.
6369 * font/devps/generate/symbolchars: Add `+e'.
6370 * font/devps/generate/textmap: Fix PS name for `-h'.
6372 * font/devps/symbolmap: Regenerated.
6374 * src/devices/grops/ps.cc (transform_fill): Removed since unused.
6376 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `+e',
6378 * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `+e',
6381 * tmac/X.tmac, tmac/ps.tmac: Provide definitions for `-h' and
6383 * tmac/tty-char.tmac: Add `+e'.
6385 2003-02-17 Werner LEMBERG <wl@gnu.org>
6387 Another round trying to really fix problems with `have_input'.
6389 * src/roff/troff/input.cc (input_stack::get): Handle `have_input'.
6390 (token::next) <'\n'>, <\'\n'>: Don't handle `have_input'.
6392 * src/devices/grotty/tty.cc (tty_printer::put_color): Fix color
6393 handling if both foreground and background colors are default.
6395 * doc/groff.texinfo (Debugging): Document .lf differences to
6398 2003-02-16 Werner LEMBERG <wl@gnu.org>
6400 * src/devices/grotty/tty.cc (tty_printer::make_rgb_string): Avoid
6401 null-bytes in created string.
6403 * src/roff/troff/input.cc (lookup_color, interpolate_macro,
6404 alias_macro, lookup_request): Improve warning messages.
6406 * src/roff/troff/node.cc (suppress_node::tprint): Use `strsave',
6408 Free `last_image_filename'.
6410 * src/preproc/html/pre-html.cc (char_block::char_block): Initialize
6412 (imageList::createPage, imageList::createImage): Use `free', not
6414 (imageItem::~imageItem): Free `imageName'.
6415 (addRegDef): Use `strsave', not `strdup'.
6416 (get_resolution): Free `pathp'.
6418 2003-02-15 Werner LEMBERG <wl@gnu.org>
6420 * src/devices/grotty/tty.cc (tty_printer::tty_printer): Fix pointer
6423 2003-02-14 Werner LEMBERG <wl@gnu.org>
6425 Add memory management for colors to deallocate unnamed colors
6428 * src/include/color.h (color): New members `free_list' and `next'.
6429 New member functions `new' and `delete'.
6431 * src/libs/libgroff/color.cc: Implement it.
6433 * src/libs/libgroff/font.cc (font::add_kern): Use integer cast
6434 for array size of new operator.
6436 * src/libs/libdriver/input.cc (IntArray::operator[]): Remove
6437 redundant comparison.
6439 * src/roff/troff/input.cc (word_space_node::reread,
6440 hmotion_node::reread): Avoid warning about unused parameter.
6441 (reset_output_registers): Remove redundant parameter.
6442 (define_color): Undo change 2003-02-12.
6444 * src/roff/troff/reg.h: Updated.
6446 * src/roff/troff/node.cc (troff_output_file::really_print_line,
6447 output_file::put_filename, real_output_file::really_put_filename,
6448 ascii_output_file::really_print_line,
6449 break_char_node::get_hyphen_list): Avoid warning about unused
6451 (suppress_node::tprint): Updated.
6453 * configure.ac: Check declaration for rand() and srand().
6454 * configure: Regenerated.
6456 * src/preproc/pic/pic.h: Declare fmod(), rand(), and srand()
6458 * src/preproc/pic/pic.y: Remove declaration of fmod(), rand(),
6461 * src/preproc/eqn/delim.cc (delim_table): Add missing initializers
6462 to avoid compiler warnings.
6464 * src/preproc/grn/hgraph.cc (HGPrintElt): Second parameter is
6467 * src/devices/grops/ps.cc (ps_printer::set_char): Last parameter
6469 * src/devices/grops/psrm.cc (skip_possible_newline): Remove first
6471 Updated all callers.
6473 * src/devices/grotty/tty.cc (tty_printer::set_char): Last parameter
6475 * src/devices/grodvi/dvi.cc (dvi_printer::set_char): Ditto.
6476 * src/devices/grolj4/lj4.cc (lj4_printer::set_char): Ditto.
6478 * src/devices/grohtml/post-html.cc (html_printer::emit_line):
6479 Parameter is unused.
6480 (html_printer::add_table_end): Define parameter conditionally.
6481 * src/devices/grohtml/output.cc (simple_output::special): Parameter
6484 * src/devices/grolbp/lbp.cc: Define _GNU_SOURCE conditionally.
6485 (lbp_printer::set_char): Last parameter is unused.
6487 * src/utils/indxbib/indxbib.cc (main): Remove redundant comparison.
6489 2003-02-13 Werner LEMBERG <wl@gnu.org>
6491 New commands \D'Fr ...', \D'Fc ...', etc. for orthogonality.
6492 Make \D'f ...' move horizontally again for backwards compatibility.
6493 Replace it with \D'Fg ...' where appropriate to avoid dependency
6494 on horizontal resolution.
6496 * src/roff/troff/input.cc (do_get_long_name): New function.
6497 (get_long_name): Call it.
6499 (read_draw_node): Handle `\D'Fx ...' by calling ...
6500 (read_color_draw_node): New function.
6502 (read_rgb, read_cmy, read_cmyk, read_gray): New optional argument
6504 Pass it to `do_get_long_name' which is used instead of
6507 * src/libs/libdriver/input.cc (color_from_Df_command): Remove
6508 unnecessary value guard.
6509 (parse_D_command) <'f'>: Add horizontal shift.
6511 * src/preproc/grn/hgraph.cc (HGPrintElt) <POLYGON>: Use \D'Fg ...'.
6512 * src/preproc/pic/troff.cc (troff_output::set_fill): Ditto.
6513 (FILL_MAX): Removed.
6515 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
6518 2003-02-12 Werner LEMBERG <wl@gnu.org>
6520 * src/roff/troff/input.cc (do_name_test, do_expr_test,
6521 do_zero_width): Push `\n' if closing delimiter is missing.
6523 (token::next) <ESCAPE_NEWLINE>, <'\n'>, <\'\n'>: Reset `have_input'.
6524 <'F'>: Make \F non-transparent at the beginning of line.
6525 (process_input_stack) <token::TOKEN_CHAR, token::TOKEN_NEWLINE,
6526 token::TOKEN_REQUEST, token::TOKEN_BEGIN_TRAP>: Don't handle
6529 (define_color): Free color in case of reassignment.
6531 * doc/groff.texinfo (@Defesc, @DefescList, @DefescItem,
6532 @DefescListEnd): Use @Var, not @var.
6535 * src/preproc/grn/hgraph.cc (HGPrintElt): Fix typo.
6537 * src/preproc/pic/object.cc (object_spec::~object_spec): Free
6538 `shaded' and `outlined' arrays.
6539 (object_spec::object_spec): Initialize `shaded' and `outlined'.
6540 (graphic_object::set_fill_color, graphic_object::set_outline_color):
6542 (closed_object::set_fill_color): Ditto.
6543 * src/preproc/pic/troff.cc (troff_output::set_color): Use strsave
6545 (troff_output::reset_color): Use a_delete instead of free.
6546 * src/preproc/pic/main.cc (do_file): Free `out' in case of error.
6548 2003-02-11 Werner LEMBERG <wl@gnu.org>
6550 * doc/groff.texinfo: Improve documentation of `ad'.
6551 Document that \D'f...' is dependent on the horizontal resolution.
6552 * man/groff_diff.man: Improve documentation of \D'f...'.
6554 * src/preproc/grn/hgraph.cc (HGPrintElt) <POLYGON>: Don't emit
6555 compensating \h'...' for \D'f ...' since the latter no longer moves
6557 * src/preproc/pic/troff.cc (troff_output::set_fill): Ditto.
6559 2003-02-10 Werner LEMBERG <wl@gnu.org>
6561 Improve error messages for `x F' (and `F') commands.
6563 * src/include/error.h: Add declaration for
6564 `current_source_filename'.
6565 * src/libs/libgroff/filename.cc: Add `current_source_filename'.
6566 * src/libs/libgroff/error.cc (do_error_with_file_and_line): Add
6567 parameter for source file string.
6568 Updated all callers.
6570 * src/libs/libdriver/input.cc: Add `current_source_filename'.
6571 (remember_source_filename): New function.
6572 (parse_x_command <'F'>, do_file <'F'>): Use it.
6574 2003-02-09 Werner LEMBERG <wl@gnu.org>
6576 Make grotty not emit warnings about unknown colors more than
6579 * src/devices/grotty/tty.cc: Include `ptable.h'.
6580 (TTY_MAX_COLORS): Removed.
6581 (DEFAULT_COLOR_IDX): Defined to -1.
6582 (glyph): Change `back_color_idx' and `fore_color_idx' to `char'.
6583 (tty_printer): Change `curr_back_idx' and `curr_fore_idx' to `char'.
6584 Change `tty_colors' to be a ptable.
6585 First arg of `put_color' is now `char'.
6586 New functions `make_rgb_string' and `tty_color'.
6587 (tty_printer::tty_printer): Use `tty_color'.
6588 (tty_printer::color_to_idx): Return value is now `char'.
6591 * src/include/color.h (color): Add `print_color' member function.
6592 * src/libs/libgroff/color.cc (color::print_color): Implement it.
6594 2003-02-08 Werner LEMBERG <wl@gnu.org>
6598 * src/devices/grops/ps.cc (ps_printer::define_encoding): Close
6601 * src/include/ptable.h (PTABLE::~PTABLE, PTABLE::define): Always
6602 assume that value has been allocated with `new[]', thus use
6603 `a_delete' for deallocation.
6605 * src/libs/libdriver/input.cc (get_integer_arg,
6606 get_possibly_int_args, parse_x_command, do_file): Use `a_delete'
6609 * src/libs/libgroff/new.cc (delete) [!COOKIE_BUG]: Define.
6610 * src/libs/libgroff/nametoindex.cc
6611 (character_indexer::named_char_index): Use `new <type>[1]'.
6613 * src/preproc/eqn/lex.cc (init_table, do_definition): Use `new
6615 * src/preproc/eqn/text.cc (set_special_char_type): Ditto.
6616 (split_text): Use `a_delete'.
6618 * src/preproc/pic/pic.y (define_label, define_variable): Use `new
6621 * src/roff/troff/env.cc (environment::choose_breakpoint): Avoid
6622 harmless memory leak.
6623 (hyphen_trie::read_patterns_file): Initialize `buf'.
6624 * src/roff/troff/node.cc (troff_output_file::troff_output_file):
6625 Initialize `current_fill_color'and `current_glyph_color'.
6626 * src/roff/troff/glyphuni.cc
6627 (glyph_to_unicode_init::glyph_to_unicode_init): Use `new <type>[1]'.
6628 * src/roff/troff/uniuni.cc
6629 (unicode_decompose_init::unicode_decompose_init): Ditto.
6630 * src/roff/troff/uniglyph.cc
6631 (unicode_to_glyph_init::unicode_to_glyph_init): Ditto.
6633 2003-01-26 Werner LEMBERG <wl@gnu.org>
6635 * src/utils/indxbib/indxbib.cc (main) [__EMX__]: Check with
6636 `access' before calling `unlink'.
6637 (do_file): Handle __EMX__.
6639 * src/include/nonposix.h: Handle __EMX__.
6641 * Makefile.in (SEP): New variable; set to @PATH_SEPARATOR@.
6642 (fontpath,tmacpath): Use it.
6644 Sorted alphabetically.
6646 * src/preproc/eqn/neqn.sh, src/roff/nroff/nroff.sh: Use
6648 * src/preproc/eqn/Makefile.sub, src/roff/nroff/Makefile.sub: Handle
6651 2003-01-27 Werner LEMBERG <wl@gnu.org>
6653 * src/libs/libgroff/strcasecmp.c, src/libs/libgroff/strncasecmp.c:
6654 New files, copied from gnulib.
6655 * src/libs/libgroff/Makefile.sub (CSRCS): Add them.
6656 * configure.ac: Updated.
6657 * configure: Regenerated.
6659 * src/include/config.hin: Regenerated.
6660 * src/include/lib.h [!HAVE_STRCASECMP]: Declare `strcasecmp'.
6661 Don't define `strcasecmp' as `strcmp'.
6662 [!HAVE_STRNCASECMP]: Declare `strncasecmp'.
6663 Dont define `strncasecmp' as `strncmp'.
6665 * src/roff/groff/pipeline.c [!HAVE_STRCASECMP, !HAVE_STRNCASECMP]:
6668 2003-01-26 Werner LEMBERG <wl@gnu.org>
6670 * src/utils/indxbib/indxbib.cc (main) [__EMX__]: Fix typo:
6673 2003-01-25 Werner LEMBERG <wl@gnu.org>
6675 * doc/groff.texinfo (Ligatures and Kerning): Mention limitations.
6677 2003-01-24 Werner LEMBERG <wl@gnu.org>
6679 Add US-english hyphenation exceptions (converted from Barbara
6680 Beeton's hyphenation exception log reports which appear irregularly
6683 * tmac/hyphen.us: Updated to latest version.
6684 * tmac/README: Updated.
6685 * tmac/hyphenex.us, tmac/hyphenex.sh: New files.
6686 * tmac/troffrc: Load `hyphenex.us'.
6687 * tmac/Makefile.sub (NORMALFILES): Add `hyphenex.us'.
6688 * doc/groff.texinfo: Updated.
6690 2003-01-23 Werner LEMBERG <wl@gnu.org>
6692 Improve hyphenation slightly. This is a first step in redesigning
6693 the hyphenation algorithm to make it more flexible (e.g. allowing
6694 kerns and ligatures between the hyphenation character and the
6695 following character -- while not used normally in English, other
6696 languages like German would benefit).
6698 * src/roff/troff/env.cc (environment::hyphenate_line): Use
6699 assertion instead of if-clause.
6700 Let `get_hyphen_list' return the number of involved characters in
6701 the hyphenation pattern instead of computing it directly (which
6702 often yields too small values).
6703 * src/roff/troff/node.h (*::get_hyphen_list): Add second parameter.
6704 * src/roff/troff/node.cc (*::get_hyphen_list): Handle new second
6707 2003-01-22 Werner LEMBERG <wl@gnu.org>
6709 Fixing a bug which caused groff to hang if the hyphenation exception
6710 dictionary tried to grow.
6712 * src/roff/troff/env.cc (hyphen_trie::insert_hyphenation,
6713 hyphen_trie::read_patterns_file, do_hyphenation_patterns_file): Use
6714 pointer to dictionary.
6716 2003-01-20 Werner LEMBERG <wl@gnu.org>
6718 * src/utils/afmtodit/afmtodit.pl: Add switch `-m' to suppress
6719 negative left italic correction.
6720 * src/utils/afmtodit/afmtodit.man: Document it.
6722 * font/devps/generate/Makefile (RFLAG): Add `-m'.
6723 * font/devps/{AB,AR,BMB,BMR,CB,CR,EURO,HB,HR,HNB,HNR,NB,NR,PB,PR,
6724 S,TB,TR,ZD,ZDR}: Regenerated with afmtodit options `-i 0 -m'.
6728 2003-01-16 Werner LEMBERG <wl@gnu.org>
6732 2003-01-16 Jörgen Grahn <jgrahn@algonet.se>
6734 * src/preproc/refer/refer.man: Mention REFER environment variable.
6736 2003-01-05 Werner LEMBERG <wl@gnu.org>
6738 Similar to \[is], the square root glyph (\[sr]) and the square root
6739 extension glyph (\[radicalex]) are now text symbols. The new
6740 mathematical versions are called \[sqrt] and \[sqrtex],
6743 * font/devX*/S: Regenerated.
6744 * font/devdvi/generate/texex.map: Rename `sr[0123]' to `sqrt[0123]'.
6745 * font/devdvi/generate/texsy.map: Rename `sr' to `sqrt'.
6746 * font/devdvi/EX, font/devdvi/S: Regenerated.
6747 * font/devhtml/R.proto, font/devutf8/R.proto: Add `sqrt'.
6748 * font/devlj4/generate/special.map: Add `sqrt'.
6749 * font/devlj4/S: Regenerated.
6750 * font/devps/generate/textmap: Add `sqrt'.
6751 * font/devps/S, font/devps/symbolmap: Regenerated.
6753 * src/preproc/eqn/sqrt.cc (SQRT_CHAR, RADICAL_EXTENSION_CHAR,
6754 SQRT_CHAIN, BAR_CHAIN): Use `sqrt*' and `sqrtex*'.
6755 * src/roff/troff/input.cc (init_charset_table): Make `sqrtex'
6756 overlap horizontally.
6758 * tmac/X.tmac, tmac/ps.tmac, tmac/lj4.tmac: Add `sqrtex'.
6759 * tmac/dvi.tmac: Add `sr', and `sqrtex'.
6762 * doc/groff.texinfo, man/groff_diff.man: Document that `radicalex'
6763 and `sqrtex' are overlapping glyphs.
6765 2003-01-04 Werner LEMBERG <wl@gnu.org>
6767 * font/devdvi/generate/texsy.map: Add `is'.
6768 * font/devps/symbolmap: Regenerated.
6769 * font/devdvi/*TC, MI, S: Regenerated.
6771 * tmac/dvi.tmac: Remove `is'.
6773 2003-01-03 Werner LEMBERG <wl@gnu.org>
6775 `is' is now a text symbol (only relevant for dvi). The math variant
6776 can be accessed with `integral'.
6778 * font/devX*/S: Regenerated.
6779 * font/devdvi/generate/texex.map: Remove `is'.
6780 * font/devdvi/EX: Updated.
6781 * font/devhtml/R.proto, font/devutf8/R.proto: Add `integral'.
6782 * font/devlj4/generate/special.map: Ditto.
6783 * font/devlj4/S: Regenerated.
6784 * font/devps/generate/textmap: Add `integral'.
6785 * font/devps/S: Regenerated.
6787 * tmac/dvi.tmac: Define `is'.
6789 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `integral'.
6791 * src/preproc/tbl/main.cc (process_format): Fix error message.
6793 2003-01-02 Werner LEMBERG <wl@gnu.org>
6795 * font/devhtml/R.proto, font/devutf8/R.proto: Add `ne' and `nc'.
6796 * font/devps/textmap: Fix entries for `ne' and `nc'.
6797 * font/devps/symbolmap: Regenerated.
6799 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list),
6800 src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `18',
6801 `38', `58', `78', `-+', `|=', `nc', `ne'.
6803 * tmac/dvi.tmac: Add `nm', `ne', `nc'.
6804 Use `schar' for `aq'.
6805 * tmac/ps.tmac, tmac/X.tmac: Add `nc' and `ne'.
6806 * tmac/ec.tmac: Add `SC' to special fonts for `CW' and `CWI'.
6807 * tmac/tty.tmac: Add `ne'.
6809 * src/roff/troff/node.cc (make_glyph_node): Test with `get_macro'
6810 for fallback glyphs.
6812 2002-12-29 Werner LEMBERG <wl@gnu.org>
6816 * font/devX*/*: Regenerated.
6817 * font/devdvi/generate/ec.map: Remove `eq'.
6818 * font/devdvi/generate/texsy.map: Make `~=' the same as `~~'.
6819 Assign `|=' to position 39.
6820 * font/devdvi/*EC, S: Regenerated.
6821 * font/devhtml/R.proto, font/devutf8/R.proto: Add `|='.
6822 * font/devlj4/generate/special.map: Make `~=' the same as `~~'.
6823 Assign `|=' to position 549.
6824 * font/devps/generate/textmap, font/devps/enerate/symbolmap: Remove
6826 Add `uni2243' for `|='.
6828 * tmac/ec.tmac: Add `eq'.
6829 * tmac/dvi.tmac: Add `=~'.
6830 * tmac/tty-char.tmac, tmac/ps.tmac, tmac/X.tmac, tmac/lbp.tmac: Add
6833 2002-12-21 Werner LEMBERG <wl@gnu.org>
6835 * font/devdvi/generate/tc.map: Remove `**'.
6836 * font/devdvi/*TC: Regenerated.
6837 * font/devhtml/R.proto, font/devutf8/R.proto: Add `18', `38', `58',
6839 * font/devutf8/NOTES: Updated.
6841 * src/roff/troff/charinfo.h (charinfo): Add `setx_macro' function.
6842 Don't give default parameter to `set_macro'.
6843 * src/roff/troff/input.cc (do_define_character): Use `setx_macro'
6844 instead of `set_macro'.
6845 (charinfo::setx_macro): Implement it.
6846 (charinfo::set_macro): Don't change `mode'.
6848 * tmac/tty.tmac: Add `18', `38', `58', `78', `<<', `>>'.
6849 * tmac/ps.tmac, tmac/X.tmac: Add `<<', `>>'.
6850 * tmac/dvi.tmac: Define `!=' with `.schar'.
6852 2002-12-20 Werner LEMBERG <wl@gnu.org>
6854 * font/devX*/S: Regenerated.
6855 * font/devdvi/generate/ec.map: Remove `pl'.
6856 * font/devdvi/generate/tc.map: Remove `mi', `14', `12', `34'.
6857 * font/devdvi/*{TC,EC}: Regenerated.
6858 * font/devhtml/R.proto: Add `-+'.
6859 Remove double entries for `rk', `lk', `lt', `rt', `rb', `lb'.
6860 * font/devlbp/*: Remove `or'.
6861 * font/devlj4/generate/special.map: Remove `or'.
6862 * font/devlj4/S: Regenerated.
6863 * font/devps/generate/textmap: Add `fiveeighths', `oneeighth',
6864 `seveneighths', `threeeighths'.
6866 Replace `minusplus' with `uni2213'.
6867 * font/devps/symbolmap: Regenerated.
6868 * font/devutf8/R.proto: Replace `shc' with unnamed glyph.
6871 * src/roff/troff/charinfo.h (charinfo): Add `is_normal' inline
6873 * src/roff/troff/node.cc (troff_output_file::put_char_width):
6874 Call glyph_color and fill_color even if tcommand_flag isn't set.
6875 (make_node, node::add_char): Check not ci->is_fallback but
6878 * tmac/lj4.tmac, tmac/lbp.tmac: Define `or'.
6879 * tmac/ec.tmac: Add .rchar entry for `f/'.
6880 Don't remove `12', `14', `34'.
6881 Define `pl' to be always roman.
6882 * tmac/ps.tmac (ps-frac, ps-frac-mono): New macros.
6883 Define `18', `38', `58', `78'.
6884 * tmac/tty.tmac: Add `-+'.
6885 * tmac/dvi.tmac: Define `f/'.
6886 (dvi-frac): Use `f/'.
6887 * tmac/X.tmac (X-frac, X-frac-mono): New macros.
6888 Define `18', `38', `58', `78'.
6890 2002-12-15 Colin Watson <cjwatson@debian.org>
6892 * contrib/pic2graph/pic2graph.sh: Add missing `;;'.
6894 2002-12-10 Werner LEMBERG <wl@gnu.org>
6896 Add glyph `tno', a textual variant of `no'.
6898 * font/devX*/*: Regenerated.
6899 * font/{devcp1047,devlatin1,devutf8,devhtml}/R.proto: Add `tno'.
6900 * font/devdvi/generate/{tc.map: Replace `no' with `tno'.
6901 * font/devdvi/generated/{texsy,textex}.map: Add `tno'.
6902 * font/devdvi/*: Regenerated.
6903 * font/devlbp/*: Add `tno'.
6904 * font/devlj4/generate/tex.map: Replace `no' with `tno'.
6905 * font/devlj4/*: Regenerated.
6906 * font/devps/generate/textmap: Replace `no' with `tno'.
6907 * font/devps/generate/symbolchars: Add `no'.
6908 * font/devps/*: Regenerated.
6910 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `tno'.
6912 * tmac/cp1047.tmac, tmac/latin1.tmac: Replace `no' with `tno'.
6913 * tmac/tty-char.tmac: Add entry for `tno' and `3d'.
6917 * tmac/dvi.tmac: Replace most `\\' with `\E'.
6918 Add definition for `sd'.
6919 * tmac/X.tmac, tmac/ps.tmac: Replace most `\\' with `\E'.
6921 * tmac/eqnrc <dvi>: Use `integral' instead of `is' glyph.
6923 2002-12-08 Werner LEMBERG <wl@gnu.org>
6925 * tmac/an-old.tmac (TH): Use integer value for `IN' if in nroff
6926 mode to avoid rounding errors.
6927 (an-do-tag, an-do-tag-html, RS, RE): Remove redundant `.br'.
6929 * src/roff/groff/groff.man, src/roff/nroff/nroff.man,
6930 src/roff/troff/troff.man: Improve documentation of -T.
6932 2002-12-07 Jeff Conrad <jeff_conrad@msn.com>
6934 * src/roff/groff/pipeline.c: Don't define `const' for _WIN32.
6935 (run_pipeline) [_WIN32]: Provide working function without `fork'.
6937 2002-12-06 Werner LEMBERG <wl@gnu.org>
6939 * font/devps/generate/freeeuro.sfd: Make dimensions of Euro.symbol
6940 glyphs compatible to Adobe's Euro fonts (scaling them down a bit).
6941 Scaling Euro.sansserif glyphs down to have the same height as
6943 Removed unnecessary points; added some extrema.
6945 * font/devps/EURO, font/devps/freeeuro.afm, font/devps/freeeuro.pfa:
6948 2002-12-04 Werner LEMBERG <wl@gnu.org>
6950 * font/devps/generate/freeeuro.sfd: Add glyphs `Euro.symbol.slanted'
6951 and `Euro.symbol.bold.slanted'.
6952 Improve some glyph offsets and widths.
6953 * font/devps/EURO, font/devps/freeeuro.afm, font/devps/freeeuro.pfa:
6955 * font/devps/generate/Makefile (freeeuro.afm freeeuro.pfa): Fix
6957 * font/devps/generate/sfdtopfa.pe: Generate PFA in current
6960 * tmac/europs.tmac: Updated to new glyph indices.
6961 Use Euro.symbol for font familiy `A'.
6963 * doc/groff.texinfo: Minor improvements.
6965 2002-12-02 Werner LEMBERG <wl@gnu.org>
6967 * font/devdvi/generate.tc.map: s/%O/%0/.
6968 * font/devdvi/*TC: Regenerated.
6970 * src/roff/troff/div.cc (init_div_requests): Sorted.
6972 * tmac/dvi.tmac: Remove `Ye'.
6973 * tmac/ec.tmac: Remove `Ye'.
6974 Add .rchar entry for `de'.
6976 * man/groff.man, man/groff_diff.man: Document register `.pe'.
6977 * doc/groff.texinfo: Document registers `.pe', `.n', and `.w'.
6980 2002-11-30 Werner LEMBERG <wl@gnu.org>
6982 Add PS font for various Euro glyphs.
6984 * font/devps/generate/freeeuro.sfd: New master font file for
6986 * font/devps/generate/sfdtopfa.pe: New conversion script for
6988 * font/devps/generate/Makefile (FONTS): Add `EURO'.
6989 (EURO, freeeuro.afm, freeeuro.pfa): New rules.
6990 * font/devps/freeeuro.pfa, font/devps/freeeuro.afm: Generated from
6992 * font/devps/EURO: Generated from `freeeuro.afm'.
6993 * font/devps/download: Add `freeuro.pfa'.
6994 * font/devps/Makefile.sub (NORMALFILES): Adde `EURO' and
6997 * tmac/europs.tmac: New file.
6998 * tmac/ps.tmac: Include `europs.tmac'.
6999 * tmac/Makefile.sub (DISTFILES): Add `europs.tmac'.
7001 2002-11-29 Werner LEMBERG <wl@gnu.org>
7003 * font/devdvi/generate/texsy.map: Remove `lh' and `rh'.
7004 * font/devdvi/S: Regenerated.
7005 * font/devhtml/R.proto: Fix `CR' and `ci'.
7007 * font/devps/generate/textmap: Fix `lh', `rh', and `sq'.
7009 * font/devps/symbolmap: Regenerated.
7010 * font/devutf8/R.proto: Fix `CR' and `ci'.
7012 * font/devutf8/NOTES: Updated.
7014 * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Fix `CR' and
7017 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Ditto.
7019 * tmac/dvi.tmac: Add `lh' and `rh'.
7020 * tmac/Xps.tmac: Fix `lh' and `rh'.
7021 * tmac/X.tmac: Add `OK'.
7022 * tmac/lj4.tmac: Ditto.
7024 2002-11-24 Werner LEMBERG <wl@gnu.org>
7026 * font/devX*/S: Regenerated.
7027 * font/devascii/R.proto, font/devcp1047/R.proto: Remove glyphs `lb',
7028 `lc', `lf', `lk', `lt', `rb', `rc', `rf', `rk', and `rt'.
7029 * font/devdvi/generate/texsy.map: Remove `or' glyph.
7030 * font/devdvi/S: Regenerated.
7031 * font/devhtml/R.proto, font/devutf8/R.proto: Add/fix glyphs
7032 `parenlefttp', `parenleftex', `parenleftbt', `parenrighttp',
7033 `parenrightex', `parenrightbt', `bracketlefttp', `bracketleftex',
7034 `bracketleftbt', `bracketrighttp', `bracketrightex',
7035 `bracketrightbt', `bracelefttp', `braceleftmid', `braceleftbt',
7036 `braceex', `braceleftex', `bracerightex', `bracerighttp',
7037 `bracerightmid', `bracerightbt', `lt', `lk', `lb', `rt', `rk',
7039 * src/roff/troff/glyphuni.cc, src/roff/troff/uniglyph.cc: Ditto.
7040 * font/devutf8/NOTES: Updated.
7041 * font/devlj4/generate/special.map: Add glyph `braceex'.
7042 * font/devlj4/S: Regenerated.
7044 * tmac/tty-char.tmac: Add glyphs `lf', `rf', `lc', and `rc'.
7046 2002-11-14 Werner LEMBERG <wl@gnu.org>
7048 * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `va'
7051 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Ditto.
7053 * doc/texinfo.tex: New version from texinfo 4.3.
7054 * doc/groff.texinfo: Updated for texinfo 4.3.
7055 Use @tie{} where appropriate.
7056 * font/devdvi/generate/ec.map: Don't include `or' and `bv'.
7057 * font/devdvi/generate/tc.map: Remove `rn'.
7058 * font/devdvi/*TC, font/devdvi/*EC: Regenerated.
7059 * font/devhtml/R.proto, font/devutf8/R.proto: Add `vA'.
7061 * font/devX100/*, font/devX100-12/*, font/devX75/*,
7062 font/devX75-12/*: Regenerated.
7064 * tmac/dvi.tmac: Add special fonts `SA' and `SB'.
7065 Use .char (again) for `br', `ul', `rn', `or', and `ru'.
7066 Improve definition of `an'.
7067 * tmac/ps.tmac: Use .char (again) for `br', `ul', `rn', `or', and
7069 * tmac/lj4.tmac: Use .char (again) for `br', `ul', `rn', and `ru'.
7070 * tmac/X.tmac: Add definition for `or'.
7071 * tmac/Xps.tmac: Undo change 2002-11-05.
7072 * tmac/lbp.tmac: Add definitions for `br', `rn', `ul', and `ru'.
7074 2002-11-11 Werner LEMBERG <wl@gnu.org>
7076 * src/roff/troff/node.cc (troff_output_file::put_char): Always
7079 2002-11-10 Werner LEMBERG <wl@gnu.org>
7081 Added three new requests `schar', `fschar', and `rfschar'. `schar'
7082 defines a glyph which is searched after the check for fonts declared
7083 with `.special' (and before the check for all mounted special
7084 fonts). `fschar' defines a glyph for a particular font which is
7085 searched after the check for fonts declared with `.fspecial' (and
7086 before the check for fonts declared with `.special'). `rfschar'
7087 removes glyphs defined with `fschar'.
7089 * src/roff/troff/token.h (char_mode): New enum.
7090 Declare do_define_character.
7091 * src/roff/troff/charinfo.h (charinfo): Replace `fallback' with
7093 (charinfo::is_fallback): Updated.
7094 (charinfo::is_special): New method.
7095 * src/roff/troff/input.cc (do_define_character): Add and use
7096 optional second parameter used as a prefix for font-specific glyph
7098 (define_character, define_fallback_character): Updated.
7099 (define_special_character): New function.
7100 (init_input_requests): Add `schar'.
7101 (charinfo::charinfo, charinfo::set_macro): Updated.
7102 * src/roff/troff/node.cc: Include `stringclass.h'.
7103 (make_glyph_node): Handle special glyphs defined with `.schar' and
7105 (define_font_special_character, remove_font_special_character): New
7107 (init_node_requests): Sorted.
7108 Add `fschar' and `rfschar'.
7109 * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
7110 Document new requests.
7112 * font/devhtml/R.proto, font/devutf8/R.proto: Add `va'.
7113 * tmac/dvi.tmac: Add `va' for CW and CWI (using `.fschar').
7115 2002-11-08 Werner LEMBERG <wl@gnu.org>
7117 Added new font `SC' (cmtex10) to devdvi.
7119 * devdvi/generate/Makefile (FONTS): Add `SC'.
7121 * devdvi/generate/textex.map: New map file for cmtex.
7123 * devdvi/Makefile.sub (DEVFILES): Updated.
7124 * tmac/dvi.tmac: Add fspecial entries for SC.
7125 Add `MI', `S' and `CW' to the `special' call. Otherwise, `SC' is
7126 found before `S' since the font position of `SC' is lower due to the
7127 gaps in DESC's `font' line.
7128 * tmac/ec.tmac: Add a `special' call.
7131 * font/devhtml/R.proto: Remove double entry for `ti'.
7132 * tmac/tty.tmac: Add entries for `IJ', `ij', and `bq'.
7133 * tmac/tty-char.tmac: Remove entry for `bq'.
7134 * tmac/lbp.tmac: Add entries for `lq', `rq', `fo', `fc', and `em'.
7135 * tmac/ec.tmac: Don't remove `aq' glyph.
7136 * tmac/X.tmac: Fix entry for `em'.
7137 Add entries for `fo' and `fc'.
7138 * tmac/dvi.tmac: Add entries for `em', `en', `hy', `fo', and `fc'.
7140 * doc/groff.texinfo, man/groff.man, man/groff_diff.man: Fix
7141 documentation of `special' and `fspecial' requests.
7143 2002-11-05 Werner LEMBERG <wl@gnu.org>
7145 * font/devascii/R.proto, font/devcp1047/R.proto,
7146 font/devlatin1/R.proto: Remove entry for `.i'.
7147 * font/devdvi/generate/textt.map: Add entry for `ad'.
7148 * font/devdvi/generate/texr.map, font/devdvi/generate/texb.map,
7149 font/devdvi/generate/texi.map: Add dummy glyph name `slash@for@l'.
7150 We need this for getting kerning values to compose `/l' and `/L'.
7151 * font/devdvi: Regenerated font definition files for CM fonts.
7152 * font/devhtml/R.proto: Add entries for "'C", "'c", `IJ', and `ij'.
7153 * font/devutf8/R.proto: Ditto.
7154 Remove double entry for `ti'.
7156 * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Fix entries
7157 for (groff) ligatures, `la', and `ra'.
7158 Add "'C", "'c", `IJ', and `ij'.
7159 Remove double entry for `ti'.
7160 * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Remove all
7162 Add "'C", "'c", `IJ', and `ij'.
7163 Fix entries for (groff) ligatures, `la', and `ra'.
7165 * tmac/ps.tmac (ps-achar): New macro.
7166 Define "'c" and "'C".
7167 * tmac/tty.tmac: Add entry for `.i'.
7168 * tmac/X.tmac (X-achar): New macro.
7169 Define "'c", "'C", and `:Y'.
7170 Add entries for `IJ' and `ij'.
7171 * tmac/Xps.tmac (Xps-achar): New macro.
7172 Define "'c" and "'C".
7173 Add entries for `IJ' and `ij'.
7174 * tmac/lbp.tmac (lbp-achar): New macro.
7175 Add fallback characters for all groff ligatures and many other
7177 * tmac/dvi.tmac: Fix definitions of `_' and `ul'.
7178 Add entries for `/l' and `/L'.
7179 Define "'c" and "'C".
7180 Add entries for `IJ' and `ij'.
7182 2002-11-02 Larry Kollar <kollar@alltel.net>
7184 * PROBLEMS: Document how to solve Mac OS X compilation problems.
7186 2002-11-02 Werner LEMBERG <wl@gnu.org>
7188 Adding support for composite glyphs: \[xxx yyy ...] and the
7189 `composite' request.
7191 * src/roff/troff/glyphuni.cc: New file for mapping groff glyph names
7192 to Unicode-based glyph names.
7193 * src/roff/troff/uniglyph.cc: New file for mapping Unicode-based
7194 glyph names to groff glyph names.
7195 * src/roff/troff/uniuni.cc: New file for canonically decomposing
7196 Unicode-based glyph names.
7197 * src/roff/troff/unicode.cc, src/roff/troff/unicode.h: New files
7198 for handling Unicode glyph names.
7199 * src/roff/troff/input.cc: Include unicode.h.
7200 (composite_glyph_name): New function.
7201 (token::next) <'['>: Handle Unicode glyph names and composite
7203 (composite_dictionary): New dictionary for the `composite' request.
7204 (composite_request): Implement `composite' request.
7205 (init_input_requests): Add `composite'.
7206 Alphabetically sorted.
7207 * src/roff/troff/env.cc (tabs_save, tabs_restore): Removed (already
7209 (init_env_requests): Alphabetically sorted.
7210 Removed `tas' and `tar' (already commented out).
7211 * src/roff/troff/Makefile.sub: Updated.
7213 2002-10-31 Ruslan Ermilov <ru@FreeBSD.org>
7215 * src/roff/nroff/nroff.man, src/roff/nroff/nroff.sh: Fix description
7218 2002-10-29 Werner LEMBERG <wl@gnu.org>
7220 Fix computation of .trunc register. Additionally, its value (and
7221 the value of the .ne register) is now always set before entering the
7224 * src/roff/troff/div.cc (diversion::need): Set `truncated_space' and
7225 `needed_space' before calling `space'.
7226 (top_level_diversion::space): Remove special code for 'sp before the
7228 Call `begin_page' with the discarded space as a parameter.
7229 (top_level_diversion::begin_page): Add optional parameter to set
7231 * src/roff/troff/div.h: Updated.
7233 * doc/groff.texinfo: Improve documentation of .sp, \n[.trunc], and
7236 * tmac/an-old.tmac (SH, SS, TP, IP, HP, TS): Undo change 2002-10-26.
7237 (LP): Remove superfluous call to `br'.
7238 * tmac/doc-common (doc-paragraph): Undo change 2002-10-26.
7239 * tmac/doc.tmac (Bd, Bl, doc-set-vertical-and-indent): Ditto.
7241 2002-10-26 Werner LEMBERG <wl@gnu.org>
7243 * tmac/doc-ditroff: Remove useless switch/variable -rC.
7244 (doc-setup-header): Don't set page register `%'.
7245 * tmac/doc-nroff: Remove variable `C'.
7246 (doc-setup-page-layout): Set doc-header-space to .5i unconditionally.
7247 (doc-setup-header): Don't set page register `%'.
7249 * tmac/doc-common (doc-header): Call `ns'.
7250 (doc-paragraph): Protect .sp with .br so that it survives traps
7251 possibly set by the user.
7252 * tmac/doc.tmac (Bd, Bl, doc-set-vertical-and-indent): Ditto.
7254 * tmac/doc*: Replace ' with . for consistency if no effect.
7256 2002-10-26 Werner LEMBERG <wl@gnu.org>
7258 * tmac/an-old.tmac (SH, SS, TP, IP, HP, TS): Protect .sp with .br
7259 so that it survives traps possibly set by the user.
7261 * src/roff/troff/node.cc: Fix the changes from 2002-10-23.
7262 (troff_output_file::set_font): Call flush_tbuf if necessary.
7263 (troff_output_file::fill_color, troff_output_file::glyph_color): Call
7264 flush_tbuf and do_motion only if necessary.
7265 (troff_output_file::start_special,
7266 troff_output_file::put_char_width, troff_output_file::put_char,
7267 troff_output_file::draw): Updated.
7268 (word_space_node::tprint, space_node::tprint, hmotion_node::tprint,
7269 vmotion_node::tprint): Undo change 2002-10-23.
7271 2002-10-25 Werner LEMBERG <wl@gnu.org>
7273 * tmac/www.tmac (DC): Fix case of overlapping images.
7275 2002-10-23 Werner LEMBERG <wl@gnu.org>
7277 * src/roff/troff/node.cc (troff_output_file::fill_color,
7278 troff_output_file::glyph_color): Set current color before testing
7280 (troff_output_file::put_char_width, troff_output_file::put_char,
7281 troff_output_file::draw): Don't call flush_tbuf and/or do_motion
7283 (troff_output_file::file_color, troff_output_file::glyph_color):
7285 (word_space_node::tprint, space_node::tprint, hmotion_node::tprint,
7286 vmotion_node::tprint): Move first, then call fill_color.
7288 2002-10-20 Werner LEMBERG <wl@gnu.org>
7290 * doc/groff.texinfo, man/groff_tmac.man: Document that it is not
7291 possible to use multiple main macro packages.
7293 2002-10-19 Werner LEMBERG <wl@gnu.org>
7295 * src/devices/grops/ps.cc (cmyk_flag): New global variable.
7296 (ps_printer::set_color): Set `cmyk_flag' for CMY and CMYK colors.
7297 (ps_printer::~ps_printer): Emit `%%Extensions: CMYK' if `cmyk_flag'
7299 * font/devps/prologue.ps (Fk, Ck): Enclose definitions with a
7300 `where' construction since `cmyksetcolor' is a PS Level 2 operator.
7302 2002-10-16 Werner LEMBERG <wl@gnu.org>
7304 * NEWS, doc/webpage.ms: Updated.
7306 2002-10-14 Werner LEMBERG <wl@gnu.org>
7308 * src/roff/troff/node.cc (troff_output_file::put_char_width,
7309 troff_output_file::put_char, troff_output_file::fill_color,
7310 troff_output_file::glyph_color): Handle case where color pointer
7313 2002-10-13 Ruslan Ermilov <ru@FreeBSD.org>
7315 Add the new -r option to grotty. It is similar to the -i option
7316 except it tells grotty(1) to use the `reverse video' attribute to
7317 render italic fonts.
7319 * src/devices/grotty/tty.cc (reverse_flag): New global variable.
7320 (SGR_REVERSE, SGR_NO_REVERSE): New macros.
7321 (tty_printer::make_underline, tty_printer::put_color,
7322 tty_printer::end_page): Use it.
7323 (main): Add -r switch.
7325 * src/devices/grotty/grotty.man: Document it.
7327 2002-10-11 Ruslan Ermilov <ru@FreeBSD.org>
7329 * src/roff/troff/env.cc (hyphen_trie::read_patterns_file): Add
7330 cast to `unsigned char' to properly read patterns with 8bit
7333 2002-10-08 Werner LEMBERG <wl@gnu.org>
7335 * REVISION: Increased to 2.
7338 version-control: never