summaryrefslogtreecommitdiffstats
path: root/out.h
Commit message (Collapse)AuthorAgeFilesLines
* Remove a2roffdeco() and mandoc_special() functions and replace them withKristaps Dzonsons2011-04-091-17/+0
| | | | | | | | | | | | | | | | | | a public (mandoc.h) function mandoc_escape(), which merges the functionality of both prior functions. Reason: code duplication. The a2roffdeco() and mandoc_special() functions were pretty much the same thing and both quite complex. This allows one function to receive improvements in (e.g.) subexpression handling and performance, instead of having to replicate functionality. As such, the mandoc_escape() function already handles a superset of the escapes handled in previous versions and has improvements in performance (using strcspn(), for example) and reliable handling of subexpressions. This code Works For Me, but may need work to catch any regressions. Since the benefits are great (leaner code, simpler API), I'd rather have it in-tree than floating as a patch.
* Step 4: merge chars.h into out.h. The functions in this file areKristaps Dzonsons2011-03-221-31/+44
| | | | | necessary to all [real] front-ends, so stop pretending it's special. While here, add some documentation to the variable types.
* Clean up date handling,Ingo Schwarze2011-03-071-2/+0
| | | | | | | | | | | | as a first step to get rid of the frequent petty warnings in this area: - always store dates as strings, not as seconds since the Epoch - for input, try the three most common formats everywhere - for unrecognized format, just pass the date though verbatim - when there is no date at all, still use the current date Originally triggered by a one-line patch from Tim van der Molen, <tbvdm at xs4all dot nl>, which is included here. Feedback and OK on manual parts from jmc@. "please check this in" kristaps@
* Implement the \N'number' (numbered character) roff escape sequence.Ingo Schwarze2011-01-301-1/+2
| | | | | | | Don't use it in new manuals, it is inherently non-portable, but we need it for backward-compatibility with existing manuals, for example in Xenocara driver pages. ok kristaps@ jmc@ and tested by Matthieu Herrb (matthieu at openbsd dot org)
* Stuff tbl_calc() into out.c so that it can be shared by all output modesKristaps Dzonsons2011-01-051-14/+25
| | | | | | | | | | | | | | | | (isn't now, but will need to be, used by -T[x]html also). Necessitated a lot of churn in getting tbl_calc* code out of tbl_term.c and into out.c, including renaming some structures and so on. The abstraction is in having a pointer to a wrapper function for calculating string widths. The char devices use term_strlen and term_len; the others will probably just use strlen(). While at it, remove some superfluous assertions in the tbl code. This allows all tbl manuals to clear. Lastly, set the right-margin to be the maximum margin for each table span. This allows big, complicated tbl-pages like terminfo to be displayed. They're ugly, but they work.
* Accomodate for groff's crappy behaviour wherein an unrecognisedKristaps Dzonsons2010-07-211-2/+3
| | | | | | | | | | | | | single-character escape (and ONLY this type of escape) will map back into itself: "If a backslash is followed by a character that does not constitute a defined escape sequence the backslash is silently ignored and the character maps to itself." (From groff.7.) Found by Jason McIntyre.
* Throw out a2roffdeco() in out.c for a readable version. The prior oneKristaps Dzonsons2010-07-181-1/+0
| | | | | | | | | | | | | was completely unmaintainable. The new one is both readable and quite similar to mandoc_special(), which in future versions will easily allow throwing-away of unsupported escapes (such as \m). It's also a fair bit smaller. DECO_SIZE has been removed: this crap, like colours, will not be supported. mandoc_special() also has #if 0'd switch branches for ALL groff.7 escapes and some lint fixes.
* Remove "pt" from struct roffsu, as CSS (the only reason it was there) isKristaps Dzonsons2010-06-251-5/+2
| | | | | unclear about which units accept floats/integers, which leads me to assume that it handles either and rounds as appropriate.
* Churn as I finish email address migration kth.se -> bsd.lv.Kristaps Dzonsons2010-06-191-1/+1
|
* Add support/ignoring of \f(xy, \f[X...], \F(xy, \FX, \F[X...] roff-style ↵Kristaps Dzonsons2010-04-071-0/+2
| | | | font escapes (noted by Frantisek Holop).
* Fixed \c support for all input and output modes (documented in mandoc_char.7).Kristaps Dzonsons2009-11-121-0/+1
|
* a2roffdeco() now supports \s escapes.Kristaps Dzonsons2009-11-081-3/+9
|
* Initial abstraction of front-end decoration events (special characters, text ↵Kristaps Dzonsons2009-11-071-0/+12
| | | | decorations, etc.).
* Fixed maddening mismatch between groff and strftime mismatch of day ("%e"). ↵Kristaps Dzonsons2009-10-221-0/+3
| | | | Noted by Ulrich Sporlein.
* Had out.h roff-scale converters accept default unit scale (because -mdoc and ↵Kristaps Dzonsons2009-10-181-1/+2
| | | | -man differ).
* Scaling factor made floating point (as per groff.7) and, e.g., ↵Kristaps Dzonsons2009-10-091-3/+6
| | | | gnu/usr.bin/cvs/man/cvs.1.
* Additions to -Tman -Thtml: all structural components tested & in place.Kristaps Dzonsons2009-10-071-0/+54
| | | | Fitted both -Thtml with handling of arbitrary vertical and horizontal scaling units (see groff(7)). Undocumented until fitted into -Tascii (next release).
* Removed new-born out.{h,c} (not a good idea).Kristaps Dzonsons2009-09-211-28/+0
| | | | | Removed if 0 for HTML-mode output (why not). Added option -oxxxx for passing options to output devices.
* Tentative addition of front-end utility functions (out.h) (not sure if it's ↵Kristaps Dzonsons2009-09-211-0/+28
necessary). More -Thtml installments.