Blame NEWS

Packit 874993
Overview of changes leading to 1.4.8
Packit 874993
Tuesday, August 8, 2017
Packit 874993
====================================
Packit 874993
Packit 874993
- Major fix to avar table handling.
Packit 874993
- Rename hb-shape --show-message to --trace.
Packit 874993
- Build fixes.
Packit 874993
Packit 874993
Packit 874993
Overview of changes leading to 1.4.7
Packit 874993
Tuesday, July 18, 2017
Packit 874993
====================================
Packit 874993
Packit 874993
- Multiple Indic, Tibetan, and Cham fixes.
Packit 874993
- CoreText: Allow disabling kerning.
Packit 874993
- Adjust Arabic feature order again.
Packit 874993
- Misc build fixes.
Packit 874993
Packit 874993
Packit 874993
Overview of changes leading to 1.4.6
Packit 874993
Sunday, April 23, 2017
Packit 874993
====================================
Packit 874993
Packit 874993
- Graphite2: Fix RTL positioning issue.
Packit 874993
- Backlist GDEF of more versions of Padauk and Tahoma.
Packit 874993
- New, experimental, cmake alternative build system.
Packit 874993
Packit 874993
Packit 874993
Overview of changes leading to 1.4.5
Packit 874993
Friday, March 10, 2017
Packit 874993
====================================
Packit 874993
Packit 874993
- Revert "Fix Context lookup application when moving back after a glyph..."
Packit 874993
  This introduced memory access problems.  To be fixed properly soon.
Packit 874993
Packit 874993
Packit 874993
Overview of changes leading to 1.4.4
Packit 874993
Sunday, March 5, 2017
Packit 874993
====================================
Packit 874993
Packit 874993
- Fix Context lookup application when moving back after a glyph deletion.
Packit 874993
- Fix buffer-overrun in Bengali.
Packit 874993
Packit 874993
Packit 874993
Overview of changes leading to 1.4.3
Packit 874993
Saturday, February 25, 2017
Packit 874993
====================================
Packit 874993
Packit 874993
- Route Adlam script to Arabic shaper.
Packit 874993
- Misc fixes.
Packit 874993
- New API:
Packit 874993
  hb_font_set_face()
Packit 874993
- Deprecate API:
Packit 874993
  hb_graphite2_font_get_gr_font()
Packit 874993
Packit 874993
Packit 874993
Overview of changes leading to 1.4.2
Packit 874993
Monday, January 23, 2017
Packit 874993
====================================
Packit 874993
Packit 874993
- Implement OpenType Font Variation tables avar/fvar/HVAR/VVAR.
Packit 874993
- hb-shape and hb-view now accept --variations.
Packit 874993
- New API:
Packit 874993
Packit 874993
hb_variation_t
Packit 874993
hb_variation_from_string()
Packit 874993
hb_variation_to_string()
Packit 874993
Packit 874993
hb_font_set_variations()
Packit 874993
hb_font_set_var_coords_design()
Packit 874993
hb_font_get_var_coords_normalized()
Packit 874993
Packit 874993
hb-ot-var.h:
Packit 874993
hb_ot_var_axis_t
Packit 874993
hb_ot_var_has_data()
Packit 874993
hb_ot_var_get_axis_count()
Packit 874993
hb_ot_var_get_axes()
Packit 874993
hb_ot_var_find_axis()
Packit 874993
hb_ot_var_normalize_variations()
Packit 874993
hb_ot_var_normalize_coords()
Packit 874993
Packit 874993
- MVAR to be implemented later.  Access to named instances to be
Packit 874993
  implemented later as well.
Packit 874993
Packit 874993
- Misc fixes.
Packit 874993
Packit 874993
Packit 874993
Overview of changes leading to 1.4.1
Packit 874993
Thursday, January 5, 2017
Packit 874993
====================================
Packit 874993
Packit 874993
- Always build and use UCDN for Unicode data by default.
Packit 874993
  Reduces dependence on version of Unicode data in glib,
Packit 874993
  specially in the Windows bundles we are shipping, which
Packit 874993
  have very old glib.
Packit 874993
Packit 874993
Packit 874993
Overview of changes leading to 1.4.0
Packit 874993
Thursday, January 5, 2017
Packit 874993
====================================
Packit 874993
Packit 874993
- Merged "OpenType GX" branch which adds core of support for
Packit 874993
  OpenType 1.8 Font Variations.  To that extent, the relevant
Packit 874993
  new API is:
Packit 874993
Packit 874993
New API:
Packit 874993
hb_font_set_var_coords_normalized()
Packit 874993
Packit 874993
  with supporting API:
Packit 874993
Packit 874993
New API:
Packit 874993
HB_OT_LAYOUT_NO_VARIATIONS_INDEX
Packit 874993
hb_ot_layout_table_find_feature_variations()
Packit 874993
hb_ot_layout_feature_with_variations_get_lookups()
Packit 874993
hb_shape_plan_create2()
Packit 874993
hb_shape_plan_create_cached2()
Packit 874993
Packit 874993
  Currently variations in GSUB/GPOS/GDEF are fully supported,
Packit 874993
  and no other tables are supported.  In particular, fvar/avar
Packit 874993
  are NOT supported, hence the hb_font_set_var_coords_normalized()
Packit 874993
  taking normalized coordinates.  API to take design coordinates
Packit 874993
  will be added in the future.
Packit 874993
Packit 874993
  HVAR/VVAR/MVAR support will also be added to hb-ot-font in the
Packit 874993
  future.
Packit 874993
Packit 874993
- Fix regression in GDEF glyph class processing.
Packit 874993
- Add decompositions for Chakma, Limbu, and Balinese in USE shaper.
Packit 874993
- Misc fixes.
Packit 874993
Packit 874993
Packit 874993
Overview of changes leading to 1.3.4
Packit 874993
Monday, December 5, 2016
Packit 874993
====================================
Packit 874993
Packit 874993
- Fix vertical glyph origin in hb-ot-font.
Packit 874993
- Implement CBDT/CBLC color font glyph extents in hb-ot-font.
Packit 874993
Packit 874993
Packit 874993
Overview of changes leading to 1.3.3
Packit 874993
Wednesday, September 28, 2016
Packit 874993
====================================
Packit 874993
Packit 874993
- Implement parsing of OpenType MATH table.
Packit 874993
New API:
Packit 874993
HB_OT_TAG_MATH
Packit 874993
HB_OT_MATH_SCRIPT
Packit 874993
hb_ot_math_constant_t
Packit 874993
hb_ot_math_kern_t
Packit 874993
hb_ot_math_glyph_variant_t
Packit 874993
hb_ot_math_glyph_part_flags_t
Packit 874993
hb_ot_math_glyph_part_t
Packit 874993
hb_ot_math_has_data
Packit 874993
hb_ot_math_get_constant
Packit 874993
hb_ot_math_get_glyph_italics_correction
Packit 874993
hb_ot_math_get_glyph_top_accent_attachment
Packit 874993
hb_ot_math_get_glyph_kerning
Packit 874993
hb_ot_math_is_glyph_extended_shape
Packit 874993
hb_ot_math_get_glyph_variants
Packit 874993
hb_ot_math_get_min_connector_overlap
Packit 874993
hb_ot_math_get_glyph_assembly
Packit 874993
Packit 874993
Packit 874993
Overview of changes leading to 1.3.2
Packit 874993
Wednesday, September 27, 2016
Packit 874993
====================================
Packit 874993
Packit 874993
- Fix build of hb-coretext on older OS X versions.
Packit 874993
Packit 874993
Packit 874993
Overview of changes leading to 1.3.1
Packit 874993
Wednesday, September 7, 2016
Packit 874993
====================================
Packit 874993
Packit 874993
- Blacklist bad GDEF of more fonts (Padauk).
Packit 874993
- More CoreText backend crash fixes with OS X 10.9.5.
Packit 874993
- Misc fixes.
Packit 874993
Packit 874993
Packit 874993
Overview of changes leading to 1.3.0
Packit 874993
Thursday, July 21, 2016
Packit 874993
====================================
Packit 874993
Packit 874993
- Update to Unicode 9.0.0
Packit 874993
- Move Javanese from Indic shaper to Universal Shaping Engine.
Packit 874993
- Allow MultipleSubst to delete a glyph (matching Windows engine).
Packit 874993
- Update Universal Shaping Engine to latest draft from Microsoft.
Packit 874993
- DirectWrite backend improvements.  Note: this backend is for testing ONLY.
Packit 874993
- CoreText backend improvements with unreachable fonts.
Packit 874993
- Implement symbol fonts (cmap 3.0.0) in hb-ft and hb-ot-font.
Packit 874993
- Blacklist bad GDEF of more fonts (Tahoma & others).
Packit 874993
- Misc fixes.
Packit 874993
Packit 874993
Packit 874993
Overview of changes leading to 1.2.7
Packit 874993
Monday, May 2, 2016
Packit 874993
====================================
Packit 874993
Packit 874993
- Blacklist another version of Times New Roman (Bold) Italic from Windows 7.
Packit 874993
- Fix Mongolian Free Variation Selectors shaping with certain fonts.
Packit 874993
- Fix Tibetan shorthand contractions shaping.
Packit 874993
- Improved list of language tag mappings.
Packit 874993
- Unbreak build on Windows CE.
Packit 874993
- Make 'glyf' table loading lazy in hb-ot-font.
Packit 874993
Packit 874993
Packit 874993
Overview of changes leading to 1.2.6
Packit 874993
Friday, April 8, 2016
Packit 874993
====================================
Packit 874993
Packit 874993
- Blacklist GDEF table of another set of Times New Roman (Bold) Italic.
Packit 874993
- DirectWrite backend improvements.  Note: DirectWrite backend is
Packit 874993
  exclusively for our internal testing and should NOT be used in any
Packit 874993
  production system whatsoever.
