12 Commits
Author SHA1 Message Date
Stephan Bergmann d862077a2e external/afdko: Fix some errors
...hitting at least with recent Clang 23 trunk and --with-latest-c++,

> engine/workdir/UnpackedTarball/afdko/c/shared/absfont/absfont_dump.cpp:555:19: error: invalid comparison of floating-point type 'float' with enumeration type '(unnamed enum at
engine/workdir/UnpackedTarball/afdko/c/shared/include/absfont.h:541:1)'
>   555 |         if (width == ABF_EDGE_HINT_LO) {
>       |             ~~~~~ ^  ~~~~~~~~~~~~~~~~

etc. and

> .../include/c++/17.0.0/bits/unique_ptr.h:90:16: error: invalid application of 'sizeof' to an incomplete type 'VarModel'
>    90 |         static_assert(sizeof(_Tp)>0,
>       |                       ^~~~~~~~~~~
> [...]
> engine/workdir/UnpackedTarball/afdko/c/shared/include/varsupport.h:466:5: note: in defaulted default constructor for 'std::vector<std::unique_ptr<VarModel>>' first required here
>   466 |     itemVariationStore() {}
>       |     ^
> engine/workdir/UnpackedTarball/afdko/c/shared/include/varsupport.h:424:7: note: forward declaration of 'VarModel'
>   424 | class VarModel;

presumably new with 6c40019917bd6e88f6b54d0a2d53d64729c64166 "afdko:
upgrade to 5.0.1"

Signed-off-by: Stephan Bergmann <stephan.bergmann@collabora.com>
Change-Id: I7f7de8233fcd9a2447d0080af3ff14b0bdf69a10
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/4879
Reviewed-by: Michael Stahl <michael.stahl@collabora.com>
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
(cherry picked from commit 7bc7ade726e4d50c1589247123e8104783a5e604)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207287
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2026-06-26 11:17:07 +02:00
Stephan Bergmann a3a4e2b88b external/afdko: Fix references to temporaries
> engine/workdir/UnpackedTarball/afdko/c/addfeatures/hotconv/FeatCtx.cpp: In member function ‘const GPat::ClassRec& FeatCtx::lookupGlyphClass(const std::string&)’:
> engine/workdir/UnpackedTarball/afdko/c/addfeatures/hotconv/FeatCtx.cpp:494:22: error: returning reference to temporary [-Wreturn-local-addr]
>   494 |         return GPat::ClassRec {};
>       |                      ^~~~~~~~~~~

and

> engine/workdir/UnpackedTarball/afdko/c/addfeatures/hotconv/GPOS.cpp: In member function ‘GPat::ClassRec& GPOS::getCR(uint32_t, int)’:
> engine/workdir/UnpackedTarball/afdko/c/addfeatures/hotconv/GPOS.cpp:1002:12: error: cannot bind non-const lvalue reference of type ‘GPat::ClassRec&’ to an rvalue of type ‘GPat::ClassRec’
>  1002 |     return cr;
>       |            ^~

presumably new with 6c40019917bd6e88f6b54d0a2d53d64729c64166 "afdko:
upgrade to
5.0.1"

Signed-off-by: Stephan Bergmann <stephan.bergmann@collabora.com>
Change-Id: Id8d7f8c924fd270631b6d9a0c97f39a4f8826c74
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/4837
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
(cherry picked from commit 95050b2a21d0625d97024cc041bd3dd9837ca190)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207286
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-06-26 11:16:57 +02:00
Xisco Fauli e7c0aca49e afdko: fix android build
Otherwise it fails with
/home/tdf/lode/jenkins/workspace/android_arm/workdir/UnpackedTarball/afdko/c/shared/sha1.c:10:27: error: typedef redefinition with different types ('unsigned long' vs '__uint32_t' (aka 'unsigned int'))
   10 | typedef unsigned long int uint32_t;
      |                           ^
/home/tdf/Android/Sdk/ndk/27.2.12479018/toolchains/llvm/prebuilt/linux-x86_64/bin/../sysroot/usr/include/stdint.h:65:23: note: previous definition is here
   65 | typedef __uint32_t    uint32_t;
      |                       ^
1 error generated.

Change-Id: I0fa7ebbce3dc0f443f6a576e9e2d11d80e375336
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207325
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-06-26 09:18:21 +02:00
Caolán McNamara dce3608001 afdko: upgrade to 5.0.1
txNew, txFree and doSingleFileSet are public now, so the extern_tx
patches go away.

The mergeFonts crash fix is merged upstream.

The noverbose patch is replaced by a SAL logger installed through
slogger::getLogger.

A new fatal-callback patch lets fatal errors raise exceptions, which
appSpecificFree used to do.

afdko 5.0 replaces makeotfexe with addfeatures, drops the typecomp
Type 1 to CFF converter, and rewrites most of c/shared in C++.

hotconv now only reads CFF, so makeotf() first converts its Type 1 input
to bare CFF with tx, the same step the upstream makeotf driver script
performs.

Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: I1e5b6ac8413eb66d81034f4f1d0b7f2e46e12233
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/4251
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
(cherry picked from commit 6c40019917bd6e88f6b54d0a2d53d64729c64166)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207285
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-06-26 09:17:58 +02:00
Xisco Fauli 3c1e411b3b afdko: drop unnecessary change in patch
it's surrounded by a if 0

Change-Id: I0e7ee0c7d4f7a92ab08deb2bef20dfb04d11e1fb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/203134
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-04-01 22:16:31 +02:00
Caolán McNamara a987919cae handle errors from makeotf
Change-Id: I97b702f32ca125fd2eb5c652b079ed94e521d47a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193112
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2025-10-28 20:32:33 +01:00
Caolán McNamara 433ec9a295 suppress verbose output
Change-Id: I56141b7ed0ca9b1885ad7bc39a40d7bb0a730d7c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/192859
Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193088
Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2025-10-28 14:00:19 +01:00
Caolán McNamara b5043bddb8 fix afdko oss-fuzz link
Change-Id: I57efec0bdff09e52d18d2dc2bd420a68041c5289
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/192935
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2025-10-24 12:34:34 +02:00
Stephan Bergmann fc7232b50d external/afdko: Address lots of UBSan findings
...in CppunitTest_sd_pdf_import_test and CppunitTest_sd_export_tests,

> workdir/UnpackedTarball/afdko/c/shared/source/t1write/t1write.c:379:21: runtime error: signed integer overflow: 47774 * 52845 cannot be represented in type 'int'
>  #0 in saveCstr at workdir/UnpackedTarball/afdko/c/shared/source/t1write/t1write.c:379:21
>  #1 in saveSubr at workdir/UnpackedTarball/afdko/c/shared/source/t1write/t1write.c:572:9
>  #2 in saveStdSubr at workdir/UnpackedTarball/afdko/c/shared/source/t1write/t1write.c:587:11
>  #3 in saveStdSubrs at workdir/UnpackedTarball/afdko/c/shared/source/t1write/t1write.c:611:5
>  #4 in t1wBegFont at workdir/UnpackedTarball/afdko/c/shared/source/t1write/t1write.c:2103:5
>  #5 in t1_BegFont at workdir/UnpackedTarball/afdko/c/shared/source/tx_shared/tx_shared.c:2230:13
>  #6 in ttrReadFont at workdir/UnpackedTarball/afdko/c/shared/source/tx_shared/tx_shared.c:4956:5
>  #7 in convertTx(txCtx_*) at vcl/source/gdi/embeddedfontsafdko.cxx:55:17
>  #8 in EmbeddedFontsManager::tx_t1(rtl::OUString const&, rtl::OUString const&) at vcl/source/gdi/embeddedfontsafdko.cxx:116:19
>  #9 in toPfaCID(SubSetInfo&, rtl::OUString const&, rtl::OUString const&, bool&, std::__debug::map<int, int, std::less<int>, std::allocator<std::pair<int const, int>>>&, rtl::OString&, rtl::OString&, rtl::OString&) at svx/source/svdraw/svdpdf.cxx:1189:14
>  #10 in ImpSdrPdfImport::convertToOTF(long, SubSetInfo&, rtl::OUString const&, rtl::OUString const&, rtl::OUString const&, std::basic_string_view<char16_t, std::char_traits<char16_t>>, std::__debug::vector<unsigned char, std::allocator<unsigned char>> const&) at svx/source/svdraw/svdpdf.cxx:1674:10
>  #11 in ImpSdrPdfImport::CollectFonts() at svx/source/svdraw/svdpdf.cxx:328:27
>  #12 in ImpSdrPdfImport::ImpSdrPdfImport(SdrModel&, o3tl::strong_int<short, SdrLayerIDTag>, tools::Rectangle const&, Graphic const&) at svx/source/svdraw/svdpdf.cxx:122:5
>  #13 in SdrEditView::DoImportMarkedMtf(SvdProgressInfo*) at svx/source/svdraw/svdedtv2.cxx:2168:37
>  #14 in testImportSimpleText::TestBody() at sd/qa/unit/SdrPdfImportTest.cxx:122:32

etc. and

> workdir/UnpackedTarball/afdko/c/makeotf/lib/typecomp/recode.c:1744:17: runtime error: left shift of negative value -51
>  #0 in t1parse at workdir/UnpackedTarball/afdko/c/makeotf/lib/typecomp/recode.c:1744:17
>  #1 in cstrRecode at workdir/UnpackedTarball/afdko/c/makeotf/lib/typecomp/recode.c:3279:11
>  #2 in recodeAddChar at workdir/UnpackedTarball/afdko/c/makeotf/lib/typecomp/recode.c:3383:5
>  #3 in csAddChar at workdir/UnpackedTarball/afdko/c/makeotf/lib/typecomp/cs.c:152:5
>  #4 in cidAddChars at workdir/UnpackedTarball/afdko/c/makeotf/lib/typecomp/parse.c:3001:13
>  #5 in parseFont at workdir/UnpackedTarball/afdko/c/makeotf/lib/typecomp/parse.c:1507:9
>  #6 in tcAddFont at workdir/UnpackedTarball/afdko/c/makeotf/lib/typecomp/tc.c:1006:5
>  #7 in tcCompactFont at workdir/UnpackedTarball/afdko/c/makeotf/lib/typecomp/tc.c:1054:5
>  #8 in hotReadFont at workdir/UnpackedTarball/afdko/c/makeotf/lib/hotconv/hot.c:369:5
>  #9 in psConvFont at workdir/UnpackedTarball/afdko/c/makeotf/source/cb.c:329:16
>  #10 in cbConvert at workdir/UnpackedTarball/afdko/c/makeotf/source/cb.c:1622:20
>  #11 in EmbeddedFontsManager::makeotf(rtl::OUString const&, rtl::OUString const&, rtl::OUString const&, rtl::OUString const&, rtl::OUString const&) at vcl/source/gdi/embeddedfontsafdko.cxx:263:5
>  #12 in ImpSdrPdfImport::convertToOTF(long, SubSetInfo&, rtl::OUString const&, rtl::OUString const&, rtl::OUString const&, std::basic_string_view<char16_t, std::char_traits<char16_t>>, std::__debug::vector<unsigned char, std::allocator<unsigned char>> const&) at svx/source/svdraw/svdpdf.cxx:1721:9
>  #13 in ImpSdrPdfImport::CollectFonts() at svx/source/svdraw/svdpdf.cxx:328:27
>  #14 in ImpSdrPdfImport::ImpSdrPdfImport(SdrModel&, o3tl::strong_int<short, SdrLayerIDTag>, tools::Rectangle const&, Graphic const&) at svx/source/svdraw/svdpdf.cxx:122:5
>  #15 in SdrEditView::DoImportMarkedMtf(SvdProgressInfo*) at svx/source/svdraw/svdedtv2.cxx:2168:37
>  #16 in testImportSimpleText::TestBody() at sd/qa/unit/SdrPdfImportTest.cxx:122:32

etc. and

> workdir/UnpackedTarball/afdko/c/mergefonts/source/mergeFonts.c:300:5: runtime error: call to function cfwMergeFDArray through pointer to incorrect function type 'long (*)(void *, abfTopDict *, int *)'
> workdir/UnpackedTarball/afdko/c/shared/source/cffwrite/cffwrite.c:491: note: cfwMergeFDArray defined here
>  #0 in mergeFDArray at workdir/UnpackedTarball/afdko/c/mergefonts/source/mergeFonts.c:300:5
>  #1 in t1rMergeFont at workdir/UnpackedTarball/afdko/c/mergefonts/source/mergeFonts.c:390:13
>  #2 in mergeFile at workdir/UnpackedTarball/afdko/c/mergefonts/source/mergeFonts.c:1521:17
>  #3 in doMergeFileSet at workdir/UnpackedTarball/afdko/c/mergefonts/source/mergeFonts.c:1726:9
>  #4 in EmbeddedFontsManager::mergefonts(rtl::OUString const&, rtl::OUString const&, std::__debug::vector<std::pair<rtl::OUString, rtl::OUString>, std::allocator<std::pair<rtl::OUString, rtl::OUString>>> const&) at vcl/source/gdi/embeddedfontsafdko.cxx:179:24
>  #5 in toPfaCID(SubSetInfo&, rtl::OUString const&, rtl::OUString const&, bool&, std::__debug::map<int, int, std::less<int>, std::allocator<std::pair<int const, int>>>&, rtl::OString&, rtl::OString&, rtl::OString&) at svx/source/svdraw/svdpdf.cxx:1197:14
>  #6 in ImpSdrPdfImport::convertToOTF(long, SubSetInfo&, rtl::OUString const&, rtl::OUString const&, rtl::OUString const&, std::basic_string_view<char16_t, std::char_traits<char16_t>>, std::__debug::vector<unsigned char, std::allocator<unsigned char>> const&) at svx/source/svdraw/svdpdf.cxx:1674:10
>  #7 in ImpSdrPdfImport::CollectFonts() at svx/source/svdraw/svdpdf.cxx:328:27
>  #8 in ImpSdrPdfImport::ImpSdrPdfImport(SdrModel&, o3tl::strong_int<short, SdrLayerIDTag>, tools::Rectangle const&, Graphic const&) at svx/source/svdraw/svdpdf.cxx:122:5
>  #9 in SdrEditView::DoImportMarkedMtf(SvdProgressInfo*) at svx/source/svdraw/svdedtv2.cxx:2168:37
>  #10 in testImportSimpleText::TestBody() at sd/qa/unit/SdrPdfImportTest.cxx:122:32

and

> workdir/UnpackedTarball/afdko/c/shared/source/dynarr/dynarr.c:111:9: runtime error: call to function initCharset through pointer to incorrect function type 'void (*)(void *, long, void *)'
> workdir/UnpackedTarball/afdko/c/shared/source/cffwrite/cffwrite_charset.c:76: note: initCharset defined here
>  #0 in dnaGrow at workdir/UnpackedTarball/afdko/c/shared/source/dynarr/dynarr.c:111:9
>  #1 in dnaNext at workdir/UnpackedTarball/afdko/c/shared/source/dynarr/dynarr.c:162:13
>  #2 in cfwCharsetNew at workdir/UnpackedTarball/afdko/c/shared/source/cffwrite/cffwrite_charset.c:98:28
>  #3 in cfwNew at workdir/UnpackedTarball/afdko/c/shared/source/cffwrite/cffwrite.c:2236:5
>  #4 in cff_SetMode at workdir/UnpackedTarball/afdko/c/shared/source/tx_shared/tx_shared.c:1129:22
>  #5 in setMode at workdir/UnpackedTarball/afdko/c/shared/source/tx_shared/tx_shared.c:5585:13
>  #6 in EmbeddedFontsManager::mergefonts(rtl::OUString const&, rtl::OUString const&, std::__debug::vector<std::pair<rtl::OUString, rtl::OUString>, std::allocator<std::pair<rtl::OUString, rtl::OUString>>> const&) at vcl/source/gdi/embeddedfontsafdko.cxx:167:5
>  #7 in toPfaCID(SubSetInfo&, rtl::OUString const&, rtl::OUString const&, bool&, std::__debug::map<int, int, std::less<int>, std::allocator<std::pair<int const, int>>>&, rtl::OString&, rtl::OString&, rtl::OString&) at svx/source/svdraw/svdpdf.cxx:1197:14
>  #8 in ImpSdrPdfImport::convertToOTF(long, SubSetInfo&, rtl::OUString const&, rtl::OUString const&, rtl::OUString const&, std::basic_string_view<char16_t, std::char_traits<char16_t>>, std::__debug::vector<unsigned char, std::allocator<unsigned char>> const&) at svx/source/svdraw/svdpdf.cxx:1674:10
>  #9 in ImpSdrPdfImport::CollectFonts() at svx/source/svdraw/svdpdf.cxx:328:27
>  #10 in ImpSdrPdfImport::ImpSdrPdfImport(SdrModel&, o3tl::strong_int<short, SdrLayerIDTag>, tools::Rectangle const&, Graphic const&) at svx/source/svdraw/svdpdf.cxx:122:5
>  #11 in SdrEditView::DoImportMarkedMtf(SvdProgressInfo*) at svx/source/svdraw/svdedtv2.cxx:2168:37
>  #12 in testImportSimpleText::TestBody() at sd/qa/unit/SdrPdfImportTest.cxx:122:32

but which has been suppressed at least for now with an

> __attribute__((no_sanitize("function")))

as that appears to be a pervasive issue with the dnaDCL macro defined in
workdir/UnpackedTarball/afdko/c/shared/include/dynarr.h

Change-Id: Ib259a660713fa87f45020fefa841483cf810fc45
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/192733
Reviewed-by: Stephan Bergmann <stephan.bergmann@collabora.com>
Tested-by: Jenkins
2025-10-20 23:31:46 +02:00
Caolán McNamara 92eebd7c2a fix a crash with all whitespace value content
Change-Id: Ic46eebd10461935a1006f010dbb78dd68f448ddc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/191675
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
(cherry picked from commit 446322ae5a99473ed88b518f0060cb7ecc004237)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/192346
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2025-10-14 20:51:22 +02:00
Caolán McNamara 254a1e39ee fix build for system libxml that includes icu case
workdir/UnpackedTarball/icu/source/common/unicode/localpointer.h:67:1: error: template with C linkage

Change-Id: I08b0766a7b7a345bbb8b09bc191ecd16212400ac
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/191537
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
(cherry picked from commit 56ae90c7f8c804a353f1de8508f2b0471fb44c1e)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/192334
Tested-by: Jenkins
2025-10-14 17:14:01 +02:00
Caolán McNamara 4297095d67 add afdko
for conversion of Type 1 fonts to OTF, see:
https://github.com/adobe-type-tools/afdko

Requires antlr4-cpp-runtime, see:
https://github.com/antlr

Change-Id: Id5845e8f62d09055e140fd987dc2545c7fc0c48d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/191202
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Michael Stahl <michael.stahl@collabora.com>
(cherry picked from commit 3d13970f18c6c578a6edd8f9669874ff96ae0143)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/192332
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2025-10-14 17:13:19 +02:00