1
1
mirror of https://github.com/Kozea/WeasyPrint.git synced 2024-10-05 00:21:15 +03:00
Commit Graph

264 Commits

Author SHA1 Message Date
Guillaume Ayoub
69c43e6d6c Allow the preferred minimum width of inline elements to get only the first line 2012-05-31 02:05:35 +02:00
Guillaume Ayoub
3bb002e61f Correcly handle float elements in inline blocks 2012-05-31 00:22:14 +02:00
Guillaume Ayoub
ea7993e4eb Fix a lot of things for float boxes 2012-05-30 23:40:54 +02:00
Guillaume Ayoub
a225f194e8 Handle the clearance for non-float block-level boxes 2012-05-30 19:27:44 +02:00
Simon Sapin
037e4b955c Merge branch 'master' into float 2012-05-30 19:08:48 +02:00
Simon Sapin
c8d6066ace Fix the available width for shrink-to-fit on absolutes. 2012-05-30 19:06:09 +02:00
Simon Sapin
a9512c12b6 Fix the available width for shrink-to-fit on floats. 2012-05-30 19:05:35 +02:00
Guillaume Ayoub
6a6757a52c That's much better 2012-05-30 04:19:24 +02:00
Guillaume Ayoub
6449ee4cbf Absolute doesn't work yet, but much better than before 2012-05-30 03:27:08 +02:00
Guillaume Ayoub
51a809fa37 Add the missing file :p 2012-05-29 18:51:40 +02:00
Guillaume Ayoub
44adb875e3 Add basic management of float elements 2012-05-29 18:51:40 +02:00
Guillaume Ayoub
e648919f81 Fix absolute in inline relative 2012-05-29 18:50:36 +02:00
Guillaume Ayoub
377ae0b801 Handle inline-blocks with position: relative (fixes #806)
Establishes a new containing block for absolute descendants
2012-05-29 17:36:50 +02:00
Simon Sapin
2baa8a617b Add a TODO on margins at page breaks. 2012-05-28 11:20:01 +02:00
Guillaume Ayoub
6d07a9fe21 Remove the top margin of the boxes too big to be drawn on one page 2012-05-28 00:05:09 +02:00
Simon Sapin
34f9ae32db Fix the initial containing block 2012-05-25 18:16:26 +02:00
Simon Sapin
0142ffe08e Fix static pos for block-level/inline-level abspos. 2012-05-25 17:33:43 +02:00
Simon Sapin
b69ce3b6f3 Fix containing block on absolute tables. 2012-05-25 17:13:38 +02:00
Simon Sapin
9a3ec6fc81 Many fixes for the W3C test suite. 2012-05-25 15:57:13 +02:00
Simon Sapin
60f8285ee2 Handle absolute replaced boxes. 2012-05-25 14:08:35 +02:00
Simon Sapin
26937a315b Fix all the bugs for absolute positioning (maybe)
When an absolutly-positioned box is taken out of the flow,
leave a "placeholder" instead.

This should fix the bugs related to .translate() with absolutes.
2012-05-25 12:04:08 +02:00
Guillaume Ayoub
f978dd6963 Add untested support for position: fixed 2012-05-23 11:30:52 +02:00
Simon Sapin
64786ed5e9 Fix % or auto margins on tables. 2012-05-22 17:32:00 +02:00
Simon Sapin
866efdf62c Do not repeat bookmarks on a fragmented box
Also a better way not to repeat margin/padding/border and list markers.
2012-05-21 14:22:32 +02:00
Simon Sapin
0c80b77f31 Handle absolute tables 2012-05-14 08:15:52 +02:00
Simon Sapin
bf95751558 Fix outside list marker position on absolute list-items. 2012-05-11 20:50:28 +02:00
Simon Sapin
ea18e88fdc Crash fix: skip absolute boxes that are not laid out yet in various places. 2012-05-11 20:39:56 +02:00
Guillaume Ayoub
15790dc51e Handle inline absolute elements 2012-05-11 19:31:31 +02:00
Guillaume Ayoub
b3a91e4e26 Fix the width repartition between columns when sum(preferred_widths) = 0 2012-05-11 16:17:23 +02:00
Guillaume Ayoub
f1da53a32a Fix the z-index 2012-05-11 16:07:14 +02:00
Guillaume Ayoub
8d1b86c40f Layout in place absolute boxes 2012-05-10 20:12:47 +02:00
Guillaume Ayoub
7eb3ba187e Add tests for absolute boxes 2012-05-10 16:10:04 +02:00
Guillaume Ayoub
b20022ee11 Fix some little things about absolute blocks 2012-05-10 13:56:21 +02:00
Guillaume Ayoub
1fc2da2a5c Add initial support of position: absolute, missing z-index 2012-05-10 05:57:06 +02:00
Guillaume Ayoub
2ea63210bf Add a list of absolute elements 2012-05-09 19:01:32 +02:00
Guillaume Ayoub
369faf4d7b Fix relative positioning for inline boxes 2012-05-09 17:07:01 +02:00
Guillaume Ayoub
fcf7d1ff2c Add untested support of relative 2012-05-09 13:15:13 +02:00
Guillaume Ayoub
449ca2db07 Remove useless space 2012-05-08 03:40:27 +02:00
Guillaume Ayoub
f1ebf59486 Add some tests and fixes about auto layout tables 2012-05-07 18:16:32 +02:00
Simon Sapin
0671b499dd Repeat table headers and footers on every page. 2012-05-04 17:05:16 +02:00
Guillaume Ayoub
efa01839e6 Avoid a division by 0 in static layout for tables 2012-04-16 13:48:46 +02:00
Simon Sapin
8bb2d566c2 Oooops 2012-04-12 17:20:58 +02:00
Simon Sapin
074e8884c8 Implement inline tables. 2012-04-12 17:20:57 +02:00
Simon Sapin
9d4e5b9d6f Simplify table wrapper layout. 2012-04-12 17:20:57 +02:00
Simon Sapin
78b86f400e Only use the fixed table layout with a non-auto width.
As specified, fall back to the automatic layout when the
computed width is 'auto'.

This will enable some code simplifications, and prepare
for inline tables.
2012-04-12 17:20:57 +02:00
Guillaume Ayoub
9af417088f Small fix for preferred width of tables 2012-04-12 13:20:41 +02:00
Guillaume Ayoub
ccb73421f8 Fix the `adjust` function for tables 2012-04-10 19:00:56 +02:00
Guillaume Ayoub
c2a6a70736 Fix the preferred width resolution of the tables 2012-04-10 18:29:00 +02:00
Guillaume Ayoub
643eb9a957 Handle the captions 2012-04-10 17:56:23 +02:00
Guillaume Ayoub
e349cf5b5b Typo 2012-04-10 16:08:53 +02:00
Guillaume Ayoub
130132b1a0 Merge branch 'master' of github.com:Kozea/WeasyPrint 2012-04-10 16:07:46 +02:00
Simon Sapin
caab31ccff The baseline for table cells and inline blocks is really not the same thing. 2012-04-10 16:07:32 +02:00
Guillaume Ayoub
8d9ce51fbd Merge branch 'master' of github.com:Kozea/WeasyPrint 2012-04-10 15:51:48 +02:00
Simon Sapin
fe52a7b0f6 Fix baseline for table rows. 2012-04-10 15:46:36 +02:00
Guillaume Ayoub
918828be3e Merge branch 'master' of github.com:Kozea/WeasyPrint 2012-04-10 15:07:43 +02:00
Simon Sapin
3c9512bd77 Bug fix for inline block baseline. 2012-04-10 15:07:10 +02:00
Guillaume Ayoub
3a86c1e679 Add the functions for preferred sizes of tables 2012-04-10 14:38:18 +02:00
Simon Sapin
4a146224c0 Proper vertical-align for inline blocks. 2012-04-10 12:50:22 +02:00
Guillaume Ayoub
1a08117491 Fix again the TODO 2012-04-10 12:31:43 +02:00
Guillaume Ayoub
110c4be520 Update a TODO about auto layout for tables 2012-04-10 12:30:25 +02:00
Simon Sapin
3ead78fe7d Account for {min,max}-width for preferred widths. 2012-04-10 12:00:31 +02:00
Simon Sapin
12b856c79e Add min-width/max-width for inline blocks. 2012-04-10 11:43:59 +02:00
Simon Sapin
0e66f6a72f Merge branch 'shrinktofit' 2012-04-10 11:11:57 +02:00
Guillaume Ayoub
0352572cc8 Remove prints and add a TODO about point #4 of tables auto layout 2012-04-07 15:12:17 +02:00
Guillaume Ayoub
b6e7998a73 Handle point #4 of table auto layout 2012-04-07 15:04:48 +02:00
Guillaume Ayoub
0d59b2600f Clean and fix a lot of things in tables auto layout 2012-04-07 14:25:30 +02:00
Simon Sapin
7ac982a01c Implement {min,max}-{width,height} on images. 2012-04-06 19:44:09 +02:00
Simon Sapin
27245aa915 Assume intrinsic dimensions for replaced elements. 2012-04-06 17:01:33 +02:00
Simon Sapin
79675f58b0 Implement min-height and max-height on blocks 2012-04-06 16:42:06 +02:00
Simon Sapin
cde28023d6 Implement min-width and max-width on blocks. 2012-04-06 16:19:16 +02:00
Simon Sapin
9ff7b99b30 Fix box-sizing 2012-04-06 15:56:36 +02:00
Simon Sapin
b113b29fd7 Update shrink-to-fit for tinycss. 2012-04-05 13:16:17 +02:00
Simon Sapin
61bf188290 Merge branch 'master' into shrinktofit
Conflicts:
	weasyprint/layout/blocks.py
	weasyprint/layout/inlines.py
2012-04-05 12:38:42 +02:00
Simon Sapin
34612cc4fb Simplify the handling of 'auto' lengths. 2012-04-05 11:21:26 +02:00
Guillaume Ayoub
21277c18cc Add some tests, split inner/outer preferred widths 2012-04-04 14:25:13 +02:00
Guillaume Ayoub
58fb02dcbb Don't collapse spaces across atomic inline blocks 2012-04-03 18:58:55 +02:00
Simon Sapin
88c027117c Do not keep tokens for percentages after validation.
Make (value, unit) namedtuples instead.
Pixel values that could be percentages are not plain numbers anymore.
2012-04-03 16:12:25 +02:00
Simon Sapin
46b1d225c7 Tests n’ fixes. Lots of them. 2012-04-03 11:34:29 +02:00
Guillaume Ayoub
42e25e1e3c Add a basic shrink to fit for tables 2012-03-23 19:31:54 +01:00
Guillaume Ayoub
82db8a421c Fix the shirk to fit agorithm 2012-03-23 17:33:59 +01:00
Guillaume Ayoub
e8920cea3f Don't shrink inline-blocks with multiple lines 2012-03-23 13:32:44 +01:00
Guillaume Ayoub
67e6cc5063 Include the margin/border/padding when translating inline-block boxes 2012-03-23 01:16:08 +01:00
Guillaume Ayoub
0c891965d2 Resolve margin_width when possible for preferred values
This fix sets the margin/border/padding values for inline-block children
2012-03-23 01:04:38 +01:00
Guillaume Ayoub
48c7005019 Fix the x and y position of the children of the inline-block boxes 2012-03-23 00:45:38 +01:00
Guillaume Ayoub
b5d1c3f7de Handle fixed sizes in inline-block children 2012-03-22 23:52:32 +01:00
Guillaume Ayoub
65a8d64490 Fix the maximum preferred width when a maximum width is set 2012-03-22 23:41:24 +01:00
Guillaume Ayoub
abd386796f Naive implementation of inline-block evelements 2012-03-22 23:26:09 +01:00
Guillaume Ayoub
2c0c83693f Add the function definitions for shrink to fit 2012-03-22 19:32:59 +01:00
Simon Sapin
ccdfbe1d97 Boilerplate for inline-block support 2012-03-22 18:36:56 +01:00
Simon Sapin
dcacf9eed0 Switch the licence to BSD and rewrite module docstrings/headers 2012-03-21 23:26:58 +01:00
Simon Sapin
26de362b99 Add proper attribution in AUTHORS 2012-03-21 18:40:38 +01:00
Simon Sapin
9875f76995 Hello 2012 2012-03-21 18:40:38 +01:00
Simon Sapin
7172323b8f Add page-break-inside: avoid on table row groups 2012-03-21 18:36:03 +01:00
Simon Sapin
fc4d091f82 Add page-break-inside: avoid for tables 2012-03-21 18:09:03 +01:00
Simon Sapin
f2db08b310 Fix and test page breaks inside tables
rowspan > 1 is not handled correctly, but having *some* page breaks
is more valuable
2012-03-21 18:01:24 +01:00
Simon Sapin
e23c38bfd2 Merge branch 'master' into table-breaks
Conflicts:
	weasyprint/css/validation.py
2012-03-21 17:06:47 +01:00
Simon Sapin
f814dc0243 Add page-break-inside: avoid 2012-03-21 11:36:24 +01:00
Priit Laes
f4a143a642 table-break: Fix infinite loop in case table row > page height 2012-03-17 13:43:19 +02:00
Priit Laes
3e2eb91341 table-break: WIP page-breaks inside tables 2012-03-16 21:09:24 +02:00
Simon Sapin
1d6c94828e Add support for orphans and widows. 2012-03-14 19:33:24 +01:00
Simon Sapin
3632842b16 Better forced page breaks
If eg. page-break-before is 'always' on a first child, the break is
between the clostest ancestor that has a previous sibling and
that sibling.

See the changed test for an example.
2012-03-14 16:26:20 +01:00
Simon Sapin
476732b81c Support images in <embed> or <object> 2012-02-29 17:38:30 +01:00
Simon Sapin
e6cee2f2ab Put block-level images on the next page when they would overflow. 2012-02-29 12:23:25 +01:00
Simon Sapin
953493733f Margin collapsing: not on the root element. 2012-02-28 14:54:20 +01:00
Simon Sapin
b8fa396d53 Margin collapsing: through "empty" elements. 2012-02-28 14:54:20 +01:00
Simon Sapin
28a53ef307 More collapsing margins again. 2012-02-28 14:54:20 +01:00
Simon Sapin
e66e1025b0 More cases for margin collapsing 2012-02-23 19:31:15 +01:00
Simon Sapin
650b23ada8 Basic margin collapsing
Only between two siblings for now.
2012-02-23 19:31:15 +01:00
Simon Sapin
7ad1083e88 Rename weasyprint.logging to avoid conflicts the stdlib module. 2012-02-23 19:31:15 +01:00
Simon Sapin
f0e79cf99a Cleanups 2012-02-23 19:31:15 +01:00
Simon Sapin
0ef3b35e90 Actual python 2.6 compatibility 2012-02-21 14:13:34 +01:00
Simon Sapin
ff135aa285 Python 3 compat. All tests pass with the same code base! 2012-02-17 22:48:20 +01:00
Simon Sapin
6baad64044 Disable an assert that fails because of floating point errors. 2012-02-16 15:27:49 +01:00
Simon Sapin
cf52aa3aaf Move the whole 'weasy' package to 'weasyprint' 2012-02-14 12:49:33 +01:00