Age | Commit message (Collapse) | Author | |
---|---|---|---|
2015-05-26 | epub: Skip initial whitespace flow nodes when finding list anchors. | Tor Andersson | |
They are skipped during layout, so should also be skipped here. Fixes bug 695943. | |||
2015-05-19 | epub: Parse CSS combinators left-associatively. | Tor Andersson | |
Fixes bug 695994 where multiple child selectors would not match properly. The "a > b > c" rule should be interpreted as ((a > b) > c) in order to match properly. | |||
2015-05-19 | epub: User stylesheets. | Tor Andersson | |
Add -U option to mupdf and mudraw to set a user stylesheet. Uses a context to store user the stylesheet, just like the AA level. | |||
2015-05-19 | epub: Use per chapter page margins. | Tor Andersson | |
2015-05-19 | epub: Support !important property declarations. | Tor Andersson | |
2015-05-18 | epub: Improve default stylesheet. | Tor Andersson | |
2015-05-15 | epub: Use flag bits for white-space enum. | Tor Andersson | |
2015-05-15 | epub: Don't inherit font-size textually, despite what the spec says. | Tor Andersson | |
Ignore inheritance on font-size properties altogether. Since we already inherit the font-size during the 'em' calculations when laying out text, inheriting the font-size property textually will result in doubling the effect of any scaling. | |||
2015-05-15 | epub: Apply @page selector margins. | Tor Andersson | |
2015-05-15 | epub: Parse (and ignore) @page selector. | Tor Andersson | |
2015-05-15 | epub: Move collapsed parent/child top margins to outside the parent. | Tor Andersson | |
2015-05-15 | epub: Improve margin collapsing. | Tor Andersson | |
2015-05-15 | epub: Handle white-space property. | Tor Andersson | |
Add 'break' nodes to flow list for forced line breaks. | |||
2015-05-07 | epub: Allow space between property name and ':'. | Tor Andersson | |
2015-05-07 | epub: Fix typo when parsing negative numbers. | Tor Andersson | |
2015-05-07 | epub: Whitespace separated by comments turn into two whitespace tokens. | Tor Andersson | |
Deal with it. | |||
2015-05-06 | WIP: Add debug printing function for generated boxes. | Tor Andersson | |
2015-05-06 | epub: Add 'auto' as a special number value. | Tor Andersson | |
2015-05-06 | epub: Rejig CSS parser -- whitespace is significant! | Tor Andersson | |
The selectors ".foo.bar" and ".foo .bar" are not equivalent! They should parse as "*.foo.bar" and "*.foo *.bar" but we parsed both as "*.foo.bar" due to us ignoring significant whitespace. | |||
2015-05-05 | epub: Ignore missing stylesheet files. | Tor Andersson | |
2015-05-05 | epub: Bail if rights.xml or encryption.xml are present (not DRM-free EPUB). | Tor Andersson | |
2015-05-05 | epub: Parse (and ignore) display: inline-block. | Tor Andersson | |
2015-05-05 | epub: Fix signedness bug when testing character ranges. | Tor Andersson | |
2015-05-05 | epub: Decode URL escapes in epub paths. | Tor Andersson | |
2015-05-05 | epub: Ignore syntax errors in HTML tag style attributes. | Tor Andersson | |
2015-05-05 | epub: Fix list mark horizontal placement calculation. | Tor Andersson | |
2015-05-05 | epub: Parse negative decimal numbers that start with the decimal point. | Tor Andersson | |
2015-05-05 | epub: Use the correct word order in border style names. | Tor Andersson | |
2015-05-04 | epub: Parse rgb(x,y,z) type colors. | Tor Andersson | |
2015-05-04 | epub: Fix 695971: Don't confuse id selectors (#name) with colors in CSS. | Tor Andersson | |
2015-05-04 | epub: Anchor list mark to first flow node in list item. | Tor Andersson | |
2015-04-28 | epub: Only apply border widths when the border is visible. | Tor Andersson | |
The border_style field was changed from an enum to an array of enums, but one place where it was used was not updated. | |||
2015-04-27 | epub: Ugly hack so that table rows end up on their own lines at least. | Tor Andersson | |
We don't support tables yet, so this is a stop gap measure. | |||
2015-04-27 | epub: Support individual T,B,L,R border styles and colors. | Tor Andersson | |
2015-04-27 | epub: Fix (incorrectly) recursively multiplied relative font sizes. | Tor Andersson | |
2015-04-23 | epub: Support roman and alphabetic numbering in ordered lists. | Tor Andersson | |
2015-04-20 | epub: list items with bullets and counters | Tor Andersson | |
2015-04-20 | epub: Also accept ".htm" file extension. | Tor Andersson | |
2015-04-16 | Fix typo in html-layout.c | Robin Watts | |
The find_accumulated_margins function should be a void return type. | |||
2015-04-15 | epub: Take margins into account when scaling images to fit the page. | Tor Andersson | |
2015-04-15 | epub: Tighten the comparison for when an image is on the current page. | Tor Andersson | |
This solves the issue with slivers of images appearing in the margin at the bottom of the previous page. | |||
2015-04-15 | epub: Be resilient in the face of broken CSS. | Tor Andersson | |
Try to recover from syntax errors in CSS rules by skipping to the end of the declaration block. Don't abort HTML parsing on CSS errors. | |||
2015-04-15 | epub: Check version number and warn if it's not an EPUB 2.0 file. | Tor Andersson | |
2015-04-14 | epub: Ignore CSS3 ::before pseudo-element syntax. | Tor Andersson | |
2015-04-14 | epub: Parse url() tokens. | Tor Andersson | |
Fix bug 695922. | |||
2015-04-08 | Fix windows builds of epub-doc.c | Robin Watts | |
Variables need to be defined at the top of blocks. | |||
2015-04-07 | Add some basic page margins to EPUB layout. | Tor Andersson | |
Add margins of 1 em at the top and bottom of every page at the top level. TODO: This should be set from the CSS using the @page selector, and be collapsed with the body margins at the start and end of each chapter, as well as the left and right body margins. | |||
2015-04-07 | Trigger default layout in fz_document layer. | Tor Andersson | |
Trigger the default layout when needed, but only if no manual layout has been done. This avoids doing a pointless double layout (once with default when loading the document, then with the manual layout call with the desired layout options). | |||
2015-03-24 | Rework handling of PDF names for speed and memory. | Robin Watts | |
Currently, every PDF name is allocated in a pdf_obj structure, and comparisons are done using strcmp. Given that we can predict most of the PDF names we'll use in a given file, this seems wasteful. The pdf_obj type is opaque outside the pdf-object.c file, so we can abuse it slightly without anyone outside knowing. We collect a sorted list of names used in PDF (resources/pdf/names.txt), and we add a utility (namedump) that preprocesses this into 2 header files. The first (include/mupdf/pdf/pdf-names-table.h, included as part of include/mupdf/pdf/object.h), defines a set of "PDF_NAME_xxxx" entries. These are pdf_obj *'s that callers can use to mean "A PDF object that means literal name 'xxxx'" The second (source/pdf/pdf-name-impl.h) is a C array of names. We therefore update the code so that rather than passing "xxxx" to functions (such as pdf_dict_gets(...)) we now pass PDF_NAME_xxxx (to pdf_dict_get(...)). This is a fairly natural (if widespread) change. The pdf_dict_getp (and sibling) functions that take a path (e.g. "foo/bar/baz") are therefore supplemented with equivalents that take a list (pdf_dict_getl(... , PDF_NAME_foo, PDF_NAME_bar, PDF_NAME_baz, NULL)). The actual implementation of this relies on the fact that small pointer values are never valid values. For a given pdf_obj *p, if NULL < (intptr_t)p < PDF_NAME__LIMIT then p is a literal entry in the name table. This enables us to do fast pointer compares and to skip expensive strcmps. Also, bring "null", "true" and "false" into the same style as PDF names. Rather than using full pdf_obj structures for null/true/false, use special pointer values just above the PDF_NAME_ table. This saves memory and makes comparisons easier. | |||
2015-03-24 | Don't pass interpreter context to pdf_processor opcode callbacks. | Tor Andersson | |
Update buffer and filter processors. Filter both colors and stroke states. Move OCG hiding logic into interpreter. |