aboutsummaryrefslogtreecommitdiff
path: root/htbl.tes
diff options
context:
space:
mode:
Diffstat (limited to 'htbl.tes')
-rwxr-xr-xhtbl.tes162
1 files changed, 99 insertions, 63 deletions
diff --git a/htbl.tes b/htbl.tes
index d8b8827..c3f1ec7 100755
--- a/htbl.tes
+++ b/htbl.tes
@@ -1,79 +1,115 @@
-#!/usr/bin/sciteco -m
-! ./htbl.tes <input> <output> !
-! Troff tbl "drop-in" replacement !
+#!/usr/local/bin/sciteco -m
+!* htbl.tes <input> <output> *!
+!* Troff tbl "drop-in" replacement *!
-LR 0X#in 2LR 0X#ou EBQ#in EB -EF
+0,2EJ !* FIXME: Memory limiting is too slow *!
+
+LR 0X#in 2LR 0X#ou EBN#in EB -EF
<
-! <table> will implicitly close <p>'s so we must recalculate the margin.
- we do this using the same formula as <p> indentions are calculated by post-grohtml
- except for the line-length which is apparently always 6.5i (the default)
-!
-fs.TS.nr tbl-margin ((\n[.in]+\n[.o])*100+(6.5i/2))/6.5i-((6.5i/2)/6.5i)
+!*
+ * <table> will implicitly close <p>'s so we must recalculate the margin.
+ * we do this using the same formula as <p> indentions are calculated by post-grohtml
+ * except for the line-length which is apparently always 6.5i (the default)
+ *!
+FS.TS.nr tbl-margin ((\n[.in]+\n[.o])*100+(6.5i/2))/6.5i-((6.5i/2)/6.5i)
.nr tbl-width 100-\n[tbl-margin]
.HTML <table class="tbl" style="margin-left:\n[tbl-margin]%";
-9u.{tab}
-l.u.fl.-1u.t i
-
-q.f,q.t:sbox"Sli border="1"' q.f,q.t:sallbox"Sli rules="all"' q.f,q.t:sexpand"Sli width="\n[tbl-width]%"' q.f,q.t:stab("s0au.{tab}' q.fjk-dlri> l
-1u.{row} 1u.{col} @.r{
- .{format.\.{row}.\.{col}.align} 0U.{format.\.{row}.\.{col}.bold} 0U.{format.\.{row}.\.{col}.italic}
- 1U.{format.\.{row}.\.{col}.rowspan} 1U.{format.\.{row}.\.{col}.colspan}
+9U.[tab]
+L.U.f L.-1U.t I^J
+
+Q.f,Q.t:Sbox"S
+ L I border="1" frame="box"
+ Q.f,Q.t:Sallbox"S
+ L I rules="all"
+ |
+ I rules="none"
+ '
+'
+Q.f,Q.t:Sexpand"S L I width="\n[tbl-width]%" '
+Q.f,Q.t:Stab("S 0AU.[tab] '
+Q.fJ K-D LR I> L
+
+1u.[row] 1u.[col]
+@.r{
+ .[format.\.[row].\.[col].align] 0U.[format.\.[row].\.[col].bold] 0U.[format.\.[row].\.[col].italic]
+ 1U.[format.\.[row].\.[col].rowspan] 1U.[format.\.[row].\.[col].colspan]
+ 0U.[format.\.[row].hsep]
} :M.r
<
-0a-L"=.{format.\.{row}.\.{col}.align}left'
-0a-C"=.{format.\.{row}.\.{col}.align}center'
-0a-R"=.{format.\.{row}.\.{col}.align}right'
-0a-B"=1U.{format.\.{row}.\.{col}.bold}'
-0a-I"=1U.{format.\.{row}.\.{col}.italic}'
-0a- "=%.{col} :M.r'
-0a-,"=%.{row} 1u.{col} :M.r' 0a-10"=%.{row} 1u.{col} :M.r'
+0a-L"=.[format.\.[row].\.[col].align]left'
+0a-C"=.[format.\.[row].\.[col].align]center'
+0a-R"=.[format.\.[row].\.[col].align]right'
+0a-B"=1U.[format.\.[row].\.[col].bold]'
+0a-I"=1U.[format.\.[row].\.[col].italic]'
+0a- "=%.[col] :M.r'
+0a-,"=%.[row] 1u.[col] :M.r' 0a-10"=%.[row] 1u.[col] :M.r'
0a-."=1;'
D>
-k q.{row}u.{frows} q.{col}u.{fcols} 1u.{row} 1u.{col} .u.#bd
-<Q.{row}-Q.{frows}">
-EQ.{format.\.{row}.\.{col}.align} G.{format.\.{frows}.\.{col}.align} 1EB
-Q.{format.\.{frows}.\.{col}.bold}U.{format.\.{row}.\.{col}.bold}
-Q.{format.\.{frows}.\.{col}.italic}U.{format.\.{row}.\.{col}.italic}
-Q.{format.\.{frows}.\.{col}.rowspan}U.{format.\.{row}.\.{col}.rowspan}
-Q.{format.\.{frows}.\.{col}.colspan}U.{format.\.{row}.\.{col}.colspan} '
-.,.+3:sT{
-"S .,s
-T}.-3X.{data.\.{row}.\.{col}} C 1| .,.+2:s\^^"S
-0U.{format.\.{row}.\.{col}.rowspan}
-Q.{row}-1U.#cr <Q.{format.\.#cr.\.{col}.rowspan}">1;' -%.#cr>
-%.{format.\.#cr.\.{col}.rowspan} '
-.u.f s[U.{tab},
- q.f,.-1X.{data.\.{row}.\.{col}} 0'u.{data.\.{row}.\.{col}.block}
--a-q.{tab}"= %.{col} | %.{row} 1u.{col} .,.+4:s.TE
-"S1;' '>
+k q.[row]u.[frows] q.[col]u.[fcols] 1u.[row] 1u.[col] .u.#bd
+<
+ Q.[row]-Q.[frows]">
+ EU.[format.\.[row].\.[col].align]Q.[format.\.[frows].\.[col].align]
+ Q.[format.\.[frows].\.[col].bold]U.[format.\.[row].\.[col].bold]
+ Q.[format.\.[frows].\.[col].italic]U.[format.\.[row].\.[col].italic]
+ Q.[format.\.[frows].\.[col].rowspan]U.[format.\.[row].\.[col].rowspan]
+ Q.[format.\.[frows].\.[col].colspan]U.[format.\.[row].\.[col].colspan]
+ :Q.[format.\.[row].hsep]"<
+ 0U.[format.\.[row].hsep]
+ '
+ '
+
+ .-1,.+2:S^J=^J"S 1U.[format.\.[row].hsep] '
+
+ .,.+3:ST{^J"S
+ .,S^JT}.-3X.[data.\.[row].\.[col]] C 1
+ |
+ .,.+2:S\^^"S
+ 0U.[format.\.[row].\.[col].rowspan]
+ Q.[row]-1U.#cr
+ <Q.[format.\.#cr.\.[col].rowspan]">1;' -%.#cr>
+ %.[format.\.#cr.\.[col].rowspan]
+ '
+ .U.f S[U.[tab],^J]
+ Q.f,.-1X.[data.\.[row].\.[col]] 0
+ '
+ U.[data.\.[row].\.[col].block]
+ -A-Q.[tab]"=
+ %.[col]
+ |
+ %.[row] 1U.[col] .,.+4:S.TE^J"S1;'
+ '
+>
q.#bd,.D
-q.{row}-1u.{drows} 1u.{row}
-q.{drows}<I.HTML <tr>
-
-1u.{col}
-q.{fcols}<Q.{format.\.{row}.\.{col}.rowspan}">
-I.HTML <td rowspan="\.{format.\.{row}.\.{col}.rowspan}" colspan="\.{format.\.{row}.\.{col}.colspan}"
-q.{data.\.{row}.\.{col}.block}"= I align="Q.{format.\.{row}.\.{col}.align}">
-Q.{format.\.{row}.\.{col}.bold}"N I<b> '
-Q.{format.\.{row}.\.{col}.italic}"N I<i> '
-G.{data.\.{row}.\.{col}}
-Q.{format.\.{row}.\.{col}.bold}"N I</b> '
-Q.{format.\.{row}.\.{col}.italic}"N I</i> '
-I</td>
- | I>
-Q.{data.\.{row}.\.{col}}
-.HTML </td>
- ' '
-%.{col}>
-I.HTML </tr>
-
-%.{row}>
-I.HTML </table>
-
+q.[row]-1u.[drows] 1u.[row]
+q.[drows]<
+ I.HTML <tr>^J
+ 1u.[col]
+ q.[fcols]<
+ Q.[format.\.[row].\.[col].rowspan]">
+ I.HTML <td rowspan="\.[format.\.[row].\.[col].rowspan]" colspan="\.[format.\.[row].\.[col].colspan]"
+ I style="border-top:\.[format.\.[row].hsep]px solid"
+ q.[data.\.[row].\.[col].block]"=
+ I align="Q.[format.\.[row].\.[col].align]">
+ Q.[format.\.[row].\.[col].bold]"N I<b> '
+ Q.[format.\.[row].\.[col].italic]"N I<i> '
+ G.[data.\.[row].\.[col]]
+ Q.[format.\.[row].\.[col].bold]"N I</b> '
+ Q.[format.\.[row].\.[col].italic]"N I</i> '
+ I</td>^J
+ |
+ I>^J
+ G.[data.\.[row].\.[col]]
+ I^J.HTML </td>^J
+ '
+ '
+ %.[col]>
+ I.HTML </tr>^J
+%.[row]>
+I.HTML </table>^J
>
EWQ#ou