[reportlab-users] re: generalised row & column spanning

Robin Becker reportlab-users@reportlab.com
Sun, 19 Oct 2003 15:38:02 +0100


Using Oliver's approach I get this kind of code to do both rows and
columns. 

This code doesn't check at all for overlap and it doesn't know anything
about indeterminate cell sizes.

[ Section: 1/1 File: find_dim.py UUencoded by: Turnpike Integrated Version 5.01 U ]

begin 644 find_dim.py
M8VQA<W,@0V5L;#H*("`@(&1E9B!?7VEN:71?7RAS96QF+')O=RQC;VPL=VED
M=&@]3F]N92QH96EG:'0]3F]N92QD871A/4YO;F4L<F]W<W!A;CTQ+&-O;'-P
M86X],2DZ"B`@("`@("`@<V5L9BYR;W<@/2!R;W<*("`@("`@("!S96QF+F-O
M;"`](&-O;`H@("`@("`@('-E;&8N<F]W<W!A;B`](')O=W-P86X*("`@("`@
M("!S96QF+F-O;'-P86X@/2!C;VQS<&%N"B`@("`@("`@<V5L9BYE;F1R;W<@
M/2!R;W<@*R!R;W=S<&%N("T@,0H@("`@("`@('-E;&8N96YD8V]L(#T@8V]L
M("L@8V]L<W!A;B`M(#$*("`@("`@("!S96QF+G=I9'1H(#T@;6%X*'=I9'1H
M+#`I"B`@("`@("`@<V5L9BYH96EG:'0@/2!M87@H:&5I9VAT+#`I"B`@("`@
M("`@<V5L9BYD871A(#T@9&%T80H*("`@(&1E9B!?7W-T<E]?*'-E;&8I.@H@
M("`@("`@(',@/2!;)V-E;&PH)RMS='(H<V5L9BYR;W<I70H@("`@("`@(&EF
M('-E;&8N96YD<F]W(3US96QF+G)O=SH@<RYA<'!E;F0H)SHG*W-T<BAS96QF
M+F5N9')O=RDI"B`@("`@("`@<RYA<'!E;F0H)RPG*W-T<BAS96QF+F-O;"DI
M"B`@("`@("`@:68@<V5L9BYE;F1C;VPA/7-E;&8N8V]L.B!S+F%P<&5N9"@G
M.B<K<W1R*'-E;&8N96YD8V]L*2D*("`@("`@("!S+F%P<&5N9"@G+'=I9'1H
M/2<K<W1R*'-E;&8N=VED=&@I*0H@("`@("`@(',N87!P96YD*"<L:&5I9VAT
M/2<K<W1R*'-E;&8N:&5I9VAT*2D*("`@("`@("!S+F%P<&5N9"@G*2<I"B`@
M("`@("`@<F5T=7)N("<G+FIO:6XH<RD*"F1E9B!F:6YD7V1I;2A$+&YR*3H*
M("`@(&YC(#T@;&5N*$0I"B`@("!R:&$@/2!;,%TJ;F,*("`@(&1I;2`](%LP
M70H@("`@9F]R('(@:6X@>')A;F=E*&YR*3H*("`@("`@("!M<F@@/2`P"B`@
M("`@("`@9F]R(&,@:6X@>')A;F=E*&YC*3H*("`@("`@("`@("`@<FAA6V-=
M("L]($1;8UTN9V5T*'(L,"D*("`@("`@("`@("`@;7)H(#T@;6%X*&UR:"QR
M:&%;8UTI"B`@("`@("`@9&EM+F%P<&5N9"AM<F@M9&EM6RTQ72D*("`@(&1E
M;"!D:6U;,%T*("`@(')E='5R;B!D:6T*"F1E9B!F:6YD7W)O=U]C;VQ?<VEZ
M97,H8V5L;',I.@H@("`@;E(@/2!N0R`]("TQ"B`@("!F;W(@8R!I;B!C96QL
M<SH*("`@("`@("!N4B`](&UA>"AN4BQC+F5N9')O=RD*("`@("`@("!N0R`]
M(&UA>"AN0RQC+F5N9&-O;"D*("`@(&Y2("L](#$*("`@(&Y#("L](#$*("`@
M($,@/2!M87`H;&%M8F1A('@Z('@N8V]P>2@I+&Y#*EM[?5TI"B`@("!2(#T@
M;6%P*&QA;6)D82!X.B!X+F-O<'DH*2QN4BI;>WU=*0H@("`@9F]R(&,@:6X@
M8V5L;',Z"B`@("`@("`@9B`](&,N96YD<F]W"B`@("`@("`@9"`](&,N:&5I
M9VAT"B`@("`@("`@9F]R('8@:6X@>')A;F=E*&,N8V]L+&,N96YD8V]L*S$I
M.@H@("`@("`@("`@("!#6W9=6V9=(#T@9`H@("`@("`@(&8@/2!C+F5N9&-O
M;`H@("`@("`@(&0@/2!C+G=I9'1H"B`@("`@("`@9F]R('8@:6X@>')A;F=E
M*&,N<F]W+&,N96YD<F]W*S$I.@H@("`@("`@("`@("!26W9=6V9=(#T@9`H@
M("`@<F5T=7)N(&9I;F1?9&EM*$,L;E(I+&9I;F1?9&EM*%(L;D,I"@IP<FEN
M="`B4F]B:6XG<R!#87-E(#$Z(&-O;'5M;B`Q(&]C8W5P:65S(#(@<F]W<R!A
M;F0@:7,@8FEN9&EN9R(*8V5L;',@/2!;0V5L;"@P+#`L,"XU+#`N-2DL($-E
M;&PH,2PP+#$L,"XU*2P@0V5L;"@P+#$L,2PR+')O=W-P86X],BE="G!R:6YT
M("=I;G!U="<L;6%P*'-T<BQC96QL<RD*<')I;G0@)V]U='!U="<L9FEN9%]R
M;W=?8V]L7W-I>F5S*&-E;&QS*0H*<')I;G0@(E)O8FEN)W,@0V%S92`Q.B!C
M;VQU;6X@,2!O8V-U<&EE<R`R(')O=W,B"F-E;&QS(#T@6T-E;&PH,"PP+#`N
M-2PP+C4I+"!#96QL*#$L,"PQ+#`N-2DL($-E;&PH,"PQ+#$L,"XY+')O=W-P
M86X],BE="G!R:6YT("=I;G!U="<L;6%P*'-T<BQC96QL<RD*<')I;G0@)V]U
M='!U="<L9FEN9%]R;W=?8V]L7W-I>F5S*&-E;&QS*0H*8V5L;',@/2!;0V5L
M;"@P+#`L,"XU+#$I+"!#96QL*#$L,"PQ+#,I+"!#96QL*#(L,"PQ+#$I+`H@
M("`@("`@($-E;&PH,"PQ+#`N-2PQ*2Q#96QL*#(L,2PP+C0L,BDL"B`@("`@
M("`@0V5L;"@P+#(L,2PQ*2Q#96QL*#(L,BPP+C<L,2DL"B`@("`@("`@70IP
M<FEN="`G:6YP=70G+&UA<"AS='(L8V5L;',I"G!R:6YT("=O=71P=70G+&9I
8;F1?<F]W7V-O;%]S:7IE<RAC96QL<RD*
`
end

sum -r/size 65464/2976 section (from "begin" to "end")
sum -r/size 16691/2139 entire input file
-- 
Robin Becker