configure.ac | 8 ++++---- external/harfbuzz/ExternalProject_harfbuzz.mk | 2 +- vcl/inc/fontsubset.hxx | 3 +++ vcl/source/fontsubset/sft.cxx | 6 ------ vcl/source/pdf/pdfwriter_impl.cxx | 5 ----- 5 files changed, 8 insertions(+), 16 deletions(-)
New commits: commit c6e7aac0229c3717aa62bcf569bfdf3f6bcca785 Author: Khaled Hosny <[email protected]> AuthorDate: Mon Feb 16 20:48:10 2026 +0200 Commit: Khaled Hosny <[email protected]> CommitDate: Fri Feb 20 22:28:35 2026 +0100 Move XUnits() to a common header I’m going to need it in yet another place. Change-Id: I50ce0af197f4eb06a4a1a7ab20bb667eddef8234 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/199571 Tested-by: Jenkins Reviewed-by: Khaled Hosny <[email protected]> diff --git a/vcl/inc/fontsubset.hxx b/vcl/inc/fontsubset.hxx index 6481e84ed9bd..efa3f3a452ec 100644 --- a/vcl/inc/fontsubset.hxx +++ b/vcl/inc/fontsubset.hxx @@ -29,6 +29,9 @@ class SvStream; +// Translate units from TT to PS (standard 1/1000) +inline int XUnits(int nUPEM, int n) { return (n * 1000) / nUPEM; } + enum class FontType { NO_FONT = 0, SFNT_TTF = 1<<1, ///< SFNT container with TrueType glyphs diff --git a/vcl/source/fontsubset/sft.cxx b/vcl/source/fontsubset/sft.cxx index b79b13a5d94d..5e7da45adb64 100644 --- a/vcl/source/fontsubset/sft.cxx +++ b/vcl/source/fontsubset/sft.cxx @@ -122,12 +122,6 @@ static F16Dot16 fixedMulDiv(F16Dot16 a, F16Dot16 b, F16Dot16 c) return fixedDiv(res, c); } -/*- Translate units from TT to PS (standard 1/1000) -*/ -static int XUnits(int unitsPerEm, int n) -{ - return (n * 1000) / unitsPerEm; -} - /* Outline Extraction functions */ /* fills the aw and lsb entries of the TTGlyphMetrics structure from hmtx table -*/ diff --git a/vcl/source/pdf/pdfwriter_impl.cxx b/vcl/source/pdf/pdfwriter_impl.cxx index 65f4ffc42aef..ec91e73bc07f 100644 --- a/vcl/source/pdf/pdfwriter_impl.cxx +++ b/vcl/source/pdf/pdfwriter_impl.cxx @@ -1391,11 +1391,6 @@ sal_Int32 PDFWriterImpl::emitBuildinFont(const pdf::BuildinFontFace* pFD, sal_In return nFontObject; } -namespace -{ -// Translate units from TT to PS (standard 1/1000) -int XUnits(int nUPEM, int n) { return (n * 1000) / nUPEM; } -} std::map< sal_Int32, sal_Int32 > PDFWriterImpl::emitSystemFont( const vcl::font::PhysicalFontFace* pFace, EmbedFont const & rEmbed ) { commit 7f1335390e1a4f59f3592ac003ca9d1e4933e62f Author: Khaled Hosny <[email protected]> AuthorDate: Mon Feb 16 13:08:01 2026 +0200 Commit: Khaled Hosny <[email protected]> CommitDate: Fri Feb 20 22:28:24 2026 +0100 Build harfbuzz-subset We will use it to subset fonts for embedding in PDF. Change-Id: Ib35ee233c551da80831da09bbf1ad9a79eeeb04e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/199570 Tested-by: Jenkins Reviewed-by: Khaled Hosny <[email protected]> diff --git a/configure.ac b/configure.ac index 2693dfde888b..d18caa997ba8 100644 --- a/configure.ac +++ b/configure.ac @@ -11686,19 +11686,19 @@ HARFBUZZ_CFLAGS_internal="-I${WORKDIR}/UnpackedTarball/harfbuzz/src" case "$_os" in Linux) GRAPHITE_LIBS_internal='$(gb_StaticLibrary_WORKDIR)/libgraphite.a' - HARFBUZZ_LIBS_internal='$(gb_UnpackedTarball_workdir)/harfbuzz/builddir/src/libharfbuzz.a $(GRAPHITE_LIBS)' + HARFBUZZ_LIBS_internal='$(gb_UnpackedTarball_workdir)/harfbuzz/builddir/src/libharfbuzz.a $(gb_UnpackedTarball_workdir)/harfbuzz/builddir/src/libharfbuzz-subset.a $(GRAPHITE_LIBS)' ;; WINNT) GRAPHITE_LIBS_internal='$(gb_StaticLibrary_WORKDIR)/graphite.lib' - HARFBUZZ_LIBS_internal='$(gb_UnpackedTarball_workdir)/harfbuzz/builddir/src/libharfbuzz.a $(GRAPHITE_LIBS)' + HARFBUZZ_LIBS_internal='$(gb_UnpackedTarball_workdir)/harfbuzz/builddir/src/libharfbuzz.a $(gb_UnpackedTarball_workdir)/harfbuzz/builddir/src/libharfbuzz-subset.a $(GRAPHITE_LIBS)' ;; *) GRAPHITE_LIBS_internal='-L$(gb_StaticLibrary_WORKDIR) -lgraphite' - HARFBUZZ_LIBS_internal='-L$(gb_UnpackedTarball_workdir)/harfbuzz/builddir/src/ -lharfbuzz $(GRAPHITE_LIBS)' + HARFBUZZ_LIBS_internal='-L$(gb_UnpackedTarball_workdir)/harfbuzz/builddir/src/ -lharfbuzz -lharfbuzz-subset $(GRAPHITE_LIBS)' ;; esac libo_CHECK_SYSTEM_MODULE([graphite],[GRAPHITE],[graphite2 >= 0.9.3]) -libo_CHECK_SYSTEM_MODULE([harfbuzz],[HARFBUZZ],[harfbuzz-icu >= $harfbuzz_required_version]) +libo_CHECK_SYSTEM_MODULE([harfbuzz],[HARFBUZZ],[harfbuzz-icu >= $harfbuzz_required_version harfbuzz-subset >= $harfbuzz_required_version]) if test "$with_system_harfbuzz" = "yes"; then if test "$with_system_graphite" = "no"; then diff --git a/external/harfbuzz/ExternalProject_harfbuzz.mk b/external/harfbuzz/ExternalProject_harfbuzz.mk index 494369606591..e1ae4777cff5 100644 --- a/external/harfbuzz/ExternalProject_harfbuzz.mk +++ b/external/harfbuzz/ExternalProject_harfbuzz.mk @@ -63,7 +63,7 @@ $(call gb_ExternalProject_get_state_target,harfbuzz,build) : | $(call gb_Externa -Dgraphite2=enabled \ $(if $(filter MSC_TRUE,$(COM)_$(MSVC_USE_DEBUG_RUNTIME)),-Db_vscrt=mdd) \ $(if $(filter-out $(BUILD_PLATFORM),$(HOST_PLATFORM))$(WSL),--cross-file cross-file.txt) && \ - $(MESON) compile -C builddir lib \ + $(MESON) compile -C builddir libs \ $(if $(verbose),--verbose) \ ) $(call gb_Trace_EndRange,harfbuzz,EXTERNAL)
