Blame NEWS

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