2 Version 1.20.1 released
3 =======================
5 `gnu.png' isn't needed any more.
7 * doc/Makefile.in: Don't handle or create `gnu.png'.
8 Update all affected targets.
10 * doc/Makefile.sub: Don't handle or create `gnu.png'.
11 Update alll affected targets.
14 `gnu.eps' was missing in the tarball.
15 Problem reported by Patrik Gräser.
17 (PROCESSEDEXAMPLEFILES): Remove `gnu.eps'.
18 (MOSTLYCLEANNOTSRCDIRADD): Fix names of info files.
19 (install_data): Handle `gnu.eps' specially.
21 * MORE.STUFF: Mention texi2html's troff backend.
22 Mention http://groff.ffii.org/groff/contrib.
24 * README: Mention `MORE.STUFF'.
26 * NEWS, doc/webpage.ms, doc/groff.texinfo: Updated.
28 2009-01-08 Werner LEMBERG <wl@gnu.org>
30 * */Makefile.* (CLEANADD, CLEANNOTSRCDIRADD, CLEANDIRADD): Renamed
32 (MOSTLYCLEANADD, MOSTLYCLEANNOTSRCDIRADD, MOSTLYCLEANDIRADD): This.
34 2009-01-06 Werner LEMBERG <wl@gnu.org>
36 Remove heuristics for LIBEXT.
38 * configure.ac: Provide LIBEXT.
39 * Makefile.in: Use it.
41 * configure: Regenerated.
43 2009-01-05 Werner LEMBERG <wl@gnu.org>
48 2009-01-05 Werner LEMBERG <wl@gnu.org>
50 * */*: Update FDL 1.1 to FDL 1.3.
52 2009-01-05 Werner LEMBERG <wl@gnu.org>
54 * */*: Update copyright year.
56 2009-01-05 Werner LEMBERG <wl@gnu.org>
60 2009-01-05 Werner LEMBERG <wl@gnu.org>
62 * doc/texinfo.tex (\key): Fix excessive whitespace.
63 (\texinfoversion): Tag file as patched.
65 2009-01-05 Werner LEMBERG <wl@gnu.org>
67 * tmac/s.tmac (@TS, TE, @EQ, @EN), tmac/an-old.tmac (TS, TE, EQ,
68 EN), tmac/e.tmac (TS, TE, EQ, EN): Set line length to a large value
69 if processed with -Thtml.
71 2009-01-04 Werner LEMBERG <wl@gnu.org>
73 * tmac/www.tmac (TS, TE, EQ, EN): Set line length to a large value
74 if processed with -Thtml to avoid warning messages (from code
75 inserted by tbl, for example).
77 2009-01-04 Gunnar Florus <http://florus.no>
79 * */*: Update GPL2 to GPL3.
81 2009-01-04 Werner LEMBERG <wl@gnu.org>
83 * Makefile.in (dist): Don't use soft links but copy files to
84 preserve the file's time stamps.
85 * Makefile.sub (configure): Remove `autom4te.cache'.
87 2009-01-04 Werner LEMBERG <wl@gnu.org>
89 * tmac/de.tmac: Fix German date strings. Reported by Axel Kielhorn.
91 2009-01-04 Werner LEMBERG <wl@gnu.org>
93 * doc/texinfo.tex: Updated from `texinfo' CVS repository.
94 * doc/txi-en.tex: New file from `texinfo' CVS repository.
96 2009-01-04 Werner LEMBERG <wl@gnu.org>
98 * font/make-Rproto: Moved to...
99 * font/util/make-Rproto: Here.
101 * Makefile.in (NOMAKEDIRS): Add `m4', `font/devps/old', and
104 2009-01-04 Werner LEMBERG <wl@gnu.org>
106 * src/roff/troff/TODO: Mention local variables.
108 2009-01-03 Werner LEMBERG <wl@gnu.org>
110 * contrib/hdtbl/examples/col_rowspan_colors.roff,
111 contrib/hdtbl/examples/color_boxes.roff,
112 contrib/hdtbl/examples/color_nested_tables.roff,
113 contrib/hdtbl/examples/color_table_cells.roff,
114 contrib/hdtbl/examples/color_transitions.roff,
115 contrib/hdtbl/examples/short_reference.roff: Minor improvements.
117 2009-01-03 Werner LEMBERG <wl@gnu.org>
119 * doc/webpage.ms: Updated.
121 2009-01-03 Werner LEMBERG <wl@gnu.org>
123 * NEWS, doc/groff.texinfo, font/devps/*, VERSION, REVISION: Prepare
126 2009-01-03 Werner LEMBERG <wl@gnu.org>
128 * src/preproc/tbl/table.cpp (table::compute_expand_width,
129 table::compute_separation_factor): In warning messages, don't refer
130 to pages but to input line numbers.
132 2009-01-03 Werner LEMBERG <wl@gnu.org>
134 * tmac/groff_ms.man: Improve formatting of tables.
136 2009-01-03 Werner LEMBERG <wl@gnu.org>
138 * tmac/www.tmac (www->): Handle XHTML.
139 (HTML</p>): Handle non-HTML devices.
140 (www:url_check_tag): Avoid warnings.
142 2009-01-03 Werner LEMBERG <wl@gnu.org>
144 * tmac/an-old.tmac, tmac/doc.tmac: For -Tutf8, map \-, -, ', and `
145 conservatively to ASCII for the sake of easy cut and paste.
147 2009-01-03 Werner LEMBERG <wl@gnu.org>
149 * NEWS: Mention hdtbl.
151 2009-01-02 Werner LEMBERG <wl@gnu.org>
153 * tmac/groff_mdoc.man: Update OS version string listing.
155 2009-01-02 Werner LEMBERG <wl@gnu.org>
157 * config.rpath, m4/codeset.m4, m4/glibc21.m4, m4/iconv.m4,
158 m4/lib-link.m4, m4/lib-prefix.m4, src/include/localcharset.h,
159 src/libs/libgroff/config.charset, src/libs/libgroff/localcharset.c,
160 src/libs/libgroff/ref-add.sin, src/libs/libgroff/ref-del.sin:
161 Updated from `gnulib' git repository.
163 * configure: Regenerated.
165 2009-01-02 Werner LEMBERG <wl@gnu.org>
167 * tmac/ptx.tmac: New file.
169 * NEWS, man/groff_tmac: man: Document it.
171 2008-12-30 Werner LEMBERG <wl@gnu.org>
173 Fix more quoting issues.
175 * tmac/www.tmac (BCL, BGIMG, PIMG, MPIMG, LNS): For the sake of
176 XHTML, quote more arguments.
179 2008-12-30 Werner LEMBERG <wl@gnu.org>
181 Fix quoting issues in www.tmac.
183 * tmac/www.tmac (www:url_breaks_splitted): Renamed to...
184 (www:url_breaks_split): This.
185 (www->): New string to close tag singletons like <img> or <hr>. In
186 XHTML mode (not implemented yet), this has to be changed from `>' to
188 (IMG): Don't use </img>
190 (PIMG, MPIMG): Don't use </img>
192 Fix doublequote issues.
193 (HR): Don't use </hr>.
195 (LNS): Fix doublequote issues.
197 2008-12-24 Michail Vidiassov <master@iaas.msu.ru>
199 * tmac/doc-common: Add entries for Mac OS X and FreeBSD.
201 2008-12-22 Alexey Gladkov <legion@altlinux.ru>
203 * contrib/groffer/perl/roff2.pl: Fix syntax error.
205 2008-12-15 Werner LEMBERG <wl@gnu.org>
207 * NEWS: Mention `preconv'.
209 2008-11-12 Werner LEMBERG <wl@gnu.org>
211 Implement `x' specifier for expanded columns. Contrary to old DWB
212 tbl, more than a single `x' specifier can be used. At the same
213 time, remove most of the code from change 2007-02-09 which collides
214 with the new implementation.
216 * src/preproc/tbl/main.cpp (format): Add `expand' array.
217 (format::format, format::~format): Updated.
218 (input_entry_format): Add `expand' field.
219 (input_entry_format::input_entry_format): Updated.
220 (input_entry_format::debug_print): Handle `expand'.
221 (process_format): Handle `x' specifier.
222 (process_data): Updated.
224 * src/preproc/tbl/table.cpp (AVAILABLE_REG, COLCOUNT_REG): Remove.
225 (EXPAND_REG): New macro.
226 (table_entry::divert, block_entry::divert,
227 alphabetic_block_entry::divert): Add parameter to control whether
228 expanded columns shall be handled.
229 (block_entry::do_width): Remove.
230 (block_entry::do_divert): Add parameter to control whether expanded
231 columns shall be handled.
232 Treat expanded columns like columns with a minimum width.
233 Remove `experimental' code.
234 (table::table, table::~table, table::allocate): Updated.
235 (table::set_expand_column): New function.
236 (table::count_block_columns): Replace with...
237 (table::count_expand_columns): This function.
238 (table::divide_span): Handle expanded columns the same as equal
240 (table::sum_columns): Add parameter to control whether expanded
241 columns shall be handled.
242 (table::compute_available_block_width): Replace with...
243 (table::compute_expand_width): This function.
244 (table::compute_total_separation): New function, taking code from
245 `compute_separation_factor'.
246 (table::compute_separation_factor): Simpler code. The check for the
247 `EXPAND' flag has been moved to the caller.
248 (table::compute_widths): Add `top-level' changes to handle expanded
251 * src/preproc/tbl/table.h (table): New field `total_separation'.
252 Remove `blockflag' array.
254 Update member function declarations.
256 * src/preproc/tbl/tbl.man: Document `x' specifier.
257 Expand documentation to cover all aspects of Lesk's tbl reference.
259 * NEWS: Document `x' specifier.
261 2008-11-08 Werner LEMBERG <wl@gnu.org>
263 * src/preproc/tbl/tbl.man: Restructuring.
264 Improve text block documentation.
266 2008-11-07 Werner LEMBERG <wl@gnu.org>
268 * src/preproc/tbl/table.cpp (table::compute_widths): Use default
269 scaling operator for minimum width. Without this fix, `lw3' (or
270 `lw(3)' would be handled as a column with a minimum width of 3u
273 2008-11-05 Werner LEMBERG <wl@gnu.org>
275 * tmac/doc-common (Dt): Start a new page if necessary and set up
278 * tmac/andoc.tmac (reload-doc): Simplify due to change in
283 2008-10-18 Werner LEMBERG <wl@gnu.org>
285 * src/preproc/tbl/main.cpp (process_format): Rename `x' and `X' to
286 `m' and `M', respectively.
287 Sort entries in `switch' block.
288 * src/preproc/tbl/tbl.man: Updated.
289 Sort key entries; other minor improvements.
291 2008-10-17 Werner LEMBERG <wl@gnu.org>
293 * src/preproc/tbl/table.cpp (table::compute_available_block_width):
295 (table::compute_widths): Replace some code with new function
296 (shifted to a more appropriate place).
297 * src/preproc/tbl/table.h: Updated.
299 2008-10-16 Werner LEMBERG <wl@gnu.org>
301 * tmac/doc-common (doc-operating-system-*), tmac/groff_mdoc.man: Add
304 2008-10-13 Werner LEMBERG <wl@gnu.org>
306 * tmac/groff_mdoc.man: Update documentation on BSD-like OS string
309 2008-10-10 Werner LEMBERG <wl@gnu.org>
311 * man/roff.man, doc/groff.texinfo: Improve the history part. This
312 is based on input from Tom Van Vleck <thvv@multicians.org>.
315 * src/preproc/eqn/sqrt.cpp (sqrt_box::compute_metrics): Assure that
316 value of `rst' register is not zero, as can happen for the HTML
317 output device. Otherwise, there are too many loops, and we get a
318 stack overflow because of recursion.
320 2008-10-05 Stephen Gildea <http://www.gildea.com/stephen/>
322 * src/preproc/ref/ref.cpp (reference::compute_sort_key): Do
323 not insert SORT_SEP before the first field, so that sort_key
324 has the same format as before the patch of 2003-08-23.
326 2008-10-04 Werner LEMBERG <wl@gnu.org>
328 * tmac/doc-common (doc-operating-system-*): Update releases.
330 * tmac/an-old.tmac (an-extra1, an-extra2, an-extra3): Initialize.
332 * tmac/andoc.tmac: Rewritten, based on a preliminary version from
333 Tadziu Hoffmann. It can now process multiple man pages with both
334 man and mdoc formats intermixed.
336 * NEWS, tmac/groff_man.man, tmac/groff_mdoc.man,
337 man/groff_tmac.man: Document it.
339 2008-10-04 Werner LEMBERG <wl@gnu.org>
341 * src/roff/troff/input.cpp (do_suppress): Make \O[3], \O[4], and
342 \O[5] non-transparent w.r.t. beginning-of-line recognition (similar
343 to the other \O variants).
345 * tmac/www.tmac (TS, TE, EQ, EN): Don't use .als for setting up
346 default macros. This causes endless loops (at least for TE).
348 * doc/groff.texinfo: Improve documentation of `.als'.
350 2008-10-03 Werner LEMBERG <wl@gnu.org>
352 * src/devices/grops/grops.man, src/roff/troff/troff.man,
353 src/preproc/soelim/soelim.man: Correct documentation of -I switch.
354 Reported by Larry Kollar.
355 Other minor formatting issues.
357 2008-10-02 Werner LEMBERG <wl@gnu.org>
359 * tmac/trace.tmac: Much improved.
360 (trace-full): New register to be set on the command line; it
361 controls whether number and string register assignments get traced
363 (!!c): New macro for comments.
364 (rm): New traced macro.
365 (de, de1, am, am1): Use \\[xxx]\\ calling method to pass \$0 to
366 `!!xxx'; this makes doc.tmac completely traceable.
367 Trace call of .de and friends also.
369 * tmac/groff_tmac.man, NEWS: Update.
371 2008-09-30 Werner LEMBERG <wl@gnu.org>
373 Restore behaviour of \$0 if a macro is called with string syntax
374 (problem caused by change on 2008-09-29).
376 * src/roff/troff/input.cpp (input_iterator, input_stack,
377 macro_iterator): Add `get_macro_name' member function.
378 (interpolate_string): Use it.
380 2008-09-29 Werner LEMBERG <wl@gnu.org>
382 Make \\*[xxx]\\ within a macro (with `xxx' a macro too) work as
383 expected. Without the patch,
394 prints `2 3' instead of `1 2 3'.
396 * src/roff/troff/input.cpp (input_iterator, input_stack,
397 macro_iterator): Add `get_arg_list' member function.
398 (macro): Add `is_a_string', `is_string', and `clear_string_flag'
400 Update constructors and operators.
401 (arg_list): Add copy constructor.
402 (macro_iterator): Add optional argument to constructor to indicate
403 whether arguments shall be inherited from calling macro.
404 (interpolate_string): If string argument is a macro, push a macro
405 iterator on the stack.
406 (do_define_macro): Call clear_string_flag if macro data contains a
409 * src/roff/troff/request.h: Updated.
411 2008-09-29 Eric S. Raymond <esr@snark.thyrsus.com>
413 * doc/pic.ms: Fold in documentation of pic2plot(1) capabilities.
414 Improve the documentation of text objects.
416 2008-09-28 Eric S. Raymond <esr@snark.thyrsus.com>
418 * contrib/pic2graph, contrib/pic2graph.man, contrib/eqn2graph,
419 contrib/eqn2graph.man: Tweak scripts to cope with incompatible
420 changes in ImageMagick crop options. Document the bugs.
422 2008-09-28 Werner LEMBERG <wl@gnu.org>
424 If a macro is called as a string, inherit value of \n[.br] from the
425 caller. This is useful for `trace.tmac'.
427 * src/roff/troff/input.cpp (string_iterator): New members
428 `with_break' and `get_break_flag'.
429 (string_iterator::string_iterator): Updated.
431 * doc/groff.texinfo: Improve documentation of \$0 and string syntax
433 Document behaviour of \n[.br] within strings.
435 2008-09-26 Werner LEMBERG <wl@gnu.org>
437 * tmac/trace.tmac: Add copyright message.
438 Use `.de1' where possible to make source code more readable.
439 (so, mso, als, rn): Restore escape character before executing the
441 (de, de1, am, am1): Trace `.foo' also if called as `\\[foo]'.
443 2008-09-24 Werner LEMBERG <wl@gnu.org>
445 Fix incompatibility between `.de1' and `.do'. Without this change,
446 the following snippet
454 prints 1 instead of 0.
456 * src/roff/troff/input.cc (do_request): If a macro gets processed,
458 (interpolate_macro): Add optional argument. Update callers.
459 (request::invoke): Add optional argument.
460 (macro::invoke): Add optional argument to delay call of tok.next().
462 * src/roff/troff/request.h (request_or_macro): Add argument to
463 `invoke' member. Update all derived classes.
465 * doc/groff.texinfo: Improve documentation of .do request.
467 2008-09-09 Werner LEMBERG <wl@gnu.org>
469 * tmac/an-old.tmac (FT): Initialize properly. Reported by Tadziu
472 2008-09-06 Werner LEMBERG <wl@gnu.org>
474 * tmac/doc-common (Dd, Os, Dt): Reset `doc-command-name' to make
475 `.Nm' work properly if next manual page is printed.
477 2008-08-20 Werner LEMBERG <wl@gnu.org>
479 * src/preproc/tbl/tbl.man: Document computation of element widths.
481 2008-08-20 Alexey Gladkov <legion@altlinux.ru>
482 Werner LEMBERG <wl@gnu.org>
484 Add default encoding option -D to preconv and groff.
486 * src/preproc/preconv/preconv.cpp (default_encoding): Make it an
489 (main): Handle new option -D.
491 * src/preproc/preconv/preconv.man: Updated.
493 * src/roff/groff/groff.cpp (main): Handle new option -D.
494 (synopsis, help): Updated.
495 * src/roff/groff/groff.man: Updated.
497 2008-07-26 Werner LEMBERG <wl@gnu.org>
499 * tmac/eqnrc (.EQ, .EN): Provide default definitions. Reported
502 * tmac/www.tmac (.EQ, .EN, .TS, .TE): Fix definitions.
504 2008-07-24 Denis M. Wilson <dmw@oxytropis.plus.com>
506 New options -f and -k for afmtodit.
508 * src/afmtodit/afmtodit.pl: New options `-f NAME' sets the internal
509 name of the groff font.
510 New option `-k' disables output of kerning data.
511 * src/afmtodit/afmtodit.man, NEWS: Document new options.
513 2008-07-18 Werner LEMBERG <wl@gnu.org>
515 * src/preproc/tbl/table.cpp (table::compute_separation_factor): Emit
516 warning messages if table gets squeezed.
517 (table::compute_widths): Fix computation of AVAILABLE_REG.
518 Emit warning if table is wider than line length.
520 * src/preproc/tbl/tbl.man: Minor improvements.
522 2008-05-02 Larry Jones <lawrence.jones@siemens.com>
524 * contrib/chem/Makefile.sub (README, examples/README): In makefiles,
525 the `$<' macro is only guaranteed to be defined in inference rules,
526 not in explicit target rules. Since there is only one input file in
527 the places where it is used, the `$?' macro (which is guaranteed to be
528 defined for both kinds of rules) is a suitable replacement.
530 * hdtbl/examples/fonts_n.in, hdtbl/examples/fonts_n.in: Most
531 versions of ls don't have a `--color' option.
533 2008-04-30 Larry Jones <lawrence.jones@siemens.com>
535 * Makefile.comm (depend.temp): Add `EXTRA_CCFLAGS'.
537 2008-04-29 Larry Jones <lawrence.jones@siemens.com>
539 * src/eqn/script.cpp (script_box::output): Portability fix.
541 2008-04-05 Dorai Sitaram <ds26gte@yahoo.com>
543 Add better support for `.TAG #<label>' in non-HTML documents: In
544 case of a forward reference in a call to .URL, write `(see below)'.
545 In case of a backwards reference use the page number instead. The
546 reference gets stored in a string `TAG_<label>' and can be
547 overridden while calling `.TAG' with its new optional argument --
548 this is useful for a second-pass system which resolves forward
551 * tmac/www.tmac (www:url_check_tag): New function.
553 (TAG): Add optional argument to define string `TAG_<label>'.
555 2008-03-24 Werner LEMBERG <wl@gnu.org>
557 * tmac/trace.tmac (so, mso): Added.
559 * tmac/www.tmac (PIMG): Replace `.ie' (without `.el') with `.if'.
560 If used with -mtrace, and this clause was active, the macro was
563 * tmac/pspic.tmac (PSPIC): Accept option `-C' for orthogonality.
564 This makes `.PIMG -C <file>' (from www.tmac) work on non-HTML
566 * man/groff_tmac.man: Document it.
568 2008-02-26 Werner LEMBERG <wl@gnu.org>
570 * src/roff/troff/input.cpp: s/safer_flag/unsafe_flag/.
571 Update all occurrences so that \n[.U] works as advertised. Bug
572 reported by Dorai Sitaram.
574 2008-02-17 Werner LEMBERG <wl@gnu.org>
576 * doc/groff.texinfo: Improve documentation of .cf request.
578 2008-01-19 Werner LEMBERG <wl@gnu.org>
580 * src/preproc/html/pre-html.cpp (usage): Don't describe options but
581 mention that it should never be called stand-alone.
583 * tmac/groff_www.man, doc/groff.texinfo, man/groff_font.man,
584 man/groff_tmac.man, man/groff_out.man, README, README.MinGW,
585 src/roff/groff/groff.man: Mention -Txhtml.
587 * man/groff_font.man, man/groff_tmac.man, man/roff.man: Revised.
589 2008-01-16 Werner LEMBERG <wl@gnu.org>
591 * src/libs/libgroff/font.cpp (font::contains, font::get_code):
592 Handle single-letter names correctly.
594 * doc/groff.texinfo, man/groff_diff.man: Extend documentation of \^
598 2008-01-15 Werner LEMBERG <wl@gnu.org>
600 * man/groff_font.man: Revised.
602 2008-01-14 Werner LEMBERG <wl@gnu.org>
604 * man/groff.man: Mention glyph and characters.
606 * man/groff_char.man: Minor updates.
607 * man/groff_diff.man: Better clarification between characters and
610 2008-01-12 Werner LEMBERG <wl@gnu.org>
612 * doc/groff.texinfo: Fix top-level structure to make it compilable
613 again with all texinfo modes. Reported by Jörg van den Hoff
614 <j.van_den_hoff@fzd.de>.
616 2008-01-11 Werner LEMBERG <wl@gnu.org>
618 * doc/pic.ms: Mention that compass points of line objects are
621 2008-01-06 Werner LEMBERG <wl@gnu.org>
623 * src/roff/troff/node.cpp (left_italic_corrected_node::add_self):
624 Don't remove itself if there is no glyph associated with the node
625 yet. This happens, for example, in this situation:
632 2008-01-05 Werner LEMBERG <wl@gnu.org>
634 * man/groff_char.man, man/groff.man: Revised.
636 * src/preproc/eqn/lex.cpp (troff_defs): Fix typo.
638 2008-01-04 Werner LEMBERG <wl@gnu.org>
639 * */*: s/Osanna/Ossanna/.
641 * */*.man: Replace .URL with .UR/.UE (except in groff_www.tmac).
642 Replace .MTO with .MT/.ME (except in groff_www.tmac).
643 Insert `\:' in URLs where appropriate.
644 Don't include www.tmac (except in groff_www.tmac).
646 * man/groff.man (.ESC[]): Fix font of closing bracket.
647 (.ESCq): Fix font of closing quote character.
648 Many other improvements.
650 2007-12-30 Bernhard Fisseni <bfi@ikp.uni-bonn.de>
652 * src/devices/grohtml/post-html.cc
653 (html_printer::writeHeadMetaStyle): Fix CSS output.
655 2007-12-29 Werner LEMBERG <wl@gnu.org>
657 * tmac/ec.tmac: Add CM fonts to the .fspecial lines; those fonts
658 contain additional glyphs (like some uppercase Greek letters).
660 2007-12-06 Werner LEMBERG <wl@gnu.org>
664 2007-12-06 Colin Watson <cjwatson@debian.org>
666 * src/roff/nroff/nroff.sh: Add options -w and -W.
667 * src/roff/nroff/nroff.man: Document them.
669 2007-12-06 Karl Berry <karl@freefriends.org>
671 * tmac/hyphenex.pl: Update header output.
673 2007-11-29 Werner LEMBERG <wl@gnu.org>
675 * src/devices/grotty/tty.cpp (tty_printer::line): Fix line lengths.
677 2007-11-20 Werner LEMBERG <wl@gnu.org>
679 * doc/pic.ms: Add Heinz-JĂ¼rgen's 3d boxes example.
681 2007-11-17 Werner LEMBERG <wl@gnu.org>
683 * src/roff/nroff/nroff.sh: Handle GROFF_TYPESETTER environment
684 variable. Problem reported by Michael G Schwern
687 * src/roff/nroff/nroff.man: Document it.
690 2007-11-17 Heinz-JĂ¼rgen Oertel <hj.oertel@t-online.de>
692 * src/groff/preproc/pic/lex.cpp (table): Add box attributes
693 `xslanted' and `yslanted'.
695 * src/groff/preproc/pic/object.cpp (object_spec::object_spec):
696 Initialize `xslanted' and `yslanted'.
697 (graphic_object): Add methods `set_xlanted' and `set_yslanted'.
698 (closed_object): Ditto.
699 Add members `xslanted' and `yslanted'.
700 (box_object::print): Use them.
701 (object_spec::make_object): Handle slant values.
702 * src/groff/preproc/pic/object.h (IS_XSLANTED, IS_YSLANTED): New
704 (object_spec): Add members `xslanted' and `yslanted'.
705 * src/groff/preproc/pic/pic.y (XSLANTED, YSLANTED): New left-valued
709 * src/groff/preproc/pic/pic.man, NEWS, doc/pic.ms: Document above
712 2007-11-16 Werner LEMBERG <wl@gnu.org>
714 * tmac/hyphenex.pl: Generate copyright notice (this has been
715 approved by Barbara Beeton).
716 * tmac/hyphenex.us: Updated.
718 2007-11-10 Michail Vidiassov <master@iaas.msu.ru>
720 * tmac/doc-syms (doc-str-St--susv3): New string.
721 * tmac/groff_mdoc.man: Document it.
723 2007-11-08 Werner LEMBERG <wl@gnu.org>
725 * src/preproc/preconv/preconv.cpp (emacs_to_mime): Add `utf-16be',
726 `utf-16le', `utf-16be-with-signature', `utf-16le-with-signature'.
727 (is_comment_line): Handle '\" and '\# also.
729 * src/preproc/preconv/preconv.man: Revise and make complete.
731 2007-10-25 Werner LEMBERG <wl@gnu.org>
733 * tmac/cs.tmac: New file holding Czech strings, contributed by
734 Marcela Maslanova <mmaslano@redhat.com>.
735 * tmac/hyphen.cs, tmac/hyphenex.cs: New hyphenation pattern files
736 for Czech, taken from CTAN.
738 * tmac/Makefile (NORMALFILES): Add Czech stuff.
739 * doc/groff_tmac.man: Mention cs.tmac.
741 2007-10-21 Werner LEMBERG <wl@gnu.org>
743 * src/roff/troff/input.cpp (do_ps_file): Handle `%X' in header
744 comments correctly. Reported by Frank Jahnke
745 <jahnke@sonatabio.com>.
747 2007-10-02 Ruslan Ermilov <ru@FreeBSD.org>
749 * tmac/doc-common, tmac/groff_doc.man: Add FreeBSD 6.2, document
752 * tmac/doc-syms: Give better names for System V releases.
754 2007-09-25 Gaius Mulley <gaius@glam.ac.uk>
756 * doc/Makefile.in, doc/Makefile.sub (.ms.html): Add -P-V switch to
757 the production of html files.
759 Remove background colour switch.
760 (.SUFFIXES, clean): Handle *.xhtml files.
762 * src/devices/grohtml/grohtml.man: Document that -V option now
763 generates an HTML-4.01 validator or XHTML validator.
765 * src/devices/grohtml/html-text.cpp (html_text::end_tag,
766 html_text::start_tag): Suppress <small>, <big>, and <color> tags if
767 we are inside a <pre> block.
769 * src/devices/grohtml/post-html.cpp
770 (html_printer::handle_valid_flag): Add a parameter to indicate
771 whether it needs to generate a paragraph block.
772 (html_printer::write_navigation): Updated.
773 (html_printer::do_file_components): Generate an HTML-4.01 blue
774 validator button also.
776 2007-09-23 Axel Kielhorn <A.Kielhorn@web.de>
778 * man/groff.man: Fix URL of CSTR 54.
780 2007-09-23 Werner LEMBERG <wl@gnu.org>
782 * man/groff_char.man: Normalize character set names as defined
783 by IANA. Based on a patch from Axel Kielhorn.
785 * src/preproc/refer/label.y: Undo change from 2007-09-19.
787 2007-09-19 Werner LEMBERG <wl@gnu.org>
789 * src/roff/troff/input.cpp (interpolate_arg): Remove compiler
792 * src/preproc/eqn/pile.cpp (pile_box::output, matrix_box::output):
793 Remove compiler warning.
795 * src/preproc/refer/label.y: Remove compiler warning.
797 * src/preproc/pic/pic.y: Remove doubled token entries.
799 2007-09-19 Gaius Mulley <gaius@glam.ac.uk>
801 * doc/groff.texinfo: Document new .O register and add cross
806 * src/devices/grohtml/grohtml.man: Document new -V and -y options.
808 * src/devices/grohtml/html-table.cpp: Add support for XHTML 1.1.
809 (html_table:: emit_colspan, html_table::emit_td): New methods.
810 (html_table::emit_col): Use html_table::emit_td.
811 (html_table::emit_table_header): Use html_table::emit_colspan if
812 dialect xhtml is specified.
813 (html_table::finish_row): Updated.
815 * src/devices/grohtml/html-table.h (html_table): Declare
816 emit_colspan, emit_td.
818 * src/devices/grohtml/html-text.cpp: Modified tags to comply with
819 xhtml if this dialect was requested.
821 * src/devices/grohtml/html-text.h (html_dialect): New enumeration.
822 (html_text): Add new variable `dialect'.
824 * src/devices/grohtml/post-html.cpp: Modify header tags to be XHTML
826 (valid_flag, groff_sig, dialect): New global variables.
827 (html_printer::handle_valid_flag, html_printer::do_math,
828 html_printer::write_html_anchor, html_printer::write_xhtml_anchor,
829 html_printer::do_math, html_printer::handle_valid_flag): New
831 (html_printer::emit_line, html_printer::emit_raw,
832 html_printer::do_check_center, html_printer::write_title,
833 write_rule, html_printer::writeHeadMetaStyle, generate_img_src,
834 html_printer::begin_page): Altered to be XHTML compliant.
835 (html_printer::write_header): Updated.
836 (html_printer::troff_tag): Call do_math.
837 (html_printer::insert_split_file, html_printer::do_file_components,
838 html_printer::write_navigation): Create XHTML file components if
839 necessary and also produces a groff signature if requested.
840 (~html_printer): Call writeHeadMetaStyle at appropriate places
841 depending upon html_dialect.
842 (html_printer::special): Handle new tags `html<?p>' and `math<?p>'.
843 (main): Added options -x, -V, and -y.
846 * src/preproc/eqn/box.cpp: Create a distinction between
847 the MathML device and the XHTML device.
848 (do_text): Issue a newline at the end of the equation if XHTML was
850 (box::top_level): Prefix the output of an equation by the .MATHML
852 (output_string): Suppress \n if XHTML was specified.
854 * src/preproc/eqn/main.cpp (xhtml): New global flag.
855 (inline_equation): Skip leading spaces after inline equation for
857 (main): Set `xhtml' flag if `-Tmathml:xhtml' is specified.
859 * src/preproc/eqn/eqn.h (xhtml): New external flag.
861 * src/preproc/eqn/text.cpp (entity_table): Fix typo.
863 * src/preproc/html/pre-html.cpp (html_dialect): New enumeration.
864 (dialect, eqn_flag): New global variables.
865 (html_system): Improve debugging support.
866 (alterDeviceTo): Test for -Txhtml when altering device to the image
867 device and reset to -Txhtml.
868 (addZ): Renamed to...
870 Introducea a general parameter.
871 (print_args): New debugging function.
872 (char_buffer::run_output_filter): Use print_args and addArg rather
874 (char_buffer::do_html, char_buffer::do_image): Add -rxhtml=1 command
875 line parameter as an argument to the html generation of text when
876 xhtml is needed. Include -e on the command line if mathml is
878 (scanArguments): Allow -e, -V, -y and -x options.
879 -V, -y are handled by the back end. -e sets `eqn_flag'.
880 -x determines HTML dialect.
882 * src/roff/groff/groff.cpp (possible_command): New method
884 (main): Set eflag if -e is present on command line.
885 Set is_xhtml if -Txhtml is present.
886 Pass `-x x' to the HTML pre and post processors.
887 Pass `-e' to the HTML pre processor if required.
888 Pass `-Tmathml:xhtml' to eqn if XHTML is requested.
890 * src/roff/troff/input.cpp (init_input_requests): Introduce new
891 number register `\n[.O]'.
893 * tmac/s.tmac: (LP): Use .nop for semantic sugar.
894 (cov*ab-init) reformat.
895 (@EQ): Use EQN-HTML-IMAGE and friends rather than HTML-IMAGE.
896 (CHECK-FOOTER-AND-KEEP): Define FS, FE such that they use
897 <cite></cite> for the html device rather than generate images for
900 * tmac/troffrc-end: Define EQN-HTML-IMAGE,
901 EQN-HTML-IMAGE-END, EQN-HTML-IMAGE-RIGHT,
902 EQN-HTML-IMAGE-LEFT, EQN-HTML-IMAGE-INLINE,
903 EQN-HTML-DO-IMAGE, EQN-HTML-IMAGE-END as null strings.
905 * tmac/www.tmac: (HTML<?p>): New macro.
906 (MATH<?p>): New macro.
907 (IMG, PIMG, MPIMG, HR): Use XHTML compliant syntax.
908 (www-emit-ltag): New macro.
909 (www-push-li): Updated.
910 (ULS): Ensure that tags are balanced in order by use of
912 (ULE): Likewise: Use www-emit-ltag and shut down paragraphs in
914 (OLS, OLE, DLS, DLE): Ditto.
915 <global>: Define EQ and EN to EQN-HTML-IMAGE and EQN-HTML-IMAGE-END
917 (www-li-ul, www-li-ol, www-li-dl): Updated.
918 (EQN-HTML-IMAGE, EQN-HTML-IMAGE-RIGHT, EQN-HTML-IMAGE-LEFT,
919 EQN-HTML-IMAGE-INLINE, EQN-HTML-DO-IMAGE, EQN-HTML-IMAGE-END,
922 2007-09-17 Werner LEMBERG <wl@gnu.org>
924 * man/groff_font.man: Document `unicode' keyword.
925 * doc/groff.texinfo (DESC File Format): Synchronize with
928 2007-09-15 Werner LEMBERG <wl@nu.org>
930 * man/groff.man: Document `\_'.
931 * doc/groff.texinfo: Ditto.
932 Remove references to `\@' which isn't a valid escape sequence in
936 * tmac/unicode.tmac: Add ` and '.
937 * tmac/html.tmac: Load unicode.tmac.
939 2007-09-14 Werner LEMBERG <wl@gnu.org>
941 * tmac/unicode.tmac: Make `-' a pure input character by mapping it
944 * src/roff/troff/input.cpp (init_charset_table): Handle `hy'.
946 2007-09-11 Werner LEMBERG <wl@gnu.org>
948 * src/libs/libgroff/string.cpp (string::remove_spaces): Fix memory
951 * src/preproc/tbl/table.cpp (table::allocate): Initialize
954 2007-09-10 Keith Marshall <keith.d.marshall@ntlworld.com>
956 * README.MinGW: Add warnings about use of MSYS-RXVT, and about
957 defective GnuWin32 versions of netpbm/libpng.
959 2007-07-15 Keith Marshall <keith.d.marshall@ntlworld.com>
961 * tmac/s.tmac (cov*first-page-init): Remove invoking trap, to avoid
964 2007-07-11 Werner LEMBERG <wl@gnu.org>
966 * gendef.sh: Add shebang.
968 2007-07-05 Werner LEMBERG <wl@gnu.org>
970 * tmac/papersize.tmac: Fix dimensions of executive paper format.
971 Reported by John Rupley <rupley@u.arizona.edu>.
973 2007-07-02 Keith Marshall <keith.d.marshall@ntlworld.com>
975 * tmac/s.tmac (cov*first-page-init): Emit error message if not in
976 top-level environment.
978 2007-06-12 Werner LEMBERG <wl@gnu.org>
980 * src/devices/xditview/TODO, NEWS: Updated.
981 * src/devices/xditview/Makefile.sub (install_data, uninstall_sub):
982 Handle `GXditview-color'.
983 * src/devices/xditview/gxditview.man: Updated.
985 * m4/groff.m4 (GROFF_APPRESDIR_CHECK): Updated.
986 * m4/codeset.m4, m4/glibc21.m4, m4/iconv.m4, m4/lib-link.m4: Updated
987 from `gnulib' git repository.
989 * configure.ac: Updated.
990 * configure: Regenerated (using autoconf 2.61).
992 * config.guess, config.sub: Updated from `config' CVS repository.
993 * config.rpath, install-sh, mkinstalldirs: Updated from `gnulib' git
996 2007-06-12 Tadziu Hoffmann <hoffmann@usm.uni-muenchen.de>
998 * src/devices/xditview/GXditview.ad: Split off color definitions
1000 * src/devices/xditview/GXditview-color.ad: This new file.
1002 2007-06-08 Fabrice MĂ©nard <menard.fabrice@wanadoo.fr>
1004 * tmac/fr.tmac: Handle chapter system for `me'.
1006 2007-06-05 Tadziu Hoffmann <hoffmann@usm.uni-muenchen.de>
1008 * src/devices/xditview/xditview.c (main): Add support for
1011 * src/devices/xditview/GXditview.ad: Updated.
1012 Make widget more colourful.
1014 2007-05-30 Werner LEMBERG <wl@gnu.org>
1016 * tmac/groff_mdoc.man: Convert `-' to `\-' where appropriate.
1017 Recommend `tbl' instead of `-column' lists for more complicated
1020 2007-05-21 Werner LEMBERG <wl@gnu.org>
1022 * src/devices/grops/ps.cpp (ps_printer::set_char): Handle subfonts
1025 2007-04-10 Werner LEMBERG <wl@gnu.org>
1027 In pic, make rounded boxes work with colors. Reported by Urs Eggli
1028 <Urs.Eggli@zuerich.ch>.
1030 * src/preproc/pic/common.h (common_output), src/preproc/pix/output.h
1031 (output): Add color parameter to `rounded_box' member function.
1033 * src/preproc/pic/common.cpp (common_output::rounded_box): Use it.
1035 * src/preproc/pic/object.cpp (box_object::print): Pass `color_fill'
1036 to `out->rounded_box'.
1038 2007-04-09 Michail Vidiassov <master@iaas.msu.ru>
1040 * font/devps/generate/textmap: Add Greek letters and some more.
1042 * src/utils/afmtodit/afmtodit.tables: Change values of `Delta',
1043 `Omega', and `mu' to the ones from aglfn.txt.
1045 2007-04-08 Keith Marshall <keith.d.marshall@ntlworld.com>
1047 * tmac/s.tmac (SN): Define unconditionally.
1048 (SN-STYLE): New string; define.
1050 * NEWS, tmac/groff_ms.man, doc/groff.texinfo (SN-STYLE): Document it.
1052 2007-03-22 Werner LEMBERG <wl@gnu.org>
1054 * tmac/pspic.tmac: Fix harmless numeric overflow warning. Reported
1055 by Jörg van den Hoff <j.van_den_hoff@fzd.de>.
1057 2007-03-20 Werner LEMBERG <wl@gnu.org>
1059 * tmac/trace.tmac (rn): Added.
1060 (nr, ds, ds1, as, as1, substring): Restore escape character while
1061 executing the macro.
1062 (nr): Remove dead code.
1064 * src/preproc/eqn/box.cpp (box::top_level): Use \E in string
1065 definitions to make them traceable.
1067 2007-03-19 Werner LEMBERG <wl@gnu.org>
1069 * src/roff/troff/input.cpp (get_copy): Add third argument to control
1070 whether \E shall be expanded.
1071 (get_char_for_escape_name): Allow \E.
1073 2007-03-15 Werner LEMBERG <wl@gnu.org>
1075 * tmac/s.tmac (MO, CH, pg*OH, pg*EH, pg*OF, pg*EF, *, [., .],
1076 par*define-font-macro, \[hooko]): Use \E to make it traceable.
1078 (ref*field): Add argument to control the space between previous and
1081 (ref*add-N): Fix handling of opening parenthesis. Problem reported
1082 by Jörg van den Hoff <j.van_den_hoff@fzd.de>.
1084 2007-03-14 Werner LEMBERG <wl@gnu.org>
1086 * tmac/trace.tmac (als): Added.
1087 (de, de1, am, am1): Make traced macros aliased with .als work.
1089 2007-02-25 Werner LEMBERG <wl@gnu.org>
1091 * src/devices/xditview/TODO: Add some more items.
1093 * Makefile.comm (.man.n): Add @APPRESDIR@.
1096 * src/devices/xditview/gxditview.man: Document GXditview resource
1098 Other documentation enhancements based on a patch from Jörg.
1100 2007-02-25 Tadziu Hoffmann <hoffmann@usm.uni-muenchen.de>
1101 Joerg van den Hoff <j.van_den_hoff@fzd.de>
1103 * src/devices/xditview/GXditview.ad: Make all keys work regardless
1104 of the current mouse position.
1106 2007-02-20 Werner LEMBERG <wl@gnu.org>
1108 * tmac/groff_man.man: Revised to improve visual appearance.
1109 Reduce use of future tense.
1111 * tmac/groff_trace.man: Revosed to improve visual appearance.
1113 2007-02-19 Eric S. Raymond <esr@snark.thyrsus.com>
1115 Make groff.man viewer-portable.
1117 * tmac/groff.man: Eliminate use of .eo/.ec.
1118 (.REQ): Surround args 2 through N with quotes. This will enable us
1119 not to rely on the shift request, which is nonportable.
1120 (ExecFF): Remove. The code is simpler without it.
1122 2007-02-18 Eric S. Raymond <esr@snark.thyrsus.com>
1124 * tmac/groff_www.man: Viewer-portability fixes.
1126 2007-02-16 Eric S. Raymond <esr@snark.thyrsus.com>
1128 * man/groff.man: Remove some unneeded code and a no-longer-used
1129 inclusion of the www macros.
1131 2007-02-12 Werner LEMBERG <wl@gnu.org>
1133 * src/preproc/tbl/table.cpp (compute_span_width): Fix use of
1135 (table::compute_widths): Simplify.
1137 2007-02-11 Werner LEMBERG <wl@gnu.org>
1139 * src/preproc/tbl/table.h: Don't include `stdbool.h'.
1140 (table): Replace `bool' type with `char' for orthogonality.
1143 * src/preproc/tbl/table.cpp (block_entry::do_divert): Fix usage of
1144 AVAILABLE_REG and COLCOUNT_REG.
1145 (table::table): Fix order call of initializers.
1146 (table::~table): Deallocate `blockflag'.
1148 2007-02-09 Eric S. Raymond <esr@snark.thyrsus.com>
1150 A try at the new rule for block column allocation is now enabled by
1151 the new `experimental' global option: The horizontal space up to the
1152 right margin which is not used by columns without text blocks is
1153 evenly distributed to the columns with text blocks.
1155 It doesn't work right as yet; there appears to be some error in the
1156 computation of `3avail', the available line length. The purpose of
1157 this patch is (a) to make experimenting with other formulas easy,
1158 and (b) leave the infrastructure for flag `experimental' in place
1159 for future experiments. Do not document any behavior associated
1162 * src/preproc/tbl/table.h: Include `stdbool.h'.
1163 (table): Make `flags' public.
1164 Add `count_block_columns' function.
1165 Add `blockflag' array.
1166 Add `EXPERIMENTAL' enumeration value.
1168 * src/preproc/tbl/table.cpp (AVAILABLE_REG, COLCOUNT_REG): New
1170 (table_entry): New member `parent' so that class and subclass
1171 members can set a parent field. Update all users.
1172 (block_entry::do_divert): Handle `EXPERIMENTAL' flag.
1173 (block_entry::do_width): Set the parent's `blockflag'.
1174 (table::allocate): Handle `blockflag'.
1175 (table::count_block_columns): New function.
1176 (compute_span_width): Adjust AVAILABLE_REG.
1177 (table::compute_widths): Handle COLCOUNT_REG and AVAILABLE_REG.
1179 * src/preproc/tbl/main.cpp (process_options): Handle `experimental'
1182 2007-02-08 Zhao, Yu (William) <yzhao2@alcatel-lucent.com>
1184 * src/devices/grodvi/dvi.cpp (draw_dvi_printer::draw) <'e'>: Set
1187 2007-02-08 Werner LEMBERG <wl@gnu.org>
1189 * man/groff_out.man (offset): Make it work reliably.
1191 2007-02-07 Eric S. Raymond <esr@snark.thyrsus.com>
1193 * man/groff_out.man: Simplify some font changes so \fP is less
1194 likely to do something surprising.
1196 * man/groff_out.man: We can simplify the command macros still
1197 further if we stop trying to hide structural requests inside them.
1198 Also, fix some instances of \} at start of line without a dot, and
1199 make some font changes explicit in strings.
1201 * man/groff_out.man: Cleanup -- remove now-unneeded uses of .do and
1204 * man/groff_out.man: Final step: Reduce x-command, get rid of eo/ec
1205 calls and fix macros to do without them. File should now be
1208 * man/groff_out.man: Fourth step: Eliminate use of eqn in favor of
1209 micromotions that produce the same visual result and can be lifted
1212 * man/groff_out.man: Third step: Reduce Da-comand, fix a
1213 call-sequence bug in the original.
1215 * man/groff_out.man: Second step: Reduce D-commmand and D-command+,
1216 move font-change escapes to portable form.
1218 * man/groff_out.man: First step in macro simplification; eliminate
1219 list1..n, simplify .offset and .index_offset so they no longer
1220 require groff-specific features or eqn (instead, use troff
1221 micromotions for subscripting).
1223 2007-02-06 Eric S. Raymond <esr@snark.thyrsus.com>
1225 * src/preproc/eqn/eqn.man: Minor corrections.
1227 * tmac/an-ext.tmac: Change .UR/.UE and .MT/.ME so the start macro no
1228 longer takes a second argument that is pasted to the end of the
1229 generated text. Instead, the end macro takes an argument that does
1232 * man/ditroff.man, man/groff_diff.man, man/groff.man,
1233 man/groff_out.man, man/groff_tmac.man, man/roff.man,
1234 src/roff/groff/groff.man, src/roff/grog/grog.man,
1235 tmac/groff_man.man, tmac/groff_trace.man: Update accordingly.
1237 * src/roff/troff/troff.man: .SY and .YS are canned macros now,
1238 so we can use them here.
1240 2007-02-05 Eric S. Raymond <esr@snark.thyrsus.com>
1242 * src/preproc/eqn/lex.cpp, src/preproc/eqn/eqn.man:
1243 By popular demand, make ... set three lower dots again
1244 and introduce a new predefined macro 'cdots' to set
1245 three centered dots.
1247 2007-02-05 Werner LEMBERG <wl@gnu.org>
1249 * src/preproc/eqn/eqn.man: Revised.
1251 * src/preproc/eqn/text.cpp (map, special_char_boc::output): Use
1253 (spacing_type): Fix typo.
1254 (special_to_entity): Use `const'.
1255 Remove unused variable.
1256 * src/preproc/eqn/other.cpp (font_box::output): Use `const'.
1258 2007-02-05 Eric S. Raymond <esr@snark.thyrsus.com>
1260 * src/devices/grotty/grotty.man: \m[] and \M[] aren't portable,
1261 which is a shame as the effect was cute.
1263 2007-02-04 Eric S. Raymond <esr@snark.thyrsus.com>
1265 * man/groff_tmac.man, man/groff_diff.man: Portability conversion;
1266 rip out over-elaborate macrology, use .EX/.EE and .UR/.UE where
1267 possible, remove preamble declarations and macros that are no
1268 longer needed. Conversion checked using the protocol described in
1271 2007-02-03 Werner LEMBERG <wl@gnu.org>
1273 * tmac/an-old.tmac (LP, IP, HP): Use .ns to suppress additional
1276 2007-02-03 Eric S. Raymond <esr@snark.thyrsus.com>
1278 * tmac/groff_man.man: Documented the extension macros, and
1279 added portability advice.
1281 * MORE.STUFF: More-stuff entries for doclifter and pic2plot.
1284 Add support for MathML output to eqn.
1286 The strategy used is very simple and relies on the fact that the box
1287 models of eqn and Presentation MathML differ in only trivial ways.
1288 It leaves the grammar and existing internal object structures
1289 unchanged. A new global, `output_format', is defined as an
1290 enumerated type with values {troff, mathml}. Most of the functions
1291 and methods that emit actual output acquire a top-level conditional,
1292 dispatching on this global, which has one arm for troff mode and one
1293 for MathML mode. In most cases the MathML arm is drastically
1296 (This strategy could be easily generalized to support other output
1297 formats. TeX is a possibility that leaps to mind.)
1299 The only even moderately tricky changes are in the lexer. Some of
1300 the predefined macros used constructs like `up', `down', `fwd',
1301 `back', and `vcenter' that have no equivalents in MathML. I
1302 attacked this problem in these ways:
1304 1. I eliminated three uses of `back' to compose characters in favor
1305 of using equivalent groff specials `\(<<', `\(>>', and `\(<>'
1306 that did not exist when these macros were written. (This will be
1307 a quality improvement for troff users.)
1309 2. I eliminated one use of `vcenter' by using \\(md. (Likewise...)
1311 3. I then split the table of pre-definitions in three; one large
1312 common table and two small troff-specific and MathML-specific
1313 tables. Use of troff-only operations (up, down, back, fwd,
1314 vcenter) is now confined to the former. The latter now uses
1315 `size big' and drops out the explicit positioning operations,
1316 counting on MathML processors to do them.
1318 POTENTIAL TROUBLE SPOTS:
1320 Here are notes for reviewers on places I'm not 100% sure I've done
1323 * In the process of preparing the troff table, I translated three
1324 definitions (dot_def, dotdot_def, and utilde def) that previously
1325 used explicit \v escapes to use `up' and `down' instead. I
1326 modeled the new definitions on the way `vec' and `dyad' work, but
1327 it's possible I got something subtle wrong.
1329 * I'm not certain the MathML implementation of font_box::output() is
1330 right, because I don't quite get what the switcheroo between
1331 `current_roman_font' and `old_roman_font' is supposed to
1332 accomplish. It does seem to generare good MathML, though.
1334 Finally, I made one purely cosmetic change in `text.cpp'; I replaced
1335 with an enum some magic numbers for spacing types that I thought
1336 were too ugly to live.
1340 The entirety of eqn is translated when `-TMathML' is specified,
1341 with the following exceptions...
1343 Limitations that cannot be fixed include non-support for special,
1344 up/down/fwd/back, and vcenter.
1346 Limitations that might be fixable include non-support for mark and
1347 lineup. I will investigate further, but if these can be implemented
1348 at all it's going to be in a very complicated and nasty way.
1350 The way character boxes are output means that each digit of a
1351 multi-digit number gets its own <mn></mn> tag pair in the MathHTML.
1352 While this is not technically wrong for Presentation MathML, it is
1353 ugly and inefficient. Fixing this will require implementing a
1354 little state machine in the `text.cpp' output method.
1356 * src/preproc/eqn/box.cpp, src/preproc/eqn/delim.cpp,
1357 src/preproc/eqn/eqn.h, src/preproc/eqn/eqn.man,
1358 src/preproc/eqn/lex.cpp, src/preproc/eqn/limit.cpp,
1359 src/preproc/eqn/list.cpp, src/preproc/eqn/main.cpp,
1360 src/preproc/eqn/other.cpp, src/preproc/eqn/over.cpp,
1361 src/preproc/eqn/pile.cpp, src/preproc/eqn/script.cpp,
1362 src/preproc/eqn/sqrt.cpp, src/preproc/eqn/text.cpp,
1363 src/preproc/eqn/eqn.man: MathML output mode.
1365 * NEWS: Document it.
1367 2007-02-02 Eric S. Raymond <esr@snark.thyrsus.com>
1369 * src/roff/groff/groff.man: Converted to use .SY/.OP/.YS
1370 and for cross-viewer portability. Conversion checked
1371 using the protocol described in tmac/TESTING-HINTS.
1373 2007-02-02 Werner LEMBERG <wl@gnu.org>
1375 * tmac/an-ext.tmac (ME): Don't use `\:'.
1377 * src/roff/grog/grog.man: Further refinements and normalizations.
1379 2007-02-02 Eric S. Raymond <esr@snark.thyrsus.com>
1381 * src/roff/grog/grog.man: Converted to use .SY/.OP/.YS and for
1382 cross-viewer portability. Conversion checked using the protocol
1383 described in tmac/TESTING-HINTS.
1385 2007-02-01 Eric S. Raymond <esr@thyrsus.com>
1387 * tmac/TESTING-HINTS: Added.
1389 2007-02-01 Eric S. Raymond <esr@thyrsus.com>
1391 Enable the support for Bell archaisms on .SC, so the `-r bell'
1392 switch is no longer needed to format old AT&T papers like
1395 * tmac/s.tmac (.SC, .UC, .P1, .P2): Updated.
1397 * tmac/groff_ms.man, doc/groff.texinfo, NEWS: Updated.
1399 2007-02-01 Eric S. Raymond <esr@thyrsus.com>
1401 Add some Bell labs extensions to the -ms macros.
1403 * tmac/s.tmac (.SC, .UC, .P1, .P2) [bell]: New macros.
1405 * tmac/groff_ms.man, doc/groff.texinfo, NEWS: Document `-r bell'.
1407 2007-01-30 Werner LEMBERG <wl@gnu.org>
1409 * tmac/an-ext.tmac (\n[EX]): Rename to \n[mX].
1410 (\n[mH]): New register (set if grohtml is used).
1411 (\n[SY]): Rename to \n[mS].
1412 (\n[a]): Rename to \n[mA].
1413 (\n[i]): Rename to \n[mI].
1414 (mU): New auxiliary input trap macro.
1415 (UR, UE): Replace stub with real definition.
1417 (MT, ME): New macros.
1419 (EX, EE): Don't insert vertical space.
1420 Use a register to store (and restore) the current font.
1422 * man/ditroff.man, man/groff_diff.man, man/roff.man: Revised, based
1423 on patches from Eric Raymond.
1426 2007-01-22 Gaius Mulley <gaius@glam.ac.uk>
1428 * tmac/an-old.tmac (an-trap, HP): Make `HP' work as expected.
1430 2007-01-22 Werner LEMBERG <wl@gnu.org>
1432 * tmac/an-ext.tmac: Protect against being sourced twice.
1433 (URL, EE): Use always two backslashes.
1436 2007-01-16 Werner LEMBERG <wl@gnu.org>
1438 * tmac/an-ext.tmac: Remove code for grodvi.
1440 Don't insert empty line.
1441 (URL, TQ): Fix typos.
1443 2007-01-14 Werner LEMBERG <wl@gnu.org>
1445 * tmac/an-ext.tmac: New file, containing extension macros
1446 for -man. See discussion on the groff mailing list for
1447 background information.
1448 * tmac/an-old.tmac: Load an-ext.tmac.
1449 Decorate .ds and as with comment escapes where appropriate.
1450 * tmac/Makefile.sub (NORMALFILES): Add an-ext.tmac.
1452 2007-01-05 Werner LEMBERG <wl@gnu.org>
1454 * src/preproc/tbl/tbl.man: Document .T# and \n[TW].
1456 2007-01-04 Gaius Mulley <gaius@glam.ac.uk>
1458 Make -me macros ready for grohtml.
1460 * tmac/e.tmac: Load devtag.tmac.
1461 (need_eo_h, need_eo_tl, need_tl): New registers.
1462 (check_need_title, (x-html, )x-html, xp-html): New macros.
1463 (@h, hl, ip, @p, sh, (b, (l, EQ, EN, TS, TE, PS, PE, GS, GE, r, i,
1464 b, rb, bi, bx, (x, )x, xp): Adapt for use with grohtml.
1465 (bp): Rename to @b only if output device is not html.
1467 2007-01-01 Werner LEMBERG <wl@gnu.org>
1469 * man/groff_font.man: Document empty lines.
1471 * src/utils/afmtodit/afmtodit.pl: Always print a header comment at
1472 the very beginning of the output.
1473 [!$opt_x]: Fix typo.
1475 * font/devps/*: Regenerate font definition files.
1477 2007-01-01 Werner LEMBERG <wl@gnu.org>
1479 * font/devps/generate/Makefile (AFMTODIT): Use -c flag.
1481 * font/devps/*: Regenerate font definition files.
1483 2006-12-31 Werner LEMBERG <wl@gnu.org>
1485 * Makefile.in (oldfontdir): New variable.
1486 (MDEFINES): Add $(oldfontdir).
1487 (uninstall_dirs): Remove `current' link.
1488 Remove $(oldfontdir).
1490 * Makefile.comm (oldfontsubdir): New variable.
1491 (install_dev): Install files collected in $(OLDDEVFILES) into
1493 (uninstall_dev): Remove data in $(oldfontsubdir).
1494 (.man.n): Handle @OLDFONTDIR@.
1496 * src/devices/grodvi/grodvi.man, src/devices/grohtml/grohtml.man,
1497 src/devices/grolbp/grolbp.man, src/devices/grolj4/grolj4.man,
1498 src/devices/grotty/grotty.man, src/devices/xditview/gxditview.man:
1499 Document GROFF_FONT_PATH.
1501 * src/devices/grops/grops.man: Document GROFF_FONT_PATH and
1502 old font description files.
1504 * font/devps/Makefile.sub (OLDDISTFILES, OLDDEVFILES): New
1507 * font/devps/old/*: New directory, holding the previous version
1508 of the 35 Adobe core font description files.
1510 * font/devps/*: Regenerated the 35 Adobe core fonts, using the
1511 Adobe-Core35_AFMs-229.tar.bz2 bundle from ftp.dante.de.
1513 * NEWS: Document font update.
1515 2006-12-31 Werner LEMBERG <wl@gnu.org>
1517 * font/devps/generate/Makefile (symbolsl.afm): Use $(srcdir).
1519 * Makefile.comm (fonts): New (empty) target.
1520 * Makefile.in (TARGETS): Add `fonts'.
1522 * MANIFEST: Add `chem'.
1524 * doc/groff.texinfo (Changing Fonts): Font translations with .ftr
1527 2006-12-26 Werner LEMBERG <wl@gnu.org>
1529 * src/preproc/grn/hdb.cpp: Include gprint.h later. From NetBSD.
1531 2006-12-19 Werner LEMBERG <wl@gnu.org>
1533 Add support for German. For activation, simply use -mde or -mden
1534 (for traditional and new orthgraphy, respectively) as the last
1537 * tmac/de.tmac, tmac/den.tmac, tmac/hyphen.det, tmac/hyphen.den,
1538 tmac/hyphenex.det: New files, partly taken from CTAN.
1539 * LICENSES: Updated list of hyphenation patterns.
1540 * man/groff_tmac.man: Mention de.tmac and den.tmac.
1543 2006-12-11 Werner LEMBERG <wl@gnu.org>
1545 Support up to 32 macro arguments in pic (and up to 16 on EBCDIC
1548 * src/preproc/pic/lex.cpp (ARG1): Redefine. Update all users.
1549 (MAX_ARG): New macro. Use it everywhere to replace hard-coded
1550 limit of 9 arguments.
1551 (process_body): Handle argument numbers with more than a single
1553 (interpolate_macro_with_args): Protect against exceeding number of
1556 * NEWS, src/preproc/pic/pic.man, doc/pic.ms: Document it.
1558 2006-12-10 Werner LEMBERG <wl@gnu.org>
1560 * Makefile.in (site.exp, docheck): Commented out. Not working
1562 (check): Just emit dummy message.
1564 2006-12-08 Werner LEMBERG <wl@gnu.org>
1566 During installation, create soft link from <version> to `current' in
1569 * Makefile.comm (install): Renamed to...
1571 (prefix_must_exist): Removed. Code moved to Makefile.in.
1573 * Makefile.in (TARGETS): Remove `install'.
1575 (install): New target which first creates the directory given by
1576 --prefix, then calling `make' to do the installation, and finishing
1577 with the creation of the soft link.
1579 2006-11-21 Werner LEMBERG <wl@gnu.org>
1581 * doc/Makefile.sub (uninstall_sub): Fix names for info files.
1583 2006-11-18 Werner LEMBERG <wl@gnu.org>
1585 * man/roff.man, doc/groff.texinfo: Improve history of roff, based on
1586 information from Tom Van Vleck <thvv@multicians.org>.
1588 2006-11-16 Werner LEMBERG <wl@gnu.org>
1590 * tmac/62bit.tmac: New macro package.
1591 * tmac/Makefile.sub (NORMALFILES): Add it.
1592 * NEWS: Document it.
1594 * tmac/trace.tmac: Protect against being loaded again.
1595 (nr): Always show result.
1597 * doc/groff.texinfo (Input Encodings): Document latin-5.
1599 * man/grof_tmac.man: Document sv, latinX, cp1047, 60bit, ec.
1601 2006-11-13 Werner LEMBERG <wl@gnu.org>
1603 * doc/groff.texinfo (Page Location Traps) [.wh]: Give more details
1604 on negative trap positions.
1606 2006-11-10 Werner LEMBERG <wl@gnu.org>
1608 * Makefile.comm (.man.n): Handle @DATASUBDIR@.
1610 2006-11-09 Werner LEMBERG <wl@gnu.org>
1612 * INSTALL: Move information about external installation from
1613 INSTALL.gen into this file.
1616 * INSTALL.gen: Update to new version (from texinfo CVS).
1618 2006-11-09 Bernd Warken <groff-bernd.warken-72@web.de>
1620 * INSTALL.gen: Extend the file by information on `external
1621 installation'. Reorder the installation instruction as `normal
1624 2006-11-08 Werner LEMBERG <wl@gnu.org>
1626 * doc/Makefile.sub (install_data): Take care of proper paths while
1627 installing info files. Bug reported by
1628 Bernd Warken <groff-bernd.warken-72@web.de>.
1630 2006-11-06 Bernd Warken <groff-bernd.warken-72@web.de>
1632 * src/roff/grog/grog.pl: Rewrite.
1633 - Call by `#! /usr/bin/env perl'. That isn't replaced.
1634 - Rename usage() to version().
1636 - For `use strict', start all global variables with an upper case
1637 character. Use `my' for all variables. Use several new variables.
1639 - Add copyright to GPL and Emacs comment.
1640 - Handle several `-m*' options.
1641 - Fix handling of `-ms' and `-mm'. Add .TL and .NH.
1642 - Allow options after file names.
1643 - Allow only one `-' parameter (standard input).
1644 - Add option abbreviations.
1645 - Expand the usage information.
1647 - Add single quote "'" as additional first character and allow
1648 arbitrary space after the first character.
1650 * src/roff/grog/grog.sh: Rewrite.
1651 - Remove option `-e' of `sed'.
1652 - Allow file names with space characters.
1654 - Add copyright to GPL.
1655 - Handle several `-m*' options.
1656 - Fix handling of `-ms' and `-mm'. Add .TL and .NH.
1657 - Allow options after file names.
1658 - Allow only one `-' parameter (standard input).
1659 - Add option abbreviations.
1660 - Expand the usage information.
1662 - Add single quote "'" as additional first character and allow
1663 arbitrary space after the first character.
1665 * src/roff/grog/Makefile.sub:
1666 - Add copyright to GPL.
1667 - Remove `grog:'. Move `grog.old:' to `grog:' in order to have a
1668 fair chance to choose between the shell version and the Perl
1669 version of `grog'. This is now again comparable to grog in groff
1672 * src/roff/grog/grog.man: Rewrite.
1673 - Move the license to GPL.
1674 - New sections: OPTIONS, DETAILS, EXAMPLES, COPYING.
1675 - Take over some setup and macros from `groffer'.
1676 - Add information on options.
1678 2006-10-28 Werner LEMBERG <wl@gnu.org>
1680 * tmac/trace.tmac: Improve tracing of `.nr'.
1681 Trace `.substring' also.
1685 2006-10-28 Bernd Warken <groff-bernd.warken-72@web.de>
1687 * man/roff.man, src/roff/groff/groff.man: Add `chem', fix position
1688 of groff development site, fix fonts.
1690 * News: Add information on `chem' and `groffer'.
1692 2006-10-26 Bernd Warken <groff-bernd.warken-72@web.de>
1694 * Makefile.in (OTHERDIRS, NOMAKEDIRS): Add `chem' bundle.
1696 2006-10-26 Werner LEMBERG <wl@gnu.org>
1698 Add `\$^' escape to handle the parameters to a macro as a string
1701 * src/roff/troff/input.h (DOUBLE_QUOTE): New special character.
1703 * src/roff/troff/input.cpp (input_iterator, input_stack,
1704 macro_iterator): Add `space_follows_arg' member function.
1705 (macro_iterator::add_arg): Add parameter to set the `space_follows'
1707 (arg_list): Add member `space_follows'.
1708 Update constructor and all callers.
1709 (decode_args): Store discarded double quotes.
1710 (interpolate_args): Handle DOUBLE_QUOTE.
1712 (get_copy, token::next, composite_glyph_name): Handle DOUBLE_QUOTE.
1714 * tmac/trace.tmac: Trace .nr, .ds, .ds1, .as, .as1.
1716 * docs/groff.texinfo (Parameters), man/groff.man,
1717 man/groff_diff.man, NEWS: Document it.
1719 2006-10-24 Bernd Warken <groff-bernd.warken-72@web.de>
1721 * Makefile.in (NOMAKEDIRS): Add groffer subdirectories.
1723 2006-10-24 Werner LEMBERG <wl@gnu.org>
1725 * tmac/groff_trace.man: Mention problem with `\\\\'.
1727 2006-10-23 Werner LEMBERG <wl@gnu.org>
1729 * doc/groff.texinfo (Expressions): Improve documentation of `!'.
1731 * tmac/trace.tmac (return): Don't call `substring'.
1733 2006-09-10 Werner LEMBERG <wl@gnu.org>
1735 * src/roff/troff/input.cpp (read_size): Revert previous change
1738 * doc/groff.texinfo (Fractional Size Types): Clarify syntax of \s.
1740 2006-09-09 Werner LEMBERG <wl@gnu.org>
1742 * src/roff/troff/input.cpp (read_size): Fix `\s[-\n[.s]]' so that it
1743 behave the same as `\s-[\n[.s]]' (this is, emit a warning and set
1744 point size to 1). Reported by Gunnar Ritter.
1745 Also catch `\s-[-...]' and friends (causing an error).
1747 2006-09-06 Werner LEMBERG <wl@gnu.org>
1749 * src/roff/troff/env.cpp (environment::do_break): Insert zero-width
1750 space only if there is no previous space. This fixes a bug which
1751 caused unwanted filling of the last line in a paragraph. Thanks to
1752 Gunnar Ritter for an analysis.
1754 2006-09-03 Werner LEMBERG <wl@gnu.org>
1756 * src/roff/groff/groff.cpp (main): Pass -U flag to pic also.
1757 Reported by Jennifer Sayers <jenjen@isu.usyd.edu.au>.
1759 2006-09-01 Nick Stoughton <nick@msbit.com>
1760 Werner LEMBERG <wl@gnu.org>
1762 Add a request `pev' to print environment information (similar to
1763 `pnr' and `ptr' to print number registers and traps).
1765 * src/roff/troff/env.h (environment): Add member function print_env.
1767 * src/roff/troff/env.cpp: (environment::print_env): New function to
1768 print a given environment state.
1769 (print_env): New global function to iterate through the
1770 environments, printing each one.
1771 (init_env_requests): Register `pev'.
1773 * doc/groff.texinfo (Debugging), man/groff.man, man/groff_diff.man,
1774 NEWS: Document `pev' request.
1776 2006-09-01 Bernd Warken <groff-bernd.warken-72@web.de>
1778 * src/preproc/soelim/soelim.cpp (usage): Fix option argument of
1781 2006-09-01 Werner LEMBERG <wl@gnu.org>
1783 * src/preproc/pic/main.cpp (usage): Add missing options.
1785 2006-08-25 Werner LEMBERG <wl@gnu.org>
1787 * src/preproc/soelim/soelim.man: Document how to insert `\' and ` '
1790 2006-08-19 Werner LEMBERG <wl@gnu.org>
1792 * configure: Regenerated.
1794 2006-08-18 Keith Marshall <keith.d.marshall@ntlworld.com>
1796 * m4/groff.m4 (GROFF_MAKEINFO): Correct `makeinfo version testing
1797 logic; it previously caused an `expr' syntax error, if no version of
1798 `makinfo' was present. Also, remove dependency on `makeinfo' in VPATH
1799 builds, if an up to date `groff.info' is present in either `builddir'
1802 2006-08-12 Tadziu Hoffmann <hoffmann@usm.uni-muenchen.de>
1804 * font/devps/prologue.ps: Add BPhook.
1806 * src/devices/grops/grops.man: Document BPHook.
1807 Reorder some sections for better readability.
1809 2006-08-12 Werner LEMBERG <wl@gnu.org>
1811 * src/include/lib.h (getlocale): New macro.
1812 (setlocale, LC_ALL, LC_CTYPE) [!HAVE_SETLOCALE]: Define, as
1815 * src/preproc/preconv/preconv.cpp (main): Use getlocale.
1817 2006-08-11 Werner LEMBERG <wl@gnu.org>
1819 Add new flag to .cflags to enable hyphenation without looking at
1822 * src/roff/troff/charinfo.h (charinfo): New enumeration value
1824 New member function `ignore_hcodes'.
1826 * src/roff/troff/node.cpp (break_char_node::add_self,
1827 node::add_char): Updated.
1829 * doc/groff.texinfo, man/groff_diff.man, NEWS: Document it.
1831 2006-08-09 Werner LEMBERG <wl@gnu.org>
1833 Support composite Unicode characters again. Reported by Colin.
1835 * font/devhtml/R.proto: Renamed to...
1836 * font/devhtml/R.in: This.
1838 * font/devutf8/R.proto: Renamed to...
1839 * font/devutf8/R.in: This.
1842 * font/make-Rproto: New script.
1843 * font/devhtml/R.proto, font/devutf8/R.proto: Generated.
1845 2006-07-26 Werner LEMBERG <wl@gnu.org>
1847 * README: Fix description of CVS access. Reported by Joachim.
1849 2006-07-11 Werner LEMBERG <wl@gnu.org>
1851 Add a request `.fzoom' and a number register `.zoom' to magnify
1854 * src/include/font.h (font): Add member variable `zoom'.
1855 Add member functions `set_zoom' and `get_zoom'.
1856 Remove `static' attribute from `scale' member function.
1858 * src/libs/libgroff/font.cpp (font::font): Updated.
1859 (scale_round): New version with three parameters to handle zoom
1861 (font::scale, font::get_width): Handle zoom factor.
1862 (font::set_zoom, font::get_zoom): New functions.
1863 (font::load): Handle `zoom' while computing `space_width'.
1865 * src/roff/troff/env.h: Declare `env_get_zoom'.
1866 (environment): Add member function `get_zoom'.
1868 * src/roff/troff/env.cpp (environment::get_zoom): New function.
1869 (init_env_requests): Initialize `.zoom' register.
1871 * src/roff/troff/node.cpp (font_info): New member functions
1872 `set_zoom' and `get_zoom'.
1873 (tfont): New member function `get_zoom'.
1874 (env_get_zoom): New function.
1875 (troff_output_file::set_font): Handle zoom factor.
1876 (font_zoom_request): New function.
1877 (init_node_requests): Initialize `fzoom' request.
1879 * docs/groff.texinfo (Changing Fonts), man/groff.man,
1880 man/groff_diff.man, NEWS: Document `fzoom' request and `.zoom'
1883 * src/roff/troff/TODO: Updated.
1885 2006-07-10 Werner LEMBERG <wl@gnu.org>
1887 * doc/groff.texinfo (Drawing Requests): Improve documentation of
1890 2006-07-02 Werner LEMBERG <wl@gnu.org>
1892 * man/groff_tmac.man: Document usage of .PSPIC within diversions.
1894 2006-07-01 Werner LEMBERG <wl@gnu.org>
1896 * tmac/pspic.tmac: Make .PSPIC work for all devices.
1897 Print image file name for devices which don't support PS image
1899 Handle multiple inclusions.
1900 Add lots of comments.
1902 * tmac/dvi.tmac, tmac/html.tmac, tmac/ps.tmac: Don't load
1905 * tmac/troffrc: Load pspic.tmac.
1907 * man/groff_tmac.man: Update .PSPIC documentation.
1911 2006-06-29 Werner LEMBERG <wl@gnu.org>
1913 * src/roff/troff/input.cpp (interpolate_macro):
1914 s/probably/possibly/, as suggested by Keith.
1916 2006-06-28 Werner LEMBERG <wl@gnu.org>
1918 Add support for \D'p...' to grotty.
1920 * src/devices/grotty/grotty.cpp (tty_printer::draw): Move most of
1922 (tty_printer::line): This function.
1923 (tty_printer::draw): Rewritten; just call either draw_line or
1925 (tty_printer::draw_line, tty_printer::draw_polygon): New functions.
1927 * src/devices/grotty/grotty.man, NEWS: Document it.
1929 2006-06-27 Werner LEMBERG <wl@gnu.org>
1931 * src/preproc/refer/command.h (have_bibliography): New variable
1934 * src/preproc/refer/command.cpp (bibliography_command): Set
1935 `have_bibliography'.
1937 * src/preproc/refer/refer.cpp: Initialize `have_bibliography'.
1938 (output_references): Emit warning only if `have_bibliography' is
1941 2006-06-15 Michail Vidiassov <master@iaas.msu.ru>
1943 * font/devps/Makefile.sub (DISTFILES): Add freeeuro.afm.
1944 * font/devps/generate/Makefile (clean): Don't remove symbolsl.afm
1947 2006-06-15 Werner LEMBERG <wl@gnu.org>
1949 * src/preproc/tbl/tbl.man: Document limitations of .TS/.TE within a
1950 macro (as suggested by Tadziu Hoffmann).
1952 2006-06-12 Werner LEMBERG <wl@gnu.org>
1954 * src/preproc/tbl/tbl.man: Add example for use of .TS/.TE within a
1955 macro (as suggested by Tadziu Hoffmann).
1957 2006-06-05 Werner LEMBERG <wl@gnu.org>
1959 * tmac/strip.sed: Strip `\#' also.
1961 * doc/groff.texinfo (Operators in Conditionals): Document usage of
1962 \? for string comparison.
1964 2006-06-04 Werner LEMBERG <wl@gnu.org>
1966 * doc/groff.texinfo: Add more index entries for copy-in mode.
1967 (Changing Fonts) <.ft>: Document that a font definition file must
1968 not be called `DESC'.
1970 2006-05-31 Werner LEMBERG <wl@gnu.org>
1972 * src/roff/troff/input.cpp (token::next) <\N>: Catch negative values
1975 * doc/Makefile.sub (EXAMPLEFILES): Move gnu.eps to...
1976 (PROCESSEDEXAMPLEFILES): Here.
1978 2006-05-30 Werner LEMBERG <wl@gnu.org>
1980 * src/libs/libgroff/font.cpp (font::load): Reject fonts called
1982 Reduce number of false positives for `.if F ...' conditionals.
1983 Improve warning messages.
1985 2006-05-29 Werner LEMBERG <wl@gnu.org>
1987 * tmac/Makefile.sub: Add copyright notice.
1988 (NORMALFILES): Add man.tmac and ms.tmac.
1989 (SPECIALFILES): Remove man.tmac and ms.tmac.
1990 (CLEANADD): Remove man.tmac-sed and ms.tmac-sed.
1991 (install_data, uninstall_sub): Don't handle man.tmac and ms.tmac
1993 (stamp-sed): Don't handle man.tmac and ms.tmac.
1994 Remove obsolete components in sed's regexp.
1996 * doc/Makefile.sub (EXAMPLEFILES): Add gnu.eps.
1998 * Makefile.in (OTHERDIRS, NOMAKEDIRS): Add hdtbl.
2000 2006-05-28 Werner LEMBERG <wl@gnu.org>
2002 * doc/groff.texinfo (History): Correct death circumstances of Joe
2005 2006-05-27 Werner LEMBERG <wl@gnu.org>
2007 * tmac/an-old.tmac (an-do-tag): Simplify.
2009 2006-05-26 Werner LEMBERG <wl@gnu.org>
2011 * tmac/an-old.tmac (an-do-tag): Make margin characters work.
2012 (an-header, an-p-footer): Use named environment.
2014 * src/roff/troff/env.cpp (environment::copy): Copy margin character
2017 2006-05-21 Werner LEMBERG <wl@gnu.org>
2019 * tmac/trace.tmac (de1): Fix serious typo (.di -> .do) and minor
2022 2006-05-11 Keith Marshall <keith.d.marshall@ntlworld.com>
2024 * src/roff/groff/groff.man: Remove superfluous word `intermediate'.
2026 2006-05-10 Keith Marshall <keith.d.marshall@ntlworld.com>
2028 * src/roff/groff/groff.man: Update copyright notice.
2029 Improved wording to describe effect of `-Z' option.
2031 2006-05-06 Werner LEMBERG <wl@gnu.org>
2033 * tmac/www.tmac: Decorate `.ds' with trailing `\"' where missing.
2034 Normalize handling of `"' in arguments.
2035 (PIMG): Remove debug message.
2038 2006-05-05 Werner LEMBERG <wl@gnu.org>
2040 * src/devices/grohtml/post-html.cpp (page::add_and_encode): Don't
2041 swallow character immediately after `\[...]'.
2044 2006-05-02 Gaius Mulley <gaius@glam.ac.uk>
2046 * tmac/www.tmac (PIMG): Fix the HTML device specific components.
2048 2006-05-02 Larry Kollar <kollar@alltel.net>
2050 * tmac/www.tmac (PIMG): Really default to `-C' if the alignment
2053 2006-04-30 Michail Vidiassov <master@iaas.msu.ru>
2055 * src/utils/afmtodit/afmtodit.pl: New option `-c' to add font
2056 information as a comment in output.
2057 * src/utils/afmtodit/afmtodit.man, NEWS: Document it.
2059 2006-04-26 Werner LEMBERG <wl@gnu.org>
2061 * src/devices/grohtml/post-html.cpp (html_printer::~html_printer):
2062 Handle current_paragraph only if it is non-NULL.
2064 * src/libs/libdriver/input.cpp (parse_x_command <'F'>, do_file
2065 <'F'>): Use `get_extended_arg' to behave as documented. Reported by
2066 Bill Ward <william.a.ward.jr@erdc.usace.army.mil>.
2069 Surround the (pseudo) file name for the .pso request with `<' and
2072 * src/roff/troff/node.cpp (real_output_file, troff_output_file): Add
2073 second parameter to `really_put_filename' and `put_filename'.
2074 (troff_output_file::really_put_filename): Emit `<' and `>' around
2075 filename if second argument is set.
2076 * src/roff/troff/node.h: Updated.
2078 * src/roff/troff/input.cpp (file_iterator::file_iterator,
2079 file_iterator::set_location): Update to changes in node.cpp.
2081 2006-04-25 Tetsurou Okazaki <okazaki@FreeBSD.org>
2083 * src/preproc/preconv/preconv.cpp (do_file): Fix conditional
2084 preprocessor expression (I18N -> HAVE_ICONV).
2085 (main): Fix handling of option `-h'.
2086 Fix conditional preprocessor expression.
2088 2006-04-04 Werner LEMBERG <wl@gnu.org>
2090 Implement new number register `.br' which is set to 1 if a macro has
2091 been called as .foo and to 0 if called as 'bar. This is useful for
2092 -mtrace so that requests can be reliably traced too.
2094 * src/roff/troff/input.cpp (input_iterator): Add virtual function
2096 (macro_iterator): Add `with_break' member and `get_break_flag'
2098 Update constructors.
2099 (input_stack): Add function `get_break_flag'.
2100 (break_flag_reg): New number register class.
2101 (input_init_requests): Register `.br'.
2103 * src/roff/troff/TODO: Updated.
2105 * tmac/trace.tmac: s/!!sp/!!!sp/.
2106 Modify definitions of `de', `de1', `am', and `am1' to use \n[.br].
2108 * docs/groff.texinfo (Requests), man/groff.man, man/groff_diff.man,
2111 2006-03-29 Werner LEMBERG <wl@gnu.org>
2113 * src/devices/grops/ps.cpp: s/must not/should not/ in warning
2114 messages where appropriate.
2116 2006-03-28 Werner LEMBERG <wl@gnu.org>
2118 * configure.ac: Call AC_PROG_EGREP.
2119 * configure: Regenerated.
2121 * Makefile.in (EGREP): New variable.
2122 (MDEFINES): Add $(EGREP).
2124 * src/roff/grog/grog.sh: Treat .TH between .TS and .TE properly
2125 (bug reported by Robert Goulding <Goulding.2@nd.edu>).
2128 * src/roff/grog/Makefile.sub (grog, grog.old): Use $(EGREP).
2130 2006-03-27 Werner LEMBERG <wl@gnu.org>
2132 Add two requests `.device' and `.devicem' which are equivalent to
2133 `\X' and `\Y', respectively.
2135 * src/roff/troff/input.cpp (device_request, device_macro_request):
2137 (init_input_requests): Register them.
2139 * doc/groff.texinfo (Postprocessor Access), man/groff_diff.man,
2140 man/groff.man, NEWS: Document them.
2142 2006-03-27 Gaius Mulley <gaius@glam.ac.uk>
2144 * src/roff/troff/input.cpp (encode_char): Emit special characters
2145 for -Thtml as `\[...]'.
2146 * src/devices/grohtml/post-html.cpp (page::add_and_encode): Updated.
2148 * doc/groff.texinfo (Postprocessor Access) <\X>: Updated.
2150 2006-03-27 Werner LEMBERG <wl@gnu.org>
2152 * tmac/Makefile.sub (NORMALFILES, SPECIALFILES): Add various missing
2155 2006-03-26 Werner LEMBERG <wl@gnu.org>
2157 * doc/groff.texinfo (Writing Macros): More documentation on
2158 end-of-macro symbol of `.de'.
2159 (Diversions): Minor addition to `.di' description.
2161 * src/devices/grops/grops.man: Some clarifications regarding
2162 insertion of PostScript snippets.
2164 2006-03-25 Michail Vidiassov <master@iaas.msu.ru>
2166 Add rules to generate `symbolsl.afm'.
2168 * font/devps/generate/zapfdr.sed,
2169 font/devps/generate/symbolsl.awk: New files.
2171 * font/devps/generate/Makefile (symbolfont, PRINTAFM): New
2173 (SS, clean): Updated.
2174 (freeeuro.afm): Use $(srcdir).
2175 (symbolsl.afm): New rule.
2176 (zapfdr.afm): Use zapfdr.sed.
2178 2006-03-22 Dwight Aplevich <aplevich@uwaterloo.ca>
2180 * src/preproc/pic/pic.y (expr <INT>): Fix code.
2182 2006-03-22 Jörgen Grahn <jgrahn@algonet.se>
2184 * tmac/sv.tmac: Add missing translations and activate support for
2185 other macro packages.
2187 2006-03-21 Francis GUDIN <fgudin@nerim.net>
2189 * tmac/doc-syms (Dx): New macro to identify DragonFly.
2190 (doc-str-St--ieee1275-94, doc-str-St--isoC-amd1,
2191 doc-str-St--isoC-tcor1, doc-str-St--isoC-tcor2): New standard
2193 (doc-operating-system-FreeBSD-5.5, doc-operating-system-FreeBSD-7.0,
2194 doc-operating-system-NetBSD-1.6.3, doc-operating-system-NetBSD-4.0
2195 doc-operating-system-DragonFly-*): New operating system strings.
2197 * tmac/groff_mdoc.man, NEWS: Document `Dx'.
2199 2006-03-21 Werner LEMBERG <wl@gnu.org>
2201 * src/preproc/pic/pic.y (object_spec THEN): For compatibility with
2202 both DWB pic and dpic, make
2210 line right then down;
2217 * doc/pic.ms: Document this.
2219 2006-03-20 Werner LEMBERG <wl@gnu.org>
2221 * doc/pic.ms: With permission of Eric Raymond, put it under the
2226 2006-03-19 Werner LEMBERG <wl@gnu.org>
2228 * src/preproc/pic/pic.y (expr <INT>): Really return integer part.
2230 * src/preproc/pic/objects.cpp (object_spec::make_line): Handle `at'
2231 attribute in combination with `with'. Bug reported by Jennifer
2232 Sayers <jenjen@mail.usyd.edu.au>.
2234 2006-03-19 Miklos Somogyi <msom@netspace.net.au>
2236 * doc/groff.texinfo (Manipulating Spacing): Improve documentation of
2239 2006-03-18 Werner LEMBERG <wl@gnu.org>
2241 * LICENSE: Renamed to...
2242 * LICENSES: This. Collect all licensing information in this file.
2243 * tmac/README, src/libs/snprintf/README: Removed.
2245 * src/devices/grops/grops.man: Add section how to install fonts.
2247 * src/utils/xtotroff/xtotroff.c: Add GPL.
2249 2006-03-17 Werner LEMBERG <wl@gnu.org>
2251 * Makefile.comm (.y.cpp): Fix #line arguments in output.
2253 2006-03-13 Werner LEMBERG <wl@gnu.org>
2255 * src/preproc/tbl/tbl.man: Mention default length of text blocks.
2257 * tmac/doc-common (Os): Add more Darwin versions.
2258 * tmac/groff_mdoc.man: Document them.
2260 * doc/groff.texinfo (Operators in Conditionals): Mention that `c'
2261 works with \N'...' also.
2262 * man/groff_diff.man: Ditto. Remove use of future tense where
2265 2006-03-12 Michail Vidiassov <master@iaas.msu.ru>
2267 * font/devps/generate/make-zapfdr, font/devps/symbolsl.ps,
2268 font/devps/zapfdr.ps: Add `%%EndComments' line.
2270 2006-03-10 Larry Kollar <kollar@alltel.net>
2272 * doc/groff.texinfo (Headers and footers): Document PT, HD, and BT.
2274 2006-03-10 Werner LEMBERG <wl@gnu.org>
2276 * src/devices/grops/ps.cpp (ps_printer::do_exec, ps_printer::do_def,
2277 ps_printer::do_mdef): Overlong lines now cause a warning message,
2280 2006-03-09 Werner LEMBERG <wl@gnu.org>
2282 * font/devps/generate/make-zapfdr: New script for generating
2285 2006-03-08 Werner LEMBERG <wl@gnu.org>
2287 * doc/groff.css (pre): Fix `background-color' value.
2289 2006-03-04 Larry Kollar <kollar@alltel.net>
2291 * tmac/groff_ms.man: Document PT, HD, and BT.
2293 2006-03-04 Werner LEMBERG <wl@gnu.org>
2295 * src/roff/troff/node.cpp (make_glyph_node): Improve warning message
2296 for single-letter glyph names.
2298 2006-03-02 Werner LEMBERG <wl@gnu.org>
2300 * tmac/sv.tmac: New file; currently holding only the Swedish strings
2302 * tmac/hyphen.sv: New hyphenation pattern file for Swedish, taken
2304 * tmac/README: Updated.
2306 2006-02-27 Werner LEMBERG <wl@gnu.org>
2308 * tmac/trans.tmac (Liec, Letdate, Letns!14): Add it (for -mm).
2309 * tmac/fr.tmac: Add French translations.
2311 * tmac/composite.tmac: Add entry for `:'.
2313 2006-02-26 Werner LEMBERG <wl@gnu.org>
2315 * doc/Makefile.sub (HTMLEXAMPLEFILESALL): New variable.
2317 (install_html, uninstall_sub): Updated.
2319 2006-02-26 Bruno Haible <bruno@clisp.org>
2321 Introduce Unicode fonts.
2323 * font/devhtml/DESC.proto: Mark as unicode.
2324 * font/devhtml/R.proto: Remove all charset entries that are already
2326 * font/devutf8/DESC.proto: Mark as unicode.
2327 * font/devutf8/R.proto: Remove all charset entries.
2328 * src/include/font.h (font): New static field `is_unicode'.
2329 Change order of fields.
2330 * src/libs/libgroff/font.cpp: Include unicode.h.
2331 (font::font): Update for changed order of fields.
2332 (font::contains, font::get_width, font::get_height, font::get_depth,
2333 font::get_italic_correction, font::get_left_italic_correction,
2334 font::get_subscript_correction, font::get_character_type,
2335 font::get_code, font::get_special_device_encoding): Handle both the
2336 explicitly enumerated glyphs and use general code for Unicode fonts.
2337 (font::load): Make the charset section optional when the font is
2339 (font::load_desc): Recognize the `unicode' attribute.
2340 * src/libs/libgroff/fontfile.cpp (font::is_unicode): New variable.
2342 2006-02-26 Claudio Fontana <claudio@gnu.org>
2344 * Makefile.in: Add comment about DESTDIR.
2346 * Makefile.sub: Add DESTDIR to install and uninstall targets
2347 to support staged installations.
2348 * Makefile.comm: Likewise.
2349 * doc/Makefile.sub: Likewise.
2350 * contrib/eqn2graph/Makefile.sub: Likewise.
2351 * contrib/grap2graph/Makefile.sub: Likewise.
2352 * contrib/pic2graph/Makefile.sub: Likewise.
2353 * src/devices/xditview/Makefile.sub: Likewise.
2354 * src/preproc/eqn/Makefile.sub: Likewise.
2355 * src/roff/grog/Makefile.sub: Likewise.
2356 * src/roff/nroff/Makefile.sub: Likewise.
2357 * src/utils/afmtodit/Makefile.sub: Likewise.
2358 * src/utils/indxbib/Makefile.sub: Likewise.
2359 * tmac/Makefile.sub: Likewise.
2361 2006-02-24 Werner LEMBERG <wl@gnu.org>
2363 * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list): Use entry
2365 Remove commented out entries for \' and \` (there are no such glyph
2368 * src/libs/libgroff/uniglyph.cpp (unicode_to_glyph_list): Remove
2369 commented out entries for \' and \`.
2372 * */*: s/legal/valid/ where appropriate.
2374 2006-06-23 Werner LEMBERG <wl@gnu.org>
2376 * font/devhtml/R.proto, font/devutf8/R.proto: Remove incorrect \'
2379 2006-02-22 Werner LEMBERG <wl@gnu.org>
2381 Remove all remaining traces from the `shc' glyph.
2383 * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list),
2384 src/libs/libgroff/uniglyph.cpp (unicode_to_glyph_list): Remove
2387 * font/devlatin1/R.proto, font/devcp1046/R.proto: Replace `shc'
2388 entry with unnamed glyph.
2390 * tmac/html/tmac: Remove `shc' entry from call to `.cflags'.
2392 * src/preproc/preconv/preconv.cpp (unicode_entity): Handle U+00AD
2395 2006-02-22 Bruno Haible <bruno@clisp.org>
2397 Concretize the `glyph' datatype.
2399 * src/include/font.h (glyph): Remove class.
2400 (glyph): Renamed from struct `glyphinfo'.
2401 (glyph_to_index): New inline function.
2402 (glyph_to_name): Make extern, not inline.
2403 (glyph_to_number): Update.
2404 (font): Use `glyph *' instead of `glyph'.
2406 * src/libs/libgroff/nametoindex.cpp (charinfo): Inherit from class
2407 `glyph'. Make `name' field public.
2408 (character_indexer, number_to_glyph, name_to_glyph): Use `glyph *'
2410 (glyph_to_name): Renamed from `glyph::glyph_name'.
2412 * src/roff/troff/charinfo.h (charinfo): Inherit from class `glyph'.
2413 Use `glyph *' instead of `glyph'.
2415 * src/roff/troff/input.cpp (name_to_glyph, number_to_glyph): Use
2416 `glyph *' instead of `glyph'.
2417 (glyph_to_name): Renamed from `glyph::glyph_name'.
2419 * src/libs/libgroff/font.cpp: Use `glyph *' instead of `glyph',
2420 and `glyph_to_index' instead of `glyph::glyph_index'.
2422 * src/include/printer.h (printer): Use `glyph *' instead of `glyph'.
2423 * src/libs/libdriver/printer.cpp: Likewise.
2424 * src/devices/grodvi/dvi.cpp: Likewise.
2425 * src/devices/grohtml/post-html.cpp: Likewise.
2426 * src/devices/grolbp/lbp.cpp: Likewise.
2427 * src/devices/grolj4/lj4.cpp: Likewise.
2428 * src/devices/grops/ps.cpp: Likewise.
2429 * src/devices/grotty/tty.cpp: Likewise.
2431 2006-02-22 Werner LEMBERG <wl@gnu.org>
2433 * font/devdvi/generate/tc.map: Add `sr' glyph.
2434 * font/devdvi/*TC: Regenerated.
2436 * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list): Use entry
2439 2006-02-21 Werner LEMBERG <wl@gnu.org>
2441 * man/groff_char.man: Explain `***' marker.
2443 2006-02-17 Bruno Haible <bruno@clisp.org>
2445 * src/libs/libgroff/nametoindex.cpp (character_indexer): Rename
2446 methods and fields from *_index to *_glyph.
2447 (character_indexer::named_char_glyph): Test for `charNNN' name
2449 (name_to_glyph): ... not here.
2451 2006-02-17 Bruno Haible <bruno@clisp.org>
2453 * src/include/font.h (name_to_glyph): Renamed from
2454 font::name_to_index.
2455 (number_to_glyph): Renamed from font::number_to_index.
2456 (glyph_to_name): Renamed from font::index_to_name.
2457 (glyph_to_number): Renamed from font::index_to_number.
2458 * src/libs/libgroff/nametoindex.cpp: Likewise.
2459 * src/roff/troff/charinfo.h (charinfo::as_glyph): Renamed from
2460 charinfo::get_index.
2462 * src/roff/troff/input.cpp: All callers changed.
2463 * src/roff/troff/node.cpp: Likewise.
2464 * src/libs/libgroff/font.cpp: Likewise.
2465 * src/devices/grops/ps.cpp: Likewise.
2466 * src/devices/grohtml/post-html.cpp: Likewise.
2467 * src/libs/libdriver/printer.cpp: Likewise.
2469 2006-02-17 Werner LEMBERG <wl@gnu.org>
2471 * src/include/ptable.h, src/include/itable.h
2472 (NEXT_PTABLE_SIZE_DEFINED): Use it to avoid multiple declaration
2473 of external symbol `next_ptable_size' (used by both header files).
2475 2006-02-15 Bruno Haible <bruno@clisp.org>
2477 * src/include/font.h (glyphinfo): New class.
2478 (glyph): Change internal representation.
2479 Change constructor signature.
2480 New method glyph::glyph_number().
2481 (glyph::glyph, glyph glyph::undefined_glyph, glyph::glyph_index,
2482 glyph::operator==, glyph::operator!=): Update.
2483 (font::index_to_name, font::index_to_number): New functions.
2485 * src/include/itable.h: New file, based on src/include/ptable.h.
2487 * src/libs/libgroff/nametoindex.cpp: Include itable.h.
2488 (class charinfo): New class.
2489 (class character_indexer): Change table result type from `int' to
2491 Add table with integer key.
2492 (character_indexer::character_indexer): Update.
2493 (character_indexer::ascii_char_index): Update.
2494 (character_indexer::numbered_char_index): Use NULL as name, not a
2495 string starting with a space.
2496 (character_indexer::named_char_index): Update.
2497 (font::number_to_index, font::name_to_index): Remove no-op cast.
2498 (glyph::glyph_name): New method.
2499 * src/roff/troff/charinfo.h (class charinfo): Inherit from class
2501 (NUMBERED): Remove flag bit.
2502 (charinfo::numbered, charinfo::get_index): Update.
2504 * src/roff/troff/input.cpp (charinfo::charinfo): Update.
2505 (charinfo::set_number, charinfo::get_number): Update.
2506 (glyph::glyph_name): New method.
2508 2006-02-15 Werner LEMBERG <wl@gnu.org>
2510 * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list): Fix
2511 entries for `>>', `<<', `*f', and `+f'. Reported by Bruno.
2513 2006-02-13 Werner LEMBERG <wl@gnu.org>
2515 * font/devps/prologue.ps (RE): Check `UniqueID' also, similar to
2518 2006-02-11 Werner LEMBERG <wl@gnu.org>
2520 * src/include/font.h: s/glyph_t/glyph/.
2523 * src/devices/grotty/tty.cpp: s/glyph/tty_glyph/.
2524 s/output_character_t/output_character/.
2526 2006-02-11 Bruno Haible <bruno@clisp.org>
2528 New accessor method glyph_t::glyph_name().
2530 * src/include/ptable.h (declare_ptable): Add a return value to the
2531 `define' method, and declare a `lookupassoc' method.
2532 (implement_ptable): Return the stored key in `define'. Implement
2534 * src/include/font.h (glyph_t): Add `name' field. Add an argument
2536 (glyph_t::glyph_name): New method.
2538 * src/libs/libgroff/nametoindex.cpp (character_indexer): Change
2539 return type of methods and field member type to glyph_t.
2540 (character_indexer::character_indexer): Update.
2541 (character_indexer::ascii_char_index): Allocate a name for the
2543 Return a glyph_t with name.
2544 (character_indexer::numbered_char_index): Return a glyph_t without a
2546 (character_indexer::named_char_index): Return a glyph_t with a name.
2547 (font::number_to_index, font::name_to_index): Update.
2549 * src/roff/troff/input.cpp (charinfo::charinfo): Use the symbol as
2552 2006-02-11 Bruno Haible <bruno@clisp.org>
2554 * src/devices/grotty/tty.cpp (output_character_t): New type.
2555 (tty_printer::make_bold, tty_printer::add_char,
2556 tty_printer::put_char): Change argument type to output_character_t.
2557 (crossings): Change element type to output_character_t.
2559 2006-02-11 Bruno Haible <bruno@clisp.org>
2561 Make the glyph data type abstract.
2563 * src/include/font.h (glyph_t): New class.
2564 (name_to_index, number_to_index): Change return type to glyph_t.
2565 (font::contains, font::get_width, font::get_height, font::get_depth,
2566 font::get_character_type, font::get_kern, font::get_skew,
2567 font::get_italic_correction, font::get_left_italic_correction,
2568 font::get_subscript_correction, font::get_code,
2569 font::get_special_device_encoding, font::add_entry,
2570 font::copy_entry, font::add_kern, font::hash_kern): Change argument
2573 * src/libs/libgroff/font.cpp (font_kern_list): Change members
2574 type and constructor argument types to glyph_t.
2575 (font::contains, font::get_width, font::get_height, font::get_depth,
2576 font::get_character_type, font::get_kern, font::get_skew,
2577 font::get_italic_correction, font::get_left_italic_correction,
2578 font::get_subscript_correction, font::get_code,
2579 font::get_special_device_encoding, font::add_entry,
2580 font::copy_entry, font::add_kern, font::hash_kern): Change argument
2582 (font::load): Use glyph_t variables.
2584 * src/libs/libgroff/nametoindex.cpp (name_to_index,
2585 number_to_index): Change return type to glyph_t.
2587 * src/roff/troff/charinfo.h (charinfo::index): Change type to
2589 (charinfo::get_index): Change return type to glyph_t.
2591 * src/roff/troff/env.cpp: Include font.h.
2593 * src/roff/troff/node.cpp: Include font.h before charinfo.h.
2595 * src/roff/troff/input.cpp: Include font.h before charinfo.h.
2596 (charinfo::charinfo): Update.
2597 (name_to_index, number_to_index): Change return type to glyph_t.
2599 * src/include/printer.h (printer::set_char_and_width): Change return
2602 * src/libs/libdriver/printer.cpp (printer::set_char_and_width):
2603 Change return type to glyph_t.
2605 * src/devices/grodvi/dvi.cpp (dvi_printer::set_char): Change
2606 argument type to glyph_t.
2608 * src/devices/grohtml/post-html.cpp (page::add_and_encode): Update.
2609 (html_printer::space_glyph): Renamed from space_char_index.
2610 (html_printer::add_to_sbuf, html_printer::sbuf_continuation,
2611 html_printer::overstrike, html_printer::set_char): Change argument
2613 (html_printer::set_char_and_width): Change return type to glyph_t.
2615 * src/devices/grolbp/lbp.cpp (lbp_printer::set_char): Change
2616 argument type to glyph_t.
2618 * src/devices/grolj4/lj4.cpp (lj4_printer::set_char): Change
2619 argument type to glyph_t.
2621 * src/devices/grops/ps.cpp (ps_printer::space_glyph): Renamed from
2623 (ps_printer::set_subencoding, ps_printer::set_char): Change argument
2626 * src/devices/grotty/tty.cpp (tty_printer::set_char): Change
2627 argument type to glyph_t.
2629 2006-02-11 Bruno Haible <bruno@clisp.org>
2631 * src/roff/troff/input.cpp (font::name_to_index): Never return a
2634 * src/libs/libgroff/font.cpp (font::load): Remove failure tests for
2635 font::name_to_index.
2637 2006-02-10 Werner LEMBERG <wl@gnu.org>
2639 * doc/groff.texinfo (Assigning Formats): Number registers are always
2641 Apply some rephrasing, contributed by Michael Burt.
2643 2006-02-07 Werner LEMBERG <wl@gnu.org>
2645 * tmac/fr.tmac <ms>: Set `HY' register.
2647 2006-02-07 Werner LEMBERG <wl@gnu.org>
2649 Add framework for simple adaptation of the main macro packages (mm,
2650 me, ms, mom) to different locales. In particular, add support for
2651 French. For activation, simply use `-mfr' as the last macro
2652 package. This feature has been contributed by Fabrice MĂ©nard
2653 <menard.fabrice@wanadoo.fr>.
2655 * tmac/fr.tmac, tmac/trans.tmac, tmac/hyphen.fr, tmac/LOCALIZATION:
2657 * tmac/README: Mention hyphen.fr.
2658 * man/groff_tmac.man: Mention fr.tmac.
2661 2006-01-27 Werner LEMBERG <wl@gnu.org>
2663 * man/groff_font.man: Updated documentation of `entity_name' field.
2666 2006-01-27 Bruno Haible <bruno@clisp.org>
2668 * font/devhtml/R.proto: Remove the entity names from the font's
2669 special_encoding_encoding column.
2670 * src/devices/grohtml/post-html.cpp (get_html_entity): New function,
2671 handling the entity names here.
2672 (get_html_translation): Use it. Change return type to `const
2674 (page::add_and_encode): Update, removing a useless cast.
2676 2006-01-26 Werner LEMBERG <wl@gnu.org>
2678 This change is based on a patch by Bruno Haible <bruno@clisp.org>.
2680 * src/include/device.h: Add comments.
2681 * src/include/font.h: Add comments.
2682 * src/include/unicode.h: Likewise.
2683 * src/include/ptable.h, src/libs/libgroff/ptable.cpp: Likewise.
2685 2006-01-26 Keith Marshall <keith.d.marshall@ntlworld.com>
2687 Suppress `.st' request emission by `grn'.
2689 * src/preproc/grn/main.cpp (USE_ST_REQUEST): New macro.
2692 2006-01-22 Werner LEMBERG <wl@gnu.org>
2694 * install-sh: New version; taken from texinfo CVS.
2696 2006-01-21 Werner LEMBERG <wl@gnu.org>
2698 * src/preproc/preconv/preconv.cpp (main): Set program_name. Bug
2699 reported by Alexander E. Patrakov <patrakov@ums.usu.ru>.
2701 2006-01-19 Bruno Haible <bruno@clisp.org>
2703 Let `make -k install' install more files.
2705 * Makefile.in (MAKE_K_FLAG): New variable. Use it everywhere where
2706 $(MAKE) and $(MDEFINES) are used.
2707 (CPROGDIRS): Remove $(XPROGDIRS). Treat $(XPROGDIRS) like
2708 $(CPROGDIRS) everywhere.
2709 ($(DEVDIRS) $(XDEVDIRS) $(OTHERDEVDIRS) $(TTYDEVDIRS)): Don't depend
2711 ($(OTHERDIRS)): Likewise.
2714 * src/devices/grohtml/post-html.cpp (get_html_translation): Remove
2715 failure test for font::name_to_index -- it can never fail.
2717 2006-01-19 Werner LEMBERG <wl@gnu.org>
2719 * src/devices/grops/grops.man: Fix section on creating EPS files.
2720 Don't use future time in manual.
2723 2006-01-15 Gaius Mulley <gaius@glam.ac.uk>
2725 * tmac/www.tmac: New macro LINKSTYLE which allows users to set
2726 various typographical URL attributes for non-HTML devices.
2728 * tmac/groff_www.man: Document LINKSTYLE.
2730 2006-01-11 Werner LEMBERG <wl@gnu.org>
2732 * configure.ac: Test for getc_unlocked (needed for localcharset).
2733 * configure, src/include/config.hin: Regenerated.
2735 * src/libs/libgroff/Makefile.sub (EXTRA_CFLAGS): Define
2738 * src/libs/libgroff/relocatable.h: New dummy header file for
2741 * src/libs/libgroff/localcharset.c: Updated to (unchanged) CVS
2744 2006-01-10 Bruno Haible <bruno@clisp.org>
2746 Work around unportability of nl_langinfo(CODESET).
2748 * m4/glibc21.m4: New file, from gnulib.
2749 * Makefile.sub (M4MACROS): Add m4/glibc21.m4.
2750 * configure.ac: Also test for stddef.h, and invoke jm_GLIBC21.
2751 * Makefile.in (HOST, GLIBC21): New variables.
2752 (MDEFINES): Pass them to subdirectories.
2753 * src/include/relocate.h (relocatep): Define with C linkage.
2754 * src/include/localcharset.h: New file, from gnulib.
2755 * src/libs/libgroff/localcharset.c: New file, from gnulib with a
2756 modification for relocate().
2757 * src/libs/libgroff/config.charset: New file, from gnulib.
2758 * src/libs/libgroff/ref-add.sin: New file, from gnulib.
2759 * src/libs/libgroff/ref-del.sin: New file, from gnulib.
2760 * src/libs/libgroff/Makefile.sub (EXTRA_CFLAGS): Also define LIBDIR.
2761 (OBJS): Add localcharset.o.
2762 (CSRCS): Add localcharset.c.
2763 (all): Add dependencies to charset.alias, ref-add.sed, ref-del.sed.
2764 (charset.alias): New rule.
2765 (PACKAGE): New variable.
2766 (ref-add.sed, ref-del.sed): New rules.
2767 (MKINSTALLDIRS): New variable.
2768 (install_data): Depend on install_charset_data.
2769 (install_charset_data): New rule for creating or updating
2771 (uninstall_sub): Depend on uninstall_charset_data.
2772 (uninstall_charset_data): New rule for uninstalling or updating
2774 * src/preproc/preconv/preconv.cpp: Include localcharset.h instead
2776 (main): Initialize default_encoding from locale_charset() instead of
2777 nl_langinfo(CODESET).
2779 * aclocal.m4, configure, src/include/config.hin: Regenerated.
2781 2006-01-10 Werner LEMBERG <wl@gnu.org>
2783 * src/preproc/preconv/preconv.cpp (conversion_iconv): Use
2784 ICONV_CONST in call to iconv. Reported by Robert Goulding.
2786 2006-01-07 Werner LEMBERG <wl@gnu.org>
2788 * font/devps/generate/freeeuro.sfd: Run auto-hinter with recent
2790 Bump font version to 001.001.
2792 * font/devps/generate/Makefile (freeeuro.afm, freeeuro.pfa):
2793 Call fontforge, not pfaedit.
2795 * font/devps/freeeuro.afm, font/devps/freeeuro.pfa: Regenerated.
2797 2006-01-05 Ruslan Ermilov <ru@FreeBSD.org>
2799 * tmac/doc-common: Add new FreeBSD and NetBSD versions.
2800 * tmac/groff_mdoc.man: Updated.
2802 2006-01-05 Werner LEMBERG <wl@gnu.org>
2804 * src/preproc/preconv/preconv.cpp: s/debug/debug_flag/.
2805 (raw_flag): New global variable.
2806 (do_file): Use .lf to set file name (if `raw_flag' isn't set).
2807 Don't pass BOM to `conversion_utf8'.
2809 (main): Handle `-r' command line switch to set `raw_flag'.
2810 (get_BOM): Fix encodings in `BOM_table'.
2812 * src/preproc/preconv/preconv.man: New file. Not complete yet.
2813 * src/preproc/proconv/Makefile.sub (MAN1): New variable.
2815 2006-01-04 Werner LEMBERG <wl@gnu.org>
2817 * src/preproc/preconv/preconv.cpp (emacs_to_mime): As suggested by
2818 Bruno, comment out most encodings to support only a small set of
2819 coding tags, thus reducing potential problems with legacy encodings
2820 and character sets in the future.
2821 Add many XEmacs coding tags (now commented out).
2823 (check_encoding_tag): Renamed to...
2824 (check_coding_tag): This.
2825 (get_BOM): Return encoding as specified by BOM.
2826 Test for UTF32-LE too.
2827 (do_file): Don't check for coding tag if a BOM has been found.
2829 2006-01-03 Bruno Haible <bruno@clisp.org>
2831 * m4/groff.m4: Renamed from aclocal.m4.
2832 * m4/codeset.m4: New file, from gnulib.
2833 * m4/iconv.m4: New file, from gnulib.
2834 * m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4: New files, from
2836 * config.rpath: New file, from gnulib.
2837 * config.guess, config.sub: New files, from gnulib.
2838 * Makefile.sub (M4MACROS): New variable.
2839 (configure): Fix typo.
2840 (aclocal.m4): New rule.
2841 (stamp-h.in): Depend on aclocal.m4.
2842 * configure.ac: Invoke AM_ICONV and AM_LANGINFO_CODESET.
2843 * Makefile.in (LIBICONV): New variable.
2844 (MDEFINES): Pass it to recursive makes.
2845 * src/preproc/preconv/preconv.cpp: Use HAVE_LANGINFO_CODESET and
2846 HAVE_ICONV instead of I18N macro.
2847 * src/preproc/preconv/Makefile.sub (EXTRA_LDFLAGS): New variable.
2849 * aclocal.m4, configure, src/include/config.hin: (Re)generated.
2851 2006-01-03 Werner LEMBERG <wl@gnu.org>
2853 * doc/Makefile.in (webpage.html): Simplify.
2854 * doc/Makefile.sub (webpage.html): Synchronize with doc/Makefile.in.
2855 * doc/webpage.ms, tmac/groff_www.man, tmac/www.tmac: Minor updates.
2857 2006-01-01 Werner LEMBERG <wl@gnu.org>
2859 * tmac/doc-common (Os): Add some Darwin versions.
2860 * tmac/groff_mdoc.man: Document them.
2862 2006-01-01 Bruno Haible <bruno@clisp.org>
2864 * src/preproc/preconv/preconv.cpp (emacs_to_mime): Various
2866 . Don't map ascii to latin-1.
2867 . Don't use IBMxxx encodings but cpxxx for portability.
2868 . Map cp932, cp936, cp949, cp950 to itself.
2869 (emacs2mime): Protect calls to strcasecmp.
2870 (conversion_iconv): Add missing call to iconv_close.
2871 (do_file): Emit error message in case of unsupported encoding.
2873 2005-12-31 Werner LEMBERG <wl@gnu.org>
2875 Integrate preconv into the groff binary. Changes based on a patch
2876 from Michail Vidiassov.
2878 * src/roff/groff/pipeline.h (MAX_COMMANDS): Increase by 1.
2880 * src/roff/groff/groff.cpp (PRECONV_INDEX): New macro.
2881 (SOELIM_INDEX): Updated.
2882 (help, synopsis): Updated.
2883 (main): Add command line options `-k' and `-K enc' to select
2885 Add support for GROFF_ENCODING environment variable.
2887 * src/roff/groff/groff.man: Updated and revised.
2890 Start with autoconf support for preconv.
2892 * configure.ac: Call AC_C_BIGENDIAN.
2893 * configure, src/include/config.hin: Regenerated.
2895 2005-12-30 Werner LEMBERG <wl@gnu.org>
2897 New preprocessor `preconv' to convert input encodings to something
2898 groff can understand. Not yet integrated within groff. Proper
2899 autoconf stuff is missing too.
2901 Tomohiro Kubota has written a first draft of this program, and some
2902 ideas have been reused (while almost no code has been taken
2905 * src/preproc/preconv/preconv.cpp. src/preproc/preconv/Makefile.sub:
2908 * MANIFEST, Makefile.in (CCPROGDIRS), test-groff.in
2909 (GROFF_BIN_PATH): Add preconv.
2911 2005-12-12 Werner LEMBERG <wl@gnu.org>
2913 * aclocal.m4 (GROFF_MAKEINFO): Fix regexps to be POSIX conformant.
2914 In particular, don't use `\+' since it is a GNU sed extension.
2916 * configure: Regenerated.
2918 2005-12-09 Werner LEMBERG <wl@gnu.org>
2920 * src/libs/libgroff/make-uniuni: New script to generate uniuni.cpp.
2922 * src/libs/libgroff/uniuni.cpp: Regenerated, using data from Unicode
2926 * src/utils/afmtodit/make-afmtodit-tables: New script to generate
2929 * src/utils/afmtodit/afmtodit.tables: New file, representing Unicode
2932 * src/utils/afmtodit/afmtodit.pl (%unicode_decomposed,
2933 %AGL_to_unicode): Removed. Replace it with a tag.
2935 * src/utils/afmtodit/Makefile.sub (afmtodit): Adjust sed expression
2936 to replace tag with actual file contents.
2938 2005-12-08 Werner LEMBERG <wl@gnu.org>
2940 The change 2005-06-20 can indeed cause problems, so we follow the
2941 advice by using marks.
2943 * font/devps/prologue.ps (PBEGIN): Use `mark'.
2944 (PEND): Use `cleartomark'.
2946 2005-12-07 Michail Vidiassov <master@iaas.msu.ru>
2948 * src/utils/afmtodit.pl: Fix kerning output to avoid warnings for
2949 glyphs which have kern values but aren't handled (glyph variants,
2952 2005-12-02 Werner LEMBERG <wl@gnu.org>
2954 * src/devices/grops/ps.cpp (ps_printer::get_subfont): Use correct
2955 subfont index. Reported by Michail Vidiassov <master@iaas.msu.ru>.
2957 2005-11-28 Gaius Mulley <gaius@glam.ac.uk>
2959 * doc/Makefile.in: Separate rule for webpage.html so that extra
2960 command line options can be passed to grohtml.
2961 * doc/groff.css: Change all margins to 0%.
2962 * doc/webpage.ms: Now use new macros ALN, LNS, and LNE so that left
2963 navigation is exploited. Also update webpage to contain new
2964 sections on licenses, mailing lists, cvs/ftp access, groff
2965 dependencies, and bug reports.
2966 * tmac/groff_www.man: Document the new macros ALN, LNS, and LNE.
2967 * tmac/www.tmac: Implement the new macros ALN, LNS, and LNE.
2969 2005-11-25 Gaius Mulley <gaius@glam.ac.uk>
2971 * src/devices/grohtml/post-html.cpp
2972 (html_printer::do_file_components): Add fputs calls to emit the
2973 head contents and shut down the head tag whenever a new file
2974 component is generated.
2976 2005-11-22 Gaius Mulley <gaius@glam.ac.uk>
2978 * src/devices/grohtml/post-html.cpp (html_printer::flush_page): Add
2979 call to flush_text to flush any outstanding html tags on the
2982 2005-11-18 Werner LEMBERG <wl@gnu.org>
2984 * aclocal.m4 (GROFF_MAKEINFO): Use `groff.info' in tests.
2985 Announce makeinfo version.
2986 * configure: Regenerated.
2988 2005-11-18 Mike Frysinger <vapier@gentoo.org>
2990 * Makefile.in: Declare proper dependencies between make targets.
2992 * doc/Makefile.in: Rename groff info page to `groff.info'.
2993 * doc/Makefile.sub: Likewise.
2994 * doc/groff.texinfo: Likewise.
2996 2005-11-17 Peter O'Gorman <mlists@thewrittenword.com>
2998 * src/utils/pfbtops/pfbtops.c, src/utils/xtotroff/xtotroff.c: Move
2999 definition of __GETOPT_PREFIX to the beginning of file to ensure
3000 that it is defined even on platforms where getopt.h is already
3001 included by other header files.
3003 2005-11-10 Gaius Mulley <gaius@glam.ac.uk>
3005 * src/devices/grohtml/post-html.cpp (html_printer::do_heading):
3006 Reset font to NULL to ensure that a font block is recreated during
3009 2005-11-04 Werner LEMBERG <wl@gnu.org>
3011 * aclocal.m4 (GROFF_MAKEINFO): Fix sed expression.
3012 * configure: Regenerated.
3014 2005-10-27 Werner LEMBERG <wl@gnu.org>
3016 * aclocal.m4 (GROFF_MAKEINFO): New function for checking whether
3017 makeinfo 4.8 or newer is available.
3018 * configure.ac: Call GROFF_MAKEINFO.
3019 * configure: Regenerated.
3021 * Makefile.in (MAKEINFO): Use autoconf variable.
3022 (MDEFINES): Add MAKEINFO.
3024 * doc/Makefile.in (MAKEINFO): Use autoconf variable.
3025 * doc/Makefile.sub (MAKEINFO): Remove.
3027 2005-10-26 Werner LEMBERG <wl@gnu.org>
3029 * REVISION: Set to 3.
3031 2005-10-17 Werner LEMBERG <wl@gnu.org>
3033 Mention $MANPAGER variable used with some `man' systems.
3035 * doc/webpage.ms, src/devices/grotty/grotty.man, NEWS: Updated.
3037 2005-09-13 Werner LEMBERG <wl@gnu.org>
3039 * tmac/hyphenex.us: New version (`ushyphex.tex' from ftp.dante.de).
3042 Free Software Foundation, Inc.
3044 Copying and distribution of this file, with or without modification,
3045 are permitted in any medium without royalty provided the copyright
3046 notice and this notice are preserved.
3049 version-control: never