Slava Monich
7a7067869d
[fbreader] Fixed FB2 footnotes
...
FB2 reader strips the leading hash sign from href, XHTML wasn't doing it.
Unified their behavior.
2018-01-20 02:43:05 +02:00
Slava Monich
6f6e037eb3
[fbreader] Added optional arguments to ZLTextSelectionModel methods
...
... extendTo() and selectWord() to make it easier to implement selection
by words.
2017-09-07 18:16:03 +03:00
Slava Monich
c8bad41b7f
[fbreader] Added ZLTextArea::selectionIsEmpty() and clearSelection()
2017-09-07 18:13:54 +03:00
Slava Monich
077e86da62
[fbreader] Fixed a problem with displaying certain images
...
Some images (those with empty style stack) were erroneously
recognized as hidden.
2017-08-01 18:16:26 +03:00
Slava Monich
34ed5ac9ce
[fbreader] Fixed crash in ZLTextModel::addText with certain models
2017-08-01 18:15:26 +03:00
Slava Monich
1320c9d61d
[fbreader] Feed expat with a random hash salt
...
That's supposed to prevent DoS attacks based on predicting hash
function behavior (although it's hard to imagine that someone
would ever decide to attack the poor little Books app).
2017-04-30 22:57:48 +03:00
Slava Monich
41765e9b95
[fbreader] Ignore images with display:none
2017-01-28 18:25:12 +02:00
Slava Monich
83ca0db6bb
[fbreader] Improved handling of broken CSS input
...
Particularly, curly brackets in inline CSS would make the parser crash.
Generally, it's better to stop parsing than crash when we get into an
unexpected state.
2017-01-20 00:39:24 +02:00
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