xref: /aosp_15_r20/external/harfbuzz_ng/NEWS (revision 2d1272b857b1f7575e6e246373e1cb218663db8a)
1*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 10.1.0
2*2d1272b8SAndroid Build Coastguard WorkerTuesday, November 5, 2024
3*2d1272b8SAndroid Build Coastguard Worker====================================
4*2d1272b8SAndroid Build Coastguard Worker- Fix the sign of fallback vertical glyph advance (used when font has no
5*2d1272b8SAndroid Build Coastguard Worker  vertical advance data).
6*2d1272b8SAndroid Build Coastguard Worker- Increase maximum “CFF” operands limit 20 times to support more complex fonts.
7*2d1272b8SAndroid Build Coastguard Worker- Add “--face-loader” option to command line utilities.
8*2d1272b8SAndroid Build Coastguard Worker- Support “COLR” v0 table in hb_font_get_glyph_extents().
9*2d1272b8SAndroid Build Coastguard Worker- Add support for font functions that use Core Text APIs, similar to FreeType
10*2d1272b8SAndroid Build Coastguard Worker  font functions. This allows, for example, using drawing fonts that use the new
11*2d1272b8SAndroid Build Coastguard Worker  (and undocumented) “hvgl” table.
12*2d1272b8SAndroid Build Coastguard Worker- Update IANA and OT language registries, as well ase USE data files.
13*2d1272b8SAndroid Build Coastguard Worker- Fix build with ICU 76.
14*2d1272b8SAndroid Build Coastguard Worker- Various compiler warnings and build fixes.
15*2d1272b8SAndroid Build Coastguard Worker- Various subsetter fixes.
16*2d1272b8SAndroid Build Coastguard Worker
17*2d1272b8SAndroid Build Coastguard Worker- New API:
18*2d1272b8SAndroid Build Coastguard Worker+hb_face_create_or_fail()
19*2d1272b8SAndroid Build Coastguard Worker+hb_face_create_from_file_or_fail()
20*2d1272b8SAndroid Build Coastguard Worker+hb_coretext_face_create_from_file_or_fail()
21*2d1272b8SAndroid Build Coastguard Worker+hb_coretext_font_set_funcs()
22*2d1272b8SAndroid Build Coastguard Worker+hb_ft_face_create_from_file_or_fail()
23*2d1272b8SAndroid Build Coastguard Worker
24*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 10.0.1
25*2d1272b8SAndroid Build Coastguard WorkerTuesday, September 24, 2024
26*2d1272b8SAndroid Build Coastguard Worker====================================
27*2d1272b8SAndroid Build Coastguard Worker- Relax sanitization checks for “morx” subtables to fix broken AAT shaping of
28*2d1272b8SAndroid Build Coastguard Worker  macOS 15.0 version of GeezaPro.
29*2d1272b8SAndroid Build Coastguard Worker
30*2d1272b8SAndroid Build Coastguard Worker
31*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 10.0.0
32*2d1272b8SAndroid Build Coastguard WorkerMonday, September 23, 2024
33*2d1272b8SAndroid Build Coastguard Worker====================================
34*2d1272b8SAndroid Build Coastguard Worker- Unicode 16.0.0 support.
35*2d1272b8SAndroid Build Coastguard Worker- Various documentation fixes.
36*2d1272b8SAndroid Build Coastguard Worker- Various build fixes.
37*2d1272b8SAndroid Build Coastguard Worker- Add API to allow HarfBuzz client to set what glyph to use when a Unicode
38*2d1272b8SAndroid Build Coastguard Worker  Variation Selector is not supported by the font, which would allow the client
39*2d1272b8SAndroid Build Coastguard Worker  to customize what happens in this case, by using a different font for example.
40*2d1272b8SAndroid Build Coastguard Worker- Add a callback to for “hb_face_t” for getting the list of table tags. This is
41*2d1272b8SAndroid Build Coastguard Worker  now used to make calling “hb_face_get_table_tags()” work on a faces created by
42*2d1272b8SAndroid Build Coastguard Worker  “hb_face_create_for_tables()” (e.g. faces returned by “hb_subset_or_fail()”).
43*2d1272b8SAndroid Build Coastguard Worker- CGJ and Mongolian Variation Selectors are now ignored during glyph
44*2d1272b8SAndroid Build Coastguard Worker  positioning, previously they would block both glyph substitution and
45*2d1272b8SAndroid Build Coastguard Worker  positioning across them.
46*2d1272b8SAndroid Build Coastguard Worker- Support cairo script as an output format for “hb-view” command line tool.
47*2d1272b8SAndroid Build Coastguard Worker- Drop an optimization that would cause HarfBuzz not apply pair positioning
48*2d1272b8SAndroid Build Coastguard Worker  lookup subtables under certain circumstances, for compatibility with other
49*2d1272b8SAndroid Build Coastguard Worker  implementations that do apply these subtables.
50*2d1272b8SAndroid Build Coastguard Worker- Subsetting will now fail if source font has no glyphs, so feeding the subsetter
51*2d1272b8SAndroid Build Coastguard Worker  invalid data will not silently return an empty face.
52*2d1272b8SAndroid Build Coastguard Worker- If after partially instancing a font no variation data is left (the instance
53*2d1272b8SAndroid Build Coastguard Worker  is fully static), don’t consider this a failure.
54*2d1272b8SAndroid Build Coastguard Worker- Workaround a Firefox bug in displaying SVGs generated be “hb-view” command
55*2d1272b8SAndroid Build Coastguard Worker  line tool under certain circumstances.
56*2d1272b8SAndroid Build Coastguard Worker- Fix bug in macroman mapping for “cmap” table.
57*2d1272b8SAndroid Build Coastguard Worker- Fix difference shaping output when HarfBuzz is built with with
58*2d1272b8SAndroid Build Coastguard Worker  “HB_NO_OT_RULESETS_FAST_PATH” enabled.
59*2d1272b8SAndroid Build Coastguard Worker- Various subsetting and instancing fixes.
60*2d1272b8SAndroid Build Coastguard Worker- Various fuzzing fixes.
61*2d1272b8SAndroid Build Coastguard Worker- Add “with_libstdcxx” meson build option.
62*2d1272b8SAndroid Build Coastguard Worker
63*2d1272b8SAndroid Build Coastguard Worker
64*2d1272b8SAndroid Build Coastguard Worker- New API:
65*2d1272b8SAndroid Build Coastguard Worker+HB_SCRIPT_GARAY
66*2d1272b8SAndroid Build Coastguard Worker+HB_SCRIPT_GURUNG_KHEMA
67*2d1272b8SAndroid Build Coastguard Worker+HB_SCRIPT_KIRAT_RAI
68*2d1272b8SAndroid Build Coastguard Worker+HB_SCRIPT_OL_ONAL
69*2d1272b8SAndroid Build Coastguard Worker+HB_SCRIPT_SUNUWAR
70*2d1272b8SAndroid Build Coastguard Worker+HB_SCRIPT_TODHRI
71*2d1272b8SAndroid Build Coastguard Worker+HB_SCRIPT_TULU_TIGALARI
72*2d1272b8SAndroid Build Coastguard Worker+hb_buffer_set_not_found_variation_selector_glyph()
73*2d1272b8SAndroid Build Coastguard Worker+hb_buffer_get_not_found_variation_selector_glyph()
74*2d1272b8SAndroid Build Coastguard Worker+hb_get_table_tags_func_t
75*2d1272b8SAndroid Build Coastguard Worker+hb_face_set_get_table_tags_func()
76*2d1272b8SAndroid Build Coastguard Worker
77*2d1272b8SAndroid Build Coastguard Worker
78*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 9.0.0
79*2d1272b8SAndroid Build Coastguard WorkerThursday, Jun 27, 2024
80*2d1272b8SAndroid Build Coastguard Worker====================================
81*2d1272b8SAndroid Build Coastguard Worker- HarfBuzz now the supports the proposed new OpenType “VARC” table. This
82*2d1272b8SAndroid Build Coastguard Worker  replaces the previously supported “Variable Composites” experimental feature.
83*2d1272b8SAndroid Build Coastguard Worker  “VARC” support is still experimental and it is not enabled unless HarfBuzz is
84*2d1272b8SAndroid Build Coastguard Worker  built with experimental APIs enabled:
85*2d1272b8SAndroid Build Coastguard Worker  https://github.com/harfbuzz/boring-expansion-spec/blob/main/VARC.md
86*2d1272b8SAndroid Build Coastguard Worker- Autotools build system have been dropped. Meson is the only supported build
87*2d1272b8SAndroid Build Coastguard Worker  system in HarfBuzz going forward.
88*2d1272b8SAndroid Build Coastguard Worker- Speed up “AAT” shaping for short words by up to 4%.
89*2d1272b8SAndroid Build Coastguard Worker- Ignore unknown “CFF” operators.
90*2d1272b8SAndroid Build Coastguard Worker- “hb_subset_input_keep_everything()” now keeps also non-unicode “name” table
91*2d1272b8SAndroid Build Coastguard Worker  records.
92*2d1272b8SAndroid Build Coastguard Worker- Update the IANA and OpenType language tag registries.
93*2d1272b8SAndroid Build Coastguard Worker- Support composite glyphs with very large number of points in hb-draw API.
94*2d1272b8SAndroid Build Coastguard Worker- Various build fixes.
95*2d1272b8SAndroid Build Coastguard Worker
96*2d1272b8SAndroid Build Coastguard Worker
97*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 8.5.0
98*2d1272b8SAndroid Build Coastguard WorkerMonday, May 13, 2024
99*2d1272b8SAndroid Build Coastguard Worker====================================
100*2d1272b8SAndroid Build Coastguard Worker- API for partial instancing is now stable and have been promoted out of
101*2d1272b8SAndroid Build Coastguard Worker  experimental APIs.
102*2d1272b8SAndroid Build Coastguard Worker- Support instancing “BASE” table.
103*2d1272b8SAndroid Build Coastguard Worker- Speedup AAT shaping by 13–30%.
104*2d1272b8SAndroid Build Coastguard Worker- Various build fixes.
105*2d1272b8SAndroid Build Coastguard Worker- Various subsetter and instancer fixes.
106*2d1272b8SAndroid Build Coastguard Worker
107*2d1272b8SAndroid Build Coastguard Worker- New API:
108*2d1272b8SAndroid Build Coastguard Worker+HB_SUBSET_FLAGS_OPTIMIZE_IUP_DELTAS
109*2d1272b8SAndroid Build Coastguard Worker+hb_subset_input_get_axis_range()
110*2d1272b8SAndroid Build Coastguard Worker+hb_subset_input_pin_axis_location()
111*2d1272b8SAndroid Build Coastguard Worker
112*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 8.4.0
113*2d1272b8SAndroid Build Coastguard WorkerSaturday, March 29, 2024
114*2d1272b8SAndroid Build Coastguard Worker====================================
115*2d1272b8SAndroid Build Coastguard Worker- Add /bigobj to MSVC compiler flags in meson build, to fix building hb-subset.cc
116*2d1272b8SAndroid Build Coastguard Worker- Specify minimum versions of various dependencies in meson and autotools build.
117*2d1272b8SAndroid Build Coastguard Worker- When subsetting, place variation store at the end of “GDEF” table  to fix
118*2d1272b8SAndroid Build Coastguard Worker  shaping issues with some versions of Adobe InDesign.
119*2d1272b8SAndroid Build Coastguard Worker- Various build fixes.
120*2d1272b8SAndroid Build Coastguard Worker
121*2d1272b8SAndroid Build Coastguard Worker- New API:
122*2d1272b8SAndroid Build Coastguard Worker+hb_buffer_set_random_state()
123*2d1272b8SAndroid Build Coastguard Worker+hb_buffer_get_random_state()
124*2d1272b8SAndroid Build Coastguard Worker
125*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 8.3.1
126*2d1272b8SAndroid Build Coastguard WorkerSaturday, March 16, 2024
127*2d1272b8SAndroid Build Coastguard Worker====================================
128*2d1272b8SAndroid Build Coastguard Worker- hb_blob_create_from_file_or_fail() on Windows will now try to interpret the
129*2d1272b8SAndroid Build Coastguard Worker  file name as UTF-8 first, and as system code page if it is not valid UTF-8.
130*2d1272b8SAndroid Build Coastguard Worker- Fix hb_style_get_value() in fonts with “STAT” table.
131*2d1272b8SAndroid Build Coastguard Worker- Properly handle negative offsets in CFF table.
132*2d1272b8SAndroid Build Coastguard Worker- Update IANA Language Subtag Registry to 2024-03-07.
133*2d1272b8SAndroid Build Coastguard Worker- Subsetter now supports subsetting “BASE” table.
134*2d1272b8SAndroid Build Coastguard Worker- Subsetter will update “hhea” font metrics in sync with “OS/2” ones.
135*2d1272b8SAndroid Build Coastguard Worker- “--variations” option of “hb-subset” now supports leaving out values that
136*2d1272b8SAndroid Build Coastguard Worker  should be unchanged, e.g. “wght=:500:” will change the default and keep max
137*2d1272b8SAndroid Build Coastguard Worker  and min unchanged. It also supports “*=drop” to to pin all axes to default
138*2d1272b8SAndroid Build Coastguard Worker  location.
139*2d1272b8SAndroid Build Coastguard Worker- Fix hb_ot_math_get_glyph_kerning() to match updated “MATH” table spec.
140*2d1272b8SAndroid Build Coastguard Worker- Support legacy MacRoman encoding in “cmap” table.
141*2d1272b8SAndroid Build Coastguard Worker- Various build fixes.
142*2d1272b8SAndroid Build Coastguard Worker- Various subsetting and instancing fixes.
143*2d1272b8SAndroid Build Coastguard Worker
144*2d1272b8SAndroid Build Coastguard Worker- New API:
145*2d1272b8SAndroid Build Coastguard Workerhb_subset_input_pin_all_axes_to_default()
146*2d1272b8SAndroid Build Coastguard Worker
147*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 8.3.0
148*2d1272b8SAndroid Build Coastguard WorkerSaturday, November 11, 2023
149*2d1272b8SAndroid Build Coastguard Worker====================================
150*2d1272b8SAndroid Build Coastguard Worker- Improve memory barrier to fix potential segfaults.
151*2d1272b8SAndroid Build Coastguard Worker- Various build fixes.
152*2d1272b8SAndroid Build Coastguard Worker- Various subsetting and instancing fixes.
153*2d1272b8SAndroid Build Coastguard Worker- Rename “hb-subset” option “--instance” to “--variations” to match the other
154*2d1272b8SAndroid Build Coastguard Worker  tools. Old option is kept as an alias.
155*2d1272b8SAndroid Build Coastguard Worker
156*2d1272b8SAndroid Build Coastguard Worker- New API:
157*2d1272b8SAndroid Build Coastguard WorkerHB_AAT_LAYOUT_FEATURE_TYPE_CURSIVE_CONNECTION
158*2d1272b8SAndroid Build Coastguard Worker
159*2d1272b8SAndroid Build Coastguard Worker- Deprecated API:
160*2d1272b8SAndroid Build Coastguard WorkerHB_AAT_LAYOUT_FEATURE_TYPE_CURISVE_CONNECTION
161*2d1272b8SAndroid Build Coastguard Worker
162*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 8.2.2
163*2d1272b8SAndroid Build Coastguard WorkerWednesday, October 18, 2023
164*2d1272b8SAndroid Build Coastguard Worker“From the river to the sea, Palestine will be free”
165*2d1272b8SAndroid Build Coastguard Worker====================================
166*2d1272b8SAndroid Build Coastguard Worker- Fix regression from 8.1.0 in shaping fonts with duplicate feature tags.
167*2d1272b8SAndroid Build Coastguard Worker- Fix regression from 8.2.0 in parsing CSS-style feature strings.
168*2d1272b8SAndroid Build Coastguard Worker- Variable fonts instanciation now handles more tables.
169*2d1272b8SAndroid Build Coastguard Worker- Various CMake build improvements.
170*2d1272b8SAndroid Build Coastguard Worker- various fixes to build without errors with gcc 4.9.2.
171*2d1272b8SAndroid Build Coastguard Worker
172*2d1272b8SAndroid Build Coastguard Worker
173*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 8.2.1
174*2d1272b8SAndroid Build Coastguard WorkerMonday, September 18, 2023
175*2d1272b8SAndroid Build Coastguard Worker====================================
176*2d1272b8SAndroid Build Coastguard Worker- Unicode 15.1 support.
177*2d1272b8SAndroid Build Coastguard Worker
178*2d1272b8SAndroid Build Coastguard Worker
179*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 8.2.0
180*2d1272b8SAndroid Build Coastguard WorkerFriday, September 8, 2023
181*2d1272b8SAndroid Build Coastguard Worker====================================
182*2d1272b8SAndroid Build Coastguard Worker- Various build and fuzzing fixes
183*2d1272b8SAndroid Build Coastguard Worker- Improvements to COLRv1 painting.
184*2d1272b8SAndroid Build Coastguard Worker
185*2d1272b8SAndroid Build Coastguard Worker- New API:
186*2d1272b8SAndroid Build Coastguard Worker+hb_paint_color_glyph_func_t
187*2d1272b8SAndroid Build Coastguard Worker+hb_paint_funcs_set_color_glyph_func
188*2d1272b8SAndroid Build Coastguard Worker+hb_paint_color_glyph
189*2d1272b8SAndroid Build Coastguard Worker
190*2d1272b8SAndroid Build Coastguard Worker
191*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 8.1.1
192*2d1272b8SAndroid Build Coastguard WorkerWednesday, August 2, 2023
193*2d1272b8SAndroid Build Coastguard Worker====================================
194*2d1272b8SAndroid Build Coastguard Worker- Fix shaping of contextual rules at the end of string, introduced in 8.1.0
195*2d1272b8SAndroid Build Coastguard Worker- Fix stack-overflow in repacker with malicious fonts.
196*2d1272b8SAndroid Build Coastguard Worker- 30% speed up loading Noto Duployan font.
197*2d1272b8SAndroid Build Coastguard Worker
198*2d1272b8SAndroid Build Coastguard Worker
199*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 8.1.0
200*2d1272b8SAndroid Build Coastguard WorkerTuesday, August 1, 2023
201*2d1272b8SAndroid Build Coastguard Worker====================================
202*2d1272b8SAndroid Build Coastguard Worker- Fix long-standing build issue with the AIX compiler and older Apple clang.
203*2d1272b8SAndroid Build Coastguard Worker
204*2d1272b8SAndroid Build Coastguard Worker- Revert optimization that could cause timeout during subsetting with malicious fonts.
205*2d1272b8SAndroid Build Coastguard Worker
206*2d1272b8SAndroid Build Coastguard Worker- More optimization work:
207*2d1272b8SAndroid Build Coastguard Worker  - 45% speed up in shaping Noto Duployan font.
208*2d1272b8SAndroid Build Coastguard Worker  - 10% speed up in subsetting Noto Duployan font.
209*2d1272b8SAndroid Build Coastguard Worker  - Another 8% speed up in shaping Gulzar.
210*2d1272b8SAndroid Build Coastguard Worker  - 5% speed up in loading Roboto.
211*2d1272b8SAndroid Build Coastguard Worker
212*2d1272b8SAndroid Build Coastguard Worker- New API:
213*2d1272b8SAndroid Build Coastguard Worker+hb_ot_layout_collect_features_map()
214*2d1272b8SAndroid Build Coastguard Worker
215*2d1272b8SAndroid Build Coastguard Worker
216*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 8.0.1
217*2d1272b8SAndroid Build Coastguard WorkerWednesday, July 12, 2023
218*2d1272b8SAndroid Build Coastguard Worker====================================
219*2d1272b8SAndroid Build Coastguard Worker- Build fix on 32-bit ARM.
220*2d1272b8SAndroid Build Coastguard Worker
221*2d1272b8SAndroid Build Coastguard Worker- More speed optimizations:
222*2d1272b8SAndroid Build Coastguard Worker  - 60% speed up in retain-gid (used for IFT) subsetting of SourceHanSans-VF.
223*2d1272b8SAndroid Build Coastguard Worker  - 16% speed up in retain-gid (used for IFT) subsetting of NotoSansCJKkr.
224*2d1272b8SAndroid Build Coastguard Worker  - 38% speed up in subsetting (beyond-64k) mega-merged Noto.
225*2d1272b8SAndroid Build Coastguard Worker
226*2d1272b8SAndroid Build Coastguard Worker
227*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 8.0.0
228*2d1272b8SAndroid Build Coastguard WorkerSunday, July 9, 2023
229*2d1272b8SAndroid Build Coastguard Worker====================================
230*2d1272b8SAndroid Build Coastguard Worker- New, experimental, WebAssembly (WASM) shaper, that provides greater
231*2d1272b8SAndroid Build Coastguard Worker  flexibility over OpenType/AAT/Graphite shaping, using WebAssembly embedded
232*2d1272b8SAndroid Build Coastguard Worker  inside the font file. Currently WASM shaper is disabled by default and needs
233*2d1272b8SAndroid Build Coastguard Worker  to be enabled at build time. For details, see:
234*2d1272b8SAndroid Build Coastguard Worker
235*2d1272b8SAndroid Build Coastguard Worker    https://github.com/harfbuzz/harfbuzz/blob/main/docs/wasm-shaper.md
236*2d1272b8SAndroid Build Coastguard Worker
237*2d1272b8SAndroid Build Coastguard Worker  For example fonts making use of the WASM shaper, see:
238*2d1272b8SAndroid Build Coastguard Worker
239*2d1272b8SAndroid Build Coastguard Worker    https://github.com/harfbuzz/harfbuzz-wasm-examples
240*2d1272b8SAndroid Build Coastguard Worker
241*2d1272b8SAndroid Build Coastguard Worker- Improvements to Experimental features introduced in earlier releases:
242*2d1272b8SAndroid Build Coastguard Worker  - Support for subsetting beyond-64k and VarComposites fonts.
243*2d1272b8SAndroid Build Coastguard Worker  - Support for instancing variable fonts with cubic “glyf” table.
244*2d1272b8SAndroid Build Coastguard Worker
245*2d1272b8SAndroid Build Coastguard Worker- Many big speed optimizations:
246*2d1272b8SAndroid Build Coastguard Worker  - Up to 89% speedup loading variable fonts for shaping.
247*2d1272b8SAndroid Build Coastguard Worker  - Up to 88% speedup in small subsets of large (eg. CJK) fonts (both TTF and
248*2d1272b8SAndroid Build Coastguard Worker    OTF), essential for Incremental Font Transfer (IFT).
249*2d1272b8SAndroid Build Coastguard Worker  - Over 50% speedup in loading Roboto font for shaping.
250*2d1272b8SAndroid Build Coastguard Worker  - Up to 40% speed up in loading (sanitizing) complex fonts.
251*2d1272b8SAndroid Build Coastguard Worker  - 30% speed up in shaping Gulzar font.
252*2d1272b8SAndroid Build Coastguard Worker  - Over 25% speedup in glyph loading Roboto font.
253*2d1272b8SAndroid Build Coastguard Worker  - 10% speed up loading glyph shapes in VarComposite Hangul font.
254*2d1272b8SAndroid Build Coastguard Worker  - hb-hashmap optimizations & hashing improvements.
255*2d1272b8SAndroid Build Coastguard Worker
256*2d1272b8SAndroid Build Coastguard Worker- New macro HB_ALWAYS_INLINE. HarfBuzz now inlines functions more aggressively,
257*2d1272b8SAndroid Build Coastguard Worker  which results in some speedup at the expense of bigger code size. To disable
258*2d1272b8SAndroid Build Coastguard Worker  this feature define the macro to just inline.
259*2d1272b8SAndroid Build Coastguard Worker
260*2d1272b8SAndroid Build Coastguard Worker- New API:
261*2d1272b8SAndroid Build Coastguard Worker+HB_CODEPOINT_INVALID
262*2d1272b8SAndroid Build Coastguard Worker+hb_ot_layout_get_baseline2()
263*2d1272b8SAndroid Build Coastguard Worker+hb_ot_layout_get_baseline_with_fallback2()
264*2d1272b8SAndroid Build Coastguard Worker+hb_ot_layout_get_font_extents()
265*2d1272b8SAndroid Build Coastguard Worker+hb_ot_layout_get_font_extents2()
266*2d1272b8SAndroid Build Coastguard Worker+hb_subset_input_set_axis_range()
267*2d1272b8SAndroid Build Coastguard Worker
268*2d1272b8SAndroid Build Coastguard Worker
269*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 7.3.0
270*2d1272b8SAndroid Build Coastguard WorkerTuesday, May 9, 2023
271*2d1272b8SAndroid Build Coastguard Worker====================================
272*2d1272b8SAndroid Build Coastguard Worker- Speedup applying glyph variation in VarComposites fonts (over 40% speedup).
273*2d1272b8SAndroid Build Coastguard Worker  (Behdad Esfahbod)
274*2d1272b8SAndroid Build Coastguard Worker- Speedup instancing some fonts (over 20% speedup in instancing RobotoFlex).
275*2d1272b8SAndroid Build Coastguard Worker  (Behdad Esfahbod)
276*2d1272b8SAndroid Build Coastguard Worker- Speedup shaping some fonts (over 30% speedup in shaping Roboto).
277*2d1272b8SAndroid Build Coastguard Worker  (Behdad Esfahbod)
278*2d1272b8SAndroid Build Coastguard Worker- Support subsetting VarComposites and beyond-64k fonts. (Behdad Esfahbod)
279*2d1272b8SAndroid Build Coastguard Worker- New configuration macro HB_MINIMIZE_MEMORY_USAGE to favor optimizing memory
280*2d1272b8SAndroid Build Coastguard Worker  usage over speed. (Behdad Esfahbod)
281*2d1272b8SAndroid Build Coastguard Worker- Supporting setting the mapping between old and new glyph indices during
282*2d1272b8SAndroid Build Coastguard Worker  subsetting. (Garret Rieger)
283*2d1272b8SAndroid Build Coastguard Worker- Various fixes and improvements.
284*2d1272b8SAndroid Build Coastguard Worker  (Behdad Esfahbod, Denis Rochette, Garret Rieger, Han Seung Min, Qunxin Liu)
285*2d1272b8SAndroid Build Coastguard Worker
286*2d1272b8SAndroid Build Coastguard Worker- New API:
287*2d1272b8SAndroid Build Coastguard Worker+hb_subset_input_old_to_new_glyph_mapping()
288*2d1272b8SAndroid Build Coastguard Worker
289*2d1272b8SAndroid Build Coastguard Worker
290*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 7.2.0
291*2d1272b8SAndroid Build Coastguard WorkerThursday, April 27, 2023
292*2d1272b8SAndroid Build Coastguard Worker====================================
293*2d1272b8SAndroid Build Coastguard Worker- Add Tifinagh to the list of scripts that can natively be either right-to-left
294*2d1272b8SAndroid Build Coastguard Worker  or left-to-right, to improve handling of its glyph positioning.
295*2d1272b8SAndroid Build Coastguard Worker  (Simon Cozens)
296*2d1272b8SAndroid Build Coastguard Worker- Return also single substitution from hb_ot_layout_lookup_get_glyph_alternates()
297*2d1272b8SAndroid Build Coastguard Worker  (Behdad Esfahbod)
298*2d1272b8SAndroid Build Coastguard Worker- Fix 4.2.0 regression in applying across syllables in syllabic scripts.
299*2d1272b8SAndroid Build Coastguard Worker  (Behdad Esfahbod)
300*2d1272b8SAndroid Build Coastguard Worker- Add flag to avoid glyph substitution closure during subsetting, and the
301*2d1272b8SAndroid Build Coastguard Worker  corresponding “--no-layout-closure” option to “hb-subset” command line tool.
302*2d1272b8SAndroid Build Coastguard Worker  (Garret Rieger)
303*2d1272b8SAndroid Build Coastguard Worker- Support instancing COLRv1 table. (Qunxin Liu)
304*2d1272b8SAndroid Build Coastguard Worker- Don’t drop used user-defined name table entries during subsetting.
305*2d1272b8SAndroid Build Coastguard Worker  (Qunxin Liu)
306*2d1272b8SAndroid Build Coastguard Worker- Optimize handling of “gvar” table. (Behdad Esfahbod)
307*2d1272b8SAndroid Build Coastguard Worker- Various subsetter bug fixes and improvements. (Garret Rieger, Qunxin Liu)
308*2d1272b8SAndroid Build Coastguard Worker- Various documentation improvements. (Behdad Esfahbod, Josef Friedrich)
309*2d1272b8SAndroid Build Coastguard Worker
310*2d1272b8SAndroid Build Coastguard Worker- New API:
311*2d1272b8SAndroid Build Coastguard Worker+HB_SUBSET_FLAGS_NO_LAYOUT_CLOSURE
312*2d1272b8SAndroid Build Coastguard Worker+HB_UNICODE_COMBINING_CLASS_CCC132
313*2d1272b8SAndroid Build Coastguard Worker
314*2d1272b8SAndroid Build Coastguard Worker- Deprecated API:
315*2d1272b8SAndroid Build Coastguard Worker+HB_UNICODE_COMBINING_CLASS_CCC133
316*2d1272b8SAndroid Build Coastguard Worker
317*2d1272b8SAndroid Build Coastguard Worker
318*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 7.1.0
319*2d1272b8SAndroid Build Coastguard WorkerFriday, March 3, 2023
320*2d1272b8SAndroid Build Coastguard Worker====================================
321*2d1272b8SAndroid Build Coastguard Worker- New experimental hb_shape_justify() API that uses font variations to expand
322*2d1272b8SAndroid Build Coastguard Worker  or shrink the text to a given advance. (Behdad Esfahbod)
323*2d1272b8SAndroid Build Coastguard Worker- Various build and bug fixes. (Behdad Esfahbod, Garret Rieger, Qunxin Liu)
324*2d1272b8SAndroid Build Coastguard Worker
325*2d1272b8SAndroid Build Coastguard Worker- New API:
326*2d1272b8SAndroid Build Coastguard Worker+hb_font_set_variation()
327*2d1272b8SAndroid Build Coastguard Worker
328*2d1272b8SAndroid Build Coastguard Worker
329*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 7.0.1
330*2d1272b8SAndroid Build Coastguard WorkerMonday, February 20, 2023
331*2d1272b8SAndroid Build Coastguard Worker====================================
332*2d1272b8SAndroid Build Coastguard Worker- Various build and bug fixes.
333*2d1272b8SAndroid Build Coastguard Worker
334*2d1272b8SAndroid Build Coastguard Worker
335*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 7.0.0
336*2d1272b8SAndroid Build Coastguard WorkerSaturday, February 11, 2023
337*2d1272b8SAndroid Build Coastguard Worker====================================
338*2d1272b8SAndroid Build Coastguard Worker- New hb-paint API that is designed mainly to paint “COLRv1” glyphs, but can be
339*2d1272b8SAndroid Build Coastguard Worker  also used as a unified API to paint any of the glyph representations
340*2d1272b8SAndroid Build Coastguard Worker  supported by HarfBuzz (B/W outlines, color layers, or color bitmaps).
341*2d1272b8SAndroid Build Coastguard Worker  (Behdad Esfahbod, Matthias Clasen)
342*2d1272b8SAndroid Build Coastguard Worker- New hb-cairo API for integrating with cairo graphics library. This is provided
343*2d1272b8SAndroid Build Coastguard Worker  as a separate harfbuzz-cairo library. (Behdad Esfahbod, Matthias Clasen)
344*2d1272b8SAndroid Build Coastguard Worker- Support for instancing “CFF2” table. (Behdad Esfahbod)
345*2d1272b8SAndroid Build Coastguard Worker- Support font emboldening. (Behdad Esfahbod)
346*2d1272b8SAndroid Build Coastguard Worker- Support feature ranges with AAT shaping. (Behdad Esfahbod)
347*2d1272b8SAndroid Build Coastguard Worker- Experimental support to cubic curves in “glyf” table, see
348*2d1272b8SAndroid Build Coastguard Worker  https://github.com/harfbuzz/boring-expansion-spec/blob/main/glyf1-cubicOutlines.md
349*2d1272b8SAndroid Build Coastguard Worker  for spec. (Behdad Esfahbod)
350*2d1272b8SAndroid Build Coastguard Worker- Various subsetter improvements. (Garret Rieger, Qunxin Liu, Behdad Esfahbod)
351*2d1272b8SAndroid Build Coastguard Worker- Various documentation improvements.
352*2d1272b8SAndroid Build Coastguard Worker  (Behdad Esfahbod, Matthias Clasen, Khaled Hosny)
353*2d1272b8SAndroid Build Coastguard Worker- Significantly reduced memory use during shaping. (Behdad Esfahbod)
354*2d1272b8SAndroid Build Coastguard Worker- Greatly reduced memory use during subsetting “CFF” table. (Behdad Esfahbod)
355*2d1272b8SAndroid Build Coastguard Worker- New command line utility, hb-info, for querying various font information.
356*2d1272b8SAndroid Build Coastguard Worker  (Behdad Esfahbod, Matthias Clasen)
357*2d1272b8SAndroid Build Coastguard Worker- New hb-shape/hb-view options: --glyphs, --color-palette, --font-bold,
358*2d1272b8SAndroid Build Coastguard Worker  --font-grade, and --named-instance. (Behdad Esfahbod)
359*2d1272b8SAndroid Build Coastguard Worker- Miscellaneous fixes and improvements.
360*2d1272b8SAndroid Build Coastguard Worker  (Amir Masoud Abdol, Andres Salomon, Behdad Esfahbod, Chun-wei Fan,
361*2d1272b8SAndroid Build Coastguard Worker  Garret Rieger, Jens Kutilek, Khaled Hosny, Konstantin Käfer, Matthias Clasen,
362*2d1272b8SAndroid Build Coastguard Worker  Nirbheek Chauhan, Pedro J. Estébanez, Qunxin Liu, Sergei Trofimovich)
363*2d1272b8SAndroid Build Coastguard Worker
364*2d1272b8SAndroid Build Coastguard Worker- New API:
365*2d1272b8SAndroid Build Coastguard Worker+HB_FONT_NO_VAR_NAMED_INSTANCE
366*2d1272b8SAndroid Build Coastguard Worker+HB_PAINT_IMAGE_FORMAT_BGRA
367*2d1272b8SAndroid Build Coastguard Worker+HB_PAINT_IMAGE_FORMAT_PNG
368*2d1272b8SAndroid Build Coastguard Worker+HB_PAINT_IMAGE_FORMAT_SVG
369*2d1272b8SAndroid Build Coastguard Worker+hb_cairo_font_face_create_for_face
370*2d1272b8SAndroid Build Coastguard Worker+hb_cairo_font_face_create_for_font
371*2d1272b8SAndroid Build Coastguard Worker+hb_cairo_font_face_get_face
372*2d1272b8SAndroid Build Coastguard Worker+hb_cairo_font_face_get_font
373*2d1272b8SAndroid Build Coastguard Worker+hb_cairo_font_face_get_scale_factor
374*2d1272b8SAndroid Build Coastguard Worker+hb_cairo_font_face_set_font_init_func
375*2d1272b8SAndroid Build Coastguard Worker+hb_cairo_font_face_set_scale_factor
376*2d1272b8SAndroid Build Coastguard Worker+hb_cairo_font_init_func_t
377*2d1272b8SAndroid Build Coastguard Worker+hb_cairo_glyphs_from_buffer
378*2d1272b8SAndroid Build Coastguard Worker+hb_cairo_scaled_font_get_font
379*2d1272b8SAndroid Build Coastguard Worker+hb_color_line_get_color_stops
380*2d1272b8SAndroid Build Coastguard Worker+hb_color_line_get_color_stops_func_t
381*2d1272b8SAndroid Build Coastguard Worker+hb_color_line_get_extend
382*2d1272b8SAndroid Build Coastguard Worker+hb_color_line_get_extend_func_t
383*2d1272b8SAndroid Build Coastguard Worker+hb_color_line_t
384*2d1272b8SAndroid Build Coastguard Worker+hb_color_stop_t
385*2d1272b8SAndroid Build Coastguard Worker+hb_draw_funcs_get_empty
386*2d1272b8SAndroid Build Coastguard Worker+hb_draw_funcs_get_user_data
387*2d1272b8SAndroid Build Coastguard Worker+hb_draw_funcs_set_user_data
388*2d1272b8SAndroid Build Coastguard Worker+hb_face_collect_nominal_glyph_mapping
389*2d1272b8SAndroid Build Coastguard Worker+hb_font_draw_glyph
390*2d1272b8SAndroid Build Coastguard Worker+hb_font_draw_glyph_func_t
391*2d1272b8SAndroid Build Coastguard Worker+hb_font_funcs_set_draw_glyph_func
392*2d1272b8SAndroid Build Coastguard Worker+hb_font_funcs_set_paint_glyph_func
393*2d1272b8SAndroid Build Coastguard Worker+hb_font_get_synthetic_bold
394*2d1272b8SAndroid Build Coastguard Worker+hb_font_get_var_named_instance
395*2d1272b8SAndroid Build Coastguard Worker+hb_font_paint_glyph
396*2d1272b8SAndroid Build Coastguard Worker+hb_font_paint_glyph_func_t
397*2d1272b8SAndroid Build Coastguard Worker+hb_font_set_synthetic_bold
398*2d1272b8SAndroid Build Coastguard Worker+hb_map_keys
399*2d1272b8SAndroid Build Coastguard Worker+hb_map_next
400*2d1272b8SAndroid Build Coastguard Worker+hb_map_update
401*2d1272b8SAndroid Build Coastguard Worker+hb_map_values
402*2d1272b8SAndroid Build Coastguard Worker+hb_ot_color_glyph_has_paint
403*2d1272b8SAndroid Build Coastguard Worker+hb_ot_color_has_paint
404*2d1272b8SAndroid Build Coastguard Worker+hb_ot_layout_script_select_language2
405*2d1272b8SAndroid Build Coastguard Worker+hb_ot_name_id_predefined_t
406*2d1272b8SAndroid Build Coastguard Worker+hb_paint_color
407*2d1272b8SAndroid Build Coastguard Worker+hb_paint_color_func_t
408*2d1272b8SAndroid Build Coastguard Worker+hb_paint_composite_mode_t
409*2d1272b8SAndroid Build Coastguard Worker+hb_paint_custom_palette_color
410*2d1272b8SAndroid Build Coastguard Worker+hb_paint_custom_palette_color_func_t
411*2d1272b8SAndroid Build Coastguard Worker+hb_paint_extend_t
412*2d1272b8SAndroid Build Coastguard Worker+hb_paint_funcs_create
413*2d1272b8SAndroid Build Coastguard Worker+hb_paint_funcs_destroy
414*2d1272b8SAndroid Build Coastguard Worker+hb_paint_funcs_get_empty
415*2d1272b8SAndroid Build Coastguard Worker+hb_paint_funcs_get_user_data
416*2d1272b8SAndroid Build Coastguard Worker+hb_paint_funcs_is_immutable
417*2d1272b8SAndroid Build Coastguard Worker+hb_paint_funcs_make_immutable
418*2d1272b8SAndroid Build Coastguard Worker+hb_paint_funcs_reference
419*2d1272b8SAndroid Build Coastguard Worker+hb_paint_funcs_set_color_func
420*2d1272b8SAndroid Build Coastguard Worker+hb_paint_funcs_set_custom_palette_color_func
421*2d1272b8SAndroid Build Coastguard Worker+hb_paint_funcs_set_image_func
422*2d1272b8SAndroid Build Coastguard Worker+hb_paint_funcs_set_linear_gradient_func
423*2d1272b8SAndroid Build Coastguard Worker+hb_paint_funcs_set_pop_clip_func
424*2d1272b8SAndroid Build Coastguard Worker+hb_paint_funcs_set_pop_group_func
425*2d1272b8SAndroid Build Coastguard Worker+hb_paint_funcs_set_pop_transform_func
426*2d1272b8SAndroid Build Coastguard Worker+hb_paint_funcs_set_push_clip_glyph_func
427*2d1272b8SAndroid Build Coastguard Worker+hb_paint_funcs_set_push_clip_rectangle_func
428*2d1272b8SAndroid Build Coastguard Worker+hb_paint_funcs_set_push_group_func
429*2d1272b8SAndroid Build Coastguard Worker+hb_paint_funcs_set_push_transform_func
430*2d1272b8SAndroid Build Coastguard Worker+hb_paint_funcs_set_radial_gradient_func
431*2d1272b8SAndroid Build Coastguard Worker+hb_paint_funcs_set_sweep_gradient_func
432*2d1272b8SAndroid Build Coastguard Worker+hb_paint_funcs_set_user_data
433*2d1272b8SAndroid Build Coastguard Worker+hb_paint_funcs_t
434*2d1272b8SAndroid Build Coastguard Worker+hb_paint_image
435*2d1272b8SAndroid Build Coastguard Worker+hb_paint_image_func_t
436*2d1272b8SAndroid Build Coastguard Worker+hb_paint_linear_gradient
437*2d1272b8SAndroid Build Coastguard Worker+hb_paint_linear_gradient_func_t
438*2d1272b8SAndroid Build Coastguard Worker+hb_paint_pop_clip
439*2d1272b8SAndroid Build Coastguard Worker+hb_paint_pop_clip_func_t
440*2d1272b8SAndroid Build Coastguard Worker+hb_paint_pop_group
441*2d1272b8SAndroid Build Coastguard Worker+hb_paint_pop_group_func_t
442*2d1272b8SAndroid Build Coastguard Worker+hb_paint_pop_transform
443*2d1272b8SAndroid Build Coastguard Worker+hb_paint_pop_transform_func_t
444*2d1272b8SAndroid Build Coastguard Worker+hb_paint_push_clip_glyph
445*2d1272b8SAndroid Build Coastguard Worker+hb_paint_push_clip_glyph_func_t
446*2d1272b8SAndroid Build Coastguard Worker+hb_paint_push_clip_rectangle
447*2d1272b8SAndroid Build Coastguard Worker+hb_paint_push_clip_rectangle_func_t
448*2d1272b8SAndroid Build Coastguard Worker+hb_paint_push_group
449*2d1272b8SAndroid Build Coastguard Worker+hb_paint_push_group_func_t
450*2d1272b8SAndroid Build Coastguard Worker+hb_paint_push_transform
451*2d1272b8SAndroid Build Coastguard Worker+hb_paint_push_transform_func_t
452*2d1272b8SAndroid Build Coastguard Worker+hb_paint_radial_gradient
453*2d1272b8SAndroid Build Coastguard Worker+hb_paint_radial_gradient_func_t
454*2d1272b8SAndroid Build Coastguard Worker+hb_paint_sweep_gradient
455*2d1272b8SAndroid Build Coastguard Worker+hb_paint_sweep_gradient_func_t
456*2d1272b8SAndroid Build Coastguard Worker+hb_set_is_inverted
457*2d1272b8SAndroid Build Coastguard Worker+hb_subset_input_keep_everything
458*2d1272b8SAndroid Build Coastguard Worker
459*2d1272b8SAndroid Build Coastguard Worker- Deprecated API:
460*2d1272b8SAndroid Build Coastguard Worker+hb_font_funcs_set_glyph_shape_func
461*2d1272b8SAndroid Build Coastguard Worker+hb_font_get_glyph_shape_func_t
462*2d1272b8SAndroid Build Coastguard Worker+hb_font_get_glyph_shape
463*2d1272b8SAndroid Build Coastguard Worker
464*2d1272b8SAndroid Build Coastguard Worker
465*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 6.0.0
466*2d1272b8SAndroid Build Coastguard WorkerFriday, December 16, 2022
467*2d1272b8SAndroid Build Coastguard Worker====================================
468*2d1272b8SAndroid Build Coastguard Worker- A new API have been added to pre-process the face and speed up future
469*2d1272b8SAndroid Build Coastguard Worker  subsetting operations on that face. Provides up to a 95% reduction in
470*2d1272b8SAndroid Build Coastguard Worker  subsetting times when the same face is subset more than once.
471*2d1272b8SAndroid Build Coastguard Worker
472*2d1272b8SAndroid Build Coastguard Worker  For more details and benchmarks, see:
473*2d1272b8SAndroid Build Coastguard Worker  https://github.com/harfbuzz/harfbuzz/blob/main/docs/subset-preprocessing.md
474*2d1272b8SAndroid Build Coastguard Worker
475*2d1272b8SAndroid Build Coastguard Worker  (Garret Rieger, Behdad Esfahbod)
476*2d1272b8SAndroid Build Coastguard Worker
477*2d1272b8SAndroid Build Coastguard Worker- Shaping have been speedup by skipping entire lookups when the buffer contents
478*2d1272b8SAndroid Build Coastguard Worker  don't intersect with the lookup. Shows up to a 10% speedup in shaping some
479*2d1272b8SAndroid Build Coastguard Worker  fonts. (Behdad Esfahbod)
480*2d1272b8SAndroid Build Coastguard Worker
481*2d1272b8SAndroid Build Coastguard Worker- A new experimental feature, “Variable Composites” (enabled by passing
482*2d1272b8SAndroid Build Coastguard Worker  -Dexperimental_api=true to meson), is also featured in this release.
483*2d1272b8SAndroid Build Coastguard Worker  This technology enables drastic compression of fonts in the Chinese,
484*2d1272b8SAndroid Build Coastguard Worker  Japanese, Korean, and other writing systems, by reusing the OpenType Font
485*2d1272b8SAndroid Build Coastguard Worker  Variations technology for encoding “smart components” into the font.
486*2d1272b8SAndroid Build Coastguard Worker
487*2d1272b8SAndroid Build Coastguard Worker  The specification for these  extensions to the font format can be found in:
488*2d1272b8SAndroid Build Coastguard Worker  https://github.com/harfbuzz/boring-expansion-spec/blob/glyf1/glyf1.md
489*2d1272b8SAndroid Build Coastguard Worker
490*2d1272b8SAndroid Build Coastguard Worker  A test variable-font with ~7160 Hangul syllables derived from the
491*2d1272b8SAndroid Build Coastguard Worker  NotoSerifKR-VF font has been built, with existing OpenType technology, as
492*2d1272b8SAndroid Build Coastguard Worker  well as with the new Variable Composites (VarComposites) technology. The
493*2d1272b8SAndroid Build Coastguard Worker  VarComposites font is over 90% smaller than the OpenType version of the font!
494*2d1272b8SAndroid Build Coastguard Worker  Both fonts can be obtained from the “smarties” repository:
495*2d1272b8SAndroid Build Coastguard Worker  https://github.com/behdad/smarties/tree/3.0/fonts/hangul/serif
496*2d1272b8SAndroid Build Coastguard Worker
497*2d1272b8SAndroid Build Coastguard Worker  When building HarfBuzz with experimental features enabled, you can test
498*2d1272b8SAndroid Build Coastguard Worker  the “smarties” font with a sample character like this:
499*2d1272b8SAndroid Build Coastguard Worker
500*2d1272b8SAndroid Build Coastguard Worker  $ hb-view butchered-hangul-serif-smarties-variable.ttf -u AE01 --variations=wght=700
501*2d1272b8SAndroid Build Coastguard Worker
502*2d1272b8SAndroid Build Coastguard Worker  (Behdad Esfahbod)
503*2d1272b8SAndroid Build Coastguard Worker
504*2d1272b8SAndroid Build Coastguard Worker- The HarfBuzz subsetter can now drop axes by pinning them to specific values
505*2d1272b8SAndroid Build Coastguard Worker  (also referred to as instancing). There are a couple of restrictions
506*2d1272b8SAndroid Build Coastguard Worker  currently:
507*2d1272b8SAndroid Build Coastguard Worker
508*2d1272b8SAndroid Build Coastguard Worker  - Only works with TrueType (“glyf”) based fonts. “CFF2” fonts are not yet
509*2d1272b8SAndroid Build Coastguard Worker    supported.
510*2d1272b8SAndroid Build Coastguard Worker  - Only supports the case where all axes in a font are pinned.
511*2d1272b8SAndroid Build Coastguard Worker
512*2d1272b8SAndroid Build Coastguard Worker  (Garret Rieger, Qunxin Liu)
513*2d1272b8SAndroid Build Coastguard Worker
514*2d1272b8SAndroid Build Coastguard Worker- Miscellaneous fixes and improvements.
515*2d1272b8SAndroid Build Coastguard Worker
516*2d1272b8SAndroid Build Coastguard Worker  (Behdad Esfahbod, Christoph Reiter, David Corbett, Eli Schwartz, Garret
517*2d1272b8SAndroid Build Coastguard Worker   Rieger, Joel Auterson, Jordan Petridis, Khaled Hosny, Lorenz Wildberg,
518*2d1272b8SAndroid Build Coastguard Worker   Marco Rebhan, Martin Storsjö, Matthias Clasen, Qunxin Liu, Satadru Pramanik)
519*2d1272b8SAndroid Build Coastguard Worker
520*2d1272b8SAndroid Build Coastguard Worker
521*2d1272b8SAndroid Build Coastguard Worker- New API
522*2d1272b8SAndroid Build Coastguard Worker+hb_subset_input_pin_axis_location()
523*2d1272b8SAndroid Build Coastguard Worker+hb_subset_input_pin_axis_to_default()
524*2d1272b8SAndroid Build Coastguard Worker+hb_subset_preprocess()
525*2d1272b8SAndroid Build Coastguard Worker
526*2d1272b8SAndroid Build Coastguard Worker
527*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 5.3.1
528*2d1272b8SAndroid Build Coastguard WorkerWednesday, October 19, 2022
529*2d1272b8SAndroid Build Coastguard Worker====================================
530*2d1272b8SAndroid Build Coastguard Worker- Subsetter repacker fixes. (Garret Rieger)
531*2d1272b8SAndroid Build Coastguard Worker- Adjust Grapheme clusters for Katakana voiced sound marks. (Behdad Esfahbod)
532*2d1272b8SAndroid Build Coastguard Worker- New “hb-subset” option “--preprocess-face”. (Garret Rieger)
533*2d1272b8SAndroid Build Coastguard Worker
534*2d1272b8SAndroid Build Coastguard Worker
535*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 5.3.0
536*2d1272b8SAndroid Build Coastguard WorkerSaturday, October 8, 2022
537*2d1272b8SAndroid Build Coastguard Worker"Women, Life, Freedom" #MahsaAmini
538*2d1272b8SAndroid Build Coastguard Worker====================================
539*2d1272b8SAndroid Build Coastguard Worker- Don’t add glyphs from dropped MATH or COLR tables to the subset glyphs.
540*2d1272b8SAndroid Build Coastguard Worker  (Khaled Hosny)
541*2d1272b8SAndroid Build Coastguard Worker- Map “rlig” to appropriate AAT feature selectors. (Jonathan Kew)
542*2d1272b8SAndroid Build Coastguard Worker- Update USE data files to latest version. (David Corbett)
543*2d1272b8SAndroid Build Coastguard Worker- Check “CBDT” extents first before outline tables, to help with fonts that
544*2d1272b8SAndroid Build Coastguard Worker  also include an empty “glyf” table. (Khaled Hosny)
545*2d1272b8SAndroid Build Coastguard Worker- More work towards variable font instancing in the subsetter. (Qunxin Liu)
546*2d1272b8SAndroid Build Coastguard Worker- Subsetter repacker improvements. (Garret Rieger)
547*2d1272b8SAndroid Build Coastguard Worker- New API:
548*2d1272b8SAndroid Build Coastguard Worker+hb_ot_layout_lookup_get_optical_bound()
549*2d1272b8SAndroid Build Coastguard Worker+hb_face_builder_sort_tables()
550*2d1272b8SAndroid Build Coastguard Worker
551*2d1272b8SAndroid Build Coastguard Worker
552*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 5.2.0
553*2d1272b8SAndroid Build Coastguard WorkerSaturday, September 17, 2022
554*2d1272b8SAndroid Build Coastguard Worker====================================
555*2d1272b8SAndroid Build Coastguard Worker- Fix regressions in hb-ft font functions for FT_Face’s with transformation
556*2d1272b8SAndroid Build Coastguard Worker  matrix. (Behdad Esfahbod)
557*2d1272b8SAndroid Build Coastguard Worker- The experimental hb-repacker API now supports splitting several GPOS subtable
558*2d1272b8SAndroid Build Coastguard Worker  types when needed. (Garret Rieger)
559*2d1272b8SAndroid Build Coastguard Worker- The HarfBuzz extensions to OpenType font format are now opt-in behind
560*2d1272b8SAndroid Build Coastguard Worker  build-time flags. (Behdad Esfahbod)
561*2d1272b8SAndroid Build Coastguard Worker- The experimental hb-subset variable fonts instantiation API can now
562*2d1272b8SAndroid Build Coastguard Worker  instantiate more font tables and arbitrary axis locations. (Qunxin Liu)
563*2d1272b8SAndroid Build Coastguard Worker- Unicode 15 support. (David Corbett)
564*2d1272b8SAndroid Build Coastguard Worker- Various documentation improvements. (Behdad Esfahbod, Matthias Clasen)
565*2d1272b8SAndroid Build Coastguard Worker- The hb-view command line tool now detects WezTerm inline images support.
566*2d1272b8SAndroid Build Coastguard Worker  (Wez Furlong)
567*2d1272b8SAndroid Build Coastguard Worker- Fix FreeType and ICU dependency lookup with meson. (Xavier Claessens)
568*2d1272b8SAndroid Build Coastguard Worker
569*2d1272b8SAndroid Build Coastguard Worker- New API:
570*2d1272b8SAndroid Build Coastguard Worker+HB_SCRIPT_KAWI
571*2d1272b8SAndroid Build Coastguard Worker+HB_SCRIPT_NAG_MUNDARI
572*2d1272b8SAndroid Build Coastguard Worker
573*2d1272b8SAndroid Build Coastguard Worker
574*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 5.1.0
575*2d1272b8SAndroid Build Coastguard WorkerSunday, July 31, 2022
576*2d1272b8SAndroid Build Coastguard Worker====================================
577*2d1272b8SAndroid Build Coastguard Worker- More extensive buffer tracing messages. (Behdad Esfahbod)
578*2d1272b8SAndroid Build Coastguard Worker- Fix hb-ft regression in bitmap fonts rendering. (Behdad Esfahbod)
579*2d1272b8SAndroid Build Coastguard Worker- Support extension promotion of lookups in hb-subset-repacker. (Garret Rieger)
580*2d1272b8SAndroid Build Coastguard Worker- A new HB_GLYPH_FLAG_SAFE_TO_INSERT_TATWEEL for scripts that use elongation
581*2d1272b8SAndroid Build Coastguard Worker  (e.g. Arabic) to signify where it is safe to insert tatweel glyph without
582*2d1272b8SAndroid Build Coastguard Worker  interrupting shaping. (Behdad Esfahbod)
583*2d1272b8SAndroid Build Coastguard Worker- Add “--safe-to-insert-tatweel” to “hb-shape” tool. (Behdad Esfahbod)
584*2d1272b8SAndroid Build Coastguard Worker
585*2d1272b8SAndroid Build Coastguard Worker- New API
586*2d1272b8SAndroid Build Coastguard Worker+HB_GLYPH_FLAG_SAFE_TO_INSERT_TATWEEL
587*2d1272b8SAndroid Build Coastguard Worker+HB_BUFFER_FLAG_PRODUCE_SAFE_TO_INSERT_TATWEEL
588*2d1272b8SAndroid Build Coastguard Worker
589*2d1272b8SAndroid Build Coastguard Worker
590*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 5.0.1
591*2d1272b8SAndroid Build Coastguard WorkerSaturday, July 23, 2022
592*2d1272b8SAndroid Build Coastguard Worker====================================
593*2d1272b8SAndroid Build Coastguard Worker- Fix version 2 “avar” table with hb-ft. (Behdad Esfahbod)
594*2d1272b8SAndroid Build Coastguard Worker
595*2d1272b8SAndroid Build Coastguard Worker
596*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 5.0.0
597*2d1272b8SAndroid Build Coastguard WorkerSaturday, July 23, 2022
598*2d1272b8SAndroid Build Coastguard Worker====================================
599*2d1272b8SAndroid Build Coastguard Worker- Support fonts with more than 65535 glyphs in “GDEF”, “GSUB”, and “GPOS”
600*2d1272b8SAndroid Build Coastguard Worker  tables. This is part of https://github.com/be-fonts/boring-expansion-spec to
601*2d1272b8SAndroid Build Coastguard Worker  extend OpenType in a backward-compatible way.
602*2d1272b8SAndroid Build Coastguard Worker  (Behdad Esfahbod, Garret Rieger)
603*2d1272b8SAndroid Build Coastguard Worker- Complete support for more than 65535 glyphs in “glyf” table that started in
604*2d1272b8SAndroid Build Coastguard Worker  4.0.0 release. Part of boring-expansion-spec. (Behdad Esfahbod)
605*2d1272b8SAndroid Build Coastguard Worker- Support version 2 of “avar” table. Part of boring-expansion-spec.
606*2d1272b8SAndroid Build Coastguard Worker  (Behdad Esfahbod)
607*2d1272b8SAndroid Build Coastguard Worker- Fix mark attachment on multiple substitutions in some cases.
608*2d1272b8SAndroid Build Coastguard Worker  (Behdad Esfahbod)
609*2d1272b8SAndroid Build Coastguard Worker- Fix application of “calt”, “rclt”, and “ccmp” features to better match
610*2d1272b8SAndroid Build Coastguard Worker  Uniscribe behaviour with some Arabic fonts. (Behdad Esfahbod)
611*2d1272b8SAndroid Build Coastguard Worker- Improvement to interaction between multiple cursive attachments.
612*2d1272b8SAndroid Build Coastguard Worker  (Behdad Esfahbod)
613*2d1272b8SAndroid Build Coastguard Worker- Improve multiple mark interactions in Hebrew. (Behdad Esfahbod)
614*2d1272b8SAndroid Build Coastguard Worker- Implement language-specific forms in AAT shaping. (Behdad Esfahbod)
615*2d1272b8SAndroid Build Coastguard Worker- Fix variation of “VORG” table. (Behdad Esfahbod)
616*2d1272b8SAndroid Build Coastguard Worker- Support for specific script tags to be retained in the subsetter, and add
617*2d1272b8SAndroid Build Coastguard Worker  “--layout-scripts” option to “hb-subset” tool. (Garret Rieger)
618*2d1272b8SAndroid Build Coastguard Worker- Accept space as delimiter for --features/--variations in command line tools.
619*2d1272b8SAndroid Build Coastguard Worker- Improve subsetting of “COLR” table. (Qunxin Liu)
620*2d1272b8SAndroid Build Coastguard Worker- Improved fuzzing coverage for ot-math API. (Frédéric Wang)
621*2d1272b8SAndroid Build Coastguard Worker- Fix “kern” table version 2 (AAT) sanitization on 32-bit systems.
622*2d1272b8SAndroid Build Coastguard Worker  (Behdad Esfahbod)
623*2d1272b8SAndroid Build Coastguard Worker- Allow negative glyph advances from “graphite2” shaper. (Stephan Bergmann)
624*2d1272b8SAndroid Build Coastguard Worker- Implement loading (color) bitmap fonts with hb-ft. (Behdad Esfahbod)
625*2d1272b8SAndroid Build Coastguard Worker- Fix regression in hb-ft when changing font size. (Behdad Esfahbod)
626*2d1272b8SAndroid Build Coastguard Worker- Fix build on GCC < 7. (Kleis Auke Wolthuizen)
627*2d1272b8SAndroid Build Coastguard Worker- Dynamically load dwrite.dll on windows if “directwrite” shaper is enabled.
628*2d1272b8SAndroid Build Coastguard Worker  (Luca Bacci)
629*2d1272b8SAndroid Build Coastguard Worker- Provide a single-file harfbuzz-subset.cc file for easier alternate building
630*2d1272b8SAndroid Build Coastguard Worker  of hb-subset library, similar to harfbuzz.cc. (Khaled Hosny)
631*2d1272b8SAndroid Build Coastguard Worker
632*2d1272b8SAndroid Build Coastguard Worker- New API
633*2d1272b8SAndroid Build Coastguard Worker+HB_SUBSET_SETS_LAYOUT_SCRIPT_TAG
634*2d1272b8SAndroid Build Coastguard Worker+hb_language_matches()
635*2d1272b8SAndroid Build Coastguard Worker
636*2d1272b8SAndroid Build Coastguard Worker
637*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 4.4.1
638*2d1272b8SAndroid Build Coastguard WorkerWednesday, June 29, 2022
639*2d1272b8SAndroid Build Coastguard Worker====================================
640*2d1272b8SAndroid Build Coastguard Worker- Fix test failure with some compilers.
641*2d1272b8SAndroid Build Coastguard Worker- Fix Telugu and Kannada kerning regression.
642*2d1272b8SAndroid Build Coastguard Worker
643*2d1272b8SAndroid Build Coastguard Worker
644*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 4.4.0
645*2d1272b8SAndroid Build Coastguard WorkerMonday, June 27, 2022
646*2d1272b8SAndroid Build Coastguard Worker====================================
647*2d1272b8SAndroid Build Coastguard Worker- Caching of variable fonts shaping, in particular when using HarfBuzz’s own
648*2d1272b8SAndroid Build Coastguard Worker  font loading functions (ot). Bringing performance of variable shaping in par
649*2d1272b8SAndroid Build Coastguard Worker  with non-variable fonts shaping. (Behdad Esfahbod)
650*2d1272b8SAndroid Build Coastguard Worker- Caching of format 2 “Contextual Substitution” and “Chained Contexts
651*2d1272b8SAndroid Build Coastguard Worker  Substitution” lookups. Resulting in up to 20% speedup of lookup-heavy fonts
652*2d1272b8SAndroid Build Coastguard Worker  like Gulzar or Noto Nastaliq Urdu. (Behdad Esfahbod)
653*2d1272b8SAndroid Build Coastguard Worker- Improved ANSI output from hb-view. (Behdad Esfahbod)
654*2d1272b8SAndroid Build Coastguard Worker- Support for shaping legacy, pre-OpenType Windows 3.1-era, Arabic fonts that
655*2d1272b8SAndroid Build Coastguard Worker  relied on a fixed PUA encoding. (Khaled Hosny, Behdad Esfahbod)
656*2d1272b8SAndroid Build Coastguard Worker- Sinhala script is now shaped by the USE shaper instead of “indic” one.
657*2d1272b8SAndroid Build Coastguard Worker  (Behdad Esfahbod, David Corbett)
658*2d1272b8SAndroid Build Coastguard Worker- Thai shaper improvements. (David Corbett)
659*2d1272b8SAndroid Build Coastguard Worker- hb-ot-name API supports approximate BCP-47 language matching, for example
660*2d1272b8SAndroid Build Coastguard Worker  asking for “en_US” in a font that has only “en” names will return them.
661*2d1272b8SAndroid Build Coastguard Worker  (Behdad Esfahbod)
662*2d1272b8SAndroid Build Coastguard Worker- Optimized TrueType glyph shape loading. (Behdad Esfahbod)
663*2d1272b8SAndroid Build Coastguard Worker- Fix subsetting of HarfBuzz faces created via hb_face_create_for_tables().
664*2d1272b8SAndroid Build Coastguard Worker  (Garret Rieger)
665*2d1272b8SAndroid Build Coastguard Worker- Add 32 bit var store support to the subsetter. (Garret Rieger)
666*2d1272b8SAndroid Build Coastguard Worker
667*2d1272b8SAndroid Build Coastguard Worker- New API
668*2d1272b8SAndroid Build Coastguard Worker+HB_BUFFER_FLAG_DEFINED
669*2d1272b8SAndroid Build Coastguard Worker+HB_BUFFER_SERIALIZE_FLAG_DEFINED
670*2d1272b8SAndroid Build Coastguard Worker+hb_font_changed()
671*2d1272b8SAndroid Build Coastguard Worker+hb_font_get_serial()
672*2d1272b8SAndroid Build Coastguard Worker+hb_ft_hb_font_changed()
673*2d1272b8SAndroid Build Coastguard Worker+hb_set_hash()
674*2d1272b8SAndroid Build Coastguard Worker+hb_map_copy()
675*2d1272b8SAndroid Build Coastguard Worker+hb_map_hash()
676*2d1272b8SAndroid Build Coastguard Worker
677*2d1272b8SAndroid Build Coastguard Worker
678*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 4.3.0
679*2d1272b8SAndroid Build Coastguard WorkerFriday, May 20, 2022
680*2d1272b8SAndroid Build Coastguard Worker====================================
681*2d1272b8SAndroid Build Coastguard Worker- Major speed up in loading and subsetting fonts, especially in
682*2d1272b8SAndroid Build Coastguard Worker  handling CFF table. Subsetting some fonts is now 3 times faster.
683*2d1272b8SAndroid Build Coastguard Worker  (Behdad Esfahbod, Garret Rieger)
684*2d1272b8SAndroid Build Coastguard Worker- Speed up blending CFF2 table. (Behdad Esfahbod)
685*2d1272b8SAndroid Build Coastguard Worker- Speed up hb_ot_tags_from_language(). (Behdad Esfahbod, David Corbett)
686*2d1272b8SAndroid Build Coastguard Worker- Fix USE classification of U+10A38 to fix multiple marks on single Kharoshthi
687*2d1272b8SAndroid Build Coastguard Worker  base. (David Corbett)
688*2d1272b8SAndroid Build Coastguard Worker- Fix parsing of empty CFF Index. (Behdad Esfahbod)
689*2d1272b8SAndroid Build Coastguard Worker- Fix subsetting CPAL table with partial palette overlaps. (Garret Rieger)
690*2d1272b8SAndroid Build Coastguard Worker
691*2d1272b8SAndroid Build Coastguard Worker- New API
692*2d1272b8SAndroid Build Coastguard Worker+hb_map_is_equal() (Behdad Esfahbod)
693*2d1272b8SAndroid Build Coastguard Worker
694*2d1272b8SAndroid Build Coastguard Worker
695*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 4.2.1
696*2d1272b8SAndroid Build Coastguard WorkerSunday, April 24, 2022
697*2d1272b8SAndroid Build Coastguard Worker====================================
698*2d1272b8SAndroid Build Coastguard Worker- Make sure hb_blob_create_from_file_or_fail() always returns nullptr in case
699*2d1272b8SAndroid Build Coastguard Worker  of failure and not empty blob sometimes. (Khaled Hosny)
700*2d1272b8SAndroid Build Coastguard Worker- Add --passthrough-tables option to hb-subset. (Cosimo Lupo)
701*2d1272b8SAndroid Build Coastguard Worker- Reinstate a pause after basic features in Khmer shaper, fixing a regression
702*2d1272b8SAndroid Build Coastguard Worker  introduced in previous release. (Behdad Esfahbod)
703*2d1272b8SAndroid Build Coastguard Worker- Better handling of Regional_Indicator when shaped with RTL-native scripts,
704*2d1272b8SAndroid Build Coastguard Worker  reverting earlier fix that caused regressions in AAT shaping. (Behdad Esfahbod)
705*2d1272b8SAndroid Build Coastguard Worker
706*2d1272b8SAndroid Build Coastguard Worker
707*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 4.2.0
708*2d1272b8SAndroid Build Coastguard WorkerWednesday, March 30, 2022
709*2d1272b8SAndroid Build Coastguard Worker====================================
710*2d1272b8SAndroid Build Coastguard Worker- Source code reorganization, splitting large hb-ot-layout files into smaller,
711*2d1272b8SAndroid Build Coastguard Worker  per-subtable ones under OT/Layout/*. Code for more tables will follow suit in
712*2d1272b8SAndroid Build Coastguard Worker  later releases. (Garret Rieger, Behdad Esfahbod)
713*2d1272b8SAndroid Build Coastguard Worker- Revert Indic shaper change in previous release that broke some fonts and
714*2d1272b8SAndroid Build Coastguard Worker  instead make per-syllable restriction of “GSUB” application limited to
715*2d1272b8SAndroid Build Coastguard Worker  script-specific Indic features, while applying them and discretionary
716*2d1272b8SAndroid Build Coastguard Worker  features in one go. (Behdad Esfahbod)
717*2d1272b8SAndroid Build Coastguard Worker- Fix decoding of private in gvar table. (Behdad Esfahbod)
718*2d1272b8SAndroid Build Coastguard Worker- Fix handling of contextual lookups that delete too many glyphs. (Behdad Esfahbod)
719*2d1272b8SAndroid Build Coastguard Worker- Make “morx” deleted glyphs don’t block “GPOS” application. (Behdad Esfahbod)
720*2d1272b8SAndroid Build Coastguard Worker- Various build fixes. (Chun-wei Fan, Khaled Hosny)
721*2d1272b8SAndroid Build Coastguard Worker
722*2d1272b8SAndroid Build Coastguard Worker- New API
723*2d1272b8SAndroid Build Coastguard Worker+hb_set_next_many() (Andrew John)
724*2d1272b8SAndroid Build Coastguard Worker
725*2d1272b8SAndroid Build Coastguard Worker
726*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 4.1.0
727*2d1272b8SAndroid Build Coastguard WorkerWednesday, March 23, 2022
728*2d1272b8SAndroid Build Coastguard Worker====================================
729*2d1272b8SAndroid Build Coastguard Worker- Various OSS-Fuzz fixes. (Behdad Esfahbod)
730*2d1272b8SAndroid Build Coastguard Worker- Make fallback vertical-origin match FreeType’s. (Behdad Esfahbod)
731*2d1272b8SAndroid Build Coastguard Worker- Treat visible viramas like dependent vowels in USE shaper. (David Corbett)
732*2d1272b8SAndroid Build Coastguard Worker- Apply presentation forms features and discretionary features in one go in
733*2d1272b8SAndroid Build Coastguard Worker  Indic shaper, which seems to match Uniscribe and CoreText behaviour.
734*2d1272b8SAndroid Build Coastguard Worker  (Behdad Esfahbod, David Corbett)
735*2d1272b8SAndroid Build Coastguard Worker- Various bug fixes.
736*2d1272b8SAndroid Build Coastguard Worker
737*2d1272b8SAndroid Build Coastguard Worker- New API
738*2d1272b8SAndroid Build Coastguard Worker+hb_set_add_sorted_array() (Andrew John)
739*2d1272b8SAndroid Build Coastguard Worker
740*2d1272b8SAndroid Build Coastguard Worker
741*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 4.0.1
742*2d1272b8SAndroid Build Coastguard WorkerFriday, March 11, 2022
743*2d1272b8SAndroid Build Coastguard Worker====================================
744*2d1272b8SAndroid Build Coastguard Worker- Update OpenType to AAT mappings for “hist” and “vrtr” features.
745*2d1272b8SAndroid Build Coastguard Worker  (Florian Pircher)
746*2d1272b8SAndroid Build Coastguard Worker- Update IANA Language Subtag Registry to 2022-03-02. (David Corbett)
747*2d1272b8SAndroid Build Coastguard Worker- Update USE shaper to allow any non-numeric tail in a symbol cluster, and
748*2d1272b8SAndroid Build Coastguard Worker  remove obsolete data overrides. (David Corbett)
749*2d1272b8SAndroid Build Coastguard Worker- Fix handling of baseline variations to return correctly scaled values.
750*2d1272b8SAndroid Build Coastguard Worker  (Matthias Clasen)
751*2d1272b8SAndroid Build Coastguard Worker- A new experimental hb_subset_repack_or_fail() to repack an array of objects,
752*2d1272b8SAndroid Build Coastguard Worker  eliminating offset overflows. The API is not available unless HarfBuzz is
753*2d1272b8SAndroid Build Coastguard Worker  built with experimental APIs enabled. (Qunxin Liu)
754*2d1272b8SAndroid Build Coastguard Worker
755*2d1272b8SAndroid Build Coastguard Worker- New experimental API
756*2d1272b8SAndroid Build Coastguard Worker+hb_link_t
757*2d1272b8SAndroid Build Coastguard Worker+hb_object_t
758*2d1272b8SAndroid Build Coastguard Worker+hb_subset_repack_or_fail()
759*2d1272b8SAndroid Build Coastguard Worker
760*2d1272b8SAndroid Build Coastguard Worker
761*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 4.0.0
762*2d1272b8SAndroid Build Coastguard WorkerTuesday, March 1, 2022
763*2d1272b8SAndroid Build Coastguard Worker====================================
764*2d1272b8SAndroid Build Coastguard Worker- New public API to create subset plan and gather information on things like
765*2d1272b8SAndroid Build Coastguard Worker  glyph mappings in the final subset. The plan can then be passed on to perform
766*2d1272b8SAndroid Build Coastguard Worker  the subsetting operation. (Garret Rieger)
767*2d1272b8SAndroid Build Coastguard Worker- Draw API for extracting glyph shapes have been extended and finalized and is
768*2d1272b8SAndroid Build Coastguard Worker  no longer an experimental API. The draw API supports glyf, CFF and CFF2
769*2d1272b8SAndroid Build Coastguard Worker  glyph outlines tables, and applies variation settings set on the font as well
770*2d1272b8SAndroid Build Coastguard Worker  as synthetic slant. The new public API is not backward compatible with the
771*2d1272b8SAndroid Build Coastguard Worker  previous, non-public, experimental API. (Behdad Esfahbod)
772*2d1272b8SAndroid Build Coastguard Worker- The hb-view tool will use HarfBuzz draw API to render the glyphs instead of
773*2d1272b8SAndroid Build Coastguard Worker  cairo-ft when compiled with Cairo 1.17.5 or newer, setting HB_DRAW
774*2d1272b8SAndroid Build Coastguard Worker  environment variable to 1 or 0 will force using or not use the draw API,
775*2d1272b8SAndroid Build Coastguard Worker  respectively. (Behdad Esfahbod)
776*2d1272b8SAndroid Build Coastguard Worker- The hb-shape and hb-view tools now default to using HarfBuzz’s own font
777*2d1272b8SAndroid Build Coastguard Worker  loading functions (ot) instead of FreeType ones (ft). They also have a new
778*2d1272b8SAndroid Build Coastguard Worker  option, --font-slant, to apply synthetic slant to the font. (Behdad Esfahbod)
779*2d1272b8SAndroid Build Coastguard Worker- HarfBuzz now supports more than 65535 (the OpenType limit) glyph shapes and
780*2d1272b8SAndroid Build Coastguard Worker  metrics. See https://github.com/be-fonts/boring-expansion-spec/issues/6 and
781*2d1272b8SAndroid Build Coastguard Worker  https://github.com/be-fonts/boring-expansion-spec/issues/7 for details.
782*2d1272b8SAndroid Build Coastguard Worker  (Behdad Esfahbod)
783*2d1272b8SAndroid Build Coastguard Worker- New API to get the dominant horizontal baseline tag for a given script.
784*2d1272b8SAndroid Build Coastguard Worker  (Behdad Esfahbod)
785*2d1272b8SAndroid Build Coastguard Worker- New API to get the baseline positions from the font, and synthesize missing
786*2d1272b8SAndroid Build Coastguard Worker  ones. As well as new API to get font metrics and synthesize missing ones.
787*2d1272b8SAndroid Build Coastguard Worker  (Matthias Clasen)
788*2d1272b8SAndroid Build Coastguard Worker- Improvements to finding dependencies on Windows when building with Visual
789*2d1272b8SAndroid Build Coastguard Worker  Studio. (Chun-wei Fan)
790*2d1272b8SAndroid Build Coastguard Worker- New buffer flag, HB_BUFFER_FLAG_PRODUCE_UNSAFE_TO_CONCAT, that must be set
791*2d1272b8SAndroid Build Coastguard Worker  during shaping for HB_GLYPH_FLAG_UNSAFE_TO_CONCAT flag to be reliably
792*2d1272b8SAndroid Build Coastguard Worker  produced. This is to limit the performance hit of producing this flag to when
793*2d1272b8SAndroid Build Coastguard Worker  it is actually needed. (Behdad Esfahbod)
794*2d1272b8SAndroid Build Coastguard Worker- Documentation improvements. (Matthias Clasen)
795*2d1272b8SAndroid Build Coastguard Worker
796*2d1272b8SAndroid Build Coastguard Worker- New API
797*2d1272b8SAndroid Build Coastguard Worker - General:
798*2d1272b8SAndroid Build Coastguard Worker   +HB_BUFFER_FLAG_PRODUCE_UNSAFE_TO_CONCAT
799*2d1272b8SAndroid Build Coastguard Worker   +hb_var_num_t
800*2d1272b8SAndroid Build Coastguard Worker
801*2d1272b8SAndroid Build Coastguard Worker - Draw:
802*2d1272b8SAndroid Build Coastguard Worker   +hb_draw_funcs_t
803*2d1272b8SAndroid Build Coastguard Worker   +hb_draw_funcs_create()
804*2d1272b8SAndroid Build Coastguard Worker   +hb_draw_funcs_reference()
805*2d1272b8SAndroid Build Coastguard Worker   +hb_draw_funcs_destroy()
806*2d1272b8SAndroid Build Coastguard Worker   +hb_draw_funcs_is_immutable()
807*2d1272b8SAndroid Build Coastguard Worker   +hb_draw_funcs_make_immutable()
808*2d1272b8SAndroid Build Coastguard Worker   +hb_draw_move_to_func_t
809*2d1272b8SAndroid Build Coastguard Worker   +hb_draw_funcs_set_move_to_func()
810*2d1272b8SAndroid Build Coastguard Worker   +hb_draw_line_to_func_t
811*2d1272b8SAndroid Build Coastguard Worker   +hb_draw_funcs_set_line_to_func()
812*2d1272b8SAndroid Build Coastguard Worker   +hb_draw_quadratic_to_func_t
813*2d1272b8SAndroid Build Coastguard Worker   +hb_draw_funcs_set_quadratic_to_func()
814*2d1272b8SAndroid Build Coastguard Worker   +hb_draw_cubic_to_func_t
815*2d1272b8SAndroid Build Coastguard Worker   +hb_draw_funcs_set_cubic_to_func()
816*2d1272b8SAndroid Build Coastguard Worker   +hb_draw_close_path_func_t
817*2d1272b8SAndroid Build Coastguard Worker   +hb_draw_funcs_set_close_path_func()
818*2d1272b8SAndroid Build Coastguard Worker   +hb_draw_state_t
819*2d1272b8SAndroid Build Coastguard Worker   +HB_DRAW_STATE_DEFAULT
820*2d1272b8SAndroid Build Coastguard Worker   +hb_draw_move_to()
821*2d1272b8SAndroid Build Coastguard Worker   +hb_draw_line_to()
822*2d1272b8SAndroid Build Coastguard Worker   +hb_draw_quadratic_to()
823*2d1272b8SAndroid Build Coastguard Worker   +hb_draw_cubic_to()
824*2d1272b8SAndroid Build Coastguard Worker   +hb_draw_close_path()
825*2d1272b8SAndroid Build Coastguard Worker   +hb_font_get_glyph_shape_func_t
826*2d1272b8SAndroid Build Coastguard Worker   +hb_font_funcs_set_glyph_shape_func()
827*2d1272b8SAndroid Build Coastguard Worker   +hb_font_get_glyph_shape()
828*2d1272b8SAndroid Build Coastguard Worker
829*2d1272b8SAndroid Build Coastguard Worker - OpenType layout
830*2d1272b8SAndroid Build Coastguard Worker   +HB_OT_LAYOUT_BASELINE_TAG_IDEO_FACE_CENTRAL
831*2d1272b8SAndroid Build Coastguard Worker   +HB_OT_LAYOUT_BASELINE_TAG_IDEO_EMBOX_CENTRAL
832*2d1272b8SAndroid Build Coastguard Worker   +hb_ot_layout_get_horizontal_baseline_tag_for_script()
833*2d1272b8SAndroid Build Coastguard Worker   +hb_ot_layout_get_baseline_with_fallback()
834*2d1272b8SAndroid Build Coastguard Worker
835*2d1272b8SAndroid Build Coastguard Worker - Metrics:
836*2d1272b8SAndroid Build Coastguard Worker   +hb_ot_metrics_get_position_with_fallback()
837*2d1272b8SAndroid Build Coastguard Worker
838*2d1272b8SAndroid Build Coastguard Worker - Subset:
839*2d1272b8SAndroid Build Coastguard Worker   +hb_subset_plan_t
840*2d1272b8SAndroid Build Coastguard Worker   +hb_subset_plan_create_or_fail()
841*2d1272b8SAndroid Build Coastguard Worker   +hb_subset_plan_reference()
842*2d1272b8SAndroid Build Coastguard Worker   +hb_subset_plan_destroy()
843*2d1272b8SAndroid Build Coastguard Worker   +hb_subset_plan_set_user_data()
844*2d1272b8SAndroid Build Coastguard Worker   +hb_subset_plan_get_user_data()
845*2d1272b8SAndroid Build Coastguard Worker   +hb_subset_plan_execute_or_fail()
846*2d1272b8SAndroid Build Coastguard Worker   +hb_subset_plan_unicode_to_old_glyph_mapping()
847*2d1272b8SAndroid Build Coastguard Worker   +hb_subset_plan_new_to_old_glyph_mapping()
848*2d1272b8SAndroid Build Coastguard Worker   +hb_subset_plan_old_to_new_glyph_mapping()
849*2d1272b8SAndroid Build Coastguard Worker
850*2d1272b8SAndroid Build Coastguard Worker
851*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 3.4.0
852*2d1272b8SAndroid Build Coastguard WorkerSunday, February 13, 2022
853*2d1272b8SAndroid Build Coastguard Worker====================================
854*2d1272b8SAndroid Build Coastguard Worker- Perform sanity checks on shaping results is now part of “harfbuzz” library
855*2d1272b8SAndroid Build Coastguard Worker  and can be enabled by setting the buffer flag HB_BUFFER_FLAG_VERIFY.
856*2d1272b8SAndroid Build Coastguard Worker  (Behdad Esfahbod)
857*2d1272b8SAndroid Build Coastguard Worker- Arabic Mark Transient Reordering Algorithm have been updated to revision 6.
858*2d1272b8SAndroid Build Coastguard Worker  (Khaled Hosny)
859*2d1272b8SAndroid Build Coastguard Worker- ISO 15924 code for mathematical notation, ‘Zmth’, now maps to the OpenType
860*2d1272b8SAndroid Build Coastguard Worker  ‘math’ tag. (Alexis King)
861*2d1272b8SAndroid Build Coastguard Worker- It is now possible to get at once all math kerning values for a given glyph
862*2d1272b8SAndroid Build Coastguard Worker  at a given corner. (Alexis King)
863*2d1272b8SAndroid Build Coastguard Worker- Fix locale_t portability issues on systems the typedef’s it to a void
864*2d1272b8SAndroid Build Coastguard Worker  pointer. (Behdad Esfahbod)
865*2d1272b8SAndroid Build Coastguard Worker
866*2d1272b8SAndroid Build Coastguard Worker- New API:
867*2d1272b8SAndroid Build Coastguard Worker+HB_BUFFER_FLAG_VERIFY
868*2d1272b8SAndroid Build Coastguard Worker+HB_OT_TAG_MATH_SCRIPT
869*2d1272b8SAndroid Build Coastguard Worker+HB_SCRIPT_MATH
870*2d1272b8SAndroid Build Coastguard Worker+hb_ot_math_kern_entry_t
871*2d1272b8SAndroid Build Coastguard Worker+hb_ot_math_get_glyph_kernings()
872*2d1272b8SAndroid Build Coastguard Worker
873*2d1272b8SAndroid Build Coastguard Worker- Deprecated API
874*2d1272b8SAndroid Build Coastguard Worker+HB_OT_MATH_SCRIPT
875*2d1272b8SAndroid Build Coastguard Worker
876*2d1272b8SAndroid Build Coastguard Worker
877*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 3.3.2
878*2d1272b8SAndroid Build Coastguard WorkerSunday, February 6, 2022
879*2d1272b8SAndroid Build Coastguard Worker====================================
880*2d1272b8SAndroid Build Coastguard Worker- Revert splitting of pair positioning values introduced in 3.3.0 as it proved
881*2d1272b8SAndroid Build Coastguard Worker  problematic. (Behdad Esfahbod)
882*2d1272b8SAndroid Build Coastguard Worker
883*2d1272b8SAndroid Build Coastguard Worker
884*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 3.3.1
885*2d1272b8SAndroid Build Coastguard WorkerMonday, January 31, 2022
886*2d1272b8SAndroid Build Coastguard Worker====================================
887*2d1272b8SAndroid Build Coastguard Worker- Fix heap-use-after-free in harfbuzz-subset introduced in previous release.
888*2d1272b8SAndroid Build Coastguard Worker  (Garret Rieger)
889*2d1272b8SAndroid Build Coastguard Worker
890*2d1272b8SAndroid Build Coastguard Worker
891*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 3.3.0
892*2d1272b8SAndroid Build Coastguard WorkerMonday, January 31, 2022
893*2d1272b8SAndroid Build Coastguard Worker====================================
894*2d1272b8SAndroid Build Coastguard Worker- Improved documentation. (Matthias Clasen)
895*2d1272b8SAndroid Build Coastguard Worker- Internal code cleanup, using C++ standard library more. (Behdad Esfahbod)
896*2d1272b8SAndroid Build Coastguard Worker- The low 16-bits of face index will be used by hb_face_create() to select a
897*2d1272b8SAndroid Build Coastguard Worker  face inside a font collection file format, while the high 16-bits will be
898*2d1272b8SAndroid Build Coastguard Worker  used by hb_font_create() to load the named instance. (Behdad Esfahbod)
899*2d1272b8SAndroid Build Coastguard Worker- Glyph positions and other font metrics now apply synthetic slant set by
900*2d1272b8SAndroid Build Coastguard Worker  hb_font_set_synthetic_slant(), for improved positioning for synthetically
901*2d1272b8SAndroid Build Coastguard Worker  slanted fonts. (Behdad Esfahbod)
902*2d1272b8SAndroid Build Coastguard Worker- Fixed unintentional locale dependency in hb_variation_to_string() for decimal
903*2d1272b8SAndroid Build Coastguard Worker  point representation. (Matthias Clasen)
904*2d1272b8SAndroid Build Coastguard Worker- When applying pair positioning (kerning) the positioning value is split
905*2d1272b8SAndroid Build Coastguard Worker  between the two sides of the pair for improved cursor positioning between
906*2d1272b8SAndroid Build Coastguard Worker  such pairs. (Behdad Esfahbod)
907*2d1272b8SAndroid Build Coastguard Worker- Introduced new HB_GLYPH_FLAG_UNSAFE_TO_CONCAT, to be used in conjunction
908*2d1272b8SAndroid Build Coastguard Worker  with HB_GLYPH_FLAG_UNSAFE_TO_BREAK for optimizing re-shaping during line
909*2d1272b8SAndroid Build Coastguard Worker  breaking. Check the documentation for further details. (Behdad Esfahbod)
910*2d1272b8SAndroid Build Coastguard Worker- Improved handling of macrolanguages when mapping BCP 47 codes to OpenType
911*2d1272b8SAndroid Build Coastguard Worker  tags. (David Corbett)
912*2d1272b8SAndroid Build Coastguard Worker
913*2d1272b8SAndroid Build Coastguard Worker- New API:
914*2d1272b8SAndroid Build Coastguard Worker+HB_GLYPH_FLAG_UNSAFE_TO_CONCAT
915*2d1272b8SAndroid Build Coastguard Worker+hb_segment_properties_overlay()
916*2d1272b8SAndroid Build Coastguard Worker+hb_buffer_create_similar()
917*2d1272b8SAndroid Build Coastguard Worker+hb_font_set_synthetic_slant()
918*2d1272b8SAndroid Build Coastguard Worker+hb_font_get_synthetic_slant()
919*2d1272b8SAndroid Build Coastguard Worker+hb_font_get_var_coords_design()
920*2d1272b8SAndroid Build Coastguard Worker
921*2d1272b8SAndroid Build Coastguard Worker
922*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 3.2.0
923*2d1272b8SAndroid Build Coastguard WorkerFriday, November 26, 2021
924*2d1272b8SAndroid Build Coastguard Worker====================================
925*2d1272b8SAndroid Build Coastguard Worker“harfbuzz” library improvements:
926*2d1272b8SAndroid Build Coastguard Worker- Fixed shaping of Apple Color Emoji flags in right-to-left context. (Behdad Esfahbod)
927*2d1272b8SAndroid Build Coastguard Worker- Fixed positioning of CFF fonts in HB_TINY profile. (Behdad Esfahbod)
928*2d1272b8SAndroid Build Coastguard Worker- OpenType 1.9 language tags update. (David Corbett)
929*2d1272b8SAndroid Build Coastguard Worker- Add HB_NO_VERTICAL config option.
930*2d1272b8SAndroid Build Coastguard Worker- Add HB_CONFIG_OVERRIDE_H for easier configuration. (Behdad Esfahbod)
931*2d1272b8SAndroid Build Coastguard Worker
932*2d1272b8SAndroid Build Coastguard Worker“harfbuzz-subset” library improvements:
933*2d1272b8SAndroid Build Coastguard Worker- Improved packing of cmap, loca, and Ligature tables. (Garret Rieger)
934*2d1272b8SAndroid Build Coastguard Worker- Significantly improved overflow-resolution strategy in the repacker. (Garret Rieger)
935*2d1272b8SAndroid Build Coastguard Worker
936*2d1272b8SAndroid Build Coastguard Worker
937*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 3.1.2
938*2d1272b8SAndroid Build Coastguard WorkerFriday, November 26, 2021
939*2d1272b8SAndroid Build Coastguard Worker====================================
940*2d1272b8SAndroid Build Coastguard Worker- hb-shape / hb-view: revert treating text on the commandline as single
941*2d1272b8SAndroid Build Coastguard Worker  paragraph (was introduced in 3.0.0); add new --single-par to do that.
942*2d1272b8SAndroid Build Coastguard Worker  (Behdad Esfahbod)
943*2d1272b8SAndroid Build Coastguard Worker- Subsetter bug fixes. (Garret Rieger, Qunxin Liu, Behdad Esfahbod)
944*2d1272b8SAndroid Build Coastguard Worker
945*2d1272b8SAndroid Build Coastguard Worker
946*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 3.1.1
947*2d1272b8SAndroid Build Coastguard WorkerWednesday, November 8, 2021
948*2d1272b8SAndroid Build Coastguard Worker====================================
949*2d1272b8SAndroid Build Coastguard Worker- Work around GCC cast-align error/warning on some platforms. (Behdad Esfahbod)
950*2d1272b8SAndroid Build Coastguard Worker- Documentation improvements. (Matthias Clasen)
951*2d1272b8SAndroid Build Coastguard Worker
952*2d1272b8SAndroid Build Coastguard Worker
953*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 3.1.0
954*2d1272b8SAndroid Build Coastguard WorkerWednesday, November 3, 2021
955*2d1272b8SAndroid Build Coastguard Worker====================================
956*2d1272b8SAndroid Build Coastguard Worker- Better offset-overflow handling in the subsetter library. (Garret Rieger)
957*2d1272b8SAndroid Build Coastguard Worker- Improved Unicode 14 properties in the USE shaper, and various other USE
958*2d1272b8SAndroid Build Coastguard Worker  shaper fixes. (David Corbett)
959*2d1272b8SAndroid Build Coastguard Worker- MATH and COLR v1 tables subsetting support, and various other subsetter fixes.
960*2d1272b8SAndroid Build Coastguard Worker  (Qunxin Liu)
961*2d1272b8SAndroid Build Coastguard Worker- Support for Pwo Karen / Ason Chin medial la. (Simon Cozens)
962*2d1272b8SAndroid Build Coastguard Worker- Apply GPOS positioning when substituting with morx table, if kerx is missing.
963*2d1272b8SAndroid Build Coastguard Worker  (Behdad Esfahbod)
964*2d1272b8SAndroid Build Coastguard Worker- Apply calt and clig features across syllable boundaries in Indic shaper.
965*2d1272b8SAndroid Build Coastguard Worker  (Behdad Esfahbod)
966*2d1272b8SAndroid Build Coastguard Worker- meson option for enabling Graphite 2 has been renamed to graphite2.
967*2d1272b8SAndroid Build Coastguard Worker- Build and documentation fixes.
968*2d1272b8SAndroid Build Coastguard Worker
969*2d1272b8SAndroid Build Coastguard Worker- New API:
970*2d1272b8SAndroid Build Coastguard Worker+hb_buffer_set_not_found_glyph()
971*2d1272b8SAndroid Build Coastguard Worker+hb_buffer_get_not_found_glyph()
972*2d1272b8SAndroid Build Coastguard Worker
973*2d1272b8SAndroid Build Coastguard Worker
974*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 3.0.0
975*2d1272b8SAndroid Build Coastguard WorkerFriday, September 17, 2021
976*2d1272b8SAndroid Build Coastguard Worker====================================
977*2d1272b8SAndroid Build Coastguard Worker- Unicode 14.0 support (David Corbett).
978*2d1272b8SAndroid Build Coastguard Worker- The hb-subset API and the harfbuzz-subset library's ABI are now declared
979*2d1272b8SAndroid Build Coastguard Worker  stable. The harfbuzz-subset library would not have been possible without the
980*2d1272b8SAndroid Build Coastguard Worker  work of Garret Rieger and Qunxin Liu from Google Fonts, and the earlier work
981*2d1272b8SAndroid Build Coastguard Worker  of Michiharu Ariza from Adobe.
982*2d1272b8SAndroid Build Coastguard Worker- The hb-style API is now stable and no longer experimental.
983*2d1272b8SAndroid Build Coastguard Worker
984*2d1272b8SAndroid Build Coastguard Worker- New API:
985*2d1272b8SAndroid Build Coastguard Worker+hb_style_tag_t
986*2d1272b8SAndroid Build Coastguard Worker+hb_style_get_value()
987*2d1272b8SAndroid Build Coastguard Worker+hb_subset_input_t
988*2d1272b8SAndroid Build Coastguard Worker+hb_subset_flags_t
989*2d1272b8SAndroid Build Coastguard Worker+hb_subset_sets_t
990*2d1272b8SAndroid Build Coastguard Worker+hb_subset_input_create_or_fail()
991*2d1272b8SAndroid Build Coastguard Worker+hb_subset_input_reference()
992*2d1272b8SAndroid Build Coastguard Worker+hb_subset_input_destroy()
993*2d1272b8SAndroid Build Coastguard Worker+hb_subset_input_set_user_data()
994*2d1272b8SAndroid Build Coastguard Worker+hb_subset_input_get_user_data()
995*2d1272b8SAndroid Build Coastguard Worker+hb_subset_input_unicode_set()
996*2d1272b8SAndroid Build Coastguard Worker+hb_subset_input_glyph_set()
997*2d1272b8SAndroid Build Coastguard Worker+hb_subset_input_set()
998*2d1272b8SAndroid Build Coastguard Worker+hb_subset_input_get_flags()
999*2d1272b8SAndroid Build Coastguard Worker+hb_subset_input_set_flags()
1000*2d1272b8SAndroid Build Coastguard Worker+hb_subset_or_fail()
1001*2d1272b8SAndroid Build Coastguard Worker
1002*2d1272b8SAndroid Build Coastguard Worker- Removed old unstable harfbuzz-subset API:
1003*2d1272b8SAndroid Build Coastguard Worker-hb_subset_input_nameid_set()
1004*2d1272b8SAndroid Build Coastguard Worker-hb_subset_input_namelangid_set()
1005*2d1272b8SAndroid Build Coastguard Worker-hb_subset_input_layout_features_set()
1006*2d1272b8SAndroid Build Coastguard Worker-hb_subset_input_no_subset_tables_set()
1007*2d1272b8SAndroid Build Coastguard Worker-hb_subset_input_drop_tables_set()
1008*2d1272b8SAndroid Build Coastguard Worker-hb_subset_input_set_drop_hints()
1009*2d1272b8SAndroid Build Coastguard Worker-hb_subset_input_get_drop_hints()
1010*2d1272b8SAndroid Build Coastguard Worker-hb_subset_input_set_desubroutinize()
1011*2d1272b8SAndroid Build Coastguard Worker-hb_subset_input_get_desubroutinize()
1012*2d1272b8SAndroid Build Coastguard Worker-hb_subset_input_set_retain_gids()
1013*2d1272b8SAndroid Build Coastguard Worker-hb_subset_input_get_retain_gids()
1014*2d1272b8SAndroid Build Coastguard Worker-hb_subset_input_set_name_legacy()
1015*2d1272b8SAndroid Build Coastguard Worker-hb_subset_input_get_name_legacy()
1016*2d1272b8SAndroid Build Coastguard Worker-hb_subset_input_set_overlaps_flag()
1017*2d1272b8SAndroid Build Coastguard Worker-hb_subset_input_get_overlaps_flag()
1018*2d1272b8SAndroid Build Coastguard Worker-hb_subset_input_set_notdef_outline()
1019*2d1272b8SAndroid Build Coastguard Worker-hb_subset_input_get_notdef_outline()
1020*2d1272b8SAndroid Build Coastguard Worker-hb_subset_input_set_no_prune_unicode_ranges()
1021*2d1272b8SAndroid Build Coastguard Worker-hb_subset_input_get_no_prune_unicode_ranges()
1022*2d1272b8SAndroid Build Coastguard Worker-hb_subset()
1023*2d1272b8SAndroid Build Coastguard Worker
1024*2d1272b8SAndroid Build Coastguard Worker
1025*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 2.9.1
1026*2d1272b8SAndroid Build Coastguard WorkerTuesday, September 7, 2021
1027*2d1272b8SAndroid Build Coastguard Worker====================================
1028*2d1272b8SAndroid Build Coastguard Worker- Final subset API is in place and if no issues are discovered, it will be the
1029*2d1272b8SAndroid Build Coastguard Worker  stable subset API of HarfBuzz 3.0.0. Old API is kept to ease transition, but
1030*2d1272b8SAndroid Build Coastguard Worker  will be removed in 3.0.0.
1031*2d1272b8SAndroid Build Coastguard Worker- Various fuzzer-found bug fixes.
1032*2d1272b8SAndroid Build Coastguard Worker- hb_buffer_append() now handles the pre- and post-context which previously
1033*2d1272b8SAndroid Build Coastguard Worker  were left unchanged in the destination buffer.
1034*2d1272b8SAndroid Build Coastguard Worker- hb-view / hb-shape now accept following new arguments:
1035*2d1272b8SAndroid Build Coastguard Worker  o --unicodes-before/after: takes a list of hex numbers that represent Unicode
1036*2d1272b8SAndroid Build Coastguard Worker    codepoints.
1037*2d1272b8SAndroid Build Coastguard Worker- Undeprecated API:
1038*2d1272b8SAndroid Build Coastguard Worker  hb_set_invert()
1039*2d1272b8SAndroid Build Coastguard Worker
1040*2d1272b8SAndroid Build Coastguard Worker
1041*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 2.9.0
1042*2d1272b8SAndroid Build Coastguard WorkerWednesday, August 18, 2021
1043*2d1272b8SAndroid Build Coastguard WorkerHistory Repeats Itself (Afghanistan)
1044*2d1272b8SAndroid Build Coastguard Worker====================================
1045*2d1272b8SAndroid Build Coastguard Worker- Subsetter API is being stabilized, with the first stable API to happen in
1046*2d1272b8SAndroid Build Coastguard Worker  3.0.0 release (https://github.com/harfbuzz/harfbuzz/issues/3078).
1047*2d1272b8SAndroid Build Coastguard Worker- Support multiple variation axes with same tag, aka HOI.
1048*2d1272b8SAndroid Build Coastguard Worker- The “coretext” testing shaper now passes font variations to CoreText.
1049*2d1272b8SAndroid Build Coastguard Worker- hb-shape/hb-view does not break line at new lines unless text is read from
1050*2d1272b8SAndroid Build Coastguard Worker  file.
1051*2d1272b8SAndroid Build Coastguard Worker- hb-view and hb-subset has a --batch now, similar to hb-shape.
1052*2d1272b8SAndroid Build Coastguard Worker- The --batch mode now uses ; as argument separator instead of : used previously.
1053*2d1272b8SAndroid Build Coastguard Worker- The --batch in hb-shape does not expect 0th argument anymore. That is, the
1054*2d1272b8SAndroid Build Coastguard Worker  lines read are interpreted as argv[1:], instead of argv[0:].
1055*2d1272b8SAndroid Build Coastguard Worker- The --batch option has been undocumented. We are ready to document it; send
1056*2d1272b8SAndroid Build Coastguard Worker  feedback if you find it useful.
1057*2d1272b8SAndroid Build Coastguard Worker- hb-subset got arguments revamps. Added much-requested --gids-file, --glyphs,
1058*2d1272b8SAndroid Build Coastguard Worker  --glyphs-file, --unicodes-file, supporting ranges in --unicodes.
1059*2d1272b8SAndroid Build Coastguard Worker- Various bug fixes.
1060*2d1272b8SAndroid Build Coastguard Worker
1061*2d1272b8SAndroid Build Coastguard Worker
1062*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 2.8.2
1063*2d1272b8SAndroid Build Coastguard WorkerTuesday, July 8, 2021
1064*2d1272b8SAndroid Build Coastguard Worker====================================
1065*2d1272b8SAndroid Build Coastguard Worker- Shaping LTR digits for RTL scripts now makes the native direction of the
1066*2d1272b8SAndroid Build Coastguard Worker  digits LTR, applying shaping and positioning rules on the same glyph order as
1067*2d1272b8SAndroid Build Coastguard Worker  Uniscribe. (Jonathan Kew, Khaled Hosny).
1068*2d1272b8SAndroid Build Coastguard Worker- Subsetting COLR v1 and CPAL tables is now supported. (Garret Rieger, Qunxin Liu)
1069*2d1272b8SAndroid Build Coastguard Worker- Various fixes and improvements to the subsetter. (Garret Rieger, Qunxin Liu, Behdad)
1070*2d1272b8SAndroid Build Coastguard Worker- When applying morx table, mark glyph widths should not be zeroed. (Jonathan Kew)
1071*2d1272b8SAndroid Build Coastguard Worker- GPOS is preferred over kerx, if GSUB was applied. (Behdad)
1072*2d1272b8SAndroid Build Coastguard Worker- Regional_Indicator pairs are grouped together when clustering. (Behdad)
1073*2d1272b8SAndroid Build Coastguard Worker- New API:
1074*2d1272b8SAndroid Build Coastguard Worker+hb_blob_create_or_fail()
1075*2d1272b8SAndroid Build Coastguard Worker+hb_blob_create_from_file_or_fail()
1076*2d1272b8SAndroid Build Coastguard Worker+hb_set_copy()
1077*2d1272b8SAndroid Build Coastguard Worker
1078*2d1272b8SAndroid Build Coastguard Worker
1079*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 2.8.1
1080*2d1272b8SAndroid Build Coastguard WorkerTuesday, May 4, 2021
1081*2d1272b8SAndroid Build Coastguard Worker====================================
1082*2d1272b8SAndroid Build Coastguard Worker- Subsetter now fully supports GSUB/GPOS/GDEF tables (including variations); as
1083*2d1272b8SAndroid Build Coastguard Worker  such, layout tables are retained by subsetter by default. (Garret Rieger, Qunxin Liu)
1084*2d1272b8SAndroid Build Coastguard Worker- Build scripts no longer check for FontConfig as HarfBuzz does not use it.
1085*2d1272b8SAndroid Build Coastguard Worker- hb-view supports iTerm2 and kitty inline image protocols (Khaled Hosny),
1086*2d1272b8SAndroid Build Coastguard Worker  it can also use Chafa for terminal graphics if available (Hans Petter Jansson).
1087*2d1272b8SAndroid Build Coastguard Worker
1088*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 2.8.0
1089*2d1272b8SAndroid Build Coastguard WorkerTuesday, March 16, 2021
1090*2d1272b8SAndroid Build Coastguard Worker====================================
1091*2d1272b8SAndroid Build Coastguard Worker- Shape joining scripts other than Arabic/Syriac using the Universal Shaping Engine.
1092*2d1272b8SAndroid Build Coastguard Worker  Previously these were shaped using the generalized Arabic shaper. (David Corbett)
1093*2d1272b8SAndroid Build Coastguard Worker- Fix regression in shaping of U+0B55 ORIYA SIGN OVERLINE. (David Corbett)
1094*2d1272b8SAndroid Build Coastguard Worker- Update language tags. (David Corbett)
1095*2d1272b8SAndroid Build Coastguard Worker- Variations: reduce error: do not round each interpolated delta. (Just van Rossum)
1096*2d1272b8SAndroid Build Coastguard Worker- Documentation improvements. (Khaled Hosny, Nathan Willis)
1097*2d1272b8SAndroid Build Coastguard Worker- Subsetter improvements: subsets most, if not all, lookup types now. (Garret Rieger, Qunxin Liu)
1098*2d1272b8SAndroid Build Coastguard Worker- Fuzzer-found fixes and other improvements when memory failures happen. (Behdad)
1099*2d1272b8SAndroid Build Coastguard Worker- Removed most atomic implementations now that we have C++11 atomic impl. (Behdad)
1100*2d1272b8SAndroid Build Coastguard Worker- General codebase upkeep; using more C++11 features: constexpr constructors, etc. (Behdad)
1101*2d1272b8SAndroid Build Coastguard Worker
1102*2d1272b8SAndroid Build Coastguard Worker
1103*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 2.7.4
1104*2d1272b8SAndroid Build Coastguard WorkerSunday, December 27, 2020
1105*2d1272b8SAndroid Build Coastguard Worker====================================
1106*2d1272b8SAndroid Build Coastguard Worker- Fix missing --enable-introspection configure option from previous release
1107*2d1272b8SAndroid Build Coastguard Worker  tarball.
1108*2d1272b8SAndroid Build Coastguard Worker- Documentation updates.
1109*2d1272b8SAndroid Build Coastguard Worker
1110*2d1272b8SAndroid Build Coastguard Worker
1111*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 2.7.3
1112*2d1272b8SAndroid Build Coastguard WorkerWednesday, December 23, 2020
1113*2d1272b8SAndroid Build Coastguard Worker====================================
1114*2d1272b8SAndroid Build Coastguard Worker- Update USE shaper to 2020-08-13 specification, and other improvements.
1115*2d1272b8SAndroid Build Coastguard Worker- Don’t disable liga feature in myanmar shaper, to match Uniscribe.
1116*2d1272b8SAndroid Build Coastguard Worker- Improvements to language and script tags handling.
1117*2d1272b8SAndroid Build Coastguard Worker- Update language system tag registry to OpenType 1.8.4
1118*2d1272b8SAndroid Build Coastguard Worker- Support for serializing and deserializing Unicode buffers. Serialized buffers
1119*2d1272b8SAndroid Build Coastguard Worker  are now delimited with `<>` or `[]` based on whether it is a Unicode or
1120*2d1272b8SAndroid Build Coastguard Worker  glyphs buffer.
1121*2d1272b8SAndroid Build Coastguard Worker- Increase buffer work limits to handle fonts with many complex lookups.
1122*2d1272b8SAndroid Build Coastguard Worker- Handle more shaping operations in trace output.
1123*2d1272b8SAndroid Build Coastguard Worker- Memory access fixes.
1124*2d1272b8SAndroid Build Coastguard Worker- More OOM fixes.
1125*2d1272b8SAndroid Build Coastguard Worker- Improved documentation.
1126*2d1272b8SAndroid Build Coastguard Worker- Build system improvements.
1127*2d1272b8SAndroid Build Coastguard Worker- New API:
1128*2d1272b8SAndroid Build Coastguard Worker+hb_buffer_has_positions()
1129*2d1272b8SAndroid Build Coastguard Worker+hb_buffer_serialize()
1130*2d1272b8SAndroid Build Coastguard Worker+hb_buffer_serialize_unicode()
1131*2d1272b8SAndroid Build Coastguard Worker+hb_buffer_deserialize_unicode()
1132*2d1272b8SAndroid Build Coastguard Worker
1133*2d1272b8SAndroid Build Coastguard Worker
1134*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 2.7.2
1135*2d1272b8SAndroid Build Coastguard WorkerSaturday, August 29, 2020
1136*2d1272b8SAndroid Build Coastguard Worker====================================
1137*2d1272b8SAndroid Build Coastguard Worker- Fix a regression in the previous release that caused a crash with Kaithi.
1138*2d1272b8SAndroid Build Coastguard Worker- More OOM fixes.
1139*2d1272b8SAndroid Build Coastguard Worker
1140*2d1272b8SAndroid Build Coastguard Worker
1141*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 2.7.1
1142*2d1272b8SAndroid Build Coastguard WorkerThursday, August 13, 2020
1143*2d1272b8SAndroid Build Coastguard Worker====================================
1144*2d1272b8SAndroid Build Coastguard Worker- ot-funcs now handles variable empty glyphs better when hvar/vvar isn't present.
1145*2d1272b8SAndroid Build Coastguard Worker- Reverted a GDEF processing regression.
1146*2d1272b8SAndroid Build Coastguard Worker- A couple of fixes to handle OOM better.
1147*2d1272b8SAndroid Build Coastguard Worker
1148*2d1272b8SAndroid Build Coastguard Worker
1149*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 2.7.0
1150*2d1272b8SAndroid Build Coastguard WorkerSaturday, July 25, 2020
1151*2d1272b8SAndroid Build Coastguard Worker====================================
1152*2d1272b8SAndroid Build Coastguard Worker- Use an implementation for round that always rounds up, some minor fluctuations
1153*2d1272b8SAndroid Build Coastguard Worker  are expected on var font specially when hb-ot callback is used.
1154*2d1272b8SAndroid Build Coastguard Worker- Fix an AAT's `kerx` issue on broken rendering of Devanagari Sangam MN.
1155*2d1272b8SAndroid Build Coastguard Worker- Remove AAT's `lcar` table support from _get_ligature_carets API, not even much
1156*2d1272b8SAndroid Build Coastguard Worker  use on macOS installed fonts (only two files).  GDEF support is the recommended
1157*2d1272b8SAndroid Build Coastguard Worker  one and expected to work properly after issues fixed two releases ago.
1158*2d1272b8SAndroid Build Coastguard Worker- Minor memory fixes to handle OOM better specially in hb-ft.
1159*2d1272b8SAndroid Build Coastguard Worker- Minor .so files versioning scheme change and remove stable/unstable scheme
1160*2d1272b8SAndroid Build Coastguard Worker  differences, was never used in practice (always default to stable scheme).
1161*2d1272b8SAndroid Build Coastguard Worker- We are now suggesting careful packaging of the library using meson,
1162*2d1272b8SAndroid Build Coastguard Worker  https://github.com/harfbuzz/harfbuzz/wiki/Notes-on-migration-to-meson
1163*2d1272b8SAndroid Build Coastguard Worker  for more information.
1164*2d1272b8SAndroid Build Coastguard Worker- Distribution package URL is changed, either use GitHub generated tarballs,
1165*2d1272b8SAndroid Build Coastguard Worker  `https://github.com/harfbuzz/harfbuzz/archive/$pkgver.tar.gz`
1166*2d1272b8SAndroid Build Coastguard Worker  or, even more preferably use commit hash of the release and git checkouts like,
1167*2d1272b8SAndroid Build Coastguard Worker  `git+https://github.com/harfbuzz/harfbuzz#commit=$commit`
1168*2d1272b8SAndroid Build Coastguard Worker
1169*2d1272b8SAndroid Build Coastguard Worker
1170*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 2.6.8
1171*2d1272b8SAndroid Build Coastguard WorkerMonday, June 22, 2020
1172*2d1272b8SAndroid Build Coastguard Worker====================================
1173*2d1272b8SAndroid Build Coastguard Worker- New API to fetch glyph alternates from GSUB table.
1174*2d1272b8SAndroid Build Coastguard Worker- hb-coretext build fix for macOS < 10.10.
1175*2d1272b8SAndroid Build Coastguard Worker- Meson build fixes, cmake port removal is postponed but please prepare for
1176*2d1272b8SAndroid Build Coastguard Worker  it and give us feedback.
1177*2d1272b8SAndroid Build Coastguard Worker  Autotools is still our main build system however please consider
1178*2d1272b8SAndroid Build Coastguard Worker  experimenting with meson also for packaging the library.
1179*2d1272b8SAndroid Build Coastguard Worker- New API:
1180*2d1272b8SAndroid Build Coastguard Worker+hb_ot_layout_lookup_get_glyph_alternates()
1181*2d1272b8SAndroid Build Coastguard Worker
1182*2d1272b8SAndroid Build Coastguard Worker
1183*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 2.6.7
1184*2d1272b8SAndroid Build Coastguard WorkerWednesday, June 3, 2020
1185*2d1272b8SAndroid Build Coastguard Worker====================================
1186*2d1272b8SAndroid Build Coastguard Worker- Update to Unicode 13.0.0.
1187*2d1272b8SAndroid Build Coastguard Worker- Fix hb_ot_layout_get_ligature_carets for fonts without lcar table, it was
1188*2d1272b8SAndroid Build Coastguard Worker  completely broken for all the other fonts since 2.1.2.
1189*2d1272b8SAndroid Build Coastguard Worker- As a part of our migration to meson, this release will be the last one
1190*2d1272b8SAndroid Build Coastguard Worker  to provide cmake port files but autotools still is our main build system.
1191*2d1272b8SAndroid Build Coastguard Worker  There is a possibility that the next version or the after be released
1192*2d1272b8SAndroid Build Coastguard Worker  using meson.
1193*2d1272b8SAndroid Build Coastguard Worker
1194*2d1272b8SAndroid Build Coastguard Worker
1195*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 2.6.6
1196*2d1272b8SAndroid Build Coastguard WorkerTuesday, May 12, 2020
1197*2d1272b8SAndroid Build Coastguard Worker====================================
1198*2d1272b8SAndroid Build Coastguard Worker- A fix in AAT kerning for Geeza Pro.
1199*2d1272b8SAndroid Build Coastguard Worker- Better support for resource fork fonts on macOS.
1200*2d1272b8SAndroid Build Coastguard Worker
1201*2d1272b8SAndroid Build Coastguard Worker
1202*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 2.6.5
1203*2d1272b8SAndroid Build Coastguard WorkerFriday, April 17, 2020
1204*2d1272b8SAndroid Build Coastguard Worker====================================
1205*2d1272b8SAndroid Build Coastguard Worker- Add experimental meson build system.  Autotools is still the primary
1206*2d1272b8SAndroid Build Coastguard Worker  and supported build system.
1207*2d1272b8SAndroid Build Coastguard Worker- AAT is now always preferred for horizontal scripts when both AAT and OT
1208*2d1272b8SAndroid Build Coastguard Worker  layout tables exist at the same time.
1209*2d1272b8SAndroid Build Coastguard Worker- Subsetter improvements.
1210*2d1272b8SAndroid Build Coastguard Worker- New API:
1211*2d1272b8SAndroid Build Coastguard Worker+hb_ft_font_lock_face()
1212*2d1272b8SAndroid Build Coastguard Worker+hb_ft_font_unlock_face()
1213*2d1272b8SAndroid Build Coastguard Worker
1214*2d1272b8SAndroid Build Coastguard Worker
1215*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 2.6.4
1216*2d1272b8SAndroid Build Coastguard WorkerMonday, October 29, 2019
1217*2d1272b8SAndroid Build Coastguard Worker====================================
1218*2d1272b8SAndroid Build Coastguard Worker- Small bug fix.
1219*2d1272b8SAndroid Build Coastguard Worker- Build fixes.
1220*2d1272b8SAndroid Build Coastguard Worker
1221*2d1272b8SAndroid Build Coastguard Worker
1222*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 2.6.3
1223*2d1272b8SAndroid Build Coastguard WorkerMonday, October 28, 2019
1224*2d1272b8SAndroid Build Coastguard Worker====================================
1225*2d1272b8SAndroid Build Coastguard Worker- Misc small fixes, mostly to build-related issues.
1226*2d1272b8SAndroid Build Coastguard Worker- New API:
1227*2d1272b8SAndroid Build Coastguard Worker+hb_font_get_nominal_glyphs()
1228*2d1272b8SAndroid Build Coastguard Worker
1229*2d1272b8SAndroid Build Coastguard Worker
1230*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 2.6.2
1231*2d1272b8SAndroid Build Coastguard WorkerMonday, September 30, 2019
1232*2d1272b8SAndroid Build Coastguard Worker====================================
1233*2d1272b8SAndroid Build Coastguard Worker- Misc small fixes, mostly to build-related issues.
1234*2d1272b8SAndroid Build Coastguard Worker
1235*2d1272b8SAndroid Build Coastguard Worker
1236*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 2.6.1
1237*2d1272b8SAndroid Build Coastguard WorkerThursday, August 22, 2019
1238*2d1272b8SAndroid Build Coastguard Worker====================================
1239*2d1272b8SAndroid Build Coastguard Worker- Fix regression with hb_font_create_sub_font scaling introduced in 2.6.0.
1240*2d1272b8SAndroid Build Coastguard Worker- Change interpretation of font PTEM size / CoreText font size handling.
1241*2d1272b8SAndroid Build Coastguard Worker  See https://github.com/harfbuzz/harfbuzz/pull/1484
1242*2d1272b8SAndroid Build Coastguard Worker- hb-ot-font: Prefer symbol cmap subtable if present.
1243*2d1272b8SAndroid Build Coastguard Worker- Apply 'dist'/'abvm'/'blwm' features to all scripts.
1244*2d1272b8SAndroid Build Coastguard Worker- Drop experimental DirectWrite API.
1245*2d1272b8SAndroid Build Coastguard Worker
1246*2d1272b8SAndroid Build Coastguard Worker
1247*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 2.6.0
1248*2d1272b8SAndroid Build Coastguard WorkerTuesday, August 13, 2019
1249*2d1272b8SAndroid Build Coastguard Worker====================================
1250*2d1272b8SAndroid Build Coastguard Worker- New OpenType metrics, baseline, and metadata table access APIs.
1251*2d1272b8SAndroid Build Coastguard Worker- New API to set font variations to a named-instance.
1252*2d1272b8SAndroid Build Coastguard Worker- New hb-gdi.h header and API for creating hb_face_t from HFONT.
1253*2d1272b8SAndroid Build Coastguard Worker- Amalgam: Provide a single-file harfbuzz.cc file for easier alternate building.
1254*2d1272b8SAndroid Build Coastguard Worker- More size-reduction configurable options, enabled by HB_TINY.
1255*2d1272b8SAndroid Build Coastguard Worker- New API:
1256*2d1272b8SAndroid Build Coastguard Worker+hb_font_set_var_named_instance()
1257*2d1272b8SAndroid Build Coastguard Worker+hb_gdi_face_create()
1258*2d1272b8SAndroid Build Coastguard Worker+hb_ot_layout_baseline_tag_t
1259*2d1272b8SAndroid Build Coastguard Worker+hb_ot_layout_get_baseline()
1260*2d1272b8SAndroid Build Coastguard Worker+hb_ot_meta_tag_t
1261*2d1272b8SAndroid Build Coastguard Worker+hb_ot_meta_get_entry_tags()
1262*2d1272b8SAndroid Build Coastguard Worker+hb_ot_meta_reference_entry()
1263*2d1272b8SAndroid Build Coastguard Worker+hb_ot_metrics_tag_t
1264*2d1272b8SAndroid Build Coastguard Worker+hb_ot_metrics_get_position()
1265*2d1272b8SAndroid Build Coastguard Worker+hb_ot_metrics_get_variation()
1266*2d1272b8SAndroid Build Coastguard Worker+hb_ot_metrics_get_x_variation()
1267*2d1272b8SAndroid Build Coastguard Worker+hb_ot_metrics_get_y_variation()
1268*2d1272b8SAndroid Build Coastguard Worker
1269*2d1272b8SAndroid Build Coastguard Worker
1270*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 2.5.3
1271*2d1272b8SAndroid Build Coastguard WorkerWednesday, June 26, 2019
1272*2d1272b8SAndroid Build Coastguard Worker====================================
1273*2d1272b8SAndroid Build Coastguard Worker- Fix UCD script data for Unicode 10+ scripts.  This was broken since 2.5.0.
1274*2d1272b8SAndroid Build Coastguard Worker- More optimizations for HB_TINY.
1275*2d1272b8SAndroid Build Coastguard Worker
1276*2d1272b8SAndroid Build Coastguard Worker
1277*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 2.5.2
1278*2d1272b8SAndroid Build Coastguard WorkerThursday, June 20, 2019
1279*2d1272b8SAndroid Build Coastguard Worker====================================
1280*2d1272b8SAndroid Build Coastguard Worker- More hb-config.hh facilities to shrink library size, namely when built as
1281*2d1272b8SAndroid Build Coastguard Worker  HB_TINY.
1282*2d1272b8SAndroid Build Coastguard Worker- New documentation of custom configurations in CONFIG.md.
1283*2d1272b8SAndroid Build Coastguard Worker- Fix build on gcc 4.8.  That's supported again.
1284*2d1272b8SAndroid Build Coastguard Worker- Universal Shaping Engine improvements thanks to David Corbett.
1285*2d1272b8SAndroid Build Coastguard Worker- API Changes: Undeprecate some horizontal-kerning API and re-enable in hb-ft,
1286*2d1272b8SAndroid Build Coastguard Worker  such that Type1 fonts will continue kerning.
1287*2d1272b8SAndroid Build Coastguard Worker
1288*2d1272b8SAndroid Build Coastguard Worker
1289*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 2.5.1
1290*2d1272b8SAndroid Build Coastguard WorkerFriday, May 31, 2019
1291*2d1272b8SAndroid Build Coastguard Worker====================================
1292*2d1272b8SAndroid Build Coastguard Worker- Fix build with various versions of Visual Studio.
1293*2d1272b8SAndroid Build Coastguard Worker- Improved documentation, thanks to Nathan Willis.
1294*2d1272b8SAndroid Build Coastguard Worker- Bugfix in subsetting glyf table.
1295*2d1272b8SAndroid Build Coastguard Worker- Improved scripts for cross-compiling for Windows using mingw.
1296*2d1272b8SAndroid Build Coastguard Worker- Rename HB_MATH_GLYPH_PART_FLAG_EXTENDER to HB_OT_MATH_GLYPH_PART_FLAG_EXTENDER.
1297*2d1272b8SAndroid Build Coastguard Worker  A deprecated macro is added for backwards-compatibility.
1298*2d1272b8SAndroid Build Coastguard Worker
1299*2d1272b8SAndroid Build Coastguard Worker
1300*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 2.5.0
1301*2d1272b8SAndroid Build Coastguard WorkerFriday, May 24, 2019
1302*2d1272b8SAndroid Build Coastguard Worker====================================
1303*2d1272b8SAndroid Build Coastguard Worker- This release does not include much functional changes, but includes major internal
1304*2d1272b8SAndroid Build Coastguard Worker  code-base changes.  We now require C++11.  Support for gcc 4.8 and earlier has been
1305*2d1272b8SAndroid Build Coastguard Worker  dropped.
1306*2d1272b8SAndroid Build Coastguard Worker- New hb-config.hh facility for compiling smaller library for embedded and web usecases.
1307*2d1272b8SAndroid Build Coastguard Worker- New Unicode Character Database implementation that is half the size of previously-used
1308*2d1272b8SAndroid Build Coastguard Worker  UCDN.
1309*2d1272b8SAndroid Build Coastguard Worker- Subsetter improvements.
1310*2d1272b8SAndroid Build Coastguard Worker- Improved documentation, thanks to Nathan Willis.
1311*2d1272b8SAndroid Build Coastguard Worker- Misc shaping fixes.
1312*2d1272b8SAndroid Build Coastguard Worker
1313*2d1272b8SAndroid Build Coastguard Worker
1314*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 2.4.0
1315*2d1272b8SAndroid Build Coastguard WorkerMonday, March 25, 2019
1316*2d1272b8SAndroid Build Coastguard Worker====================================
1317*2d1272b8SAndroid Build Coastguard Worker- Unicode 12.
1318*2d1272b8SAndroid Build Coastguard Worker- Misc fixes.
1319*2d1272b8SAndroid Build Coastguard Worker- Subsetter improvements.
1320*2d1272b8SAndroid Build Coastguard Worker- New API:
1321*2d1272b8SAndroid Build Coastguard WorkerHB_BUFFER_FLAG_DO_NOT_INSERT_DOTTED_CIRCLE
1322*2d1272b8SAndroid Build Coastguard Workerhb_directwrite_face_create()
1323*2d1272b8SAndroid Build Coastguard Worker
1324*2d1272b8SAndroid Build Coastguard Worker
1325*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 2.3.1
1326*2d1272b8SAndroid Build Coastguard WorkerWednesday, January 30, 2019
1327*2d1272b8SAndroid Build Coastguard Worker====================================
1328*2d1272b8SAndroid Build Coastguard Worker- AAT bug fixes.
1329*2d1272b8SAndroid Build Coastguard Worker- Misc internal housekeeping cleanup.
1330*2d1272b8SAndroid Build Coastguard Worker
1331*2d1272b8SAndroid Build Coastguard Worker
1332*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 2.3.0
1333*2d1272b8SAndroid Build Coastguard WorkerThursday, December 20, 2018
1334*2d1272b8SAndroid Build Coastguard Worker====================================
1335*2d1272b8SAndroid Build Coastguard Worker- Fix regression on big-endian architectures.  Ouch!
1336*2d1272b8SAndroid Build Coastguard Worker- Misc bug and build fixes.
1337*2d1272b8SAndroid Build Coastguard Worker- Fix subsetting of simple GSUB/GDEF.
1338*2d1272b8SAndroid Build Coastguard Worker- Merge CFF / CFF2 support contributed by Adobe.  This mostly involves
1339*2d1272b8SAndroid Build Coastguard Worker  the subsetter, but also get_glyph_extents on CFF fonts.
1340*2d1272b8SAndroid Build Coastguard Worker
1341*2d1272b8SAndroid Build Coastguard WorkerNew API in hb-aat.h:
1342*2d1272b8SAndroid Build Coastguard Worker+hb_aat_layout_has_substitution()
1343*2d1272b8SAndroid Build Coastguard Worker+hb_aat_layout_has_positioning()
1344*2d1272b8SAndroid Build Coastguard Worker+hb_aat_layout_has_tracking()
1345*2d1272b8SAndroid Build Coastguard Worker
1346*2d1272b8SAndroid Build Coastguard Worker
1347*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 2.2.0
1348*2d1272b8SAndroid Build Coastguard WorkerThursday, November 29, 2018
1349*2d1272b8SAndroid Build Coastguard Worker====================================
1350*2d1272b8SAndroid Build Coastguard Worker- Misc shaping bug fixes.
1351*2d1272b8SAndroid Build Coastguard Worker- Add font variations named-instance API.
1352*2d1272b8SAndroid Build Coastguard Worker- Deprecate font variations axis enumeration API and add replacement.
1353*2d1272b8SAndroid Build Coastguard Worker- AAT shaping improvements:
1354*2d1272b8SAndroid Build Coastguard Worker  o Fixed 'kern' table Format 2 implementation.
1355*2d1272b8SAndroid Build Coastguard Worker  o Implement 'feat' table API for feature detection.
1356*2d1272b8SAndroid Build Coastguard Worker  o Blacklist 'GSUB' table of fonts from 'MUTF' foundry that also have 'morx'.
1357*2d1272b8SAndroid Build Coastguard Worker
1358*2d1272b8SAndroid Build Coastguard WorkerNew API:
1359*2d1272b8SAndroid Build Coastguard Worker+hb_aat_layout_feature_type_t
1360*2d1272b8SAndroid Build Coastguard Worker+hb_aat_layout_feature_selector_t
1361*2d1272b8SAndroid Build Coastguard Worker+hb_aat_layout_get_feature_types()
1362*2d1272b8SAndroid Build Coastguard Worker+hb_aat_layout_feature_type_get_name_id
1363*2d1272b8SAndroid Build Coastguard Worker+hb_aat_layout_feature_selector_info_t
1364*2d1272b8SAndroid Build Coastguard Worker+HB_AAT_LAYOUT_NO_SELECTOR_INDEX
1365*2d1272b8SAndroid Build Coastguard Worker+hb_aat_layout_feature_type_get_selector_infos()
1366*2d1272b8SAndroid Build Coastguard Worker+hb_ot_var_axis_flags_t
1367*2d1272b8SAndroid Build Coastguard Worker+hb_ot_var_axis_info_t
1368*2d1272b8SAndroid Build Coastguard Worker+hb_ot_var_get_axis_infos()
1369*2d1272b8SAndroid Build Coastguard Worker+hb_ot_var_find_axis_info()
1370*2d1272b8SAndroid Build Coastguard Worker+hb_ot_var_get_named_instance_count()
1371*2d1272b8SAndroid Build Coastguard Worker+hb_ot_var_named_instance_get_subfamily_name_id()
1372*2d1272b8SAndroid Build Coastguard Worker+hb_ot_var_named_instance_get_postscript_name_id()
1373*2d1272b8SAndroid Build Coastguard Worker+hb_ot_var_named_instance_get_design_coords()
1374*2d1272b8SAndroid Build Coastguard Worker
1375*2d1272b8SAndroid Build Coastguard WorkerDeprecated API:
1376*2d1272b8SAndroid Build Coastguard Worker+HB_OT_VAR_NO_AXIS_INDEX
1377*2d1272b8SAndroid Build Coastguard Worker+hb_ot_var_axis_t
1378*2d1272b8SAndroid Build Coastguard Worker+hb_ot_var_get_axes()
1379*2d1272b8SAndroid Build Coastguard Worker+hb_ot_var_find_axis()
1380*2d1272b8SAndroid Build Coastguard Worker
1381*2d1272b8SAndroid Build Coastguard Worker
1382*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 2.1.3
1383*2d1272b8SAndroid Build Coastguard WorkerFriday, November 16, 2018
1384*2d1272b8SAndroid Build Coastguard Worker====================================
1385*2d1272b8SAndroid Build Coastguard Worker- Fix AAT 'mort' shaping, which was broken in 2.1.2
1386*2d1272b8SAndroid Build Coastguard Worker
1387*2d1272b8SAndroid Build Coastguard Worker
1388*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 2.1.2
1389*2d1272b8SAndroid Build Coastguard WorkerFriday, November 16, 2018
1390*2d1272b8SAndroid Build Coastguard Worker====================================
1391*2d1272b8SAndroid Build Coastguard Worker- Various internal changes.
1392*2d1272b8SAndroid Build Coastguard Worker- AAT shaping improvements:
1393*2d1272b8SAndroid Build Coastguard Worker  o Implement kern table Format 1 state-machine-based kerning.
1394*2d1272b8SAndroid Build Coastguard Worker  o Implement cross-stream kerning (cursive positioning, etc).
1395*2d1272b8SAndroid Build Coastguard Worker  o Ignore emptyish GSUB tables (zero scripts) if morx present.
1396*2d1272b8SAndroid Build Coastguard Worker  o Don't apply GPOS if morx is being applied.  Matches Apple.
1397*2d1272b8SAndroid Build Coastguard Worker
1398*2d1272b8SAndroid Build Coastguard Worker
1399*2d1272b8SAndroid Build Coastguard Worker-Overview of changes leading to 2.1.1
1400*2d1272b8SAndroid Build Coastguard WorkerMonday, November 5, 2018
1401*2d1272b8SAndroid Build Coastguard Worker====================================
1402*2d1272b8SAndroid Build Coastguard Worker- AAT improvements:
1403*2d1272b8SAndroid Build Coastguard Worker  o Implement 'mort' table.
1404*2d1272b8SAndroid Build Coastguard Worker  o Implement 'kern' subtables Format 1 and Format 3.
1405*2d1272b8SAndroid Build Coastguard Worker
1406*2d1272b8SAndroid Build Coastguard Worker
1407*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 2.1.0
1408*2d1272b8SAndroid Build Coastguard WorkerTuesday, October 30, 2018
1409*2d1272b8SAndroid Build Coastguard Worker====================================
1410*2d1272b8SAndroid Build Coastguard Worker- AAT shaping improvements:
1411*2d1272b8SAndroid Build Coastguard Worker  o Allow user controlling AAT features, for whole buffer only currently.
1412*2d1272b8SAndroid Build Coastguard Worker  o Several 'morx' fixes.
1413*2d1272b8SAndroid Build Coastguard Worker  o Implement tuple-kerns in 'kerx'; Fixes kerning with Apple default
1414*2d1272b8SAndroid Build Coastguard Worker    San Francisco fonts.
1415*2d1272b8SAndroid Build Coastguard Worker- Support for color fonts:
1416*2d1272b8SAndroid Build Coastguard Worker  o COLR/CPAL API to fetch color layers.
1417*2d1272b8SAndroid Build Coastguard Worker  o SVG table to fetch SVG documents.
1418*2d1272b8SAndroid Build Coastguard Worker  o CBDT/sbix API to fetch PNG images.
1419*2d1272b8SAndroid Build Coastguard Worker- New 'name' table API.
1420*2d1272b8SAndroid Build Coastguard Worker- hb-ot-font now uses 'VORG' table to correctly position CFF glyphs
1421*2d1272b8SAndroid Build Coastguard Worker  in vertical layout.
1422*2d1272b8SAndroid Build Coastguard Worker- Various fuzzer-found bug fixes.
1423*2d1272b8SAndroid Build Coastguard Worker
1424*2d1272b8SAndroid Build Coastguard WorkerChanged API:
1425*2d1272b8SAndroid Build Coastguard Worker
1426*2d1272b8SAndroid Build Coastguard WorkerA type and a macro added in 2.0.0 were renamed:
1427*2d1272b8SAndroid Build Coastguard Worker
1428*2d1272b8SAndroid Build Coastguard Workerhb_name_id_t -> hb_ot_name_id_t
1429*2d1272b8SAndroid Build Coastguard WorkerHB_NAME_ID_INVALID -> HB_OT_NAME_ID_INVALID
1430*2d1272b8SAndroid Build Coastguard Worker
1431*2d1272b8SAndroid Build Coastguard WorkerNew API:
1432*2d1272b8SAndroid Build Coastguard Worker
1433*2d1272b8SAndroid Build Coastguard Worker+hb_color_t
1434*2d1272b8SAndroid Build Coastguard Worker+HB_COLOR
1435*2d1272b8SAndroid Build Coastguard Worker+hb_color_get_alpha()
1436*2d1272b8SAndroid Build Coastguard Worker+hb_color_get_red()
1437*2d1272b8SAndroid Build Coastguard Worker+hb_color_get_green()
1438*2d1272b8SAndroid Build Coastguard Worker+hb_color_get_blue()
1439*2d1272b8SAndroid Build Coastguard Worker+hb_ot_color_has_palettes()
1440*2d1272b8SAndroid Build Coastguard Worker+hb_ot_color_palette_get_count()
1441*2d1272b8SAndroid Build Coastguard Worker+hb_ot_color_palette_get_name_id()
1442*2d1272b8SAndroid Build Coastguard Worker+hb_ot_color_palette_color_get_name_id()
1443*2d1272b8SAndroid Build Coastguard Worker+hb_ot_color_palette_flags_t
1444*2d1272b8SAndroid Build Coastguard Worker+hb_ot_color_palette_get_flags()
1445*2d1272b8SAndroid Build Coastguard Worker+hb_ot_color_palette_get_colors()
1446*2d1272b8SAndroid Build Coastguard Worker+hb_ot_color_has_layers()
1447*2d1272b8SAndroid Build Coastguard Worker+hb_ot_color_layer_t
1448*2d1272b8SAndroid Build Coastguard Worker+hb_ot_color_glyph_get_layers()
1449*2d1272b8SAndroid Build Coastguard Worker+hb_ot_color_has_svg()
1450*2d1272b8SAndroid Build Coastguard Worker+hb_ot_color_glyph_reference_svg()
1451*2d1272b8SAndroid Build Coastguard Worker+hb_ot_color_has_png()
1452*2d1272b8SAndroid Build Coastguard Worker+hb_ot_color_glyph_reference_png()
1453*2d1272b8SAndroid Build Coastguard Worker
1454*2d1272b8SAndroid Build Coastguard Worker+hb_ot_name_id_t
1455*2d1272b8SAndroid Build Coastguard Worker+HB_OT_NAME_ID_INVALID
1456*2d1272b8SAndroid Build Coastguard Worker+HB_OT_NAME_ID_COPYRIGHT
1457*2d1272b8SAndroid Build Coastguard Worker+HB_OT_NAME_ID_FONT_FAMILY
1458*2d1272b8SAndroid Build Coastguard Worker+HB_OT_NAME_ID_FONT_SUBFAMILY
1459*2d1272b8SAndroid Build Coastguard Worker+HB_OT_NAME_ID_UNIQUE_ID
1460*2d1272b8SAndroid Build Coastguard Worker+HB_OT_NAME_ID_FULL_NAME
1461*2d1272b8SAndroid Build Coastguard Worker+HB_OT_NAME_ID_VERSION_STRING
1462*2d1272b8SAndroid Build Coastguard Worker+HB_OT_NAME_ID_POSTSCRIPT_NAME
1463*2d1272b8SAndroid Build Coastguard Worker+HB_OT_NAME_ID_TRADEMARK
1464*2d1272b8SAndroid Build Coastguard Worker+HB_OT_NAME_ID_MANUFACTURER
1465*2d1272b8SAndroid Build Coastguard Worker+HB_OT_NAME_ID_DESIGNER
1466*2d1272b8SAndroid Build Coastguard Worker+HB_OT_NAME_ID_DESCRIPTION
1467*2d1272b8SAndroid Build Coastguard Worker+HB_OT_NAME_ID_VENDOR_URL
1468*2d1272b8SAndroid Build Coastguard Worker+HB_OT_NAME_ID_DESIGNER_URL
1469*2d1272b8SAndroid Build Coastguard Worker+HB_OT_NAME_ID_LICENSE
1470*2d1272b8SAndroid Build Coastguard Worker+HB_OT_NAME_ID_LICENSE_URL
1471*2d1272b8SAndroid Build Coastguard Worker+HB_OT_NAME_ID_TYPOGRAPHIC_FAMILY
1472*2d1272b8SAndroid Build Coastguard Worker+HB_OT_NAME_ID_TYPOGRAPHIC_SUBFAMILY
1473*2d1272b8SAndroid Build Coastguard Worker+HB_OT_NAME_ID_MAC_FULL_NAME
1474*2d1272b8SAndroid Build Coastguard Worker+HB_OT_NAME_ID_SAMPLE_TEXT
1475*2d1272b8SAndroid Build Coastguard Worker+HB_OT_NAME_ID_CID_FINDFONT_NAME
1476*2d1272b8SAndroid Build Coastguard Worker+HB_OT_NAME_ID_WWS_FAMILY
1477*2d1272b8SAndroid Build Coastguard Worker+HB_OT_NAME_ID_WWS_SUBFAMILY
1478*2d1272b8SAndroid Build Coastguard Worker+HB_OT_NAME_ID_LIGHT_BACKGROUND
1479*2d1272b8SAndroid Build Coastguard Worker+HB_OT_NAME_ID_DARK_BACKGROUND
1480*2d1272b8SAndroid Build Coastguard Worker+HB_OT_NAME_ID_VARIATIONS_PS_PREFIX
1481*2d1272b8SAndroid Build Coastguard Worker+hb_ot_name_entry_t
1482*2d1272b8SAndroid Build Coastguard Worker+hb_ot_name_list_names()
1483*2d1272b8SAndroid Build Coastguard Worker+hb_ot_name_get_utf8()
1484*2d1272b8SAndroid Build Coastguard Worker+hb_ot_name_get_utf16()
1485*2d1272b8SAndroid Build Coastguard Worker+hb_ot_name_get_utf32()
1486*2d1272b8SAndroid Build Coastguard Worker
1487*2d1272b8SAndroid Build Coastguard Worker
1488*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 2.0.2
1489*2d1272b8SAndroid Build Coastguard WorkerSaturday, October 20, 2018
1490*2d1272b8SAndroid Build Coastguard Worker====================================
1491*2d1272b8SAndroid Build Coastguard Worker- Fix two minor memory access issues in AAT tables.
1492*2d1272b8SAndroid Build Coastguard Worker
1493*2d1272b8SAndroid Build Coastguard Worker
1494*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 2.0.1
1495*2d1272b8SAndroid Build Coastguard WorkerFriday, October 19, 2018
1496*2d1272b8SAndroid Build Coastguard Worker====================================
1497*2d1272b8SAndroid Build Coastguard Worker- Fix hb-version.h reported release version that went wrong (1.8.0)
1498*2d1272b8SAndroid Build Coastguard Worker  with previous release.
1499*2d1272b8SAndroid Build Coastguard Worker- Fix extrapolation in 'trak' table.
1500*2d1272b8SAndroid Build Coastguard Worker- Fix hb-font infinite-recursion issue with some font funcs and
1501*2d1272b8SAndroid Build Coastguard Worker  subclassed fonts.
1502*2d1272b8SAndroid Build Coastguard Worker- Implement variation-kerning format in kerx table, although without
1503*2d1272b8SAndroid Build Coastguard Worker  variation.
1504*2d1272b8SAndroid Build Coastguard Worker- Fix return value of hb_map_is_empty().
1505*2d1272b8SAndroid Build Coastguard Worker
1506*2d1272b8SAndroid Build Coastguard Worker
1507*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 2.0.0
1508*2d1272b8SAndroid Build Coastguard WorkerThursday, October 18, 2018
1509*2d1272b8SAndroid Build Coastguard Worker====================================
1510*2d1272b8SAndroid Build Coastguard Worker- Added AAT shaping support (morx/kerx/trak).
1511*2d1272b8SAndroid Build Coastguard Worker  Automatically used if GSUB/GPOS are not available respectively.
1512*2d1272b8SAndroid Build Coastguard Worker  Set HB_OPTIONS=aat env var to have morx/kerx preferred over
1513*2d1272b8SAndroid Build Coastguard Worker  GSUB/GPOS.
1514*2d1272b8SAndroid Build Coastguard Worker- Apply TrueType kern table internally, instead of relying on
1515*2d1272b8SAndroid Build Coastguard Worker  hb_font_t callbacks.
1516*2d1272b8SAndroid Build Coastguard Worker- Khmer shaper significantly rewritten to better match Uniscribe.
1517*2d1272b8SAndroid Build Coastguard Worker- Indic3 tags ('dev3', etc) are passed to USE shaper.
1518*2d1272b8SAndroid Build Coastguard Worker- .dfont Mac font containers implemented.
1519*2d1272b8SAndroid Build Coastguard Worker- Script- and language-mapping revamped to better use BCP 47.
1520*2d1272b8SAndroid Build Coastguard Worker- Misc USE and Indic fixes.
1521*2d1272b8SAndroid Build Coastguard Worker- Misc everything fixes.
1522*2d1272b8SAndroid Build Coastguard Worker- Too many things to list.  Biggest release since 0.9.1, with
1523*2d1272b8SAndroid Build Coastguard Worker  over 500 commits in just over 5 weeks!  Didn't intend it to
1524*2d1272b8SAndroid Build Coastguard Worker  be a big release.  Just happened to become.
1525*2d1272b8SAndroid Build Coastguard Worker- hb-ft now locks underlying FT_Face during use.
1526*2d1272b8SAndroid Build Coastguard Worker
1527*2d1272b8SAndroid Build Coastguard WorkerAPI changes:
1528*2d1272b8SAndroid Build Coastguard Worker
1529*2d1272b8SAndroid Build Coastguard Worker- Newly-created hb_font_t's now have our internal "hb-ot-font"
1530*2d1272b8SAndroid Build Coastguard Worker  callbacks set on them, so they should work out of the box
1531*2d1272b8SAndroid Build Coastguard Worker  without any callbacks set.  If callbacks are set, everything
1532*2d1272b8SAndroid Build Coastguard Worker  is back to what it was before, the fallback callbacks are
1533*2d1272b8SAndroid Build Coastguard Worker  null.  If you to get the internal implementation modified,
1534*2d1272b8SAndroid Build Coastguard Worker  sub_font it.
1535*2d1272b8SAndroid Build Coastguard Worker
1536*2d1272b8SAndroid Build Coastguard Worker- New hb_font_funcs_set_nominal_glyphs_func() allows speeding
1537*2d1272b8SAndroid Build Coastguard Worker  up character to glyph mapping.
1538*2d1272b8SAndroid Build Coastguard Worker
1539*2d1272b8SAndroid Build Coastguard WorkerNew API:
1540*2d1272b8SAndroid Build Coastguard Worker+HB_FEATURE_GLOBAL_START
1541*2d1272b8SAndroid Build Coastguard Worker+HB_FEATURE_GLOBAL_END
1542*2d1272b8SAndroid Build Coastguard Worker+hb_buffer_set_invisible_glyph()
1543*2d1272b8SAndroid Build Coastguard Worker+hb_buffer_get_invisible_glyph()
1544*2d1272b8SAndroid Build Coastguard Worker+hb_font_funcs_set_nominal_glyphs_func()
1545*2d1272b8SAndroid Build Coastguard Worker+hb_ot_layout_table_select_script()
1546*2d1272b8SAndroid Build Coastguard Worker+hb_ot_layout_script_select_language()
1547*2d1272b8SAndroid Build Coastguard Worker+hb_ot_layout_feature_get_name_ids()
1548*2d1272b8SAndroid Build Coastguard Worker+hb_ot_layout_feature_get_characters()
1549*2d1272b8SAndroid Build Coastguard Worker+hb_name_id_t
1550*2d1272b8SAndroid Build Coastguard Worker+HB_NAME_ID_INVALID
1551*2d1272b8SAndroid Build Coastguard Worker+HB_OT_MAX_TAGS_PER_SCRIPT
1552*2d1272b8SAndroid Build Coastguard Worker+hb_ot_tags_from_script_and_language()
1553*2d1272b8SAndroid Build Coastguard Worker+hb_ot_tags_to_script_and_language()
1554*2d1272b8SAndroid Build Coastguard Worker
1555*2d1272b8SAndroid Build Coastguard WorkerDeprecated API:
1556*2d1272b8SAndroid Build Coastguard Worker-hb_font_funcs_set_glyph_func()
1557*2d1272b8SAndroid Build Coastguard Worker-hb_unicode_eastasian_width_func_t
1558*2d1272b8SAndroid Build Coastguard Worker-hb_unicode_funcs_set_eastasian_width_func()
1559*2d1272b8SAndroid Build Coastguard Worker-hb_unicode_eastasian_width()
1560*2d1272b8SAndroid Build Coastguard Worker-hb_unicode_decompose_compatibility_func_t
1561*2d1272b8SAndroid Build Coastguard Worker-HB_UNICODE_MAX_DECOMPOSITION_LEN
1562*2d1272b8SAndroid Build Coastguard Worker-hb_unicode_funcs_set_decompose_compatibility_func()
1563*2d1272b8SAndroid Build Coastguard Worker-hb_unicode_decompose_compatibility()
1564*2d1272b8SAndroid Build Coastguard Worker-hb_font_funcs_set_glyph_h_kerning_func()
1565*2d1272b8SAndroid Build Coastguard Worker-hb_font_funcs_set_glyph_v_kerning_func()
1566*2d1272b8SAndroid Build Coastguard Worker-hb_font_get_glyph_h_kerning()
1567*2d1272b8SAndroid Build Coastguard Worker-hb_font_get_glyph_v_kerning()
1568*2d1272b8SAndroid Build Coastguard Worker-hb_font_get_glyph_kerning_for_direction()
1569*2d1272b8SAndroid Build Coastguard Worker-hb_ot_layout_table_choose_script()
1570*2d1272b8SAndroid Build Coastguard Worker-hb_ot_layout_script_find_language()
1571*2d1272b8SAndroid Build Coastguard Worker-hb_ot_tags_from_script()
1572*2d1272b8SAndroid Build Coastguard Worker-hb_ot_tag_from_language()
1573*2d1272b8SAndroid Build Coastguard Worker
1574*2d1272b8SAndroid Build Coastguard Worker
1575*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.9.0
1576*2d1272b8SAndroid Build Coastguard WorkerMonday, September 10, 2018
1577*2d1272b8SAndroid Build Coastguard Worker====================================
1578*2d1272b8SAndroid Build Coastguard Worker- Added 'cmap' API to hb_face_t.
1579*2d1272b8SAndroid Build Coastguard Worker- Face-builder API.
1580*2d1272b8SAndroid Build Coastguard Worker- hb-ot-font re-creation should be much leaner now, as the
1581*2d1272b8SAndroid Build Coastguard Worker  font tables it uses are cached on hb_face_t now.
1582*2d1272b8SAndroid Build Coastguard Worker- Internal source header file name changes:
1583*2d1272b8SAndroid Build Coastguard Worker  hb-*-private.hh is renamed to hb-*.hh.
1584*2d1272b8SAndroid Build Coastguard Worker
1585*2d1272b8SAndroid Build Coastguard WorkerNew API:
1586*2d1272b8SAndroid Build Coastguard Worker+HB_UNICODE_MAX
1587*2d1272b8SAndroid Build Coastguard Worker+hb_face_collect_unicodes()
1588*2d1272b8SAndroid Build Coastguard Worker+hb_face_collect_variation_selectors()
1589*2d1272b8SAndroid Build Coastguard Worker+hb_face_collect_variation_unicodes()
1590*2d1272b8SAndroid Build Coastguard Worker+hb_face_builder_create()
1591*2d1272b8SAndroid Build Coastguard Worker+hb_face_builder_add_table()
1592*2d1272b8SAndroid Build Coastguard Worker
1593*2d1272b8SAndroid Build Coastguard Worker
1594*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.8.8
1595*2d1272b8SAndroid Build Coastguard WorkerTuesday, August 14, 2018
1596*2d1272b8SAndroid Build Coastguard Worker====================================
1597*2d1272b8SAndroid Build Coastguard Worker- Fix hb-icu crash on architectures where compare_exchange_weak() can
1598*2d1272b8SAndroid Build Coastguard Worker  fail falsely.  This bug was introduced in 1.8.4.
1599*2d1272b8SAndroid Build Coastguard Worker  https://bugs.chromium.org/p/chromium/issues/detail?id=873568
1600*2d1272b8SAndroid Build Coastguard Worker- More internal refactoring of atomic operations and singletons.
1601*2d1272b8SAndroid Build Coastguard Worker- API changes:
1602*2d1272b8SAndroid Build Coastguard Worker  The following functions do NOT reference their return value before
1603*2d1272b8SAndroid Build Coastguard Worker  returning:
1604*2d1272b8SAndroid Build Coastguard Worker  * hb_unicode_funcs_get_default()
1605*2d1272b8SAndroid Build Coastguard Worker  * hb_glib_get_unicode_funcs()
1606*2d1272b8SAndroid Build Coastguard Worker  * hb_icu_get_unicode_funcs()
1607*2d1272b8SAndroid Build Coastguard Worker  This is consistent with their naming ("get", instead of "reference")
1608*2d1272b8SAndroid Build Coastguard Worker  as well as how they are used in the wild (ie. no one calls destroy()
1609*2d1272b8SAndroid Build Coastguard Worker  on their return value.)
1610*2d1272b8SAndroid Build Coastguard Worker
1611*2d1272b8SAndroid Build Coastguard Worker
1612*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.8.7
1613*2d1272b8SAndroid Build Coastguard WorkerWednesday, August 8, 2018
1614*2d1272b8SAndroid Build Coastguard Worker====================================
1615*2d1272b8SAndroid Build Coastguard Worker- Fix assertion failure with GDEF-blacklisted fonts.
1616*2d1272b8SAndroid Build Coastguard Worker
1617*2d1272b8SAndroid Build Coastguard Worker
1618*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.8.6
1619*2d1272b8SAndroid Build Coastguard WorkerTuesday, August 7, 2018
1620*2d1272b8SAndroid Build Coastguard Worker====================================
1621*2d1272b8SAndroid Build Coastguard Worker- Internal code shuffling.
1622*2d1272b8SAndroid Build Coastguard Worker- New API to speed up getting advance widths for implementations
1623*2d1272b8SAndroid Build Coastguard Worker  that have heavy overhead in get_h_advance callback:
1624*2d1272b8SAndroid Build Coastguard Worker+hb_font_funcs_set_glyph_h_advances_func
1625*2d1272b8SAndroid Build Coastguard Worker+hb_font_funcs_set_glyph_v_advances_func
1626*2d1272b8SAndroid Build Coastguard Worker+hb_font_get_glyph_advances_for_direction
1627*2d1272b8SAndroid Build Coastguard Worker+hb_font_get_glyph_h_advances
1628*2d1272b8SAndroid Build Coastguard Worker+hb_font_get_glyph_h_advances_func_t
1629*2d1272b8SAndroid Build Coastguard Worker+hb_font_get_glyph_v_advances
1630*2d1272b8SAndroid Build Coastguard Worker+hb_font_get_glyph_v_advances_func_t
1631*2d1272b8SAndroid Build Coastguard Worker
1632*2d1272b8SAndroid Build Coastguard Worker
1633*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.8.5
1634*2d1272b8SAndroid Build Coastguard WorkerWednesday, August 1, 2018
1635*2d1272b8SAndroid Build Coastguard Worker====================================
1636*2d1272b8SAndroid Build Coastguard Worker- Major Khmer shaper improvements to better match Microsoft.
1637*2d1272b8SAndroid Build Coastguard Worker- Indic bug fixes.
1638*2d1272b8SAndroid Build Coastguard Worker- Internal improvements to atomic operations.
1639*2d1272b8SAndroid Build Coastguard Worker
1640*2d1272b8SAndroid Build Coastguard Worker
1641*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.8.4
1642*2d1272b8SAndroid Build Coastguard WorkerTuesday, July 17, 2018
1643*2d1272b8SAndroid Build Coastguard Worker====================================
1644*2d1272b8SAndroid Build Coastguard Worker- Fix build on non-C++11.
1645*2d1272b8SAndroid Build Coastguard Worker- Use C++-style GCC atomics and C++11 atomics.
1646*2d1272b8SAndroid Build Coastguard Worker
1647*2d1272b8SAndroid Build Coastguard Worker
1648*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.8.3
1649*2d1272b8SAndroid Build Coastguard WorkerWednesday, July 11, 2018
1650*2d1272b8SAndroid Build Coastguard Worker====================================
1651*2d1272b8SAndroid Build Coastguard Worker- A couple of Indic / USE bug fixes.
1652*2d1272b8SAndroid Build Coastguard Worker- Disable vectorization, as it was causing unaligned access bus error on
1653*2d1272b8SAndroid Build Coastguard Worker  certain 32bit architectures.
1654*2d1272b8SAndroid Build Coastguard Worker
1655*2d1272b8SAndroid Build Coastguard Worker
1656*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.8.2
1657*2d1272b8SAndroid Build Coastguard WorkerTuesday, July 3, 2018
1658*2d1272b8SAndroid Build Coastguard Worker====================================
1659*2d1272b8SAndroid Build Coastguard Worker- Fix infinite loop in Khmer shaper.
1660*2d1272b8SAndroid Build Coastguard Worker- Improve hb_blob_create_from_file() for streams.
1661*2d1272b8SAndroid Build Coastguard Worker
1662*2d1272b8SAndroid Build Coastguard Worker
1663*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.8.1
1664*2d1272b8SAndroid Build Coastguard WorkerTuesday, June 12, 2018
1665*2d1272b8SAndroid Build Coastguard Worker====================================
1666*2d1272b8SAndroid Build Coastguard Worker- Fix hb-version.h file generation; last two releases went out with wrong ones.
1667*2d1272b8SAndroid Build Coastguard Worker- Add correctness bug in hb_set_t operations, introduced in 1.7.7.
1668*2d1272b8SAndroid Build Coastguard Worker- Remove HB_SUBSET_BUILTIN build option.  Not necessary.
1669*2d1272b8SAndroid Build Coastguard Worker
1670*2d1272b8SAndroid Build Coastguard Worker
1671*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.8.0
1672*2d1272b8SAndroid Build Coastguard WorkerTuesday, June 5, 2018
1673*2d1272b8SAndroid Build Coastguard Worker====================================
1674*2d1272b8SAndroid Build Coastguard Worker- Update to Unicode 11.0.0.
1675*2d1272b8SAndroid Build Coastguard Worker
1676*2d1272b8SAndroid Build Coastguard Worker
1677*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.7.7
1678*2d1272b8SAndroid Build Coastguard WorkerTuesday, June 5, 2018
1679*2d1272b8SAndroid Build Coastguard Worker====================================
1680*2d1272b8SAndroid Build Coastguard Worker- Lots of internal changes, but not yet exposed externally.
1681*2d1272b8SAndroid Build Coastguard Worker- All HarfBuzz objects are significantly smaller in size now.
1682*2d1272b8SAndroid Build Coastguard Worker- Sinhala: Position repha on top of post-consonant, not base.
1683*2d1272b8SAndroid Build Coastguard Worker  This better matches Windows 10 behavior, which was changed
1684*2d1272b8SAndroid Build Coastguard Worker  from previous Windows versions.
1685*2d1272b8SAndroid Build Coastguard Worker- New build options:
1686*2d1272b8SAndroid Build Coastguard Worker  o New cpp macro HB_NO_ATEXIT
1687*2d1272b8SAndroid Build Coastguard Worker  o New cpp macro HB_SUBSET_BUILTIN
1688*2d1272b8SAndroid Build Coastguard Worker- Significant libharfbuzz-subset changes. API subject to change.
1689*2d1272b8SAndroid Build Coastguard Worker- New API in libharfbuzz:
1690*2d1272b8SAndroid Build Coastguard Worker
1691*2d1272b8SAndroid Build Coastguard Worker+hb_blob_create_from_file()
1692*2d1272b8SAndroid Build Coastguard Worker+hb_face_count()
1693*2d1272b8SAndroid Build Coastguard Worker
1694*2d1272b8SAndroid Build Coastguard WorkerA hashmap implementation:
1695*2d1272b8SAndroid Build Coastguard Worker+hb-map.h
1696*2d1272b8SAndroid Build Coastguard Worker+HB_MAP_VALUE_INVALID
1697*2d1272b8SAndroid Build Coastguard Worker+hb_map_t
1698*2d1272b8SAndroid Build Coastguard Worker+hb_map_create()
1699*2d1272b8SAndroid Build Coastguard Worker+hb_map_get_empty()
1700*2d1272b8SAndroid Build Coastguard Worker+hb_map_reference()
1701*2d1272b8SAndroid Build Coastguard Worker+hb_map_destroy()
1702*2d1272b8SAndroid Build Coastguard Worker+hb_map_set_user_data()
1703*2d1272b8SAndroid Build Coastguard Worker+hb_map_get_user_data()
1704*2d1272b8SAndroid Build Coastguard Worker+hb_map_allocation_successful()
1705*2d1272b8SAndroid Build Coastguard Worker+hb_map_clear()
1706*2d1272b8SAndroid Build Coastguard Worker+hb_map_is_empty()
1707*2d1272b8SAndroid Build Coastguard Worker+hb_map_get_population()
1708*2d1272b8SAndroid Build Coastguard Worker+hb_map_set()
1709*2d1272b8SAndroid Build Coastguard Worker+hb_map_get()
1710*2d1272b8SAndroid Build Coastguard Worker+hb_map_del()
1711*2d1272b8SAndroid Build Coastguard Worker+hb_map_has()
1712*2d1272b8SAndroid Build Coastguard Worker
1713*2d1272b8SAndroid Build Coastguard Worker
1714*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.7.6
1715*2d1272b8SAndroid Build Coastguard WorkerWednesday, March 7, 2018
1716*2d1272b8SAndroid Build Coastguard Worker====================================
1717*2d1272b8SAndroid Build Coastguard Worker
1718*2d1272b8SAndroid Build Coastguard Worker- Fix to hb_set_t binary operations. Ouch.
1719*2d1272b8SAndroid Build Coastguard Worker- New experimental harfbuzz-subset library. All of hb-subset.h
1720*2d1272b8SAndroid Build Coastguard Worker  is experimental right now and API WILL change.
1721*2d1272b8SAndroid Build Coastguard Worker
1722*2d1272b8SAndroid Build Coastguard Worker- New API:
1723*2d1272b8SAndroid Build Coastguard Workerhb_blob_copy_writable_or_fail()
1724*2d1272b8SAndroid Build Coastguard WorkerHB_OT_TAG_BASE
1725*2d1272b8SAndroid Build Coastguard Workerhb_set_previous()
1726*2d1272b8SAndroid Build Coastguard Workerhb_set_previous_range()
1727*2d1272b8SAndroid Build Coastguard Worker
1728*2d1272b8SAndroid Build Coastguard Worker
1729*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.7.5
1730*2d1272b8SAndroid Build Coastguard WorkerTuesday, January 30, 2018
1731*2d1272b8SAndroid Build Coastguard Worker====================================
1732*2d1272b8SAndroid Build Coastguard Worker
1733*2d1272b8SAndroid Build Coastguard Worker- Separate Khmer shaper from Indic.
1734*2d1272b8SAndroid Build Coastguard Worker- First stab at AAT morx. Not hooked up.
1735*2d1272b8SAndroid Build Coastguard Worker- Misc bug fixes.
1736*2d1272b8SAndroid Build Coastguard Worker
1737*2d1272b8SAndroid Build Coastguard Worker
1738*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.7.4
1739*2d1272b8SAndroid Build Coastguard WorkerWednesday, December 20, 2017
1740*2d1272b8SAndroid Build Coastguard Worker====================================
1741*2d1272b8SAndroid Build Coastguard Worker
1742*2d1272b8SAndroid Build Coastguard Worker- Fix collect_glyphs() regression caused by hb_set_t changes.
1743*2d1272b8SAndroid Build Coastguard Worker
1744*2d1272b8SAndroid Build Coastguard Worker
1745*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.7.3
1746*2d1272b8SAndroid Build Coastguard WorkerMonday, December 18, 2017
1747*2d1272b8SAndroid Build Coastguard Worker====================================
1748*2d1272b8SAndroid Build Coastguard Worker
1749*2d1272b8SAndroid Build Coastguard Worker- hb_set_t performance tuning and optimizations.
1750*2d1272b8SAndroid Build Coastguard Worker- Speed up collect_glyphs() and reject garbage data.
1751*2d1272b8SAndroid Build Coastguard Worker- In hb_coretext_font_create() set font point-size (ptem).
1752*2d1272b8SAndroid Build Coastguard Worker- Misc fixes.
1753*2d1272b8SAndroid Build Coastguard Worker
1754*2d1272b8SAndroid Build Coastguard Worker
1755*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.7.2
1756*2d1272b8SAndroid Build Coastguard WorkerMonday, December 4, 2017
1757*2d1272b8SAndroid Build Coastguard Worker====================================
1758*2d1272b8SAndroid Build Coastguard Worker
1759*2d1272b8SAndroid Build Coastguard Worker- Optimize hb_set_add_range().
1760*2d1272b8SAndroid Build Coastguard Worker- Misc fixes.
1761*2d1272b8SAndroid Build Coastguard Worker- New API:
1762*2d1272b8SAndroid Build Coastguard Workerhb_coretext_font_create()
1763*2d1272b8SAndroid Build Coastguard Worker
1764*2d1272b8SAndroid Build Coastguard Worker
1765*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.7.1
1766*2d1272b8SAndroid Build Coastguard WorkerTuesday, November 14, 2017
1767*2d1272b8SAndroid Build Coastguard Worker====================================
1768*2d1272b8SAndroid Build Coastguard Worker
1769*2d1272b8SAndroid Build Coastguard Worker- Fix atexit object destruction regression.
1770*2d1272b8SAndroid Build Coastguard Worker- Fix minor integer-overflow.
1771*2d1272b8SAndroid Build Coastguard Worker
1772*2d1272b8SAndroid Build Coastguard Worker
1773*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.7.0
1774*2d1272b8SAndroid Build Coastguard WorkerMonday, November 13, 2017
1775*2d1272b8SAndroid Build Coastguard Worker====================================
1776*2d1272b8SAndroid Build Coastguard Worker
1777*2d1272b8SAndroid Build Coastguard Worker- Minor Indic fixes.
1778*2d1272b8SAndroid Build Coastguard Worker- Implement kerning and glyph names in hb-ot-font.
1779*2d1272b8SAndroid Build Coastguard Worker- Various DSO optimization re .data and .bss sizes.
1780*2d1272b8SAndroid Build Coastguard Worker- Make C++11 optional; build fixes.
1781*2d1272b8SAndroid Build Coastguard Worker- Mark all other backends "unsafe-to-break".
1782*2d1272b8SAndroid Build Coastguard Worker- Graphite fix.
1783*2d1272b8SAndroid Build Coastguard Worker
1784*2d1272b8SAndroid Build Coastguard Worker
1785*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.6.3
1786*2d1272b8SAndroid Build Coastguard WorkerThursday, October 26th, 2017
1787*2d1272b8SAndroid Build Coastguard Worker====================================
1788*2d1272b8SAndroid Build Coastguard Worker
1789*2d1272b8SAndroid Build Coastguard Worker- Fix hb_set_t some more.  Should be solid now.
1790*2d1272b8SAndroid Build Coastguard Worker- Implement get_glyph_name() for hb-ot-font.
1791*2d1272b8SAndroid Build Coastguard Worker- Misc fixes.
1792*2d1272b8SAndroid Build Coastguard Worker
1793*2d1272b8SAndroid Build Coastguard Worker
1794*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.6.2
1795*2d1272b8SAndroid Build Coastguard WorkerMonday, October 23nd, 2017
1796*2d1272b8SAndroid Build Coastguard Worker====================================
1797*2d1272b8SAndroid Build Coastguard Worker
1798*2d1272b8SAndroid Build Coastguard Worker- Yesterday's release had a bad crasher; don't use it.  That's what
1799*2d1272b8SAndroid Build Coastguard Worker  happens when one works on Sunday...
1800*2d1272b8SAndroid Build Coastguard Worker  https://github.com/harfbuzz/harfbuzz/issues/578
1801*2d1272b8SAndroid Build Coastguard Worker- Build fixes for FreeBSD and Chrome Android.
1802*2d1272b8SAndroid Build Coastguard Worker
1803*2d1272b8SAndroid Build Coastguard Worker
1804*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.6.1
1805*2d1272b8SAndroid Build Coastguard WorkerSunday, October 22nd, 2017
1806*2d1272b8SAndroid Build Coastguard Worker====================================
1807*2d1272b8SAndroid Build Coastguard Worker
1808*2d1272b8SAndroid Build Coastguard Worker- Don't skip over COMBINING GRAPHEME JOINER when ligating, etc.
1809*2d1272b8SAndroid Build Coastguard Worker  To be refined: https://github.com/harfbuzz/harfbuzz/issues/554
1810*2d1272b8SAndroid Build Coastguard Worker- Faster hb_set_t implementation.
1811*2d1272b8SAndroid Build Coastguard Worker- Don't use deprecated ICU API.
1812*2d1272b8SAndroid Build Coastguard Worker- Fix undefined-behavior in Myanmar shaper, introduced in 1.6.0
1813*2d1272b8SAndroid Build Coastguard Worker- Deprecated API:
1814*2d1272b8SAndroid Build Coastguard Worker  hb_set_invert()
1815*2d1272b8SAndroid Build Coastguard Worker
1816*2d1272b8SAndroid Build Coastguard Worker
1817*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.6.0
1818*2d1272b8SAndroid Build Coastguard WorkerFriday, October the 13th, 2017
1819*2d1272b8SAndroid Build Coastguard Worker====================================
1820*2d1272b8SAndroid Build Coastguard Worker
1821*2d1272b8SAndroid Build Coastguard Worker- Update to Unicode 10.
1822*2d1272b8SAndroid Build Coastguard Worker
1823*2d1272b8SAndroid Build Coastguard Worker- Various Indic and Universal Shaping Engine fixes as a result of
1824*2d1272b8SAndroid Build Coastguard Worker  HarfBuzz Hackfest with Jonathan Kew at Web Engines Hackfest at
1825*2d1272b8SAndroid Build Coastguard Worker  the Igalia offices in A Coruña, Spain.  Thanks Igalia for having
1826*2d1272b8SAndroid Build Coastguard Worker  us!
1827*2d1272b8SAndroid Build Coastguard Worker
1828*2d1272b8SAndroid Build Coastguard Worker- Implement Unicode Arabic Mark Ordering Algorithm UTR#53.
1829*2d1272b8SAndroid Build Coastguard Worker
1830*2d1272b8SAndroid Build Coastguard Worker- Implement optical sizing / tracking in CoreText backend, using
1831*2d1272b8SAndroid Build Coastguard Worker  new API hb_font_set_ptem().
1832*2d1272b8SAndroid Build Coastguard Worker
1833*2d1272b8SAndroid Build Coastguard Worker- Allow notifying hb_font_t that underlying FT_Face changed sizing,
1834*2d1272b8SAndroid Build Coastguard Worker  using new API hb_ft_font_changed().
1835*2d1272b8SAndroid Build Coastguard Worker
1836*2d1272b8SAndroid Build Coastguard Worker- More Graphite backend RTL fixes.
1837*2d1272b8SAndroid Build Coastguard Worker
1838*2d1272b8SAndroid Build Coastguard Worker- Fix caching of variable font shaping plans.
1839*2d1272b8SAndroid Build Coastguard Worker
1840*2d1272b8SAndroid Build Coastguard Worker- hb-view / hb-shape now accept following new arguments:
1841*2d1272b8SAndroid Build Coastguard Worker
1842*2d1272b8SAndroid Build Coastguard Worker  o --unicodes: takes a list of hex numbers that represent Unicode
1843*2d1272b8SAndroid Build Coastguard Worker    codepoints.
1844*2d1272b8SAndroid Build Coastguard Worker
1845*2d1272b8SAndroid Build Coastguard WorkerNew API:
1846*2d1272b8SAndroid Build Coastguard Worker+hb_face_get_table_tags()
1847*2d1272b8SAndroid Build Coastguard Worker+hb_font_set_ptem()
1848*2d1272b8SAndroid Build Coastguard Worker+hb_font_get_ptem()
1849*2d1272b8SAndroid Build Coastguard Worker+hb_ft_font_changed()
1850*2d1272b8SAndroid Build Coastguard Worker
1851*2d1272b8SAndroid Build Coastguard Worker
1852*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.5.1
1853*2d1272b8SAndroid Build Coastguard WorkerTuesday, September 5, 2017
1854*2d1272b8SAndroid Build Coastguard Worker====================================
1855*2d1272b8SAndroid Build Coastguard Worker
1856*2d1272b8SAndroid Build Coastguard Worker- Fix "unsafe-to-break" in fallback shaping and other corner cases.
1857*2d1272b8SAndroid Build Coastguard Worker  All our tests pass with --verify now, meaning unsafe-to-break API
1858*2d1272b8SAndroid Build Coastguard Worker  works as expected.
1859*2d1272b8SAndroid Build Coastguard Worker- Add --unicodes to hb-view / hb-shape.
1860*2d1272b8SAndroid Build Coastguard Worker- [indic] Treat Consonant_With_Stacker as consonant.  This will need
1861*2d1272b8SAndroid Build Coastguard Worker  further tweaking.
1862*2d1272b8SAndroid Build Coastguard Worker- hb_buffer_diff() tweaks.
1863*2d1272b8SAndroid Build Coastguard Worker
1864*2d1272b8SAndroid Build Coastguard Worker
1865*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.5.0
1866*2d1272b8SAndroid Build Coastguard WorkerWednesday, August 23, 2017
1867*2d1272b8SAndroid Build Coastguard Worker====================================
1868*2d1272b8SAndroid Build Coastguard Worker
1869*2d1272b8SAndroid Build Coastguard Worker- Misc new API, for appending a buffer to another, and for comparing
1870*2d1272b8SAndroid Build Coastguard Worker  contents of two buffers for types of differences.
1871*2d1272b8SAndroid Build Coastguard Worker
1872*2d1272b8SAndroid Build Coastguard Worker- New "unsafe-to-break" API.  Can be used to speed up reshaping
1873*2d1272b8SAndroid Build Coastguard Worker  in line-breaking situations.  Essentially, after shaping, it returns
1874*2d1272b8SAndroid Build Coastguard Worker  positions in the input string (some of the cluster boundaries) that
1875*2d1272b8SAndroid Build Coastguard Worker  are "safe to break" in that if the text is segmented at that position
1876*2d1272b8SAndroid Build Coastguard Worker  and two sides reshaped and concatenated, the shaping result is
1877*2d1272b8SAndroid Build Coastguard Worker  exactly the same as shaping the text in one piece.
1878*2d1272b8SAndroid Build Coastguard Worker
1879*2d1272b8SAndroid Build Coastguard Worker  hb-view and hb-shape and hb-shape now take --verify, which verifies
1880*2d1272b8SAndroid Build Coastguard Worker  the above property.
1881*2d1272b8SAndroid Build Coastguard Worker
1882*2d1272b8SAndroid Build Coastguard Worker  Some corner cases of the implementation are still not quite working.
1883*2d1272b8SAndroid Build Coastguard Worker  Those will be fixed in subsequent releases.
1884*2d1272b8SAndroid Build Coastguard Worker
1885*2d1272b8SAndroid Build Coastguard Worker- New API:
1886*2d1272b8SAndroid Build Coastguard Worker
1887*2d1272b8SAndroid Build Coastguard Workerhb_buffer_append()
1888*2d1272b8SAndroid Build Coastguard Worker
1889*2d1272b8SAndroid Build Coastguard Workerhb_glyph_flags_t
1890*2d1272b8SAndroid Build Coastguard WorkerHB_GLYPH_FLAG_UNSAFE_TO_BREAK
1891*2d1272b8SAndroid Build Coastguard WorkerHB_GLYPH_FLAG_DEFINED
1892*2d1272b8SAndroid Build Coastguard Workerhb_glyph_info_get_glyph_flags()
1893*2d1272b8SAndroid Build Coastguard Worker
1894*2d1272b8SAndroid Build Coastguard WorkerHB_BUFFER_SERIALIZE_FLAG_GLYPH_FLAGS
1895*2d1272b8SAndroid Build Coastguard Worker
1896*2d1272b8SAndroid Build Coastguard Workerhb_buffer_diff_flags_t
1897*2d1272b8SAndroid Build Coastguard WorkerHB_BUFFER_DIFF_FLAG_EQUAL
1898*2d1272b8SAndroid Build Coastguard WorkerHB_BUFFER_DIFF_FLAG_CONTENT_TYPE_MISMATCH
1899*2d1272b8SAndroid Build Coastguard WorkerHB_BUFFER_DIFF_FLAG_LENGTH_MISMATCH
1900*2d1272b8SAndroid Build Coastguard WorkerHB_BUFFER_DIFF_FLAG_NOTDEF_PRESENT
1901*2d1272b8SAndroid Build Coastguard WorkerHB_BUFFER_DIFF_FLAG_DOTTED_CIRCLE_PRESENT
1902*2d1272b8SAndroid Build Coastguard WorkerHB_BUFFER_DIFF_FLAG_CODEPOINT_MISMATCH
1903*2d1272b8SAndroid Build Coastguard WorkerHB_BUFFER_DIFF_FLAG_CLUSTER_MISMATCH
1904*2d1272b8SAndroid Build Coastguard WorkerHB_BUFFER_DIFF_FLAG_GLYPH_FLAGS_MISMATCH
1905*2d1272b8SAndroid Build Coastguard WorkerHB_BUFFER_DIFF_FLAG_POSITION_MISMATCH
1906*2d1272b8SAndroid Build Coastguard Workerhb_buffer_diff
1907*2d1272b8SAndroid Build Coastguard Worker
1908*2d1272b8SAndroid Build Coastguard Worker
1909*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.4.8
1910*2d1272b8SAndroid Build Coastguard WorkerTuesday, August 8, 2017
1911*2d1272b8SAndroid Build Coastguard Worker====================================
1912*2d1272b8SAndroid Build Coastguard Worker
1913*2d1272b8SAndroid Build Coastguard Worker- Major fix to avar table handling.
1914*2d1272b8SAndroid Build Coastguard Worker- Rename hb-shape --show-message to --trace.
1915*2d1272b8SAndroid Build Coastguard Worker- Build fixes.
1916*2d1272b8SAndroid Build Coastguard Worker
1917*2d1272b8SAndroid Build Coastguard Worker
1918*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.4.7
1919*2d1272b8SAndroid Build Coastguard WorkerTuesday, July 18, 2017
1920*2d1272b8SAndroid Build Coastguard Worker====================================
1921*2d1272b8SAndroid Build Coastguard Worker
1922*2d1272b8SAndroid Build Coastguard Worker- Multiple Indic, Tibetan, and Cham fixes.
1923*2d1272b8SAndroid Build Coastguard Worker- CoreText: Allow disabling kerning.
1924*2d1272b8SAndroid Build Coastguard Worker- Adjust Arabic feature order again.
1925*2d1272b8SAndroid Build Coastguard Worker- Misc build fixes.
1926*2d1272b8SAndroid Build Coastguard Worker
1927*2d1272b8SAndroid Build Coastguard Worker
1928*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.4.6
1929*2d1272b8SAndroid Build Coastguard WorkerSunday, April 23, 2017
1930*2d1272b8SAndroid Build Coastguard Worker====================================
1931*2d1272b8SAndroid Build Coastguard Worker
1932*2d1272b8SAndroid Build Coastguard Worker- Graphite2: Fix RTL positioning issue.
1933*2d1272b8SAndroid Build Coastguard Worker- Backlist GDEF of more versions of Padauk and Tahoma.
1934*2d1272b8SAndroid Build Coastguard Worker- New, experimental, cmake alternative build system.
1935*2d1272b8SAndroid Build Coastguard Worker
1936*2d1272b8SAndroid Build Coastguard Worker
1937*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.4.5
1938*2d1272b8SAndroid Build Coastguard WorkerFriday, March 10, 2017
1939*2d1272b8SAndroid Build Coastguard Worker====================================
1940*2d1272b8SAndroid Build Coastguard Worker
1941*2d1272b8SAndroid Build Coastguard Worker- Revert "Fix Context lookup application when moving back after a glyph..."
1942*2d1272b8SAndroid Build Coastguard Worker  This introduced memory access problems.  To be fixed properly soon.
1943*2d1272b8SAndroid Build Coastguard Worker
1944*2d1272b8SAndroid Build Coastguard Worker
1945*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.4.4
1946*2d1272b8SAndroid Build Coastguard WorkerSunday, March 5, 2017
1947*2d1272b8SAndroid Build Coastguard Worker====================================
1948*2d1272b8SAndroid Build Coastguard Worker
1949*2d1272b8SAndroid Build Coastguard Worker- Fix Context lookup application when moving back after a glyph deletion.
1950*2d1272b8SAndroid Build Coastguard Worker- Fix buffer-overrun in Bengali.
1951*2d1272b8SAndroid Build Coastguard Worker
1952*2d1272b8SAndroid Build Coastguard Worker
1953*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.4.3
1954*2d1272b8SAndroid Build Coastguard WorkerSaturday, February 25, 2017
1955*2d1272b8SAndroid Build Coastguard Worker====================================
1956*2d1272b8SAndroid Build Coastguard Worker
1957*2d1272b8SAndroid Build Coastguard Worker- Route Adlam script to Arabic shaper.
1958*2d1272b8SAndroid Build Coastguard Worker- Misc fixes.
1959*2d1272b8SAndroid Build Coastguard Worker- New API:
1960*2d1272b8SAndroid Build Coastguard Worker  hb_font_set_face()
1961*2d1272b8SAndroid Build Coastguard Worker- Deprecate API:
1962*2d1272b8SAndroid Build Coastguard Worker  hb_graphite2_font_get_gr_font()
1963*2d1272b8SAndroid Build Coastguard Worker
1964*2d1272b8SAndroid Build Coastguard Worker
1965*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.4.2
1966*2d1272b8SAndroid Build Coastguard WorkerMonday, January 23, 2017
1967*2d1272b8SAndroid Build Coastguard Worker====================================
1968*2d1272b8SAndroid Build Coastguard Worker
1969*2d1272b8SAndroid Build Coastguard Worker- Implement OpenType Font Variation tables avar/fvar/HVAR/VVAR.
1970*2d1272b8SAndroid Build Coastguard Worker- hb-shape and hb-view now accept --variations.
1971*2d1272b8SAndroid Build Coastguard Worker- New API:
1972*2d1272b8SAndroid Build Coastguard Worker
1973*2d1272b8SAndroid Build Coastguard Workerhb_variation_t
1974*2d1272b8SAndroid Build Coastguard Workerhb_variation_from_string()
1975*2d1272b8SAndroid Build Coastguard Workerhb_variation_to_string()
1976*2d1272b8SAndroid Build Coastguard Worker
1977*2d1272b8SAndroid Build Coastguard Workerhb_font_set_variations()
1978*2d1272b8SAndroid Build Coastguard Workerhb_font_set_var_coords_design()
1979*2d1272b8SAndroid Build Coastguard Workerhb_font_get_var_coords_normalized()
1980*2d1272b8SAndroid Build Coastguard Worker
1981*2d1272b8SAndroid Build Coastguard Workerhb-ot-var.h:
1982*2d1272b8SAndroid Build Coastguard Workerhb_ot_var_axis_t
1983*2d1272b8SAndroid Build Coastguard Workerhb_ot_var_has_data()
1984*2d1272b8SAndroid Build Coastguard Workerhb_ot_var_get_axis_count()
1985*2d1272b8SAndroid Build Coastguard Workerhb_ot_var_get_axes()
1986*2d1272b8SAndroid Build Coastguard Workerhb_ot_var_find_axis()
1987*2d1272b8SAndroid Build Coastguard Workerhb_ot_var_normalize_variations()
1988*2d1272b8SAndroid Build Coastguard Workerhb_ot_var_normalize_coords()
1989*2d1272b8SAndroid Build Coastguard Worker
1990*2d1272b8SAndroid Build Coastguard Worker- MVAR to be implemented later.  Access to named instances to be
1991*2d1272b8SAndroid Build Coastguard Worker  implemented later as well.
1992*2d1272b8SAndroid Build Coastguard Worker
1993*2d1272b8SAndroid Build Coastguard Worker- Misc fixes.
1994*2d1272b8SAndroid Build Coastguard Worker
1995*2d1272b8SAndroid Build Coastguard Worker
1996*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.4.1
1997*2d1272b8SAndroid Build Coastguard WorkerThursday, January 5, 2017
1998*2d1272b8SAndroid Build Coastguard Worker====================================
1999*2d1272b8SAndroid Build Coastguard Worker
2000*2d1272b8SAndroid Build Coastguard Worker- Always build and use UCDN for Unicode data by default.
2001*2d1272b8SAndroid Build Coastguard Worker  Reduces dependence on version of Unicode data in glib,
2002*2d1272b8SAndroid Build Coastguard Worker  specially in the Windows bundles we are shipping, which
2003*2d1272b8SAndroid Build Coastguard Worker  have very old glib.
2004*2d1272b8SAndroid Build Coastguard Worker
2005*2d1272b8SAndroid Build Coastguard Worker
2006*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.4.0
2007*2d1272b8SAndroid Build Coastguard WorkerThursday, January 5, 2017
2008*2d1272b8SAndroid Build Coastguard Worker====================================
2009*2d1272b8SAndroid Build Coastguard Worker
2010*2d1272b8SAndroid Build Coastguard Worker- Merged "OpenType GX" branch which adds core of support for
2011*2d1272b8SAndroid Build Coastguard Worker  OpenType 1.8 Font Variations.  To that extent, the relevant
2012*2d1272b8SAndroid Build Coastguard Worker  new API is:
2013*2d1272b8SAndroid Build Coastguard Worker
2014*2d1272b8SAndroid Build Coastguard WorkerNew API:
2015*2d1272b8SAndroid Build Coastguard Workerhb_font_set_var_coords_normalized()
2016*2d1272b8SAndroid Build Coastguard Worker
2017*2d1272b8SAndroid Build Coastguard Worker  with supporting API:
2018*2d1272b8SAndroid Build Coastguard Worker
2019*2d1272b8SAndroid Build Coastguard WorkerNew API:
2020*2d1272b8SAndroid Build Coastguard WorkerHB_OT_LAYOUT_NO_VARIATIONS_INDEX
2021*2d1272b8SAndroid Build Coastguard Workerhb_ot_layout_table_find_feature_variations()
2022*2d1272b8SAndroid Build Coastguard Workerhb_ot_layout_feature_with_variations_get_lookups()
2023*2d1272b8SAndroid Build Coastguard Workerhb_shape_plan_create2()
2024*2d1272b8SAndroid Build Coastguard Workerhb_shape_plan_create_cached2()
2025*2d1272b8SAndroid Build Coastguard Worker
2026*2d1272b8SAndroid Build Coastguard Worker  Currently variations in GSUB/GPOS/GDEF are fully supported,
2027*2d1272b8SAndroid Build Coastguard Worker  and no other tables are supported.  In particular, fvar/avar
2028*2d1272b8SAndroid Build Coastguard Worker  are NOT supported, hence the hb_font_set_var_coords_normalized()
2029*2d1272b8SAndroid Build Coastguard Worker  taking normalized coordinates.  API to take design coordinates
2030*2d1272b8SAndroid Build Coastguard Worker  will be added in the future.
2031*2d1272b8SAndroid Build Coastguard Worker
2032*2d1272b8SAndroid Build Coastguard Worker  HVAR/VVAR/MVAR support will also be added to hb-ot-font in the
2033*2d1272b8SAndroid Build Coastguard Worker  future.
2034*2d1272b8SAndroid Build Coastguard Worker
2035*2d1272b8SAndroid Build Coastguard Worker- Fix regression in GDEF glyph class processing.
2036*2d1272b8SAndroid Build Coastguard Worker- Add decompositions for Chakma, Limbu, and Balinese in USE shaper.
2037*2d1272b8SAndroid Build Coastguard Worker- Misc fixes.
2038*2d1272b8SAndroid Build Coastguard Worker
2039*2d1272b8SAndroid Build Coastguard Worker
2040*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.3.4
2041*2d1272b8SAndroid Build Coastguard WorkerMonday, December 5, 2016
2042*2d1272b8SAndroid Build Coastguard Worker====================================
2043*2d1272b8SAndroid Build Coastguard Worker
2044*2d1272b8SAndroid Build Coastguard Worker- Fix vertical glyph origin in hb-ot-font.
2045*2d1272b8SAndroid Build Coastguard Worker- Implement CBDT/CBLC color font glyph extents in hb-ot-font.
2046*2d1272b8SAndroid Build Coastguard Worker
2047*2d1272b8SAndroid Build Coastguard Worker
2048*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.3.3
2049*2d1272b8SAndroid Build Coastguard WorkerWednesday, September 28, 2016
2050*2d1272b8SAndroid Build Coastguard Worker====================================
2051*2d1272b8SAndroid Build Coastguard Worker
2052*2d1272b8SAndroid Build Coastguard Worker- Implement parsing of OpenType MATH table.
2053*2d1272b8SAndroid Build Coastguard WorkerNew API:
2054*2d1272b8SAndroid Build Coastguard WorkerHB_OT_TAG_MATH
2055*2d1272b8SAndroid Build Coastguard WorkerHB_OT_MATH_SCRIPT
2056*2d1272b8SAndroid Build Coastguard Workerhb_ot_math_constant_t
2057*2d1272b8SAndroid Build Coastguard Workerhb_ot_math_kern_t
2058*2d1272b8SAndroid Build Coastguard Workerhb_ot_math_glyph_variant_t
2059*2d1272b8SAndroid Build Coastguard Workerhb_ot_math_glyph_part_flags_t
2060*2d1272b8SAndroid Build Coastguard Workerhb_ot_math_glyph_part_t
2061*2d1272b8SAndroid Build Coastguard Workerhb_ot_math_has_data
2062*2d1272b8SAndroid Build Coastguard Workerhb_ot_math_get_constant
2063*2d1272b8SAndroid Build Coastguard Workerhb_ot_math_get_glyph_italics_correction
2064*2d1272b8SAndroid Build Coastguard Workerhb_ot_math_get_glyph_top_accent_attachment
2065*2d1272b8SAndroid Build Coastguard Workerhb_ot_math_get_glyph_kerning
2066*2d1272b8SAndroid Build Coastguard Workerhb_ot_math_is_glyph_extended_shape
2067*2d1272b8SAndroid Build Coastguard Workerhb_ot_math_get_glyph_variants
2068*2d1272b8SAndroid Build Coastguard Workerhb_ot_math_get_min_connector_overlap
2069*2d1272b8SAndroid Build Coastguard Workerhb_ot_math_get_glyph_assembly
2070*2d1272b8SAndroid Build Coastguard Worker
2071*2d1272b8SAndroid Build Coastguard Worker
2072*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.3.2
2073*2d1272b8SAndroid Build Coastguard WorkerWednesday, September 27, 2016
2074*2d1272b8SAndroid Build Coastguard Worker====================================
2075*2d1272b8SAndroid Build Coastguard Worker
2076*2d1272b8SAndroid Build Coastguard Worker- Fix build of hb-coretext on older OS X versions.
2077*2d1272b8SAndroid Build Coastguard Worker
2078*2d1272b8SAndroid Build Coastguard Worker
2079*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.3.1
2080*2d1272b8SAndroid Build Coastguard WorkerWednesday, September 7, 2016
2081*2d1272b8SAndroid Build Coastguard Worker====================================
2082*2d1272b8SAndroid Build Coastguard Worker
2083*2d1272b8SAndroid Build Coastguard Worker- Blacklist bad GDEF of more fonts (Padauk).
2084*2d1272b8SAndroid Build Coastguard Worker- More CoreText backend crash fixes with OS X 10.9.5.
2085*2d1272b8SAndroid Build Coastguard Worker- Misc fixes.
2086*2d1272b8SAndroid Build Coastguard Worker
2087*2d1272b8SAndroid Build Coastguard Worker
2088*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.3.0
2089*2d1272b8SAndroid Build Coastguard WorkerThursday, July 21, 2016
2090*2d1272b8SAndroid Build Coastguard Worker====================================
2091*2d1272b8SAndroid Build Coastguard Worker
2092*2d1272b8SAndroid Build Coastguard Worker- Update to Unicode 9.0.0
2093*2d1272b8SAndroid Build Coastguard Worker- Move Javanese from Indic shaper to Universal Shaping Engine.
2094*2d1272b8SAndroid Build Coastguard Worker- Allow MultipleSubst to delete a glyph (matching Windows engine).
2095*2d1272b8SAndroid Build Coastguard Worker- Update Universal Shaping Engine to latest draft from Microsoft.
2096*2d1272b8SAndroid Build Coastguard Worker- DirectWrite backend improvements.  Note: this backend is for testing ONLY.
2097*2d1272b8SAndroid Build Coastguard Worker- CoreText backend improvements with unreachable fonts.
2098*2d1272b8SAndroid Build Coastguard Worker- Implement symbol fonts (cmap 3.0.0) in hb-ft and hb-ot-font.
2099*2d1272b8SAndroid Build Coastguard Worker- Blacklist bad GDEF of more fonts (Tahoma & others).
2100*2d1272b8SAndroid Build Coastguard Worker- Misc fixes.
2101*2d1272b8SAndroid Build Coastguard Worker
2102*2d1272b8SAndroid Build Coastguard Worker
2103*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.2.7
2104*2d1272b8SAndroid Build Coastguard WorkerMonday, May 2, 2016
2105*2d1272b8SAndroid Build Coastguard Worker====================================
2106*2d1272b8SAndroid Build Coastguard Worker
2107*2d1272b8SAndroid Build Coastguard Worker- Blacklist another version of Times New Roman (Bold) Italic from Windows 7.
2108*2d1272b8SAndroid Build Coastguard Worker- Fix Mongolian Free Variation Selectors shaping with certain fonts.
2109*2d1272b8SAndroid Build Coastguard Worker- Fix Tibetan shorthand contractions shaping.
2110*2d1272b8SAndroid Build Coastguard Worker- Improved list of language tag mappings.
2111*2d1272b8SAndroid Build Coastguard Worker- Unbreak build on Windows CE.
2112*2d1272b8SAndroid Build Coastguard Worker- Make 'glyf' table loading lazy in hb-ot-font.
2113*2d1272b8SAndroid Build Coastguard Worker
2114*2d1272b8SAndroid Build Coastguard Worker
2115*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.2.6
2116*2d1272b8SAndroid Build Coastguard WorkerFriday, April 8, 2016
2117*2d1272b8SAndroid Build Coastguard Worker====================================
2118*2d1272b8SAndroid Build Coastguard Worker
2119*2d1272b8SAndroid Build Coastguard Worker- Blacklist GDEF table of another set of Times New Roman (Bold) Italic.
2120*2d1272b8SAndroid Build Coastguard Worker- DirectWrite backend improvements.  Note: DirectWrite backend is
2121*2d1272b8SAndroid Build Coastguard Worker  exclusively for our internal testing and should NOT be used in any
2122*2d1272b8SAndroid Build Coastguard Worker  production system whatsoever.
2123*2d1272b8SAndroid Build Coastguard Worker
2124*2d1272b8SAndroid Build Coastguard Worker
2125*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.2.5
2126*2d1272b8SAndroid Build Coastguard WorkerMonday, April 4, 2016
2127*2d1272b8SAndroid Build Coastguard Worker====================================
2128*2d1272b8SAndroid Build Coastguard Worker
2129*2d1272b8SAndroid Build Coastguard Worker- Fix GDEF mark-filtering-set, which was broken in 1.2.3.
2130*2d1272b8SAndroid Build Coastguard Worker
2131*2d1272b8SAndroid Build Coastguard Worker
2132*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.2.4
2133*2d1272b8SAndroid Build Coastguard WorkerThursday, March 17, 2016
2134*2d1272b8SAndroid Build Coastguard Worker====================================
2135*2d1272b8SAndroid Build Coastguard Worker
2136*2d1272b8SAndroid Build Coastguard Worker- Synthesize GDEF glyph class for any glyph that does not have one in GDEF.
2137*2d1272b8SAndroid Build Coastguard Worker  I really hope we don't discover broken fonts that shape badly with this
2138*2d1272b8SAndroid Build Coastguard Worker  change.
2139*2d1272b8SAndroid Build Coastguard Worker- Misc build and other minor fixes.
2140*2d1272b8SAndroid Build Coastguard Worker- API changes:
2141*2d1272b8SAndroid Build Coastguard Worker  - Added HB_NDEBUG.  It's fine for production systems to define this to
2142*2d1272b8SAndroid Build Coastguard Worker    disable high-overhead debugging checks.  However, I also reduced the
2143*2d1272b8SAndroid Build Coastguard Worker    overhead of those checks, so it's a non-issue right now.  You can
2144*2d1272b8SAndroid Build Coastguard Worker    forget it.  Just not defining anything at all is fine.
2145*2d1272b8SAndroid Build Coastguard Worker
2146*2d1272b8SAndroid Build Coastguard Worker
2147*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.2.3
2148*2d1272b8SAndroid Build Coastguard WorkerThursday, February 25, 2016
2149*2d1272b8SAndroid Build Coastguard Worker====================================
2150*2d1272b8SAndroid Build Coastguard Worker
2151*2d1272b8SAndroid Build Coastguard Worker- Blacklist GDEF table of certain versions of Times New Roman (Bold) Italic,
2152*2d1272b8SAndroid Build Coastguard Worker  due to bug in glyph class of ASCII double-quote character.  This should
2153*2d1272b8SAndroid Build Coastguard Worker  address "regression" introduced in 1.2.0 when we switched mark zeroing
2154*2d1272b8SAndroid Build Coastguard Worker  in most shapers from BY_UNICODE_LATE to BY_GDEF_LATE.
2155*2d1272b8SAndroid Build Coastguard Worker  This fourth release in a week should finally stabilize things...
2156*2d1272b8SAndroid Build Coastguard Worker
2157*2d1272b8SAndroid Build Coastguard Worker- hb-ot-font's get_glyph() implementation saw some optimizations.  Though,
2158*2d1272b8SAndroid Build Coastguard Worker  might be really hard to measure in real-world situations.
2159*2d1272b8SAndroid Build Coastguard Worker
2160*2d1272b8SAndroid Build Coastguard Worker- Also, two rather small API changes:
2161*2d1272b8SAndroid Build Coastguard Worker
2162*2d1272b8SAndroid Build Coastguard WorkerWe now disable some time-consuming internal bookkeeping if built with NDEBUG
2163*2d1272b8SAndroid Build Coastguard Workerdefined.  This is a first time that we use NDEBUG to disable debug code.  If
2164*2d1272b8SAndroid Build Coastguard Workerthere exist production systems that do NOT want to enable NDEBUG, please let
2165*2d1272b8SAndroid Build Coastguard Workerme know and I'll add HB_NDEBUG.
2166*2d1272b8SAndroid Build Coastguard Worker
2167*2d1272b8SAndroid Build Coastguard WorkerAdded get_nominal_glyph() and get_variation_glyph() instead of get_glyph()
2168*2d1272b8SAndroid Build Coastguard Worker
2169*2d1272b8SAndroid Build Coastguard WorkerNew API:
2170*2d1272b8SAndroid Build Coastguard Worker- hb_font_get_nominal_glyph_func_t
2171*2d1272b8SAndroid Build Coastguard Worker- hb_font_get_variation_glyph_func_t
2172*2d1272b8SAndroid Build Coastguard Worker- hb_font_funcs_set_nominal_glyph_func()
2173*2d1272b8SAndroid Build Coastguard Worker- hb_font_funcs_set_variation_glyph_func()
2174*2d1272b8SAndroid Build Coastguard Worker- hb_font_get_nominal_glyph()
2175*2d1272b8SAndroid Build Coastguard Worker- hb_font_get_variation_glyph()
2176*2d1272b8SAndroid Build Coastguard Worker
2177*2d1272b8SAndroid Build Coastguard WorkerDeprecated API:
2178*2d1272b8SAndroid Build Coastguard Worker- hb_font_get_glyph_func_t
2179*2d1272b8SAndroid Build Coastguard Worker- hb_font_funcs_set_glyph_func()
2180*2d1272b8SAndroid Build Coastguard Worker
2181*2d1272b8SAndroid Build Coastguard WorkerClients that implement their own font-funcs are encouraged to replace
2182*2d1272b8SAndroid Build Coastguard Workertheir get_glyph() implementation with a get_nominal_glyph() and
2183*2d1272b8SAndroid Build Coastguard Workerget_variation_glyph() pair.  The variation version can assume that
2184*2d1272b8SAndroid Build Coastguard Workervariation_selector argument is not zero.  Old (deprecated) functions
2185*2d1272b8SAndroid Build Coastguard Workerwill continue working indefinitely using internal gymnastics; it is
2186*2d1272b8SAndroid Build Coastguard Workerjust more efficient to use the new functions.
2187*2d1272b8SAndroid Build Coastguard Worker
2188*2d1272b8SAndroid Build Coastguard Worker
2189*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.2.2
2190*2d1272b8SAndroid Build Coastguard WorkerWednesday, February 24, 2016
2191*2d1272b8SAndroid Build Coastguard Worker====================================
2192*2d1272b8SAndroid Build Coastguard Worker
2193*2d1272b8SAndroid Build Coastguard Worker- Fix regression with mark positioning with fonts that have
2194*2d1272b8SAndroid Build Coastguard Worker  non-zero mark advances.  This was introduced in 1.2.0 while
2195*2d1272b8SAndroid Build Coastguard Worker  trying to make mark and cursive attachments to work together.
2196*2d1272b8SAndroid Build Coastguard Worker  I have partially reverted that, so this version is much more
2197*2d1272b8SAndroid Build Coastguard Worker  like what we had before.  All clients who updated to 1.2.0
2198*2d1272b8SAndroid Build Coastguard Worker  should update to this version.
2199*2d1272b8SAndroid Build Coastguard Worker
2200*2d1272b8SAndroid Build Coastguard Worker
2201*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.2.1
2202*2d1272b8SAndroid Build Coastguard WorkerTuesday, February 23, 2016
2203*2d1272b8SAndroid Build Coastguard Worker====================================
2204*2d1272b8SAndroid Build Coastguard Worker
2205*2d1272b8SAndroid Build Coastguard Worker- CoreText: Fix bug with wrong scale if font scale was changed later.
2206*2d1272b8SAndroid Build Coastguard Worker  https://github.com/libass/libass/issues/212
2207*2d1272b8SAndroid Build Coastguard Worker- CoreText: Drastically speed up font initialization.
2208*2d1272b8SAndroid Build Coastguard Worker- CoreText: Fix tiny leak.
2209*2d1272b8SAndroid Build Coastguard Worker- Group ZWJ/ZWNJ with previous syllable under cluster-level=0.
2210*2d1272b8SAndroid Build Coastguard Worker  https://github.com/harfbuzz/harfbuzz/issues/217
2211*2d1272b8SAndroid Build Coastguard Worker- Add test/shaping/README.md about how to add tests to the suite.
2212*2d1272b8SAndroid Build Coastguard Worker
2213*2d1272b8SAndroid Build Coastguard Worker
2214*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.2.0
2215*2d1272b8SAndroid Build Coastguard WorkerFriday, February 19, 2016
2216*2d1272b8SAndroid Build Coastguard Worker====================================
2217*2d1272b8SAndroid Build Coastguard Worker
2218*2d1272b8SAndroid Build Coastguard Worker- Fix various issues (hangs mostly) in case of memory allocation failure.
2219*2d1272b8SAndroid Build Coastguard Worker- Change mark zeroing types of most shapers from BY_UNICODE_LATE to
2220*2d1272b8SAndroid Build Coastguard Worker  BY_GDEF_LATE.  This seems to be what Uniscribe does.
2221*2d1272b8SAndroid Build Coastguard Worker- Change mark zeroing of USE shaper from NONE to BY_GDEF_EARLY.  That's
2222*2d1272b8SAndroid Build Coastguard Worker  what Windows does.
2223*2d1272b8SAndroid Build Coastguard Worker- Allow GPOS cursive connection on marks, and fix the interaction with
2224*2d1272b8SAndroid Build Coastguard Worker  mark attachment.  This work resulted in some changes to how mark
2225*2d1272b8SAndroid Build Coastguard Worker  attachments work.  See:
2226*2d1272b8SAndroid Build Coastguard Worker  https://github.com/harfbuzz/harfbuzz/issues/211
2227*2d1272b8SAndroid Build Coastguard Worker  https://github.com/harfbuzz/harfbuzz/commit/86c68c7a2c971efe8e35b1f1bd99401dc8b688d2
2228*2d1272b8SAndroid Build Coastguard Worker- Graphite2 shaper: improved negative advance handling (eg. Nastaliq).
2229*2d1272b8SAndroid Build Coastguard Worker- Add nmake-based build system for Windows.
2230*2d1272b8SAndroid Build Coastguard Worker- Minor speedup.
2231*2d1272b8SAndroid Build Coastguard Worker- Misc. improvements.
2232*2d1272b8SAndroid Build Coastguard Worker
2233*2d1272b8SAndroid Build Coastguard Worker
2234*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.1.3
2235*2d1272b8SAndroid Build Coastguard WorkerMonday, January 11, 2016
2236*2d1272b8SAndroid Build Coastguard Worker====================================
2237*2d1272b8SAndroid Build Coastguard Worker
2238*2d1272b8SAndroid Build Coastguard Worker- Ported Indic shaper to Unicode 8.0 data.
2239*2d1272b8SAndroid Build Coastguard Worker- Universal Shaping Engine fixes.
2240*2d1272b8SAndroid Build Coastguard Worker- Speed up CoreText shaper when font fallback happens in CoreText.
2241*2d1272b8SAndroid Build Coastguard Worker- Documentation improvements, thanks to Khaled Hosny.
2242*2d1272b8SAndroid Build Coastguard Worker- Very rough directwrite shaper for testing, thanks to Ebrahim Byagowi.
2243*2d1272b8SAndroid Build Coastguard Worker- Misc bug fixes.
2244*2d1272b8SAndroid Build Coastguard Worker- New API:
2245*2d1272b8SAndroid Build Coastguard Worker
2246*2d1272b8SAndroid Build Coastguard Worker  * Font extents:
2247*2d1272b8SAndroid Build Coastguard Worker      hb_font_extents_t
2248*2d1272b8SAndroid Build Coastguard Worker      hb_font_get_font_extents_func_t
2249*2d1272b8SAndroid Build Coastguard Worker      hb_font_get_font_h_extents_func_t
2250*2d1272b8SAndroid Build Coastguard Worker      hb_font_get_font_v_extents_func_t
2251*2d1272b8SAndroid Build Coastguard Worker      hb_font_funcs_set_font_h_extents_func
2252*2d1272b8SAndroid Build Coastguard Worker      hb_font_funcs_set_font_v_extents_func
2253*2d1272b8SAndroid Build Coastguard Worker      hb_font_get_h_extents
2254*2d1272b8SAndroid Build Coastguard Worker      hb_font_get_v_extents
2255*2d1272b8SAndroid Build Coastguard Worker      hb_font_get_extents_for_direction
2256*2d1272b8SAndroid Build Coastguard Worker
2257*2d1272b8SAndroid Build Coastguard Worker  * Buffer message (aka debug):
2258*2d1272b8SAndroid Build Coastguard Worker      hb_buffer_message_func_t
2259*2d1272b8SAndroid Build Coastguard Worker      hb_buffer_set_message_func()
2260*2d1272b8SAndroid Build Coastguard Worker    Actual message protocol to be fleshed out later.
2261*2d1272b8SAndroid Build Coastguard Worker
2262*2d1272b8SAndroid Build Coastguard Worker
2263*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.1.2
2264*2d1272b8SAndroid Build Coastguard WorkerWednesday, November 26, 2015
2265*2d1272b8SAndroid Build Coastguard Worker====================================
2266*2d1272b8SAndroid Build Coastguard Worker
2267*2d1272b8SAndroid Build Coastguard Worker- Fix badly-broken fallback shaper that affected terminology.
2268*2d1272b8SAndroid Build Coastguard Worker  https://github.com/harfbuzz/harfbuzz/issues/187
2269*2d1272b8SAndroid Build Coastguard Worker- Fix y_scaling in Graphite shaper.
2270*2d1272b8SAndroid Build Coastguard Worker- API changes:
2271*2d1272b8SAndroid Build Coastguard Worker  * An unset glyph_h_origin() function in font-funcs now (sensibly)
2272*2d1272b8SAndroid Build Coastguard Worker    implies horizontal origin at 0,0.  Ie, the nil callback returns
2273*2d1272b8SAndroid Build Coastguard Worker    true instead of false.  As such, implementations that have a
2274*2d1272b8SAndroid Build Coastguard Worker    glyph_h_origin() that simply returns true, can remove that function
2275*2d1272b8SAndroid Build Coastguard Worker    with HarfBuzz >= 1.1.2.  This results in a tiny speedup.
2276*2d1272b8SAndroid Build Coastguard Worker
2277*2d1272b8SAndroid Build Coastguard Worker
2278*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.1.1
2279*2d1272b8SAndroid Build Coastguard WorkerWednesday, November 24, 2015
2280*2d1272b8SAndroid Build Coastguard Worker====================================
2281*2d1272b8SAndroid Build Coastguard Worker
2282*2d1272b8SAndroid Build Coastguard Worker- Build fixes, specially for hb-coretext.
2283*2d1272b8SAndroid Build Coastguard Worker
2284*2d1272b8SAndroid Build Coastguard Worker
2285*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.1.0
2286*2d1272b8SAndroid Build Coastguard WorkerWednesday, November 18, 2015
2287*2d1272b8SAndroid Build Coastguard Worker====================================
2288*2d1272b8SAndroid Build Coastguard Worker
2289*2d1272b8SAndroid Build Coastguard Worker- Implement 'stch' stretch feature for Syriac Abbreviation Mark.
2290*2d1272b8SAndroid Build Coastguard Worker  https://github.com/harfbuzz/harfbuzz/issues/141
2291*2d1272b8SAndroid Build Coastguard Worker- Disable use of decompose_compatibility() callback.
2292*2d1272b8SAndroid Build Coastguard Worker- Implement "shaping" of various Unicode space characters, even
2293*2d1272b8SAndroid Build Coastguard Worker  if the font does not support them.
2294*2d1272b8SAndroid Build Coastguard Worker  https://github.com/harfbuzz/harfbuzz/issues/153
2295*2d1272b8SAndroid Build Coastguard Worker- If font does not support U+2011 NO-BREAK HYPHEN, fallback to
2296*2d1272b8SAndroid Build Coastguard Worker  U+2010 HYPHEN.
2297*2d1272b8SAndroid Build Coastguard Worker- Changes resulting from libFuzzer continuous fuzzing:
2298*2d1272b8SAndroid Build Coastguard Worker  * Reject font tables that need more than 8 edits,
2299*2d1272b8SAndroid Build Coastguard Worker  * Bound buffer growth during shaping to 32x,
2300*2d1272b8SAndroid Build Coastguard Worker  * Fix assertions and other issues at OOM / buffer max-growth.
2301*2d1272b8SAndroid Build Coastguard Worker- Misc fixes and optimizations.
2302*2d1272b8SAndroid Build Coastguard Worker- API changes:
2303*2d1272b8SAndroid Build Coastguard Worker  * All fonts created with hb_font_create() now inherit from
2304*2d1272b8SAndroid Build Coastguard Worker    (ie. have parent) hb_font_get_empty().
2305*2d1272b8SAndroid Build Coastguard Worker
2306*2d1272b8SAndroid Build Coastguard Worker
2307*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.0.6
2308*2d1272b8SAndroid Build Coastguard WorkerThursday, October 15, 2015
2309*2d1272b8SAndroid Build Coastguard Worker====================================
2310*2d1272b8SAndroid Build Coastguard Worker
2311*2d1272b8SAndroid Build Coastguard Worker- Reduce max nesting level in OT lookups from 8 to 6.
2312*2d1272b8SAndroid Build Coastguard Worker  Should not affect any real font as far as I know.
2313*2d1272b8SAndroid Build Coastguard Worker- Fix memory access issue in ot-font.
2314*2d1272b8SAndroid Build Coastguard Worker- Revert default load-flags of fonts created using hb_ft_font_create()
2315*2d1272b8SAndroid Build Coastguard Worker  back to FT_LOAD_DEFAULT|FT_LOAD_NO_HINTING.  This was changed in
2316*2d1272b8SAndroid Build Coastguard Worker  last release (1.0.5), but caused major issues, so revert.
2317*2d1272b8SAndroid Build Coastguard Worker  https://github.com/harfbuzz/harfbuzz/issues/143
2318*2d1272b8SAndroid Build Coastguard Worker
2319*2d1272b8SAndroid Build Coastguard Worker
2320*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.0.5
2321*2d1272b8SAndroid Build Coastguard WorkerTuesday, October 13, 2015
2322*2d1272b8SAndroid Build Coastguard Worker====================================
2323*2d1272b8SAndroid Build Coastguard Worker
2324*2d1272b8SAndroid Build Coastguard Worker- Fix multiple memory access bugs discovered using libFuzzer.
2325*2d1272b8SAndroid Build Coastguard Worker  https://github.com/harfbuzz/harfbuzz/issues/139
2326*2d1272b8SAndroid Build Coastguard Worker  Everyone should upgrade to this version as soon as possible.
2327*2d1272b8SAndroid Build Coastguard Worker  We now have continuous fuzzing set up, to avoid issues like
2328*2d1272b8SAndroid Build Coastguard Worker  these creeping in again.
2329*2d1272b8SAndroid Build Coastguard Worker- Misc fixes.
2330*2d1272b8SAndroid Build Coastguard Worker
2331*2d1272b8SAndroid Build Coastguard Worker- New API:
2332*2d1272b8SAndroid Build Coastguard Worker  * hb_font_set_parent().
2333*2d1272b8SAndroid Build Coastguard Worker  * hb_ft_font_[sg]et_load_flags()
2334*2d1272b8SAndroid Build Coastguard Worker    The default flags for fonts created using hb_ft_font_create()
2335*2d1272b8SAndroid Build Coastguard Worker    has changed to default to FT_LOAD_DEFAULT now.  Previously it
2336*2d1272b8SAndroid Build Coastguard Worker    was defaulting to FT_LOAD_DFEAULT|FT_LOAD_NO_HINTING.
2337*2d1272b8SAndroid Build Coastguard Worker
2338*2d1272b8SAndroid Build Coastguard Worker- API changes:
2339*2d1272b8SAndroid Build Coastguard Worker  * Fonts now default to units-per-EM as their scale, instead of 0.
2340*2d1272b8SAndroid Build Coastguard Worker  * hb_font_create_sub_font() does NOT make parent font immutable
2341*2d1272b8SAndroid Build Coastguard Worker    anymore.  hb_font_make_immutable() does.
2342*2d1272b8SAndroid Build Coastguard Worker
2343*2d1272b8SAndroid Build Coastguard Worker
2344*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.0.4
2345*2d1272b8SAndroid Build Coastguard WorkerWednesday, September 30, 2015
2346*2d1272b8SAndroid Build Coastguard Worker====================================
2347*2d1272b8SAndroid Build Coastguard Worker
2348*2d1272b8SAndroid Build Coastguard Worker- Fix minor out-of-bounds read error.
2349*2d1272b8SAndroid Build Coastguard Worker
2350*2d1272b8SAndroid Build Coastguard Worker
2351*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.0.3
2352*2d1272b8SAndroid Build Coastguard WorkerTuesday, September 1, 2015
2353*2d1272b8SAndroid Build Coastguard Worker====================================
2354*2d1272b8SAndroid Build Coastguard Worker
2355*2d1272b8SAndroid Build Coastguard Worker- Start of user documentation, from Simon Cozens!
2356*2d1272b8SAndroid Build Coastguard Worker- Implement glyph_extents() for TrueType fonts in hb-ot-font.
2357*2d1272b8SAndroid Build Coastguard Worker- Improve GPOS cursive attachments with conflicting lookups.
2358*2d1272b8SAndroid Build Coastguard Worker- More fixes for cluster-level = 1.
2359*2d1272b8SAndroid Build Coastguard Worker- Uniscribe positioning fix.
2360*2d1272b8SAndroid Build Coastguard Worker
2361*2d1272b8SAndroid Build Coastguard Worker
2362*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.0.2
2363*2d1272b8SAndroid Build Coastguard WorkerWednesday, August 19, 2015
2364*2d1272b8SAndroid Build Coastguard Worker====================================
2365*2d1272b8SAndroid Build Coastguard Worker
2366*2d1272b8SAndroid Build Coastguard Worker- Fix shaping with cluster-level > 0.
2367*2d1272b8SAndroid Build Coastguard Worker- Fix Uniscribe backend font-size scaling.
2368*2d1272b8SAndroid Build Coastguard Worker- Declare dependencies in harfbuzz.pc.
2369*2d1272b8SAndroid Build Coastguard Worker  FreeType is not declared though, to avoid bugs in pkg-config
2370*2d1272b8SAndroid Build Coastguard Worker  0.26 with recursive dependencies.
2371*2d1272b8SAndroid Build Coastguard Worker- Slightly improved debug infrastructure.  More to come later.
2372*2d1272b8SAndroid Build Coastguard Worker- Misc build fixes.
2373*2d1272b8SAndroid Build Coastguard Worker
2374*2d1272b8SAndroid Build Coastguard Worker
2375*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.0.1
2376*2d1272b8SAndroid Build Coastguard WorkerMonday, July 27, 2015
2377*2d1272b8SAndroid Build Coastguard Worker====================================
2378*2d1272b8SAndroid Build Coastguard Worker
2379*2d1272b8SAndroid Build Coastguard Worker- Fix out-of-bounds access in USE shaper.
2380*2d1272b8SAndroid Build Coastguard Worker
2381*2d1272b8SAndroid Build Coastguard Worker
2382*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 1.0.0
2383*2d1272b8SAndroid Build Coastguard WorkerSunday, July 26, 2015
2384*2d1272b8SAndroid Build Coastguard Worker====================================
2385*2d1272b8SAndroid Build Coastguard Worker
2386*2d1272b8SAndroid Build Coastguard Worker- Implement Universal Shaping Engine:
2387*2d1272b8SAndroid Build Coastguard Worker  https://www.microsoft.com/typography/OpenTypeDev/USE/intro.htm
2388*2d1272b8SAndroid Build Coastguard Worker  http://blogs.windows.com/bloggingwindows/2015/02/23/windows-shapes-the-worlds-languages/
2389*2d1272b8SAndroid Build Coastguard Worker- Bump version to 1.0.0.  The soname was NOT bumped.
2390*2d1272b8SAndroid Build Coastguard Worker
2391*2d1272b8SAndroid Build Coastguard Worker
2392*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 0.9.42
2393*2d1272b8SAndroid Build Coastguard WorkerThursday, July 26, 2015
2394*2d1272b8SAndroid Build Coastguard Worker=====================================
2395*2d1272b8SAndroid Build Coastguard Worker
2396*2d1272b8SAndroid Build Coastguard Worker- New API to allow for retrieving finer-grained cluster
2397*2d1272b8SAndroid Build Coastguard Worker  mappings if the client desires to handle them.  Default
2398*2d1272b8SAndroid Build Coastguard Worker  behavior is unchanged.
2399*2d1272b8SAndroid Build Coastguard Worker- Fix cluster merging when removing default-ignorables.
2400*2d1272b8SAndroid Build Coastguard Worker- Update to Unicode 8.0
2401*2d1272b8SAndroid Build Coastguard Worker- hb-graphite2 fixes.
2402*2d1272b8SAndroid Build Coastguard Worker- Misc fixes.
2403*2d1272b8SAndroid Build Coastguard Worker- Removed HB_NO_MERGE_CLUSTERS hack.
2404*2d1272b8SAndroid Build Coastguard Worker- New API:
2405*2d1272b8SAndroid Build Coastguard Worker  hb_buffer_cluster_level_t enum
2406*2d1272b8SAndroid Build Coastguard Worker  hb_buffer_get_cluster_level()
2407*2d1272b8SAndroid Build Coastguard Worker  hb_buffer_set_cluster_level()
2408*2d1272b8SAndroid Build Coastguard Worker  hb-shape / hb-view --cluster-level
2409*2d1272b8SAndroid Build Coastguard Worker
2410*2d1272b8SAndroid Build Coastguard Worker
2411*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 0.9.41
2412*2d1272b8SAndroid Build Coastguard WorkerThursday, June 18, 2015
2413*2d1272b8SAndroid Build Coastguard Worker=====================================
2414*2d1272b8SAndroid Build Coastguard Worker
2415*2d1272b8SAndroid Build Coastguard Worker- Fix hb-coretext with trailing whitespace in right-to-left.
2416*2d1272b8SAndroid Build Coastguard Worker- New API: hb_buffer_reverse_range().
2417*2d1272b8SAndroid Build Coastguard Worker- Allow implementing atomic ops in config.h.
2418*2d1272b8SAndroid Build Coastguard Worker- Fix hb_language_t in language bindings.
2419*2d1272b8SAndroid Build Coastguard Worker- Misc fixes.
2420*2d1272b8SAndroid Build Coastguard Worker
2421*2d1272b8SAndroid Build Coastguard Worker
2422*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 0.9.40
2423*2d1272b8SAndroid Build Coastguard WorkerFriday, March 20, 2015
2424*2d1272b8SAndroid Build Coastguard Worker=====================================
2425*2d1272b8SAndroid Build Coastguard Worker
2426*2d1272b8SAndroid Build Coastguard Worker- Another hb-coretext crasher fix.  Ouch!
2427*2d1272b8SAndroid Build Coastguard Worker- Happy Norouz!
2428*2d1272b8SAndroid Build Coastguard Worker
2429*2d1272b8SAndroid Build Coastguard Worker
2430*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 0.9.39
2431*2d1272b8SAndroid Build Coastguard WorkerWednesday, March 4, 2015
2432*2d1272b8SAndroid Build Coastguard Worker=====================================
2433*2d1272b8SAndroid Build Coastguard Worker
2434*2d1272b8SAndroid Build Coastguard Worker- Critical hb-coretext fixes.
2435*2d1272b8SAndroid Build Coastguard Worker- Optimizations and refactoring; no functional change
2436*2d1272b8SAndroid Build Coastguard Worker  expected.
2437*2d1272b8SAndroid Build Coastguard Worker- Misc build fixes.
2438*2d1272b8SAndroid Build Coastguard Worker
2439*2d1272b8SAndroid Build Coastguard Worker
2440*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 0.9.38
2441*2d1272b8SAndroid Build Coastguard WorkerFriday, January 23, 2015
2442*2d1272b8SAndroid Build Coastguard Worker=====================================
2443*2d1272b8SAndroid Build Coastguard Worker
2444*2d1272b8SAndroid Build Coastguard Worker- Fix minor out-of-bounds access in Indic shaper.
2445*2d1272b8SAndroid Build Coastguard Worker- Change New Tai Lue shaping engine from South-East Asian to default,
2446*2d1272b8SAndroid Build Coastguard Worker  reflecting change in Unicode encoding model.
2447*2d1272b8SAndroid Build Coastguard Worker- Add hb-shape --font-size.  Can take up to two numbers for separate
2448*2d1272b8SAndroid Build Coastguard Worker  x / y size.
2449*2d1272b8SAndroid Build Coastguard Worker- Fix CoreText and FreeType scale issues with negative scales.
2450*2d1272b8SAndroid Build Coastguard Worker- Reject blobs larger than 2GB.  This might break some icu-le-hb clients
2451*2d1272b8SAndroid Build Coastguard Worker  that need security fixes.  See:
2452*2d1272b8SAndroid Build Coastguard Worker  http://www.icu-project.org/trac/ticket/11450
2453*2d1272b8SAndroid Build Coastguard Worker- Avoid accessing font tables during face destruction, in casce rogue
2454*2d1272b8SAndroid Build Coastguard Worker  clients released face data already.
2455*2d1272b8SAndroid Build Coastguard Worker- Fix up gobject-introspection a bit.  Python bindings kinda working.
2456*2d1272b8SAndroid Build Coastguard Worker  See README.python.
2457*2d1272b8SAndroid Build Coastguard Worker- Misc fixes.
2458*2d1272b8SAndroid Build Coastguard Worker- API additions:
2459*2d1272b8SAndroid Build Coastguard Worker  hb_ft_face_create_referenced()
2460*2d1272b8SAndroid Build Coastguard Worker  hb_ft_font_create_referenced()
2461*2d1272b8SAndroid Build Coastguard Worker
2462*2d1272b8SAndroid Build Coastguard Worker
2463*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 0.9.37
2464*2d1272b8SAndroid Build Coastguard WorkerWednesday, December 17, 2014
2465*2d1272b8SAndroid Build Coastguard Worker=====================================
2466*2d1272b8SAndroid Build Coastguard Worker
2467*2d1272b8SAndroid Build Coastguard Worker- Fix out-of-bounds access in Context lookup format 3.
2468*2d1272b8SAndroid Build Coastguard Worker- Indic: Allow ZWJ/ZWNJ before syllable modifiers.
2469*2d1272b8SAndroid Build Coastguard Worker
2470*2d1272b8SAndroid Build Coastguard Worker
2471*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 0.9.36
2472*2d1272b8SAndroid Build Coastguard WorkerThursday, November 20, 2014
2473*2d1272b8SAndroid Build Coastguard Worker=====================================
2474*2d1272b8SAndroid Build Coastguard Worker
2475*2d1272b8SAndroid Build Coastguard Worker- First time that three months went by without a release since
2476*2d1272b8SAndroid Build Coastguard Worker  0.9.2 was released on August 10, 2012!
2477*2d1272b8SAndroid Build Coastguard Worker- Fix performance bug in hb_ot_collect_glyphs():
2478*2d1272b8SAndroid Build Coastguard Worker  https://bugzilla.mozilla.org/show_bug.cgi?id=1090869
2479*2d1272b8SAndroid Build Coastguard Worker- Add basic vertical-text support to hb-ot-font.
2480*2d1272b8SAndroid Build Coastguard Worker- Misc build fixes.
2481*2d1272b8SAndroid Build Coastguard Worker
2482*2d1272b8SAndroid Build Coastguard Worker
2483*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 0.9.35
2484*2d1272b8SAndroid Build Coastguard WorkerSaturday, August 13, 2014
2485*2d1272b8SAndroid Build Coastguard Worker=====================================
2486*2d1272b8SAndroid Build Coastguard Worker
2487*2d1272b8SAndroid Build Coastguard Worker- Fix major shape-plan caching bug when more than one shaper were
2488*2d1272b8SAndroid Build Coastguard Worker  provided to hb_shape_full() (as exercised by XeTeX).
2489*2d1272b8SAndroid Build Coastguard Worker  http://www.mail-archive.com/[email protected]/msg1246370.html
2490*2d1272b8SAndroid Build Coastguard Worker- Fix Arabic fallback shaping regression.  This was broken in 0.9.32.
2491*2d1272b8SAndroid Build Coastguard Worker- Major hb-coretext fixes.  That backend is complete now, including
2492*2d1272b8SAndroid Build Coastguard Worker  respecing buffer direction and language, down to vertical writing.
2493*2d1272b8SAndroid Build Coastguard Worker- Build fixes for Windows CE.  Should build fine now.
2494*2d1272b8SAndroid Build Coastguard Worker- Misc fixes:
2495*2d1272b8SAndroid Build Coastguard Worker  Use atexit() only if it's safe to call from shared library
2496*2d1272b8SAndroid Build Coastguard Worker  https://bugs.freedesktop.org/show_bug.cgi?id=82246
2497*2d1272b8SAndroid Build Coastguard Worker  Mandaic had errors in its Unicode Joining_Type
2498*2d1272b8SAndroid Build Coastguard Worker  https://bugs.freedesktop.org/show_bug.cgi?id=82306
2499*2d1272b8SAndroid Build Coastguard Worker- API changes:
2500*2d1272b8SAndroid Build Coastguard Worker
2501*2d1272b8SAndroid Build Coastguard Worker  * hb_buffer_clear_contents() does not reset buffer flags now.
2502*2d1272b8SAndroid Build Coastguard Worker
2503*2d1272b8SAndroid Build Coastguard Worker    After 763e5466c0a03a7c27020e1e2598e488612529a7, one doesn't
2504*2d1272b8SAndroid Build Coastguard Worker    need to set flags for different pieces of text.  The flags now
2505*2d1272b8SAndroid Build Coastguard Worker    are something the client sets up once, depending on how it
2506*2d1272b8SAndroid Build Coastguard Worker    actually uses the buffer.  As such, don't clear it in
2507*2d1272b8SAndroid Build Coastguard Worker    clear_contents().
2508*2d1272b8SAndroid Build Coastguard Worker
2509*2d1272b8SAndroid Build Coastguard Worker    I don't expect any changes to be needed to any existing client.
2510*2d1272b8SAndroid Build Coastguard Worker
2511*2d1272b8SAndroid Build Coastguard Worker
2512*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 0.9.34
2513*2d1272b8SAndroid Build Coastguard WorkerSaturday, August 2, 2014
2514*2d1272b8SAndroid Build Coastguard Worker=====================================
2515*2d1272b8SAndroid Build Coastguard Worker
2516*2d1272b8SAndroid Build Coastguard Worker- hb_feature_from_string() now accepts CSS font-feature-settings format.
2517*2d1272b8SAndroid Build Coastguard Worker- As a result, hb-shape / hb-view --features also accept CSS-style strings.
2518*2d1272b8SAndroid Build Coastguard Worker  Eg, "'liga' off" is accepted now.
2519*2d1272b8SAndroid Build Coastguard Worker- Add old-spec Myanmar shaper:
2520*2d1272b8SAndroid Build Coastguard Worker  https://bugs.freedesktop.org/show_bug.cgi?id=81775
2521*2d1272b8SAndroid Build Coastguard Worker- Don't apply 'calt' in Hangul shaper.
2522*2d1272b8SAndroid Build Coastguard Worker- Fix mark advance zeroing for Hebrew shaper:
2523*2d1272b8SAndroid Build Coastguard Worker  https://bugs.freedesktop.org/show_bug.cgi?id=76767
2524*2d1272b8SAndroid Build Coastguard Worker- Implement Windows-1256 custom Arabic shaping.  Only built on Windows,
2525*2d1272b8SAndroid Build Coastguard Worker  and requires help from get_glyph().  Used by Firefox.
2526*2d1272b8SAndroid Build Coastguard Worker  https://bugzilla.mozilla.org/show_bug.cgi?id=1045139
2527*2d1272b8SAndroid Build Coastguard Worker- Disable 'liga' in vertical text.
2528*2d1272b8SAndroid Build Coastguard Worker- Build fixes.
2529*2d1272b8SAndroid Build Coastguard Worker- API changes:
2530*2d1272b8SAndroid Build Coastguard Worker
2531*2d1272b8SAndroid Build Coastguard Worker  * Make HB_BUFFER_FLAG_BOT/EOT easier to use.
2532*2d1272b8SAndroid Build Coastguard Worker
2533*2d1272b8SAndroid Build Coastguard Worker    Previously, we expected users to provide BOT/EOT flags when the
2534*2d1272b8SAndroid Build Coastguard Worker    text *segment* was at paragraph boundaries.  This meant that for
2535*2d1272b8SAndroid Build Coastguard Worker    clients that provide full paragraph to HarfBuzz (eg. Pango), they
2536*2d1272b8SAndroid Build Coastguard Worker    had code like this:
2537*2d1272b8SAndroid Build Coastguard Worker
2538*2d1272b8SAndroid Build Coastguard Worker      hb_buffer_set_flags (hb_buffer,
2539*2d1272b8SAndroid Build Coastguard Worker                           (item_offset == 0 ? HB_BUFFER_FLAG_BOT : 0) |
2540*2d1272b8SAndroid Build Coastguard Worker                           (item_offset + item_length == paragraph_length ?
2541*2d1272b8SAndroid Build Coastguard Worker                            HB_BUFFER_FLAG_EOT : 0));
2542*2d1272b8SAndroid Build Coastguard Worker
2543*2d1272b8SAndroid Build Coastguard Worker      hb_buffer_add_utf8 (hb_buffer,
2544*2d1272b8SAndroid Build Coastguard Worker                          paragraph_text, paragraph_length,
2545*2d1272b8SAndroid Build Coastguard Worker                          item_offset, item_length);
2546*2d1272b8SAndroid Build Coastguard Worker
2547*2d1272b8SAndroid Build Coastguard Worker    After this change such clients can simply say:
2548*2d1272b8SAndroid Build Coastguard Worker
2549*2d1272b8SAndroid Build Coastguard Worker      hb_buffer_set_flags (hb_buffer,
2550*2d1272b8SAndroid Build Coastguard Worker                           HB_BUFFER_FLAG_BOT | HB_BUFFER_FLAG_EOT);
2551*2d1272b8SAndroid Build Coastguard Worker
2552*2d1272b8SAndroid Build Coastguard Worker      hb_buffer_add_utf8 (hb_buffer,
2553*2d1272b8SAndroid Build Coastguard Worker                          paragraph_text, paragraph_length,
2554*2d1272b8SAndroid Build Coastguard Worker                          item_offset, item_length);
2555*2d1272b8SAndroid Build Coastguard Worker
2556*2d1272b8SAndroid Build Coastguard Worker    Ie, HarfBuzz itself checks whether the segment is at the beginning/end
2557*2d1272b8SAndroid Build Coastguard Worker    of the paragraph.  Clients that only pass item-at-a-time to HarfBuzz
2558*2d1272b8SAndroid Build Coastguard Worker    continue not setting any flags whatsoever.
2559*2d1272b8SAndroid Build Coastguard Worker
2560*2d1272b8SAndroid Build Coastguard Worker    Another way to put it is: if there's pre-context text in the buffer,
2561*2d1272b8SAndroid Build Coastguard Worker    HarfBuzz ignores the BOT flag.  If there's post-context, it ignores
2562*2d1272b8SAndroid Build Coastguard Worker    EOT flag.
2563*2d1272b8SAndroid Build Coastguard Worker
2564*2d1272b8SAndroid Build Coastguard Worker
2565*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 0.9.33
2566*2d1272b8SAndroid Build Coastguard WorkerTuesday, July 22, 2014
2567*2d1272b8SAndroid Build Coastguard Worker=====================================
2568*2d1272b8SAndroid Build Coastguard Worker
2569*2d1272b8SAndroid Build Coastguard Worker- Turn off ARabic 'cswh' feature that was accidentally turned on.
2570*2d1272b8SAndroid Build Coastguard Worker- Add HB_TAG_MAX_SIGNED.
2571*2d1272b8SAndroid Build Coastguard Worker- Make hb_face_make_immutable() really make face immutable!
2572*2d1272b8SAndroid Build Coastguard Worker- Windows build fixes.
2573*2d1272b8SAndroid Build Coastguard Worker
2574*2d1272b8SAndroid Build Coastguard Worker
2575*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 0.9.32
2576*2d1272b8SAndroid Build Coastguard WorkerThursday, July 17, 2014
2577*2d1272b8SAndroid Build Coastguard Worker=====================================
2578*2d1272b8SAndroid Build Coastguard Worker
2579*2d1272b8SAndroid Build Coastguard Worker- Apply Arabic shaping features in spec order exactly.
2580*2d1272b8SAndroid Build Coastguard Worker- Another fix for Mongolian free variation selectors.
2581*2d1272b8SAndroid Build Coastguard Worker- For non-Arabic scripts in Arabic shaper apply 'rlig' and 'calt'
2582*2d1272b8SAndroid Build Coastguard Worker  together.
2583*2d1272b8SAndroid Build Coastguard Worker- Minor adjustment to U+FFFD logic.
2584*2d1272b8SAndroid Build Coastguard Worker- Fix hb-coretext build.
2585*2d1272b8SAndroid Build Coastguard Worker
2586*2d1272b8SAndroid Build Coastguard Worker
2587*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 0.9.31
2588*2d1272b8SAndroid Build Coastguard WorkerWednesday, July 16, 2014
2589*2d1272b8SAndroid Build Coastguard Worker=====================================
2590*2d1272b8SAndroid Build Coastguard Worker
2591*2d1272b8SAndroid Build Coastguard Worker- Only accept valid UTF-8/16/32; we missed many cases before.
2592*2d1272b8SAndroid Build Coastguard Worker- Better shaping of invalid UTF-8/16/32.  Falls back to
2593*2d1272b8SAndroid Build Coastguard Worker  U+FFFD REPLACEMENT CHARACTER now.
2594*2d1272b8SAndroid Build Coastguard Worker- With all changes in this release, the buffer will contain fully
2595*2d1272b8SAndroid Build Coastguard Worker  valid Unicode after hb_buffer_add_utf8/16/32 no matter how
2596*2d1272b8SAndroid Build Coastguard Worker  broken the input is.  This can be overridden though.  See below.
2597*2d1272b8SAndroid Build Coastguard Worker- Fix Mongolian Variation Selectors for fonts without GDEF.
2598*2d1272b8SAndroid Build Coastguard Worker- Fix minor invalid buffer access.
2599*2d1272b8SAndroid Build Coastguard Worker- Accept zh-Hant and zh-Hans language tags.  hb_ot_tag_to_language()
2600*2d1272b8SAndroid Build Coastguard Worker  now uses these instead of private tags.
2601*2d1272b8SAndroid Build Coastguard Worker- Build fixes.
2602*2d1272b8SAndroid Build Coastguard Worker- New API:
2603*2d1272b8SAndroid Build Coastguard Worker  * hb_buffer_add_codepoints().  This does what hb_buffer_add_utf32()
2604*2d1272b8SAndroid Build Coastguard Worker    used to do, ie. no validity check on the input at all.  add_utf32
2605*2d1272b8SAndroid Build Coastguard Worker    now replaces invalid Unicode codepoints with the replacement
2606*2d1272b8SAndroid Build Coastguard Worker    character (see below).
2607*2d1272b8SAndroid Build Coastguard Worker  * hb_buffer_set_replacement_codepoint()
2608*2d1272b8SAndroid Build Coastguard Worker  * hb_buffer_get_replacement_codepoint()
2609*2d1272b8SAndroid Build Coastguard Worker    Previously, in hb_buffer_add_utf8 and hb_buffer_add_utf16, when
2610*2d1272b8SAndroid Build Coastguard Worker    we detected broken input, we replaced that with (hb_codepoint_t)-1.
2611*2d1272b8SAndroid Build Coastguard Worker    This has changed to use U+FFFD now, but can be changed using these
2612*2d1272b8SAndroid Build Coastguard Worker    new API.
2613*2d1272b8SAndroid Build Coastguard Worker
2614*2d1272b8SAndroid Build Coastguard Worker
2615*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 0.9.30
2616*2d1272b8SAndroid Build Coastguard WorkerWednesday, July 9, 2014
2617*2d1272b8SAndroid Build Coastguard Worker=====================================
2618*2d1272b8SAndroid Build Coastguard Worker
2619*2d1272b8SAndroid Build Coastguard Worker- Update to Unicode 7.0.0:
2620*2d1272b8SAndroid Build Coastguard Worker  * New scripts Manichaean and Psalter Pahlavi are shaped using
2621*2d1272b8SAndroid Build Coastguard Worker    Arabic shaper.
2622*2d1272b8SAndroid Build Coastguard Worker  * All the other new scripts to through the generic shaper for
2623*2d1272b8SAndroid Build Coastguard Worker    now.
2624*2d1272b8SAndroid Build Coastguard Worker- Minor Indic improvements.
2625*2d1272b8SAndroid Build Coastguard Worker- Fix graphite2 backend cluster mapping [crasher!]
2626*2d1272b8SAndroid Build Coastguard Worker- API changes:
2627*2d1272b8SAndroid Build Coastguard Worker  * New HB_SCRIPT_* values for Unicode 7.0 scripts.
2628*2d1272b8SAndroid Build Coastguard Worker  * New function hb_ot_layout_language_get_required_feature().
2629*2d1272b8SAndroid Build Coastguard Worker- Build fixes.
2630*2d1272b8SAndroid Build Coastguard Worker
2631*2d1272b8SAndroid Build Coastguard Worker
2632*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 0.9.29
2633*2d1272b8SAndroid Build Coastguard WorkerThursday, May 29, 2014
2634*2d1272b8SAndroid Build Coastguard Worker=====================================
2635*2d1272b8SAndroid Build Coastguard Worker
2636*2d1272b8SAndroid Build Coastguard Worker- Implement cmap in hb-ot-font.h.  No variation-selectors yet.
2637*2d1272b8SAndroid Build Coastguard Worker- Myanmar: Allow MedialYa+Asat.
2638*2d1272b8SAndroid Build Coastguard Worker- Various Indic fixes:
2639*2d1272b8SAndroid Build Coastguard Worker  * Support most characters in Extended Devanagary and Vedic
2640*2d1272b8SAndroid Build Coastguard Worker    Unicode blocks.
2641*2d1272b8SAndroid Build Coastguard Worker  * Allow digits and a some punctuation as consonant placeholders.
2642*2d1272b8SAndroid Build Coastguard Worker- Build fixes.
2643*2d1272b8SAndroid Build Coastguard Worker
2644*2d1272b8SAndroid Build Coastguard Worker
2645*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 0.9.28
2646*2d1272b8SAndroid Build Coastguard WorkerMonday, April 28, 2014
2647*2d1272b8SAndroid Build Coastguard Worker=====================================
2648*2d1272b8SAndroid Build Coastguard Worker
2649*2d1272b8SAndroid Build Coastguard Worker- Unbreak old-spec Indic shaping. (bug 76705)
2650*2d1272b8SAndroid Build Coastguard Worker- Fix shaping of U+17DD and U+0FC6.
2651*2d1272b8SAndroid Build Coastguard Worker- Add HB_NO_MERGE_CLUSTERS build option.  NOT to be enabled by default
2652*2d1272b8SAndroid Build Coastguard Worker  for shipping libraries.  It's an option for further experimentation
2653*2d1272b8SAndroid Build Coastguard Worker  right now.  When we are sure how to do it properly, we will add
2654*2d1272b8SAndroid Build Coastguard Worker  public run-time API for the functionality.
2655*2d1272b8SAndroid Build Coastguard Worker- Build fixes.
2656*2d1272b8SAndroid Build Coastguard Worker
2657*2d1272b8SAndroid Build Coastguard Worker
2658*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 0.9.27
2659*2d1272b8SAndroid Build Coastguard WorkerTuesday, March 18, 2014
2660*2d1272b8SAndroid Build Coastguard Worker=====================================
2661*2d1272b8SAndroid Build Coastguard Worker
2662*2d1272b8SAndroid Build Coastguard Worker- Don't use "register" storage class specifier
2663*2d1272b8SAndroid Build Coastguard Worker- Wrap definition of free_langs() with HAVE_ATEXIT
2664*2d1272b8SAndroid Build Coastguard Worker- Add coretext_aat shaper and hb_coretext_face_create() constructor
2665*2d1272b8SAndroid Build Coastguard Worker- If HAVE_ICU_BUILTIN is defined, use hb-icu Unicode callbacks
2666*2d1272b8SAndroid Build Coastguard Worker- Add Myanmar test case from OpenType Myanmar spec
2667*2d1272b8SAndroid Build Coastguard Worker- Only do fallback Hebrew composition if no GPOS 'mark' available
2668*2d1272b8SAndroid Build Coastguard Worker- Allow bootstrapping without gtk-doc
2669*2d1272b8SAndroid Build Coastguard Worker- Use AM_MISSING_PROG for ragel and git
2670*2d1272b8SAndroid Build Coastguard Worker- Typo in ucdn's Makefile.am
2671*2d1272b8SAndroid Build Coastguard Worker- Improve MemoryBarrier() implementation
2672*2d1272b8SAndroid Build Coastguard Worker
2673*2d1272b8SAndroid Build Coastguard Worker
2674*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 0.9.26
2675*2d1272b8SAndroid Build Coastguard WorkerThursday, January 30, 2014
2676*2d1272b8SAndroid Build Coastguard Worker=====================================
2677*2d1272b8SAndroid Build Coastguard Worker
2678*2d1272b8SAndroid Build Coastguard Worker- Misc fixes.
2679*2d1272b8SAndroid Build Coastguard Worker- Fix application of 'rtlm' feature.
2680*2d1272b8SAndroid Build Coastguard Worker- Automatically apply frac/numr/dnom around U+2044 FRACTION SLASH.
2681*2d1272b8SAndroid Build Coastguard Worker- New header: hb-ot-shape.h
2682*2d1272b8SAndroid Build Coastguard Worker- Uniscribe: fix scratch-buffer accounting.
2683*2d1272b8SAndroid Build Coastguard Worker- Reorder Tai Tham SAKOT to after tone-marks.
2684*2d1272b8SAndroid Build Coastguard Worker- Add Hangul shaper.
2685*2d1272b8SAndroid Build Coastguard Worker- New files:
2686*2d1272b8SAndroid Build Coastguard Worker  hb-ot-shape-complex-hangul.cc
2687*2d1272b8SAndroid Build Coastguard Worker  hb-ot-shape-complex-hebrew.cc
2688*2d1272b8SAndroid Build Coastguard Worker  hb-ot-shape-complex-tibetan.cc
2689*2d1272b8SAndroid Build Coastguard Worker- Disable 'cswh' feature in Arabic shaper.
2690*2d1272b8SAndroid Build Coastguard Worker- Coretext: better handle surrogate pairs.
2691*2d1272b8SAndroid Build Coastguard Worker- Add HB_TAG_MAX and _HB_SCRIPT_MAX_VALUE.
2692*2d1272b8SAndroid Build Coastguard Worker
2693*2d1272b8SAndroid Build Coastguard Worker
2694*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 0.9.25
2695*2d1272b8SAndroid Build Coastguard WorkerWednesday, December 4, 2013
2696*2d1272b8SAndroid Build Coastguard Worker=====================================
2697*2d1272b8SAndroid Build Coastguard Worker
2698*2d1272b8SAndroid Build Coastguard Worker- Myanmar shaper improvements.
2699*2d1272b8SAndroid Build Coastguard Worker- Avoid font fallback in CoreText backend.
2700*2d1272b8SAndroid Build Coastguard Worker- Additional OpenType language tag mappiongs.
2701*2d1272b8SAndroid Build Coastguard Worker- More aggressive shape-plan caching.
2702*2d1272b8SAndroid Build Coastguard Worker- Build with / require automake 1.13.
2703*2d1272b8SAndroid Build Coastguard Worker- Build with libtool 2.4.2.418 alpha to support ppc64le.
2704*2d1272b8SAndroid Build Coastguard Worker
2705*2d1272b8SAndroid Build Coastguard Worker
2706*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 0.9.24
2707*2d1272b8SAndroid Build Coastguard WorkerTuesday, November 13, 2013
2708*2d1272b8SAndroid Build Coastguard Worker=====================================
2709*2d1272b8SAndroid Build Coastguard Worker
2710*2d1272b8SAndroid Build Coastguard Worker- Misc compiler warning fixes with clang.
2711*2d1272b8SAndroid Build Coastguard Worker- No functional changes.
2712*2d1272b8SAndroid Build Coastguard Worker
2713*2d1272b8SAndroid Build Coastguard Worker
2714*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 0.9.23
2715*2d1272b8SAndroid Build Coastguard WorkerMonday, October 28, 2013
2716*2d1272b8SAndroid Build Coastguard Worker=====================================
2717*2d1272b8SAndroid Build Coastguard Worker
2718*2d1272b8SAndroid Build Coastguard Worker- "Udupi HarfBuzz Hackfest", Paris, October 14..18 2013.
2719*2d1272b8SAndroid Build Coastguard Worker- Fix (Chain)Context recursion with non-monotone lookup positions.
2720*2d1272b8SAndroid Build Coastguard Worker- Misc Indic bug fixes.
2721*2d1272b8SAndroid Build Coastguard Worker- New Javanese / Buginese shaping, similar to Windows 8.1.
2722*2d1272b8SAndroid Build Coastguard Worker
2723*2d1272b8SAndroid Build Coastguard Worker
2724*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 0.9.22
2725*2d1272b8SAndroid Build Coastguard WorkerThursday, October 3, 2013
2726*2d1272b8SAndroid Build Coastguard Worker=====================================
2727*2d1272b8SAndroid Build Coastguard Worker
2728*2d1272b8SAndroid Build Coastguard Worker- Fix use-after-end-of-scope in hb_language_from_string().
2729*2d1272b8SAndroid Build Coastguard Worker- Fix hiding of default_ignorables if font doesn't have space glyph.
2730*2d1272b8SAndroid Build Coastguard Worker- Protect against out-of-range lookup indices.
2731*2d1272b8SAndroid Build Coastguard Worker
2732*2d1272b8SAndroid Build Coastguard Worker- API Changes:
2733*2d1272b8SAndroid Build Coastguard Worker
2734*2d1272b8SAndroid Build Coastguard Worker  * Added hb_ot_layout_table_get_lookup_count()
2735*2d1272b8SAndroid Build Coastguard Worker
2736*2d1272b8SAndroid Build Coastguard Worker
2737*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 0.9.21
2738*2d1272b8SAndroid Build Coastguard WorkerMonday, September 16, 2013
2739*2d1272b8SAndroid Build Coastguard Worker=====================================
2740*2d1272b8SAndroid Build Coastguard Worker
2741*2d1272b8SAndroid Build Coastguard Worker- Rename gobject-introspection library name from harfbuzz to HarfBuzz.
2742*2d1272b8SAndroid Build Coastguard Worker- Remove (long disabled) hb-old and hb-icu-le test shapers.
2743*2d1272b8SAndroid Build Coastguard Worker- Misc gtk-doc and gobject-introspection annotations.
2744*2d1272b8SAndroid Build Coastguard Worker- Misc fixes.
2745*2d1272b8SAndroid Build Coastguard Worker- API changes:
2746*2d1272b8SAndroid Build Coastguard Worker
2747*2d1272b8SAndroid Build Coastguard Worker  * Add HB_SET_VALUE_INVALID
2748*2d1272b8SAndroid Build Coastguard Worker
2749*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 0.9.20
2750*2d1272b8SAndroid Build Coastguard WorkerThursday, August 29, 2013
2751*2d1272b8SAndroid Build Coastguard Worker=====================================
2752*2d1272b8SAndroid Build Coastguard Worker
2753*2d1272b8SAndroid Build Coastguard WorkerGeneral:
2754*2d1272b8SAndroid Build Coastguard Worker- Misc substitute_closure() fixes.
2755*2d1272b8SAndroid Build Coastguard Worker- Build fixes.
2756*2d1272b8SAndroid Build Coastguard Worker
2757*2d1272b8SAndroid Build Coastguard WorkerDocumentation:
2758*2d1272b8SAndroid Build Coastguard Worker- gtk-doc boilerplate integrated.  Docs are built now, but
2759*2d1272b8SAndroid Build Coastguard Worker  contain no contents.  By next release hopefully we have
2760*2d1272b8SAndroid Build Coastguard Worker  some content in.  Enable using --enable-gtk-doc.
2761*2d1272b8SAndroid Build Coastguard Worker
2762*2d1272b8SAndroid Build Coastguard WorkerGObject and Introspection:
2763*2d1272b8SAndroid Build Coastguard Worker- Added harfbuzz-gobject library (hb-gobject.h) that has type
2764*2d1272b8SAndroid Build Coastguard Worker  bindings for all HarfBuzz objects and enums.  Enable using
2765*2d1272b8SAndroid Build Coastguard Worker  --with-gobject.
2766*2d1272b8SAndroid Build Coastguard Worker- Added gobject-introspection boilerplate.  Nothing useful
2767*2d1272b8SAndroid Build Coastguard Worker  right now.  Work in progress.  Gets enabled automatically if
2768*2d1272b8SAndroid Build Coastguard Worker  --with-gobject is used.  Override with --disable-introspection.
2769*2d1272b8SAndroid Build Coastguard Worker
2770*2d1272b8SAndroid Build Coastguard WorkerOpenType shaper:
2771*2d1272b8SAndroid Build Coastguard Worker- Apply 'mark' in Myanmar shaper.
2772*2d1272b8SAndroid Build Coastguard Worker- Don't apply 'dlig' by default.
2773*2d1272b8SAndroid Build Coastguard Worker
2774*2d1272b8SAndroid Build Coastguard WorkerUniscribe shaper:
2775*2d1272b8SAndroid Build Coastguard Worker- Support user features.
2776*2d1272b8SAndroid Build Coastguard Worker- Fix loading of fonts that are also installed on the system.
2777*2d1272b8SAndroid Build Coastguard Worker- Fix shaping of Arabic Presentation Forms.
2778*2d1272b8SAndroid Build Coastguard Worker- Fix build with wide chars.
2779*2d1272b8SAndroid Build Coastguard Worker
2780*2d1272b8SAndroid Build Coastguard WorkerCoreText shaper:
2781*2d1272b8SAndroid Build Coastguard Worker- Support user features.
2782*2d1272b8SAndroid Build Coastguard Worker
2783*2d1272b8SAndroid Build Coastguard WorkerSource changes:
2784*2d1272b8SAndroid Build Coastguard Worker- hb_face_t code moved to hb-face.h / hb-face.cc.
2785*2d1272b8SAndroid Build Coastguard Worker- Added hb-deprecated.h.
2786*2d1272b8SAndroid Build Coastguard Worker
2787*2d1272b8SAndroid Build Coastguard WorkerAPI changes:
2788*2d1272b8SAndroid Build Coastguard Worker- Added HB_DISABLE_DEPRECATED.
2789*2d1272b8SAndroid Build Coastguard Worker- Deprecated HB_SCRIPT_CANADIAN_ABORIGINAL; replaced by
2790*2d1272b8SAndroid Build Coastguard Worker  HB_SCRIPT_CANADIAN_SYLLABICS.
2791*2d1272b8SAndroid Build Coastguard Worker- Deprecated HB_BUFFER_FLAGS_DEFAULT; replaced by
2792*2d1272b8SAndroid Build Coastguard Worker  HB_BUFFER_FLAG_DEFAULT.
2793*2d1272b8SAndroid Build Coastguard Worker- Deprecated HB_BUFFER_SERIALIZE_FLAGS_DEFAULT; replaced by
2794*2d1272b8SAndroid Build Coastguard Worker  HB_BUFFER_SERIALIZE_FLAG_DEFAULT.
2795*2d1272b8SAndroid Build Coastguard Worker
2796*2d1272b8SAndroid Build Coastguard Worker
2797*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 0.9.19
2798*2d1272b8SAndroid Build Coastguard WorkerTuesday, July 16, 2013
2799*2d1272b8SAndroid Build Coastguard Worker=====================================
2800*2d1272b8SAndroid Build Coastguard Worker
2801*2d1272b8SAndroid Build Coastguard Worker- Build fixes.
2802*2d1272b8SAndroid Build Coastguard Worker- Better handling of multiple variation selectors in a row.
2803*2d1272b8SAndroid Build Coastguard Worker- Pass on variation selector to GSUB if not consumed by cmap.
2804*2d1272b8SAndroid Build Coastguard Worker- Fix undefined memory access.
2805*2d1272b8SAndroid Build Coastguard Worker- Add Javanese config to Indic shaper.
2806*2d1272b8SAndroid Build Coastguard Worker- Misc bug fixes.
2807*2d1272b8SAndroid Build Coastguard Worker
2808*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 0.9.18
2809*2d1272b8SAndroid Build Coastguard WorkerTuesday, May 28, 2013
2810*2d1272b8SAndroid Build Coastguard Worker=====================================
2811*2d1272b8SAndroid Build Coastguard Worker
2812*2d1272b8SAndroid Build Coastguard WorkerNew build system:
2813*2d1272b8SAndroid Build Coastguard Worker
2814*2d1272b8SAndroid Build Coastguard Worker- All unneeded code is all disabled by default,
2815*2d1272b8SAndroid Build Coastguard Worker
2816*2d1272b8SAndroid Build Coastguard Worker- Uniscribe and CoreText shapers can be enabled with their --with options,
2817*2d1272b8SAndroid Build Coastguard Worker
2818*2d1272b8SAndroid Build Coastguard Worker- icu_le and old shapers cannot be enabled for now,
2819*2d1272b8SAndroid Build Coastguard Worker
2820*2d1272b8SAndroid Build Coastguard Worker- glib, freetype, and cairo will be detected automatically.
2821*2d1272b8SAndroid Build Coastguard Worker  They can be force on/off'ed with their --with options,
2822*2d1272b8SAndroid Build Coastguard Worker
2823*2d1272b8SAndroid Build Coastguard Worker- icu and graphite2 are default off, can be enabled with their --with
2824*2d1272b8SAndroid Build Coastguard Worker  options,
2825*2d1272b8SAndroid Build Coastguard Worker
2826*2d1272b8SAndroid Build Coastguard WorkerMoreover, ICU support is now build into a separate library:
2827*2d1272b8SAndroid Build Coastguard Workerlibharfbuzz-icu.so, and a new harfbuzz-icu.pc is shipped for it.
2828*2d1272b8SAndroid Build Coastguard WorkerDistros can enable ICU now without every application on earth
2829*2d1272b8SAndroid Build Coastguard Workergetting linked to via libharfbuzz.so.
2830*2d1272b8SAndroid Build Coastguard Worker
2831*2d1272b8SAndroid Build Coastguard WorkerFor distros I recommend that they make sure they are building --with-glib
2832*2d1272b8SAndroid Build Coastguard Worker--with-freetype --with-cairo, --with-icu, and optionally --with-graphite2;
2833*2d1272b8SAndroid Build Coastguard WorkerAnd package harfbuzz and harfbuzz-icu separately.
2834*2d1272b8SAndroid Build Coastguard Worker
2835*2d1272b8SAndroid Build Coastguard Worker
2836*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 0.9.17
2837*2d1272b8SAndroid Build Coastguard WorkerMonday, May 20, 2013
2838*2d1272b8SAndroid Build Coastguard Worker=====================================
2839*2d1272b8SAndroid Build Coastguard Worker
2840*2d1272b8SAndroid Build Coastguard Worker- Build fixes.
2841*2d1272b8SAndroid Build Coastguard Worker- Fix bug in hb_set_get_min().
2842*2d1272b8SAndroid Build Coastguard Worker- Fix regression with Arabic mark positioning / width-zeroing.
2843*2d1272b8SAndroid Build Coastguard Worker
2844*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 0.9.16
2845*2d1272b8SAndroid Build Coastguard WorkerFriday, April 19, 2013
2846*2d1272b8SAndroid Build Coastguard Worker=====================================
2847*2d1272b8SAndroid Build Coastguard Worker
2848*2d1272b8SAndroid Build Coastguard Worker- Major speedup in OpenType lookup processing.  With the Amiri
2849*2d1272b8SAndroid Build Coastguard Worker  Arabic font, this release is over 3x faster than previous
2850*2d1272b8SAndroid Build Coastguard Worker  release.  All scripts / languages should see this speedup.
2851*2d1272b8SAndroid Build Coastguard Worker
2852*2d1272b8SAndroid Build Coastguard Worker- New --num-iterations option for hb-shape / hb-view; useful for
2853*2d1272b8SAndroid Build Coastguard Worker  profiling.
2854*2d1272b8SAndroid Build Coastguard Worker
2855*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 0.9.15
2856*2d1272b8SAndroid Build Coastguard WorkerFriday, April 05, 2013
2857*2d1272b8SAndroid Build Coastguard Worker=====================================
2858*2d1272b8SAndroid Build Coastguard Worker
2859*2d1272b8SAndroid Build Coastguard Worker- Build fixes.
2860*2d1272b8SAndroid Build Coastguard Worker- Fix crasher in graphite2 shaper.
2861*2d1272b8SAndroid Build Coastguard Worker- Fix Arabic mark width zeroing regression.
2862*2d1272b8SAndroid Build Coastguard Worker- Don't compose Hangul jamo into Unicode syllables.
2863*2d1272b8SAndroid Build Coastguard Worker
2864*2d1272b8SAndroid Build Coastguard Worker
2865*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 0.9.14
2866*2d1272b8SAndroid Build Coastguard WorkerThursday, March 21, 2013
2867*2d1272b8SAndroid Build Coastguard Worker=====================================
2868*2d1272b8SAndroid Build Coastguard Worker
2869*2d1272b8SAndroid Build Coastguard Worker- Build fixes.
2870*2d1272b8SAndroid Build Coastguard Worker- Fix time-consuming sanitize with malicious fonts.
2871*2d1272b8SAndroid Build Coastguard Worker- Implement hb_buffer_deserialize_glyphs() for both json and text.
2872*2d1272b8SAndroid Build Coastguard Worker- Do not ignore Hangul filler characters.
2873*2d1272b8SAndroid Build Coastguard Worker- Indic fixes:
2874*2d1272b8SAndroid Build Coastguard Worker  * Fix Malayalam pre-base reordering interaction with post-forms.
2875*2d1272b8SAndroid Build Coastguard Worker  * Further adjust ZWJ handling.  Should fix known regressions from
2876*2d1272b8SAndroid Build Coastguard Worker    0.9.13.
2877*2d1272b8SAndroid Build Coastguard Worker
2878*2d1272b8SAndroid Build Coastguard Worker
2879*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 0.9.13
2880*2d1272b8SAndroid Build Coastguard WorkerThursday, February 25, 2013
2881*2d1272b8SAndroid Build Coastguard Worker=====================================
2882*2d1272b8SAndroid Build Coastguard Worker
2883*2d1272b8SAndroid Build Coastguard Worker- Build fixes.
2884*2d1272b8SAndroid Build Coastguard Worker- Ngapi HarfBuzz Hackfest in London (February 2013):
2885*2d1272b8SAndroid Build Coastguard Worker  * Fixed all known Indic bugs,
2886*2d1272b8SAndroid Build Coastguard Worker  * New Win8-style Myanmar shaper,
2887*2d1272b8SAndroid Build Coastguard Worker  * New South-East Asian shaper for Tai Tham, Cham, and New Tai Lue,
2888*2d1272b8SAndroid Build Coastguard Worker  * Smartly ignore Default_Ignorable characters (joiners, etc) wheb
2889*2d1272b8SAndroid Build Coastguard Worker    matching GSUB/GPOS lookups,
2890*2d1272b8SAndroid Build Coastguard Worker  * Fix 'Phags-Pa U+A872 shaping,
2891*2d1272b8SAndroid Build Coastguard Worker  * Fix partial disabling of default-on features,
2892*2d1272b8SAndroid Build Coastguard Worker  * Allow disabling of TrueType kerning.
2893*2d1272b8SAndroid Build Coastguard Worker- Fix possible crasher with broken fonts with overlapping tables.
2894*2d1272b8SAndroid Build Coastguard Worker- Removed generated files from git again.  So, one needs ragel to
2895*2d1272b8SAndroid Build Coastguard Worker  bootstrap from the git tree.
2896*2d1272b8SAndroid Build Coastguard Worker
2897*2d1272b8SAndroid Build Coastguard WorkerAPI changes:
2898*2d1272b8SAndroid Build Coastguard Worker- hb_shape() and related APIs now abort if buffer direction is
2899*2d1272b8SAndroid Build Coastguard Worker  HB_DIRECTION_INVALID.  Previously, hb_shape() was calling
2900*2d1272b8SAndroid Build Coastguard Worker  hb_buffer_guess_segment_properties() on the buffer before
2901*2d1272b8SAndroid Build Coastguard Worker  shaping.  The heuristics in that function are fragile.  If the
2902*2d1272b8SAndroid Build Coastguard Worker  user really wants the old behvaior, they can call that function
2903*2d1272b8SAndroid Build Coastguard Worker  right before calling hb_shape() to get the old behavior.
2904*2d1272b8SAndroid Build Coastguard Worker- hb_blob_create_sub_blob() always creates sub-blob with
2905*2d1272b8SAndroid Build Coastguard Worker  HB_MEMORY_MODE_READONLY.  See comments for the reason.
2906*2d1272b8SAndroid Build Coastguard Worker
2907*2d1272b8SAndroid Build Coastguard Worker
2908*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 0.9.12
2909*2d1272b8SAndroid Build Coastguard WorkerThursday, January 18, 2013
2910*2d1272b8SAndroid Build Coastguard Worker=====================================
2911*2d1272b8SAndroid Build Coastguard Worker
2912*2d1272b8SAndroid Build Coastguard Worker- Build fixes for Sun compiler.
2913*2d1272b8SAndroid Build Coastguard Worker- Minor bug fix.
2914*2d1272b8SAndroid Build Coastguard Worker
2915*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 0.9.11
2916*2d1272b8SAndroid Build Coastguard WorkerThursday, January 10, 2013
2917*2d1272b8SAndroid Build Coastguard Worker=====================================
2918*2d1272b8SAndroid Build Coastguard Worker
2919*2d1272b8SAndroid Build Coastguard Worker- Build fixes.
2920*2d1272b8SAndroid Build Coastguard Worker- Fix GPOS mark attachment with null Anchor offsets.
2921*2d1272b8SAndroid Build Coastguard Worker- [Indic] Fix old-spec reordering of viramas if sequence ends in one.
2922*2d1272b8SAndroid Build Coastguard Worker- Fix multi-threaded shaper data creation crash.
2923*2d1272b8SAndroid Build Coastguard Worker- Add atomic ops for Solaris.
2924*2d1272b8SAndroid Build Coastguard Worker
2925*2d1272b8SAndroid Build Coastguard WorkerAPI changes:
2926*2d1272b8SAndroid Build Coastguard Worker- Rename hb_buffer_clear() to hb_buffer_clear_contents().
2927*2d1272b8SAndroid Build Coastguard Worker
2928*2d1272b8SAndroid Build Coastguard Worker
2929*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 0.9.10
2930*2d1272b8SAndroid Build Coastguard WorkerThursday, January 3, 2013
2931*2d1272b8SAndroid Build Coastguard Worker=====================================
2932*2d1272b8SAndroid Build Coastguard Worker
2933*2d1272b8SAndroid Build Coastguard Worker- [Indic] Fixed rendering of Malayalam dot-reph
2934*2d1272b8SAndroid Build Coastguard Worker- Updated OT language tags.
2935*2d1272b8SAndroid Build Coastguard Worker- Updated graphite2 backend.
2936*2d1272b8SAndroid Build Coastguard Worker- Improved hb_ot_layout_get_size_params() logic.
2937*2d1272b8SAndroid Build Coastguard Worker- Improve hb-shape/hb-view help output.
2938*2d1272b8SAndroid Build Coastguard Worker- Fixed hb-set.h implementation to not crash.
2939*2d1272b8SAndroid Build Coastguard Worker- Fixed various issues with hb_ot_layout_collect_lookups().
2940*2d1272b8SAndroid Build Coastguard Worker- Various build fixes.
2941*2d1272b8SAndroid Build Coastguard Worker
2942*2d1272b8SAndroid Build Coastguard WorkerNew API:
2943*2d1272b8SAndroid Build Coastguard Worker
2944*2d1272b8SAndroid Build Coastguard Workerhb_graphite2_face_get_gr_face()
2945*2d1272b8SAndroid Build Coastguard Workerhb_graphite2_font_get_gr_font()
2946*2d1272b8SAndroid Build Coastguard Workerhb_coretext_face_get_cg_font()
2947*2d1272b8SAndroid Build Coastguard Worker
2948*2d1272b8SAndroid Build Coastguard WorkerModified API:
2949*2d1272b8SAndroid Build Coastguard Worker
2950*2d1272b8SAndroid Build Coastguard Workerhb_ot_layout_get_size_params()
2951*2d1272b8SAndroid Build Coastguard Worker
2952*2d1272b8SAndroid Build Coastguard Worker
2953*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 0.9.9
2954*2d1272b8SAndroid Build Coastguard WorkerWednesday, December 5, 2012
2955*2d1272b8SAndroid Build Coastguard Worker====================================
2956*2d1272b8SAndroid Build Coastguard Worker
2957*2d1272b8SAndroid Build Coastguard Worker- Fix build on Windows.
2958*2d1272b8SAndroid Build Coastguard Worker- Minor improvements.
2959*2d1272b8SAndroid Build Coastguard Worker
2960*2d1272b8SAndroid Build Coastguard Worker
2961*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 0.9.8
2962*2d1272b8SAndroid Build Coastguard WorkerTuesday, December 4, 2012
2963*2d1272b8SAndroid Build Coastguard Worker====================================
2964*2d1272b8SAndroid Build Coastguard Worker
2965*2d1272b8SAndroid Build Coastguard Worker
2966*2d1272b8SAndroid Build Coastguard Worker- Actually implement hb_shape_plan_get_shaper ().
2967*2d1272b8SAndroid Build Coastguard Worker- Make UCDB data tables const.
2968*2d1272b8SAndroid Build Coastguard Worker- Lots of internal refactoring in OTLayout tables.
2969*2d1272b8SAndroid Build Coastguard Worker- Flesh out hb_ot_layout_lookup_collect_glyphs().
2970*2d1272b8SAndroid Build Coastguard Worker
2971*2d1272b8SAndroid Build Coastguard WorkerNew API:
2972*2d1272b8SAndroid Build Coastguard Worker
2973*2d1272b8SAndroid Build Coastguard Workerhb_ot_layout_collect_lookups()
2974*2d1272b8SAndroid Build Coastguard Workerhb_ot_layout_get_size_params()
2975*2d1272b8SAndroid Build Coastguard Worker
2976*2d1272b8SAndroid Build Coastguard Worker
2977*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 0.9.7
2978*2d1272b8SAndroid Build Coastguard WorkerSunday, November 21, 2012
2979*2d1272b8SAndroid Build Coastguard Worker====================================
2980*2d1272b8SAndroid Build Coastguard Worker
2981*2d1272b8SAndroid Build Coastguard Worker
2982*2d1272b8SAndroid Build Coastguard WorkerHarfBuzz "All-You-Can-Eat-Sushi" (aka Vancouver) Hackfest and follow-on fixes.
2983*2d1272b8SAndroid Build Coastguard Worker
2984*2d1272b8SAndroid Build Coastguard Worker- Fix Arabic contextual joining using pre-context text.
2985*2d1272b8SAndroid Build Coastguard Worker- Fix Sinhala "split matra" mess.
2986*2d1272b8SAndroid Build Coastguard Worker- Fix Khmer shaping with broken fonts.
2987*2d1272b8SAndroid Build Coastguard Worker- Implement Thai "PUA" shaping for old fonts.
2988*2d1272b8SAndroid Build Coastguard Worker- Do NOT route Kharoshthi script through the Indic shaper.
2989*2d1272b8SAndroid Build Coastguard Worker- Disable fallback positioning for Indic and Thai shapers.
2990*2d1272b8SAndroid Build Coastguard Worker- Misc fixes.
2991*2d1272b8SAndroid Build Coastguard Worker
2992*2d1272b8SAndroid Build Coastguard Worker
2993*2d1272b8SAndroid Build Coastguard Workerhb-shape / hb-view changes:
2994*2d1272b8SAndroid Build Coastguard Worker
2995*2d1272b8SAndroid Build Coastguard Worker- Add --text-before and --text-after
2996*2d1272b8SAndroid Build Coastguard Worker- Add --bot / --eot / --preserve-default-ignorables
2997*2d1272b8SAndroid Build Coastguard Worker- hb-shape --output-format=json
2998*2d1272b8SAndroid Build Coastguard Worker
2999*2d1272b8SAndroid Build Coastguard Worker
3000*2d1272b8SAndroid Build Coastguard WorkerNew API:
3001*2d1272b8SAndroid Build Coastguard Worker
3002*2d1272b8SAndroid Build Coastguard Workerhb_buffer_clear()
3003*2d1272b8SAndroid Build Coastguard Worker
3004*2d1272b8SAndroid Build Coastguard Workerhb_buffer_flags_t
3005*2d1272b8SAndroid Build Coastguard Worker
3006*2d1272b8SAndroid Build Coastguard WorkerHB_BUFFER_FLAGS_DEFAULT
3007*2d1272b8SAndroid Build Coastguard WorkerHB_BUFFER_FLAG_BOT
3008*2d1272b8SAndroid Build Coastguard WorkerHB_BUFFER_FLAG_EOT
3009*2d1272b8SAndroid Build Coastguard WorkerHB_BUFFER_FLAG_PRESERVE_DEFAULT_IGNORABLES
3010*2d1272b8SAndroid Build Coastguard Worker
3011*2d1272b8SAndroid Build Coastguard Workerhb_buffer_set_flags()
3012*2d1272b8SAndroid Build Coastguard Workerhb_buffer_get_flags()
3013*2d1272b8SAndroid Build Coastguard Worker
3014*2d1272b8SAndroid Build Coastguard WorkerHB_BUFFER_SERIALIZE_FLAGS
3015*2d1272b8SAndroid Build Coastguard Workerhb_buffer_serialize_glyphs()
3016*2d1272b8SAndroid Build Coastguard Workerhb_buffer_deserialize_glyphs()
3017*2d1272b8SAndroid Build Coastguard Workerhb_buffer_serialize_list_formats()
3018*2d1272b8SAndroid Build Coastguard Worker
3019*2d1272b8SAndroid Build Coastguard Workerhb_set_add_range()
3020*2d1272b8SAndroid Build Coastguard Workerhb_set_del_range()
3021*2d1272b8SAndroid Build Coastguard Workerhb_set_get_population()
3022*2d1272b8SAndroid Build Coastguard Workerhb_set_next_range()
3023*2d1272b8SAndroid Build Coastguard Worker
3024*2d1272b8SAndroid Build Coastguard Workerhb_face_[sg]et_glyph_count()
3025*2d1272b8SAndroid Build Coastguard Worker
3026*2d1272b8SAndroid Build Coastguard Workerhb_segment_properties_t
3027*2d1272b8SAndroid Build Coastguard WorkerHB_SEGMENT_PROPERTIES_DEFAULT
3028*2d1272b8SAndroid Build Coastguard Workerhb_segment_properties_equal()
3029*2d1272b8SAndroid Build Coastguard Workerhb_segment_properties_hash()
3030*2d1272b8SAndroid Build Coastguard Worker
3031*2d1272b8SAndroid Build Coastguard Workerhb_buffer_set_segment_properties()
3032*2d1272b8SAndroid Build Coastguard Workerhb_buffer_get_segment_properties()
3033*2d1272b8SAndroid Build Coastguard Worker
3034*2d1272b8SAndroid Build Coastguard Workerhb_ot_layout_glyph_class_t
3035*2d1272b8SAndroid Build Coastguard Workerhb_ot_layout_get_glyph_class()
3036*2d1272b8SAndroid Build Coastguard Workerhb_ot_layout_get_glyphs_in_class()
3037*2d1272b8SAndroid Build Coastguard Worker
3038*2d1272b8SAndroid Build Coastguard Workerhb_shape_plan_t
3039*2d1272b8SAndroid Build Coastguard Workerhb_shape_plan_create()
3040*2d1272b8SAndroid Build Coastguard Workerhb_shape_plan_create_cached()
3041*2d1272b8SAndroid Build Coastguard Workerhb_shape_plan_get_empty()
3042*2d1272b8SAndroid Build Coastguard Workerhb_shape_plan_reference()
3043*2d1272b8SAndroid Build Coastguard Workerhb_shape_plan_destroy()
3044*2d1272b8SAndroid Build Coastguard Workerhb_shape_plan_set_user_data()
3045*2d1272b8SAndroid Build Coastguard Workerhb_shape_plan_get_user_data()
3046*2d1272b8SAndroid Build Coastguard Workerhb_shape_plan_execute()
3047*2d1272b8SAndroid Build Coastguard Workerhb_shape_plan_get_shaper()
3048*2d1272b8SAndroid Build Coastguard Worker
3049*2d1272b8SAndroid Build Coastguard Workerhb_ot_shape_plan_collect_lookups()
3050*2d1272b8SAndroid Build Coastguard Worker
3051*2d1272b8SAndroid Build Coastguard Worker
3052*2d1272b8SAndroid Build Coastguard WorkerAPI changes:
3053*2d1272b8SAndroid Build Coastguard Worker
3054*2d1272b8SAndroid Build Coastguard Worker- Remove "mask" parameter from hb_buffer_add().
3055*2d1272b8SAndroid Build Coastguard Worker- Rename hb_ot_layout_would_substitute_lookup() and hb_ot_layout_substitute_closure_lookup().
3056*2d1272b8SAndroid Build Coastguard Worker- hb-set.h API const correction.
3057*2d1272b8SAndroid Build Coastguard Worker- Renamed hb_set_min/max() to hb_set_get_min/max().
3058*2d1272b8SAndroid Build Coastguard Worker- Rename hb_ot_layout_feature_get_lookup_indexes() to hb_ot_layout_feature_get_lookups().
3059*2d1272b8SAndroid Build Coastguard Worker- Rename hb_buffer_guess_properties() to hb_buffer_guess_segment_properties().
3060*2d1272b8SAndroid Build Coastguard Worker
3061*2d1272b8SAndroid Build Coastguard Worker
3062*2d1272b8SAndroid Build Coastguard Worker
3063*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 0.9.6
3064*2d1272b8SAndroid Build Coastguard WorkerSunday, November 13, 2012
3065*2d1272b8SAndroid Build Coastguard Worker====================================
3066*2d1272b8SAndroid Build Coastguard Worker
3067*2d1272b8SAndroid Build Coastguard Worker- Don't clear pre-context text if no new context is provided.
3068*2d1272b8SAndroid Build Coastguard Worker- Fix ReverseChainingSubstLookup, which was totally borked.
3069*2d1272b8SAndroid Build Coastguard Worker- Adjust output format of hb-shape a bit.
3070*2d1272b8SAndroid Build Coastguard Worker- Include config.h.in in-tree.  Makes it easier for alternate build systems.
3071*2d1272b8SAndroid Build Coastguard Worker- Fix hb_buffer_set_length(buffer, 0) invalid memory allocation.
3072*2d1272b8SAndroid Build Coastguard Worker- Use ICU LayoutEngine's C API instead of C++.  Avoids much headache.
3073*2d1272b8SAndroid Build Coastguard Worker- Drop glyphs for all of Unicode Default_Ignorable characters.
3074*2d1272b8SAndroid Build Coastguard Worker- Misc build fixes.
3075*2d1272b8SAndroid Build Coastguard Worker
3076*2d1272b8SAndroid Build Coastguard WorkerArabic shaper:
3077*2d1272b8SAndroid Build Coastguard Worker- Enable 'dlig' and 'mset' features in Arabic shaper.
3078*2d1272b8SAndroid Build Coastguard Worker- Implement 'Phags-pa shaping, improve Mongolian.
3079*2d1272b8SAndroid Build Coastguard Worker
3080*2d1272b8SAndroid Build Coastguard WorkerIndic shaper:
3081*2d1272b8SAndroid Build Coastguard Worker- Decompose Sinhala split matras the way old HarfBuzz / Pango did.
3082*2d1272b8SAndroid Build Coastguard Worker- Initial support for Consonant Medials.
3083*2d1272b8SAndroid Build Coastguard Worker- Start adding new-style Myanmar shaping.
3084*2d1272b8SAndroid Build Coastguard Worker- Make reph and 'pref' logic introspect the font.
3085*2d1272b8SAndroid Build Coastguard Worker- Route Meetei-Mayek through the Indic shaper.
3086*2d1272b8SAndroid Build Coastguard Worker- Don't apply 'liga' in Indic shaper.
3087*2d1272b8SAndroid Build Coastguard Worker- Improve Malayalam pre-base reordering Ra interaction with Chillus.
3088*2d1272b8SAndroid Build Coastguard Worker
3089*2d1272b8SAndroid Build Coastguard Worker
3090*2d1272b8SAndroid Build Coastguard Worker
3091*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 0.9.5
3092*2d1272b8SAndroid Build Coastguard WorkerSunday, October 14, 2012
3093*2d1272b8SAndroid Build Coastguard Worker====================================
3094*2d1272b8SAndroid Build Coastguard Worker
3095*2d1272b8SAndroid Build Coastguard Worker- Synthetic-GSUB Arabic fallback shaping.
3096*2d1272b8SAndroid Build Coastguard Worker
3097*2d1272b8SAndroid Build Coastguard Worker- Misc Indic improvements.
3098*2d1272b8SAndroid Build Coastguard Worker
3099*2d1272b8SAndroid Build Coastguard Worker- Add build system support for pthread.
3100*2d1272b8SAndroid Build Coastguard Worker
3101*2d1272b8SAndroid Build Coastguard Worker- Imported UCDN for in-tree Unicode callbacks implementation.
3102*2d1272b8SAndroid Build Coastguard Worker
3103*2d1272b8SAndroid Build Coastguard Worker- Context-aware Arabic joining.
3104*2d1272b8SAndroid Build Coastguard Worker
3105*2d1272b8SAndroid Build Coastguard Worker- Misc other fixes.
3106*2d1272b8SAndroid Build Coastguard Worker
3107*2d1272b8SAndroid Build Coastguard Worker- New API:
3108*2d1272b8SAndroid Build Coastguard Worker
3109*2d1272b8SAndroid Build Coastguard Worker  hb_feature_to/from-string()
3110*2d1272b8SAndroid Build Coastguard Worker  hb_buffer_[sg]et_content_type()
3111*2d1272b8SAndroid Build Coastguard Worker
3112*2d1272b8SAndroid Build Coastguard Worker
3113*2d1272b8SAndroid Build Coastguard Worker
3114*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 0.9.4
3115*2d1272b8SAndroid Build Coastguard WorkerTuesday, Sep 03, 2012
3116*2d1272b8SAndroid Build Coastguard Worker====================================
3117*2d1272b8SAndroid Build Coastguard Worker
3118*2d1272b8SAndroid Build Coastguard Worker- Indic improvements with old-spec Malayalam.
3119*2d1272b8SAndroid Build Coastguard Worker
3120*2d1272b8SAndroid Build Coastguard Worker- Better fallback glyph positioning, specially with Thai / Lao marks.
3121*2d1272b8SAndroid Build Coastguard Worker
3122*2d1272b8SAndroid Build Coastguard Worker- Implement dotted-circle insertion.
3123*2d1272b8SAndroid Build Coastguard Worker
3124*2d1272b8SAndroid Build Coastguard Worker- Better Arabic fallback shaping / ligation.
3125*2d1272b8SAndroid Build Coastguard Worker
3126*2d1272b8SAndroid Build Coastguard Worker- Added ICU LayoutEngine backend for testing.  Call it by the 'icu_le' name.
3127*2d1272b8SAndroid Build Coastguard Worker
3128*2d1272b8SAndroid Build Coastguard Worker- Misc fixes.
3129*2d1272b8SAndroid Build Coastguard Worker
3130*2d1272b8SAndroid Build Coastguard Worker
3131*2d1272b8SAndroid Build Coastguard Worker
3132*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 0.9.3
3133*2d1272b8SAndroid Build Coastguard WorkerFriday, Aug 18, 2012
3134*2d1272b8SAndroid Build Coastguard Worker====================================
3135*2d1272b8SAndroid Build Coastguard Worker
3136*2d1272b8SAndroid Build Coastguard Worker- Fixed fallback mark positioning for left-to-right text.
3137*2d1272b8SAndroid Build Coastguard Worker
3138*2d1272b8SAndroid Build Coastguard Worker- Improve mark positioning for the remaining combining classes.
3139*2d1272b8SAndroid Build Coastguard Worker
3140*2d1272b8SAndroid Build Coastguard Worker- Unbreak Thai and fallback Arabic shaping.
3141*2d1272b8SAndroid Build Coastguard Worker
3142*2d1272b8SAndroid Build Coastguard Worker- Port Arabic shaper to shape-plan caching.
3143*2d1272b8SAndroid Build Coastguard Worker
3144*2d1272b8SAndroid Build Coastguard Worker- Use new ICU normalizer functions.
3145*2d1272b8SAndroid Build Coastguard Worker
3146*2d1272b8SAndroid Build Coastguard Worker
3147*2d1272b8SAndroid Build Coastguard Worker
3148*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 0.9.2
3149*2d1272b8SAndroid Build Coastguard WorkerFriday, Aug 10, 2012
3150*2d1272b8SAndroid Build Coastguard Worker====================================
3151*2d1272b8SAndroid Build Coastguard Worker
3152*2d1272b8SAndroid Build Coastguard Worker- Over a thousand commits!  This is the first major release of HarfBuzz.
3153*2d1272b8SAndroid Build Coastguard Worker
3154*2d1272b8SAndroid Build Coastguard Worker- HarfBuzz is feature-complete now!  It should be in par, or better, than
3155*2d1272b8SAndroid Build Coastguard Worker  both Pango's shapers and old HarfBuzz / Qt shapers.
3156*2d1272b8SAndroid Build Coastguard Worker
3157*2d1272b8SAndroid Build Coastguard Worker- New Indic shaper, supporting main Indic scripts, Sinhala, and Khmer.
3158*2d1272b8SAndroid Build Coastguard Worker
3159*2d1272b8SAndroid Build Coastguard Worker- Improved Arabic shaper, with fallback Arabic shaping, supporting Arabic,
3160*2d1272b8SAndroid Build Coastguard Worker  Sinhala, N'ko, Mongolian, and Mandaic.
3161*2d1272b8SAndroid Build Coastguard Worker
3162*2d1272b8SAndroid Build Coastguard Worker- New Thai / Lao shaper.
3163*2d1272b8SAndroid Build Coastguard Worker
3164*2d1272b8SAndroid Build Coastguard Worker- Tibetan / Hangul support in the generic shaper.
3165*2d1272b8SAndroid Build Coastguard Worker
3166*2d1272b8SAndroid Build Coastguard Worker- Synthetic GDEF support for fonts without a GDEF table.
3167*2d1272b8SAndroid Build Coastguard Worker
3168*2d1272b8SAndroid Build Coastguard Worker- Fallback mark positioning for fonts without a GPOS table.
3169*2d1272b8SAndroid Build Coastguard Worker
3170*2d1272b8SAndroid Build Coastguard Worker- Unicode normalization shaping heuristic during glyph mapping.
3171*2d1272b8SAndroid Build Coastguard Worker
3172*2d1272b8SAndroid Build Coastguard Worker- New experimental Graphite2 backend.
3173*2d1272b8SAndroid Build Coastguard Worker
3174*2d1272b8SAndroid Build Coastguard Worker- New Uniscribe backend (primarily for testing).
3175*2d1272b8SAndroid Build Coastguard Worker
3176*2d1272b8SAndroid Build Coastguard Worker- New CoreText backend (primarily for testing).
3177*2d1272b8SAndroid Build Coastguard Worker
3178*2d1272b8SAndroid Build Coastguard Worker- Major optimization and speedup.
3179*2d1272b8SAndroid Build Coastguard Worker
3180*2d1272b8SAndroid Build Coastguard Worker- Test suites and testing infrastructure (work in progress).
3181*2d1272b8SAndroid Build Coastguard Worker
3182*2d1272b8SAndroid Build Coastguard Worker- Greatly improved hb-view cmdline tool.
3183*2d1272b8SAndroid Build Coastguard Worker
3184*2d1272b8SAndroid Build Coastguard Worker- hb-shape cmdline tool.
3185*2d1272b8SAndroid Build Coastguard Worker
3186*2d1272b8SAndroid Build Coastguard Worker- Unicode 6.1 support.
3187*2d1272b8SAndroid Build Coastguard Worker
3188*2d1272b8SAndroid Build Coastguard WorkerSummary of API changes:
3189*2d1272b8SAndroid Build Coastguard Worker
3190*2d1272b8SAndroid Build Coastguard Workero Changed API:
3191*2d1272b8SAndroid Build Coastguard Worker
3192*2d1272b8SAndroid Build Coastguard Worker  - Users are expected to only include main header files now (ie. hb.h,
3193*2d1272b8SAndroid Build Coastguard Worker    hb-glib.h, hb-ft.h, ...)
3194*2d1272b8SAndroid Build Coastguard Worker
3195*2d1272b8SAndroid Build Coastguard Worker  - All struct tag names had their initial underscore removed.
3196*2d1272b8SAndroid Build Coastguard Worker    Ie. "struct _hb_buffer_t" is "struct hb_buffer_t" now.
3197*2d1272b8SAndroid Build Coastguard Worker
3198*2d1272b8SAndroid Build Coastguard Worker  - All set_user_data() functions now take a "replace" boolean parameter.
3199*2d1272b8SAndroid Build Coastguard Worker
3200*2d1272b8SAndroid Build Coastguard Worker  - hb_buffer_create() takes zero arguments now.
3201*2d1272b8SAndroid Build Coastguard Worker    Use hb_buffer_pre_allocate() to pre-allocate.
3202*2d1272b8SAndroid Build Coastguard Worker
3203*2d1272b8SAndroid Build Coastguard Worker  - hb_buffer_add_utf*() now accept -1 for length parameters,
3204*2d1272b8SAndroid Build Coastguard Worker    meaning "nul-terminated".
3205*2d1272b8SAndroid Build Coastguard Worker
3206*2d1272b8SAndroid Build Coastguard Worker  - hb_direction_t enum values changed.
3207*2d1272b8SAndroid Build Coastguard Worker
3208*2d1272b8SAndroid Build Coastguard Worker  - All *_from_string() APIs now take a length parameter to allow for
3209*2d1272b8SAndroid Build Coastguard Worker    non-nul-terminated strings. A -1 length means "nul-terminated".
3210*2d1272b8SAndroid Build Coastguard Worker
3211*2d1272b8SAndroid Build Coastguard Worker  - Typedef for hb_language_t changed.
3212*2d1272b8SAndroid Build Coastguard Worker
3213*2d1272b8SAndroid Build Coastguard Worker  - hb_get_table_func_t renamed to hb_reference_table_func_t.
3214*2d1272b8SAndroid Build Coastguard Worker
3215*2d1272b8SAndroid Build Coastguard Worker  - hb_ot_layout_table_choose_script()
3216*2d1272b8SAndroid Build Coastguard Worker
3217*2d1272b8SAndroid Build Coastguard Worker  - Various renames in hb-unicode.h.
3218*2d1272b8SAndroid Build Coastguard Worker
3219*2d1272b8SAndroid Build Coastguard Workero New API:
3220*2d1272b8SAndroid Build Coastguard Worker
3221*2d1272b8SAndroid Build Coastguard Worker  - hb_buffer_guess_properties()
3222*2d1272b8SAndroid Build Coastguard Worker    Automatically called by hb_shape().
3223*2d1272b8SAndroid Build Coastguard Worker
3224*2d1272b8SAndroid Build Coastguard Worker  - hb_buffer_normalize_glyphs()
3225*2d1272b8SAndroid Build Coastguard Worker
3226*2d1272b8SAndroid Build Coastguard Worker  - hb_tag_from_string()
3227*2d1272b8SAndroid Build Coastguard Worker
3228*2d1272b8SAndroid Build Coastguard Worker  - hb-coretext.h
3229*2d1272b8SAndroid Build Coastguard Worker
3230*2d1272b8SAndroid Build Coastguard Worker  - hb-uniscribe.h
3231*2d1272b8SAndroid Build Coastguard Worker
3232*2d1272b8SAndroid Build Coastguard Worker  - hb_face_reference_blob()
3233*2d1272b8SAndroid Build Coastguard Worker  - hb_face_[sg]et_index()
3234*2d1272b8SAndroid Build Coastguard Worker  - hb_face_set_upem()
3235*2d1272b8SAndroid Build Coastguard Worker
3236*2d1272b8SAndroid Build Coastguard Worker  - hb_font_get_glyph_name_func_t
3237*2d1272b8SAndroid Build Coastguard Worker    hb_font_get_glyph_from_name_func_t
3238*2d1272b8SAndroid Build Coastguard Worker    hb_font_funcs_set_glyph_name_func()
3239*2d1272b8SAndroid Build Coastguard Worker    hb_font_funcs_set_glyph_from_name_func()
3240*2d1272b8SAndroid Build Coastguard Worker    hb_font_get_glyph_name()
3241*2d1272b8SAndroid Build Coastguard Worker    hb_font_get_glyph_from_name()
3242*2d1272b8SAndroid Build Coastguard Worker    hb_font_glyph_to_string()
3243*2d1272b8SAndroid Build Coastguard Worker    hb_font_glyph_from_string()
3244*2d1272b8SAndroid Build Coastguard Worker
3245*2d1272b8SAndroid Build Coastguard Worker  - hb_font_set_funcs_data()
3246*2d1272b8SAndroid Build Coastguard Worker
3247*2d1272b8SAndroid Build Coastguard Worker  - hb_ft_font_set_funcs()
3248*2d1272b8SAndroid Build Coastguard Worker  - hb_ft_font_get_face()
3249*2d1272b8SAndroid Build Coastguard Worker
3250*2d1272b8SAndroid Build Coastguard Worker  - hb-gobject.h (work in progress)
3251*2d1272b8SAndroid Build Coastguard Worker
3252*2d1272b8SAndroid Build Coastguard Worker  - hb_ot_shape_glyphs_closure()
3253*2d1272b8SAndroid Build Coastguard Worker    hb_ot_layout_substitute_closure_lookup()
3254*2d1272b8SAndroid Build Coastguard Worker
3255*2d1272b8SAndroid Build Coastguard Worker  - hb-set.h
3256*2d1272b8SAndroid Build Coastguard Worker
3257*2d1272b8SAndroid Build Coastguard Worker  - hb_shape_full()
3258*2d1272b8SAndroid Build Coastguard Worker
3259*2d1272b8SAndroid Build Coastguard Worker  - hb_unicode_combining_class_t
3260*2d1272b8SAndroid Build Coastguard Worker
3261*2d1272b8SAndroid Build Coastguard Worker  - hb_unicode_compose_func_t
3262*2d1272b8SAndroid Build Coastguard Worker    hb_unicode_decompose_func_t
3263*2d1272b8SAndroid Build Coastguard Worker    hb_unicode_decompose_compatibility_func_t
3264*2d1272b8SAndroid Build Coastguard Worker    hb_unicode_funcs_set_compose_func()
3265*2d1272b8SAndroid Build Coastguard Worker    hb_unicode_funcs_set_decompose_func()
3266*2d1272b8SAndroid Build Coastguard Worker    hb_unicode_funcs_set_decompose_compatibility_func()
3267*2d1272b8SAndroid Build Coastguard Worker    hb_unicode_compose()
3268*2d1272b8SAndroid Build Coastguard Worker    hb_unicode_decompose()
3269*2d1272b8SAndroid Build Coastguard Worker    hb_unicode_decompose_compatibility()
3270*2d1272b8SAndroid Build Coastguard Worker
3271*2d1272b8SAndroid Build Coastguard Workero Removed API:
3272*2d1272b8SAndroid Build Coastguard Worker
3273*2d1272b8SAndroid Build Coastguard Worker  - hb_ft_get_font_funcs()
3274*2d1272b8SAndroid Build Coastguard Worker
3275*2d1272b8SAndroid Build Coastguard Worker  - hb_ot_layout_substitute_start()
3276*2d1272b8SAndroid Build Coastguard Worker    hb_ot_layout_substitute_lookup()
3277*2d1272b8SAndroid Build Coastguard Worker    hb_ot_layout_substitute_finish()
3278*2d1272b8SAndroid Build Coastguard Worker    hb_ot_layout_position_start()
3279*2d1272b8SAndroid Build Coastguard Worker    hb_ot_layout_position_lookup()
3280*2d1272b8SAndroid Build Coastguard Worker    hb_ot_layout_position_finish()
3281*2d1272b8SAndroid Build Coastguard Worker
3282*2d1272b8SAndroid Build Coastguard Worker
3283*2d1272b8SAndroid Build Coastguard Worker
3284*2d1272b8SAndroid Build Coastguard WorkerOverview of changes leading to 0.6.0
3285*2d1272b8SAndroid Build Coastguard WorkerFriday, May 27, 2011
3286*2d1272b8SAndroid Build Coastguard Worker====================================
3287*2d1272b8SAndroid Build Coastguard Worker
3288*2d1272b8SAndroid Build Coastguard Worker- Vertical text support in GPOS
3289*2d1272b8SAndroid Build Coastguard Worker- Almost all API entries have unit tests now, under test/
3290*2d1272b8SAndroid Build Coastguard Worker- All thread-safety issues are fixed
3291*2d1272b8SAndroid Build Coastguard Worker
3292*2d1272b8SAndroid Build Coastguard WorkerSummary of API changes follows.
3293*2d1272b8SAndroid Build Coastguard Worker
3294*2d1272b8SAndroid Build Coastguard Worker
3295*2d1272b8SAndroid Build Coastguard Worker* Simple Types API:
3296*2d1272b8SAndroid Build Coastguard Worker
3297*2d1272b8SAndroid Build Coastguard Worker  o New API:
3298*2d1272b8SAndroid Build Coastguard Worker    HB_LANGUAGE_INVALID
3299*2d1272b8SAndroid Build Coastguard Worker    hb_language_get_default()
3300*2d1272b8SAndroid Build Coastguard Worker    hb_direction_to_string()
3301*2d1272b8SAndroid Build Coastguard Worker    hb_direction_from_string()
3302*2d1272b8SAndroid Build Coastguard Worker    hb_script_get_horizontal_direction()
3303*2d1272b8SAndroid Build Coastguard Worker    HB_UNTAG()
3304*2d1272b8SAndroid Build Coastguard Worker
3305*2d1272b8SAndroid Build Coastguard Worker  o Renamed API:
3306*2d1272b8SAndroid Build Coastguard Worker    hb_category_t renamed to hb_unicode_general_category_t
3307*2d1272b8SAndroid Build Coastguard Worker
3308*2d1272b8SAndroid Build Coastguard Worker  o Changed API:
3309*2d1272b8SAndroid Build Coastguard Worker    hb_language_t is a typed pointers now
3310*2d1272b8SAndroid Build Coastguard Worker
3311*2d1272b8SAndroid Build Coastguard Worker  o Removed API:
3312*2d1272b8SAndroid Build Coastguard Worker    HB_TAG_STR()
3313*2d1272b8SAndroid Build Coastguard Worker
3314*2d1272b8SAndroid Build Coastguard Worker
3315*2d1272b8SAndroid Build Coastguard Worker* Use ISO 15924 tags for hb_script_t:
3316*2d1272b8SAndroid Build Coastguard Worker
3317*2d1272b8SAndroid Build Coastguard Worker  o New API:
3318*2d1272b8SAndroid Build Coastguard Worker    hb_script_from_iso15924_tag()
3319*2d1272b8SAndroid Build Coastguard Worker    hb_script_to_iso15924_tag()
3320*2d1272b8SAndroid Build Coastguard Worker    hb_script_from_string()
3321*2d1272b8SAndroid Build Coastguard Worker
3322*2d1272b8SAndroid Build Coastguard Worker  o Changed API:
3323*2d1272b8SAndroid Build Coastguard Worker    HB_SCRIPT_* enum members changed value.
3324*2d1272b8SAndroid Build Coastguard Worker
3325*2d1272b8SAndroid Build Coastguard Worker
3326*2d1272b8SAndroid Build Coastguard Worker* Buffer API streamlined:
3327*2d1272b8SAndroid Build Coastguard Worker
3328*2d1272b8SAndroid Build Coastguard Worker  o New API:
3329*2d1272b8SAndroid Build Coastguard Worker    hb_buffer_reset()
3330*2d1272b8SAndroid Build Coastguard Worker    hb_buffer_set_length()
3331*2d1272b8SAndroid Build Coastguard Worker    hb_buffer_allocation_successful()
3332*2d1272b8SAndroid Build Coastguard Worker
3333*2d1272b8SAndroid Build Coastguard Worker  o Renamed API:
3334*2d1272b8SAndroid Build Coastguard Worker    hb_buffer_ensure() renamed to hb_buffer_pre_allocate()
3335*2d1272b8SAndroid Build Coastguard Worker    hb_buffer_add_glyph() renamed to hb_buffer_add()
3336*2d1272b8SAndroid Build Coastguard Worker
3337*2d1272b8SAndroid Build Coastguard Worker  o Removed API:
3338*2d1272b8SAndroid Build Coastguard Worker    hb_buffer_clear()
3339*2d1272b8SAndroid Build Coastguard Worker    hb_buffer_clear_positions()
3340*2d1272b8SAndroid Build Coastguard Worker
3341*2d1272b8SAndroid Build Coastguard Worker  o Changed API:
3342*2d1272b8SAndroid Build Coastguard Worker    hb_buffer_get_glyph_infos() takes an out length parameter now
3343*2d1272b8SAndroid Build Coastguard Worker    hb_buffer_get_glyph_positions() takes an out length parameter now
3344*2d1272b8SAndroid Build Coastguard Worker
3345*2d1272b8SAndroid Build Coastguard Worker
3346*2d1272b8SAndroid Build Coastguard Worker* Blob API streamlined:
3347*2d1272b8SAndroid Build Coastguard Worker
3348*2d1272b8SAndroid Build Coastguard Worker  o New API:
3349*2d1272b8SAndroid Build Coastguard Worker    hb_blob_get_data()
3350*2d1272b8SAndroid Build Coastguard Worker    hb_blob_get_data_writable()
3351*2d1272b8SAndroid Build Coastguard Worker
3352*2d1272b8SAndroid Build Coastguard Worker  o Renamed API:
3353*2d1272b8SAndroid Build Coastguard Worker    hb_blob_create_empty() renamed to hb_blob_get_empty()
3354*2d1272b8SAndroid Build Coastguard Worker
3355*2d1272b8SAndroid Build Coastguard Worker  o Removed API:
3356*2d1272b8SAndroid Build Coastguard Worker    hb_blob_lock()
3357*2d1272b8SAndroid Build Coastguard Worker    hb_blob_unlock()
3358*2d1272b8SAndroid Build Coastguard Worker    hb_blob_is_writable()
3359*2d1272b8SAndroid Build Coastguard Worker    hb_blob_try_writable()
3360*2d1272b8SAndroid Build Coastguard Worker
3361*2d1272b8SAndroid Build Coastguard Worker  o Changed API:
3362*2d1272b8SAndroid Build Coastguard Worker    hb_blob_create() takes user_data before destroy now
3363*2d1272b8SAndroid Build Coastguard Worker
3364*2d1272b8SAndroid Build Coastguard Worker
3365*2d1272b8SAndroid Build Coastguard Worker* Unicode functions API:
3366*2d1272b8SAndroid Build Coastguard Worker
3367*2d1272b8SAndroid Build Coastguard Worker  o Unicode function vectors can subclass other unicode function vectors now.
3368*2d1272b8SAndroid Build Coastguard Worker    Unimplemented callbacks in the subclass automatically chainup to the parent.
3369*2d1272b8SAndroid Build Coastguard Worker
3370*2d1272b8SAndroid Build Coastguard Worker  o All hb_unicode_funcs_t callbacks take a user_data now.  Their setters
3371*2d1272b8SAndroid Build Coastguard Worker    take a user_data and its respective destroy callback.
3372*2d1272b8SAndroid Build Coastguard Worker
3373*2d1272b8SAndroid Build Coastguard Worker  o New API:
3374*2d1272b8SAndroid Build Coastguard Worker    hb_unicode_funcs_get_empty()
3375*2d1272b8SAndroid Build Coastguard Worker    hb_unicode_funcs_get_default()
3376*2d1272b8SAndroid Build Coastguard Worker    hb_unicode_funcs_get_parent()
3377*2d1272b8SAndroid Build Coastguard Worker
3378*2d1272b8SAndroid Build Coastguard Worker  o Changed API:
3379*2d1272b8SAndroid Build Coastguard Worker    hb_unicode_funcs_create() now takes a parent_funcs.
3380*2d1272b8SAndroid Build Coastguard Worker
3381*2d1272b8SAndroid Build Coastguard Worker  o Removed func getter functions:
3382*2d1272b8SAndroid Build Coastguard Worker    hb_unicode_funcs_get_mirroring_func()
3383*2d1272b8SAndroid Build Coastguard Worker    hb_unicode_funcs_get_general_category_func()
3384*2d1272b8SAndroid Build Coastguard Worker    hb_unicode_funcs_get_script_func()
3385*2d1272b8SAndroid Build Coastguard Worker    hb_unicode_funcs_get_combining_class_func()
3386*2d1272b8SAndroid Build Coastguard Worker    hb_unicode_funcs_get_eastasian_width_func()
3387*2d1272b8SAndroid Build Coastguard Worker
3388*2d1272b8SAndroid Build Coastguard Worker
3389*2d1272b8SAndroid Build Coastguard Worker* Face API:
3390*2d1272b8SAndroid Build Coastguard Worker
3391*2d1272b8SAndroid Build Coastguard Worker  o Renamed API:
3392*2d1272b8SAndroid Build Coastguard Worker    hb_face_get_table() renamed to hb_face_reference_table()
3393*2d1272b8SAndroid Build Coastguard Worker    hb_face_create_for_data() renamed to hb_face_create()
3394*2d1272b8SAndroid Build Coastguard Worker
3395*2d1272b8SAndroid Build Coastguard Worker  o Changed API:
3396*2d1272b8SAndroid Build Coastguard Worker    hb_face_create_for_tables() takes user_data before destroy now
3397*2d1272b8SAndroid Build Coastguard Worker    hb_face_reference_table() returns empty blob instead of NULL
3398*2d1272b8SAndroid Build Coastguard Worker    hb_get_table_func_t accepts the face as first parameter now
3399*2d1272b8SAndroid Build Coastguard Worker
3400*2d1272b8SAndroid Build Coastguard Worker* Font API:
3401*2d1272b8SAndroid Build Coastguard Worker
3402*2d1272b8SAndroid Build Coastguard Worker  o Fonts can subclass other fonts now.  Unimplemented callbacks in the
3403*2d1272b8SAndroid Build Coastguard Worker    subclass automatically chainup to the parent.  When chaining up,
3404*2d1272b8SAndroid Build Coastguard Worker    scale is adjusted if the parent font has a different scale.
3405*2d1272b8SAndroid Build Coastguard Worker
3406*2d1272b8SAndroid Build Coastguard Worker  o All hb_font_funcs_t callbacks take a user_data now.  Their setters
3407*2d1272b8SAndroid Build Coastguard Worker    take a user_data and its respective destroy callback.
3408*2d1272b8SAndroid Build Coastguard Worker
3409*2d1272b8SAndroid Build Coastguard Worker  o New API:
3410*2d1272b8SAndroid Build Coastguard Worker    hb_font_get_parent()
3411*2d1272b8SAndroid Build Coastguard Worker    hb_font_funcs_get_empty()
3412*2d1272b8SAndroid Build Coastguard Worker    hb_font_create_sub_font()
3413*2d1272b8SAndroid Build Coastguard Worker
3414*2d1272b8SAndroid Build Coastguard Worker  o Removed API:
3415*2d1272b8SAndroid Build Coastguard Worker    hb_font_funcs_copy()
3416*2d1272b8SAndroid Build Coastguard Worker    hb_font_unset_funcs()
3417*2d1272b8SAndroid Build Coastguard Worker
3418*2d1272b8SAndroid Build Coastguard Worker  o Removed func getter functions:
3419*2d1272b8SAndroid Build Coastguard Worker    hb_font_funcs_get_glyph_func()
3420*2d1272b8SAndroid Build Coastguard Worker    hb_font_funcs_get_glyph_advance_func()
3421*2d1272b8SAndroid Build Coastguard Worker    hb_font_funcs_get_glyph_extents_func()
3422*2d1272b8SAndroid Build Coastguard Worker    hb_font_funcs_get_contour_point_func()
3423*2d1272b8SAndroid Build Coastguard Worker    hb_font_funcs_get_kerning_func()
3424*2d1272b8SAndroid Build Coastguard Worker
3425*2d1272b8SAndroid Build Coastguard Worker  o Changed API:
3426*2d1272b8SAndroid Build Coastguard Worker    hb_font_create() takes a face and references it now
3427*2d1272b8SAndroid Build Coastguard Worker    hb_font_set_funcs() takes user_data before destroy now
3428*2d1272b8SAndroid Build Coastguard Worker    hb_font_set_scale() accepts signed integers now
3429*2d1272b8SAndroid Build Coastguard Worker    hb_font_get_contour_point_func_t now takes glyph first, then point_index
3430*2d1272b8SAndroid Build Coastguard Worker    hb_font_get_glyph_func_t returns a success boolean now
3431*2d1272b8SAndroid Build Coastguard Worker
3432*2d1272b8SAndroid Build Coastguard Worker
3433*2d1272b8SAndroid Build Coastguard Worker* Changed object model:
3434*2d1272b8SAndroid Build Coastguard Worker
3435*2d1272b8SAndroid Build Coastguard Worker  o All object types have a _get_empty() now:
3436*2d1272b8SAndroid Build Coastguard Worker    hb_blob_get_empty()
3437*2d1272b8SAndroid Build Coastguard Worker    hb_buffer_get_empty()
3438*2d1272b8SAndroid Build Coastguard Worker    hb_face_get_empty()
3439*2d1272b8SAndroid Build Coastguard Worker    hb_font_get_empty()
3440*2d1272b8SAndroid Build Coastguard Worker    hb_font_funcs_get_empty()
3441*2d1272b8SAndroid Build Coastguard Worker    hb_unicode_funcs_get_empty()
3442*2d1272b8SAndroid Build Coastguard Worker
3443*2d1272b8SAndroid Build Coastguard Worker  o Added _set_user_data() and _get_user_data() for all object types:
3444*2d1272b8SAndroid Build Coastguard Worker    hb_blob_get_user_data()
3445*2d1272b8SAndroid Build Coastguard Worker    hb_blob_set_user_data()
3446*2d1272b8SAndroid Build Coastguard Worker    hb_buffer_get_user_data()
3447*2d1272b8SAndroid Build Coastguard Worker    hb_buffer_set_user_data()
3448*2d1272b8SAndroid Build Coastguard Worker    hb_face_get_user_data()
3449*2d1272b8SAndroid Build Coastguard Worker    hb_face_set_user_data()
3450*2d1272b8SAndroid Build Coastguard Worker    hb_font_funcs_get_user_data()
3451*2d1272b8SAndroid Build Coastguard Worker    hb_font_funcs_set_user_data()
3452*2d1272b8SAndroid Build Coastguard Worker    hb_font_get_user_data()
3453*2d1272b8SAndroid Build Coastguard Worker    hb_font_set_user_data()
3454*2d1272b8SAndroid Build Coastguard Worker    hb_unicode_funcs_get_user_data()
3455*2d1272b8SAndroid Build Coastguard Worker    hb_unicode_funcs_set_user_data()
3456*2d1272b8SAndroid Build Coastguard Worker
3457*2d1272b8SAndroid Build Coastguard Worker  o Removed the _get_reference_count() from all object types:
3458*2d1272b8SAndroid Build Coastguard Worker    hb_blob_get_reference_count()
3459*2d1272b8SAndroid Build Coastguard Worker    hb_buffer_get_reference_count()
3460*2d1272b8SAndroid Build Coastguard Worker    hb_face_get_reference_count()
3461*2d1272b8SAndroid Build Coastguard Worker    hb_font_funcs_get_reference_count()
3462*2d1272b8SAndroid Build Coastguard Worker    hb_font_get_reference_count()
3463*2d1272b8SAndroid Build Coastguard Worker    hb_unicode_funcs_get_reference_count()
3464*2d1272b8SAndroid Build Coastguard Worker
3465*2d1272b8SAndroid Build Coastguard Worker  o Added _make_immutable() and _is_immutable() for all object types except for buffer:
3466*2d1272b8SAndroid Build Coastguard Worker    hb_blob_make_immutable()
3467*2d1272b8SAndroid Build Coastguard Worker    hb_blob_is_immutable()
3468*2d1272b8SAndroid Build Coastguard Worker    hb_face_make_immutable()
3469*2d1272b8SAndroid Build Coastguard Worker    hb_face_is_immutable()
3470*2d1272b8SAndroid Build Coastguard Worker
3471*2d1272b8SAndroid Build Coastguard Worker
3472*2d1272b8SAndroid Build Coastguard Worker* Changed API for vertical text support
3473*2d1272b8SAndroid Build Coastguard Worker
3474*2d1272b8SAndroid Build Coastguard Worker  o The following callbacks where removed:
3475*2d1272b8SAndroid Build Coastguard Worker    hb_font_get_glyph_advance_func_t
3476*2d1272b8SAndroid Build Coastguard Worker    hb_font_get_kerning_func_t
3477*2d1272b8SAndroid Build Coastguard Worker
3478*2d1272b8SAndroid Build Coastguard Worker  o The following new callbacks added instead:
3479*2d1272b8SAndroid Build Coastguard Worker    hb_font_get_glyph_h_advance_func_t
3480*2d1272b8SAndroid Build Coastguard Worker    hb_font_get_glyph_v_advance_func_t
3481*2d1272b8SAndroid Build Coastguard Worker    hb_font_get_glyph_h_origin_func_t
3482*2d1272b8SAndroid Build Coastguard Worker    hb_font_get_glyph_v_origin_func_t
3483*2d1272b8SAndroid Build Coastguard Worker    hb_font_get_glyph_h_kerning_func_t
3484*2d1272b8SAndroid Build Coastguard Worker    hb_font_get_glyph_v_kerning_func_t
3485*2d1272b8SAndroid Build Coastguard Worker
3486*2d1272b8SAndroid Build Coastguard Worker  o The following API removed as such:
3487*2d1272b8SAndroid Build Coastguard Worker    hb_font_funcs_set_glyph_advance_func()
3488*2d1272b8SAndroid Build Coastguard Worker    hb_font_funcs_set_kerning_func()
3489*2d1272b8SAndroid Build Coastguard Worker    hb_font_get_glyph_advance()
3490*2d1272b8SAndroid Build Coastguard Worker    hb_font_get_kerning()
3491*2d1272b8SAndroid Build Coastguard Worker
3492*2d1272b8SAndroid Build Coastguard Worker  o New API added instead:
3493*2d1272b8SAndroid Build Coastguard Worker    hb_font_funcs_set_glyph_h_advance_func()
3494*2d1272b8SAndroid Build Coastguard Worker    hb_font_funcs_set_glyph_v_advance_func()
3495*2d1272b8SAndroid Build Coastguard Worker    hb_font_funcs_set_glyph_h_origin_func()
3496*2d1272b8SAndroid Build Coastguard Worker    hb_font_funcs_set_glyph_v_origin_func()
3497*2d1272b8SAndroid Build Coastguard Worker    hb_font_funcs_set_glyph_h_kerning_func()
3498*2d1272b8SAndroid Build Coastguard Worker    hb_font_funcs_set_glyph_v_kerning_func()
3499*2d1272b8SAndroid Build Coastguard Worker    hb_font_get_glyph_h_advance()
3500*2d1272b8SAndroid Build Coastguard Worker    hb_font_get_glyph_v_advance()
3501*2d1272b8SAndroid Build Coastguard Worker    hb_font_get_glyph_h_origin()
3502*2d1272b8SAndroid Build Coastguard Worker    hb_font_get_glyph_v_origin()
3503*2d1272b8SAndroid Build Coastguard Worker    hb_font_get_glyph_h_kerning()
3504*2d1272b8SAndroid Build Coastguard Worker    hb_font_get_glyph_v_kerning()
3505*2d1272b8SAndroid Build Coastguard Worker
3506*2d1272b8SAndroid Build Coastguard Worker  o The following higher-leve API added for convenience:
3507*2d1272b8SAndroid Build Coastguard Worker    hb_font_get_glyph_advance_for_direction()
3508*2d1272b8SAndroid Build Coastguard Worker    hb_font_get_glyph_origin_for_direction()
3509*2d1272b8SAndroid Build Coastguard Worker    hb_font_add_glyph_origin_for_direction()
3510*2d1272b8SAndroid Build Coastguard Worker    hb_font_subtract_glyph_origin_for_direction()
3511*2d1272b8SAndroid Build Coastguard Worker    hb_font_get_glyph_kerning_for_direction()
3512*2d1272b8SAndroid Build Coastguard Worker    hb_font_get_glyph_extents_for_origin()
3513*2d1272b8SAndroid Build Coastguard Worker    hb_font_get_glyph_contour_point_for_origin()
3514*2d1272b8SAndroid Build Coastguard Worker
3515*2d1272b8SAndroid Build Coastguard Worker
3516*2d1272b8SAndroid Build Coastguard Worker* OpenType Layout API:
3517*2d1272b8SAndroid Build Coastguard Worker
3518*2d1272b8SAndroid Build Coastguard Worker  o New API:
3519*2d1272b8SAndroid Build Coastguard Worker    hb_ot_layout_position_start()
3520*2d1272b8SAndroid Build Coastguard Worker    hb_ot_layout_substitute_start()
3521*2d1272b8SAndroid Build Coastguard Worker    hb_ot_layout_substitute_finish()
3522*2d1272b8SAndroid Build Coastguard Worker
3523*2d1272b8SAndroid Build Coastguard Worker
3524*2d1272b8SAndroid Build Coastguard Worker* Glue code:
3525*2d1272b8SAndroid Build Coastguard Worker
3526*2d1272b8SAndroid Build Coastguard Worker  o New API:
3527*2d1272b8SAndroid Build Coastguard Worker    hb_glib_script_to_script()
3528*2d1272b8SAndroid Build Coastguard Worker    hb_glib_script_from_script()
3529*2d1272b8SAndroid Build Coastguard Worker    hb_icu_script_to_script()
3530*2d1272b8SAndroid Build Coastguard Worker    hb_icu_script_from_script()
3531*2d1272b8SAndroid Build Coastguard Worker
3532*2d1272b8SAndroid Build Coastguard Worker
3533*2d1272b8SAndroid Build Coastguard Worker* Version API added:
3534*2d1272b8SAndroid Build Coastguard Worker
3535*2d1272b8SAndroid Build Coastguard Worker  o New API:
3536*2d1272b8SAndroid Build Coastguard Worker    HB_VERSION_MAJOR
3537*2d1272b8SAndroid Build Coastguard Worker    HB_VERSION_MINOR
3538*2d1272b8SAndroid Build Coastguard Worker    HB_VERSION_MICRO
3539*2d1272b8SAndroid Build Coastguard Worker    HB_VERSION_STRING
3540*2d1272b8SAndroid Build Coastguard Worker    HB_VERSION_CHECK()
3541*2d1272b8SAndroid Build Coastguard Worker    hb_version()
3542*2d1272b8SAndroid Build Coastguard Worker    hb_version_string()
3543*2d1272b8SAndroid Build Coastguard Worker    hb_version_check()
3544*2d1272b8SAndroid Build Coastguard Worker
3545*2d1272b8SAndroid Build Coastguard Worker
3546