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

648 Commits

Author SHA1 Message Date
Simon Sapin
2388891ae3 More libxml2 work-arounds. 2012-12-26 17:03:08 +01:00
Guillaume Ayoub
c52a17a3f0 Set the computed value of the "hyphens" property instead of the keyword 2012-12-26 16:56:48 +01:00
Guillaume Ayoub
ee0a53ea1d Merge branch 'master' into hyphenation
Conflicts:
	weasyprint/text.py
2012-12-26 16:44:23 +01:00
Guillaume Ayoub
d6b78b30e7 Work around parser changes in libxml2 2.9 2012-12-26 16:43:10 +01:00
Guillaume Ayoub
145027536b Collapse consecutive text boxes 2012-12-26 16:42:45 +01:00
Guillaume Ayoub
488178c6ab Typo 2012-12-26 14:47:33 +01:00
Guillaume Ayoub
09aacdc669 Use pyphen instead of hyphenator 2012-12-26 13:25:18 +01:00
Simon Sapin
773bbfe431 Changelog for JPEG embedding. 2012-12-20 20:21:13 +01:00
Simon Sapin
f243dbcca3 Embed JPEG-encoded images in PDF. Fix #6
If an image is in JPEG format, embed it as-is in the PDF output.
This often results in smaller PDF file size.

(The image is still decoded however,
so there is no rendering speed improvement.)
2012-12-20 20:12:52 +01:00
Guillaume Ayoub
3ed645d54c Fix the encoding of the zu_ZA dictionary 2012-12-14 02:40:40 +01:00
Simon Sapin
8995ce77d9 Merge remote-tracking branch 'origin/trailingspaces' 2012-12-12 16:06:20 +01:00
Simon Sapin
f12deb8fc6 Work around a segfault on Python 3.2.
Something bad happend when de-allocating a module-level BytesIO()
and dummy PDFSurface.
2012-12-12 16:02:41 +01:00
Simon Sapin
4f8deadc47 Work around a bug in old pycairo versions.
See
http://cgit.freedesktop.org/py2cairo/commit/?id=cab2c1295499f57247854e8635b77ca716fa9730
2012-12-12 09:25:28 +01:00
Guillaume Ayoub
667f1d905b Quick and dirty lang detection for hyphenation 2012-12-09 00:41:12 +01:00
Guillaume Ayoub
fbc2e33b01 Add the -weasy-hyphens CSS property 2012-12-08 22:50:08 +01:00
Guillaume Ayoub
d4fffabb8a Add base code and dictionaries for hyphenation 2012-12-08 21:43:16 +01:00
Guillaume Ayoub
2325b4c2f4 Give the line length to split_first_line 2012-11-24 16:14:49 +01:00
Guillaume Ayoub
1eb22ed63b Remove spaces at the end of the text lines 2012-11-22 23:52:50 +01:00
Simon Sapin
0444be5fba Fix PDF metadata with zoom != 1 2012-11-22 22:49:30 +01:00
Simon Sapin
e9013d0470 Add a test for PDF zoom. 2012-11-22 22:36:51 +01:00
Simon Sapin
85bbfa9258 Rename PDF scale to zoom, have the default be 1 rather than 0.75
The 0.75 factor is an implementation detail that should not be exposed
in the API.
2012-11-22 22:31:26 +01:00
Guillaume Ayoub
d2dea8ed56 Fix the size of the first line 2012-11-22 21:23:42 +01:00
Guillaume Ayoub
8c6f6a8189 Remove the width of space-character containers when line breaks are not preserved 2012-11-22 21:23:04 +01:00
Guillaume Ayoub
0b87357daf Don't always use the whole text to get the first line of a pango layout 2012-11-22 21:21:28 +01:00
Simon Sapin
dda3817880 Merge branch 'patch-1' of https://github.com/mbarkhau/WeasyPrint 2012-11-22 20:10:09 +01:00
mbarkhau
0e09ce8ff9 Add scale factor to write_pdf of HTML class 2012-11-22 18:58:22 +01:00
mbarkhau
aa62d35664 Turn scale factor into parameter for write_pdf 2012-11-22 18:47:20 +01:00
Guillaume Ayoub
b54b9f54af Fix the W3 testing suite web server 2012-11-16 02:07:56 +01:00
Simon Sapin
6f56613441 Do not require HtmlElement.
* Do not use element.base_url which only exists in lxml.html.HtmlElement
* Use lxml.etree.HtmlParser instead of lxml.html