Packit 874993
Packit 874993
Packit 874993
Overview of changes leading to 1.2.5
Packit 874993
Monday, April 4, 2016
Packit 874993
====================================
Packit 874993
Packit 874993
- Fix GDEF mark-filtering-set, which was broken in 1.2.3.
Packit 874993
Packit 874993
Packit 874993
Overview of changes leading to 1.2.4
Packit 874993
Thursday, March 17, 2016
Packit 874993
====================================
Packit 874993
Packit 874993
- Synthesize GDEF glyph class for any glyph that does not have one in GDEF.
Packit 874993
  I really hope we don't discover broken fonts that shape badly with this
Packit 874993
  change.
Packit 874993
- Misc build and other minor fixes.
Packit 874993
- API changes:
Packit 874993
  - Added HB_NDEBUG.  It's fine for production systems to define this to
Packit 874993
    disable high-overhead debugging checks.  However, I also reduced the
Packit 874993
    overhead of those checks, so it's a non-issue right now.  You can
Packit 874993
    forget it.  Just not defining anything at all is fine.
Packit 874993
Packit 874993
Packit 874993
Overview of changes leading to 1.2.3
Packit 874993
Thursday, February 25, 2016
Packit 874993
====================================
Packit 874993
Packit 874993
- Blacklist GDEF table of certain versions of Times New Roman (Bold) Italic,
Packit 874993
  due to bug in glyph class of ASCII double-quote character.  This should
Packit 874993
  address "regression" introduced in 1.2.0 when we switched mark zeroing
Packit 874993
  in most shapers from BY_UNICODE_LATE to BY_GDEF_LATE.
Packit 874993
  This fourth release in a week should finally stablize things...
Packit 874993
Packit 874993
- hb-ot-font's get_glyph() implementation saw some optimizations.  Though,
Packit 874993
  might be really hard to measure in real-world situations.
Packit 874993
Packit 874993
- Also, two rather small API changes:
Packit 874993
Packit 874993
We now disable some time-consuming internal bookkeeping if built with NDEBUG
Packit 874993
defined.  This is a first time that we use NDEBUG to disable debug code.  If
Packit 874993
there exist production systems that do NOT want to enable NDEBUG, please let
Packit 874993
me know and I'll add HB_NDEBUG.
Packit 874993
Packit 874993
Added get_nominal_glyph() and get_variation_glyph() instead of get_glyph()
Packit 874993
Packit 874993
New API:
Packit 874993
- hb_font_get_nominal_glyph_func_t
Packit 874993
- hb_font_get_variation_glyph_func_t
Packit 874993
- hb_font_funcs_set_nominal_glyph_func()
Packit 874993
- hb_font_funcs_set_variation_glyph_func()
Packit 874993
- hb_font_get_nominal_glyph()
Packit 874993
- hb_font_get_variation_glyph()
Packit 874993
Packit 874993
Deprecated API:
Packit 874993
- hb_font_get_glyph_func_t
Packit 874993
- hb_font_funcs_set_glyph_func()
Packit 874993
Packit 874993
Clients that implement their own font-funcs are encouraged to replace
Packit 874993
their get_glyph() implementation with a get_nominal_glyph() and
Packit 874993
get_variation_glyph() pair.  The variation version can assume that
Packit 874993
variation_selector argument is not zero.  Old (deprecated) functions
Packit 874993
will continue working indefinitely using internal gymnastics; it is
Packit 874993
just more efficient to use the new functions.
Packit 874993
Packit 874993
Packit 874993
Overview of changes leading to 1.2.2
Packit 874993
Wednesday, February 24, 2016
Packit 874993
====================================
Packit 874993
Packit 874993
- Fix regression with mark positioning with fonts that have
Packit 874993
  non-zero mark advances.  This was introduced in 1.2.0 while
Packit 874993
  trying to make mark and cursive attachments to work together.
Packit 874993
  I have partially reverted that, so this version is much more
Packit 874993
  like what we had before.  All clients who updated to 1.2.0
Packit 874993
  should update to this version.
Packit 874993
Packit 874993
Packit 874993
Overview of changes leading to 1.2.1
Packit 874993
Tuesday, February 23, 2016
Packit 874993
====================================
Packit 874993
Packit 874993
- CoreText: Fix bug with wrong scale if font scale was changed later.
Packit 874993
  https://github.com/libass/libass/issues/212
Packit 874993
- CoreText: Drastically speed up font initialization.
Packit 874993
- CoreText: Fix tiny leak.
Packit 874993
- Group ZWJ/ZWNJ with previous syllable under cluster-level=0.
Packit 874993
  https://github.com/behdad/harfbuzz/issues/217
Packit 874993
- Add test/shaping/README.md about how to add tests to the suite.
Packit 874993
Packit 874993
Packit 874993
Overview of changes leading to 1.2.0
Packit 874993
Friday, February 19, 2016
Packit 874993
====================================
Packit 874993
Packit 874993
- Fix various issues (hangs mostly) in case of memory allocation failure.
Packit 874993
- Change mark zeroing types of most shapers from BY_UNICODE_LATE to
Packit 874993
  BY_GDEF_LATE.  This seems to be what Uniscribe does.
Packit 874993
- Change mark zeroing of USE shaper from NONE to BY_GDEF_EARLY.  That's
Packit 874993
  what Windows does.
Packit 874993
- Allow GPOS cursive connection on marks, and fix the interaction with
Packit 874993
  mark attachment.  This work resulted in some changes to how mark
Packit 874993
  attachments work.  See:
Packit 874993
  https://github.com/behdad/harfbuzz/issues/211
Packit 874993
  https://github.com/behdad/harfbuzz/commit/86c68c7a2c971efe8e35b1f1bd99401dc8b688d2
Packit 874993
- Graphite2 shaper: improved negative advance handling (eg. Nastaliq).
Packit 874993
- Add nmake-based build system for Windows.
Packit 874993
- Minor speedup.
Packit 874993
- Misc. improvements.
Packit 874993
Packit 874993
Packit 874993
Overview of changes leading to 1.1.3
Packit 874993
Monday, January 11, 2016
Packit 874993
====================================
Packit 874993
Packit 874993
- Ported Indic shaper to Unicode 8.0 data.
Packit 874993
- Universal Shaping Engine fixes.
Packit 874993
- Speed up CoreText shaper when font fallback happens in CoreText.
Packit 874993
- Documentation improvements, thanks to Khaled Hosny.
Packit 874993
- Very rough directwrite shaper for testing, thanks to Ebrahim Byagowi.
Packit 874993
- Misc bug fixes.
Packit 874993
- New API:
Packit 874993
Packit 874993
  * Font extents:
Packit 874993
      hb_font_extents_t
Packit 874993
      hb_font_get_font_extents_func_t
Packit 874993
      hb_font_get_font_h_extents_func_t
Packit 874993
      hb_font_get_font_v_extents_func_t
Packit 874993
      hb_font_funcs_set_font_h_extents_func
Packit 874993
      hb_font_funcs_set_font_v_extents_func
Packit 874993
      hb_font_get_h_extents
Packit 874993
      hb_font_get_v_extents
Packit 874993
      hb_font_get_extents_for_direction
Packit 874993
Packit 874993
  * Buffer message (aka debug):
Packit 874993
      hb_buffer_message_func_t
Packit 874993
      hb_buffer_set_message_func()
Packit 874993
    Actual message protocol to be fleshed out later.
Packit 874993
Packit 874993
Packit 874993
Overview of changes leading to 1.1.2
Packit 874993
Wednesday, November 26, 2015
Packit 874993
====================================
Packit 874993
Packit 874993
- Fix badly-broken fallback shaper that affected terminology.
Packit 874993
  https://github.com/behdad/harfbuzz/issues/187
Packit 874993
- Fix y_scaling in Graphite shaper.
Packit 874993
- API changes:
Packit 874993
  * An unset glyph_h_origin() function in font-funcs now (sensibly)
Packit 874993
    implies horizontal origin at 0,0.  Ie, the nil callback returns
Packit 874993
    true instead of false.  As such, implementations that have a
Packit 874993
    glyph_h_origin() that simply returns true, can remove that function
Packit 874993
    with HarfBuzz >= 1.1.2.  This results in a tiny speedup.
Packit 874993
Packit 874993
Packit 874993
Overview of changes leading to 1.1.1
Packit 874993
Wednesday, November 24, 2015
Packit 874993
====================================
Packit 874993
Packit 874993
- Build fixes, specially for hb-coretext.
Packit 874993
Packit 874993
Packit 874993
Overview of changes leading to 1.1.0
Packit 874993
Wednesday, November 18, 2015
Packit 874993
====================================
Packit 874993
Packit 874993
- Implement 'stch' stretch feature for Syriac Abbreviation Mark.
Packit 874993
  https://github.com/behdad/harfbuzz/issues/141
Packit 874993
- Disable use of decompose_compatibility() callback.
Packit 874993
- Implement "shaping" of various Unicode space characters, even
Packit 874993
  if the font does not support them.
Packit 874993
  https://github.com/behdad/harfbuzz/issues/153
Packit 874993
- If font does not support U+2011 NO-BREAK HYPHEN, fallback to
Packit 874993
  U+2010 HYPHEN.
Packit 874993
- Changes resulting from libFuzzer continuous fuzzing:
Packit 874993
  * Reject font tables that need more than 8 edits,
Packit 874993
  * Bound buffer growth during shaping to 32x,
Packit 874993
  * Fix assertions and other issues at OOM / buffer max-growth.
Packit 874993
- Misc fixes and optimizations.
Packit 874993
- API changes:
Packit 874993
  * All fonts created with hb_font_create() now inherit from
Packit 874993
    (ie. have parent) hb_font_get_empty().
Packit 874993
Packit 874993
Packit 874993
Overview of changes leading to 1.0.6
Packit 874993
Thursday, October 15, 2015
Packit 874993
====================================
Packit 874993
Packit 874993
- Reduce max nesting level in OT lookups from 8 to 6.
Packit 874993
  Should not affect any real font as far as I know.
