Skip to content

Commit d5b6c89

Browse files
committed
Merge branch 'main' of github.com:opendocument-app/OpenDocument.core into rework-document-tree
2 parents 4899683 + f7520c7 commit d5b6c89

27 files changed

Lines changed: 329 additions & 147 deletions
File renamed without changes.

.github/config/conan/profiles/macos-13-clang-14 renamed to .github/config/conan/profiles/macos-26-armv8-clang-14

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[settings]
2-
arch=x86_64
2+
arch=armv8
33
build_type=Release
44
compiler=apple-clang
55
compiler.version=14

.github/workflows/build_test.yml

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ jobs:
2020
include:
2121
- { os: ubuntu-24.04, build_profile: ubuntu-24.04-clang-18, host_profile: ubuntu-24.04-clang-18 }
2222
- { os: ubuntu-24.04, build_profile: ubuntu-24.04-gcc-14, host_profile: ubuntu-24.04-gcc-14 }
23-
- { os: macos-13, build_profile: macos-13-clang-14, host_profile: macos-13-clang-14 }
24-
- { os: macos-14, build_profile: macos-14-armv8-clang-14, host_profile: macos-14-armv8-clang-14 }
23+
- { os: macos-15, build_profile: macos-15-armv8-clang-14, host_profile: macos-15-armv8-clang-14 }
24+
- { os: macos-26, build_profile: macos-26-armv8-clang-14, host_profile: macos-26-armv8-clang-14 }
2525
- { os: windows-2022, build_profile: windows-2022-msvc-1940, host_profile: windows-2022-msvc-1940 }
2626
- { os: ubuntu-24.04, build_profile: ubuntu-24.04-clang-18, host_profile: android-35-x86_64, ndk_version: 28.1.13356709 }
2727
steps:
@@ -191,8 +191,7 @@ jobs:
191191
# fails at the moment because of pdf2htmlex
192192
#- { os: ubuntu-24.04, host_profile: ubuntu-24.04-clang-18 }
193193
#- { os: ubuntu-24.04, host_profile: ubuntu-24.04-gcc-14 }
194-
#- { os: macos-13, host_profile: macos-13-clang-14 }
195-
- { os: macos-14, host_profile: macos-14-armv8-clang-14 }
194+
- { os: macos-26, host_profile: macos-26-armv8-clang-14 }
196195
# Windows test disabled because:
197196
# Running main() from C:\Users\runneradmin\.conan2\p\b\gtestdd9407d368b89\b\src\googletest\src\gtest_main.cc
198197
# [ FATAL ] C:/Users/runneradmin/.conan2/p/gtest28fa6787e7f6e/p/include\gtest/internal/gtest-param-util.h(585):: Condition IsValidParamName(param_name) failed. Parameterized test name 'odr_private\docx\03_smpldap_docx' is invalid, in D:\a\OpenDocument.core\OpenDocument.core\test\src\html_output_test.cpp line 129
@@ -276,8 +275,8 @@ jobs:
276275
include:
277276
- { os: ubuntu-24.04, build_profile: ubuntu-24.04-clang-18, host_profile: ubuntu-24.04-clang-18 }
278277
- { os: ubuntu-24.04, build_profile: ubuntu-24.04-gcc-14, host_profile: ubuntu-24.04-gcc-14 }
279-
- { os: macos-13, build_profile: macos-13-clang-14, host_profile: macos-13-clang-14 }
280-
- { os: macos-14, build_profile: macos-14-armv8-clang-14, host_profile: macos-14-armv8-clang-14 }
278+
- { os: macos-15, build_profile: macos-15-armv8-clang-14, host_profile: macos-15-armv8-clang-14 }
279+
- { os: macos-26, build_profile: macos-26-armv8-clang-14, host_profile: macos-26-armv8-clang-14 }
281280
- { os: windows-2022, build_profile: windows-2022-msvc-1940, host_profile: windows-2022-msvc-1940 }
282281
- { os: ubuntu-24.04, build_profile: ubuntu-24.04-clang-18, host_profile: android-35-x86_64, ndk_version: 28.1.13356709 }
283282
steps:

conan.lock

