| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
can be negative also.
* src/utils/hpftodit/hpftodit.cc (char_info): `ascent' must be
`int16'.
(read_char_table): Avoid negative ascenders.
(output_charset): Add cast.
* font/devlj4/*: Regenerated.
Replace unnamed glyphs for DVI fonts with `uXXXX' glyph names where
possible.
* font/devdvi/generate/{tc,texttt,ec,texmi,texsy,textex}.map: Do it.
* font/devdvi/generate/textex.map: Map glyph 23 to `u21C6' instead
of `<>'.
* font/devdvi/*: Regenerated.
Map `la' and `ra' to U+27E8 and U+27E9. These two characters have
normal width, while the previously used characters (U+2329 and
U+232A) are classified as wide due to canonical equivalence with the
CJK punctuation characters U+3008 and U+3009.
* font/devutf8/R.proto: Updated.
* src/roff/troff/uniglyph.cc, src/roff/troff/glyphuni.cc: Ditto.
* man/groff_char.man: Simplify handling of table traps by
introducing `start block' and `end block' macros.
(Ns, Ne, 2s, 2e, Ds, De): New macros.
(DL): Make it work with Unix troff also.
Fix code values of `la' and `ra'.
* tmac/dvi.tmac: Define `<>' for CW and CWI.
|
|
|
|
|
|
|
|
|
|
|
|
| |
to be conform with Unicode 3.0 and newer.
* font/devlj4/generate/text.map: Add `Eu'.
* font/devlj4/generate/special.map: Flip `*e' and `+e'.
* font/devlj4/S: Regenerated.
* man/groff_char.man: Completely rewritten.
* doc/groff.texinfo: Fix description of request and macro arguments.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Make \D'f ...' move horizontally again for backwards compatibility.
Replace it with \D'Fg ...' where appropriate to avoid dependency
on horizontal resolution.
* src/roff/troff/input.cc (do_get_long_name): New function.
(get_long_name): Call it.
(read_draw_node): Handle `\D'Fx ...' by calling ...
(read_color_draw_node): New function.
(read_rgb, read_cmy, read_cmyk, read_gray): New optional argument
`end'.
Pass it to `do_get_long_name' which is used instead of
`get_long_name'.
* src/libs/libdriver/input.cc (color_from_Df_command): Remove
unnecessary value guard.
(parse_D_command) <'f'>: Add horizontal shift.
* src/preproc/grn/hgraph.cc (HGPrintElt) <POLYGON>: Use \D'Fg ...'.
* src/preproc/pic/troff.cc (troff_output::set_fill): Ditto.
(FILL_MAX): Removed.
* NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
Updated.
* src/roff/troff/input.cc (do_name_test, do_expr_test,
do_zero_width): Push `\n' if closing delimiter is missing.
(token::next) <ESCAPE_NEWLINE>, <'\n'>, <'\ '>: Reset `have_input'.
<'F'>: Make \F non-transparent at the beginning of line.
(process_input_stack) <token::TOKEN_CHAR, token::TOKEN_NEWLINE,
token::TOKEN_REQUEST, token::TOKEN_BEGIN_TRAP>: Don't handle
`have_input'.
(define_color): Free color in case of reassignment.
* doc/groff.texinfo (@Defesc, @DefescList, @DefescItem,
@DefescListEnd): Use @Var, not @var.
Fix all calls.
* src/preproc/grn/hgraph.cc (HGPrintElt): Fix typo.
* src/preproc/pic/object.cc (object_spec::~object_spec): Free
`shaded' and `outlined' arrays.
(object_spec::object_spec): Initialize `shaded' and `outlined'.
(graphic_object::set_fill_color, graphic_object::set_outline_color):
Use strsave.
(closed_object::set_fill_color): Ditto.
* src/preproc/pic/troff.cc (troff_output::set_color): Use strsave
instead of strdup.
(troff_output::reset_color): Use a_delete instead of free.
* src/preproc/pic/main.cc (do_file): Free `out' in case of error.
|
|
|
|
|
|
|
|
|
|
| |
Document that \D'f...' is dependent on the horizontal resolution.
* man/groff_diff.man: Improve documentation of \D'f...'.
* src/preproc/grn/hgraph.cc (HGPrintElt) <POLYGON>: Don't emit
compensating \h'...' for \D'f ...' since the latter no longer moves
current position.
* src/preproc/pic/troff.cc (troff_output::set_fill): Ditto.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* src/include/error.h: Add declaration for
`current_source_filename'.
* src/libs/libgroff/filename.cc: Add `current_source_filename'.
* src/libs/libgroff/error.cc (do_error_with_file_and_line): Add
parameter for source file string.
Updated all callers.
* src/libs/libdriver/input.cc: Add `current_source_filename'.
(remember_source_filename): New function.
(parse_x_command <'F'>, do_file <'F'>): Use it.
Make grotty not emit warnings about unknown colors more than
necessary.
* src/devices/grotty/tty.cc: Include `ptable.h'.
(TTY_MAX_COLORS): Removed.
(DEFAULT_COLOR_IDX): Defined to -1.
(glyph): Change `back_color_idx' and `fore_color_idx' to `char'.
(tty_printer): Change `curr_back_idx' and `curr_fore_idx' to `char'.
Change `tty_colors' to be a ptable.
First arg of `put_color' is now `char'.
New functions `make_rgb_string' and `tty_color'.
(tty_printer::tty_printer): Use `tty_color'.
(tty_printer::color_to_idx): Return value is now `char'.
Use `tty_color'.
* src/include/color.h (color): Add `print_color' member function.
* src/libs/libgroff/color.cc (color::print_color): Implement it.
Valgrind fixes.
* src/devices/grops/ps.cc (ps_printer::define_encoding): Close
encoding file.
* src/include/ptable.h (PTABLE::~PTABLE, PTABLE::define): Always
assume that value has been allocated with `new[]', thus use
`a_delete' for deallocation.
* src/libs/libdriver/input.cc (get_integer_arg,
get_possibly_int_args, parse_x_command, do_file): Use `a_delete'
where appropriate.
* src/libs/libgroff/new.cc (delete) [!COOKIE_BUG]: Define.
* src/libs/libgroff/nametoindex.cc
(character_indexer::named_char_index): Use `new <type>[1]'.
* src/preproc/eqn/lex.cc (init_table, do_definition): Use `new
<type>[1]'.
* src/preproc/eqn/text.cc (set_special_char_type): Ditto.
(split_text): Use `a_delete'.
* src/preproc/pic/pic.y (define_label, define_variable): Use `new
<type>[1]'.
* src/roff/troff/env.cc (environment::choose_breakpoint): Avoid
harmless memory leak.
(hyphen_trie::read_patterns_file): Initialize `buf'.
* src/roff/troff/node.cc (troff_output_file::troff_output_file):
Initialize `current_fill_color'and `current_glyph_color'.
* src/roff/troff/glyphuni.cc
(glyph_to_unicode_init::glyph_to_unicode_init): Use `new <type>[1]'.
* src/roff/troff/uniuni.cc
(unicode_decompose_init::unicode_decompose_init): Ditto.
* src/roff/troff/uniglyph.cc
(unicode_to_glyph_init::unicode_to_glyph_init): Ditto.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
extension glyph (\[radicalex]) are now text symbols. The new
mathematical versions are called \[sqrt] and \[sqrtex],
respectively.
* font/devX*/S: Regenerated.
* font/devdvi/generate/texex.map: Rename `sr[0123]' to `sqrt[0123]'.
* font/devdvi/generate/texsy.map: Rename `sr' to `sqrt'.
* font/devdvi/EX, font/devdvi/S: Regenerated.
* font/devhtml/R.proto, font/devutf8/R.proto: Add `sqrt'.
* font/devlj4/generate/special.map: Add `sqrt'.
* font/devlj4/S: Regenerated.
* font/devps/generate/textmap: Add `sqrt'.
* font/devps/S, font/devps/symbolmap: Regenerated.
* src/preproc/eqn/sqrt.cc (SQRT_CHAR, RADICAL_EXTENSION_CHAR,
SQRT_CHAIN, BAR_CHAIN): Use `sqrt*' and `sqrtex*'.
* src/roff/troff/input.cc (init_charset_table): Make `sqrtex'
overlap horizontally.
* tmac/X.tmac, tmac/ps.tmac, tmac/lj4.tmac: Add `sqrtex'.
* tmac/dvi.tmac: Add `sr', and `sqrtex'.
Fix `radicalex'.
* doc/groff.texinfo, man/groff_diff.man: Document that `radicalex'
and `sqrtex' are overlapping glyphs.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
and `Euro.symbol.bold.slanted'.
Improve some glyph offsets and widths.
* font/devps/EURO, font/devps/freeeuro.afm, font/devps/freeeuro.pfa:
Regenerated.
* font/devps/generate/Makefile (freeeuro.afm freeeuro.pfa): Fix
typo.
* font/devps/generate/sfdtopfa.pe: Generate PFA in current
direcory.
* tmac/europs.tmac: Updated to new glyph indices.
Use Euro.symbol for font familiy `A'.
* doc/groff.texinfo: Minor improvements.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* font/devdvi/*TC: Regenerated.
* src/roff/troff/div.cc (init_div_requests): Sorted.
* tmac/dvi.tmac: Remove `Ye'.
* tmac/ec.tmac: Remove `Ye'.
Add .rchar entry for `de'.
* man/groff.man, man/groff_diff.man: Document register `.pe'.
* doc/groff.texinfo: Document registers `.pe', `.n', and `.w'.
* NEWS: Updated.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
defines a glyph which is searched after the check for fonts declared
with `.special' (and before the check for all mounted special
fonts). `fschar' defines a glyph for a particular font which is
searched after the check for fonts declared with `.fspecial' (and
before the check for fonts declared with `.special'). `rfschar'
removes glyphs defined with `fschar'.
* src/roff/troff/token.h (char_mode): New enum.
Declare do_define_character.
* src/roff/troff/charinfo.h (charinfo): Replace `fallback' with
`mode'.
(charinfo::is_fallback): Updated.
(charinfo::is_special): New method.
* src/roff/troff/input.cc (do_define_character): Add and use
optional second parameter used as a prefix for font-specific glyph
names.
(define_character, define_fallback_character): Updated.
(define_special_character): New function.
(init_input_requests): Add `schar'.
(charinfo::charinfo, charinfo::set_macro): Updated.
* src/roff/troff/node.cc: Include `stringclass.h'.
(make_glyph_node): Handle special glyphs defined with `.schar' and
`.fschar'.
(define_font_special_character, remove_font_special_character): New
functions.
(init_node_requests): Sorted.
Add `fschar' and `rfschar'.
* NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
Document new requests.
* font/devhtml/R.proto, font/devutf8/R.proto: Add `va'.
* tmac/dvi.tmac: Add `va' for CW and CWI (using `.fschar').
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* devdvi/generate/Makefile (FONTS): Add `SC'.
(SC): New rule.
* devdvi/generate/textex.map: New map file for cmtex.
* devdvi/SC: New.
* devdvi/Makefile.sub (DEVFILES): Updated.
* tmac/dvi.tmac: Add fspecial entries for SC.
Add `MI', `S' and `CW' to the `special' call. Otherwise, `SC' is
found before `S' since the font position of `SC' is lower due to the
gaps in DESC's `font' line.
* tmac/ec.tmac: Add a `special' call.
* NEWS: Updated.
* font/devhtml/R.proto: Remove double entry for `ti'.
* tmac/tty.tmac: Add entries for `IJ', `ij', and `bq'.
* tmac/tty-char.tmac: Remove entry for `bq'.
* tmac/lbp.tmac: Add entries for `lq', `rq', `fo', `fc', and `em'.
* tmac/ec.tmac: Don't remove `aq' glyph.
* tmac/X.tmac: Fix entry for `em'.
Add entries for `fo' and `fc'.
* tmac/dvi.tmac: Add entries for `em', `en', `hy', `fo', and `fc'.
* doc/groff.texinfo, man/groff.man, man/groff_diff.man: Fix
documentation of `special' and `fspecial' requests.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
troff_output_file::glyph_color): Set current color before testing
color_flag.
(troff_output_file::put_char_width, troff_output_file::put_char,
troff_output_file::draw): Don't call flush_tbuf and/or do_motion
before glyph_color.
(troff_output_file::file_color, troff_output_file::glyph_color):
Call do_motion.
(word_space_node::tprint, space_node::tprint, hmotion_node::tprint,
vmotion_node::tprint): Move first, then call fill_color.
* doc/groff.texinfo, man/groff_tmac.man: Document that it is not
possible to use multiple main macro packages.
|
| |
|
|
|
|
| |
* man/groff_out.man: Fix documentation of 'N'.
|
|
|
|
|
|
|
| |
* man/groff_tmac.man: Fix typos.
* man/groff_font.man: Minor reordering.
* contrib/eqn2graph/eqn2graph.man (Tp): New macro.
* contrib/groffer/groffer.man: Fix typos.
|
|
|
|
|
|
|
|
|
|
|
| |
* NEWS, man/groff_font.man: Updated.
Extend papersize keyword to accept more than a single entry. The
first valid will be used.
* src/libs/libgroff/font.cc (font::load_desc): Implement it.
(font::scan_papersize): Really skip final newline.
* src/preproc/html/pre-html.cc (get_papersize): Ditto.
|
|
|
|
|
|
|
|
|
| |
* src/devices/grohtml/post-html.cc (to_unicode): Use `unsigned int'
as parameter.
(html_printer::add_to_sbuf): Use `unsigned int' as first parameter.
Updated all callers.
(html_printer::sbuf_continuation, html_printer::overstrike): Ditto.
(html_printer): Updated.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* font/devutf8/R.proto: Adding some missing glyphs.
* font/devutf8/NOTES: Updated.
* tmac/dvi.tmac: Add more composite glyphs.
* tmac/html.tmac: Updated.
* man/groff_char.man: Add `sum' and `product' entities.
* NEWS: Updated.
Improved table, tab, and indenting support.
* src/roff/troff/input.cc (file_iterator::suppress_newline_flag,
string_iterator::suppress_newline_flag): Removed. Updated all
function which have used it.
* src/roff/troff/env.cc: Include `input.h'.
(environment::add_node): Accept 0 as parameter.
(environment::add_html_tag): Add `force' parameter.
Updated all callers.
(environment::add_html_tag_tabs): Ditto.
For the moment, support left-aligned tabs only.
(environment::make_html_tag): New function.
(fill, no_fill): Set .br html tag additionally.
(environment::newline): Emit `eol.ce' or `eol' tag for html.
(environment::add_html_tag_eol): Removed.
(tab_stops::distance_to_next_tab): Add variant for handling
nextpos'.
(environment::distance_to_next_tab): Ditto.
Updated all callers.
(environment::handle_tab): Handle tabs for html.
* src/roff/troff/env.h: Updated.
* src/roff/troff/div.cc: Updated all callers of
`environment::add_html_tag'.
* src/devices/grohtml/html-table.cc,
src/devices/grohtml/html-table.h: New files.
* src/devices/grohtml/html-text.cc (html_text): New members
`blank_para' and `start_space'.
(html_text::issue_tag): Don't emit TABLE_TAG.
Handle indentation for PRE_TAG and P_TAG.
(html_text::end_tag): Updated.
(html_text::table_is_void, html_text::issue_table_begin,
html_text::issue_table_end): Removed.
(html_text::do_push): Simplified.
[DEBUGGING]: Small fix.
(html_text::push_para): Add new parameter for indentation; updated
all callers.
Handle PRE_TAG.
(html_text::do_indent, html_text::do_table, html_text::done_table,
html_text::is_in_table): Removed.
(html_text::do_pre): Handle P_TAG also.
(html_text::shutdown): Handle p->indent.
(html_text::check_emit_text): Simplified.
(html_text::do_emittext): Reset `blank_para'.
(html_text::do_para): Add new parameter for indentation; updated
all callers.
(html_text::remove_indent): New function.
(html_text::do_space): Handle verbatim text properly.
(html_text::ever_emitted_text, html_text::starts_with_space,
html_text::remove_para_align): New functions.
(html_text::dump_stack_element, html_text::dump_stack): Updated.
* src/devices/grohtml/html_text.h (HTML_TAG): Remove TABLE_TAG.
Updated.
* src/devices/grohtml/post-html.cc: Include html-table.h.
(INDENTATION): Removed.
(text_glob): Added many `is_<foo>' functions.
Added table description `tab'.
Added `get_arg',`get_tab_args', `remember_table', and `get_table'
member functions.
(list): Add `insert' and `move_to' member functions.
(page): Add `insert_tag' member function.
(page::dump_page) [DEBUG_TABLES]: Improved.
(html_printer): Add `table' and `max_linelength' elements.
Add many `do_<foo>', `insert_<foo>', `next_horiz_pos',
`lookahead_for_tables', `shutdown_table', `calc_nf', `calc_po_in',
`remove_tabs', `remove_courier_tabs'.
(html_printer::emit_raw): Handle indentation.
(html_printer::do_center, html_printer::write_header): Updated.
(html_printer::is_courier_until_eol): Check for tag.
(html_printer::do_linelength): Handle max_linelength.
(html_printer::do_page_offset, html_printer::do_indentation): Handle
fill_on.
(html_printer::do_tempindent): Updated.
(html_printer::do_indentedparagraph): Removed.
(html_printer::do_indent): Simplified.
(html_printer::do_eol): Use `ever_emitted_text'.
(html_printer::do_flush, html_printer::do_links): Don't call
done_table.
(html_printer::do_break): Handle end_tempindent.
(html_printer::troff_tag): Get argument.
Don't handle `.ip'.
Handle `.tab-ts', `.tab-te', `.col', `tab', and `tab0' tags.
(html_printer::flush_page): Call `lookahead_for_tables'.
Don't call `done_table'.
(html_printer::add_to_sbuf): Always call do_indent.
* src/devices/grohtml/Makefile.sub: Updated.
* tmac/an-old.tmac (TP): Don't handle html device specially.
(an-do-tag-html): New function which will be used instead of
`an-do-tag' if html device is used.
* tmac/html.tmac: Call .po to pass default page offset to grohtml.
* tmac/s.tmac (@IP): Don't handle html device specially.
(@IP-html): New function which will be used instead of `@IP' if
html device is used.
* tmac/www.tmac (HTML-NS, HTML-TAG-NS): New auxiliary macros -- this
is a hack which will eventually vanish again.
(PIMG): Handle `-C' option correctly if not html.
(HR): Use HTML-NS.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* contrib/eqn2graph/eqn2graph.*: Minor fixes.
* tmac/groff_trace.man: New file.
* tmac/Makefile.sub: Updated.
* NEWS: Updated.
* src/roff/groff/groff.man: Add some cross references.
* src/roff/troff/input.cc (substring_request): Add warnings for
string indices out of range.
* font/devdvi/generate/ec.map: Fix typo (`(l' -> `/l').
* font/devdvi/*EC: Regenerated.
* man/groff_char.man: Updated and extended.
* src/roff/troff/input.cc (length_macro): Renamed to...
(length_request): This.
Move call of `tok.next()' to the very end, otherwise the register
value hasn't been updated yet.
(init_input_requests): Updated.
* src/roff/troff/input.cc (substring_macro): Renamed to...
(substring_request): This.
(init_input_requests): Updated.
* src/roff/troff/request.h: Updated.
* src/roff/grog/grog.sh: Fix typo.
* win32-diffs: Updated.
Handle `papersize' keyword properly in DESC.
* src/libs/libgroff/font.cc (font::scan_papersize): Fix argument
type.
Updated all callers.
* src/libs/libgroff/paper.cc: Add four more paper formats used by
grolj4.
* src/include/paper.h: Updated.
* src/devices/grolbp/lbp.cc: Remove unnecessary semicolons.
Other minor C syntax fixes.
(papersize, paperlength, paperwidth): Renamed to `user_*'.
(lbp_printer): Add `papersize', `paperlength', and `paperwidth'
members.
(lbp_printer::lbp_printer): Pass three arguments.
Set paper dimensions properly.
(make_printer, main): Updated.
(handle_unknown_desc_command): Fix error messages.
(main): Handle papersize keyword in DESC properly.
* src/devices/grolj4/lj4.cc (paper_size): Renamed to
`user_paper_size'.
(lbp_printer::lbp_printer): Pass an argument.
Set paper_size properly.
(handle_unknown_desc_command): Removed.
(make_printer, main): Updated.
* src/devices/grolj4/grolj4.man: Minor documentation fix.
* man/groff_font.man, NEWS: Updated.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
string manipulation functions in other programming languages:
Index 0 is now the first character in the string, and index -1
indicates the last character. Since this request didn't work
properly anyway in the last release, it doesn't harm too much to
change the syntax.
* src/roff/troff/input.cc (substring_macro): Use loops to get
the real string length (ignoring COMPATIBLE_SAVE and
COMPATIBLE_RESTORE) and offsets.
Implement change described above.
* man/groff_char.man, tmac/doc-common (doc-header), tmac/doc.tmac
(doc-do-Bd-args, doc-do-Bl-args: Changed accordingly.
* NEWS, doc/groff.texinfo, man/groff_diff.man: Updated.
Make .chop work with .de1 and friends. COMPATIBLE_SAVE and
COMPATIBLE_RESTORE are completely ignored.
* src/roff/troff/input.cc (char_list::set, char_list::get): New
functions.
(macro): `length' field renamed to `len'.
Added new field `empty_macro' (1 if macro is empty), to be used
instead of checking `len'.
Updated all callers.
(macro::empty): Updated.
(macro::length, macro::set, macro::get): New functions.
(macro::append): Ignore COMPATIBLE_SAVE and COMPATIBLE_RESTORE.
Set `empty_macro'.
(chop_macro): Check and remove trailing COMPATIBLE_SAVE/
COMPATIBLE_RESTORE pairs.
(asciify): Ignore COMPATIBLE_SAVE and COMPATIBLE_RESTORE.
* src/roff/troff/request.h: Updated.
* doc/groff.texinfo: Document .chop's behaviour better.
* doc/pic.ms: Fix documentation for the addition of positions.
* tmac/doc.tmac, tmac/an-old.tmac: Need groff version 1.18.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* src/roff/troff/input.cc (have_string_arg): New global variable.
(read_mode): New enumeration.
(read_escape_name): Use it. Update all calls.
(read_long_escape_name): Use it. Update all calls.
Set have_string_arg if appropriate.
(get_char_for_escape_name): Add parameter for handling space
character.
(interpolate_string_with_args, decode_string_args): New functions.
(get_copy, token::next): Call it if necessary.
(interpolate_string): Fix error message.
* NEWS, doc/groff.texinfo, man/groff.man, man/groff_diff.man:
Document it.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
`seconds', `minutes', and `hours' to hold the current time.
* NEWS, doc/groff.texinfo, man/groff.man, man/groff_diff.man:
Updated.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
colours.
* src/roff/troff/input.cc (disable_color_flag): Replaced with...
(color_flag): This (which is the inverse).
(activate_color): New function.
(main, init_input_requests): Updated.
* src/roff/troff/troff.h, src/roff/troff/node.cc
(troff_output_file::fill_color, troff_output_file::glyph_color):
Updated.
* NEWS, doc/groff.texinfo, man/groff_diff.man, man/groff.man:
Document the changes.
Circumvent bug in autoconf 2.53 regarding top_builddir.
* aclocal.m4 (GROFF_BUILDDIR): s/top_builddir/groff_top_builddir/.
* Makefile.in, src/xditview/Imakefile.in, doc/Makefile.in:
s/@top_builddir@/@groff_top_builddir@/.
* configure: Regenerated (with autoconf 2.53).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
but not completely identical to grolbp's extension). grops now has
a -p command line option to override `papersize'. Finally, grolbp
has been adapted to the new syntax.
* src/libs/libgroff/paper.cc, src/include/paper.h: New files. It
defines and initializes the `papersizes[]' array with NUM_PAPERSIZES
elements.
* src/libs/libgroff/Makefile.sub (OBJS): Add `paper.o'.
(CCSRCS): Add `paper.cc'.
* src/include/font.h (font): Add `papersize' element.
* src/libs/libgroff/font.cc (font::unit_scale): New helper function.
(font::scan_papersize): New function.
(font::load_desc): Use it for handling `papersize' keyword.
* src/libs/libgroff/fontfile.cc: Initialize `font::papersize'.
* src/devices/grops/ps.cc: Include paper.h.
(user_paper_length): New global variable.
(ps_printer): Use paper length as initializer.
(make_printer): Updated.
(main): Handle new `-p' option.
* src/devices/grops/grops.man: Updated.
* src/devices/grolbp/lbp.cc: Include paper.h.
s/papersizes/lbp_papersizes/.
(set_papersize): Use new `papersizes' array.
(handle_unknown_desc_command): Don't handle `papersize'.
(main): Use `font::scan_papersize' for handling `-p' option.
* src/devices/grolbp/grolbp.man: Updated.
* man/groff_font.man: Document `papersize'.
* NEWS: Updated.
|
|
|
|
|
|
|
|
|
|
|
|
| |
* src/roff/troff/input.cc (transparent): Remove unused declaration.
(output_request): New function.
(init_input_requests): Add it.
Sorted.
* NEWS, doc/groff.texinfo, man/groff_diff.man, man/groff.man:
Document it.
* Makefile.in (MDEFINES): Add INSTALL_INFO.
* doc/groff.texinfo (@direntry): Fix it.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
if at outer level; at start-up we are at outer level.
* src/roff/troff/input.cc (do_suppress): Implement it.
Simplify \O[3].
Add option -p to show progress information.
pre-grohtml will now render only one page at a time, reducing the
size of needed disk resources enormously.
* src/preproc/html/pre-html.cc (imagePageStem): Replaced with...
(imagePageName): New global variable.
(psPageName, show_progress, currentPageNo): New global variables.
(html_system): Close saved stderr and stdout handles.
(write_end_image): Accept a parameter to control \O escape.
(write_start_image): Adapted to new \O meaning.
(char_buffer::write_upto_newline): Updated.
(createAllPages): Replaced with...
(createPage): This new function to create a single page for images.
It uses `psselect' from the psutils package.
(removeAllPages): Removed.
(createImage): Updated.
Handle progress display.
(char_buffer::do_html, char_buffer::do_image) [DEBUGGING]: Removed.
(scanArguments): Add option -p.
(makeTempFiles): Updated to create temp files for psPageName and
imagePageName.
(removeTempFiles): Removed.
(main): Updated.
* src/devices/grohtml/post-html.cc (header_desc::write_headings,
html_printer::write_header): Append `\0' to `buffer'.
(html_printer::do_eol): Depend on `current_paragraph->emitted_text'.
(main): Handle -p.
* src/devices/grohtml/html-text.cc (html_text::dump_stack_element):
Handle `text_emitted'.
(html_text::table_is_void): Slightly rewritten.
(stop): New external symbol.
(html_text::do_push) [DEBUGGING]: Use it and simplify.
(html_text::shutdown): Call `dump_stack'.
(html_text::do_space): Rewritten.
* src/devices/grohtml/grohtml.man: Document -p and the need of
`psselect'.
* tmac/www.tmac (DC, HTML-DO-IMAGE, HTML-IMAGE-END): Updated to
new \O syntax.
Call \O[0] if `ps4html' is active.
* tmac/s.tmac (@EQ, @EN): Handle html better.
(@TS, TE): Ditto.
* tmac/html.tmac: Don't use black for background colour.
* src/roff/troff/node.cc: Include `div.h'.
(troff_output_file::really_print_line): Don't use `is_on'.
(troff_output_file::word_marker, troff_output_file::flush_tbuf
troff_output_file::check_charinfo,
troff_output_file::put_char_width, troff_output_file::put_char,
troff_output_file::determine_line_limits, troff_output_file::draw,
real_output_file::begin_page, glyph_color_node::tprintf,
fill_color_node::tprint, hline_node::tprint, vline_node::tprint):
Use `is_on'.
(troff_output_file::really_on): Call `do_motion'.
(suppress_node::tprint): Use `get_page_number' instead of `%'
register.
Call `reset_output_registers' conditionally on `is_on'.
* doc/groff.texinfo: Document new syntax of \O.
* NEWS, man/groff_diff.man: Updated.
|
|
|
|
|
| |
code of x in range 0-127) also.
* doc/groff.texinfo, man/groff_diff.man: Updated.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Jeffrey Friedl <jfriedl@yahoo.com>.
* src/roff/troff/input.cc (spread_limit, warn_scale,
warn_scaling_indicator): New global variables.
(warnscale_request, spreadwarn_requests): New functions.
(main): Initialize `warn_scale' and `warn_scaling_indicator'.
(init_input_requests): Updated.
(error_type): Add `OUTPUT_WARNING'.
(do_error): Handle it.
(output_warning): New warning function which shows output location.
* src/roff/troff/env.h (spread_limit): New external variable.
* src/roff/troff/env.cc (environment::choose_breakpoint): Use
`output_warning'.
(distribute_space): Emit warning if added space is larger than
`spread_limit'.
(environment::possibly_break_line): Emit warning if a line can't
be adjusted on both sides.
* doc/groff.texinfo, man/groff_diff.man, man/groff.man: Document it.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
headers (both in the text and the table of contents).
* man/groff_tmac.man, src/roff/troff/troff.man: Fix order of tmac
directories.
Use registers LL and LT (similar to -ms) for controlling the
length of title and line, respectively, in the -man and -mdoc
macro packages.
* tmac/doc-ditroff (doc-setup-page-layout), tmac/doc-nroff
(doc-setup-page-layout): Use \n[LL] and \n[LT].
* tmac/an-old.tmac: Set \n[LL] and \n[LT] if not defined.
(TH): Use \n[LL].
(an-header, an-p-footer): Use \n[LT].
* NEWS, tmac/groff_man.man, tmac/groff_mdoc.man,
doc/groff.texinfo: Document it.
|
|
|
|
|
|
| |
Some macro fixes.
* man/groff_out.man: Minor fixes.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
will now form a chain, e.g.
.pi foo
.pi bar
is now the same as
.pi foo | bar
This is for compatibility with plan 9's troff.
* tmac/tty.tmac: Set default tab values to 0.8i to be compatible
with UNIX troff.
* NEWS: Updated.
* doc/groff.texinfo: Add documentation of remaining requests and
registers.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* src/roff/troff/input.cc (token::next): Handle \F.
* src/roff/troff/env.cc (environment::set_family): Handle
`interrupted' flag.
* NEWS, doc/groff.texinfo, man/groff_diff.man, man/groff.man:
Document it.
* tmac/doc.tmac (doc-tag-list): Use \Z to avoid stretching of
spaces in tags.
* tmac/Xps.tmac: Remove some redundant code.
* tmac/doc-common, tmac/doc-ditroff, tmac/doc-nroff, tmac/doc.tmac,
tmac/dvi.tmac, contrib/groffer/groffer.man, man/roff.man,
man/groff_out.man, man/groff.man, man/groff_diff.man,
src/roff/groff/groff.man: Replace \f[P] with \f[].
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
\m[] and \M[], respectively.
* src/roff/troff/symbol.cc (EMPTY_SYMBOL): New global variable.
(symbol::symbol): Handle NULL string and empty string differently.
* src/roff/troff/symbol.h (symbol::is_empty): New inline function.
* src/roff/troff/input.cc (read_escape_name, read_long_escape_name):
Add optional parameter.
Updated calling functions.
(get_copy, do_glyph_color, do_fill_color, token::next): Use
`symbol::is_empty'.
* src/roff/troff/env.cc (environment::set_font): Ditto.
* src/preproc/pic/troff.cc (troff_output::set_fill,
troff_output::reset_color: Updated.
* tmac/www.tmac: Updated.
* NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo,
doc/homepage.ms, src/devices/grotty/grotty.man, tmac/groff_www.man:
Updated.
* src/include/printer.h, src/libs/libdriver/printer.cc
(printer::change_fill_color): New member function.
* src/libs/libdriver/input.cc (parse_D_command): Use it.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* src/include/color.h: Decorate with `const'.
Use `size_t'.
Include `stddef.h'.
* src/libs/libgroff.color.cc: Decorate with `const'.
Use `size_t'.
(color::color): Initialize members.
* src/libs/libdriver/input.cc (parse_D_command): Handle `f'
command according to the documentation.
* man/groff_out.man: Updated.
Minor fixes.
* src/preproc/html/pre-html.cc (write_start_image): Remove
redundant output.
* tmac/www.tmac (DC, HTML-DO-IMAGE): Ditto.
* src/devices/grohtml/post-html.cc (page::add_and_encode): Using
\C'hy' caused an assertion failure.
* src/roff/troff/env.cc (environment::environment): Initialize
`emitted_node'.
(environment::copy): Handle `ignore_next_eol' and `emitted_node'.
|
|
|
|
|
|
|
| |
Document pvs request and .pvs register.
* doc/groff.texinfo: Improve and fix documentation of diversions
and environments.
|
|
|
|
|
|
|
| |
* tmac/lbp.tmac: Load latin1.tmac.
* tmac/X.tmac, tmac/Xps.tmac: Load latin1.tmac or cp1047.tmac.
* font/devX*/*: Regenerated (all chars > 0x80 removed).
|
|
|
|
|
|
|
|
|
|
| |
* font/devlbp/*: Remove all `charXXX' entities.
* src/libs/libgroff/font.cc (font::~font): Deallocate
`special_device_coding'.
(font::load): Use `new' for allocating `special_device_coding'.
* src/libs/libgroff/nametoindex.cc (character_indexer::lookup_char):
Removed unused member.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
of `+-', `mu', and `di', respectively.
* font/devascii/R.proto, font/devutf8/R.proto,
font/devlatin1/R.proto, font/devhtml/R.proto,
font/devcp1047/R.proto, font/devlpb/*: Add them.
* font/devps/generate/textmap: Ditto.
* font/devps/*: Regenerated.
* font/devlj4/generate/text.map: Add them.
* font/devlj4/*: Regenerated.
* font/devdvi/generate/tc.map: Use them.
* font/devdvi/generate/texsy.map: Add them.
* font/devdvi/*: Regenerated.
* font/devX*/*: Regenerated.
* tmac/latin1.tmac, tmac/cp1047.tmac, tmac/tty.tmac,
tmac/tty-char.tmac: Updated.
* NEWS, man/groff_char.man: Updated.
|
|
|
|
|
|
|
|
| |
* tmac/ec.tmac: Remove `.rchar' calls (no longer necessary since
we use `.fchar' in dvi.tmac.
* tmac/Xps.tmac: Simplify some char definitions.
Add definition for \[f/].
* man/groff_char.man: Updated for new X.tmac.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
use most of TeX's pattern files unmodified. To make the process
more flexible, a new request `hpfcode' has been added which
provides a character code mapping for the `hpf' request. See
comment before hpf_getc() for more details.
* src/roff/troff/env.cc (insert_hyphenation, hpf_getc): New
functions.
(read_patterns_file): Additional parameter for exception dictionary.
Extended to recognize \pattern, \hyphenation, and \endinput.
(do_hyphenation_patterns_file): Updated.
* src/roff/troff/env.h (hpf_code_table): New extern.
* src/roff/troff/input.cc (hpf_code_table): New array.
(init_hpf_code_table, hyphenation_patterns_file_code): New
functions.
(hyphenation_code): Handle translation from `trin' correctly.
(main, init_input_requests): Updated.
(charinfo::set_translation): Handle hyphenation code also.
* src/roff/troff/charinfo.h (charinfo::get_translation_input): New
inline function.
* src/roff/troff/env.cc (WORD_MAX): Reduced to 256 since `unsigned
char' is used for offsets in hyphenation exceptions.
* tmac/hyphen.us: Replace with contents of unmodified `hyphen.tex'.
* NEWS, man/groff_diff.man, man/groff.man: Document it.
* doc/groff.texinfo: Document possible conflict between `tr' and
`char' requests.
|
|
|
|
|
|
|
|
|
|
|
| |
* src/roff/troff/env.cc (hyphen_trie::read_patterns_file): Add
parameter `append'.
(hyphenation_patterns_file): Renamed to...
(do_hyphenation_patterns_file): This.
(hyphenation_patterns_file, hyphenation_patterns_file_append): New
functions.
(init_hyphen_requests): Updated.
* NEWS, man/groff.man, man/groff_diff.man: Document it.
|
|
|
|
|
|
|
|
|
| |
* src/roff/troff/input.cc (write_request): Renamed to...
(do_write_request): This.
Added one parameter.
(write_request, write_request_continue): New functions.
(init_input_requests): Updated.
* NEWS, man/groff.man, man/groff_diff.man: Document it.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
correctly. This is necessary since `charXXX' entity names are no
longer hardcoded in font definition files.
* src/roff/troff/charinfo.h (charinfo): Add `asciify_code' and
`translate_input' members.
(charinfo::set_asciify_code, charinfo::get_asciify_code,
charinfo::set_translation_input): New methods.
(charinfo::set_translation): Add third argument.
* src/roff/troff/input.cc (charinfo:set_translation): Set
`asciify_code'.
(do_translate): Add second argument.
(translate_input): New function.
(init_input_requests): Updated.
* src/roff/troff/node.cc (glyph_node::asciify,
composite_node::asciify): Use `get_asciify_code'.
* tmac/cp1047.tmac, tmac/latin1.tmac: Use `trin'.
* NEWS, man/groff.man, man/groff_diff.man: Updated.
|
|
|
|
|
|
|
|
|
|
|
| |
files.
* src/roff/troff/env.cc (override_sizes): New function.
(init_env_requests): Use it.
* src/roff/troff/token.h: Export `read_string'.
* NEWS, man/groff_diff.man, man/groff.man: Document it.
* doc/groff.texinfo: More fixes for texinfo 4.1 and higher.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
files (as grops already does).
* src/utils/afmtodit/afmtodit.man: Document comment lines in map
files.
* src/devices/grops/grops.man: Document comment lines in encoding
files.
* tmac/cp1047.tmac: New file.
* tmac/dvi.tmac, tmac/tty-char.tmac: Use it.
* tmac/ps.tmac: Load latin1.tmac or cp1047.tmac.
* tmac/Makefile.sub (NORMALFILES): Updated.
* tmac/ec.tmac: Don't load latin1.tmac again.
* fonts/devps/generate/lgreekmap, fonts/devps/generate/symbolchars,
fonts/devps/generate/dingbats.map,
fonts/devps/generate/dingbats.rmap, fonts/devps/text.enc,
fonts/devps/generate/Makefile (symbolmap): Add header comment.
* fonts/devps/generate/textmap: Ditto.
Remove `charXXX' entries.
* fonts/devps/symbolmap: Regenerated.
* fonts/devps/*: Regenerated all font definition files.
|