Packit 874993
- Fix memory access issue in ot-font.
Packit 874993
- Revert default load-flags of fonts created using hb_ft_font_create()
Packit 874993
  back to FT_LOAD_DEFAULT|FT_LOAD_NO_HINTING.  This was changed in
Packit 874993
  last release (1.0.5), but caused major issues, so revert.
Packit 874993
  https://github.com/behdad/harfbuzz/issues/143
Packit 874993
Packit 874993
Packit 874993
Overview of changes leading to 1.0.5
Packit 874993
Tuesday, October 13, 2015
Packit 874993
====================================
Packit 874993
Packit 874993
- Fix multiple memory access bugs discovered using libFuzzer.
Packit 874993
  https://github.com/behdad/harfbuzz/issues/139
Packit 874993
  Everyone should upgrade to this version as soon as possible.
Packit 874993
  We now have continuous fuzzing set up, to avoid issues like
Packit 874993
  these creeping in again.
Packit 874993
- Misc fixes.
Packit 874993
Packit 874993
- New API:
Packit 874993
  * hb_font_set_parent().
Packit 874993
  * hb_ft_font_[sg]et_load_flags()
Packit 874993
    The default flags for fonts created using hb_ft_font_create()
Packit 874993
    has changed to default to FT_LOAD_DEFAULT now.  Previously it
Packit 874993
    was defaulting to FT_LOAD_DFEAULT|FT_LOAD_NO_HINTING.
Packit 874993
Packit 874993
- API changes:
Packit 874993
  * Fonts now default to units-per-EM as their scale, instead of 0.
Packit 874993
  * hb_font_create_sub_font() does NOT make parent font immutable
Packit 874993
    anymore.  hb_font_make_immutable() does.
Packit 874993
Packit 874993
Packit 874993
Overview of changes leading to 1.0.4
Packit 874993
Wednesday, September 30, 2015
Packit 874993
====================================
Packit 874993
Packit 874993
- Fix minor out-of-bounds read error.
Packit 874993
Packit 874993
Packit 874993
Overview of changes leading to 1.0.3
Packit 874993
Tuesday, September 1, 2015
Packit 874993
====================================
Packit 874993
Packit 874993
- Start of user documentation, from Simon Cozens!
Packit 874993
- Implement glyph_extents() for TrueType fonts in hb-ot-font.
Packit 874993
- Improve GPOS cursive attachments with conflicting lookups.
Packit 874993
- More fixes for cluster-level = 1.
Packit 874993
- Uniscribe positioning fix.
Packit 874993
Packit 874993
Packit 874993
Overview of changes leading to 1.0.2
Packit 874993
Wednesday, August 19, 2015
Packit 874993
====================================
Packit 874993
Packit 874993
- Fix shaping with cluster-level > 0.
Packit 874993
- Fix Uniscribe backend font-size scaling.
Packit 874993
- Declare dependencies in harfbuzz.pc.
Packit 874993
  FreeType is not declared though, to avoid bugs in pkg-config
Packit 874993
  0.26 with recursive dependencies.
Packit 874993
- Slightly improved debug infrastructure.  More to come later.
Packit 874993
- Misc build fixes.
Packit 874993
Packit 874993
Packit 874993
Overview of changes leading to 1.0.1
Packit 874993
Monday, July 27, 2015
Packit 874993
====================================
Packit 874993
Packit 874993
- Fix out-of-bounds access in USE shaper.
Packit 874993
Packit 874993
Packit 874993
Overview of changes leading to 1.0.0
Packit 874993
Sunday, July 26, 2015
Packit 874993
====================================
Packit 874993
Packit 874993
- Implement Universal Shaping Engine:
Packit 874993
  https://www.microsoft.com/typography/OpenTypeDev/USE/intro.htm
Packit 874993
  http://blogs.windows.com/bloggingwindows/2015/02/23/windows-shapes-the-worlds-languages/
Packit 874993
- Bump version to 1.0.0.  The soname was NOT bumped.
Packit 874993
Packit 874993
Packit 874993
Overview of changes leading to 0.9.42
Packit 874993
Thursday, July 26, 2015
Packit 874993
=====================================
Packit 874993
Packit 874993
- New API to allow for retrieving finer-grained cluster
Packit 874993
  mappings if the client desires to handle them.  Default
Packit 874993
  behavior is unchanged.
Packit 874993
- Fix cluster merging when removing default-ignorables.
Packit 874993
- Update to Unicode 8.0
Packit 874993
- hb-graphite2 fixes.
Packit 874993
- Misc fixes.
Packit 874993
- Removed HB_NO_MERGE_CLUSTERS hack.
Packit 874993
- New API:
Packit 874993
  hb_buffer_cluster_level_t enum
Packit 874993
  hb_buffer_get_cluster_level()
Packit 874993
  hb_buffer_set_cluster_level()
Packit 874993
  hb-shape / hb-view --cluster-level
Packit 874993
Packit 874993
Packit 874993
Overview of changes leading to 0.9.41
Packit 874993
Thursday, June 18, 2015
Packit 874993
=====================================
Packit 874993
Packit 874993
- Fix hb-coretext with trailing whitespace in right-to-left.
Packit 874993
- New API: hb_buffer_reverse_range().
Packit 874993
- Allow implementing atomic ops in config.h.
Packit 874993
- Fix hb_language_t in language bindings.
Packit 874993
- Misc fixes.
Packit 874993
Packit 874993
Packit 874993
Overview of changes leading to 0.9.40
Packit 874993
Friday, March 20, 2015
Packit 874993
=====================================
Packit 874993
Packit 874993
- Another hb-coretext crasher fix.  Ouch!
Packit 874993
- Happy Norouz!
Packit 874993
Packit 874993
Packit 874993
Overview of changes leading to 0.9.39
Packit 874993
Wednesday, March 4, 2015
Packit 874993
=====================================
Packit 874993
Packit 874993
- Critical hb-coretext fixes.
Packit 874993
- Optimizations and refactoring; no functional change
Packit 874993
  expected.
Packit 874993
- Misc build fixes.
Packit 874993
Packit 874993
Packit 874993
Overview of changes leading to 0.9.38
Packit 874993
Friday, January 23, 2015
Packit 874993
=====================================
Packit 874993
Packit 874993
- Fix minor out-of-bounds access in Indic shaper.
Packit 874993
- Change New Tai Lue shaping engine from South-East Asian to default,
Packit 874993
  reflecting change in Unicode encoding model.
Packit 874993
- Add hb-shape --font-size.  Can take up to two numbers for separate
Packit 874993
  x / y size.
Packit 874993
- Fix CoreText and FreeType scale issues with negative scales.
Packit 874993
- Reject blobs larger than 2GB.  This might break some icu-le-hb clients
Packit 874993
  that need security fixes.  See:
Packit 874993
  http://www.icu-project.org/trac/ticket/11450
Packit 874993
- Avoid accessing font tables during face destruction, in casce rogue
Packit 874993
  clients released face data already.
Packit 874993
- Fix up gobject-introspection a bit.  Python bindings kinda working.
Packit 874993
  See README.python.
Packit 874993
- Misc fixes.
Packit 874993
- API additions:
Packit 874993
  hb_ft_face_create_referenced()
Packit 874993
  hb_ft_font_create_referenced()
Packit 874993
Packit 874993
Packit 874993
Overview of changes leading to 0.9.37
Packit 874993
Wednesday, December 17, 2014
Packit 874993
=====================================
Packit 874993
Packit 874993
- Fix out-of-bounds access in Context lookup format 3.
Packit 874993
- Indic: Allow ZWJ/ZWNJ before syllable modifiers.
Packit 874993
Packit 874993
Packit 874993
Overview of changes leading to 0.9.36
Packit 874993
Thursday, November 20, 2014
Packit 874993
=====================================
Packit 874993
Packit 874993
- First time that three months went by without a release since
Packit 874993
  0.9.2 was released on August 10, 2012!
Packit 874993
- Fix performance bug in hb_ot_collect_glyphs():
Packit 874993
  https://bugzilla.mozilla.org/show_bug.cgi?id=1090869
Packit 874993
- Add basic vertical-text support to hb-ot-font.
Packit 874993
- Misc build fixes.
Packit 874993
Packit 874993
Packit 874993
Overview of changes leading to 0.9.35
Packit 874993
Saturday, August 13, 2014
Packit 874993
=====================================
Packit 874993
Packit 874993
- Fix major shape-plan caching bug when more than one shaper were
Packit 874993
  provided to hb_shape_full() (as exercised by XeTeX).
Packit 874993
  http://www.mail-archive.com/debian-bugs-dist@lists.debian.org/msg1246370.html
Packit 874993
- Fix Arabic fallback shaping regression.  This was broken in 0.9.32.
Packit 874993
- Major hb-coretext fixes.  That backend is complete now, including
Packit 874993
  respecing buffer direction and language, down to vertical writing.
Packit 874993
- Build fixes for Windows CE.  Should build fine now.
Packit 874993
- Misc fixes:
Packit 874993
  Use atexit() only if it's safe to call from shared library
Packit 874993
  https://bugs.freedesktop.org/show_bug.cgi?id=82246
Packit 874993
  Mandaic had errors in its Unicode Joining_Type
Packit 874993
  https://bugs.freedesktop.org/show_bug.cgi?id=82306
Packit 874993
- API changes:
Packit 874993
Packit 874993
  * hb_buffer_clear_contents() does not reset buffer flags now.
Packit 874993
Packit 874993
    After 763e5466c0a03a7c27020e1e2598e488612529a7, one doesn't
Packit 874993
    need to set flags for different pieces of text.  The flags now
Packit 874993
    are something the client sets up once, depending on how it
Packit 874993
    actually uses the buffer.  As such, don't clear it in
Packit 874993
    clear_contents().
