Repository navigation
v14.1.0
Minor release. Full details in CHANGELOG.md.
Added
DocxEditortakes ashowRevisionsoption, withshowRevisions(bool)andrevisionsVisible, that
decides whether the revisions already in a document render, separately from howtrackedChanges
records new edits (#1279). Left unset it follows the recording mode, as before.
Fixed
-
Read every keyword of an HTML
text-decorationvalue when converting HTML to DOCX (#1273). The
converter compared the whole value withunderlineandline-through, so a value with more than
one keyword produced no line at all, and a DOCX → HTML → DOCX round trip dropped double underlines
and double strikethroughs.underline doublenow gives<w:u w:val="double"/>,
line-through doublegives<w:dstrike/>,underline line-throughgives both lines, and the
dotted,dashedandwavystyles map to Word'sdotted,dashandwaveunderlines.
Single-keyword values and<u>/<s>elements convert as before. -
Prevent a synthetic nonbreaking-space run in the required blank paragraph after a nested table. The paragraph retains a one-twip layout box for source geometry, so fitting nested footnote tables no longer fail PDF clipping verification (#1217).
-
Leader-and-page-number lines in HTML output stay on one line and end their page number on the right
tab stop (#1275). A right stop past the paragraph's right indent, or past the column edge, no longer
pushes every entry onto a second line: the right-aligned segment extends past the line end to the stop,
as LibreOffice lays it out. A bookmark,
a non-breaking hyphen, or underline or strike on the tab run no longer switches the right
tab to a fixed width measured on the server, which left the page number short of the stop. -
Consolidation reports competing additions of a bookmark name instead of silently dropping a range
or keeping duplicate names (#1212). BaseWins retains the base's absent name; FirstReviewerWins and
StackAll retain the first range and report every competitor. Equal ranges share one attributed copy.
Independent text edits still compose, and rejecting the selected addition removes its bookmark. -
A paragraph's own
w:framePrnow overrides its paragraph style's frame properties attribute by
attribute instead of replacing them whole (#1276). A footer paragraph whose style defines a
page-anchored frame and whose ownw:framePrsets onlyw:wrapkeeps the style's width, anchors
and offsets in the converted HTML, as LibreOffice renders it. Each axis's offset and alignment
(w:x/w:xAlign,w:y/w:yAlign) count as one setting, so a paragraph's ownw:xis not
realigned by its style'sw:xAlign. A style'sw:dropCapandw:linesdo not carry over to a
paragraph with its ownw:framePr, so they cannot hide a frame the paragraph positions itself. -
Margin comment replies no longer repeat the full note box at every nesting level (#1277). A reply
now sits inside its parent's note behind a thin separator, without its own fill, border, shadow or
side padding, and the replies container no longer indents, so reply text keeps the root note's width
instead of losing about 22px per level. -
Consolidation preserves one reviewer's added bookmarks when other reviewers edit the same paragraph,
including paragraphs in content controls, hyperlinks and table cells (#1212). Same-shell block wrappers
compose their child edits with per-reviewer authorship; overlapping edits still use the selected conflict
policy. Each reviewer's removal of a shared bookmark remains independently selectable. -
The editor no longer counts a rendered tracked deletion, or the pilcrow shown for a deleted paragraph
mark, as paragraph text when tracked changes are shown inline (#1278). Typing to the right of either
was refused withoffset_out_of_rangeand the keystrokes lost, or landed at the wrong place in the
paragraph. The deleted text stays visible but cannot be edited. As in Word, a single Backspace or
Delete next to it steps over it and removes the live character beyond it. It removes nothing when
that paragraph has no live character beyond the deletion, when a line break, tab, image or field
also lies between the caret and that character, or for a word or line deletion. Typing into a
paragraph whose only text is deleted is recorded even when the paragraph holds a bookmark; there it
goes in as plain text at the start of the paragraph, without line breaks or formatting. In this
mode the editor'sfind()andwordCount()no longer match or count deleted text, which agrees
with the session's own text and itsGrep. -
The ribbon's Markup dropdown changes only how revisions are shown (#1279). "No markup" used to turn
tracked changes off and clear the Track Changes checkbox, so edits made afterwards were no longer
recorded as revisions. With the two settings apart, typing into a paragraph whose only text is
deleted keeps that deletion when revisions are shown and edits are not recorded (rewriting the
paragraph had discarded it), and is recorded when edits are recorded with the markup hidden, even
in a paragraph that holds a bookmark; so is typing into an empty paragraph that holds a bookmark
while edits are recorded, which was refused. There the typed text goes in as plain text at the
start of the paragraph, without line breaks or formatting.