Skip to content

Commit 83b94c2

Browse files
author
Akira Kakuto
committed
harfbuzz 13.0.1
git-svn-id: svn://tug.org/texlive/trunk/Build/source@78312 c570f23f-e606-0410-a88d-b1316a301751
1 parent 073dd6b commit 83b94c2

14 files changed

Lines changed: 223 additions & 136 deletions

File tree

libs/README

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ graphite2 1.3.14 - checked 10apr20
2828
https://sourceforge.net/projects/silgraphite/files/graphite2/
2929
(requires C++11)
3030

31-
harfbuzz 13.0.0 - checked 05mar26
31+
harfbuzz 13.0.1 - checked 08mar26
3232
https://github.com/harfbuzz/harfbuzz/releases/latest
3333

3434
icu 78.2 - checked 21jan26

libs/harfbuzz/ChangeLog

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
2026-03-08 Akira Kakuto <kakuto@jcom.zaq.ne.jp>
2+
3+
Import harfbuzz-13.0.1.
4+
* version.ac: Adjusted.
5+
16
2026-03-05 Akira Kakuto <kakuto@jcom.zaq.ne.jp>
27

38
Import harfbuzz-13.0.0.

libs/harfbuzz/Makefile.am

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,6 @@ libharfbuzz_a_SOURCES = \
5252
@HARFBUZZ_TREE@/src/hb-subset-table-layout.cc \
5353
@HARFBUZZ_TREE@/src/hb-subset-table-other.cc \
5454
@HARFBUZZ_TREE@/src/hb-subset-table-var.cc \
55-
@HARFBUZZ_TREE@/src/hb-vector-svg-subset.cc \
5655
@HARFBUZZ_TREE@/src/hb-subset.cc
5756

5857
## Graphite library

libs/harfbuzz/Makefile.in

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,6 @@ am_libharfbuzz_a_OBJECTS = @HARFBUZZ_TREE@/src/harfbuzz.$(OBJEXT) \
140140
@HARFBUZZ_TREE@/src/hb-subset-table-layout.$(OBJEXT) \
141141
@HARFBUZZ_TREE@/src/hb-subset-table-other.$(OBJEXT) \
142142
@HARFBUZZ_TREE@/src/hb-subset-table-var.$(OBJEXT) \
143-
@HARFBUZZ_TREE@/src/hb-vector-svg-subset.$(OBJEXT) \
144143
@HARFBUZZ_TREE@/src/hb-subset.$(OBJEXT)
145144
libharfbuzz_a_OBJECTS = $(am_libharfbuzz_a_OBJECTS)
146145
am_hbtest_OBJECTS = hbtest-hbtest.$(OBJEXT)
@@ -184,7 +183,6 @@ am__depfiles_remade = ./$(DEPDIR)/hbtest-dummy.Po \
184183
@HARFBUZZ_TREE@/src/$(DEPDIR)/hb-subset-table-other.Po \
185184
@HARFBUZZ_TREE@/src/$(DEPDIR)/hb-subset-table-var.Po \
186185
@HARFBUZZ_TREE@/src/$(DEPDIR)/hb-subset.Po \
187-
@HARFBUZZ_TREE@/src/$(DEPDIR)/hb-vector-svg-subset.Po \
188186
@HARFBUZZ_TREE@/src/graph/$(DEPDIR)/gsubgpos-context.Po
189187
am__mv = mv -f
190188
AM_V_lt = $(am__v_lt_@AM_V@)
@@ -681,7 +679,6 @@ libharfbuzz_a_SOURCES = \
681679
@HARFBUZZ_TREE@/src/hb-subset-table-layout.cc \
682680
@HARFBUZZ_TREE@/src/hb-subset-table-other.cc \
683681
@HARFBUZZ_TREE@/src/hb-subset-table-var.cc \
684-
@HARFBUZZ_TREE@/src/hb-vector-svg-subset.cc \
685682
@HARFBUZZ_TREE@/src/hb-subset.cc
686683

