Skip to content

Commit c8aba19

Browse files
committed
Merge commit 'a1d9bfe62818ef0fa9cf63b6e6d51436b1c93cbc'
2 parents 0abdde9 + a1d9bfe commit c8aba19

File tree

7 files changed

+35
-19
lines changed

7 files changed

+35
-19
lines changed

NEWS

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,10 @@
1+
Overview of changes leading to 10.0.1
2+
Tuesday, Sep 24, 2024
3+
====================================
4+
- Relax sanitization checks for “morx” subtables to fix broken AAT shaping of
5+
macOS 15.0 version of GeezaPro.
6+
7+
18
Overview of changes leading to 10.0.0
29
Monday, Sep 23, 2024
310
====================================

meson.build

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
project('harfbuzz', 'c', 'cpp',
22
meson_version: '>= 0.55.0',
3-
version: '10.0.0',
3+
version: '10.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

src/hb-aat-layout-morx-table.hh

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1062,7 +1062,8 @@ struct ChainSubtable
10621062
bool apply (hb_aat_apply_context_t *c) const
10631063
{
10641064
TRACE_APPLY (this);
1065-
hb_sanitize_with_object_t with (&c->sanitizer, this);
1065+
// Disabled for https://github.com/harfbuzz/harfbuzz/issues/4873
1066+
//hb_sanitize_with_object_t with (&c->sanitizer, this);
10661067
return_trace (dispatch (c));
10671068
}
10681069

@@ -1075,7 +1076,8 @@ struct ChainSubtable
10751076
c->check_range (this, length)))
10761077
return_trace (false);
10771078

1078-
hb_sanitize_with_object_t with (c, this);
1079+
// Disabled for https://github.com/harfbuzz/harfbuzz/issues/4873
1080+
//hb_sanitize_with_object_t with (c, this);
10791081
return_trace (dispatch (c));
10801082
}
10811083

src/hb-open-type.hh

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -654,15 +654,15 @@ struct UnsizedListOfOffset16To : UnsizedArray16OfOffsetTo<Type, OffsetType, Base
654654
unsigned int i = (unsigned int) i_;
655655
const OffsetTo<Type, OffsetType, BaseType, has_null> *p = &this->arrayZ[i];
656656
if (unlikely ((const void *) p < (const void *) this->arrayZ)) return Null (Type); /* Overflowed. */
657-
_hb_compiler_memory_r_barrier ();
657+
hb_barrier ();
658658
return this+*p;
659659
}
660660
Type& operator [] (int i_)
661661
{
662662
unsigned int i = (unsigned int) i_;
663663
const OffsetTo<Type, OffsetType, BaseType, has_null> *p = &this->arrayZ[i];
664664
if (unlikely ((const void *) p < (const void *) this->arrayZ)) return Crap (Type); /* Overflowed. */
665-
_hb_compiler_memory_r_barrier ();
665+
hb_barrier ();
666666
return this+*p;
667667
}
668668

@@ -713,14 +713,14 @@ struct ArrayOf
713713
{
714714
unsigned int i = (unsigned int) i_;
715715
if (unlikely (i >= len)) return Null (Type);
716-
_hb_compiler_memory_r_barrier ();
716+
hb_barrier ();
717717
return arrayZ[i];
718718
}
719719
Type& operator [] (int i_)
720720
{
721721
unsigned int i = (unsigned int) i_;
722722
if (unlikely (i >= len)) return Crap (Type);
723-
_hb_compiler_memory_r_barrier ();
723+
hb_barrier ();
724724
return arrayZ[i];
725725
}
726726

@@ -853,14 +853,14 @@ struct List16OfOffsetTo : ArrayOf<OffsetTo<Type, OffsetType>, HBUINT16>
853853
{
854854
unsigned int i = (unsigned int) i_;
855855
if (unlikely (i >= this->len)) return Null (Type);
856-
_hb_compiler_memory_r_barrier ();
856+
hb_barrier ();
857857
return this+this->arrayZ[i];
858858
}
859859
const Type& operator [] (int i_)
860860
{
861861
unsigned int i = (unsigned int) i_;
862862
if (unlikely (i >= this->len)) return Crap (Type);
863-
_hb_compiler_memory_r_barrier ();
863+
hb_barrier ();
864864
return this+this->arrayZ[i];
865865
}
866866

