office-gobmx/sax
Jonathan Clark 6f16beca51 tdf#36709 Refactor Converter to separate parsing from unit conversion
Previously, Converter::convertMeasure parsed measure strings and
performed unit conversion in a single call. This was appropriate, as all
such measure strings could be converted to a common unit ahead of time.

tdf#36709, however, will introduce measures that are relative to the
current font and font size. In order to perform layout, the original
measure unit must be preserved and passed along with the original value.

This change introduces Converter::convertMeasureUnit, which parses a
measure string and returns both the value and the unit. Existing unit
conversion code has been refactored to facilitate this change.

Change-Id: Ic8dfda432e1ca117ad80c05c1939ebaf43e79a9f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175937
Tested-by: Jenkins
Reviewed-by: Jonathan Clark <jonathan@libreoffice.org>
2024-11-01 22:41:03 +01:00
..
inc
qa tdf#36709 Refactor Converter to separate parsing from unit conversion 2024-11-01 22:41:03 +01:00
source tdf#36709 Refactor Converter to separate parsing from unit conversion 2024-11-01 22:41:03 +01:00
test
CppunitTest_sax.mk
CppunitTest_sax_attributes.mk
CppunitTest_sax_parser.mk
CppunitTest_sax_xmlimport.mk
IwyuFilter_sax.yaml
Library_sax.mk
Makefile
Module_sax.mk
README.md
README.vars

UNO Services for SAX

UNO services for SAX parsing and C++ functions for XMLSchema-2 data types.

  • source/expwrap: string-based SAX parser UNO service wrapping expat
  • source/fastparser: multi-threaded token-based SAX parser UNO service wrapping libxml2
  • source/tools:
    • C++ wrapper for fast SAX parser
    • C++ XMLSchema-2 data type conversion helpers

Multi-threading in FastParser can be disabled for debugging purposes with:

SAX_DISABLE_THREADS=1 SAL_LOG="+INFO.sax.fastparser+WARN"