summaryrefslogtreecommitdiffstatshomepage
path: root/term.h
Commit message (Collapse)AuthorAgeFilesLines
* correct lots of copyright notices;Ingo Schwarze2010-07-131-2/+2
| | | | ok kristaps@
* Suppress printing of newlines/space at start of new -Tps page.Kristaps Dzonsons2010-07-041-2/+3
| | | | | Also renamed "psstate" -> "flags" (was wrongly implying some sort of state machine).
* PostScript can now handle scaled glyph sizes (see "scale" in structKristaps Dzonsons2010-06-301-1/+2
| | | | termp_ps) to arbitrarily scale font. Tested with 10 (default), 12, 14.
* Pushed normalisation of scaling units into term_hspan().Kristaps Dzonsons2010-06-301-2/+2
|
* Move term_hspan() calculation into the output devices, where it belongs.Kristaps Dzonsons2010-06-301-1/+3
|
* Push paper calculation out of getsubopt() loop. Make all points be AFMKristaps Dzonsons2010-06-301-11/+11
| | | | glyph units to make positioning more precise.
* Give -Tps better PostScript hinting. Note that we're using Adobe-3.0Kristaps Dzonsons2010-06-291-5/+15
| | | | | constructs. Push the stupid CPP defines for page boundaries and margins into proper variables. Give enum termfont a proper TERMFONT__MAX.
* Clean-up of variable-width glyph support. Adds no new code; onlyKristaps Dzonsons2010-06-281-2/+1
| | | | | restructured to make a bit more readable. Also removed an unused entry in the PS engine structure.
* Basic implementation of .Bk/.Ek; from OpenBSD.Ingo Schwarze2010-06-271-1/+3
| | | | OK and one stylistic tweak by kristaps@.
* Initial chunks for variable-width fonts. Pushes all width calculationsKristaps Dzonsons2010-06-251-3/+8
| | | | | | | | 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.
* Churn as I finish email address migration kth.se -> bsd.lv.Kristaps Dzonsons2010-06-191-2/+2
|
* Implement font-switching for PostScript. -Tps now supportsKristaps Dzonsons2010-06-111-1/+2
| | | | | | 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.
* Teach -Tps to ignore backspace-encoding by using a one-char buffer and aKristaps Dzonsons2010-06-111-1/+2
| | | | simple state machine. This paves the way for decorated text.
* Have the standard manpage header and footer print on every page of -TpsKristaps Dzonsons2010-06-091-7/+10
| | | | | | | | | | | | | | | 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.
* Broke ascii_*() functions into term_ascii.cKristaps Dzonsons2010-06-081-7/+18
| | | | Made low-level engine functions into function pointers.
* No functionality changes: just restructuring. DeprecatedKristaps Dzonsons2010-06-081-1/+3
| | | | | 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.
* First check-in of PostScript output. This does not change any logicKristaps Dzonsons2010-06-071-1/+23
| | | | | | 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.
* sync to OpenBSD:Ingo Schwarze2010-05-241-1/+2
| | | | | | | 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@
* Handle literal tab characters both in literal context (.Bd -literal)Ingo Schwarze2010-05-241-1/+2
| | | | | | | | 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@
* Make the output width an option for ascii_alloc and use that to computeJoerg Sonnenberger2010-05-151-1/+2
| | | | the default margin. Hard-code 80 chars/line for now.
* Tiny EOS patch. Back-end cues front-end through flag. Front-end cues ↵Kristaps Dzonsons2010-05-121-1/+2
| | | | output engine with flag.
* -man also now has unbound margins for literal context.Kristaps Dzonsons2010-05-101-1/+3
|
* Fixed two very subtle bugs in retaining overstep and maxrmargin widths ↵Kristaps Dzonsons2010-03-231-1/+2
| | | | between parse sequences.
* Basically re-wrote -Tascii font handling: instead of incrementers forKristaps Dzonsons2009-11-121-7/+18
| | | | | | | | | 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.
* Correct support for `\fX' font modes in -Tascii.Kristaps Dzonsons2009-11-051-1/+5
|
* Made sure devices and formats recognise that -man and -mdoc have different ↵Kristaps Dzonsons2009-10-181-3/+3
| | | | 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.
* Arbitrary horizontal and vertical scaling widths now handled by -mdoc -Tascii.Kristaps Dzonsons2009-10-181-1/+4
| | | | Terminal scaling backend pushed into term.c.
* ascii_xxx -> chars_xxx (intended to hold more than just ascii encoding).Kristaps Dzonsons2009-09-171-6/+1
| | | | More html work.
* Made tree/term/out() functions return void.Kristaps Dzonsons2009-09-161-4/+2
| | | | Put err() functions back into front-ends (no use making it needlessly complex).
* Removed TERMP_BOLD, TERMP_UNDER, TERMP_STYLE in favour of recursive-friendly ↵Kristaps Dzonsons2009-09-151-4/+3
| | | | | | increments. Cleaned up confusing behaviour of p->flags.
* Moved indentation size into *term.c files.Kristaps Dzonsons2009-08-101-6/+1
| | | | Improved handling of libman `IP' macro (still needs work).
* Correct handling of \*(xx, \*[xxx], \*x versus \x, \(xx, \([xxx]: predefined ↵Kristaps Dzonsons2009-07-271-1/+2
| | | | strings and escape characters, respectively.
* Full support for `An -split/-nosplit'. Compat documented.Kristaps Dzonsons2009-07-241-1/+4
|
* Fixed transcription error of define values (bah).Kristaps Dzonsons2009-07-211-2/+2
|
* Bringing spacing more in line with groff, patches from schwarze@openbsd.org. ↵Kristaps Dzonsons2009-07-211-1/+2
| | | | Pre-testing.
* Removed unused TERMP_LITERAL.Kristaps Dzonsons2009-07-191-6/+5
|
* Renamed TERMP_NONOSPACE -> TERMP_DANGLE.Kristaps Dzonsons2009-07-141-11/+12
| | | | | Added TERMP_HANG. Reordered TERMP flags to be a little easier on my old eyes.
* Fixed license email address.Kristaps Dzonsons2009-06-101-2/+2
|
* Using proper license template (const).Kristaps Dzonsons2009-04-121-12/+10
|
* Manual .Dt fields CAPITALISED.Kristaps Dzonsons2009-04-121-2/+3
| | | | | | | | 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.
* Initial front-end formatting for -man pages.Kristaps Dzonsons2009-03-261-38/+1
|
* *** empty log message ***Kristaps Dzonsons2009-03-251-3/+3
|
* -man printing linked to -Ttree.Kristaps Dzonsons2009-03-231-1/+2
|
* First addition of -man macro support.Kristaps Dzonsons2009-03-231-2/+2
| | | | Abstraction of mdoc.
* Lint fixes.Kristaps Dzonsons2009-03-211-2/+2
|
* Support for `Bd' of all types (see mdoc.7 for newline/tab rules).VERSION_1_6_2Kristaps Dzonsons2009-03-201-11/+11
| | | | | Renamed term.c and terminal.c functions to be term_. Some bugfixes to lists.
* Split mdocterm.c -> main.c terminal.c.Kristaps Dzonsons2009-03-191-1/+8
| | | | | | Abstracted output with -T selector (default ascii). Name change: mdocterm -> mandoc. Re-imported tree with -Ttree.
* Many more ASCII escapes added.Kristaps Dzonsons2009-03-191-12/+10
| | | | | | Stripped nroff punt from mdocterm.c. Fixed multiple-file handling for mdocterm.c. Cleared up mdoc.h API.
* Clean up ASCII table's memory.Kristaps Dzonsons2009-03-171-1/+2
|
* Fixed mdoc_phrase escape handling.Kristaps Dzonsons2009-03-161-69/+21
| | | | | | | | | | | 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.