687684
@build_TRUE@dist_check_SCRIPTS = harfbuzz.test
@@ -829,9 +826,6 @@ clean-noinstLIBRARIES:
829826
@HARFBUZZ_TREE@/src/hb-subset-table-var.$(OBJEXT): \
830827
@HARFBUZZ_TREE@/src/$(am__dirstamp) \
831828
@HARFBUZZ_TREE@/src/$(DEPDIR)/$(am__dirstamp)
832-
@HARFBUZZ_TREE@/src/hb-vector-svg-subset.$(OBJEXT): \
833-
@HARFBUZZ_TREE@/src/$(am__dirstamp) \
834-
@HARFBUZZ_TREE@/src/$(DEPDIR)/$(am__dirstamp)
835829
@HARFBUZZ_TREE@/src/hb-subset.$(OBJEXT): \
836830
@HARFBUZZ_TREE@/src/$(am__dirstamp) \
837831
@HARFBUZZ_TREE@/src/$(DEPDIR)/$(am__dirstamp)
@@ -873,7 +867,6 @@ distclean-compile:
873867
@AMDEP_TRUE@@am__include@ @am__quote@@HARFBUZZ_TREE@/src/$(DEPDIR)/hb-subset-table-other.Po@am__quote@ # am--include-marker
874868
@AMDEP_TRUE@@am__include@ @am__quote@@HARFBUZZ_TREE@/src/$(DEPDIR)/hb-subset-table-var.Po@am__quote@ # am--include-marker
875869
@AMDEP_TRUE@@am__include@ @am__quote@@HARFBUZZ_TREE@/src/$(DEPDIR)/hb-subset.Po@am__quote@ # am--include-marker
876-
@AMDEP_TRUE@@am__include@ @am__quote@@HARFBUZZ_TREE@/src/$(DEPDIR)/hb-vector-svg-subset.Po@am__quote@ # am--include-marker
877870
@AMDEP_TRUE@@am__include@ @am__quote@@HARFBUZZ_TREE@/src/graph/$(DEPDIR)/gsubgpos-context.Po@am__quote@ # am--include-marker
878871

879872
$(am__depfiles_remade):
@@ -1525,7 +1518,6 @@ distclean: distclean-recursive
15251518
-rm -f @HARFBUZZ_TREE@/src/$(DEPDIR)/hb-subset-table-other.Po
15261519
-rm -f @HARFBUZZ_TREE@/src/$(DEPDIR)/hb-subset-table-var.Po
15271520
-rm -f @HARFBUZZ_TREE@/src/$(DEPDIR)/hb-subset.Po
1528-
-rm -f @HARFBUZZ_TREE@/src/$(DEPDIR)/hb-vector-svg-subset.Po
15291521
-rm -f @HARFBUZZ_TREE@/src/graph/$(DEPDIR)/gsubgpos-context.Po
15301522
-rm -f Makefile
15311523
distclean-am: clean-am distclean-compile distclean-generic \
@@ -1594,7 +1586,6 @@ maintainer-clean: maintainer-clean-recursive
15941586
-rm -f @HARFBUZZ_TREE@/src/$(DEPDIR)/hb-subset-table-other.Po
15951587
-rm -f @HARFBUZZ_TREE@/src/$(DEPDIR)/hb-subset-table-var.Po
15961588
-rm -f @HARFBUZZ_TREE@/src/$(DEPDIR)/hb-subset.Po
1597-
-rm -f @HARFBUZZ_TREE@/src/$(DEPDIR)/hb-vector-svg-subset.Po
15981589
-rm -f @HARFBUZZ_TREE@/src/graph/$(DEPDIR)/gsubgpos-context.Po
15991590
-rm -f Makefile
16001591
maintainer-clean-am: distclean-am maintainer-clean-generic

libs/harfbuzz/TLpatches/ChangeLog

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
2026-03-08 Akira Kakuto <kakuto@jcom.zaq.ne.jp>
2+
3+
Imported harfbuzz-13.0.1 source tree from:
4+
https://github.com/harfbuzz/harfbuzz/releases/tag/13.0.1/
5+
16
2026-03-05 Akira Kakuto <kakuto@jcom.zaq.ne.jp>
27

38
Imported harfbuzz-13.0.0 source tree from:

libs/harfbuzz/TLpatches/TL-Changes

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
Changes applied to the harfbuzz-13.0.0/ tree as obtained from:
2-
https://github.com/harfbuzz/harfbuzz/releases/tag/13.0.0/
1+
Changes applied to the harfbuzz-13.0.1/ tree as obtained from:
2+
https://github.com/harfbuzz/harfbuzz/releases/tag/13.0.1/
33

44
Removed:
55
.clang-format

libs/harfbuzz/configure

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#! /bin/sh
22
# Guess values for system-dependent variables and create Makefiles.
3-
# Generated by GNU Autoconf 2.72 for harfbuzz (TeX Live) 13.0.0.
3+
# Generated by GNU Autoconf 2.72 for harfbuzz (TeX Live) 13.0.1.
44
#
55
# Report bugs to <tex-k@tug.org>.
66
#
@@ -604,8 +604,8 @@ MAKEFLAGS=
604604
# Identity of this package.
605605
PACKAGE_NAME='harfbuzz (TeX Live)'
606606
PACKAGE_TARNAME='harfbuzz--tex-live-'
607-
PACKAGE_VERSION='13.0.0'
608-
PACKAGE_STRING='harfbuzz (TeX Live) 13.0.0'
607+
PACKAGE_VERSION='13.0.1'
608+
PACKAGE_STRING='harfbuzz (TeX Live) 13.0.1'
609609
PACKAGE_BUGREPORT='tex-k@tug.org'
610610
PACKAGE_URL=''
611611

@@ -1341,7 +1341,7 @@ if test "$ac_init_help" = "long"; then
13411341
# Omit some internal or obsolete options to make the list less imposing.
13421342
# This message is too long to be a string in the A/UX 3.1 sh.
13431343
cat <<_ACEOF
1344-
'configure' configures harfbuzz (TeX Live) 13.0.0 to adapt to many kinds of systems.
1344+
'configure' configures harfbuzz (TeX Live) 13.0.1 to adapt to many kinds of systems.
13451345
13461346
Usage: $0 [OPTION]... [VAR=VALUE]...
13471347
@@ -1413,7 +1413,7 @@ fi
14131413

14141414
if test -n "$ac_init_help"; then
14151415
case $ac_init_help in
1416-
short | recursive ) echo "Configuration of harfbuzz (TeX Live) 13.0.0:";;
1416+
short | recursive ) echo "Configuration of harfbuzz (TeX Live) 13.0.1:";;
14171417
esac
14181418
cat <<\_ACEOF
14191419
@@ -1518,7 +1518,7 @@ fi
15181518
test -n "$ac_init_help" && exit $ac_status
15191519
if $ac_init_version; then
15201520
cat <<\_ACEOF
1521-
harfbuzz (TeX Live) configure 13.0.0
1521+
harfbuzz (TeX Live) configure 13.0.1
15221522
generated by GNU Autoconf 2.72
15231523
15241524
Copyright (C) 2023 Free Software Foundation, Inc.
@@ -2075,7 +2075,7 @@ cat >config.log <<_ACEOF
20752075
This file contains any messages produced by compilers while
20762076
running configure, to aid debugging if configure makes a mistake.
20772077
2078-
It was created by harfbuzz (TeX Live) $as_me 13.0.0, which was
2078+
It was created by harfbuzz (TeX Live) $as_me 13.0.1, which was
20792079
generated by GNU Autoconf 2.72. Invocation command line was
20802080
20812081
$ $0$ac_configure_args_raw
@@ -5259,7 +5259,7 @@ fi
52595259

52605260
# Define the identity of the package.
52615261
PACKAGE='harfbuzz--tex-live-'
5262-
VERSION='13.0.0'
5262+
VERSION='13.0.1'
52635263

52645264

52655265
# Some tools Automake needs.
@@ -5573,8 +5573,8 @@ echo 'tldbg:KPSE_BASIC done (pkg=harfbuzz, amopt=no-define)' >&5
55735573

55745574
HB_VERSION_MAJOR=13
55755575
HB_VERSION_MINOR=0
5576-
HB_VERSION_MICRO=0
5577-
HB_VERSION=13.0.0
5576+
HB_VERSION_MICRO=1
5577+
HB_VERSION=13.0.1
55785578

55795579
ac_ext=c
55805580
ac_cpp='$CPP $CPPFLAGS'
@@ -9426,7 +9426,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
94269426
# report actual input values of CONFIG_FILES etc. instead of their
94279427
# values after options handling.
94289428
ac_log="
9429-
This file was extended by harfbuzz (TeX Live) $as_me 13.0.0, which was
9429+
This file was extended by harfbuzz (TeX Live) $as_me 13.0.1, which was
94309430
generated by GNU Autoconf 2.72. Invocation command line was
94319431
94329432
CONFIG_FILES = $CONFIG_FILES
@@ -9494,7 +9494,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\
94949494
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
94959495
ac_cs_config='$ac_cs_config_escaped'
94969496
ac_cs_version="\\
9497-
harfbuzz (TeX Live) config.status 13.0.0
9497+
harfbuzz (TeX Live) config.status 13.0.1
94989498
configured by $0, generated by GNU Autoconf 2.72,
94999499
with options \\"\$ac_cs_config\\"
95009500

libs/harfbuzz/harfbuzz-src/NEWS

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,10 @@
1+
Overview of changes leading to 13.0.1
2+
Saturday, March 7, 2026
3+
=====================================
4+
- Bug fixes in rendering `COLR` v1 fonts.
5+
- Various build fixes.
6+
7+
18
Overview of changes leading to 13.0.0
29
Wednesday, March 4, 2026
310
=====================================
@@ -18,7 +25,7 @@ Wednesday, March 4, 2026
1825
- New subset flag `HB_SUBSET_FLAGS_DOWNGRADE_CFF2` to convert instantiated
1926
`CFF2` table to `CFF `. This options will desubroutinize `CFF2` table and
2027
convert it to CID-keyed `CFF` table. This is useful for compatibility with
21-
older renderers that do not support `CFF2` table, including embedded
28+
older renderers that do not support `CFF2` table, including embedding
2229
instantiated fonts in PDF documents.
2330

2431
- The `hb-view` command-line utility got a few bells and whistles as well,

libs/harfbuzz/harfbuzz-src/meson.build

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
project('harfbuzz', ['c', 'cpp'],
22
meson_version: '>= 0.60.0',
3-
version: '13.0.0',
3+
version: '13.0.1',
44
default_options: [
55
'cpp_eh=none', # Just to support msvc, we are passing -fno-exceptions also anyway
66
# 'cpp_rtti=false', # Do NOT enable, wraps inherit it and ICU needs RTTI
@@ -101,6 +101,7 @@ check_funcs = [
101101
['isatty', {'prefix': '#include <unistd.h>'}],
102102
['uselocale', {'prefix': '#include <locale.h>'}],
103103
['newlocale', {'prefix': '#include <locale.h>'}],
104+
['localeconv_l', {'prefix': '#include <locale.h>'}],
104105
['sincos', {'prefix': '#define _GNU_SOURCE\n#include <math.h>'}],
105106
['sincosf', {'prefix': '#define _GNU_SOURCE\n#include <math.h>'}],
106107
]

libs/harfbuzz/harfbuzz-src/src/hb-algs.hh

Lines changed: 34 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,16 @@ static inline constexpr uint32_t hb_uint32_swap (uint32_t v)
8989
{ return (hb_uint16_swap (v) << 16) | hb_uint16_swap (v >> 16); }
9090

9191
template <typename Type>
92-
struct __attribute__((packed)) hb_packed_t { Type v; };
92+
struct __attribute__((packed)) hb_packed_t
93+
{
94+
hb_packed_t () = default;
95+
constexpr hb_packed_t (Type V) : v (V) {}
96+
operator Type () const { return v; }
97+
hb_packed_t & operator = (Type V) { v = V; return *this; }
98+
99+
private:
100+
Type v;
101+
};
93102

94103
#ifndef HB_FAST_NUM_ACCESS
95104

@@ -134,9 +143,9 @@ struct HBInt<BE, Type, 2>
134143
#if HB_FAST_NUM_ACCESS
135144
{
136145
if (BE == (__BYTE_ORDER == __BIG_ENDIAN))
137-
((hb_packed_t<uint16_t> *) v)->v = V;
146+
*((hb_packed_t<uint16_t> *) v) = V;
138147
else
139-
((hb_packed_t<uint16_t> *) v)->v = __builtin_bswap16 (V);
148+
*((hb_packed_t<uint16_t> *) v) = __builtin_bswap16 (V);
140149
}
141150
#else
142151
: v {BE ? uint8_t ((V >> 8) & 0xFF) : uint8_t ((V ) & 0xFF),
@@ -147,9 +156,9 @@ struct HBInt<BE, Type, 2>
147156
{
148157
#if HB_FAST_NUM_ACCESS
149158
return (BE == (__BYTE_ORDER == __BIG_ENDIAN)) ?
150-
((const hb_packed_t<uint16_t> *) v)->v
159+
(uint16_t) *((const hb_packed_t<uint16_t> *) v)
151160
:
152-
__builtin_bswap16 (((const hb_packed_t<uint16_t> *) v)->v)
161+
__builtin_bswap16 ((uint16_t) *((const hb_packed_t<uint16_t> *) v))
153162
;
154163
#else
155164
return (BE ? (v[0] << 8) : (v[0] ))
@@ -186,9 +195,9 @@ struct HBInt<BE, Type, 4>
186195
#if HB_FAST_NUM_ACCESS
187196
{
188197
if (BE == (__BYTE_ORDER == __BIG_ENDIAN))
189-
((hb_packed_t<uint32_t> *) v)->v = V;
198+
*((hb_packed_t<uint32_t> *) v) = V;
190199
else
191-
((hb_packed_t<uint32_t> *) v)->v = __builtin_bswap32 (V);
200+
*((hb_packed_t<uint32_t> *) v) = __builtin_bswap32 (V);
192201
}
193202
#else
194203
: v {BE ? uint8_t ((V >> 24) & 0xFF) : uint8_t ((V ) & 0xFF),
@@ -200,9 +209,9 @@ struct HBInt<BE, Type, 4>
200209
constexpr operator Type () const {
201210
#if HB_FAST_NUM_ACCESS
202211
return (BE == (__BYTE_ORDER == __BIG_ENDIAN)) ?
203-
((const hb_packed_t<uint32_t> *) v)->v
212+
(uint32_t) *((const hb_packed_t<uint32_t> *) v)
204213
:
205-
__builtin_bswap32 (((const hb_packed_t<uint32_t> *) v)->v)
214+
__builtin_bswap32 ((uint32_t) *((const hb_packed_t<uint32_t> *) v))
206215
;
207216
#else
208217
return (BE ? (v[0] << 24) : (v[0] ))
@@ -226,9 +235,9 @@ struct HBInt<BE, Type, 8>
226235
#if HB_FAST_NUM_ACCESS
227236
{
228237
if (BE == (__BYTE_ORDER == __BIG_ENDIAN))
229-
((hb_packed_t<uint64_t> *) v)->v = V;
238+
*((hb_packed_t<uint64_t> *) v) = V;
230239
else
231-
((hb_packed_t<uint64_t> *) v)->v = __builtin_bswap64 (V);
240+
*((hb_packed_t<uint64_t> *) v) = __builtin_bswap64 (V);
232241
}
233242
#else
234243
: v {BE ? uint8_t ((V >> 56) & 0xFF) : uint8_t ((V ) & 0xFF),
@@ -244,9 +253,9 @@ struct HBInt<BE, Type, 8>
244253
constexpr operator Type () const {
245254
#if HB_FAST_NUM_ACCESS
246255
return (BE == (__BYTE_ORDER == __BIG_ENDIAN)) ?
247-
((const hb_packed_t<uint64_t> *) v)->v
256+
(uint64_t) *((const hb_packed_t<uint64_t> *) v)
248257
:
249-
__builtin_bswap64 (((const hb_packed_t<uint64_t> *) v)->v)
258+
__builtin_bswap64 ((uint64_t) *((const hb_packed_t<uint64_t> *) v))
250259
;
251260
#else
252261
return (BE ? (uint64_t (v[0]) << 56) : (uint64_t (v[0]) ))
@@ -276,31 +285,31 @@ struct HBFloat
276285
{
277286
#if HB_FAST_NUM_ACCESS
278287
{
279-
if (BE == (__BYTE_ORDER == __BIG_ENDIAN))
280-
{
281-
((hb_packed_t<Type> *) v)->v = V;
282-
return;
283-
}
284-
}
288+
if (BE == (__BYTE_ORDER == __BIG_ENDIAN))
289+
{
290+
*((hb_packed_t<Type> *) v) = V;
291+
return;
292+
}
293+
}
285294
#endif
286295

287296
union {
288297
hb_packed_t<Type> f;
289298
hb_packed_t<IntType> i;
290299
} u = {{V}};
291300

292-
const HBInt<BE, IntType> I = u.i.v;
301+
const HBInt<BE, IntType> I = (IntType) u.i;
293302
for (unsigned i = 0; i < Bytes; i++)
294303
v[i] = I.v[i];
295304
}
296305

297306
/* c++14 constexpr */ operator Type () const
298307
{
299308
#if HB_FAST_NUM_ACCESS
300-
{
301-
if (BE == (__BYTE_ORDER == __BIG_ENDIAN))
302-
return ((const hb_packed_t<Type> *) v)->v;
303-
}
309+
{
310+
if (BE == (__BYTE_ORDER == __BIG_ENDIAN))
311+
return (Type) *((const hb_packed_t<Type> *) v);
312+
}
304313
#endif
305314

306315
HBInt<BE, IntType> I;
@@ -312,7 +321,7 @@ struct HBFloat
312321
hb_packed_t<Type> f;
313322
} u = {{I}};
314323

315-
return u.f.v;
324+
return (Type) u.f;
316325
}
317326
private: uint8_t v[Bytes];
318327
};

0 commit comments

Comments
 (0)