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)

Reply via email to