Lines changed: 34 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -2,79 +2,78 @@
22
"version": "0.5",
33
"requires": [
44
"zstd/1.5.7#b68ca8e3de04ba5957761751d1d661f4%1760955092.069",
5-
"zlib/1.3.1#b8bc2603263cf7eccbd6e17e66b0ed76%1733936244.862",
6-
"xz_utils/5.4.5#b885d1d79c9d30cff3803f7f551dbe66%1724318972.064",
7-
"wvware/1.2.9-odr#c822f203f7a2dec7b34e4100eabac388%1761496871.6559849",
5+
"zlib/1.3.1#cac0f6daea041b0ccf42934163defb20%1765284699.337",
6+
"xz_utils/5.8.1#0c67d0683aca2f1ca69a17730a65a1e7%1764347087.521",
7+
"wvware/1.2.9-odr#2d8e0b63ad3ece786e8e70cb5c550f5f%1766349558.318423",
88
"vincentlaucsb-csv-parser/2.3.0#ac67e368e82c9e3da4a663c35e3a1b2f%1718528275.177",
9-
"util-linux-libuuid/2.39.2#637bd312b6310c18190469fae4e1d480%1729761467.688",
9+
"util-linux-libuuid/2.41.2#ee8e33ba15c17c0140643e0bd93c0b6f%1765881086.29",
1010
"utfcpp/4.0.4#cd6efc5d62de4e9ee0b5f3abd0df37a9%1722968964.685",
1111
"uchardet/0.0.8#6ab25e452021fcdb560f4e37f4a27bc1%1759735438.978",
1212
"pugixml/1.14#c6afdcf73d71858303d8260b0d76ff91%1696206310.014",
13-
"poppler-data/0.4.12-odr#06cdb12e4cab52261a5eb6c7d7dad273%1761496872.9032168",
14-
"poppler/24.08.0-odr#2929132c6c3c67155c6c8f050c923916%1761496876.004568",
15-
"pixman/0.43.4#60427f74e9514f007eb3cb8c52b6fbd6%1752742517.637",
16-
"pdf2htmlex/0.18.8.rc1-odr-git-eb5d291#99dd5c7844a56c308fa8221dc8c8c2b2%1761496872.136318",
13+
"poppler-data/0.4.12-odr#06cdb12e4cab52261a5eb6c7d7dad273%1766349558.167614",
14+
"poppler/24.08.0-odr#5150a6889acc1c8c9176d857c12fa3c8%1766349558.019082",
15+
"pixman/0.46.2#88b157b4faa6474a6028c2ba2a987924%1752742515.414",
16+
"pdf2htmlex/0.18.8.rc1-odr-git-eb5d291#fadb1d15d841bf6c75e3bc76bde81777%1766349557.868725",
1717
"pcre2/10.42#9a35f5089feb875ec61a38eca364ce77%1743524593.693",
18-
"openjpeg/2.5.2#6f7b733e151d1bbf5ed05cbabb846828%1709653017.024",
18+
"openjpeg/2.5.4#372fbc2b4348d45ab0c0a62a8475dc2f%1760446899.685",
1919
"nlohmann_json/3.11.3#45828be26eb619a2e04ca517bb7b828d%1701220705.259",
2020
"miniz/3.0.2#bfbce07c6654293cce27ee24129d2df7%1743673472.805",
2121
"lzo/2.10#f00b10acc508cea70645727d970a23e1%1759909644.842",
2222
"libxml2/2.12.7#1c4d20b7ab8b618ce699733723ba4df6%1721306327.767",
2323
"libselinux/3.6#5a78ff6ae5034eeaac8da723361a8ce4%1717655459.344",
24-
"libpng/1.6.50#c96b3b9fa67d44545d6583bb0c348904%1751616189.701",
24+
"libpng/1.6.53#a55f084366cd7b81cfce80327507913e%1765191393.267",
2525
"libmagic/5.45#791d5bad38d33272bb120994a198b1ac%1727273086.09",
2626
"libjpeg/9f#8edfe2699565c80c825d0256002504ff%1723665907.087",
2727
"libiconv/1.17#1e65319e945f2d31941a9d28cc13c058%1751451666.321",
28-
"libgsf/1.14.52#9b22c41267004c80ba5cde5d01e23a24%1761496872.4449549",
29-
"libgettext/0.22#766c603ca03bfbcad907369de5368c29%1755528994.227",
28+
"libgsf/1.14.52#7b7b45fff714f0441d8837e7b14b8b9a%1766349557.4201689",
29+
"libgettext/0.22#b09eea019e19b9b9c46d8f1da7d75444%1765809130.834",
3030
"libffi/3.4.8#a045c00fb26779635e3bed40e80c5254%1753360042.396",
3131
"libelf/0.8.13#ba59bbc89757ed62cfd7690a73bf81be%1741781951.327",
32-
"lcms/2.16#803222ca149d2e07e9c0ab32342e47e6%1753689779.344",
32+
"lcms/2.17#3feb06eea368c52c82f50107cd7694cd%1753693316.094",
3333
"gtest/1.14.0#f8f0757a574a8dd747d16af62d6eb1b7%1743410807.169",
34-
"glib/2.81.0-odr#ddf445d5af468f972978af93c44d26e1%1761496871.9808278",
34+
"glib/2.81.0-odr#0436d4fbe7682722ede5964a63953c1d%1766349557.268547",
3535
"giflib/5.2.2#3923fc0f7ffec2f0bdbdee9b548f9248%1731663927.701",
36-
"freetype/2.13.2#18656f7a6d52256a930f1cbd79f1509d%1756828316.696",
37-
"fontforge/20240423-git#525c82a5e57385c14b647b966e86ea58%1761496876.150338",
38-
"fontconfig/2.15.0-odr#2febbef44ca469204c8ff38cfd21db59%1761496872.602404",
36+
"freetype/2.14.1#40f1e4af5db7d8155f9ecabd09973280%1762374429.281",
37+
"fontforge/20240423-git#af7f643fc24bfd3661e97e8adf7c5a72%1766349557.1175628",
38+
"fontconfig/2.15.0-odr#5681bcb942193569ee95215b93ed9fb0%1766349556.9683158",
3939
"expat/2.7.3#f529802a90f0758a01f498a18f8c657b%1759399780.465",
4040
"cryptopp/8.9.0#7a51e0038756b21bc3a6b82d681d5906%1758206597.119",
4141
"cpp-httplib/0.16.3#7aa89fbb81ffd19539a49fc132502966%1748426320.106",
42-
"cairo/1.18.0-odr#c1d0ad14a91ad6d161e756d54277ac13%1761496872.291054",
43-
"bzip2/1.0.8#00b4a4658791c1f06914e087f0e792f5%1744702067.178",
44-
"brotli/1.1.0#406ce8f1c997f4ef7852fa01ff85ef9f%1743158659.041",
45-
"boost/1.86.0#0675eb54da69d8eed264eb22203a7117%1761059017.02",
46-
"argon2/20190702-odr#965901884bc82ec8a7c0a1305d42c127%1761496871.819448"
42+
"cairo/1.18.0-odr#e2979af10b4da6ece999e32d272ffabc%1766349556.814425",
43+
"bzip2/1.0.8#c470882369c2d95c5c77e970c0c7e321%1762886692.465",
44+
"brotli/1.1.0#3f631ef77008f7b5eb388780116371a3%1764862343.045",
45+
"boost/1.90.0#d5e8defe7355494953be18524a7f135b%1765955095.179",
46+
"argon2/20190702-odr#965901884bc82ec8a7c0a1305d42c127%1766349556.660966"
4747
],
4848
"build_requires": [
4949
"zstd/1.5.7#b68ca8e3de04ba5957761751d1d661f4%1760955092.069",
50-
"zlib/1.3.1#b8bc2603263cf7eccbd6e17e66b0ed76%1733936244.862",
51-
"xz_utils/5.4.5#b885d1d79c9d30cff3803f7f551dbe66%1724318972.064",
50+
"zlib/1.3.1#cac0f6daea041b0ccf42934163defb20%1765284699.337",
51+
"xz_utils/5.8.1#0c67d0683aca2f1ca69a17730a65a1e7%1764347087.521",
52+
"pkgconf/2.5.1#93c2051284cba1279494a43a4fcfeae2%1757684701.089",
5253
"pkgconf/2.2.0#4ac315b50ef734072b00ff3aacbf52bf%1755505628.021",
5354
"pkgconf/2.1.0#21f96520faf7660b99f872e956d2ac13%1755505630.82",
54-
"pkgconf/2.0.3#c7ba7fd1d7d22534ee070ae60ed79604%1755505633.107",
5555
"pcre2/10.42#9a35f5089feb875ec61a38eca364ce77%1743524593.693",
56-
"ninja/1.13.1#294f8721dbcde145674f7ba44994700e%1753400352.374",
56+
"ninja/1.13.2#c8c5dc2a52ed6e4e42a66d75b4717ceb%1764096931.974",
5757
"meson/1.9.1#abbc783cd297bedce14581b4aec060b8%1758626166.349",
58-
"meson/1.4.0#2262941cc8fbb0099dd0c196ca2a6c01%1726730116.631",
5958
"m4/1.4.19#b38ced39a01e31fef5435bc634461fd2%1700758725.451",
6059
"libtool/2.4.7#14e7739cc128bc1623d2ed318008e47e%1755679003.847",
6160
"libselinux/3.6#5a78ff6ae5034eeaac8da723361a8ce4%1717655459.344",
6261
"libmagic/5.45#791d5bad38d33272bb120994a198b1ac%1727273086.09",
6362
"libiconv/1.17#1e65319e945f2d31941a9d28cc13c058%1751451666.321",
64-
"libgettext/0.22#766c603ca03bfbcad907369de5368c29%1755528994.227",
63+
"libgettext/0.22#b09eea019e19b9b9c46d8f1da7d75444%1765809130.834",
6564
"libffi/3.4.8#a045c00fb26779635e3bed40e80c5254%1753360042.396",
6665
"libelf/0.8.13#ba59bbc89757ed62cfd7690a73bf81be%1741781951.327",
6766
"gtk-doc-stub/cci.20181216#09072d684ce1458596b44a30a747494c%1687277608.37",
6867
"gperf/3.1#a7afdf8f7cccdc2dcd4d962370c33d4f%1755780571.156",
69-
"gnu-config/cci.20210814#69fde734e1a46fd1655b4af46ab40945%1746203214.947",
70-
"glib/2.81.0-odr#ddf445d5af468f972978af93c44d26e1%1761496871.9808278",
71-
"gettext/0.22.5#4705a1582f4a611eadb15d0417427993%1755528989.046",
72-
"flex/2.6.4#e5cd857e69595b17f7599ba56be7dad2%1761206488.085",
73-
"cmake/3.31.9#2032c6471fe4f5a3e17f65fed518d545%1758832282.188",
74-
"bzip2/1.0.8#00b4a4658791c1f06914e087f0e792f5%1744702067.178",
68+
"gnu-config/cci.20210814#466e9d4d7779e1c142443f7ea44b4284%1762363589.329",
69+
"glib/2.81.0-odr#0436d4fbe7682722ede5964a63953c1d%1766349557.268547",
70+
"gettext/0.26#28c867efd4914f03c6c05da08a23c35b%1765299118.633",
71+
"flex/2.6.4#efa781fc5088b47c895bd4eef6911f2e%1761560242.855",
72+
"cmake/3.31.10#313d16a1aa16bbdb2ca0792467214b76%1763665505.054",
73+
"bzip2/1.0.8#c470882369c2d95c5c77e970c0c7e321%1762886692.465",
7574
"automake/1.16.5#b91b7c384c3deaa9d535be02da14d04f%1755524470.56",
7675
"autoconf/2.71#51077f068e61700d65bb05541ea1e4b0%1731054366.86"
7776
],
7877
"python_requires": [],
7978
"config_requires": []
80-
}
79+
}

