| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
* src/roff/groff/groff.cpp (main): Implement it.
* src/roff/groff/groff.man: Updated.
|
|
|
|
|
|
|
|
|
|
| |
* src/roff/groff/groff.cpp (CHEM_INDEX): New constant.
(main) ['j']: Add `chem'.
(synopsis, help): Updated.
* src/roff/troff/pipeline.h (MAX_COMMANDS): Increase to 14.
* src/roff/groff/groff.man: Document new command line option.
* NEWS: Updated.
|
| |
|
| |
|
|
|
|
| |
Based on suggestions by Ted Harding and Deri James.
|
| |
|
|
|
|
|
|
|
| |
* src/devices/grotty/tty.cpp (tty_printer::make_underline): Only
emit a single backspace in no-SGR mode. less (at least) backspaces
over a character at a time.
(tty_printer::make_bold): Likewise.
|
| |
|
| |
|
|
|
|
| |
Found by Ralph Graulich <maillist@shauny.de>.
|
|
|
|
| |
Problem reported by Ulrich Spörlein <uqs@spoerlein.net>.
|
|
|
|
|
| |
* examples/common.roff, examples/fonts_n.in, examples/fonts_x.in:
s/bash/sh/.
|
|
|
|
|
| |
* ChangeLog: Split off older entries into...
* ChangeLog.119, ChangeLog.120: these new files.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Reported by Anton Shepelev <anton.txt@gmail.com>.
* m.tmac (misc@tag): Wrapper around .DEVTAG-* to compensate unwanted
vertical space.
(H): Use it.
|
| |
|
|
|
|
|
|
|
| |
=====================
* NEWS, REVISION, VERSION, doc/groff.texinfo, doc/webpage.ms: Updated.
* aclocal.m4, configure: Regenerated.
|
| |
|
| |
|
|
|
|
|
| |
* config.guess, config.sub: Update from `config' repository.
* install-sh, mkinstalldirs: Update from `gnulib' repository.
|
|
|
|
| |
* doc/texinfo.tex: Update von `texinfo' repository.
|
|
|
|
| |
* doc/Makefile.in (.texinfo.dvi, .texinfo.pdf): Use $(MAKEINFO).
|
|
|
|
| |
* NEWS, PROBLEMS: Update.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
* src/include/ptable.h (PTABLE): Make hash tables much more sparse
by changing `FULL_NUM' from 3 to 1. This increases the allocated
memory by about 200kByte (which is nothing today) but assures that
there aren't extremely long searches for a free hash slot in case
that the hash function doesn't return a free one. Due to the nature
of the entries in uniuni.cpp, the used hash function in ptable.cpp
is not optimal, but using a sparse array compensates this.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* src/roff/troff/node.h (node): Add virtual function
`get_break_code'.
* src/roff/troff/node.cpp (inter_char_space_node): Remove class
completely.
(glyph_node::merge_glyph_node): Restore previous version.
(break_char_node): Add `prev_break_code' field and update
constructors.
(node::get_break_code, break_char_node::get_break_code): Implement.
(node::add_char): Pass remaining cflags values.
(break_char_node::add_self): Use the logic of the now deleted
`inter_char_space_node::add_self' function to insert a space node if
necessary.
|
|
|
|
| |
Makefile.in ($GNULIBDIRS): Disable calls to autoconf and friends.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We now recompute the cflags values for all charinfo objects if
`.class' has been called.
* src/roff/troff/charinfo.h: Add external references to `class_flag'
and `get_flags'.
(charinfo): `get_flags' no longer has a return value.
(charinfo::overlaps_horizontally, charinfo::overlaps_vertically,
charinfo::can_break_before, charinfo::can_break_after,
charinfo::can_break_after, charinfo::ends_sentence,
charinfo::transparent,, charinfo:ignore_hcodes,
charinfo::prohibit_break_before, charinfo::prohibit_break_after,
charinfo::inter_char_space): Call global `get_flags' only if
necessary.
(charinfo::add_to_class): Set `class_flag'.
* src/roff/troff/input.cpp (class_flag): New global flag.
(charinfo::charinfo): Call `get_flags' member function.
(get_flags): New global function which iterates over all entries in
the charinfo dictionary.
(charinfo::get_flags): Set `flags' directly.
|
|
|
|
|
|
|
| |
* src/roff/troff/charinfo.h (charinfo::contains): Add optional
boolean argument.
* src/roff/troff/input.cpp (define_class, charinfo::contains): Check
for cyclic nesting.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch introduces three new values to `.cflags':
don't break before character: 128
don't break after character: 256
allow inter-character break: 512
They are handled differently if compared to other cflags values:
(1) hcode values are completely ignored
(2) similar to kern values, and contrary to the other cflags
values, troff looks at pairs of characters to decide whether a
break gets inserted
A yet-to-be-written patch should add inter-character spacing if
those flags are active; currently, only zero-width breakpoints are
inserted.
* src/roff/troff/charinfo.h (charinfo): Change type of `flags' to
`int'. Update callers accordingly.
New enum values `DONT_BREAK_BEFORE', `DONT_BREAK_AFTER', and
`INTER_CHAR_SPACE'.
New member functions `prohibit_break_before',
`prohibit_break_after', and `inter_char_space'.
* src/roff/troff/input.cpp: Updated.
* src/roff/troff/node.cpp (inter_char_space_node): New class similar
to kern_pair_node, collecting charinfo entities with the
abovementioned cflags values.
(break_char_type): Add new enum values.
(glyph_node::merge_glyph_node): Handle abovementioned cflags values
and emit an `inter_char_space_node' if necessary.
* tmac/ja.tmac: Use new cflags values.
* doc/groff.texinfo, NEWS, man/groff_diff.man: Document new values.
|
| |
|
|
|
|
|
| |
* src/libs/libgroff/relocate.cpp (msw2posixpath): Remove redundant
dereferencing.
|
|
|
|
|
|
|
|
| |
This issue happens with gcc 4.2.4.
* src/roff/troff/node.cpp (node::~node): Move to...
* src/roff/troff/node.h: Here. This ensures that the inline
member function is publicly visible.
|
|
|
|
|
| |
* src/roff/troff/node.cpp, src/roff/troff/node.h
(space_node::space_node): Remove unused constructor.
|
|
|
|
|
| |
* src/roff/troff/node.cpp (break_char_type): New enum.
(break_char_node::add_self, node::add_char): Use it.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a huge patch, mainly by adding the gnulib infrastructure in
a separate directory tree (in `src/libs/gnulib/lib') for its
`wcwidth' module. However, the actual changes to native groff
source files are just a few lines.
* Makefile.comm (INCLUDES): Updated.
(LIBGNU): Define.
* Makefile.in (NOMAKEDIRS): Updated.
(GNULLIBDIRS): Define.
(DISTDIRS): Add GNULLIBDIRS.
($LIBDIRS): Depend on GNULLIBDIRS.
($GNULLIBDIRS): New target.
* src/libs/libgroff/font.cpp (font::get_width, font::load)
[is_unicode]: Use `wcwidth'.
* src/roff/troff/Makefile.sub (XLIBS): Add LIBGNU.
* src/roff/troff/input.cpp (main): Set LC_CTYPE.
* src/devices/grotty/Makefile.sub (XLIBS): Add LIBGNU.
* src/devices/grotty/tty.cpp (main): Set LC_CTYPE.
* src/libs/gnulib/*: New files. The import was done as follows:
. Call
gnulib-tool --create-testdir \
--dir=src/libs/gnulib \
wcwidth
to get a testbed.
. Manually move directories src/libs/gl{lib,m4} to
src/libs/{lib,m4}, and do s/gllib/lib/ and s/glm4/m4/ everywhere
to `convert' the gnulib testbed to a standard gnulib
configuration as maintained by gnulib-tool.
. Call
gnulib-tool --add-import \
--dir=src/libs/gnulib \
wcwidth
to update everything.
|
|
|
|
|
| |
* src/roff/troff/input.cpp (define_class): Add missing `skip_line'
calls.
|
|
|
|
|
|
|
| |
Remove trailing spaces.
* tmac/ja.tmac: New file.
* tmac/Makefile.sub (NORMALFILES): Updated.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch uses standard C++ headers, contrary to the rest of groff.
Ideally, everything in groff should be updated to do the same.
* src/include/font.h (glyph_to_unicode): New function.
* src/libs/libgroff/font.cpp (glyph_to_unicode): Implement it.
(font::contains, font::get_code): Use it.
* src/roff/troff/charinfo.h: Include <vector> and <utility>.
(charinfo): New members `ranges' and `nested_classes'.
New member functions `get_unicode_code' and `get_flags'.
New member functions `add_to_class', `is_class', and `contains'.
(charinfo::overlaps_horizontally, charinfo::overlaps_vertically,
charinfo::can_break_before, charinfo::can_break_after,
charinfo::can_break_after, charinfo::ends_sentence,
charinfo::transparent,, charinfo:ignore_hcodes): Use `get_flags',
which handles character classes also.
* src/roff/troff/input.cpp (char_class_dictionary): New global
variable.
(define_class): New function.
(init_input_requests): Register `class'.
(charinfo::get_unicode_code, charinfo::get_flags,
charinfo::contains): Implement it.
* NEWS, doc/groff.texinfo (Character Classes), man/groff_diff.man,
man/groff.man: Document it.
|
| |
|
|
|
|
|
|
|
|
|
| |
* examples/122/README: Renamed to...
* examples/122/README.txt: This.
* Makefile.sub (all): Add `examples/122/README'.
(examples/122/README): New target.
(install_data): Fix typo.
|
| |
|
|
|
|
|
| |
* doc/groff.texinfo (grohtml): Insert man page description, slightly
extended.
|
|
|
|
|
|
|
|
| |
Reported by Louis Guillaume <louis@zabrico.com>.
* src/libs/libgroff/string.cpp (string::remove_spaces): If input
data consists of spaces only and thus reduces to nothing, set `sz'
to 0.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* tmac/doc-common (doc-operating-system-NetBSD): Add versions 5.0,
5.0.1, and 5.0.2.
(doc-operating-system-OpenBSD-*): New strings.
(doc-operating-system-FreeBSD-*): Add version 8.1.
(doc-operating-system-DragonFly-*): Add versions 2.2, 2.4, 2.6, and
2.8.
(Os): Handle DragonFly and OpenBSD.
* tmac/groff_mdoc.man: Document OpenBSD releases.
Add DragonFly release 2.8.
|