Files
odfstudio/filter
Michael Stahl ab1697cb4c tdf#160402 filter,writerfilter: import locale-dependent STYLEREF names
* Handle STYLEREF style the same way as TOC style on import.

* Word 2013 does not uppercase the first letter
  ("Überschrift 1" -> "berschrift1") and there doesn't
  appear to be any justification why the code does that.

* The style that's applied is actually the display style name
  so convert from source's m_sConvertedStyleName.

* Change the logic in DomainMapper_Impl::ConvertTOCStyleName() to
  explicitly check and clone only known built-in Word styles, which are
  the ones that are translated.

* This requires some refactoring, and to add the built-in styles in the
  bugdoc to the "StyleNameMap", which is probably still incomplete...

* Exporting to DOCX appears to work without changes.

* Somehow this causes the testFDO77715 to have an outlinelevel of 1 on
  the TOC paragraphs now, but that turns out to be a bugfix.

Change-Id: I73bc1d1819e5cecbba2fef9cd6d290682a02a638
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167097
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
Tested-by: Jenkins
2024-05-06 17:52:47 +02:00
..
…
…

LibreOffice Filters

Filter registration and some simple filters (also descriptions).

Desperate splitting of code into small shared libraries for historical reasons presumably (OS/2 and Windows 3.x). The libraries produced from the code in each subdirectory of filter/source/graphicfilter are graphic format import or export filters. But they don't have uniform API. Some have either a GraphicImport or GraphicExport entry point, and are loaded and used in a uniform fashion from code in svtools/source/filter/filter.cxx. Others have different API and are loaded from other places. For instance icgm has ImportCGM, and is loaded and used by sd/source/filter/cgm/sdcgmfilter.cxx (!). Svgreader is used for "File -> Open" and then to choose the svg file. For "Insert -> Picture -> From File", see svgio/source/svgreader directory.

Filter Configuration

The filter configuration consists of two parts, the type definition in filter/source/config/fragments/types/ and the actual filter definition in filter/source/config/fragments/filters/.

Each file type e.g. text file should be represented by exactly one type definition. This type can then be referenced by several different filters, e.g. calc text, writer text.