scripts/conan_lock

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,4 @@ conan lock create .
55
for profile in .github/config/conan/profiles/*; do
66
conan lock create . --profile:build "${profile}" --profile:host "${profile}"
77
done
8+
conan lock create . --profile:build ".github/config/conan/profiles/ubuntu-24.04-clang-18" --profile:host ".github/config/conan/profiles/android-35-x86_64"

src/odr/html.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,8 @@ HtmlView::HtmlView(std::shared_ptr<abstract::HtmlView> impl)
150150

151151
const std::string &HtmlView::name() const { return m_impl->name(); }
152152

153+
std::size_t HtmlView::index() const { return m_impl->index(); }
154+
153155
const std::string &HtmlView::path() const { return m_impl->path(); }
154156

155157
const HtmlConfig &HtmlView::config() const { return m_impl->config(); }

src/odr/html.hpp

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,16 @@ struct HtmlConfig {
9898
bool format_html{false};
9999
std::uint8_t html_indent{2};
100100

101+
// background image
102+
std::string background_image_format{"png"};
103+
double background_image_dpi{144.0};
104+
105+
// drm options
106+
bool no_drm{false};
107+
108+
// outline options
109+
bool embed_outline{false};
110+
101111
std::optional<std::string> output_path;
102112
HtmlResourceLocator resource_locator;
103113

@@ -139,6 +149,7 @@ class HtmlView final {
139149
explicit HtmlView(std::shared_ptr<internal::abstract::HtmlView> impl);
140150

141151
[[nodiscard]] const std::string &name() const;
152+
[[nodiscard]] std::size_t index() const;
142153
[[nodiscard]] const std::string &path() const;
143154
[[nodiscard]] const HtmlConfig &config() const;
144155

0 commit comments

Comments
 (0)