Compare commits

...
Sign in to create a new pull request.

30 commits

Author SHA1 Message Date
Fedora Release Engineering
feae4efade Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild 2026-07-17 08:53:50 +00:00
Fedora Release Engineering
248df48f31 Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild 2026-01-17 20:20:02 +00:00
Parag Nemade
b3170a7f4b
Update cmake_minimum_required variable for CMake4.0 Change proposal(#2381636) 2025-09-04 13:21:08 +05:30
Fedora Release Engineering
17ca5c2947 Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-25 20:30:41 +00:00
Eike Rathke
216068f040 Resolves: rhbz#2341551 include <cstdint> 2025-01-29 12:10:33 +01:00
Fedora Release Engineering
21b76935d5 Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-19 15:12:02 +00:00
Fedora Release Engineering
a353d9fa2f Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild 2024-07-20 09:29:46 +00:00
Fedora Release Engineering
58f2e03325 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-27 09:02:29 +00:00
Fedora Release Engineering
087c98a193 Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-07-22 18:19:53 +00:00
Fedora Release Engineering
c53a91ac11 Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-21 06:57:00 +00:00
Eike Rathke
ba3ca85f54 Migrate to SPDX license IDs
Actually this MIT is MIT so no change, but have it in %changelog.
2023-01-20 18:24:10 +01:00
Fedora Release Engineering
39d6f96bb2 Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-23 12:34:53 +00:00
Fedora Release Engineering
641b59bb22 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-22 04:37:31 +00:00
Eike Rathke
3e3d14c941 Resolves: rhbz#1988046 FTBFS, use _vpath_builddir instead of _target_platform 2021-07-30 14:59:18 +02:00
Fedora Release Engineering
77d26d7ecd - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-23 21:05:36 +00:00
Eike Rathke
0f1685dffe Add Coverity Scan fixes patch 2021-06-10 22:01:19 +02:00
Eike Rathke
4a6ffd7339 Get rid of all things RPATH
See
https://gitlab.kitware.com/cmake/community/-/wikis/doc/cmake/RPATH-handling
2021-04-19 19:06:28 +02:00
Fedora Release Engineering
12307fb967 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-01-27 23:37:40 +00:00
Fedora Release Engineering
e68005e568 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-07-29 14:16:48 +00:00
d2d961533c
Improve compatibility with new CMake macro
Signed-off-by: Igor Raits <ignatenkobrain@fedoraproject.org>
2020-07-05 20:59:05 +02:00
Tomas Popela
d3d2dacc23 Fix the month in changelog 2020-04-06 12:44:11 +02:00
Tomas Popela
4f2cb4575c Package woff2_decompress, woff2_compress and woff2_info in a tools subpackage.
Thanks to Tomasz Gąsior <kontakt@tomaszgasior.pl>
2020-04-06 12:40:22 +02:00
Tomasz Gąsior
57c40ea5c4 Add woff2-tools package 2020-02-08 22:18:32 +01:00
Fedora Release Engineering
0ca643db2b - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-01-31 03:52:44 +00:00
Fedora Release Engineering
7407c98c9f - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-07-27 03:39:08 +00:00
Fedora Release Engineering
091b1ade71 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-02-03 11:52:39 +00:00
Fedora Release Engineering
4182b0ae8e - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-07-14 08:57:23 +00:00
Tomas Popela
f4f99b385d Remove the unneeded ld_config scriptlets 2018-06-28 10:06:36 +02:00
Tomas Popela
725c258c17 Add gcc-c++ as a BR 2018-03-06 10:14:33 +01:00
Tomas Popela
58203fcb18 Rebuild for brotli update 2018-03-05 12:49:46 +01:00
3 changed files with 281 additions and 13 deletions

164
covscan.patch Normal file
View file

@ -0,0 +1,164 @@
diff --git a/src/font.cc b/src/font.cc
index a45153e..0e9f5bf 100644
--- a/src/font.cc
+++ b/src/font.cc
@@ -66,7 +66,7 @@ bool ReadTrueTypeFont(Buffer* file, const uint8_t* data, size_t len,
std::map<uint32_t, uint32_t> intervals;
for (uint16_t i = 0; i < font->num_tables; ++i) {
- Font::Table table;
+ Font::Table table = {};
table.flag_byte = 0;
table.reuse_of = NULL;
if (!file->ReadU32(&table.tag) ||
@@ -326,7 +326,7 @@ int NumGlyphs(const Font& font) {
return 0;
}
int index_fmt = IndexFormat(font);
- int loca_record_size = (index_fmt == 0 ? 2 : 4);
+ uint32_t loca_record_size = (index_fmt == 0 ? 2 : 4);
if (loca_table->length < loca_record_size) {
return 0;
}
diff --git a/src/glyph.h b/src/glyph.h
index f24056f..e870188 100644
--- a/src/glyph.h
+++ b/src/glyph.h
@@ -22,17 +22,17 @@ namespace woff2 {
// is around.
class Glyph {
public:
- Glyph() : instructions_size(0), composite_data_size(0) {}
+ Glyph() {}
// Bounding box.
- int16_t x_min;
- int16_t x_max;
- int16_t y_min;
- int16_t y_max;
+ int16_t x_min = 0;
+ int16_t x_max = 0;
+ int16_t y_min = 0;
+ int16_t y_max = 0;
// Instructions.
- uint16_t instructions_size;
- const uint8_t* instructions_data;
+ uint16_t instructions_size = 0;
+ const uint8_t* instructions_data = 0;
// Data model for simple glyphs.
struct Point {
@@ -43,9 +43,9 @@ class Glyph {
std::vector<std::vector<Point> > contours;
// Data for composite glyphs.
- const uint8_t* composite_data;
- uint32_t composite_data_size;
- bool have_instructions;
+ const uint8_t* composite_data = 0;
+ uint32_t composite_data_size = 0;
+ bool have_instructions = false;
};
// Parses the glyph from the given data. Returns false on parsing failure or
diff --git a/src/normalize.cc b/src/normalize.cc
index 6685e08..a819074 100644
--- a/src/normalize.cc
+++ b/src/normalize.cc
@@ -97,7 +97,7 @@ bool MakeEditableBuffer(Font* font, int tableTag) {
table->buffer.resize(sz);
uint8_t* buf = &table->buffer[0];
memcpy(buf, table->data, table->length);
- if (PREDICT_FALSE(sz > table->length)) {
+ if (PREDICT_FALSE(static_cast<uint32_t>(sz) > table->length)) {
memset(buf + table->length, 0, sz - table->length);
}
table->data = buf;
@@ -213,7 +213,6 @@ bool FixChecksums(Font* font) {
size_t offset = 8;
StoreU32(0, &offset, head_buf);
uint32_t file_checksum = 0;
- uint32_t head_checksum = 0;
for (auto& i : font->tables) {
Font::Table* table = &i.second;
if (table->IsReused()) {
@@ -221,10 +220,6 @@ bool FixChecksums(Font* font) {
}
table->checksum = ComputeULongSum(table->data, table->length);
file_checksum += table->checksum;
-
- if (table->tag == kHeadTableTag) {
- head_checksum = table->checksum;
- }
}
file_checksum += ComputeHeaderChecksum(*font);
diff --git a/src/woff2_dec.cc b/src/woff2_dec.cc
index 25e18c6..442baa5 100644
--- a/src/woff2_dec.cc
+++ b/src/woff2_dec.cc
@@ -316,7 +316,7 @@ void ComputeBbox(unsigned int n_points, const Point* points, uint8_t* dst) {
offset = Store16(dst, offset, x_min);
offset = Store16(dst, offset, y_min);
offset = Store16(dst, offset, x_max);
- offset = Store16(dst, offset, y_max);
+ Store16(dst, offset, y_max);
}
diff --git a/src/woff2_enc.cc b/src/woff2_enc.cc
index ec00878..c0598f8 100644
--- a/src/woff2_enc.cc
+++ b/src/woff2_enc.cc
@@ -331,20 +331,17 @@ bool ConvertTTFToWOFF2(const uint8_t *data, size_t length,
return false;
}
- Table table;
+ Table table = {};
table.tag = src_table.tag;
table.flags = src_table.flag_byte;
table.src_length = src_table.length;
table.transform_length = src_table.length;
- const uint8_t* transformed_data = src_table.data;
const Font::Table* transformed_table =
font.FindTable(src_table.tag ^ 0x80808080);
if (transformed_table != NULL) {
table.flags = transformed_table->flag_byte;
table.flags |= kWoff2FlagsTransform;
table.transform_length = transformed_table->length;
- transformed_data = transformed_table->data;
-
}
tables.push_back(table);
}
@@ -423,8 +420,6 @@ bool ConvertTTFToWOFF2(const uint8_t *data, size_t length,
// for reused tables, only the original has an updated offset
uint32_t table_offset =
table.IsReused() ? table.reuse_of->offset : table.offset;
- uint32_t table_length =
- table.IsReused() ? table.reuse_of->length : table.length;
std::pair<uint32_t, uint32_t> tag_offset(table.tag, table_offset);
if (index_by_tag_offset.find(tag_offset) == index_by_tag_offset.end()) {
#ifdef FONT_COMPRESSION_BIN
diff --git a/src/woff2_info.cc b/src/woff2_info.cc
index 2b51adc..8ec9d36 100644
--- a/src/woff2_info.cc
+++ b/src/woff2_info.cc
@@ -122,13 +122,13 @@ int main(int argc, char **argv) {
if (!woff2::Read255UShort(&file, &numFonts)) return 1;
printf("CollectionHeader 0x%08x %d fonts\n", version, numFonts);
- for (auto i = 0; i < numFonts; i++) {
+ for (auto i = 0u; i < numFonts; i++) {
uint32_t numTables, flavor;
if (!woff2::Read255UShort(&file, &numTables)) return 1;
if (!file.ReadU32(&flavor)) return 1;
printf("CollectionFontEntry %d flavor 0x%08x %d tables\n", i, flavor,
numTables);
- for (auto j = 0; j < numTables; j++) {
+ for (auto j = 0u; j < numTables; j++) {
uint32_t table_idx;
if (!woff2::Read255UShort(&file, &table_idx)) return 1;
if (table_idx >= table_tags.size()) return 1;

10
include-cstdint.patch Normal file
View file

@ -0,0 +1,10 @@
--- woff2-1.0.2/include/woff2/output.h.include-cstdint 2017-11-13 19:31:28.000000000 +0100
+++ woff2-1.0.2/include/woff2/output.h 2025-01-29 12:00:47.581485251 +0100
@@ -13,6 +13,7 @@
#include <cstring>
#include <memory>
#include <string>
+#include <cstdint>
namespace woff2 {

View file

@ -1,13 +1,20 @@
%undefine __cmake_in_source_build
Name: woff2
Version: 1.0.2
Release: 2%{?dist}
Release: 26%{?dist}
Summary: Web Open Font Format 2.0 library
License: MIT
URL: https://github.com/google/woff2
Source0: https://github.com/google/woff2/archive/v%{version}/%{name}-%{version}.tar.gz
# https://github.com/google/woff2/pull/121
Patch0: covscan.patch
Patch1: include-cstdint.patch
BuildRequires: cmake
BuildRequires: gcc-c++
BuildRequires: brotli-devel >= 1.0
%description
@ -16,6 +23,14 @@ improved compression that is achieved by using the Brotli algorithm. The primary
purpose of the WOFF2 format is to efficiently package fonts linked to Web
documents by means of CSS @font-face rules.
%package tools
Summary: Web Open Font Format 2.0 tools
Requires: %{name}%{?_isa} = %{version}-%{release}
%description tools
Tools for compressing TTF files to WOFF2 format, decompressing WOFF2
files back to TTF files and dumping WOFF2 file information.
%package devel
Summary: Development files for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
@ -24,24 +39,25 @@ Requires: %{name}%{?_isa} = %{version}-%{release}
Development files and utils for %{name}
%prep
%autosetup -n %{name}-%{version}
%autosetup -p1 -n %{name}-%{version}
sed -i 's/VERSION 2.8.6/VERSION 3.5...4.0/g' CMakeLists.txt
%build
mkdir -p %{_target_platform}
pushd %{_target_platform}
%cmake .. \
%cmake \
-DCMAKE_INSTALL_PREFIX="%{_prefix}" \
-DCMAKE_INSTALL_LIBDIR="%{_libdir}"
popd
make %{?_smp_mflags} -C %{_target_platform}
-DCMAKE_INSTALL_LIBDIR="%{_libdir}" \
-DCMAKE_SKIP_RPATH=TRUE
%cmake_build
%install
%make_install -C %{_target_platform}
%cmake_install
mkdir -p %{buildroot}%{_bindir}/
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
cd %{_vpath_builddir}
install -m 755 woff2_decompress %{buildroot}%{_bindir}/
install -m 755 woff2_compress %{buildroot}%{_bindir}/
install -m 755 woff2_info %{buildroot}%{_bindir}/
cd -
%files
%license LICENSE
@ -49,6 +65,11 @@ make %{?_smp_mflags} -C %{_target_platform}
%{_libdir}/libwoff2dec.so.*
%{_libdir}/libwoff2enc.so.*
%files tools
%attr(755, root, root) %{_bindir}/woff2_compress
%attr(755, root, root) %{_bindir}/woff2_decompress
%attr(755, root, root) %{_bindir}/woff2_info
%files devel
%{_includedir}/woff2
%{_libdir}/libwoff2common.so
@ -59,6 +80,79 @@ make %{?_smp_mflags} -C %{_target_platform}
%{_libdir}/pkgconfig/libwoff2enc.pc
%changelog
* Fri Jul 17 2026 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.2-26
- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild
* Sat Jan 17 2026 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.2-25
- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild
* Thu Sep 04 2025 Parag Nemade <pnemade AT redhat DOT com> - 1.0.2-24
- Update cmake_minimum_required variable for CMake4.0 Change proposal(#2381636)
* Fri Jul 25 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.2-23
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Wed Jan 29 2025 Eike Rathke <erack@redhat.com> - 1.0.2-22
- Resolves: rhbz#2341551 include <cstdint>
* Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.2-21
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.2-20
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Sat Jan 27 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.2-19
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sat Jul 22 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.2-18
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Sat Jan 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.2-17
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Fri Jan 20 2023 Eike Rathke <erack@redhat.com> - 1.0.2-16
- Migrated to SPDX license IDs
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.2-15
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Sat Jan 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.2-14
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.2-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Thu Jun 10 2021 Eike Rathke <erack@redhat.com> - 1.0.2-12
- Add Coverity Scan fixes patch
* Mon Apr 19 2021 Eike Rathke <erack@redhat.com> - 1.0.2-11
- Get rid of all things RPATH
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.2-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.2-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Mon Apr 06 2020 Tomas Popela <tpopela@redhat.com> - 1.0.2-8
- Package woff2_decompress, woff2_compress and woff2_info in a tools subpackage.
Thanks to Tomasz Gąsior <kontakt@tomaszgasior.pl>
* Fri Jan 31 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.2-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Sat Jul 27 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.2-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Sun Feb 03 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.2-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.2-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Mon Mar 05 2018 Tomas Popela <tpopela@redhat.com> - 1.0.2-3
- Rebuild for brotli update
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild