Commit graph

48 commits

Author SHA1 Message Date
Slava Monich
35757ce03d [fbreader] Support for footnotes 2016-11-02 16:28:59 +03:00
Slava Monich
c2558fbb3f [fbreader] Removed unnecessary stuff from ZLTextParagraphCursorCache
ourLastAdded member was causing a crash on destruction (double free),
get() and put() methods were just unnecessary.
2016-10-30 11:40:57 +03:00
Slava Monich
6d0b79fb16 [fbreader] Added NUM_KINDS to FBTextKind 2016-10-15 13:18:32 +03:00
Slava Monich
c27cccee7f [fbreader] Handle empty XHTML style stack 2016-02-21 13:51:49 +03:00
Slava Monich
bd3dbb7d19 [fbreader] Fixed the problem with external XML entities
XML parser's "hash_secret_salt" has to be set to anything non-zero.
Otherwise this parser won't be able to use the entity cache filled
by the child DTD parsers. For more details see CVE-2012-0876 and
http://sourceforge.net/p/expat/bugs/496/
2015-12-14 12:33:29 +03:00
Slava Monich
4704c68caf [fbreader] Handle SVG image element when looking for cover 2015-12-13 18:25:09 +03:00
Slava Monich
94af49b211 [fbreader] Added ZLFile::flushCache 2015-09-13 13:17:52 +03:00
Slava Monich
b6a5dd4576 [fbreader] Reduced the number of atomic builtins used by the code 2015-09-13 13:16:19 +03:00
Slava Monich
b70dd1bcf9 [fbreader] Fixed incorrect use of atomic builtins
Which resulted in memory leaks
2015-09-13 13:14:13 +03:00
Slava Monich
de7028bf5a [fbreader] Enabled thread-local plain file stream cache 2015-08-21 15:18:07 +03:00
Slava Monich
c9a7225138 [fbreader] Read the path to the default OPF from container.xml 2015-08-21 14:41:34 +03:00
Slava Monich
ba402d79ff [fbreader] Handle slightly broken zip files
Only DEFLATED entries can have EXT descriptor, ignore this flag
for STORED entries.
2015-08-21 13:42:45 +03:00
Slava Monich
f30d83bf39 [fbreader] Added limited support for left/right auto margins
They only work if width property is set, otherwise they are ignored.
Top/bottom don't work at all (and never did)
2015-08-18 01:31:02 +03:00
Slava Monich
97ce479c50 [fbreader] Added support for text color
Specified with CSS color attribute
2015-08-11 13:53:21 +03:00
Slava Monich
dac803cd4e [fbreader] Changed getPwdDir to return the current directory
It was returning the value of PWD environment variable which
isn't necessarily the same thing.
2015-08-09 14:36:51 +03:00
Slava Monich
c6e46b94a2 [fbreader] Refactored CSS and XHTML support
This significantly improves EPUB rendering.
2015-08-09 00:54:38 +03:00
Slava Monich
ab68bef4e6 [fbreader] Housekeeping
Indentation
2015-08-07 15:55:06 +03:00
Slava Monich
ae8986bb4f [fbreader] Flush text buffer when adding HSpace or LineBreak 2015-08-05 19:10:29 +03:00
Slava Monich
764af720e4 [fbreader] Housekeeping
Indentation fix
2015-08-05 19:08:27 +03:00
Slava Monich
2457795ce8 [fbreader] Center justified images 2015-08-04 18:33:10 +03:00
Slava Monich
b3acda416c [fbreader] Optimized ZLZipHeader::readShort and readLong
For little endian CPUs. Unnecessary byte shuffling does show up
on the performance graph. Both Jolla tablet and Jolla phone are
little endian.
2015-07-29 18:53:48 +03:00
Slava Monich
4026ae35d1 [fbreader] Optimized ZLUnicodeUtil::toLower and toUpper for ASCII
Performance analysis shows that UTF8->UCS4->UTF8 conversion takes
noticeable amount of CPU time. For ASCII strings it's unnecessary.
2015-07-29 18:46:36 +03:00
Slava Monich
36e69aef3b [fbreader] Relax restrictions on EPUB files
Some epubs are detected by libmagic as application/zip rather than
application/epub+zip. Let's give those a chance too.
2015-07-18 00:49:10 +03:00
Slava Monich
16ee7b07c6 Calculate margins relative to the base style 2015-07-07 20:19:44 +03:00
Slava Monich
248b307696 Major refactoring of CSS support
Also, improved support for line breaks.
2015-07-07 20:17:30 +03:00
Slava Monich
11f516e8fa Implemented ZLUnixFSManager::mimeType 2015-07-07 13:05:12 +03:00
Slava Monich
6385be36c0 Fixed a bug in ZLTextStyleEntry::apply 2015-07-06 16:46:37 +03:00
Slava Monich
a6a5773fb6 Support multiple inline styles 2015-07-04 02:37:30 +03:00
Slava Monich
c787512e99 Support multiple selectors per CSS rule
Also, added more length units for margins
2015-07-04 02:25:14 +03:00
Slava Monich
eb5928a5ba Only apply first line indent to left-aligned and justified layouts 2015-07-04 00:36:46 +03:00
Slava Monich
b704fb1289 Fixed CSS comment handling
Control characters inside the comment were not ignored, and the
statement following such comment was usually lost.
2015-07-03 23:20:16 +03:00
Slava Monich
220f4feaa3 Support <percentage> and <relative-size> values for "font-size" property 2015-07-03 15:22:54 +03:00
Slava Monich
74d70a9d3a Respect "page-break-before" and "page-break-after" inline styles 2015-07-03 14:52:42 +03:00
Slava Monich
fc3171abad Ignore "!important" modifier for the "margin" property 2015-07-03 13:59:09 +03:00
Slava Monich
d2789e5662 Fixed infinite loop if left indent is greater than available width 2015-07-03 01:43:35 +03:00
Slava Monich
e8914786d1 Create one combined CSS entry per XHTML element 2015-07-03 01:42:03 +03:00
Slava Monich
c9419843cc Don't allow setting invalid or unknown language 2015-07-03 01:01:05 +03:00
Slava Monich
9629f7bb46 Sum up lineStart/EndIndent values rather than overwrite them
Perhaps the same thing should be done to vertical margins as well.
2015-06-26 23:47:46 +03:00
Slava Monich
562c507a75 Handle "margin" element 2015-06-26 23:46:56 +03:00
Slava Monich
a6a17622d7 Fixed potential crash in ZLInputStreamDecorator::open() 2015-06-17 01:00:56 +03:00
Slava Monich
c143108ff3 Removed executable attributes from installable xml files 2015-06-09 11:40:05 +03:00
Slava Monich
c07daf74a5 Added ZLTextArea::isVisible() 2015-05-31 00:41:30 +03:00
Slava Monich
04db4057e4 Added option to disable refrences to BooksDB 2015-05-29 22:07:17 +03:00
Slava Monich
4248e14b73 Added option to disable ZLFile::ourPlainStreamCache 2015-05-29 21:39:26 +03:00
Slava Monich
7565921037 Per-view ZLTextParagraphCursorCache and ZLTextElementPool 2015-05-27 00:08:27 +03:00
Slava Monich
8653f9512d Made shared_ptr thread-safe if compiled by gcc 2015-05-27 00:07:48 +03:00
Slava Monich
448a70f889 Fixed compilation warnings
Mostly, by making base class destructors virtual.
2015-05-27 00:07:12 +03:00
Slava Monich
56a5d7f63f Merge commit 'cd357843cb255424e745fd05ab93d1ec4b3f8334' as 'fbreader/fbreader' 2015-05-26 23:59:24 +03:00