[HarfBuzz] harfbuzz-0.9.2 now available
Behdad Esfahbod
behdad at behdad.org
Fri Aug 10 12:07:34 PDT 2012
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hi everyone,
So, after (finally!) implementing synthetic GDEF and fallback mark
positioning, I found myself running out of major features to implement this
week. I can finally claim that new HarfBuzz is in par with or better than
both Pango and old.HarfBuzz / Qt. The main outstanding issue that I know of
is Indic support with Free fonts, which I hope to improve in the coming weeks.
Testing and reports will be key to what I will end up working on.
With features complete, and performance looking good, I'm shifting gears to
release mode, starting with a 0.9.2 release today, and working my way towards
a 1.0 release around the end of the month or in early September. This may be
a good time for distributions to start putting a harfbuzz package together. A
proper build system will be coming soon.
I put a short checklist together to track 1.0 progress:
http://goo.gl/4xnyw
Feel free to comment (on the doc or on the list).
In the mean time, enjoy the 0.9.2 release!
http://www.freedesktop.org/software/harfbuzz/release/
As always, I like to specially thank Jonathan Kew, as well as everyone who
helped with testing.
Cheers,
Behdad Esfahbod
August 10, 2012
Overview of changes leading to 0.9.2
Friday, Aug 10, 2011
====================================
- - Over a thousand commits! This is the first major release of HarfBuzz.
- - HarfBuzz is feature-complete now! It should be in par, or better, than
both Pango's shapers and old HarfBuzz / Qt shapers.
- - New Indic shaper, supporting main Indic scripts, Sinhala, and Khmer.
- - Improved Arabic shaper, with fallback Arabic shaping, supporting Arabic,
Sinhala, N'ko, Mongolian, and Mandaic.
- - New Thai / Lao shaper.
- - Tibetan / Hangul support in the generic shaper.
- - Synthetic GDEF support for fonts without a GDEF table.
- - Fallback mark positioning for fonts without a GPOS table.
- - Unicode normalization shaping heuristic during glyph mapping.
- - New experimental Graphite2 backend.
- - New Uniscribe backend (primarily for testing).
- - New CoreText backend (primarily for testing).
- - Major optimization and speedup.
- - Test suites and testing infrastructure (work in progress).
- - Greatly improved hb-view cmdline tool.
- - hb-shape cmdline tool.
- - Unicode 6.1 support.
Summary of API changes:
o Changed API:
- Users are expected to only include main header files now (ie. hb.h,
hb-glib.h, hb-ft.h, ...)
- All struct tag names had their initial underscore removed.
Ie. "struct _hb_buffer_t" is "struct hb_buffer_t" now.
- All set_user_data() functions now take a "replace" boolean parameter.
- hb_buffer_create() takes zero arguments now.
Use hb_buffer_pre_allocate() to pre-allocate.
- hb_buffer_add_utf*() now accept -1 for length parameteres,
meaning "nul-terminated".
- hb_direction_t enum values changed.
- All *_from_string() APIs now take a length parameter to allow for
non-nul-terminated strings. A -1 length means "nul-terminated".
- Typedef for hb_language_t changed.
- hb_get_table_func_t renamed to hb_reference_table_func_t.
- hb_ot_layout_table_choose_script()
- Various renames in hb-unicode.h.
o New API:
- hb_buffer_guess_properties()
Automatically called by hb_shape().
- hb_buffer_normalize_glyphs()
- hb_tag_from_string()
- hb-coretext.h
- hb-uniscribe.h
- hb_face_reference_blob()
- hb_face_[sg]et_index()
- hb_face_set_upem()
- hb_font_get_glyph_name_func_t
hb_font_get_glyph_from_name_func_t
hb_font_funcs_set_glyph_name_func()
hb_font_funcs_set_glyph_from_name_func()
hb_font_get_glyph_name()
hb_font_get_glyph_from_name()
hb_font_glyph_to_string()
hb_font_glyph_from_string()
- hb_font_set_funcs_data()
- hb_ft_font_set_funcs()
- hb_ft_font_get_face()
- hb-gobject.h (work in progress)
- hb_ot_shape_glyphs_closure()
hb_ot_layout_substitute_closure_lookup()
- hb-set.h
- hb_shape_full()
- hb_unicode_combining_class_t
- hb_unicode_compose_func_t
hb_unicode_decompose_func_t
hb_unicode_decompose_compatibility_func_t
hb_unicode_funcs_set_compose_func()
hb_unicode_funcs_set_decompose_func()
hb_unicode_funcs_set_decompose_compatibility_func()
hb_unicode_compose()
hb_unicode_decompose()
hb_unicode_decompose_compatibility()
o Removed API:
- hb_ft_get_font_funcs()
- hb_ot_layout_substitute_start()
hb_ot_layout_substitute_lookup()
hb_ot_layout_substitute_finish()
hb_ot_layout_position_start()
hb_ot_layout_position_lookup()
hb_ot_layout_position_finish()
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
iEYEARECAAYFAlAlW/YACgkQn+4E5dNTERXQPwCePZGJN/mV/eNcgg0+SfOq2kFQ
0nQAoLYybPR6aSSsISywdHgFstxGm0w8
=8/5G
-----END PGP SIGNATURE-----
More information about the HarfBuzz
mailing list