This is one step toward using the html5lib parser, but see
https://github.com/Kozea/WeasyPrint/pull/12
2012-11-06 13:55:39 +01:00
Simon Sapin
ba987f0daf Remove out-dated parts of the weasyprint.css docstring. 2012-10-09 17:10:45 +02:00
Simon Sapin
3072fff2e5 Docs docs docs.
But no ducks.
2012-10-08 19:51:18 +02:00
Simon Sapin
54b46c4b46 Typo fix 2012-10-08 12:13:33 +02:00
Simon Sapin
085d16cebf Use the Sphinx syntax for command-line options. 2012-10-07 14:54:39 +02:00
Simon Sapin
f5bd8cf8ff Defer warnings when PixBuf is not available.
Previously, a missing PixBuf caused a warning at import-time.
Now the exception is saved and re-raised when an image needs
to be loaded: there is no warning if PixBuf is not used at all.
2012-10-07 10:07:21 +02:00
Simon Sapin
f8457ba3a5 Move save_pixels_to_png() to the test_draw module.
This function is only used for tests.
2012-10-07 09:49:07 +02:00
Simon Sapin
a0bb1f2752 Have metadata account for CSS transforms. 2012-10-06 22:09:17 +02:00
Simon Sapin
28cb59fc8b Pre-compute transformation matricies.
… so that they are available when getting meta-data.
2012-10-06 11:26:55 +02:00
Simon Sapin
a7131bd10f Remove unused imports 2012-10-05 22:12:19 +02:00
Simon Sapin
ba06e7eecc Nicer whitespace in PDF objects. 2012-10-05 22:06:38 +02:00
Simon Sapin
732f7187a4 Fix bookmarks writing in PDF.
The new prepare_metadata() already adds bookmark_root_id to
all values, no need to add it again in write_pdf_metadata()
2012-10-05 21:59:08 +02:00
Simon Sapin
bedcbfe4ed Remove a debugging print() 2012-10-05 21:50:37 +02:00
Simon Sapin
17621bced0 Fix a crash when pygtk can be imported but not pango.
PyGObject 2 works on Python 3 and has a 'pygtk' package.
Importing pygtk does not imply that pango is available through it.
2012-10-05 21:49:26 +02:00
Simon Sapin
eda4bc604e Move resolution to *.write_png only. 2012-10-05 20:12:05 +02:00
Simon Sapin
e1f5863bc8 Refine docstrings. 2012-10-05 18:50:40 +02:00
Simon Sapin
a05470d006 Remove with_size in Document.write_png
The method now always returns a tuple with the size.
HTML.write_png however still does not return the size.
2012-10-05 18:27:45 +02:00
Simon Sapin
c2b2b8c2ea Escape non-ASCII characters in hyperlinks. 2012-10-04 19:12:34 +02:00
Simon Sapin
726faa9765 Make the Navigator use the public API. 2012-10-04 14:30:42 +02:00
Simon Sapin
6e63903a13 Add metadata in the low-level API. 2012-10-04 13:06:41 +02:00
Simon Sapin
ce484dd85e Fix the low-level API tests. 2012-10-04 10:58:24 +02:00
Simon Sapin
09ff532828 The Document is back! (But different.) 2012-10-02 18:59:02 +02:00
Simon Sapin
7f033001b7 Remove HTML.get_png_pages 2012-10-02 15:59:59 +02:00
Simon Sapin
d17ee64fa1 Do not repeat a block’s margin-top after a break. 2012-10-02 15:59:58 +02:00
Simon Sapin
b17e807af1 Bug fix: inline-block with vertical-align 2012-10-01 19:30:25 +02:00
Simon Sapin
a564473882 Avoid re-using Pattern objects for images. 2012-09-26 16:59:40 +02:00
Simon Sapin
03d8817690 Cache failures to fetch/load images. 2012-09-26 14:44:43 +02:00
Simon Sapin
ac7f551055 Add tests for the new low-level API. 2012-09-26 14:26:24 +02:00
Simon Sapin
5f86288635 Make GDK-PixBuf truly optional. 2012-09-25 17:56:02 +02:00
Simon Sapin
f8f38f0d35 Compat with early pycairo versions. 2012-09-25 16:37:50 +02:00
Simon Sapin
1de2a00ecb Use native strings in __main__.py, fix --help on 2.6 2012-09-25 16:37:18 +02:00
Simon Sapin
f33c91742d Get rid of the Document class (finally!) 2012-09-25 16:37:18 +02:00
Simon Sapin
7984fbd3bc Warn (not crash) on missing base_url for @import 2012-09-25 16:01:12 +02:00
Simon Sapin
a85c137754 Bug fix: unit conversion for PDF metadata. 2012-09-24 12:46:11 +02:00
Simon Sapin
b066fcf4e8 Doc details. 2012-09-24 12:46:07 +02:00
Simon Sapin
7966e9fed6 Generalize hinting and resolution
... in the low-level API, not just PNG output.
2012-09-20 19:24:58 +02:00
Simon Sapin
20fe60040d Document low-level output functions. 2012-09-20 17:57:15 +02:00
Simon Sapin
933554f7ed Moar docs for the low-level API. 2012-09-20 17:21:44 +02:00
Simon Sapin
19dd654678 Adapt docs for 0.15 2012-09-20 17:08:03 +02:00
Simon Sapin
a0853a3fc1 Merge branch 'sphinx-doc' 2012-09-20 16:53:33 +02:00
Simon Sapin
87d5741376 Integrate the sphinx docs with docstrings. 2012-09-19 17:37:52 +02:00
Simon Sapin
ac220e9a4d Refactor the PNG output to use the low-level API
… not intermediate ImageSurface objects.
2012-09-18 12:58:58 +02:00
Simon Sapin
c7422f721d Typo fix, thanks @jdahlin 2012-09-16 11:25:02 +03:00
Simon Sapin
0ff73c49bc Cache intermediate results for intrinsic widths on tables.
This fixes huges performance problems when a large table is split
across many pages.
2012-09-13 11:46:13 +02:00
Simon Sapin
9834ccb7e6 Handle all of backgrounds at the end of layout. 2012-09-13 11:19:40 +02:00
Simon Sapin
ae26c87bfd Handle background images at the end of layout 2012-09-13 10:41:22 +02:00
Simon Sapin
6354398139 Add a low-level public API 2012-09-12 19:33:16 +02:00
Simon Sapin
463a33c1af Fetch background images early
This removes the need to have a reference to the image cache
in draw.py
2012-09-12 18:36:00 +02:00
Simon Sapin
43bccc7345 Remove the ContextProxy
Instead, pass around the two objects in every function.
This is a bit heavy, but I find it much cleaner.
2012-09-12 17:14:51 +02:00
Simon Sapin
a29a37073f Merge commit 'FETCH_HEAD^' from git://github.com/jdahlin/WeasyPrint.git 2012-09-12 16:35:00 +02:00
Johan Dahlin
b0fb7a6e31 Convert drawing API to use context
Remove the need for a subclass and make it possible
to pass in other contextes such one created by the printing
functions in gtk+.
2012-09-12 16:31:00 +02:00
Simon Sapin
c0282bb000 Add a test for @page:blank 2012-09-12 16:22:38 +02:00
Simon Sapin
35540becb9 Add a work-around for some PyGTK installations. 2012-09-11 18:26:39 +02:00
Guillaume Ayoub
50210b266f Add support for @page:blank pseudo-class 2012-08-24 00:05:28 +02:00
Simon Sapin
39b553fae7 Add support for font-stretch, fix #7
The value is passed to Pango as-is. It may have no effect if
(for example) the chosen font has no expanded variant.
2012-08-17 17:37:33 +02:00
Simon Sapin
a09eb52b97 Tag v0.14 2012-08-03 17:55:14 +02:00
Simon Sapin
c2a88cfafc Fix saving of PNG images for failed tests. 2012-08-03 17:19:18 +02:00
Simon Sapin
20f46ea968 Fix #886, only apply clip to absopos. 2012-08-03 17:19:04 +02:00
Simon Sapin
ba8a55d5c0 Add support for outlines. 2012-08-03 16:22:32 +02:00
Simon Sapin
2614821fa9 Add support for <base href="..."> element in HTML. 2012-08-03 15:22:26 +02:00
Simon Sapin
d1971b6e63 Remove unused imports. 2012-08-03 13:32:42 +02:00
Simon Sapin
4abf401f9e Simplify Document and remove magic properties. 2012-08-03 13:00:14 +02:00
Simon Sapin
f4e6de438f Remove/adapt tests using Document.formatting_structure 2012-08-03 12:11:34 +02:00
Simon Sapin
ec8cbc6c24 Remove one-line methods in Document. 2012-08-03 11:51:58 +02:00
Simon Sapin
a19c02f7b1 Add --resolution and --base-url to the command-line API. 2012-08-02 17:19:52 +02:00
Simon Sapin
eab2646dcc Fix base_url set to a directory name.
With base_url='/a/b', a relative URL 'c' was resolved to '/a/c'.
Now it is resolved to '/a/b/c' if /a/b is a directory, '/a/c'
otherwise. This is most likely the expected behavior.
2012-08-02 17:19:34 +02:00
Simon Sapin
3b769e05c4 Add tests and changelog for the new media_type API. 2012-08-02 13:59:44 +02:00
Simon Sapin
1864d3365a s/medium/media_type/ s/user_agent_stylesheets/ua_stylesheets/ 2012-08-02 13:04:31 +02:00
Chung Wu
a51562149c Can specify the @media medium to use (defaults to print) 2012-08-01 19:09:48 -07:00
Simon Sapin
4290b55d71 Remove a zip() pathologically slow on Py2.6
The Acid2 test used to take ~14 seconds on 2.6 vs. ~3 seconds in other
versions. Most of that time was in a zip() creating a list of millions
of tuples (one for each pixels.)

Switching to izip() removed the problem.
2012-07-31 18:13:25 +02:00
Simon Sapin
feece3d3c7 Always close pixbufs. 2012-07-31 18:10:44 +02:00
Simon Sapin
38129fabb6 Do not go to the network for the Acid2 test. 2012-07-31 17:33:55 +02:00