Packit 874993
Packit 874993
    I don't expect any changes to be needed to any existing client.
Packit 874993
Packit 874993
Packit 874993
Overview of changes leading to 0.9.34
Packit 874993
Saturday, August 2, 2014
Packit 874993
=====================================
Packit 874993
Packit 874993
- hb_feature_from_string() now accepts CSS font-feature-settings format.
Packit 874993
- As a result, hb-shape / hb-view --features also accept CSS-style strings.
Packit 874993
  Eg, "'liga' off" is accepted now.
Packit 874993
- Add old-spec Myanmar shaper:
Packit 874993
  https://bugs.freedesktop.org/show_bug.cgi?id=81775
Packit 874993
- Don't apply 'calt' in Hangul shaper.
Packit 874993
- Fix mark advance zeroing for Hebrew shaper:
Packit 874993
  https://bugs.freedesktop.org/show_bug.cgi?id=76767
Packit 874993
- Implement Windows-1256 custom Arabic shaping.  Only built on Windows,
Packit 874993
  and requires help from get_glyph().  Used by Firefox.
Packit 874993
  https://bugzilla.mozilla.org/show_bug.cgi?id=1045139
Packit 874993
- Disable 'liga' in vertical text.
Packit 874993
- Build fixes.
Packit 874993
- API changes:
Packit 874993
Packit 874993
  * Make HB_BUFFER_FLAG_BOT/EOT easier to use.
Packit 874993
Packit 874993
    Previously, we expected users to provide BOT/EOT flags when the
Packit 874993
    text *segment* was at paragraph boundaries.  This meant that for
Packit 874993
    clients that provide full paragraph to HarfBuzz (eg. Pango), they
Packit 874993
    had code like this:
Packit 874993
Packit 874993
      hb_buffer_set_flags (hb_buffer,
Packit 874993
                           (item_offset == 0 ? HB_BUFFER_FLAG_BOT : 0) |
Packit 874993
                           (item_offset + item_length == paragraph_length ?
Packit 874993
                            HB_BUFFER_FLAG_EOT : 0));
Packit 874993
Packit 874993
      hb_buffer_add_utf8 (hb_buffer,
Packit 874993
                          paragraph_text, paragraph_length,
Packit 874993
                          item_offset, item_length);
Packit 874993
Packit 874993
    After this change such clients can simply say:
Packit 874993
Packit 874993
      hb_buffer_set_flags (hb_buffer,
Packit 874993
                           HB_BUFFER_FLAG_BOT | HB_BUFFER_FLAG_EOT);
Packit 874993
Packit 874993
      hb_buffer_add_utf8 (hb_buffer,
Packit 874993
                          paragraph_text, paragraph_length,
Packit 874993
                          item_offset, item_length);
Packit 874993
Packit 874993
    Ie, HarfBuzz itself checks whether the segment is at the beginning/end
Packit 874993
    of the paragraph.  Clients that only pass item-at-a-time to HarfBuzz
Packit 874993
    continue not setting any flags whatsoever.
Packit 874993
Packit 874993
    Another way to put it is: if there's pre-context text in the buffer,
Packit 874993
    HarfBuzz ignores the BOT flag.  If there's post-context, it ignores
Packit 874993
    EOT flag.
Packit 874993
Packit 874993
Packit 874993
Overview of changes leading to 0.9.33
Packit 874993
Tuesday, July 22, 2014
Packit 874993
=====================================
Packit 874993
Packit 874993
- Turn off ARabic 'cswh' feature that was accidentally turned on.
Packit 874993
- Add HB_TAG_MAX_SIGNED.
Packit 874993
- Make hb_face_make_immutable() really make face immutable!
Packit 874993
- Windows build fixes.
Packit 874993
Packit 874993
Packit 874993
Overview of changes leading to 0.9.32
Packit 874993
Thursday, July 17, 2014
Packit 874993
=====================================
Packit 874993
Packit 874993
- Apply Arabic shaping features in spec order exactly.
Packit 874993
- Another fix for Mongolian free variation selectors.
Packit 874993
- For non-Arabic scripts in Arabic shaper apply 'rlig' and 'calt'
Packit 874993
  together.
Packit 874993
- Minor adjustment to U+FFFD logic.
Packit 874993
- Fix hb-coretext build.
Packit 874993
Packit 874993
Packit 874993
Overview of changes leading to 0.9.31
Packit 874993
Wednesday, July 16, 2014
Packit 874993
=====================================
Packit 874993
Packit 874993
- Only accept valid UTF-8/16/32; we missed many cases before.
Packit 874993
- Better shaping of invalid UTF-8/16/32.  Falls back to
Packit 874993
  U+FFFD REPLACEMENT CHARACTER now.
Packit 874993
- With all changes in this release, the buffer will contain fully
Packit 874993
  valid Unicode after hb_buffer_add_utf8/16/32 no matter how
Packit 874993
  broken the input is.  This can be overriden though.  See below.
Packit 874993
- Fix Mongolian Variation Selectors for fonts without GDEF.
Packit 874993
- Fix minor invalid buffer access.
Packit 874993
- Accept zh-Hant and zh-Hans language tags.  hb_ot_tag_to_language()
Packit 874993
  now uses these instead of private tags.
Packit 874993
- Build fixes.
Packit 874993
- New API:
Packit 874993
  * hb_buffer_add_codepoints().  This does what hb_buffer_add_utf32()
Packit 874993
    used to do, ie. no validity check on the input at all.  add_utf32
Packit 874993
    now replaces invalid Unicode codepoints with the replacement
Packit 874993
    character (see below).
Packit 874993
  * hb_buffer_set_replacement_codepoint()
Packit 874993
  * hb_buffer_get_replacement_codepoint()
Packit 874993
    Previously, in hb_buffer_add_utf8 and hb_buffer_add_utf16, when
Packit 874993
    we detected broken input, we replaced that with (hb_codepoint_t)-1.
Packit 874993
    This has changed to use U+FFFD now, but can be changed using these
Packit 874993
    new API.
Packit 874993
Packit 874993
Packit 874993
Overview of changes leading to 0.9.30
Packit 874993
Wednesday, July 9, 2014
Packit 874993
=====================================
Packit 874993
Packit 874993
- Update to Unicode 7.0.0:
Packit 874993
  * New scripts Manichaean and Psalter Pahlavi are shaped using
Packit 874993
    Arabic shaper.
Packit 874993
  * All the other new scripts to through the generic shaper for
Packit 874993
    now.
Packit 874993
- Minor Indic improvements.
Packit 874993
- Fix graphite2 backend cluster mapping [crasher!]
Packit 874993
- API changes:
Packit 874993
  * New HB_SCRIPT_* values for Unicode 7.0 scripts.
Packit 874993
  * New function hb_ot_layout_language_get_required_feature().
Packit 874993
- Build fixes.
Packit 874993
Packit 874993
Packit 874993
Overview of changes leading to 0.9.29
Packit 874993
Thursday, May 29, 2014
Packit 874993
=====================================
Packit 874993
Packit 874993
- Implement cmap in hb-ot-font.h.  No variation-selectors yet.
Packit 874993
- Myanmar: Allow MedialYa+Asat.
Packit 874993
- Various Indic fixes:
Packit 874993
  * Support most characters in Extended Devanagary and Vedic
Packit 874993
    Unicode blocks.
Packit 874993
  * Allow digits and a some punctuation as consonant placeholders.
Packit 874993
- Build fixes.
Packit 874993
Packit 874993
Packit 874993
Overview of changes leading to 0.9.28
Packit 874993
Monday, April 28, 2014
Packit 874993
=====================================
Packit 874993
Packit 874993
- Unbreak old-spec Indic shaping. (bug 76705)
Packit 874993
- Fix shaping of U+17DD and U+0FC6.
Packit 874993
- Add HB_NO_MERGE_CLUSTERS build option.  NOT to be enabled by default
Packit 874993
  for shipping libraries.  It's an option for further experimentation
Packit 874993
  right now.  When we are sure how to do it properly, we will add
Packit 874993
  public run-time API for the functionality.
Packit 874993
- Build fixes.
Packit 874993
Packit 874993
Packit 874993
Overview of changes leading to 0.9.27
Packit 874993
Tuesday, March 18, 2014
Packit 874993
=====================================
Packit 874993
Packit 874993
- Don't use "register" storage class specifier
Packit 874993
- Wrap definition of free_langs() with HAVE_ATEXIT
Packit 874993
- Add coretext_aat shaper and hb_coretext_face_create() constructor
Packit 874993
- If HAVE_ICU_BUILTIN is defined, use hb-icu Unicode callbacks
Packit 874993
- Add Myanmar test case from OpenType Myanmar spec
Packit 874993
- Only do fallback Hebrew composition if no GPOS 'mark' available
Packit 874993
- Allow bootstrapping without gtk-doc
Packit 874993
- Use AM_MISSING_PROG for ragel and git
Packit 874993
- Typo in ucdn's Makefile.am
Packit 874993
- Improve MemoryBarrier() implementation
Packit 874993
Packit 874993
Packit 874993
Overview of changes leading to 0.9.26
Packit 874993
Thursday, January 30, 2014
Packit 874993
=====================================
Packit 874993
Packit 874993
- Misc fixes.
Packit 874993
- Fix application of 'rtlm' feature.
Packit 874993
- Automatically apply frac/numr/dnom around U+2044 FRACTION SLASH.
Packit 874993
- New header: hb-ot-shape.h
Packit 874993
- Uniscribe: fix scratch-buffer accounting.
Packit 874993
- Reorder Tai Tham SAKOT to after tone-marks.
Packit 874993
- Add Hangul shaper.
Packit 874993
- New files:
Packit 874993
  hb-ot-shape-complex-hangul.cc
Packit 874993
  hb-ot-shape-complex-hebrew.cc
Packit 874993
  hb-ot-shape-complex-tibetan.cc
