6e8819f29b
Support XSL attribute "column" and CSS 4 attribute "spread", stored in loext:hyphenation-keep-type, to give better control over hyphenation-keep. E.g. spread: both parts of a hyphenated word shall lie within a single spread, i.e. when the next page is not visible at the same time (e.g. the next page is not a right page of a book). – css::style::ParaHyphenationKeep is a boolean property now, importing hyphenation-keep = "page" as true. – type of ParaHyphenationKeep, including the new non-ODF types is stored in the new ParagraphProperties::ParaHyphenationKeepType. – default value of ParaHyphenationKeepType is COLUMN for interoperability. – Add checkboxes to Text Flow -> Hyphenation Across in paragraph dialog: * Column (previously: Hyphenate across column and page) * Page * Spread – enabling/disabling them follows XSL/CSS 4/loext, i.e. possible combinations: * No Hyphenation across (hyphenation-keep = "page" and loext:hyphenation-keep-type = "column") * Hyphenation across [x] Column (hyphenation-keep = "page" and loext:hyphenation-keep-type = "page") * Hyphenation across [x] Column [x] Page (hyphenation-keep = "page" and loext:hyphenation-keep-type = "spread") * Hyphenation across [x] Column [x] Page [x] Spread (hyphenation-keep = "auto") – Add ODF import/export – Update DOCX import – Add ODF unit tests Note: recent implementation depends on widow settings: disabling widow handling allows hyphenation across columns and pages not only in table cells. Note: RTF import-only, but not used bPageEnd has been renamed to bKeep. Depending on the RTF test results, likely it will need to disable the layout change, e.g. GetKeepType()=ParagraphHyphenationKeepType::AUTO, if PageEnd uses obsolete hyphenation rule, i.e. shifting only the hyphenated word to the next page, not the full line. More information: – COLUMN (standard XSL value, defined in https://www.w3.org/TR/2001/REC-xsl-20011015/slice7.html#hyphenation-keep) – SPREAD and ALWAYS (CSS 4 values of hyphenate-limit-last, equivalent of hyphenation-keep, defined in https://www.w3.org/TR/css-text-4/#hyphenate-line-limits). Follow-up to commit |
||
---|---|---|
.. | ||
documentation | ||
inc | ||
qa | ||
source | ||
util | ||
CppunitTest_writerfilter_dmapper.mk | ||
CppunitTest_writerfilter_filters_test.mk | ||
CppunitTest_writerfilter_misc.mk | ||
CppunitTest_writerfilter_ooxml.mk | ||
CppunitTest_writerfilter_rtftok.mk | ||
CustomTarget_source.mk | ||
IwyuFilter_writerfilter.yaml | ||
Library_writerfilter.mk | ||
Makefile | ||
Module_writerfilter.mk | ||
README.md |
Import Filters for LibreOffice Writer
The writerfilter module contains import filters for Writer, using its UNO API.
Import filter for DOCX and RTF.
-
Module contents
documentation
: RNG schema for the OOXML tokenizer, etc.inc
: module-global headers (can be included by any files under source)qa
:cppunit
testssource
: the filters themselvesutil
: UNO passive registration config
-
Source contents
dmapper
: the domain mapper, hiding UNO from the tokenizers, used by DOCX and RTF import- The incoming traffic of
dmapper
can be dumped into an XML file in/tmp
indbgutil
builds, start soffice with theSW_DEBUG_WRITERFILTER=1
environment variable if you want that.
- The incoming traffic of
filter
: the UNO filter service implementations, invoked by UNO and calling the dmapper + one of the tokenizersooxml
: the docx tokenizerrtftok
: the rtf tokenizer