Overview of changes leading to 0.9.28
Monday, April 28, 2014
=====================================
- Unbreak old-spec Indic shaping. (bug 76705)
- Fix shaping of U+17DD and U+0FC6.
- Add HB_NO_MERGE_CLUSTERS build option. NOT to be enabled by default
for shipping libraries. It's an option for further experimentation
right now. When we are sure how to do it properly, we will add
public run-time API for the functionality.
- Build fixes.
Overview of changes leading to 0.9.27
Tuesday, March 18, 2014
=====================================
- Don't use "register" storage class specifier
- Wrap definition of free_langs() with HAVE_ATEXIT
- Add coretext_aat shaper and hb_coretext_face_create() constructor
- If HAVE_ICU_BUILTIN is defined, use hb-icu Unicode callbacks
- Add Myanmar test case from OpenType Myanmar spec
- Only do fallback Hebrew composition if no GPOS 'mark' available
- Allow bootstrapping without gtk-doc
- Use AM_MISSING_PROG for ragel and git
- Typo in ucdn's Makefile.am
- Improve MemoryBarrier() implementation
Overview of changes leading to 0.9.25
Wednesday, December 4, 2013
=====================================
- Myanmar shaper improvements.
- Avoid font fallback in CoreText backend.
- Additional OpenType language tag mappiongs.
- More aggressive shape-plan caching.
- Build with / require automake 1.13.
- Build with libtool 2.4.2.418 alpha to support ppc64le.
Overview of changes leading to 0.9.24
Tuesday, November 13, 2013
=====================================
- Misc compiler warning fixes with clang.
- No functional changes.
Overview of changes leading to 0.9.23
Monday, October 28, 2013
=====================================
- "Udupi HarfBuzz Hackfest", Paris, October 14..18 2013.
- Fix (Chain)Context recursion with non-monotone lookup positions.
- Misc Indic bug fixes.
- New Javanese / Buginese shaping, similar to Windows 8.1.
Overview of changes leading to 0.9.22
Thursday, October 3, 2013
=====================================
- Fix use-after-end-of-scope in hb_language_from_string().
- Fix hiding of default_ignorables if font doesn't have space glyph.
- Protect against out-of-range lookup indices.
- API Changes:
* Added hb_ot_layout_table_get_lookup_count()
Overview of changes leading to 0.9.21
Monday, September 16, 2013
=====================================
- Rename gobject-introspection library name from harfbuzz to HarfBuzz.
- Remove (long disabled) hb-old and hb-icu-le test shapers.
- Misc gtk-doc and gobject-introspection annotations.
- Misc fixes.
- API changes:
* Add HB_SET_VALUE_INVALID
General:
- Misc substitute_closure() fixes.
- Build fixes.
Documentation:
- gtk-doc boilerplate integrated. Docs are built now, but
contain no contents. By next release hopefully we have
some content in. Enable using --enable-gtk-doc.
GObject and Introspection:
- Added harfbuzz-gobject library (hb-gobject.h) that has type
bindings for all HarfBuzz objects and enums. Enable using
--with-gobject.
- Added gobject-introspection boilerplate. Nothing useful
right now. Work in progress. Gets enabled automatically if
--with-gobject is used. Override with --disable-introspection.
OpenType shaper:
- Apply 'mark' in Myanmar shaper.
- Don't apply 'dlig' by default.
Uniscribe shaper:
- Support user features.
- Fix loading of fonts that are also installed on the system.
- Fix shaping of Arabic Presentation Forms.
- Fix build with wide chars.
CoreText shaper:
- Support user features.
Source changes:
- hb_face_t code moved to hb-face.h / hb-face.cc.
- Added hb-deprecated.h.
API changes:
- Added HB_DISABLE_DEPRECATED.
- Deprecated HB_SCRIPT_CANADIAN_ABORIGINAL; replaced by
HB_SCRIPT_CANADIAN_SYLLABICS.
- Deprecated HB_BUFFER_FLAGS_DEFAULT; replaced by
HB_BUFFER_FLAG_DEFAULT.
- Deprecated HB_BUFFER_SERIALIZE_FLAGS_DEFAULT; replaced by
HB_BUFFER_SERIALIZE_FLAG_DEFAULT.
support. Changes, apart from minor fixes, include:
[ft] hb_ft_get_glyph_from_name fails for the name of glyph id 0
[uniscribe] Fix buffer allocation
[Indic] Add Javanese config
[OT] Collect requiredFeature only if features are not provided
Fix contextual lookup recursion indexing
Destroy lookups before blobs.
If variation selector is not consumed by cmap, pass it on to GSUB
Skip over multiple variation selectors in a row
util/ansi-print.cc: Use fallback implementation for lround on MSVC
hb-uniscribe.cc: Re-enable build under Visual Studio
Overview of changes leading to 0.9.18
Tuesday, May 28, 2013
=====================================
New build system:
- All unneeded code is all disabled by default,
- Uniscribe and CoreText shapers can be enabled with their --with options,
- icu_le and old shapers cannot be enabled for now,
- glib, freetype, and cairo will be detected automatically.
They can be force on/off'ed with their --with options,
- icu and graphite2 are default off, can be enabled with their --with
options,
Moreover, ICU support is now build into a separate library:
libharfbuzz-icu.so, and a new harfbuzz-icu.pc is shipped for it.
Distros can enable ICU now without every application on earth
getting linked to via libharfbuzz.so.
For distros I recommend that they make sure they are building --with-glib
--with-freetype --with-cairo, --with-icu, and optionally --with-graphite2;
And package harfbuzz and harfbuzz-icu separately.
to address issues with NetBSD-6(and earlier)'s fontconfig not being
new enough for pango.
While doing that, also bump freetype2 dependency to current pkgsrc
version.
Suggested by tron in PR 47882
Overview of changes leading to 0.9.17
Monday, May 20, 2013
=====================================
- Build fixes.
- Fix bug in hb_set_get_min().
- Fix regression with Arabic mark positioning / width-zeroing.
Overview of changes leading to 0.9.16
Friday, April 19, 2013
=====================================
- Major speedup in OpenType lookup processing. With the Amiri
Arabic font, this release is over 3x faster than previous
release. All scripts / languages should see this speedup.
- New --num-iterations option for hb-shape / hb-view; useful for
profiling.
Overview of changes leading to 0.9.15
Thursday, April 05, 2013
=====================================
- Build fixes.
- Fix crasher in graphite2 shaper.
- Fix Arabic mark width zeroing regression.
- Don't compose Hangul jamo into Unicode syllables.
Overview of changes leading to 0.9.14
Thursday, March 21, 2013
=====================================
- Build fixes.
- Fix time-consuming sanitize with malicious fonts.
- Implement hb_buffer_deserialize_glyphs() for both json and text.
- Do not ignore Hangul filler characters.
- Indic fixes:
* Fix Malayalam pre-base reordering interaction with post-forms.
* Further adjust ZWJ handling. Should fix known regressions from
0.9.13.
Overview of changes leading to 0.9.13
Thursday, February 25, 2013
=====================================
- Build fixes.
- Ngapi HarfBuzz Hackfest in London (February 2013):
* Fixed all known Indic bugs,
* New Win8-style Myanmar shaper,
* New South-East Asian shaper for Tai Tham, Cham, and New Tai Lue,
* Smartly ignore Default_Ignorable characters (joiners, etc) wheb
matching GSUB/GPOS lookups,
* Fix 'Phags-Pa U+A872 shaping,
* Fix partial disabling of default-on features,
* Allow disabling of TrueType kerning.
- Fix possible crasher with broken fonts with overlapping tables.
- Removed generated files from git again. So, one needs ragel to
bootstrap from the git tree.
API changes:
- hb_shape() and related APIs now abort if buffer direction is
HB_DIRECTION_INVALID. Previously, hb_shape() was calling
hb_buffer_guess_segment_properties() on the buffer before
shaping. The heuristics in that function are fragile. If the
user really wants the old behvaior, they can call that function
right before calling hb_shape() to get the old behavior.
- hb_blob_create_sub_blob() always creates sub-blob with
HB_MEMORY_MODE_READONLY. See comments for the reason.
Overview of changes leading to 0.9.12
Thursday, January 18, 2013
=====================================
- Build fixes for Sun compiler.
- Minor bug fix.
Overview of changes leading to 0.9.11
Thursday, January 10, 2013
=====================================
- Build fixes.
- Fix GPOS mark attachment with null Anchor offsets.
- [Indic] Fix old-spec reordering of viramas if sequence ends in one.
- Fix multi-threaded shaper data creation crash.
- Add atomic ops for Solaris.
API changes:
- Rename hb_buffer_clear() to hb_buffer_clear_contents().
Overview of changes leading to 0.9.10
Thursday, January 3, 2013
=====================================
- [Indic] Fixed rendering of Malayalam dot-reph
- Updated OT language tags.
- Updated graphite2 backend.
- Improved hb_ot_layout_get_size_params() logic.
- Improve hb-shape/hb-view help output.
- Fixed hb-set.h implementation to not crash.
- Fixed various issues with hb_ot_layout_collect_lookups().
- Various build fixes.
New API:
hb_graphite2_face_get_gr_face()
hb_graphite2_font_get_gr_font()
hb_coretext_face_get_cg_font()
Modified API:
hb_ot_layout_get_size_params()
Overview of changes leading to 0.9.5
Sunday, October 14, 2012
====================================
- Synthetic-GSUB Arabic fallback shaping.
- Misc Indic improvements.
- Add build system support for pthread.
- Imported UCDN for in-tree Unicode callbacks implementation.
- Context-aware Arabic joining.
- Misc other fixes.
- New API:
hb_feature_to/from-string()
hb_buffer_[sg]et_content_type()