Packit 874993
- Disable 'cswh' feature in Arabic shaper.
Packit 874993
- Coretext: better handle surrogate pairs.
Packit 874993
- Add HB_TAG_MAX and _HB_SCRIPT_MAX_VALUE.
Packit 874993
Packit 874993
Packit 874993
Overview of changes leading to 0.9.25
Packit 874993
Wednesday, December 4, 2013
Packit 874993
=====================================
Packit 874993
Packit 874993
- Myanmar shaper improvements.
Packit 874993
- Avoid font fallback in CoreText backend.
Packit 874993
- Additional OpenType language tag mappiongs.
Packit 874993
- More aggressive shape-plan caching.
Packit 874993
- Build with / require automake 1.13.
Packit 874993
- Build with libtool 2.4.2.418 alpha to support ppc64le.
Packit 874993
Packit 874993
Packit 874993
Overview of changes leading to 0.9.24
Packit 874993
Tuesday, November 13, 2013
Packit 874993
=====================================
Packit 874993
Packit 874993
- Misc compiler warning fixes with clang.
Packit 874993
- No functional changes.
Packit 874993
Packit 874993
Packit 874993
Overview of changes leading to 0.9.23
Packit 874993
Monday, October 28, 2013
Packit 874993
=====================================
Packit 874993
Packit 874993
- "Udupi HarfBuzz Hackfest", Paris, October 14..18 2013.
Packit 874993
- Fix (Chain)Context recursion with non-monotone lookup positions.
Packit 874993
- Misc Indic bug fixes.
Packit 874993
- New Javanese / Buginese shaping, similar to Windows 8.1.
Packit 874993
Packit 874993
Packit 874993
Overview of changes leading to 0.9.22
Packit 874993
Thursday, October 3, 2013
Packit 874993
=====================================
Packit 874993
Packit 874993
- Fix use-after-end-of-scope in hb_language_from_string().
Packit 874993
- Fix hiding of default_ignorables if font doesn't have space glyph.
Packit 874993
- Protect against out-of-range lookup indices.
Packit 874993
Packit 874993
- API Changes:
Packit 874993
Packit 874993
  * Added hb_ot_layout_table_get_lookup_count()
Packit 874993
Packit 874993
Packit 874993
Overview of changes leading to 0.9.21
Packit 874993
Monday, September 16, 2013
Packit 874993
=====================================
Packit 874993
Packit 874993
- Rename gobject-introspection library name from harfbuzz to HarfBuzz.
Packit 874993
- Remove (long disabled) hb-old and hb-icu-le test shapers.
Packit 874993
- Misc gtk-doc and gobject-introspection annotations.
Packit 874993
- Misc fixes.
Packit 874993
- API changes:
Packit 874993
Packit 874993
  * Add HB_SET_VALUE_INVALID
Packit 874993
Packit 874993
Overview of changes leading to 0.9.20
Packit 874993
Thursday, August 29, 2013
Packit 874993
=====================================
Packit 874993
Packit 874993
General:
Packit 874993
- Misc substitute_closure() fixes.
Packit 874993
- Build fixes.
Packit 874993
Packit 874993
Documentation:
Packit 874993
- gtk-doc boilerplate integrated.  Docs are built now, but
Packit 874993
  contain no contents.  By next release hopefully we have
Packit 874993
  some content in.  Enable using --enable-gtk-doc.
Packit 874993
Packit 874993
GObject and Introspection:
Packit 874993
- Added harfbuzz-gobject library (hb-gobject.h) that has type
Packit 874993
  bindings for all HarfBuzz objects and enums.  Enable using
Packit 874993
  --with-gobject.
Packit 874993
- Added gobject-introspection boilerplate.  Nothing useful
Packit 874993
  right now.  Work in progress.  Gets enabled automatically if
Packit 874993
  --with-gobject is used.  Override with --disable-introspection.
Packit 874993
Packit 874993
OpenType shaper:
Packit 874993
- Apply 'mark' in Myanmar shaper.
Packit 874993
- Don't apply 'dlig' by default.
Packit 874993
Packit 874993
Uniscribe shaper:
Packit 874993
- Support user features.
Packit 874993
- Fix loading of fonts that are also installed on the system.
Packit 874993
- Fix shaping of Arabic Presentation Forms.
Packit 874993
- Fix build with wide chars.
Packit 874993
Packit 874993
CoreText shaper:
Packit 874993
- Support user features.
Packit 874993
Packit 874993
Source changes:
Packit 874993
- hb_face_t code moved to hb-face.h / hb-face.cc.
Packit 874993
- Added hb-deprecated.h.
Packit 874993
Packit 874993
API changes:
Packit 874993
- Added HB_DISABLE_DEPRECATED.
Packit 874993
- Deprecated HB_SCRIPT_CANADIAN_ABORIGINAL; replaced by
Packit 874993
  HB_SCRIPT_CANADIAN_SYLLABICS.
Packit 874993
- Deprecated HB_BUFFER_FLAGS_DEFAULT; replaced by
Packit 874993
  HB_BUFFER_FLAG_DEFAULT.
Packit 874993
- Deprecated HB_BUFFER_SERIALIZE_FLAGS_DEFAULT; replaced by
Packit 874993
  HB_BUFFER_SERIALIZE_FLAG_DEFAULT.
Packit 874993
Packit 874993
Packit 874993
Overview of changes leading to 0.9.19
Packit 874993
Tuesday, July 16, 2013
Packit 874993
=====================================
Packit 874993
Packit 874993
- Build fixes.
Packit 874993
- Better handling of multiple variation selectors in a row.
Packit 874993
- Pass on variation selector to GSUB if not consumed by cmap.
Packit 874993
- Fix undefined memory access.
Packit 874993
- Add Javanese config to Indic shaper.
Packit 874993
- Misc bug fixes.
Packit 874993
Packit 874993
Overview of changes leading to 0.9.18
Packit 874993
Tuesday, May 28, 2013
Packit 874993
=====================================
Packit 874993
Packit 874993
New build system:
Packit 874993
Packit 874993
- All unneeded code is all disabled by default,
Packit 874993
Packit 874993
- Uniscribe and CoreText shapers can be enabled with their --with options,
Packit 874993
Packit 874993
- icu_le and old shapers cannot be enabled for now,
Packit 874993
Packit 874993
- glib, freetype, and cairo will be detected automatically.
Packit 874993
  They can be force on/off'ed with their --with options,
Packit 874993
Packit 874993
- icu and graphite2 are default off, can be enabled with their --with
Packit 874993
  options,
Packit 874993
Packit 874993
Moreover, ICU support is now build into a separate library:
Packit 874993
libharfbuzz-icu.so, and a new harfbuzz-icu.pc is shipped for it.
Packit 874993
Distros can enable ICU now without every application on earth
Packit 874993
getting linked to via libharfbuzz.so.
Packit 874993
Packit 874993
For distros I recommend that they make sure they are building --with-glib
Packit 874993
--with-freetype --with-cairo, --with-icu, and optionally --with-graphite2;
Packit 874993
And package harfbuzz and harfbuzz-icu separately.
Packit 874993
Packit 874993
Packit 874993
Overview of changes leading to 0.9.17
Packit 874993
Monday, May 20, 2013
Packit 874993
=====================================
Packit 874993
Packit 874993
- Build fixes.
Packit 874993
- Fix bug in hb_set_get_min().
Packit 874993
- Fix regression with Arabic mark positioning / width-zeroing.
Packit 874993
Packit 874993
Overview of changes leading to 0.9.16
Packit 874993
Friday, April 19, 2013
Packit 874993
=====================================
Packit 874993
Packit 874993
- Major speedup in OpenType lookup processing.  With the Amiri
Packit 874993
  Arabic font, this release is over 3x faster than previous
Packit 874993
  release.  All scripts / languages should see this speedup.
Packit 874993
Packit 874993
- New --num-iterations option for hb-shape / hb-view; useful for
Packit 874993
  profiling.
Packit 874993
Packit 874993
Overview of changes leading to 0.9.15
Packit 874993
Friday, April 05, 2013
Packit 874993
=====================================
Packit 874993
Packit 874993
- Build fixes.
Packit 874993
- Fix crasher in graphite2 shaper.
Packit 874993
- Fix Arabic mark width zeroing regression.
Packit 874993
- Don't compose Hangul jamo into Unicode syllables.
Packit 874993
Packit 874993
Packit 874993
Overview of changes leading to 0.9.14
Packit 874993
Thursday, March 21, 2013
Packit 874993
=====================================
Packit 874993
Packit 874993
- Build fixes.
Packit 874993
- Fix time-consuming sanitize with malicious fonts.
Packit 874993
- Implement hb_buffer_deserialize_glyphs() for both json and text.
Packit 874993
- Do not ignore Hangul filler characters.
Packit 874993
- Indic fixes:
Packit 874993
  * Fix Malayalam pre-base reordering interaction with post-forms.
Packit 874993
  * Further adjust ZWJ handling.  Should fix known regressions from
Packit 874993
    0.9.13.
Packit 874993
Packit 874993
Packit 874993
Overview of changes leading to 0.9.13
Packit 874993
Thursday, February 25, 2013
Packit 874993
=====================================
Packit 874993
Packit 874993
- Build fixes.
Packit 874993
- Ngapi HarfBuzz Hackfest in London (February 2013):
Packit 874993
  * Fixed all known Indic bugs,
Packit 874993
  * New Win8-style Myanmar shaper,
Packit 874993
  * New South-East Asian shaper for Tai Tham, Cham, and New Tai Lue,
Packit 874993
  * Smartly ignore Default_Ignorable characters (joiners, etc) wheb
Packit 874993
    matching GSUB/GPOS lookups,
Packit 874993
  * Fix 'Phags-Pa U+A872 shaping,
Packit 874993
  * Fix partial disabling of default-on features,
Packit 874993
  * Allow disabling of TrueType kerning.
