office-gobmx/filter
Christian Lohmaier 0c4c84a14b makefile simplification: replace $(call gb_CustomTarget_get_workdir,foo)
…by a simple/static $(gb_CustomTarget_workdir)/foo

The build system has a lot of overly complicated leftovers from when it
was introduced and had not only deal with split repositories but also
had to coexist with another buildsystem. Along with lots of copy'n'paste
along the years the makefiles became hard to grasp for newcomers with
all our calls and evals.
As a first step to streamline that, the macros from TargetLocations that
simply prefix a static path to the argument (and similar of the same
kind) are a natural pick before simplifying the rules themselves/getting
rid of a bunch of eval statements.

Change-Id: Ia06dbbcd5d1994755a2ff05b84f72ccbc4e3cab5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167005
Tested-by: Jenkins
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2024-05-03 16:06:14 +02:00
..
inc Extended loplugin:ostr: Rewrite some O[U]StringLiteral -> O[U]String 2023-10-23 11:04:42 +02:00
qa tdf#147021 Replace SAL_N_ELEMENTS with std::size 2024-04-02 10:38:58 +02:00
source replace createFromAscii with OUString literals in filter 2024-05-03 08:00:26 +02:00
uiconfig/ui Add export sheet range option to calc 2023-12-21 10:49:16 +01:00
AllLangMoTarget_flt.mk
Configuration_filter.mk Configuration_filter.mk: create RESPONSEFILEs using gb_var2file 2024-04-26 15:02:37 +02:00
CppunitTest_filter_dialogs_test.mk
CppunitTest_filter_msfilter.mk
CppunitTest_filter_pdf.mk Related: tdf#54053 PDF export: add UNO API to customize the watermark rotation 2022-11-24 16:30:31 +01:00
CppunitTest_filter_priority.mk
CppunitTest_filter_svg.mk CppunitTest_filter_svg: inherit from UnoApiTest 2022-10-24 20:11:35 +02:00
CppunitTest_filter_textfilterdetect.mk tdf#158442: fix opening hybrid PDFs on Windows 2023-12-01 16:13:38 +01:00
CppunitTest_filter_xslt.mk
CustomTarget_svg.mk makefile simplification: replace $(call gb_CustomTarget_get_workdir,foo) 2024-05-03 16:06:14 +02:00
IwyuFilter_filter.yaml Remove some unused includes 2022-11-24 08:09:53 +01:00
JunitTest_filter_complex.mk
Library_filterconfig.mk tdf#96401: allow to detect a broken ZIP package 2023-11-26 21:04:30 +01:00
Library_graphicfilter.mk
Library_icg.mk icg is no longer dlopen-ed from sd 2024-02-20 09:49:18 +01:00
Library_msfilter.mk oox, writerfilter, xmloff: use frozen data structures for static data 2023-06-17 12:31:24 +02:00
Library_odfflatxml.mk Revert "Convert XFastParser into a normal C++ interface" 2023-06-01 15:07:18 +02:00
Library_pdffilter.mk
Library_storagefd.mk
Library_svgfilter.mk
Library_t602filter.mk Merge SvXMLAttributeList to comphelper::AttributeList 2023-01-15 12:32:29 +00:00
Library_textfd.mk
Library_xmlfa.mk Revert "Convert XFastParser into a normal C++ interface" 2023-06-01 15:07:18 +02:00
Library_xmlfd.mk
Library_xsltdlg.mk
Library_xsltfilter.mk
Makefile
Module_filter.mk
Package_docbook.mk
Package_xhtml.mk
Package_xslt.mk
README.md
UIConfig_filter.mk

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.