Releases: vivliostyle/vivliostyle.js
2019.1.105
See https://vivliostyle.org/docs/ for documentation.
Vivliostyle Viewer UI: vivliostyle-ui 2019.1.105
Fixed
- Fix again the bug that cannot load unzipped EPUB when directory listing is enabled on the server
- Fix bug that duplicate page margin box content appears at bottom of pages
- Fix bug that the operator
!=
in-epubx-expr()
causes CSS parser error and fails page generation - Fix problem that some properties are ignored on page partition or margin box context
- Fix problem that
text-combine-upright: all
does not work on WebKit
2019.1.103
See https://vivliostyle.org/docs/ for documentation.
Vivliostyle Viewer UI: vivliostyle-ui 2019.1.103
Fixed
- Fix problem that page background color is not painted in the bleed area
- Fix problem that vw/vh units, calc(), -epubx-expr() are invalid on shorthand properties
- Fix problem that env(doc-title) etc. doesn't work when used as a part of the
content
property value list - Fix bug that TOC box is not properly generated when Adaptive Layout style sheet is used
- Fix TOC box keyboard navigation: focus lost when closing a tree item without closing the sub tree items
- Fix again the bug that cannot load unzipped EPUB when directory listing is enabled on the server
- Fix problem that resizing causes unexpected page move, first page to next.
- Fix problem that page spread is not centered properly when left/right page widths differ
- Fix problem that the specified viewport size (e.g. fixed EPUB's) causes wrong page resizing
- Fix problem that large images may disappear when printing with zero page margin
- [Viewer UI] Fix problem that the default page size auto is not respected when print to PDF
- [Viewer UI] Fix userStyle CSS parsing and encoding problems
Changed
- Support color name 'rebeccapurple'
- [Viewer UI] Change the order to hide the menu buttons on small screen
- [Viewer UI] Adjust FontSize decrease/increase values effective on Text:Smaller/Larger buttons
- [Viewer UI] Improve "fontSize" URL parameter: accept percent and fraction
2019.1.102
See https://vivliostyle.org/docs/ for documentation.
Vivliostyle Viewer UI: vivliostyle-ui 2019.1.102
Fixed
- Fix bug that cannot load unzipped EPUB when directory listing is enabled on the server
2019.1.101
See https://vivliostyle.org/docs/ for documentation.
Vivliostyle Viewer UI: vivliostyle-ui 2019.1.101
Added
- TOC (Table of Contents) navigation is now enabled
- #498, #511
- TOC box generation is enabled when
#b=
Viewer parameter (= Viewer.loadPublication() function) is used, and the publication has TOC data. In HTML documents, TOC is marked up with e.g.<nav role="doc-toc">
. Vivliostyle recognizes element that is selected with CSS selector[role=doc-toc], [role=directory], nav li, .toc, #toc
as a TOC element. - [Viewer UI] vivliostyle/vivliostyle-ui#62
- Support Web Publications and similar multi-HTML documents
- #511
- Supported document types with
#b=
Viewer parameter (= Viewer.loadPublication() function):- Unzipped EPUB
- URL of the OPF file can be specified as well as the top directory of the unzipped EPUB files.
- Web publication (a collection of HTML documents with reading order)
- URL of the primary entry page or manifest file can be specified.
- For the format of Web publication manifest, W3C draft Web Publications and Readium Web Publication Manifest are supported.
- (X)HTML document
- When (X)HTML document URL is specified, the URL is treated as primary entry page's, and a series of HTML files are automatically loaded.
- When the web publication manifest is specified in the primary entry page (X)HTML document, the readingOrder in the manifest is used.
- If manifest is not specified or "readingOrder" is not in the manifest, the (X)HTML documents linked from the TOC element that is selected with CSS selector
[role=doc-toc], [role=directory], nav li, .toc, #toc
are loaded.
- When (X)HTML document URL is specified, the URL is treated as primary entry page's, and a series of HTML files are automatically loaded.
- Unzipped EPUB
- Support loading documents from GitHub and some specific URLs
- #499, #505, 3424d965
- GitHub and Gist URLs can be directly specified. Vivliostyle loads raw github/gist content when github/gist URL is specified.
- Aozorabunko (青空文庫) (X)HTML URL can be specified. Vivliostyle loads Aozorabunko's raw github content when Aozorabunko (X)HTML URL is specified.
- JS Bin URL is converted to JS Bin output URL and can be loaded. This is useful for testing Vivliostyle output from small HTML + CSS code, as well as Gist.
- Publication title and individual HTML document title are now passed to viewer UI
- #501
- [Viewer UI] Reflects viewing document title to the web page title.
env(pub-title)
andenv(doc-title)
environment variables for page headers with publication/document titles- #512
- Spec: CSS Environment Variables Module Level 1 defines
env()
function, butenv(pub-title)
andenv(doc-title)
are not yet defined so far. env(pub-title)
: publication title = EPUB, Web publication, or primary entry page HTML title. Enabled when#b=
Viewer parameter (= Viewer.loadPublication() function) is used.env(doc-title)
: document title = HTML title, which may be chapter or section title in a publication composed of multiple HTML documents- When title data are not found, i.e. no
<title>
element in HTML, or env(pub-title) with#x=
Viewer parameter (= Viewer.loadDocument() function), the empty string "" is returned.
- Viewport-percentage length units: vw, vh, vi, vb, vmin, vmax, and page-size-percentage units pvw, pvh, pvi, pvb, pvmin, pvmax
- #507
- Spec: CSS Values and Units - Viewport-percentage lengths, but page-size-percentage units are not defined so far.
- Note: On paged media context, the viewport-percentage units vw, vh, vi, vb, vmin, vmax are relative to the size of the page area, i.e., the content area of a page box and not including margin, border and padding specified on
@page
rule. This makes a lot of sense, but page size relative units may also be necessary. The pvw, pvh, pvi, pvb, pvmin, pvmax units are similar to the vw, vh, vi, vb, vmin, vmax but the reference size is the page size including page margins.
- Support CSS
calc()
function- #507
- Spec: CSS Values and Units - Mathematical Expressions
- In addition to
calc()
function,min()
andmax()
functions can be used insidecalc()
function. - Limitation: Percentage value in
calc()
is not calculated correctly- This
calc()
implementation is made simply reusing Adaptive Layout-epubx-expr()
function, so there are some limitations for now.
- This
- [Viewer UI] New "User Style Preferences" in the Settings panel
- vivliostyle/vivliostyle-ui#64
- New settings: Page Margins, Page Breaks (widows/orphans), Images, Text (base font-size, line-height, font-family)
- User style CSS code is shown and editable in "CSS Details" box
- User style CSS is saved in the URL parameter
userStyle=data:,/*<viewer>*/
…/*</viewer>*/
and not disappear when reloading, and can be bookmarked in browser. - "Font size (%)" reflects the ViewerOptions.fontSize that can be increase/decrease with "Text: larger/smaller" buttons, and this setting is saved in the new URL parameter
fontSize=
.
- [Viewer UI] Vivliostyle Viewer start page with document URL input and usage description
- vivliostyle/vivliostyle-ui#65
- When document URL parameter (
#b=
or#x=
) is not specified, the start page is now displayed. - Document URL entered by user is reflected in the URL parameter
#b=
, and when the Enter key is pressed, the document is loaded.
Changed
- Render All Pages (On/Off) setting
- #497
- On: for Print (all pages printable, page count works as expected)
- Off: for Read (quick loading with rough page count) -- This mode is necessary for viewing large publication composed of a lot of HTML documents.
- [Viewer UI] vivliostyle/vivliostyle-ui#60, vivliostyle/vivliostyle-ui#61
- This setting can be specified in setting panel and URL parameter
renderAllPages=[true|false]
. - The default setting is
renderAllPages=false
for#b=
(Book view) andrenderAllPages=true
for#x=
(individual (X)HTML document).
- This setting can be specified in setting panel and URL parameter
- Enabled 'vivliostyle' media type by default
- #500
- This can be used like 'print' media type, and useful for distinguish Vivliostyle specific style sheets from general print style sheets.
- Added style rule
h1,h2,h3,h4,h5,h6 { break-after: avoid; }
to the default style sheet to avoid page/column breaks after headings by default. - Removed the workaround for Microsoft Edge's
text-justify: inter-ideograph
problem - Improved error messages when document loading failed.
- Renamed the function corresponding the
#b=
Viewer parameter,loadEPUB()
toloadPublication()
, that is now not only for EPUB.
Fixed
- Fix bug that media attribute is not honored on
<style>
element.
Acknowledgements
- Development of this version is supported by Japan Business Press Co., Ltd.
2018.12.103
See https://vivliostyle.org/docs/ for documentation.
Vivliostyle Viewer UI: vivliostyle-ui 2018.12.103
Fixed
- Fix bug that ruby causes incorrect pagination
- Fix bug on epubcfi failing to navigate to beginning of a spine item
- Fix error occurring when inline-table is nested in another table
Changed
- [Viewer UI] UI adjustment
- Setting panel "Apply" button now closes the panel
- Enable "Previous Page", "Next Page", and "Text: Default Size" buttons when window is wide enough
2018.10.100
See https://vivliostyle.org/docs/ for documentation.
Vivliostyle Viewer UI: vivliostyle-ui 2018.10.100
Added
- [Viewer UI] Add "Go to Page" (Page number / Total pages) menu item
- Add navigateToNthPage function
Changed
- [Viewer UI] Navigation UI adjustment
- Removed "Move: Previous/Next" navigation buttons
- Hide "Zoom: Actual Size/Fit to screen" buttons when screen is narrow
- Page left/right navigation UI color
- [Viewer UI] Disable page swipe when pinch-zoomed or horizontal scrollable
- Prevent unexpected page resizing (viewport-height change due to soft keyboard etc.) on Android/iOS
Fixed
- Fix bug that EPUB internal link does not work
Acknowledgements
- Development of this version is supported by Japan Business Press Co., Ltd.
2018.8.100
See https://vivliostyle.org/docs/ for documentation.
Vivliostyle Viewer UI: vivliostyle-ui 2018.8.100
Added
- Support CSS Logical properties
- #443
- Spec: CSS Logical Properties and Values Level 1
- Flow-Relative Box Model Properties are supported except the
inset
shorthand property
Changed
- The author is changed from Vivliostyle Inc. (http://vivliostyle.com) to Vivliostyle Foundation (https://vivliostyle.org)
- #410, a3d866d8, bc48f59c
- Note: The former company name Vivliostyle Inc. was changed to Trim-marks Inc. and that company holds copyright of the source code developed under the name of Vivliostyle Inc. (~2018.2). This open source Vivliostyle was a subset of the company's proprietary commercial products, which are now named “VersaType”.
- [Viewer UI] Page navigation UI improvement
- vivliostyle/vivliostyle-ui#55, vivliostyle/vivliostyle-ui#56
- Swipe support on touch devices
- Cmd+Up and Cmd+Down keys for First page and Last page, for Mac, same as Home/End keys on PC
- Add buttons for move to first/last page
- Hide the previous/next page arrow when there's no previous/next page.
- [Viewer UI] Omit
&f=epubcfi(/2!)
in URL at first page - Set the viewer print margin default to 0
- Test platform change: IE11 to Microsoft Edge
- 5c71209a
- IE11 is no longer supported
- Update MathJax to 2.7.5
Fixed
- Fix a bug that page spread view becomes incorrect when content doc's writing mode does not match the page-progression-direction in OPF
- Fix a bug that stylesheet link element is ignored when class attribute exists
- Fix a bug that writing mode specified on body didn't determine the root writing mode
- Fix a bug that page spread view is weird when viewport width/height is specified
- Fix a bug that
clear: both
on page floats causes "Error: Unexpected side: both". - Workaround for Microsoft Edge's
text-justify: inter-ideograph
problem - [Viewer UI] Fix sticky hover effect on touch devices
2018.2 (Unreleased)
Added
- Implement
pages
counter - Support
clear: left/right/top/bottom/same/all
on page floats- #378
- When a
clear
value is specified on a page float, it is placed so that it comes after any of preceding page floats. same
value means the same direction as one which the page float is floated to.- If a page float with
float: snap-block
would be placed at the block-start end but aclear
value on it forbidden such placement, the float is instead placed at the block-end side (unless theclear
value also forbidden such placement).
- Support
column-fill
property - Add support for
break-word
value ofword-break
property - Add (non-standard)
float-min-wrap-block
property to control text wrapping around page floats
Changed
- Avoid text wrapping around fragmented page floats
Fixed
- Fix a bug that a bottom margin on a page float is not taken into account when the float has a bottom padding or border
- Fix a bug that
box-decoration-break: clone
makes a block incorrectly overflow - Avoid invalid fragmentation occurring between an edge of a block container and its child
- Fix a bug that a table is not fragmented correctly
- Fix a bug that a float inside an element with position:relative is positioned incorrectly
- Fix a bug that a table is occasionally fragmented immediately before the end of it
- Avoid printing bug on Gecko
- Avoid printing bug on Blink
- Fix incorrect justification when a positive
text-indent
is specified - Fix display of
mglyph
element of MathML - Fix a bug that order of page floats is sometimes incorrect
2017.6
See http://vivliostyle.com/en/documentation/supported-features/ for supported features.
Added
- Implement
repeat-on-break
property #323- Spec proposal: CSS Repeated Headers and Footers
- Support
float: snap-block
#344- Spec: CSS Page Floats - The float property
- Note that the function value
snap-block()
is not supported yet. - Also note that behavior of this value is different from that defined in the above spec: The element always turns into a page float regardless of its distance from edges of its float reference. It is snapped to the nearer edge of the float reference.
- Support
clear: all
for block-level boxes #345- Note that
all
is only effective on block-level boxes (i.e. not page floats). - When
all
is specified, the block-start edge of the box gets pushed down so that the edge comes after any block-start/block-end page float of which anchors are before the box in the document order.
- Note that
- Add support for
::nth-fragment()
pseudo-element selector #342 - Add support for
::after-if-continues
pseudo-element #348 - Support
footnote-policy: line
#353
Changed
- Place footnotes at the bottom of pages (or regions) rather than columns #343
- Disable hyphenation by default #363
Fixed
2017.2
See http://vivliostyle.com/en/documentation/supported-features/ for supported features.
Added
- Add support for Compositing and Blending Level 1 #148
- pseudo element or page margin box with
content:url()
behave as a replaced element - Experimental support of CSS Page Floats and
column-span
#324
Changed
- Change license to AGPL 3.0 #329
Fixed
- Fix incorrect page breaking at boundaries of inline-block boxes #309
- Improve page/column breaking inside tables #311
- Fix incorrect treatment of percentage value for line-height property #312
- Support repeating table header/footer across pages #319
- Fix incorrect widows behavior with footnote call close to the end of the page #328