Packit 874993
- Fix possible crasher with broken fonts with overlapping tables.
Packit 874993
- Removed generated files from git again.  So, one needs ragel to
Packit 874993
  bootstrap from the git tree.
Packit 874993
Packit 874993
API changes:
Packit 874993
- hb_shape() and related APIs now abort if buffer direction is
Packit 874993
  HB_DIRECTION_INVALID.  Previously, hb_shape() was calling
Packit 874993
  hb_buffer_guess_segment_properties() on the buffer before
Packit 874993
  shaping.  The heuristics in that function are fragile.  If the
Packit 874993
  user really wants the old behvaior, they can call that function
Packit 874993
  right before calling hb_shape() to get the old behavior.
Packit 874993
- hb_blob_create_sub_blob() always creates sub-blob with
Packit 874993
  HB_MEMORY_MODE_READONLY.  See comments for the reason.
Packit 874993
Packit 874993
Packit 874993
Overview of changes leading to 0.9.12
Packit 874993
Thursday, January 18, 2013
Packit 874993
=====================================
Packit 874993
Packit 874993
- Build fixes for Sun compiler.
Packit 874993
- Minor bug fix.
Packit 874993
Packit 874993
Overview of changes leading to 0.9.11
Packit 874993
Thursday, January 10, 2013
Packit 874993
=====================================
Packit 874993
Packit 874993
- Build fixes.
Packit 874993
- Fix GPOS mark attachment with null Anchor offsets.
Packit 874993
- [Indic] Fix old-spec reordering of viramas if sequence ends in one.
Packit 874993
- Fix multi-threaded shaper data creation crash.
Packit 874993
- Add atomic ops for Solaris.
Packit 874993
Packit 874993
API changes:
Packit 874993
- Rename hb_buffer_clear() to hb_buffer_clear_contents().
Packit 874993
Packit 874993
Packit 874993
Overview of changes leading to 0.9.10
Packit 874993
Thursday, January 3, 2013
Packit 874993
=====================================
Packit 874993
Packit 874993
- [Indic] Fixed rendering of Malayalam dot-reph
Packit 874993
- Updated OT language tags.
Packit 874993
- Updated graphite2 backend.
Packit 874993
- Improved hb_ot_layout_get_size_params() logic.
Packit 874993
- Improve hb-shape/hb-view help output.
Packit 874993
- Fixed hb-set.h implementation to not crash.
Packit 874993
- Fixed various issues with hb_ot_layout_collect_lookups().
Packit 874993
- Various build fixes.
Packit 874993
Packit 874993
New API:
Packit 874993
Packit 874993
hb_graphite2_face_get_gr_face()
Packit 874993
hb_graphite2_font_get_gr_font()
Packit 874993
hb_coretext_face_get_cg_font()
Packit 874993
Packit 874993
Modified API:
Packit 874993
Packit 874993
hb_ot_layout_get_size_params()
Packit 874993
Packit 874993
Packit 874993
Overview of changes leading to 0.9.9
Packit 874993
Wednesday, December 5, 2012
Packit 874993
====================================
Packit 874993
Packit 874993
- Fix build on Windows.
Packit 874993
- Minor improvements.
Packit 874993
Packit 874993
Packit 874993
Overview of changes leading to 0.9.8
Packit 874993
Tuesday, December 4, 2012
Packit 874993
====================================
Packit 874993
Packit 874993
Packit 874993
- Actually implement hb_shape_plan_get_shaper ().
Packit 874993
- Make UCDB data tables const.
Packit 874993
- Lots of internal refactoring in OTLayout tables.
Packit 874993
- Flesh out hb_ot_layout_lookup_collect_glyphs().
Packit 874993
Packit 874993
New API:
Packit 874993
Packit 874993
hb_ot_layout_collect_lookups()
Packit 874993
hb_ot_layout_get_size_params()
Packit 874993
Packit 874993
Packit 874993
Overview of changes leading to 0.9.7
Packit 874993
Sunday, November 21, 2012
Packit 874993
====================================
Packit 874993
Packit 874993
Packit 874993
HarfBuzz "All-You-Can-Eat-Sushi" (aka Vancouver) Hackfest and follow-on fixes.
Packit 874993
Packit 874993
- Fix Arabic contextual joining using pre-context text.
Packit 874993
- Fix Sinhala "split matra" mess.
Packit 874993
- Fix Khmer shaping with broken fonts.
Packit 874993
- Implement Thai "PUA" shaping for old fonts.
Packit 874993
- Do NOT route Kharoshthi script through the Indic shaper.
Packit 874993
- Disable fallback positioning for Indic and Thai shapers.
Packit 874993
- Misc fixes.
Packit 874993
Packit 874993
Packit 874993
hb-shape / hb-view changes:
Packit 874993
Packit 874993
- Add --text-before and --text-after
Packit 874993
- Add --bot / --eot / --preserve-default-ignorables
Packit 874993
- hb-shape --output-format=json
Packit 874993
Packit 874993
Packit 874993
New API:
Packit 874993
Packit 874993
hb_buffer_clear()
Packit 874993
Packit 874993
hb_buffer_flags_t
Packit 874993
Packit 874993
HB_BUFFER_FLAGS_DEFAULT
Packit 874993
HB_BUFFER_FLAG_BOT
Packit 874993
HB_BUFFER_FLAG_EOT
Packit 874993
HB_BUFFER_FLAG_PRESERVE_DEFAULT_IGNORABLES
Packit 874993
Packit 874993
hb_buffer_set_flags()
Packit 874993
hb_buffer_get_flags()
Packit 874993
Packit 874993
HB_BUFFER_SERIALIZE_FLAGS
Packit 874993
hb_buffer_serialize_glyphs()
Packit 874993
hb_buffer_deserialize_glyphs()
Packit 874993
hb_buffer_serialize_list_formats()
Packit 874993
Packit 874993
hb_set_add_range()
Packit 874993
hb_set_del_range()
Packit 874993
hb_set_get_population()
Packit 874993
hb_set_next_range()
Packit 874993
Packit 874993
hb_face_[sg]et_glyph_count()
Packit 874993
Packit 874993
hb_segment_properties_t
Packit 874993
HB_SEGMENT_PROPERTIES_DEFAULT
Packit 874993
hb_segment_properties_equal()
Packit 874993
hb_segment_properties_hash()
Packit 874993
Packit 874993
hb_buffer_set_segment_properties()
Packit 874993
hb_buffer_get_segment_properties()
Packit 874993
Packit 874993
hb_ot_layout_glyph_class_t
Packit 874993
hb_ot_layout_get_glyph_class()
Packit 874993
hb_ot_layout_get_glyphs_in_class()
Packit 874993
Packit 874993
hb_shape_plan_t
Packit 874993
hb_shape_plan_create()
Packit 874993
hb_shape_plan_create_cached()
Packit 874993
hb_shape_plan_get_empty()
Packit 874993
hb_shape_plan_reference()
Packit 874993
hb_shape_plan_destroy()
Packit 874993
hb_shape_plan_set_user_data()
Packit 874993
hb_shape_plan_get_user_data()
Packit 874993
hb_shape_plan_execute()
Packit 874993
hb_shape_plan_get_shaper()
Packit 874993
Packit 874993
hb_ot_shape_plan_collect_lookups()
Packit 874993
Packit 874993
Packit 874993
API changes:
Packit 874993
Packit 874993
- Remove "mask" parameter from hb_buffer_add().
Packit 874993
- Rename hb_ot_layout_would_substitute_lookup() and hb_ot_layout_substitute_closure_lookup().
Packit 874993
- hb-set.h API const correction.
Packit 874993
- Renamed hb_set_min/max() to hb_set_get_min/max().
Packit 874993
- Rename hb_ot_layout_feature_get_lookup_indexes() to hb_ot_layout_feature_get_lookups().
Packit 874993
- Rename hb_buffer_guess_properties() to hb_buffer_guess_segment_properties().
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Overview of changes leading to 0.9.6
Packit 874993
Sunday, November 13, 2012
Packit 874993
====================================
Packit 874993
Packit 874993
- Don't clear pre-context text if no new context is provided.
Packit 874993
- Fix ReverseChainingSubstLookup, which was totally borked.
Packit 874993
- Adjust output format of hb-shape a bit.
Packit 874993
- Include config.h.in in-tree.  Makes it easier for alternate build systems.
Packit 874993
- Fix hb_buffer_set_length(buffer, 0) invalid memory allocation.
Packit 874993
- Use ICU LayoutEngine's C API instead of C++.  Avoids much headache.
Packit 874993
- Drop glyphs for all of Unicode Default_Ignorable characters.
Packit 874993
- Misc build fixes.
Packit 874993
Packit 874993
Arabic shaper:
Packit 874993
- Enable 'dlig' and 'mset' features in Arabic shaper.
Packit 874993
- Implement 'Phags-pa shaping, improve Mongolian.
Packit 874993
Packit 874993
Indic shaper:
Packit 874993
- Decompose Sinhala split matras the way old HarfBuzz / Pango did.
Packit 874993
- Initial support for Consonant Medials.
Packit 874993
- Start adding new-style Myanmar shaping.
Packit 874993
- Make reph and 'pref' logic introspect the font.
Packit 874993
- Route Meetei-Mayek through the Indic shaper.
Packit 874993
- Don't apply 'liga' in Indic shaper.
Packit 874993
- Improve Malayalam pre-base reordering Ra interaction with Chillus.
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Overview of changes leading to 0.9.5
Packit 874993
Sunday, October 14, 2012
Packit 874993
====================================
Packit 874993
Packit 874993
- Synthetic-GSUB Arabic fallback shaping.
Packit 874993
Packit 874993
- Misc Indic improvements.
Packit 874993
Packit 874993
- Add build system support for pthread.
Packit 874993
Packit 874993
- Imported UCDN for in-tree Unicode callbacks implementation.
Packit 874993
Packit 874993
- Context-aware Arabic joining.
Packit 874993
Packit 874993
- Misc other fixes.
Packit 874993
Packit 874993
- New API:
Packit 874993
Packit 874993
  hb_feature_to/from-string()
