| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
glyph units to make positioning more precise.
|
|
|
|
|
| |
constructs. Push the stupid CPP defines for page boundaries and margins
into proper variables. Give enum termfont a proper TERMFONT__MAX.
|
|
|
|
|
| |
restructured to make a bit more readable. Also removed an unused entry
in the PS engine structure.
|
|
|
|
| |
OK and one stylistic tweak by kristaps@.
|
|
|
|
|
|
|
|
| |
in mdoc_term.c and man_term.c down into term.c. This is still not
implemented in term.c, although stubs for width calculations are in
place. From now on, offset, rmargin, and other layout variables are
abstract screen widths. They will resolve to the the familiar values
for -Tascii but -Tps will eventually use points instead of chars.
|
| |
|
|
|
|
|
|
| |
TERMFONT_BOLD (Courier-Bold) and TERMFONT_UNDER (Courier-Oblique). It
doesn't look half bad. This accomplished through tricksy juggling of
the one-char back-buffer.
|
|
|
|
| |
simple state machine. This paves the way for decorated text.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
output. This is more tricky than you may think: we can't just call the
header function out-of-state (i.e., before a flushln has occured)
because we'd clobber our current state. Thus, we call at the beginning
and dump the output into an auxiliary buffer.
For the record, I don't think there's any other clean way to do this.
The only other Way That Works is to copy-aside *all* termp state, zero
it, and do the necessary headf/footf. This is just as complex, as
memory needs to be alloc'd and free'd per margin.
Unfortunately, this prohibits page numbering (the margin is only printed
once), so I'll probably end up re-writing this down the line.
|
|
|
|
| |
Made low-level engine functions into function pointers.
|
|
|
|
|
| |
terminal_free() in favour of ps_free() and ascii_free(). Moved ps_*()
functions into term_ps.c so that they don't clutter up term.c.
|
|
|
|
|
|
| |
within term.c, but does add a small shim over putchar() that switches on
the output engine. Prints, for this initial version, only monospace and
without font decorations. It's a start.
|
|
|
|
|
|
|
| |
save the visual cursor position in term_flushln()
and use that to avoid multiple blank lines in nested lists while
still putting subsequent empty list tags each on their own line;
"go ahead" kristaps@
|
|
|
|
|
|
|
|
| |
and outside. In literal context, tab stops are at each eigth column;
outside, they are at each fifth column.
from OpenBSD mdoc_term.c rev. 1.75;
"commit" kristaps@
|
|
|
|
| |
the default margin. Hard-code 80 chars/line for now.
|
|
|
|
| |
output engine with flag.
|
| |
|
|
|
|
| |
between parse sequences.
|
|
|
|
|
|
|
|
|
| |
bold and underline, we use a stack (no cascading, no double-font-mode).
Font modes with \f only affect the current stack point, as documented in
mdoc.7 and man.7. While -mdoc stacks fonts with embedded macros, -man
replaces them (the stack is always size 1). This works for all
invocations in supported systems' manual corpora to date. It doesn't
support groff's insanity with line-scoped \f as documented in mdoc.7.
|
| |
|
|
|
|
| |
syntax for scaling widths: -mdoc assumes no unit means that the value is a string literal while -man instead uses the default vertical/horizontal scale.
|
|
|
|
| |
Terminal scaling backend pushed into term.c.
|
|
|
|
| |
More html work.
|
|
|
|
| |
Put err() functions back into front-ends (no use making it needlessly complex).
|
|
|
|
|
|
| |
increments.
Cleaned up confusing behaviour of p->flags.
|
|
|
|
| |
Improved handling of libman `IP' macro (still needs work).
|
|
|
|
| |
strings and escape characters, respectively.
|
| |
|
| |
|
|
|
|
| |
Pre-testing.
|
| |
|
|
|
|
|
| |
Added TERMP_HANG.
Reordered TERMP flags to be a little easier on my old eyes.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Indent set to 5 chars (nroff compat).
Half-indent set to 3 chars (nroff compat).
Default behaviour is loose-y (ignore macro/char/escape).
Added -fstrict.
Added unknown-character ignoring.
|
| |
|
| |
|
| |
|
|
|
|
| |
Abstraction of mdoc.
|
| |
|
|
|
|
|
| |
Renamed term.c and terminal.c functions to be term_.
Some bugfixes to lists.
|
|
|
|
|
|
| |
Abstracted output with -T selector (default ascii).
Name change: mdocterm -> mandoc.
Re-imported tree with -Ttree.
|
|
|
|
|
|
| |
Stripped nroff punt from mdocterm.c.
Fixed multiple-file handling for mdocterm.c.
Cleared up mdoc.h API.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Added MDOC_IGNDELIM (Pf, soon Li, etc.).
macro_constant_delimited ignargs -> argv.c parsing.
Renamed macro functions to correspond to ontologies.
`Fo' and `St' made callable (compat documented).
strings.sh deprecated (directly using CPP).
Abstracted ASCII translation into ascii.{c,in}.
ASCII table uses a self-reordering chained hashtable.
Removed old regressions.
|
| |
|
|
|
|
| |
mdocterm punts to nroff if it fails parsing
|
|
|
|
|
|
| |
Added nroff style-escape encoding.
Removed ANSI schema string tables (there's only ANSI and nroff/backspace).
Pushed styling directly into pword (simpler).
|
|
|
|
|
| |
Added \| (non-breaking space, like \&).
Fixed termsym (TERMSYM_ALL).
|