summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@felloff.net>2015-09-08 19:55:55 +0200
committercinap_lenrek <cinap_lenrek@felloff.net>2015-09-08 19:55:55 +0200
commit20ea629b8ae4693f924c55fee7b00af62950f0ef (patch)
tree037a3e061834e036ebb17b8a361e75de02d136f6
parentd79754b4c8f2d23a4f27d9a889efd896bcbc8a2f (diff)
html2ms: bold table headings, remove wrong tag space handling
-rw-r--r--sys/src/cmd/html2ms.c17
1 files changed, 7 insertions, 10 deletions
diff --git a/sys/src/cmd/html2ms.c b/sys/src/cmd/html2ms.c
index 751a46d01..7f6e0825b 100644
--- a/sys/src/cmd/html2ms.c
+++ b/sys/src/cmd/html2ms.c
@@ -33,7 +33,6 @@ struct Text {
int pos;
int space;
int output;
- int aftertag;
char *bp;
char *wp;
@@ -327,8 +326,6 @@ onquote(Text *text, Tag *tag)
typedef struct Table Table;
struct Table
{
- char *fmt;
-
char *bp;
int nb;
@@ -337,6 +334,8 @@ struct Table
int enclose;
int brk;
+ char fmt[4];
+
Text save;
};
@@ -414,7 +413,7 @@ endtable(Text *text, Tag *tag)
if(t->brk){
while(i < cols){
s = mallocz(sizeof(Table), 1);
- s->fmt = "L";
+ strcpy(s->fmt, "L");
s->brk = t->brk;
t->brk = 0;
s->next = t->next;
@@ -497,9 +496,11 @@ endcell(Text *text, Tag *tag)
t->enclose = 1;
}
if(gotstyle(tag, "text-align", "center") || gotstyle(tt, "text-align", "center"))
- t->fmt = "c";
+ strcpy(t->fmt, "C");
else
- t->fmt = "L";
+ strcpy(t->fmt, "L");
+ if(strcmp(tag->tag, "th") == 0)
+ strcpy(t->fmt+1, "B");
t->prev = tt->aux;
tt->aux = t;
*text = t->save;
@@ -884,7 +885,6 @@ parsetext(Text *text, Tag *tag)
if(c == '<'){
memset(&t, 0, sizeof(t));
if(parsetag(&t)){
- text->aftertag = 1;
if(t.opening){
t.up = tag;
parsetext(text, &t);
@@ -912,8 +912,6 @@ parsetext(Text *text, Tag *tag)
switch(r){
case '\n':
case '\r':
- if(text->pre == 0 && text->aftertag)
- break;
case ' ':
case '\t':
if(text->pre == 0){
@@ -934,7 +932,6 @@ parsetext(Text *text, Tag *tag)
if(r == 0xA0)
r = ' ';
emitrune(text, r);
- text->aftertag = 0;
text->space = 0;
}
}