Packit 874993
  hb_buffer_[sg]et_content_type()
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Overview of changes leading to 0.9.4
Packit 874993
Tuesday, Sep 03, 2012
Packit 874993
====================================
Packit 874993
Packit 874993
- Indic improvements with old-spec Malayalam.
Packit 874993
Packit 874993
- Better fallback glyph positioning, specially with Thai / Lao marks.
Packit 874993
Packit 874993
- Implement dotted-circle insertion.
Packit 874993
Packit 874993
- Better Arabic fallback shaping / ligation.
Packit 874993
Packit 874993
- Added ICU LayoutEngine backend for testing.  Call it by the 'icu_le' name.
Packit 874993
Packit 874993
- Misc fixes.
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Overview of changes leading to 0.9.3
Packit 874993
Friday, Aug 18, 2012
Packit 874993
====================================
Packit 874993
Packit 874993
- Fixed fallback mark positioning for left-to-right text.
Packit 874993
Packit 874993
- Improve mark positioning for the remaining combining classes.
Packit 874993
Packit 874993
- Unbreak Thai and fallback Arabic shaping.
Packit 874993
Packit 874993
- Port Arabic shaper to shape-plan caching.
Packit 874993
Packit 874993
- Use new ICU normalizer functions.
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Overview of changes leading to 0.9.2
Packit 874993
Friday, Aug 10, 2012
Packit 874993
====================================
Packit 874993
Packit 874993
- Over a thousand commits!  This is the first major release of HarfBuzz.
Packit 874993
Packit 874993
- HarfBuzz is feature-complete now!  It should be in par, or better, than
Packit 874993
  both Pango's shapers and old HarfBuzz / Qt shapers.
Packit 874993
Packit 874993
- New Indic shaper, supporting main Indic scripts, Sinhala, and Khmer.
Packit 874993
Packit 874993
- Improved Arabic shaper, with fallback Arabic shaping, supporting Arabic,
Packit 874993
  Sinhala, N'ko, Mongolian, and Mandaic.
Packit 874993
Packit 874993
- New Thai / Lao shaper.
Packit 874993
Packit 874993
- Tibetan / Hangul support in the generic shaper.
Packit 874993
Packit 874993
- Synthetic GDEF support for fonts without a GDEF table.
Packit 874993
Packit 874993
- Fallback mark positioning for fonts without a GPOS table.
Packit 874993
Packit 874993
- Unicode normalization shaping heuristic during glyph mapping.
Packit 874993
Packit 874993
- New experimental Graphite2 backend.
Packit 874993
Packit 874993
- New Uniscribe backend (primarily for testing).
Packit 874993
Packit 874993
- New CoreText backend (primarily for testing).
Packit 874993
Packit 874993
- Major optimization and speedup.
Packit 874993
Packit 874993
- Test suites and testing infrastructure (work in progress).
Packit 874993
Packit 874993
- Greatly improved hb-view cmdline tool.
Packit 874993
Packit 874993
- hb-shape cmdline tool.
Packit 874993
Packit 874993
- Unicode 6.1 support.
Packit 874993
Packit 874993
Summary of API changes:
Packit 874993
Packit 874993
o Changed API:
Packit 874993
Packit 874993
  - Users are expected to only include main header files now (ie. hb.h,
Packit 874993
    hb-glib.h, hb-ft.h, ...)
Packit 874993
Packit 874993
  - All struct tag names had their initial underscore removed.
Packit 874993
    Ie. "struct _hb_buffer_t" is "struct hb_buffer_t" now.
Packit 874993
Packit 874993
  - All set_user_data() functions now take a "replace" boolean parameter.
Packit 874993
Packit 874993
  - hb_buffer_create() takes zero arguments now.
Packit 874993
    Use hb_buffer_pre_allocate() to pre-allocate.
Packit 874993
Packit 874993
  - hb_buffer_add_utf*() now accept -1 for length parameteres,
Packit 874993
    meaning "nul-terminated".
Packit 874993
Packit 874993
  - hb_direction_t enum values changed.
Packit 874993
Packit 874993
  - All *_from_string() APIs now take a length parameter to allow for
Packit 874993
    non-nul-terminated strings. A -1 length means "nul-terminated".
Packit 874993
Packit 874993
  - Typedef for hb_language_t changed.
Packit 874993
Packit 874993
  - hb_get_table_func_t renamed to hb_reference_table_func_t.
Packit 874993
Packit 874993
  - hb_ot_layout_table_choose_script()
Packit 874993
Packit 874993
  - Various renames in hb-unicode.h.
Packit 874993
Packit 874993
o New API:
Packit 874993
Packit 874993
  - hb_buffer_guess_properties()
Packit 874993
    Automatically called by hb_shape().
Packit 874993
Packit 874993
  - hb_buffer_normalize_glyphs()
Packit 874993
Packit 874993
  - hb_tag_from_string()
Packit 874993
Packit 874993
  - hb-coretext.h
Packit 874993
Packit 874993
  - hb-uniscribe.h
Packit 874993
Packit 874993
  - hb_face_reference_blob()
Packit 874993
  - hb_face_[sg]et_index()
Packit 874993
  - hb_face_set_upem()
Packit 874993
Packit 874993
  - hb_font_get_glyph_name_func_t
Packit 874993
    hb_font_get_glyph_from_name_func_t
Packit 874993
    hb_font_funcs_set_glyph_name_func()
Packit 874993
    hb_font_funcs_set_glyph_from_name_func()
Packit 874993
    hb_font_get_glyph_name()
Packit 874993
    hb_font_get_glyph_from_name()
Packit 874993
    hb_font_glyph_to_string()
Packit 874993
    hb_font_glyph_from_string()
Packit 874993
Packit 874993
  - hb_font_set_funcs_data()
Packit 874993
Packit 874993
  - hb_ft_font_set_funcs()
Packit 874993
  - hb_ft_font_get_face()
Packit 874993
Packit 874993
  - hb-gobject.h (work in progress)
Packit 874993
Packit 874993
  - hb_ot_shape_glyphs_closure()
Packit 874993
    hb_ot_layout_substitute_closure_lookup()
Packit 874993
Packit 874993
  - hb-set.h
Packit 874993
Packit 874993
  - hb_shape_full()
Packit 874993
Packit 874993
  - hb_unicode_combining_class_t
Packit 874993
Packit 874993
  - hb_unicode_compose_func_t
Packit 874993
    hb_unicode_decompose_func_t
Packit 874993
    hb_unicode_decompose_compatibility_func_t
Packit 874993
    hb_unicode_funcs_set_compose_func()
Packit 874993
    hb_unicode_funcs_set_decompose_func()
Packit 874993
    hb_unicode_funcs_set_decompose_compatibility_func()
Packit 874993
    hb_unicode_compose()
Packit 874993
    hb_unicode_decompose()
Packit 874993
    hb_unicode_decompose_compatibility()
Packit 874993
Packit 874993
o Removed API:
Packit 874993
Packit 874993
  - hb_ft_get_font_funcs()
Packit 874993
Packit 874993
  - hb_ot_layout_substitute_start()
Packit 874993
    hb_ot_layout_substitute_lookup()
Packit 874993
    hb_ot_layout_substitute_finish()
Packit 874993
    hb_ot_layout_position_start()
Packit 874993
    hb_ot_layout_position_lookup()
Packit 874993
    hb_ot_layout_position_finish()
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Overview of changes leading to 0.6.0
Packit 874993
Friday, May 27, 2011
Packit 874993
====================================
Packit 874993
Packit 874993
- Vertical text support in GPOS
Packit 874993
- Almost all API entries have unit tests now, under test/
Packit 874993
- All thread-safety issues are fixed
Packit 874993
Packit 874993
Summary of API changes follows.
Packit 874993
Packit 874993
Packit 874993
* Simple Types API:
Packit 874993
Packit 874993
  o New API:
Packit 874993
    HB_LANGUAGE_INVALID
Packit 874993
    hb_language_get_default()
Packit 874993
    hb_direction_to_string()
Packit 874993
    hb_direction_from_string()
Packit 874993
    hb_script_get_horizontal_direction()
Packit 874993
    HB_UNTAG()
Packit 874993
Packit 874993
  o Renamed API:
Packit 874993
    hb_category_t renamed to hb_unicode_general_category_t
Packit 874993
Packit 874993
  o Changed API:
Packit 874993
    hb_language_t is a typed pointers now
Packit 874993
Packit 874993
  o Removed API:
Packit 874993
    HB_TAG_STR()
Packit 874993
Packit 874993
Packit 874993
* Use ISO 15924 tags for hb_script_t:
Packit 874993
Packit 874993
  o New API:
Packit 874993
    hb_script_from_iso15924_tag()
Packit 874993
    hb_script_to_iso15924_tag()
Packit 874993
    hb_script_from_string()
Packit 874993
Packit 874993
  o Changed API:
Packit 874993
    HB_SCRIPT_* enum members changed value.
Packit 874993
Packit 874993
Packit 874993
* Buffer API streamlined:
Packit 874993
Packit 874993
  o New API:
Packit 874993
    hb_buffer_reset()
Packit 874993
    hb_buffer_set_length()
Packit 874993
    hb_buffer_allocation_successful()
Packit 874993
Packit 874993
  o Renamed API:
Packit 874993
    hb_buffer_ensure() renamed to hb_buffer_pre_allocate()
Packit 874993
    hb_buffer_add_glyph() renamed to hb_buffer_add()
Packit 874993
Packit 874993
  o Removed API:
Packit 874993
    hb_buffer_clear()
Packit 874993
    hb_buffer_clear_positions()
Packit 874993
Packit 874993
  o Changed API:
Packit 874993
    hb_buffer_get_glyph_infos() takes an out length parameter now