@@ -898,14 +898,14 @@ struct HeadlessArrayOf
898898
{
899899
unsigned int i = (unsigned int) i_;
900900
if (unlikely (i >= lenP1 || !i)) return Null (Type);
901-
_hb_compiler_memory_r_barrier ();
901+
hb_barrier ();
902902
return arrayZ[i-1];
903903
}
904904
Type& operator [] (int i_)
905905
{
906906
unsigned int i = (unsigned int) i_;
907907
if (unlikely (i >= lenP1 || !i)) return Crap (Type);
908-
_hb_compiler_memory_r_barrier ();
908+
hb_barrier ();
909909
return arrayZ[i-1];
910910
}
911911
unsigned int get_size () const
@@ -992,14 +992,14 @@ struct ArrayOfM1
992992
{
993993
unsigned int i = (unsigned int) i_;
994994
if (unlikely (i > lenM1)) return Null (Type);
995-
_hb_compiler_memory_r_barrier ();
995+
hb_barrier ();
996996
return arrayZ[i];
997997
}
998998
Type& operator [] (int i_)
999999
{
10001000
unsigned int i = (unsigned int) i_;
10011001
if (unlikely (i > lenM1)) return Crap (Type);
1002-
_hb_compiler_memory_r_barrier ();
1002+
hb_barrier ();
10031003
return arrayZ[i];
10041004
}
10051005
unsigned int get_size () const
@@ -1184,14 +1184,14 @@ struct VarSizedBinSearchArrayOf
11841184
{
11851185
unsigned int i = (unsigned int) i_;
11861186
if (unlikely (i >= get_length ())) return Null (Type);
1187-
_hb_compiler_memory_r_barrier ();
1187+
hb_barrier ();
11881188
return StructAtOffset<Type> (&bytesZ, i * header.unitSize);
11891189
}
11901190
Type& operator [] (int i_)
11911191
{
11921192
unsigned int i = (unsigned int) i_;
11931193
if (unlikely (i >= get_length ())) return Crap (Type);
1194-
_hb_compiler_memory_r_barrier ();
1194+
hb_barrier ();
11951195
return StructAtOffset<Type> (&bytesZ, i * header.unitSize);
11961196
}
11971197
unsigned int get_length () const
@@ -1441,7 +1441,7 @@ struct CFFIndex
14411441
hb_ubytes_t operator [] (unsigned int index) const
14421442
{
14431443
if (unlikely (index >= count)) return hb_ubytes_t ();
1444-
_hb_compiler_memory_r_barrier ();
1444+
hb_barrier ();
14451445
unsigned offset0 = offset_at (index);
14461446
unsigned offset1 = offset_at (index + 1);
14471447
if (unlikely (offset1 < offset0 || offset1 > offset_at (count)))

src/hb-ot-var-gvar-table.hh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -546,7 +546,7 @@ struct gvar
546546
unsigned get_offset (unsigned glyph_count, unsigned i) const
547547
{
548548
if (unlikely (i > glyph_count)) return 0;
549-
_hb_compiler_memory_r_barrier ();
549+
hb_barrier ();
550550
return is_long_offset () ? get_long_offset_array ()[i] : get_short_offset_array ()[i] * 2;
551551
}
552552

src/hb-version.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,14 +53,14 @@ HB_BEGIN_DECLS
5353
*
5454
* The micro component of the library version available at compile-time.
5555
*/
56-
#define HB_VERSION_MICRO 0
56+
#define HB_VERSION_MICRO 1
5757

5858
/**
5959
* HB_VERSION_STRING:
6060
*
6161
* A string literal containing the library version available at compile-time.
6262
*/
63-
#define HB_VERSION_STRING "10.0.0"
63+
#define HB_VERSION_STRING "10.0.1"
6464

6565
/**
6666
* HB_VERSION_ATLEAST:

test/shape/data/in-house/tests/macos.tests

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,3 +159,10 @@
159159

160160
# 12.3
161161
/System/Library/Fonts/Apple Color Emoji.ttc@8fa6ac4564651899da0b37d310d980db4de967d6;--font-funcs ot;1FAF1,1F3FF,200D,1FAF2,1F3FC;[u1FAF1.5.L=0+800|u1FAF2.2.R=0@-800,0+0]
162+
163+
# 15.0
164+
/System/Library/Fonts/GeezaPro.ttc@fec826d69594ad925665f93252d8b20daf6b0879;--font-funcs ot;U+0627,U+0644,U+0623,U+064E,U+0628,U+0652,U+062C,U+064E,U+062F,U+0650,U+064A,U+064E,U+0651,U+0629,U+0640,U+0627,U+0644,U+0639,U+064E,U+0631,U+064E,U+0628,U+0650,U+064A,U+064E,U+0651,U+0629;[u0629.final.tehMarbuta=26+713|u064e_u0651.shaddaFatha=23@0,-200+0|u064a.medial.yeh=23+656|u0650.kasra=21@80,290+80|u0628.initial.beh=21@-80,0+576|u064e.fatha=19@200,-570+200|u0631.final.reh=19@-200,0+702|u064e.fatha=17@200,-200+200|u0639.medial.ain=17@-200,0+738|u0644.initial.lam=16+515|u0627.final.alef=15+647|u0640.tatweel=14+449|u0629.final.tehMarbuta=13+713|u064e_u0651.shaddaFatha=10@0,-200+0|u064a.initial.yeh=10+656|u0650.kasra=8@80,570+80|u062f.final.dal=8@-80,0+822|u064e.fatha=6@290,-160+290|u062c.medial.jeem=6@-290,0+1069|u0652.sukun=4@0,-200+0|u0628.initial.beh=4+656|u064e.fatha=1@-372,120+-372|u0644_u0623.isolated.lamHamzaOnAlef=1@120,0+1282|u0627.alef=0+647]
165+
/System/Library/Fonts/GeezaPro.ttc@fec826d69594ad925665f93252d8b20daf6b0879;--font-funcs ot;U+0628,U+064A,U+064E,U+0651,U+0629;[u0629.final.tehMarbuta=4+713|u064e_u0651.shaddaFatha=1@0,-200+0|u064a.medial.yeh=1+656|u0628.initial.beh=0+656]
166+
/System/Library/Fonts/GeezaPro.ttc@fec826d69594ad925665f93252d8b20daf6b0879;--font-funcs ot;U+0631,U+0628;[u0628.beh=1+1415|u0631.reh=0@-202,0+700]
167+
/System/Library/Fonts/GeezaPro.ttc@fec826d69594ad925665f93252d8b20daf6b0879;--font-funcs ot;U+0628,U+064F;[u064f.damma=0@250,-250+250|u0628.beh=0@-250,0+1165]
168+
/System/Library/Fonts/GeezaPro.ttc@fec826d69594ad925665f93252d8b20daf6b0879;--font-funcs ot;U+0644,U+064E,U+0645,U+064E,U+0651,U+0627;[u0627.final.alef=5+647|u064e.fatha=0@-80,160+-80|u064e_u0651.shaddaFatha=0@490,250+490|u0644_u0645.initial.lamMeem=0@-410,0+415]

0 commit comments

Comments
 (0)