From e73d0cb63df953bf695636bd8906deb316a6d718 Mon Sep 17 00:00:00 2001 From: Ingo Schwarze Date: Thu, 19 Jan 2017 01:00:14 +0000 Subject: Implement line breaking of the generated HTML code at space characters in filled text. This does not affect HTML semantics, but makes the HTML code even more humanly readable. While here, - collapse multiple consecutive space characters in filled text - and insert a blank between style entries. --- html.h | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'html.h') diff --git a/html.h b/html.h index 1a4d559b..f788d73e 100644 --- a/html.h +++ b/html.h @@ -1,4 +1,4 @@ -/* $Id: html.h,v 1.76 2017/01/18 19:22:22 schwarze Exp $ */ +/* $Id: html.h,v 1.77 2017/01/19 01:00:14 schwarze Exp $ */ /* * Copyright (c) 2008-2011, 2014 Kristaps Dzonsons * Copyright (c) 2017 Ingo Schwarze @@ -95,9 +95,12 @@ struct html { #define HTML_NOSPLIT (1 << 7) /* do not break line before .An */ #define HTML_SPLIT (1 << 8) /* break line before .An */ #define HTML_NONEWLINE (1 << 9) /* No line break in nofill mode. */ -#define HTML_NLDONE (1 << 10) /* Just started a new line of HTML. */ - int indent; /* current output indentation level */ +#define HTML_BUFFER (1 << 10) /* Collect a word to see if it fits. */ + size_t indent; /* current output indentation level */ int noindent; /* indent disabled by
 */
+	size_t		  col; /* current output byte position */
+	size_t		  bufcol; /* current buf byte position */
+	char		  buf[80]; /* output buffer */
 	struct tagq	  tags; /* stack of open tags */
 	struct rofftbl	  tbl; /* current table */
 	struct tag	 *tblt; /* current open table scope */
-- 
cgit v1.2.3-56-ge451