Packit 874993
    hb_buffer_get_glyph_positions() takes an out length parameter now
Packit 874993
Packit 874993
Packit 874993
* Blob API streamlined:
Packit 874993
Packit 874993
  o New API:
Packit 874993
    hb_blob_get_data()
Packit 874993
    hb_blob_get_data_writable()
Packit 874993
Packit 874993
  o Renamed API:
Packit 874993
    hb_blob_create_empty() renamed to hb_blob_get_empty()
Packit 874993
Packit 874993
  o Removed API:
Packit 874993
    hb_blob_lock()
Packit 874993
    hb_blob_unlock()
Packit 874993
    hb_blob_is_writable()
Packit 874993
    hb_blob_try_writable()
Packit 874993
Packit 874993
  o Changed API:
Packit 874993
    hb_blob_create() takes user_data before destroy now
Packit 874993
Packit 874993
Packit 874993
* Unicode functions API:
Packit 874993
Packit 874993
  o Unicode function vectors can subclass other unicode function vectors now.
Packit 874993
    Unimplemented callbacks in the subclass automatically chainup to the parent.
Packit 874993
Packit 874993
  o All hb_unicode_funcs_t callbacks take a user_data now.  Their setters
Packit 874993
    take a user_data and its respective destroy callback.
Packit 874993
Packit 874993
  o New API:
Packit 874993
    hb_unicode_funcs_get_empty()
Packit 874993
    hb_unicode_funcs_get_default()
Packit 874993
    hb_unicode_funcs_get_parent()
Packit 874993
Packit 874993
  o Changed API:
Packit 874993
    hb_unicode_funcs_create() now takes a parent_funcs.
Packit 874993
Packit 874993
  o Removed func getter functions:
Packit 874993
    hb_unicode_funcs_get_mirroring_func()
Packit 874993
    hb_unicode_funcs_get_general_category_func()
Packit 874993
    hb_unicode_funcs_get_script_func()
Packit 874993
    hb_unicode_funcs_get_combining_class_func()
Packit 874993
    hb_unicode_funcs_get_eastasian_width_func()
Packit 874993
Packit 874993
Packit 874993
* Face API:
Packit 874993
Packit 874993
  o Renamed API:
Packit 874993
    hb_face_get_table() renamed to hb_face_reference_table()
Packit 874993
    hb_face_create_for_data() renamed to hb_face_create()
Packit 874993
Packit 874993
  o Changed API:
Packit 874993
    hb_face_create_for_tables() takes user_data before destroy now
Packit 874993
    hb_face_reference_table() returns empty blob instead of NULL
Packit 874993
    hb_get_table_func_t accepts the face as first parameter now
Packit 874993
Packit 874993
* Font API:
Packit 874993
Packit 874993
  o Fonts can subclass other fonts now.  Unimplemented callbacks in the
Packit 874993
    subclass automatically chainup to the parent.  When chaining up,
Packit 874993
    scale is adjusted if the parent font has a different scale.
Packit 874993
Packit 874993
  o All hb_font_funcs_t callbacks take a user_data now.  Their setters
Packit 874993
    take a user_data and its respective destroy callback.
Packit 874993
Packit 874993
  o New API:
Packit 874993
    hb_font_get_parent()
Packit 874993
    hb_font_funcs_get_empty()
Packit 874993
    hb_font_create_sub_font()
Packit 874993
Packit 874993
  o Removed API:
Packit 874993
    hb_font_funcs_copy()
Packit 874993
    hb_font_unset_funcs()
Packit 874993
Packit 874993
  o Removed func getter functions:
Packit 874993
    hb_font_funcs_get_glyph_func()
Packit 874993
    hb_font_funcs_get_glyph_advance_func()
Packit 874993
    hb_font_funcs_get_glyph_extents_func()
Packit 874993
    hb_font_funcs_get_contour_point_func()
Packit 874993
    hb_font_funcs_get_kerning_func()
Packit 874993
Packit 874993
  o Changed API:
Packit 874993
    hb_font_create() takes a face and references it now
Packit 874993
    hb_font_set_funcs() takes user_data before destroy now
Packit 874993
    hb_font_set_scale() accepts signed integers now
Packit 874993
    hb_font_get_contour_point_func_t now takes glyph first, then point_index
Packit 874993
    hb_font_get_glyph_func_t returns a success boolean now
Packit 874993
Packit 874993
Packit 874993
* Changed object model:
Packit 874993
Packit 874993
  o All object types have a _get_empty() now:
Packit 874993
    hb_blob_get_empty()
Packit 874993
    hb_buffer_get_empty()
Packit 874993
    hb_face_get_empty()
Packit 874993
    hb_font_get_empty()
Packit 874993
    hb_font_funcs_get_empty()
Packit 874993
    hb_unicode_funcs_get_empty()
Packit 874993
Packit 874993
  o Added _set_user_data() and _get_user_data() for all object types:
Packit 874993
    hb_blob_get_user_data()
Packit 874993
    hb_blob_set_user_data()
Packit 874993
    hb_buffer_get_user_data()
Packit 874993
    hb_buffer_set_user_data()
Packit 874993
    hb_face_get_user_data()
Packit 874993
    hb_face_set_user_data()
Packit 874993
    hb_font_funcs_get_user_data()
Packit 874993
    hb_font_funcs_set_user_data()
Packit 874993
    hb_font_get_user_data()
Packit 874993
    hb_font_set_user_data()
Packit 874993
    hb_unicode_funcs_get_user_data()
Packit 874993
    hb_unicode_funcs_set_user_data()
Packit 874993
Packit 874993
  o Removed the _get_reference_count() from all object types:
Packit 874993
    hb_blob_get_reference_count()
Packit 874993
    hb_buffer_get_reference_count()
Packit 874993
    hb_face_get_reference_count()
Packit 874993
    hb_font_funcs_get_reference_count()
Packit 874993
    hb_font_get_reference_count()
Packit 874993
    hb_unicode_funcs_get_reference_count()
Packit 874993
Packit 874993
  o Added _make_immutable() and _is_immutable() for all object types except for buffer:
Packit 874993
    hb_blob_make_immutable()
Packit 874993
    hb_blob_is_immutable()
Packit 874993
    hb_face_make_immutable()
Packit 874993
    hb_face_is_immutable()
Packit 874993
Packit 874993
Packit 874993
* Changed API for vertical text support
Packit 874993
Packit 874993
  o The following callbacks where removed:
Packit 874993
    hb_font_get_glyph_advance_func_t
Packit 874993
    hb_font_get_kerning_func_t
Packit 874993
Packit 874993
  o The following new callbacks added instead:
Packit 874993
    hb_font_get_glyph_h_advance_func_t
Packit 874993
    hb_font_get_glyph_v_advance_func_t
Packit 874993
    hb_font_get_glyph_h_origin_func_t
Packit 874993
    hb_font_get_glyph_v_origin_func_t
Packit 874993
    hb_font_get_glyph_h_kerning_func_t
Packit 874993
    hb_font_get_glyph_v_kerning_func_t
Packit 874993
Packit 874993
  o The following API removed as such:
Packit 874993
    hb_font_funcs_set_glyph_advance_func()
Packit 874993
    hb_font_funcs_set_kerning_func()
Packit 874993
    hb_font_get_glyph_advance()
Packit 874993
    hb_font_get_kerning()
Packit 874993
Packit 874993
  o New API added instead:
Packit 874993
    hb_font_funcs_set_glyph_h_advance_func()
Packit 874993
    hb_font_funcs_set_glyph_v_advance_func()
Packit 874993
    hb_font_funcs_set_glyph_h_origin_func()
Packit 874993
    hb_font_funcs_set_glyph_v_origin_func()
Packit 874993
    hb_font_funcs_set_glyph_h_kerning_func()
Packit 874993
    hb_font_funcs_set_glyph_v_kerning_func()
Packit 874993
    hb_font_get_glyph_h_advance()
Packit 874993
    hb_font_get_glyph_v_advance()
Packit 874993
    hb_font_get_glyph_h_origin()
Packit 874993
    hb_font_get_glyph_v_origin()
Packit 874993
    hb_font_get_glyph_h_kerning()
Packit 874993
    hb_font_get_glyph_v_kerning()
Packit 874993
Packit 874993
  o The following higher-leve API added for convenience:
Packit 874993
    hb_font_get_glyph_advance_for_direction()
Packit 874993
    hb_font_get_glyph_origin_for_direction()
Packit 874993
    hb_font_add_glyph_origin_for_direction()
Packit 874993
    hb_font_subtract_glyph_origin_for_direction()
Packit 874993
    hb_font_get_glyph_kerning_for_direction()
Packit 874993
    hb_font_get_glyph_extents_for_origin()
Packit 874993
    hb_font_get_glyph_contour_point_for_origin()
Packit 874993
Packit 874993
Packit 874993
* OpenType Layout API:
Packit 874993
Packit 874993
  o New API:
Packit 874993
    hb_ot_layout_position_start()
Packit 874993
    hb_ot_layout_substitute_start()
Packit 874993
    hb_ot_layout_substitute_finish()
Packit 874993
Packit 874993
Packit 874993
* Glue code:
Packit 874993
Packit 874993
  o New API:
Packit 874993
    hb_glib_script_to_script()
Packit 874993
    hb_glib_script_from_script()
Packit 874993
    hb_icu_script_to_script()
Packit 874993
    hb_icu_script_from_script()
Packit 874993
Packit 874993
Packit 874993
* Version API added:
Packit 874993
Packit 874993
  o New API:
Packit 874993
    HB_VERSION_MAJOR
Packit 874993
    HB_VERSION_MINOR
Packit 874993
    HB_VERSION_MICRO
Packit 874993
    HB_VERSION_STRING
Packit 874993
    HB_VERSION_CHECK()
Packit 874993
    hb_version()
Packit 874993
    hb_version_string()
Packit 874993
    hb_version_check()
Packit 874993
Packit 874993